@codingame/monaco-vscode-chat-service-override 26.2.2 → 27.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 +31 -1
- package/package.json +5 -5
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +15 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +53 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +219 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +39 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +83 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +123 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +274 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +71 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +284 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +79 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +378 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +27 -40
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +9 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +74 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +54 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +87 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +71 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +43 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +22 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +154 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -8
- 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 +53 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +84 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +15 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +204 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +77 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +541 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +10 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +27 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +4 -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.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +90 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +20 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +43 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +7 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +84 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.d.ts → localAgentSessionsController.d.ts} +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.js → localAgentSessionsController.js} +24 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +171 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +48 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +181 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +943 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +248 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +57 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +118 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +727 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +72 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +165 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +75 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +623 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +858 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +30 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.d.ts +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +19 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +36 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +529 -363
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +419 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +46 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +198 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +305 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +64 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +84 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +110 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +111 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +71 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +611 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +125 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +504 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +914 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +128 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +429 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +113 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +126 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +279 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +122 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +85 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +781 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +5 -22
- 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 +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +2 -1
- 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 +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +16 -15
- 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 +63 -76
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +26 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +2 -2
- 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 +15 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +40 -413
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +38 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +56 -46
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +15 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +138 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +166 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +37 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +351 -0
- 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 +118 -63
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +28 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +182 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +892 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +55 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +28 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.js +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +110 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +39 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +102 -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 +16 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +69 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +2 -41
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +76 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +43 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +67 -42
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +242 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +45 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +311 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +10 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +8 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +64 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +42 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +58 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +15 -6
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +39 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +27 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +190 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +188 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +18 -8
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +192 -85
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -6
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +16 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +8 -4
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +111 -7
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +29 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +73 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +622 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +64 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +478 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +1 -30
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +2 -8
- 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 +8 -8
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +23 -22
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +44 -14
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +345 -113
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +14 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +34 -24
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +13 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +11 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +248 -24
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +6 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +18 -81
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +2 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +10 -10
- 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 +6 -6
- 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/media/terminalChatWidget.css +6 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +35 -26
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +1 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +13 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +3 -1
- 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 +9 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +280 -65
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +47 -19
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +31 -0
- 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 +6 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +38 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +0 -72
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +0 -587
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +0 -71
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +0 -293
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.js +0 -31
|
@@ -49,6 +49,7 @@ export declare class UnifiedQuickAccess extends Disposable {
|
|
|
49
49
|
private _tabBarContainer;
|
|
50
50
|
private _isInternalValueChange;
|
|
51
51
|
private _isUpdatingSendToAgent;
|
|
52
|
+
private _arrivedViaShortcut;
|
|
52
53
|
private _sendToAgentTimeout;
|
|
53
54
|
private _sendButton;
|
|
54
55
|
private _sendButtonLabel;
|
|
@@ -91,7 +92,7 @@ export declare class UnifiedQuickAccess extends Disposable {
|
|
|
91
92
|
*/
|
|
92
93
|
private _sendMessageRaw;
|
|
93
94
|
/**
|
|
94
|
-
* Send the current message to a new agent session (strips prefix).
|
|
95
|
+
* Send the current message to a new agent session (strips prefix or shortcut character).
|
|
95
96
|
*/
|
|
96
97
|
private _sendMessage;
|
|
97
98
|
/**
|
|
@@ -106,6 +107,7 @@ export declare class UnifiedQuickAccess extends Disposable {
|
|
|
106
107
|
/**
|
|
107
108
|
* Detect which tab matches the current value based on prefix.
|
|
108
109
|
* Only switches away from current tab if user explicitly typed a different prefix.
|
|
110
|
+
* Supports shortcut keys: ">" for Commands, "<" for Sessions.
|
|
109
111
|
*/
|
|
110
112
|
private _detectTabFromValue;
|
|
111
113
|
/**
|
package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js
CHANGED
|
@@ -26,22 +26,22 @@ registerCss(unifiedQuickAccess);
|
|
|
26
26
|
const SEND_TO_AGENT_ID = "unified-quick-access-send-to-agent";
|
|
27
27
|
const DEFAULT_UNIFIED_QUICK_ACCESS_TABS = [{
|
|
28
28
|
id: "agentSessions",
|
|
29
|
-
label: ( localize(
|
|
29
|
+
label: ( localize(5172, "Sessions")),
|
|
30
30
|
prefix: "agent ",
|
|
31
|
-
placeholder: ( localize(
|
|
32
|
-
tooltip: ( localize(
|
|
31
|
+
placeholder: ( localize(5173, "Search sessions or type a message...")),
|
|
32
|
+
tooltip: ( localize(5174, "Search sessions or send a message to agent"))
|
|
33
33
|
}, {
|
|
34
34
|
id: "commands",
|
|
35
|
-
label: ( localize(
|
|
35
|
+
label: ( localize(5175, "Commands")),
|
|
36
36
|
prefix: ">",
|
|
37
|
-
placeholder: ( localize(
|
|
38
|
-
tooltip: ( localize(
|
|
37
|
+
placeholder: ( localize(5176, "Search commands...")),
|
|
38
|
+
tooltip: ( localize(5177, "Run commands"))
|
|
39
39
|
}, {
|
|
40
40
|
id: "files",
|
|
41
|
-
label: ( localize(
|
|
41
|
+
label: ( localize(5178, "Files")),
|
|
42
42
|
prefix: "",
|
|
43
|
-
placeholder: ( localize(
|
|
44
|
-
tooltip: ( localize(
|
|
43
|
+
placeholder: ( localize(5179, "Search files...")),
|
|
44
|
+
tooltip: ( localize(5180, "Go to files"))
|
|
45
45
|
}];
|
|
46
46
|
let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
|
|
47
47
|
constructor(
|
|
@@ -95,6 +95,17 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
|
|
|
95
95
|
if (this._isInternalValueChange) {
|
|
96
96
|
return;
|
|
97
97
|
}
|
|
98
|
+
if (this._arrivedViaShortcut) {
|
|
99
|
+
const shortcut = this._arrivedViaShortcut;
|
|
100
|
+
if (!value.startsWith(shortcut)) {
|
|
101
|
+
const filesTab = this._tabs.find(t => t.id === "files");
|
|
102
|
+
if (filesTab && filesTab !== this._currentTab) {
|
|
103
|
+
this._arrivedViaShortcut = undefined;
|
|
104
|
+
this._switchTab(filesTab, picker, false);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
98
109
|
const matchingTab = this._detectTabFromValue(value);
|
|
99
110
|
if (matchingTab && matchingTab !== this._currentTab) {
|
|
100
111
|
this._switchTab(matchingTab, picker, true);
|
|
@@ -110,7 +121,14 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
|
|
|
110
121
|
const activeItems = picker.activeItems;
|
|
111
122
|
const sendToAgentSelected = selectedItems.length > 0 && selectedItems[0].id === SEND_TO_AGENT_ID;
|
|
112
123
|
const hasRealActiveItem = ( activeItems.some(item => item.id !== SEND_TO_AGENT_ID));
|
|
113
|
-
|
|
124
|
+
let filterText;
|
|
125
|
+
if (this._arrivedViaShortcut && picker.value.startsWith(this._arrivedViaShortcut)) {
|
|
126
|
+
filterText = picker.value.substring(1).trim();
|
|
127
|
+
} else if (this._currentTab) {
|
|
128
|
+
filterText = picker.value.substring(this._currentTab.prefix.length).trim();
|
|
129
|
+
} else {
|
|
130
|
+
filterText = picker.value.trim();
|
|
131
|
+
}
|
|
114
132
|
if (sendToAgentSelected || (!hasRealActiveItem && filterText)) {
|
|
115
133
|
this._sendMessage(picker.value);
|
|
116
134
|
}
|
|
@@ -121,6 +139,7 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
|
|
|
121
139
|
this._providerCts = undefined;
|
|
122
140
|
this._currentPicker = undefined;
|
|
123
141
|
this._currentTab = undefined;
|
|
142
|
+
this._arrivedViaShortcut = undefined;
|
|
124
143
|
if (this._sendToAgentTimeout) {
|
|
125
144
|
clearTimeout(this._sendToAgentTimeout);
|
|
126
145
|
this._sendToAgentTimeout = undefined;
|
|
@@ -213,14 +232,14 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
|
|
|
213
232
|
}
|
|
214
233
|
const hasInput = value.trim().length > 0;
|
|
215
234
|
if (hasInput) {
|
|
216
|
-
this._sendButtonLabel.textContent = ( localize(
|
|
217
|
-
this._sendButtonHover?.update(( localize(
|
|
235
|
+
this._sendButtonLabel.textContent = ( localize(5181, "Send"));
|
|
236
|
+
this._sendButtonHover?.update(( localize(5182, "Send message to new agent session")));
|
|
218
237
|
this._sendButtonIcon.style.display = "";
|
|
219
238
|
} else {
|
|
220
239
|
const openChatKeybinding = this.keybindingService.lookupKeybinding(CHAT_OPEN_ACTION_ID);
|
|
221
240
|
const openChatLabel = openChatKeybinding?.getLabel() ?? "";
|
|
222
|
-
this._sendButtonLabel.textContent = ( localize(
|
|
223
|
-
const tooltip = openChatLabel ? ( localize(
|
|
241
|
+
this._sendButtonLabel.textContent = ( localize(5183, "Open Chat"));
|
|
242
|
+
const tooltip = openChatLabel ? ( localize(5184, "Open chat ({0})", openChatLabel)) : ( localize(5185, "Open chat"));
|
|
224
243
|
this._sendButtonHover?.update(tooltip);
|
|
225
244
|
this._sendButtonIcon.style.display = "none";
|
|
226
245
|
}
|
|
@@ -244,7 +263,9 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
|
|
|
244
263
|
}
|
|
245
264
|
async _sendMessage(value) {
|
|
246
265
|
let message = value;
|
|
247
|
-
if (this.
|
|
266
|
+
if (this._arrivedViaShortcut && message.startsWith(this._arrivedViaShortcut)) {
|
|
267
|
+
message = message.substring(1).trim();
|
|
268
|
+
} else if (this._currentTab) {
|
|
248
269
|
if (value.startsWith(this._currentTab.prefix)) {
|
|
249
270
|
message = value.substring(this._currentTab.prefix.length).trim();
|
|
250
271
|
}
|
|
@@ -264,7 +285,14 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
|
|
|
264
285
|
if (this._isUpdatingSendToAgent) {
|
|
265
286
|
return;
|
|
266
287
|
}
|
|
267
|
-
|
|
288
|
+
let filterText;
|
|
289
|
+
if (this._arrivedViaShortcut && picker.value.startsWith(this._arrivedViaShortcut)) {
|
|
290
|
+
filterText = picker.value.substring(1).trim();
|
|
291
|
+
} else if (this._currentTab) {
|
|
292
|
+
filterText = picker.value.substring(this._currentTab.prefix.length).trim();
|
|
293
|
+
} else {
|
|
294
|
+
filterText = picker.value.trim();
|
|
295
|
+
}
|
|
268
296
|
const fullInput = picker.value.trim();
|
|
269
297
|
const messageToSend = filterText || fullInput;
|
|
270
298
|
if (!messageToSend) {
|
|
@@ -279,10 +307,10 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
|
|
|
279
307
|
}
|
|
280
308
|
const sendItem = {
|
|
281
309
|
id: SEND_TO_AGENT_ID,
|
|
282
|
-
label: `$(send) ${( localize(
|
|
310
|
+
label: `$(send) ${( localize(5186, "Send to agent"))}`,
|
|
283
311
|
description: fullInput,
|
|
284
312
|
alwaysShow: true,
|
|
285
|
-
ariaLabel: ( localize(
|
|
313
|
+
ariaLabel: ( localize(5187, "Send message to agent: {0}", fullInput))
|
|
286
314
|
};
|
|
287
315
|
const currentItems = picker.items.filter(item => item.id !== SEND_TO_AGENT_ID);
|
|
288
316
|
const isSessionsTab = this._currentTab?.id === "agentSessions";
|
|
@@ -314,19 +342,49 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
|
|
|
314
342
|
}
|
|
315
343
|
this._isInternalValueChange = true;
|
|
316
344
|
if (preserveFilterText && previousTab) {
|
|
317
|
-
const
|
|
318
|
-
|
|
345
|
+
const currentValue = picker.value;
|
|
346
|
+
let filterText = currentValue;
|
|
347
|
+
if (currentValue.startsWith(previousTab.prefix)) {
|
|
348
|
+
filterText = currentValue.substring(previousTab.prefix.length);
|
|
349
|
+
}
|
|
350
|
+
if (this._arrivedViaShortcut === "<" && tab.id === "agentSessions") {
|
|
351
|
+
filterText = filterText.replace(/^<+/, "");
|
|
352
|
+
picker.value = "<" + filterText;
|
|
353
|
+
} else if (this._arrivedViaShortcut === ">" && tab.id === "commands") {
|
|
354
|
+
filterText = filterText.replace(/^>+/, "");
|
|
355
|
+
picker.value = ">" + filterText;
|
|
356
|
+
} else {
|
|
357
|
+
picker.value = tab.prefix + filterText;
|
|
358
|
+
}
|
|
319
359
|
} else if (previousTab) {
|
|
320
360
|
const currentValue = picker.value;
|
|
321
361
|
if (currentValue.startsWith(previousTab.prefix)) {
|
|
322
362
|
picker.value = currentValue.substring(previousTab.prefix.length);
|
|
323
363
|
}
|
|
364
|
+
if (picker.value.startsWith("<") || picker.value.startsWith(">")) {
|
|
365
|
+
picker.value = picker.value.substring(1);
|
|
366
|
+
}
|
|
367
|
+
this._arrivedViaShortcut = undefined;
|
|
324
368
|
}
|
|
325
369
|
this._isInternalValueChange = false;
|
|
326
370
|
picker.placeholder = tab.placeholder;
|
|
327
371
|
this._activateProvider(tab, picker);
|
|
328
372
|
}
|
|
329
373
|
_detectTabFromValue(value) {
|
|
374
|
+
if (value === "<" || value.startsWith("<")) {
|
|
375
|
+
const sessionsTab = this._tabs.find(t => t.id === "agentSessions");
|
|
376
|
+
if (sessionsTab && this._currentTab?.id !== "agentSessions") {
|
|
377
|
+
this._arrivedViaShortcut = "<";
|
|
378
|
+
return sessionsTab;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
if (value === ">" || value.startsWith(">")) {
|
|
382
|
+
const commandsTab = this._tabs.find(t => t.id === "commands");
|
|
383
|
+
if (commandsTab && this._currentTab?.id !== "commands") {
|
|
384
|
+
this._arrivedViaShortcut = ">";
|
|
385
|
+
return commandsTab;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
330
388
|
if (this._currentTab && value.startsWith(this._currentTab.prefix)) {
|
|
331
389
|
return this._currentTab;
|
|
332
390
|
}
|
|
@@ -341,7 +399,7 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
|
|
|
341
399
|
if (tab.isSendTab) {
|
|
342
400
|
picker.busy = false;
|
|
343
401
|
picker.items = [{
|
|
344
|
-
label: ( localize(
|
|
402
|
+
label: ( localize(5188, "Press Enter or click Send to create a new agent session")),
|
|
345
403
|
alwaysShow: true
|
|
346
404
|
}];
|
|
347
405
|
return;
|
|
@@ -351,7 +409,11 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
|
|
|
351
409
|
const [provider] = this._getOrInstantiateProvider(tab.prefix);
|
|
352
410
|
if (provider) {
|
|
353
411
|
const tabPrefix = tab.prefix;
|
|
412
|
+
const arrivedViaShortcut = this._arrivedViaShortcut;
|
|
354
413
|
picker.filterValue = value => {
|
|
414
|
+
if (arrivedViaShortcut && value.startsWith(arrivedViaShortcut)) {
|
|
415
|
+
return value.substring(1);
|
|
416
|
+
}
|
|
355
417
|
if (value.startsWith(tabPrefix)) {
|
|
356
418
|
return value.substring(tabPrefix.length);
|
|
357
419
|
}
|
|
@@ -362,7 +424,7 @@ let UnifiedQuickAccess = class UnifiedQuickAccess extends Disposable {
|
|
|
362
424
|
} else {
|
|
363
425
|
picker.busy = false;
|
|
364
426
|
picker.items = [{
|
|
365
|
-
label: ( localize(
|
|
427
|
+
label: ( localize(5189, "No provider available for this tab")),
|
|
366
428
|
alwaysShow: true
|
|
367
429
|
}];
|
|
368
430
|
}
|
|
@@ -22,7 +22,7 @@ class ShowUnifiedQuickAccessAction extends Action2 {
|
|
|
22
22
|
constructor() {
|
|
23
23
|
super({
|
|
24
24
|
id: ShowUnifiedQuickAccessAction.ID,
|
|
25
|
-
title: ( localize2(
|
|
25
|
+
title: ( localize2(5190, "Show Agent Quick Access")),
|
|
26
26
|
f1: true,
|
|
27
27
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.has(`config.${ChatConfiguration.UnifiedAgentsBar}`))))
|
|
28
28
|
});
|
|
@@ -40,7 +40,7 @@ class ShowAgentSessionsQuickAccessAction extends Action2 {
|
|
|
40
40
|
constructor() {
|
|
41
41
|
super({
|
|
42
42
|
id: ShowAgentSessionsQuickAccessAction.ID,
|
|
43
|
-
title: ( localize2(
|
|
43
|
+
title: ( localize2(5191, "Show Agent Sessions")),
|
|
44
44
|
f1: true,
|
|
45
45
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.has(`config.${ChatConfiguration.UnifiedAgentsBar}`))))
|
|
46
46
|
});
|
|
@@ -58,7 +58,7 @@ class ShowCommandsQuickAccessAction extends Action2 {
|
|
|
58
58
|
constructor() {
|
|
59
59
|
super({
|
|
60
60
|
id: ShowCommandsQuickAccessAction.ID,
|
|
61
|
-
title: ( localize2(
|
|
61
|
+
title: ( localize2(5192, "Show Commands (Unified)")),
|
|
62
62
|
f1: true,
|
|
63
63
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.has(`config.${ChatConfiguration.UnifiedAgentsBar}`))))
|
|
64
64
|
});
|
|
@@ -76,7 +76,7 @@ class ShowFilesQuickAccessAction extends Action2 {
|
|
|
76
76
|
constructor() {
|
|
77
77
|
super({
|
|
78
78
|
id: ShowFilesQuickAccessAction.ID,
|
|
79
|
-
title: ( localize2(
|
|
79
|
+
title: ( localize2(5193, "Show Files (Unified)")),
|
|
80
80
|
f1: true,
|
|
81
81
|
precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.has(`config.${ChatConfiguration.UnifiedAgentsBar}`))))
|
|
82
82
|
});
|
|
@@ -3,22 +3,25 @@ import { Emitter } from "@codingame/monaco-vscode-api/vscode/vs/base/common/even
|
|
|
3
3
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
4
4
|
import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
|
|
5
5
|
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
6
|
-
import { IChatSessionItem,
|
|
6
|
+
import { IChatSessionItem, IChatSessionItemController } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService";
|
|
7
7
|
import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
|
|
8
8
|
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
9
|
-
export declare class
|
|
9
|
+
export declare class LocalAgentsSessionsController extends Disposable implements IChatSessionItemController, IWorkbenchContribution {
|
|
10
10
|
private readonly chatService;
|
|
11
11
|
private readonly chatSessionsService;
|
|
12
12
|
private readonly logService;
|
|
13
|
-
static readonly ID = "workbench.contrib.
|
|
13
|
+
static readonly ID = "workbench.contrib.localAgentsSessionsController";
|
|
14
14
|
readonly chatSessionType = "local";
|
|
15
15
|
private readonly _onDidChange;
|
|
16
16
|
readonly onDidChange: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
|
|
17
17
|
readonly _onDidChangeChatSessionItems: Emitter<void>;
|
|
18
18
|
readonly onDidChangeChatSessionItems: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<void>;
|
|
19
19
|
constructor(chatService: IChatService, chatSessionsService: IChatSessionsService, logService: ILogService);
|
|
20
|
+
private _items;
|
|
21
|
+
get items(): readonly IChatSessionItem[];
|
|
22
|
+
refresh(token: CancellationToken): Promise<void>;
|
|
20
23
|
private registerListeners;
|
|
21
|
-
provideChatSessionItems
|
|
24
|
+
private provideChatSessionItems;
|
|
22
25
|
private getHistoryItems;
|
|
23
26
|
private toChatSessionItem;
|
|
24
27
|
private modelToStatus;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import { coalesce } from '@codingame/monaco-vscode-api/vscode/vs/base/common/arrays';
|
|
4
|
+
import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
4
5
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
5
6
|
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
6
7
|
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
@@ -13,9 +14,9 @@ import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/wor
|
|
|
13
14
|
import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
14
15
|
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
15
16
|
|
|
16
|
-
let
|
|
17
|
+
let LocalAgentsSessionsController = class LocalAgentsSessionsController extends Disposable {
|
|
17
18
|
static {
|
|
18
|
-
this.ID = "workbench.contrib.
|
|
19
|
+
this.ID = "workbench.contrib.localAgentsSessionsController";
|
|
19
20
|
}
|
|
20
21
|
constructor(chatService, chatSessionsService, logService) {
|
|
21
22
|
super();
|
|
@@ -27,24 +28,31 @@ let LocalAgentsSessionsProvider = class LocalAgentsSessionsProvider extends Disp
|
|
|
27
28
|
this.onDidChange = this._onDidChange.event;
|
|
28
29
|
this._onDidChangeChatSessionItems = this._register(( new Emitter()));
|
|
29
30
|
this.onDidChangeChatSessionItems = this._onDidChangeChatSessionItems.event;
|
|
30
|
-
this.
|
|
31
|
+
this._items = [];
|
|
32
|
+
this._register(
|
|
33
|
+
this.chatSessionsService.registerChatSessionItemController(this.chatSessionType, this)
|
|
34
|
+
);
|
|
31
35
|
this.registerListeners();
|
|
32
36
|
}
|
|
37
|
+
get items() {
|
|
38
|
+
return this._items;
|
|
39
|
+
}
|
|
40
|
+
async refresh(token) {
|
|
41
|
+
this._items = await this.provideChatSessionItems(token);
|
|
42
|
+
}
|
|
33
43
|
registerListeners() {
|
|
34
|
-
|
|
35
|
-
this.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
this._register(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
}));
|
|
44
|
+
const refreshItems = async () => {
|
|
45
|
+
this._onDidChangeChatSessionItems.fire();
|
|
46
|
+
await this.refresh(CancellationToken.None);
|
|
47
|
+
this._onDidChangeChatSessionItems.fire();
|
|
48
|
+
};
|
|
49
|
+
this._register(
|
|
50
|
+
this.chatSessionsService.registerChatModelChangeListeners(this.chatService, Schemas.vscodeLocalChatSession, refreshItems)
|
|
51
|
+
);
|
|
44
52
|
this._register(this.chatService.onDidDisposeSession(e => {
|
|
45
53
|
const session = e.sessionResource.filter(resource => getChatSessionType(resource) === this.chatSessionType);
|
|
46
54
|
if (session.length > 0) {
|
|
47
|
-
|
|
55
|
+
refreshItems();
|
|
48
56
|
}
|
|
49
57
|
}));
|
|
50
58
|
}
|
|
@@ -84,7 +92,6 @@ let LocalAgentsSessionsProvider = class LocalAgentsSessionsProvider extends Disp
|
|
|
84
92
|
}
|
|
85
93
|
return {
|
|
86
94
|
resource: chat.sessionResource,
|
|
87
|
-
provider: this,
|
|
88
95
|
label: chat.title,
|
|
89
96
|
description,
|
|
90
97
|
status: model ? this.modelToStatus(model) : this.chatResponseStateToStatus(chat.lastResponseState),
|
|
@@ -133,6 +140,6 @@ let LocalAgentsSessionsProvider = class LocalAgentsSessionsProvider extends Disp
|
|
|
133
140
|
}
|
|
134
141
|
}
|
|
135
142
|
};
|
|
136
|
-
|
|
143
|
+
LocalAgentsSessionsController = ( __decorate([( __param(0, IChatService)), ( __param(1, IChatSessionsService)), ( __param(2, ILogService))], LocalAgentsSessionsController));
|
|
137
144
|
|
|
138
|
-
export {
|
|
145
|
+
export { LocalAgentsSessionsController };
|
package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PromptsStorage } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService";
|
|
2
|
+
import { IPromptsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service";
|
|
3
|
+
import { IAICustomizationWorkspaceService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.service";
|
|
4
|
+
import { AICustomizationManagementSection } from "./aiCustomizationManagement.js";
|
|
5
|
+
/**
|
|
6
|
+
* Snapshot of the list widget's internal state, passed in to avoid coupling.
|
|
7
|
+
*/
|
|
8
|
+
export interface IDebugWidgetState {
|
|
9
|
+
readonly allItems: readonly {
|
|
10
|
+
readonly storage: PromptsStorage;
|
|
11
|
+
}[];
|
|
12
|
+
readonly displayEntries: readonly {
|
|
13
|
+
type: string;
|
|
14
|
+
label?: string;
|
|
15
|
+
count?: number;
|
|
16
|
+
collapsed?: boolean;
|
|
17
|
+
}[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Generates a debug diagnostics report for the AI Customization list widget.
|
|
21
|
+
* Returns the report as a string suitable for opening in an editor.
|
|
22
|
+
*/
|
|
23
|
+
export declare function generateCustomizationDebugReport(section: AICustomizationManagementSection, promptsService: IPromptsService, workspaceService: IAICustomizationWorkspaceService, widgetState: IDebugWidgetState): Promise<string>;
|
package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
|
|
2
|
+
import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
3
|
+
import { PromptsStorage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService';
|
|
4
|
+
import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
5
|
+
import { AICustomizationManagementSection, applyStorageSourceFilter } from '../../common/aiCustomizationWorkspaceService.js';
|
|
6
|
+
import './aiCustomizationManagement.js';
|
|
7
|
+
|
|
8
|
+
function sectionToPromptType(section) {
|
|
9
|
+
switch (section) {
|
|
10
|
+
case AICustomizationManagementSection.Agents:
|
|
11
|
+
return PromptsType.agent;
|
|
12
|
+
case AICustomizationManagementSection.Skills:
|
|
13
|
+
return PromptsType.skill;
|
|
14
|
+
case AICustomizationManagementSection.Instructions:
|
|
15
|
+
return PromptsType.instructions;
|
|
16
|
+
case AICustomizationManagementSection.Hooks:
|
|
17
|
+
return PromptsType.hook;
|
|
18
|
+
case AICustomizationManagementSection.Prompts:
|
|
19
|
+
default:
|
|
20
|
+
return PromptsType.prompt;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async function generateCustomizationDebugReport(section, promptsService, workspaceService, widgetState) {
|
|
24
|
+
const promptType = sectionToPromptType(section);
|
|
25
|
+
const filter = workspaceService.getStorageSourceFilter(promptType);
|
|
26
|
+
const lines = [];
|
|
27
|
+
lines.push(`== Customization Debug: ${section} (${promptType}) ==`);
|
|
28
|
+
lines.push(
|
|
29
|
+
`Window: ${workspaceService.isSessionsWindow ? "Sessions" : "Core VS Code"}`
|
|
30
|
+
);
|
|
31
|
+
lines.push(
|
|
32
|
+
`Active root: ${workspaceService.getActiveProjectRoot()?.fsPath ?? "(none)"}`
|
|
33
|
+
);
|
|
34
|
+
lines.push(`Sections: [${workspaceService.managementSections.join(", ")}]`);
|
|
35
|
+
lines.push(`Filter sources: [${filter.sources.join(", ")}]`);
|
|
36
|
+
if (filter.includedUserFileRoots) {
|
|
37
|
+
lines.push(`Filter includedUserFileRoots:`);
|
|
38
|
+
for (const r of filter.includedUserFileRoots) {
|
|
39
|
+
lines.push(` ${r.fsPath}`);
|
|
40
|
+
}
|
|
41
|
+
} else {
|
|
42
|
+
lines.push(`Filter includedUserFileRoots: (all)`);
|
|
43
|
+
}
|
|
44
|
+
lines.push("");
|
|
45
|
+
await appendRawServiceData(lines, promptsService, promptType);
|
|
46
|
+
await appendFilteredData(lines, promptsService, promptType, filter);
|
|
47
|
+
appendWidgetState(lines, widgetState);
|
|
48
|
+
await appendSourceFolders(lines, promptsService, promptType);
|
|
49
|
+
return lines.join("\n");
|
|
50
|
+
}
|
|
51
|
+
async function appendRawServiceData(lines, promptsService, promptType) {
|
|
52
|
+
lines.push("--- Stage 1: Raw PromptsService Data ---");
|
|
53
|
+
const [localFiles, userFiles, extensionFiles] = await Promise.all([
|
|
54
|
+
promptsService.listPromptFilesForStorage(promptType, PromptsStorage.local, CancellationToken.None),
|
|
55
|
+
promptsService.listPromptFilesForStorage(promptType, PromptsStorage.user, CancellationToken.None),
|
|
56
|
+
promptsService.listPromptFilesForStorage(promptType, PromptsStorage.extension, CancellationToken.None)
|
|
57
|
+
]);
|
|
58
|
+
lines.push(` listPromptFilesForStorage(local): ${localFiles.length} files`);
|
|
59
|
+
appendFileList(lines, localFiles);
|
|
60
|
+
lines.push(` listPromptFilesForStorage(user): ${userFiles.length} files`);
|
|
61
|
+
appendFileList(lines, userFiles);
|
|
62
|
+
lines.push(` listPromptFilesForStorage(ext): ${extensionFiles.length} files`);
|
|
63
|
+
appendFileList(lines, extensionFiles);
|
|
64
|
+
const allFiles = await promptsService.listPromptFiles(promptType, CancellationToken.None);
|
|
65
|
+
lines.push(` listPromptFiles (merged): ${allFiles.length} files`);
|
|
66
|
+
if (promptType === PromptsType.instructions) {
|
|
67
|
+
const agentInstructions = await promptsService.listAgentInstructions(CancellationToken.None, undefined);
|
|
68
|
+
lines.push(` listAgentInstructions (extra): ${agentInstructions.length} files`);
|
|
69
|
+
appendFileList(lines, agentInstructions);
|
|
70
|
+
}
|
|
71
|
+
if (promptType === PromptsType.skill) {
|
|
72
|
+
const skills = await promptsService.findAgentSkills(CancellationToken.None);
|
|
73
|
+
lines.push(` findAgentSkills: ${skills?.length ?? 0} skills`);
|
|
74
|
+
for (const s of skills ?? []) {
|
|
75
|
+
lines.push(` ${s.name ?? "?"} [${s.storage}] ${s.uri.fsPath}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (promptType === PromptsType.agent) {
|
|
79
|
+
const agents = await promptsService.getCustomAgents(CancellationToken.None);
|
|
80
|
+
lines.push(` getCustomAgents: ${agents.length} agents`);
|
|
81
|
+
for (const a of agents) {
|
|
82
|
+
lines.push(` ${a.name} [${a.source.storage}] ${a.uri.fsPath}`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (promptType === PromptsType.prompt) {
|
|
86
|
+
const commands = await promptsService.getPromptSlashCommands(CancellationToken.None);
|
|
87
|
+
lines.push(` getPromptSlashCommands: ${commands.length} commands`);
|
|
88
|
+
for (const c of commands) {
|
|
89
|
+
lines.push(
|
|
90
|
+
` /${c.name} [${c.promptPath.storage}] ${c.promptPath.uri.fsPath} (type=${c.promptPath.type})`
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
lines.push("");
|
|
95
|
+
}
|
|
96
|
+
async function appendFilteredData(lines, promptsService, promptType, filter) {
|
|
97
|
+
lines.push("--- Stage 2: After applyStorageSourceFilter ---");
|
|
98
|
+
const [localFiles, userFiles, extensionFiles] = await Promise.all([
|
|
99
|
+
promptsService.listPromptFilesForStorage(promptType, PromptsStorage.local, CancellationToken.None),
|
|
100
|
+
promptsService.listPromptFilesForStorage(promptType, PromptsStorage.user, CancellationToken.None),
|
|
101
|
+
promptsService.listPromptFilesForStorage(promptType, PromptsStorage.extension, CancellationToken.None)
|
|
102
|
+
]);
|
|
103
|
+
const all = [...localFiles, ...userFiles, ...extensionFiles];
|
|
104
|
+
const filtered = applyStorageSourceFilter(all, filter);
|
|
105
|
+
lines.push(` Input: ${all.length} → Filtered: ${filtered.length}`);
|
|
106
|
+
lines.push(
|
|
107
|
+
` local: ${filtered.filter(f => f.storage === PromptsStorage.local).length}`
|
|
108
|
+
);
|
|
109
|
+
lines.push(
|
|
110
|
+
` user: ${filtered.filter(f => f.storage === PromptsStorage.user).length}`
|
|
111
|
+
);
|
|
112
|
+
lines.push(
|
|
113
|
+
` extension: ${filtered.filter(f => f.storage === PromptsStorage.extension).length}`
|
|
114
|
+
);
|
|
115
|
+
const removedCount = all.length - filtered.length;
|
|
116
|
+
if (removedCount > 0) {
|
|
117
|
+
const filteredUris = ( new Set(( filtered.map(f => ( f.uri.toString())))));
|
|
118
|
+
const removed = all.filter(f => !( filteredUris.has(( f.uri.toString()))));
|
|
119
|
+
lines.push(` Removed (${removedCount}):`);
|
|
120
|
+
for (const f of removed) {
|
|
121
|
+
lines.push(` [${f.storage}] ${f.uri.fsPath}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
lines.push("");
|
|
125
|
+
}
|
|
126
|
+
function appendWidgetState(lines, state) {
|
|
127
|
+
lines.push("--- Stage 3: Widget State (loadItems → filterItems) ---");
|
|
128
|
+
lines.push(` allItems (after loadItems): ${state.allItems.length}`);
|
|
129
|
+
lines.push(
|
|
130
|
+
` local: ${state.allItems.filter(i => i.storage === PromptsStorage.local).length}`
|
|
131
|
+
);
|
|
132
|
+
lines.push(
|
|
133
|
+
` user: ${state.allItems.filter(i => i.storage === PromptsStorage.user).length}`
|
|
134
|
+
);
|
|
135
|
+
lines.push(
|
|
136
|
+
` extension: ${state.allItems.filter(i => i.storage === PromptsStorage.extension).length}`
|
|
137
|
+
);
|
|
138
|
+
lines.push(
|
|
139
|
+
` plugin: ${state.allItems.filter(i => i.storage === PromptsStorage.plugin).length}`
|
|
140
|
+
);
|
|
141
|
+
lines.push(` displayEntries (after filterItems): ${state.displayEntries.length}`);
|
|
142
|
+
const fileEntries = state.displayEntries.filter(e => e.type === "file-item");
|
|
143
|
+
lines.push(` file items shown: ${fileEntries.length}`);
|
|
144
|
+
const groupEntries = state.displayEntries.filter(e => e.type === "group-header");
|
|
145
|
+
for (const g of groupEntries) {
|
|
146
|
+
lines.push(` group "${g.label}": count=${g.count}, collapsed=${g.collapsed}`);
|
|
147
|
+
}
|
|
148
|
+
lines.push("");
|
|
149
|
+
}
|
|
150
|
+
async function appendSourceFolders(lines, promptsService, promptType) {
|
|
151
|
+
lines.push("--- Source Folders (creation targets) ---");
|
|
152
|
+
const sourceFolders = await promptsService.getSourceFolders(promptType);
|
|
153
|
+
for (const sf of sourceFolders) {
|
|
154
|
+
lines.push(` [${sf.storage}] ${sf.uri.fsPath}`);
|
|
155
|
+
}
|
|
156
|
+
try {
|
|
157
|
+
const resolvedFolders = await promptsService.getResolvedSourceFolders(promptType);
|
|
158
|
+
lines.push("");
|
|
159
|
+
lines.push("--- Resolved Source Folders (discovery order) ---");
|
|
160
|
+
for (const rf of resolvedFolders) {
|
|
161
|
+
lines.push(` [${rf.storage}] ${rf.uri.fsPath} (source=${rf.source})`);
|
|
162
|
+
}
|
|
163
|
+
} catch {}
|
|
164
|
+
}
|
|
165
|
+
function appendFileList(lines, files) {
|
|
166
|
+
for (const f of files) {
|
|
167
|
+
lines.push(` ${f.uri.fsPath}`);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export { generateCustomizationDebugReport };
|
package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Icon for the AI Customization view container (sidebar).
|
|
3
|
+
*/
|
|
4
|
+
export declare const aiCustomizationViewIcon: import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
|
|
5
|
+
/**
|
|
6
|
+
* Icon for custom agents.
|
|
7
|
+
*/
|
|
8
|
+
export declare const agentIcon: import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
|
|
9
|
+
/**
|
|
10
|
+
* Icon for skills.
|
|
11
|
+
*/
|
|
12
|
+
export declare const skillIcon: import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
|
|
13
|
+
/**
|
|
14
|
+
* Icon for instructions.
|
|
15
|
+
*/
|
|
16
|
+
export declare const instructionsIcon: import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
|
|
17
|
+
/**
|
|
18
|
+
* Icon for prompts.
|
|
19
|
+
*/
|
|
20
|
+
export declare const promptIcon: import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
|
|
21
|
+
/**
|
|
22
|
+
* Icon for hooks.
|
|
23
|
+
*/
|
|
24
|
+
export declare const hookIcon: import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
|
|
25
|
+
/**
|
|
26
|
+
* Icon for adding a new item.
|
|
27
|
+
*/
|
|
28
|
+
export declare const addIcon: import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
|
|
29
|
+
/**
|
|
30
|
+
* Icon for the run action.
|
|
31
|
+
*/
|
|
32
|
+
export declare const runIcon: import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
|
|
33
|
+
/**
|
|
34
|
+
* Icon for workspace storage.
|
|
35
|
+
*/
|
|
36
|
+
export declare const workspaceIcon: import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
|
|
37
|
+
/**
|
|
38
|
+
* Icon for user storage.
|
|
39
|
+
*/
|
|
40
|
+
export declare const userIcon: import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
|
|
41
|
+
/**
|
|
42
|
+
* Icon for extension storage.
|
|
43
|
+
*/
|
|
44
|
+
export declare const extensionIcon: import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
|
|
45
|
+
/**
|
|
46
|
+
* Icon for plugin storage.
|
|
47
|
+
*/
|
|
48
|
+
export declare const pluginIcon: import("@codingame/monaco-vscode-api/vscode/vs/base/common/themables").ThemeIcon;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
3
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
|
+
import { registerIcon } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/iconRegistry';
|
|
5
|
+
|
|
6
|
+
registerIcon("ai-customization-view-icon", Codicon.sparkle, ( localize(5194, "Icon for the Chat Customization view.")));
|
|
7
|
+
const agentIcon = registerIcon("ai-customization-agent", Codicon.agent, ( localize(5195, "Icon for custom agents.")));
|
|
8
|
+
const skillIcon = registerIcon("ai-customization-skill", Codicon.lightbulb, ( localize(5196, "Icon for skills.")));
|
|
9
|
+
const instructionsIcon = registerIcon("ai-customization-instructions", Codicon.book, ( localize(5197, "Icon for instruction files.")));
|
|
10
|
+
const promptIcon = registerIcon("ai-customization-prompt", Codicon.bookmark, ( localize(5198, "Icon for prompt files.")));
|
|
11
|
+
const hookIcon = registerIcon("ai-customization-hook", Codicon.zap, ( localize(5199, "Icon for hooks.")));
|
|
12
|
+
registerIcon("ai-customization-add", Codicon.add, ( localize(5200, "Icon for adding new items.")));
|
|
13
|
+
registerIcon("ai-customization-run", Codicon.play, ( localize(5201, "Icon for running a prompt or agent.")));
|
|
14
|
+
const workspaceIcon = registerIcon("ai-customization-workspace", Codicon.folder, ( localize(5202, "Icon for workspace items.")));
|
|
15
|
+
const userIcon = registerIcon("ai-customization-user", Codicon.account, ( localize(5203, "Icon for user items.")));
|
|
16
|
+
const extensionIcon = registerIcon("ai-customization-extension", Codicon.extensions, ( localize(5204, "Icon for extension-contributed items.")));
|
|
17
|
+
const pluginIcon = registerIcon("ai-customization-plugin", Codicon.plug, ( localize(5205, "Icon for plugin-contributed items.")));
|
|
18
|
+
|
|
19
|
+
export { agentIcon, extensionIcon, hookIcon, instructionsIcon, pluginIcon, promptIcon, skillIcon, userIcon, workspaceIcon };
|