@codingame/monaco-vscode-chat-service-override 34.1.3 → 35.0.1
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 +38 -0
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/browser/agentHost.config.contribution.js +40 -0
- package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.d.ts +27 -0
- package/vscode/src/vs/platform/agentHost/browser/agentHostConnectionsService.js +91 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +20 -4
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +148 -15
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +9 -1
- package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +57 -3
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +10 -14
- package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +29 -8
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +109 -2
- package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +207 -21
- package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +362 -37
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +698 -91
- package/vscode/src/vs/platform/agentHost/common/agentService.js +46 -3
- package/vscode/src/vs/platform/agentHost/common/customAgents.js +1 -0
- package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.d.ts +1 -0
- package/vscode/src/vs/platform/agentHost/common/resourceReadLogging.js +26 -0
- package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +5 -5
- package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +17 -17
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +96 -12
- package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +226 -19
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.d.ts +18 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-annotations/reducer.js +89 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +10 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.d.ts +6 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.js +400 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.js +129 -446
- package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +2 -2
- 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 +35 -25
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +7 -1
- package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.d.ts +4 -0
- package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +1 -1
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +1 -0
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +0 -6
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +5 -18
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +52 -3
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +212 -34
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +3 -4
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +11 -10
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +13 -6
- package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +6 -1
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoice.contribution.js +399 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceSessionsPicker.js +85 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.d.ts +177 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidget.js +898 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWidgetBinding.js +204 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.d.ts +61 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/agentsVoiceWindowService.js +338 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/confirmationComponent.js +57 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/feedbackDialog.js +98 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/headerComponent.js +149 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/onboardingComponent.js +116 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/sessionListComponent.js +226 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/statusRowsComponent.js +138 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/tokens.js +25 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/transcriptComponent.js +108 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/components/voiceBarComponent.js +63 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscripts.contribution.js +178 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/browser/transcriptsView/voiceTranscriptsView.js +322 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoice.js +15 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/agentsVoiceColors.js +26 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.d.ts +132 -0
- package/vscode/src/vs/workbench/contrib/agentsVoice/common/voiceTranscriptStore.js +237 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +32 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +71 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +15 -15
- 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 +19 -24
- 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 +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +14 -5
- 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 +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +66 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +128 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +10 -10
- 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.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +58 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +15 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +64 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +45 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +25 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +143 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +7 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostNewSessionFolderService.js +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolSetEnablementService.js +163 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +26 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +106 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +16 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +44 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -59
- 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.js +22 -22
- 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/localAgentDisabledInputTipContribution.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentDisabledInputTipContribution.js +152 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +11 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +9 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +143 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +107 -126
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +46 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +19 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +244 -190
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +13 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +47 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +4 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.d.ts +87 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/automationsListWidget.js +772 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +24 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +1 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedExtensionToolsDetail.js +130 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.d.ts +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/galleryItemRenderer.js +94 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +421 -201
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +1424 -97
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +107 -127
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +331 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.d.ts +120 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/toolsListWidget.js +898 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +581 -336
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.d.ts +123 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/agentHostChatDebugProvider.js +567 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +168 -84
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +183 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +897 -251
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.d.ts +213 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheInsights.js +720 -0
- 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/chatDebug/media/chatDebug.css +354 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +9 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.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 +11 -4
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.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.d.ts +9 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +55 -8
- 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/chatModelsWidget.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +192 -87
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +37 -3
- 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 +40 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +230 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseFileChangesService.js +29 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -25
- 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 +35 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +26 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +56 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +109 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +38 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +175 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -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 +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/languageModelsConfigurationService.js +1 -1
- 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 +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +32 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +183 -84
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +20 -9
- 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/promptToolSetsCodeLensProvider.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolSetsCodeLensProvider.js +109 -0
- 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/clientToolSetsContribution.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/clientToolSetsContribution.js +117 -0
- 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 +40 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +169 -34
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.d.ts +125 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/micCaptureService.js +399 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/ttsPlaybackService.js +198 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.d.ts +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceClientService.js +504 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.d.ts +321 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceSessionController.js +2117 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.d.ts +57 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/voiceClient/voiceToolDispatchService.js +367 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +16 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +68 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +11 -10
- 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.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +13 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +23 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +320 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +80 -4
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automation.d.ts +78 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationDialogService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationRunner.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.d.ts +46 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/automationsEnabled.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/common/automations/schedule.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +7 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +226 -88
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +8 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +13 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +12 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginEnablement.js +177 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +2 -18
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +78 -136
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +1 -16
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +1 -17
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +16 -5
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/strictKnownMarketplaces.js +122 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +24 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +113 -10
- 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.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +227 -152
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voicePlaybackService.js +98 -0
- package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +7 -6
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +11 -12
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +7 -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 +32 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +23 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +37 -30
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +7 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/largeOutputFileWriter.js +71 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +29 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +7 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +10 -8
- 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.js +4 -4
- 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/monitoring/outputMonitor.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +26 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +416 -252
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +10 -10
- 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.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +2 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +5 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +25 -8
- package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +8 -3
- package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +0 -77
- package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +0 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +0 -82
- package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +0 -38
- package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +0 -47
- /package/vscode/src/vs/{workbench/contrib → platform}/browserView/common/browserChatToolReferenceNames.js +0 -0
|
@@ -5,6 +5,7 @@ import * as aiCustomizationManagement from './media/aiCustomizationManagement.cs
|
|
|
5
5
|
import { $ as $$1, append, getWindow, addDisposableListener, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
6
6
|
import { status } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
|
|
7
7
|
import { RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
8
|
+
import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
8
9
|
import { VSBuffer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
|
|
9
10
|
import { onUnexpectedError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
10
11
|
import { DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
@@ -34,8 +35,12 @@ import { ITEMS_MODEL_SECTIONS } from './aiCustomizationItemsModel.js';
|
|
|
34
35
|
import { IAICustomizationItemsModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.service';
|
|
35
36
|
import { McpListWidget } from './mcpListWidget.js';
|
|
36
37
|
import { PluginListWidget } from './pluginListWidget.js';
|
|
38
|
+
import { ToolsListWidget } from './toolsListWidget.js';
|
|
39
|
+
import { AGENT_HOST_COPILOT_CLI_SESSION_TYPE } from '../agentSessions/agentHost/agentHostToolSetEnablementService.js';
|
|
40
|
+
import { AutomationsListWidget } from './automationsListWidget.js';
|
|
37
41
|
import { AI_CUSTOMIZATION_MANAGEMENT_EDITOR_ID, CONTEXT_AI_CUSTOMIZATION_MANAGEMENT_EDITOR, CONTEXT_AI_CUSTOMIZATION_MANAGEMENT_SECTION, CONTEXT_AI_CUSTOMIZATION_MANAGEMENT_HARNESS, AI_CUSTOMIZATION_MANAGEMENT_SELECTED_SECTION_KEY, AI_CUSTOMIZATION_MANAGEMENT_SIDEBAR_WIDTH_KEY, SIDEBAR_DEFAULT_WIDTH, SIDEBAR_MAX_WIDTH, SIDEBAR_MIN_WIDTH, CONTENT_MIN_WIDTH } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement';
|
|
38
|
-
import { pluginIcon, hookIcon, promptIcon, instructionsIcon, skillIcon, agentIcon } from './aiCustomizationIcons.js';
|
|
42
|
+
import { toolsIcon, pluginIcon, automationIcon, hookIcon, promptIcon, instructionsIcon, skillIcon, agentIcon } from './aiCustomizationIcons.js';
|
|
43
|
+
import { CHAT_AUTOMATIONS_ENABLED_SETTING } from '../../common/automations/automationsEnabled.js';
|
|
39
44
|
import { ChatModelsWidget } from '../chatManagement/chatModelsWidget.js';
|
|
40
45
|
import { PromptsType, Target } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
41
46
|
import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
@@ -60,16 +65,17 @@ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/fi
|
|
|
60
65
|
import { IMarkdownRendererService } from '@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service';
|
|
61
66
|
import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
|
|
62
67
|
import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
63
|
-
import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
|
|
64
|
-
import { Action } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
|
|
65
68
|
import { getDefaultHoverDelegate } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverDelegateFactory';
|
|
66
69
|
import { EmbeddedMcpServerDetail } from './embeddedMcpServerDetail.js';
|
|
67
70
|
import { EmbeddedAgentPluginDetail } from './embeddedAgentPluginDetail.js';
|
|
68
|
-
import {
|
|
71
|
+
import { EmbeddedExtensionToolsDetail } from './embeddedExtensionToolsDetail.js';
|
|
69
72
|
import { ICustomizationHarnessService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService.service';
|
|
70
73
|
import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
71
74
|
import { AICustomizationWelcomePage } from './aiCustomizationWelcomePage.js';
|
|
72
75
|
import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
|
|
76
|
+
import { ResourceSet } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
|
|
77
|
+
import { PromptsServiceCustomizationItemProvider } from './promptsServiceCustomizationItemProvider.js';
|
|
78
|
+
import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
|
|
73
79
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
74
80
|
import { Orientation } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/sash/sash';
|
|
75
81
|
|
|
@@ -150,11 +156,11 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
150
156
|
markdownRendererService,
|
|
151
157
|
modelService,
|
|
152
158
|
quickInputService,
|
|
153
|
-
contextMenuService,
|
|
154
159
|
fileService,
|
|
155
160
|
notificationService,
|
|
156
161
|
harnessService,
|
|
157
162
|
viewsService,
|
|
163
|
+
labelService,
|
|
158
164
|
itemsModel
|
|
159
165
|
) {
|
|
160
166
|
super(
|
|
@@ -177,11 +183,11 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
177
183
|
this.markdownRendererService = markdownRendererService;
|
|
178
184
|
this.modelService = modelService;
|
|
179
185
|
this.quickInputService = quickInputService;
|
|
180
|
-
this.contextMenuService = contextMenuService;
|
|
181
186
|
this.fileService = fileService;
|
|
182
187
|
this.notificationService = notificationService;
|
|
183
188
|
this.harnessService = harnessService;
|
|
184
189
|
this.viewsService = viewsService;
|
|
190
|
+
this.labelService = labelService;
|
|
185
191
|
this.itemsModel = itemsModel;
|
|
186
192
|
this.editorActionButtonInProgress = false;
|
|
187
193
|
this.editorDisplayMode = "preview";
|
|
@@ -197,6 +203,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
197
203
|
this.viewMode = "list";
|
|
198
204
|
this.mcpDetailDisposables = this._register(( new DisposableStore()));
|
|
199
205
|
this.pluginDetailDisposables = this._register(( new DisposableStore()));
|
|
206
|
+
this.toolsDetailDisposables = this._register(( new DisposableStore()));
|
|
200
207
|
this.sections = [];
|
|
201
208
|
this.allSections = [];
|
|
202
209
|
this.editorDisposables = this._register(( new DisposableStore()));
|
|
@@ -204,6 +211,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
204
211
|
this.inEditorContextKey = CONTEXT_AI_CUSTOMIZATION_MANAGEMENT_EDITOR.bindTo(contextKeyService);
|
|
205
212
|
this.sectionContextKey = CONTEXT_AI_CUSTOMIZATION_MANAGEMENT_SECTION.bindTo(contextKeyService);
|
|
206
213
|
this.harnessContextKey = CONTEXT_AI_CUSTOMIZATION_MANAGEMENT_HARNESS.bindTo(contextKeyService);
|
|
214
|
+
this.updateHarnessLabelPresentation();
|
|
207
215
|
this._register(autorun(reader => {
|
|
208
216
|
this.workspaceService.activeProjectRoot.read(reader);
|
|
209
217
|
if (this.viewMode === "editor") {
|
|
@@ -217,62 +225,75 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
217
225
|
this._register(toDisposable(() => this.disposeBuiltinEditingSessions()));
|
|
218
226
|
const sectionInfo = {
|
|
219
227
|
[AICustomizationManagementSection.Agents]: {
|
|
220
|
-
label: ( localize(
|
|
228
|
+
label: ( localize(5858, "Agents")),
|
|
221
229
|
icon: agentIcon,
|
|
222
230
|
description: ( localize(
|
|
223
|
-
|
|
231
|
+
5859,
|
|
224
232
|
"Define custom agents with specialized personas, tool access, and instructions for specific tasks."
|
|
225
233
|
))
|
|
226
234
|
},
|
|
227
235
|
[AICustomizationManagementSection.Skills]: {
|
|
228
|
-
label: ( localize(
|
|
236
|
+
label: ( localize(5860, "Skills")),
|
|
229
237
|
icon: skillIcon,
|
|
230
238
|
description: ( localize(
|
|
231
|
-
|
|
239
|
+
5861,
|
|
232
240
|
"Create reusable skill files that provide domain-specific knowledge and workflows."
|
|
233
241
|
))
|
|
234
242
|
},
|
|
235
243
|
[AICustomizationManagementSection.Instructions]: {
|
|
236
|
-
label: ( localize(
|
|
244
|
+
label: ( localize(5862, "Instructions")),
|
|
237
245
|
icon: instructionsIcon,
|
|
238
246
|
description: ( localize(
|
|
239
|
-
|
|
247
|
+
5863,
|
|
240
248
|
"Set always-on instructions that guide AI behavior across your workspace or user profile."
|
|
241
249
|
))
|
|
242
250
|
},
|
|
243
251
|
[AICustomizationManagementSection.Prompts]: {
|
|
244
|
-
label: ( localize(
|
|
252
|
+
label: ( localize(5864, "Prompts")),
|
|
245
253
|
icon: promptIcon,
|
|
246
|
-
description: ( localize(
|
|
254
|
+
description: ( localize(5865, "Reusable prompt templates that can be invoked as slash commands."))
|
|
247
255
|
},
|
|
248
256
|
[AICustomizationManagementSection.Hooks]: {
|
|
249
|
-
label: ( localize(
|
|
257
|
+
label: ( localize(5866, "Hooks")),
|
|
250
258
|
icon: hookIcon,
|
|
251
259
|
description: ( localize(
|
|
252
|
-
|
|
260
|
+
5867,
|
|
253
261
|
"Configure automated actions triggered by events like saving files or running tasks."
|
|
254
262
|
))
|
|
255
263
|
},
|
|
264
|
+
[AICustomizationManagementSection.Automations]: {
|
|
265
|
+
label: ( localize(5868, "Automations")),
|
|
266
|
+
icon: automationIcon,
|
|
267
|
+
description: ( localize(5869, "Schedule agent sessions to run on a cadence you choose."))
|
|
268
|
+
},
|
|
256
269
|
[AICustomizationManagementSection.McpServers]: {
|
|
257
|
-
label: ( localize(
|
|
270
|
+
label: ( localize(5870, "MCP Servers")),
|
|
258
271
|
icon: Codicon.server,
|
|
259
272
|
description: ( localize(
|
|
260
|
-
|
|
273
|
+
5871,
|
|
261
274
|
"Connect external tool servers that extend AI capabilities with custom tools and data sources."
|
|
262
275
|
))
|
|
263
276
|
},
|
|
264
277
|
[AICustomizationManagementSection.Plugins]: {
|
|
265
|
-
label: ( localize(
|
|
278
|
+
label: ( localize(5872, "Plugins")),
|
|
266
279
|
icon: pluginIcon,
|
|
267
280
|
description: ( localize(
|
|
268
|
-
|
|
281
|
+
5873,
|
|
269
282
|
"Install and manage agent plugins that add additional tools, skills, and integrations."
|
|
270
283
|
))
|
|
271
284
|
},
|
|
272
285
|
[AICustomizationManagementSection.Models]: {
|
|
273
|
-
label: ( localize(
|
|
286
|
+
label: ( localize(5874, "Models")),
|
|
274
287
|
icon: Codicon.vm,
|
|
275
|
-
description: ( localize(
|
|
288
|
+
description: ( localize(5875, "Configure and manage language models available for use."))
|
|
289
|
+
},
|
|
290
|
+
[AICustomizationManagementSection.Tools]: {
|
|
291
|
+
label: ( localize(5876, "Tools")),
|
|
292
|
+
icon: toolsIcon,
|
|
293
|
+
description: ( localize(
|
|
294
|
+
5877,
|
|
295
|
+
"Enable or disable groups of language model tools available to chat."
|
|
296
|
+
))
|
|
276
297
|
}
|
|
277
298
|
};
|
|
278
299
|
for (const id of this.workspaceService.managementSections) {
|
|
@@ -338,6 +359,8 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
338
359
|
this.listWidget.layout(height - 16, width - 24);
|
|
339
360
|
this.mcpListWidget?.layout(height - 16, width - 24);
|
|
340
361
|
this.pluginListWidget?.layout(height - 16, width - 24);
|
|
362
|
+
this.toolsListWidget?.layout(height - 16, width - 24);
|
|
363
|
+
this.automationsListWidget?.layout(height - 16, width - 24);
|
|
341
364
|
const modelsFooterHeight = this.modelsFooterElement?.offsetHeight || 80;
|
|
342
365
|
this.modelsWidget?.layout(height - 16 - modelsFooterHeight, width);
|
|
343
366
|
if (this.viewMode === "editor" && this.embeddedEditor && this.embeddedEditorContainer) {
|
|
@@ -385,13 +408,21 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
385
408
|
this.splitView.resizeView(1, totalWidth - SIDEBAR_DEFAULT_WIDTH);
|
|
386
409
|
}));
|
|
387
410
|
}
|
|
388
|
-
|
|
389
|
-
return
|
|
411
|
+
getActiveHarnessLabel() {
|
|
412
|
+
return this.harnessService.getActiveDescriptor().label || ( localize(5878, "Local"));
|
|
413
|
+
}
|
|
414
|
+
updateHarnessLabelPresentation() {
|
|
415
|
+
const harnessLabel = this.getActiveHarnessLabel();
|
|
416
|
+
AICustomizationManagementEditorInput.getOrCreate().setHarnessLabel(harnessLabel);
|
|
417
|
+
this.welcomePage?.setHarnessLabel(harnessLabel);
|
|
390
418
|
}
|
|
391
419
|
rebuildVisibleSections() {
|
|
392
420
|
const activeId = this.harnessService.activeHarness.get();
|
|
393
421
|
const descriptor = this.harnessService.findHarnessById(activeId);
|
|
394
422
|
const hidden = ( new Set(descriptor?.hiddenSections ?? []));
|
|
423
|
+
if (this.configurationService.getValue(CHAT_AUTOMATIONS_ENABLED_SETTING) !== true) {
|
|
424
|
+
hidden.add(AICustomizationManagementSection.Automations);
|
|
425
|
+
}
|
|
395
426
|
this.sections.length = 0;
|
|
396
427
|
for (const s of this.allSections) {
|
|
397
428
|
if (!( hidden.has(s.id))) {
|
|
@@ -423,8 +454,8 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
423
454
|
setRowLineHeight: false,
|
|
424
455
|
horizontalScrolling: false,
|
|
425
456
|
accessibilityProvider: {
|
|
426
|
-
getAriaLabel: item => item.count > 0 ? ( localize(
|
|
427
|
-
getWidgetAriaLabel: () => ( localize(
|
|
457
|
+
getAriaLabel: item => item.count > 0 ? ( localize(5879, "{0}, {1} items", item.label, item.count)) : item.label,
|
|
458
|
+
getWidgetAriaLabel: () => ( localize(5880, "Agent Customization Sections"))
|
|
428
459
|
},
|
|
429
460
|
openOnSingleClick: true,
|
|
430
461
|
identityProvider: {
|
|
@@ -449,8 +480,6 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
449
480
|
this.harnessContextKey.set(activeId);
|
|
450
481
|
this.updateHomeButtonHarnessPresentation();
|
|
451
482
|
this.rebuildVisibleSections();
|
|
452
|
-
this.ensureHarnessDropdown();
|
|
453
|
-
this.updateHarnessDropdown();
|
|
454
483
|
if (this._previousActiveHarnessId !== undefined && this._previousActiveHarnessId !== activeId) {
|
|
455
484
|
for (const section of this.sections) {
|
|
456
485
|
this.updateSectionCount(section.id, 0);
|
|
@@ -462,125 +491,47 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
462
491
|
if (e.affectsConfiguration(ChatConfiguration.ChatCustomizationsStructuredPreviewEnabled)) {
|
|
463
492
|
this.onStructuredPreviewSettingChanged();
|
|
464
493
|
}
|
|
494
|
+
if (e.affectsConfiguration(CHAT_AUTOMATIONS_ENABLED_SETTING)) {
|
|
495
|
+
this.rebuildVisibleSections();
|
|
496
|
+
}
|
|
465
497
|
}));
|
|
466
498
|
}
|
|
467
499
|
createSidebarHeader(sidebarContent) {
|
|
468
500
|
const headerRow = this.sidebarHeaderContainer = append(sidebarContent, $(".sidebar-header-row"));
|
|
469
501
|
const homeButton = this.homeButton = append(headerRow, $("button.sidebar-home-button"));
|
|
470
502
|
homeButton.classList.add("sidebar-harness-home-button");
|
|
471
|
-
homeButton.setAttribute("aria-label", ( localize(
|
|
503
|
+
homeButton.setAttribute("aria-label", ( localize(5881, "Overview")));
|
|
472
504
|
this.editorDisposables.add(
|
|
473
|
-
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), homeButton, ( localize(
|
|
505
|
+
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), homeButton, ( localize(5882, "Back to overview")))
|
|
474
506
|
);
|
|
475
507
|
const homeIcon = this.homeButtonIcon = append(homeButton, $("span.sidebar-home-icon"));
|
|
476
508
|
homeIcon.classList.add(...ThemeIcon.asClassNameArray(Codicon.home));
|
|
477
509
|
homeIcon.setAttribute("aria-hidden", "true");
|
|
478
510
|
const homeLabel = this.homeButtonLabel = append(homeButton, $("span.sidebar-home-label"));
|
|
479
|
-
homeLabel.textContent = ( localize(
|
|
511
|
+
homeLabel.textContent = ( localize(5883, "Overview"));
|
|
480
512
|
this.editorDisposables.add(addDisposableListener(homeButton, "click", () => {
|
|
481
513
|
this.showWelcomePage();
|
|
482
514
|
}));
|
|
483
515
|
this.updateHomeButtonHarnessPresentation();
|
|
484
516
|
this.updateHomeButtonStyle();
|
|
485
517
|
}
|
|
486
|
-
createHarnessDropdown(parent) {
|
|
487
|
-
if (!this.isHarnessSelectorEnabled) {
|
|
488
|
-
return;
|
|
489
|
-
}
|
|
490
|
-
const container = this.harnessDropdownContainer = append(parent, $(".sidebar-harness-dropdown"));
|
|
491
|
-
this.harnessDropdownButton = append(container, $("button.harness-dropdown-button"));
|
|
492
|
-
this.harnessDropdownButton.setAttribute("aria-label", ( localize(5637, "Select customization target")));
|
|
493
|
-
this.harnessDropdownButton.setAttribute("aria-haspopup", "listbox");
|
|
494
|
-
this.editorDisposables.add(
|
|
495
|
-
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), this.harnessDropdownButton, () => {
|
|
496
|
-
const descriptor = this.harnessService.findHarnessById(this.harnessService.activeHarness.get());
|
|
497
|
-
return descriptor?.label ?? "";
|
|
498
|
-
})
|
|
499
|
-
);
|
|
500
|
-
this.harnessDropdownIcon = append(this.harnessDropdownButton, $("span.harness-dropdown-icon"));
|
|
501
|
-
this.harnessDropdownLabel = append(this.harnessDropdownButton, $("span.harness-dropdown-label"));
|
|
502
|
-
append(
|
|
503
|
-
this.harnessDropdownButton,
|
|
504
|
-
$("span.harness-dropdown-chevron.codicon.codicon-chevron-down")
|
|
505
|
-
);
|
|
506
|
-
this.updateHarnessDropdown();
|
|
507
|
-
this.editorDisposables.add(addDisposableListener(this.harnessDropdownButton, "click", () => {
|
|
508
|
-
this.showHarnessMenu();
|
|
509
|
-
}));
|
|
510
|
-
}
|
|
511
|
-
ensureHarnessDropdown() {
|
|
512
|
-
if (!this.isHarnessSelectorEnabled && this.harnessDropdownContainer) {
|
|
513
|
-
this.harnessDropdownContainer.remove();
|
|
514
|
-
this.harnessDropdownContainer = undefined;
|
|
515
|
-
this.harnessDropdownButton = undefined;
|
|
516
|
-
this.harnessDropdownIcon = undefined;
|
|
517
|
-
this.harnessDropdownLabel = undefined;
|
|
518
|
-
this.updateHomeButtonStyle();
|
|
519
|
-
} else if (this.isHarnessSelectorEnabled && !this.harnessDropdownContainer && this.sidebarHeaderContainer) {
|
|
520
|
-
this.createHarnessDropdown(this.sidebarHeaderContainer);
|
|
521
|
-
this.updateHomeButtonStyle();
|
|
522
|
-
}
|
|
523
|
-
}
|
|
524
518
|
updateHomeButtonStyle() {
|
|
525
519
|
if (!this.homeButtonLabel || !this.homeButton) {
|
|
526
520
|
return;
|
|
527
521
|
}
|
|
528
|
-
|
|
529
|
-
this.
|
|
530
|
-
this.homeButton.style.flex = harnessVisible ? "" : "1";
|
|
522
|
+
this.homeButtonLabel.style.display = "";
|
|
523
|
+
this.homeButton.style.flex = "1";
|
|
531
524
|
}
|
|
532
525
|
updateHomeButtonHarnessPresentation() {
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
}
|
|
536
|
-
const descriptor = this.harnessService.getActiveDescriptor();
|
|
537
|
-
if (!descriptor) {
|
|
538
|
-
this.homeButtonIcon.className = "sidebar-home-icon";
|
|
539
|
-
this.homeButtonIcon.classList.add(...ThemeIcon.asClassNameArray(Codicon.home));
|
|
540
|
-
this.homeButtonLabel.textContent = ( localize(5636, "Overview"));
|
|
541
|
-
this.homeButton.setAttribute("aria-label", ( localize(5634, "Overview")));
|
|
542
|
-
this.homeButton.title = ( localize(5635, "Back to overview"));
|
|
526
|
+
this.updateHarnessLabelPresentation();
|
|
527
|
+
if (!this.homeButton || !this.homeButtonIcon || !this.homeButtonLabel) {
|
|
543
528
|
return;
|
|
544
529
|
}
|
|
545
530
|
this.homeButtonIcon.className = "sidebar-home-icon";
|
|
546
|
-
this.homeButtonIcon.classList.add(...ThemeIcon.asClassNameArray(
|
|
547
|
-
this.homeButtonLabel.textContent =
|
|
548
|
-
this.homeButton.setAttribute("aria-label", ( localize(
|
|
549
|
-
this.homeButton.title = ( localize(
|
|
550
|
-
}
|
|
551
|
-
updateHarnessDropdown() {
|
|
552
|
-
if (!this.harnessDropdownContainer || !this.harnessDropdownIcon || !this.harnessDropdownLabel) {
|
|
553
|
-
return;
|
|
554
|
-
}
|
|
555
|
-
const harnesses = this.harnessService.availableHarnesses.get();
|
|
556
|
-
this.harnessDropdownContainer.style.display = harnesses.length <= 1 ? "none" : "";
|
|
557
|
-
this.updateHomeButtonStyle();
|
|
558
|
-
const activeId = this.harnessService.activeHarness.get();
|
|
559
|
-
const descriptor = harnesses.find(h => h.id === activeId);
|
|
560
|
-
if (descriptor) {
|
|
561
|
-
this.harnessDropdownIcon.className = "harness-dropdown-icon";
|
|
562
|
-
this.harnessDropdownIcon.classList.add(...ThemeIcon.asClassNameArray(descriptor.icon));
|
|
563
|
-
this.harnessDropdownLabel.textContent = descriptor.label;
|
|
564
|
-
}
|
|
565
|
-
}
|
|
566
|
-
showHarnessMenu() {
|
|
567
|
-
if (!this.harnessDropdownButton) {
|
|
568
|
-
return;
|
|
569
|
-
}
|
|
570
|
-
const harnesses = this.harnessService.availableHarnesses.get();
|
|
571
|
-
const activeId = this.harnessService.activeHarness.get();
|
|
572
|
-
const actions = ( harnesses.map(h => {
|
|
573
|
-
const action = ( new Action(h.id, h.label, ThemeIcon.asClassName(h.icon), true, () => {
|
|
574
|
-
this.harnessService.setActiveSession(this.harnessService.getSessionResourceForHarness(h.id));
|
|
575
|
-
}));
|
|
576
|
-
action.checked = h.id === activeId;
|
|
577
|
-
return action;
|
|
578
|
-
}));
|
|
579
|
-
this.contextMenuService.showContextMenu({
|
|
580
|
-
getAnchor: () => this.harnessDropdownButton,
|
|
581
|
-
getActions: () => actions,
|
|
582
|
-
getCheckedActionsRepresentation: () => "radio"
|
|
583
|
-
});
|
|
531
|
+
this.homeButtonIcon.classList.add(...ThemeIcon.asClassNameArray(Codicon.home));
|
|
532
|
+
this.homeButtonLabel.textContent = ( localize(5883, "Overview"));
|
|
533
|
+
this.homeButton.setAttribute("aria-label", ( localize(5881, "Overview")));
|
|
534
|
+
this.homeButton.title = ( localize(5882, "Back to overview"));
|
|
584
535
|
}
|
|
585
536
|
createWelcomePage(parent) {
|
|
586
537
|
this.welcomePage = this.editorDisposables.add(( new AICustomizationWelcomePage(parent, this.workspaceService.welcomePageFeatures, {
|
|
@@ -620,15 +571,15 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
620
571
|
onUnexpectedError(err);
|
|
621
572
|
}
|
|
622
573
|
}
|
|
623
|
-
}, this.commandService, this.workspaceService, this.hoverService)));
|
|
574
|
+
}, this.commandService, this.workspaceService, this.hoverService, this.getActiveHarnessLabel())));
|
|
624
575
|
this.welcomePage.rebuildCards(( new Set(( this.sections.map(s => s.id)))));
|
|
625
576
|
}
|
|
626
577
|
createBackArrowButton(onClick) {
|
|
627
578
|
const button = $("button.section-back-arrow-button");
|
|
628
579
|
button.type = "button";
|
|
629
|
-
button.setAttribute("aria-label", ( localize(
|
|
580
|
+
button.setAttribute("aria-label", ( localize(5884, "Back to overview")));
|
|
630
581
|
this.editorDisposables.add(
|
|
631
|
-
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), button, ( localize(
|
|
582
|
+
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), button, ( localize(5885, "Back to overview")))
|
|
632
583
|
);
|
|
633
584
|
const icon = append(button, $("span.section-back-arrow-icon"));
|
|
634
585
|
icon.classList.add(...ThemeIcon.asClassNameArray(Codicon.arrowLeft));
|
|
@@ -688,12 +639,12 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
688
639
|
this.modelsFooterElement = append(this.modelsContentContainer, $(".section-footer"));
|
|
689
640
|
const modelsDescription = append(this.modelsFooterElement, $("p.section-footer-description"));
|
|
690
641
|
modelsDescription.textContent = ( localize(
|
|
691
|
-
|
|
642
|
+
5886,
|
|
692
643
|
"Browse and manage language models from different providers. Select models for use in chat, code completion, and other AI features."
|
|
693
644
|
));
|
|
694
645
|
const modelsLink = append(this.modelsFooterElement, $("a.section-footer-link"));
|
|
695
|
-
modelsLink.textContent = ( localize(
|
|
696
|
-
modelsLink.href = "https://code.visualstudio.com/docs/
|
|
646
|
+
modelsLink.textContent = ( localize(5887, "Learn more about language models"));
|
|
647
|
+
modelsLink.href = "https://code.visualstudio.com/docs/agent-customization/language-models?referrer=in-product";
|
|
697
648
|
this.editorDisposables.add(addDisposableListener(modelsLink, "click", e => {
|
|
698
649
|
e.preventDefault();
|
|
699
650
|
this.openerService.open(( URI.parse(modelsLink.href)));
|
|
@@ -723,6 +674,23 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
723
674
|
this.showEmbeddedPluginDetail(item);
|
|
724
675
|
}));
|
|
725
676
|
}
|
|
677
|
+
if (( hasSections.has(AICustomizationManagementSection.Tools))) {
|
|
678
|
+
this.toolsContentContainer = append(contentInner, $(".tools-content-container"));
|
|
679
|
+
this.toolsListWidget = this.editorDisposables.add(
|
|
680
|
+
this.instantiationService.createInstance(ToolsListWidget, AGENT_HOST_COPILOT_CLI_SESSION_TYPE)
|
|
681
|
+
);
|
|
682
|
+
this.toolsContentContainer.appendChild(this.toolsListWidget.element);
|
|
683
|
+
this.toolsDetailContainer = append(contentInner, $(".tools-detail-container"));
|
|
684
|
+
this.createEmbeddedToolDetail();
|
|
685
|
+
this.editorDisposables.add(this.toolsListWidget.onDidSelectExtension(extension => {
|
|
686
|
+
this.showEmbeddedToolDetail(extension);
|
|
687
|
+
}));
|
|
688
|
+
}
|
|
689
|
+
if (( hasSections.has(AICustomizationManagementSection.Automations))) {
|
|
690
|
+
this.automationsContentContainer = append(contentInner, $(".automations-content-container"));
|
|
691
|
+
this.automationsListWidget = this.editorDisposables.add(this.instantiationService.createInstance(AutomationsListWidget));
|
|
692
|
+
this.automationsContentContainer.appendChild(this.automationsListWidget.element);
|
|
693
|
+
}
|
|
726
694
|
this.editorContentContainer = append(contentInner, $(".editor-content-container"));
|
|
727
695
|
this.createEmbeddedEditor();
|
|
728
696
|
this.updateContentVisibility();
|
|
@@ -743,12 +711,24 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
743
711
|
}));
|
|
744
712
|
this.pluginListWidget.fireItemCount();
|
|
745
713
|
}
|
|
714
|
+
if (this.automationsListWidget) {
|
|
715
|
+
this.editorDisposables.add(this.automationsListWidget.onDidChangeItemCount(count => {
|
|
716
|
+
this.updateSectionCount(AICustomizationManagementSection.Automations, count);
|
|
717
|
+
}));
|
|
718
|
+
this.automationsListWidget.fireItemCount();
|
|
719
|
+
}
|
|
746
720
|
if (this.modelsWidget) {
|
|
747
721
|
this.editorDisposables.add(this.modelsWidget.onDidChangeItemCount(count => {
|
|
748
722
|
this.updateSectionCount(AICustomizationManagementSection.Models, count);
|
|
749
723
|
}));
|
|
750
724
|
this.modelsWidget.fireItemCount();
|
|
751
725
|
}
|
|
726
|
+
if (this.toolsListWidget) {
|
|
727
|
+
this.editorDisposables.add(this.toolsListWidget.onDidChangeItemCount(count => {
|
|
728
|
+
this.updateSectionCount(AICustomizationManagementSection.Tools, count);
|
|
729
|
+
}));
|
|
730
|
+
this.toolsListWidget.fireItemCount();
|
|
731
|
+
}
|
|
752
732
|
for (const section of ITEMS_MODEL_SECTIONS) {
|
|
753
733
|
const observable = this.itemsModel.getCount(section);
|
|
754
734
|
this.editorDisposables.add(autorun(reader => {
|
|
@@ -781,6 +761,9 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
781
761
|
if (this.viewMode === "pluginDetail") {
|
|
782
762
|
this.goBackFromPluginDetail();
|
|
783
763
|
}
|
|
764
|
+
if (this.viewMode === "toolsDetail") {
|
|
765
|
+
this.goBackFromToolDetail();
|
|
766
|
+
}
|
|
784
767
|
this.selectedSection = undefined;
|
|
785
768
|
this.sectionContextKey.set("");
|
|
786
769
|
this.storageService.remove(AI_CUSTOMIZATION_MANAGEMENT_SELECTED_SECTION_KEY, StorageScope.PROFILE);
|
|
@@ -806,6 +789,9 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
806
789
|
if (this.viewMode === "pluginDetail") {
|
|
807
790
|
this.goBackFromPluginDetail();
|
|
808
791
|
}
|
|
792
|
+
if (this.viewMode === "toolsDetail") {
|
|
793
|
+
this.goBackFromToolDetail();
|
|
794
|
+
}
|
|
809
795
|
this.selectedSection = section;
|
|
810
796
|
this.sectionContextKey.set(section);
|
|
811
797
|
this.storageService.store(
|
|
@@ -835,6 +821,10 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
835
821
|
this.pluginListWidget?.focusSearch();
|
|
836
822
|
} else if (section === AICustomizationManagementSection.Models) {
|
|
837
823
|
this.modelsWidget?.focusSearch();
|
|
824
|
+
} else if (section === AICustomizationManagementSection.Tools) {
|
|
825
|
+
this.toolsListWidget?.focusSearch();
|
|
826
|
+
} else if (section === AICustomizationManagementSection.Automations) {
|
|
827
|
+
this.automationsListWidget?.focus();
|
|
838
828
|
} else {
|
|
839
829
|
this.listWidget?.focusSearch();
|
|
840
830
|
}
|
|
@@ -865,12 +855,15 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
865
855
|
const isEditorMode = this.viewMode === "editor";
|
|
866
856
|
const isMcpDetailMode = this.viewMode === "mcpDetail";
|
|
867
857
|
const isPluginDetailMode = this.viewMode === "pluginDetail";
|
|
868
|
-
const
|
|
858
|
+
const isToolsDetailMode = this.viewMode === "toolsDetail";
|
|
859
|
+
const isDetailMode = isMcpDetailMode || isPluginDetailMode || isToolsDetailMode;
|
|
869
860
|
const isWelcome = this.selectedSection === undefined;
|
|
870
861
|
const isPromptsSection = this.selectedSection !== undefined && this.isPromptsSection(this.selectedSection);
|
|
871
862
|
const isModelsSection = this.selectedSection === AICustomizationManagementSection.Models;
|
|
872
863
|
const isMcpSection = this.selectedSection === AICustomizationManagementSection.McpServers;
|
|
873
864
|
const isPluginsSection = this.selectedSection === AICustomizationManagementSection.Plugins;
|
|
865
|
+
const isToolsSection = this.selectedSection === AICustomizationManagementSection.Tools;
|
|
866
|
+
const isAutomationsSection = this.selectedSection === AICustomizationManagementSection.Automations;
|
|
874
867
|
if (this.welcomePage) {
|
|
875
868
|
this.welcomePage.container.style.display = isWelcome && !isEditorMode && !isDetailMode ? "" : "none";
|
|
876
869
|
}
|
|
@@ -889,9 +882,18 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
889
882
|
if (this.pluginContentContainer) {
|
|
890
883
|
this.pluginContentContainer.style.display = !isEditorMode && !isDetailMode && isPluginsSection ? "" : "none";
|
|
891
884
|
}
|
|
885
|
+
if (this.automationsContentContainer) {
|
|
886
|
+
this.automationsContentContainer.style.display = !isEditorMode && !isDetailMode && isAutomationsSection ? "" : "none";
|
|
887
|
+
}
|
|
892
888
|
if (this.pluginDetailContainer) {
|
|
893
889
|
this.pluginDetailContainer.style.display = isPluginDetailMode ? "" : "none";
|
|
894
890
|
}
|
|
891
|
+
if (this.toolsContentContainer) {
|
|
892
|
+
this.toolsContentContainer.style.display = !isEditorMode && !isDetailMode && isToolsSection ? "" : "none";
|
|
893
|
+
}
|
|
894
|
+
if (this.toolsDetailContainer) {
|
|
895
|
+
this.toolsDetailContainer.style.display = isToolsDetailMode ? "" : "none";
|
|
896
|
+
}
|
|
895
897
|
if (this.editorContentContainer) {
|
|
896
898
|
this.editorContentContainer.style.display = isEditorMode ? "" : "none";
|
|
897
899
|
}
|
|
@@ -999,38 +1001,32 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
999
1001
|
this.listWidget.refresh();
|
|
1000
1002
|
}
|
|
1001
1003
|
async resolveTargetDirectoryWithPicker(type, target) {
|
|
1002
|
-
const
|
|
1004
|
+
const sessionResource = this.harnessService.activeSessionResource.get();
|
|
1005
|
+
const activeDescriptor = this.harnessService.getActiveDescriptor();
|
|
1006
|
+
const provider = activeDescriptor.itemProvider ?? this.instantiationService.createInstance(PromptsServiceCustomizationItemProvider, () => activeDescriptor);
|
|
1007
|
+
if (!provider.provideSourceFolders) {
|
|
1008
|
+
return undefined;
|
|
1009
|
+
}
|
|
1010
|
+
const allFolders = await provider.provideSourceFolders(sessionResource, type, CancellationToken.None);
|
|
1011
|
+
if (!allFolders) {
|
|
1012
|
+
return undefined;
|
|
1013
|
+
}
|
|
1003
1014
|
const projectRoot = this.workspaceService.getActiveProjectRoot();
|
|
1004
|
-
const
|
|
1005
|
-
const
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1015
|
+
const matchingFolders = [];
|
|
1016
|
+
const hasSeen = ( new ResourceSet());
|
|
1017
|
+
for (const f of allFolders) {
|
|
1018
|
+
if (target === "workspace") {
|
|
1019
|
+
if (projectRoot && isEqualOrParent(f.uri, projectRoot) && !( hasSeen.has(f.uri))) {
|
|
1020
|
+
hasSeen.add(f.uri);
|
|
1021
|
+
matchingFolders.push(f);
|
|
1011
1022
|
}
|
|
1012
|
-
|
|
1013
|
-
|
|
1023
|
+
} else {
|
|
1024
|
+
if ((!projectRoot || !isEqualOrParent(f.uri, projectRoot)) && !( hasSeen.has(f.uri))) {
|
|
1025
|
+
hasSeen.add(f.uri);
|
|
1026
|
+
matchingFolders.push(f);
|
|
1014
1027
|
}
|
|
1015
|
-
return true;
|
|
1016
|
-
}) : [];
|
|
1017
|
-
} else {
|
|
1018
|
-
matchingFolders = projectRoot ? allFolders.filter(f => !isEqualOrParent(f.uri, projectRoot)) : allFolders;
|
|
1019
|
-
const filter = this.harnessService.getStorageSourceFilter(type);
|
|
1020
|
-
if (filter.includedUserFileRoots) {
|
|
1021
|
-
const roots = filter.includedUserFileRoots;
|
|
1022
|
-
matchingFolders = matchingFolders.filter(f => ( roots.some(root => isEqualOrParent(f.uri, root))));
|
|
1023
1028
|
}
|
|
1024
1029
|
}
|
|
1025
|
-
const seen = ( new Set());
|
|
1026
|
-
matchingFolders = matchingFolders.filter(f => {
|
|
1027
|
-
const key = ( f.uri.toString());
|
|
1028
|
-
if (( seen.has(key))) {
|
|
1029
|
-
return false;
|
|
1030
|
-
}
|
|
1031
|
-
seen.add(key);
|
|
1032
|
-
return true;
|
|
1033
|
-
});
|
|
1034
1030
|
if (matchingFolders.length === 0) {
|
|
1035
1031
|
return undefined;
|
|
1036
1032
|
}
|
|
@@ -1038,12 +1034,14 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1038
1034
|
return matchingFolders[0].uri;
|
|
1039
1035
|
}
|
|
1040
1036
|
const items = ( matchingFolders.map(folder => ({
|
|
1041
|
-
label:
|
|
1042
|
-
description: folder.uri
|
|
1037
|
+
label: folder.label,
|
|
1038
|
+
description: this.labelService.getUriLabel(folder.uri, {
|
|
1039
|
+
relative: true
|
|
1040
|
+
}),
|
|
1043
1041
|
uri: folder.uri
|
|
1044
1042
|
})));
|
|
1045
1043
|
const picked = await this.quickInputService.pick(items, {
|
|
1046
|
-
placeHolder: ( localize(
|
|
1044
|
+
placeHolder: ( localize(5888, "Select a directory for the new customization file"))
|
|
1047
1045
|
});
|
|
1048
1046
|
return picked?.uri ?? null;
|
|
1049
1047
|
}
|
|
@@ -1081,6 +1079,9 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1081
1079
|
if (this.viewMode === "pluginDetail") {
|
|
1082
1080
|
this.goBackFromPluginDetail();
|
|
1083
1081
|
}
|
|
1082
|
+
if (this.viewMode === "toolsDetail") {
|
|
1083
|
+
this.goBackFromToolDetail();
|
|
1084
|
+
}
|
|
1084
1085
|
this.workspaceService.clearOverrideProjectRoot();
|
|
1085
1086
|
this.disposeBuiltinEditingSessions();
|
|
1086
1087
|
super.clearInput();
|
|
@@ -1112,6 +1113,10 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1112
1113
|
this.pluginListWidget?.focusSearch();
|
|
1113
1114
|
} else if (this.selectedSection === AICustomizationManagementSection.Models) {
|
|
1114
1115
|
this.modelsWidget?.focusSearch();
|
|
1116
|
+
} else if (this.selectedSection === AICustomizationManagementSection.Tools) {
|
|
1117
|
+
this.toolsListWidget?.focusSearch();
|
|
1118
|
+
} else if (this.selectedSection === AICustomizationManagementSection.Automations) {
|
|
1119
|
+
this.automationsListWidget?.focus();
|
|
1115
1120
|
} else {
|
|
1116
1121
|
this.listWidget?.focusSearch();
|
|
1117
1122
|
}
|
|
@@ -1128,6 +1133,9 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1128
1133
|
if (this.viewMode === "pluginDetail") {
|
|
1129
1134
|
this.goBackFromPluginDetail();
|
|
1130
1135
|
}
|
|
1136
|
+
if (this.viewMode === "toolsDetail") {
|
|
1137
|
+
this.goBackFromToolDetail();
|
|
1138
|
+
}
|
|
1131
1139
|
this.selectedSection = sectionId;
|
|
1132
1140
|
this.sectionContextKey.set(sectionId);
|
|
1133
1141
|
this.storageService.store(
|
|
@@ -1174,11 +1182,11 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1174
1182
|
}
|
|
1175
1183
|
const editorHeader = append(this.editorContentContainer, $(".editor-header"));
|
|
1176
1184
|
this.editorActionButton = append(editorHeader, $("button.editor-back-button"));
|
|
1177
|
-
this.editorActionButton.setAttribute("aria-label", ( localize(
|
|
1185
|
+
this.editorActionButton.setAttribute("aria-label", ( localize(5889, "Back to list")));
|
|
1178
1186
|
this.editorDisposables.add(this.hoverService.setupManagedHover(
|
|
1179
1187
|
getDefaultHoverDelegate("element"),
|
|
1180
1188
|
this.editorActionButton,
|
|
1181
|
-
( localize(
|
|
1189
|
+
( localize(5890, "Back to list"))
|
|
1182
1190
|
));
|
|
1183
1191
|
this.editorActionButtonIcon = append(
|
|
1184
1192
|
this.editorActionButton,
|
|
@@ -1188,7 +1196,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1188
1196
|
this.editorDisposables.add(addDisposableListener(this.editorActionButton, "click", () => {
|
|
1189
1197
|
void this.handleEditorActionButton().catch(error => {
|
|
1190
1198
|
console.error("Failed to handle editor back action:", error);
|
|
1191
|
-
this.notificationService.error(( localize(
|
|
1199
|
+
this.notificationService.error(( localize(5891, "Failed to finish the prompt action.")));
|
|
1192
1200
|
});
|
|
1193
1201
|
}));
|
|
1194
1202
|
const itemInfo = append(editorHeader, $(".editor-item-info"));
|
|
@@ -1209,7 +1217,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1209
1217
|
this.editorPreviewContainer = append(this.editorContentContainer, $(".editor-preview-container"));
|
|
1210
1218
|
this.editorPreviewScrollContainer = append(this.editorPreviewContainer, $(".editor-preview-scroll-container"));
|
|
1211
1219
|
this.editorPreviewScrollContainer.setAttribute("role", "region");
|
|
1212
|
-
this.editorPreviewScrollContainer.setAttribute("aria-label", ( localize(
|
|
1220
|
+
this.editorPreviewScrollContainer.setAttribute("aria-label", ( localize(5892, "Customization preview")));
|
|
1213
1221
|
this.editorPreviewIssuesContainer = append(this.editorPreviewScrollContainer, $(".editor-preview-issues"));
|
|
1214
1222
|
const frontMatterSection = append(
|
|
1215
1223
|
this.editorPreviewScrollContainer,
|
|
@@ -1336,9 +1344,9 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1336
1344
|
this._editorContentChanged = this.workingCopyService.isDirty(uri);
|
|
1337
1345
|
this.editorSaveIndicator.className = "editor-save-indicator visible saved";
|
|
1338
1346
|
this.editorSaveIndicator.classList.add(...ThemeIcon.asClassNameArray(Codicon.check));
|
|
1339
|
-
this.editorSaveIndicator.title = ( localize(
|
|
1340
|
-
this.editorSaveIndicator.setAttribute("aria-label", ( localize(
|
|
1341
|
-
status(( localize(
|
|
1347
|
+
this.editorSaveIndicator.title = ( localize(5893, "Saved"));
|
|
1348
|
+
this.editorSaveIndicator.setAttribute("aria-label", ( localize(5893, "Saved")));
|
|
1349
|
+
status(( localize(5893, "Saved")));
|
|
1342
1350
|
}
|
|
1343
1351
|
}));
|
|
1344
1352
|
} catch (error) {
|
|
@@ -1388,7 +1396,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1388
1396
|
const saveRequest = backgroundSaveRequest;
|
|
1389
1397
|
void this.saveExistingCustomization(saveRequest).catch(error => {
|
|
1390
1398
|
console.error("Failed to save customization changes on exit:", error);
|
|
1391
|
-
this.notificationService.warn(( localize(
|
|
1399
|
+
this.notificationService.warn(( localize(5894, "Could not save changes to {0}.", basename(saveRequest.fileUri))));
|
|
1392
1400
|
});
|
|
1393
1401
|
}
|
|
1394
1402
|
}
|
|
@@ -1481,8 +1489,10 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1481
1489
|
const workspaceFolder = resolveWorkspaceTargetDirectory(this.workspaceService, promptType);
|
|
1482
1490
|
if (workspaceFolder) {
|
|
1483
1491
|
items.push({
|
|
1484
|
-
label: ( localize(
|
|
1485
|
-
description: workspaceFolder
|
|
1492
|
+
label: ( localize(5895, "Workspace")),
|
|
1493
|
+
description: this.labelService.getUriLabel(workspaceFolder, {
|
|
1494
|
+
relative: true
|
|
1495
|
+
}),
|
|
1486
1496
|
target: "workspace",
|
|
1487
1497
|
folder: workspaceFolder
|
|
1488
1498
|
});
|
|
@@ -1490,19 +1500,21 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1490
1500
|
const userFolder = await resolveUserTargetDirectory(this.promptsService, promptType);
|
|
1491
1501
|
if (userFolder) {
|
|
1492
1502
|
items.push({
|
|
1493
|
-
label: ( localize(
|
|
1494
|
-
description: userFolder
|
|
1503
|
+
label: ( localize(5896, "User")),
|
|
1504
|
+
description: this.labelService.getUriLabel(userFolder, {
|
|
1505
|
+
relative: true
|
|
1506
|
+
}),
|
|
1495
1507
|
target: "user",
|
|
1496
1508
|
folder: userFolder
|
|
1497
1509
|
});
|
|
1498
1510
|
}
|
|
1499
1511
|
items.push({
|
|
1500
|
-
label: ( localize(
|
|
1512
|
+
label: ( localize(5897, "Cancel")),
|
|
1501
1513
|
target: "cancel"
|
|
1502
1514
|
});
|
|
1503
1515
|
return this.quickInputService.pick(items, {
|
|
1504
1516
|
canPickMany: false,
|
|
1505
|
-
placeHolder: ( localize(
|
|
1517
|
+
placeHolder: ( localize(5898, "Select Workspace, User, or Cancel")),
|
|
1506
1518
|
matchOnDescription: true
|
|
1507
1519
|
});
|
|
1508
1520
|
}
|
|
@@ -1535,7 +1547,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1535
1547
|
void this.listWidget?.refresh();
|
|
1536
1548
|
}, error => {
|
|
1537
1549
|
console.error("Failed to save built-in override:", error);
|
|
1538
|
-
this.notificationService.warn(saveRequest.target === "workspace" ? ( localize(
|
|
1550
|
+
this.notificationService.warn(saveRequest.target === "workspace" ? ( localize(5899, "Could not save the override to the workspace.")) : ( localize(5900, "Could not save the override to your user folder.")));
|
|
1539
1551
|
});
|
|
1540
1552
|
}
|
|
1541
1553
|
} finally {
|
|
@@ -1551,8 +1563,8 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1551
1563
|
const shouldShowBuiltinSaveAction = this.shouldShowBuiltinSaveAction();
|
|
1552
1564
|
this.editorActionButtonIcon.className = `codicon codicon-${shouldShowBuiltinSaveAction ? Codicon.save.id : Codicon.arrowLeft.id} editor-action-button-icon`;
|
|
1553
1565
|
this.editorActionButton.disabled = this.editorActionButtonInProgress;
|
|
1554
|
-
this.editorActionButton.setAttribute("aria-label", shouldShowBuiltinSaveAction ? ( localize(
|
|
1555
|
-
this.editorActionButton.title = shouldShowBuiltinSaveAction ? ( localize(
|
|
1566
|
+
this.editorActionButton.setAttribute("aria-label", shouldShowBuiltinSaveAction ? ( localize(5901, "Save override")) : ( localize(5889, "Back to list")));
|
|
1567
|
+
this.editorActionButton.title = shouldShowBuiltinSaveAction ? ( localize(5902, "Save override (choose Workspace, User, or Cancel)")) : ( localize(5889, "Back to list"));
|
|
1556
1568
|
}
|
|
1557
1569
|
shouldShowBuiltinSaveAction() {
|
|
1558
1570
|
return this._editorContentChanged && this.currentEditingSource === AICustomizationSources.builtin && (this.currentEditingPromptType === PromptsType.prompt || this.currentEditingPromptType === PromptsType.skill);
|
|
@@ -1587,7 +1599,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1587
1599
|
return true;
|
|
1588
1600
|
} catch (error) {
|
|
1589
1601
|
console.error("Failed to save built-in override:", error);
|
|
1590
|
-
this.notificationService.warn(target.target === "workspace" ? ( localize(
|
|
1602
|
+
this.notificationService.warn(target.target === "workspace" ? ( localize(5899, "Could not save the override to the workspace.")) : ( localize(5900, "Could not save the override to your user folder.")));
|
|
1591
1603
|
return false;
|
|
1592
1604
|
}
|
|
1593
1605
|
}
|
|
@@ -1669,18 +1681,18 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1669
1681
|
return "";
|
|
1670
1682
|
}
|
|
1671
1683
|
if (this.editorDisplayMode === "raw") {
|
|
1672
|
-
return localize(
|
|
1684
|
+
return localize(5903, "Preview");
|
|
1673
1685
|
}
|
|
1674
|
-
return this.canEditCurrentRaw() ? ( localize(
|
|
1686
|
+
return this.canEditCurrentRaw() ? ( localize(5904, "Edit")) : ( localize(5905, "View Raw"));
|
|
1675
1687
|
}
|
|
1676
1688
|
getEditorModeButtonTooltip() {
|
|
1677
1689
|
if (!this.isStructuredPreviewSupported(this.currentEditingPromptType)) {
|
|
1678
1690
|
return "";
|
|
1679
1691
|
}
|
|
1680
1692
|
if (this.editorDisplayMode === "raw") {
|
|
1681
|
-
return localize(
|
|
1693
|
+
return localize(5906, "Show structured preview");
|
|
1682
1694
|
}
|
|
1683
|
-
return this.canEditCurrentRaw() ? ( localize(
|
|
1695
|
+
return this.canEditCurrentRaw() ? ( localize(5907, "Edit the raw markdown file")) : ( localize(5908, "Show the raw markdown file"));
|
|
1684
1696
|
}
|
|
1685
1697
|
canEditCurrentRaw() {
|
|
1686
1698
|
const promptType = this.currentEditingPromptType;
|
|
@@ -1723,8 +1735,8 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1723
1735
|
return;
|
|
1724
1736
|
}
|
|
1725
1737
|
const issuesContainer = append(this.editorPreviewIssuesContainer, $(".editor-preview-issues-box"));
|
|
1726
|
-
append(issuesContainer, $("div.editor-preview-issues-title")).textContent = ( localize(
|
|
1727
|
-
append(issuesContainer, $("div.editor-preview-issues-description")).textContent = ( localize(
|
|
1738
|
+
append(issuesContainer, $("div.editor-preview-issues-title")).textContent = ( localize(5909, "Header issues detected"));
|
|
1739
|
+
append(issuesContainer, $("div.editor-preview-issues-description")).textContent = ( localize(5910, "Switch to raw view to fix invalid or unsupported metadata entries."));
|
|
1728
1740
|
const list = append(issuesContainer, $("ul.editor-preview-issues-list"));
|
|
1729
1741
|
for (const error of parsedPromptFile.header.errors) {
|
|
1730
1742
|
append(list, $("li.editor-preview-issues-item")).textContent = error.message;
|
|
@@ -1739,7 +1751,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1739
1751
|
append(
|
|
1740
1752
|
this.editorPreviewFrontMatterContainer,
|
|
1741
1753
|
$("div.editor-preview-empty-state")
|
|
1742
|
-
).textContent = ( localize(
|
|
1754
|
+
).textContent = ( localize(5911, "No metadata found in this file."));
|
|
1743
1755
|
return;
|
|
1744
1756
|
}
|
|
1745
1757
|
for (const attribute of attributes) {
|
|
@@ -1755,11 +1767,11 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1755
1767
|
append(header, $("div.editor-preview-row-key")).textContent = attribute.key;
|
|
1756
1768
|
const helpButton = append(header, $("button.editor-preview-row-help"));
|
|
1757
1769
|
helpButton.type = "button";
|
|
1758
|
-
helpButton.setAttribute("aria-label", ( localize(
|
|
1770
|
+
helpButton.setAttribute("aria-label", ( localize(5912, "Show help for '{0}'", attribute.key)));
|
|
1759
1771
|
const helpIcon = append(helpButton, $("span.editor-preview-row-help-icon"));
|
|
1760
1772
|
helpIcon.classList.add(...ThemeIcon.asClassNameArray(Codicon.info));
|
|
1761
1773
|
helpIcon.setAttribute("aria-hidden", "true");
|
|
1762
|
-
const description = getAttributeDefinition(attribute.key, promptType, target)?.description ?? ( localize(
|
|
1774
|
+
const description = getAttributeDefinition(attribute.key, promptType, target)?.description ?? ( localize(5913, "Custom metadata field `{0}`.", attribute.key));
|
|
1763
1775
|
const helpHover = this.editorPreviewDisposables.add(
|
|
1764
1776
|
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), helpButton, {
|
|
1765
1777
|
markdown: ( new MarkdownString(description)),
|
|
@@ -1782,7 +1794,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1782
1794
|
}
|
|
1783
1795
|
const bodyContent = parsedPromptFile.body?.getContent() ?? "";
|
|
1784
1796
|
if (!bodyContent.trim()) {
|
|
1785
|
-
append(this.editorPreviewBodyContainer, $("div.editor-preview-empty-state")).textContent = ( localize(
|
|
1797
|
+
append(this.editorPreviewBodyContainer, $("div.editor-preview-empty-state")).textContent = ( localize(5914, "No markdown body found in this file."));
|
|
1786
1798
|
return;
|
|
1787
1799
|
}
|
|
1788
1800
|
const markdown = ( new MarkdownString(bodyContent, {
|
|
@@ -1859,9 +1871,9 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1859
1871
|
);
|
|
1860
1872
|
const backButton = append(this.embeddedMcpDetail.leadingSlot, $("button.editor-back-button"));
|
|
1861
1873
|
backButton.setAttribute("type", "button");
|
|
1862
|
-
backButton.setAttribute("aria-label", ( localize(
|
|
1874
|
+
backButton.setAttribute("aria-label", ( localize(5915, "Back to MCP servers")));
|
|
1863
1875
|
this.editorDisposables.add(
|
|
1864
|
-
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), backButton, ( localize(
|
|
1876
|
+
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), backButton, ( localize(5916, "Back to MCP servers")))
|
|
1865
1877
|
);
|
|
1866
1878
|
const backIconEl = append(backButton, $(`.codicon.codicon-${Codicon.arrowLeft.id}`));
|
|
1867
1879
|
backIconEl.setAttribute("aria-hidden", "true");
|
|
@@ -1901,9 +1913,9 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1901
1913
|
);
|
|
1902
1914
|
const backButton = append(this.embeddedPluginDetail.leadingSlot, $("button.editor-back-button"));
|
|
1903
1915
|
backButton.setAttribute("type", "button");
|
|
1904
|
-
backButton.setAttribute("aria-label", ( localize(
|
|
1916
|
+
backButton.setAttribute("aria-label", ( localize(5917, "Back to plugins")));
|
|
1905
1917
|
this.editorDisposables.add(
|
|
1906
|
-
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), backButton, ( localize(
|
|
1918
|
+
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), backButton, ( localize(5918, "Back to plugins")))
|
|
1907
1919
|
);
|
|
1908
1920
|
const backIconEl = append(backButton, $(`.codicon.codicon-${Codicon.arrowLeft.id}`));
|
|
1909
1921
|
backIconEl.setAttribute("aria-hidden", "true");
|
|
@@ -1947,7 +1959,49 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1947
1959
|
this.layout(this.dimension);
|
|
1948
1960
|
}
|
|
1949
1961
|
}
|
|
1962
|
+
createEmbeddedToolDetail() {
|
|
1963
|
+
if (!this.toolsDetailContainer) {
|
|
1964
|
+
return;
|
|
1965
|
+
}
|
|
1966
|
+
const detailBody = append(this.toolsDetailContainer, $(".tools-detail-editor-container"));
|
|
1967
|
+
this.embeddedToolDetail = this.editorDisposables.add(
|
|
1968
|
+
this.instantiationService.createInstance(EmbeddedExtensionToolsDetail, detailBody)
|
|
1969
|
+
);
|
|
1970
|
+
const backButton = append(this.embeddedToolDetail.leadingSlot, $("button.editor-back-button"));
|
|
1971
|
+
backButton.setAttribute("type", "button");
|
|
1972
|
+
backButton.setAttribute("aria-label", ( localize(5919, "Back to tools")));
|
|
1973
|
+
this.editorDisposables.add(
|
|
1974
|
+
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), backButton, ( localize(5920, "Back to tools")))
|
|
1975
|
+
);
|
|
1976
|
+
const backIconEl = append(backButton, $(`.codicon.codicon-${Codicon.arrowLeft.id}`));
|
|
1977
|
+
backIconEl.setAttribute("aria-hidden", "true");
|
|
1978
|
+
this.editorDisposables.add(addDisposableListener(backButton, "click", () => {
|
|
1979
|
+
this.goBackFromToolDetail();
|
|
1980
|
+
}));
|
|
1981
|
+
}
|
|
1982
|
+
async showEmbeddedToolDetail(extension) {
|
|
1983
|
+
if (!this.embeddedToolDetail) {
|
|
1984
|
+
return;
|
|
1985
|
+
}
|
|
1986
|
+
this.viewMode = "toolsDetail";
|
|
1987
|
+
this.updateContentVisibility();
|
|
1988
|
+
this.toolsDetailDisposables.clear();
|
|
1989
|
+
this.embeddedToolDetail.setInput(extension);
|
|
1990
|
+
if (this.dimension) {
|
|
1991
|
+
this.layout(this.dimension);
|
|
1992
|
+
}
|
|
1993
|
+
}
|
|
1994
|
+
goBackFromToolDetail() {
|
|
1995
|
+
this.toolsDetailDisposables.clear();
|
|
1996
|
+
this.embeddedToolDetail?.clearInput();
|
|
1997
|
+
this.viewMode = "list";
|
|
1998
|
+
this.updateContentVisibility();
|
|
1999
|
+
if (this.dimension) {
|
|
2000
|
+
this.layout(this.dimension);
|
|
2001
|
+
}
|
|
2002
|
+
this.toolsListWidget?.focusSearch();
|
|
2003
|
+
}
|
|
1950
2004
|
};
|
|
1951
|
-
AICustomizationManagementEditor = AICustomizationManagementEditor_1 = ( __decorate([( __param(1, ITelemetryService)), ( __param(2, IThemeService)), ( __param(3, IStorageService)), ( __param(4, IInstantiationService)), ( __param(5, IContextKeyService)), ( __param(6, IOpenerService)), ( __param(7, ICommandService)), ( __param(8, IAICustomizationWorkspaceService)), ( __param(9, IPromptsService)), ( __param(10, ITextModelService)), ( __param(11, IConfigurationService)), ( __param(12, IWorkingCopyService)), ( __param(13, IHoverService)), ( __param(14, IMarkdownRendererService)), ( __param(15, IModelService)), ( __param(16, IQuickInputService)), ( __param(17,
|
|
2005
|
+
AICustomizationManagementEditor = AICustomizationManagementEditor_1 = ( __decorate([( __param(1, ITelemetryService)), ( __param(2, IThemeService)), ( __param(3, IStorageService)), ( __param(4, IInstantiationService)), ( __param(5, IContextKeyService)), ( __param(6, IOpenerService)), ( __param(7, ICommandService)), ( __param(8, IAICustomizationWorkspaceService)), ( __param(9, IPromptsService)), ( __param(10, ITextModelService)), ( __param(11, IConfigurationService)), ( __param(12, IWorkingCopyService)), ( __param(13, IHoverService)), ( __param(14, IMarkdownRendererService)), ( __param(15, IModelService)), ( __param(16, IQuickInputService)), ( __param(17, IFileService)), ( __param(18, INotificationService)), ( __param(19, ICustomizationHarnessService)), ( __param(20, IViewsService)), ( __param(21, ILabelService)), ( __param(22, IAICustomizationItemsModel))], AICustomizationManagementEditor));
|
|
1952
2006
|
|
|
1953
2007
|
export { AICustomizationManagementEditor };
|