mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-18 23:59:43 +01:00
add ExtensionContent#languageModelAccessInformation (#206420)
* makes ExtHostAuth and ExtHostLM injectable * (hack) makes silents auth requests for all extension upon LM registration https://github.com/microsoft/vscode/issues/206265
This commit is contained in:
@@ -25,11 +25,11 @@ import { CandidatePortSource, ExtHostContext, ExtHostLogLevelServiceShape, MainC
|
||||
import { ExtHostRelatedInformation } from 'vs/workbench/api/common/extHostAiRelatedInformation';
|
||||
import { ExtHostApiCommands } from 'vs/workbench/api/common/extHostApiCommands';
|
||||
import { IExtHostApiDeprecationService } from 'vs/workbench/api/common/extHostApiDeprecationService';
|
||||
import { ExtHostAuthentication } from 'vs/workbench/api/common/extHostAuthentication';
|
||||
import { IExtHostAuthentication } from 'vs/workbench/api/common/extHostAuthentication';
|
||||
import { ExtHostBulkEdits } from 'vs/workbench/api/common/extHostBulkEdits';
|
||||
import { ExtHostChat } from 'vs/workbench/api/common/extHostChat';
|
||||
import { ExtHostChatAgents2 } from 'vs/workbench/api/common/extHostChatAgents2';
|
||||
import { ExtHostLanguageModels } from 'vs/workbench/api/common/extHostLanguageModels';
|
||||
import { IExtHostLanguageModels } from 'vs/workbench/api/common/extHostLanguageModels';
|
||||
import { ExtHostChatVariables } from 'vs/workbench/api/common/extHostChatVariables';
|
||||
import { ExtHostClipboard } from 'vs/workbench/api/common/extHostClipboard';
|
||||
import { ExtHostEditorInsets } from 'vs/workbench/api/common/extHostCodeInsets';
|
||||
@@ -143,6 +143,8 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
const extHostSecretState = accessor.get(IExtHostSecretState);
|
||||
const extHostEditorTabs = accessor.get(IExtHostEditorTabs);
|
||||
const extHostManagedSockets = accessor.get(IExtHostManagedSockets);
|
||||
const extHostAuthentication = accessor.get(IExtHostAuthentication);
|
||||
const extHostLanguageModels = accessor.get(IExtHostLanguageModels);
|
||||
|
||||
// register addressable instances
|
||||
rpcProtocol.set(ExtHostContext.ExtHostFileSystemInfo, extHostFileSystemInfo);
|
||||
@@ -157,6 +159,8 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
rpcProtocol.set(ExtHostContext.ExtHostTelemetry, extHostTelemetry);
|
||||
rpcProtocol.set(ExtHostContext.ExtHostEditorTabs, extHostEditorTabs);
|
||||
rpcProtocol.set(ExtHostContext.ExtHostManagedSockets, extHostManagedSockets);
|
||||
rpcProtocol.set(ExtHostContext.ExtHostAuthentication, extHostAuthentication);
|
||||
rpcProtocol.set(ExtHostContext.ExtHostChatProvider, extHostLanguageModels);
|
||||
|
||||
// automatically create and register addressable instances
|
||||
const extHostDecorations = rpcProtocol.set(ExtHostContext.ExtHostDecorations, accessor.get(IExtHostDecorations));
|
||||
@@ -196,7 +200,6 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
const extHostProgress = rpcProtocol.set(ExtHostContext.ExtHostProgress, new ExtHostProgress(rpcProtocol.getProxy(MainContext.MainThreadProgress)));
|
||||
const extHostLabelService = rpcProtocol.set(ExtHostContext.ExtHostLabelService, new ExtHostLabelService(rpcProtocol));
|
||||
const extHostTheming = rpcProtocol.set(ExtHostContext.ExtHostTheming, new ExtHostTheming(rpcProtocol));
|
||||
const extHostAuthentication = rpcProtocol.set(ExtHostContext.ExtHostAuthentication, new ExtHostAuthentication(rpcProtocol));
|
||||
const extHostTimeline = rpcProtocol.set(ExtHostContext.ExtHostTimeline, new ExtHostTimeline(rpcProtocol, extHostCommands));
|
||||
const extHostWebviews = rpcProtocol.set(ExtHostContext.ExtHostWebviews, new ExtHostWebviews(rpcProtocol, initData.remote, extHostWorkspace, extHostLogService, extHostApiDeprecation));
|
||||
const extHostWebviewPanels = rpcProtocol.set(ExtHostContext.ExtHostWebviewPanels, new ExtHostWebviewPanels(rpcProtocol, extHostWebviews, extHostWorkspace));
|
||||
@@ -207,7 +210,6 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
const extHostProfileContentHandlers = rpcProtocol.set(ExtHostContext.ExtHostProfileContentHandlers, new ExtHostProfileContentHandlers(rpcProtocol));
|
||||
rpcProtocol.set(ExtHostContext.ExtHostInteractive, new ExtHostInteractive(rpcProtocol, extHostNotebook, extHostDocumentsAndEditors, extHostCommands, extHostLogService));
|
||||
const extHostInteractiveEditor = rpcProtocol.set(ExtHostContext.ExtHostInlineChat, new ExtHostInteractiveEditor(rpcProtocol, extHostCommands, extHostDocuments, extHostLogService));
|
||||
const extHostChatProvider = rpcProtocol.set(ExtHostContext.ExtHostChatProvider, new ExtHostLanguageModels(rpcProtocol, extHostLogService, extHostAuthentication));
|
||||
const extHostChatAgents2 = rpcProtocol.set(ExtHostContext.ExtHostChatAgents2, new ExtHostChatAgents2(rpcProtocol, extHostLogService, extHostCommands));
|
||||
const extHostChatVariables = rpcProtocol.set(ExtHostContext.ExtHostChatVariables, new ExtHostChatVariables(rpcProtocol));
|
||||
const extHostChat = rpcProtocol.set(ExtHostContext.ExtHostChat, new ExtHostChat(rpcProtocol));
|
||||
@@ -1413,7 +1415,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
const chat: typeof vscode.chat = {
|
||||
registerChatResponseProvider(id: string, provider: vscode.ChatResponseProvider, metadata: vscode.ChatResponseProviderMetadata) {
|
||||
checkProposedApiEnabled(extension, 'chatProvider');
|
||||
return extHostChatProvider.registerLanguageModel(extension, id, provider, metadata);
|
||||
return extHostLanguageModels.registerLanguageModel(extension, id, provider, metadata);
|
||||
},
|
||||
registerChatVariableResolver(name: string, description: string, resolver: vscode.ChatVariableResolver) {
|
||||
checkProposedApiEnabled(extension, 'chatVariableResolver');
|
||||
@@ -1433,15 +1435,15 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
const lm: typeof vscode.lm = {
|
||||
get languageModels() {
|
||||
checkProposedApiEnabled(extension, 'languageModels');
|
||||
return extHostChatProvider.getLanguageModelIds();
|
||||
return extHostLanguageModels.getLanguageModelIds();
|
||||
},
|
||||
onDidChangeLanguageModels: (listener, thisArgs?, disposables?) => {
|
||||
checkProposedApiEnabled(extension, 'languageModels');
|
||||
return extHostChatProvider.onDidChangeProviders(listener, thisArgs, disposables);
|
||||
return extHostLanguageModels.onDidChangeProviders(listener, thisArgs, disposables);
|
||||
},
|
||||
sendChatRequest(languageModel: string, messages: vscode.LanguageModelChatMessage[], options: vscode.LanguageModelChatRequestOptions, token: vscode.CancellationToken) {
|
||||
checkProposedApiEnabled(extension, 'languageModels');
|
||||
return extHostChatProvider.sendChatRequest(extension, languageModel, messages, options, token);
|
||||
return extHostLanguageModels.sendChatRequest(extension, languageModel, messages, options, token);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user