Skip to content

Commit 4cd0113

Browse files
authored
Don't resolve tool references inside execute_prompt incorrectly (#1178)
Fix microsoft/vscode-copilot-issues#288
1 parent 17a4969 commit 4cd0113

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

src/extension/prompt/node/executePromptToolCalling.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { IToolCallingLoopOptions, ToolCallingLoop, ToolCallingLoopFetchOptions }
1818
import { AgentPrompt } from '../../prompts/node/agent/agentPrompt';
1919
import { PromptRenderer } from '../../prompts/node/base/promptRenderer';
2020
import { ToolName } from '../../tools/common/toolNames';
21+
import { ChatVariablesCollection } from '../common/chatVariablesCollection';
2122
import { IBuildPromptContext } from '../common/intents';
2223
import { IBuildPromptResult } from './intents';
2324

@@ -43,14 +44,18 @@ export class ExecutePromptToolCallingLoop extends ToolCallingLoop<IExecutePrompt
4344
super(options, instantiationService, endpointProvider, logService, requestLogger, authenticationChatUpgradeService, telemetryService);
4445
}
4546

46-
protected override createPromptContext(availableTools: LanguageModelToolInformation[], outputStream: ChatResponseStream | undefined) {
47+
protected override createPromptContext(availableTools: LanguageModelToolInformation[], outputStream: ChatResponseStream | undefined): IBuildPromptContext {
4748
const context = super.createPromptContext(availableTools, outputStream);
4849
if (context.tools) {
4950
context.tools = {
5051
...context.tools,
52+
toolReferences: [],
5153
inSubAgent: true
5254
};
5355
}
56+
context.query = this.options.promptText;
57+
context.chatVariables = new ChatVariablesCollection();
58+
context.conversation = undefined;
5459
return context;
5560
}
5661

@@ -62,20 +67,15 @@ export class ExecutePromptToolCallingLoop extends ToolCallingLoop<IExecutePrompt
6267
return endpoint;
6368
}
6469

65-
protected async buildPrompt(buildPromptContext: IBuildPromptContext, progress: Progress<ChatResponseReferencePart | ChatResponseProgressPart>, token: CancellationToken): Promise<IBuildPromptResult> {
70+
protected async buildPrompt(promptContext: IBuildPromptContext, progress: Progress<ChatResponseReferencePart | ChatResponseProgressPart>, token: CancellationToken): Promise<IBuildPromptResult> {
6671
const endpoint = await this.getEndpoint(this.options.request);
67-
const promptContext: IBuildPromptContext = {
68-
...buildPromptContext,
69-
query: this.options.promptText,
70-
conversation: undefined
71-
};
7272
const renderer = PromptRenderer.create(
7373
this.instantiationService,
7474
endpoint,
7575
AgentPrompt,
7676
{
7777
endpoint,
78-
promptContext,
78+
promptContext: promptContext,
7979
location: this.options.location,
8080
enableCacheBreakpoints: false,
8181
}

0 commit comments

Comments
 (0)