refactor(coding-agent/task): moved taskToolRenderer to separate module
- Extracted taskToolRenderer to a dedicated renderer file to resolve circular dependencies. - Updated all references to the renderer to point to the new location.
This commit is contained in:
@@ -1685,13 +1685,7 @@ function renderNestedTaskTree(
|
||||
return lines;
|
||||
}
|
||||
|
||||
export const taskToolRenderer = {
|
||||
renderCall,
|
||||
renderResult,
|
||||
mergeCallAndResult: true,
|
||||
};
|
||||
|
||||
// Register after export to avoid circular dependency issues
|
||||
// Register task tool subprocess handler
|
||||
subprocessToolRegistry.register<TaskToolDetails>("task", {
|
||||
extractData: event => {
|
||||
const details = event.result?.details;
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* Task tool renderer export.
|
||||
*
|
||||
* Separated from render.ts to avoid circular dependency issues with
|
||||
* tools/renderers.ts. This module has no side effects and can be safely
|
||||
* imported without triggering the subprocessToolRegistry registration.
|
||||
*/
|
||||
import { renderCall, renderResult } from "./render";
|
||||
|
||||
export const taskToolRenderer = {
|
||||
renderCall,
|
||||
renderResult,
|
||||
mergeCallAndResult: true,
|
||||
} as const;
|
||||
@@ -9,7 +9,7 @@ import type { RenderResultOptions } from "../extensibility/custom-tools/types";
|
||||
import { goalToolRenderer } from "../goals/tools/goal-tool";
|
||||
import { lspToolRenderer } from "../lsp/render";
|
||||
import type { Theme } from "../modes/theme/theme";
|
||||
import { taskToolRenderer } from "../task/render";
|
||||
import { taskToolRenderer } from "../task/renderer";
|
||||
import { webSearchToolRenderer } from "../web/search/render";
|
||||
import { askToolRenderer } from "./ask";
|
||||
import { astEditToolRenderer } from "./ast-edit";
|
||||
|
||||
@@ -2,7 +2,7 @@ import { afterAll, beforeAll, describe, expect, it } from "bun:test";
|
||||
import { resetSettingsForTest, Settings } from "@oh-my-pi/pi-coding-agent/config/settings";
|
||||
import { getThemeByName, setThemeInstance, type Theme } from "@oh-my-pi/pi-coding-agent/modes/theme/theme";
|
||||
import type { TaskParams } from "@oh-my-pi/pi-coding-agent/task";
|
||||
import { taskToolRenderer } from "@oh-my-pi/pi-coding-agent/task/render";
|
||||
import { taskToolRenderer } from "@oh-my-pi/pi-coding-agent/task/renderer";
|
||||
|
||||
describe("task renderer: streaming call preview", () => {
|
||||
let theme: Theme;
|
||||
|
||||
@@ -2,7 +2,7 @@ import { afterAll, afterEach, beforeAll, describe, expect, it, vi } from "bun:te
|
||||
import { resetSettingsForTest, Settings } from "@oh-my-pi/pi-coding-agent/config/settings";
|
||||
import { getThemeByName, setThemeInstance } from "@oh-my-pi/pi-coding-agent/modes/theme/theme";
|
||||
import type { AgentProgress, SingleResult, TaskToolDetails } from "@oh-my-pi/pi-coding-agent/task";
|
||||
import { taskToolRenderer } from "@oh-my-pi/pi-coding-agent/task/render";
|
||||
import { taskToolRenderer } from "@oh-my-pi/pi-coding-agent/task/renderer";
|
||||
import { formatDuration, formatNumber } from "@oh-my-pi/pi-utils";
|
||||
|
||||
describe("task renderer: nested live rendering", () => {
|
||||
|
||||
@@ -2,7 +2,7 @@ import { afterAll, beforeAll, describe, expect, it } from "bun:test";
|
||||
import { resetSettingsForTest, Settings } from "@oh-my-pi/pi-coding-agent/config/settings";
|
||||
import { getThemeByName, setThemeInstance } from "@oh-my-pi/pi-coding-agent/modes/theme/theme";
|
||||
import type { AgentProgress, SingleResult, TaskToolDetails } from "@oh-my-pi/pi-coding-agent/task";
|
||||
import { taskToolRenderer } from "@oh-my-pi/pi-coding-agent/task/render";
|
||||
import { taskToolRenderer } from "@oh-my-pi/pi-coding-agent/task/renderer";
|
||||
|
||||
// Regression for #1987: when a subagent stores a non-array value in
|
||||
// `extractedToolData.yield`, the renderer cast it to `Array<{ data }>` and
|
||||
|
||||
@@ -3,7 +3,7 @@ import type { RenderResultOptions } from "@oh-my-pi/pi-agent-core";
|
||||
import type { SettingPath, SettingValue } from "@oh-my-pi/pi-coding-agent/config/settings";
|
||||
import { resetSettingsForTest, Settings } from "@oh-my-pi/pi-coding-agent/config/settings";
|
||||
import { getThemeByName, setThemeInstance } from "@oh-my-pi/pi-coding-agent/modes/theme/theme";
|
||||
import { taskToolRenderer } from "@oh-my-pi/pi-coding-agent/task/render";
|
||||
import { taskToolRenderer } from "@oh-my-pi/pi-coding-agent/task/renderer";
|
||||
import type { AgentProgress, SingleResult, TaskToolDetails } from "@oh-my-pi/pi-coding-agent/task/types";
|
||||
|
||||
function runningProgress(overrides: Partial<AgentProgress> = {}): AgentProgress {
|
||||
|
||||
Reference in New Issue
Block a user