@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
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { OperatingSystem } from "@codingame/monaco-vscode-api/vscode/vs/base/common/platform";
|
|
2
|
+
import type { ITerminalSandboxCommand } from "./terminalSandboxService.js";
|
|
3
|
+
export declare enum TerminalSandboxReadAllowListOperation {
|
|
4
|
+
Git = "git",
|
|
5
|
+
Node = "node",
|
|
6
|
+
Rust = "rust",
|
|
7
|
+
Go = "go",
|
|
8
|
+
Python = "python",
|
|
9
|
+
Java = "java",
|
|
10
|
+
Dotnet = "dotnet",
|
|
11
|
+
Nuget = "nuget",
|
|
12
|
+
Msbuild = "msbuild",
|
|
13
|
+
Ruby = "ruby",
|
|
14
|
+
NativeBuild = "nativeBuild",
|
|
15
|
+
Conan = "conan",
|
|
16
|
+
GnuPG = "gnupg"
|
|
17
|
+
}
|
|
18
|
+
export declare function getTerminalSandboxReadAllowListForCommands(os: OperatingSystem, commandKeywords: readonly string[], commandDetails?: readonly ITerminalSandboxCommand[]): readonly string[];
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
|
|
2
|
+
import { OperatingSystem } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
3
|
+
import { gitGlobalOptionsWithValue, matchesTerminalSandboxCommandRule } from './terminalSandboxCommandRules.js';
|
|
4
|
+
|
|
5
|
+
var TerminalSandboxReadAllowListOperation;
|
|
6
|
+
(function(TerminalSandboxReadAllowListOperation) {
|
|
7
|
+
TerminalSandboxReadAllowListOperation["Git"] = "git";
|
|
8
|
+
TerminalSandboxReadAllowListOperation["Node"] = "node";
|
|
9
|
+
TerminalSandboxReadAllowListOperation["Rust"] = "rust";
|
|
10
|
+
TerminalSandboxReadAllowListOperation["Go"] = "go";
|
|
11
|
+
TerminalSandboxReadAllowListOperation["Python"] = "python";
|
|
12
|
+
TerminalSandboxReadAllowListOperation["Java"] = "java";
|
|
13
|
+
TerminalSandboxReadAllowListOperation["Dotnet"] = "dotnet";
|
|
14
|
+
TerminalSandboxReadAllowListOperation["Nuget"] = "nuget";
|
|
15
|
+
TerminalSandboxReadAllowListOperation["Msbuild"] = "msbuild";
|
|
16
|
+
TerminalSandboxReadAllowListOperation["Ruby"] = "ruby";
|
|
17
|
+
TerminalSandboxReadAllowListOperation["NativeBuild"] = "nativeBuild";
|
|
18
|
+
TerminalSandboxReadAllowListOperation["Conan"] = "conan";
|
|
19
|
+
TerminalSandboxReadAllowListOperation["GnuPG"] = "gnupg";
|
|
20
|
+
})(
|
|
21
|
+
TerminalSandboxReadAllowListOperation || (TerminalSandboxReadAllowListOperation = {})
|
|
22
|
+
);
|
|
23
|
+
const terminalSandboxReadAllowListKeywordMap = ( new Map([
|
|
24
|
+
["git", TerminalSandboxReadAllowListOperation.Git],
|
|
25
|
+
["gh", TerminalSandboxReadAllowListOperation.Git],
|
|
26
|
+
["node", TerminalSandboxReadAllowListOperation.Node],
|
|
27
|
+
["npm", TerminalSandboxReadAllowListOperation.Node],
|
|
28
|
+
["npx", TerminalSandboxReadAllowListOperation.Node],
|
|
29
|
+
["pnpm", TerminalSandboxReadAllowListOperation.Node],
|
|
30
|
+
["yarn", TerminalSandboxReadAllowListOperation.Node],
|
|
31
|
+
["corepack", TerminalSandboxReadAllowListOperation.Node],
|
|
32
|
+
["bun", TerminalSandboxReadAllowListOperation.Node],
|
|
33
|
+
["deno", TerminalSandboxReadAllowListOperation.Node],
|
|
34
|
+
["nvm", TerminalSandboxReadAllowListOperation.Node],
|
|
35
|
+
["volta", TerminalSandboxReadAllowListOperation.Node],
|
|
36
|
+
["fnm", TerminalSandboxReadAllowListOperation.Node],
|
|
37
|
+
["asdf", TerminalSandboxReadAllowListOperation.Node],
|
|
38
|
+
["mise", TerminalSandboxReadAllowListOperation.Node],
|
|
39
|
+
["cargo", TerminalSandboxReadAllowListOperation.Rust],
|
|
40
|
+
["rustc", TerminalSandboxReadAllowListOperation.Rust],
|
|
41
|
+
["rustup", TerminalSandboxReadAllowListOperation.Rust],
|
|
42
|
+
["go", TerminalSandboxReadAllowListOperation.Go],
|
|
43
|
+
["gofmt", TerminalSandboxReadAllowListOperation.Go],
|
|
44
|
+
["python", TerminalSandboxReadAllowListOperation.Python],
|
|
45
|
+
["python3", TerminalSandboxReadAllowListOperation.Python],
|
|
46
|
+
["pip", TerminalSandboxReadAllowListOperation.Python],
|
|
47
|
+
["pip3", TerminalSandboxReadAllowListOperation.Python],
|
|
48
|
+
["poetry", TerminalSandboxReadAllowListOperation.Python],
|
|
49
|
+
["uv", TerminalSandboxReadAllowListOperation.Python],
|
|
50
|
+
["pipx", TerminalSandboxReadAllowListOperation.Python],
|
|
51
|
+
["pyenv", TerminalSandboxReadAllowListOperation.Python],
|
|
52
|
+
["java", TerminalSandboxReadAllowListOperation.Java],
|
|
53
|
+
["javac", TerminalSandboxReadAllowListOperation.Java],
|
|
54
|
+
["jar", TerminalSandboxReadAllowListOperation.Java],
|
|
55
|
+
["mvn", TerminalSandboxReadAllowListOperation.Java],
|
|
56
|
+
["mvnw", TerminalSandboxReadAllowListOperation.Java],
|
|
57
|
+
["gradle", TerminalSandboxReadAllowListOperation.Java],
|
|
58
|
+
["gradlew", TerminalSandboxReadAllowListOperation.Java],
|
|
59
|
+
["sdk", TerminalSandboxReadAllowListOperation.Java],
|
|
60
|
+
["dotnet", TerminalSandboxReadAllowListOperation.Dotnet],
|
|
61
|
+
["nuget", TerminalSandboxReadAllowListOperation.Nuget],
|
|
62
|
+
["msbuild", TerminalSandboxReadAllowListOperation.Msbuild],
|
|
63
|
+
["ruby", TerminalSandboxReadAllowListOperation.Ruby],
|
|
64
|
+
["gem", TerminalSandboxReadAllowListOperation.Ruby],
|
|
65
|
+
["bundle", TerminalSandboxReadAllowListOperation.Ruby],
|
|
66
|
+
["bundler", TerminalSandboxReadAllowListOperation.Ruby],
|
|
67
|
+
["rake", TerminalSandboxReadAllowListOperation.Ruby],
|
|
68
|
+
["rbenv", TerminalSandboxReadAllowListOperation.Ruby],
|
|
69
|
+
["rvm", TerminalSandboxReadAllowListOperation.Ruby],
|
|
70
|
+
["ccache", TerminalSandboxReadAllowListOperation.NativeBuild],
|
|
71
|
+
["sccache", TerminalSandboxReadAllowListOperation.NativeBuild],
|
|
72
|
+
["cmake", TerminalSandboxReadAllowListOperation.NativeBuild],
|
|
73
|
+
["conan", TerminalSandboxReadAllowListOperation.Conan]
|
|
74
|
+
]));
|
|
75
|
+
function getTerminalSandboxReadAllowListForOperation(operation, os) {
|
|
76
|
+
if (os === OperatingSystem.Windows) {
|
|
77
|
+
return [];
|
|
78
|
+
}
|
|
79
|
+
switch (operation) {
|
|
80
|
+
case TerminalSandboxReadAllowListOperation.Git:
|
|
81
|
+
switch (os) {
|
|
82
|
+
case OperatingSystem.Macintosh:
|
|
83
|
+
case OperatingSystem.Linux:
|
|
84
|
+
default:
|
|
85
|
+
return [
|
|
86
|
+
"~/.gitconfig",
|
|
87
|
+
"~/.config/git/config",
|
|
88
|
+
"~/.gitignore",
|
|
89
|
+
"~/.gitignore_global",
|
|
90
|
+
"~/.config/git/ignore",
|
|
91
|
+
"~/.config/git/attributes"
|
|
92
|
+
];
|
|
93
|
+
}
|
|
94
|
+
case TerminalSandboxReadAllowListOperation.Node:
|
|
95
|
+
switch (os) {
|
|
96
|
+
case OperatingSystem.Macintosh:
|
|
97
|
+
return [
|
|
98
|
+
"~/.npm",
|
|
99
|
+
"~/Library/Caches/node",
|
|
100
|
+
"~/Library/Caches/electron",
|
|
101
|
+
"~/Library/Caches/ms-playwright",
|
|
102
|
+
"~/Library/Caches/Yarn",
|
|
103
|
+
"~/Library/Caches/deno",
|
|
104
|
+
"~/Library/pnpm",
|
|
105
|
+
"~/.electron-gyp",
|
|
106
|
+
"~/.node-gyp",
|
|
107
|
+
"~/.yarn/berry",
|
|
108
|
+
"~/.local/share/pnpm",
|
|
109
|
+
"~/.pnpm-store",
|
|
110
|
+
"~/.bun/install/cache",
|
|
111
|
+
"~/.bun/bin",
|
|
112
|
+
"~/.deno",
|
|
113
|
+
"~/.nvm/versions",
|
|
114
|
+
"~/.nvm/alias",
|
|
115
|
+
"~/.volta/bin",
|
|
116
|
+
"~/.volta/tools",
|
|
117
|
+
"~/.fnm",
|
|
118
|
+
"~/.asdf/installs/nodejs",
|
|
119
|
+
"~/.asdf/shims",
|
|
120
|
+
"~/.local/share/mise/installs/node",
|
|
121
|
+
"~/.local/share/mise/shims"
|
|
122
|
+
];
|
|
123
|
+
case OperatingSystem.Linux:
|
|
124
|
+
default:
|
|
125
|
+
return [
|
|
126
|
+
"~/.npm",
|
|
127
|
+
"~/.cache/node",
|
|
128
|
+
"~/.cache/node/corepack",
|
|
129
|
+
"~/.cache/electron",
|
|
130
|
+
"~/.cache/ms-playwright",
|
|
131
|
+
"~/.cache/yarn",
|
|
132
|
+
"~/.electron-gyp",
|
|
133
|
+
"~/.node-gyp",
|
|
134
|
+
"~/.yarn/berry",
|
|
135
|
+
"~/.local/share/pnpm",
|
|
136
|
+
"~/.pnpm-store",
|
|
137
|
+
"~/.bun/install/cache",
|
|
138
|
+
"~/.bun/bin",
|
|
139
|
+
"~/.deno",
|
|
140
|
+
"~/.cache/deno",
|
|
141
|
+
"~/.nvm/versions",
|
|
142
|
+
"~/.nvm/alias",
|
|
143
|
+
"~/.volta/bin",
|
|
144
|
+
"~/.volta/tools",
|
|
145
|
+
"~/.fnm",
|
|
146
|
+
"~/.asdf/installs/nodejs",
|
|
147
|
+
"~/.asdf/shims",
|
|
148
|
+
"~/.local/share/mise/installs/node",
|
|
149
|
+
"~/.local/share/mise/shims"
|
|
150
|
+
];
|
|
151
|
+
}
|
|
152
|
+
case TerminalSandboxReadAllowListOperation.Rust:
|
|
153
|
+
switch (os) {
|
|
154
|
+
case OperatingSystem.Macintosh:
|
|
155
|
+
case OperatingSystem.Linux:
|
|
156
|
+
default:
|
|
157
|
+
return [
|
|
158
|
+
"~/.cargo/bin",
|
|
159
|
+
"~/.cargo/registry",
|
|
160
|
+
"~/.cargo/git",
|
|
161
|
+
"~/.rustup/toolchains"
|
|
162
|
+
];
|
|
163
|
+
}
|
|
164
|
+
case TerminalSandboxReadAllowListOperation.Go:
|
|
165
|
+
switch (os) {
|
|
166
|
+
case OperatingSystem.Macintosh:
|
|
167
|
+
return ["~/go/pkg/mod", "~/go/bin", "~/Library/Caches/go-build"];
|
|
168
|
+
case OperatingSystem.Linux:
|
|
169
|
+
default:
|
|
170
|
+
return ["~/go/pkg/mod", "~/go/bin", "~/.cache/go-build"];
|
|
171
|
+
}
|
|
172
|
+
case TerminalSandboxReadAllowListOperation.Python:
|
|
173
|
+
switch (os) {
|
|
174
|
+
case OperatingSystem.Macintosh:
|
|
175
|
+
return [
|
|
176
|
+
"~/Library/Caches/pip",
|
|
177
|
+
"~/Library/Caches/pypoetry",
|
|
178
|
+
"~/Library/Caches/uv",
|
|
179
|
+
"~/.local/bin",
|
|
180
|
+
"~/.local/share/virtualenv",
|
|
181
|
+
"~/.local/share/pipx",
|
|
182
|
+
"~/.pyenv/versions",
|
|
183
|
+
"~/.pyenv/shims"
|
|
184
|
+
];
|
|
185
|
+
case OperatingSystem.Linux:
|
|
186
|
+
default:
|
|
187
|
+
return [
|
|
188
|
+
"~/.cache/pip",
|
|
189
|
+
"~/.cache/pypoetry",
|
|
190
|
+
"~/.cache/uv",
|
|
191
|
+
"~/.local/bin",
|
|
192
|
+
"~/.local/share/virtualenv",
|
|
193
|
+
"~/.local/share/pipx",
|
|
194
|
+
"~/.pyenv/versions",
|
|
195
|
+
"~/.pyenv/shims"
|
|
196
|
+
];
|
|
197
|
+
}
|
|
198
|
+
case TerminalSandboxReadAllowListOperation.Java:
|
|
199
|
+
switch (os) {
|
|
200
|
+
case OperatingSystem.Macintosh:
|
|
201
|
+
case OperatingSystem.Linux:
|
|
202
|
+
default:
|
|
203
|
+
return [
|
|
204
|
+
"~/.m2/repository",
|
|
205
|
+
"~/.gradle/caches",
|
|
206
|
+
"~/.gradle/wrapper/dists",
|
|
207
|
+
"~/.sdkman/candidates"
|
|
208
|
+
];
|
|
209
|
+
}
|
|
210
|
+
case TerminalSandboxReadAllowListOperation.Dotnet:
|
|
211
|
+
switch (os) {
|
|
212
|
+
case OperatingSystem.Macintosh:
|
|
213
|
+
case OperatingSystem.Linux:
|
|
214
|
+
default:
|
|
215
|
+
return ["~/.dotnet"];
|
|
216
|
+
}
|
|
217
|
+
case TerminalSandboxReadAllowListOperation.Nuget:
|
|
218
|
+
switch (os) {
|
|
219
|
+
case OperatingSystem.Macintosh:
|
|
220
|
+
return ["~/.nuget/packages", "~/Library/Caches/NuGet/v3-cache"];
|
|
221
|
+
case OperatingSystem.Linux:
|
|
222
|
+
default:
|
|
223
|
+
return ["~/.nuget/packages", "~/.local/share/NuGet/v3-cache"];
|
|
224
|
+
}
|
|
225
|
+
case TerminalSandboxReadAllowListOperation.Msbuild:
|
|
226
|
+
switch (os) {
|
|
227
|
+
case OperatingSystem.Macintosh:
|
|
228
|
+
case OperatingSystem.Linux:
|
|
229
|
+
default:
|
|
230
|
+
return [];
|
|
231
|
+
}
|
|
232
|
+
case TerminalSandboxReadAllowListOperation.Ruby:
|
|
233
|
+
switch (os) {
|
|
234
|
+
case OperatingSystem.Macintosh:
|
|
235
|
+
return ["~/.gem", "~/.rbenv/versions", "~/.rbenv/shims", "~/.rvm/rubies"];
|
|
236
|
+
case OperatingSystem.Linux:
|
|
237
|
+
default:
|
|
238
|
+
return ["~/.gem", "~/.rbenv/versions", "~/.rbenv/shims", "~/.rvm/rubies"];
|
|
239
|
+
}
|
|
240
|
+
case TerminalSandboxReadAllowListOperation.NativeBuild:
|
|
241
|
+
switch (os) {
|
|
242
|
+
case OperatingSystem.Macintosh:
|
|
243
|
+
return ["~/Library/Caches/ccache", "~/Library/Caches/sccache"];
|
|
244
|
+
case OperatingSystem.Linux:
|
|
245
|
+
default:
|
|
246
|
+
return ["~/.cache/ccache", "~/.cache/sccache"];
|
|
247
|
+
}
|
|
248
|
+
case TerminalSandboxReadAllowListOperation.Conan:
|
|
249
|
+
switch (os) {
|
|
250
|
+
case OperatingSystem.Macintosh:
|
|
251
|
+
case OperatingSystem.Linux:
|
|
252
|
+
default:
|
|
253
|
+
return ["~/.conan2/p", "~/.conan2/b"];
|
|
254
|
+
}
|
|
255
|
+
case TerminalSandboxReadAllowListOperation.GnuPG:
|
|
256
|
+
switch (os) {
|
|
257
|
+
case OperatingSystem.Macintosh:
|
|
258
|
+
case OperatingSystem.Linux:
|
|
259
|
+
default:
|
|
260
|
+
return ["~/.gnupg"];
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
function getTerminalSandboxReadAllowListForCommandDetails(os, commandDetails) {
|
|
265
|
+
const operations = ( new Set());
|
|
266
|
+
for (const command of commandDetails) {
|
|
267
|
+
for (const rule of terminalSandboxReadAllowListCommandDetailRules) {
|
|
268
|
+
if (matchesTerminalSandboxCommandRule(command, rule, {
|
|
269
|
+
os
|
|
270
|
+
})) {
|
|
271
|
+
operations.add(rule.value);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
const paths = [...operations].flatMap(operation => getTerminalSandboxReadAllowListForOperation(operation, os));
|
|
276
|
+
return [...( new Set(paths))];
|
|
277
|
+
}
|
|
278
|
+
const terminalSandboxReadAllowListCommandDetailRules = [{
|
|
279
|
+
keywords: ["gpg", "gpg2"],
|
|
280
|
+
value: TerminalSandboxReadAllowListOperation.GnuPG
|
|
281
|
+
}, {
|
|
282
|
+
keywords: ["git"],
|
|
283
|
+
value: TerminalSandboxReadAllowListOperation.GnuPG,
|
|
284
|
+
subcommands: ["commit"],
|
|
285
|
+
optionsWithValue: gitGlobalOptionsWithValue
|
|
286
|
+
}];
|
|
287
|
+
function getTerminalSandboxReadAllowListForCommands(os, commandKeywords, commandDetails = []) {
|
|
288
|
+
if (commandKeywords.length === 0) {
|
|
289
|
+
return getTerminalSandboxReadAllowListForCommandDetails(os, commandDetails);
|
|
290
|
+
}
|
|
291
|
+
const operations = ( new Set());
|
|
292
|
+
for (const keyword of commandKeywords) {
|
|
293
|
+
const operation = terminalSandboxReadAllowListKeywordMap.get(keyword.toLowerCase());
|
|
294
|
+
if (operation) {
|
|
295
|
+
operations.add(operation);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
const paths = [...operations].flatMap(operation => getTerminalSandboxReadAllowListForOperation(operation, os));
|
|
299
|
+
return [...( new Set([
|
|
300
|
+
...paths,
|
|
301
|
+
...getTerminalSandboxReadAllowListForCommandDetails(os, commandDetails)
|
|
302
|
+
]))];
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
export { TerminalSandboxReadAllowListOperation, getTerminalSandboxReadAllowListForCommands };
|
package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { OperatingSystem } from "@codingame/monaco-vscode-api/vscode/vs/base/common/platform";
|
|
2
|
+
import type { ITerminalSandboxCommand } from "./terminalSandboxService.js";
|
|
3
|
+
export declare enum TerminalSandboxRuntimeConfigurationOperation {
|
|
4
|
+
GnuPG = "gnupg",
|
|
5
|
+
Node = "node"
|
|
6
|
+
}
|
|
7
|
+
export declare function getTerminalSandboxRuntimeConfigurationForCommands(os: OperatingSystem, commandDetails: readonly ITerminalSandboxCommand[]): Record<string, unknown>;
|
package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
|
|
2
|
+
import { OperatingSystem } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
3
|
+
import { gitGlobalOptionsWithValue, matchesTerminalSandboxCommandRule } from './terminalSandboxCommandRules.js';
|
|
4
|
+
|
|
5
|
+
var TerminalSandboxRuntimeConfigurationOperation;
|
|
6
|
+
(function(TerminalSandboxRuntimeConfigurationOperation) {
|
|
7
|
+
TerminalSandboxRuntimeConfigurationOperation["GnuPG"] = "gnupg";
|
|
8
|
+
TerminalSandboxRuntimeConfigurationOperation["Node"] = "node";
|
|
9
|
+
})(
|
|
10
|
+
TerminalSandboxRuntimeConfigurationOperation || (TerminalSandboxRuntimeConfigurationOperation = {})
|
|
11
|
+
);
|
|
12
|
+
const terminalSandboxRuntimeConfigurationCommandRules = [{
|
|
13
|
+
keywords: [
|
|
14
|
+
"node",
|
|
15
|
+
"npm",
|
|
16
|
+
"npx",
|
|
17
|
+
"pnpm",
|
|
18
|
+
"yarn",
|
|
19
|
+
"corepack",
|
|
20
|
+
"bun",
|
|
21
|
+
"deno",
|
|
22
|
+
"nvm",
|
|
23
|
+
"volta",
|
|
24
|
+
"fnm",
|
|
25
|
+
"asdf",
|
|
26
|
+
"mise"
|
|
27
|
+
],
|
|
28
|
+
value: TerminalSandboxRuntimeConfigurationOperation.Node
|
|
29
|
+
}, {
|
|
30
|
+
keywords: ["git"],
|
|
31
|
+
value: TerminalSandboxRuntimeConfigurationOperation.GnuPG,
|
|
32
|
+
subcommands: ["commit"],
|
|
33
|
+
optionsWithValue: gitGlobalOptionsWithValue,
|
|
34
|
+
condition: (
|
|
35
|
+
{
|
|
36
|
+
os
|
|
37
|
+
}
|
|
38
|
+
) => os !== OperatingSystem.Windows,
|
|
39
|
+
when: isGpgSignedGitCommit
|
|
40
|
+
}];
|
|
41
|
+
function getTerminalSandboxRuntimeConfigurationForOperation(operation, os) {
|
|
42
|
+
switch (operation) {
|
|
43
|
+
case TerminalSandboxRuntimeConfigurationOperation.GnuPG:
|
|
44
|
+
switch (os) {
|
|
45
|
+
case OperatingSystem.Windows:
|
|
46
|
+
return {};
|
|
47
|
+
case OperatingSystem.Macintosh:
|
|
48
|
+
case OperatingSystem.Linux:
|
|
49
|
+
default:
|
|
50
|
+
return {
|
|
51
|
+
network: {
|
|
52
|
+
allowAllUnixSockets: true
|
|
53
|
+
},
|
|
54
|
+
filesystem: {
|
|
55
|
+
allowRead: ["~/.gnupg"],
|
|
56
|
+
allowWrite: ["~/.gnupg"]
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
case TerminalSandboxRuntimeConfigurationOperation.Node:
|
|
61
|
+
switch (os) {
|
|
62
|
+
case OperatingSystem.Windows:
|
|
63
|
+
return {};
|
|
64
|
+
case OperatingSystem.Macintosh:
|
|
65
|
+
case OperatingSystem.Linux:
|
|
66
|
+
default:
|
|
67
|
+
return {
|
|
68
|
+
filesystem: {
|
|
69
|
+
allowWrite: ["~/.volta/"]
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
function getTerminalSandboxRuntimeConfigurationForCommands(os, commandDetails) {
|
|
76
|
+
const operations = ( new Set());
|
|
77
|
+
for (const command of commandDetails) {
|
|
78
|
+
for (const rule of terminalSandboxRuntimeConfigurationCommandRules) {
|
|
79
|
+
if (matchesTerminalSandboxCommandRule(command, rule, {
|
|
80
|
+
os
|
|
81
|
+
})) {
|
|
82
|
+
operations.add(rule.value);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
const configuration = {};
|
|
87
|
+
for (const operation of operations) {
|
|
88
|
+
mergeAdditionalSandboxConfigProperties(
|
|
89
|
+
configuration,
|
|
90
|
+
getTerminalSandboxRuntimeConfigurationForOperation(operation, os)
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
return configuration;
|
|
94
|
+
}
|
|
95
|
+
function isGpgSignedGitCommit(command) {
|
|
96
|
+
return ( command.args.some(
|
|
97
|
+
arg => arg === "-S" || arg.startsWith("-S") || arg === "--gpg-sign" || arg.startsWith("--gpg-sign=")
|
|
98
|
+
));
|
|
99
|
+
}
|
|
100
|
+
function mergeAdditionalSandboxConfigProperties(target, additional) {
|
|
101
|
+
for (const [key, value] of Object.entries(additional)) {
|
|
102
|
+
if (!Object.prototype.hasOwnProperty.call(target, key)) {
|
|
103
|
+
target[key] = value;
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
const existingValue = target[key];
|
|
107
|
+
if (Array.isArray(existingValue) && Array.isArray(value)) {
|
|
108
|
+
target[key] = [...( new Set([...existingValue, ...value]))];
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
if (isObjectForSandboxConfigMerge(existingValue) && isObjectForSandboxConfigMerge(value)) {
|
|
112
|
+
mergeAdditionalSandboxConfigProperties(existingValue, value);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
function isObjectForSandboxConfigMerge(value) {
|
|
117
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export { TerminalSandboxRuntimeConfigurationOperation, getTerminalSandboxRuntimeConfigurationForCommands };
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
2
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
3
|
+
import { OperatingSystem } from "@codingame/monaco-vscode-api/vscode/vs/base/common/platform";
|
|
4
|
+
import { TerminalCapability } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/capabilities/capabilities";
|
|
5
|
+
import { ITerminalSandboxService } from "@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/terminalSandboxService.service";
|
|
6
|
+
export interface ITerminalSandboxResolvedNetworkDomains {
|
|
7
|
+
allowedDomains: string[];
|
|
8
|
+
deniedDomains: string[];
|
|
9
|
+
}
|
|
10
|
+
export declare enum TerminalSandboxPrerequisiteCheck {
|
|
11
|
+
Config = "config",
|
|
12
|
+
Dependencies = "dependencies"
|
|
13
|
+
}
|
|
14
|
+
export interface ITerminalSandboxPrerequisiteCheckResult {
|
|
15
|
+
enabled: boolean;
|
|
16
|
+
sandboxConfigPath: string | undefined;
|
|
17
|
+
failedCheck: TerminalSandboxPrerequisiteCheck | undefined;
|
|
18
|
+
missingDependencies?: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface ITerminalSandboxWrapResult {
|
|
21
|
+
command: string;
|
|
22
|
+
isSandboxWrapped: boolean;
|
|
23
|
+
blockedDomains?: string[];
|
|
24
|
+
deniedDomains?: string[];
|
|
25
|
+
requiresUnsandboxConfirmation?: boolean;
|
|
26
|
+
requiresAllowNetworkConfirmation?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface ITerminalSandboxPrecheckInputs {
|
|
29
|
+
/**
|
|
30
|
+
* Whether the current caller is using the default approval permission flow.
|
|
31
|
+
*/
|
|
32
|
+
readonly isDefaultApprovalPermissionEnabled?: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface ITerminalSandboxPrecheckInputs {
|
|
35
|
+
/**
|
|
36
|
+
* Whether the current caller is using the default approval permission flow.
|
|
37
|
+
*/
|
|
38
|
+
readonly isDefaultApprovalPermissionEnabled?: boolean;
|
|
39
|
+
}
|
|
40
|
+
export interface ITerminalSandboxCommand {
|
|
41
|
+
/**
|
|
42
|
+
* Normalized command name without path or executable suffix.
|
|
43
|
+
* For example, `/usr/bin/git` and `git.exe` both normalize to `git`.
|
|
44
|
+
*/
|
|
45
|
+
keyword: string;
|
|
46
|
+
/**
|
|
47
|
+
* Command arguments after the executable token. These are used for
|
|
48
|
+
* argument-sensitive sandbox allow-list rules, such as matching a specific
|
|
49
|
+
* subcommand while ignoring global options.
|
|
50
|
+
*/
|
|
51
|
+
args: readonly string[];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Abstraction over terminal operations needed by the install flow.
|
|
55
|
+
* Provided by the browser-layer caller so the common-layer service
|
|
56
|
+
* does not import browser types directly.
|
|
57
|
+
*/
|
|
58
|
+
export interface ISandboxDependencyInstallTerminal {
|
|
59
|
+
sendText(text: string, addNewLine?: boolean): Promise<void>;
|
|
60
|
+
focus(): void;
|
|
61
|
+
capabilities: {
|
|
62
|
+
get(id: TerminalCapability.CommandDetection): {
|
|
63
|
+
onCommandFinished: Event<{
|
|
64
|
+
exitCode: number | undefined;
|
|
65
|
+
}>;
|
|
66
|
+
} | undefined;
|
|
67
|
+
onDidAddCapability: Event<{
|
|
68
|
+
id: TerminalCapability;
|
|
69
|
+
}>;
|
|
70
|
+
};
|
|
71
|
+
onDidInputData: Event<string>;
|
|
72
|
+
onDisposed: Event<unknown>;
|
|
73
|
+
}
|
|
74
|
+
export interface ISandboxDependencyInstallOptions {
|
|
75
|
+
/**
|
|
76
|
+
* Creates or obtains a terminal for running the install command.
|
|
77
|
+
*/
|
|
78
|
+
createTerminal(): Promise<ISandboxDependencyInstallTerminal>;
|
|
79
|
+
/**
|
|
80
|
+
* Focuses the terminal for password entry.
|
|
81
|
+
*/
|
|
82
|
+
focusTerminal(terminal: ISandboxDependencyInstallTerminal): Promise<void>;
|
|
83
|
+
}
|
|
84
|
+
export interface ISandboxDependencyInstallResult {
|
|
85
|
+
exitCode: number | undefined;
|
|
86
|
+
}
|
|
87
|
+
export declare class NullTerminalSandboxService implements ITerminalSandboxService {
|
|
88
|
+
readonly _serviceBrand: undefined;
|
|
89
|
+
isEnabled(): Promise<boolean>;
|
|
90
|
+
isSandboxAllowNetworkEnabled(): Promise<boolean>;
|
|
91
|
+
getOS(): Promise<OperatingSystem>;
|
|
92
|
+
checkForSandboxingPrereqs(): Promise<ITerminalSandboxPrerequisiteCheckResult>;
|
|
93
|
+
wrapCommand(command: string): Promise<ITerminalSandboxWrapResult>;
|
|
94
|
+
getSandboxConfigPath(): Promise<string | undefined>;
|
|
95
|
+
getTempDir(): URI | undefined;
|
|
96
|
+
setNeedsForceUpdateConfigFile(): void;
|
|
97
|
+
getResolvedNetworkDomains(): ITerminalSandboxResolvedNetworkDomains;
|
|
98
|
+
getMissingSandboxDependencies(): Promise<string[]>;
|
|
99
|
+
installMissingSandboxDependencies(): Promise<ISandboxDependencyInstallResult>;
|
|
100
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
|
|
2
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
3
|
+
|
|
4
|
+
var TerminalSandboxPrerequisiteCheck;
|
|
5
|
+
(function (TerminalSandboxPrerequisiteCheck) {
|
|
6
|
+
TerminalSandboxPrerequisiteCheck["Config"] = "config";
|
|
7
|
+
TerminalSandboxPrerequisiteCheck["Dependencies"] = "dependencies";
|
|
8
|
+
})(TerminalSandboxPrerequisiteCheck || (TerminalSandboxPrerequisiteCheck = {}));
|
|
9
|
+
|
|
10
|
+
export { TerminalSandboxPrerequisiteCheck };
|
package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js
CHANGED
|
@@ -117,7 +117,7 @@ let ChatAccessibilityService = class ChatAccessibilityService extends Disposable
|
|
|
117
117
|
});
|
|
118
118
|
}
|
|
119
119
|
this.toasts.clearAndDisposeAll();
|
|
120
|
-
const title = widget?.viewModel?.model.title ? ( localize(
|
|
120
|
+
const title = widget?.viewModel?.model.title ? ( localize(4844, "Chat: {0}", widget.viewModel.model.title)) : ( localize(4845, "Untitled Chat"));
|
|
121
121
|
const cts = ( new CancellationTokenSource());
|
|
122
122
|
const disposable = toDisposable(() => cts.dispose(true));
|
|
123
123
|
this.toasts.add(disposable);
|
|
@@ -125,7 +125,7 @@ let ChatAccessibilityService = class ChatAccessibilityService extends Disposable
|
|
|
125
125
|
clicked
|
|
126
126
|
} = await this._hostService.showToast({
|
|
127
127
|
title,
|
|
128
|
-
body: ( localize(
|
|
128
|
+
body: ( localize(4846, "New chat response."))
|
|
129
129
|
}, cts.token);
|
|
130
130
|
this.toasts.deleteAndDispose(disposable);
|
|
131
131
|
if (clicked) {
|