@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
|
@@ -57,7 +57,7 @@ import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs
|
|
|
57
57
|
import { IHistoryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/history/common/history.service';
|
|
58
58
|
import { TerminalCommandArtifactCollector } from './terminalCommandArtifactCollector.js';
|
|
59
59
|
import { isNumber, isString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
60
|
-
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
60
|
+
import { ChatConfiguration, isAutoApproveLevel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
61
61
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
62
62
|
import { TerminalChatCommandId } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
|
|
63
63
|
import { clamp } from '@codingame/monaco-vscode-api/vscode/vs/base/common/numbers';
|
|
@@ -194,9 +194,9 @@ async function createRunInTerminalToolData(accessor) {
|
|
|
194
194
|
id: TerminalToolId.RunInTerminal,
|
|
195
195
|
toolReferenceName: TOOL_REFERENCE_NAME,
|
|
196
196
|
legacyToolReferenceFullNames: LEGACY_TOOL_REFERENCE_FULL_NAMES,
|
|
197
|
-
displayName: ( localize(
|
|
197
|
+
displayName: ( localize(13593, "Run in Terminal")),
|
|
198
198
|
modelDescription,
|
|
199
|
-
userDescription: ( localize(
|
|
199
|
+
userDescription: ( localize(13594, "Run commands in the terminal")),
|
|
200
200
|
source: ToolDataSource.Internal,
|
|
201
201
|
icon: Codicon.terminal,
|
|
202
202
|
inputSchema: {
|
|
@@ -234,7 +234,7 @@ var TerminalToolStorageKeysInternal;
|
|
|
234
234
|
const telemetryIgnoredSequences = [
|
|
235
235
|
"\u001b[I",
|
|
236
236
|
"\u001b[O"];
|
|
237
|
-
const altBufferMessage = "\n" + ( localize(
|
|
237
|
+
const altBufferMessage = "\n" + ( localize(13595, "The command opened the alternate buffer."));
|
|
238
238
|
let RunInTerminalTool = class RunInTerminalTool extends Disposable {
|
|
239
239
|
static {
|
|
240
240
|
RunInTerminalTool_1 = this;
|
|
@@ -494,16 +494,16 @@ let RunInTerminalTool = class RunInTerminalTool extends Disposable {
|
|
|
494
494
|
cdPrefix
|
|
495
495
|
};
|
|
496
496
|
confirmationTitle = args.isBackground ? ( localize(
|
|
497
|
-
|
|
497
|
+
13596,
|
|
498
498
|
"Run `{0}` command in background within `{1}`?",
|
|
499
499
|
shellType,
|
|
500
500
|
directoryLabel
|
|
501
|
-
)) : ( localize(
|
|
501
|
+
)) : ( localize(13597, "Run `{0}` command within `{1}`?", shellType, directoryLabel));
|
|
502
502
|
} else {
|
|
503
503
|
toolSpecificData.confirmation = {
|
|
504
504
|
commandLine: commandToDisplay
|
|
505
505
|
};
|
|
506
|
-
confirmationTitle = args.isBackground ? ( localize(
|
|
506
|
+
confirmationTitle = args.isBackground ? ( localize(13598, "Run `{0}` command in background?", shellType)) : ( localize(13599, "Run `{0}` command?", shellType));
|
|
507
507
|
}
|
|
508
508
|
const commandForPresenter = extractedCd?.command ?? commandToDisplay;
|
|
509
509
|
let presenterInput = commandForPresenter;
|
|
@@ -523,13 +523,13 @@ let RunInTerminalTool = class RunInTerminalTool extends Disposable {
|
|
|
523
523
|
};
|
|
524
524
|
if (extractedCd && toolSpecificData.confirmation?.cwdLabel) {
|
|
525
525
|
confirmationTitle = args.isBackground ? ( localize(
|
|
526
|
-
|
|
526
|
+
13600,
|
|
527
527
|
"Run `{0}` command in `{1}` in background within `{2}`?",
|
|
528
528
|
presenterResult.languageDisplayName,
|
|
529
529
|
shellType,
|
|
530
530
|
toolSpecificData.confirmation.cwdLabel
|
|
531
531
|
)) : ( localize(
|
|
532
|
-
|
|
532
|
+
13601,
|
|
533
533
|
"Run `{0}` command in `{1}` within `{2}`?",
|
|
534
534
|
presenterResult.languageDisplayName,
|
|
535
535
|
shellType,
|
|
@@ -537,12 +537,12 @@ let RunInTerminalTool = class RunInTerminalTool extends Disposable {
|
|
|
537
537
|
));
|
|
538
538
|
} else {
|
|
539
539
|
confirmationTitle = args.isBackground ? ( localize(
|
|
540
|
-
|
|
540
|
+
13602,
|
|
541
541
|
"Run `{0}` command in `{1}` in background?",
|
|
542
542
|
presenterResult.languageDisplayName,
|
|
543
543
|
shellType
|
|
544
544
|
)) : ( localize(
|
|
545
|
-
|
|
545
|
+
13603,
|
|
546
546
|
"Run `{0}` command in `{1}`?",
|
|
547
547
|
presenterResult.languageDisplayName,
|
|
548
548
|
shellType
|
|
@@ -554,10 +554,11 @@ let RunInTerminalTool = class RunInTerminalTool extends Disposable {
|
|
|
554
554
|
presenterInput = presenterResult.commandLine;
|
|
555
555
|
}
|
|
556
556
|
}
|
|
557
|
-
const
|
|
557
|
+
const isSessionAutoApproved = chatSessionResource && this._isSessionAutoApproveLevel(chatSessionResource);
|
|
558
|
+
const shouldShowConfirmation = (!isFinalAutoApproved && !isSessionAutoApproved) || context.forceConfirmationReason !== undefined;
|
|
558
559
|
const confirmationMessages = shouldShowConfirmation ? {
|
|
559
560
|
title: confirmationTitle,
|
|
560
|
-
message: ( new MarkdownString(( localize(
|
|
561
|
+
message: ( new MarkdownString(( localize(13604, "Explanation: {0}\n\nGoal: {1}", args.explanation, args.goal)))),
|
|
561
562
|
disclaimer,
|
|
562
563
|
terminalCustomActions: customActions
|
|
563
564
|
} : undefined;
|
|
@@ -566,6 +567,19 @@ let RunInTerminalTool = class RunInTerminalTool extends Disposable {
|
|
|
566
567
|
toolSpecificData
|
|
567
568
|
};
|
|
568
569
|
}
|
|
570
|
+
_isSessionAutoApproveLevel(chatSessionResource) {
|
|
571
|
+
const inspected = this._configurationService.inspect(ChatConfiguration.GlobalAutoApprove);
|
|
572
|
+
if (inspected.policyValue === false) {
|
|
573
|
+
return false;
|
|
574
|
+
}
|
|
575
|
+
const widget = this._chatWidgetService.getWidgetBySessionResource(chatSessionResource) ?? this._chatWidgetService.lastFocusedWidget;
|
|
576
|
+
if (widget && isAutoApproveLevel(widget.input.currentModeInfo.permissionLevel)) {
|
|
577
|
+
return true;
|
|
578
|
+
}
|
|
579
|
+
const model = this._chatService.getSession(chatSessionResource);
|
|
580
|
+
const request = model?.getRequests().at(-1);
|
|
581
|
+
return isAutoApproveLevel(request?.modeInfo?.permissionLevel);
|
|
582
|
+
}
|
|
569
583
|
async invoke(invocation, _countTokens, _progress, token) {
|
|
570
584
|
const toolSpecificData = invocation.toolSpecificData;
|
|
571
585
|
if (!toolSpecificData) {
|
|
@@ -18,7 +18,7 @@ let SandboxOutputAnalyzer = class SandboxOutputAnalyzer extends Disposable {
|
|
|
18
18
|
return undefined;
|
|
19
19
|
}
|
|
20
20
|
return localize(
|
|
21
|
-
|
|
21
|
+
13605,
|
|
22
22
|
"Command failed while running in sandboxed mode. Use the command result to determine the scenario. If the issue is filesystem permissions, update allowWrite in {0} (Linux) or {1} (macOS). If the issue is domain/network related, add the required domains to {2}.allowedDomains.",
|
|
23
23
|
TerminalChatAgentToolsSettingId.TerminalSandboxLinuxFileSystem,
|
|
24
24
|
TerminalChatAgentToolsSettingId.TerminalSandboxMacFileSystem,
|
|
@@ -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(13606, "Resolving the task"))))
|
|
83
83
|
});
|
|
84
84
|
let task;
|
|
85
85
|
const start = Date.now();
|
|
@@ -96,11 +96,11 @@ 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(13607, "Task not found: `{0}`", args.task.label))))
|
|
100
100
|
};
|
|
101
101
|
}
|
|
102
102
|
_progress.report({
|
|
103
|
-
message: ( new MarkdownString(( localize(
|
|
103
|
+
message: ( new MarkdownString(( localize(13608, "Running task `{0}`", args.task.label))))
|
|
104
104
|
});
|
|
105
105
|
const raceResult = await Promise.race([
|
|
106
106
|
this._tasksService.run(task, undefined, TaskRunSource.ChatAgent),
|
|
@@ -119,7 +119,7 @@ let CreateAndRunTaskTool = class CreateAndRunTaskTool {
|
|
|
119
119
|
value: `Task started but no terminal was found for: ${args.task.label}`
|
|
120
120
|
}],
|
|
121
121
|
toolResultMessage: ( new MarkdownString(( localize(
|
|
122
|
-
|
|
122
|
+
13609,
|
|
123
123
|
"Task started but no terminal was found for: `{0}`",
|
|
124
124
|
args.task.label
|
|
125
125
|
))))
|
|
@@ -182,26 +182,26 @@ let CreateAndRunTaskTool = class CreateAndRunTaskTool {
|
|
|
182
182
|
const allTasks = await this._tasksService.tasks();
|
|
183
183
|
if (allTasks?.find(t => t._label === task.label)) {
|
|
184
184
|
return {
|
|
185
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
186
|
-
pastTenseMessage: ( new MarkdownString(( localize(
|
|
185
|
+
invocationMessage: ( new MarkdownString(( localize(13610, "Task `{0}` already exists.", task.label)))),
|
|
186
|
+
pastTenseMessage: ( new MarkdownString(( localize(13611, "Task `{0}` already exists.", task.label)))),
|
|
187
187
|
confirmationMessages: undefined
|
|
188
188
|
};
|
|
189
189
|
}
|
|
190
190
|
const activeTasks = await this._tasksService.getActiveTasks();
|
|
191
191
|
if (activeTasks.find(t => t._label === task.label)) {
|
|
192
192
|
return {
|
|
193
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
194
|
-
pastTenseMessage: ( new MarkdownString(( localize(
|
|
193
|
+
invocationMessage: ( new MarkdownString(( localize(13612, "Task `{0}` is already running.", task.label)))),
|
|
194
|
+
pastTenseMessage: ( new MarkdownString(( localize(13612, "Task `{0}` is already running.", task.label)))),
|
|
195
195
|
confirmationMessages: undefined
|
|
196
196
|
};
|
|
197
197
|
}
|
|
198
198
|
return {
|
|
199
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
200
|
-
pastTenseMessage: ( new MarkdownString(( localize(
|
|
199
|
+
invocationMessage: ( new MarkdownString(( localize(13613, "Created task `{0}`", task.label)))),
|
|
200
|
+
pastTenseMessage: ( new MarkdownString(( localize(13614, "Created task `{0}`", task.label)))),
|
|
201
201
|
confirmationMessages: {
|
|
202
|
-
title: ( localize(
|
|
202
|
+
title: ( localize(13615, "Allow task creation and execution?")),
|
|
203
203
|
message: ( new MarkdownString(( localize(
|
|
204
|
-
|
|
204
|
+
13616,
|
|
205
205
|
"A task `{0}` with command `{1}`{2} will be created.",
|
|
206
206
|
task.label,
|
|
207
207
|
task.command,
|
|
@@ -216,9 +216,9 @@ const CreateAndRunTaskToolData = {
|
|
|
216
216
|
id: TerminalToolId.CreateAndRunTask,
|
|
217
217
|
toolReferenceName: "createAndRunTask",
|
|
218
218
|
legacyToolReferenceFullNames: ["runTasks/createAndRunTask"],
|
|
219
|
-
displayName: ( localize(
|
|
219
|
+
displayName: ( localize(13617, "Create and run Task")),
|
|
220
220
|
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(
|
|
221
|
+
userDescription: ( localize(13618, "Create and run a task in the workspace")),
|
|
222
222
|
source: ToolDataSource.Internal,
|
|
223
223
|
inputSchema: {
|
|
224
224
|
"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(13619, "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(13620, "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(13621, "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(13622, "Checking output for task `{0}`", taskLabel)))),
|
|
80
|
+
pastTenseMessage: ( new MarkdownString(( localize(13623, "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(13620, "Task not found: `{0}`", args.id))))
|
|
101
101
|
};
|
|
102
102
|
}
|
|
103
103
|
const dependencyTasks = await resolveDependencyTasks(task, args.workspaceFolder, this._configurationService, this._tasksService);
|
|
@@ -112,7 +112,7 @@ 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(13624, "Terminal not found for task `{0}`", taskLabel))))
|
|
116
116
|
};
|
|
117
117
|
}
|
|
118
118
|
const store = ( new DisposableStore());
|
|
@@ -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(13625, "Task not found: `{0}`", args.id))))
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
const taskLabel = task._label;
|
|
@@ -68,7 +68,7 @@ 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(13626, "The task `{0}` is already running.", taskLabel))))
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
74
|
const raceResult = await Promise.race([
|
|
@@ -84,7 +84,7 @@ let RunTaskTool = class RunTaskTool {
|
|
|
84
84
|
kind: "text",
|
|
85
85
|
value: `Task started but no terminal was found for: ${taskLabel}`
|
|
86
86
|
}],
|
|
87
|
-
toolResultMessage: ( new MarkdownString(( localize(
|
|
87
|
+
toolResultMessage: ( new MarkdownString(( localize(13627, "Task started but no terminal was found for: `{0}`", taskLabel))))
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
90
|
const terminals = this._terminalService.instances.filter(t => ( resources.some(r => r.path === t.resource.path && r.scheme === t.resource.scheme)));
|
|
@@ -94,7 +94,7 @@ let RunTaskTool = class RunTaskTool {
|
|
|
94
94
|
kind: "text",
|
|
95
95
|
value: `Task started but no terminal was found for: ${taskLabel}`
|
|
96
96
|
}],
|
|
97
|
-
toolResultMessage: ( new MarkdownString(( localize(
|
|
97
|
+
toolResultMessage: ( new MarkdownString(( localize(13627, "Task started but no terminal was found for: `{0}`", taskLabel))))
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
100
|
const store = ( new DisposableStore());
|
|
@@ -161,29 +161,29 @@ let RunTaskTool = class RunTaskTool {
|
|
|
161
161
|
);
|
|
162
162
|
if (!task) {
|
|
163
163
|
return {
|
|
164
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
164
|
+
invocationMessage: ( new MarkdownString(( localize(13625, "Task not found: `{0}`", args.id))))
|
|
165
165
|
};
|
|
166
166
|
}
|
|
167
167
|
const taskLabel = task._label;
|
|
168
168
|
const activeTasks = await this._tasksService.getActiveTasks();
|
|
169
169
|
if (task && activeTasks.includes(task)) {
|
|
170
170
|
return {
|
|
171
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
171
|
+
invocationMessage: ( new MarkdownString(( localize(13628, "The task is already running."))))
|
|
172
172
|
};
|
|
173
173
|
}
|
|
174
174
|
if (await this._isTaskActive(task)) {
|
|
175
175
|
return {
|
|
176
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
177
|
-
pastTenseMessage: ( new MarkdownString(( localize(
|
|
176
|
+
invocationMessage: ( new MarkdownString(( localize(13629, "`{0}` is already running.", taskLabel)))),
|
|
177
|
+
pastTenseMessage: ( new MarkdownString(( localize(13630, "`{0}` was already running.", taskLabel)))),
|
|
178
178
|
confirmationMessages: undefined
|
|
179
179
|
};
|
|
180
180
|
}
|
|
181
181
|
return {
|
|
182
|
-
invocationMessage: ( new MarkdownString(( localize(
|
|
183
|
-
pastTenseMessage: ( new MarkdownString(task?.configurationProperties.isBackground ? ( localize(
|
|
182
|
+
invocationMessage: ( new MarkdownString(( localize(13631, "Running `{0}`", taskLabel)))),
|
|
183
|
+
pastTenseMessage: ( new MarkdownString(task?.configurationProperties.isBackground ? ( localize(13632, "Started `{0}`", taskLabel)) : ( localize(13633, "Ran `{0}`", taskLabel)))),
|
|
184
184
|
confirmationMessages: task ? {
|
|
185
|
-
title: ( localize(
|
|
186
|
-
message: ( localize(
|
|
185
|
+
title: ( localize(13634, "Allow task run?")),
|
|
186
|
+
message: ( localize(13635, "Allow to run the task `{0}`?", taskLabel))
|
|
187
187
|
} : undefined
|
|
188
188
|
};
|
|
189
189
|
}
|
|
@@ -193,9 +193,9 @@ const RunTaskToolData = {
|
|
|
193
193
|
id: TerminalToolId.RunTask,
|
|
194
194
|
toolReferenceName: "runTask",
|
|
195
195
|
legacyToolReferenceFullNames: ["runTasks/runTask"],
|
|
196
|
-
displayName: ( localize(
|
|
196
|
+
displayName: ( localize(13636, "Run Task")),
|
|
197
197
|
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(
|
|
198
|
+
userDescription: ( localize(13637, "Run tasks in the workspace")),
|
|
199
199
|
icon: Codicon.tools,
|
|
200
200
|
source: ToolDataSource.Internal,
|
|
201
201
|
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(13638, "Task `{0}` failed with exit code {1}.", taskLabel, result.exitCode));
|
|
30
30
|
} else {
|
|
31
31
|
resultSummary += `\`${taskLabel}\` task `;
|
|
32
32
|
const problemCount = toolResultDetails.length;
|
|
@@ -27,6 +27,7 @@ export declare class TerminalSandboxService extends Disposable implements ITermi
|
|
|
27
27
|
private _remoteEnvDetails;
|
|
28
28
|
private _appRoot;
|
|
29
29
|
private _os;
|
|
30
|
+
private _defaultWritePaths;
|
|
30
31
|
constructor(_configurationService: IConfigurationService, _fileService: IFileService, _environmentService: IEnvironmentService, _logService: ILogService, _remoteAgentService: IRemoteAgentService, _trustedDomainService: ITrustedDomainService);
|
|
31
32
|
isEnabled(): Promise<boolean>;
|
|
32
33
|
wrapCommand(command: string): string;
|
|
@@ -36,6 +36,7 @@ let TerminalSandboxService = class TerminalSandboxService extends Disposable {
|
|
|
36
36
|
this._needsForceUpdateConfigFile = true;
|
|
37
37
|
this._remoteEnvDetails = null;
|
|
38
38
|
this._os = OS;
|
|
39
|
+
this._defaultWritePaths = ["~/.npm"];
|
|
39
40
|
this._pathJoin = (...segments) => {
|
|
40
41
|
const path = this._os === OperatingSystem.Windows ? win32 : posix;
|
|
41
42
|
return path.join(...segments);
|
|
@@ -129,6 +130,9 @@ let TerminalSandboxService = class TerminalSandboxService extends Disposable {
|
|
|
129
130
|
const linuxFileSystemSetting = this._os === OperatingSystem.Linux ? this._configurationService.getValue(TerminalChatAgentToolsSettingId.TerminalSandboxLinuxFileSystem) ?? {} : {};
|
|
130
131
|
const macFileSystemSetting = this._os === OperatingSystem.Macintosh ? this._configurationService.getValue(TerminalChatAgentToolsSettingId.TerminalSandboxMacFileSystem) ?? {} : {};
|
|
131
132
|
const configFileUri = URI.joinPath(this._tempDir, `vscode-sandbox-settings-${this._sandboxSettingsId}.json`);
|
|
133
|
+
const defaultAllowWrite = [...this._defaultWritePaths];
|
|
134
|
+
const linuxAllowWrite = [...( new Set([...(linuxFileSystemSetting.allowWrite ?? []), ...defaultAllowWrite]))];
|
|
135
|
+
const macAllowWrite = [...( new Set([...(macFileSystemSetting.allowWrite ?? []), ...defaultAllowWrite]))];
|
|
132
136
|
let allowedDomains = networkSetting.allowedDomains ?? [];
|
|
133
137
|
if (networkSetting.allowTrustedDomains) {
|
|
134
138
|
allowedDomains = this._addTrustedDomainsToAllowedDomains(allowedDomains);
|
|
@@ -140,7 +144,7 @@ let TerminalSandboxService = class TerminalSandboxService extends Disposable {
|
|
|
140
144
|
},
|
|
141
145
|
filesystem: {
|
|
142
146
|
denyRead: this._os === OperatingSystem.Macintosh ? macFileSystemSetting.denyRead : linuxFileSystemSetting.denyRead,
|
|
143
|
-
allowWrite: this._os === OperatingSystem.Macintosh ?
|
|
147
|
+
allowWrite: this._os === OperatingSystem.Macintosh ? macAllowWrite : linuxAllowWrite,
|
|
144
148
|
denyWrite: this._os === OperatingSystem.Macintosh ? macFileSystemSetting.denyWrite : linuxFileSystemSetting.denyWrite
|
|
145
149
|
}
|
|
146
150
|
};
|
|
@@ -166,6 +170,9 @@ let TerminalSandboxService = class TerminalSandboxService extends Disposable {
|
|
|
166
170
|
const environmentService = this._environmentService;
|
|
167
171
|
this._tempDir = environmentService.tmpDir;
|
|
168
172
|
}
|
|
173
|
+
if (this._tempDir) {
|
|
174
|
+
this._defaultWritePaths.push(this._tempDir.path);
|
|
175
|
+
}
|
|
169
176
|
if (!this._tempDir) {
|
|
170
177
|
this._logService.warn(
|
|
171
178
|
"TerminalSandboxService: Cannot create sandbox settings file because no tmpDir is available in this environment"
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { IDynamicVariable } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariables";
|
|
2
|
-
import { IChatVariablesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariables.service";
|
|
3
|
-
import { IToolAndToolSetEnablementMap } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
|
|
4
|
-
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
5
|
-
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
6
|
-
export declare class ChatVariablesService implements IChatVariablesService {
|
|
7
|
-
private readonly chatWidgetService;
|
|
8
|
-
_serviceBrand: undefined;
|
|
9
|
-
constructor(chatWidgetService: IChatWidgetService);
|
|
10
|
-
getDynamicVariables(sessionResource: URI): ReadonlyArray<IDynamicVariable>;
|
|
11
|
-
getSelectedToolAndToolSets(sessionResource: URI): IToolAndToolSetEnablementMap;
|
|
12
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
4
|
-
import { ChatDynamicVariableModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables';
|
|
5
|
-
import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
|
|
6
|
-
|
|
7
|
-
let ChatVariablesService = class ChatVariablesService {
|
|
8
|
-
constructor(chatWidgetService) {
|
|
9
|
-
this.chatWidgetService = chatWidgetService;
|
|
10
|
-
}
|
|
11
|
-
getDynamicVariables(sessionResource) {
|
|
12
|
-
const widget = this.chatWidgetService.getWidgetBySessionResource(sessionResource);
|
|
13
|
-
if (!widget || !widget.viewModel || !widget.supportsFileReferences) {
|
|
14
|
-
return [];
|
|
15
|
-
}
|
|
16
|
-
const model = widget.getContrib(ChatDynamicVariableModel.ID);
|
|
17
|
-
if (!model) {
|
|
18
|
-
return [];
|
|
19
|
-
}
|
|
20
|
-
if (widget.viewModel.editing && model.variables.length > 0) {
|
|
21
|
-
return model.variables;
|
|
22
|
-
}
|
|
23
|
-
if (widget.input.attachmentModel.attachments.length > 0 && widget.viewModel.editing) {
|
|
24
|
-
const references = [];
|
|
25
|
-
const editorModel = widget.inputEditor.getModel();
|
|
26
|
-
const modelTextLength = editorModel?.getValueLength() ?? 0;
|
|
27
|
-
for (const attachment of widget.input.attachmentModel.attachments) {
|
|
28
|
-
if (attachment.range) {
|
|
29
|
-
if (attachment.range.start >= attachment.range.endExclusive) {
|
|
30
|
-
continue;
|
|
31
|
-
}
|
|
32
|
-
if (attachment.range.start < 0 || attachment.range.endExclusive > modelTextLength) {
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
if (!editorModel) {
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
const startPos = editorModel.getPositionAt(attachment.range.start);
|
|
39
|
-
const endPos = editorModel.getPositionAt(attachment.range.endExclusive);
|
|
40
|
-
const referenceObj = {
|
|
41
|
-
id: attachment.id,
|
|
42
|
-
fullName: attachment.name,
|
|
43
|
-
modelDescription: attachment.modelDescription,
|
|
44
|
-
range: ( new Range(startPos.lineNumber, startPos.column, endPos.lineNumber, endPos.column)),
|
|
45
|
-
icon: attachment.icon,
|
|
46
|
-
isFile: attachment.kind === "file",
|
|
47
|
-
isDirectory: attachment.kind === "directory",
|
|
48
|
-
data: attachment.value
|
|
49
|
-
};
|
|
50
|
-
references.push(referenceObj);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return references.length > 0 ? references : model.variables;
|
|
54
|
-
}
|
|
55
|
-
return model.variables;
|
|
56
|
-
}
|
|
57
|
-
getSelectedToolAndToolSets(sessionResource) {
|
|
58
|
-
const widget = this.chatWidgetService.getWidgetBySessionResource(sessionResource);
|
|
59
|
-
if (!widget) {
|
|
60
|
-
return ( new Map());
|
|
61
|
-
}
|
|
62
|
-
return widget.input.selectedToolsModel.entriesMap.get();
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
ChatVariablesService = ( __decorate([( __param(0, IChatWidgetService))], ChatVariablesService));
|
|
66
|
-
|
|
67
|
-
export { ChatVariablesService };
|