@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
|
@@ -65,7 +65,7 @@ let InsertCodeBlockOperation = class InsertCodeBlockOperation {
|
|
|
65
65
|
await this.handleNotebookEditor(activeNotebookEditor, context);
|
|
66
66
|
} else {
|
|
67
67
|
this.notify(( localize(
|
|
68
|
-
|
|
68
|
+
5191,
|
|
69
69
|
"To insert the code block, open a code editor or notebook editor and set the cursor at the location where to insert the code block."
|
|
70
70
|
)));
|
|
71
71
|
}
|
|
@@ -99,7 +99,7 @@ let InsertCodeBlockOperation = class InsertCodeBlockOperation {
|
|
|
99
99
|
}
|
|
100
100
|
async handleNotebookEditor(notebookEditor, codeBlockContext) {
|
|
101
101
|
if (notebookEditor.isReadOnly) {
|
|
102
|
-
this.notify(( localize(
|
|
102
|
+
this.notify(( localize(5192, "Cannot insert the code block to read-only notebook editor.")));
|
|
103
103
|
return false;
|
|
104
104
|
}
|
|
105
105
|
const focusRange = notebookEditor.getFocus();
|
|
@@ -118,7 +118,7 @@ let InsertCodeBlockOperation = class InsertCodeBlockOperation {
|
|
|
118
118
|
async handleTextEditor(codeEditor, codeBlockContext) {
|
|
119
119
|
const activeModel = codeEditor.getModel();
|
|
120
120
|
if (isReadOnly(activeModel, this.textFileService)) {
|
|
121
|
-
this.notify(( localize(
|
|
121
|
+
this.notify(( localize(5193, "Cannot insert the code block to read-only code editor.")));
|
|
122
122
|
return false;
|
|
123
123
|
}
|
|
124
124
|
const range = codeEditor.getSelection() ?? ( new Range(activeModel.getLineCount(), 1, activeModel.getLineCount(), 1));
|
|
@@ -180,7 +180,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
180
180
|
this.tryToRevealCodeBlock(codeEditor, context.code);
|
|
181
181
|
activeEditorControl = codeEditor;
|
|
182
182
|
} else {
|
|
183
|
-
this.notify(( localize(
|
|
183
|
+
this.notify(( localize(5194, "Failed to open {0} in a code editor.", (codemapperUri.toString()))));
|
|
184
184
|
return;
|
|
185
185
|
}
|
|
186
186
|
} catch (e) {
|
|
@@ -212,7 +212,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
212
212
|
if (activeNotebookEditor) {
|
|
213
213
|
result = await this.handleNotebookEditor(activeNotebookEditor, context.chatSessionResource, context.code);
|
|
214
214
|
} else {
|
|
215
|
-
this.notify(( localize(
|
|
215
|
+
this.notify(( localize(5195, "To apply this code block, open a code or notebook editor.")));
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
if (isResponseVM(context.element)) {
|
|
@@ -236,7 +236,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
236
236
|
}
|
|
237
237
|
const activeEditorOption = activeEditorControl?.getModel().uri ? {
|
|
238
238
|
label: ( localize(
|
|
239
|
-
|
|
239
|
+
5196,
|
|
240
240
|
"Active editor '{0}'",
|
|
241
241
|
this.labelService.getUriLabel(activeEditorControl.getModel().uri, {
|
|
242
242
|
relative: true
|
|
@@ -245,13 +245,13 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
245
245
|
id: "activeEditor"
|
|
246
246
|
} : undefined;
|
|
247
247
|
const untitledEditorOption = {
|
|
248
|
-
label: ( localize(
|
|
248
|
+
label: ( localize(5197, "New untitled editor")),
|
|
249
249
|
id: "newUntitledFile"
|
|
250
250
|
};
|
|
251
251
|
const options = [];
|
|
252
252
|
if (resource) {
|
|
253
253
|
options.push({
|
|
254
|
-
label: ( localize(
|
|
254
|
+
label: ( localize(5198, "New file '{0}'", this.labelService.getUriLabel(resource, {
|
|
255
255
|
relative: true
|
|
256
256
|
}))),
|
|
257
257
|
id: "createFile"
|
|
@@ -267,7 +267,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
267
267
|
options.push(untitledEditorOption);
|
|
268
268
|
}
|
|
269
269
|
const selected = options.length > 1 ? await this.quickInputService.pick(options, {
|
|
270
|
-
placeHolder: ( localize(
|
|
270
|
+
placeHolder: ( localize(5199, "Select where to apply the code block"))
|
|
271
271
|
}) : options[0];
|
|
272
272
|
if (selected) {
|
|
273
273
|
switch (selected.id) {
|
|
@@ -276,7 +276,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
276
276
|
try {
|
|
277
277
|
await this.fileService.writeFile(resource, VSBuffer.fromString(""));
|
|
278
278
|
} catch (error) {
|
|
279
|
-
this.notify(( localize(
|
|
279
|
+
this.notify(( localize(5200, "Failed to create file: {0}", error.message)));
|
|
280
280
|
return ( URI.from({
|
|
281
281
|
scheme: "untitled",
|
|
282
282
|
path: resource.path
|
|
@@ -297,7 +297,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
297
297
|
}
|
|
298
298
|
async handleNotebookEditor(notebookEditor, chatSessionResource, code) {
|
|
299
299
|
if (notebookEditor.isReadOnly) {
|
|
300
|
-
this.notify(( localize(
|
|
300
|
+
this.notify(( localize(5201, "Cannot apply code block to read-only notebook editor.")));
|
|
301
301
|
return undefined;
|
|
302
302
|
}
|
|
303
303
|
const uri = notebookEditor.textModel.uri;
|
|
@@ -308,7 +308,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
308
308
|
};
|
|
309
309
|
const codeMapper = this.codeMapperService.providers[0]?.displayName;
|
|
310
310
|
if (!codeMapper) {
|
|
311
|
-
this.notify(( localize(
|
|
311
|
+
this.notify(( localize(5202, "No code mapper available.")));
|
|
312
312
|
return undefined;
|
|
313
313
|
}
|
|
314
314
|
let editsProposed = false;
|
|
@@ -321,7 +321,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
321
321
|
cancellable: true
|
|
322
322
|
}, async progress => {
|
|
323
323
|
progress.report({
|
|
324
|
-
message: ( localize(
|
|
324
|
+
message: ( localize(5203, "Applying code block using {0}...", codeMapper))
|
|
325
325
|
});
|
|
326
326
|
const editsIterable = this.getNotebookEdits(codeBlock, chatSessionResource, cancellationTokenSource.token);
|
|
327
327
|
return await this.waitForFirstElement(editsIterable);
|
|
@@ -329,7 +329,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
329
329
|
editsProposed = await this.applyNotebookEditsWithInlinePreview(iterable, uri, cancellationTokenSource);
|
|
330
330
|
} catch (e) {
|
|
331
331
|
if (!isCancellationError(e)) {
|
|
332
|
-
this.notify(( localize(
|
|
332
|
+
this.notify(( localize(5204, "Failed to apply code block: {0}", e.message)));
|
|
333
333
|
}
|
|
334
334
|
} finally {
|
|
335
335
|
cancellationTokenSource.dispose();
|
|
@@ -342,7 +342,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
342
342
|
async handleTextEditor(codeEditor, chatSessionResource, code, applyCodeBlockSuggestionId) {
|
|
343
343
|
const activeModel = codeEditor.getModel();
|
|
344
344
|
if (isReadOnly(activeModel, this.textFileService)) {
|
|
345
|
-
this.notify(( localize(
|
|
345
|
+
this.notify(( localize(5205, "Cannot apply code block to read-only file.")));
|
|
346
346
|
return undefined;
|
|
347
347
|
}
|
|
348
348
|
const codeBlock = {
|
|
@@ -353,7 +353,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
353
353
|
};
|
|
354
354
|
const codeMapper = this.codeMapperService.providers[0]?.displayName;
|
|
355
355
|
if (!codeMapper) {
|
|
356
|
-
this.notify(( localize(
|
|
356
|
+
this.notify(( localize(5202, "No code mapper available.")));
|
|
357
357
|
return undefined;
|
|
358
358
|
}
|
|
359
359
|
let editsProposed = false;
|
|
@@ -366,7 +366,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
366
366
|
cancellable: true
|
|
367
367
|
}, async progress => {
|
|
368
368
|
progress.report({
|
|
369
|
-
message: ( localize(
|
|
369
|
+
message: ( localize(5203, "Applying code block using {0}...", codeMapper))
|
|
370
370
|
});
|
|
371
371
|
const editsIterable = this.getTextEdits(codeBlock, chatSessionResource, cancellationTokenSource.token);
|
|
372
372
|
return await this.waitForFirstElement(editsIterable);
|
|
@@ -374,7 +374,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
|
|
|
374
374
|
editsProposed = await this.applyWithInlinePreview(iterable, codeEditor, cancellationTokenSource, applyCodeBlockSuggestionId);
|
|
375
375
|
} catch (e) {
|
|
376
376
|
if (!isCancellationError(e)) {
|
|
377
|
-
this.notify(( localize(
|
|
377
|
+
this.notify(( localize(5204, "Failed to apply code block: {0}", e.message)));
|
|
378
378
|
}
|
|
379
379
|
} finally {
|
|
380
380
|
cancellationTokenSource.dispose();
|
|
@@ -28,19 +28,19 @@ const VALID_PLUGIN_NAME = /^[a-z0-9]([a-z0-9\-.]*[a-z0-9])?$/;
|
|
|
28
28
|
const INVALID_CONSECUTIVE = /--|[.][.]/;
|
|
29
29
|
function validatePluginName(name) {
|
|
30
30
|
if (!name) {
|
|
31
|
-
return localize(
|
|
31
|
+
return localize(5206, "Plugin name is required.");
|
|
32
32
|
}
|
|
33
33
|
if (name.length > 64) {
|
|
34
|
-
return localize(
|
|
34
|
+
return localize(5207, "Plugin name must be at most 64 characters.");
|
|
35
35
|
}
|
|
36
36
|
if (!VALID_PLUGIN_NAME.test(name)) {
|
|
37
37
|
return localize(
|
|
38
|
-
|
|
38
|
+
5208,
|
|
39
39
|
"Plugin name must contain only lowercase alphanumeric characters, hyphens, and periods, and must start and end with an alphanumeric character."
|
|
40
40
|
);
|
|
41
41
|
}
|
|
42
42
|
if (INVALID_CONSECUTIVE.test(name)) {
|
|
43
|
-
return localize(
|
|
43
|
+
return localize(5209, "Plugin name must not contain consecutive hyphens or periods.");
|
|
44
44
|
}
|
|
45
45
|
return undefined;
|
|
46
46
|
}
|
|
@@ -72,7 +72,7 @@ class CreatePluginAction extends Action2 {
|
|
|
72
72
|
constructor() {
|
|
73
73
|
super({
|
|
74
74
|
id: CreatePluginAction.ID,
|
|
75
|
-
title: ( localize2(
|
|
75
|
+
title: ( localize2(5210, "Create Plugin")),
|
|
76
76
|
category: CHAT_CATEGORY,
|
|
77
77
|
f1: true,
|
|
78
78
|
precondition: ChatContextKeys.enabled,
|
|
@@ -132,11 +132,11 @@ class CreatePluginAction extends Action2 {
|
|
|
132
132
|
children
|
|
133
133
|
});
|
|
134
134
|
};
|
|
135
|
-
addGroup(instructions, "instruction", ( localize(
|
|
136
|
-
addGroup(prompts, "prompt", ( localize(
|
|
137
|
-
addGroup(agents, "agent", ( localize(
|
|
138
|
-
addGroup(skills, "skill", ( localize(
|
|
139
|
-
addGroup(hooks, "hook", ( localize(
|
|
135
|
+
addGroup(instructions, "instruction", ( localize(5211, "Instructions")), Codicon.book);
|
|
136
|
+
addGroup(prompts, "prompt", ( localize(5212, "Prompts")), Codicon.comment);
|
|
137
|
+
addGroup(agents, "agent", ( localize(5213, "Agents")), Codicon.copilot);
|
|
138
|
+
addGroup(skills, "skill", ( localize(5214, "Skills")), Codicon.lightbulb);
|
|
139
|
+
addGroup(hooks, "hook", ( localize(5215, "Hooks")), Codicon.zap);
|
|
140
140
|
const mcpChildren = [];
|
|
141
141
|
for (const collection of mcpCollections) {
|
|
142
142
|
if (!showAll && !isUserDefinedMcpCollection(collection)) {
|
|
@@ -158,7 +158,7 @@ class CreatePluginAction extends Action2 {
|
|
|
158
158
|
}
|
|
159
159
|
if (mcpChildren.length > 0) {
|
|
160
160
|
groups.push({
|
|
161
|
-
label: ( localize(
|
|
161
|
+
label: ( localize(5216, "MCP Servers")),
|
|
162
162
|
iconClass: ThemeIcon.asClassName(Codicon.mcp),
|
|
163
163
|
checked: undefined,
|
|
164
164
|
collapsed: false,
|
|
@@ -170,15 +170,15 @@ class CreatePluginAction extends Action2 {
|
|
|
170
170
|
};
|
|
171
171
|
const disposables = ( new DisposableStore());
|
|
172
172
|
const tree = disposables.add(quickInputService.createQuickTree());
|
|
173
|
-
tree.placeholder = ( localize(
|
|
173
|
+
tree.placeholder = ( localize(5217, "Select resources to include in the plugin"));
|
|
174
174
|
tree.matchOnDescription = true;
|
|
175
175
|
tree.matchOnLabel = true;
|
|
176
176
|
tree.sortByLabel = false;
|
|
177
|
-
tree.title = ( localize(
|
|
177
|
+
tree.title = ( localize(5218, "Create Plugin"));
|
|
178
178
|
tree.setItemTree(buildTree());
|
|
179
179
|
const toggleButton = {
|
|
180
180
|
iconClass: ThemeIcon.asClassName(Codicon.filter),
|
|
181
|
-
tooltip: ( localize(
|
|
181
|
+
tooltip: ( localize(5219, "Show Built-in, Extension, and Plugin Resources"))
|
|
182
182
|
};
|
|
183
183
|
tree.buttons = [toggleButton];
|
|
184
184
|
disposables.add(tree.onDidTriggerButton(button => {
|
|
@@ -203,7 +203,7 @@ class CreatePluginAction extends Action2 {
|
|
|
203
203
|
}
|
|
204
204
|
const selected = selectedItems.filter(i => !!i.resourceType);
|
|
205
205
|
const pluginName = await quickInputService.input({
|
|
206
|
-
prompt: ( localize(
|
|
206
|
+
prompt: ( localize(5220, "Enter a name for the plugin")),
|
|
207
207
|
placeHolder: "my-plugin",
|
|
208
208
|
validateInput: async value => validatePluginName(value)
|
|
209
209
|
});
|
|
@@ -214,8 +214,8 @@ class CreatePluginAction extends Action2 {
|
|
|
214
214
|
canSelectFiles: false,
|
|
215
215
|
canSelectFolders: true,
|
|
216
216
|
canSelectMany: false,
|
|
217
|
-
title: ( localize(
|
|
218
|
-
openLabel: ( localize(
|
|
217
|
+
title: ( localize(5221, "Select Plugin Save Location")),
|
|
218
|
+
openLabel: ( localize(5222, "Select Folder"))
|
|
219
219
|
});
|
|
220
220
|
if (!folderUris || folderUris.length === 0) {
|
|
221
221
|
return;
|
|
@@ -224,7 +224,7 @@ class CreatePluginAction extends Action2 {
|
|
|
224
224
|
const pluginRoot = joinPath(targetDir, pluginName);
|
|
225
225
|
if (await fileService.exists(pluginRoot)) {
|
|
226
226
|
notificationService.error(( localize(
|
|
227
|
-
|
|
227
|
+
5223,
|
|
228
228
|
"A directory named '{0}' already exists at this location. Please choose a different name or location.",
|
|
229
229
|
pluginName
|
|
230
230
|
)));
|
|
@@ -236,9 +236,9 @@ class CreatePluginAction extends Action2 {
|
|
|
236
236
|
try {
|
|
237
237
|
await commandService.executeCommand("revealFileInOS", pluginRoot);
|
|
238
238
|
} catch {}
|
|
239
|
-
notificationService.info(( localize(
|
|
239
|
+
notificationService.info(( localize(5224, "Plugin '{0}' created successfully.", pluginName)));
|
|
240
240
|
} catch (err) {
|
|
241
|
-
notificationService.error(( localize(
|
|
241
|
+
notificationService.error(( localize(5225, "Failed to create plugin: {0}", String(err))));
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
244
|
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts
CHANGED
|
@@ -36,8 +36,9 @@ export declare class BrowserAgentHostDebugLogsExportService implements IAgentHos
|
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* Shared implementation of "Export Agent Host Debug Logs". Collects the
|
|
39
|
-
* Copilot CLI session events file (if available), the window/shared/
|
|
40
|
-
* output channel logs, and the AHP
|
|
39
|
+
* Copilot CLI session events file (if available), the window/shared/local
|
|
40
|
+
* agent-host output channel logs, remote forwarded logs, and the AHP
|
|
41
|
+
* transport JSONL logs.
|
|
41
42
|
*
|
|
42
43
|
* Both the workbench-side action (resolves the active session via
|
|
43
44
|
* `IChatWidgetService`) and the sessions-app-side action (resolves it via
|
package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js
CHANGED
|
@@ -10,8 +10,10 @@ import { Action2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions
|
|
|
10
10
|
import { agentHostAuthority, toAgentHostUri } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostUri';
|
|
11
11
|
import { AgentHostEnabledSettingId } from '../../../../../platform/agentHost/common/agentService.js';
|
|
12
12
|
import { IAgentHostService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentService.service';
|
|
13
|
+
import { remoteAgentHostLogOutputChannelId } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/remoteAgentHostService';
|
|
13
14
|
import { IRemoteAgentHostService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/remoteAgentHostService.service';
|
|
14
15
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
16
|
+
import { IsWebContext } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkeys';
|
|
15
17
|
import { IFileDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
16
18
|
import { IEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service';
|
|
17
19
|
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
@@ -66,20 +68,18 @@ async function collectAgentHostDebugLogs(accessor, activeSession) {
|
|
|
66
68
|
if (activeSession) {
|
|
67
69
|
if (activeSession.isLocal) {
|
|
68
70
|
channelIds.add(AGENT_HOST_LOGGER_CHANNEL_ID);
|
|
69
|
-
channelIds.add(`agenthost.${agentHostService.clientId}`);
|
|
70
71
|
const localClientId = sanitizeFilePart(agentHostService.clientId);
|
|
71
72
|
ahpLogNameFilter = name => name.includes(localClientId);
|
|
72
73
|
} else {
|
|
73
74
|
remoteConnection = getRemoteConnectionForSession(activeSession.resource, remoteAgentHostService.connections);
|
|
74
75
|
if (remoteConnection) {
|
|
75
|
-
channelIds.add(
|
|
76
|
+
channelIds.add(remoteAgentHostLogOutputChannelId(remoteConnection.address));
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
79
|
} else {
|
|
79
80
|
channelIds.add(AGENT_HOST_LOGGER_CHANNEL_ID);
|
|
80
|
-
channelIds.add(`agenthost.${agentHostService.clientId}`);
|
|
81
81
|
for (const connection of remoteAgentHostService.connections) {
|
|
82
|
-
channelIds.add(
|
|
82
|
+
channelIds.add(remoteAgentHostLogOutputChannelId(connection.address));
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
channelIds.add(WINDOW_LOG_CHANNEL_ID);
|
|
@@ -151,7 +151,7 @@ async function collectAgentHostDebugLogs(accessor, activeSession) {
|
|
|
151
151
|
if (files.length === 0) {
|
|
152
152
|
notificationService.notify({
|
|
153
153
|
severity: Severity.Warning,
|
|
154
|
-
message: activeSession ? ( localize(
|
|
154
|
+
message: activeSession ? ( localize(5226, "No log files were found for the active Agent Host session.")) : ( localize(5227, "No Agent Host log files were found for the current window."))
|
|
155
155
|
});
|
|
156
156
|
return undefined;
|
|
157
157
|
}
|
|
@@ -174,7 +174,7 @@ async function exportAgentHostDebugLogs(accessor, activeSession) {
|
|
|
174
174
|
notificationService.notify({
|
|
175
175
|
severity: Severity.Error,
|
|
176
176
|
message: ( localize(
|
|
177
|
-
|
|
177
|
+
5228,
|
|
178
178
|
"Failed to save debug logs: {0}",
|
|
179
179
|
error instanceof Error ? error.message : String(error)
|
|
180
180
|
))
|
|
@@ -188,10 +188,10 @@ class ExportAgentHostDebugLogsAction extends Action2 {
|
|
|
188
188
|
constructor() {
|
|
189
189
|
super({
|
|
190
190
|
id: ExportAgentHostDebugLogsAction.ID,
|
|
191
|
-
title: ( localize2(
|
|
191
|
+
title: ( localize2(5229, "Export Agent Host Debug Logs...")),
|
|
192
192
|
f1: true,
|
|
193
193
|
category: Categories.Developer,
|
|
194
|
-
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.equals(`config.${AgentHostEnabledSettingId}`, true))))
|
|
194
|
+
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( IsWebContext.negate()), ( ContextKeyExpr.equals(`config.${AgentHostEnabledSettingId}`, true))))
|
|
195
195
|
});
|
|
196
196
|
}
|
|
197
197
|
async run(accessor) {
|
|
@@ -229,7 +229,7 @@ function sanitizeFilePart(value) {
|
|
|
229
229
|
}
|
|
230
230
|
async function exportFilesToLocalFolder(fileDialogService, fileService, exportName, files) {
|
|
231
231
|
const folders = await fileDialogService.showOpenDialog({
|
|
232
|
-
title: ( localize(
|
|
232
|
+
title: ( localize(5230, "Select Folder for Agent Host Debug Logs")),
|
|
233
233
|
canSelectFiles: false,
|
|
234
234
|
canSelectFolders: true,
|
|
235
235
|
canSelectMany: false,
|
package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js
CHANGED
|
@@ -33,21 +33,21 @@ async function openCopilotCliStateFile(accessor, sessionResource) {
|
|
|
33
33
|
});
|
|
34
34
|
return;
|
|
35
35
|
case "no-session":
|
|
36
|
-
notificationService.info(( localize(
|
|
36
|
+
notificationService.info(( localize(5231, "No Copilot CLI session is active.")));
|
|
37
37
|
return;
|
|
38
38
|
case "unsupported-scheme":
|
|
39
|
-
notificationService.info(( localize(
|
|
39
|
+
notificationService.info(( localize(5232, "The active chat session is not a Copilot CLI session.")));
|
|
40
40
|
return;
|
|
41
41
|
case "remote-not-connected":
|
|
42
42
|
notificationService.warn(( localize(
|
|
43
|
-
|
|
43
|
+
5233,
|
|
44
44
|
"No active connection found for remote agent host '{0}'.",
|
|
45
45
|
result.authority
|
|
46
46
|
)));
|
|
47
47
|
return;
|
|
48
48
|
case "remote-no-home":
|
|
49
49
|
notificationService.warn(( localize(
|
|
50
|
-
|
|
50
|
+
5234,
|
|
51
51
|
"Remote agent host '{0}' did not report a home directory.",
|
|
52
52
|
result.authority
|
|
53
53
|
)));
|
|
@@ -61,7 +61,7 @@ class OpenCopilotCliStateFileAction extends Action2 {
|
|
|
61
61
|
constructor() {
|
|
62
62
|
super({
|
|
63
63
|
id: OpenCopilotCliStateFileAction.ID,
|
|
64
|
-
title: ( localize2(
|
|
64
|
+
title: ( localize2(5235, "Open Copilot CLI State File")),
|
|
65
65
|
f1: true,
|
|
66
66
|
category: Categories.Developer,
|
|
67
67
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( IsSessionsWindowContext.negate())))
|
|
@@ -4,6 +4,7 @@ import { IActionViewItemOptions } from "@codingame/monaco-vscode-api/vscode/vs/b
|
|
|
4
4
|
import { ActionWithDropdownActionViewItem, IActionWithDropdownActionViewItemOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/dropdown/dropdownActionViewItem";
|
|
5
5
|
import { IContextMenuProvider } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/contextmenu";
|
|
6
6
|
import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
|
|
7
|
+
import { INotificationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service";
|
|
7
8
|
import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
|
|
8
9
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
9
10
|
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
@@ -23,6 +24,15 @@ export declare class OpenPluginFolderAction extends Action {
|
|
|
23
24
|
export declare class OpenPluginReadmeAction extends Action {
|
|
24
25
|
constructor(readmeUri: import("@codingame/monaco-vscode-api/vscode/vs/base/common/uri").URI, openerService: IOpenerService);
|
|
25
26
|
}
|
|
27
|
+
/** Whether the plugin is blocked by enterprise policy and cannot be enabled by the user. */
|
|
28
|
+
export declare function isPluginPolicyBlocked(plugin: IAgentPlugin): boolean;
|
|
29
|
+
/** Notifies the user that a plugin is managed by their organization and cannot be enabled. */
|
|
30
|
+
export declare function notifyPluginPolicyBlocked(notificationService: INotificationService, pluginName: string): void;
|
|
31
|
+
/**
|
|
32
|
+
* An "Enable" action for a policy-blocked plugin: instead of enabling, it
|
|
33
|
+
* explains via a notification that the plugin is managed by the organization.
|
|
34
|
+
*/
|
|
35
|
+
export declare function createPolicyBlockedEnableAction(plugin: IAgentPlugin, notificationService: INotificationService): Action;
|
|
26
36
|
/**
|
|
27
37
|
* Builds the standard context menu action groups for an installed plugin.
|
|
28
38
|
*/
|
|
@@ -5,6 +5,7 @@ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/even
|
|
|
5
5
|
import { ActionWithDropdownActionViewItem } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/dropdown/dropdownActionViewItem';
|
|
6
6
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
7
7
|
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
8
|
+
import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
|
|
8
9
|
import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
|
|
9
10
|
import { WorkbenchState } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace';
|
|
10
11
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
@@ -17,7 +18,7 @@ import { hasKey } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types
|
|
|
17
18
|
|
|
18
19
|
let InstallPluginAction = class InstallPluginAction extends Action {
|
|
19
20
|
constructor(item, pluginInstallService) {
|
|
20
|
-
super("agentPlugin.install", ( localize(
|
|
21
|
+
super("agentPlugin.install", ( localize(5236, "Install")), "extension-action label prominent install", true, () => pluginInstallService.installPlugin({
|
|
21
22
|
name: item.name,
|
|
22
23
|
description: item.description,
|
|
23
24
|
version: "",
|
|
@@ -33,15 +34,15 @@ let InstallPluginAction = class InstallPluginAction extends Action {
|
|
|
33
34
|
InstallPluginAction = ( __decorate([( __param(1, IPluginInstallService))], InstallPluginAction));
|
|
34
35
|
class UninstallPluginAction extends Action {
|
|
35
36
|
constructor(plugin) {
|
|
36
|
-
super("agentPlugin.uninstall", ( localize(
|
|
37
|
-
plugin.remove();
|
|
37
|
+
super("agentPlugin.uninstall", ( localize(5237, "Uninstall")), "extension-action label uninstall", true, () => {
|
|
38
|
+
plugin.remove?.();
|
|
38
39
|
return Promise.resolve();
|
|
39
40
|
});
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
let OpenPluginFolderAction = class OpenPluginFolderAction extends Action {
|
|
43
44
|
constructor(plugin, commandService, openerService) {
|
|
44
|
-
super("agentPlugin.openFolder", ( localize(
|
|
45
|
+
super("agentPlugin.openFolder", ( localize(5238, "Open Plugin Folder")), undefined, true, async () => {
|
|
45
46
|
try {
|
|
46
47
|
await commandService.executeCommand("revealFileInOS", plugin.uri);
|
|
47
48
|
} catch {
|
|
@@ -53,16 +54,44 @@ let OpenPluginFolderAction = class OpenPluginFolderAction extends Action {
|
|
|
53
54
|
OpenPluginFolderAction = ( __decorate([( __param(1, ICommandService)), ( __param(2, IOpenerService))], OpenPluginFolderAction));
|
|
54
55
|
let OpenPluginReadmeAction = class OpenPluginReadmeAction extends Action {
|
|
55
56
|
constructor(readmeUri, openerService) {
|
|
56
|
-
super("agentPlugin.openReadme", ( localize(
|
|
57
|
+
super("agentPlugin.openReadme", ( localize(5239, "Open README")), undefined, true, () => openerService.open(readmeUri));
|
|
57
58
|
}
|
|
58
59
|
};
|
|
59
60
|
OpenPluginReadmeAction = ( __decorate([( __param(1, IOpenerService))], OpenPluginReadmeAction));
|
|
61
|
+
function isPluginPolicyBlocked(plugin) {
|
|
62
|
+
return plugin.policyBlocked?.get() === true;
|
|
63
|
+
}
|
|
64
|
+
function notifyPluginPolicyBlocked(notificationService, pluginName) {
|
|
65
|
+
notificationService.warn(( localize(
|
|
66
|
+
5240,
|
|
67
|
+
"The plugin \"{0}\" has been disabled by your organization and cannot be enabled.",
|
|
68
|
+
pluginName
|
|
69
|
+
)));
|
|
70
|
+
}
|
|
71
|
+
function createPolicyBlockedEnableAction(plugin, notificationService) {
|
|
72
|
+
return (new Action(
|
|
73
|
+
"agentPlugin.enableBlocked",
|
|
74
|
+
localize(5241, "Enable"),
|
|
75
|
+
undefined,
|
|
76
|
+
true,
|
|
77
|
+
() => {
|
|
78
|
+
notifyPluginPolicyBlocked(notificationService, plugin.label);
|
|
79
|
+
return Promise.resolve();
|
|
80
|
+
}
|
|
81
|
+
));
|
|
82
|
+
}
|
|
60
83
|
function getInstalledPluginContextMenuActions(plugin, instantiationService) {
|
|
61
84
|
return instantiationService.invokeFunction(accessor => {
|
|
62
85
|
const agentPluginService = accessor.get(IAgentPluginService);
|
|
63
86
|
const workspaceService = accessor.get(IWorkspaceContextService);
|
|
64
87
|
const groups = [];
|
|
65
|
-
|
|
88
|
+
if (isPluginPolicyBlocked(plugin)) {
|
|
89
|
+
groups.push([
|
|
90
|
+
createPolicyBlockedEnableAction(plugin, accessor.get(INotificationService))
|
|
91
|
+
]);
|
|
92
|
+
} else {
|
|
93
|
+
groups.push(buildEnablementContextMenuGroup(plugin.enablement.get(), ( plugin.uri.toString()), agentPluginService.enablementModel, workspaceService, "agentPlugin"));
|
|
94
|
+
}
|
|
66
95
|
groups.push([
|
|
67
96
|
instantiationService.createInstance(OpenPluginFolderAction, plugin),
|
|
68
97
|
instantiationService.createInstance(OpenPluginReadmeAction, joinPath(plugin.uri, "README.md"))
|
|
@@ -168,11 +197,11 @@ class EnablementDropdownActionViewItem extends ActionWithDropdownActionViewItem
|
|
|
168
197
|
function createEnablePluginDropDown(plugin, enablementModel, workspaceContextService) {
|
|
169
198
|
const key = ( plugin.uri.toString());
|
|
170
199
|
const hasWorkspace = workspaceContextService.getWorkbenchState() !== WorkbenchState.EMPTY;
|
|
171
|
-
const enable = ( new EnablementSubAction("agentPlugin.enable", ( localize(
|
|
200
|
+
const enable = ( new EnablementSubAction("agentPlugin.enable", ( localize(5241, "Enable")), "extension-action label prominent", isContributionDisabled(plugin.enablement.get()), () => {
|
|
172
201
|
enablementModel.setEnabled(key, ContributionEnablementState.EnabledProfile);
|
|
173
202
|
return Promise.resolve();
|
|
174
203
|
}));
|
|
175
|
-
const enableWorkspace = ( new EnablementSubAction("agentPlugin.enableForWorkspace", ( localize(
|
|
204
|
+
const enableWorkspace = ( new EnablementSubAction("agentPlugin.enableForWorkspace", ( localize(5242, "Enable (Workspace)")), "extension-action label", isContributionDisabled(plugin.enablement.get()) && hasWorkspace, () => {
|
|
176
205
|
enablementModel.setEnabled(key, ContributionEnablementState.EnabledWorkspace);
|
|
177
206
|
return Promise.resolve();
|
|
178
207
|
}));
|
|
@@ -181,15 +210,15 @@ function createEnablePluginDropDown(plugin, enablementModel, workspaceContextSer
|
|
|
181
210
|
function createDisablePluginDropDown(plugin, enablementModel, workspaceContextService) {
|
|
182
211
|
const key = ( plugin.uri.toString());
|
|
183
212
|
const hasWorkspace = workspaceContextService.getWorkbenchState() !== WorkbenchState.EMPTY;
|
|
184
|
-
const disable = ( new EnablementSubAction("agentPlugin.disable", ( localize(
|
|
213
|
+
const disable = ( new EnablementSubAction("agentPlugin.disable", ( localize(5243, "Disable")), "extension-action label disable", isContributionEnabled(plugin.enablement.get()), () => {
|
|
185
214
|
enablementModel.setEnabled(key, ContributionEnablementState.DisabledProfile);
|
|
186
215
|
return Promise.resolve();
|
|
187
216
|
}));
|
|
188
|
-
const disableWorkspace = ( new EnablementSubAction("agentPlugin.disableForWorkspace", ( localize(
|
|
217
|
+
const disableWorkspace = ( new EnablementSubAction("agentPlugin.disableForWorkspace", ( localize(5244, "Disable (Workspace)")), "extension-action label disable", isContributionEnabled(plugin.enablement.get()) && hasWorkspace, () => {
|
|
189
218
|
enablementModel.setEnabled(key, ContributionEnablementState.DisabledWorkspace);
|
|
190
219
|
return Promise.resolve();
|
|
191
220
|
}));
|
|
192
221
|
return ( new EnablementDropDownAction("agentPlugin.disableDropdown", [disable, disableWorkspace]));
|
|
193
222
|
}
|
|
194
223
|
|
|
195
|
-
export { EnablementDropDownAction, EnablementDropdownActionViewItem, InstallPluginAction, OpenPluginFolderAction, OpenPluginReadmeAction, UninstallPluginAction, createDisablePluginDropDown, createEnablePluginDropDown, getInstalledPluginContextMenuActions };
|
|
224
|
+
export { EnablementDropDownAction, EnablementDropdownActionViewItem, InstallPluginAction, OpenPluginFolderAction, OpenPluginReadmeAction, UninstallPluginAction, createDisablePluginDropDown, createEnablePluginDropDown, createPolicyBlockedEnableAction, getInstalledPluginContextMenuActions, isPluginPolicyBlocked, notifyPluginPolicyBlocked };
|
|
@@ -21,6 +21,7 @@ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/fi
|
|
|
21
21
|
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
22
22
|
import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
|
|
23
23
|
import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
|
|
24
|
+
import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
|
|
24
25
|
import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
|
|
25
26
|
import { asText } from '@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request';
|
|
26
27
|
import { IRequestService } from '@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request.service';
|
|
@@ -38,7 +39,7 @@ import { IPluginMarketplaceService } from '@codingame/monaco-vscode-api/vscode/v
|
|
|
38
39
|
import { AgentPluginItemKind } from './agentPluginItems.js';
|
|
39
40
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
40
41
|
import { EnablementStatusWidget, pluginEnablementLabels } from '../enablementStatusWidget.js';
|
|
41
|
-
import { EnablementDropDownAction, EnablementDropdownActionViewItem, InstallPluginAction, createEnablePluginDropDown, createDisablePluginDropDown, UninstallPluginAction } from '../agentPluginActions.js';
|
|
42
|
+
import { EnablementDropDownAction, EnablementDropdownActionViewItem, InstallPluginAction, isPluginPolicyBlocked, createPolicyBlockedEnableAction, createEnablePluginDropDown, createDisablePluginDropDown, UninstallPluginAction } from '../agentPluginActions.js';
|
|
42
43
|
import * as agentPluginEditor from './media/agentPluginEditor.css';
|
|
43
44
|
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
44
45
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
@@ -286,12 +287,17 @@ let AgentPluginEditor = class AgentPluginEditor extends EditorPane {
|
|
|
286
287
|
);
|
|
287
288
|
}
|
|
288
289
|
}
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
290
|
+
if (isPluginPolicyBlocked(item.plugin)) {
|
|
291
|
+
const notificationService = this.instantiationService.invokeFunction(a => a.get(INotificationService));
|
|
292
|
+
actions.push(createPolicyBlockedEnableAction(item.plugin, notificationService));
|
|
293
|
+
} else {
|
|
294
|
+
actions.push(
|
|
295
|
+
createEnablePluginDropDown(item.plugin, this.agentPluginService.enablementModel, workspaceService)
|
|
296
|
+
);
|
|
297
|
+
actions.push(
|
|
298
|
+
createDisablePluginDropDown(item.plugin, this.agentPluginService.enablementModel, workspaceService)
|
|
299
|
+
);
|
|
300
|
+
}
|
|
295
301
|
actions.push(( new UninstallPluginAction(item.plugin)));
|
|
296
302
|
return actions;
|
|
297
303
|
}
|
|
@@ -357,7 +363,7 @@ let AgentPluginEditor = class AgentPluginEditor extends EditorPane {
|
|
|
357
363
|
this.contentDisposables.add(toDisposable(insert(this.layoutParticipants, {
|
|
358
364
|
layout
|
|
359
365
|
})));
|
|
360
|
-
return this.openMarkdown(this.pluginReadme.get(), ( localize(
|
|
366
|
+
return this.openMarkdown(this.pluginReadme.get(), ( localize(5245, "No README available.")), readmeContainer, WebviewIndex.Readme, ( localize(5246, "Readme")), token);
|
|
361
367
|
}
|
|
362
368
|
async openMarkdown(cacheResult, noContentCopy, container, webviewIndex, title, token) {
|
|
363
369
|
try {
|
|
@@ -529,7 +535,7 @@ let UpdatePluginEditorAction = class UpdatePluginEditorAction extends Action {
|
|
|
529
535
|
pluginInstallService,
|
|
530
536
|
pluginMarketplaceService
|
|
531
537
|
) {
|
|
532
|
-
super(UpdatePluginEditorAction_1.ID, ( localize(
|
|
538
|
+
super(UpdatePluginEditorAction_1.ID, ( localize(5247, "Update")), "extension-action label prominent install");
|
|
533
539
|
this.plugin = plugin;
|
|
534
540
|
this.liveMarketplacePlugin = liveMarketplacePlugin;
|
|
535
541
|
this.pluginInstallService = pluginInstallService;
|
package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js
CHANGED
|
@@ -8,7 +8,7 @@ import { EditorInputCapabilities } from '@codingame/monaco-vscode-api/vscode/vs/
|
|
|
8
8
|
import { EditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/editorInput';
|
|
9
9
|
import { AgentPluginItemKind } from './agentPluginItems.js';
|
|
10
10
|
|
|
11
|
-
const AgentPluginEditorIcon = registerIcon("agent-plugin-editor-icon", Codicon.extensions, ( localize(
|
|
11
|
+
const AgentPluginEditorIcon = registerIcon("agent-plugin-editor-icon", Codicon.extensions, ( localize(5248, "Icon of the Agent Plugin editor.")));
|
|
12
12
|
function getPluginId(item) {
|
|
13
13
|
if (item.kind === AgentPluginItemKind.Installed) {
|
|
14
14
|
return ( item.plugin.uri.toString());
|
|
@@ -39,7 +39,7 @@ class AgentPluginEditorInput extends EditorInput {
|
|
|
39
39
|
return this._item;
|
|
40
40
|
}
|
|
41
41
|
getName() {
|
|
42
|
-
return localize(
|
|
42
|
+
return localize(5249, "Plugin: {0}", this._item.name);
|
|
43
43
|
}
|
|
44
44
|
getIcon() {
|
|
45
45
|
return AgentPluginEditorIcon;
|
|
@@ -39,7 +39,6 @@ export declare class AgentPluginRepositoryService implements IAgentPluginReposit
|
|
|
39
39
|
private _updateMarketplaceIndex;
|
|
40
40
|
private _saveMarketplaceIndex;
|
|
41
41
|
private _cloneRepository;
|
|
42
|
-
private _getPluginDir;
|
|
43
42
|
getPluginSourceInstallUri(sourceDescriptor: IPluginSourceDescriptor): URI;
|
|
44
43
|
ensurePluginSource(plugin: IMarketplacePlugin, options?: IEnsureRepositoryOptions): Promise<URI>;
|
|
45
44
|
updatePluginSource(plugin: IMarketplacePlugin, options?: IPullRepositoryOptions): Promise<boolean>;
|