diff --git a/vscode/src/chat/chat-view/ChatController.ts b/vscode/src/chat/chat-view/ChatController.ts index 45134227aad1..c0b75543de6a 100644 --- a/vscode/src/chat/chat-view/ChatController.ts +++ b/vscode/src/chat/chat-view/ChatController.ts @@ -731,13 +731,24 @@ export class ChatController implements vscode.Disposable, vscode.WebviewViewProv this.chatBuilder.setSelectedModel(model) - const chatAgent = model.includes(DeepCodyAgentID) - ? DeepCodyAgentID - : model.includes(ToolCodyModelName) - ? ToolCodyModelRef - : manuallySelectedIntent === 'agentic' || model.includes('agentic') - ? 'agentic' - : undefined + function getChatAgent( + model: string, + manuallySelectedIntent: string | null | undefined + ): string | undefined { + if (model.includes(DeepCodyAgentID)) { + return DeepCodyAgentID + } + if (model.includes(ToolCodyModelName)) { + return ToolCodyModelRef + } + const AGENTIC_KEYWORD = 'agentic' + if (manuallySelectedIntent === AGENTIC_KEYWORD || model.includes(AGENTIC_KEYWORD)) { + return AGENTIC_KEYWORD + } + return undefined + } + + const chatAgent = getChatAgent(model, manuallySelectedIntent) const recorder = await OmniboxTelemetry.create({ requestID, @@ -756,9 +767,19 @@ export class ChatController implements vscode.Disposable, vscode.WebviewViewProv this.postEmptyMessageInProgress(model) - const agentName = ['search', 'edit', 'insert', 'agentic'].includes(manuallySelectedIntent ?? '') - ? (manuallySelectedIntent as string) - : chatAgent ?? 'chat' + function getAgentName( + manuallySelectedIntent: ChatMessage['intent'] | undefined | null, + chatAgent: string | undefined + ): string { + const selectedIntentOrEmptyString = manuallySelectedIntent ?? '' + if (['search', 'edit', 'insert', 'agentic'].includes(selectedIntentOrEmptyString)) { + return manuallySelectedIntent as string + } + return chatAgent ?? 'chat' + } + + const agentName = getAgentName(manuallySelectedIntent, chatAgent) + const agent = getAgent(agentName, model, { contextRetriever: this.contextRetriever, editor: this.editor, diff --git a/vscode/src/chat/chat-view/handlers/ChatHandler.ts b/vscode/src/chat/chat-view/handlers/ChatHandler.ts index ed9ff57fc40a..f90f4dad0a2f 100644 --- a/vscode/src/chat/chat-view/handlers/ChatHandler.ts +++ b/vscode/src/chat/chat-view/handlers/ChatHandler.ts @@ -282,7 +282,7 @@ export class ChatHandler implements AgentHandler { } } - // TODO: Maybe we should replace computerContext with computeAgenticContext? + // TODO: Maybe we should replace computeContext with computeAgenticContext? public async computeAgenticContext( requestID: string, { text, mentions }: HumanInput, diff --git a/vscode/src/chat/tools/schema.ts b/vscode/src/chat/tools/schema.ts index 2c713fca7a74..e64f227f9218 100644 --- a/vscode/src/chat/tools/schema.ts +++ b/vscode/src/chat/tools/schema.ts @@ -76,12 +76,13 @@ export function getToolBlock(contentBlock: ToolUseBlockParam): string { ? 'Creating' : 'Editing' } File`, - text: `File: ${input.path} - ${input.old_str ? `Old: "${input.old_str}"\nNew: "${input.new_str}"` : ''}`, + text: `Editing File: ${input.path}\n${ + input.old_str ? `Old: "${input.old_str}"\nNew: "${input.new_str}"` : '' + }`, }), get_diagnostic: (input: GetDiagnosticInput) => ({ title: 'Scanning Diagnostics', - text: `File: ${input.name}`, + text: `Getting Diagnostics for: ${input.name}`, }), code_search: (input: CodeSearchInput) => ({ title: 'Searching Codebase', @@ -89,11 +90,11 @@ export function getToolBlock(contentBlock: ToolUseBlockParam): string { }), get_file: (input: GetFileInput) => ({ title: 'Retrieving File', - text: `File: ${input.name}`, + text: `Retrieving File: ${input.name}`, }), run_terminal_command: (input: RunTerminalCommandInput) => ({ - title: 'Executing Terminal_Command', - text: `Command: ${input.command}`, + title: 'Executing Terminal Command', + text: `Executing Command: ${input.command}`, }), }