Skip to content

Commit 9ae5582

Browse files
authored
Adopt registerTool (#263497)
Just a nicer convenience method I added recently
1 parent 9af7318 commit 9ae5582

File tree

6 files changed

+124
-139
lines changed

6 files changed

+124
-139
lines changed

src/vs/workbench/contrib/chat/browser/chatSetup.ts

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import './media/chatSetup.css';
76
import { $ } from '../../../../base/browser/dom.js';
7+
import { IButton } from '../../../../base/browser/ui/button/button.js';
88
import { Dialog, DialogContentsAlignment } from '../../../../base/browser/ui/dialog/dialog.js';
99
import { WorkbenchActionExecutedClassification, WorkbenchActionExecutedEvent } from '../../../../base/common/actions.js';
10+
import { coalesce } from '../../../../base/common/arrays.js';
1011
import { timeout } from '../../../../base/common/async.js';
1112
import { CancellationToken } from '../../../../base/common/cancellation.js';
1213
import { Codicon } from '../../../../base/common/codicons.js';
@@ -31,6 +32,7 @@ import { Extensions as ConfigurationExtensions, IConfigurationRegistry } from '.
3132
import { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';
3233
import { createWorkbenchDialogOptions } from '../../../../platform/dialogs/browser/dialog.js';
3334
import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
35+
import { ExtensionIdentifier } from '../../../../platform/extensions/common/extensions.js';
3436
import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
3537
import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';
3638
import { ILayoutService } from '../../../../platform/layout/browser/layoutService.js';
@@ -47,6 +49,8 @@ import { IWorkbenchContribution } from '../../../common/contributions.js';
4749
import { IViewDescriptorService, ViewContainerLocation } from '../../../common/views.js';
4850
import { IActivityService, ProgressBadge } from '../../../services/activity/common/activity.js';
4951
import { AuthenticationSession, IAuthenticationService } from '../../../services/authentication/common/authentication.js';
52+
import { IWorkbenchEnvironmentService } from '../../../services/environment/common/environmentService.js';
53+
import { EnablementState, IWorkbenchExtensionEnablementService } from '../../../services/extensionManagement/common/extensionManagement.js';
5054
import { ExtensionUrlHandlerOverrideRegistry } from '../../../services/extensions/browser/extensionUrlHandler.js';
5155
import { nullExtensionDescription } from '../../../services/extensions/common/extensions.js';
5256
import { IHostService } from '../../../services/host/browser/host.js';
@@ -59,20 +63,16 @@ import { IChatAgentImplementation, IChatAgentRequest, IChatAgentResult, IChatAge
5963
import { ChatContextKeys } from '../common/chatContextKeys.js';
6064
import { ChatEntitlement, ChatEntitlementContext, ChatEntitlementRequests, ChatEntitlementService, IChatEntitlementService, isProUser } from '../common/chatEntitlementService.js';
6165
import { ChatModel, ChatRequestModel, IChatRequestModel, IChatRequestVariableData } from '../common/chatModel.js';
62-
import { IChatRequestToolEntry } from '../common/chatVariableEntries.js';
66+
import { ChatMode } from '../common/chatModes.js';
6367
import { ChatRequestAgentPart, ChatRequestToolPart } from '../common/chatParserTypes.js';
6468
import { IChatProgress, IChatService } from '../common/chatService.js';
69+
import { IChatRequestToolEntry } from '../common/chatVariableEntries.js';
6570
import { ChatAgentLocation, ChatConfiguration, ChatModeKind, validateChatMode } from '../common/constants.js';
6671
import { ILanguageModelsService } from '../common/languageModels.js';
6772
import { CHAT_CATEGORY, CHAT_OPEN_ACTION_ID, CHAT_SETUP_ACTION_ID } from './actions/chatActions.js';
6873
import { ChatViewId, IChatWidgetService, showCopilotView } from './chat.js';
6974
import { CHAT_SIDEBAR_PANEL_ID } from './chatViewPane.js';
70-
import { coalesce } from '../../../../base/common/arrays.js';
71-
import { IButton } from '../../../../base/browser/ui/button/button.js';
72-
import { ChatMode } from '../common/chatModes.js';
73-
import { IWorkbenchEnvironmentService } from '../../../services/environment/common/environmentService.js';
74-
import { ExtensionIdentifier } from '../../../../platform/extensions/common/extensions.js';
75-
import { EnablementState, IWorkbenchExtensionEnablementService } from '../../../services/extensionManagement/common/extensionManagement.js';
75+
import './media/chatSetup.css';
7676

7777
const defaultChat = {
7878
extensionId: product.defaultChatAgent?.extensionId ?? '',
@@ -570,10 +570,8 @@ class SetupTool extends Disposable implements IToolImpl {
570570

571571
const disposables = new DisposableStore();
572572

573-
disposables.add(toolService.registerToolData(toolData));
574-
575573
const tool = instantiationService.createInstance(SetupTool);
576-
disposables.add(toolService.registerToolImplementation(toolData.id, tool));
574+
disposables.add(toolService.registerTool(toolData, tool));
577575

578576
return { tool, disposable: disposables };
579577
});

src/vs/workbench/contrib/chat/electron-browser/chat.contribution.ts

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,37 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6+
import { Disposable } from '../../../../base/common/lifecycle.js';
7+
import { autorun } from '../../../../base/common/observable.js';
8+
import { resolve } from '../../../../base/common/path.js';
9+
import { isMacintosh } from '../../../../base/common/platform.js';
10+
import { URI } from '../../../../base/common/uri.js';
11+
import { ipcRenderer } from '../../../../base/parts/sandbox/electron-browser/globals.js';
612
import { localize } from '../../../../nls.js';
7-
import { InlineVoiceChatAction, QuickVoiceChatAction, StartVoiceChatAction, VoiceChatInChatViewAction, StopListeningAction, StopListeningAndSubmitAction, KeywordActivationContribution, HoldToVoiceChatInChatViewAction, ReadChatResponseAloud, StopReadAloud, StopReadChatItemAloud } from './actions/voiceChatActions.js';
813
import { registerAction2 } from '../../../../platform/actions/common/actions.js';
9-
import { IWorkbenchContribution, WorkbenchPhase, registerWorkbenchContribution2 } from '../../../common/contributions.js';
10-
import { Disposable } from '../../../../base/common/lifecycle.js';
14+
import { ICommandService } from '../../../../platform/commands/common/commands.js';
15+
import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';
16+
import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
1117
import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
12-
import { ILanguageModelToolsService } from '../common/languageModelToolsService.js';
13-
import { FetchWebPageTool, FetchWebPageToolData } from './tools/fetchPageTool.js';
14-
import { registerChatDeveloperActions } from './actions/chatDeveloperActions.js';
18+
import { ILogService } from '../../../../platform/log/common/log.js';
19+
import { INativeHostService } from '../../../../platform/native/common/native.js';
20+
import { IWorkspaceTrustRequestService } from '../../../../platform/workspace/common/workspaceTrust.js';
21+
import { IWorkbenchContribution, WorkbenchPhase, registerWorkbenchContribution2 } from '../../../common/contributions.js';
22+
import { ViewContainerLocation } from '../../../common/views.js';
1523
import { INativeWorkbenchEnvironmentService } from '../../../services/environment/electron-browser/environmentService.js';
16-
import { ICommandService } from '../../../../platform/commands/common/commands.js';
24+
import { IExtensionService } from '../../../services/extensions/common/extensions.js';
25+
import { IWorkbenchLayoutService } from '../../../services/layout/browser/layoutService.js';
26+
import { ILifecycleService, ShutdownReason } from '../../../services/lifecycle/common/lifecycle.js';
27+
import { IViewsService } from '../../../services/views/common/viewsService.js';
1728
import { ACTION_ID_NEW_CHAT, CHAT_OPEN_ACTION_ID, IChatViewOpenOptions } from '../browser/actions/chatActions.js';
18-
import { ChatModeKind } from '../common/constants.js';
19-
import { ipcRenderer } from '../../../../base/parts/sandbox/electron-browser/globals.js';
20-
import { IWorkspaceTrustRequestService } from '../../../../platform/workspace/common/workspaceTrust.js';
21-
import { URI } from '../../../../base/common/uri.js';
22-
import { resolve } from '../../../../base/common/path.js';
2329
import { showChatView } from '../browser/chat.js';
24-
import { IViewsService } from '../../../services/views/common/viewsService.js';
25-
import { ILogService } from '../../../../platform/log/common/log.js';
26-
import { IWorkbenchLayoutService } from '../../../services/layout/browser/layoutService.js';
27-
import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';
2830
import { ChatContextKeys } from '../common/chatContextKeys.js';
29-
import { ViewContainerLocation } from '../../../common/views.js';
30-
import { INativeHostService } from '../../../../platform/native/common/native.js';
3131
import { IChatService } from '../common/chatService.js';
32-
import { autorun } from '../../../../base/common/observable.js';
33-
import { ILifecycleService, ShutdownReason } from '../../../services/lifecycle/common/lifecycle.js';
34-
import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
35-
import { isMacintosh } from '../../../../base/common/platform.js';
36-
import { IExtensionService } from '../../../services/extensions/common/extensions.js';
32+
import { ChatModeKind } from '../common/constants.js';
33+
import { ILanguageModelToolsService } from '../common/languageModelToolsService.js';
34+
import { registerChatDeveloperActions } from './actions/chatDeveloperActions.js';
35+
import { HoldToVoiceChatInChatViewAction, InlineVoiceChatAction, KeywordActivationContribution, QuickVoiceChatAction, ReadChatResponseAloud, StartVoiceChatAction, StopListeningAction, StopListeningAndSubmitAction, StopReadAloud, StopReadChatItemAloud, VoiceChatInChatViewAction } from './actions/voiceChatActions.js';
36+
import { FetchWebPageTool, FetchWebPageToolData } from './tools/fetchPageTool.js';
3737

3838
class NativeBuiltinToolsContribution extends Disposable implements IWorkbenchContribution {
3939

@@ -46,8 +46,7 @@ class NativeBuiltinToolsContribution extends Disposable implements IWorkbenchCon
4646
super();
4747

4848
const editTool = instantiationService.createInstance(FetchWebPageTool);
49-
this._register(toolsService.registerToolData(FetchWebPageToolData));
50-
this._register(toolsService.registerToolImplementation(FetchWebPageToolData.id, editTool));
49+
this._register(toolsService.registerTool(FetchWebPageToolData, editTool));
5150
}
5251
}
5352

0 commit comments

Comments
 (0)