@codingame/monaco-vscode-chat-service-override 27.0.0 → 28.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/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +54 -4
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +179 -11
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +5 -1
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +6 -1
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +25 -10
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +6 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +25 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +15 -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 +13 -5
- 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 +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +17 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +89 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +4 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +146 -53
- 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 +56 -54
- 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 +5 -5
- 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 +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +13 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +189 -145
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +42 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +210 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +14 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +122 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +87 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
- 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 +279 -214
- 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/chatDebugEditor.js +12 -3
- 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.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +63 -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 +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +62 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
- 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 +49 -49
- 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.d.ts +9 -0
- 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 +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +103 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +61 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +31 -126
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +229 -524
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +54 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +11 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +112 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +348 -285
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +107 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
- 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/tools/languageModelToolsConfirmationService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +55 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +148 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
- 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 +72 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +5 -3
- 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 +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +11 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +72 -23
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +19 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +37 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +71 -25
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +217 -91
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +85 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +257 -63
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +32 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +287 -88
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +75 -20
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +81 -41
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +8 -6
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +6 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +38 -22
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +8 -8
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/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/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 +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +36 -18
- 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.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +27 -13
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +1 -1
- 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 +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -67
|
@@ -21,7 +21,7 @@ import { WorkbenchList } from '@codingame/monaco-vscode-api/vscode/vs/platform/l
|
|
|
21
21
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
22
22
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
23
23
|
import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
|
|
24
|
-
import { basename,
|
|
24
|
+
import { basename, isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
25
25
|
import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
|
|
26
26
|
import { registerColor } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colorUtils';
|
|
27
27
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/baseColors';
|
|
@@ -37,10 +37,11 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/sear
|
|
|
37
37
|
import { PANEL_BORDER } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/theme';
|
|
38
38
|
import { AICustomizationListWidget } from './aiCustomizationListWidget.js';
|
|
39
39
|
import { McpListWidget } from './mcpListWidget.js';
|
|
40
|
+
import { PluginListWidget } from './pluginListWidget.js';
|
|
40
41
|
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 './aiCustomizationManagement.js';
|
|
41
|
-
import { hookIcon, promptIcon, instructionsIcon, skillIcon, agentIcon } from './aiCustomizationIcons.js';
|
|
42
|
+
import { pluginIcon, hookIcon, promptIcon, instructionsIcon, skillIcon, agentIcon } from './aiCustomizationIcons.js';
|
|
42
43
|
import { ChatModelsWidget } from '../chatManagement/chatModelsWidget.js';
|
|
43
|
-
import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
44
|
+
import { PromptsType, Target } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
44
45
|
import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
45
46
|
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
46
47
|
import { NEW_SKILL_COMMAND_ID, NEW_AGENT_COMMAND_ID, NEW_INSTRUCTIONS_COMMAND_ID, NEW_PROMPT_COMMAND_ID } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions';
|
|
@@ -54,12 +55,13 @@ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/pl
|
|
|
54
55
|
import { getSimpleEditorOptions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions';
|
|
55
56
|
import { IWorkingCopyService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/workingCopy/common/workingCopyService.service';
|
|
56
57
|
import { ITextFileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service';
|
|
57
|
-
import {
|
|
58
|
-
import {
|
|
59
|
-
import { HOOKS_SOURCE_FOLDER } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
60
|
-
import { COPILOT_CLI_HOOK_TYPE_MAP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
|
|
58
|
+
import { IFileDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
59
|
+
import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
|
|
61
60
|
import { McpServerEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/browser/mcpServerEditorInput';
|
|
62
61
|
import { McpServerEditor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/browser/mcpServerEditor';
|
|
62
|
+
import { getDefaultHoverDelegate } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverDelegateFactory';
|
|
63
|
+
import { AgentPluginEditor } from '../agentPluginEditor/agentPluginEditor.js';
|
|
64
|
+
import { AgentPluginEditorInput } from '../agentPluginEditor/agentPluginEditorInput.js';
|
|
63
65
|
import { AICustomizationManagementSection } from '../../common/aiCustomizationWorkspaceService.js';
|
|
64
66
|
import { Orientation } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/sash/sash';
|
|
65
67
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
@@ -68,7 +70,7 @@ var AICustomizationManagementEditor_1;
|
|
|
68
70
|
registerCss(aiCustomizationManagement);
|
|
69
71
|
const $ = $$1;
|
|
70
72
|
const aiCustomizationManagementSashBorder = registerColor("aiCustomizationManagement.sashBorder", PANEL_BORDER, ( localize(
|
|
71
|
-
|
|
73
|
+
5294,
|
|
72
74
|
"The color of the Chat Customization Management editor splitview sash border."
|
|
73
75
|
)));
|
|
74
76
|
class SectionItemDelegate {
|
|
@@ -122,7 +124,8 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
122
124
|
configurationService,
|
|
123
125
|
workingCopyService,
|
|
124
126
|
textFileService,
|
|
125
|
-
|
|
127
|
+
fileDialogService,
|
|
128
|
+
hoverService
|
|
126
129
|
) {
|
|
127
130
|
super(
|
|
128
131
|
AICustomizationManagementEditor_1.ID,
|
|
@@ -141,13 +144,16 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
141
144
|
this.configurationService = configurationService;
|
|
142
145
|
this.workingCopyService = workingCopyService;
|
|
143
146
|
this.textFileService = textFileService;
|
|
144
|
-
this.
|
|
147
|
+
this.fileDialogService = fileDialogService;
|
|
148
|
+
this.hoverService = hoverService;
|
|
145
149
|
this.editorModelChangeDisposables = this._register(( new DisposableStore()));
|
|
146
150
|
this.viewMode = "list";
|
|
147
151
|
this.mcpDetailDisposables = this._register(( new DisposableStore()));
|
|
152
|
+
this.pluginDetailDisposables = this._register(( new DisposableStore()));
|
|
148
153
|
this.sections = [];
|
|
149
154
|
this.selectedSection = AICustomizationManagementSection.Agents;
|
|
150
155
|
this.editorDisposables = this._register(( new DisposableStore()));
|
|
156
|
+
this._editorContentChanged = false;
|
|
151
157
|
this.inEditorContextKey = CONTEXT_AI_CUSTOMIZATION_MANAGEMENT_EDITOR.bindTo(contextKeyService);
|
|
152
158
|
this.sectionContextKey = CONTEXT_AI_CUSTOMIZATION_MANAGEMENT_SECTION.bindTo(contextKeyService);
|
|
153
159
|
this._register(autorun(reader => {
|
|
@@ -162,31 +168,35 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
162
168
|
}));
|
|
163
169
|
const sectionInfo = {
|
|
164
170
|
[AICustomizationManagementSection.Agents]: {
|
|
165
|
-
label: ( localize(
|
|
171
|
+
label: ( localize(5295, "Agents")),
|
|
166
172
|
icon: agentIcon
|
|
167
173
|
},
|
|
168
174
|
[AICustomizationManagementSection.Skills]: {
|
|
169
|
-
label: ( localize(
|
|
175
|
+
label: ( localize(5296, "Skills")),
|
|
170
176
|
icon: skillIcon
|
|
171
177
|
},
|
|
172
178
|
[AICustomizationManagementSection.Instructions]: {
|
|
173
|
-
label: ( localize(
|
|
179
|
+
label: ( localize(5297, "Instructions")),
|
|
174
180
|
icon: instructionsIcon
|
|
175
181
|
},
|
|
176
182
|
[AICustomizationManagementSection.Prompts]: {
|
|
177
|
-
label: ( localize(
|
|
183
|
+
label: ( localize(5298, "Prompts")),
|
|
178
184
|
icon: promptIcon
|
|
179
185
|
},
|
|
180
186
|
[AICustomizationManagementSection.Hooks]: {
|
|
181
|
-
label: ( localize(
|
|
187
|
+
label: ( localize(5299, "Hooks")),
|
|
182
188
|
icon: hookIcon
|
|
183
189
|
},
|
|
184
190
|
[AICustomizationManagementSection.McpServers]: {
|
|
185
|
-
label: ( localize(
|
|
191
|
+
label: ( localize(5300, "MCP Servers")),
|
|
186
192
|
icon: Codicon.server
|
|
187
193
|
},
|
|
194
|
+
[AICustomizationManagementSection.Plugins]: {
|
|
195
|
+
label: ( localize(5301, "Plugins")),
|
|
196
|
+
icon: pluginIcon
|
|
197
|
+
},
|
|
188
198
|
[AICustomizationManagementSection.Models]: {
|
|
189
|
-
label: ( localize(
|
|
199
|
+
label: ( localize(5302, "Models")),
|
|
190
200
|
icon: Codicon.vm
|
|
191
201
|
}
|
|
192
202
|
};
|
|
@@ -235,7 +245,8 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
235
245
|
layout: (width, _, height) => {
|
|
236
246
|
this.sidebarContainer.style.width = `${width}px`;
|
|
237
247
|
if (height !== undefined) {
|
|
238
|
-
const
|
|
248
|
+
const footerHeight = this.folderPickerContainer?.offsetHeight ?? 0;
|
|
249
|
+
const listHeight = height - 8 - footerHeight;
|
|
239
250
|
this.sectionsList.layout(listHeight, width);
|
|
240
251
|
}
|
|
241
252
|
}
|
|
@@ -250,6 +261,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
250
261
|
if (height !== undefined) {
|
|
251
262
|
this.listWidget.layout(height - 16, width - 24);
|
|
252
263
|
this.mcpListWidget?.layout(height - 16, width - 24);
|
|
264
|
+
this.pluginListWidget?.layout(height - 16, width - 24);
|
|
253
265
|
const modelsFooterHeight = this.modelsFooterElement?.offsetHeight || 80;
|
|
254
266
|
this.modelsWidget?.layout(height - 16 - modelsFooterHeight, width);
|
|
255
267
|
if (this.viewMode === "editor" && this.embeddedEditor) {
|
|
@@ -264,6 +276,10 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
264
276
|
const backHeaderHeight = 40;
|
|
265
277
|
this.embeddedMcpEditor.layout(new Dimension(width, Math.max(0, height - backHeaderHeight)));
|
|
266
278
|
}
|
|
279
|
+
if (this.viewMode === "pluginDetail" && this.embeddedPluginEditor) {
|
|
280
|
+
const backHeaderHeight = 40;
|
|
281
|
+
this.embeddedPluginEditor.layout(new Dimension(width, Math.max(0, height - backHeaderHeight)));
|
|
282
|
+
}
|
|
267
283
|
}
|
|
268
284
|
}
|
|
269
285
|
}, Sizing.Distribute, undefined, true);
|
|
@@ -297,7 +313,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
297
313
|
horizontalScrolling: false,
|
|
298
314
|
accessibilityProvider: {
|
|
299
315
|
getAriaLabel: item => item.label,
|
|
300
|
-
getWidgetAriaLabel: () => ( localize(
|
|
316
|
+
getWidgetAriaLabel: () => ( localize(5303, "Chat Customization Sections"))
|
|
301
317
|
},
|
|
302
318
|
openOnSingleClick: true,
|
|
303
319
|
identityProvider: {
|
|
@@ -315,6 +331,57 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
315
331
|
this.selectSection(e.elements[0].id);
|
|
316
332
|
}
|
|
317
333
|
}));
|
|
334
|
+
if (this.workspaceService.isSessionsWindow) {
|
|
335
|
+
this.createFolderPicker(sidebarContent);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
createFolderPicker(sidebarContent) {
|
|
339
|
+
const footer = this.folderPickerContainer = append(sidebarContent, $(".sidebar-folder-picker"));
|
|
340
|
+
const button = append(footer, $("button.folder-picker-button"));
|
|
341
|
+
button.setAttribute("aria-label", ( localize(5304, "Browse folder")));
|
|
342
|
+
const folderIcon = append(button, $(`.codicon.codicon-${Codicon.folder.id}`));
|
|
343
|
+
folderIcon.classList.add("folder-picker-icon");
|
|
344
|
+
this.folderPickerLabel = append(button, $("span.folder-picker-label"));
|
|
345
|
+
this.folderPickerClearButton = append(footer, $("button.folder-picker-clear"));
|
|
346
|
+
this.folderPickerClearButton.setAttribute("aria-label", ( localize(5305, "Reset to session folder")));
|
|
347
|
+
append(this.folderPickerClearButton, $(`.codicon.codicon-${Codicon.close.id}`));
|
|
348
|
+
this.editorDisposables.add(addDisposableListener(button, "click", () => {
|
|
349
|
+
this.browseForFolder();
|
|
350
|
+
}));
|
|
351
|
+
this.editorDisposables.add(addDisposableListener(this.folderPickerClearButton, "click", () => {
|
|
352
|
+
this.workspaceService.clearOverrideProjectRoot();
|
|
353
|
+
}));
|
|
354
|
+
this.editorDisposables.add(
|
|
355
|
+
this.hoverService.setupManagedHover(getDefaultHoverDelegate("element"), button, () => {
|
|
356
|
+
const root = this.workspaceService.getActiveProjectRoot();
|
|
357
|
+
return root?.fsPath ?? "";
|
|
358
|
+
})
|
|
359
|
+
);
|
|
360
|
+
this.editorDisposables.add(autorun(reader => {
|
|
361
|
+
const root = this.workspaceService.activeProjectRoot.read(reader);
|
|
362
|
+
const hasOverride = this.workspaceService.hasOverrideProjectRoot.read(reader);
|
|
363
|
+
this.updateFolderPickerLabel(root, hasOverride);
|
|
364
|
+
}));
|
|
365
|
+
}
|
|
366
|
+
updateFolderPickerLabel(root, hasOverride) {
|
|
367
|
+
if (this.folderPickerLabel) {
|
|
368
|
+
this.folderPickerLabel.textContent = root ? basename(root) : ( localize(5306, "No folder"));
|
|
369
|
+
}
|
|
370
|
+
if (this.folderPickerClearButton) {
|
|
371
|
+
this.folderPickerClearButton.style.display = hasOverride ? "" : "none";
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
async browseForFolder() {
|
|
375
|
+
const result = await this.fileDialogService.showOpenDialog({
|
|
376
|
+
canSelectFolders: true,
|
|
377
|
+
canSelectFiles: false,
|
|
378
|
+
canSelectMany: false,
|
|
379
|
+
title: ( localize(5307, "Select Folder to Explore")),
|
|
380
|
+
defaultUri: this.workspaceService.getActiveProjectRoot()
|
|
381
|
+
});
|
|
382
|
+
if (result?.[0]) {
|
|
383
|
+
this.workspaceService.setOverrideProjectRoot(result[0]);
|
|
384
|
+
}
|
|
318
385
|
}
|
|
319
386
|
createContent() {
|
|
320
387
|
const contentInner = append(this.contentContainer, $(".content-inner"));
|
|
@@ -345,11 +412,11 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
345
412
|
this.modelsFooterElement = append(this.modelsContentContainer, $(".section-footer"));
|
|
346
413
|
const modelsDescription = append(this.modelsFooterElement, $("p.section-footer-description"));
|
|
347
414
|
modelsDescription.textContent = ( localize(
|
|
348
|
-
|
|
415
|
+
5308,
|
|
349
416
|
"Browse and manage language models from different providers. Select models for use in chat, code completion, and other AI features."
|
|
350
417
|
));
|
|
351
418
|
const modelsLink = append(this.modelsFooterElement, $("a.section-footer-link"));
|
|
352
|
-
modelsLink.textContent = ( localize(
|
|
419
|
+
modelsLink.textContent = ( localize(5309, "Learn more about language models"));
|
|
353
420
|
modelsLink.href = "https://code.visualstudio.com/docs/copilot/customization/language-models";
|
|
354
421
|
this.editorDisposables.add(addDisposableListener(modelsLink, "click", e => {
|
|
355
422
|
e.preventDefault();
|
|
@@ -366,6 +433,16 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
366
433
|
this.showEmbeddedMcpDetail(server);
|
|
367
434
|
}));
|
|
368
435
|
}
|
|
436
|
+
if (( hasSections.has(AICustomizationManagementSection.Plugins))) {
|
|
437
|
+
this.pluginContentContainer = append(contentInner, $(".plugin-content-container"));
|
|
438
|
+
this.pluginListWidget = this.editorDisposables.add(this.instantiationService.createInstance(PluginListWidget));
|
|
439
|
+
this.pluginContentContainer.appendChild(this.pluginListWidget.element);
|
|
440
|
+
this.pluginDetailContainer = append(contentInner, $(".plugin-detail-container"));
|
|
441
|
+
this.createEmbeddedPluginDetail();
|
|
442
|
+
this.editorDisposables.add(this.pluginListWidget.onDidSelectPlugin(item => {
|
|
443
|
+
this.showEmbeddedPluginDetail(item);
|
|
444
|
+
}));
|
|
445
|
+
}
|
|
369
446
|
this.editorContentContainer = append(contentInner, $(".editor-content-container"));
|
|
370
447
|
this.createEmbeddedEditor();
|
|
371
448
|
this.updateContentVisibility();
|
|
@@ -386,6 +463,9 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
386
463
|
if (this.viewMode === "mcpDetail") {
|
|
387
464
|
this.goBackFromMcpDetail();
|
|
388
465
|
}
|
|
466
|
+
if (this.viewMode === "pluginDetail") {
|
|
467
|
+
this.goBackFromPluginDetail();
|
|
468
|
+
}
|
|
389
469
|
this.selectedSection = section;
|
|
390
470
|
this.sectionContextKey.set(section);
|
|
391
471
|
this.storageService.store(
|
|
@@ -402,19 +482,28 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
402
482
|
updateContentVisibility() {
|
|
403
483
|
const isEditorMode = this.viewMode === "editor";
|
|
404
484
|
const isMcpDetailMode = this.viewMode === "mcpDetail";
|
|
485
|
+
const isPluginDetailMode = this.viewMode === "pluginDetail";
|
|
486
|
+
const isDetailMode = isMcpDetailMode || isPluginDetailMode;
|
|
405
487
|
const isPromptsSection = this.isPromptsSection(this.selectedSection);
|
|
406
488
|
const isModelsSection = this.selectedSection === AICustomizationManagementSection.Models;
|
|
407
489
|
const isMcpSection = this.selectedSection === AICustomizationManagementSection.McpServers;
|
|
408
|
-
|
|
490
|
+
const isPluginsSection = this.selectedSection === AICustomizationManagementSection.Plugins;
|
|
491
|
+
this.promptsContentContainer.style.display = !isEditorMode && !isDetailMode && isPromptsSection ? "" : "none";
|
|
409
492
|
if (this.modelsContentContainer) {
|
|
410
|
-
this.modelsContentContainer.style.display = !isEditorMode && !
|
|
493
|
+
this.modelsContentContainer.style.display = !isEditorMode && !isDetailMode && isModelsSection ? "" : "none";
|
|
411
494
|
}
|
|
412
495
|
if (this.mcpContentContainer) {
|
|
413
|
-
this.mcpContentContainer.style.display = !isEditorMode && !
|
|
496
|
+
this.mcpContentContainer.style.display = !isEditorMode && !isDetailMode && isMcpSection ? "" : "none";
|
|
414
497
|
}
|
|
415
498
|
if (this.mcpDetailContainer) {
|
|
416
499
|
this.mcpDetailContainer.style.display = isMcpDetailMode ? "" : "none";
|
|
417
500
|
}
|
|
501
|
+
if (this.pluginContentContainer) {
|
|
502
|
+
this.pluginContentContainer.style.display = !isEditorMode && !isDetailMode && isPluginsSection ? "" : "none";
|
|
503
|
+
}
|
|
504
|
+
if (this.pluginDetailContainer) {
|
|
505
|
+
this.pluginDetailContainer.style.display = isPluginDetailMode ? "" : "none";
|
|
506
|
+
}
|
|
418
507
|
if (this.editorContentContainer) {
|
|
419
508
|
this.editorContentContainer.style.display = isEditorMode ? "" : "none";
|
|
420
509
|
}
|
|
@@ -434,7 +523,13 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
434
523
|
async createNewItemManual(type, target) {
|
|
435
524
|
if (type === PromptsType.hook) {
|
|
436
525
|
if (this.workspaceService.isSessionsWindow) {
|
|
437
|
-
await this.
|
|
526
|
+
await this.instantiationService.invokeFunction(showConfigureHooksQuickPick, {
|
|
527
|
+
openEditor: async resource => {
|
|
528
|
+
await this.showEmbeddedEditor(resource, basename(resource), true);
|
|
529
|
+
return;
|
|
530
|
+
},
|
|
531
|
+
target: Target.GitHubCopilot
|
|
532
|
+
});
|
|
438
533
|
} else {
|
|
439
534
|
await this.instantiationService.invokeFunction(showConfigureHooksQuickPick, {
|
|
440
535
|
openEditor: async resource => {
|
|
@@ -475,32 +570,6 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
475
570
|
await this.commandService.executeCommand(commandId, options);
|
|
476
571
|
void this.listWidget.refresh();
|
|
477
572
|
}
|
|
478
|
-
async createCopilotCliHookFile() {
|
|
479
|
-
const projectRoot = this.workspaceService.getActiveProjectRoot();
|
|
480
|
-
if (!projectRoot) {
|
|
481
|
-
return;
|
|
482
|
-
}
|
|
483
|
-
const hookFileUri = joinPath(projectRoot, HOOKS_SOURCE_FOLDER, "hooks.json");
|
|
484
|
-
try {
|
|
485
|
-
await this.fileService.stat(hookFileUri);
|
|
486
|
-
} catch {
|
|
487
|
-
const hooks = {};
|
|
488
|
-
for (const eventName of ( Object.keys(COPILOT_CLI_HOOK_TYPE_MAP))) {
|
|
489
|
-
hooks[eventName] = [{
|
|
490
|
-
type: "command",
|
|
491
|
-
bash: ""
|
|
492
|
-
}];
|
|
493
|
-
}
|
|
494
|
-
const hooksContent = {
|
|
495
|
-
version: 1,
|
|
496
|
-
hooks
|
|
497
|
-
};
|
|
498
|
-
const jsonContent = JSON.stringify(hooksContent, null, "\t");
|
|
499
|
-
await this.fileService.writeFile(hookFileUri, VSBuffer.fromString(jsonContent));
|
|
500
|
-
}
|
|
501
|
-
await this.showEmbeddedEditor(hookFileUri, basename(hookFileUri), true);
|
|
502
|
-
void this.listWidget.refresh();
|
|
503
|
-
}
|
|
504
573
|
updateStyles() {
|
|
505
574
|
const borderColor = this.theme.getColor(aiCustomizationManagementSashBorder);
|
|
506
575
|
if (borderColor) {
|
|
@@ -510,6 +579,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
510
579
|
}
|
|
511
580
|
}
|
|
512
581
|
async setInput(input, options, context, token) {
|
|
582
|
+
this.workspaceService.clearOverrideProjectRoot();
|
|
513
583
|
this.inEditorContextKey.set(true);
|
|
514
584
|
this.sectionContextKey.set(this.selectedSection);
|
|
515
585
|
await super.setInput(input, options, context, token);
|
|
@@ -525,6 +595,10 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
525
595
|
if (this.viewMode === "mcpDetail") {
|
|
526
596
|
this.goBackFromMcpDetail();
|
|
527
597
|
}
|
|
598
|
+
if (this.viewMode === "pluginDetail") {
|
|
599
|
+
this.goBackFromPluginDetail();
|
|
600
|
+
}
|
|
601
|
+
this.workspaceService.clearOverrideProjectRoot();
|
|
528
602
|
super.clearInput();
|
|
529
603
|
}
|
|
530
604
|
layout(dimension) {
|
|
@@ -542,6 +616,8 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
542
616
|
}
|
|
543
617
|
if (this.selectedSection === AICustomizationManagementSection.McpServers) {
|
|
544
618
|
this.mcpListWidget?.focusSearch();
|
|
619
|
+
} else if (this.selectedSection === AICustomizationManagementSection.Plugins) {
|
|
620
|
+
this.pluginListWidget?.focusSearch();
|
|
545
621
|
} else if (this.selectedSection === AICustomizationManagementSection.Models) {
|
|
546
622
|
this.modelsWidget?.focusSearch();
|
|
547
623
|
} else {
|
|
@@ -551,6 +627,27 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
551
627
|
selectSectionById(sectionId) {
|
|
552
628
|
const index = this.sections.findIndex(s => s.id === sectionId);
|
|
553
629
|
if (index >= 0) {
|
|
630
|
+
if (this.viewMode === "editor") {
|
|
631
|
+
this.goBackToList();
|
|
632
|
+
}
|
|
633
|
+
if (this.viewMode === "mcpDetail") {
|
|
634
|
+
this.goBackFromMcpDetail();
|
|
635
|
+
}
|
|
636
|
+
if (this.viewMode === "pluginDetail") {
|
|
637
|
+
this.goBackFromPluginDetail();
|
|
638
|
+
}
|
|
639
|
+
this.selectedSection = sectionId;
|
|
640
|
+
this.sectionContextKey.set(sectionId);
|
|
641
|
+
this.storageService.store(
|
|
642
|
+
AI_CUSTOMIZATION_MANAGEMENT_SELECTED_SECTION_KEY,
|
|
643
|
+
sectionId,
|
|
644
|
+
StorageScope.PROFILE,
|
|
645
|
+
StorageTarget.USER
|
|
646
|
+
);
|
|
647
|
+
this.updateContentVisibility();
|
|
648
|
+
if (this.isPromptsSection(sectionId)) {
|
|
649
|
+
void this.listWidget.setSection(sectionId);
|
|
650
|
+
}
|
|
554
651
|
this.sectionsList.setFocus([index]);
|
|
555
652
|
this.sectionsList.setSelection([index]);
|
|
556
653
|
}
|
|
@@ -567,7 +664,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
567
664
|
}
|
|
568
665
|
const editorHeader = append(this.editorContentContainer, $(".editor-header"));
|
|
569
666
|
const backButton = append(editorHeader, $("button.editor-back-button"));
|
|
570
|
-
backButton.setAttribute("aria-label", ( localize(
|
|
667
|
+
backButton.setAttribute("aria-label", ( localize(5310, "Back to list")));
|
|
571
668
|
const backIcon = append(backButton, $(`.codicon.codicon-${Codicon.arrowLeft.id}`));
|
|
572
669
|
backIcon.setAttribute("aria-hidden", "true");
|
|
573
670
|
this.editorDisposables.add(addDisposableListener(backButton, "click", () => {
|
|
@@ -617,6 +714,10 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
617
714
|
this.updateContentVisibility();
|
|
618
715
|
try {
|
|
619
716
|
const ref = await this.textModelService.createModelReference(uri);
|
|
717
|
+
if (!isEqual(this.currentEditingUri, uri)) {
|
|
718
|
+
ref.dispose();
|
|
719
|
+
return;
|
|
720
|
+
}
|
|
620
721
|
this.currentModelRef = ref;
|
|
621
722
|
this.embeddedEditor.setModel(ref.object.textEditorModel);
|
|
622
723
|
this.embeddedEditor.updateOptions({
|
|
@@ -627,11 +728,13 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
627
728
|
}
|
|
628
729
|
this.embeddedEditor.focus();
|
|
629
730
|
this.editorModelChangeDisposables.clear();
|
|
731
|
+
this._editorContentChanged = false;
|
|
630
732
|
const saveDelayer = this.editorModelChangeDisposables.add(( new Delayer(500)));
|
|
631
733
|
this.editorModelChangeDisposables.add(ref.object.textEditorModel.onDidChangeContent(() => {
|
|
734
|
+
this._editorContentChanged = true;
|
|
632
735
|
this.editorSaveIndicator.className = "editor-save-indicator visible";
|
|
633
736
|
this.editorSaveIndicator.classList.add(...ThemeIcon.asClassNameArray(Codicon.loading), "codicon-modifier-spin");
|
|
634
|
-
this.editorSaveIndicator.title = ( localize(
|
|
737
|
+
this.editorSaveIndicator.title = ( localize(5311, "Saving..."));
|
|
635
738
|
saveDelayer.trigger(async () => {
|
|
636
739
|
try {
|
|
637
740
|
await this.textFileService.save(uri);
|
|
@@ -639,7 +742,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
639
742
|
console.error("Failed to save AI customization file:", error);
|
|
640
743
|
this.editorSaveIndicator.className = "editor-save-indicator visible error";
|
|
641
744
|
this.editorSaveIndicator.classList.add(...ThemeIcon.asClassNameArray(Codicon.error));
|
|
642
|
-
this.editorSaveIndicator.title = ( localize(
|
|
745
|
+
this.editorSaveIndicator.title = ( localize(5312, "Save Failed"));
|
|
643
746
|
}
|
|
644
747
|
});
|
|
645
748
|
}));
|
|
@@ -647,18 +750,20 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
647
750
|
if (isEqual(e.workingCopy.resource, uri)) {
|
|
648
751
|
this.editorSaveIndicator.className = "editor-save-indicator visible saved";
|
|
649
752
|
this.editorSaveIndicator.classList.add(...ThemeIcon.asClassNameArray(Codicon.check));
|
|
650
|
-
this.editorSaveIndicator.title = ( localize(
|
|
753
|
+
this.editorSaveIndicator.title = ( localize(5313, "Saved"));
|
|
651
754
|
}
|
|
652
755
|
}));
|
|
653
756
|
} catch (error) {
|
|
654
757
|
console.error("Failed to load model for embedded editor:", error);
|
|
655
|
-
this.
|
|
758
|
+
if (isEqual(this.currentEditingUri, uri)) {
|
|
759
|
+
this.goBackToList();
|
|
760
|
+
}
|
|
656
761
|
}
|
|
657
762
|
}
|
|
658
763
|
goBackToList() {
|
|
659
764
|
const fileUri = this.currentEditingUri;
|
|
660
765
|
const projectRoot = this.currentEditingProjectRoot;
|
|
661
|
-
if (fileUri && projectRoot) {
|
|
766
|
+
if (fileUri && projectRoot && this._editorContentChanged) {
|
|
662
767
|
this.workspaceService.commitFiles(projectRoot, [fileUri]);
|
|
663
768
|
}
|
|
664
769
|
this.currentModelRef?.dispose();
|
|
@@ -671,6 +776,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
671
776
|
this.embeddedEditor?.setModel(null);
|
|
672
777
|
this.viewMode = "list";
|
|
673
778
|
this.updateContentVisibility();
|
|
779
|
+
void this.listWidget?.refresh();
|
|
674
780
|
if (this.dimension) {
|
|
675
781
|
this.layout(this.dimension);
|
|
676
782
|
}
|
|
@@ -682,7 +788,7 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
682
788
|
}
|
|
683
789
|
const detailHeader = append(this.mcpDetailContainer, $(".editor-header"));
|
|
684
790
|
const backButton = append(detailHeader, $("button.editor-back-button"));
|
|
685
|
-
backButton.setAttribute("aria-label", ( localize(
|
|
791
|
+
backButton.setAttribute("aria-label", ( localize(5314, "Back to MCP servers")));
|
|
686
792
|
const backIconEl = append(backButton, $(`.codicon.codicon-${Codicon.arrowLeft.id}`));
|
|
687
793
|
backIconEl.setAttribute("aria-hidden", "true");
|
|
688
794
|
this.editorDisposables.add(addDisposableListener(backButton, "click", () => {
|
|
@@ -721,7 +827,52 @@ let AICustomizationManagementEditor = class AICustomizationManagementEditor exte
|
|
|
721
827
|
}
|
|
722
828
|
this.mcpListWidget?.focusSearch();
|
|
723
829
|
}
|
|
830
|
+
createEmbeddedPluginDetail() {
|
|
831
|
+
if (!this.pluginDetailContainer) {
|
|
832
|
+
return;
|
|
833
|
+
}
|
|
834
|
+
const detailHeader = append(this.pluginDetailContainer, $(".editor-header"));
|
|
835
|
+
const backButton = append(detailHeader, $("button.editor-back-button"));
|
|
836
|
+
backButton.setAttribute("aria-label", ( localize(5315, "Back to plugins")));
|
|
837
|
+
const backIconEl = append(backButton, $(`.codicon.codicon-${Codicon.arrowLeft.id}`));
|
|
838
|
+
backIconEl.setAttribute("aria-hidden", "true");
|
|
839
|
+
this.editorDisposables.add(addDisposableListener(backButton, "click", () => {
|
|
840
|
+
this.goBackFromPluginDetail();
|
|
841
|
+
}));
|
|
842
|
+
const editorContainer = append(this.pluginDetailContainer, $(".plugin-detail-editor-container"));
|
|
843
|
+
this.embeddedPluginEditor = this.editorDisposables.add(this.instantiationService.createInstance(AgentPluginEditor, this.group));
|
|
844
|
+
this.embeddedPluginEditor.create(editorContainer);
|
|
845
|
+
}
|
|
846
|
+
async showEmbeddedPluginDetail(item) {
|
|
847
|
+
if (!this.embeddedPluginEditor) {
|
|
848
|
+
return;
|
|
849
|
+
}
|
|
850
|
+
this.viewMode = "pluginDetail";
|
|
851
|
+
this.updateContentVisibility();
|
|
852
|
+
const input = ( new AgentPluginEditorInput(item));
|
|
853
|
+
this.pluginDetailDisposables.clear();
|
|
854
|
+
this.pluginDetailDisposables.add(input);
|
|
855
|
+
try {
|
|
856
|
+
await this.embeddedPluginEditor.setInput(input, undefined, {}, CancellationToken.None);
|
|
857
|
+
} catch {
|
|
858
|
+
this.goBackFromPluginDetail();
|
|
859
|
+
return;
|
|
860
|
+
}
|
|
861
|
+
if (this.dimension) {
|
|
862
|
+
this.layout(this.dimension);
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
goBackFromPluginDetail() {
|
|
866
|
+
this.pluginDetailDisposables.clear();
|
|
867
|
+
this.embeddedPluginEditor?.clearInput();
|
|
868
|
+
this.viewMode = "list";
|
|
869
|
+
this.updateContentVisibility();
|
|
870
|
+
if (this.dimension) {
|
|
871
|
+
this.layout(this.dimension);
|
|
872
|
+
}
|
|
873
|
+
this.pluginListWidget?.focusSearch();
|
|
874
|
+
}
|
|
724
875
|
};
|
|
725
|
-
AICustomizationManagementEditor = AICustomizationManagementEditor_1 = ( __decorate([( __param(1, ITelemetryService)), ( __param(2, IThemeService)), ( __param(3, IStorageService)), ( __param(4, IInstantiationService)), ( __param(5, IContextKeyService)), ( __param(6, IOpenerService)), ( __param(7, ICommandService)), ( __param(8, IAICustomizationWorkspaceService)), ( __param(9, IPromptsService)), ( __param(10, ITextModelService)), ( __param(11, IConfigurationService)), ( __param(12, IWorkingCopyService)), ( __param(13, ITextFileService)), ( __param(14,
|
|
876
|
+
AICustomizationManagementEditor = AICustomizationManagementEditor_1 = ( __decorate([( __param(1, ITelemetryService)), ( __param(2, IThemeService)), ( __param(3, IStorageService)), ( __param(4, IInstantiationService)), ( __param(5, IContextKeyService)), ( __param(6, IOpenerService)), ( __param(7, ICommandService)), ( __param(8, IAICustomizationWorkspaceService)), ( __param(9, IPromptsService)), ( __param(10, ITextModelService)), ( __param(11, IConfigurationService)), ( __param(12, IWorkingCopyService)), ( __param(13, ITextFileService)), ( __param(14, IFileDialogService)), ( __param(15, IHoverService))], AICustomizationManagementEditor));
|
|
726
877
|
|
|
727
878
|
export { AICustomizationManagementEditor, aiCustomizationManagementSashBorder };
|
|
@@ -25,7 +25,7 @@ class AICustomizationManagementEditorInput extends EditorInput {
|
|
|
25
25
|
return AICustomizationManagementEditorInput.ID;
|
|
26
26
|
}
|
|
27
27
|
getName() {
|
|
28
|
-
return localize(
|
|
28
|
+
return localize(5316, "Chat Customizations");
|
|
29
29
|
}
|
|
30
30
|
getIcon() {
|
|
31
31
|
return Codicon.settingsGear;
|
|
@@ -6,9 +6,11 @@ import { AICustomizationManagementSection } from '../../common/aiCustomizationWo
|
|
|
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
8
|
import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
9
|
+
import { IPromptsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service';
|
|
9
10
|
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
10
11
|
import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
11
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
|
+
import { constObservable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/constObservable';
|
|
12
14
|
import { observableFromEventOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
|
|
13
15
|
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
14
16
|
|
|
@@ -17,18 +19,21 @@ let AICustomizationWorkspaceService = class AICustomizationWorkspaceService {
|
|
|
17
19
|
static {
|
|
18
20
|
AICustomizationWorkspaceService_1 = this;
|
|
19
21
|
}
|
|
20
|
-
constructor(workspaceContextService, commandService) {
|
|
22
|
+
constructor(workspaceContextService, commandService, promptsService) {
|
|
21
23
|
this.workspaceContextService = workspaceContextService;
|
|
22
24
|
this.commandService = commandService;
|
|
25
|
+
this.promptsService = promptsService;
|
|
23
26
|
this.managementSections = [
|
|
24
27
|
AICustomizationManagementSection.Agents,
|
|
25
28
|
AICustomizationManagementSection.Skills,
|
|
26
29
|
AICustomizationManagementSection.Instructions,
|
|
27
30
|
AICustomizationManagementSection.Prompts,
|
|
28
31
|
AICustomizationManagementSection.Hooks,
|
|
29
|
-
AICustomizationManagementSection.McpServers
|
|
32
|
+
AICustomizationManagementSection.McpServers,
|
|
33
|
+
AICustomizationManagementSection.Plugins
|
|
30
34
|
];
|
|
31
35
|
this.isSessionsWindow = false;
|
|
36
|
+
this.hasOverrideProjectRoot = constObservable(false);
|
|
32
37
|
const workspaceFolders = observableFromEventOpts({
|
|
33
38
|
owner: this
|
|
34
39
|
}, this.workspaceContextService.onDidChangeWorkspaceFolders, () => this.workspaceContextService.getWorkspace().folders);
|
|
@@ -54,7 +59,10 @@ let AICustomizationWorkspaceService = class AICustomizationWorkspaceService {
|
|
|
54
59
|
getStorageSourceFilter(_type) {
|
|
55
60
|
return AICustomizationWorkspaceService_1._defaultFilter;
|
|
56
61
|
}
|
|
62
|
+
setOverrideProjectRoot(_root) {}
|
|
63
|
+
clearOverrideProjectRoot() {}
|
|
57
64
|
async commitFiles(_projectRoot, _fileUris) {}
|
|
65
|
+
async deleteFiles(_projectRoot, _fileUris) {}
|
|
58
66
|
async generateCustomization(type) {
|
|
59
67
|
const commandIds = {
|
|
60
68
|
[PromptsType.agent]: GENERATE_AGENT_COMMAND_ID,
|
|
@@ -68,5 +76,8 @@ let AICustomizationWorkspaceService = class AICustomizationWorkspaceService {
|
|
|
68
76
|
await this.commandService.executeCommand(commandId);
|
|
69
77
|
}
|
|
70
78
|
}
|
|
79
|
+
async getFilteredPromptSlashCommands(token) {
|
|
80
|
+
return this.promptsService.getPromptSlashCommands(token);
|
|
81
|
+
}
|
|
71
82
|
};
|
|
72
|
-
AICustomizationWorkspaceService = AICustomizationWorkspaceService_1 = ( __decorate([( __param(0, IWorkspaceContextService)), ( __param(1, ICommandService))], AICustomizationWorkspaceService));
|
|
83
|
+
AICustomizationWorkspaceService = AICustomizationWorkspaceService_1 = ( __decorate([( __param(0, IWorkspaceContextService)), ( __param(1, ICommandService)), ( __param(2, IPromptsService))], AICustomizationWorkspaceService));
|
package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js
CHANGED
|
@@ -32,11 +32,11 @@ let CustomizationCreatorService = class CustomizationCreatorService {
|
|
|
32
32
|
async createWithAI(type) {
|
|
33
33
|
const typeLabel = getTypeLabel(type);
|
|
34
34
|
const name = await this.quickInputService.input({
|
|
35
|
-
prompt: ( localize(
|
|
36
|
-
placeHolder: ( localize(
|
|
35
|
+
prompt: ( localize(5317, "Name for the new {0}", typeLabel)),
|
|
36
|
+
placeHolder: ( localize(5318, "e.g., my-{0}", typeLabel)),
|
|
37
37
|
validateInput: async value => {
|
|
38
38
|
if (!value || !value.trim()) {
|
|
39
|
-
return localize(
|
|
39
|
+
return localize(5319, "Name is required");
|
|
40
40
|
}
|
|
41
41
|
return undefined;
|
|
42
42
|
}
|