@codingame/monaco-vscode-chat-service-override 34.1.2 → 35.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 +38 -0
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.js +40 -0
- package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.d.ts +27 -0
- package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +91 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +20 -4
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +148 -15
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +9 -1
- package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +57 -3
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +10 -14
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +29 -8
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +109 -2
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +207 -21
- package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +362 -37
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +698 -91
- package/vscode/src/vs/platform/agentHost/common/agentService.js +46 -3
- package/vscode/src/vs/platform/agentHost/common/customAgents.js +1 -0
- package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.js +26 -0
- package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +5 -5
- package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +17 -17
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +96 -12
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +226 -19
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.d.ts +18 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +89 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +10 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.d.ts +6 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +400 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +129 -446
- package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +2 -2
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +35 -25
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +7 -1
- package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.d.ts +4 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +1 -1
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +1 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +0 -6
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +5 -18
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +52 -3
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +212 -34
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +3 -4
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +11 -10
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +13 -6
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +6 -1
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +399 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +85 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +177 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +898 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +204 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.d.ts +61 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +338 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +57 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +98 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +149 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +116 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +226 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +138 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.js +25 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.js +108 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +63 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +178 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +322 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +15 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.js +26 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.d.ts +132 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +237 -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 +32 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +71 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +19 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +14 -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 +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +66 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +128 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +58 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +15 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +64 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +45 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +25 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +143 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +7 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +163 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +26 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +106 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +16 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +44 -14
- 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 +70 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +22 -22
- 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/localAgentDisabledInputTipContribution.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.js +152 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +11 -5
- 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 +9 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +143 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +107 -126
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +46 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +19 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +244 -190
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +13 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +47 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +4 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.d.ts +87 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.js +772 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +24 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +1 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +130 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.d.ts +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +94 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +421 -201
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +1426 -97
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +107 -127
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +331 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +120 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +898 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +581 -336
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +123 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +567 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +168 -84
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +183 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +897 -251
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.d.ts +213 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +720 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -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 +33 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +354 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +9 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +11 -4
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +1 -1
- 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 +9 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +55 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +192 -87
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +37 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +40 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +230 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -25
- 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 +35 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +26 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +56 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +109 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +38 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +175 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +32 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +183 -84
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +20 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
- 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/promptToolSetsCodeLensProvider.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +109 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +117 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +40 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +169 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +125 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +399 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.js +198 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +504 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +321 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +2117 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +57 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +367 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +16 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +68 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +11 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
- 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.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +13 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +23 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +320 -40
- 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 +80 -4
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +78 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +46 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +7 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +226 -88
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +8 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +13 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +12 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +177 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +2 -18
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +78 -136
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +1 -16
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +1 -17
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +16 -5
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +122 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +24 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +113 -10
- 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 +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +227 -152
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +98 -0
- package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +7 -6
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +11 -12
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +7 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
- 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 +32 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +23 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +37 -30
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +71 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +29 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +7 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +2 -1
- 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 +10 -8
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +26 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +416 -252
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
- 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/sandboxSettingsReader.d.ts +2 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +25 -8
- package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +8 -3
- package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +0 -77
- package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +0 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +0 -82
- package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +0 -38
- package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +0 -47
- /package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.js +0 -0
|
@@ -162,11 +162,18 @@ let RichExecuteStrategy = class RichExecuteStrategy extends Disposable {
|
|
|
162
162
|
}
|
|
163
163
|
if (output === undefined) {
|
|
164
164
|
try {
|
|
165
|
+
const startMarkerDisposed = this._startMarker.value?.line === -1;
|
|
165
166
|
output = xterm.getContentsAsText(this._startMarker.value, endMarker);
|
|
166
167
|
this._log("Fetched output via markers");
|
|
167
168
|
if (output !== undefined) {
|
|
168
169
|
output = stripCommandEchoAndPrompt(output, commandLine, this._log.bind(this));
|
|
169
170
|
}
|
|
171
|
+
if (startMarkerDisposed) {
|
|
172
|
+
this._log(
|
|
173
|
+
"Start marker was disposed (output exceeded scrollback), output may be truncated from the beginning"
|
|
174
|
+
);
|
|
175
|
+
additionalInformationLines.push("Output exceeded terminal scrollback; beginning of output was lost");
|
|
176
|
+
}
|
|
170
177
|
} catch {
|
|
171
178
|
this._log("Failed to fetch output via markers");
|
|
172
179
|
additionalInformationLines.push("Failed to retrieve command output");
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
3
|
+
import { ITerminalLogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service";
|
|
4
|
+
import { IEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service";
|
|
5
|
+
/**
|
|
6
|
+
* Writes large terminal output to temp files so the model can read the full
|
|
7
|
+
* output using file-reading tools. Tracks created files for cleanup on dispose.
|
|
8
|
+
*
|
|
9
|
+
* Mirrors copilot-agent-runtime's largeOutputHandler.ts pattern:
|
|
10
|
+
* - Output exceeding MAX_OUTPUT_LENGTH is written to a temp file
|
|
11
|
+
* - A truncated preview (head + tail) is returned with the file path
|
|
12
|
+
* - Files are cleaned up when sessions end or this writer is disposed
|
|
13
|
+
*/
|
|
14
|
+
export declare class LargeOutputFileWriter extends Disposable {
|
|
15
|
+
private readonly _fileService;
|
|
16
|
+
private readonly _logService;
|
|
17
|
+
private readonly _environmentService;
|
|
18
|
+
private readonly _tempFiles;
|
|
19
|
+
constructor(_fileService: IFileService, _logService: ITerminalLogService, _environmentService: IEnvironmentService);
|
|
20
|
+
/**
|
|
21
|
+
* If the output exceeds MAX_OUTPUT_LENGTH, writes it to a temp file and
|
|
22
|
+
* returns a truncated message with the file path. Otherwise returns the
|
|
23
|
+
* output unchanged.
|
|
24
|
+
*/
|
|
25
|
+
processOutput(output: string): Promise<string>;
|
|
26
|
+
private _writeToTempFile;
|
|
27
|
+
private _prettyPrintIfJson;
|
|
28
|
+
/**
|
|
29
|
+
* Cleans up all tracked temp files. Called on session end.
|
|
30
|
+
*/
|
|
31
|
+
cleanup(): void;
|
|
32
|
+
dispose(): void;
|
|
33
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
4
|
+
import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
|
|
5
|
+
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
6
|
+
import { VSBuffer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
|
|
7
|
+
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
8
|
+
import { ITerminalLogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service';
|
|
9
|
+
import { IEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service';
|
|
10
|
+
import { MAX_OUTPUT_LENGTH, truncateLargeOutput } from './outputHelpers.js';
|
|
11
|
+
|
|
12
|
+
let LargeOutputFileWriter = class LargeOutputFileWriter extends Disposable {
|
|
13
|
+
constructor(_fileService, _logService, _environmentService) {
|
|
14
|
+
super();
|
|
15
|
+
this._fileService = _fileService;
|
|
16
|
+
this._logService = _logService;
|
|
17
|
+
this._environmentService = _environmentService;
|
|
18
|
+
this._tempFiles = ( new Set());
|
|
19
|
+
}
|
|
20
|
+
async processOutput(output) {
|
|
21
|
+
if (output.length <= MAX_OUTPUT_LENGTH) {
|
|
22
|
+
return output;
|
|
23
|
+
}
|
|
24
|
+
const filePath = await this._writeToTempFile(output);
|
|
25
|
+
if (!filePath) {
|
|
26
|
+
return truncateLargeOutput(output);
|
|
27
|
+
}
|
|
28
|
+
return truncateLargeOutput(output, filePath);
|
|
29
|
+
}
|
|
30
|
+
async _writeToTempFile(output) {
|
|
31
|
+
try {
|
|
32
|
+
const fileName = `copilot-terminal-output-${generateUuid()}.txt`;
|
|
33
|
+
const dirUri = URI.joinPath(this._environmentService.cacheHome, "copilot-terminal-output");
|
|
34
|
+
const fileUri = URI.joinPath(dirUri, fileName);
|
|
35
|
+
const fileContent = this._prettyPrintIfJson(output);
|
|
36
|
+
await this._fileService.writeFile(fileUri, VSBuffer.fromString(fileContent));
|
|
37
|
+
this._tempFiles.add(fileUri);
|
|
38
|
+
this._logService.debug(
|
|
39
|
+
`LargeOutputFileWriter: wrote ${Math.ceil(output.length / 1024)}KB to ${fileUri.fsPath}`
|
|
40
|
+
);
|
|
41
|
+
return fileUri.fsPath;
|
|
42
|
+
} catch (e) {
|
|
43
|
+
this._logService.debug(`LargeOutputFileWriter: failed to write temp file: ${e}`);
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
_prettyPrintIfJson(output) {
|
|
48
|
+
const trimmed = output.trim();
|
|
49
|
+
if (!trimmed.startsWith("{") && !trimmed.startsWith("[")) {
|
|
50
|
+
return output;
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
return JSON.stringify(JSON.parse(trimmed), null, 2);
|
|
54
|
+
} catch {
|
|
55
|
+
return output;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
cleanup() {
|
|
59
|
+
for (const fileUri of this._tempFiles) {
|
|
60
|
+
this._fileService.del(fileUri).catch(() => {});
|
|
61
|
+
}
|
|
62
|
+
this._tempFiles.clear();
|
|
63
|
+
}
|
|
64
|
+
dispose() {
|
|
65
|
+
this.cleanup();
|
|
66
|
+
super.dispose();
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
LargeOutputFileWriter = ( __decorate([( __param(0, IFileService)), ( __param(1, ITerminalLogService)), ( __param(2, IEnvironmentService))], LargeOutputFileWriter));
|
|
70
|
+
|
|
71
|
+
export { LargeOutputFileWriter };
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts
CHANGED
|
@@ -1,7 +1,26 @@
|
|
|
1
1
|
import { ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
|
|
2
2
|
import type { IMarker as IXtermMarker } from "@xterm/xterm";
|
|
3
|
+
export declare const MAX_OUTPUT_LENGTH = 20000;
|
|
3
4
|
export interface IGetOutputOptions {
|
|
4
5
|
/** When set, only return the last N non-empty lines from the bottom of the buffer. */
|
|
5
6
|
lastNLines?: number;
|
|
6
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Truncates output that exceeds the max length, keeping a preview from the
|
|
10
|
+
* beginning and the tail of the output with guidance for the model.
|
|
11
|
+
* If a filePath is provided, includes it in the message so the model can
|
|
12
|
+
* read the full output using file-reading tools.
|
|
13
|
+
*/
|
|
14
|
+
export declare function truncateLargeOutput(output: string, filePath?: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* Extracts raw output text from the terminal buffer without any truncation or formatting.
|
|
17
|
+
*/
|
|
18
|
+
export declare function getRawOutput(instance: ITerminalInstance, startMarker?: IXtermMarker, options?: IGetOutputOptions): string;
|
|
19
|
+
/**
|
|
20
|
+
* Gets output from the terminal buffer without truncation or formatting.
|
|
21
|
+
*
|
|
22
|
+
* NOTE: This function does NOT truncate output. Callers that return output
|
|
23
|
+
* to the model should use {@link LargeOutputFileWriter.processOutput} to
|
|
24
|
+
* handle large output (writes to file + truncates inline).
|
|
25
|
+
*/
|
|
7
26
|
export declare function getOutput(instance: ITerminalInstance, startMarker?: IXtermMarker, options?: IGetOutputOptions): string;
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js
CHANGED
|
@@ -1,8 +1,28 @@
|
|
|
1
1
|
|
|
2
|
-
import { truncateOutputKeepingTail } from './runInTerminalHelpers.js';
|
|
3
2
|
|
|
4
|
-
const MAX_OUTPUT_LENGTH =
|
|
5
|
-
|
|
3
|
+
const MAX_OUTPUT_LENGTH = 20000;
|
|
4
|
+
const PREVIEW_CHARS = 500;
|
|
5
|
+
function truncateLargeOutput(output, filePath) {
|
|
6
|
+
const totalLength = output.length;
|
|
7
|
+
const previewEnd = Math.min(PREVIEW_CHARS, totalLength);
|
|
8
|
+
const preview = output.slice(0, previewEnd);
|
|
9
|
+
const sizeKB = Math.ceil(totalLength / 1024);
|
|
10
|
+
let header;
|
|
11
|
+
if (filePath) {
|
|
12
|
+
header = `[Output too large (${sizeKB}KB). Full output saved to: ${filePath}]\n[Use readFile or grep to examine the full output.]\n\n`;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
header = `[Output too large (${sizeKB}KB). Showing preview and tail.]\n\n`;
|
|
16
|
+
}
|
|
17
|
+
const separator = '\n\n[... middle of output truncated ...]\n\n';
|
|
18
|
+
const availableForTail = MAX_OUTPUT_LENGTH - header.length - preview.length - separator.length;
|
|
19
|
+
if (availableForTail <= 0) {
|
|
20
|
+
return (header + preview).slice(0, MAX_OUTPUT_LENGTH);
|
|
21
|
+
}
|
|
22
|
+
const tail = output.slice(-availableForTail);
|
|
23
|
+
return header + preview + separator + tail;
|
|
24
|
+
}
|
|
25
|
+
function getRawOutput(instance, startMarker, options) {
|
|
6
26
|
if (!instance.xterm || !instance.xterm.raw) {
|
|
7
27
|
return '';
|
|
8
28
|
}
|
|
@@ -29,15 +49,15 @@ function getOutput(instance, startMarker, options) {
|
|
|
29
49
|
if (currentLine) {
|
|
30
50
|
lines.push(currentLine);
|
|
31
51
|
}
|
|
52
|
+
const output = lines.join('\n');
|
|
32
53
|
if (options?.lastNLines !== undefined) {
|
|
33
|
-
const nonEmpty =
|
|
54
|
+
const nonEmpty = output.split('\n').filter(line => line.trim().length > 0);
|
|
34
55
|
return nonEmpty.slice(-options.lastNLines).join('\n');
|
|
35
56
|
}
|
|
36
|
-
let output = lines.join('\n');
|
|
37
|
-
if (output.length > MAX_OUTPUT_LENGTH) {
|
|
38
|
-
output = truncateOutputKeepingTail(output, MAX_OUTPUT_LENGTH);
|
|
39
|
-
}
|
|
40
57
|
return output;
|
|
41
58
|
}
|
|
59
|
+
function getOutput(instance, startMarker, options) {
|
|
60
|
+
return getRawOutput(instance, startMarker, options);
|
|
61
|
+
}
|
|
42
62
|
|
|
43
|
-
export { getOutput };
|
|
63
|
+
export { MAX_OUTPUT_LENGTH, getOutput, getRawOutput, truncateLargeOutput };
|
|
@@ -34,19 +34,6 @@ function isFish(envShell, os) {
|
|
|
34
34
|
}
|
|
35
35
|
return /^fish$/.test(posix.basename(envShell));
|
|
36
36
|
}
|
|
37
|
-
const TRUNCATION_MESSAGE = "\n\n[... PREVIOUS OUTPUT TRUNCATED ...]\n\n";
|
|
38
|
-
function truncateOutputKeepingTail(output, maxLength) {
|
|
39
|
-
if (output.length <= maxLength) {
|
|
40
|
-
return output;
|
|
41
|
-
}
|
|
42
|
-
const truncationMessageLength = TRUNCATION_MESSAGE.length;
|
|
43
|
-
if (truncationMessageLength >= maxLength) {
|
|
44
|
-
return TRUNCATION_MESSAGE.slice(TRUNCATION_MESSAGE.length - maxLength);
|
|
45
|
-
}
|
|
46
|
-
const availableLength = maxLength - truncationMessageLength;
|
|
47
|
-
const endPortion = output.slice(-availableLength);
|
|
48
|
-
return TRUNCATION_MESSAGE + endPortion;
|
|
49
|
-
}
|
|
50
37
|
function normalizeTerminalCommandForDisplay(commandLine) {
|
|
51
38
|
return commandLine.replace(/\\(["'\/])/g, "$1");
|
|
52
39
|
}
|
|
@@ -166,7 +153,7 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
|
|
|
166
153
|
const firstSubcommandFirstWord = unapprovedSubCommands.length > 0 ? unapprovedSubCommands[0].split(" ")[0] : "";
|
|
167
154
|
if (firstSubcommandFirstWord !== commandLine && !( commandsWithSubcommands.has(commandLine)) && !( commandsWithSubSubCommands.has(commandLine))) {
|
|
168
155
|
actions.push({
|
|
169
|
-
label: ( localize(
|
|
156
|
+
label: ( localize(15274, "Allow Exact Command Line in this Session")),
|
|
170
157
|
data: {
|
|
171
158
|
type: "newRule",
|
|
172
159
|
rule: {
|
|
@@ -180,7 +167,7 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
|
|
|
180
167
|
}
|
|
181
168
|
});
|
|
182
169
|
actions.push({
|
|
183
|
-
label: ( localize(
|
|
170
|
+
label: ( localize(15275, "Allow Exact Command Line in this Workspace")),
|
|
184
171
|
data: {
|
|
185
172
|
type: "newRule",
|
|
186
173
|
rule: {
|
|
@@ -194,7 +181,7 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
|
|
|
194
181
|
}
|
|
195
182
|
});
|
|
196
183
|
actions.push({
|
|
197
|
-
label: ( localize(
|
|
184
|
+
label: ( localize(15276, "Always Allow Exact Command Line")),
|
|
198
185
|
data: {
|
|
199
186
|
type: "newRule",
|
|
200
187
|
rule: {
|
|
@@ -213,15 +200,15 @@ function generateAutoApproveActions(commandLine, subCommands, autoApproveResult)
|
|
|
213
200
|
actions.push(( new Separator()));
|
|
214
201
|
}
|
|
215
202
|
actions.push({
|
|
216
|
-
label: ( localize(
|
|
217
|
-
tooltip: ( localize(
|
|
203
|
+
label: ( localize(15277, "Allow All Commands in this Session")),
|
|
204
|
+
tooltip: ( localize(15278, "Allow this tool to run in this session without confirmation.")),
|
|
218
205
|
data: {
|
|
219
206
|
type: "sessionApproval"
|
|
220
207
|
}
|
|
221
208
|
});
|
|
222
209
|
actions.push(( new Separator()));
|
|
223
210
|
actions.push({
|
|
224
|
-
label: ( localize(
|
|
211
|
+
label: ( localize(15279, "Configure Auto Approve...")),
|
|
225
212
|
data: {
|
|
226
213
|
type: "configure"
|
|
227
214
|
}
|
|
@@ -257,4 +244,4 @@ function extractCdPrefix(commandLine, shell, os) {
|
|
|
257
244
|
return undefined;
|
|
258
245
|
}
|
|
259
246
|
|
|
260
|
-
export {
|
|
247
|
+
export { buildCommandDisplayText, dedupeRules, extractCdPrefix, generateAutoApproveActions, isBash, isFish, isMultilineCommand, isPowerShell, isWindowsPowerShell, isZsh, normalizeCommandForExecution, normalizeTerminalCommandForDisplay };
|
|
@@ -139,7 +139,7 @@ let ChatAgentToolsContribution = class ChatAgentToolsContribution extends Dispos
|
|
|
139
139
|
this._register(_toolsService.executeToolSet.addTool(CreateAndRunTaskToolData));
|
|
140
140
|
this._register(_toolsService.readToolSet.addTool(GetTaskOutputToolData));
|
|
141
141
|
this._register(this._configurationService.onDidChangeConfiguration(e => {
|
|
142
|
-
if (e.affectsConfiguration(AgentSandboxSettingId.AgentSandboxEnabled) || e.affectsConfiguration(AgentSandboxSettingId.AgentSandboxWindowsEnabled) || e.affectsConfiguration(AgentSandboxSettingId.DeprecatedAgentSandboxEnabled) || e.affectsConfiguration(AgentSandboxSettingId.AgentSandboxAllowUnsandboxedCommands) || e.affectsConfiguration(AgentNetworkDomainSettingId.AllowedNetworkDomains) || e.affectsConfiguration(AgentNetworkDomainSettingId.DeniedNetworkDomains) || e.affectsConfiguration(AgentNetworkDomainSettingId.DeprecatedOldAllowedNetworkDomains) || e.affectsConfiguration(AgentNetworkDomainSettingId.DeprecatedOldDeniedNetworkDomains) || e.affectsConfiguration(AgentNetworkDomainSettingId.DeprecatedSandboxAllowedNetworkDomains) || e.affectsConfiguration(AgentNetworkDomainSettingId.DeprecatedSandboxDeniedNetworkDomains) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.AgentSandboxLinuxFileSystem) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.DeprecatedAgentSandboxLinuxFileSystem) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.AgentSandboxMacFileSystem) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.DeprecatedAgentSandboxMacFileSystem) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.AgentSandboxWindowsFileSystem)) {
|
|
142
|
+
if (e.affectsConfiguration(AgentSandboxSettingId.AgentSandboxEnabled) || e.affectsConfiguration(AgentSandboxSettingId.AgentSandboxWindowsEnabled) || e.affectsConfiguration(AgentSandboxSettingId.AgentSandboxAllowNetwork) || e.affectsConfiguration(AgentSandboxSettingId.DeprecatedAgentSandboxEnabled) || e.affectsConfiguration(AgentSandboxSettingId.AgentSandboxAllowUnsandboxedCommands) || e.affectsConfiguration(AgentNetworkDomainSettingId.AllowedNetworkDomains) || e.affectsConfiguration(AgentNetworkDomainSettingId.DeniedNetworkDomains) || e.affectsConfiguration(AgentNetworkDomainSettingId.DeprecatedOldAllowedNetworkDomains) || e.affectsConfiguration(AgentNetworkDomainSettingId.DeprecatedOldDeniedNetworkDomains) || e.affectsConfiguration(AgentNetworkDomainSettingId.DeprecatedSandboxAllowedNetworkDomains) || e.affectsConfiguration(AgentNetworkDomainSettingId.DeprecatedSandboxDeniedNetworkDomains) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.AgentSandboxLinuxFileSystem) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.DeprecatedAgentSandboxLinuxFileSystem) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.AgentSandboxMacFileSystem) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.DeprecatedAgentSandboxMacFileSystem) || e.affectsConfiguration(TerminalChatAgentToolsSettingId.AgentSandboxWindowsFileSystem)) {
|
|
143
143
|
this._registerRunInTerminalTool();
|
|
144
144
|
}
|
|
145
145
|
}));
|
|
@@ -177,7 +177,7 @@ registerWorkbenchContribution2(
|
|
|
177
177
|
);
|
|
178
178
|
registerActiveInstanceAction({
|
|
179
179
|
id: TerminalChatAgentToolsCommandId.ChatAddTerminalSelection,
|
|
180
|
-
title: ( localize(
|
|
180
|
+
title: ( localize(15280, "Add Terminal Selection to Chat")),
|
|
181
181
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, sharedWhenClause.terminalAvailable)),
|
|
182
182
|
menu: [{
|
|
183
183
|
id: MenuId.TerminalInstanceContext,
|
|
@@ -198,8 +198,8 @@ registerActiveInstanceAction({
|
|
|
198
198
|
chatView.attachmentModel.addContext({
|
|
199
199
|
id: `terminal-selection-${Date.now()}`,
|
|
200
200
|
kind: "generic",
|
|
201
|
-
name: ( localize(
|
|
202
|
-
fullName: ( localize(
|
|
201
|
+
name: ( localize(15281, "Terminal Selection")),
|
|
202
|
+
fullName: ( localize(15281, "Terminal Selection")),
|
|
203
203
|
value: selection,
|
|
204
204
|
icon: Codicon.terminal
|
|
205
205
|
});
|
|
@@ -123,7 +123,8 @@ let ToolTerminalCreator = class ToolTerminalCreator {
|
|
|
123
123
|
COPILOT_AGENT: "1",
|
|
124
124
|
GIT_PAGER: "cat",
|
|
125
125
|
GIT_MERGE_AUTOEDIT: "no",
|
|
126
|
-
GIT_EDITOR: ":"
|
|
126
|
+
GIT_EDITOR: ":",
|
|
127
|
+
DEBIAN_FRONTEND: "noninteractive"
|
|
127
128
|
};
|
|
128
129
|
const preventShellHistory = this._configurationService.getValue(TerminalChatAgentToolsSettingId.PreventShellHistory) === true;
|
|
129
130
|
if (preventShellHistory) {
|
|
@@ -154,7 +154,7 @@ let NpmScriptAutoApprover = class NpmScriptAutoApprover extends Disposable {
|
|
|
154
154
|
isAutoApproved: true,
|
|
155
155
|
scriptName,
|
|
156
156
|
autoApproveInfo: ( new MarkdownString(( localize(
|
|
157
|
-
|
|
157
|
+
15282,
|
|
158
158
|
"Auto approved as {0} is defined in package.json",
|
|
159
159
|
`\`${scriptName}\``
|
|
160
160
|
))))
|
|
@@ -56,7 +56,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
56
56
|
isAutoApproved: true,
|
|
57
57
|
isAutoApproveAllowed: true,
|
|
58
58
|
disclaimers: [],
|
|
59
|
-
autoApproveInfo: ( new MarkdownString(`${( localize(
|
|
59
|
+
autoApproveInfo: ( new MarkdownString(`${( localize(15283, "Auto approved for this session"))} ([${( localize(15284, "Disable"))}](${( disableUri.toString())}))`, mdTrustSettings))
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
const trimmedCommandLine = options.commandLine.trimStart();
|
|
@@ -158,7 +158,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
158
158
|
const subCommandsLowerFirstWordOnly = ( subCommands.map(command => command.split(" ")[0].toLowerCase()));
|
|
159
159
|
if (!isAutoApproved && (( subCommandsLowerFirstWordOnly.some(command => promptInjectionWarningCommandsLower.includes(command))) || (isPowerShell(options.shell, options.os) && ( subCommandsLowerFirstWordOnly.some(command => promptInjectionWarningCommandsLowerPwshOnly.includes(command)))))) {
|
|
160
160
|
disclaimers.push(( localize(
|
|
161
|
-
|
|
161
|
+
15285,
|
|
162
162
|
"Web content may contain malicious code or attempt prompt injection attacks."
|
|
163
163
|
)));
|
|
164
164
|
}
|
|
@@ -199,10 +199,10 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
199
199
|
return ( asArray(result).filter(e => isAutoApproveRule(e.rule)).map(e => {
|
|
200
200
|
const escapedSourceText = e.rule.sourceText.replaceAll("$", "\\$");
|
|
201
201
|
if (e.rule.sourceTarget === "session") {
|
|
202
|
-
return localize(
|
|
202
|
+
return localize(15286, "{0} (session)", `\`${escapedSourceText}\``);
|
|
203
203
|
}
|
|
204
204
|
const settingsUri = createCommandUri(TerminalChatCommandId.OpenTerminalSettingsLink, e.rule.sourceTarget);
|
|
205
|
-
const tooltip = ( localize(
|
|
205
|
+
const tooltip = ( localize(15287, "View rule in settings"));
|
|
206
206
|
let label = escapedSourceText;
|
|
207
207
|
switch (e.rule?.sourceTarget) {
|
|
208
208
|
case ConfigurationTarget.DEFAULT:
|
|
@@ -233,9 +233,9 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
233
233
|
if (isGlobalAutoApproved) {
|
|
234
234
|
const settingsUri = createCommandUri(TerminalChatCommandId.OpenTerminalSettingsLink, "global");
|
|
235
235
|
return (new MarkdownString(`${( localize(
|
|
236
|
-
|
|
236
|
+
15288,
|
|
237
237
|
"Auto approved by setting {0}",
|
|
238
|
-
`[\`${ChatConfiguration.GlobalAutoApprove}\`](${( settingsUri.toString())} "${( localize(
|
|
238
|
+
`[\`${ChatConfiguration.GlobalAutoApprove}\`](${( settingsUri.toString())} "${( localize(15289, "View settings"))}")`
|
|
239
239
|
))}`, mdTrustSettings));
|
|
240
240
|
}
|
|
241
241
|
if (isAutoApproved) {
|
|
@@ -244,7 +244,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
244
244
|
{
|
|
245
245
|
if (isAutoApproveRule(commandLineResult.rule)) {
|
|
246
246
|
return (new MarkdownString(
|
|
247
|
-
localize(
|
|
247
|
+
localize(15290, "Auto approved by rule {0}", formatRuleLinks(commandLineResult)),
|
|
248
248
|
mdTrustSettings
|
|
249
249
|
));
|
|
250
250
|
}
|
|
@@ -259,12 +259,12 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
259
259
|
const uniqueRules = dedupeRules(subCommandResults);
|
|
260
260
|
if (uniqueRules.length === 1) {
|
|
261
261
|
return (new MarkdownString(
|
|
262
|
-
localize(
|
|
262
|
+
localize(15290, "Auto approved by rule {0}", formatRuleLinks(uniqueRules)),
|
|
263
263
|
mdTrustSettings
|
|
264
264
|
));
|
|
265
265
|
} else if (uniqueRules.length > 1) {
|
|
266
266
|
return (new MarkdownString(
|
|
267
|
-
localize(
|
|
267
|
+
localize(15291, "Auto approved by rules {0}", formatRuleLinks(uniqueRules)),
|
|
268
268
|
mdTrustSettings
|
|
269
269
|
));
|
|
270
270
|
}
|
|
@@ -277,7 +277,7 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
277
277
|
{
|
|
278
278
|
if (commandLineResult.rule) {
|
|
279
279
|
return (new MarkdownString(localize(
|
|
280
|
-
|
|
280
|
+
15292,
|
|
281
281
|
"Auto approval denied by rule {0}",
|
|
282
282
|
formatRuleLinks(commandLineResult)
|
|
283
283
|
), mdTrustSettings));
|
|
@@ -289,12 +289,12 @@ let CommandLineAutoApproveAnalyzer = class CommandLineAutoApproveAnalyzer extend
|
|
|
289
289
|
const uniqueRules = dedupeRules(subCommandResults.filter(e => e.result === "denied"));
|
|
290
290
|
if (uniqueRules.length === 1) {
|
|
291
291
|
return (new MarkdownString(
|
|
292
|
-
localize(
|
|
292
|
+
localize(15292, "Auto approval denied by rule {0}", formatRuleLinks(uniqueRules)),
|
|
293
293
|
mdTrustSettings
|
|
294
294
|
));
|
|
295
295
|
} else if (uniqueRules.length > 1) {
|
|
296
296
|
return (new MarkdownString(
|
|
297
|
-
localize(
|
|
297
|
+
localize(15293, "Auto approval denied by rules {0}", formatRuleLinks(uniqueRules)),
|
|
298
298
|
mdTrustSettings
|
|
299
299
|
));
|
|
300
300
|
}
|
|
@@ -3,6 +3,7 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
|
|
|
3
3
|
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
4
4
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
5
5
|
import { win32, posix } from '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
|
|
6
|
+
import { normalizePath, extUri } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
6
7
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
7
8
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
8
9
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
@@ -74,10 +75,11 @@ let CommandLineFileWriteAnalyzer = class CommandLineFileWriteAnalyzer extends Di
|
|
|
74
75
|
return fileWrites;
|
|
75
76
|
}
|
|
76
77
|
_stripSurroundingQuotes(text) {
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
let result = text;
|
|
79
|
+
while ((result.startsWith("\"") && result.endsWith("\"")) || (result.startsWith("'") && result.endsWith("'"))) {
|
|
80
|
+
result = result.slice(1, -1);
|
|
79
81
|
}
|
|
80
|
-
return
|
|
82
|
+
return result;
|
|
81
83
|
}
|
|
82
84
|
_mapNullDevice(options, rawFileWrite) {
|
|
83
85
|
if (options.treeSitterLanguage === TreeSitterCommandParserLanguage.PowerShell) {
|
|
@@ -113,17 +115,17 @@ let CommandLineFileWriteAnalyzer = class CommandLineFileWriteAnalyzer extends Di
|
|
|
113
115
|
break;
|
|
114
116
|
}
|
|
115
117
|
}
|
|
116
|
-
const fileUri = URI.isUri(fileWrite) ? fileWrite : URI.file(fileWrite);
|
|
118
|
+
const fileUri = normalizePath(URI.isUri(fileWrite) ? fileWrite : URI.file(fileWrite));
|
|
117
119
|
if (fileUri.fsPath.match(/[$\(\){}`~%]/)) {
|
|
118
120
|
isAutoApproveAllowed = false;
|
|
119
121
|
this._log(
|
|
120
|
-
"File write blocked due to likely containing a variable, sub-command, or tilde expansion",
|
|
122
|
+
"File write blocked due to likely containing a variable, sub-command, or tilde/environment-variable expansion",
|
|
121
123
|
( fileUri.toString())
|
|
122
124
|
);
|
|
123
125
|
break;
|
|
124
126
|
}
|
|
125
127
|
const isInsideWorkspace = ( workspaceFolders.some(
|
|
126
|
-
folder => folder.uri.scheme === fileUri.scheme &&
|
|
128
|
+
folder => folder.uri.scheme === fileUri.scheme && extUri.isEqualOrParent(fileUri, folder.uri)
|
|
127
129
|
));
|
|
128
130
|
if (!isInsideWorkspace) {
|
|
129
131
|
if (options.hasSessionAutoApproval && this._isInTempDirectory(fileUri.path, options.os)) {
|
|
@@ -152,12 +154,12 @@ let CommandLineFileWriteAnalyzer = class CommandLineFileWriteAnalyzer extends Di
|
|
|
152
154
|
)).join(", ");
|
|
153
155
|
if (!isAutoApproveAllowed) {
|
|
154
156
|
disclaimers.push(( localize(
|
|
155
|
-
|
|
157
|
+
15294,
|
|
156
158
|
"File write operations detected that cannot be auto approved: {0}",
|
|
157
159
|
fileWritesList
|
|
158
160
|
)));
|
|
159
161
|
} else {
|
|
160
|
-
disclaimers.push(( localize(
|
|
162
|
+
disclaimers.push(( localize(15295, "File write operations detected: {0}", fileWritesList)));
|
|
161
163
|
}
|
|
162
164
|
}
|
|
163
165
|
return {
|
|
@@ -12,7 +12,7 @@ const GetTerminalLastCommandToolData = {
|
|
|
12
12
|
id: TerminalToolId.TerminalLastCommand,
|
|
13
13
|
toolReferenceName: "terminalLastCommand",
|
|
14
14
|
legacyToolReferenceFullNames: ["runCommands/terminalLastCommand"],
|
|
15
|
-
displayName: ( localize(
|
|
15
|
+
displayName: ( localize(15296, "Get Terminal Last Command")),
|
|
16
16
|
modelDescription: "Get the last command run in the active terminal.",
|
|
17
17
|
source: ToolDataSource.Internal,
|
|
18
18
|
icon: Codicon.terminal
|
|
@@ -24,8 +24,8 @@ let GetTerminalLastCommandTool = class GetTerminalLastCommandTool extends Dispos
|
|
|
24
24
|
}
|
|
25
25
|
async prepareToolInvocation(context, token) {
|
|
26
26
|
return {
|
|
27
|
-
invocationMessage: ( localize(
|
|
28
|
-
pastTenseMessage: ( localize(
|
|
27
|
+
invocationMessage: ( localize(15297, "Getting last terminal command")),
|
|
28
|
+
pastTenseMessage: ( localize(15298, "Got last terminal command"))
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
async invoke(invocation, _countTokens, _progress, token) {
|
|
@@ -16,8 +16,8 @@ const GetTerminalOutputToolData = {
|
|
|
16
16
|
id: TerminalToolId.GetTerminalOutput,
|
|
17
17
|
toolReferenceName: "getTerminalOutput",
|
|
18
18
|
legacyToolReferenceFullNames: ["runCommands/getTerminalOutput"],
|
|
19
|
-
displayName: ( localize(
|
|
20
|
-
modelDescription: `Get output from
|
|
19
|
+
displayName: ( localize(15299, "Get Terminal Output")),
|
|
20
|
+
modelDescription: `Get output from a terminal execution that was moved to background (identified by the \`id\` returned from ${TerminalToolId.RunInTerminal}). Use this ONLY when the ${TerminalToolId.RunInTerminal} result explicitly says the command was moved to background, timed out, or needs input. Do NOT call this after a sync command that completed normally — sync commands return full output inline. If a background command has not yet completed, you will be automatically notified when it finishes — do NOT poll; end your turn and wait.`,
|
|
21
21
|
icon: Codicon.terminal,
|
|
22
22
|
source: ToolDataSource.Internal,
|
|
23
23
|
inputSchema: {
|
|
@@ -52,8 +52,8 @@ let GetTerminalOutputTool = class GetTerminalOutputTool extends Disposable {
|
|
|
52
52
|
}
|
|
53
53
|
async prepareToolInvocation(context, token) {
|
|
54
54
|
return {
|
|
55
|
-
invocationMessage: ( localize(
|
|
56
|
-
pastTenseMessage: ( localize(
|
|
55
|
+
invocationMessage: ( localize(15300, "Checking terminal output")),
|
|
56
|
+
pastTenseMessage: ( localize(15301, "Checked terminal output"))
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
59
|
async invoke(invocation, _countTokens, _progress, token) {
|
|
@@ -11,7 +11,7 @@ const GetTerminalSelectionToolData = {
|
|
|
11
11
|
id: TerminalToolId.TerminalSelection,
|
|
12
12
|
toolReferenceName: "terminalSelection",
|
|
13
13
|
legacyToolReferenceFullNames: ["runCommands/terminalSelection"],
|
|
14
|
-
displayName: ( localize(
|
|
14
|
+
displayName: ( localize(15302, "Get Terminal Selection")),
|
|
15
15
|
modelDescription: "Get the current selection in the active terminal.",
|
|
16
16
|
source: ToolDataSource.Internal,
|
|
17
17
|
icon: Codicon.terminal
|
|
@@ -23,8 +23,8 @@ let GetTerminalSelectionTool = class GetTerminalSelectionTool extends Disposable
|
|
|
23
23
|
}
|
|
24
24
|
async prepareToolInvocation(context, token) {
|
|
25
25
|
return {
|
|
26
|
-
invocationMessage: ( localize(
|
|
27
|
-
pastTenseMessage: ( localize(
|
|
26
|
+
invocationMessage: ( localize(15303, "Reading terminal selection")),
|
|
27
|
+
pastTenseMessage: ( localize(15304, "Read terminal selection"))
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
async invoke(invocation, _countTokens, _progress, token) {
|
|
@@ -9,7 +9,7 @@ import { TerminalToolId } from '@codingame/monaco-vscode-api/vscode/vs/workbench
|
|
|
9
9
|
const KillTerminalToolData = {
|
|
10
10
|
id: TerminalToolId.KillTerminal,
|
|
11
11
|
toolReferenceName: "killTerminal",
|
|
12
|
-
displayName: ( localize(
|
|
12
|
+
displayName: ( localize(15305, "Kill Terminal")),
|
|
13
13
|
modelDescription: `Kill a terminal by its ID. Use this to clean up terminals that are no longer needed (e.g., after stopping a server or when a long-running task completes). The terminal ID is returned by ${TerminalToolId.RunInTerminal} in async mode (legacy: isBackground=true).`,
|
|
14
14
|
icon: Codicon.terminal,
|
|
15
15
|
source: ToolDataSource.Internal,
|
|
@@ -28,8 +28,8 @@ const KillTerminalToolData = {
|
|
|
28
28
|
class KillTerminalTool extends Disposable {
|
|
29
29
|
async prepareToolInvocation(_context, _token) {
|
|
30
30
|
return {
|
|
31
|
-
invocationMessage: ( localize(
|
|
32
|
-
pastTenseMessage: ( localize(
|
|
31
|
+
invocationMessage: ( localize(15306, "Killing terminal")),
|
|
32
|
+
pastTenseMessage: ( localize(15307, "Killed terminal"))
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
async invoke(invocation, _countTokens, _progress, _token) {
|
|
@@ -500,9 +500,9 @@ function detectsNonInteractiveHelpPattern(cursorLine) {
|
|
|
500
500
|
].some(e => e.test(cursorLine)));
|
|
501
501
|
}
|
|
502
502
|
const taskFinishMessages = [(
|
|
503
|
-
localize(
|
|
504
|
-
localize(
|
|
505
|
-
localize(
|
|
503
|
+
localize(15308, "Terminal will be reused by tasks, press any key to close it.")), ( localize(15309, "Terminal will be reused by tasks, press any key to close it.")), (
|
|
504
|
+
localize(15310, "Press any key to close the terminal.")), ( localize(15311, "Press any key to close the terminal.")), (
|
|
505
|
+
localize(15312, "The terminal will be reused by tasks. Press any key to close."))];
|
|
506
506
|
const normalizedTaskFinishMessages = ( taskFinishMessages.map(msg => msg.replace(/[\s.,:;!?"'`()[\]{}<>\-_/\\]+/g, "").toLowerCase()));
|
|
507
507
|
function detectsVSCodeTaskFinishMessage(cursorLine) {
|
|
508
508
|
const compact = cursorLine.replace(/[\s.,:;!?"'`()[\]{}<>\-_/\\]+/g, "").toLowerCase();
|