@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
|
@@ -18,7 +18,7 @@ import { IAgentPluginRepositoryService } from '@codingame/monaco-vscode-api/vsco
|
|
|
18
18
|
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
19
19
|
import { PluginSourceKind, MarketplaceType, hasSourceChanged } from '../common/plugins/pluginMarketplaceService.js';
|
|
20
20
|
import { IPluginMarketplaceService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.service';
|
|
21
|
-
import { parseMarketplaceReference, MarketplaceReferenceKind, parseMarketplaceReferences } from '../common/plugins/marketplaceReference.js';
|
|
21
|
+
import { parseMarketplaceReference, MarketplaceReferenceKind, readConfiguredMarketplaces, parseMarketplaceReferences } from '../common/plugins/marketplaceReference.js';
|
|
22
22
|
import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
|
|
23
23
|
|
|
24
24
|
let PluginInstallService = class PluginInstallService {
|
|
@@ -65,7 +65,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
65
65
|
this._notificationService.notify({
|
|
66
66
|
severity: Severity.Error,
|
|
67
67
|
message: ( localize(
|
|
68
|
-
|
|
68
|
+
6933,
|
|
69
69
|
"'{0}' is not a valid plugin source. Enter a GitHub repository (owner/repo) or a git clone URL.",
|
|
70
70
|
source
|
|
71
71
|
))
|
|
@@ -76,7 +76,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
76
76
|
this._notificationService.notify({
|
|
77
77
|
severity: Severity.Error,
|
|
78
78
|
message: ( localize(
|
|
79
|
-
|
|
79
|
+
6934,
|
|
80
80
|
"Local file paths are not supported. Enter a GitHub repository (owner/repo) or a git clone URL."
|
|
81
81
|
))
|
|
82
82
|
});
|
|
@@ -94,14 +94,14 @@ let PluginInstallService = class PluginInstallService {
|
|
|
94
94
|
const reference = parseMarketplaceReference(source);
|
|
95
95
|
if (!reference) {
|
|
96
96
|
return localize(
|
|
97
|
-
|
|
97
|
+
6933,
|
|
98
98
|
"'{0}' is not a valid plugin source. Enter a GitHub repository (owner/repo) or a git clone URL.",
|
|
99
99
|
source
|
|
100
100
|
);
|
|
101
101
|
}
|
|
102
102
|
if (reference.kind === MarketplaceReferenceKind.LocalFileUri) {
|
|
103
103
|
return localize(
|
|
104
|
-
|
|
104
|
+
6934,
|
|
105
105
|
"Local file paths are not supported. Enter a GitHub repository (owner/repo) or a git clone URL."
|
|
106
106
|
);
|
|
107
107
|
}
|
|
@@ -113,7 +113,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
113
113
|
return {
|
|
114
114
|
success: false,
|
|
115
115
|
message: ( localize(
|
|
116
|
-
|
|
116
|
+
6933,
|
|
117
117
|
"'{0}' is not a valid plugin source. Enter a GitHub repository (owner/repo) or a git clone URL.",
|
|
118
118
|
source
|
|
119
119
|
))
|
|
@@ -123,7 +123,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
123
123
|
return {
|
|
124
124
|
success: false,
|
|
125
125
|
message: ( localize(
|
|
126
|
-
|
|
126
|
+
6934,
|
|
127
127
|
"Local file paths are not supported. Enter a GitHub repository (owner/repo) or a git clone URL."
|
|
128
128
|
))
|
|
129
129
|
};
|
|
@@ -156,7 +156,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
156
156
|
let repoDir;
|
|
157
157
|
try {
|
|
158
158
|
repoDir = await this._pluginRepositoryService.ensurePluginSource(tempPlugin, {
|
|
159
|
-
progressTitle: ( localize(
|
|
159
|
+
progressTitle: ( localize(6935, "Cloning plugin source '{0}'...", reference.displayLabel)),
|
|
160
160
|
failureLabel: reference.displayLabel,
|
|
161
161
|
marketplaceType: MarketplaceType.OpenPlugin
|
|
162
162
|
});
|
|
@@ -165,7 +165,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
165
165
|
return {
|
|
166
166
|
success: false,
|
|
167
167
|
message: ( localize(
|
|
168
|
-
|
|
168
|
+
6936,
|
|
169
169
|
"Failed to clone plugin source '{0}': {1}",
|
|
170
170
|
reference.displayLabel,
|
|
171
171
|
detail
|
|
@@ -176,7 +176,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
176
176
|
if (!repoExists) {
|
|
177
177
|
return {
|
|
178
178
|
success: false,
|
|
179
|
-
message: ( localize(
|
|
179
|
+
message: ( localize(6937, "Failed to clone plugin source '{0}'.", reference.displayLabel))
|
|
180
180
|
};
|
|
181
181
|
}
|
|
182
182
|
const discoveredPlugins = await this._pluginMarketplaceService.readPluginsFromDirectory(repoDir, reference);
|
|
@@ -187,7 +187,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
187
187
|
return {
|
|
188
188
|
success: false,
|
|
189
189
|
message: ( localize(
|
|
190
|
-
|
|
190
|
+
6938,
|
|
191
191
|
"Plugin '{0}' not found in '{1}'.",
|
|
192
192
|
options.plugin,
|
|
193
193
|
reference.displayLabel
|
|
@@ -206,7 +206,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
206
206
|
return {
|
|
207
207
|
success: false,
|
|
208
208
|
message: ( localize(
|
|
209
|
-
|
|
209
|
+
6939,
|
|
210
210
|
"No plugins found in '{0}'. This does not appear to be a valid plugin marketplace.",
|
|
211
211
|
reference.displayLabel
|
|
212
212
|
))
|
|
@@ -218,7 +218,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
218
218
|
return {
|
|
219
219
|
success: false,
|
|
220
220
|
message: ( localize(
|
|
221
|
-
|
|
221
|
+
6938,
|
|
222
222
|
"Plugin '{0}' not found in '{1}'.",
|
|
223
223
|
options.plugin,
|
|
224
224
|
reference.displayLabel
|
|
@@ -245,7 +245,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
245
245
|
plugin: p
|
|
246
246
|
})));
|
|
247
247
|
const selected = await this._quickInputService.pick(picks, {
|
|
248
|
-
placeHolder: ( localize(
|
|
248
|
+
placeHolder: ( localize(6940, "Select a plugin to install from '{0}'", reference.displayLabel)),
|
|
249
249
|
canPickMany: false
|
|
250
250
|
});
|
|
251
251
|
if (!selected) {
|
|
@@ -260,15 +260,15 @@ let PluginInstallService = class PluginInstallService {
|
|
|
260
260
|
};
|
|
261
261
|
}
|
|
262
262
|
_addMarketplaceToConfig(reference) {
|
|
263
|
-
const
|
|
264
|
-
|
|
263
|
+
const {
|
|
264
|
+
userValues,
|
|
265
|
+
effectiveValues
|
|
266
|
+
} = readConfiguredMarketplaces(this._configurationService);
|
|
267
|
+
const existingRefs = parseMarketplaceReferences(effectiveValues);
|
|
265
268
|
if (( existingRefs.some(r => r.canonicalId === reference.canonicalId))) {
|
|
266
269
|
return;
|
|
267
270
|
}
|
|
268
|
-
return this._configurationService.updateValue(
|
|
269
|
-
ChatConfiguration.PluginMarketplaces,
|
|
270
|
-
[...currentValues, reference.rawValue]
|
|
271
|
-
);
|
|
271
|
+
return this._configurationService.updateValue(ChatConfiguration.PluginMarketplaces, [...userValues, reference.rawValue]);
|
|
272
272
|
}
|
|
273
273
|
async updatePlugin(plugin, silent) {
|
|
274
274
|
const kind = plugin.sourceDescriptor.kind;
|
|
@@ -403,15 +403,15 @@ let PluginInstallService = class PluginInstallService {
|
|
|
403
403
|
} else {
|
|
404
404
|
await this._progressService.withProgress({
|
|
405
405
|
location: ProgressLocation.Notification,
|
|
406
|
-
title: ( localize(
|
|
406
|
+
title: ( localize(6941, "Updating plugins..."))
|
|
407
407
|
}, doUpdate);
|
|
408
408
|
}
|
|
409
409
|
if (failedNames.length > 0) {
|
|
410
410
|
this._notificationService.notify({
|
|
411
411
|
severity: Severity.Error,
|
|
412
|
-
message: ( localize(
|
|
412
|
+
message: ( localize(6942, "Failed to update: {0}", failedNames.join(", "))),
|
|
413
413
|
actions: {
|
|
414
|
-
primary: [( new Action("showGitOutput", ( localize(
|
|
414
|
+
primary: [( new Action("showGitOutput", ( localize(6943, "Show Output")), undefined, true, () => {
|
|
415
415
|
this._commandService.executeCommand("git.showOutput");
|
|
416
416
|
}))]
|
|
417
417
|
}
|
|
@@ -420,7 +420,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
420
420
|
this._pluginMarketplaceService.clearUpdatesAvailable();
|
|
421
421
|
this._notificationService.notify({
|
|
422
422
|
severity: Severity.Info,
|
|
423
|
-
message: ( localize(
|
|
423
|
+
message: ( localize(6944, "Updated plugins: {0}", updatedNames.join(", ")))
|
|
424
424
|
});
|
|
425
425
|
} else if (!token.isCancellationRequested) {
|
|
426
426
|
this._pluginMarketplaceService.clearUpdatesAvailable();
|
|
@@ -431,10 +431,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
431
431
|
};
|
|
432
432
|
}
|
|
433
433
|
getPluginInstallUri(plugin) {
|
|
434
|
-
|
|
435
|
-
return this._pluginRepositoryService.getPluginInstallUri(plugin);
|
|
436
|
-
}
|
|
437
|
-
return this._pluginRepositoryService.getPluginSourceInstallUri(plugin.sourceDescriptor);
|
|
434
|
+
return this._pluginRepositoryService.getPluginInstallUri(plugin);
|
|
438
435
|
}
|
|
439
436
|
async _ensureMarketplaceTrusted(plugin) {
|
|
440
437
|
if (this._pluginMarketplaceService.isMarketplaceTrusted(plugin.marketplaceReference)) {
|
|
@@ -445,16 +442,16 @@ let PluginInstallService = class PluginInstallService {
|
|
|
445
442
|
} = await this._dialogService.confirm({
|
|
446
443
|
type: "question",
|
|
447
444
|
message: ( localize(
|
|
448
|
-
|
|
445
|
+
6945,
|
|
449
446
|
"Trust Plugins from '{0}'?",
|
|
450
447
|
plugin.marketplaceReference.displayLabel
|
|
451
448
|
)),
|
|
452
449
|
detail: ( localize(
|
|
453
|
-
|
|
450
|
+
6946,
|
|
454
451
|
"Plugins can run code on your machine. Only install plugins from sources you trust.\n\nSource: {0}",
|
|
455
452
|
plugin.marketplaceReference.rawValue
|
|
456
453
|
)),
|
|
457
|
-
primaryButton: ( localize(
|
|
454
|
+
primaryButton: ( localize(6947, "&&Trust")),
|
|
458
455
|
custom: {
|
|
459
456
|
icon: Codicon.shield
|
|
460
457
|
}
|
|
@@ -468,7 +465,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
468
465
|
async _installRelativePathPlugin(plugin) {
|
|
469
466
|
try {
|
|
470
467
|
await this._pluginRepositoryService.ensureRepository(plugin.marketplaceReference, {
|
|
471
|
-
progressTitle: ( localize(
|
|
468
|
+
progressTitle: ( localize(6948, "Installing plugin '{0}'...", plugin.name)),
|
|
472
469
|
failureLabel: plugin.name,
|
|
473
470
|
marketplaceType: plugin.marketplaceType
|
|
474
471
|
});
|
|
@@ -482,7 +479,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
482
479
|
this._notificationService.notify({
|
|
483
480
|
severity: Severity.Error,
|
|
484
481
|
message: ( localize(
|
|
485
|
-
|
|
482
|
+
6949,
|
|
486
483
|
"Plugin source directory '{0}' is invalid for repository '{1}'.",
|
|
487
484
|
plugin.source,
|
|
488
485
|
plugin.marketplace
|
|
@@ -495,7 +492,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
495
492
|
this._notificationService.notify({
|
|
496
493
|
severity: Severity.Error,
|
|
497
494
|
message: ( localize(
|
|
498
|
-
|
|
495
|
+
6950,
|
|
499
496
|
"Plugin source directory '{0}' not found in repository '{1}'.",
|
|
500
497
|
plugin.source,
|
|
501
498
|
plugin.marketplace
|
|
@@ -510,7 +507,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
510
507
|
let pluginDir;
|
|
511
508
|
try {
|
|
512
509
|
pluginDir = await this._pluginRepositoryService.ensurePluginSource(plugin, {
|
|
513
|
-
progressTitle: ( localize(
|
|
510
|
+
progressTitle: ( localize(6948, "Installing plugin '{0}'...", plugin.name)),
|
|
514
511
|
failureLabel: plugin.name,
|
|
515
512
|
marketplaceType: plugin.marketplaceType
|
|
516
513
|
});
|
|
@@ -522,7 +519,7 @@ let PluginInstallService = class PluginInstallService {
|
|
|
522
519
|
this._notificationService.notify({
|
|
523
520
|
severity: Severity.Error,
|
|
524
521
|
message: ( localize(
|
|
525
|
-
|
|
522
|
+
6951,
|
|
526
523
|
"Plugin source '{0}' not found after cloning.",
|
|
527
524
|
repo.getLabel(plugin.sourceDescriptor)
|
|
528
525
|
))
|
|
@@ -55,7 +55,10 @@ export declare class GitHubPluginSource extends AbstractGitPluginSource {
|
|
|
55
55
|
}
|
|
56
56
|
export declare class GitUrlPluginSource extends AbstractGitPluginSource {
|
|
57
57
|
readonly kind = PluginSourceKind.GitUrl;
|
|
58
|
+
/** Returns the URI where the plugin content lives (repo root + optional sub-path). */
|
|
58
59
|
getInstallUri(cacheRoot: URI, descriptor: IPluginSourceDescriptor): URI;
|
|
60
|
+
/** Returns the cloned repository root (without sub-path). */
|
|
61
|
+
protected _getRepoDir(cacheRoot: URI, descriptor: IPluginSourceDescriptor): URI;
|
|
59
62
|
getLabel(descriptor: IPluginSourceDescriptor): string;
|
|
60
63
|
protected _cloneUrl(descriptor: IPluginSourceDescriptor): string;
|
|
61
64
|
protected _displayLabel(descriptor: IPluginSourceDescriptor): string;
|
|
@@ -76,7 +76,7 @@ let AbstractGitPluginSource = class AbstractGitPluginSource {
|
|
|
76
76
|
await this._checkoutRevision(repoDir, descriptor, options?.failureLabel ?? label);
|
|
77
77
|
return this.getInstallUri(cacheRoot, descriptor);
|
|
78
78
|
}
|
|
79
|
-
const progressTitle = options?.progressTitle ?? ( localize(
|
|
79
|
+
const progressTitle = options?.progressTitle ?? ( localize(6952, "Cloning plugin source '{0}'...", label));
|
|
80
80
|
const failureLabel = options?.failureLabel ?? label;
|
|
81
81
|
const ref = descriptor.ref;
|
|
82
82
|
await this._cloneRepository(repoDir, this._cloneUrl(descriptor), progressTitle, failureLabel, ref);
|
|
@@ -118,7 +118,7 @@ let AbstractGitPluginSource = class AbstractGitPluginSource {
|
|
|
118
118
|
try {
|
|
119
119
|
return await this._progressService.withProgress({
|
|
120
120
|
location: ProgressLocation.Notification,
|
|
121
|
-
title: ( localize(
|
|
121
|
+
title: ( localize(6953, "Updating plugin '{0}'...", updateLabel)),
|
|
122
122
|
cancellable: true
|
|
123
123
|
}, () => doUpdate(cts), () => cts.dispose(true));
|
|
124
124
|
} finally {
|
|
@@ -130,7 +130,7 @@ let AbstractGitPluginSource = class AbstractGitPluginSource {
|
|
|
130
130
|
this._notificationService.notify({
|
|
131
131
|
severity: Severity.Error,
|
|
132
132
|
message: ( localize(
|
|
133
|
-
|
|
133
|
+
6954,
|
|
134
134
|
"Failed to update plugin '{0}': {1}",
|
|
135
135
|
failureLabel,
|
|
136
136
|
err?.message ?? String(err)
|
|
@@ -156,7 +156,7 @@ let AbstractGitPluginSource = class AbstractGitPluginSource {
|
|
|
156
156
|
this._notificationService.notify({
|
|
157
157
|
severity: Severity.Error,
|
|
158
158
|
message: ( localize(
|
|
159
|
-
|
|
159
|
+
6955,
|
|
160
160
|
"Failed to install plugin '{0}': {1}",
|
|
161
161
|
failureLabel,
|
|
162
162
|
err?.message ?? String(err)
|
|
@@ -183,7 +183,7 @@ let AbstractGitPluginSource = class AbstractGitPluginSource {
|
|
|
183
183
|
this._notificationService.notify({
|
|
184
184
|
severity: Severity.Error,
|
|
185
185
|
message: ( localize(
|
|
186
|
-
|
|
186
|
+
6956,
|
|
187
187
|
"Failed to checkout plugin '{0}' to requested revision: {1}",
|
|
188
188
|
failureLabel,
|
|
189
189
|
err?.message ?? String(err)
|
|
@@ -261,12 +261,27 @@ class GitUrlPluginSource extends AbstractGitPluginSource {
|
|
|
261
261
|
this.kind = PluginSourceKind.GitUrl;
|
|
262
262
|
}
|
|
263
263
|
getInstallUri(cacheRoot, descriptor) {
|
|
264
|
+
const repoDir = this._getRepoDir(cacheRoot, descriptor);
|
|
265
|
+
const git = descriptor;
|
|
266
|
+
if (git.path) {
|
|
267
|
+
const normalizedPath = git.path.trim().replace(/^\.?\/+|\/+$/g, "");
|
|
268
|
+
if (normalizedPath) {
|
|
269
|
+
const target = joinPath(repoDir, normalizedPath);
|
|
270
|
+
if (isEqualOrParent(target, repoDir)) {
|
|
271
|
+
return target;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
return repoDir;
|
|
276
|
+
}
|
|
277
|
+
_getRepoDir(cacheRoot, descriptor) {
|
|
264
278
|
const git = descriptor;
|
|
265
279
|
const segments = this._gitUrlCacheSegments(git.url, git.ref, git.sha);
|
|
266
280
|
return joinPath(cacheRoot, ...segments);
|
|
267
281
|
}
|
|
268
282
|
getLabel(descriptor) {
|
|
269
|
-
|
|
283
|
+
const git = descriptor;
|
|
284
|
+
return git.path ? `${git.url}/${git.path}` : git.url;
|
|
270
285
|
}
|
|
271
286
|
_cloneUrl(descriptor) {
|
|
272
287
|
return descriptor.url;
|
|
@@ -329,7 +344,7 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
|
|
|
329
344
|
if (!confirmed) {
|
|
330
345
|
return undefined;
|
|
331
346
|
}
|
|
332
|
-
const progressTitle = ( localize(
|
|
347
|
+
const progressTitle = ( localize(6957, "Installing {0} plugin '{1}'...", this._managerName, plugin.name));
|
|
333
348
|
const {
|
|
334
349
|
success,
|
|
335
350
|
terminal
|
|
@@ -342,7 +357,7 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
|
|
|
342
357
|
this._notificationService.notify({
|
|
343
358
|
severity: Severity.Error,
|
|
344
359
|
message: ( localize(
|
|
345
|
-
|
|
360
|
+
6958,
|
|
346
361
|
"{0} package '{1}' was not found after installation.",
|
|
347
362
|
this._managerName,
|
|
348
363
|
this.getLabel(plugin.sourceDescriptor)
|
|
@@ -360,9 +375,9 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
|
|
|
360
375
|
return (new Promise(resolve => {
|
|
361
376
|
const n = this._notificationService.notify({
|
|
362
377
|
severity: Severity.Info,
|
|
363
|
-
message: ( localize(
|
|
378
|
+
message: ( localize(6959, "Plugin '{0}' wants to run: {1}", pluginName, command)),
|
|
364
379
|
actions: {
|
|
365
|
-
primary: [( new Action("installPlugin", ( localize(
|
|
380
|
+
primary: [( new Action("installPlugin", ( localize(6960, "Install")), undefined, true, async () => resolve(true)))]
|
|
366
381
|
}
|
|
367
382
|
});
|
|
368
383
|
Event.once(n.onDidClose)(() => resolve(false));
|
|
@@ -372,9 +387,9 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
|
|
|
372
387
|
confirmed
|
|
373
388
|
} = await this._dialogService.confirm({
|
|
374
389
|
type: "question",
|
|
375
|
-
message: ( localize(
|
|
376
|
-
detail: ( localize(
|
|
377
|
-
primaryButton: ( localize(
|
|
390
|
+
message: ( localize(6961, "Install Plugin '{0}'?", pluginName)),
|
|
391
|
+
detail: ( localize(6962, "This will run the following command in a terminal:\n\n{0}", command)),
|
|
392
|
+
primaryButton: ( localize(6963, "&&Install"))
|
|
378
393
|
});
|
|
379
394
|
return confirmed;
|
|
380
395
|
}
|
|
@@ -388,7 +403,7 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
|
|
|
388
403
|
}, async () => {
|
|
389
404
|
terminal = await this._terminalService.createTerminal({
|
|
390
405
|
config: {
|
|
391
|
-
name: ( localize(
|
|
406
|
+
name: ( localize(6964, "Plugin Install")),
|
|
392
407
|
forceShellIntegration: true,
|
|
393
408
|
isTransient: true,
|
|
394
409
|
isFeatureTerminal: true
|
|
@@ -400,7 +415,7 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
|
|
|
400
415
|
await terminal.runCommand(command, true);
|
|
401
416
|
const exitCode = await commandResultPromise;
|
|
402
417
|
if (exitCode !== 0) {
|
|
403
|
-
throw ( new Error(( localize(
|
|
418
|
+
throw ( new Error(( localize(6965, "Command exited with code {0}", exitCode))));
|
|
404
419
|
}
|
|
405
420
|
});
|
|
406
421
|
return {
|
|
@@ -412,7 +427,7 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
|
|
|
412
427
|
this._notificationService.notify({
|
|
413
428
|
severity: Severity.Error,
|
|
414
429
|
message: ( localize(
|
|
415
|
-
|
|
430
|
+
6966,
|
|
416
431
|
"Plugin installation command failed: {0}",
|
|
417
432
|
err?.message ?? String(err)
|
|
418
433
|
))
|
|
@@ -16,10 +16,10 @@ import { IPluginInstallService } from "@codingame/monaco-vscode-api/vscode/vs/wo
|
|
|
16
16
|
* `vscode://chat-plugin/add-marketplace?ref=<base64>` URLs.
|
|
17
17
|
*
|
|
18
18
|
* The `source` / `ref` query parameter is a base64-encoded `owner/repo` or
|
|
19
|
-
* git clone URL.
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
19
|
+
* git clone URL. A confirmation dialog is always shown before any install
|
|
20
|
+
* action, regardless of whether `plugin` is provided. When `plugin` is given
|
|
21
|
+
* on the `/install` route, the handler targets that specific plugin within the
|
|
22
|
+
* marketplace and opens its details in the editor after install.
|
|
23
23
|
*/
|
|
24
24
|
export declare class PluginUrlHandler extends Disposable implements IWorkbenchContribution, IURLHandler {
|
|
25
25
|
private readonly _pluginInstallService;
|
|
@@ -17,7 +17,7 @@ import { IExtensionsWorkbenchService } from '@codingame/monaco-vscode-api/vscode
|
|
|
17
17
|
import { AgentPluginEditorInput } from './agentPluginEditor/agentPluginEditorInput.js';
|
|
18
18
|
import { AgentPluginItemKind } from './agentPluginEditor/agentPluginItems.js';
|
|
19
19
|
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
20
|
-
import { parseMarketplaceReference, MarketplaceReferenceKind, parseMarketplaceReferences } from '../common/plugins/marketplaceReference.js';
|
|
20
|
+
import { parseMarketplaceReference, MarketplaceReferenceKind, readConfiguredMarketplaces, parseMarketplaceReferences } from '../common/plugins/marketplaceReference.js';
|
|
21
21
|
import { IPluginInstallService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginInstallService.service';
|
|
22
22
|
|
|
23
23
|
let PluginUrlHandler = class PluginUrlHandler extends Disposable {
|
|
@@ -76,20 +76,17 @@ let PluginUrlHandler = class PluginUrlHandler extends Disposable {
|
|
|
76
76
|
}
|
|
77
77
|
await this._hostService.focus(mainWindow);
|
|
78
78
|
const pluginName = this._decodeStringParam(uri, "plugin");
|
|
79
|
-
if (pluginName) {
|
|
80
|
-
return this._handleInstallTargetedPlugin(source, ref.displayLabel, pluginName);
|
|
81
|
-
}
|
|
82
79
|
const {
|
|
83
80
|
confirmed
|
|
84
81
|
} = await this._dialogService.confirm({
|
|
85
82
|
type: "question",
|
|
86
|
-
message: ( localize(
|
|
83
|
+
message: pluginName ? ( localize(6967, "Install Plugin '{0}' from '{1}'?", pluginName, ref.displayLabel)) : ( localize(6968, "Install Plugin from '{0}'?", ref.displayLabel)),
|
|
87
84
|
detail: ( localize(
|
|
88
|
-
|
|
85
|
+
6969,
|
|
89
86
|
"An external application wants to install a plugin from this source. Plugins can run code on your machine. Only install plugins from sources you trust.\n\nSource: {0}",
|
|
90
87
|
ref.rawValue
|
|
91
88
|
)),
|
|
92
|
-
primaryButton: ( localize(
|
|
89
|
+
primaryButton: ( localize(6970, "&&Install")),
|
|
93
90
|
custom: {
|
|
94
91
|
icon: Codicon.shield
|
|
95
92
|
}
|
|
@@ -97,6 +94,9 @@ let PluginUrlHandler = class PluginUrlHandler extends Disposable {
|
|
|
97
94
|
if (!confirmed) {
|
|
98
95
|
return true;
|
|
99
96
|
}
|
|
97
|
+
if (pluginName) {
|
|
98
|
+
return this._handleInstallTargetedPlugin(source, ref.displayLabel, pluginName);
|
|
99
|
+
}
|
|
100
100
|
await this._pluginInstallService.installPluginFromSource(source);
|
|
101
101
|
this._extensionsWorkbenchService.openSearch(`@agentPlugins ${ref.displayLabel}`);
|
|
102
102
|
return true;
|
|
@@ -148,13 +148,13 @@ let PluginUrlHandler = class PluginUrlHandler extends Disposable {
|
|
|
148
148
|
confirmed
|
|
149
149
|
} = await this._dialogService.confirm({
|
|
150
150
|
type: "question",
|
|
151
|
-
message: ( localize(
|
|
151
|
+
message: ( localize(6971, "Add Plugin Marketplace '{0}'?", ref.displayLabel)),
|
|
152
152
|
detail: ( localize(
|
|
153
|
-
|
|
153
|
+
6972,
|
|
154
154
|
"An external application wants to add a plugin marketplace. Plugins from this marketplace will appear in the plugin catalog and can be installed.\n\nSource: {0}",
|
|
155
155
|
ref.rawValue
|
|
156
156
|
)),
|
|
157
|
-
primaryButton: ( localize(
|
|
157
|
+
primaryButton: ( localize(6973, "&&Add Marketplace")),
|
|
158
158
|
custom: {
|
|
159
159
|
icon: Codicon.shield
|
|
160
160
|
}
|
|
@@ -162,12 +162,15 @@ let PluginUrlHandler = class PluginUrlHandler extends Disposable {
|
|
|
162
162
|
if (!confirmed) {
|
|
163
163
|
return true;
|
|
164
164
|
}
|
|
165
|
-
const
|
|
166
|
-
|
|
165
|
+
const {
|
|
166
|
+
userValues,
|
|
167
|
+
effectiveValues
|
|
168
|
+
} = readConfiguredMarketplaces(this._configurationService);
|
|
169
|
+
const existingRefs = parseMarketplaceReferences(effectiveValues);
|
|
167
170
|
if (!( existingRefs.some(e => e.canonicalId === ref.canonicalId))) {
|
|
168
171
|
await this._configurationService.updateValue(
|
|
169
172
|
ChatConfiguration.PluginMarketplaces,
|
|
170
|
-
[...
|
|
173
|
+
[...userValues, refValue],
|
|
171
174
|
ConfigurationTarget.USER
|
|
172
175
|
);
|
|
173
176
|
}
|
|
@@ -17,7 +17,7 @@ class ConfigAgentActionImpl extends Action2 {
|
|
|
17
17
|
const openerService = accessor.get(IOpenerService);
|
|
18
18
|
const pickers = instaService.createInstance(PromptFilePickers);
|
|
19
19
|
const placeholder = ( localize(
|
|
20
|
-
|
|
20
|
+
6980,
|
|
21
21
|
"Select the custom agents to open and configure visibility in the agent picker"
|
|
22
22
|
));
|
|
23
23
|
const result = await pickers.selectPromptFile({
|
|
@@ -35,8 +35,8 @@ const PICKER_CONFIGURE_AGENTS_ACTION_ID = "workbench.action.chat.picker.customag
|
|
|
35
35
|
function createPickerConfigureAgentsActionConfig(disabled) {
|
|
36
36
|
const config = {
|
|
37
37
|
id: disabled ? PICKER_CONFIGURE_AGENTS_ACTION_ID + ".disabled" : PICKER_CONFIGURE_AGENTS_ACTION_ID,
|
|
38
|
-
title: ( localize2(
|
|
39
|
-
tooltip: disabled ? ( localize(
|
|
38
|
+
title: ( localize2(6981, "Configure Custom Agents...")),
|
|
39
|
+
tooltip: disabled ? ( localize(6982, "Managed by your organization")) : undefined,
|
|
40
40
|
icon: disabled ? Codicon.lock : undefined,
|
|
41
41
|
category: CHAT_CATEGORY,
|
|
42
42
|
f1: false,
|
|
@@ -62,8 +62,8 @@ const CONFIGURE_AGENTS_ACTION_ID = "workbench.action.chat.configure.customagents
|
|
|
62
62
|
function createManageAgentsActionConfig(disabled) {
|
|
63
63
|
const base = {
|
|
64
64
|
id: disabled ? CONFIGURE_AGENTS_ACTION_ID + ".disabled" : CONFIGURE_AGENTS_ACTION_ID,
|
|
65
|
-
title: ( localize2(
|
|
66
|
-
shortTitle: ( localize(
|
|
65
|
+
title: ( localize2(6983, "Configure Custom Agents...")),
|
|
66
|
+
shortTitle: ( localize(6984, "Custom Agents")),
|
|
67
67
|
icon: disabled ? Codicon.lock : Codicon.bookmark,
|
|
68
68
|
f1: !disabled,
|
|
69
69
|
precondition: disabled ? ( ContextKeyExpr.false()) : ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.Modes.agentModeDisabledByPolicy.negate()))),
|
|
@@ -77,7 +77,7 @@ function createManageAgentsActionConfig(disabled) {
|
|
|
77
77
|
};
|
|
78
78
|
return disabled ? {
|
|
79
79
|
...base,
|
|
80
|
-
tooltip: ( localize(
|
|
80
|
+
tooltip: ( localize(6982, "Managed by your organization"))
|
|
81
81
|
} : base;
|
|
82
82
|
}
|
|
83
83
|
class ManageAgentsAction extends ConfigAgentActionImpl {
|