@codingame/monaco-vscode-chat-service-override 29.1.1 → 30.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +5 -2
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +37 -39
- package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +11 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +4 -4
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +132 -42
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +54 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +15 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +5 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +188 -51
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +7 -6
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +7 -2
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +6 -0
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +14 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +18 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +37 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +37 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +6 -6
- 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 +20 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +18 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +10 -10
- 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.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +482 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +10 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +43 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
- 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 +74 -76
- 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 +27 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.d.ts +5 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +86 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +38 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +38 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +427 -167
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +37 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +108 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +28 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +3 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +65 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +2 -0
- 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 +64 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +288 -195
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
- 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 +19 -19
- 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 +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +21 -21
- 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 +28 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +10 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +19 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +54 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +50 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +86 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +65 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +24 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -6
- 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/defaultModelContribution.js +4 -4
- 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/pluginInstallService.d.ts +3 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +54 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +24 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +72 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +181 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +3 -3
- 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 +8 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +37 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +28 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +1 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +148 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +16 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +158 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +8 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +155 -76
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +1 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +31 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +228 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +190 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +25 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +130 -107
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +19 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +2 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +169 -266
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +12 -10
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +149 -206
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +27 -22
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +20 -8
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +183 -43
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +21 -21
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
- 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 +11 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +26 -23
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
- 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 +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +4 -9
- 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 +16 -6
- 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 +9 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +150 -50
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +2 -2
- 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/terminalSandboxService.d.ts +66 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +239 -48
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +0 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +0 -208
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +0 -637
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +0 -384
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +0 -33
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +0 -47
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +0 -30
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +0 -55
- /package/vscode/src/vs/workbench/contrib/chat/{common → browser}/promptSyntax/promptFileContributions.d.ts +0 -0
|
@@ -38,10 +38,11 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/misc
|
|
|
38
38
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
39
39
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
|
|
40
40
|
import { PANEL_BORDER } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/theme';
|
|
41
|
+
import { AICustomizationManagementEditorInput } from './aiCustomizationManagementEditorInput.js';
|
|
41
42
|
import { AICustomizationListWidget } from './aiCustomizationListWidget.js';
|
|
42
43
|
import { McpListWidget } from './mcpListWidget.js';
|
|
43
44
|
import { PluginListWidget } from './pluginListWidget.js';
|
|
44
|
-
import { AI_CUSTOMIZATION_MANAGEMENT_EDITOR_ID, CONTEXT_AI_CUSTOMIZATION_MANAGEMENT_EDITOR, CONTEXT_AI_CUSTOMIZATION_MANAGEMENT_SECTION, 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';
|
|
45
|
+
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';
|
|
45
46
|
import { pluginIcon, hookIcon, promptIcon, instructionsIcon, skillIcon, agentIcon } from './aiCustomizationIcons.js';
|
|
46
47
|
import { ChatModelsWidget } from '../chatManagement/chatModelsWidget.js';
|
|
47
48
|
import { PromptsType, Target } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
@@ -83,7 +84,7 @@ var AICustomizationManagementEditor_1;
|
|
|
83
84
|
registerCss(aiCustomizationManagement);
|
|
84
85
|
const $ = $$1;
|
|
85
86
|
const aiCustomizationManagementSashBorder = registerColor("aiCustomizationManagement.sashBorder", PANEL_BORDER, ( localize(
|
|
86
|
-
|
|
87
|
+
5393,
|
|
87
88
|
"The color of the Chat Customization Management editor splitview sash border."
|
|
88
89
|
)));
|
|
89
90
|
class SectionItemDelegate {
|
|
@@ -192,6 +193,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
192
193
|
this._editorContentChanged = false;
|
|
193
194
|
this.inEditorContextKey = CONTEXT_AI_CUSTOMIZATION_MANAGEMENT_EDITOR.bindTo(contextKeyService);
|
|
194
195
|
this.sectionContextKey = CONTEXT_AI_CUSTOMIZATION_MANAGEMENT_SECTION.bindTo(contextKeyService);
|
|
196
|
+
this.harnessContextKey = CONTEXT_AI_CUSTOMIZATION_MANAGEMENT_HARNESS.bindTo(contextKeyService);
|
|
195
197
|
this._register(autorun(reader => {
|
|
196
198
|
this.workspaceService.activeProjectRoot.read(reader);
|
|
197
199
|
if (this.viewMode === "editor") {
|
|
@@ -205,35 +207,35 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
205
207
|
this._register(toDisposable(() => this.disposeBuiltinEditingSessions()));
|
|
206
208
|
const sectionInfo = {
|
|
207
209
|
[AICustomizationManagementSection.Agents]: {
|
|
208
|
-
label: ( localize(
|
|
210
|
+
label: ( localize(5394, "Agents")),
|
|
209
211
|
icon: agentIcon
|
|
210
212
|
},
|
|
211
213
|
[AICustomizationManagementSection.Skills]: {
|
|
212
|
-
label: ( localize(
|
|
214
|
+
label: ( localize(5395, "Skills")),
|
|
213
215
|
icon: skillIcon
|
|
214
216
|
},
|
|
215
217
|
[AICustomizationManagementSection.Instructions]: {
|
|
216
|
-
label: ( localize(
|
|
218
|
+
label: ( localize(5396, "Instructions")),
|
|
217
219
|
icon: instructionsIcon
|
|
218
220
|
},
|
|
219
221
|
[AICustomizationManagementSection.Prompts]: {
|
|
220
|
-
label: ( localize(
|
|
222
|
+
label: ( localize(5397, "Prompts")),
|
|
221
223
|
icon: promptIcon
|
|
222
224
|
},
|
|
223
225
|
[AICustomizationManagementSection.Hooks]: {
|
|
224
|
-
label: ( localize(
|
|
226
|
+
label: ( localize(5398, "Hooks")),
|
|
225
227
|
icon: hookIcon
|
|
226
228
|
},
|
|
227
229
|
[AICustomizationManagementSection.McpServers]: {
|
|
228
|
-
label: ( localize(
|
|
230
|
+
label: ( localize(5399, "MCP Servers")),
|
|
229
231
|
icon: Codicon.server
|
|
230
232
|
},
|
|
231
233
|
[AICustomizationManagementSection.Plugins]: {
|
|
232
|
-
label: ( localize(
|
|
234
|
+
label: ( localize(5400, "Plugins")),
|
|
233
235
|
icon: pluginIcon
|
|
234
236
|
},
|
|
235
237
|
[AICustomizationManagementSection.Models]: {
|
|
236
|
-
label: ( localize(
|
|
238
|
+
label: ( localize(5401, "Models")),
|
|
237
239
|
icon: Codicon.vm
|
|
238
240
|
}
|
|
239
241
|
};
|
|
@@ -365,7 +367,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
365
367
|
}
|
|
366
368
|
}
|
|
367
369
|
createSidebar() {
|
|
368
|
-
const sidebarContent = append(this.sidebarContainer, $(".sidebar-content"));
|
|
370
|
+
const sidebarContent = this.sidebarContent = append(this.sidebarContainer, $(".sidebar-content"));
|
|
369
371
|
this.createHarnessDropdown(sidebarContent);
|
|
370
372
|
const sectionsListContainer = append(sidebarContent, $(".sidebar-sections-list"));
|
|
371
373
|
this.sectionsList = this.editorDisposables.add(this.instantiationService.createInstance(
|
|
@@ -380,7 +382,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
380
382
|
horizontalScrolling: false,
|
|
381
383
|
accessibilityProvider: {
|
|
382
384
|
getAriaLabel: item => item.label,
|
|
383
|
-
getWidgetAriaLabel: () => ( localize(
|
|
385
|
+
getWidgetAriaLabel: () => ( localize(5402, "Chat Customization Sections"))
|
|
384
386
|
},
|
|
385
387
|
openOnSingleClick: true,
|
|
386
388
|
identityProvider: {
|
|
@@ -404,7 +406,9 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
404
406
|
this.harnessService.setActiveHarness(available[0].id);
|
|
405
407
|
return;
|
|
406
408
|
}
|
|
409
|
+
this.harnessContextKey.set(activeId);
|
|
407
410
|
this.rebuildVisibleSections();
|
|
411
|
+
this.ensureHarnessDropdown();
|
|
408
412
|
this.updateHarnessDropdown();
|
|
409
413
|
this.refreshAllPromptsSectionCounts();
|
|
410
414
|
}));
|
|
@@ -428,7 +432,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
428
432
|
}
|
|
429
433
|
const container = this.harnessDropdownContainer = append(sidebarContent, $(".sidebar-harness-dropdown"));
|
|
430
434
|
this.harnessDropdownButton = append(container, $("button.harness-dropdown-button"));
|
|
431
|
-
this.harnessDropdownButton.setAttribute("aria-label", ( localize(
|
|
435
|
+
this.harnessDropdownButton.setAttribute("aria-label", ( localize(5403, "Select customization target")));
|
|
432
436
|
this.harnessDropdownButton.setAttribute("aria-haspopup", "listbox");
|
|
433
437
|
this.harnessDropdownIcon = append(this.harnessDropdownButton, $("span.harness-dropdown-icon"));
|
|
434
438
|
this.harnessDropdownLabel = append(this.harnessDropdownButton, $("span.harness-dropdown-label"));
|
|
@@ -441,6 +445,19 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
441
445
|
this.showHarnessMenu();
|
|
442
446
|
}));
|
|
443
447
|
}
|
|
448
|
+
ensureHarnessDropdown() {
|
|
449
|
+
const harnesses = this.harnessService.availableHarnesses.get();
|
|
450
|
+
const shouldShow = this.isHarnessSelectorEnabled && harnesses.length > 1;
|
|
451
|
+
if (shouldShow && !this.harnessDropdownContainer && this.sidebarContent) {
|
|
452
|
+
this.createHarnessDropdown(this.sidebarContent);
|
|
453
|
+
} else if (!shouldShow && this.harnessDropdownContainer) {
|
|
454
|
+
this.harnessDropdownContainer.remove();
|
|
455
|
+
this.harnessDropdownContainer = undefined;
|
|
456
|
+
this.harnessDropdownButton = undefined;
|
|
457
|
+
this.harnessDropdownIcon = undefined;
|
|
458
|
+
this.harnessDropdownLabel = undefined;
|
|
459
|
+
}
|
|
460
|
+
}
|
|
444
461
|
updateHarnessDropdown() {
|
|
445
462
|
if (!this.harnessDropdownContainer || !this.harnessDropdownIcon || !this.harnessDropdownLabel) {
|
|
446
463
|
return;
|
|
@@ -477,12 +494,12 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
477
494
|
createFolderPicker(sidebarContent) {
|
|
478
495
|
const footer = this.folderPickerContainer = append(sidebarContent, $(".sidebar-folder-picker"));
|
|
479
496
|
const button = append(footer, $("button.folder-picker-button"));
|
|
480
|
-
button.setAttribute("aria-label", ( localize(
|
|
497
|
+
button.setAttribute("aria-label", ( localize(5404, "Browse folder")));
|
|
481
498
|
const folderIcon = append(button, $(`.codicon.codicon-${Codicon.folder.id}`));
|
|
482
499
|
folderIcon.classList.add("folder-picker-icon");
|
|
483
500
|
this.folderPickerLabel = append(button, $("span.folder-picker-label"));
|
|
484
501
|
this.folderPickerClearButton = append(footer, $("button.folder-picker-clear"));
|
|
485
|
-
this.folderPickerClearButton.setAttribute("aria-label", ( localize(
|
|
502
|
+
this.folderPickerClearButton.setAttribute("aria-label", ( localize(5405, "Reset to session folder")));
|
|
486
503
|
append(this.folderPickerClearButton, $(`.codicon.codicon-${Codicon.close.id}`));
|
|
487
504
|
this.editorDisposables.add(addDisposableListener(button, "click", () => {
|
|
488
505
|
this.browseForFolder();
|
|
@@ -504,7 +521,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
504
521
|
}
|
|
505
522
|
updateFolderPickerLabel(root, hasOverride) {
|
|
506
523
|
if (this.folderPickerLabel) {
|
|
507
|
-
this.folderPickerLabel.textContent = root ? basename(root) : ( localize(
|
|
524
|
+
this.folderPickerLabel.textContent = root ? basename(root) : ( localize(5406, "No folder"));
|
|
508
525
|
}
|
|
509
526
|
if (this.folderPickerClearButton) {
|
|
510
527
|
this.folderPickerClearButton.style.display = hasOverride ? "" : "none";
|
|
@@ -515,7 +532,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
515
532
|
canSelectFolders: true,
|
|
516
533
|
canSelectFiles: false,
|
|
517
534
|
canSelectMany: false,
|
|
518
|
-
title: ( localize(
|
|
535
|
+
title: ( localize(5407, "Select Folder to Explore")),
|
|
519
536
|
defaultUri: this.workspaceService.getActiveProjectRoot()
|
|
520
537
|
});
|
|
521
538
|
if (result?.[0]) {
|
|
@@ -531,15 +548,16 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
531
548
|
this.telemetryService.publicLog2("chatCustomizationEditor.itemSelected", {
|
|
532
549
|
section: this.selectedSection,
|
|
533
550
|
promptType: item.promptType,
|
|
534
|
-
storage: item.storage
|
|
551
|
+
storage: item.storage ?? "external"
|
|
535
552
|
});
|
|
536
|
-
const
|
|
537
|
-
const
|
|
553
|
+
const storage = item.storage;
|
|
554
|
+
const isWorkspaceFile = storage === PromptsStorage.local;
|
|
555
|
+
const isReadOnly = !storage || storage === PromptsStorage.extension || storage === PromptsStorage.plugin || storage === BUILTIN_STORAGE;
|
|
538
556
|
this.showEmbeddedEditor(
|
|
539
557
|
item.uri,
|
|
540
558
|
item.name,
|
|
541
559
|
item.promptType,
|
|
542
|
-
|
|
560
|
+
storage ?? BUILTIN_STORAGE,
|
|
543
561
|
isWorkspaceFile,
|
|
544
562
|
isReadOnly
|
|
545
563
|
);
|
|
@@ -564,11 +582,11 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
564
582
|
this.modelsFooterElement = append(this.modelsContentContainer, $(".section-footer"));
|
|
565
583
|
const modelsDescription = append(this.modelsFooterElement, $("p.section-footer-description"));
|
|
566
584
|
modelsDescription.textContent = ( localize(
|
|
567
|
-
|
|
585
|
+
5408,
|
|
568
586
|
"Browse and manage language models from different providers. Select models for use in chat, code completion, and other AI features."
|
|
569
587
|
));
|
|
570
588
|
const modelsLink = append(this.modelsFooterElement, $("a.section-footer-link"));
|
|
571
|
-
modelsLink.textContent = ( localize(
|
|
589
|
+
modelsLink.textContent = ( localize(5409, "Learn more about language models"));
|
|
572
590
|
modelsLink.href = "https://code.visualstudio.com/docs/copilot/customization/language-models";
|
|
573
591
|
this.editorDisposables.add(addDisposableListener(modelsLink, "click", e => {
|
|
574
592
|
e.preventDefault();
|
|
@@ -892,7 +910,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
892
910
|
uri: folder.uri
|
|
893
911
|
})));
|
|
894
912
|
const picked = await this.quickInputService.pick(items, {
|
|
895
|
-
placeHolder: ( localize(
|
|
913
|
+
placeHolder: ( localize(5410, "Select a directory for the new customization file"))
|
|
896
914
|
});
|
|
897
915
|
return picked?.uri ?? null;
|
|
898
916
|
}
|
|
@@ -908,6 +926,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
908
926
|
this.workspaceService.clearOverrideProjectRoot();
|
|
909
927
|
this.inEditorContextKey.set(true);
|
|
910
928
|
this.sectionContextKey.set(this.selectedSection);
|
|
929
|
+
input.setSaveHandler(() => this.handleBuiltinSave());
|
|
911
930
|
this.telemetryService.publicLog2("chatCustomizationEditor.opened", {
|
|
912
931
|
section: this.selectedSection
|
|
913
932
|
});
|
|
@@ -917,6 +936,11 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
917
936
|
}
|
|
918
937
|
}
|
|
919
938
|
clearInput() {
|
|
939
|
+
const input = this.input;
|
|
940
|
+
if (input instanceof AICustomizationManagementEditorInput) {
|
|
941
|
+
input.setSaveHandler(undefined);
|
|
942
|
+
input.setDirty(false);
|
|
943
|
+
}
|
|
920
944
|
this.inEditorContextKey.set(false);
|
|
921
945
|
if (this.viewMode === "editor") {
|
|
922
946
|
this.goBackToList();
|
|
@@ -978,12 +1002,24 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
978
1002
|
if (this.isPromptsSection(sectionId)) {
|
|
979
1003
|
void this.listWidget.setSection(sectionId);
|
|
980
1004
|
}
|
|
1005
|
+
if (this.dimension) {
|
|
1006
|
+
this.layout(this.dimension);
|
|
1007
|
+
}
|
|
981
1008
|
this.ensureSectionsListReflectsActiveSection(sectionId);
|
|
982
1009
|
}
|
|
983
1010
|
}
|
|
984
1011
|
refreshList() {
|
|
985
1012
|
void this.listWidget.refresh();
|
|
986
1013
|
}
|
|
1014
|
+
revealLastItem() {
|
|
1015
|
+
if (this.selectedSection === AICustomizationManagementSection.McpServers) {
|
|
1016
|
+
this.mcpListWidget?.revealLastItem();
|
|
1017
|
+
} else if (this.selectedSection === AICustomizationManagementSection.Plugins) {
|
|
1018
|
+
this.pluginListWidget?.revealLastItem();
|
|
1019
|
+
} else {
|
|
1020
|
+
this.listWidget.revealLastItem();
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
987
1023
|
async generateDebugReport() {
|
|
988
1024
|
return this.listWidget.generateDebugReport();
|
|
989
1025
|
}
|
|
@@ -993,7 +1029,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
993
1029
|
}
|
|
994
1030
|
const editorHeader = append(this.editorContentContainer, $(".editor-header"));
|
|
995
1031
|
this.editorActionButton = append(editorHeader, $("button.editor-back-button"));
|
|
996
|
-
this.editorActionButton.setAttribute("aria-label", ( localize(
|
|
1032
|
+
this.editorActionButton.setAttribute("aria-label", ( localize(5411, "Back to list")));
|
|
997
1033
|
this.editorActionButtonIcon = append(
|
|
998
1034
|
this.editorActionButton,
|
|
999
1035
|
$(`.codicon.codicon-${Codicon.arrowLeft.id}.editor-action-button-icon`)
|
|
@@ -1002,7 +1038,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1002
1038
|
this.editorDisposables.add(addDisposableListener(this.editorActionButton, "click", () => {
|
|
1003
1039
|
void this.handleEditorActionButton().catch(error => {
|
|
1004
1040
|
console.error("Failed to handle editor back action:", error);
|
|
1005
|
-
this.notificationService.error(( localize(
|
|
1041
|
+
this.notificationService.error(( localize(5412, "Failed to finish the prompt action.")));
|
|
1006
1042
|
});
|
|
1007
1043
|
}));
|
|
1008
1044
|
const itemInfo = append(editorHeader, $(".editor-item-info"));
|
|
@@ -1106,7 +1142,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1106
1142
|
this._editorContentChanged = this.workingCopyService.isDirty(uri);
|
|
1107
1143
|
this.editorSaveIndicator.className = "editor-save-indicator visible saved";
|
|
1108
1144
|
this.editorSaveIndicator.classList.add(...ThemeIcon.asClassNameArray(Codicon.check));
|
|
1109
|
-
this.editorSaveIndicator.title = ( localize(
|
|
1145
|
+
this.editorSaveIndicator.title = ( localize(5413, "Saved"));
|
|
1110
1146
|
}
|
|
1111
1147
|
}));
|
|
1112
1148
|
} catch (error) {
|
|
@@ -1151,7 +1187,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1151
1187
|
const saveRequest = backgroundSaveRequest;
|
|
1152
1188
|
void this.saveExistingCustomization(saveRequest).catch(error => {
|
|
1153
1189
|
console.error("Failed to save customization changes on exit:", error);
|
|
1154
|
-
this.notificationService.warn(( localize(
|
|
1190
|
+
this.notificationService.warn(( localize(5414, "Could not save changes to {0}.", basename(saveRequest.fileUri))));
|
|
1155
1191
|
});
|
|
1156
1192
|
}
|
|
1157
1193
|
}
|
|
@@ -1244,7 +1280,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1244
1280
|
const workspaceFolder = resolveWorkspaceTargetDirectory(this.workspaceService, promptType);
|
|
1245
1281
|
if (workspaceFolder) {
|
|
1246
1282
|
items.push({
|
|
1247
|
-
label: ( localize(
|
|
1283
|
+
label: ( localize(5415, "Workspace")),
|
|
1248
1284
|
description: workspaceFolder.fsPath,
|
|
1249
1285
|
target: "workspace",
|
|
1250
1286
|
folder: workspaceFolder
|
|
@@ -1253,19 +1289,19 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1253
1289
|
const userFolder = await resolveUserTargetDirectory(this.promptsService, promptType);
|
|
1254
1290
|
if (userFolder) {
|
|
1255
1291
|
items.push({
|
|
1256
|
-
label: ( localize(
|
|
1292
|
+
label: ( localize(5416, "User")),
|
|
1257
1293
|
description: userFolder.fsPath,
|
|
1258
1294
|
target: "user",
|
|
1259
1295
|
folder: userFolder
|
|
1260
1296
|
});
|
|
1261
1297
|
}
|
|
1262
1298
|
items.push({
|
|
1263
|
-
label: ( localize(
|
|
1299
|
+
label: ( localize(5417, "Cancel")),
|
|
1264
1300
|
target: "cancel"
|
|
1265
1301
|
});
|
|
1266
1302
|
return this.quickInputService.pick(items, {
|
|
1267
1303
|
canPickMany: false,
|
|
1268
|
-
placeHolder: ( localize(
|
|
1304
|
+
placeHolder: ( localize(5418, "Select Workspace, User, or Cancel")),
|
|
1269
1305
|
matchOnDescription: true
|
|
1270
1306
|
});
|
|
1271
1307
|
}
|
|
@@ -1298,7 +1334,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1298
1334
|
void this.listWidget?.refresh();
|
|
1299
1335
|
}, error => {
|
|
1300
1336
|
console.error("Failed to save built-in override:", error);
|
|
1301
|
-
this.notificationService.warn(saveRequest.target === "workspace" ? ( localize(
|
|
1337
|
+
this.notificationService.warn(saveRequest.target === "workspace" ? ( localize(5419, "Could not save the override to the workspace.")) : ( localize(5420, "Could not save the override to your user folder.")));
|
|
1302
1338
|
});
|
|
1303
1339
|
}
|
|
1304
1340
|
} finally {
|
|
@@ -1307,18 +1343,53 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1307
1343
|
}
|
|
1308
1344
|
}
|
|
1309
1345
|
updateEditorActionButton() {
|
|
1346
|
+
this.updateInputDirtyState();
|
|
1310
1347
|
if (!this.editorActionButton || !this.editorActionButtonIcon) {
|
|
1311
1348
|
return;
|
|
1312
1349
|
}
|
|
1313
1350
|
const shouldShowBuiltinSaveAction = this.shouldShowBuiltinSaveAction();
|
|
1314
1351
|
this.editorActionButtonIcon.className = `codicon codicon-${shouldShowBuiltinSaveAction ? Codicon.save.id : Codicon.arrowLeft.id} editor-action-button-icon`;
|
|
1315
1352
|
this.editorActionButton.disabled = this.editorActionButtonInProgress;
|
|
1316
|
-
this.editorActionButton.setAttribute("aria-label", shouldShowBuiltinSaveAction ? ( localize(
|
|
1317
|
-
this.editorActionButton.title = shouldShowBuiltinSaveAction ? ( localize(
|
|
1353
|
+
this.editorActionButton.setAttribute("aria-label", shouldShowBuiltinSaveAction ? ( localize(5421, "Save override")) : ( localize(5411, "Back to list")));
|
|
1354
|
+
this.editorActionButton.title = shouldShowBuiltinSaveAction ? ( localize(5422, "Save override (choose Workspace, User, or Cancel)")) : ( localize(5411, "Back to list"));
|
|
1318
1355
|
}
|
|
1319
1356
|
shouldShowBuiltinSaveAction() {
|
|
1320
1357
|
return this._editorContentChanged && this.currentEditingStorage === BUILTIN_STORAGE && (this.currentEditingPromptType === PromptsType.prompt || this.currentEditingPromptType === PromptsType.skill);
|
|
1321
1358
|
}
|
|
1359
|
+
updateInputDirtyState() {
|
|
1360
|
+
const input = this.input;
|
|
1361
|
+
if (input instanceof AICustomizationManagementEditorInput) {
|
|
1362
|
+
input.setDirty(this.shouldShowBuiltinSaveAction());
|
|
1363
|
+
}
|
|
1364
|
+
}
|
|
1365
|
+
async handleBuiltinSave() {
|
|
1366
|
+
if (!this.shouldShowBuiltinSaveAction()) {
|
|
1367
|
+
return false;
|
|
1368
|
+
}
|
|
1369
|
+
const target = await this.pickBuiltinPromptSaveTarget();
|
|
1370
|
+
if (!target || target.target === "cancel") {
|
|
1371
|
+
return false;
|
|
1372
|
+
}
|
|
1373
|
+
const saveRequest = this.createBuiltinPromptSaveRequest(target);
|
|
1374
|
+
if (!saveRequest) {
|
|
1375
|
+
return false;
|
|
1376
|
+
}
|
|
1377
|
+
try {
|
|
1378
|
+
await this.saveBuiltinPromptCopy(saveRequest);
|
|
1379
|
+
this.telemetryService.publicLog2("chatCustomizationEditor.saveItem", {
|
|
1380
|
+
promptType: this.currentEditingPromptType ?? "",
|
|
1381
|
+
storage: String(this.currentEditingStorage ?? ""),
|
|
1382
|
+
saveTarget: target.target
|
|
1383
|
+
});
|
|
1384
|
+
this._editorContentChanged = false;
|
|
1385
|
+
this.updateEditorActionButton();
|
|
1386
|
+
return true;
|
|
1387
|
+
} catch (error) {
|
|
1388
|
+
console.error("Failed to save built-in override:", error);
|
|
1389
|
+
this.notificationService.warn(target.target === "workspace" ? ( localize(5419, "Could not save the override to the workspace.")) : ( localize(5420, "Could not save the override to your user folder.")));
|
|
1390
|
+
return false;
|
|
1391
|
+
}
|
|
1392
|
+
}
|
|
1322
1393
|
resetEditorSaveIndicator() {
|
|
1323
1394
|
this.editorSaveIndicator.className = "editor-save-indicator";
|
|
1324
1395
|
this.editorSaveIndicator.title = "";
|
|
@@ -1344,7 +1415,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1344
1415
|
}
|
|
1345
1416
|
const detailHeader = append(this.mcpDetailContainer, $(".editor-header"));
|
|
1346
1417
|
const backButton = append(detailHeader, $("button.editor-back-button"));
|
|
1347
|
-
backButton.setAttribute("aria-label", ( localize(
|
|
1418
|
+
backButton.setAttribute("aria-label", ( localize(5423, "Back to MCP servers")));
|
|
1348
1419
|
const backIconEl = append(backButton, $(`.codicon.codicon-${Codicon.arrowLeft.id}`));
|
|
1349
1420
|
backIconEl.setAttribute("aria-hidden", "true");
|
|
1350
1421
|
this.editorDisposables.add(addDisposableListener(backButton, "click", () => {
|
|
@@ -1389,7 +1460,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
1389
1460
|
}
|
|
1390
1461
|
const detailHeader = append(this.pluginDetailContainer, $(".editor-header"));
|
|
1391
1462
|
const backButton = append(detailHeader, $("button.editor-back-button"));
|
|
1392
|
-
backButton.setAttribute("aria-label", ( localize(
|
|
1463
|
+
backButton.setAttribute("aria-label", ( localize(5424, "Back to plugins")));
|
|
1393
1464
|
const backIconEl = append(backButton, $(`.codicon.codicon-${Codicon.arrowLeft.id}`));
|
|
1394
1465
|
backIconEl.setAttribute("aria-hidden", "true");
|
|
1395
1466
|
this.editorDisposables.add(addDisposableListener(backButton, "click", () => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables";
|
|
2
|
-
import { IUntypedEditorInput, EditorInputCapabilities } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor";
|
|
2
|
+
import { IUntypedEditorInput, EditorInputCapabilities, GroupIdentifier, ISaveOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor";
|
|
3
3
|
import { EditorInput } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/editorInput";
|
|
4
4
|
/**
|
|
5
5
|
* Editor input for the AI Customizations Management Editor.
|
|
@@ -8,6 +8,8 @@ import { EditorInput } from "@codingame/monaco-vscode-api/vscode/vs/workbench/co
|
|
|
8
8
|
export declare class AICustomizationManagementEditorInput extends EditorInput {
|
|
9
9
|
static readonly ID: string;
|
|
10
10
|
readonly resource: undefined;
|
|
11
|
+
private _isDirty;
|
|
12
|
+
private _saveHandler?;
|
|
11
13
|
get capabilities(): EditorInputCapabilities;
|
|
12
14
|
private static _instance;
|
|
13
15
|
/**
|
|
@@ -20,4 +22,9 @@ export declare class AICustomizationManagementEditorInput extends EditorInput {
|
|
|
20
22
|
getName(): string;
|
|
21
23
|
getIcon(): ThemeIcon;
|
|
22
24
|
resolve(): Promise<null>;
|
|
25
|
+
isDirty(): boolean;
|
|
26
|
+
save(group: GroupIdentifier, options?: ISaveOptions): Promise<EditorInput | undefined>;
|
|
27
|
+
revert(): Promise<void>;
|
|
28
|
+
setDirty(dirty: boolean): void;
|
|
29
|
+
setSaveHandler(handler: (() => Promise<boolean>) | undefined): void;
|
|
23
30
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
3
3
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
|
-
import { EditorInputCapabilities } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
|
|
4
|
+
import { EditorInputCapabilities, SaveReason } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
|
|
5
5
|
import { EditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/editorInput';
|
|
6
6
|
import { AI_CUSTOMIZATION_MANAGEMENT_EDITOR_INPUT_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement';
|
|
7
7
|
|
|
@@ -21,6 +21,7 @@ class AICustomizationManagementEditorInput extends EditorInput {
|
|
|
21
21
|
constructor() {
|
|
22
22
|
super();
|
|
23
23
|
this.resource = undefined;
|
|
24
|
+
this._isDirty = false;
|
|
24
25
|
}
|
|
25
26
|
matches(otherInput) {
|
|
26
27
|
return super.matches(otherInput) || otherInput instanceof AICustomizationManagementEditorInput;
|
|
@@ -29,7 +30,7 @@ class AICustomizationManagementEditorInput extends EditorInput {
|
|
|
29
30
|
return AICustomizationManagementEditorInput.ID;
|
|
30
31
|
}
|
|
31
32
|
getName() {
|
|
32
|
-
return localize(
|
|
33
|
+
return localize(5425, "Chat Customizations");
|
|
33
34
|
}
|
|
34
35
|
getIcon() {
|
|
35
36
|
return Codicon.settingsGear;
|
|
@@ -37,6 +38,31 @@ class AICustomizationManagementEditorInput extends EditorInput {
|
|
|
37
38
|
async resolve() {
|
|
38
39
|
return null;
|
|
39
40
|
}
|
|
41
|
+
isDirty() {
|
|
42
|
+
return this._isDirty;
|
|
43
|
+
}
|
|
44
|
+
async save(group, options) {
|
|
45
|
+
if (options?.reason !== undefined && options.reason !== SaveReason.EXPLICIT) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
if (this._saveHandler) {
|
|
49
|
+
const saved = await this._saveHandler();
|
|
50
|
+
return saved ? this : undefined;
|
|
51
|
+
}
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
async revert() {
|
|
55
|
+
this.setDirty(false);
|
|
56
|
+
}
|
|
57
|
+
setDirty(dirty) {
|
|
58
|
+
if (this._isDirty !== dirty) {
|
|
59
|
+
this._isDirty = dirty;
|
|
60
|
+
this._onDidChangeDirty.fire();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
setSaveHandler(handler) {
|
|
64
|
+
this._saveHandler = handler;
|
|
65
|
+
}
|
|
40
66
|
}
|
|
41
67
|
|
|
42
68
|
export { AICustomizationManagementEditorInput };
|
|
@@ -28,4 +28,6 @@ export declare class AICustomizationWorkspaceService implements IAICustomization
|
|
|
28
28
|
deleteFiles(_projectRoot: URI, _fileUris: URI[]): Promise<void>;
|
|
29
29
|
generateCustomization(type: PromptsType): Promise<void>;
|
|
30
30
|
getFilteredPromptSlashCommands(token: CancellationToken): Promise<readonly IChatPromptSlashCommand[]>;
|
|
31
|
+
private static readonly _emptyIntegrations;
|
|
32
|
+
getSkillUIIntegrations(): ReadonlyMap<string, string>;
|
|
31
33
|
}
|
|
@@ -14,7 +14,11 @@ import { constObservable } from '@codingame/monaco-vscode-api/vscode/vs/base/com
|
|
|
14
14
|
import { observableFromEventOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
|
|
15
15
|
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
16
16
|
|
|
17
|
+
var AICustomizationWorkspaceService_1;
|
|
17
18
|
let AICustomizationWorkspaceService = class AICustomizationWorkspaceService {
|
|
19
|
+
static {
|
|
20
|
+
AICustomizationWorkspaceService_1 = this;
|
|
21
|
+
}
|
|
18
22
|
constructor(workspaceContextService, commandService, promptsService, harnessService) {
|
|
19
23
|
this.workspaceContextService = workspaceContextService;
|
|
20
24
|
this.commandService = commandService;
|
|
@@ -66,7 +70,13 @@ let AICustomizationWorkspaceService = class AICustomizationWorkspaceService {
|
|
|
66
70
|
async getFilteredPromptSlashCommands(token) {
|
|
67
71
|
return this.promptsService.getPromptSlashCommands(token);
|
|
68
72
|
}
|
|
73
|
+
static {
|
|
74
|
+
this._emptyIntegrations = ( new Map());
|
|
75
|
+
}
|
|
76
|
+
getSkillUIIntegrations() {
|
|
77
|
+
return AICustomizationWorkspaceService_1._emptyIntegrations;
|
|
78
|
+
}
|
|
69
79
|
};
|
|
70
|
-
AICustomizationWorkspaceService = ( __decorate([( __param(0, IWorkspaceContextService)), ( __param(1, ICommandService)), ( __param(2, IPromptsService)), ( __param(3, ICustomizationHarnessService))], AICustomizationWorkspaceService));
|
|
80
|
+
AICustomizationWorkspaceService = AICustomizationWorkspaceService_1 = ( __decorate([( __param(0, IWorkspaceContextService)), ( __param(1, ICommandService)), ( __param(2, IPromptsService)), ( __param(3, ICustomizationHarnessService))], AICustomizationWorkspaceService));
|
|
71
81
|
|
|
72
82
|
export { AICustomizationWorkspaceService };
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { CustomizationHarnessServiceBase } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService";
|
|
2
2
|
import { IPathService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service";
|
|
3
|
-
import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service";
|
|
4
3
|
/**
|
|
5
4
|
* Core implementation of the customization harness service.
|
|
6
5
|
* Exposes VS Code, CLI, and Claude harnesses for filtering customizations.
|
|
7
|
-
* CLI and Claude harnesses are only shown when their respective agents are registered.
|
|
8
6
|
*/
|
|
9
7
|
export declare class CustomizationHarnessService extends CustomizationHarnessServiceBase {
|
|
10
|
-
constructor(pathService: IPathService
|
|
8
|
+
constructor(pathService: IPathService);
|
|
11
9
|
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
-
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
4
3
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
5
4
|
import { CustomizationHarnessServiceBase, createVSCodeHarnessDescriptor, createCliHarnessDescriptor, getCliUserRoots, createClaudeHarnessDescriptor, getClaudeUserRoots, CustomizationHarness } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService';
|
|
6
5
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
7
6
|
import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
8
7
|
import { BUILTIN_STORAGE } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
|
|
9
8
|
import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
|
|
10
|
-
import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service';
|
|
11
|
-
import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
|
|
12
|
-
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
13
9
|
|
|
14
10
|
let CustomizationHarnessService = class CustomizationHarnessService extends CustomizationHarnessServiceBase {
|
|
15
|
-
constructor(pathService
|
|
11
|
+
constructor(pathService) {
|
|
16
12
|
const userHome = pathService.userHome({
|
|
17
13
|
preferLocal: true
|
|
18
14
|
});
|
|
@@ -23,22 +19,9 @@ let CustomizationHarnessService = class CustomizationHarnessService extends Cust
|
|
|
23
19
|
createCliHarnessDescriptor(getCliUserRoots(userHome), restrictedExtras),
|
|
24
20
|
createClaudeHarnessDescriptor(getClaudeUserRoots(userHome), restrictedExtras)
|
|
25
21
|
];
|
|
26
|
-
|
|
27
|
-
chatAgentService.onDidChangeAgents,
|
|
28
|
-
() => chatAgentService.getAgents().length
|
|
29
|
-
);
|
|
30
|
-
const available = derived(reader => {
|
|
31
|
-
agentCount.read(reader);
|
|
32
|
-
return allHarnesses.filter(h => {
|
|
33
|
-
if (!h.requiredAgentId) {
|
|
34
|
-
return true;
|
|
35
|
-
}
|
|
36
|
-
return !!chatAgentService.getAgent(h.requiredAgentId);
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
super(allHarnesses, CustomizationHarness.VSCode, available);
|
|
22
|
+
super(allHarnesses, CustomizationHarness.VSCode);
|
|
40
23
|
}
|
|
41
24
|
};
|
|
42
|
-
CustomizationHarnessService = ( __decorate([( __param(0, IPathService))
|
|
25
|
+
CustomizationHarnessService = ( __decorate([( __param(0, IPathService))], CustomizationHarnessService));
|
|
43
26
|
|
|
44
27
|
export { CustomizationHarnessService };
|