@codingame/monaco-vscode-chat-service-override 27.0.0 → 28.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/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +54 -4
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +179 -11
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +5 -1
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +6 -1
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +25 -10
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +6 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +25 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +15 -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 +13 -5
- 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 +5 -5
- 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.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +17 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +89 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +4 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +146 -53
- 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 +56 -54
- 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 +5 -5
- 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 +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +13 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +189 -145
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +42 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +210 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +14 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +122 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +87 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
- 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 +279 -214
- 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/chatDebugEditor.js +12 -3
- 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.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +63 -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 +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +62 -24
- 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 +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
- 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 +49 -49
- 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.d.ts +9 -0
- 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 +14 -14
- 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 +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +103 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +61 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +31 -126
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +229 -524
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +54 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +11 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +112 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +348 -285
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +107 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
- 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/tools/languageModelToolsConfirmationService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +55 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +148 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
- 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 +72 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +5 -3
- 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 +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +11 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +72 -23
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +19 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +37 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +71 -25
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +217 -91
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +85 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +257 -63
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +32 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +287 -88
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +75 -20
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +81 -41
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +8 -6
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +6 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +38 -22
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +8 -8
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +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 +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
- 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/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 +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +36 -18
- 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.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +27 -13
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +1 -1
- 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 +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -67
|
@@ -32,8 +32,8 @@ import { activeChatController } from './terminalChatControllerHolder.js';
|
|
|
32
32
|
|
|
33
33
|
registerActiveXtermAction({
|
|
34
34
|
id: TerminalChatCommandId.Start,
|
|
35
|
-
title: ( localize2(
|
|
36
|
-
category: ( localize2(
|
|
35
|
+
title: ( localize2(13522, "Open Inline Chat")),
|
|
36
|
+
category: ( localize2(13523, "Terminal")),
|
|
37
37
|
keybinding: {
|
|
38
38
|
primary: KeyMod.CtrlCmd | KeyCode.KeyI,
|
|
39
39
|
when: ( ContextKeyExpr.and(TerminalContextKeys.focusInAny)),
|
|
@@ -77,7 +77,7 @@ registerActiveXtermAction({
|
|
|
77
77
|
});
|
|
78
78
|
registerActiveXtermAction({
|
|
79
79
|
id: TerminalChatCommandId.Close,
|
|
80
|
-
title: ( localize2(
|
|
80
|
+
title: ( localize2(13524, "Close")),
|
|
81
81
|
category: AbstractInlineChatAction.category,
|
|
82
82
|
keybinding: {
|
|
83
83
|
primary: KeyCode.Escape,
|
|
@@ -102,8 +102,8 @@ registerActiveXtermAction({
|
|
|
102
102
|
});
|
|
103
103
|
registerActiveXtermAction({
|
|
104
104
|
id: TerminalChatCommandId.RunCommand,
|
|
105
|
-
title: ( localize2(
|
|
106
|
-
shortTitle: ( localize2(
|
|
105
|
+
title: ( localize2(13525, "Run Chat Command")),
|
|
106
|
+
shortTitle: ( localize2(13526, "Run")),
|
|
107
107
|
category: AbstractInlineChatAction.category,
|
|
108
108
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
|
|
109
109
|
TerminalContextKeys.processSupported,
|
|
@@ -131,8 +131,8 @@ registerActiveXtermAction({
|
|
|
131
131
|
});
|
|
132
132
|
registerActiveXtermAction({
|
|
133
133
|
id: TerminalChatCommandId.RunFirstCommand,
|
|
134
|
-
title: ( localize2(
|
|
135
|
-
shortTitle: ( localize2(
|
|
134
|
+
title: ( localize2(13527, "Run First Chat Command")),
|
|
135
|
+
shortTitle: ( localize2(13528, "Run First")),
|
|
136
136
|
category: AbstractInlineChatAction.category,
|
|
137
137
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
|
|
138
138
|
TerminalContextKeys.processSupported,
|
|
@@ -160,8 +160,8 @@ registerActiveXtermAction({
|
|
|
160
160
|
});
|
|
161
161
|
registerActiveXtermAction({
|
|
162
162
|
id: TerminalChatCommandId.InsertCommand,
|
|
163
|
-
title: ( localize2(
|
|
164
|
-
shortTitle: ( localize2(
|
|
163
|
+
title: ( localize2(13529, "Insert Chat Command")),
|
|
164
|
+
shortTitle: ( localize2(13530, "Insert")),
|
|
165
165
|
category: AbstractInlineChatAction.category,
|
|
166
166
|
icon: Codicon.insert,
|
|
167
167
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
|
|
@@ -190,8 +190,8 @@ registerActiveXtermAction({
|
|
|
190
190
|
});
|
|
191
191
|
registerActiveXtermAction({
|
|
192
192
|
id: TerminalChatCommandId.InsertFirstCommand,
|
|
193
|
-
title: ( localize2(
|
|
194
|
-
shortTitle: ( localize2(
|
|
193
|
+
title: ( localize2(13531, "Insert First Chat Command")),
|
|
194
|
+
shortTitle: ( localize2(13532, "Insert First")),
|
|
195
195
|
category: AbstractInlineChatAction.category,
|
|
196
196
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
|
|
197
197
|
TerminalContextKeys.processSupported,
|
|
@@ -219,7 +219,7 @@ registerActiveXtermAction({
|
|
|
219
219
|
});
|
|
220
220
|
registerActiveXtermAction({
|
|
221
221
|
id: TerminalChatCommandId.RerunRequest,
|
|
222
|
-
title: ( localize2(
|
|
222
|
+
title: ( localize2(13533, "Rerun Request")),
|
|
223
223
|
f1: false,
|
|
224
224
|
icon: Codicon.refresh,
|
|
225
225
|
category: AbstractInlineChatAction.category,
|
|
@@ -260,7 +260,7 @@ registerActiveXtermAction({
|
|
|
260
260
|
});
|
|
261
261
|
registerActiveXtermAction({
|
|
262
262
|
id: TerminalChatCommandId.ViewInChat,
|
|
263
|
-
title: ( localize2(
|
|
263
|
+
title: ( localize2(13534, "View in Chat")),
|
|
264
264
|
category: AbstractInlineChatAction.category,
|
|
265
265
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
|
|
266
266
|
TerminalContextKeys.processSupported,
|
|
@@ -286,8 +286,8 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
|
|
|
286
286
|
constructor() {
|
|
287
287
|
super({
|
|
288
288
|
id: TerminalChatCommandId.ViewHiddenChatTerminals,
|
|
289
|
-
title: ( localize2(
|
|
290
|
-
category: ( localize2(
|
|
289
|
+
title: ( localize2(13535, "View Hidden Chat Terminals")),
|
|
290
|
+
category: ( localize2(13536, "Terminal")),
|
|
291
291
|
f1: true,
|
|
292
292
|
precondition: ( ContextKeyExpr.and(TerminalChatContextKeys.hasHiddenChatTerminals, ChatContextKeys.enabled)),
|
|
293
293
|
menu: [{
|
|
@@ -329,7 +329,7 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
|
|
|
329
329
|
return;
|
|
330
330
|
}
|
|
331
331
|
const items = [];
|
|
332
|
-
const lastCommandLocalized = command => ( localize2(
|
|
332
|
+
const lastCommandLocalized = command => ( localize2(13537, "Last: {0}", command)).value;
|
|
333
333
|
const MAX_DETAIL_LENGTH = 80;
|
|
334
334
|
const metas = [];
|
|
335
335
|
for (const instance of ( all.values())) {
|
|
@@ -381,10 +381,10 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
|
|
|
381
381
|
});
|
|
382
382
|
}
|
|
383
383
|
const qp = quickInputService.createQuickPick();
|
|
384
|
-
qp.placeholder = ( localize2(
|
|
384
|
+
qp.placeholder = ( localize2(13538, "Select a chat terminal to show and focus")).value;
|
|
385
385
|
qp.items = items;
|
|
386
386
|
qp.canSelectMany = false;
|
|
387
|
-
qp.title = ( localize2(
|
|
387
|
+
qp.title = ( localize2(13539, "Chat Terminals")).value;
|
|
388
388
|
qp.matchOnDescription = true;
|
|
389
389
|
qp.matchOnDetail = true;
|
|
390
390
|
const qpDisposables = ( new DisposableStore());
|
|
@@ -442,14 +442,14 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
|
|
|
442
442
|
MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
|
|
443
443
|
command: {
|
|
444
444
|
id: TerminalChatCommandId.FocusMostRecentChatTerminal,
|
|
445
|
-
title: ( localize(
|
|
445
|
+
title: ( localize(13540, "Chat: Focus Most Recent Terminal"))
|
|
446
446
|
},
|
|
447
447
|
when: ChatContextKeys.inChatSession
|
|
448
448
|
});
|
|
449
449
|
MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
|
|
450
450
|
command: {
|
|
451
451
|
id: TerminalChatCommandId.FocusMostRecentChatTerminalOutput,
|
|
452
|
-
title: ( localize(
|
|
452
|
+
title: ( localize(13541, "Chat: Focus Most Recent Terminal Output"))
|
|
453
453
|
},
|
|
454
454
|
when: ChatContextKeys.inChatSession
|
|
455
455
|
});
|
|
@@ -187,7 +187,7 @@ let TerminalChatWidget = class TerminalChatWidget extends Disposable {
|
|
|
187
187
|
}
|
|
188
188
|
_resetPlaceholder() {
|
|
189
189
|
const defaultAgent = this._chatAgentService.getDefaultAgent(ChatAgentLocation.Terminal);
|
|
190
|
-
this.inlineChatWidget.placeholder = defaultAgent?.description ?? ( localize(
|
|
190
|
+
this.inlineChatWidget.placeholder = defaultAgent?.description ?? ( localize(13542, "Ask about commands"));
|
|
191
191
|
}
|
|
192
192
|
async reveal() {
|
|
193
193
|
await this._createSession();
|
|
@@ -152,7 +152,7 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
|
|
|
152
152
|
const firstSubcommandFirstWord = unapprovedSubCommands.length > 0 ? unapprovedSubCommands[0].split(" ")[0] : "";
|
|
153
153
|
if (firstSubcommandFirstWord !== commandLine && !( commandsWithSubcommands.has(commandLine)) && !( commandsWithSubSubCommands.has(commandLine))) {
|
|
154
154
|
actions.push({
|
|
155
|
-
label: ( localize(
|
|
155
|
+
label: ( localize(13543, "Allow Exact Command Line in this Session")),
|
|
156
156
|
data: {
|
|
157
157
|
type: "newRule",
|
|
158
158
|
rule: {
|
|
@@ -166,7 +166,7 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
|
|
|
166
166
|
}
|
|
167
167
|
});
|
|
168
168
|
actions.push({
|
|
169
|
-
label: ( localize(
|
|
169
|
+
label: ( localize(13544, "Allow Exact Command Line in this Workspace")),
|
|
170
170
|
data: {
|
|
171
171
|
type: "newRule",
|
|
172
172
|
rule: {
|
|
@@ -180,7 +180,7 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
|
|
|
180
180
|
}
|
|
181
181
|
});
|
|
182
182
|
actions.push({
|
|
183
|
-
label: ( localize(
|
|
183
|
+
label: ( localize(13545, "Always Allow Exact Command Line")),
|
|
184
184
|
data: {
|
|
185
185
|
type: "newRule",
|
|
186
186
|
rule: {
|
|
@@ -199,15 +199,15 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
|
|
|
199
199
|
actions.push(( new Separator()));
|
|
200
200
|
}
|
|
201
201
|
actions.push({
|
|
202
|
-
label: ( localize(
|
|
203
|
-
tooltip: ( localize(
|
|
202
|
+
label: ( localize(13546, "Allow All Commands in this Session")),
|
|
203
|
+
tooltip: ( localize(13547, "Allow this tool to run in this session without confirmation.")),
|
|
204
204
|
data: {
|
|
205
205
|
type: "sessionApproval"
|
|
206
206
|
}
|
|
207
207
|
});
|
|
208
208
|
actions.push(( new Separator()));
|
|
209
209
|
actions.push({
|
|
210
|
-
label: ( localize(
|
|
210
|
+
label: ( localize(13548, "Configure Auto Approve...")),
|
|
211
211
|
data: {
|
|
212
212
|
type: "configure"
|
|
213
213
|
}
|
|
@@ -126,7 +126,7 @@ registerWorkbenchContribution2(
|
|
|
126
126
|
);
|
|
127
127
|
registerActiveInstanceAction({
|
|
128
128
|
id: TerminalChatAgentToolsCommandId.ChatAddTerminalSelection,
|
|
129
|
-
title: ( localize(
|
|
129
|
+
title: ( localize(13549, "Add Terminal Selection to Chat")),
|
|
130
130
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, sharedWhenClause.terminalAvailable)),
|
|
131
131
|
menu: [{
|
|
132
132
|
id: MenuId.TerminalInstanceContext,
|
|
@@ -147,8 +147,8 @@ registerActiveInstanceAction({
|
|
|
147
147
|
chatView.attachmentModel.addContext({
|
|
148
148
|
id: `terminal-selection-${Date.now()}`,
|
|
149
149
|
kind: "generic",
|
|
150
|
-
name: ( localize(
|
|
151
|
-
fullName: ( localize(
|
|
150
|
+
name: ( localize(13550, "Terminal Selection")),
|
|
151
|
+
fullName: ( localize(13550, "Terminal Selection")),
|
|
152
152
|
value: selection,
|
|
153
153
|
icon: Codicon.terminal
|
|
154
154
|
});
|
|
@@ -11,7 +11,7 @@ import { timeout, raceCancellationError } from '@codingame/monaco-vscode-api/vsc
|
|
|
11
11
|
const AwaitTerminalToolData = {
|
|
12
12
|
id: TerminalToolId.AwaitTerminal,
|
|
13
13
|
toolReferenceName: "awaitTerminal",
|
|
14
|
-
displayName: ( localize(
|
|
14
|
+
displayName: ( localize(13551, "Await Terminal")),
|
|
15
15
|
modelDescription: "Wait for a background terminal command to complete. Returns the output, exit code, or timeout status.",
|
|
16
16
|
icon: Codicon.terminal,
|
|
17
17
|
source: ToolDataSource.Internal,
|
|
@@ -33,8 +33,8 @@ const AwaitTerminalToolData = {
|
|
|
33
33
|
class AwaitTerminalTool extends Disposable {
|
|
34
34
|
async prepareToolInvocation(_context, _token) {
|
|
35
35
|
return {
|
|
36
|
-
invocationMessage: ( localize(
|
|
37
|
-
pastTenseMessage: ( localize(
|
|
36
|
+
invocationMessage: ( localize(13552, "Awaiting terminal completion")),
|
|
37
|
+
pastTenseMessage: ( localize(13553, "Awaited terminal completion"))
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
async invoke(invocation, _countTokens, _progress, token) {
|
|
@@ -154,7 +154,7 @@ let NpmScriptAutoApprover = class NpmScriptAutoApprover extends Disposable {
|
|
|
154
154
|
isAutoApproved: true,
|
|
155
155
|
scriptName,
|
|
156
156
|
autoApproveInfo: ( new MarkdownString(( localize(
|
|
157
|
-
|
|
157
|
+
13554,
|
|
158
158
|
"Auto approved as {0} is defined in package.json",
|
|
159
159
|
`\`${scriptName}\``
|
|
160
160
|
))))
|
|
@@ -55,7 +55,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
55
55
|
isAutoApproved: true,
|
|
56
56
|
isAutoApproveAllowed: true,
|
|
57
57
|
disclaimers: [],
|
|
58
|
-
autoApproveInfo: ( new MarkdownString(`${( localize(
|
|
58
|
+
autoApproveInfo: ( new MarkdownString(`${( localize(13555, "Auto approved for this session"))} ([${( localize(13556, "Disable"))}](${( disableUri.toString())}))`, mdTrustSettings))
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
61
|
const trimmedCommandLine = options.commandLine.trimStart();
|
|
@@ -148,7 +148,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
148
148
|
const subCommandsLowerFirstWordOnly = ( subCommands.map(command => command.split(" ")[0].toLowerCase()));
|
|
149
149
|
if (!isAutoApproved && (( subCommandsLowerFirstWordOnly.some(command => promptInjectionWarningCommandsLower.includes(command))) || (isPowerShell(options.shell, options.os) && ( subCommandsLowerFirstWordOnly.some(command => promptInjectionWarningCommandsLowerPwshOnly.includes(command)))))) {
|
|
150
150
|
disclaimers.push(( localize(
|
|
151
|
-
|
|
151
|
+
13557,
|
|
152
152
|
"Web content may contain malicious code or attempt prompt injection attacks."
|
|
153
153
|
)));
|
|
154
154
|
}
|
|
@@ -189,10 +189,10 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
189
189
|
return ( asArray(result).filter(e => isAutoApproveRule(e.rule)).map(e => {
|
|
190
190
|
const escapedSourceText = e.rule.sourceText.replaceAll("$", "\\$");
|
|
191
191
|
if (e.rule.sourceTarget === "session") {
|
|
192
|
-
return localize(
|
|
192
|
+
return localize(13558, "{0} (session)", `\`${escapedSourceText}\``);
|
|
193
193
|
}
|
|
194
194
|
const settingsUri = createCommandUri(TerminalChatCommandId.OpenTerminalSettingsLink, e.rule.sourceTarget);
|
|
195
|
-
const tooltip = ( localize(
|
|
195
|
+
const tooltip = ( localize(13559, "View rule in settings"));
|
|
196
196
|
let label = escapedSourceText;
|
|
197
197
|
switch (e.rule?.sourceTarget) {
|
|
198
198
|
case ConfigurationTarget.DEFAULT:
|
|
@@ -223,9 +223,9 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
223
223
|
if (isGlobalAutoApproved) {
|
|
224
224
|
const settingsUri = createCommandUri(TerminalChatCommandId.OpenTerminalSettingsLink, "global");
|
|
225
225
|
return (new MarkdownString(`${( localize(
|
|
226
|
-
|
|
226
|
+
13560,
|
|
227
227
|
"Auto approved by setting {0}",
|
|
228
|
-
`[\`${ChatConfiguration.GlobalAutoApprove}\`](${( settingsUri.toString())} "${( localize(
|
|
228
|
+
`[\`${ChatConfiguration.GlobalAutoApprove}\`](${( settingsUri.toString())} "${( localize(13561, "View settings"))}")`
|
|
229
229
|
))}`, mdTrustSettings));
|
|
230
230
|
}
|
|
231
231
|
if (isAutoApproved) {
|
|
@@ -234,7 +234,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
234
234
|
{
|
|
235
235
|
if (isAutoApproveRule(commandLineResult.rule)) {
|
|
236
236
|
return (new MarkdownString(
|
|
237
|
-
localize(
|
|
237
|
+
localize(13562, "Auto approved by rule {0}", formatRuleLinks(commandLineResult)),
|
|
238
238
|
mdTrustSettings
|
|
239
239
|
));
|
|
240
240
|
}
|
|
@@ -249,12 +249,12 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
249
249
|
const uniqueRules = dedupeRules(subCommandResults);
|
|
250
250
|
if (uniqueRules.length === 1) {
|
|
251
251
|
return (new MarkdownString(
|
|
252
|
-
localize(
|
|
252
|
+
localize(13562, "Auto approved by rule {0}", formatRuleLinks(uniqueRules)),
|
|
253
253
|
mdTrustSettings
|
|
254
254
|
));
|
|
255
255
|
} else if (uniqueRules.length > 1) {
|
|
256
256
|
return (new MarkdownString(
|
|
257
|
-
localize(
|
|
257
|
+
localize(13563, "Auto approved by rules {0}", formatRuleLinks(uniqueRules)),
|
|
258
258
|
mdTrustSettings
|
|
259
259
|
));
|
|
260
260
|
}
|
|
@@ -267,7 +267,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
267
267
|
{
|
|
268
268
|
if (commandLineResult.rule) {
|
|
269
269
|
return (new MarkdownString(localize(
|
|
270
|
-
|
|
270
|
+
13564,
|
|
271
271
|
"Auto approval denied by rule {0}",
|
|
272
272
|
formatRuleLinks(commandLineResult)
|
|
273
273
|
), mdTrustSettings));
|
|
@@ -279,12 +279,12 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
279
279
|
const uniqueRules = dedupeRules(subCommandResults.filter(e => e.result === "denied"));
|
|
280
280
|
if (uniqueRules.length === 1) {
|
|
281
281
|
return (new MarkdownString(
|
|
282
|
-
localize(
|
|
282
|
+
localize(13564, "Auto approval denied by rule {0}", formatRuleLinks(uniqueRules)),
|
|
283
283
|
mdTrustSettings
|
|
284
284
|
));
|
|
285
285
|
} else if (uniqueRules.length > 1) {
|
|
286
286
|
return (new MarkdownString(
|
|
287
|
-
localize(
|
|
287
|
+
localize(13565, "Auto approval denied by rules {0}", formatRuleLinks(uniqueRules)),
|
|
288
288
|
mdTrustSettings
|
|
289
289
|
));
|
|
290
290
|
}
|
|
@@ -149,12 +149,12 @@ let CommandLineFileWriteAnalyzer = class CommandLineFileWriteAnalyzer extends Di
|
|
|
149
149
|
)).join(", ");
|
|
150
150
|
if (!isAutoApproveAllowed) {
|
|
151
151
|
disclaimers.push(( localize(
|
|
152
|
-
|
|
152
|
+
13566,
|
|
153
153
|
"File write operations detected that cannot be auto approved: {0}",
|
|
154
154
|
fileWritesList
|
|
155
155
|
)));
|
|
156
156
|
} else {
|
|
157
|
-
disclaimers.push(( localize(
|
|
157
|
+
disclaimers.push(( localize(13567, "File write operations detected: {0}", fileWritesList)));
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
return {
|
|
@@ -12,7 +12,7 @@ const GetTerminalLastCommandToolData = {
|
|
|
12
12
|
id: TerminalToolId.TerminalLastCommand,
|
|
13
13
|
toolReferenceName: "terminalLastCommand",
|
|
14
14
|
legacyToolReferenceFullNames: ["runCommands/terminalLastCommand"],
|
|
15
|
-
displayName: ( localize(
|
|
15
|
+
displayName: ( localize(13568, "Get Terminal Last Command")),
|
|
16
16
|
modelDescription: "Get the last command run in the active terminal.",
|
|
17
17
|
source: ToolDataSource.Internal,
|
|
18
18
|
icon: Codicon.terminal
|
|
@@ -24,8 +24,8 @@ let GetTerminalLastCommandTool = class GetTerminalLastCommandTool extends Dispos
|
|
|
24
24
|
}
|
|
25
25
|
async prepareToolInvocation(context, token) {
|
|
26
26
|
return {
|
|
27
|
-
invocationMessage: ( localize(
|
|
28
|
-
pastTenseMessage: ( localize(
|
|
27
|
+
invocationMessage: ( localize(13569, "Getting last terminal command")),
|
|
28
|
+
pastTenseMessage: ( localize(13570, "Got last terminal command"))
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
async invoke(invocation, _countTokens, _progress, token) {
|
|
@@ -10,7 +10,7 @@ const GetTerminalOutputToolData = {
|
|
|
10
10
|
id: TerminalToolId.GetTerminalOutput,
|
|
11
11
|
toolReferenceName: "getTerminalOutput",
|
|
12
12
|
legacyToolReferenceFullNames: ["runCommands/getTerminalOutput"],
|
|
13
|
-
displayName: ( localize(
|
|
13
|
+
displayName: ( localize(13571, "Get Terminal Output")),
|
|
14
14
|
modelDescription: `Get the output of a terminal command previously started with ${TerminalToolId.RunInTerminal}`,
|
|
15
15
|
icon: Codicon.terminal,
|
|
16
16
|
source: ToolDataSource.Internal,
|
|
@@ -28,8 +28,8 @@ const GetTerminalOutputToolData = {
|
|
|
28
28
|
class GetTerminalOutputTool extends Disposable {
|
|
29
29
|
async prepareToolInvocation(context, token) {
|
|
30
30
|
return {
|
|
31
|
-
invocationMessage: ( localize(
|
|
32
|
-
pastTenseMessage: ( localize(
|
|
31
|
+
invocationMessage: ( localize(13572, "Checking background terminal output")),
|
|
32
|
+
pastTenseMessage: ( localize(13573, "Checked background terminal output"))
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
async invoke(invocation, _countTokens, _progress, token) {
|
|
@@ -11,7 +11,7 @@ const GetTerminalSelectionToolData = {
|
|
|
11
11
|
id: TerminalToolId.TerminalSelection,
|
|
12
12
|
toolReferenceName: "terminalSelection",
|
|
13
13
|
legacyToolReferenceFullNames: ["runCommands/terminalSelection"],
|
|
14
|
-
displayName: ( localize(
|
|
14
|
+
displayName: ( localize(13574, "Get Terminal Selection")),
|
|
15
15
|
modelDescription: "Get the current selection in the active terminal.",
|
|
16
16
|
source: ToolDataSource.Internal,
|
|
17
17
|
icon: Codicon.terminal
|
|
@@ -23,8 +23,8 @@ let GetTerminalSelectionTool = class GetTerminalSelectionTool extends Disposable
|
|
|
23
23
|
}
|
|
24
24
|
async prepareToolInvocation(context, token) {
|
|
25
25
|
return {
|
|
26
|
-
invocationMessage: ( localize(
|
|
27
|
-
pastTenseMessage: ( localize(
|
|
26
|
+
invocationMessage: ( localize(13575, "Reading terminal selection")),
|
|
27
|
+
pastTenseMessage: ( localize(13576, "Read terminal selection"))
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
async invoke(invocation, _countTokens, _progress, token) {
|
|
@@ -9,7 +9,7 @@ import { TerminalToolId } from './toolIds.js';
|
|
|
9
9
|
const KillTerminalToolData = {
|
|
10
10
|
id: TerminalToolId.KillTerminal,
|
|
11
11
|
toolReferenceName: "killTerminal",
|
|
12
|
-
displayName: ( localize(
|
|
12
|
+
displayName: ( localize(13577, "Kill Terminal")),
|
|
13
13
|
modelDescription: `Kill a terminal by its ID. Use this to clean up terminals that are no longer needed (e.g., after stopping a server or when a long-running task completes). The terminal ID is returned by ${TerminalToolId.RunInTerminal} when isBackground=true.`,
|
|
14
14
|
icon: Codicon.terminal,
|
|
15
15
|
source: ToolDataSource.Internal,
|
|
@@ -27,8 +27,8 @@ const KillTerminalToolData = {
|
|
|
27
27
|
class KillTerminalTool extends Disposable {
|
|
28
28
|
async prepareToolInvocation(_context, _token) {
|
|
29
29
|
return {
|
|
30
|
-
invocationMessage: ( localize(
|
|
31
|
-
pastTenseMessage: ( localize(
|
|
30
|
+
invocationMessage: ( localize(13578, "Killing terminal")),
|
|
31
|
+
pastTenseMessage: ( localize(13579, "Killed terminal"))
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
async invoke(invocation, _countTokens, _progress, _token) {
|
|
@@ -58,6 +58,8 @@ export declare class OutputMonitor extends Disposable implements IOutputMonitor
|
|
|
58
58
|
get outputMonitorTelemetryCounters(): Readonly<IOutputMonitorTelemetryCounters>;
|
|
59
59
|
private readonly _onDidFinishCommand;
|
|
60
60
|
readonly onDidFinishCommand: Event<void>;
|
|
61
|
+
/** The chat session resource for this tool invocation, used to check permission level. */
|
|
62
|
+
private readonly _sessionResource;
|
|
61
63
|
constructor(_execution: IExecution, _pollFn: ((execution: IExecution, token: CancellationToken, taskService: ITaskService) => Promise<IPollingResult | undefined>) | undefined, invocationContext: IToolInvocationContext | undefined, token: CancellationToken, command: string, _languageModelsService: ILanguageModelsService, _taskService: ITaskService, _chatService: IChatService, _chatWidgetService: IChatWidgetService, _configurationService: IConfigurationService, _logService: ITerminalLogService, _terminalService: ITerminalService);
|
|
62
64
|
private _startMonitoring;
|
|
63
65
|
private _handleIdleState;
|
|
@@ -80,6 +82,12 @@ export declare class OutputMonitor extends Disposable implements IOutputMonitor
|
|
|
80
82
|
private _assessOutputForErrors;
|
|
81
83
|
private _determineUserInputOptions;
|
|
82
84
|
private _isSensitivePrompt;
|
|
85
|
+
/**
|
|
86
|
+
* Returns true if the current session is in Autopilot mode (not Bypass Approvals).
|
|
87
|
+
* In Autopilot, terminal prompts should be auto-replied to so the agent can
|
|
88
|
+
* work autonomously from start to finish.
|
|
89
|
+
*/
|
|
90
|
+
private _isAutopilotMode;
|
|
83
91
|
private _normalizeAutoReplyInput;
|
|
84
92
|
private _extractExplicitInputFromPrompt;
|
|
85
93
|
private _selectAndHandleOption;
|
|
@@ -6,13 +6,12 @@ import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/comm
|
|
|
6
6
|
import { Disposable, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
7
7
|
import { isObject, isString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
8
8
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
9
|
-
import { ExtensionIdentifier } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
|
|
10
9
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
11
10
|
import { ChatElicitationRequestPart } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatElicitationRequestPart';
|
|
12
11
|
import { ChatModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel';
|
|
13
12
|
import { ElicitationState } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
|
|
14
13
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
15
|
-
import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
14
|
+
import { ChatPermissionLevel, ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
16
15
|
import { ChatMessageRole, getTextResponseFromStream } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
|
|
17
16
|
import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
|
|
18
17
|
import { ITaskService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/tasks/common/taskService.service';
|
|
@@ -93,6 +92,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
|
|
|
93
92
|
};
|
|
94
93
|
this._onDidFinishCommand = this._register(( new Emitter()));
|
|
95
94
|
this.onDidFinishCommand = this._onDidFinishCommand.event;
|
|
95
|
+
this._sessionResource = invocationContext?.sessionResource;
|
|
96
96
|
timeout(0).then(() => {
|
|
97
97
|
this._startMonitoring(command, invocationContext, token);
|
|
98
98
|
});
|
|
@@ -205,9 +205,15 @@ let OutputMonitor = class OutputMonitor extends Disposable {
|
|
|
205
205
|
};
|
|
206
206
|
}
|
|
207
207
|
if ((!isTask || !isTaskInactive) && detectsGenericPressAnyKeyPattern(output)) {
|
|
208
|
-
this._logService.trace(
|
|
209
|
-
|
|
210
|
-
|
|
208
|
+
this._logService.trace("OutputMonitor: Idle -> generic \"press any key\" detected");
|
|
209
|
+
if (this._isAutopilotMode()) {
|
|
210
|
+
this._logService.trace("OutputMonitor: Autopilot mode -> auto-replying to \"press any key\"");
|
|
211
|
+
await this._execution.instance.sendText("", true);
|
|
212
|
+
return {
|
|
213
|
+
shouldContinuePollling: true
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
this._logService.trace("OutputMonitor: Requesting free-form input for \"press any key\"");
|
|
211
217
|
const currentMarker = this._execution.instance.registerMarker();
|
|
212
218
|
if (currentMarker) {
|
|
213
219
|
this._lastPromptMarker = currentMarker;
|
|
@@ -268,7 +274,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
|
|
|
268
274
|
shouldContinuePollling: true
|
|
269
275
|
};
|
|
270
276
|
}
|
|
271
|
-
const autoReply = this._configurationService.getValue(TerminalChatAgentToolsSettingId.AutoReplyToPrompts);
|
|
277
|
+
const autoReply = this._configurationService.getValue(TerminalChatAgentToolsSettingId.AutoReplyToPrompts) || this._isAutopilotMode();
|
|
272
278
|
if (autoReply && !this._isSensitivePrompt(confirmationPrompt.prompt)) {
|
|
273
279
|
const explicitInput = confirmationPrompt.suggestedInput ?? this._extractExplicitInputFromPrompt(confirmationPrompt.prompt);
|
|
274
280
|
const normalizedInput = this._normalizeAutoReplyInput(explicitInput);
|
|
@@ -442,7 +448,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
|
|
|
442
448
|
if (!model) {
|
|
443
449
|
return "No models available";
|
|
444
450
|
}
|
|
445
|
-
const response = await this._languageModelsService.sendChatRequest(model,
|
|
451
|
+
const response = await this._languageModelsService.sendChatRequest(model, undefined, [{
|
|
446
452
|
role: ChatMessageRole.User,
|
|
447
453
|
content: [{
|
|
448
454
|
type: "text",
|
|
@@ -513,7 +519,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
|
|
|
513
519
|
Now, analyze this output:
|
|
514
520
|
${lastLines}
|
|
515
521
|
`;
|
|
516
|
-
const response = await this._languageModelsService.sendChatRequest(model,
|
|
522
|
+
const response = await this._languageModelsService.sendChatRequest(model, undefined, [{
|
|
517
523
|
role: ChatMessageRole.User,
|
|
518
524
|
content: [{
|
|
519
525
|
type: "text",
|
|
@@ -572,6 +578,18 @@ let OutputMonitor = class OutputMonitor extends Disposable {
|
|
|
572
578
|
_isSensitivePrompt(prompt) {
|
|
573
579
|
return /(password|passphrase|token|api\s*key|secret)/i.test(prompt);
|
|
574
580
|
}
|
|
581
|
+
_isAutopilotMode() {
|
|
582
|
+
if (!this._sessionResource) {
|
|
583
|
+
return false;
|
|
584
|
+
}
|
|
585
|
+
const widget = this._chatWidgetService.getWidgetBySessionResource(this._sessionResource) ?? this._chatWidgetService.lastFocusedWidget;
|
|
586
|
+
if (widget?.input.currentModeInfo.permissionLevel === ChatPermissionLevel.Autopilot) {
|
|
587
|
+
return true;
|
|
588
|
+
}
|
|
589
|
+
const model = this._chatService.getSession(this._sessionResource);
|
|
590
|
+
const request = model?.getRequests().at(-1);
|
|
591
|
+
return request?.modeInfo?.permissionLevel === ChatPermissionLevel.Autopilot;
|
|
592
|
+
}
|
|
575
593
|
_normalizeAutoReplyInput(input) {
|
|
576
594
|
if (!input) {
|
|
577
595
|
return undefined;
|
|
@@ -605,7 +623,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
|
|
|
605
623
|
if (!confirmationPrompt?.options.length) {
|
|
606
624
|
return undefined;
|
|
607
625
|
}
|
|
608
|
-
const autoReply = this._configurationService.getValue(TerminalChatAgentToolsSettingId.AutoReplyToPrompts);
|
|
626
|
+
const autoReply = this._configurationService.getValue(TerminalChatAgentToolsSettingId.AutoReplyToPrompts) || this._isAutopilotMode();
|
|
609
627
|
let model = this._chatWidgetService.getWidgetsByLocations(ChatAgentLocation.Chat)[0]?.input.currentLanguageModel;
|
|
610
628
|
if (model) {
|
|
611
629
|
const models = await this._languageModelsService.selectLanguageModels({
|
|
@@ -629,7 +647,7 @@ let OutputMonitor = class OutputMonitor extends Disposable {
|
|
|
629
647
|
if (model) {
|
|
630
648
|
try {
|
|
631
649
|
const promptText = `Given the following confirmation prompt and options from a terminal output, which option is the default?\nPrompt: "${prompt}"\nOptions: ${JSON.stringify(options)}\nRespond with only the option string.`;
|
|
632
|
-
const response = await this._languageModelsService.sendChatRequest(model,
|
|
650
|
+
const response = await this._languageModelsService.sendChatRequest(model, undefined, [{
|
|
633
651
|
role: ChatMessageRole.User,
|
|
634
652
|
content: [{
|
|
635
653
|
type: "text",
|
|
@@ -696,11 +714,11 @@ let OutputMonitor = class OutputMonitor extends Disposable {
|
|
|
696
714
|
const {
|
|
697
715
|
promise: userPrompt,
|
|
698
716
|
part
|
|
699
|
-
} = this._createElicitationPart(token, execution.sessionResource, ( new MarkdownString(( localize(
|
|
700
|
-
|
|
717
|
+
} = this._createElicitationPart(token, execution.sessionResource, ( new MarkdownString(( localize(13580, "The terminal is awaiting input.")))), ( new MarkdownString(( localize(
|
|
718
|
+
13581,
|
|
701
719
|
"{0}\nPlease provide the required input to the terminal.\n\n",
|
|
702
720
|
confirmationPrompt.prompt
|
|
703
|
-
)))), "", ( localize(
|
|
721
|
+
)))), "", ( localize(13582, "Focus terminal")), undefined, () => {
|
|
704
722
|
this._showInstance(execution.instance.instanceId);
|
|
705
723
|
return focusTerminalSelection;
|
|
706
724
|
});
|
|
@@ -753,13 +771,13 @@ let OutputMonitor = class OutputMonitor extends Disposable {
|
|
|
753
771
|
const {
|
|
754
772
|
promise: userPrompt,
|
|
755
773
|
part
|
|
756
|
-
} = this._createElicitationPart(token, execution.sessionResource, ( new MarkdownString(( localize(
|
|
757
|
-
|
|
774
|
+
} = this._createElicitationPart(token, execution.sessionResource, ( new MarkdownString(( localize(13583, "The terminal is awaiting input.")))), ( new MarkdownString(( localize(
|
|
775
|
+
13584,
|
|
758
776
|
"{0}\n Do you want to send `{1}`{2} followed by `Enter` to the terminal?",
|
|
759
777
|
confirmationPrompt.prompt,
|
|
760
778
|
suggestedOptionValue,
|
|
761
779
|
isString(suggestedOption) ? "" : suggestedOption.description ? " (" + suggestedOption.description + ")" : ""
|
|
762
|
-
)))), "", ( localize(
|
|
780
|
+
)))), "", ( localize(13585, "Allow")), ( localize(13586, "Focus Terminal")), async value => {
|
|
763
781
|
let option = undefined;
|
|
764
782
|
if (value === true) {
|
|
765
783
|
option = suggestedOptionValue;
|
|
@@ -983,8 +1001,8 @@ function detectsNonInteractiveHelpPattern(cursorLine) {
|
|
|
983
1001
|
].some(e => e.test(cursorLine)));
|
|
984
1002
|
}
|
|
985
1003
|
const taskFinishMessages = [(
|
|
986
|
-
localize(
|
|
987
|
-
localize(
|
|
1004
|
+
localize(13587, "Terminal will be reused by tasks, press any key to close it.")), ( localize(13588, "Terminal will be reused by tasks, press any key to close it.")), (
|
|
1005
|
+
localize(13589, "Press any key to close the terminal.")), ( localize(13590, "Press any key to close the terminal."))];
|
|
988
1006
|
function detectsVSCodeTaskFinishMessage(cursorLine) {
|
|
989
1007
|
const normalized = cursorLine.replace(/\s/g, "").toLowerCase();
|
|
990
1008
|
return (taskFinishMessages.some(msg => normalized.includes(msg.replace(/\s/g, "").toLowerCase())));
|
|
@@ -7,7 +7,7 @@ import { TerminalToolId } from './toolIds.js';
|
|
|
7
7
|
|
|
8
8
|
const ConfirmTerminalCommandToolData = {
|
|
9
9
|
id: TerminalToolId.ConfirmTerminalCommand,
|
|
10
|
-
displayName: ( localize(
|
|
10
|
+
displayName: ( localize(13591, "Confirm Terminal Command")),
|
|
11
11
|
modelDescription: [
|
|
12
12
|
"This tool allows you to get explicit user confirmation for a terminal command without executing it.",
|
|
13
13
|
"",
|
|
@@ -25,7 +25,7 @@ const ConfirmTerminalCommandToolData = {
|
|
|
25
25
|
"",
|
|
26
26
|
"After confirmation, use a tool to actually execute the command."
|
|
27
27
|
].join("\n"),
|
|
28
|
-
userDescription: ( localize(
|
|
28
|
+
userDescription: ( localize(13592, "Tool for confirming terminal commands")),
|
|
29
29
|
source: ToolDataSource.Internal,
|
|
30
30
|
icon: Codicon.shield,
|
|
31
31
|
inputSchema: {
|
|
@@ -86,6 +86,12 @@ export declare class RunInTerminalTool extends Disposable implements IToolImpl {
|
|
|
86
86
|
static removeExecution(id: string): boolean;
|
|
87
87
|
constructor(_chatService: IChatService, _configurationService: IConfigurationService, _historyService: IHistoryService, _instantiationService: IInstantiationService, _labelService: ILabelService, _languageModelToolsService: ILanguageModelToolsService, _remoteAgentService: IRemoteAgentService, _storageService: IStorageService, _terminalChatService: ITerminalChatService, _logService: ITerminalLogService, _terminalService: ITerminalService, _workspaceContextService: IWorkspaceContextService, _chatWidgetService: IChatWidgetService);
|
|
88
88
|
prepareToolInvocation(context: IToolInvocationPreparationContext, token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
|
|
89
|
+
/**
|
|
90
|
+
* Returns true if the chat session's permission level (Autopilot/Bypass Approvals)
|
|
91
|
+
* auto-approves all tool calls, unless enterprise policy restricts it.
|
|
92
|
+
* Checks both the request-stamped level and the live picker level.
|
|
93
|
+
*/
|
|
94
|
+
private _isSessionAutoApproveLevel;
|
|
89
95
|
invoke(invocation: IToolInvocation, _countTokens: CountTokensCallback, _progress: ToolProgress, token: CancellationToken): Promise<IToolResult>;
|
|
90
96
|
private _handleTerminalVisibility;
|
|
91
97
|
/**
|