@codingame/monaco-vscode-chat-service-override 33.0.9 → 34.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 +19 -5
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.d.ts +32 -0
- package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.js +77 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +84 -17
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +235 -190
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +3 -2
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +23 -4
- package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +22 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +107 -8
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +272 -49
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +2 -2
- package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.d.ts → agentHostResourceService.d.ts} +26 -0
- package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +11 -1
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +13 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +26 -18
- package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +119 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +135 -19
- package/vscode/src/vs/platform/agentHost/common/agentService.js +8 -2
- package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +5 -1
- package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +85 -22
- package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +36 -0
- package/vscode/src/vs/platform/agentHost/common/customAgents.js +12 -0
- package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +81 -0
- package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +103 -0
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +86 -10
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +129 -37
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +12 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +72 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.d.ts +6 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.js +30 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.d.ts +6 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/{reducers.js → channels-session/reducer.js} +99 -168
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +6 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +110 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.d.ts → common/errors.d.ts} +13 -2
- package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.js → common/errors.js} +1 -2
- package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +17 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.js +9 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +33 -8
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +2 -3
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +36 -5
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +6 -3
- package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +50 -0
- package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +138 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +3 -3
- package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +12 -0
- package/vscode/src/vs/platform/networkFilter/common/settings.js +14 -0
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +4 -1
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +9 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +21 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +28 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +31 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +49 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +182 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +784 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.d.ts +18 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +305 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +7 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +120 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +100 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +60 -60
- 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 +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +106 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +22 -36
- 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 +21 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +38 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- 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 +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +40 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +15 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +23 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +119 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +104 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +177 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +44 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +60 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +103 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -62
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +9 -7
- 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 +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +38 -28
- 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/aiCustomizationDebugPanel.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +22 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +8 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +112 -113
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +62 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +149 -145
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +13 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +15 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +78 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +140 -67
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +11 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +59 -57
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +440 -357
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
- 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/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.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 +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/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.js +115 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +5 -2
- 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/chatModelsViewModel.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +28 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +187 -106
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +41 -0
- 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 +66 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +346 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +72 -29
- 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 +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +144 -67
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +126 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +32 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +40 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +25 -24
- 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/githubRepoFetcher.js +1 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.d.ts +12 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +14 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +56 -18
- 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 +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +5 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +33 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +31 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +16 -13
- 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.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +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/languageModelToolsConfirmationService.js +39 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +24 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +23 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +22 -13
- 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.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +14 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +55 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +47 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +54 -12
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +39 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +40 -4
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +30 -8
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +205 -46
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +8 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +57 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +153 -38
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +12 -7
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +70 -37
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +6 -28
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +150 -150
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
- 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 +17 -17
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +21 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +122 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +41 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +232 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +65 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +225 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +143 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +205 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +40 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +174 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +43 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +260 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +98 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +14 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +226 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +392 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +243 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +54 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +310 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +177 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +102 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +27 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +29 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +55 -0
- 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.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +31 -9
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +177 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +518 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +297 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +2961 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +63 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +14 -14
- 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.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +118 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +44 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +223 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +81 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +63 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +349 -0
- package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +75 -0
- package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +192 -0
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.d.ts +89 -0
- package/vscode/src/vs/workbench/services/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +226 -9
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +0 -30
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +0 -119
- package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +0 -552
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.d.ts +0 -83
|
@@ -4,7 +4,7 @@ import { AccessibleViewType, AccessibleContentProvider, AccessibleViewProviderId
|
|
|
4
4
|
import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
|
|
5
5
|
import { AccessibilityVerbositySettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
|
|
6
6
|
import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
|
|
7
|
-
import { TerminalChatContextKeys, TerminalChatCommandId } from '@codingame/monaco-vscode-
|
|
7
|
+
import { TerminalChatContextKeys, TerminalChatCommandId } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
|
|
8
8
|
import { TerminalChatController } from './terminalChatController.js';
|
|
9
9
|
|
|
10
10
|
class TerminalChatAccessibilityHelp {
|
|
@@ -37,68 +37,68 @@ function getAccessibilityHelpText(accessor) {
|
|
|
37
37
|
const focusResponseKeybinding = keybindingService.lookupKeybinding("chat.action.focus")?.getAriaLabel();
|
|
38
38
|
const focusInputKeybinding = keybindingService.lookupKeybinding("workbench.action.chat.focusInput")?.getAriaLabel();
|
|
39
39
|
content.push(( localize(
|
|
40
|
-
|
|
40
|
+
14593,
|
|
41
41
|
"Inline chat occurs within a terminal. It is useful for suggesting terminal commands. Keep in mind that AI generated code may be incorrect."
|
|
42
42
|
)));
|
|
43
43
|
content.push(( localize(
|
|
44
|
-
|
|
44
|
+
14594,
|
|
45
45
|
"It can be activated using the command: Terminal: Start Chat ({0}), which will focus the input box.",
|
|
46
46
|
startChatKeybinding
|
|
47
47
|
)));
|
|
48
48
|
content.push(makeRequestKeybinding ? ( localize(
|
|
49
|
-
|
|
49
|
+
14595,
|
|
50
50
|
"The input box is where the user can type a request and can make the request ({0}). The widget will be closed and all content will be discarded when the Escape key is pressed and the terminal will regain focus.",
|
|
51
51
|
makeRequestKeybinding
|
|
52
52
|
)) : ( localize(
|
|
53
|
-
|
|
53
|
+
14596,
|
|
54
54
|
"The input box is where the user can type a request and can make the request by tabbing to the Make Request button, which is not currently triggerable via keybindings. The widget will be closed and all content will be discarded when the Escape key is pressed and the terminal will regain focus."
|
|
55
55
|
)));
|
|
56
56
|
content.push(openAccessibleViewKeybinding ? ( localize(
|
|
57
|
-
|
|
57
|
+
14597,
|
|
58
58
|
"The response can be inspected in the accessible view ({0}).",
|
|
59
59
|
openAccessibleViewKeybinding
|
|
60
60
|
)) : ( localize(
|
|
61
|
-
|
|
61
|
+
14598,
|
|
62
62
|
"With the input box focused, inspect the response in the accessible view via the Open Accessible View command, which is currently not triggerable by a keybinding."
|
|
63
63
|
)));
|
|
64
64
|
content.push(focusResponseKeybinding ? ( localize(
|
|
65
|
-
|
|
65
|
+
14599,
|
|
66
66
|
"Reach the response from the input box ({0}).",
|
|
67
67
|
focusResponseKeybinding
|
|
68
68
|
)) : ( localize(
|
|
69
|
-
|
|
69
|
+
14600,
|
|
70
70
|
"Reach the response from the input box by tabbing or assigning a keybinding for the command: Focus Terminal Response."
|
|
71
71
|
)));
|
|
72
72
|
content.push(focusInputKeybinding ? ( localize(
|
|
73
|
-
|
|
73
|
+
14601,
|
|
74
74
|
"Reach the input box from the response ({0}).",
|
|
75
75
|
focusInputKeybinding
|
|
76
76
|
)) : ( localize(
|
|
77
|
-
|
|
77
|
+
14602,
|
|
78
78
|
"Reach the response from the input box by shift+tabbing or assigning a keybinding for the command: Focus Terminal Input."
|
|
79
79
|
)));
|
|
80
80
|
content.push(runCommandKeybinding ? ( localize(
|
|
81
|
-
|
|
81
|
+
14603,
|
|
82
82
|
"With focus in the input box or command editor, the Terminal: Run Chat Command ({0}) action.",
|
|
83
83
|
runCommandKeybinding
|
|
84
84
|
)) : ( localize(
|
|
85
|
-
|
|
85
|
+
14604,
|
|
86
86
|
"Run a command by tabbing to the button as the action is currently not triggerable by a keybinding."
|
|
87
87
|
)));
|
|
88
88
|
content.push(insertCommandKeybinding ? ( localize(
|
|
89
|
-
|
|
89
|
+
14605,
|
|
90
90
|
"With focus in the input box command editor, the Terminal: Insert Chat Command ({0}) action.",
|
|
91
91
|
insertCommandKeybinding
|
|
92
92
|
)) : ( localize(
|
|
93
|
-
|
|
93
|
+
14606,
|
|
94
94
|
"Insert a command by tabbing to the button as the action is currently not triggerable by a keybinding."
|
|
95
95
|
)));
|
|
96
96
|
content.push(( localize(
|
|
97
|
-
|
|
97
|
+
14607,
|
|
98
98
|
"Use tab to reach conditional parts like commands, status, message responses and more."
|
|
99
99
|
)));
|
|
100
100
|
content.push(( localize(
|
|
101
|
-
|
|
101
|
+
14608,
|
|
102
102
|
"Accessibility Signals can be changed via settings with a prefix of signals.chat. By default, if a request takes more than 4 seconds, you will hear a sound indicating that progress is still occurring."
|
|
103
103
|
)));
|
|
104
104
|
return content.join("\n");
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js
CHANGED
|
@@ -5,7 +5,7 @@ import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workben
|
|
|
5
5
|
import { TerminalChatController } from './terminalChatController.js';
|
|
6
6
|
import { MenuItemAction } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
7
7
|
import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service';
|
|
8
|
-
import { TerminalChatContextKeys, MENU_TERMINAL_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-
|
|
8
|
+
import { TerminalChatContextKeys, MENU_TERMINAL_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
|
|
9
9
|
import { activeChatController } from './terminalChatControllerHolder.js';
|
|
10
10
|
|
|
11
11
|
class TerminalInlineChatAccessibleView {
|
|
@@ -16,7 +16,7 @@ import { ITerminalService, ITerminalGroupService, ITerminalEditorService, ITermi
|
|
|
16
16
|
import { registerActiveXtermAction } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminal/browser/terminalActions';
|
|
17
17
|
import { TerminalContextMenuGroup } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminalMenus';
|
|
18
18
|
import { TerminalContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/common/terminalContextKey';
|
|
19
|
-
import { TerminalChatContextKeys, TerminalChatCommandId, MENU_TERMINAL_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-
|
|
19
|
+
import { TerminalChatContextKeys, TerminalChatCommandId, MENU_TERMINAL_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
|
|
20
20
|
import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
21
21
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
22
22
|
import { getIconId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminalIcon';
|
|
@@ -32,8 +32,8 @@ import { activeChatController } from './terminalChatControllerHolder.js';
|
|
|
32
32
|
|
|
33
33
|
registerActiveXtermAction({
|
|
34
34
|
id: TerminalChatCommandId.Start,
|
|
35
|
-
title: ( localize2(
|
|
36
|
-
category: ( localize2(
|
|
35
|
+
title: ( localize2(14609, "Open Inline Chat")),
|
|
36
|
+
category: ( localize2(14610, "Terminal")),
|
|
37
37
|
keybinding: {
|
|
38
38
|
primary: KeyMod.CtrlCmd | KeyCode.KeyI,
|
|
39
39
|
when: ( ContextKeyExpr.and(TerminalContextKeys.focusInAny)),
|
|
@@ -77,7 +77,7 @@ registerActiveXtermAction({
|
|
|
77
77
|
});
|
|
78
78
|
registerActiveXtermAction({
|
|
79
79
|
id: TerminalChatCommandId.Close,
|
|
80
|
-
title: ( localize2(
|
|
80
|
+
title: ( localize2(14611, "Close")),
|
|
81
81
|
category: AbstractInlineChatAction.category,
|
|
82
82
|
keybinding: {
|
|
83
83
|
primary: KeyCode.Escape,
|
|
@@ -102,8 +102,8 @@ registerActiveXtermAction({
|
|
|
102
102
|
});
|
|
103
103
|
registerActiveXtermAction({
|
|
104
104
|
id: TerminalChatCommandId.RunCommand,
|
|
105
|
-
title: ( localize2(
|
|
106
|
-
shortTitle: ( localize2(
|
|
105
|
+
title: ( localize2(14612, "Run Chat Command")),
|
|
106
|
+
shortTitle: ( localize2(14613, "Run")),
|
|
107
107
|
category: AbstractInlineChatAction.category,
|
|
108
108
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
|
|
109
109
|
TerminalContextKeys.processSupported,
|
|
@@ -131,8 +131,8 @@ registerActiveXtermAction({
|
|
|
131
131
|
});
|
|
132
132
|
registerActiveXtermAction({
|
|
133
133
|
id: TerminalChatCommandId.RunFirstCommand,
|
|
134
|
-
title: ( localize2(
|
|
135
|
-
shortTitle: ( localize2(
|
|
134
|
+
title: ( localize2(14614, "Run First Chat Command")),
|
|
135
|
+
shortTitle: ( localize2(14615, "Run First")),
|
|
136
136
|
category: AbstractInlineChatAction.category,
|
|
137
137
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
|
|
138
138
|
TerminalContextKeys.processSupported,
|
|
@@ -160,8 +160,8 @@ registerActiveXtermAction({
|
|
|
160
160
|
});
|
|
161
161
|
registerActiveXtermAction({
|
|
162
162
|
id: TerminalChatCommandId.InsertCommand,
|
|
163
|
-
title: ( localize2(
|
|
164
|
-
shortTitle: ( localize2(
|
|
163
|
+
title: ( localize2(14616, "Insert Chat Command")),
|
|
164
|
+
shortTitle: ( localize2(14617, "Insert")),
|
|
165
165
|
category: AbstractInlineChatAction.category,
|
|
166
166
|
icon: Codicon.insert,
|
|
167
167
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
|
|
@@ -190,8 +190,8 @@ registerActiveXtermAction({
|
|
|
190
190
|
});
|
|
191
191
|
registerActiveXtermAction({
|
|
192
192
|
id: TerminalChatCommandId.InsertFirstCommand,
|
|
193
|
-
title: ( localize2(
|
|
194
|
-
shortTitle: ( localize2(
|
|
193
|
+
title: ( localize2(14618, "Insert First Chat Command")),
|
|
194
|
+
shortTitle: ( localize2(14619, "Insert First")),
|
|
195
195
|
category: AbstractInlineChatAction.category,
|
|
196
196
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
|
|
197
197
|
TerminalContextKeys.processSupported,
|
|
@@ -219,7 +219,7 @@ registerActiveXtermAction({
|
|
|
219
219
|
});
|
|
220
220
|
registerActiveXtermAction({
|
|
221
221
|
id: TerminalChatCommandId.RerunRequest,
|
|
222
|
-
title: ( localize2(
|
|
222
|
+
title: ( localize2(14620, "Rerun Request")),
|
|
223
223
|
f1: false,
|
|
224
224
|
icon: Codicon.refresh,
|
|
225
225
|
category: AbstractInlineChatAction.category,
|
|
@@ -260,7 +260,7 @@ registerActiveXtermAction({
|
|
|
260
260
|
});
|
|
261
261
|
registerActiveXtermAction({
|
|
262
262
|
id: TerminalChatCommandId.ViewInChat,
|
|
263
|
-
title: ( localize2(
|
|
263
|
+
title: ( localize2(14621, "View in Chat")),
|
|
264
264
|
category: AbstractInlineChatAction.category,
|
|
265
265
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.or(
|
|
266
266
|
TerminalContextKeys.processSupported,
|
|
@@ -286,8 +286,8 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
|
|
|
286
286
|
constructor() {
|
|
287
287
|
super({
|
|
288
288
|
id: TerminalChatCommandId.ViewHiddenChatTerminals,
|
|
289
|
-
title: ( localize2(
|
|
290
|
-
category: ( localize2(
|
|
289
|
+
title: ( localize2(14622, "View Hidden Chat Terminals")),
|
|
290
|
+
category: ( localize2(14623, "Terminal")),
|
|
291
291
|
f1: true,
|
|
292
292
|
precondition: ( ContextKeyExpr.and(TerminalChatContextKeys.hasHiddenChatTerminals, ChatContextKeys.enabled)),
|
|
293
293
|
menu: [{
|
|
@@ -329,7 +329,7 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
|
|
|
329
329
|
return;
|
|
330
330
|
}
|
|
331
331
|
const items = [];
|
|
332
|
-
const lastCommandLocalized = command => ( localize2(
|
|
332
|
+
const lastCommandLocalized = command => ( localize2(14624, "Last: {0}", command)).value;
|
|
333
333
|
const MAX_DETAIL_LENGTH = 80;
|
|
334
334
|
const metas = [];
|
|
335
335
|
for (const instance of ( all.values())) {
|
|
@@ -381,10 +381,10 @@ registerAction2(class ShowChatTerminalsAction extends Action2 {
|
|
|
381
381
|
});
|
|
382
382
|
}
|
|
383
383
|
const qp = quickInputService.createQuickPick();
|
|
384
|
-
qp.placeholder = ( localize2(
|
|
384
|
+
qp.placeholder = ( localize2(14625, "Select a chat terminal to show and focus")).value;
|
|
385
385
|
qp.items = items;
|
|
386
386
|
qp.canSelectMany = false;
|
|
387
|
-
qp.title = ( localize2(
|
|
387
|
+
qp.title = ( localize2(14626, "Chat Terminals")).value;
|
|
388
388
|
qp.matchOnDescription = true;
|
|
389
389
|
qp.matchOnDetail = true;
|
|
390
390
|
const qpDisposables = ( new DisposableStore());
|
|
@@ -442,14 +442,14 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
|
|
|
442
442
|
MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
|
|
443
443
|
command: {
|
|
444
444
|
id: TerminalChatCommandId.FocusMostRecentChatTerminal,
|
|
445
|
-
title: ( localize(
|
|
445
|
+
title: ( localize(14627, "Chat: Focus Most Recent Terminal"))
|
|
446
446
|
},
|
|
447
447
|
when: ChatContextKeys.inChatSession
|
|
448
448
|
});
|
|
449
449
|
MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
|
|
450
450
|
command: {
|
|
451
451
|
id: TerminalChatCommandId.FocusMostRecentChatTerminalOutput,
|
|
452
|
-
title: ( localize(
|
|
452
|
+
title: ( localize(14628, "Chat: Focus Most Recent Terminal Output"))
|
|
453
453
|
},
|
|
454
454
|
when: ChatContextKeys.inChatSession
|
|
455
455
|
});
|
|
@@ -5,7 +5,7 @@ import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/com
|
|
|
5
5
|
import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
6
6
|
import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
|
|
7
7
|
import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
8
|
-
import { TerminalChatContextKeys } from '@codingame/monaco-vscode-
|
|
8
|
+
import { TerminalChatContextKeys } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
|
|
9
9
|
|
|
10
10
|
let TerminalChatEnabler = class TerminalChatEnabler {
|
|
11
11
|
static {
|
package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts
CHANGED
|
@@ -23,6 +23,8 @@ export declare class TerminalChatService extends Disposable implements ITerminal
|
|
|
23
23
|
private readonly _chatSessionResourceByTerminalInstance;
|
|
24
24
|
private readonly _terminalInstanceListenersByToolSessionId;
|
|
25
25
|
private readonly _chatSessionListenersByTerminalInstance;
|
|
26
|
+
private readonly _terminalInstancesByExecutionId;
|
|
27
|
+
private readonly _terminalInstanceListenersByExecutionId;
|
|
26
28
|
private readonly _ahpCommandSources;
|
|
27
29
|
private readonly _onDidContinueInBackground;
|
|
28
30
|
readonly onDidContinueInBackground: Event<string>;
|
|
@@ -54,6 +56,8 @@ export declare class TerminalChatService extends Disposable implements ITerminal
|
|
|
54
56
|
getTerminalInstanceByToolSessionId(terminalToolSessionId: string | undefined): Promise<ITerminalInstance | undefined>;
|
|
55
57
|
getToolSessionTerminalInstances(hiddenOnly?: boolean): readonly ITerminalInstance[];
|
|
56
58
|
getToolSessionIdForInstance(instance: ITerminalInstance): string | undefined;
|
|
59
|
+
registerTerminalInstanceWithExecutionId(terminalExecutionId: string, instance: ITerminalInstance): IDisposable;
|
|
60
|
+
getTerminalInstanceByExecutionId(terminalExecutionId: string): ITerminalInstance | undefined;
|
|
57
61
|
registerTerminalInstanceWithChatSession(chatSessionResource: URI, instance: ITerminalInstance): void;
|
|
58
62
|
getChatSessionResourceForInstance(instance: ITerminalInstance): URI | undefined;
|
|
59
63
|
isBackgroundTerminal(terminalToolSessionId?: string): boolean;
|
|
@@ -9,7 +9,7 @@ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platf
|
|
|
9
9
|
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
10
10
|
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
11
11
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
12
|
-
import { TerminalChatContextKeys } from '@codingame/monaco-vscode-
|
|
12
|
+
import { TerminalChatContextKeys } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
|
|
13
13
|
import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
14
14
|
import { isNumber, isString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
15
15
|
|
|
@@ -37,6 +37,8 @@ let TerminalChatService = class TerminalChatService extends Disposable {
|
|
|
37
37
|
this._chatSessionResourceByTerminalInstance = ( new Map());
|
|
38
38
|
this._terminalInstanceListenersByToolSessionId = this._register(( new DisposableMap()));
|
|
39
39
|
this._chatSessionListenersByTerminalInstance = this._register(( new DisposableMap()));
|
|
40
|
+
this._terminalInstancesByExecutionId = ( new Map());
|
|
41
|
+
this._terminalInstanceListenersByExecutionId = this._register(( new DisposableMap()));
|
|
40
42
|
this._ahpCommandSources = ( new Map());
|
|
41
43
|
this._onDidContinueInBackground = this._register(( new Emitter()));
|
|
42
44
|
this.onDidContinueInBackground = this._onDidContinueInBackground.event;
|
|
@@ -130,6 +132,24 @@ let TerminalChatService = class TerminalChatService extends Disposable {
|
|
|
130
132
|
getToolSessionIdForInstance(instance) {
|
|
131
133
|
return this._toolSessionIdByTerminalInstance.get(instance);
|
|
132
134
|
}
|
|
135
|
+
registerTerminalInstanceWithExecutionId(terminalExecutionId, instance) {
|
|
136
|
+
this._terminalInstanceListenersByExecutionId.deleteAndDispose(terminalExecutionId);
|
|
137
|
+
this._terminalInstancesByExecutionId.set(terminalExecutionId, instance);
|
|
138
|
+
const instanceStore = ( new DisposableStore());
|
|
139
|
+
const unregister = () => {
|
|
140
|
+
if (this._terminalInstancesByExecutionId.get(terminalExecutionId) !== instance) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
this._terminalInstancesByExecutionId.delete(terminalExecutionId);
|
|
144
|
+
this._terminalInstanceListenersByExecutionId.deleteAndDispose(terminalExecutionId);
|
|
145
|
+
};
|
|
146
|
+
instanceStore.add(instance.onDisposed(unregister));
|
|
147
|
+
this._terminalInstanceListenersByExecutionId.set(terminalExecutionId, instanceStore);
|
|
148
|
+
return toDisposable(unregister);
|
|
149
|
+
}
|
|
150
|
+
getTerminalInstanceByExecutionId(terminalExecutionId) {
|
|
151
|
+
return this._terminalInstancesByExecutionId.get(terminalExecutionId);
|
|
152
|
+
}
|
|
133
153
|
registerTerminalInstanceWithChatSession(chatSessionResource, instance) {
|
|
134
154
|
const existingResource = this._chatSessionResourceByTerminalInstance.get(instance);
|
|
135
155
|
if (existingResource && ( existingResource.toString()) === ( chatSessionResource.toString())) {
|
|
@@ -24,7 +24,7 @@ import { InlineChatWidget } from '@codingame/monaco-vscode-katex-common/vscode/v
|
|
|
24
24
|
import { MENU_INLINE_CHAT_WIDGET_SECONDARY } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
|
|
25
25
|
import { TerminalStickyScrollContribution } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollContribution';
|
|
26
26
|
import * as terminalChatWidget from './media/terminalChatWidget.css';
|
|
27
|
-
import { TerminalChatContextKeys, MENU_TERMINAL_CHAT_WIDGET_INPUT_SIDE_TOOLBAR, TerminalChatCommandId, MENU_TERMINAL_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-
|
|
27
|
+
import { TerminalChatContextKeys, MENU_TERMINAL_CHAT_WIDGET_INPUT_SIDE_TOOLBAR, TerminalChatCommandId, MENU_TERMINAL_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-xterm-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
|
|
28
28
|
import { isResponseVM } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatViewModel';
|
|
29
29
|
import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
|
|
30
30
|
import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
|
|
@@ -198,7 +198,7 @@ let TerminalChatWidget = class TerminalChatWidget extends Disposable {
|
|
|
198
198
|
}
|
|
199
199
|
_resetPlaceholder() {
|
|
200
200
|
const defaultAgent = this._chatAgentService.getDefaultAgent(ChatAgentLocation.Terminal);
|
|
201
|
-
this.inlineChatWidget.placeholder = defaultAgent?.description ?? ( localize(
|
|
201
|
+
this.inlineChatWidget.placeholder = defaultAgent?.description ?? ( localize(14629, "Ask about commands"));
|
|
202
202
|
}
|
|
203
203
|
async reveal() {
|
|
204
204
|
await this._createSession();
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { IAgentHostService } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentService.service";
|
|
3
|
+
import { IRemoteAgentHostService } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/remoteAgentHostService.service";
|
|
4
|
+
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
5
|
+
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
6
|
+
import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
|
|
7
|
+
/**
|
|
8
|
+
* Forwards the workbench user's sandbox setting values into every connected
|
|
9
|
+
* agent host (local + remote) via `RootConfigChanged` actions, so the
|
|
10
|
+
* agent-host terminal sandbox engine can mirror the user's preferences.
|
|
11
|
+
*
|
|
12
|
+
* The forwarder is deliberately one-directional: it pushes only when
|
|
13
|
+
* - a connection comes online (initial push, deferred until the host
|
|
14
|
+
* advertises the sandbox schema), or
|
|
15
|
+
* - a sandbox-related workbench setting changes.
|
|
16
|
+
*
|
|
17
|
+
* It does NOT react to agent-host root-state changes after the initial
|
|
18
|
+
* push, so concurrent edits coming from the host (or from another client
|
|
19
|
+
* attached to the same host) do not trigger a push-back loop. Each push
|
|
20
|
+
* is schema-guarded so older hosts that don't advertise the sandbox keys
|
|
21
|
+
* are skipped silently.
|
|
22
|
+
*/
|
|
23
|
+
export declare class AgentHostSandboxForwarder extends Disposable implements IWorkbenchContribution {
|
|
24
|
+
private readonly _localAgentHostService;
|
|
25
|
+
private readonly _remoteAgentHostService;
|
|
26
|
+
private readonly _configurationService;
|
|
27
|
+
private readonly _logService;
|
|
28
|
+
static readonly ID = "workbench.contrib.agentHostSandboxForwarder";
|
|
29
|
+
/**
|
|
30
|
+
* Connections that have already had their initial push attempted
|
|
31
|
+
* (successfully or via a pending listener waiting for the sandbox
|
|
32
|
+
* schema). Used to avoid re-scheduling pushes for connections that
|
|
33
|
+
* are still present across `onDidChangeConnections` events.
|
|
34
|
+
*/
|
|
35
|
+
private readonly _scheduled;
|
|
36
|
+
private _desired;
|
|
37
|
+
constructor(_localAgentHostService: IAgentHostService, _remoteAgentHostService: IRemoteAgentHostService, _configurationService: IConfigurationService, _logService: ILogService);
|
|
38
|
+
private _syncConnectionListeners;
|
|
39
|
+
/**
|
|
40
|
+
* Push immediately if the host is already advertising the sandbox
|
|
41
|
+
* schema; otherwise subscribe to `rootState.onDidChange` long enough
|
|
42
|
+
* to catch the schema and push exactly once, then unsubscribe.
|
|
43
|
+
*/
|
|
44
|
+
private _scheduleInitialPush;
|
|
45
|
+
private _pushToAllConnections;
|
|
46
|
+
/**
|
|
47
|
+
* Attempt to dispatch the desired sandbox config to `connection`.
|
|
48
|
+
* Returns `true` once the host has advertised the sandbox schema
|
|
49
|
+
* (whether or not an actual dispatch was needed); `false` if the
|
|
50
|
+
* schema is not yet available and the caller should keep waiting.
|
|
51
|
+
*/
|
|
52
|
+
private _tryPush;
|
|
53
|
+
private _getDesired;
|
|
54
|
+
dispose(): void;
|
|
55
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
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 { equals } from '@codingame/monaco-vscode-api/vscode/vs/base/common/objects';
|
|
5
|
+
import { IAgentHostService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentService.service';
|
|
6
|
+
import { IRemoteAgentHostService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/remoteAgentHostService.service';
|
|
7
|
+
import { AgentHostSandboxConfigKey } from '../../../../../platform/agentHost/common/sandboxConfigSchema.js';
|
|
8
|
+
import { ActionType } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/common/actions';
|
|
9
|
+
import { ROOT_STATE_URI } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState';
|
|
10
|
+
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
11
|
+
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
12
|
+
import { SANDBOX_SETTING_KEYS, readAgentHostSandboxValues } from '../common/sandboxSettingsReader.js';
|
|
13
|
+
|
|
14
|
+
let AgentHostSandboxForwarder = class AgentHostSandboxForwarder extends Disposable {
|
|
15
|
+
static {
|
|
16
|
+
this.ID = "workbench.contrib.agentHostSandboxForwarder";
|
|
17
|
+
}
|
|
18
|
+
constructor(
|
|
19
|
+
_localAgentHostService,
|
|
20
|
+
_remoteAgentHostService,
|
|
21
|
+
_configurationService,
|
|
22
|
+
_logService
|
|
23
|
+
) {
|
|
24
|
+
super();
|
|
25
|
+
this._localAgentHostService = _localAgentHostService;
|
|
26
|
+
this._remoteAgentHostService = _remoteAgentHostService;
|
|
27
|
+
this._configurationService = _configurationService;
|
|
28
|
+
this._logService = _logService;
|
|
29
|
+
this._scheduled = ( new Map());
|
|
30
|
+
this._register(this._configurationService.onDidChangeConfiguration(e => {
|
|
31
|
+
if (( SANDBOX_SETTING_KEYS.some(key => e.affectsConfiguration(key)))) {
|
|
32
|
+
this._desired = undefined;
|
|
33
|
+
this._pushToAllConnections();
|
|
34
|
+
}
|
|
35
|
+
}));
|
|
36
|
+
this._register(this._remoteAgentHostService.onDidChangeConnections(() => {
|
|
37
|
+
this._syncConnectionListeners();
|
|
38
|
+
}));
|
|
39
|
+
this._syncConnectionListeners();
|
|
40
|
+
}
|
|
41
|
+
_syncConnectionListeners() {
|
|
42
|
+
const live = ( new Set());
|
|
43
|
+
const ensureScheduled = connection => {
|
|
44
|
+
live.add(connection);
|
|
45
|
+
if (!( this._scheduled.has(connection))) {
|
|
46
|
+
this._scheduleInitialPush(connection);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
ensureScheduled(this._localAgentHostService);
|
|
50
|
+
for (const info of this._remoteAgentHostService.connections) {
|
|
51
|
+
const connection = this._remoteAgentHostService.getConnection(info.address);
|
|
52
|
+
if (connection) {
|
|
53
|
+
ensureScheduled(connection);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
for (const [connection, listener] of this._scheduled) {
|
|
57
|
+
if (!( live.has(connection))) {
|
|
58
|
+
listener.dispose();
|
|
59
|
+
this._scheduled.delete(connection);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
_scheduleInitialPush(connection) {
|
|
64
|
+
if (this._tryPush(connection)) {
|
|
65
|
+
this._scheduled.set(connection, Disposable.None);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const listener = connection.rootState.onDidChange(() => {
|
|
69
|
+
if (this._tryPush(connection)) {
|
|
70
|
+
this._scheduled.get(connection)?.dispose();
|
|
71
|
+
this._scheduled.set(connection, Disposable.None);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
this._scheduled.set(connection, listener);
|
|
75
|
+
}
|
|
76
|
+
_pushToAllConnections() {
|
|
77
|
+
this._tryPush(this._localAgentHostService);
|
|
78
|
+
for (const info of this._remoteAgentHostService.connections) {
|
|
79
|
+
const connection = this._remoteAgentHostService.getConnection(info.address);
|
|
80
|
+
if (connection) {
|
|
81
|
+
this._tryPush(connection);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
_tryPush(connection) {
|
|
86
|
+
const rootState = connection.rootState.value;
|
|
87
|
+
if (!rootState || rootState instanceof Error) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
const schemaProperties = rootState.config?.schema.properties;
|
|
91
|
+
if (!schemaProperties?.[AgentHostSandboxConfigKey.Sandbox]) {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
const desired = this._getDesired();
|
|
95
|
+
const current = rootState.config?.values?.[AgentHostSandboxConfigKey.Sandbox] ?? {};
|
|
96
|
+
if (!equals(current, desired)) {
|
|
97
|
+
connection.dispatch(ROOT_STATE_URI, {
|
|
98
|
+
type: ActionType.RootConfigChanged,
|
|
99
|
+
config: {
|
|
100
|
+
[AgentHostSandboxConfigKey.Sandbox]: desired
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
_getDesired() {
|
|
107
|
+
if (this._desired === undefined) {
|
|
108
|
+
this._desired = readAgentHostSandboxValues(this._configurationService, this._logService);
|
|
109
|
+
}
|
|
110
|
+
return this._desired;
|
|
111
|
+
}
|
|
112
|
+
dispose() {
|
|
113
|
+
for (const listener of ( this._scheduled.values())) {
|
|
114
|
+
listener.dispose();
|
|
115
|
+
}
|
|
116
|
+
this._scheduled.clear();
|
|
117
|
+
super.dispose();
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
AgentHostSandboxForwarder = ( __decorate([( __param(0, IAgentHostService)), ( __param(1, IRemoteAgentHostService)), ( __param(2, IConfigurationService)), ( __param(3, ILogService))], AgentHostSandboxForwarder));
|
|
121
|
+
|
|
122
|
+
export { AgentHostSandboxForwarder };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
|
|
2
|
+
export declare function getRecommendedToolsOverRunInTerminal(commandLine: string, languageModelToolsService: ILanguageModelToolsService): string | undefined;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
let previouslyRecommededInSession = false;
|
|
4
|
+
const terminalCommands = [{
|
|
5
|
+
commands: [( new RegExp(/^python3? -m pip install(\b)/)), ( new RegExp(/^pip3? install(\b)/))],
|
|
6
|
+
tags: ["python environment"]
|
|
7
|
+
}, {
|
|
8
|
+
commands: [( new RegExp(/^python3? -m jupyter(\b)/)), ( new RegExp(/^python3? -m pip install\b.*jupyter\b.*/)), ( new RegExp(/^pip3? install\b.*jupyter\b.*/)), (
|
|
9
|
+
new RegExp(/^jupyter(\b)/))],
|
|
10
|
+
tags: ["python environment", "jupyter environment"]
|
|
11
|
+
}];
|
|
12
|
+
function getRecommendedToolsOverRunInTerminal(commandLine, languageModelToolsService) {
|
|
13
|
+
const tools = languageModelToolsService.getTools(undefined);
|
|
14
|
+
if (!tools || previouslyRecommededInSession) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const recommendedTools = ( new Set());
|
|
18
|
+
const messages = [
|
|
19
|
+
`The terminal command '${commandLine}' was not executed.`,
|
|
20
|
+
`Try using some of the following tools instead of running a Terminal Command (if unable to use one of these tools as an alternative then run the same terminal command again):`
|
|
21
|
+
];
|
|
22
|
+
for (const terminalCommand of terminalCommands) {
|
|
23
|
+
if (!( terminalCommand.commands.some(condition => condition.test(commandLine)))) {
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
const tagsToSearchFor = terminalCommand.tags;
|
|
27
|
+
Array.from(tools).filter(t => ( tagsToSearchFor.some(tag => t.tags?.includes(tag)))).forEach(tool => {
|
|
28
|
+
recommendedTools.add(tool.id);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
recommendedTools.forEach(toolName => {
|
|
32
|
+
messages.push(`- ${toolName}`);
|
|
33
|
+
});
|
|
34
|
+
if (recommendedTools.size) {
|
|
35
|
+
previouslyRecommededInSession = true;
|
|
36
|
+
return messages.join(" \n");
|
|
37
|
+
}
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { getRecommendedToolsOverRunInTerminal };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for command-specific file write parsers.
|
|
3
|
+
* Each parser is responsible for detecting when a specific command will write to files
|
|
4
|
+
* (beyond simple shell redirections which are handled separately via tree-sitter queries).
|
|
5
|
+
*/
|
|
6
|
+
export interface ICommandFileWriteParser {
|
|
7
|
+
/**
|
|
8
|
+
* The name of the command this parser handles (e.g., 'sed', 'tee').
|
|
9
|
+
*/
|
|
10
|
+
readonly commandName: string;
|
|
11
|
+
/**
|
|
12
|
+
* Checks if this parser can handle the given command text.
|
|
13
|
+
* Should return true only if the command would write to files.
|
|
14
|
+
* @param commandText The full text of a single command (not a pipeline).
|
|
15
|
+
*/
|
|
16
|
+
canHandle(commandText: string): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Extracts the file paths that would be written to by this command.
|
|
19
|
+
* Should only be called if canHandle() returns true.
|
|
20
|
+
* @param commandText The full text of a single command (not a pipeline).
|
|
21
|
+
* @returns Array of file paths that would be modified.
|
|
22
|
+
*/
|
|
23
|
+
extractFileWrites(commandText: string): string[];
|
|
24
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ICommandFileWriteParser } from "./commandFileWriteParser.js";
|
|
2
|
+
/**
|
|
3
|
+
* Parser for detecting file writes from `sed` commands using in-place editing.
|
|
4
|
+
*
|
|
5
|
+
* Handles:
|
|
6
|
+
* - `sed -i 's/foo/bar/' file.txt` (GNU)
|
|
7
|
+
* - `sed -i.bak 's/foo/bar/' file.txt` (GNU with backup suffix)
|
|
8
|
+
* - `sed -i '' 's/foo/bar/' file.txt` (macOS/BSD with empty backup suffix)
|
|
9
|
+
* - `sed --in-place 's/foo/bar/' file.txt` (GNU long form)
|
|
10
|
+
* - `sed --in-place=.bak 's/foo/bar/' file.txt` (GNU long form with backup)
|
|
11
|
+
* - `sed -I 's/foo/bar/' file.txt` (BSD case-insensitive variant)
|
|
12
|
+
*/
|
|
13
|
+
export declare class SedFileWriteParser implements ICommandFileWriteParser {
|
|
14
|
+
readonly commandName = "sed";
|
|
15
|
+
canHandle(commandText: string): boolean;
|
|
16
|
+
extractFileWrites(commandText: string): string[];
|
|
17
|
+
/**
|
|
18
|
+
* Tokenizes a command into individual arguments, handling quotes and escapes.
|
|
19
|
+
*/
|
|
20
|
+
private _tokenizeCommand;
|
|
21
|
+
/**
|
|
22
|
+
* Extracts file targets from tokenized sed command arguments.
|
|
23
|
+
* Files are generally the last non-option, non-script arguments.
|
|
24
|
+
*/
|
|
25
|
+
private _extractFileTargets;
|
|
26
|
+
}
|