@codingame/monaco-vscode-chat-service-override 28.4.0 → 29.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 +18 -12
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +300 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.js +31 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +84 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +16 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +488 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +424 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +50 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +202 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +114 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +723 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +33 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +40 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +22 -0
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +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.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +29 -15
- 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 +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -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 +76 -10
- 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 +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +162 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +167 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +52 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +195 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +97 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +78 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +174 -170
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +118 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +13 -2
- 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.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -10
- 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 +9 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +23 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +341 -196
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +79 -7
- 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 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +22 -10
- 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 +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +85 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +668 -214
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +306 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +84 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +651 -81
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +31 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +9 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -142
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.d.ts +43 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +63 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +25 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +297 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +153 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +17 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +111 -171
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +5 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +277 -186
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +31 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +3 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +4 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +18 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +112 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +16 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +41 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +35 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +1 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +8 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +13 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +29 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +14 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +79 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +125 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +11 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +113 -82
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +18 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +54 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +8 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +103 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +48 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +28 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +62 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +21 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -1
- 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 +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +17 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +43 -5
- 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 +59 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +194 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +8 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +81 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
- 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.js +23 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +9 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +19 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +105 -172
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +80 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +70 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +33 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +21 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +362 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +90 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +146 -0
- 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/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -9
- 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.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +33 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +200 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +90 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +21 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +22 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +28 -13
- 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/chatInputCompletions.js +20 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +68 -5
- 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 +57 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +21 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +171 -57
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +7 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +206 -35
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +11 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +44 -22
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +450 -301
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +165 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +34 -20
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +209 -144
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +205 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +47 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +30 -0
- 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 +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +191 -159
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +6 -7
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +210 -233
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +19 -26
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +183 -193
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +75 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +8 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +97 -35
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +67 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +62 -23
- 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 +8 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +23 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +50 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +21 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +124 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +20 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +10 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +46 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +74 -37
- 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/commandLineAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +24 -14
- 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/commandLineAnalyzer/commandLineSandboxAnalyzer.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +5 -1
- 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 +3 -3
- 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.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +66 -64
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +5 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +390 -114
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +21 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +70 -51
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +61 -51
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +94 -76
- 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 +19 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +112 -21
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +0 -53
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +0 -219
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +0 -89
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +0 -251
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +0 -123
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +0 -278
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +0 -76
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +0 -299
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +0 -67
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +0 -263
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +0 -85
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +0 -397
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +0 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +0 -30
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +0 -28
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +0 -190
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +0 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -16
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -20
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables";
|
|
2
|
-
import { IUntypedEditorInput } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor";
|
|
2
|
+
import { IUntypedEditorInput, EditorInputCapabilities } 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,7 @@ 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
|
+
get capabilities(): EditorInputCapabilities;
|
|
11
12
|
private static _instance;
|
|
12
13
|
/**
|
|
13
14
|
* Gets or creates the singleton instance of this input.
|
|
@@ -1,13 +1,17 @@
|
|
|
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
5
|
import { EditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/editorInput';
|
|
5
|
-
import { AI_CUSTOMIZATION_MANAGEMENT_EDITOR_INPUT_ID } from '
|
|
6
|
+
import { AI_CUSTOMIZATION_MANAGEMENT_EDITOR_INPUT_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement';
|
|
6
7
|
|
|
7
8
|
class AICustomizationManagementEditorInput extends EditorInput {
|
|
8
9
|
static {
|
|
9
10
|
this.ID = AI_CUSTOMIZATION_MANAGEMENT_EDITOR_INPUT_ID;
|
|
10
11
|
}
|
|
12
|
+
get capabilities() {
|
|
13
|
+
return super.capabilities | EditorInputCapabilities.Singleton | EditorInputCapabilities.RequiresModal;
|
|
14
|
+
}
|
|
11
15
|
static getOrCreate() {
|
|
12
16
|
if (!AICustomizationManagementEditorInput._instance || AICustomizationManagementEditorInput._instance.isDisposed()) {
|
|
13
17
|
AICustomizationManagementEditorInput._instance = ( new AICustomizationManagementEditorInput());
|
|
@@ -25,7 +29,7 @@ class AICustomizationManagementEditorInput extends EditorInput {
|
|
|
25
29
|
return AICustomizationManagementEditorInput.ID;
|
|
26
30
|
}
|
|
27
31
|
getName() {
|
|
28
|
-
return localize(
|
|
32
|
+
return localize(5393, "Chat Customizations");
|
|
29
33
|
}
|
|
30
34
|
getIcon() {
|
|
31
35
|
return Codicon.settingsGear;
|
|
@@ -1 +1,31 @@
|
|
|
1
|
-
|
|
1
|
+
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
2
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
3
|
+
import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
4
|
+
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
5
|
+
import { AICustomizationManagementSection, IStorageSourceFilter } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService";
|
|
6
|
+
import { IAICustomizationWorkspaceService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.service";
|
|
7
|
+
import { IChatPromptSlashCommand } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
|
|
8
|
+
import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service";
|
|
9
|
+
import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
|
|
10
|
+
import { PromptsType } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes";
|
|
11
|
+
import { ICustomizationHarnessService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService.service";
|
|
12
|
+
export declare class AICustomizationWorkspaceService implements IAICustomizationWorkspaceService {
|
|
13
|
+
private readonly workspaceContextService;
|
|
14
|
+
private readonly commandService;
|
|
15
|
+
private readonly promptsService;
|
|
16
|
+
private readonly harnessService;
|
|
17
|
+
readonly _serviceBrand: undefined;
|
|
18
|
+
readonly activeProjectRoot: IObservable<URI | undefined>;
|
|
19
|
+
constructor(workspaceContextService: IWorkspaceContextService, commandService: ICommandService, promptsService: IPromptsService, harnessService: ICustomizationHarnessService);
|
|
20
|
+
getActiveProjectRoot(): URI | undefined;
|
|
21
|
+
readonly managementSections: readonly AICustomizationManagementSection[];
|
|
22
|
+
getStorageSourceFilter(type: PromptsType): IStorageSourceFilter;
|
|
23
|
+
readonly isSessionsWindow = false;
|
|
24
|
+
readonly hasOverrideProjectRoot: IObservable<boolean>;
|
|
25
|
+
setOverrideProjectRoot(_root: URI): void;
|
|
26
|
+
clearOverrideProjectRoot(): void;
|
|
27
|
+
commitFiles(_projectRoot: URI, _fileUris: URI[]): Promise<void>;
|
|
28
|
+
deleteFiles(_projectRoot: URI, _fileUris: URI[]): Promise<void>;
|
|
29
|
+
generateCustomization(type: PromptsType): Promise<void>;
|
|
30
|
+
getFilteredPromptSlashCommands(token: CancellationToken): Promise<readonly IChatPromptSlashCommand[]>;
|
|
31
|
+
}
|
|
@@ -2,27 +2,24 @@
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
4
4
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
5
|
-
import { AICustomizationManagementSection } from '
|
|
5
|
+
import { AICustomizationManagementSection } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
|
|
6
6
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
7
7
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
8
|
-
import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
9
8
|
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
10
9
|
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
11
10
|
import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
11
|
+
import { ICustomizationHarnessService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService.service';
|
|
12
12
|
import { GENERATE_HOOK_COMMAND_ID, GENERATE_PROMPT_COMMAND_ID, GENERATE_ON_DEMAND_INSTRUCTIONS_COMMAND_ID, GENERATE_SKILL_COMMAND_ID, GENERATE_AGENT_COMMAND_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
13
13
|
import { constObservable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/constObservable';
|
|
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;
|
|
18
17
|
let AICustomizationWorkspaceService = class AICustomizationWorkspaceService {
|
|
19
|
-
|
|
20
|
-
AICustomizationWorkspaceService_1 = this;
|
|
21
|
-
}
|
|
22
|
-
constructor(workspaceContextService, commandService, promptsService) {
|
|
18
|
+
constructor(workspaceContextService, commandService, promptsService, harnessService) {
|
|
23
19
|
this.workspaceContextService = workspaceContextService;
|
|
24
20
|
this.commandService = commandService;
|
|
25
21
|
this.promptsService = promptsService;
|
|
22
|
+
this.harnessService = harnessService;
|
|
26
23
|
this.managementSections = [
|
|
27
24
|
AICustomizationManagementSection.Agents,
|
|
28
25
|
AICustomizationManagementSection.Skills,
|
|
@@ -46,18 +43,8 @@ let AICustomizationWorkspaceService = class AICustomizationWorkspaceService {
|
|
|
46
43
|
const folders = this.workspaceContextService.getWorkspace().folders;
|
|
47
44
|
return folders[0]?.uri;
|
|
48
45
|
}
|
|
49
|
-
|
|
50
|
-
this.
|
|
51
|
-
sources: [
|
|
52
|
-
PromptsStorage.local,
|
|
53
|
-
PromptsStorage.user,
|
|
54
|
-
PromptsStorage.extension,
|
|
55
|
-
PromptsStorage.plugin
|
|
56
|
-
]
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
getStorageSourceFilter(_type) {
|
|
60
|
-
return AICustomizationWorkspaceService_1._defaultFilter;
|
|
46
|
+
getStorageSourceFilter(type) {
|
|
47
|
+
return this.harnessService.getStorageSourceFilter(type);
|
|
61
48
|
}
|
|
62
49
|
setOverrideProjectRoot(_root) {}
|
|
63
50
|
clearOverrideProjectRoot() {}
|
|
@@ -80,4 +67,6 @@ let AICustomizationWorkspaceService = class AICustomizationWorkspaceService {
|
|
|
80
67
|
return this.promptsService.getPromptSlashCommands(token);
|
|
81
68
|
}
|
|
82
69
|
};
|
|
83
|
-
AICustomizationWorkspaceService =
|
|
70
|
+
AICustomizationWorkspaceService = ( __decorate([( __param(0, IWorkspaceContextService)), ( __param(1, ICommandService)), ( __param(2, IPromptsService)), ( __param(3, ICustomizationHarnessService))], AICustomizationWorkspaceService));
|
|
71
|
+
|
|
72
|
+
export { AICustomizationWorkspaceService };
|
|
@@ -6,6 +6,7 @@ import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbenc
|
|
|
6
6
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
7
7
|
import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
|
|
8
8
|
import { IQuickInputService } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service";
|
|
9
|
+
import { ICustomizationHarnessService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService.service";
|
|
9
10
|
/**
|
|
10
11
|
* Service that opens an AI-guided chat session to help the user create
|
|
11
12
|
* a new customization (agent, skill, instructions, prompt, hook).
|
|
@@ -21,13 +22,22 @@ export declare class CustomizationCreatorService {
|
|
|
21
22
|
private readonly workspaceService;
|
|
22
23
|
private readonly promptsService;
|
|
23
24
|
private readonly quickInputService;
|
|
24
|
-
|
|
25
|
+
private readonly harnessService;
|
|
26
|
+
constructor(commandService: ICommandService, chatService: IChatService, chatWidgetService: IChatWidgetService, workspaceService: IAICustomizationWorkspaceService, promptsService: IPromptsService, quickInputService: IQuickInputService, harnessService: ICustomizationHarnessService);
|
|
25
27
|
createWithAI(type: PromptsType): Promise<void>;
|
|
26
28
|
/**
|
|
27
29
|
* Resolves the workspace directory for a new customization file based on the
|
|
28
30
|
* active project root.
|
|
29
31
|
*/
|
|
30
32
|
resolveTargetDirectory(type: PromptsType): URI | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Resolves the workspace directory for a new customization file.
|
|
35
|
+
* If multiple local source folders exist, shows a picker to let the user choose.
|
|
36
|
+
*
|
|
37
|
+
* @returns the resolved URI, `undefined` when no folder is available,
|
|
38
|
+
* or `null` when the user cancelled the picker.
|
|
39
|
+
*/
|
|
40
|
+
private resolveTargetDirectoryWithPicker;
|
|
31
41
|
/**
|
|
32
42
|
* Resolves the user-level directory for a new customization file.
|
|
33
43
|
*/
|
package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js
CHANGED
|
@@ -1,81 +1,14 @@
|
|
|
1
1
|
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
6
|
-
import { ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
7
|
-
import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
2
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
3
|
+
import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
|
|
4
|
+
import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
8
5
|
import { getPromptFileDefaultLocations } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
9
6
|
import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
10
|
-
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
11
7
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
8
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
9
|
+
import '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
10
|
+
import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService';
|
|
15
11
|
|
|
16
|
-
let CustomizationCreatorService = class CustomizationCreatorService {
|
|
17
|
-
constructor(
|
|
18
|
-
commandService,
|
|
19
|
-
chatService,
|
|
20
|
-
chatWidgetService,
|
|
21
|
-
workspaceService,
|
|
22
|
-
promptsService,
|
|
23
|
-
quickInputService
|
|
24
|
-
) {
|
|
25
|
-
this.commandService = commandService;
|
|
26
|
-
this.chatService = chatService;
|
|
27
|
-
this.chatWidgetService = chatWidgetService;
|
|
28
|
-
this.workspaceService = workspaceService;
|
|
29
|
-
this.promptsService = promptsService;
|
|
30
|
-
this.quickInputService = quickInputService;
|
|
31
|
-
}
|
|
32
|
-
async createWithAI(type) {
|
|
33
|
-
const typeLabel = getTypeLabel(type);
|
|
34
|
-
const name = await this.quickInputService.input({
|
|
35
|
-
prompt: ( localize(5317, "Name for the new {0}", typeLabel)),
|
|
36
|
-
placeHolder: ( localize(5318, "e.g., my-{0}", typeLabel)),
|
|
37
|
-
validateInput: async value => {
|
|
38
|
-
if (!value || !value.trim()) {
|
|
39
|
-
return localize(5319, "Name is required");
|
|
40
|
-
}
|
|
41
|
-
return undefined;
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
if (!name) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
const trimmedName = name.trim();
|
|
48
|
-
const targetDir = this.resolveTargetDirectory(type);
|
|
49
|
-
const systemInstructions = buildAgentInstructions(type, targetDir, trimmedName);
|
|
50
|
-
const userMessage = buildUserMessage(type, targetDir, trimmedName);
|
|
51
|
-
await this.commandService.executeCommand("workbench.action.chat.newChat");
|
|
52
|
-
const widget = this.chatWidgetService.lastFocusedWidget;
|
|
53
|
-
const sessionResource = widget?.viewModel?.sessionResource;
|
|
54
|
-
if (!sessionResource) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
await this.chatService.sendRequest(sessionResource, userMessage, {
|
|
58
|
-
modeInfo: {
|
|
59
|
-
kind: ChatModeKind.Agent,
|
|
60
|
-
isBuiltin: false,
|
|
61
|
-
modeId: "custom",
|
|
62
|
-
applyCodeBlockSuggestionId: undefined,
|
|
63
|
-
modeInstructions: {
|
|
64
|
-
name: "customization-creator",
|
|
65
|
-
content: systemInstructions,
|
|
66
|
-
toolReferences: []
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
resolveTargetDirectory(type) {
|
|
72
|
-
return resolveWorkspaceTargetDirectory(this.workspaceService, type);
|
|
73
|
-
}
|
|
74
|
-
async resolveUserDirectory(type) {
|
|
75
|
-
return resolveUserTargetDirectory(this.promptsService, type);
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
CustomizationCreatorService = ( __decorate([( __param(0, ICommandService)), ( __param(1, IChatService)), ( __param(2, IChatWidgetService)), ( __param(3, IAICustomizationWorkspaceService)), ( __param(4, IPromptsService)), ( __param(5, IQuickInputService))], CustomizationCreatorService));
|
|
79
12
|
function resolveWorkspaceTargetDirectory(workspaceService, type) {
|
|
80
13
|
const basePath = workspaceService.getActiveProjectRoot();
|
|
81
14
|
if (!basePath) {
|
|
@@ -93,73 +26,5 @@ async function resolveUserTargetDirectory(promptsService, type) {
|
|
|
93
26
|
const userFolder = folders.find(f => f.storage === PromptsStorage.user);
|
|
94
27
|
return userFolder?.uri;
|
|
95
28
|
}
|
|
96
|
-
function buildAgentInstructions(type, targetDir, name) {
|
|
97
|
-
const targetHint = targetDir ? `\nIMPORTANT: Save the file to this directory: ${targetDir.fsPath}. The name is "${name}".` : `\nThe name is "${name}".`;
|
|
98
|
-
const writePolicy = `
|
|
99
|
-
|
|
100
|
-
CRITICAL WORKFLOW:
|
|
101
|
-
- In your VERY FIRST response, you MUST immediately create the file on disk from a starter template with placeholder content. Do not ask questions first -- write the file first so it appears in the diff view, then ask the user how they want to customize it.
|
|
102
|
-
- Every subsequent message from the user should result in you updating that same file on disk with the requested changes.
|
|
103
|
-
- Always write the complete file content, not partial diffs.${targetHint}`;
|
|
104
|
-
switch (type) {
|
|
105
|
-
case PromptsType.agent:
|
|
106
|
-
return `You are a helpful assistant that guides users through creating a new custom AI agent.${writePolicy}
|
|
107
|
-
|
|
108
|
-
Create a file named "${name}.agent.md" with YAML frontmatter (name, description, tools) and system instructions. Ask the user what it should do.`;
|
|
109
|
-
case PromptsType.skill:
|
|
110
|
-
return `You are a helpful assistant that guides users through creating a new skill.${writePolicy}
|
|
111
|
-
|
|
112
|
-
Create a directory named "${name}" with a SKILL.md file inside it. The file should have YAML frontmatter (name, description) and instructions. Ask the user what it does.`;
|
|
113
|
-
case PromptsType.instructions:
|
|
114
|
-
return `You are a helpful assistant that guides users through creating a new instructions file.${writePolicy}
|
|
115
|
-
|
|
116
|
-
Create a file named "${name}.instructions.md" with YAML frontmatter (description, optional applyTo) and actionable content. Ask the user what it should cover.`;
|
|
117
|
-
case PromptsType.prompt:
|
|
118
|
-
return `You are a helpful assistant that guides users through creating a new reusable prompt.${writePolicy}
|
|
119
|
-
|
|
120
|
-
Create a file named "${name}.prompt.md" with YAML frontmatter (name, description) and prompt content. Ask the user what it should do.`;
|
|
121
|
-
case PromptsType.hook:
|
|
122
|
-
return `You are a helpful assistant that guides users through creating a new hook.${writePolicy}
|
|
123
|
-
|
|
124
|
-
Ask the user when the hook should trigger and what it should do, then write the configuration file.`;
|
|
125
|
-
default:
|
|
126
|
-
return `You are a helpful assistant that guides users through creating a new AI customization file.${writePolicy}
|
|
127
|
-
|
|
128
|
-
Ask the user what they want to create, then guide them step by step.`;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
function buildUserMessage(type, targetDir, name) {
|
|
132
|
-
const pathHint = targetDir ? ` Write it to \`${targetDir.fsPath}\`.` : "";
|
|
133
|
-
switch (type) {
|
|
134
|
-
case PromptsType.agent:
|
|
135
|
-
return `Help me create a new custom agent called "${name}".${pathHint}`;
|
|
136
|
-
case PromptsType.skill:
|
|
137
|
-
return `Help me create a new skill called "${name}".${pathHint}`;
|
|
138
|
-
case PromptsType.instructions:
|
|
139
|
-
return `Help me create new instructions called "${name}".${pathHint}`;
|
|
140
|
-
case PromptsType.prompt:
|
|
141
|
-
return `Help me create a new prompt called "${name}".${pathHint}`;
|
|
142
|
-
case PromptsType.hook:
|
|
143
|
-
return `Help me create a new hook called "${name}".${pathHint}`;
|
|
144
|
-
default:
|
|
145
|
-
return `Help me create a new customization called "${name}".${pathHint}`;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
function getTypeLabel(type) {
|
|
149
|
-
switch (type) {
|
|
150
|
-
case PromptsType.agent:
|
|
151
|
-
return "agent";
|
|
152
|
-
case PromptsType.skill:
|
|
153
|
-
return "skill";
|
|
154
|
-
case PromptsType.instructions:
|
|
155
|
-
return "instructions";
|
|
156
|
-
case PromptsType.prompt:
|
|
157
|
-
return "prompt";
|
|
158
|
-
case PromptsType.hook:
|
|
159
|
-
return "hook";
|
|
160
|
-
default:
|
|
161
|
-
return "customization";
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
29
|
|
|
165
|
-
export {
|
|
30
|
+
export { resolveUserTargetDirectory, resolveWorkspaceTargetDirectory };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { DisposableStore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables";
|
|
3
|
+
import { IListRenderer } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/list/list";
|
|
4
|
+
import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
|
|
5
|
+
export declare const CUSTOMIZATION_GROUP_HEADER_HEIGHT = 36;
|
|
6
|
+
export declare const CUSTOMIZATION_GROUP_HEADER_HEIGHT_WITH_SEPARATOR = 40;
|
|
7
|
+
/**
|
|
8
|
+
* Common shape for a collapsible group header entry used in the
|
|
9
|
+
* MCP-server and plugin list widgets.
|
|
10
|
+
*/
|
|
11
|
+
export interface ICustomizationGroupHeaderEntry {
|
|
12
|
+
readonly type: "group-header";
|
|
13
|
+
readonly id: string;
|
|
14
|
+
readonly label: string;
|
|
15
|
+
readonly icon: ThemeIcon;
|
|
16
|
+
readonly count: number;
|
|
17
|
+
readonly isFirst: boolean;
|
|
18
|
+
readonly description: string;
|
|
19
|
+
collapsed: boolean;
|
|
20
|
+
}
|
|
21
|
+
interface ICustomizationGroupHeaderTemplateData {
|
|
22
|
+
readonly container: HTMLElement;
|
|
23
|
+
readonly chevron: HTMLElement;
|
|
24
|
+
readonly icon: HTMLElement;
|
|
25
|
+
readonly label: HTMLElement;
|
|
26
|
+
readonly count: HTMLElement;
|
|
27
|
+
readonly infoIcon: HTMLElement;
|
|
28
|
+
readonly disposables: DisposableStore;
|
|
29
|
+
readonly elementDisposables: DisposableStore;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Shared renderer for collapsible group headers in the AI Customization
|
|
33
|
+
* list widgets (MCP servers, plugins, etc.).
|
|
34
|
+
*/
|
|
35
|
+
export declare class CustomizationGroupHeaderRenderer<T extends ICustomizationGroupHeaderEntry> implements IListRenderer<T, ICustomizationGroupHeaderTemplateData> {
|
|
36
|
+
readonly templateId: string;
|
|
37
|
+
private readonly hoverService;
|
|
38
|
+
constructor(templateId: string, hoverService: IHoverService);
|
|
39
|
+
renderTemplate(container: HTMLElement): ICustomizationGroupHeaderTemplateData;
|
|
40
|
+
renderElement(element: T, _index: number, templateData: ICustomizationGroupHeaderTemplateData): void;
|
|
41
|
+
disposeTemplate(templateData: ICustomizationGroupHeaderTemplateData): void;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
|
|
2
|
+
import { $ as $$1, append } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
3
|
+
import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
4
|
+
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
5
|
+
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
6
|
+
|
|
7
|
+
const $ = $$1;
|
|
8
|
+
const CUSTOMIZATION_GROUP_HEADER_HEIGHT = 36;
|
|
9
|
+
const CUSTOMIZATION_GROUP_HEADER_HEIGHT_WITH_SEPARATOR = 40;
|
|
10
|
+
class CustomizationGroupHeaderRenderer {
|
|
11
|
+
constructor(templateId, hoverService) {
|
|
12
|
+
this.templateId = templateId;
|
|
13
|
+
this.hoverService = hoverService;
|
|
14
|
+
}
|
|
15
|
+
renderTemplate(container) {
|
|
16
|
+
const disposables = ( new DisposableStore());
|
|
17
|
+
const elementDisposables = ( new DisposableStore());
|
|
18
|
+
container.classList.add("ai-customization-group-header");
|
|
19
|
+
const chevron = append(container, $(".group-chevron"));
|
|
20
|
+
const icon = append(container, $(".group-icon"));
|
|
21
|
+
const labelGroup = append(container, $(".group-label-group"));
|
|
22
|
+
const label = append(labelGroup, $(".group-label"));
|
|
23
|
+
const infoIcon = append(labelGroup, $(".group-info"));
|
|
24
|
+
infoIcon.classList.add(...ThemeIcon.asClassNameArray(Codicon.info));
|
|
25
|
+
const count = append(container, $(".group-count"));
|
|
26
|
+
return {
|
|
27
|
+
container,
|
|
28
|
+
chevron,
|
|
29
|
+
icon,
|
|
30
|
+
label,
|
|
31
|
+
count,
|
|
32
|
+
infoIcon,
|
|
33
|
+
disposables,
|
|
34
|
+
elementDisposables
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
renderElement(element, _index, templateData) {
|
|
38
|
+
templateData.elementDisposables.clear();
|
|
39
|
+
templateData.chevron.className = "group-chevron";
|
|
40
|
+
templateData.chevron.classList.add(
|
|
41
|
+
...ThemeIcon.asClassNameArray(element.collapsed ? Codicon.chevronRight : Codicon.chevronDown)
|
|
42
|
+
);
|
|
43
|
+
templateData.icon.className = "group-icon";
|
|
44
|
+
templateData.icon.classList.add(...ThemeIcon.asClassNameArray(element.icon));
|
|
45
|
+
templateData.label.textContent = element.label;
|
|
46
|
+
templateData.count.textContent = `${element.count}`;
|
|
47
|
+
templateData.elementDisposables.add(this.hoverService.setupDelayedHover(templateData.infoIcon, () => ({
|
|
48
|
+
content: element.description,
|
|
49
|
+
appearance: {
|
|
50
|
+
compact: true,
|
|
51
|
+
skipFadeInAnimation: true
|
|
52
|
+
}
|
|
53
|
+
})));
|
|
54
|
+
templateData.container.classList.toggle("collapsed", element.collapsed);
|
|
55
|
+
templateData.container.classList.toggle("has-previous-group", !element.isFirst);
|
|
56
|
+
}
|
|
57
|
+
disposeTemplate(templateData) {
|
|
58
|
+
templateData.elementDisposables.dispose();
|
|
59
|
+
templateData.disposables.dispose();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export { CUSTOMIZATION_GROUP_HEADER_HEIGHT, CUSTOMIZATION_GROUP_HEADER_HEIGHT_WITH_SEPARATOR, CustomizationGroupHeaderRenderer };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CustomizationHarnessServiceBase } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService";
|
|
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
|
+
/**
|
|
5
|
+
* Core implementation of the customization harness service.
|
|
6
|
+
* 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
|
+
*/
|
|
9
|
+
export declare class CustomizationHarnessService extends CustomizationHarnessServiceBase {
|
|
10
|
+
constructor(pathService: IPathService, chatAgentService: IChatAgentService);
|
|
11
|
+
}
|
package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
|
|
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
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
5
|
+
import { CustomizationHarnessServiceBase, createVSCodeHarnessDescriptor, createCliHarnessDescriptor, getCliUserRoots, createClaudeHarnessDescriptor, getClaudeUserRoots, CustomizationHarness } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/customizationHarnessService';
|
|
6
|
+
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
7
|
+
import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
8
|
+
import { BUILTIN_STORAGE } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService';
|
|
9
|
+
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
|
+
|
|
14
|
+
let CustomizationHarnessService = class CustomizationHarnessService extends CustomizationHarnessServiceBase {
|
|
15
|
+
constructor(pathService, chatAgentService) {
|
|
16
|
+
const userHome = pathService.userHome({
|
|
17
|
+
preferLocal: true
|
|
18
|
+
});
|
|
19
|
+
const localExtras = [PromptsStorage.extension, BUILTIN_STORAGE];
|
|
20
|
+
const restrictedExtras = [];
|
|
21
|
+
const allHarnesses = [
|
|
22
|
+
createVSCodeHarnessDescriptor(localExtras),
|
|
23
|
+
createCliHarnessDescriptor(getCliUserRoots(userHome), restrictedExtras),
|
|
24
|
+
createClaudeHarnessDescriptor(getClaudeUserRoots(userHome), restrictedExtras)
|
|
25
|
+
];
|
|
26
|
+
const agentCount = observableFromEvent(
|
|
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);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
CustomizationHarnessService = ( __decorate([( __param(0, IPathService)), ( __param(1, IChatAgentService))], CustomizationHarnessService));
|
|
43
|
+
|
|
44
|
+
export { CustomizationHarnessService };
|
|
@@ -4,10 +4,14 @@ import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform
|
|
|
4
4
|
import { IWorkbenchMcpServer } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes";
|
|
5
5
|
import { IMcpWorkbenchService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service";
|
|
6
6
|
import { IMcpService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service";
|
|
7
|
+
import { IMcpRegistry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service";
|
|
7
8
|
import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
|
|
8
9
|
import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service";
|
|
9
10
|
import { IContextViewService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service";
|
|
11
|
+
import { IAgentPluginService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService.service";
|
|
12
|
+
import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service";
|
|
10
13
|
import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
|
|
14
|
+
import { IAgentPluginItem } from "../agentPluginEditor/agentPluginItems.js";
|
|
11
15
|
/**
|
|
12
16
|
* Widget that displays a list of MCP servers with marketplace browsing.
|
|
13
17
|
*/
|
|
@@ -15,14 +19,21 @@ export declare class McpListWidget extends Disposable {
|
|
|
15
19
|
private readonly instantiationService;
|
|
16
20
|
private readonly mcpWorkbenchService;
|
|
17
21
|
private readonly mcpService;
|
|
22
|
+
private readonly mcpRegistry;
|
|
18
23
|
private readonly commandService;
|
|
19
24
|
private readonly openerService;
|
|
20
25
|
private readonly contextViewService;
|
|
21
26
|
private readonly contextMenuService;
|
|
22
27
|
private readonly hoverService;
|
|
28
|
+
private readonly agentPluginService;
|
|
29
|
+
private readonly dialogService;
|
|
23
30
|
readonly element: HTMLElement;
|
|
24
31
|
private readonly _onDidSelectServer;
|
|
25
32
|
readonly onDidSelectServer: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<IWorkbenchMcpServer>;
|
|
33
|
+
private readonly _onDidChangeItemCount;
|
|
34
|
+
readonly onDidChangeItemCount: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<number>;
|
|
35
|
+
private readonly _onDidRequestShowPlugin;
|
|
36
|
+
readonly onDidRequestShowPlugin: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<IAgentPluginItem>;
|
|
26
37
|
private sectionHeader;
|
|
27
38
|
private sectionDescription;
|
|
28
39
|
private sectionLink;
|
|
@@ -37,21 +48,34 @@ export declare class McpListWidget extends Disposable {
|
|
|
37
48
|
private addButton;
|
|
38
49
|
private backLink;
|
|
39
50
|
private filteredServers;
|
|
51
|
+
private filteredBuiltinCount;
|
|
40
52
|
private displayEntries;
|
|
41
53
|
private galleryServers;
|
|
42
54
|
private searchQuery;
|
|
43
55
|
private browseMode;
|
|
56
|
+
private lastHeight;
|
|
57
|
+
private lastWidth;
|
|
44
58
|
private readonly collapsedGroups;
|
|
45
59
|
private galleryCts;
|
|
46
60
|
private readonly delayedFilter;
|
|
47
61
|
private readonly delayedGallerySearch;
|
|
48
|
-
constructor(instantiationService: IInstantiationService, mcpWorkbenchService: IMcpWorkbenchService, mcpService: IMcpService, commandService: ICommandService, openerService: IOpenerService, contextViewService: IContextViewService, contextMenuService: IContextMenuService, hoverService: IHoverService);
|
|
62
|
+
constructor(instantiationService: IInstantiationService, mcpWorkbenchService: IMcpWorkbenchService, mcpService: IMcpService, mcpRegistry: IMcpRegistry, commandService: ICommandService, openerService: IOpenerService, contextViewService: IContextViewService, contextMenuService: IContextMenuService, hoverService: IHoverService, agentPluginService: IAgentPluginService, dialogService: IDialogService);
|
|
49
63
|
private create;
|
|
50
64
|
private refresh;
|
|
51
65
|
private toggleBrowseMode;
|
|
52
66
|
private queryGallery;
|
|
53
67
|
private updateGalleryList;
|
|
54
68
|
private filterServers;
|
|
69
|
+
/**
|
|
70
|
+
* Gets the total item count from the underlying data arrays
|
|
71
|
+
* (the same source used to build group headers).
|
|
72
|
+
*/
|
|
73
|
+
get itemCount(): number;
|
|
74
|
+
/**
|
|
75
|
+
* Re-fires the current item count. Call after subscribing to onDidChangeItemCount
|
|
76
|
+
* to ensure the subscriber receives the latest count.
|
|
77
|
+
*/
|
|
78
|
+
fireItemCount(): void;
|
|
55
79
|
/**
|
|
56
80
|
* Toggles the collapsed state of a group.
|
|
57
81
|
*/
|