@codingame/monaco-vscode-chat-service-override 32.0.2 → 33.0.4
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.d.ts +1 -1
- package/index.js +15 -5
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +170 -24
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +372 -66
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +18 -1
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +160 -31
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.d.ts +8 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +19 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +134 -0
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +257 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +84 -3
- package/vscode/src/vs/platform/agentHost/common/agentService.js +9 -1
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +61 -1
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +61 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +3 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +4 -4
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +1 -1
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +2 -7
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +8 -29
- 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 +10 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +180 -174
- 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 +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +12 -12
- 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 +64 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +330 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +77 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +267 -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 +53 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +30 -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/agentSessions/localAgentSessionsController.js +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +150 -119
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +45 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +58 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +2 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +88 -70
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +82 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +2 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +89 -71
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -2843
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +2934 -0
- 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/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 +4 -4
- 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/chatImageCarouselService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +53 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +131 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +23 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +91 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -21
- 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 +29 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +203 -163
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +31 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +88 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +17 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +91 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +21 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +55 -18
- 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/hasByokModelsContribution.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +106 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +4 -2
- 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 +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +59 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +4 -6
- 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.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +38 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +106 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +75 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.d.ts → chatOutputPartStateCache.d.ts} +5 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.js → chatOutputPartStateCache.js} +19 -11
- 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/agentHostInputCompletions.js +58 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
- 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.js +18 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +13 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +6 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +19 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -2
- 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 +6 -7
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +14 -15
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +155 -156
- package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.js +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.d.ts +88 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.js +25 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +237 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +600 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +47 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.js +7 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/media/imageCarousel.css +298 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
- 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 +12 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +78 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +15 -11
- 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 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandParser.d.ts +60 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandParser.js +286 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.js +285 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.d.ts +19 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +415 -47
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +2 -7
- package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +1 -1
- package/vscode/src/vs/base/common/defaultAccount.d.ts +0 -69
- package/vscode/src/vs/base/common/defaultAccount.js +0 -12
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +0 -15
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +0 -85
|
@@ -36,8 +36,7 @@ export declare class McpListWidget extends Disposable {
|
|
|
36
36
|
readonly onDidChangeItemCount: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<number>;
|
|
37
37
|
private readonly _onDidRequestShowPlugin;
|
|
38
38
|
readonly onDidRequestShowPlugin: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<IAgentPluginItem>;
|
|
39
|
-
private
|
|
40
|
-
private sectionDescription;
|
|
39
|
+
private sectionTitleHeader;
|
|
41
40
|
private sectionLink;
|
|
42
41
|
private searchAndButtonContainer;
|
|
43
42
|
private searchInput;
|
|
@@ -60,6 +59,7 @@ export declare class McpListWidget extends Disposable {
|
|
|
60
59
|
private browseMode;
|
|
61
60
|
private lastHeight;
|
|
62
61
|
private lastWidth;
|
|
62
|
+
private lastHeaderHeight;
|
|
63
63
|
private _layoutDeferred;
|
|
64
64
|
private readonly collapsedGroups;
|
|
65
65
|
private galleryCts;
|
|
@@ -88,10 +88,6 @@ export declare class McpListWidget extends Disposable {
|
|
|
88
88
|
* Toggles the collapsed state of a group.
|
|
89
89
|
*/
|
|
90
90
|
private toggleGroup;
|
|
91
|
-
/**
|
|
92
|
-
* Prepends an element to the search row (left of the search input).
|
|
93
|
-
*/
|
|
94
|
-
prependToSearchRow(element: HTMLElement): void;
|
|
95
91
|
/**
|
|
96
92
|
* Whether the widget is currently in marketplace browse mode.
|
|
97
93
|
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { registerCss } from '@codingame/monaco-vscode-api/css';
|
|
3
3
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
4
4
|
import * as aiCustomizationManagement from './media/aiCustomizationManagement.css';
|
|
5
|
-
import { $ as $$1, append, addDisposableListener,
|
|
5
|
+
import { $ as $$1, append, createTextNode, addDisposableListener, getWindow, DisposableResizeObserver, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
6
6
|
import { DisposableStore, Disposable, MutableDisposable, isDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
7
7
|
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
8
8
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
@@ -119,7 +119,7 @@ let McpServerItemRenderer = class McpServerItemRenderer {
|
|
|
119
119
|
const plugin = this.agentPluginService.plugins.get().find(p => ( p.uri.toString()) === pluginUriStr);
|
|
120
120
|
if (plugin) {
|
|
121
121
|
return {
|
|
122
|
-
content: `${element.label}\n${( localize(
|
|
122
|
+
content: `${element.label}\n${( localize(5641, "Plugin: {0}", plugin.label))}`,
|
|
123
123
|
appearance: {
|
|
124
124
|
compact: true,
|
|
125
125
|
skipFadeInAnimation: true
|
|
@@ -161,26 +161,26 @@ let McpServerItemRenderer = class McpServerItemRenderer {
|
|
|
161
161
|
}
|
|
162
162
|
statusElement.style.display = "";
|
|
163
163
|
if (state === "disabled") {
|
|
164
|
-
statusElement.textContent = ( localize(
|
|
164
|
+
statusElement.textContent = ( localize(5642, "Disabled"));
|
|
165
165
|
statusElement.classList.add("disabled");
|
|
166
166
|
return;
|
|
167
167
|
}
|
|
168
168
|
switch (state) {
|
|
169
169
|
case McpConnectionState.Kind.Running:
|
|
170
|
-
statusElement.textContent = ( localize(
|
|
170
|
+
statusElement.textContent = ( localize(5643, "Running"));
|
|
171
171
|
statusElement.classList.add("running");
|
|
172
172
|
break;
|
|
173
173
|
case McpConnectionState.Kind.Starting:
|
|
174
|
-
statusElement.textContent = ( localize(
|
|
174
|
+
statusElement.textContent = ( localize(5644, "Starting"));
|
|
175
175
|
statusElement.classList.add("starting");
|
|
176
176
|
break;
|
|
177
177
|
case McpConnectionState.Kind.Error:
|
|
178
|
-
statusElement.textContent = ( localize(
|
|
178
|
+
statusElement.textContent = ( localize(5645, "Error"));
|
|
179
179
|
statusElement.classList.add("error");
|
|
180
180
|
break;
|
|
181
181
|
case McpConnectionState.Kind.Stopped:
|
|
182
182
|
default:
|
|
183
|
-
statusElement.textContent = ( localize(
|
|
183
|
+
statusElement.textContent = ( localize(5646, "Stopped"));
|
|
184
184
|
statusElement.classList.add("stopped");
|
|
185
185
|
break;
|
|
186
186
|
}
|
|
@@ -231,7 +231,7 @@ class McpGalleryItemRenderer {
|
|
|
231
231
|
templateData.elementDisposables.add(templateData.installButton.onDidClick(async () => {
|
|
232
232
|
const canInstall = this.mcpWorkbenchService.canInstall(element.server);
|
|
233
233
|
if (canInstall === true) {
|
|
234
|
-
templateData.installButton.label = ( localize(
|
|
234
|
+
templateData.installButton.label = ( localize(5647, "Installing..."));
|
|
235
235
|
templateData.installButton.enabled = false;
|
|
236
236
|
await this.mcpWorkbenchService.install(element.server);
|
|
237
237
|
}
|
|
@@ -245,15 +245,15 @@ class McpGalleryItemRenderer {
|
|
|
245
245
|
updateInstallButton(button, server) {
|
|
246
246
|
switch (server.installState) {
|
|
247
247
|
case McpServerInstallState.Installed:
|
|
248
|
-
button.label = ( localize(
|
|
248
|
+
button.label = ( localize(5648, "Installed"));
|
|
249
249
|
button.enabled = false;
|
|
250
250
|
break;
|
|
251
251
|
case McpServerInstallState.Installing:
|
|
252
|
-
button.label = ( localize(
|
|
252
|
+
button.label = ( localize(5647, "Installing..."));
|
|
253
253
|
button.enabled = false;
|
|
254
254
|
break;
|
|
255
255
|
default:
|
|
256
|
-
button.label = ( localize(
|
|
256
|
+
button.label = ( localize(5649, "Install"));
|
|
257
257
|
button.enabled = true;
|
|
258
258
|
break;
|
|
259
259
|
}
|
|
@@ -306,6 +306,7 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
306
306
|
this.browseMode = false;
|
|
307
307
|
this.lastHeight = 0;
|
|
308
308
|
this.lastWidth = 0;
|
|
309
|
+
this.lastHeaderHeight = 0;
|
|
309
310
|
this._layoutDeferred = false;
|
|
310
311
|
this.collapsedGroups = ( new Set());
|
|
311
312
|
this.delayedFilter = ( new Delayer(200));
|
|
@@ -325,10 +326,45 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
325
326
|
});
|
|
326
327
|
}
|
|
327
328
|
create() {
|
|
329
|
+
this.sectionTitleHeader = append(this.element, $(".section-title-header"));
|
|
330
|
+
const titleRow = append(this.sectionTitleHeader, $(".section-title-row"));
|
|
331
|
+
const sectionTitle = append(titleRow, $("h2.section-title"));
|
|
332
|
+
sectionTitle.textContent = ( localize(5650, "MCP Servers"));
|
|
333
|
+
const sectionTitleDescription = append(this.sectionTitleHeader, $("p.section-title-description"));
|
|
334
|
+
const sectionTitleDescriptionText = append(sectionTitleDescription, $("span.section-title-description-text"));
|
|
335
|
+
sectionTitleDescriptionText.textContent = ( localize(
|
|
336
|
+
5651,
|
|
337
|
+
"An open standard that lets AI use external tools and services. MCP servers provide tools for file operations, databases, APIs, and more."
|
|
338
|
+
));
|
|
339
|
+
sectionTitleDescription.appendChild(createTextNode(" "));
|
|
340
|
+
this.sectionLink = append(sectionTitleDescription, $("a.section-title-link"));
|
|
341
|
+
this.sectionLink.textContent = ( localize(5652, "Learn more about MCP servers"));
|
|
342
|
+
this.sectionLink.href = "https://code.visualstudio.com/docs/copilot/chat/mcp-servers";
|
|
343
|
+
this._register(addDisposableListener(this.sectionLink, "click", e => {
|
|
344
|
+
e.preventDefault();
|
|
345
|
+
const href = this.sectionLink.href;
|
|
346
|
+
if (href) {
|
|
347
|
+
this.openerService.open(( URI.parse(href)));
|
|
348
|
+
}
|
|
349
|
+
}));
|
|
350
|
+
const targetWindow = getWindow(this.element);
|
|
351
|
+
const headerObserver = this._register(
|
|
352
|
+
new DisposableResizeObserver("McpListWidget.sectionTitleHeader", () => {
|
|
353
|
+
if (this.lastWidth <= 0 || this.lastHeight <= 0) {
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
const headerHeight = this.sectionTitleHeader.offsetHeight;
|
|
357
|
+
if (headerHeight === this.lastHeaderHeight) {
|
|
358
|
+
return;
|
|
359
|
+
}
|
|
360
|
+
this.layout(this.lastHeight, this.lastWidth);
|
|
361
|
+
}, targetWindow)
|
|
362
|
+
);
|
|
363
|
+
this._register(headerObserver.observe(this.sectionTitleHeader));
|
|
328
364
|
this.searchAndButtonContainer = append(this.element, $(".list-search-and-button-container"));
|
|
329
365
|
const searchContainer = append(this.searchAndButtonContainer, $(".list-search-container"));
|
|
330
366
|
this.searchInput = this._register(( new InputBox(searchContainer, this.contextViewService, {
|
|
331
|
-
placeholder: ( localize(
|
|
367
|
+
placeholder: ( localize(5653, "Type to search...")),
|
|
332
368
|
inputBoxStyles: defaultInputBoxStyles
|
|
333
369
|
})));
|
|
334
370
|
this._register(this.searchInput.onDidChange(() => {
|
|
@@ -346,7 +382,7 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
346
382
|
secondary: true,
|
|
347
383
|
supportIcons: true
|
|
348
384
|
})));
|
|
349
|
-
this.browseButton.label = `$(${Codicon.library.id}) ${( localize(
|
|
385
|
+
this.browseButton.label = `$(${Codicon.library.id}) ${( localize(5654, "Browse Marketplace"))}`;
|
|
350
386
|
this.browseButton.element.classList.add("list-add-button");
|
|
351
387
|
this._register(this.browseButton.onDidClick(() => {
|
|
352
388
|
this.toggleBrowseMode(!this.browseMode);
|
|
@@ -355,13 +391,13 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
355
391
|
...defaultButtonStyles,
|
|
356
392
|
secondary: true,
|
|
357
393
|
supportIcons: true,
|
|
358
|
-
title: ( localize(
|
|
359
|
-
ariaLabel: ( localize(
|
|
394
|
+
title: ( localize(5655, "Add Server")),
|
|
395
|
+
ariaLabel: ( localize(5655, "Add Server"))
|
|
360
396
|
})));
|
|
361
397
|
this.addButton.label = `$(${Codicon.add.id})`;
|
|
362
398
|
this.addButton.element.classList.add("list-icon-button");
|
|
363
399
|
this._register(
|
|
364
|
-
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), this.addButton.element, ( localize(
|
|
400
|
+
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), this.addButton.element, ( localize(5656, "Add Server")))
|
|
365
401
|
);
|
|
366
402
|
this._register(this.addButton.onDidClick(() => {
|
|
367
403
|
this.commandService.executeCommand(McpCommandIds.AddConfiguration);
|
|
@@ -376,25 +412,9 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
376
412
|
const disabledHeader = append(this.disabledContainer, $(".empty-state-header"));
|
|
377
413
|
this.disabledIcon = append(disabledHeader, $(".empty-icon"));
|
|
378
414
|
const disabledText = append(disabledHeader, $(".empty-text"));
|
|
379
|
-
disabledText.textContent = ( localize(
|
|
415
|
+
disabledText.textContent = ( localize(5657, "MCP servers are disabled"));
|
|
380
416
|
this.disabledMessage = append(this.disabledContainer, $(".empty-subtext"));
|
|
381
417
|
this.listContainer = append(this.element, $(".mcp-list-container"));
|
|
382
|
-
this.sectionHeader = append(this.element, $(".section-footer"));
|
|
383
|
-
this.sectionDescription = append(this.sectionHeader, $("p.section-footer-description"));
|
|
384
|
-
this.sectionDescription.textContent = ( localize(
|
|
385
|
-
5607,
|
|
386
|
-
"An open standard that lets AI use external tools and services. MCP servers provide tools for file operations, databases, APIs, and more."
|
|
387
|
-
));
|
|
388
|
-
this.sectionLink = append(this.sectionHeader, $("a.section-footer-link"));
|
|
389
|
-
this.sectionLink.textContent = ( localize(5608, "Learn more about MCP servers"));
|
|
390
|
-
this.sectionLink.href = "https://code.visualstudio.com/docs/copilot/chat/mcp-servers";
|
|
391
|
-
this._register(addDisposableListener(this.sectionLink, "click", e => {
|
|
392
|
-
e.preventDefault();
|
|
393
|
-
const href = this.sectionLink.href;
|
|
394
|
-
if (href) {
|
|
395
|
-
this.openerService.open(( URI.parse(href)));
|
|
396
|
-
}
|
|
397
|
-
}));
|
|
398
418
|
const delegate = ( new McpServerItemDelegate());
|
|
399
419
|
const groupHeaderRenderer = ( new CustomizationGroupHeaderRenderer("mcpGroupHeader", this.hoverService));
|
|
400
420
|
const localRenderer = this.instantiationService.createInstance(McpServerItemRenderer);
|
|
@@ -413,17 +433,17 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
413
433
|
getAriaLabel: element => {
|
|
414
434
|
if (element.type === "group-header") {
|
|
415
435
|
return localize(
|
|
416
|
-
|
|
436
|
+
5658,
|
|
417
437
|
"{0}, {1} items, {2}",
|
|
418
438
|
element.label,
|
|
419
439
|
element.count,
|
|
420
|
-
element.collapsed ? ( localize(
|
|
440
|
+
element.collapsed ? ( localize(5659, "collapsed")) : ( localize(5660, "expanded"))
|
|
421
441
|
);
|
|
422
442
|
}
|
|
423
443
|
return element.type === "builtin-item" ? element.label : element.server.label;
|
|
424
444
|
},
|
|
425
445
|
getWidgetAriaLabel() {
|
|
426
|
-
return localize(
|
|
446
|
+
return localize(5661, "MCP Servers");
|
|
427
447
|
}
|
|
428
448
|
},
|
|
429
449
|
openOnSingleClick: true,
|
|
@@ -485,13 +505,13 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
485
505
|
this.disabledLinkListener.clear();
|
|
486
506
|
if (policyLocked) {
|
|
487
507
|
this.disabledMessage.textContent = ( localize(
|
|
488
|
-
|
|
508
|
+
5662,
|
|
489
509
|
"Access to MCP servers is disabled by your organization. Contact your organization administrator for more information."
|
|
490
510
|
));
|
|
491
511
|
} else {
|
|
492
|
-
this.disabledMessage.appendChild(createTextNode(( localize(
|
|
512
|
+
this.disabledMessage.appendChild(createTextNode(( localize(5663, "MCP servers are disabled in settings. "))));
|
|
493
513
|
const link = append(this.disabledMessage, $("a.mcp-disabled-settings-link"));
|
|
494
|
-
link.textContent = ( localize(
|
|
514
|
+
link.textContent = ( localize(5664, "Configure in settings."));
|
|
495
515
|
link.href = "#";
|
|
496
516
|
link.setAttribute("role", "button");
|
|
497
517
|
this.disabledLinkListener.value = addDisposableListener(link, "click", e => {
|
|
@@ -512,7 +532,7 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
512
532
|
this.searchQuery = "";
|
|
513
533
|
this.addButton.element.style.display = browse ? "none" : "";
|
|
514
534
|
this.browseButton.element.parentElement.style.display = browse ? "none" : "";
|
|
515
|
-
this.searchInput.setPlaceHolder(browse ? ( localize(
|
|
535
|
+
this.searchInput.setPlaceHolder(browse ? ( localize(5665, "Search MCP marketplace...")) : ( localize(5653, "Type to search...")));
|
|
516
536
|
if (browse) {
|
|
517
537
|
void this.queryGallery();
|
|
518
538
|
} else {
|
|
@@ -529,7 +549,7 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
529
549
|
const cts = this.galleryCts = ( new CancellationTokenSource());
|
|
530
550
|
this.emptyContainer.style.display = "flex";
|
|
531
551
|
this.listContainer.style.display = "none";
|
|
532
|
-
this.emptyText.textContent = ( localize(
|
|
552
|
+
this.emptyText.textContent = ( localize(5666, "Loading marketplace..."));
|
|
533
553
|
this.emptySubtext.textContent = "";
|
|
534
554
|
try {
|
|
535
555
|
const pager = await this.mcpWorkbenchService.queryGallery({
|
|
@@ -545,8 +565,8 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
545
565
|
this.galleryServers = [];
|
|
546
566
|
this.emptyContainer.style.display = "flex";
|
|
547
567
|
this.listContainer.style.display = "none";
|
|
548
|
-
this.emptyText.textContent = ( localize(
|
|
549
|
-
this.emptySubtext.textContent = ( localize(
|
|
568
|
+
this.emptyText.textContent = ( localize(5667, "Unable to load marketplace"));
|
|
569
|
+
this.emptySubtext.textContent = ( localize(5668, "Check your connection and try again"));
|
|
550
570
|
}
|
|
551
571
|
}
|
|
552
572
|
}
|
|
@@ -555,10 +575,10 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
555
575
|
this.emptyContainer.style.display = "flex";
|
|
556
576
|
this.listContainer.style.display = "none";
|
|
557
577
|
if (this.searchQuery.trim()) {
|
|
558
|
-
this.emptyText.textContent = ( localize(
|
|
559
|
-
this.emptySubtext.textContent = ( localize(
|
|
578
|
+
this.emptyText.textContent = ( localize(5669, "No servers match '{0}'", this.searchQuery));
|
|
579
|
+
this.emptySubtext.textContent = ( localize(5670, "Try a different search term"));
|
|
560
580
|
} else {
|
|
561
|
-
this.emptyText.textContent = ( localize(
|
|
581
|
+
this.emptyText.textContent = ( localize(5671, "No MCP servers available"));
|
|
562
582
|
this.emptySubtext.textContent = "";
|
|
563
583
|
}
|
|
564
584
|
} else {
|
|
@@ -586,11 +606,11 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
586
606
|
this.emptyContainer.style.display = "flex";
|
|
587
607
|
this.listContainer.style.display = "none";
|
|
588
608
|
if (this.searchQuery.trim()) {
|
|
589
|
-
this.emptyText.textContent = ( localize(
|
|
590
|
-
this.emptySubtext.textContent = ( localize(
|
|
609
|
+
this.emptyText.textContent = ( localize(5672, "No servers match '{0}'", this.searchQuery));
|
|
610
|
+
this.emptySubtext.textContent = ( localize(5670, "Try a different search term"));
|
|
591
611
|
} else {
|
|
592
|
-
this.emptyText.textContent = ( localize(
|
|
593
|
-
this.emptySubtext.textContent = ( localize(
|
|
612
|
+
this.emptyText.textContent = ( localize(5673, "No MCP servers configured"));
|
|
613
|
+
this.emptySubtext.textContent = ( localize(5674, "Add an MCP server configuration to get started"));
|
|
594
614
|
}
|
|
595
615
|
} else {
|
|
596
616
|
this.emptyContainer.style.display = "none";
|
|
@@ -598,19 +618,19 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
598
618
|
}
|
|
599
619
|
const groups = [{
|
|
600
620
|
scope: LocalMcpServerScope.Workspace,
|
|
601
|
-
label: ( localize(
|
|
621
|
+
label: ( localize(5675, "Workspace")),
|
|
602
622
|
icon: workspaceIcon,
|
|
603
623
|
description: ( localize(
|
|
604
|
-
|
|
624
|
+
5676,
|
|
605
625
|
"MCP servers configured in your workspace settings, shared with your team via version control."
|
|
606
626
|
)),
|
|
607
627
|
servers: []
|
|
608
628
|
}, {
|
|
609
629
|
scope: LocalMcpServerScope.User,
|
|
610
|
-
label: ( localize(
|
|
630
|
+
label: ( localize(5677, "User")),
|
|
611
631
|
icon: userIcon,
|
|
612
632
|
description: ( localize(
|
|
613
|
-
|
|
633
|
+
5678,
|
|
614
634
|
"MCP servers configured in your user settings. Private to you and available across all projects."
|
|
615
635
|
)),
|
|
616
636
|
servers: []
|
|
@@ -671,11 +691,11 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
671
691
|
type: "group-header",
|
|
672
692
|
id: "mcp-group-plugin",
|
|
673
693
|
scope: "plugin",
|
|
674
|
-
label: ( localize(
|
|
694
|
+
label: ( localize(5679, "Plugins")),
|
|
675
695
|
icon: pluginIcon,
|
|
676
696
|
count: pluginServers.length,
|
|
677
697
|
isFirst,
|
|
678
|
-
description: ( localize(
|
|
698
|
+
description: ( localize(5680, "MCP servers provided by installed plugins.")),
|
|
679
699
|
collapsed
|
|
680
700
|
});
|
|
681
701
|
if (!collapsed) {
|
|
@@ -697,11 +717,11 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
697
717
|
type: "group-header",
|
|
698
718
|
id: "mcp-group-extension",
|
|
699
719
|
scope: "extension",
|
|
700
|
-
label: ( localize(
|
|
720
|
+
label: ( localize(5681, "Extensions")),
|
|
701
721
|
icon: extensionIcon,
|
|
702
722
|
count: extensionServers.length,
|
|
703
723
|
isFirst,
|
|
704
|
-
description: ( localize(
|
|
724
|
+
description: ( localize(5682, "MCP servers contributed by installed VS Code extensions.")),
|
|
705
725
|
collapsed
|
|
706
726
|
});
|
|
707
727
|
if (!collapsed) {
|
|
@@ -723,11 +743,11 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
723
743
|
type: "group-header",
|
|
724
744
|
id: "mcp-group-builtin",
|
|
725
745
|
scope: "builtin",
|
|
726
|
-
label: ( localize(
|
|
746
|
+
label: ( localize(5683, "Built-in")),
|
|
727
747
|
icon: builtinIcon,
|
|
728
748
|
count: otherBuiltinServers.length,
|
|
729
749
|
isFirst,
|
|
730
|
-
description: ( localize(
|
|
750
|
+
description: ( localize(5684, "MCP servers built into VS Code. These are available automatically.")),
|
|
731
751
|
collapsed
|
|
732
752
|
});
|
|
733
753
|
if (!collapsed) {
|
|
@@ -762,9 +782,6 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
762
782
|
}
|
|
763
783
|
this.filterServers();
|
|
764
784
|
}
|
|
765
|
-
prependToSearchRow(element) {
|
|
766
|
-
this.searchAndButtonContainer.insertBefore(element, this.searchAndButtonContainer.firstChild);
|
|
767
|
-
}
|
|
768
785
|
isInBrowseMode() {
|
|
769
786
|
return this.browseMode;
|
|
770
787
|
}
|
|
@@ -789,8 +806,9 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
789
806
|
});
|
|
790
807
|
return;
|
|
791
808
|
}
|
|
792
|
-
const
|
|
793
|
-
|
|
809
|
+
const headerHeight = this.sectionTitleHeader.offsetHeight;
|
|
810
|
+
this.lastHeaderHeight = headerHeight;
|
|
811
|
+
const listHeight = Math.max(0, height - searchBarHeight - headerHeight);
|
|
794
812
|
this.listContainer.style.height = `${listHeight}px`;
|
|
795
813
|
this.list.layout(listHeight, width);
|
|
796
814
|
}
|
|
@@ -824,7 +842,7 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
824
842
|
return;
|
|
825
843
|
}
|
|
826
844
|
const disposables = ( new DisposableStore());
|
|
827
|
-
const showPluginAction = disposables.add(( new Action("mcpServer.showPlugin", ( localize(
|
|
845
|
+
const showPluginAction = disposables.add(( new Action("mcpServer.showPlugin", ( localize(5685, "Show Plugin")), undefined, true, async () => {
|
|
828
846
|
const item = {
|
|
829
847
|
kind: AgentPluginItemKind.Installed,
|
|
830
848
|
name: plugin.label,
|
|
@@ -834,14 +852,14 @@ let McpListWidget = class McpListWidget extends Disposable {
|
|
|
834
852
|
};
|
|
835
853
|
this._onDidRequestShowPlugin.fire(item);
|
|
836
854
|
})));
|
|
837
|
-
const uninstallAction = disposables.add(( new Action("mcpServer.uninstallPlugin", ( localize(
|
|
855
|
+
const uninstallAction = disposables.add(( new Action("mcpServer.uninstallPlugin", ( localize(5686, "Uninstall Plugin")), undefined, true, async () => {
|
|
838
856
|
const result = await this.dialogService.confirm({
|
|
839
|
-
message: ( localize(
|
|
857
|
+
message: ( localize(5687, "This MCP server is provided by the plugin '{0}'", plugin.label)),
|
|
840
858
|
detail: ( localize(
|
|
841
|
-
|
|
859
|
+
5688,
|
|
842
860
|
"Individual MCP servers from a plugin cannot be removed separately. Would you like to uninstall the entire plugin?"
|
|
843
861
|
)),
|
|
844
|
-
primaryButton: ( localize(
|
|
862
|
+
primaryButton: ( localize(5689, "Uninstall Plugin")),
|
|
845
863
|
type: "question"
|
|
846
864
|
});
|
|
847
865
|
if (result.confirmed) {
|
|
@@ -32,8 +32,6 @@
|
|
|
32
32
|
align-items: center;
|
|
33
33
|
gap: 4px;
|
|
34
34
|
padding: 2px 0 6px;
|
|
35
|
-
margin-bottom: 6px;
|
|
36
|
-
border-bottom: 1px solid var(--vscode-sideBarSectionHeader-border, var(--vscode-panel-border, var(--vscode-widget-border, transparent)));
|
|
37
35
|
}
|
|
38
36
|
|
|
39
37
|
.ai-customization-management-editor .sidebar-home-button {
|
|
@@ -253,7 +251,7 @@
|
|
|
253
251
|
align-items: center;
|
|
254
252
|
gap: 8px;
|
|
255
253
|
flex-shrink: 0;
|
|
256
|
-
padding:
|
|
254
|
+
padding: 12px 2px;
|
|
257
255
|
}
|
|
258
256
|
|
|
259
257
|
.ai-customization-list-widget .list-search-container,
|
|
@@ -358,6 +356,8 @@
|
|
|
358
356
|
justify-content: center;
|
|
359
357
|
font-size: 12px;
|
|
360
358
|
opacity: 0.7;
|
|
359
|
+
order: 10;
|
|
360
|
+
margin-left: auto;
|
|
361
361
|
}
|
|
362
362
|
|
|
363
363
|
.ai-customization-group-header .group-icon {
|
|
@@ -365,7 +365,6 @@
|
|
|
365
365
|
}
|
|
366
366
|
|
|
367
367
|
.ai-customization-group-header .group-label-group {
|
|
368
|
-
flex: 1;
|
|
369
368
|
display: flex;
|
|
370
369
|
align-items: center;
|
|
371
370
|
gap: 4px;
|
|
@@ -376,7 +375,6 @@
|
|
|
376
375
|
.ai-customization-group-header .group-label {
|
|
377
376
|
font-weight: 500;
|
|
378
377
|
text-transform: capitalize;
|
|
379
|
-
letter-spacing: 0.04em;
|
|
380
378
|
color: var(--vscode-sideBarSectionHeader-foreground, var(--vscode-foreground));
|
|
381
379
|
overflow: hidden;
|
|
382
380
|
text-overflow: ellipsis;
|
|
@@ -388,7 +386,6 @@
|
|
|
388
386
|
font-size: 10px;
|
|
389
387
|
font-weight: 500;
|
|
390
388
|
color: var(--vscode-descriptionForeground);
|
|
391
|
-
border-radius: 8px;
|
|
392
389
|
min-width: 14px;
|
|
393
390
|
text-align: center;
|
|
394
391
|
line-height: 16px;
|
|
@@ -423,7 +420,7 @@
|
|
|
423
420
|
.ai-customization-list-item {
|
|
424
421
|
display: flex;
|
|
425
422
|
align-items: flex-start;
|
|
426
|
-
padding: 6px 8px 6px
|
|
423
|
+
padding: 6px 8px 6px 30px;
|
|
427
424
|
cursor: pointer;
|
|
428
425
|
border-radius: 4px;
|
|
429
426
|
min-height: 32px;
|
|
@@ -479,7 +476,7 @@
|
|
|
479
476
|
opacity: 0.6;
|
|
480
477
|
}
|
|
481
478
|
|
|
482
|
-
/* Shared inline badge style — used
|
|
479
|
+
/* Shared inline badge style — used by MCP "Bridged" badge and item badges */
|
|
483
480
|
.inline-badge {
|
|
484
481
|
flex-shrink: 0;
|
|
485
482
|
font-size: 10px;
|
|
@@ -510,7 +507,7 @@
|
|
|
510
507
|
margin-right: 4px;
|
|
511
508
|
}
|
|
512
509
|
|
|
513
|
-
/* MCP
|
|
510
|
+
/* MCP bridged badge — shown inline next to the server name */
|
|
514
511
|
.mcp-server-item .mcp-server-name-row {
|
|
515
512
|
display: flex;
|
|
516
513
|
align-items: center;
|
|
@@ -518,14 +515,7 @@
|
|
|
518
515
|
}
|
|
519
516
|
|
|
520
517
|
.ai-customization-list-item .item-type-icon {
|
|
521
|
-
|
|
522
|
-
width: 16px;
|
|
523
|
-
height: 16px;
|
|
524
|
-
display: flex;
|
|
525
|
-
align-items: center;
|
|
526
|
-
justify-content: center;
|
|
527
|
-
opacity: 0.8;
|
|
528
|
-
font-size: 14px;
|
|
518
|
+
display: none;
|
|
529
519
|
}
|
|
530
520
|
|
|
531
521
|
.ai-customization-list-item .item-text {
|
|
@@ -578,7 +568,7 @@
|
|
|
578
568
|
|
|
579
569
|
.ai-customization-list-item:hover .item-right,
|
|
580
570
|
.ai-customization-list-item:focus-within .item-right,
|
|
581
|
-
.monaco-list-row.focused .item-right {
|
|
571
|
+
.monaco-list-row.focused .ai-customization-list-item .item-right {
|
|
582
572
|
opacity: 1;
|
|
583
573
|
}
|
|
584
574
|
|
|
@@ -588,6 +578,74 @@
|
|
|
588
578
|
color: var(--vscode-list-highlightForeground);
|
|
589
579
|
}
|
|
590
580
|
|
|
581
|
+
/* Section title header at top of list widget (shared by all list widgets) */
|
|
582
|
+
.ai-customization-list-widget .section-title-header,
|
|
583
|
+
.mcp-list-widget .section-title-header {
|
|
584
|
+
flex-shrink: 0;
|
|
585
|
+
padding: 4px 4px 32px 4px;
|
|
586
|
+
border-bottom: 1px solid var(--vscode-panel-border);
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
.ai-customization-list-widget .section-title-header .section-title-row,
|
|
590
|
+
.mcp-list-widget .section-title-header .section-title-row {
|
|
591
|
+
display: flex;
|
|
592
|
+
align-items: center;
|
|
593
|
+
gap: 6px;
|
|
594
|
+
margin: 0 0 6px 0;
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
.ai-customization-list-widget .section-title-header .section-title-back-slot,
|
|
598
|
+
.mcp-list-widget .section-title-header .section-title-back-slot {
|
|
599
|
+
display: flex;
|
|
600
|
+
align-items: center;
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
.ai-customization-list-widget .section-title-header .section-title-back-slot:empty,
|
|
604
|
+
.mcp-list-widget .section-title-header .section-title-back-slot:empty {
|
|
605
|
+
display: none;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
.ai-customization-list-widget .section-title-header .section-title,
|
|
609
|
+
.mcp-list-widget .section-title-header .section-title {
|
|
610
|
+
font-size: 22px;
|
|
611
|
+
font-weight: 600;
|
|
612
|
+
line-height: 1.2;
|
|
613
|
+
margin: 0;
|
|
614
|
+
color: var(--vscode-foreground);
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
.ai-customization-list-widget .section-title-header .section-title-description,
|
|
618
|
+
.mcp-list-widget .section-title-header .section-title-description {
|
|
619
|
+
font-size: 13px;
|
|
620
|
+
line-height: 1.45;
|
|
621
|
+
color: var(--vscode-descriptionForeground);
|
|
622
|
+
margin: 0 0 8px 0;
|
|
623
|
+
/* Reserve space for ~2 lines so the header height is stable across sections. */
|
|
624
|
+
/* Rounded up to a whole pixel so naturally-wrapped 2-line descriptions and */
|
|
625
|
+
/* shorter 1-line descriptions render at the same height instead of differing */
|
|
626
|
+
/* by a sub-pixel rounding. */
|
|
627
|
+
min-height: 38px;
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
.ai-customization-list-widget .section-title-header .section-title-link,
|
|
631
|
+
.mcp-list-widget .section-title-header .section-title-link {
|
|
632
|
+
font-size: 13px;
|
|
633
|
+
/* Match the description's line-height so the link's inline-flex line-box */
|
|
634
|
+
/* does not change the total header height between sections. */
|
|
635
|
+
line-height: 1.45;
|
|
636
|
+
color: var(--vscode-textLink-foreground);
|
|
637
|
+
text-decoration: none;
|
|
638
|
+
cursor: pointer;
|
|
639
|
+
display: inline-flex;
|
|
640
|
+
align-items: center;
|
|
641
|
+
gap: 4px;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
.ai-customization-list-widget .section-title-header .section-title-link:hover,
|
|
645
|
+
.mcp-list-widget .section-title-header .section-title-link:hover {
|
|
646
|
+
text-decoration: underline;
|
|
647
|
+
}
|
|
648
|
+
|
|
591
649
|
/* Section footer at bottom of list widget */
|
|
592
650
|
.ai-customization-list-widget .section-footer {
|
|
593
651
|
flex-shrink: 0;
|
|
@@ -850,34 +908,6 @@
|
|
|
850
908
|
overflow: hidden;
|
|
851
909
|
}
|
|
852
910
|
|
|
853
|
-
.mcp-list-widget .section-footer {
|
|
854
|
-
flex-shrink: 0;
|
|
855
|
-
padding: 12px 4px 6px 4px;
|
|
856
|
-
border-top: 1px solid var(--vscode-widget-border);
|
|
857
|
-
}
|
|
858
|
-
|
|
859
|
-
.mcp-list-widget .section-footer .section-footer-description {
|
|
860
|
-
font-size: 13px;
|
|
861
|
-
color: var(--vscode-descriptionForeground);
|
|
862
|
-
line-height: 1.5;
|
|
863
|
-
margin: 0 0 8px 0;
|
|
864
|
-
}
|
|
865
|
-
|
|
866
|
-
.mcp-list-widget .section-footer .section-footer-link {
|
|
867
|
-
font-size: 13px;
|
|
868
|
-
color: var(--vscode-textLink-foreground);
|
|
869
|
-
text-decoration: none;
|
|
870
|
-
cursor: pointer;
|
|
871
|
-
display: inline-flex;
|
|
872
|
-
align-items: center;
|
|
873
|
-
gap: 4px;
|
|
874
|
-
}
|
|
875
|
-
|
|
876
|
-
.mcp-list-widget .section-footer .section-footer-link:hover {
|
|
877
|
-
text-decoration: underline;
|
|
878
|
-
color: var(--vscode-textLink-activeForeground);
|
|
879
|
-
}
|
|
880
|
-
|
|
881
911
|
.mcp-list-widget .mcp-list-container {
|
|
882
912
|
flex: 1;
|
|
883
913
|
min-height: 0;
|
|
@@ -990,7 +1020,7 @@
|
|
|
990
1020
|
.mcp-server-item {
|
|
991
1021
|
display: flex;
|
|
992
1022
|
align-items: center;
|
|
993
|
-
padding: 6px 8px;
|
|
1023
|
+
padding: 6px 8px 6px 30px;
|
|
994
1024
|
cursor: pointer;
|
|
995
1025
|
border-radius: 4px;
|
|
996
1026
|
min-height: 32px;
|
|
@@ -1007,13 +1037,7 @@
|
|
|
1007
1037
|
}
|
|
1008
1038
|
|
|
1009
1039
|
.mcp-server-item .mcp-server-icon {
|
|
1010
|
-
|
|
1011
|
-
width: 24px;
|
|
1012
|
-
height: 24px;
|
|
1013
|
-
display: flex;
|
|
1014
|
-
align-items: center;
|
|
1015
|
-
justify-content: center;
|
|
1016
|
-
opacity: 0.8;
|
|
1040
|
+
display: none;
|
|
1017
1041
|
}
|
|
1018
1042
|
|
|
1019
1043
|
.mcp-server-item .mcp-server-details {
|
|
@@ -1083,8 +1107,10 @@
|
|
|
1083
1107
|
display: flex;
|
|
1084
1108
|
gap: 4px;
|
|
1085
1109
|
flex-shrink: 0;
|
|
1086
|
-
/*
|
|
1087
|
-
|
|
1110
|
+
/* Horizontal-only padding so focused button outlines do not clip against */
|
|
1111
|
+
/* the widget's overflow:hidden. Vertical padding is omitted so the button */
|
|
1112
|
+
/* group does not make the search row taller than on other sections. */
|
|
1113
|
+
padding: 0 1px;
|
|
1088
1114
|
}
|
|
1089
1115
|
|
|
1090
1116
|
.mcp-list-widget .list-button-group .monaco-button:focus-visible {
|