diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json index a35e4bc08cc..85f70af3f4f 100644 --- a/extensions/vscode-api-tests/package.json +++ b/extensions/vscode-api-tests/package.json @@ -8,7 +8,7 @@ "activeComment", "authSession", "chatAgents2", - "chatRequestAccess", + "languageModels", "defaultChatAgent", "contribViewsRemote", "contribStatusBarItems", diff --git a/src/vs/workbench/api/common/extHost.api.impl.ts b/src/vs/workbench/api/common/extHost.api.impl.ts index 2f1aac77d56..4e95fc270b0 100644 --- a/src/vs/workbench/api/common/extHost.api.impl.ts +++ b/src/vs/workbench/api/common/extHost.api.impl.ts @@ -1395,24 +1395,12 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I } }; - // namespace: llm + // namespace: chat const chat: typeof vscode.chat = { registerChatResponseProvider(id: string, provider: vscode.ChatResponseProvider, metadata: vscode.ChatResponseProviderMetadata) { checkProposedApiEnabled(extension, 'chatProvider'); return extHostChatProvider.registerLanguageModel(extension, id, provider, metadata); }, - requestLanguageModelAccess(id, options) { - checkProposedApiEnabled(extension, 'chatRequestAccess'); - return extHostChatProvider.requestLanguageModelAccess(extension, id, options); - }, - get languageModels() { - checkProposedApiEnabled(extension, 'chatRequestAccess'); - return extHostChatProvider.getLanguageModelIds(); - }, - onDidChangeLanguageModels: (listener, thisArgs?, disposables?) => { - checkProposedApiEnabled(extension, 'chatRequestAccess'); - return extHostChatProvider.onDidChangeProviders(listener, thisArgs, disposables); - }, registerVariable(name: string, description: string, resolver: vscode.ChatVariableResolver) { checkProposedApiEnabled(extension, 'chatAgents2'); return extHostChatVariables.registerVariableResolver(extension, name, description, resolver); @@ -1427,6 +1415,22 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I }, }; + // namespace: lm + const lm: typeof vscode.lm = { + requestLanguageModelAccess(id, options) { + checkProposedApiEnabled(extension, 'languageModels'); + return extHostChatProvider.requestLanguageModelAccess(extension, id, options); + }, + get languageModels() { + checkProposedApiEnabled(extension, 'languageModels'); + return extHostChatProvider.getLanguageModelIds(); + }, + onDidChangeLanguageModels: (listener, thisArgs?, disposables?) => { + checkProposedApiEnabled(extension, 'languageModels'); + return extHostChatProvider.onDidChangeProviders(listener, thisArgs, disposables); + } + }; + // namespace: speech const speech: typeof vscode.speech = { registerSpeechProvider(id: string, provider: vscode.SpeechProvider) { @@ -1449,6 +1453,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I interactive, l10n, languages, + lm, notebooks, scm, speech, diff --git a/src/vs/workbench/services/extensions/common/extensionsApiProposals.ts b/src/vs/workbench/services/extensions/common/extensionsApiProposals.ts index 879db067311..526ed79e092 100644 --- a/src/vs/workbench/services/extensions/common/extensionsApiProposals.ts +++ b/src/vs/workbench/services/extensions/common/extensionsApiProposals.ts @@ -14,7 +14,6 @@ export const allApiProposals = Object.freeze({ chatAgents2: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatAgents2.d.ts', chatAgents2Additions: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts', chatProvider: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatProvider.d.ts', - chatRequestAccess: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatRequestAccess.d.ts', chatTab: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatTab.d.ts', codeActionAI: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codeActionAI.d.ts', codeActionRanges: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codeActionRanges.d.ts', @@ -66,6 +65,7 @@ export const allApiProposals = Object.freeze({ interactive: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.interactive.d.ts', interactiveWindow: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.interactiveWindow.d.ts', ipc: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.ipc.d.ts', + languageModels: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModels.d.ts', languageStatusText: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageStatusText.d.ts', mappedEditsProvider: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts', multiDocumentHighlightProvider: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts', diff --git a/src/vscode-dts/vscode.proposed.chatRequestAccess.d.ts b/src/vscode-dts/vscode.proposed.languageModels.d.ts similarity index 98% rename from src/vscode-dts/vscode.proposed.chatRequestAccess.d.ts rename to src/vscode-dts/vscode.proposed.languageModels.d.ts index 633c28dc61e..0e35351833b 100644 --- a/src/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +++ b/src/vscode-dts/vscode.proposed.languageModels.d.ts @@ -152,8 +152,10 @@ declare module 'vscode' { readonly removed: readonly string[]; } - //@API DEFINE the namespace for this: lm (languageModels), copilot, ai, env,? - export namespace chat { + /** + * Namespace for language model related functionality. + */ + export namespace lm { /** * Request access to a language model.