@codingame/monaco-vscode-chat-service-override 28.4.0 → 29.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 +18 -12
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +300 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.js +31 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +84 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +16 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +488 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +424 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +50 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +202 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +114 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +723 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +33 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +40 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +22 -0
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +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.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +29 -15
- 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 +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -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 +76 -10
- 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 +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +162 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +167 -4
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +52 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +195 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +97 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +78 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +174 -170
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +118 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +13 -2
- 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.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -10
- 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 +9 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +23 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +341 -196
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +79 -7
- 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 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +22 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +85 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +668 -214
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +306 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +84 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +651 -81
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +31 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +9 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -142
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.d.ts +43 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +63 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +25 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +297 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +153 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +17 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +111 -171
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +5 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +277 -186
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +31 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +3 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +4 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +18 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +112 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +16 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +41 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +35 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +1 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +8 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +13 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +29 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +14 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +79 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +125 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +11 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +113 -82
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +18 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +54 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +8 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +103 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +48 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +28 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +62 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +21 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +2 -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 +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -1
- 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 +17 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +43 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +59 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +194 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +8 -4
- 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 +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +81 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
- 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.js +23 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +9 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +19 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +105 -172
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +80 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +70 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +33 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +21 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +362 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +90 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +146 -0
- 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/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -9
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +33 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +200 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +90 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +21 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +22 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +28 -13
- 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/chatInputCompletions.js +20 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +68 -5
- 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 +57 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +21 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +171 -57
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +7 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +206 -35
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +11 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +44 -22
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +450 -301
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +165 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +34 -20
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +209 -144
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +205 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +47 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +30 -0
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +191 -159
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +6 -7
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +210 -233
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +19 -26
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +183 -193
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +75 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +8 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +97 -35
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +67 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +62 -23
- 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 +8 -8
- 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/terminalChatWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +23 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +50 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +21 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +124 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +20 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +10 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +46 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +74 -37
- 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/commandLineAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +24 -14
- 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/commandLineAnalyzer/commandLineSandboxAnalyzer.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +5 -1
- 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 +3 -3
- 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.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +66 -64
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +5 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +390 -114
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +21 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +70 -51
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +61 -51
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +94 -76
- 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 +19 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +112 -21
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +0 -53
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +0 -219
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +0 -89
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +0 -251
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +0 -123
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +0 -278
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +0 -76
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +0 -299
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +0 -67
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +0 -263
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +0 -85
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +0 -397
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +0 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +0 -30
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +0 -28
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +0 -190
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +0 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -16
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -20
package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js
CHANGED
|
@@ -13,14 +13,14 @@ 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(6567, "without approval"));
|
|
17
|
+
const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(6568, "without reviewing result"));
|
|
18
18
|
class GenericConfirmStore extends Disposable {
|
|
19
19
|
constructor(_storageKey, _instantiationService) {
|
|
20
20
|
super();
|
|
21
21
|
this._storageKey = _storageKey;
|
|
22
22
|
this._instantiationService = _instantiationService;
|
|
23
|
-
this._memoryStore = ( new
|
|
23
|
+
this._memoryStore = ( new Map());
|
|
24
24
|
this._workspaceStore = ( new Lazy(() => this._register(
|
|
25
25
|
this._instantiationService.createInstance(ToolConfirmStore, StorageScope.WORKSPACE, this._storageKey)
|
|
26
26
|
)));
|
|
@@ -28,16 +28,20 @@ class GenericConfirmStore extends Disposable {
|
|
|
28
28
|
this._instantiationService.createInstance(ToolConfirmStore, StorageScope.PROFILE, this._storageKey)
|
|
29
29
|
)));
|
|
30
30
|
}
|
|
31
|
-
setAutoConfirmation(id, scope) {
|
|
32
|
-
this._workspaceStore.value.setAutoConfirm(id,
|
|
33
|
-
this._profileStore.value.setAutoConfirm(id,
|
|
31
|
+
setAutoConfirmation(id, scope, label) {
|
|
32
|
+
this._workspaceStore.value.setAutoConfirm(id, undefined);
|
|
33
|
+
this._profileStore.value.setAutoConfirm(id, undefined);
|
|
34
34
|
this._memoryStore.delete(id);
|
|
35
|
+
const entry = {
|
|
36
|
+
confirmed: true,
|
|
37
|
+
label
|
|
38
|
+
};
|
|
35
39
|
if (scope === "workspace") {
|
|
36
|
-
this._workspaceStore.value.setAutoConfirm(id,
|
|
40
|
+
this._workspaceStore.value.setAutoConfirm(id, entry);
|
|
37
41
|
} else if (scope === "profile") {
|
|
38
|
-
this._profileStore.value.setAutoConfirm(id,
|
|
42
|
+
this._profileStore.value.setAutoConfirm(id, entry);
|
|
39
43
|
} else if (scope === "session") {
|
|
40
|
-
this._memoryStore.
|
|
44
|
+
this._memoryStore.set(id, entry);
|
|
41
45
|
}
|
|
42
46
|
}
|
|
43
47
|
getAutoConfirmation(id) {
|
|
@@ -54,13 +58,16 @@ class GenericConfirmStore extends Disposable {
|
|
|
54
58
|
}
|
|
55
59
|
getAutoConfirmationIn(id, scope) {
|
|
56
60
|
if (scope === "workspace") {
|
|
57
|
-
return this._workspaceStore.value.getAutoConfirm(id);
|
|
61
|
+
return !!this._workspaceStore.value.getAutoConfirm(id);
|
|
58
62
|
} else if (scope === "profile") {
|
|
59
|
-
return this._profileStore.value.getAutoConfirm(id);
|
|
63
|
+
return !!this._profileStore.value.getAutoConfirm(id);
|
|
60
64
|
} else {
|
|
61
65
|
return ( this._memoryStore.has(id));
|
|
62
66
|
}
|
|
63
67
|
}
|
|
68
|
+
getLabel(id) {
|
|
69
|
+
return this._workspaceStore.value.getAutoConfirm(id)?.label ?? this._profileStore.value.getAutoConfirm(id)?.label ?? this._memoryStore.get(id)?.label;
|
|
70
|
+
}
|
|
64
71
|
reset() {
|
|
65
72
|
this._workspaceStore.value.reset();
|
|
66
73
|
this._profileStore.value.reset();
|
|
@@ -95,7 +102,7 @@ class GenericConfirmStore extends Disposable {
|
|
|
95
102
|
for (const key of this._profileStore.value.getAll()) {
|
|
96
103
|
all.add(key);
|
|
97
104
|
}
|
|
98
|
-
for (const key of this._memoryStore) {
|
|
105
|
+
for (const key of ( this._memoryStore.keys())) {
|
|
99
106
|
all.add(key);
|
|
100
107
|
}
|
|
101
108
|
return all;
|
|
@@ -109,15 +116,33 @@ let ToolConfirmStore = class ToolConfirmStore extends Disposable {
|
|
|
109
116
|
this.storageService = storageService;
|
|
110
117
|
this._autoConfirmTools = ( new LRUCache(100));
|
|
111
118
|
this._didChange = false;
|
|
112
|
-
const
|
|
113
|
-
if (
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
119
|
+
const raw = storageService.get(this._storageKey, this._scope);
|
|
120
|
+
if (raw) {
|
|
121
|
+
try {
|
|
122
|
+
const parsed = JSON.parse(raw);
|
|
123
|
+
if (Array.isArray(parsed)) {
|
|
124
|
+
for (const key of parsed) {
|
|
125
|
+
this._autoConfirmTools.set(key, {
|
|
126
|
+
confirmed: true
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
} else if (typeof parsed === "object" && parsed !== null) {
|
|
130
|
+
for (const [key, value] of Object.entries(parsed)) {
|
|
131
|
+
this._autoConfirmTools.set(key, {
|
|
132
|
+
confirmed: true,
|
|
133
|
+
label: typeof value === "string" ? value : undefined
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
} catch {}
|
|
117
138
|
}
|
|
118
139
|
this._register(storageService.onWillSaveState(() => {
|
|
119
140
|
if (this._didChange) {
|
|
120
|
-
|
|
141
|
+
const data = {};
|
|
142
|
+
for (const [key, entry] of this._autoConfirmTools) {
|
|
143
|
+
data[key] = entry.label ?? true;
|
|
144
|
+
}
|
|
145
|
+
this.storageService.store(this._storageKey, JSON.stringify(data), this._scope, StorageTarget.MACHINE);
|
|
121
146
|
this._didChange = false;
|
|
122
147
|
}
|
|
123
148
|
}));
|
|
@@ -127,17 +152,18 @@ let ToolConfirmStore = class ToolConfirmStore extends Disposable {
|
|
|
127
152
|
this._didChange = true;
|
|
128
153
|
}
|
|
129
154
|
getAutoConfirm(id) {
|
|
130
|
-
|
|
155
|
+
const entry = this._autoConfirmTools.get(id);
|
|
156
|
+
if (entry) {
|
|
131
157
|
this._didChange = true;
|
|
132
|
-
return
|
|
158
|
+
return entry;
|
|
133
159
|
}
|
|
134
|
-
return
|
|
160
|
+
return undefined;
|
|
135
161
|
}
|
|
136
|
-
setAutoConfirm(id,
|
|
137
|
-
if (
|
|
138
|
-
this._autoConfirmTools.set(id, true);
|
|
139
|
-
} else {
|
|
162
|
+
setAutoConfirm(id, entry) {
|
|
163
|
+
if (!entry) {
|
|
140
164
|
this._autoConfirmTools.delete(id);
|
|
165
|
+
} else {
|
|
166
|
+
this._autoConfirmTools.set(id, entry);
|
|
141
167
|
}
|
|
142
168
|
this._didChange = true;
|
|
143
169
|
}
|
|
@@ -156,6 +182,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
156
182
|
this._postExecutionToolConfirmStore = this._register(( new GenericConfirmStore("chat/autoconfirm-post", this._instantiationService)));
|
|
157
183
|
this._preExecutionServerConfirmStore = this._register(( new GenericConfirmStore("chat/servers/autoconfirm", this._instantiationService)));
|
|
158
184
|
this._postExecutionServerConfirmStore = this._register(( new GenericConfirmStore("chat/servers/autoconfirm-post", this._instantiationService)));
|
|
185
|
+
this._combinationConfirmStore = this._register(( new GenericConfirmStore("chat/autoconfirm-combination", this._instantiationService)));
|
|
159
186
|
}
|
|
160
187
|
getPreConfirmAction(ref) {
|
|
161
188
|
const contribution = this._contributions.get(ref.toolId);
|
|
@@ -168,6 +195,12 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
168
195
|
if (contribution && contribution.canUseDefaultApprovals === false) {
|
|
169
196
|
return undefined;
|
|
170
197
|
}
|
|
198
|
+
if (ref.combination) {
|
|
199
|
+
const combinationResult = this._combinationConfirmStore.checkAutoConfirmation(ref.combination.key);
|
|
200
|
+
if (combinationResult) {
|
|
201
|
+
return combinationResult;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
171
204
|
const toolResult = this._preExecutionToolConfirmStore.checkAutoConfirmation(ref.toolId);
|
|
172
205
|
if (toolResult) {
|
|
173
206
|
return toolResult;
|
|
@@ -212,9 +245,50 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
212
245
|
if (contribution && contribution.canUseDefaultApprovals === false) {
|
|
213
246
|
return actions;
|
|
214
247
|
}
|
|
248
|
+
if (ref.combination) {
|
|
249
|
+
const {
|
|
250
|
+
label: combinationLabel,
|
|
251
|
+
key: combinationKey
|
|
252
|
+
} = ref.combination;
|
|
253
|
+
actions.push({
|
|
254
|
+
label: ( localize(6569, "{0} in this Session", combinationLabel)),
|
|
255
|
+
detail: ( localize(
|
|
256
|
+
6570,
|
|
257
|
+
"Allow this particular combination of tool and arguments in this session without confirmation."
|
|
258
|
+
)),
|
|
259
|
+
divider: !!actions.length,
|
|
260
|
+
scope: "session",
|
|
261
|
+
select: async () => {
|
|
262
|
+
this._combinationConfirmStore.setAutoConfirmation(combinationKey, "session", combinationLabel);
|
|
263
|
+
return true;
|
|
264
|
+
}
|
|
265
|
+
}, {
|
|
266
|
+
label: ( localize(6571, "{0} in this Workspace", combinationLabel)),
|
|
267
|
+
detail: ( localize(
|
|
268
|
+
6572,
|
|
269
|
+
"Allow this particular combination of tool and arguments in this workspace without confirmation."
|
|
270
|
+
)),
|
|
271
|
+
scope: "workspace",
|
|
272
|
+
select: async () => {
|
|
273
|
+
this._combinationConfirmStore.setAutoConfirmation(combinationKey, "workspace", combinationLabel);
|
|
274
|
+
return true;
|
|
275
|
+
}
|
|
276
|
+
}, {
|
|
277
|
+
label: ( localize(6573, "Always {0}", combinationLabel)),
|
|
278
|
+
detail: ( localize(
|
|
279
|
+
6574,
|
|
280
|
+
"Always allow this particular combination of tool and arguments without confirmation."
|
|
281
|
+
)),
|
|
282
|
+
scope: "profile",
|
|
283
|
+
select: async () => {
|
|
284
|
+
this._combinationConfirmStore.setAutoConfirmation(combinationKey, "profile", combinationLabel);
|
|
285
|
+
return true;
|
|
286
|
+
}
|
|
287
|
+
});
|
|
288
|
+
}
|
|
215
289
|
actions.push({
|
|
216
|
-
label: ( localize(
|
|
217
|
-
detail: ( localize(
|
|
290
|
+
label: ( localize(6575, "Allow in this Session")),
|
|
291
|
+
detail: ( localize(6576, "Allow this tool to run in this session without confirmation.")),
|
|
218
292
|
divider: !!actions.length,
|
|
219
293
|
scope: "session",
|
|
220
294
|
select: async () => {
|
|
@@ -222,16 +296,16 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
222
296
|
return true;
|
|
223
297
|
}
|
|
224
298
|
}, {
|
|
225
|
-
label: ( localize(
|
|
226
|
-
detail: ( localize(
|
|
299
|
+
label: ( localize(6577, "Allow in this Workspace")),
|
|
300
|
+
detail: ( localize(6578, "Allow this tool to run in this workspace without confirmation.")),
|
|
227
301
|
scope: "workspace",
|
|
228
302
|
select: async () => {
|
|
229
303
|
this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "workspace");
|
|
230
304
|
return true;
|
|
231
305
|
}
|
|
232
306
|
}, {
|
|
233
|
-
label: ( localize(
|
|
234
|
-
detail: ( localize(
|
|
307
|
+
label: ( localize(6579, "Always Allow")),
|
|
308
|
+
detail: ( localize(6580, "Always allow this tool to run without confirmation.")),
|
|
235
309
|
scope: "profile",
|
|
236
310
|
select: async () => {
|
|
237
311
|
this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "profile");
|
|
@@ -244,9 +318,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
244
318
|
definitionId
|
|
245
319
|
} = ref.source;
|
|
246
320
|
actions.push({
|
|
247
|
-
label: ( localize(
|
|
321
|
+
label: ( localize(6581, "Allow Tools from {0} in this Session", serverLabel)),
|
|
248
322
|
detail: ( localize(
|
|
249
|
-
|
|
323
|
+
6582,
|
|
250
324
|
"Allow all tools from this server to run in this session without confirmation."
|
|
251
325
|
)),
|
|
252
326
|
divider: true,
|
|
@@ -256,9 +330,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
256
330
|
return true;
|
|
257
331
|
}
|
|
258
332
|
}, {
|
|
259
|
-
label: ( localize(
|
|
333
|
+
label: ( localize(6583, "Allow Tools from {0} in this Workspace", serverLabel)),
|
|
260
334
|
detail: ( localize(
|
|
261
|
-
|
|
335
|
+
6584,
|
|
262
336
|
"Allow all tools from this server to run in this workspace without confirmation."
|
|
263
337
|
)),
|
|
264
338
|
scope: "workspace",
|
|
@@ -267,9 +341,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
267
341
|
return true;
|
|
268
342
|
}
|
|
269
343
|
}, {
|
|
270
|
-
label: ( localize(
|
|
344
|
+
label: ( localize(6585, "Always Allow Tools from {0}", serverLabel)),
|
|
271
345
|
detail: ( localize(
|
|
272
|
-
|
|
346
|
+
6586,
|
|
273
347
|
"Always allow all tools from this server to run without confirmation."
|
|
274
348
|
)),
|
|
275
349
|
scope: "profile",
|
|
@@ -291,9 +365,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
291
365
|
return actions;
|
|
292
366
|
}
|
|
293
367
|
actions.push({
|
|
294
|
-
label: ( localize(
|
|
368
|
+
label: ( localize(6587, "Allow Without Review in this Session")),
|
|
295
369
|
detail: ( localize(
|
|
296
|
-
|
|
370
|
+
6588,
|
|
297
371
|
"Allow results from this tool to be sent without confirmation in this session."
|
|
298
372
|
)),
|
|
299
373
|
divider: !!actions.length,
|
|
@@ -303,9 +377,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
303
377
|
return true;
|
|
304
378
|
}
|
|
305
379
|
}, {
|
|
306
|
-
label: ( localize(
|
|
380
|
+
label: ( localize(6589, "Allow Without Review in this Workspace")),
|
|
307
381
|
detail: ( localize(
|
|
308
|
-
|
|
382
|
+
6590,
|
|
309
383
|
"Allow results from this tool to be sent without confirmation in this workspace."
|
|
310
384
|
)),
|
|
311
385
|
scope: "workspace",
|
|
@@ -314,9 +388,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
314
388
|
return true;
|
|
315
389
|
}
|
|
316
390
|
}, {
|
|
317
|
-
label: ( localize(
|
|
391
|
+
label: ( localize(6591, "Always Allow Without Review")),
|
|
318
392
|
detail: ( localize(
|
|
319
|
-
|
|
393
|
+
6592,
|
|
320
394
|
"Always allow results from this tool to be sent without confirmation."
|
|
321
395
|
)),
|
|
322
396
|
scope: "profile",
|
|
@@ -331,9 +405,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
331
405
|
definitionId
|
|
332
406
|
} = ref.source;
|
|
333
407
|
actions.push({
|
|
334
|
-
label: ( localize(
|
|
408
|
+
label: ( localize(6593, "Allow Tools from {0} Without Review in this Session", serverLabel)),
|
|
335
409
|
detail: ( localize(
|
|
336
|
-
|
|
410
|
+
6594,
|
|
337
411
|
"Allow results from all tools from this server to be sent without confirmation in this session."
|
|
338
412
|
)),
|
|
339
413
|
divider: true,
|
|
@@ -343,9 +417,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
343
417
|
return true;
|
|
344
418
|
}
|
|
345
419
|
}, {
|
|
346
|
-
label: ( localize(
|
|
420
|
+
label: ( localize(6595, "Allow Tools from {0} Without Review in this Workspace", serverLabel)),
|
|
347
421
|
detail: ( localize(
|
|
348
|
-
|
|
422
|
+
6596,
|
|
349
423
|
"Allow results from all tools from this server to be sent without confirmation in this workspace."
|
|
350
424
|
)),
|
|
351
425
|
scope: "workspace",
|
|
@@ -354,9 +428,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
354
428
|
return true;
|
|
355
429
|
}
|
|
356
430
|
}, {
|
|
357
|
-
label: ( localize(
|
|
431
|
+
label: ( localize(6597, "Always Allow Tools from {0} Without Review", serverLabel)),
|
|
358
432
|
detail: ( localize(
|
|
359
|
-
|
|
433
|
+
6598,
|
|
360
434
|
"Always allow results from all tools from this server to be sent without confirmation."
|
|
361
435
|
)),
|
|
362
436
|
scope: "profile",
|
|
@@ -377,7 +451,30 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
377
451
|
};
|
|
378
452
|
}
|
|
379
453
|
toolCanManageConfirmation(tool) {
|
|
380
|
-
return !!tool.canRequestPreApproval || !!tool.canRequestPostApproval || ( this._contributions.has(tool.id)) || !!this._preExecutionToolConfirmStore.checkAutoConfirmation(tool.id) || !!this._postExecutionToolConfirmStore.checkAutoConfirmation(tool.id);
|
|
454
|
+
return !!tool.canRequestPreApproval || !!tool.canRequestPostApproval || ( this._contributions.has(tool.id)) || !!this._preExecutionToolConfirmStore.checkAutoConfirmation(tool.id) || !!this._postExecutionToolConfirmStore.checkAutoConfirmation(tool.id) || this._hasCombinationApprovalsForTool(tool.id);
|
|
455
|
+
}
|
|
456
|
+
_hasCombinationApprovalsForTool(toolId) {
|
|
457
|
+
const prefix = toolId + ":combination:";
|
|
458
|
+
for (const key of this._combinationConfirmStore.getAllConfirmed()) {
|
|
459
|
+
if (key.startsWith(prefix)) {
|
|
460
|
+
return true;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
return false;
|
|
464
|
+
}
|
|
465
|
+
_getCombinationApprovalsForTool(toolId, scope) {
|
|
466
|
+
const prefix = toolId + ":combination:";
|
|
467
|
+
const results = [];
|
|
468
|
+
for (const key of this._combinationConfirmStore.getAllConfirmed()) {
|
|
469
|
+
if (key.startsWith(prefix) && this._combinationConfirmStore.getAutoConfirmationIn(key, scope)) {
|
|
470
|
+
const label = this._combinationConfirmStore.getLabel(key) ?? key;
|
|
471
|
+
results.push({
|
|
472
|
+
key,
|
|
473
|
+
label
|
|
474
|
+
});
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
return results;
|
|
381
478
|
}
|
|
382
479
|
manageConfirmationPreferences(tools, options) {
|
|
383
480
|
const trackServerTool = (serverId, label, toolId, serversWithTools) => {
|
|
@@ -427,6 +524,12 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
427
524
|
}
|
|
428
525
|
}
|
|
429
526
|
}
|
|
527
|
+
for (const tool of tools) {
|
|
528
|
+
if (!( relevantTools.has(tool.id)) && this._hasCombinationApprovalsForTool(tool.id)) {
|
|
529
|
+
relevantTools.add(tool.id);
|
|
530
|
+
addServerToolFromSource(tool.source, tool.id, serversWithTools);
|
|
531
|
+
}
|
|
532
|
+
}
|
|
430
533
|
if (relevantTools.size === 0) {
|
|
431
534
|
return;
|
|
432
535
|
}
|
|
@@ -467,6 +570,19 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
467
570
|
checked: this._postExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope)
|
|
468
571
|
});
|
|
469
572
|
}
|
|
573
|
+
const combinationApprovals = this._getCombinationApprovalsForTool(tool.id, currentScope);
|
|
574
|
+
for (const {
|
|
575
|
+
key,
|
|
576
|
+
label
|
|
577
|
+
} of combinationApprovals) {
|
|
578
|
+
toolChildren.push({
|
|
579
|
+
type: "combination",
|
|
580
|
+
toolId: tool.id,
|
|
581
|
+
combinationKey: key,
|
|
582
|
+
label,
|
|
583
|
+
checked: true
|
|
584
|
+
});
|
|
585
|
+
}
|
|
470
586
|
const preApproval = this._preExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope);
|
|
471
587
|
const postApproval = this._postExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope);
|
|
472
588
|
let checked;
|
|
@@ -479,6 +595,8 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
479
595
|
} else if (hasPost) {
|
|
480
596
|
checked = postApproval;
|
|
481
597
|
description = CONTINUE_WITHOUT_REVIEWING_RESULTS;
|
|
598
|
+
} else if (toolChildren.length > 0) {
|
|
599
|
+
checked = false;
|
|
482
600
|
} else {
|
|
483
601
|
continue;
|
|
484
602
|
}
|
|
@@ -498,7 +616,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
498
616
|
type: "server-post",
|
|
499
617
|
serverId,
|
|
500
618
|
iconClass: ThemeIcon.asClassName(Codicon.play),
|
|
501
|
-
label: ( localize(
|
|
619
|
+
label: ( localize(6599, "Continue without reviewing any tool results")),
|
|
502
620
|
checked: serverPostConfirmed
|
|
503
621
|
});
|
|
504
622
|
}
|
|
@@ -507,7 +625,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
507
625
|
type: "server-pre",
|
|
508
626
|
serverId,
|
|
509
627
|
iconClass: ThemeIcon.asClassName(Codicon.play),
|
|
510
|
-
label: ( localize(
|
|
628
|
+
label: ( localize(6600, "Run any tool without approval")),
|
|
511
629
|
checked: serverPreConfirmed
|
|
512
630
|
});
|
|
513
631
|
}
|
|
@@ -572,6 +690,19 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
572
690
|
checked: this._postExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope)
|
|
573
691
|
});
|
|
574
692
|
}
|
|
693
|
+
const combinationApprovals = this._getCombinationApprovalsForTool(tool.id, currentScope);
|
|
694
|
+
for (const {
|
|
695
|
+
key,
|
|
696
|
+
label
|
|
697
|
+
} of combinationApprovals) {
|
|
698
|
+
toolChildren.push({
|
|
699
|
+
type: "combination",
|
|
700
|
+
toolId: tool.id,
|
|
701
|
+
combinationKey: key,
|
|
702
|
+
label,
|
|
703
|
+
checked: true
|
|
704
|
+
});
|
|
705
|
+
}
|
|
575
706
|
const preApproval = this._preExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope);
|
|
576
707
|
const postApproval = this._postExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope);
|
|
577
708
|
if (hasPre && hasPost) {
|
|
@@ -606,7 +737,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
606
737
|
if (currentScope !== "session") {
|
|
607
738
|
const scopeButton = {
|
|
608
739
|
iconClass: ThemeIcon.asClassName(Codicon.folder),
|
|
609
|
-
tooltip: ( localize(
|
|
740
|
+
tooltip: ( localize(6601, "Configure for this workspace only")),
|
|
610
741
|
toggle: {
|
|
611
742
|
checked: currentScope === "workspace"
|
|
612
743
|
},
|
|
@@ -623,9 +754,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
623
754
|
}
|
|
624
755
|
const updatePlaceholder = () => {
|
|
625
756
|
if (currentScope === "session") {
|
|
626
|
-
quickTree.placeholder = ( localize(
|
|
757
|
+
quickTree.placeholder = ( localize(6602, "Configure session tool approvals"));
|
|
627
758
|
} else {
|
|
628
|
-
quickTree.placeholder = currentScope === "workspace" ? ( localize(
|
|
759
|
+
quickTree.placeholder = currentScope === "workspace" ? ( localize(6603, "Configure workspace tool approvals")) : ( localize(6604, "Configure global tool approvals"));
|
|
629
760
|
}
|
|
630
761
|
};
|
|
631
762
|
updatePlaceholder();
|
|
@@ -646,6 +777,14 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
646
777
|
if (tool?.canRequestPreApproval || newState === "never") {
|
|
647
778
|
this._preExecutionToolConfirmStore.setAutoConfirmation(item.toolId, newState);
|
|
648
779
|
}
|
|
780
|
+
if (newState === "never") {
|
|
781
|
+
for (const key of this._combinationConfirmStore.getAllConfirmed()) {
|
|
782
|
+
if (key.startsWith(item.toolId + ":combination:")) {
|
|
783
|
+
this._combinationConfirmStore.setAutoConfirmation(key, "never");
|
|
784
|
+
}
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
quickTree.setItemTree(buildTreeItems());
|
|
649
788
|
} else if (item.type === "tool-pre" && item.toolId) {
|
|
650
789
|
this._preExecutionToolConfirmStore.setAutoConfirmation(item.toolId, newState);
|
|
651
790
|
} else if (item.type === "tool-post" && item.toolId) {
|
|
@@ -658,6 +797,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
658
797
|
quickTree.setItemTree(buildTreeItems());
|
|
659
798
|
} else if (item.type === "manage") {
|
|
660
799
|
item.onDidChangeChecked?.(!!item.checked);
|
|
800
|
+
} else if (item.type === "combination" && item.combinationKey) {
|
|
801
|
+
this._combinationConfirmStore.setAutoConfirmation(item.combinationKey, newState);
|
|
802
|
+
quickTree.setItemTree(buildTreeItems());
|
|
661
803
|
}
|
|
662
804
|
}));
|
|
663
805
|
disposables.add(quickTree.onDidTriggerItemButton(i => {
|
|
@@ -671,6 +813,8 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
671
813
|
quickTree.hide();
|
|
672
814
|
await manageItem.onDidOpen?.();
|
|
673
815
|
this.manageConfirmationPreferences(tools, options);
|
|
816
|
+
} else {
|
|
817
|
+
quickTree.hide();
|
|
674
818
|
}
|
|
675
819
|
}));
|
|
676
820
|
disposables.add(quickTree.onDidHide(() => {
|
|
@@ -697,6 +841,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
|
|
|
697
841
|
this._postExecutionToolConfirmStore.reset();
|
|
698
842
|
this._preExecutionServerConfirmStore.reset();
|
|
699
843
|
this._postExecutionServerConfirmStore.reset();
|
|
844
|
+
this._combinationConfirmStore.reset();
|
|
700
845
|
for (const contribution of ( this._contributions.values())) {
|
|
701
846
|
contribution.reset?.();
|
|
702
847
|
}
|
|
@@ -111,6 +111,13 @@ export declare class LanguageModelToolsService extends Disposable implements ILa
|
|
|
111
111
|
updateToolStream(toolCallId: string, partialInput: unknown, token: CancellationToken): Promise<void>;
|
|
112
112
|
private playAccessibilitySignal;
|
|
113
113
|
private ensureToolDetails;
|
|
114
|
+
private toolResultHasImages;
|
|
115
|
+
/**
|
|
116
|
+
* Returns true if the tool result message (or falling back to the tool invocation's
|
|
117
|
+
* pastTenseMessage from streaming) contains empty markdown links pointing to image
|
|
118
|
+
* files (the `[](imageUri)` pattern) that will be rendered as file pills by renderFileWidgets.
|
|
119
|
+
*/
|
|
120
|
+
private toolResultMessageHasImageFileWidgets;
|
|
114
121
|
private formatToolInput;
|
|
115
122
|
private toolResultToIO;
|
|
116
123
|
/**
|