From 88941daf9376cfcb45b01a5749ba2645c0692221 Mon Sep 17 00:00:00 2001 From: tanzhenxin Date: Wed, 10 Sep 2025 19:23:15 +0800 Subject: [PATCH] feat: subagent - minor code refactor --- .../components/messages/ToolMessage.test.tsx | 1 + packages/cli/src/ui/types.ts | 2 +- packages/core/src/tools/task.ts | 32 ------------------- 3 files changed, 2 insertions(+), 33 deletions(-) diff --git a/packages/cli/src/ui/components/messages/ToolMessage.test.tsx b/packages/cli/src/ui/components/messages/ToolMessage.test.tsx index e5cd517c..8da43e95 100644 --- a/packages/cli/src/ui/components/messages/ToolMessage.test.tsx +++ b/packages/cli/src/ui/components/messages/ToolMessage.test.tsx @@ -199,6 +199,7 @@ describe('', () => { type: 'task_execution' as const, subagentName: 'file-search', taskDescription: 'Search for files matching pattern', + taskPrompt: 'Search for files matching pattern', status: 'running' as const, }; diff --git a/packages/cli/src/ui/types.ts b/packages/cli/src/ui/types.ts index efc61a54..e8326b62 100644 --- a/packages/cli/src/ui/types.ts +++ b/packages/cli/src/ui/types.ts @@ -46,7 +46,7 @@ export interface IndividualToolCallDisplay { callId: string; name: string; description: string; - resultDisplay: ToolResultDisplay | string | object | undefined; + resultDisplay: ToolResultDisplay | string | undefined; status: ToolCallStatus; confirmationDetails: ToolCallConfirmationDetails | undefined; renderOutputAsMarkdown?: boolean; diff --git a/packages/core/src/tools/task.ts b/packages/core/src/tools/task.ts index 1ea73cbc..f02df4dd 100644 --- a/packages/core/src/tools/task.ts +++ b/packages/core/src/tools/task.ts @@ -24,7 +24,6 @@ import { SubAgentEventType, SubAgentErrorEvent, } from '../subagents/subagent-events.js'; -import { ChatRecordingService } from '../services/chatRecordingService.js'; export interface TaskParams { description: string; @@ -413,43 +412,12 @@ class TaskToolInvocation extends BaseToolInvocation { if (updateOutput) { updateOutput(this.currentDisplay); } - const chatRecorder = new ChatRecordingService(this.config); - try { - chatRecorder.initialize(); - } catch { - // Initialization failed, continue without recording - } const subagentScope = await this.subagentManager.createSubagentScope( subagentConfig, this.config, { eventEmitter: this.eventEmitter }, ); - // Set up basic event listeners for chat recording - this.eventEmitter.on('start', () => { - chatRecorder.recordMessage({ - type: 'user', - content: `Subagent(${this.params.subagent_type}) Task: ${this.params.description}\n\n${this.params.prompt}`, - }); - }); - - this.eventEmitter.on('finish', (e) => { - const finishEvent = e as { - inputTokens?: number; - outputTokens?: number; - }; - const text = subagentScope.getFinalText() || ''; - chatRecorder.recordMessage({ type: 'gemini', content: text }); - const input = finishEvent.inputTokens ?? 0; - const output = finishEvent.outputTokens ?? 0; - chatRecorder.recordMessageTokens({ - input, - output, - cached: 0, - total: input + output, - }); - }); - // Create context state with the task prompt const contextState = new ContextState(); contextState.set('task_prompt', this.params.prompt);