From ced6d5539c4bb184a1a0fd2e41f6bd674d57de04 Mon Sep 17 00:00:00 2001 From: Ben McMorran Date: Mon, 21 Oct 2024 08:00:33 -0700 Subject: [PATCH] React to lmTools API breaking changes --- Extension/package.json | 5 +---- Extension/src/LanguageServer/lmTool.ts | 9 ++------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/Extension/package.json b/Extension/package.json index d147a3cd3..182e2ccfc 100644 --- a/Extension/package.json +++ b/Extension/package.json @@ -6487,10 +6487,7 @@ "userDescription": "%c_cpp.languageModelTools.configuration.userDescription%", "modelDescription": "For the active C or C++ file, this tool provides: the language (C, C++, or CUDA), the language standard version (such as C++11, C++14, C++17, or C++20), the compiler (such as GCC, Clang, or MSVC), the target platform (such as x86, x64, or ARM), and the target architecture (such as 32-bit or 64-bit).", "icon": "$(file-code)", - "when": "(config.C_Cpp.experimentalFeatures =~ /^[eE]nabled$/)", - "supportedContentTypes": [ - "text/plain" - ] + "when": "(config.C_Cpp.experimentalFeatures =~ /^[eE]nabled$/)" } ] }, diff --git a/Extension/src/LanguageServer/lmTool.ts b/Extension/src/LanguageServer/lmTool.ts index 5951377b4..ed5be61a0 100644 --- a/Extension/src/LanguageServer/lmTool.ts +++ b/Extension/src/LanguageServer/lmTool.ts @@ -44,15 +44,10 @@ const knownValues: { [Property in keyof ChatContextResult]?: { [id: string]: str } }; -const plainTextContentType = 'text/plain'; - export class CppConfigurationLanguageModelTool implements vscode.LanguageModelTool { public async invoke(options: vscode.LanguageModelToolInvocationOptions, token: vscode.CancellationToken): Promise { - const result: vscode.LanguageModelToolResult = {}; - if (options.requestedContentTypes.includes(plainTextContentType)) { - result[plainTextContentType] = await this.getContext(token); - } - return result; + return new vscode.LanguageModelToolResult([ + new vscode.LanguageModelTextPart(await this.getContext(token))]); } private async getContext(token: vscode.CancellationToken): Promise {