@codingame/monaco-vscode-chat-service-override 30.0.0 → 31.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +21 -3
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +125 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +393 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +65 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +453 -0
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +28 -0
- package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +81 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +75 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +180 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +202 -51
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +182 -0
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +282 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +303 -32
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +14 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +9 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +30 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +662 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +12 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +9 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.d.ts +17 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.js +5 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +5 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +14 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +42 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.js +7 -0
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +118 -0
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +551 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +22 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +83 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +17 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +113 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +81 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +47 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +15 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +58 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +24 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +29 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.js +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +65 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +28 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +10 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +80 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +20 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +30 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +131 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +363 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +31 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +374 -764
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +222 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +269 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +249 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +14 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +113 -58
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +202 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +246 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +162 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +306 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +581 -257
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +15 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +245 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +25 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +3 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +103 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +80 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +20 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +128 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +10 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +4 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +4 -310
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +3 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +61 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +0 -110
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +31 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +46 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +17 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +96 -82
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +21 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +315 -263
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +196 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +8 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +26 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +48 -57
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +11 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +226 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.js +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +108 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +24 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +9 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +21 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +26 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +46 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.js +60 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +32 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +152 -26
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +5 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +265 -261
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +28 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +75 -7
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +9 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +32 -4
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +10 -25
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +7 -52
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +58 -466
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +36 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +168 -182
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +49 -29
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +491 -462
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +16 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +18 -12
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -4
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +145 -68
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +25 -25
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +19 -17
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +3 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +5 -17
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +77 -157
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +29 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +12 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +49 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +9 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +13 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.d.ts +53 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +319 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +15 -15
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +8 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +15 -15
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +2 -2
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +21 -0
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +35 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +0 -94
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +0 -16
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +0 -578
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +0 -206
- package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +0 -114
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +0 -860
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +0 -27
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +0 -58
- package/vscode/src/vs/platform/browserElements/common/browserElements.js +0 -16
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +0 -18
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +0 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -85
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +0 -443
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.d.ts +0 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +0 -132
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatUsageWidget.css +0 -69
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +0 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +0 -66
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +0 -158
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +0 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +0 -142
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +0 -45
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +0 -164
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +0 -50
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +0 -163
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +0 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +0 -142
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +0 -29
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +0 -137
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +0 -174
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +0 -39
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +0 -32
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +0 -249
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +0 -92
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +0 -209
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +0 -106
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +0 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +0 -392
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +0 -45
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +0 -243
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +0 -52
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +0 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +0 -310
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +0 -168
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +0 -25
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +0 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +0 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +0 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +0 -44
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +0 -13
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +0 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +0 -27
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +0 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +0 -29
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +0 -33
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +0 -28
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +0 -118
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +0 -1019
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +0 -49
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +0 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +0 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +0 -150
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +0 -1619
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +0 -41
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +0 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +0 -118
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +0 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +0 -25
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +0 -130
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +0 -122
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +0 -482
package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js
CHANGED
|
@@ -4,6 +4,7 @@ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codi
|
|
|
4
4
|
import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
|
|
5
5
|
import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
6
|
import { LRUCache } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
|
|
7
|
+
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
7
8
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
8
9
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
9
10
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
@@ -11,10 +12,11 @@ import { QuickInputButtonLocation } from '@codingame/monaco-vscode-api/vscode/vs
|
|
|
11
12
|
import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
12
13
|
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
13
14
|
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
15
|
+
import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
14
16
|
import { ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
15
17
|
|
|
16
|
-
const RUN_WITHOUT_APPROVAL = ( localize(
|
|
17
|
-
const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(
|
|
18
|
+
const RUN_WITHOUT_APPROVAL = ( localize(6699, "without approval"));
|
|
19
|
+
const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(6700, "without reviewing result"));
|
|
18
20
|
class GenericConfirmStore extends Disposable {
|
|
19
21
|
constructor(_storageKey, _instantiationService) {
|
|
20
22
|
super();
|
|
@@ -28,13 +30,14 @@ class GenericConfirmStore extends Disposable {
|
|
|
28
30
|
this._instantiationService.createInstance(ToolConfirmStore, StorageScope.PROFILE, this._storageKey)
|
|
29
31
|
)));
|
|
30
32
|
}
|
|
31
|
-
setAutoConfirmation(id, scope, label) {
|
|
33
|
+
setAutoConfirmation(id, scope, label, args) {
|
|
32
34
|
this._workspaceStore.value.setAutoConfirm(id, undefined);
|
|
33
35
|
this._profileStore.value.setAutoConfirm(id, undefined);
|
|
34
36
|
this._memoryStore.delete(id);
|
|
35
37
|
const entry = {
|
|
36
38
|
confirmed: true,
|
|
37
|
-
label
|
|
39
|
+
label,
|
|
40
|
+
arguments: args
|
|
38
41
|
};
|
|
39
42
|
if (scope === "workspace") {
|
|
40
43
|
this._workspaceStore.value.setAutoConfirm(id, entry);
|
|
@@ -68,6 +71,9 @@ class GenericConfirmStore extends Disposable {
|
|
|
68
71
|
getLabel(id) {
|
|
69
72
|
return this._workspaceStore.value.getAutoConfirm(id)?.label ?? this._profileStore.value.getAutoConfirm(id)?.label ?? this._memoryStore.get(id)?.label;
|
|
70
73
|
}
|
|
74
|
+
getArguments(id) {
|
|
75
|
+
return this._workspaceStore.value.getAutoConfirm(id)?.arguments ?? this._profileStore.value.getAutoConfirm(id)?.arguments ?? this._memoryStore.get(id)?.arguments;
|
|
76
|
+
}
|
|
71
77
|
reset() {
|
|
72
78
|
this._workspaceStore.value.reset();
|
|
73
79
|
this._profileStore.value.reset();
|
|
@@ -128,10 +134,19 @@ let ToolConfirmStore = class ToolConfirmStore extends Disposable {
|
|
|
128
134
|
}
|
|
129
135
|
} else if (typeof parsed === "object" && parsed !== null) {
|
|
130
136
|
for (const [key, value] of Object.entries(parsed)) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
137
|
+
if (typeof value === "object" && value !== null) {
|
|
138
|
+
const obj = value;
|
|
139
|
+
this._autoConfirmTools.set(key, {
|
|
140
|
+
confirmed: true,
|
|
141
|
+
label: obj.label,
|
|
142
|
+
arguments: obj.arguments
|
|
143
|
+
});
|
|
144
|
+
} else {
|
|
145
|
+
this._autoConfirmTools.set(key, {
|
|
146
|
+
confirmed: true,
|
|
147
|
+
label: typeof value === "string" ? value : undefined
|
|
148
|
+
});
|
|
149
|
+
}
|
|
135
150
|
}
|
|
136
151
|
}
|
|
137
152
|
} catch {}
|
|
@@ -140,7 +155,14 @@ let ToolConfirmStore = class ToolConfirmStore extends Disposable {
|
|
|
140
155
|
if (this._didChange) {
|
|
141
156
|
const data = {};
|
|
142
157
|
for (const [key, entry] of this._autoConfirmTools) {
|
|
143
|
-
|
|
158
|
+
if (entry.arguments) {
|
|
159
|
+
data[key] = {
|
|
160
|
+
label: entry.label,
|
|
161
|
+
arguments: entry.arguments
|
|
162
|
+
};
|
|
163
|
+
} else {
|
|
164
|
+
data[key] = entry.label ?? true;
|
|
165
|
+
}
|
|
144
166
|
}
|
|
145
167
|
this.storageService.store(this._storageKey, JSON.stringify(data), this._scope, StorageTarget.MACHINE);
|
|
146
168
|
this._didChange = false;
|
|
@@ -173,10 +195,11 @@ let ToolConfirmStore = class ToolConfirmStore extends Disposable {
|
|
|
173
195
|
};
|
|
174
196
|
ToolConfirmStore = ( __decorate([( __param(2, IStorageService))], ToolConfirmStore));
|
|
175
197
|
let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmationService extends Disposable {
|
|
176
|
-
constructor(_instantiationService, _quickInputService) {
|
|
198
|
+
constructor(_instantiationService, _quickInputService, _dialogService) {
|
|
177
199
|
super();
|
|
178
200
|
this._instantiationService = _instantiationService;
|
|
179
201
|
this._quickInputService = _quickInputService;
|
|
202
|
+
this._dialogService = _dialogService;
|
|
180
203
|
this._contributions = ( new Map());
|
|
181
204
|
this._preExecutionToolConfirmStore = this._register(( new GenericConfirmStore("chat/autoconfirm", this._instantiationService)));
|
|
182
205
|
this._postExecutionToolConfirmStore = this._register(( new GenericConfirmStore("chat/autoconfirm-post", this._instantiationService)));
|
|
@@ -248,47 +271,48 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
248
271
|
if (ref.combination) {
|
|
249
272
|
const {
|
|
250
273
|
label: combinationLabel,
|
|
251
|
-
key: combinationKey
|
|
274
|
+
key: combinationKey,
|
|
275
|
+
arguments: combinationArgs
|
|
252
276
|
} = ref.combination;
|
|
253
277
|
actions.push({
|
|
254
|
-
label: ( localize(
|
|
278
|
+
label: ( localize(6701, "{0} in this Session", combinationLabel)),
|
|
255
279
|
detail: ( localize(
|
|
256
|
-
|
|
280
|
+
6702,
|
|
257
281
|
"Allow this particular combination of tool and arguments in this session without confirmation."
|
|
258
282
|
)),
|
|
259
283
|
divider: !!actions.length,
|
|
260
284
|
scope: "session",
|
|
261
285
|
select: async () => {
|
|
262
|
-
this._combinationConfirmStore.setAutoConfirmation(combinationKey, "session", combinationLabel);
|
|
286
|
+
this._combinationConfirmStore.setAutoConfirmation(combinationKey, "session", combinationLabel, combinationArgs);
|
|
263
287
|
return true;
|
|
264
288
|
}
|
|
265
289
|
}, {
|
|
266
|
-
label: ( localize(
|
|
290
|
+
label: ( localize(6703, "{0} in this Workspace", combinationLabel)),
|
|
267
291
|
detail: ( localize(
|
|
268
|
-
|
|
292
|
+
6704,
|
|
269
293
|
"Allow this particular combination of tool and arguments in this workspace without confirmation."
|
|
270
294
|
)),
|
|
271
295
|
scope: "workspace",
|
|
272
296
|
select: async () => {
|
|
273
|
-
this._combinationConfirmStore.setAutoConfirmation(combinationKey, "workspace", combinationLabel);
|
|
297
|
+
this._combinationConfirmStore.setAutoConfirmation(combinationKey, "workspace", combinationLabel, combinationArgs);
|
|
274
298
|
return true;
|
|
275
299
|
}
|
|
276
300
|
}, {
|
|
277
|
-
label: ( localize(
|
|
301
|
+
label: ( localize(6705, "Always {0}", combinationLabel)),
|
|
278
302
|
detail: ( localize(
|
|
279
|
-
|
|
303
|
+
6706,
|
|
280
304
|
"Always allow this particular combination of tool and arguments without confirmation."
|
|
281
305
|
)),
|
|
282
306
|
scope: "profile",
|
|
283
307
|
select: async () => {
|
|
284
|
-
this._combinationConfirmStore.setAutoConfirmation(combinationKey, "profile", combinationLabel);
|
|
308
|
+
this._combinationConfirmStore.setAutoConfirmation(combinationKey, "profile", combinationLabel, combinationArgs);
|
|
285
309
|
return true;
|
|
286
310
|
}
|
|
287
311
|
});
|
|
288
312
|
}
|
|
289
313
|
actions.push({
|
|
290
|
-
label: ( localize(
|
|
291
|
-
detail: ( localize(
|
|
314
|
+
label: ( localize(6707, "Allow in this Session")),
|
|
315
|
+
detail: ( localize(6708, "Allow this tool to run in this session without confirmation.")),
|
|
292
316
|
divider: !!actions.length,
|
|
293
317
|
scope: "session",
|
|
294
318
|
select: async () => {
|
|
@@ -296,16 +320,16 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
296
320
|
return true;
|
|
297
321
|
}
|
|
298
322
|
}, {
|
|
299
|
-
label: ( localize(
|
|
300
|
-
detail: ( localize(
|
|
323
|
+
label: ( localize(6709, "Allow in this Workspace")),
|
|
324
|
+
detail: ( localize(6710, "Allow this tool to run in this workspace without confirmation.")),
|
|
301
325
|
scope: "workspace",
|
|
302
326
|
select: async () => {
|
|
303
327
|
this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "workspace");
|
|
304
328
|
return true;
|
|
305
329
|
}
|
|
306
330
|
}, {
|
|
307
|
-
label: ( localize(
|
|
308
|
-
detail: ( localize(
|
|
331
|
+
label: ( localize(6711, "Always Allow")),
|
|
332
|
+
detail: ( localize(6712, "Always allow this tool to run without confirmation.")),
|
|
309
333
|
scope: "profile",
|
|
310
334
|
select: async () => {
|
|
311
335
|
this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "profile");
|
|
@@ -318,9 +342,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
318
342
|
definitionId
|
|
319
343
|
} = ref.source;
|
|
320
344
|
actions.push({
|
|
321
|
-
label: ( localize(
|
|
345
|
+
label: ( localize(6713, "Allow Tools from {0} in this Session", serverLabel)),
|
|
322
346
|
detail: ( localize(
|
|
323
|
-
|
|
347
|
+
6714,
|
|
324
348
|
"Allow all tools from this server to run in this session without confirmation."
|
|
325
349
|
)),
|
|
326
350
|
divider: true,
|
|
@@ -330,9 +354,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
330
354
|
return true;
|
|
331
355
|
}
|
|
332
356
|
}, {
|
|
333
|
-
label: ( localize(
|
|
357
|
+
label: ( localize(6715, "Allow Tools from {0} in this Workspace", serverLabel)),
|
|
334
358
|
detail: ( localize(
|
|
335
|
-
|
|
359
|
+
6716,
|
|
336
360
|
"Allow all tools from this server to run in this workspace without confirmation."
|
|
337
361
|
)),
|
|
338
362
|
scope: "workspace",
|
|
@@ -341,9 +365,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
341
365
|
return true;
|
|
342
366
|
}
|
|
343
367
|
}, {
|
|
344
|
-
label: ( localize(
|
|
368
|
+
label: ( localize(6717, "Always Allow Tools from {0}", serverLabel)),
|
|
345
369
|
detail: ( localize(
|
|
346
|
-
|
|
370
|
+
6718,
|
|
347
371
|
"Always allow all tools from this server to run without confirmation."
|
|
348
372
|
)),
|
|
349
373
|
scope: "profile",
|
|
@@ -365,9 +389,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
365
389
|
return actions;
|
|
366
390
|
}
|
|
367
391
|
actions.push({
|
|
368
|
-
label: ( localize(
|
|
392
|
+
label: ( localize(6719, "Allow Without Review in this Session")),
|
|
369
393
|
detail: ( localize(
|
|
370
|
-
|
|
394
|
+
6720,
|
|
371
395
|
"Allow results from this tool to be sent without confirmation in this session."
|
|
372
396
|
)),
|
|
373
397
|
divider: !!actions.length,
|
|
@@ -377,9 +401,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
377
401
|
return true;
|
|
378
402
|
}
|
|
379
403
|
}, {
|
|
380
|
-
label: ( localize(
|
|
404
|
+
label: ( localize(6721, "Allow Without Review in this Workspace")),
|
|
381
405
|
detail: ( localize(
|
|
382
|
-
|
|
406
|
+
6722,
|
|
383
407
|
"Allow results from this tool to be sent without confirmation in this workspace."
|
|
384
408
|
)),
|
|
385
409
|
scope: "workspace",
|
|
@@ -388,9 +412,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
388
412
|
return true;
|
|
389
413
|
}
|
|
390
414
|
}, {
|
|
391
|
-
label: ( localize(
|
|
415
|
+
label: ( localize(6723, "Always Allow Without Review")),
|
|
392
416
|
detail: ( localize(
|
|
393
|
-
|
|
417
|
+
6724,
|
|
394
418
|
"Always allow results from this tool to be sent without confirmation."
|
|
395
419
|
)),
|
|
396
420
|
scope: "profile",
|
|
@@ -405,9 +429,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
405
429
|
definitionId
|
|
406
430
|
} = ref.source;
|
|
407
431
|
actions.push({
|
|
408
|
-
label: ( localize(
|
|
432
|
+
label: ( localize(6725, "Allow Tools from {0} Without Review in this Session", serverLabel)),
|
|
409
433
|
detail: ( localize(
|
|
410
|
-
|
|
434
|
+
6726,
|
|
411
435
|
"Allow results from all tools from this server to be sent without confirmation in this session."
|
|
412
436
|
)),
|
|
413
437
|
divider: true,
|
|
@@ -417,9 +441,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
417
441
|
return true;
|
|
418
442
|
}
|
|
419
443
|
}, {
|
|
420
|
-
label: ( localize(
|
|
444
|
+
label: ( localize(6727, "Allow Tools from {0} Without Review in this Workspace", serverLabel)),
|
|
421
445
|
detail: ( localize(
|
|
422
|
-
|
|
446
|
+
6728,
|
|
423
447
|
"Allow results from all tools from this server to be sent without confirmation in this workspace."
|
|
424
448
|
)),
|
|
425
449
|
scope: "workspace",
|
|
@@ -428,9 +452,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
428
452
|
return true;
|
|
429
453
|
}
|
|
430
454
|
}, {
|
|
431
|
-
label: ( localize(
|
|
455
|
+
label: ( localize(6729, "Always Allow Tools from {0} Without Review", serverLabel)),
|
|
432
456
|
detail: ( localize(
|
|
433
|
-
|
|
457
|
+
6730,
|
|
434
458
|
"Always allow results from all tools from this server to be sent without confirmation."
|
|
435
459
|
)),
|
|
436
460
|
scope: "profile",
|
|
@@ -468,15 +492,21 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
468
492
|
for (const key of this._combinationConfirmStore.getAllConfirmed()) {
|
|
469
493
|
if (key.startsWith(prefix) && this._combinationConfirmStore.getAutoConfirmationIn(key, scope)) {
|
|
470
494
|
const label = this._combinationConfirmStore.getLabel(key) ?? key;
|
|
495
|
+
const args = this._combinationConfirmStore.getArguments(key);
|
|
471
496
|
results.push({
|
|
472
497
|
key,
|
|
473
|
-
label
|
|
498
|
+
label,
|
|
499
|
+
arguments: args
|
|
474
500
|
});
|
|
475
501
|
}
|
|
476
502
|
}
|
|
477
503
|
return results;
|
|
478
504
|
}
|
|
479
505
|
manageConfirmationPreferences(tools, options) {
|
|
506
|
+
const viewArgsButton = {
|
|
507
|
+
iconClass: ThemeIcon.asClassName(Codicon.info),
|
|
508
|
+
tooltip: ( localize(6731, "View Arguments"))
|
|
509
|
+
};
|
|
480
510
|
const trackServerTool = (serverId, label, toolId, serversWithTools) => {
|
|
481
511
|
if (!( serversWithTools.has(serverId))) {
|
|
482
512
|
serversWithTools.set(serverId, {
|
|
@@ -573,14 +603,17 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
573
603
|
const combinationApprovals = this._getCombinationApprovalsForTool(tool.id, currentScope);
|
|
574
604
|
for (const {
|
|
575
605
|
key,
|
|
576
|
-
label
|
|
606
|
+
label,
|
|
607
|
+
arguments: args
|
|
577
608
|
} of combinationApprovals) {
|
|
578
609
|
toolChildren.push({
|
|
579
610
|
type: "combination",
|
|
580
611
|
toolId: tool.id,
|
|
581
612
|
combinationKey: key,
|
|
613
|
+
combinationArgs: args,
|
|
582
614
|
label,
|
|
583
|
-
checked: true
|
|
615
|
+
checked: true,
|
|
616
|
+
buttons: args ? [viewArgsButton] : undefined
|
|
584
617
|
});
|
|
585
618
|
}
|
|
586
619
|
const preApproval = this._preExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope);
|
|
@@ -600,6 +633,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
600
633
|
} else {
|
|
601
634
|
continue;
|
|
602
635
|
}
|
|
636
|
+
if (checked === false && toolChildren.length === 0 && !tool.canRequestPreApproval && !tool.canRequestPostApproval) {
|
|
637
|
+
continue;
|
|
638
|
+
}
|
|
603
639
|
serverChildren.push({
|
|
604
640
|
type: "tool",
|
|
605
641
|
toolId: tool.id,
|
|
@@ -616,7 +652,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
616
652
|
type: "server-post",
|
|
617
653
|
serverId,
|
|
618
654
|
iconClass: ThemeIcon.asClassName(Codicon.play),
|
|
619
|
-
label: ( localize(
|
|
655
|
+
label: ( localize(6732, "Continue without reviewing any tool results")),
|
|
620
656
|
checked: serverPostConfirmed
|
|
621
657
|
});
|
|
622
658
|
}
|
|
@@ -625,7 +661,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
625
661
|
type: "server-pre",
|
|
626
662
|
serverId,
|
|
627
663
|
iconClass: ThemeIcon.asClassName(Codicon.play),
|
|
628
|
-
label: ( localize(
|
|
664
|
+
label: ( localize(6733, "Run any tool without approval")),
|
|
629
665
|
checked: serverPreConfirmed
|
|
630
666
|
});
|
|
631
667
|
}
|
|
@@ -693,14 +729,17 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
693
729
|
const combinationApprovals = this._getCombinationApprovalsForTool(tool.id, currentScope);
|
|
694
730
|
for (const {
|
|
695
731
|
key,
|
|
696
|
-
label
|
|
732
|
+
label,
|
|
733
|
+
arguments: args
|
|
697
734
|
} of combinationApprovals) {
|
|
698
735
|
toolChildren.push({
|
|
699
736
|
type: "combination",
|
|
700
737
|
toolId: tool.id,
|
|
701
738
|
combinationKey: key,
|
|
739
|
+
combinationArgs: args,
|
|
702
740
|
label,
|
|
703
|
-
checked: true
|
|
741
|
+
checked: true,
|
|
742
|
+
buttons: args ? [viewArgsButton] : undefined
|
|
704
743
|
});
|
|
705
744
|
}
|
|
706
745
|
const preApproval = this._preExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope);
|
|
@@ -717,6 +756,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
717
756
|
checked = false;
|
|
718
757
|
}
|
|
719
758
|
}
|
|
759
|
+
if (checked === false && toolChildren.length === 0 && !tool.canRequestPreApproval && !tool.canRequestPostApproval && !( this._contributions.has(tool.id))) {
|
|
760
|
+
continue;
|
|
761
|
+
}
|
|
720
762
|
treeItems.push({
|
|
721
763
|
type: "tool",
|
|
722
764
|
toolId: tool.id,
|
|
@@ -737,7 +779,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
737
779
|
if (currentScope !== "session") {
|
|
738
780
|
const scopeButton = {
|
|
739
781
|
iconClass: ThemeIcon.asClassName(Codicon.folder),
|
|
740
|
-
tooltip: ( localize(
|
|
782
|
+
tooltip: ( localize(6734, "Configure for this workspace only")),
|
|
741
783
|
toggle: {
|
|
742
784
|
checked: currentScope === "workspace"
|
|
743
785
|
},
|
|
@@ -754,9 +796,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
754
796
|
}
|
|
755
797
|
const updatePlaceholder = () => {
|
|
756
798
|
if (currentScope === "session") {
|
|
757
|
-
quickTree.placeholder = ( localize(
|
|
799
|
+
quickTree.placeholder = ( localize(6735, "Configure session tool approvals"));
|
|
758
800
|
} else {
|
|
759
|
-
quickTree.placeholder = currentScope === "workspace" ? ( localize(
|
|
801
|
+
quickTree.placeholder = currentScope === "workspace" ? ( localize(6736, "Configure workspace tool approvals")) : ( localize(6737, "Configure global tool approvals"));
|
|
760
802
|
}
|
|
761
803
|
};
|
|
762
804
|
updatePlaceholder();
|
|
@@ -798,13 +840,23 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
798
840
|
} else if (item.type === "manage") {
|
|
799
841
|
item.onDidChangeChecked?.(!!item.checked);
|
|
800
842
|
} else if (item.type === "combination" && item.combinationKey) {
|
|
801
|
-
this._combinationConfirmStore.setAutoConfirmation(item.combinationKey, newState);
|
|
843
|
+
this._combinationConfirmStore.setAutoConfirmation(item.combinationKey, newState, item.label, item.combinationArgs);
|
|
802
844
|
quickTree.setItemTree(buildTreeItems());
|
|
803
845
|
}
|
|
804
846
|
}));
|
|
805
847
|
disposables.add(quickTree.onDidTriggerItemButton(i => {
|
|
806
848
|
if (i.item.type === "manage") {
|
|
807
849
|
i.item.onDidTriggerItemButton?.(i.button);
|
|
850
|
+
} else if (i.item.type === "combination" && i.button === viewArgsButton && i.item.combinationArgs) {
|
|
851
|
+
this._dialogService.prompt({
|
|
852
|
+
message: ( localize(6738, "Arguments")),
|
|
853
|
+
buttons: [],
|
|
854
|
+
custom: {
|
|
855
|
+
markdownDetails: [{
|
|
856
|
+
markdown: ( new MarkdownString()).appendCodeblock("json", i.item.combinationArgs)
|
|
857
|
+
}]
|
|
858
|
+
}
|
|
859
|
+
});
|
|
808
860
|
}
|
|
809
861
|
}));
|
|
810
862
|
disposables.add(quickTree.onDidAccept(async () => {
|
|
@@ -847,6 +899,6 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
847
899
|
}
|
|
848
900
|
}
|
|
849
901
|
};
|
|
850
|
-
LanguageModelToolsConfirmationService = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IQuickInputService))], LanguageModelToolsConfirmationService));
|
|
902
|
+
LanguageModelToolsConfirmationService = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IQuickInputService)), ( __param(2, IDialogService))], LanguageModelToolsConfirmationService));
|
|
851
903
|
|
|
852
904
|
export { LanguageModelToolsConfirmationService };
|
|
@@ -67,7 +67,7 @@ const toolIdsThatCannotBeAutoApproved = ( new Set([
|
|
|
67
67
|
"vscode_get_modified_files_confirmation"
|
|
68
68
|
]));
|
|
69
69
|
const globalAutoApproveDescription = ( localize2(
|
|
70
|
-
|
|
70
|
+
6739,
|
|
71
71
|
"Global auto approve also known as \"YOLO mode\" disables manual approval completely for _all tools in all workspaces_, allowing the agent to act fully autonomously. This is extremely dangerous and is *never* recommended, even containerized environments like [Codespaces](https://github.com/features/codespaces) and [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) have user keys forwarded into the container that could be compromised.\n\n**This feature disables [critical security protections](https://code.visualstudio.com/docs/copilot/security) and makes it much easier for an attacker to compromise the machine.**\n\nNote: This setting only controls tool approval and does not prevent the agent from asking questions. To automatically answer agent questions, use the [`chat.autoReply`](command:workbench.action.openSettings?%5B%22chat.autoReply%22%5D) setting."
|
|
72
72
|
));
|
|
73
73
|
let LanguageModelToolsService = class LanguageModelToolsService extends Disposable {
|
|
@@ -170,25 +170,25 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
170
170
|
this.vscodeToolSet = this._register(
|
|
171
171
|
this.createToolSet(ToolDataSource.Internal, "vscode", VSCodeToolReference.vscode, {
|
|
172
172
|
icon: ThemeIcon.fromId(Codicon.vscode.id),
|
|
173
|
-
description: ( localize(
|
|
173
|
+
description: ( localize(6740, "Use VS Code features"))
|
|
174
174
|
})
|
|
175
175
|
);
|
|
176
176
|
this.executeToolSet = this._register(
|
|
177
177
|
this.createToolSet(ToolDataSource.Internal, "execute", SpecedToolAliases.execute, {
|
|
178
178
|
icon: ThemeIcon.fromId(Codicon.terminal.id),
|
|
179
|
-
description: ( localize(
|
|
179
|
+
description: ( localize(6741, "Execute code and applications on your machine"))
|
|
180
180
|
})
|
|
181
181
|
);
|
|
182
182
|
this.readToolSet = this._register(
|
|
183
183
|
this.createToolSet(ToolDataSource.Internal, "read", SpecedToolAliases.read, {
|
|
184
184
|
icon: ThemeIcon.fromId(Codicon.book.id),
|
|
185
|
-
description: ( localize(
|
|
185
|
+
description: ( localize(6742, "Read files in your workspace"))
|
|
186
186
|
})
|
|
187
187
|
);
|
|
188
188
|
this.agentToolSet = this._register(
|
|
189
189
|
this.createToolSet(ToolDataSource.Internal, "agent", SpecedToolAliases.agent, {
|
|
190
190
|
icon: ThemeIcon.fromId(Codicon.agent.id),
|
|
191
|
-
description: ( localize(
|
|
191
|
+
description: ( localize(6743, "Delegate tasks to other agents"))
|
|
192
192
|
})
|
|
193
193
|
);
|
|
194
194
|
}
|
|
@@ -342,8 +342,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
342
342
|
return undefined;
|
|
343
343
|
}
|
|
344
344
|
_handlePreToolUseDenial(dto, hookResult, toolData, pendingInvocation, request) {
|
|
345
|
-
const hookReason = hookResult.permissionDecisionReason ?? ( localize(
|
|
346
|
-
const reason = ( localize(
|
|
345
|
+
const hookReason = hookResult.permissionDecisionReason ?? ( localize(6744, "Hook denied tool execution"));
|
|
346
|
+
const reason = ( localize(6745, "Denied by {0} hook: {1}", HookType.PreToolUse, hookReason));
|
|
347
347
|
this._logService.debug(
|
|
348
348
|
`[LanguageModelToolsService#invokeTool] Tool ${dto.toolId} denied by preToolUse hook: ${hookReason}`
|
|
349
349
|
);
|
|
@@ -662,7 +662,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
662
662
|
async prepareToolInvocationWithHookResult(tool, dto, hookResult, token) {
|
|
663
663
|
let forceConfirmationReason;
|
|
664
664
|
if (hookResult?.permissionDecision === "ask") {
|
|
665
|
-
const hookMessage = ( localize(
|
|
665
|
+
const hookMessage = ( localize(6746, "{0} required confirmation", HookType.PreToolUse));
|
|
666
666
|
forceConfirmationReason = hookResult.permissionDecisionReason ? `${hookMessage}: ${hookResult.permissionDecisionReason}` : hookMessage;
|
|
667
667
|
}
|
|
668
668
|
return this.prepareToolInvocation(tool, dto, forceConfirmationReason, token);
|
|
@@ -675,7 +675,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
675
675
|
return {
|
|
676
676
|
autoConfirmed: {
|
|
677
677
|
type: ToolConfirmKind.ConfirmationNotNeeded,
|
|
678
|
-
reason: ( localize(
|
|
678
|
+
reason: ( localize(6747, "Allowed by hook"))
|
|
679
679
|
},
|
|
680
680
|
preparedInvocation
|
|
681
681
|
};
|
|
@@ -691,14 +691,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
691
691
|
const fullReferenceName = getToolFullReferenceName(tool.data);
|
|
692
692
|
const hookReason = hookResult.permissionDecisionReason;
|
|
693
693
|
const hookNote = hookReason ? ( localize(
|
|
694
|
-
|
|
694
|
+
6748,
|
|
695
695
|
"{0} hook required confirmation: {1}",
|
|
696
696
|
HookType.PreToolUse,
|
|
697
697
|
hookReason
|
|
698
|
-
)) : ( localize(
|
|
698
|
+
)) : ( localize(6749, "{0} hook required confirmation", HookType.PreToolUse));
|
|
699
699
|
preparedInvocation.confirmationMessages = {
|
|
700
700
|
...preparedInvocation.confirmationMessages,
|
|
701
|
-
title: ( localize(
|
|
701
|
+
title: ( localize(6750, "Use the '{0}' tool?", fullReferenceName)),
|
|
702
702
|
message: ( new MarkdownString(`_${hookNote}_`)),
|
|
703
703
|
allowAutoConfirm: false
|
|
704
704
|
};
|
|
@@ -709,11 +709,11 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
709
709
|
} else {
|
|
710
710
|
const hookReason = hookResult.permissionDecisionReason;
|
|
711
711
|
const hookNote = hookReason ? ( localize(
|
|
712
|
-
|
|
712
|
+
6751,
|
|
713
713
|
"{0} hook required confirmation: {1}",
|
|
714
714
|
HookType.PreToolUse,
|
|
715
715
|
hookReason
|
|
716
|
-
)) : ( localize(
|
|
716
|
+
)) : ( localize(6752, "{0} hook required confirmation", HookType.PreToolUse));
|
|
717
717
|
const existing = preparedInvocation.confirmationMessages;
|
|
718
718
|
if (preparedInvocation.toolSpecificData?.kind === "terminal") {
|
|
719
719
|
const existingDisclaimerText = existing.disclaimer ? (typeof existing.disclaimer === "string" ? existing.disclaimer : existing.disclaimer.value) : undefined;
|
|
@@ -788,17 +788,17 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
788
788
|
const fullReferenceName = getToolFullReferenceName(tool.data);
|
|
789
789
|
prepared.confirmationMessages = {
|
|
790
790
|
...prepared.confirmationMessages,
|
|
791
|
-
title: ( localize(
|
|
792
|
-
message: ( localize(
|
|
791
|
+
title: ( localize(6753, "Confirm tool execution")),
|
|
792
|
+
message: ( localize(6754, "Run the '{0}' tool?", fullReferenceName)),
|
|
793
793
|
disclaimer: ( toolIdsThatCannotBeAutoApproved.has(tool.data.id)) ? undefined : ( new MarkdownString(( localize(
|
|
794
|
-
|
|
794
|
+
6755,
|
|
795
795
|
"Auto approval for '{0}' is restricted via {1}.",
|
|
796
796
|
getToolFullReferenceName(tool.data),
|
|
797
797
|
createMarkdownCommandLink({
|
|
798
798
|
text: "`" + ChatConfiguration.EligibleForAutoApproval + "`",
|
|
799
799
|
id: "workbench.action.openSettings",
|
|
800
800
|
arguments: [ChatConfiguration.EligibleForAutoApproval],
|
|
801
|
-
tooltip: ( localize(
|
|
801
|
+
tooltip: ( localize(6756, "Open settings to configure auto-approval"))
|
|
802
802
|
}, false)
|
|
803
803
|
)), {
|
|
804
804
|
isTrusted: true
|
|
@@ -808,14 +808,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
808
808
|
}
|
|
809
809
|
if (!isEligibleForAutoApproval && prepared?.confirmationMessages?.title) {
|
|
810
810
|
prepared.confirmationMessages.disclaimer = ( toolIdsThatCannotBeAutoApproved.has(tool.data.id)) ? undefined : ( new MarkdownString(( localize(
|
|
811
|
-
|
|
811
|
+
6755,
|
|
812
812
|
"Auto approval for '{0}' is restricted via {1}.",
|
|
813
813
|
getToolFullReferenceName(tool.data),
|
|
814
814
|
createMarkdownCommandLink({
|
|
815
815
|
text: "`" + ChatConfiguration.EligibleForAutoApproval + "`",
|
|
816
816
|
id: "workbench.action.openSettings",
|
|
817
817
|
arguments: [ChatConfiguration.EligibleForAutoApproval],
|
|
818
|
-
tooltip: ( localize(
|
|
818
|
+
tooltip: ( localize(6756, "Open settings to configure auto-approval"))
|
|
819
819
|
}, false)
|
|
820
820
|
)), {
|
|
821
821
|
isTrusted: true
|
|
@@ -839,7 +839,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
839
839
|
if (!toolEntry) {
|
|
840
840
|
return undefined;
|
|
841
841
|
}
|
|
842
|
-
if (!toolEntry.impl?.handleToolStream) {
|
|
842
|
+
if (!options.force && !toolEntry.impl?.handleToolStream) {
|
|
843
843
|
return undefined;
|
|
844
844
|
}
|
|
845
845
|
const invocation = ChatToolInvocation.createStreaming({
|
|
@@ -1162,12 +1162,12 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
1162
1162
|
}));
|
|
1163
1163
|
const promptResult = await this._dialogService.prompt({
|
|
1164
1164
|
type: Severity.Warning,
|
|
1165
|
-
message: ( localize(
|
|
1165
|
+
message: ( localize(6757, "Enable global auto approve?")),
|
|
1166
1166
|
buttons: [{
|
|
1167
|
-
label: ( localize(
|
|
1167
|
+
label: ( localize(6758, "Enable")),
|
|
1168
1168
|
run: () => true
|
|
1169
1169
|
}, {
|
|
1170
|
-
label: ( localize(
|
|
1170
|
+
label: ( localize(6759, "Disable")),
|
|
1171
1171
|
run: () => false
|
|
1172
1172
|
}],
|
|
1173
1173
|
custom: {
|
|
@@ -67,19 +67,19 @@ let RenameTool = class RenameTool extends Disposable {
|
|
|
67
67
|
let userDescription;
|
|
68
68
|
if (( languageIds.has("*"))) {
|
|
69
69
|
modelDescription += "\n\nSupported for all languages.";
|
|
70
|
-
userDescription = ( localize(
|
|
70
|
+
userDescription = ( localize(6760, "Rename a symbol across the workspace"));
|
|
71
71
|
} else {
|
|
72
72
|
const sorted = [...languageIds].sort();
|
|
73
73
|
modelDescription += `\n\nCurrently supported for: ${sorted.join(", ")}.`;
|
|
74
74
|
const niceNames = ( sorted.map(id => this._languageService.getLanguageName(id) ?? id));
|
|
75
|
-
userDescription = ( localize(
|
|
75
|
+
userDescription = ( localize(6761, "Rename a symbol across the workspace ({0})", niceNames.join(", ")));
|
|
76
76
|
}
|
|
77
77
|
return {
|
|
78
78
|
id: RenameToolId,
|
|
79
79
|
toolReferenceName: "rename",
|
|
80
80
|
canBeReferencedInPrompt: false,
|
|
81
81
|
icon: ThemeIcon.fromId(Codicon.rename.id),
|
|
82
|
-
displayName: ( localize(
|
|
82
|
+
displayName: ( localize(6762, "Rename Symbol")),
|
|
83
83
|
userDescription,
|
|
84
84
|
modelDescription,
|
|
85
85
|
source: ToolDataSource.Internal,
|
|
@@ -115,7 +115,7 @@ let RenameTool = class RenameTool extends Disposable {
|
|
|
115
115
|
async prepareToolInvocation(context, _token) {
|
|
116
116
|
const input = context.parameters;
|
|
117
117
|
return {
|
|
118
|
-
invocationMessage: ( localize(
|
|
118
|
+
invocationMessage: ( localize(6763, "Renaming `{0}` to `{1}`", input.symbol, input.newName))
|
|
119
119
|
};
|
|
120
120
|
}
|
|
121
121
|
async invoke(invocation, _countTokens, _progress, token) {
|
|
@@ -203,13 +203,13 @@ let RenameTool = class RenameTool extends Disposable {
|
|
|
203
203
|
}
|
|
204
204
|
_successResult(input, fileCount, editCount) {
|
|
205
205
|
const text = editCount === 1 ? ( localize(
|
|
206
|
-
|
|
206
|
+
6764,
|
|
207
207
|
"Renamed `{0}` to `{1}` - 1 edit in {2} file.",
|
|
208
208
|
input.symbol,
|
|
209
209
|
input.newName,
|
|
210
210
|
fileCount
|
|
211
211
|
)) : ( localize(
|
|
212
|
-
|
|
212
|
+
6765,
|
|
213
213
|
"Renamed `{0}` to `{1}` - {2} edits across {3} files.",
|
|
214
214
|
input.symbol,
|
|
215
215
|
input.newName,
|