From fa7a0d8d9de29f36b75920e668793d0e7ed31ea7 Mon Sep 17 00:00:00 2001 From: Rob Lourens Date: Mon, 28 Oct 2024 16:21:47 -0700 Subject: [PATCH] Cleanup --- chat-tools-sample/src/toolsPrompt.tsx | 1 - chat-tools-sample/src/tsxParticipant.ts | 18 +++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/chat-tools-sample/src/toolsPrompt.tsx b/chat-tools-sample/src/toolsPrompt.tsx index 21bdf3a9..9d2b8226 100644 --- a/chat-tools-sample/src/toolsPrompt.tsx +++ b/chat-tools-sample/src/toolsPrompt.tsx @@ -75,7 +75,6 @@ interface ToolCallsProps extends BasePromptElementProps { toolInvocationToken: vscode.ChatParticipantToolToken | undefined; } -const agentSupportedContentTypes = [promptTsxContentType, 'text/plain']; const dummyCancellationToken: vscode.CancellationToken = new vscode.CancellationTokenSource().token; class ToolCalls extends PromptElement { diff --git a/chat-tools-sample/src/tsxParticipant.ts b/chat-tools-sample/src/tsxParticipant.ts index 5cbadd4b..0f8c1e96 100644 --- a/chat-tools-sample/src/tsxParticipant.ts +++ b/chat-tools-sample/src/tsxParticipant.ts @@ -18,19 +18,23 @@ export function isTsxToolUserMetadata(obj: unknown): obj is TsxToolUserMetadata Array.isArray((obj as TsxToolUserMetadata).toolCallsMetadata.toolCallRounds); } -export function registerTsxChatParticipant(context: vscode.ExtensionContext) { +export function registerToolUserChatParticipant(context: vscode.ExtensionContext) { const handler: vscode.ChatRequestHandler = async (request: vscode.ChatRequest, chatContext: vscode.ChatContext, stream: vscode.ChatResponseStream, token: vscode.CancellationToken) => { if (request.command === 'list') { stream.markdown(`Available tools: ${vscode.lm.tools.map(tool => tool.name).join(', ')}\n\n`); return; } - const models = await vscode.lm.selectChatModels({ - vendor: 'copilot', - family: 'gpt-4o' - }); + let model = request.model; + if (model.vendor === 'copilot' && model.family.startsWith('o1')) { + // The o1 models do not currently support tools + const models = await vscode.lm.selectChatModels({ + vendor: 'copilot', + family: 'gpt-4o' + }); + model = models[0]; + } - const model = models[0]; const allTools = vscode.lm.tools.map((tool): vscode.LanguageModelChatTool => { return { name: tool.name, @@ -40,7 +44,7 @@ export function registerTsxChatParticipant(context: vscode.ExtensionContext) { }); const options: vscode.LanguageModelChatRequestOptions = { - justification: 'Just because!', + justification: 'To make a request to @toolsTSX', }; let { messages, references } = await renderPrompt(