@codingame/monaco-vscode-chat-service-override 28.4.1 → 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 +22 -15
- 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
|
@@ -5,4 +5,18 @@ export declare class SandboxOutputAnalyzer extends Disposable implements IOutput
|
|
|
5
5
|
private readonly _sandboxService;
|
|
6
6
|
constructor(_sandboxService: ITerminalSandboxService);
|
|
7
7
|
analyze(options: IOutputAnalyzerOptions): Promise<string | undefined>;
|
|
8
|
+
/**
|
|
9
|
+
* Checks whether the command output contains strings that typically indicate
|
|
10
|
+
* the sandbox blocked the operation. Used when exit code is unavailable.
|
|
11
|
+
*
|
|
12
|
+
* The output may contain newlines inserted by terminal wrapping, so we
|
|
13
|
+
* strip them before testing.
|
|
14
|
+
*/
|
|
15
|
+
private _outputLooksSandboxBlocked;
|
|
8
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Checks whether the command output contains strings that typically indicate
|
|
19
|
+
* the sandbox blocked the operation. The output may contain newlines inserted
|
|
20
|
+
* by terminal wrapping, so we strip them before testing.
|
|
21
|
+
*/
|
|
22
|
+
export declare function outputLooksSandboxBlocked(output: string): boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
3
|
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
4
|
+
import { OperatingSystem } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
5
5
|
import { ITerminalSandboxService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.service';
|
|
6
6
|
import { TerminalChatAgentToolsSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration';
|
|
7
7
|
|
|
@@ -11,21 +11,31 @@ let SandboxOutputAnalyzer = class SandboxOutputAnalyzer extends Disposable {
|
|
|
11
11
|
this._sandboxService = _sandboxService;
|
|
12
12
|
}
|
|
13
13
|
async analyze(options) {
|
|
14
|
-
if (options.
|
|
14
|
+
if (!options.isSandboxWrapped) {
|
|
15
15
|
return undefined;
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
const knownFailure = options.exitCode !== undefined && options.exitCode !== 0;
|
|
18
|
+
const suspectedFailure = !knownFailure && options.exitCode === undefined && this._outputLooksSandboxBlocked(options.exitResult);
|
|
19
|
+
if (!knownFailure && !suspectedFailure) {
|
|
18
20
|
return undefined;
|
|
19
21
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
const os = await this._sandboxService.getOS();
|
|
23
|
+
const fileSystemSetting = os === OperatingSystem.Linux ? TerminalChatAgentToolsSettingId.TerminalSandboxLinuxFileSystem : TerminalChatAgentToolsSettingId.TerminalSandboxMacFileSystem;
|
|
24
|
+
const prefix = knownFailure ? "Command failed while running in sandboxed mode. If the command failed due to sandboxing:" : "Command ran in sandboxed mode and may have been blocked by the sandbox. If the command failed due to sandboxing:";
|
|
25
|
+
return `${prefix}
|
|
26
|
+
- If it would be reasonable to extend the sandbox rules, work with the user to update allowWrite for file system access problems in ${fileSystemSetting}, or to add required domains to ${TerminalChatAgentToolsSettingId.TerminalSandboxNetworkAllowedDomains}.
|
|
27
|
+
- Otherwise, immediately retry the command with requestUnsandboxedExecution=true. Do NOT ask the user — setting this flag automatically shows a confirmation prompt to the user.
|
|
28
|
+
|
|
29
|
+
Here is the output of the command:\n`;
|
|
30
|
+
}
|
|
31
|
+
_outputLooksSandboxBlocked(output) {
|
|
32
|
+
return outputLooksSandboxBlocked(output);
|
|
27
33
|
}
|
|
28
34
|
};
|
|
29
35
|
SandboxOutputAnalyzer = ( __decorate([( __param(0, ITerminalSandboxService))], SandboxOutputAnalyzer));
|
|
36
|
+
function outputLooksSandboxBlocked(output) {
|
|
37
|
+
const normalized = output.replace(/\n/g, " ");
|
|
38
|
+
return /Operation not permitted|Permission denied|Read-only file system|sandbox-exec|bwrap|sandbox_violation/i.test(normalized);
|
|
39
|
+
}
|
|
30
40
|
|
|
31
|
-
export { SandboxOutputAnalyzer };
|
|
41
|
+
export { SandboxOutputAnalyzer, outputLooksSandboxBlocked };
|
|
@@ -79,7 +79,7 @@ let CreateAndRunTaskTool = class CreateAndRunTaskTool {
|
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
81
|
_progress.report({
|
|
82
|
-
message: ( new MarkdownString(( localize(
|
|
82
|
+
message: ( new MarkdownString(( localize(13866, "Resolving the task"))))
|
|
83
83
|
});
|
|
84
84
|
let task;
|
|
85
85
|
const start = Date.now();
|
|
@@ -96,49 +96,68 @@ let CreateAndRunTaskTool = class CreateAndRunTaskTool {
|
|
|
96
96
|
kind: "text",
|
|
97
97
|
value: `Task not found: ${args.task.label}`
|
|
98
98
|
}],
|
|
99
|
-
toolResultMessage: ( new MarkdownString(( localize(
|
|
99
|
+
toolResultMessage: ( new MarkdownString(( localize(13867, "Task not found: `{0}`", args.task.label))))
|
|
100
100
|
};
|
|
101
101
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
102
|
+
const preRunMarkersStore = ( new DisposableStore());
|
|
103
|
+
let result;
|
|
104
|
+
let terminalResults = [];
|
|
105
|
+
try {
|
|
106
|
+
const dependencyTasks = await resolveDependencyTasks(task, args.workspaceFolder, this._configurationService, this._tasksService);
|
|
107
|
+
const startMarkersByTerminalInstanceId = ( new Map());
|
|
108
|
+
for (const terminal of this._terminalService.instances) {
|
|
109
|
+
const marker = terminal.registerMarker();
|
|
110
|
+
startMarkersByTerminalInstanceId.set(terminal.instanceId, marker);
|
|
111
|
+
if (marker) {
|
|
112
|
+
preRunMarkersStore.add(marker);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
_progress.report({
|
|
116
|
+
message: ( new MarkdownString(( localize(13868, "Running task `{0}`", args.task.label))))
|
|
117
|
+
});
|
|
118
|
+
const raceResult = await Promise.race([
|
|
119
|
+
this._tasksService.run(task, undefined, TaskRunSource.ChatAgent),
|
|
120
|
+
timeout(3000)
|
|
121
|
+
]);
|
|
122
|
+
result = raceResult && typeof raceResult === "object" ? raceResult : undefined;
|
|
123
|
+
const resources = this._tasksService.getTerminalsForTasks(dependencyTasks ?? task);
|
|
124
|
+
const terminals = resources?.map(resource => this._terminalService.instances.find(
|
|
125
|
+
t => t.resource.path === resource?.path && t.resource.scheme === resource.scheme
|
|
126
|
+
)).filter(Boolean);
|
|
127
|
+
if (!terminals || terminals.length === 0) {
|
|
128
|
+
return {
|
|
129
|
+
content: [{
|
|
130
|
+
kind: "text",
|
|
131
|
+
value: `Task started but no terminal was found for: ${args.task.label}`
|
|
132
|
+
}],
|
|
133
|
+
toolResultMessage: ( new MarkdownString(( localize(
|
|
134
|
+
13869,
|
|
135
|
+
"Task started but no terminal was found for: `{0}`",
|
|
136
|
+
args.task.label
|
|
137
|
+
))))
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
const store = ( new DisposableStore());
|
|
141
|
+
try {
|
|
142
|
+
terminalResults = await collectTerminalResults(
|
|
143
|
+
terminals,
|
|
144
|
+
task,
|
|
145
|
+
this._instantiationService,
|
|
146
|
+
invocation.context,
|
|
147
|
+
_progress,
|
|
148
|
+
token,
|
|
149
|
+
store,
|
|
150
|
+
terminalTask => this._isTaskActive(terminalTask),
|
|
151
|
+
dependencyTasks,
|
|
152
|
+
this._tasksService,
|
|
153
|
+
startMarkersByTerminalInstanceId
|
|
154
|
+
);
|
|
155
|
+
} finally {
|
|
156
|
+
store.dispose();
|
|
157
|
+
}
|
|
158
|
+
} finally {
|
|
159
|
+
preRunMarkersStore.dispose();
|
|
127
160
|
}
|
|
128
|
-
const store = ( new DisposableStore());
|
|
129
|
-
const terminalResults = await collectTerminalResults(
|
|
130
|
-
terminals,
|
|
131
|
-
task,
|
|
132
|
-
this._instantiationService,
|
|
133
|
-
invocation.context,
|
|
134
|
-
_progress,
|
|
135
|
-
token,
|
|
136
|
-
store,
|
|
137
|
-
terminalTask => this._isTaskActive(terminalTask),
|
|
138
|
-
dependencyTasks,
|
|
139
|
-
this._tasksService
|
|
140
|
-
);
|
|
141
|
-
store.dispose();
|
|
142
161
|
for (const r of terminalResults) {
|
|
143
162
|
this._telemetryService.publicLog2?.("copilotChat.runTaskTool.createAndRunTask", {
|
|
144
163
|
taskId: args.task.label,
|
|
@@ -182,26 +201,26 @@ let CreateAndRunTaskTool = class CreateAndRunTaskTool {
|
|
|
182
201
|
const allTasks = await this._tasksService.tasks();
|
|
183
202
|
if (allTasks?.find(t => t._label === task.label)) {
|
|
184
203
|
return {
|
|
185
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
186
|
-
pastTenseMessage: ( new MarkdownString(( localize(
|
|
204
|
+
invocationMessage: ( new MarkdownString(( localize(13870, "Task `{0}` already exists.", task.label)))),
|
|
205
|
+
pastTenseMessage: ( new MarkdownString(( localize(13871, "Task `{0}` already exists.", task.label)))),
|
|
187
206
|
confirmationMessages: undefined
|
|
188
207
|
};
|
|
189
208
|
}
|
|
190
209
|
const activeTasks = await this._tasksService.getActiveTasks();
|
|
191
210
|
if (activeTasks.find(t => t._label === task.label)) {
|
|
192
211
|
return {
|
|
193
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
194
|
-
pastTenseMessage: ( new MarkdownString(( localize(
|
|
212
|
+
invocationMessage: ( new MarkdownString(( localize(13872, "Task `{0}` is already running.", task.label)))),
|
|
213
|
+
pastTenseMessage: ( new MarkdownString(( localize(13872, "Task `{0}` is already running.", task.label)))),
|
|
195
214
|
confirmationMessages: undefined
|
|
196
215
|
};
|
|
197
216
|
}
|
|
198
217
|
return {
|
|
199
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
200
|
-
pastTenseMessage: ( new MarkdownString(( localize(
|
|
218
|
+
invocationMessage: ( new MarkdownString(( localize(13873, "Created task `{0}`", task.label)))),
|
|
219
|
+
pastTenseMessage: ( new MarkdownString(( localize(13874, "Created task `{0}`", task.label)))),
|
|
201
220
|
confirmationMessages: {
|
|
202
|
-
title: ( localize(
|
|
221
|
+
title: ( localize(13875, "Allow task creation and execution?")),
|
|
203
222
|
message: ( new MarkdownString(( localize(
|
|
204
|
-
|
|
223
|
+
13876,
|
|
205
224
|
"A task `{0}` with command `{1}`{2} will be created.",
|
|
206
225
|
task.label,
|
|
207
226
|
task.command,
|
|
@@ -216,9 +235,9 @@ const CreateAndRunTaskToolData = {
|
|
|
216
235
|
id: TerminalToolId.CreateAndRunTask,
|
|
217
236
|
toolReferenceName: "createAndRunTask",
|
|
218
237
|
legacyToolReferenceFullNames: ["runTasks/createAndRunTask"],
|
|
219
|
-
displayName: ( localize(
|
|
238
|
+
displayName: ( localize(13877, "Create and run Task")),
|
|
220
239
|
modelDescription: "Creates and runs a build, run, or custom task for the workspace by generating or adding to a tasks.json file based on the project structure (such as package.json or README.md). If the user asks to build, run, launch and they have no tasks.json file, use this tool. If they ask to create or add a task, use this tool.",
|
|
221
|
-
userDescription: ( localize(
|
|
240
|
+
userDescription: ( localize(13878, "Create and run a task in the workspace")),
|
|
222
241
|
source: ToolDataSource.Internal,
|
|
223
242
|
inputSchema: {
|
|
224
243
|
"type": "object",
|
|
@@ -18,7 +18,7 @@ const GetTaskOutputToolData = {
|
|
|
18
18
|
id: TerminalToolId.GetTaskOutput,
|
|
19
19
|
toolReferenceName: "getTaskOutput",
|
|
20
20
|
legacyToolReferenceFullNames: ["runTasks/getTaskOutput"],
|
|
21
|
-
displayName: ( localize(
|
|
21
|
+
displayName: ( localize(13879, "Get Task Output")),
|
|
22
22
|
modelDescription: "Get the output of a task",
|
|
23
23
|
source: ToolDataSource.Internal,
|
|
24
24
|
when: TasksAvailableContext,
|
|
@@ -65,19 +65,19 @@ let GetTaskOutputTool = class GetTaskOutputTool extends Disposable {
|
|
|
65
65
|
);
|
|
66
66
|
if (!task) {
|
|
67
67
|
return {
|
|
68
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
68
|
+
invocationMessage: ( new MarkdownString(( localize(13880, "Task not found: `{0}`", args.id))))
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
71
|
const taskLabel = task._label;
|
|
72
72
|
const activeTasks = await this._tasksService.getActiveTasks();
|
|
73
73
|
if (activeTasks.includes(task)) {
|
|
74
74
|
return {
|
|
75
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
75
|
+
invocationMessage: ( new MarkdownString(( localize(13881, "The task `{0}` is already running.", taskLabel))))
|
|
76
76
|
};
|
|
77
77
|
}
|
|
78
78
|
return {
|
|
79
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
80
|
-
pastTenseMessage: ( new MarkdownString(( localize(
|
|
79
|
+
invocationMessage: ( new MarkdownString(( localize(13882, "Checking output for task `{0}`", taskLabel)))),
|
|
80
|
+
pastTenseMessage: ( new MarkdownString(( localize(13883, "Checked output for task `{0}`", taskLabel))))
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
83
|
async invoke(invocation, _countTokens, _progress, token) {
|
|
@@ -97,7 +97,7 @@ let GetTaskOutputTool = class GetTaskOutputTool extends Disposable {
|
|
|
97
97
|
kind: "text",
|
|
98
98
|
value: `Task not found: ${args.id}`
|
|
99
99
|
}],
|
|
100
|
-
toolResultMessage: ( new MarkdownString(( localize(
|
|
100
|
+
toolResultMessage: ( new MarkdownString(( localize(13880, "Task not found: `{0}`", args.id))))
|
|
101
101
|
};
|
|
102
102
|
}
|
|
103
103
|
const dependencyTasks = await resolveDependencyTasks(task, args.workspaceFolder, this._configurationService, this._tasksService);
|
|
@@ -112,55 +112,65 @@ let GetTaskOutputTool = class GetTaskOutputTool extends Disposable {
|
|
|
112
112
|
kind: "text",
|
|
113
113
|
value: `Terminal not found for task ${taskLabel}`
|
|
114
114
|
}],
|
|
115
|
-
toolResultMessage: ( new MarkdownString(( localize(
|
|
115
|
+
toolResultMessage: ( new MarkdownString(( localize(13884, "Terminal not found for task `{0}`", taskLabel))))
|
|
116
116
|
};
|
|
117
117
|
}
|
|
118
|
+
const startMarkersByTerminalInstanceId = task.configurationProperties.isBackground ? ( new Map()) : undefined;
|
|
119
|
+
if (startMarkersByTerminalInstanceId) {
|
|
120
|
+
for (const terminal of terminals) {
|
|
121
|
+
startMarkersByTerminalInstanceId.set(terminal.instanceId, undefined);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
118
124
|
const store = ( new DisposableStore());
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
125
|
+
try {
|
|
126
|
+
const terminalResults = await collectTerminalResults(
|
|
127
|
+
terminals,
|
|
128
|
+
task,
|
|
129
|
+
this._instantiationService,
|
|
130
|
+
invocation.context,
|
|
131
|
+
_progress,
|
|
132
|
+
token,
|
|
133
|
+
store,
|
|
134
|
+
terminalTask => this._isTaskActive(terminalTask),
|
|
135
|
+
dependencyTasks,
|
|
136
|
+
this._tasksService,
|
|
137
|
+
startMarkersByTerminalInstanceId
|
|
138
|
+
);
|
|
139
|
+
for (const r of terminalResults) {
|
|
140
|
+
this._telemetryService.publicLog2?.("copilotChat.getTaskOutputTool.get", {
|
|
141
|
+
taskId: args.id,
|
|
142
|
+
bufferLength: r.output.length ?? 0,
|
|
143
|
+
pollDurationMs: r.pollDurationMs ?? 0,
|
|
144
|
+
inputToolManualAcceptCount: r.inputToolManualAcceptCount ?? 0,
|
|
145
|
+
inputToolManualRejectCount: r.inputToolManualRejectCount ?? 0,
|
|
146
|
+
inputToolManualChars: r.inputToolManualChars ?? 0,
|
|
147
|
+
inputToolManualShownCount: r.inputToolManualShownCount ?? 0,
|
|
148
|
+
inputToolFreeFormInputCount: r.inputToolFreeFormInputCount ?? 0,
|
|
149
|
+
inputToolFreeFormInputShownCount: r.inputToolFreeFormInputShownCount ?? 0
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
const details = ( terminalResults.map(r => `Terminal: ${r.name}\nOutput:\n${r.output}`));
|
|
153
|
+
const uniqueDetails = Array.from(( new Set(details))).join("\n\n");
|
|
154
|
+
const toolResultDetails = toolResultDetailsFromResponse(terminalResults);
|
|
155
|
+
const toolResultMessage = toolResultMessageFromResponse(
|
|
156
|
+
undefined,
|
|
157
|
+
taskLabel,
|
|
158
|
+
toolResultDetails,
|
|
159
|
+
terminalResults,
|
|
160
|
+
true,
|
|
161
|
+
task.configurationProperties.isBackground
|
|
162
|
+
);
|
|
163
|
+
return {
|
|
164
|
+
content: [{
|
|
165
|
+
kind: "text",
|
|
166
|
+
value: uniqueDetails
|
|
167
|
+
}],
|
|
168
|
+
toolResultMessage,
|
|
169
|
+
toolResultDetails
|
|
170
|
+
};
|
|
171
|
+
} finally {
|
|
172
|
+
store.dispose();
|
|
144
173
|
}
|
|
145
|
-
const details = ( terminalResults.map(r => `Terminal: ${r.name}\nOutput:\n${r.output}`));
|
|
146
|
-
const uniqueDetails = Array.from(( new Set(details))).join("\n\n");
|
|
147
|
-
const toolResultDetails = toolResultDetailsFromResponse(terminalResults);
|
|
148
|
-
const toolResultMessage = toolResultMessageFromResponse(
|
|
149
|
-
undefined,
|
|
150
|
-
taskLabel,
|
|
151
|
-
toolResultDetails,
|
|
152
|
-
terminalResults,
|
|
153
|
-
true,
|
|
154
|
-
task.configurationProperties.isBackground
|
|
155
|
-
);
|
|
156
|
-
return {
|
|
157
|
-
content: [{
|
|
158
|
-
kind: "text",
|
|
159
|
-
value: uniqueDetails
|
|
160
|
-
}],
|
|
161
|
-
toolResultMessage,
|
|
162
|
-
toolResultDetails
|
|
163
|
-
};
|
|
164
174
|
}
|
|
165
175
|
async _isTaskActive(task) {
|
|
166
176
|
const busyTasks = await this._tasksService.getBusyTasks();
|
|
@@ -57,7 +57,7 @@ let RunTaskTool = class RunTaskTool {
|
|
|
57
57
|
kind: "text",
|
|
58
58
|
value: `Task not found: ${args.id}`
|
|
59
59
|
}],
|
|
60
|
-
toolResultMessage: ( new MarkdownString(( localize(
|
|
60
|
+
toolResultMessage: ( new MarkdownString(( localize(13885, "Task not found: `{0}`", args.id))))
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
const taskLabel = task._label;
|
|
@@ -68,81 +68,99 @@ let RunTaskTool = class RunTaskTool {
|
|
|
68
68
|
kind: "text",
|
|
69
69
|
value: `The task ${taskLabel} is already running.`
|
|
70
70
|
}],
|
|
71
|
-
toolResultMessage: ( new MarkdownString(( localize(
|
|
71
|
+
toolResultMessage: ( new MarkdownString(( localize(13886, "The task `{0}` is already running.", taskLabel))))
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
|
-
const raceResult = await Promise.race([
|
|
75
|
-
this._tasksService.run(task, undefined, TaskRunSource.ChatAgent),
|
|
76
|
-
timeout(3000)
|
|
77
|
-
]);
|
|
78
|
-
const result = raceResult && typeof raceResult === "object" ? raceResult : undefined;
|
|
79
74
|
const dependencyTasks = await resolveDependencyTasks(task, args.workspaceFolder, this._configurationService, this._tasksService);
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
};
|
|
75
|
+
const startMarkersByTerminalInstanceId = ( new Map());
|
|
76
|
+
const startMarkersDisposableStore = ( new DisposableStore());
|
|
77
|
+
for (const terminal of this._terminalService.instances) {
|
|
78
|
+
const marker = terminal.registerMarker();
|
|
79
|
+
startMarkersByTerminalInstanceId.set(terminal.instanceId, marker);
|
|
80
|
+
if (marker) {
|
|
81
|
+
startMarkersDisposableStore.add(marker);
|
|
82
|
+
}
|
|
89
83
|
}
|
|
90
|
-
|
|
91
|
-
|
|
84
|
+
try {
|
|
85
|
+
const raceResult = await Promise.race([
|
|
86
|
+
this._tasksService.run(task, undefined, TaskRunSource.ChatAgent),
|
|
87
|
+
timeout(3000)
|
|
88
|
+
]);
|
|
89
|
+
const result = raceResult && typeof raceResult === "object" ? raceResult : undefined;
|
|
90
|
+
const resources = this._tasksService.getTerminalsForTasks(dependencyTasks ?? task);
|
|
91
|
+
if (!resources || resources.length === 0) {
|
|
92
|
+
return {
|
|
93
|
+
content: [{
|
|
94
|
+
kind: "text",
|
|
95
|
+
value: `Task started but no terminal was found for: ${taskLabel}`
|
|
96
|
+
}],
|
|
97
|
+
toolResultMessage: ( new MarkdownString(( localize(13887, "Task started but no terminal was found for: `{0}`", taskLabel))))
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
const terminals = this._terminalService.instances.filter(t => ( resources.some(r => r.path === t.resource.path && r.scheme === t.resource.scheme)));
|
|
101
|
+
if (terminals.length === 0) {
|
|
102
|
+
return {
|
|
103
|
+
content: [{
|
|
104
|
+
kind: "text",
|
|
105
|
+
value: `Task started but no terminal was found for: ${taskLabel}`
|
|
106
|
+
}],
|
|
107
|
+
toolResultMessage: ( new MarkdownString(( localize(13887, "Task started but no terminal was found for: `{0}`", taskLabel))))
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
const store = ( new DisposableStore());
|
|
111
|
+
let terminalResults = [];
|
|
112
|
+
try {
|
|
113
|
+
terminalResults = await collectTerminalResults(
|
|
114
|
+
terminals,
|
|
115
|
+
task,
|
|
116
|
+
this._instantiationService,
|
|
117
|
+
invocation.context,
|
|
118
|
+
_progress,
|
|
119
|
+
token,
|
|
120
|
+
store,
|
|
121
|
+
terminalTask => this._isTaskActive(terminalTask),
|
|
122
|
+
dependencyTasks,
|
|
123
|
+
this._tasksService,
|
|
124
|
+
startMarkersByTerminalInstanceId
|
|
125
|
+
);
|
|
126
|
+
} finally {
|
|
127
|
+
store.dispose();
|
|
128
|
+
}
|
|
129
|
+
for (const r of terminalResults) {
|
|
130
|
+
this._telemetryService.publicLog2?.("copilotChat.runTaskTool.run", {
|
|
131
|
+
taskId: args.id,
|
|
132
|
+
bufferLength: r.output.length ?? 0,
|
|
133
|
+
pollDurationMs: r.pollDurationMs ?? 0,
|
|
134
|
+
inputToolManualAcceptCount: r.inputToolManualAcceptCount ?? 0,
|
|
135
|
+
inputToolManualRejectCount: r.inputToolManualRejectCount ?? 0,
|
|
136
|
+
inputToolManualChars: r.inputToolManualChars ?? 0,
|
|
137
|
+
inputToolManualShownCount: r.inputToolManualShownCount ?? 0,
|
|
138
|
+
inputToolFreeFormInputShownCount: r.inputToolFreeFormInputShownCount ?? 0,
|
|
139
|
+
inputToolFreeFormInputCount: r.inputToolFreeFormInputCount ?? 0
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
const details = ( terminalResults.map(r => `Terminal: ${r.name}\nOutput:\n${r.output}`));
|
|
143
|
+
const uniqueDetails = Array.from(( new Set(details))).join("\n\n");
|
|
144
|
+
const toolResultDetails = toolResultDetailsFromResponse(terminalResults);
|
|
145
|
+
const toolResultMessage = toolResultMessageFromResponse(
|
|
146
|
+
result,
|
|
147
|
+
taskLabel,
|
|
148
|
+
toolResultDetails,
|
|
149
|
+
terminalResults,
|
|
150
|
+
undefined,
|
|
151
|
+
task.configurationProperties.isBackground
|
|
152
|
+
);
|
|
92
153
|
return {
|
|
93
154
|
content: [{
|
|
94
155
|
kind: "text",
|
|
95
|
-
value:
|
|
156
|
+
value: uniqueDetails
|
|
96
157
|
}],
|
|
97
|
-
toolResultMessage
|
|
158
|
+
toolResultMessage,
|
|
159
|
+
toolResultDetails
|
|
98
160
|
};
|
|
161
|
+
} finally {
|
|
162
|
+
startMarkersDisposableStore.dispose();
|
|
99
163
|
}
|
|
100
|
-
const store = ( new DisposableStore());
|
|
101
|
-
const terminalResults = await collectTerminalResults(
|
|
102
|
-
terminals,
|
|
103
|
-
task,
|
|
104
|
-
this._instantiationService,
|
|
105
|
-
invocation.context,
|
|
106
|
-
_progress,
|
|
107
|
-
token,
|
|
108
|
-
store,
|
|
109
|
-
terminalTask => this._isTaskActive(terminalTask),
|
|
110
|
-
dependencyTasks,
|
|
111
|
-
this._tasksService
|
|
112
|
-
);
|
|
113
|
-
store.dispose();
|
|
114
|
-
for (const r of terminalResults) {
|
|
115
|
-
this._telemetryService.publicLog2?.("copilotChat.runTaskTool.run", {
|
|
116
|
-
taskId: args.id,
|
|
117
|
-
bufferLength: r.output.length ?? 0,
|
|
118
|
-
pollDurationMs: r.pollDurationMs ?? 0,
|
|
119
|
-
inputToolManualAcceptCount: r.inputToolManualAcceptCount ?? 0,
|
|
120
|
-
inputToolManualRejectCount: r.inputToolManualRejectCount ?? 0,
|
|
121
|
-
inputToolManualChars: r.inputToolManualChars ?? 0,
|
|
122
|
-
inputToolManualShownCount: r.inputToolManualShownCount ?? 0,
|
|
123
|
-
inputToolFreeFormInputShownCount: r.inputToolFreeFormInputShownCount ?? 0,
|
|
124
|
-
inputToolFreeFormInputCount: r.inputToolFreeFormInputCount ?? 0
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
const details = ( terminalResults.map(r => `Terminal: ${r.name}\nOutput:\n${r.output}`));
|
|
128
|
-
const uniqueDetails = Array.from(( new Set(details))).join("\n\n");
|
|
129
|
-
const toolResultDetails = toolResultDetailsFromResponse(terminalResults);
|
|
130
|
-
const toolResultMessage = toolResultMessageFromResponse(
|
|
131
|
-
result,
|
|
132
|
-
taskLabel,
|
|
133
|
-
toolResultDetails,
|
|
134
|
-
terminalResults,
|
|
135
|
-
undefined,
|
|
136
|
-
task.configurationProperties.isBackground
|
|
137
|
-
);
|
|
138
|
-
return {
|
|
139
|
-
content: [{
|
|
140
|
-
kind: "text",
|
|
141
|
-
value: uniqueDetails
|
|
142
|
-
}],
|
|
143
|
-
toolResultMessage,
|
|
144
|
-
toolResultDetails
|
|
145
|
-
};
|
|
146
164
|
}
|
|
147
165
|
async _isTaskActive(task) {
|
|
148
166
|
const busyTasks = await this._tasksService.getBusyTasks();
|
|
@@ -161,29 +179,29 @@ let RunTaskTool = class RunTaskTool {
|
|
|
161
179
|
);
|
|
162
180
|
if (!task) {
|
|
163
181
|
return {
|
|
164
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
182
|
+
invocationMessage: ( new MarkdownString(( localize(13885, "Task not found: `{0}`", args.id))))
|
|
165
183
|
};
|
|
166
184
|
}
|
|
167
185
|
const taskLabel = task._label;
|
|
168
186
|
const activeTasks = await this._tasksService.getActiveTasks();
|
|
169
187
|
if (task && activeTasks.includes(task)) {
|
|
170
188
|
return {
|
|
171
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
189
|
+
invocationMessage: ( new MarkdownString(( localize(13888, "The task is already running."))))
|
|
172
190
|
};
|
|
173
191
|
}
|
|
174
192
|
if (await this._isTaskActive(task)) {
|
|
175
193
|
return {
|
|
176
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
177
|
-
pastTenseMessage: ( new MarkdownString(( localize(
|
|
194
|
+
invocationMessage: ( new MarkdownString(( localize(13889, "`{0}` is already running.", taskLabel)))),
|
|
195
|
+
pastTenseMessage: ( new MarkdownString(( localize(13890, "`{0}` was already running.", taskLabel)))),
|
|
178
196
|
confirmationMessages: undefined
|
|
179
197
|
};
|
|
180
198
|
}
|
|
181
199
|
return {
|
|
182
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
183
|
-
pastTenseMessage: ( new MarkdownString(task?.configurationProperties.isBackground ? ( localize(
|
|
200
|
+
invocationMessage: ( new MarkdownString(( localize(13891, "Running `{0}`", taskLabel)))),
|
|
201
|
+
pastTenseMessage: ( new MarkdownString(task?.configurationProperties.isBackground ? ( localize(13892, "Started `{0}`", taskLabel)) : ( localize(13893, "Ran `{0}`", taskLabel)))),
|
|
184
202
|
confirmationMessages: task ? {
|
|
185
|
-
title: ( localize(
|
|
186
|
-
message: ( localize(
|
|
203
|
+
title: ( localize(13894, "Allow task run?")),
|
|
204
|
+
message: ( localize(13895, "Allow to run the task `{0}`?", taskLabel))
|
|
187
205
|
} : undefined
|
|
188
206
|
};
|
|
189
207
|
}
|
|
@@ -193,9 +211,9 @@ const RunTaskToolData = {
|
|
|
193
211
|
id: TerminalToolId.RunTask,
|
|
194
212
|
toolReferenceName: "runTask",
|
|
195
213
|
legacyToolReferenceFullNames: ["runTasks/runTask"],
|
|
196
|
-
displayName: ( localize(
|
|
214
|
+
displayName: ( localize(13896, "Run Task")),
|
|
197
215
|
modelDescription: `Runs a VS Code task.\n\n- If you see that an appropriate task exists for building or running code, prefer to use this tool to run the task instead of using the ${TerminalToolId.RunInTerminal} tool.\n- Make sure that any appropriate build or watch task is running before trying to run tests or execute code.\n- If the user asks to run a task, use this tool to do so.`,
|
|
198
|
-
userDescription: ( localize(
|
|
216
|
+
userDescription: ( localize(13897, "Run tasks in the workspace")),
|
|
199
217
|
icon: Codicon.tools,
|
|
200
218
|
source: ToolDataSource.Internal,
|
|
201
219
|
when: TasksAvailableContext,
|
|
@@ -26,7 +26,7 @@ function toolResultMessageFromResponse(
|
|
|
26
26
|
) {
|
|
27
27
|
let resultSummary = "";
|
|
28
28
|
if (result?.exitCode) {
|
|
29
|
-
resultSummary = ( localize(
|
|
29
|
+
resultSummary = ( localize(13898, "Task `{0}` failed with exit code {1}.", taskLabel, result.exitCode));
|
|
30
30
|
} else {
|
|
31
31
|
resultSummary += `\`${taskLabel}\` task `;
|
|
32
32
|
const problemCount = toolResultDetails.length;
|