Break chat context provider into 3 different providers (#289951)

* Break chat context provider into 3 different providers

* Keep backwards compatibility
This commit is contained in:
Alex Ross
2026-01-26 11:01:35 +01:00
committed by GitHub
parent ce8f53632c
commit b5a77387ee
7 changed files with 419 additions and 178 deletions

View File

@@ -1546,6 +1546,19 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
checkProposedApiEnabled(extension, 'chatOutputRenderer');
return extHostChatOutputRenderer.registerChatOutputRenderer(extension, viewType, renderer);
},
registerChatWorkspaceContextProvider(id: string, provider: vscode.ChatWorkspaceContextProvider): vscode.Disposable {
checkProposedApiEnabled(extension, 'chatContextProvider');
return extHostChatContext.registerChatWorkspaceContextProvider(`${extension.id}-${id}`, provider);
},
registerChatExplicitContextProvider(id: string, provider: vscode.ChatExplicitContextProvider): vscode.Disposable {
checkProposedApiEnabled(extension, 'chatContextProvider');
return extHostChatContext.registerChatExplicitContextProvider(`${extension.id}-${id}`, provider);
},
registerChatResourceContextProvider(selector: vscode.DocumentSelector, id: string, provider: vscode.ChatResourceContextProvider): vscode.Disposable {
checkProposedApiEnabled(extension, 'chatContextProvider');
return extHostChatContext.registerChatResourceContextProvider(checkSelector(selector), `${extension.id}-${id}`, provider);
},
/** @deprecated Use registerChatWorkspaceContextProvider, registerChatExplicitContextProvider, or registerChatResourceContextProvider instead. */
registerChatContextProvider(selector: vscode.DocumentSelector | undefined, id: string, provider: vscode.ChatContextProvider): vscode.Disposable {
checkProposedApiEnabled(extension, 'chatContextProvider');
return extHostChatContext.registerChatContextProvider(selector ? checkSelector(selector) : undefined, `${extension.id}-${id}`, provider);