mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-19 08:08:39 +01:00
Merge branch 'main' into quiet-leopon
This commit is contained in:
@@ -43,6 +43,7 @@ import { IExtHostCommands } from './extHostCommands.js';
|
||||
import { createExtHostComments } from './extHostComments.js';
|
||||
import { ExtHostConfigProvider, IExtHostConfiguration } from './extHostConfiguration.js';
|
||||
import { ExtHostCustomEditors } from './extHostCustomEditors.js';
|
||||
import { IExtHostDataChannels } from './extHostDataChannels.js';
|
||||
import { IExtHostDebugService } from './extHostDebugService.js';
|
||||
import { IExtHostDecorations } from './extHostDecorations.js';
|
||||
import { ExtHostDiagnostics } from './extHostDiagnostics.js';
|
||||
@@ -111,6 +112,7 @@ import { ExtHostWebviewViews } from './extHostWebviewView.js';
|
||||
import { IExtHostWindow } from './extHostWindow.js';
|
||||
import { IExtHostWorkspace } from './extHostWorkspace.js';
|
||||
import { ExtHostAiSettingsSearch } from './extHostAiSettingsSearch.js';
|
||||
import { ExtHostChatSessions } from './extHostChatSessions.js';
|
||||
import { ExtHostChatOutputRenderer } from './extHostChatOutputRenderer.js';
|
||||
|
||||
export interface IExtensionRegistries {
|
||||
@@ -152,6 +154,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
const extHostAuthentication = accessor.get(IExtHostAuthentication);
|
||||
const extHostLanguageModels = accessor.get(IExtHostLanguageModels);
|
||||
const extHostMcp = accessor.get(IExtHostMpcService);
|
||||
const extHostDataChannels = accessor.get(IExtHostDataChannels);
|
||||
|
||||
// register addressable instances
|
||||
rpcProtocol.set(ExtHostContext.ExtHostFileSystemInfo, extHostFileSystemInfo);
|
||||
@@ -170,6 +173,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
rpcProtocol.set(ExtHostContext.ExtHostProgress, extHostProgress);
|
||||
rpcProtocol.set(ExtHostContext.ExtHostAuthentication, extHostAuthentication);
|
||||
rpcProtocol.set(ExtHostContext.ExtHostChatProvider, extHostLanguageModels);
|
||||
rpcProtocol.set(ExtHostContext.ExtHostDataChannels, extHostDataChannels);
|
||||
|
||||
// automatically create and register addressable instances
|
||||
const extHostDecorations = rpcProtocol.set(ExtHostContext.ExtHostDecorations, accessor.get(IExtHostDecorations));
|
||||
@@ -227,6 +231,8 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
const extHostStatusBar = rpcProtocol.set(ExtHostContext.ExtHostStatusBar, new ExtHostStatusBar(rpcProtocol, extHostCommands.converter));
|
||||
const extHostSpeech = rpcProtocol.set(ExtHostContext.ExtHostSpeech, new ExtHostSpeech(rpcProtocol));
|
||||
const extHostEmbeddings = rpcProtocol.set(ExtHostContext.ExtHostEmbeddings, new ExtHostEmbeddings(rpcProtocol));
|
||||
const extHostChatSessions = rpcProtocol.set(ExtHostContext.ExtHostChatSessions, new ExtHostChatSessions(extHostCommands, rpcProtocol, extHostLogService));
|
||||
|
||||
rpcProtocol.set(ExtHostContext.ExtHostMcp, accessor.get(IExtHostMpcService));
|
||||
|
||||
// Check that no named customers are missing
|
||||
@@ -453,6 +459,10 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
get appCommit(): string | undefined {
|
||||
checkProposedApiEnabled(extension, 'resolvers');
|
||||
return initData.commit;
|
||||
},
|
||||
getDataChannel<T>(channelId: string): vscode.DataChannel<T> {
|
||||
checkProposedApiEnabled(extension, 'dataChannels');
|
||||
return extHostDataChannels.createDataChannel(extension, channelId);
|
||||
}
|
||||
};
|
||||
if (!initData.environment.extensionTestsLocationURI) {
|
||||
@@ -1265,8 +1275,11 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
|
||||
return extHostSCM.getLastInputBox(extension)!; // Strict null override - Deprecated api
|
||||
},
|
||||
createSourceControl(id: string, label: string, rootUri?: vscode.Uri) {
|
||||
return extHostSCM.createSourceControl(extension, id, label, rootUri);
|
||||
createSourceControl(id: string, label: string, rootUri?: vscode.Uri, iconPath?: vscode.IconPath, parent?: vscode.SourceControl): vscode.SourceControl {
|
||||
if (iconPath || parent) {
|
||||
checkProposedApiEnabled(extension, 'scmProviderOptions');
|
||||
}
|
||||
return extHostSCM.createSourceControl(extension, id, label, rootUri, iconPath, parent);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1359,11 +1372,20 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
get taskExecutions(): vscode.TaskExecution[] {
|
||||
return extHostTask.taskExecutions;
|
||||
},
|
||||
onDidStartTask: (listeners, thisArgs?, disposables?) => {
|
||||
if (!isProposedApiEnabled(extension, 'taskExecutionTerminal')) {
|
||||
thisArgs.terminal = undefined;
|
||||
}
|
||||
return _asExtensionEvent(extHostTask.onDidStartTask)(listeners, thisArgs, disposables);
|
||||
onDidStartTask: (listener: (e: vscode.TaskStartEvent) => any, thisArgs?: any, disposables?) => {
|
||||
const wrappedListener = (event: vscode.TaskStartEvent) => {
|
||||
if (!isProposedApiEnabled(extension, 'taskExecutionTerminal')) {
|
||||
if (event?.execution?.terminal !== undefined) {
|
||||
event.execution.terminal = undefined;
|
||||
}
|
||||
}
|
||||
const eventWithExecution = {
|
||||
...event,
|
||||
execution: event.execution
|
||||
};
|
||||
return listener.call(thisArgs, eventWithExecution);
|
||||
};
|
||||
return _asExtensionEvent(extHostTask.onDidStartTask)(wrappedListener, thisArgs, disposables);
|
||||
},
|
||||
onDidEndTask: (listeners, thisArgs?, disposables?) => {
|
||||
return _asExtensionEvent(extHostTask.onDidEndTask)(listeners, thisArgs, disposables);
|
||||
@@ -1485,10 +1507,14 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
checkProposedApiEnabled(extension, 'chatParticipantPrivate');
|
||||
return _asExtensionEvent(extHostChatAgents2.onDidDisposeChatSession)(listeners, thisArgs, disposables);
|
||||
},
|
||||
registerChatSessionsProvider: (provider: vscode.ChatSessionsProvider) => {
|
||||
checkProposedApiEnabled(extension, 'chatSessionsProvider');
|
||||
return extHostChatSessions.registerChatSessionsProvider(provider);
|
||||
},
|
||||
registerChatOutputRenderer: (mime: string, renderer: vscode.ChatOutputRenderer) => {
|
||||
checkProposedApiEnabled(extension, 'chatOutputRenderer');
|
||||
return extHostChatOutputRenderer.registerChatOutputRenderer(extension, mime, renderer);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
// namespace: lm
|
||||
@@ -1499,9 +1525,9 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
onDidChangeChatModels: (listener, thisArgs?, disposables?) => {
|
||||
return extHostLanguageModels.onDidChangeProviders(listener, thisArgs, disposables);
|
||||
},
|
||||
registerChatModelProvider: (id, provider, metadata) => {
|
||||
registerChatModelProvider: (vendor, provider) => {
|
||||
checkProposedApiEnabled(extension, 'chatProvider');
|
||||
return extHostLanguageModels.registerLanguageModel(extension, id, provider, metadata);
|
||||
return extHostLanguageModels.registerLanguageModelProvider(extension, vendor, provider);
|
||||
},
|
||||
// --- embeddings
|
||||
get embeddingModels() {
|
||||
@@ -1541,6 +1567,10 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
},
|
||||
registerMcpServerDefinitionProvider(id, provider) {
|
||||
return extHostMcp.registerMcpConfigurationProvider(extension, id, provider);
|
||||
},
|
||||
onDidChangeChatRequestTools(...args) {
|
||||
checkProposedApiEnabled(extension, 'chatParticipantAdditions');
|
||||
return _asExtensionEvent(extHostChatAgents2.onDidChangeChatRequestTools)(...args);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1838,6 +1868,8 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
LanguageModelToolResult: extHostTypes.LanguageModelToolResult,
|
||||
LanguageModelToolResult2: extHostTypes.LanguageModelToolResult2,
|
||||
LanguageModelDataPart: extHostTypes.LanguageModelDataPart,
|
||||
LanguageModelToolExtensionSource: extHostTypes.LanguageModelToolExtensionSource,
|
||||
LanguageModelToolMCPSource: extHostTypes.LanguageModelToolMCPSource,
|
||||
ExtendedLanguageModelToolResult: extHostTypes.ExtendedLanguageModelToolResult,
|
||||
PreparedTerminalToolInvocation: extHostTypes.PreparedTerminalToolInvocation,
|
||||
LanguageModelChatToolMode: extHostTypes.LanguageModelChatToolMode,
|
||||
|
||||
Reference in New Issue
Block a user