@codingame/monaco-vscode-chat-service-override 29.1.0 → 30.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 +5 -2
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +37 -39
- package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +11 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +4 -4
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +132 -42
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +54 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +15 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +5 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +188 -51
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +7 -6
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +7 -2
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +6 -0
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +14 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +18 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +13 -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 +37 -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.js +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +37 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -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 +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
- 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 +20 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +18 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +482 -0
- 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 +10 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +43 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +74 -76
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +27 -35
- 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/agentSessions/localAgentSessionsController.d.ts +5 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +86 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +38 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +38 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +427 -167
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +37 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +108 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +28 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +3 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +65 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +64 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +288 -195
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +21 -21
- 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/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -0
- 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 +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +10 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +19 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +54 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +50 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +86 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +65 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +24 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -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/pluginInstallService.d.ts +3 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +54 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +24 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +72 -14
- 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.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/promptFileContributions.js +181 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +3 -3
- 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.js +8 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +37 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +28 -23
- 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.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +1 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +148 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +16 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +158 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +8 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +155 -76
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +1 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +31 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +228 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +190 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +25 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +130 -107
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +19 -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 +2 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +169 -266
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +12 -10
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +149 -206
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +27 -22
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +20 -8
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +183 -43
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +21 -21
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
- 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 +11 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +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 +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +26 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +4 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +16 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +9 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +150 -50
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +66 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +239 -48
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +0 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +0 -208
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +0 -637
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +0 -384
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +0 -33
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +0 -47
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +0 -30
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +0 -55
- /package/vscode/src/vs/workbench/contrib/chat/{common → browser}/promptSyntax/promptFileContributions.d.ts +0 -0
|
@@ -86,7 +86,7 @@ let PromptUrlHandler = class PromptUrlHandler extends Disposable {
|
|
|
86
86
|
}, CancellationToken.None);
|
|
87
87
|
if (result.res.statusCode !== 200) {
|
|
88
88
|
this.logService.error(`[PromptUrlHandler] Failed to fetch URL: ${urlString}`);
|
|
89
|
-
this.notificationService.error(( localize(
|
|
89
|
+
this.notificationService.error(( localize(6594, "Failed to fetch URL: {0}", urlString)));
|
|
90
90
|
return true;
|
|
91
91
|
}
|
|
92
92
|
const responseData = ( (await streamToBuffer(result.stream)).toString());
|
|
@@ -116,28 +116,28 @@ let PromptUrlHandler = class PromptUrlHandler extends Disposable {
|
|
|
116
116
|
const detail = ( new MarkdownString("", {
|
|
117
117
|
supportHtml: true
|
|
118
118
|
}));
|
|
119
|
-
detail.appendMarkdown(( localize(
|
|
119
|
+
detail.appendMarkdown(( localize(6595, "This will access {0}.\n\n", `[${uriLabel}](${( url.toString())})`)));
|
|
120
120
|
detail.appendMarkdown(( localize(
|
|
121
|
-
|
|
121
|
+
6596,
|
|
122
122
|
"If you did not initiate this request, it may represent an attempted attack on your system. Unless you took an explicit action to initiate this request, you should press 'No'"
|
|
123
123
|
)));
|
|
124
124
|
let message;
|
|
125
125
|
switch (promptType) {
|
|
126
126
|
case PromptsType.prompt:
|
|
127
127
|
message = ( localize(
|
|
128
|
-
|
|
128
|
+
6597,
|
|
129
129
|
"An external application wants to create a prompt file with content from a URL. Do you want to continue by selecting a destination folder and name?"
|
|
130
130
|
));
|
|
131
131
|
break;
|
|
132
132
|
case PromptsType.instructions:
|
|
133
133
|
message = ( localize(
|
|
134
|
-
|
|
134
|
+
6598,
|
|
135
135
|
"An external application wants to create an instructions file with content from a URL. Do you want to continue by selecting a destination folder and name?"
|
|
136
136
|
));
|
|
137
137
|
break;
|
|
138
138
|
default:
|
|
139
139
|
message = ( localize(
|
|
140
|
-
|
|
140
|
+
6599,
|
|
141
141
|
"An external application wants to create a custom agent with content from a URL. Do you want to continue by selecting a destination folder and name?"
|
|
142
142
|
));
|
|
143
143
|
break;
|
|
@@ -146,8 +146,8 @@ let PromptUrlHandler = class PromptUrlHandler extends Disposable {
|
|
|
146
146
|
confirmed
|
|
147
147
|
} = await this.dialogService.confirm({
|
|
148
148
|
type: "warning",
|
|
149
|
-
primaryButton: ( localize(
|
|
150
|
-
cancelButton: ( localize(
|
|
149
|
+
primaryButton: ( localize(6600, "&&Yes")),
|
|
150
|
+
cancelButton: ( localize(6601, "No")),
|
|
151
151
|
message,
|
|
152
152
|
custom: {
|
|
153
153
|
markdownDetails: [{
|
|
@@ -70,7 +70,7 @@ class RunPromptBaseAction extends Action2 {
|
|
|
70
70
|
return widget;
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
const RUN_CURRENT_PROMPT_ACTION_TITLE = ( localize2(
|
|
73
|
+
const RUN_CURRENT_PROMPT_ACTION_TITLE = ( localize2(6602, "Run Prompt in Current Chat"));
|
|
74
74
|
const RUN_CURRENT_PROMPT_ACTION_ICON = Codicon.playCircle;
|
|
75
75
|
class RunCurrentPromptAction extends RunPromptBaseAction {
|
|
76
76
|
constructor() {
|
|
@@ -89,7 +89,7 @@ class RunSelectedPromptAction extends Action2 {
|
|
|
89
89
|
constructor() {
|
|
90
90
|
super({
|
|
91
91
|
id: RUN_SELECTED_PROMPT_ACTION_ID,
|
|
92
|
-
title: ( localize2(
|
|
92
|
+
title: ( localize2(6603, "Run Prompt...")),
|
|
93
93
|
icon: Codicon.bookmark,
|
|
94
94
|
f1: true,
|
|
95
95
|
precondition: ChatContextKeys.enabled,
|
|
@@ -108,7 +108,7 @@ class RunSelectedPromptAction extends Action2 {
|
|
|
108
108
|
const widgetService = accessor.get(IChatWidgetService);
|
|
109
109
|
const pickers = instaService.createInstance(PromptFilePickers);
|
|
110
110
|
const placeholder = ( localize(
|
|
111
|
-
|
|
111
|
+
6604,
|
|
112
112
|
"Select the prompt file to run (hold {0}-key to use in new chat)",
|
|
113
113
|
UILabelProvider.modifierLabels[OS].ctrlKey
|
|
114
114
|
));
|
|
@@ -140,8 +140,8 @@ class ManagePromptFilesAction extends Action2 {
|
|
|
140
140
|
constructor() {
|
|
141
141
|
super({
|
|
142
142
|
id: CONFIGURE_PROMPTS_ACTION_ID,
|
|
143
|
-
title: ( localize2(
|
|
144
|
-
shortTitle: ( localize2(
|
|
143
|
+
title: ( localize2(6605, "Configure Prompt Files...")),
|
|
144
|
+
shortTitle: ( localize2(6606, "Prompt Files")),
|
|
145
145
|
icon: Codicon.bookmark,
|
|
146
146
|
f1: true,
|
|
147
147
|
precondition: ChatContextKeys.enabled,
|
|
@@ -158,7 +158,7 @@ class ManagePromptFilesAction extends Action2 {
|
|
|
158
158
|
const openerService = accessor.get(IOpenerService);
|
|
159
159
|
const instaService = accessor.get(IInstantiationService);
|
|
160
160
|
const pickers = instaService.createInstance(PromptFilePickers);
|
|
161
|
-
const placeholder = ( localize(
|
|
161
|
+
const placeholder = ( localize(6607, "Select the prompt file to open"));
|
|
162
162
|
const result = await pickers.selectPromptFile({
|
|
163
163
|
placeholder,
|
|
164
164
|
type: PromptsType.prompt,
|
|
@@ -178,7 +178,7 @@ function getActivePromptFileUri(accessor) {
|
|
|
178
178
|
return undefined;
|
|
179
179
|
}
|
|
180
180
|
const RUN_CURRENT_PROMPT_IN_NEW_CHAT_ACTION_ID = "workbench.action.chat.run-in-new-chat.prompt.current";
|
|
181
|
-
const RUN_IN_NEW_CHAT_ACTION_TITLE = ( localize2(
|
|
181
|
+
const RUN_IN_NEW_CHAT_ACTION_TITLE = ( localize2(6608, "Run Prompt In New Chat"));
|
|
182
182
|
const RUN_IN_NEW_CHAT_ACTION_ICON = Codicon.play;
|
|
183
183
|
class RunCurrentPromptInNewChatAction extends RunPromptBaseAction {
|
|
184
184
|
constructor() {
|
package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js
CHANGED
|
@@ -78,19 +78,19 @@ function createOptions(id, title, description, languageId) {
|
|
|
78
78
|
const SAVE_AS_PROMPT_FILE_ACTION_ID = "workbench.action.chat.save-as-prompt";
|
|
79
79
|
class SaveAsPromptFileAction extends BaseSaveAsPromptFileAction {
|
|
80
80
|
constructor() {
|
|
81
|
-
super(createOptions(SAVE_AS_PROMPT_FILE_ACTION_ID, ( localize2(
|
|
81
|
+
super(createOptions(SAVE_AS_PROMPT_FILE_ACTION_ID, ( localize2(6609, "Save As Prompt File")), ( localize2(6610, "Save as prompt file")), PROMPT_LANGUAGE_ID), PromptsType.prompt);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
const SAVE_AS_AGENT_FILE_ACTION_ID = "workbench.action.chat.save-as-agent";
|
|
85
85
|
class SaveAsAgentFileAction extends BaseSaveAsPromptFileAction {
|
|
86
86
|
constructor() {
|
|
87
|
-
super(createOptions(SAVE_AS_AGENT_FILE_ACTION_ID, ( localize2(
|
|
87
|
+
super(createOptions(SAVE_AS_AGENT_FILE_ACTION_ID, ( localize2(6611, "Save As Agent File")), ( localize2(6612, "Save as agent file")), AGENT_LANGUAGE_ID), PromptsType.agent);
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
const SAVE_AS_INSTRUCTIONS_FILE_ACTION_ID = "workbench.action.chat.save-as-instructions";
|
|
91
91
|
class SaveAsInstructionsFileAction extends BaseSaveAsPromptFileAction {
|
|
92
92
|
constructor() {
|
|
93
|
-
super(createOptions(SAVE_AS_INSTRUCTIONS_FILE_ACTION_ID, ( localize2(
|
|
93
|
+
super(createOptions(SAVE_AS_INSTRUCTIONS_FILE_ACTION_ID, ( localize2(6613, "Save As Instructions File")), ( localize2(6614, "Save as instructions file")), INSTRUCTIONS_LANGUAGE_ID), PromptsType.instructions);
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
|
|
@@ -16,8 +16,8 @@ class ManageSkillsAction extends Action2 {
|
|
|
16
16
|
constructor() {
|
|
17
17
|
super({
|
|
18
18
|
id: CONFIGURE_SKILLS_ACTION_ID,
|
|
19
|
-
title: ( localize2(
|
|
20
|
-
shortTitle: ( localize2(
|
|
19
|
+
title: ( localize2(6615, "Configure Skills...")),
|
|
20
|
+
shortTitle: ( localize2(6616, "Skills")),
|
|
21
21
|
icon: Codicon.lightbulb,
|
|
22
22
|
f1: true,
|
|
23
23
|
precondition: ChatContextKeys.enabled,
|
|
@@ -34,7 +34,7 @@ class ManageSkillsAction extends Action2 {
|
|
|
34
34
|
const openerService = accessor.get(IOpenerService);
|
|
35
35
|
const instaService = accessor.get(IInstantiationService);
|
|
36
36
|
const pickers = instaService.createInstance(PromptFilePickers);
|
|
37
|
-
const placeholder = ( localize(
|
|
37
|
+
const placeholder = ( localize(6617, "Select the skill to open"));
|
|
38
38
|
const result = await pickers.selectPromptFile({
|
|
39
39
|
placeholder,
|
|
40
40
|
type: PromptsType.skill,
|
|
@@ -34,9 +34,11 @@ let PromptsDebugContribution = class PromptsDebugContribution extends Disposable
|
|
|
34
34
|
let details = entry.details;
|
|
35
35
|
if (entry.discoveryInfo) {
|
|
36
36
|
const info = entry.discoveryInfo;
|
|
37
|
-
const loaded = ( info.files.filter(f => f.status === "loaded").map(
|
|
37
|
+
const loaded = ( info.files.filter(f => f.status === "loaded").map(
|
|
38
|
+
f => f.promptPath.name ?? f.promptPath.uri.path.split("/").pop() ?? ( f.promptPath.uri.toString())
|
|
39
|
+
));
|
|
38
40
|
const skipped = ( info.files.filter(f => f.status === "skipped").map(f => {
|
|
39
|
-
const label = ( f.uri.toString());
|
|
41
|
+
const label = ( f.promptPath.uri.toString());
|
|
40
42
|
return f.skipReason ? `${label} (${f.skipReason})` : label;
|
|
41
43
|
}));
|
|
42
44
|
const folders = info.sourceFolders?.map(sf => sf.uri.path) ?? [];
|
|
@@ -76,11 +78,11 @@ let PromptsDebugContribution = class PromptsDebugContribution extends Disposable
|
|
|
76
78
|
kind: "fileList",
|
|
77
79
|
discoveryType: info.type,
|
|
78
80
|
files: ( info.files.map(f => ({
|
|
79
|
-
uri: f.uri,
|
|
80
|
-
name: f.name,
|
|
81
|
+
uri: f.promptPath.uri,
|
|
82
|
+
name: f.promptPath.name,
|
|
81
83
|
status: f.status,
|
|
82
|
-
storage: f.storage,
|
|
83
|
-
extensionId: f.
|
|
84
|
+
storage: f.promptPath.storage,
|
|
85
|
+
extensionId: f.promptPath.extension?.identifier.value,
|
|
84
86
|
skipReason: f.skipReason,
|
|
85
87
|
errorMessage: f.errorMessage,
|
|
86
88
|
duplicateOf: f.duplicateOf
|
package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js
CHANGED
|
@@ -13,8 +13,8 @@ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode
|
|
|
13
13
|
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
14
14
|
import { ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
15
15
|
|
|
16
|
-
const RUN_WITHOUT_APPROVAL = ( localize(
|
|
17
|
-
const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(
|
|
16
|
+
const RUN_WITHOUT_APPROVAL = ( localize(6618, "without approval"));
|
|
17
|
+
const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(6619, "without reviewing result"));
|
|
18
18
|
class GenericConfirmStore extends Disposable {
|
|
19
19
|
constructor(_storageKey, _instantiationService) {
|
|
20
20
|
super();
|
|
@@ -251,9 +251,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
251
251
|
key: combinationKey
|
|
252
252
|
} = ref.combination;
|
|
253
253
|
actions.push({
|
|
254
|
-
label: ( localize(
|
|
254
|
+
label: ( localize(6620, "{0} in this Session", combinationLabel)),
|
|
255
255
|
detail: ( localize(
|
|
256
|
-
|
|
256
|
+
6621,
|
|
257
257
|
"Allow this particular combination of tool and arguments in this session without confirmation."
|
|
258
258
|
)),
|
|
259
259
|
divider: !!actions.length,
|
|
@@ -263,9 +263,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
263
263
|
return true;
|
|
264
264
|
}
|
|
265
265
|
}, {
|
|
266
|
-
label: ( localize(
|
|
266
|
+
label: ( localize(6622, "{0} in this Workspace", combinationLabel)),
|
|
267
267
|
detail: ( localize(
|
|
268
|
-
|
|
268
|
+
6623,
|
|
269
269
|
"Allow this particular combination of tool and arguments in this workspace without confirmation."
|
|
270
270
|
)),
|
|
271
271
|
scope: "workspace",
|
|
@@ -274,9 +274,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
274
274
|
return true;
|
|
275
275
|
}
|
|
276
276
|
}, {
|
|
277
|
-
label: ( localize(
|
|
277
|
+
label: ( localize(6624, "Always {0}", combinationLabel)),
|
|
278
278
|
detail: ( localize(
|
|
279
|
-
|
|
279
|
+
6625,
|
|
280
280
|
"Always allow this particular combination of tool and arguments without confirmation."
|
|
281
281
|
)),
|
|
282
282
|
scope: "profile",
|
|
@@ -287,8 +287,8 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
287
287
|
});
|
|
288
288
|
}
|
|
289
289
|
actions.push({
|
|
290
|
-
label: ( localize(
|
|
291
|
-
detail: ( localize(
|
|
290
|
+
label: ( localize(6626, "Allow in this Session")),
|
|
291
|
+
detail: ( localize(6627, "Allow this tool to run in this session without confirmation.")),
|
|
292
292
|
divider: !!actions.length,
|
|
293
293
|
scope: "session",
|
|
294
294
|
select: async () => {
|
|
@@ -296,16 +296,16 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
296
296
|
return true;
|
|
297
297
|
}
|
|
298
298
|
}, {
|
|
299
|
-
label: ( localize(
|
|
300
|
-
detail: ( localize(
|
|
299
|
+
label: ( localize(6628, "Allow in this Workspace")),
|
|
300
|
+
detail: ( localize(6629, "Allow this tool to run in this workspace without confirmation.")),
|
|
301
301
|
scope: "workspace",
|
|
302
302
|
select: async () => {
|
|
303
303
|
this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "workspace");
|
|
304
304
|
return true;
|
|
305
305
|
}
|
|
306
306
|
}, {
|
|
307
|
-
label: ( localize(
|
|
308
|
-
detail: ( localize(
|
|
307
|
+
label: ( localize(6630, "Always Allow")),
|
|
308
|
+
detail: ( localize(6631, "Always allow this tool to run without confirmation.")),
|
|
309
309
|
scope: "profile",
|
|
310
310
|
select: async () => {
|
|
311
311
|
this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "profile");
|
|
@@ -318,9 +318,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
318
318
|
definitionId
|
|
319
319
|
} = ref.source;
|
|
320
320
|
actions.push({
|
|
321
|
-
label: ( localize(
|
|
321
|
+
label: ( localize(6632, "Allow Tools from {0} in this Session", serverLabel)),
|
|
322
322
|
detail: ( localize(
|
|
323
|
-
|
|
323
|
+
6633,
|
|
324
324
|
"Allow all tools from this server to run in this session without confirmation."
|
|
325
325
|
)),
|
|
326
326
|
divider: true,
|
|
@@ -330,9 +330,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
330
330
|
return true;
|
|
331
331
|
}
|
|
332
332
|
}, {
|
|
333
|
-
label: ( localize(
|
|
333
|
+
label: ( localize(6634, "Allow Tools from {0} in this Workspace", serverLabel)),
|
|
334
334
|
detail: ( localize(
|
|
335
|
-
|
|
335
|
+
6635,
|
|
336
336
|
"Allow all tools from this server to run in this workspace without confirmation."
|
|
337
337
|
)),
|
|
338
338
|
scope: "workspace",
|
|
@@ -341,9 +341,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
341
341
|
return true;
|
|
342
342
|
}
|
|
343
343
|
}, {
|
|
344
|
-
label: ( localize(
|
|
344
|
+
label: ( localize(6636, "Always Allow Tools from {0}", serverLabel)),
|
|
345
345
|
detail: ( localize(
|
|
346
|
-
|
|
346
|
+
6637,
|
|
347
347
|
"Always allow all tools from this server to run without confirmation."
|
|
348
348
|
)),
|
|
349
349
|
scope: "profile",
|
|
@@ -365,9 +365,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
365
365
|
return actions;
|
|
366
366
|
}
|
|
367
367
|
actions.push({
|
|
368
|
-
label: ( localize(
|
|
368
|
+
label: ( localize(6638, "Allow Without Review in this Session")),
|
|
369
369
|
detail: ( localize(
|
|
370
|
-
|
|
370
|
+
6639,
|
|
371
371
|
"Allow results from this tool to be sent without confirmation in this session."
|
|
372
372
|
)),
|
|
373
373
|
divider: !!actions.length,
|
|
@@ -377,9 +377,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
377
377
|
return true;
|
|
378
378
|
}
|
|
379
379
|
}, {
|
|
380
|
-
label: ( localize(
|
|
380
|
+
label: ( localize(6640, "Allow Without Review in this Workspace")),
|
|
381
381
|
detail: ( localize(
|
|
382
|
-
|
|
382
|
+
6641,
|
|
383
383
|
"Allow results from this tool to be sent without confirmation in this workspace."
|
|
384
384
|
)),
|
|
385
385
|
scope: "workspace",
|
|
@@ -388,9 +388,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
388
388
|
return true;
|
|
389
389
|
}
|
|
390
390
|
}, {
|
|
391
|
-
label: ( localize(
|
|
391
|
+
label: ( localize(6642, "Always Allow Without Review")),
|
|
392
392
|
detail: ( localize(
|
|
393
|
-
|
|
393
|
+
6643,
|
|
394
394
|
"Always allow results from this tool to be sent without confirmation."
|
|
395
395
|
)),
|
|
396
396
|
scope: "profile",
|
|
@@ -405,9 +405,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
405
405
|
definitionId
|
|
406
406
|
} = ref.source;
|
|
407
407
|
actions.push({
|
|
408
|
-
label: ( localize(
|
|
408
|
+
label: ( localize(6644, "Allow Tools from {0} Without Review in this Session", serverLabel)),
|
|
409
409
|
detail: ( localize(
|
|
410
|
-
|
|
410
|
+
6645,
|
|
411
411
|
"Allow results from all tools from this server to be sent without confirmation in this session."
|
|
412
412
|
)),
|
|
413
413
|
divider: true,
|
|
@@ -417,9 +417,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
417
417
|
return true;
|
|
418
418
|
}
|
|
419
419
|
}, {
|
|
420
|
-
label: ( localize(
|
|
420
|
+
label: ( localize(6646, "Allow Tools from {0} Without Review in this Workspace", serverLabel)),
|
|
421
421
|
detail: ( localize(
|
|
422
|
-
|
|
422
|
+
6647,
|
|
423
423
|
"Allow results from all tools from this server to be sent without confirmation in this workspace."
|
|
424
424
|
)),
|
|
425
425
|
scope: "workspace",
|
|
@@ -428,9 +428,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
428
428
|
return true;
|
|
429
429
|
}
|
|
430
430
|
}, {
|
|
431
|
-
label: ( localize(
|
|
431
|
+
label: ( localize(6648, "Always Allow Tools from {0} Without Review", serverLabel)),
|
|
432
432
|
detail: ( localize(
|
|
433
|
-
|
|
433
|
+
6649,
|
|
434
434
|
"Always allow results from all tools from this server to be sent without confirmation."
|
|
435
435
|
)),
|
|
436
436
|
scope: "profile",
|
|
@@ -616,7 +616,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
616
616
|
type: "server-post",
|
|
617
617
|
serverId,
|
|
618
618
|
iconClass: ThemeIcon.asClassName(Codicon.play),
|
|
619
|
-
label: ( localize(
|
|
619
|
+
label: ( localize(6650, "Continue without reviewing any tool results")),
|
|
620
620
|
checked: serverPostConfirmed
|
|
621
621
|
});
|
|
622
622
|
}
|
|
@@ -625,7 +625,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
625
625
|
type: "server-pre",
|
|
626
626
|
serverId,
|
|
627
627
|
iconClass: ThemeIcon.asClassName(Codicon.play),
|
|
628
|
-
label: ( localize(
|
|
628
|
+
label: ( localize(6651, "Run any tool without approval")),
|
|
629
629
|
checked: serverPreConfirmed
|
|
630
630
|
});
|
|
631
631
|
}
|
|
@@ -737,7 +737,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
737
737
|
if (currentScope !== "session") {
|
|
738
738
|
const scopeButton = {
|
|
739
739
|
iconClass: ThemeIcon.asClassName(Codicon.folder),
|
|
740
|
-
tooltip: ( localize(
|
|
740
|
+
tooltip: ( localize(6652, "Configure for this workspace only")),
|
|
741
741
|
toggle: {
|
|
742
742
|
checked: currentScope === "workspace"
|
|
743
743
|
},
|
|
@@ -754,9 +754,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
754
754
|
}
|
|
755
755
|
const updatePlaceholder = () => {
|
|
756
756
|
if (currentScope === "session") {
|
|
757
|
-
quickTree.placeholder = ( localize(
|
|
757
|
+
quickTree.placeholder = ( localize(6653, "Configure session tool approvals"));
|
|
758
758
|
} else {
|
|
759
|
-
quickTree.placeholder = currentScope === "workspace" ? ( localize(
|
|
759
|
+
quickTree.placeholder = currentScope === "workspace" ? ( localize(6654, "Configure workspace tool approvals")) : ( localize(6655, "Configure global tool approvals"));
|
|
760
760
|
}
|
|
761
761
|
};
|
|
762
762
|
updatePlaceholder();
|
|
@@ -67,7 +67,7 @@ const toolIdsThatCannotBeAutoApproved = ( new Set([
|
|
|
67
67
|
"vscode_get_modified_files_confirmation"
|
|
68
68
|
]));
|
|
69
69
|
const globalAutoApproveDescription = ( localize2(
|
|
70
|
-
|
|
70
|
+
6656,
|
|
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(6657, "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(6658, "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(6659, "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(6660, "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(6661, "Hook denied tool execution"));
|
|
346
|
+
const reason = ( localize(6662, "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(6663, "{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(6664, "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
|
+
6665,
|
|
695
695
|
"{0} hook required confirmation: {1}",
|
|
696
696
|
HookType.PreToolUse,
|
|
697
697
|
hookReason
|
|
698
|
-
)) : ( localize(
|
|
698
|
+
)) : ( localize(6666, "{0} hook required confirmation", HookType.PreToolUse));
|
|
699
699
|
preparedInvocation.confirmationMessages = {
|
|
700
700
|
...preparedInvocation.confirmationMessages,
|
|
701
|
-
title: ( localize(
|
|
701
|
+
title: ( localize(6667, "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
|
+
6668,
|
|
713
713
|
"{0} hook required confirmation: {1}",
|
|
714
714
|
HookType.PreToolUse,
|
|
715
715
|
hookReason
|
|
716
|
-
)) : ( localize(
|
|
716
|
+
)) : ( localize(6669, "{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(6670, "Confirm tool execution")),
|
|
792
|
+
message: ( localize(6671, "Run the '{0}' tool?", fullReferenceName)),
|
|
793
793
|
disclaimer: ( toolIdsThatCannotBeAutoApproved.has(tool.data.id)) ? undefined : ( new MarkdownString(( localize(
|
|
794
|
-
|
|
794
|
+
6672,
|
|
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(6673, "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
|
+
6672,
|
|
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(6673, "Open settings to configure auto-approval"))
|
|
819
819
|
}, false)
|
|
820
820
|
)), {
|
|
821
821
|
isTrusted: true
|
|
@@ -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(6674, "Enable global auto approve?")),
|
|
1166
1166
|
buttons: [{
|
|
1167
|
-
label: ( localize(
|
|
1167
|
+
label: ( localize(6675, "Enable")),
|
|
1168
1168
|
run: () => true
|
|
1169
1169
|
}, {
|
|
1170
|
-
label: ( localize(
|
|
1170
|
+
label: ( localize(6676, "Disable")),
|
|
1171
1171
|
run: () => false
|
|
1172
1172
|
}],
|
|
1173
1173
|
custom: {
|
|
@@ -1487,6 +1487,11 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
|
|
|
1487
1487
|
return undefined;
|
|
1488
1488
|
}
|
|
1489
1489
|
getFullReferenceName(tool, toolSet) {
|
|
1490
|
+
for (const [item, toolFullReferenceName] of this.toolsWithFullReferenceName.get()) {
|
|
1491
|
+
if (item === tool) {
|
|
1492
|
+
return toolFullReferenceName;
|
|
1493
|
+
}
|
|
1494
|
+
}
|
|
1490
1495
|
if (isToolSet(tool)) {
|
|
1491
1496
|
return getToolSetFullReferenceName(tool);
|
|
1492
1497
|
}
|
|
@@ -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(6677, "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(6678, "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(6679, "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(6680, "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
|
+
6681,
|
|
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
|
+
6682,
|
|
213
213
|
"Renamed `{0}` to `{1}` - {2} edits across {3} files.",
|
|
214
214
|
input.symbol,
|
|
215
215
|
input.newName,
|