@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
package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js
DELETED
|
@@ -1,587 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
3
|
-
import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
4
|
-
import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
5
|
-
import { registerAction2, Action2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
6
|
-
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
7
|
-
import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
|
|
8
|
-
import { AgentFileType } 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';
|
|
10
|
-
import { PromptsConfig } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/config';
|
|
11
|
-
import { PromptsType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
12
|
-
import { relativePath, basename, dirname } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
13
|
-
import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
|
|
14
|
-
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
15
|
-
import { COPILOT_CUSTOM_INSTRUCTIONS_FILENAME } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
|
|
16
|
-
import { IUntitledTextEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/untitled/common/untitledTextEditorService.service';
|
|
17
|
-
import { CHAT_CONFIG_MENU_ID, CHAT_CATEGORY } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
|
|
18
|
-
import { ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
|
|
19
|
-
import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
|
|
20
|
-
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
21
|
-
import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
|
|
22
|
-
import { parseAllHookFiles } from '../promptSyntax/hookUtils.js';
|
|
23
|
-
import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
|
|
24
|
-
import { IRemoteAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
|
|
25
|
-
import { OS } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
26
|
-
|
|
27
|
-
function encodePathForMarkdown(path) {
|
|
28
|
-
return ( path.split("/").map(segment => encodeURIComponent(segment))).join("/");
|
|
29
|
-
}
|
|
30
|
-
function getRelativePath(uri, workspaceFolders) {
|
|
31
|
-
const normalizedUri = uri.scheme === Schemas.vscodeUserData ? uri.with({
|
|
32
|
-
scheme: Schemas.file
|
|
33
|
-
}) : uri;
|
|
34
|
-
for (const folder of workspaceFolders) {
|
|
35
|
-
const relative = relativePath(folder.uri, normalizedUri);
|
|
36
|
-
if (relative) {
|
|
37
|
-
return encodePathForMarkdown(relative);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return encodePathForMarkdown(normalizedUri.fsPath.replace(/\\/g, "/"));
|
|
41
|
-
}
|
|
42
|
-
const TREE_BRANCH = "├─";
|
|
43
|
-
const TREE_END = "└─";
|
|
44
|
-
const ICON_ERROR = "❌";
|
|
45
|
-
const ICON_WARN = "⚠️";
|
|
46
|
-
const ICON_MANUAL = "🔧";
|
|
47
|
-
const ICON_HIDDEN = "👁️🗨️";
|
|
48
|
-
function registerChatCustomizationDiagnosticsAction() {
|
|
49
|
-
registerAction2(class DiagnosticsAction extends Action2 {
|
|
50
|
-
constructor() {
|
|
51
|
-
super({
|
|
52
|
-
id: "workbench.action.chat.diagnostics",
|
|
53
|
-
title: ( localize2(4743, "Diagnostics")),
|
|
54
|
-
f1: false,
|
|
55
|
-
category: CHAT_CATEGORY,
|
|
56
|
-
menu: [{
|
|
57
|
-
id: MenuId.ChatContext,
|
|
58
|
-
group: "z_clear",
|
|
59
|
-
order: -1
|
|
60
|
-
}, {
|
|
61
|
-
id: CHAT_CONFIG_MENU_ID,
|
|
62
|
-
when: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.equals("view", ChatViewId)))),
|
|
63
|
-
order: 14,
|
|
64
|
-
group: "3_configure"
|
|
65
|
-
}, {
|
|
66
|
-
id: MenuId.ChatWelcomeContext,
|
|
67
|
-
group: "2_settings",
|
|
68
|
-
order: 0,
|
|
69
|
-
when: ( ChatContextKeys.inChatEditor.negate())
|
|
70
|
-
}]
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
async run(accessor) {
|
|
74
|
-
const promptsService = accessor.get(IPromptsService);
|
|
75
|
-
const configurationService = accessor.get(IConfigurationService);
|
|
76
|
-
const fileService = accessor.get(IFileService);
|
|
77
|
-
const untitledTextEditorService = accessor.get(IUntitledTextEditorService);
|
|
78
|
-
const commandService = accessor.get(ICommandService);
|
|
79
|
-
const workspaceContextService = accessor.get(IWorkspaceContextService);
|
|
80
|
-
const labelService = accessor.get(ILabelService);
|
|
81
|
-
const remoteAgentService = accessor.get(IRemoteAgentService);
|
|
82
|
-
const token = CancellationToken.None;
|
|
83
|
-
const workspaceFolders = workspaceContextService.getWorkspace().folders;
|
|
84
|
-
const pathService = accessor.get(IPathService);
|
|
85
|
-
const statusInfos = [];
|
|
86
|
-
const agentsStatus = await collectAgentsStatus(promptsService, fileService, token);
|
|
87
|
-
statusInfos.push(agentsStatus);
|
|
88
|
-
const instructionsStatus = await collectInstructionsStatus(promptsService, fileService, token);
|
|
89
|
-
statusInfos.push(instructionsStatus);
|
|
90
|
-
const promptsStatus = await collectPromptsStatus(promptsService, fileService, token);
|
|
91
|
-
statusInfos.push(promptsStatus);
|
|
92
|
-
const skillsStatus = await collectSkillsStatus(promptsService, configurationService, fileService, token);
|
|
93
|
-
statusInfos.push(skillsStatus);
|
|
94
|
-
const hooksStatus = await collectHooksStatus(
|
|
95
|
-
promptsService,
|
|
96
|
-
fileService,
|
|
97
|
-
labelService,
|
|
98
|
-
pathService,
|
|
99
|
-
workspaceContextService,
|
|
100
|
-
remoteAgentService,
|
|
101
|
-
token
|
|
102
|
-
);
|
|
103
|
-
statusInfos.push(hooksStatus);
|
|
104
|
-
const specialFilesStatus = await collectSpecialFilesStatus(promptsService, configurationService, token);
|
|
105
|
-
const output = formatStatusOutput(statusInfos, specialFilesStatus, workspaceFolders);
|
|
106
|
-
const untitledModel = untitledTextEditorService.create({
|
|
107
|
-
initialValue: output,
|
|
108
|
-
languageId: "markdown"
|
|
109
|
-
});
|
|
110
|
-
await commandService.executeCommand("vscode.open", untitledModel.resource);
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
async function collectAgentsStatus(promptsService, fileService, token) {
|
|
115
|
-
const type = PromptsType.agent;
|
|
116
|
-
const enabled = true;
|
|
117
|
-
const resolvedFolders = await promptsService.getResolvedSourceFolders(type);
|
|
118
|
-
const paths = await convertResolvedFoldersToPathInfo(resolvedFolders, fileService);
|
|
119
|
-
const discoveryInfo = await promptsService.getPromptDiscoveryInfo(type, token);
|
|
120
|
-
const files = ( discoveryInfo.files.map(convertDiscoveryResultToFileStatus));
|
|
121
|
-
return {
|
|
122
|
-
type,
|
|
123
|
-
paths,
|
|
124
|
-
files,
|
|
125
|
-
enabled
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
async function collectInstructionsStatus(promptsService, fileService, token) {
|
|
129
|
-
const type = PromptsType.instructions;
|
|
130
|
-
const enabled = true;
|
|
131
|
-
const resolvedFolders = await promptsService.getResolvedSourceFolders(type);
|
|
132
|
-
const paths = await convertResolvedFoldersToPathInfo(resolvedFolders, fileService);
|
|
133
|
-
const discoveryInfo = await promptsService.getPromptDiscoveryInfo(type, token);
|
|
134
|
-
const files = ( discoveryInfo.files.filter(f => basename(f.uri) !== COPILOT_CUSTOM_INSTRUCTIONS_FILENAME).map(convertDiscoveryResultToFileStatus));
|
|
135
|
-
return {
|
|
136
|
-
type,
|
|
137
|
-
paths,
|
|
138
|
-
files,
|
|
139
|
-
enabled
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
async function collectPromptsStatus(promptsService, fileService, token) {
|
|
143
|
-
const type = PromptsType.prompt;
|
|
144
|
-
const enabled = true;
|
|
145
|
-
const resolvedFolders = await promptsService.getResolvedSourceFolders(type);
|
|
146
|
-
const paths = await convertResolvedFoldersToPathInfo(resolvedFolders, fileService);
|
|
147
|
-
const discoveryInfo = await promptsService.getPromptDiscoveryInfo(type, token);
|
|
148
|
-
const files = ( discoveryInfo.files.map(convertDiscoveryResultToFileStatus));
|
|
149
|
-
return {
|
|
150
|
-
type,
|
|
151
|
-
paths,
|
|
152
|
-
files,
|
|
153
|
-
enabled
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
async function collectSkillsStatus(promptsService, configurationService, fileService, token) {
|
|
157
|
-
const type = PromptsType.skill;
|
|
158
|
-
const enabled = configurationService.getValue(PromptsConfig.USE_AGENT_SKILLS) ?? false;
|
|
159
|
-
const resolvedFolders = await promptsService.getResolvedSourceFolders(type);
|
|
160
|
-
const paths = await convertResolvedFoldersToPathInfo(resolvedFolders, fileService);
|
|
161
|
-
const discoveryInfo = await promptsService.getPromptDiscoveryInfo(type, token);
|
|
162
|
-
const files = ( discoveryInfo.files.map(convertDiscoveryResultToFileStatus));
|
|
163
|
-
return {
|
|
164
|
-
type,
|
|
165
|
-
paths,
|
|
166
|
-
files,
|
|
167
|
-
enabled
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
async function collectHooksStatus(
|
|
171
|
-
promptsService,
|
|
172
|
-
fileService,
|
|
173
|
-
labelService,
|
|
174
|
-
pathService,
|
|
175
|
-
workspaceContextService,
|
|
176
|
-
remoteAgentService,
|
|
177
|
-
token
|
|
178
|
-
) {
|
|
179
|
-
const type = PromptsType.hook;
|
|
180
|
-
const enabled = true;
|
|
181
|
-
const resolvedFolders = await promptsService.getResolvedSourceFolders(type);
|
|
182
|
-
const paths = await convertResolvedFoldersToPathInfo(resolvedFolders, fileService);
|
|
183
|
-
const discoveryInfo = await promptsService.getPromptDiscoveryInfo(type, token);
|
|
184
|
-
const files = ( discoveryInfo.files.map(convertDiscoveryResultToFileStatus));
|
|
185
|
-
const disabledFileUris = ( discoveryInfo.files.filter(f => f.status === "skipped" && f.skipReason === "all-hooks-disabled").map(f => f.uri));
|
|
186
|
-
const parsedHooks = await parseHookFiles(
|
|
187
|
-
promptsService,
|
|
188
|
-
fileService,
|
|
189
|
-
labelService,
|
|
190
|
-
pathService,
|
|
191
|
-
workspaceContextService,
|
|
192
|
-
remoteAgentService,
|
|
193
|
-
token,
|
|
194
|
-
disabledFileUris
|
|
195
|
-
);
|
|
196
|
-
return {
|
|
197
|
-
type,
|
|
198
|
-
paths,
|
|
199
|
-
files,
|
|
200
|
-
enabled,
|
|
201
|
-
parsedHooks
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
async function parseHookFiles(
|
|
205
|
-
promptsService,
|
|
206
|
-
fileService,
|
|
207
|
-
labelService,
|
|
208
|
-
pathService,
|
|
209
|
-
workspaceContextService,
|
|
210
|
-
remoteAgentService,
|
|
211
|
-
token,
|
|
212
|
-
additionalDisabledFileUris
|
|
213
|
-
) {
|
|
214
|
-
const workspaceFolder = workspaceContextService.getWorkspace().folders[0];
|
|
215
|
-
const workspaceRootUri = workspaceFolder?.uri;
|
|
216
|
-
const userHomeUri = await pathService.userHome();
|
|
217
|
-
const userHome = userHomeUri.fsPath ?? userHomeUri.path;
|
|
218
|
-
const remoteEnv = await remoteAgentService.getEnvironment();
|
|
219
|
-
const targetOS = remoteEnv?.os ?? OS;
|
|
220
|
-
return parseAllHookFiles(
|
|
221
|
-
promptsService,
|
|
222
|
-
fileService,
|
|
223
|
-
labelService,
|
|
224
|
-
workspaceRootUri,
|
|
225
|
-
userHome,
|
|
226
|
-
targetOS,
|
|
227
|
-
token,
|
|
228
|
-
{
|
|
229
|
-
additionalDisabledFileUris
|
|
230
|
-
}
|
|
231
|
-
);
|
|
232
|
-
}
|
|
233
|
-
async function collectSpecialFilesStatus(promptsService, configurationService, token) {
|
|
234
|
-
const useAgentMd = configurationService.getValue(PromptsConfig.USE_AGENT_MD) ?? false;
|
|
235
|
-
const useClaudeMd = configurationService.getValue(PromptsConfig.USE_CLAUDE_MD) ?? false;
|
|
236
|
-
const useCopilotInstructions = configurationService.getValue(PromptsConfig.USE_COPILOT_INSTRUCTION_FILES) ?? false;
|
|
237
|
-
const allFiles = await promptsService.listAgentInstructions(token);
|
|
238
|
-
return {
|
|
239
|
-
agentsMd: {
|
|
240
|
-
enabled: useAgentMd,
|
|
241
|
-
files: ( allFiles.filter(f => f.type === AgentFileType.agentsMd).map(f => f.uri))
|
|
242
|
-
},
|
|
243
|
-
claudeMd: {
|
|
244
|
-
enabled: useClaudeMd,
|
|
245
|
-
files: ( allFiles.filter(f => f.type === AgentFileType.claudeMd).map(f => f.uri))
|
|
246
|
-
},
|
|
247
|
-
copilotInstructions: {
|
|
248
|
-
enabled: useCopilotInstructions,
|
|
249
|
-
files: ( allFiles.filter(f => f.type === AgentFileType.copilotInstructionsMd).map(f => f.uri))
|
|
250
|
-
}
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
|
-
async function checkDirectoryExists(fileService, uri) {
|
|
254
|
-
try {
|
|
255
|
-
const stat = await fileService.stat(uri);
|
|
256
|
-
return stat.isDirectory;
|
|
257
|
-
} catch {
|
|
258
|
-
return false;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
async function convertResolvedFoldersToPathInfo(resolvedFolders, fileService) {
|
|
262
|
-
const paths = [];
|
|
263
|
-
let scanOrder = 1;
|
|
264
|
-
for (const folder of resolvedFolders) {
|
|
265
|
-
const exists = await checkDirectoryExists(fileService, folder.uri);
|
|
266
|
-
paths.push({
|
|
267
|
-
uri: folder.uri,
|
|
268
|
-
exists,
|
|
269
|
-
storage: folder.storage,
|
|
270
|
-
scanOrder: scanOrder++,
|
|
271
|
-
displayPath: folder.displayPath ?? folder.uri.path,
|
|
272
|
-
isDefault: folder.isDefault ?? false
|
|
273
|
-
});
|
|
274
|
-
}
|
|
275
|
-
return paths;
|
|
276
|
-
}
|
|
277
|
-
function getSkipReasonMessage(skipReason, errorMessage) {
|
|
278
|
-
switch (skipReason) {
|
|
279
|
-
case "missing-name":
|
|
280
|
-
return localize(4744, "Missing name attribute");
|
|
281
|
-
case "missing-description":
|
|
282
|
-
return localize(4745, "Missing description attribute");
|
|
283
|
-
case "name-mismatch":
|
|
284
|
-
return errorMessage ?? ( localize(4746, "Name does not match folder"));
|
|
285
|
-
case "duplicate-name":
|
|
286
|
-
return localize(4747, "Overwritten by higher priority file");
|
|
287
|
-
case "parse-error":
|
|
288
|
-
return errorMessage ?? ( localize(4748, "Parse error"));
|
|
289
|
-
case "disabled":
|
|
290
|
-
return localize(4749, "Disabled");
|
|
291
|
-
case "all-hooks-disabled":
|
|
292
|
-
return localize(4750, "All hooks disabled via disableAllHooks");
|
|
293
|
-
case "claude-hooks-disabled":
|
|
294
|
-
return localize(4751, "Claude hooks disabled via chat.useClaudeHooks setting");
|
|
295
|
-
default:
|
|
296
|
-
return errorMessage ?? ( localize(4752, "Unknown error"));
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
function convertDiscoveryResultToFileStatus(result) {
|
|
300
|
-
if (result.status === "loaded") {
|
|
301
|
-
return {
|
|
302
|
-
uri: result.uri,
|
|
303
|
-
status: "loaded",
|
|
304
|
-
name: result.name,
|
|
305
|
-
storage: result.storage,
|
|
306
|
-
extensionId: result.extensionId,
|
|
307
|
-
userInvokable: result.userInvokable,
|
|
308
|
-
disableModelInvocation: result.disableModelInvocation
|
|
309
|
-
};
|
|
310
|
-
}
|
|
311
|
-
if (result.skipReason === "duplicate-name" && result.duplicateOf) {
|
|
312
|
-
return {
|
|
313
|
-
uri: result.uri,
|
|
314
|
-
status: "overwritten",
|
|
315
|
-
name: result.name,
|
|
316
|
-
storage: result.storage,
|
|
317
|
-
overwrittenBy: result.name,
|
|
318
|
-
extensionId: result.extensionId
|
|
319
|
-
};
|
|
320
|
-
}
|
|
321
|
-
return {
|
|
322
|
-
uri: result.uri,
|
|
323
|
-
status: "skipped",
|
|
324
|
-
name: result.name,
|
|
325
|
-
reason: getSkipReasonMessage(result.skipReason, result.errorMessage),
|
|
326
|
-
storage: result.storage,
|
|
327
|
-
extensionId: result.extensionId
|
|
328
|
-
};
|
|
329
|
-
}
|
|
330
|
-
function formatStatusOutput(statusInfos, specialFiles, workspaceFolders) {
|
|
331
|
-
const lines = [];
|
|
332
|
-
lines.push(`## ${( localize(4753, "Chat Customization Diagnostics"))}`);
|
|
333
|
-
lines.push(`*${( localize(4754, "WARNING: This file may contain sensitive information."))}*`);
|
|
334
|
-
lines.push("");
|
|
335
|
-
for (const info of statusInfos) {
|
|
336
|
-
const typeName = getTypeName(info.type);
|
|
337
|
-
if (info.type === PromptsType.skill && !info.enabled) {
|
|
338
|
-
lines.push(`**${typeName}**`);
|
|
339
|
-
lines.push(`*${( localize(
|
|
340
|
-
4755,
|
|
341
|
-
"Skills are disabled. Enable them by setting `chat.useAgentSkills` to `true` in your settings."
|
|
342
|
-
))}*`);
|
|
343
|
-
lines.push("");
|
|
344
|
-
continue;
|
|
345
|
-
}
|
|
346
|
-
const enabledStatus = info.enabled ? "" : ` *(${( localize(4756, "disabled"))})*`;
|
|
347
|
-
let loadedCount = info.files.filter(f => f.status === "loaded").length;
|
|
348
|
-
const skippedCount = info.files.filter(f => f.status === "skipped" || f.status === "overwritten").length;
|
|
349
|
-
if (info.type === PromptsType.instructions) {
|
|
350
|
-
if (specialFiles.agentsMd.enabled) {
|
|
351
|
-
loadedCount += specialFiles.agentsMd.files.length;
|
|
352
|
-
}
|
|
353
|
-
if (specialFiles.copilotInstructions.enabled) {
|
|
354
|
-
loadedCount += specialFiles.copilotInstructions.files.length;
|
|
355
|
-
}
|
|
356
|
-
if (specialFiles.claudeMd.enabled) {
|
|
357
|
-
loadedCount += specialFiles.claudeMd.files.length;
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
lines.push(`**${typeName}**${enabledStatus}<br>`);
|
|
361
|
-
const statsParts = [];
|
|
362
|
-
if (info.type === PromptsType.hook) {
|
|
363
|
-
if (loadedCount > 0) {
|
|
364
|
-
statsParts.push(loadedCount === 1 ? ( localize(4757, "1 file loaded")) : ( localize(4758, "{0} files loaded", loadedCount)));
|
|
365
|
-
}
|
|
366
|
-
if (info.parsedHooks && info.parsedHooks.length > 0) {
|
|
367
|
-
const hookCount = info.parsedHooks.length;
|
|
368
|
-
statsParts.push(hookCount === 1 ? ( localize(4759, "1 hook loaded")) : ( localize(4760, "{0} hooks loaded", hookCount)));
|
|
369
|
-
}
|
|
370
|
-
} else if (loadedCount > 0) {
|
|
371
|
-
if (info.type === PromptsType.skill) {
|
|
372
|
-
statsParts.push(loadedCount === 1 ? ( localize(4761, "1 skill loaded")) : ( localize(4762, "{0} skills loaded", loadedCount)));
|
|
373
|
-
} else {
|
|
374
|
-
statsParts.push(loadedCount === 1 ? ( localize(4757, "1 file loaded")) : ( localize(4758, "{0} files loaded", loadedCount)));
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
if (skippedCount > 0) {
|
|
378
|
-
statsParts.push(( localize(4763, "{0} skipped", skippedCount)));
|
|
379
|
-
}
|
|
380
|
-
if (statsParts.length > 0) {
|
|
381
|
-
lines.push(`*${statsParts.join(", ")}*`);
|
|
382
|
-
}
|
|
383
|
-
lines.push("");
|
|
384
|
-
const allPaths = info.paths;
|
|
385
|
-
const allFiles = info.files;
|
|
386
|
-
const filesByPath = ( new Map());
|
|
387
|
-
const unmatchedFiles = [];
|
|
388
|
-
for (const file of allFiles) {
|
|
389
|
-
let matched = false;
|
|
390
|
-
for (const path of allPaths) {
|
|
391
|
-
if (isFileUnderPath(file.uri, path.uri)) {
|
|
392
|
-
const key = ( path.uri.toString());
|
|
393
|
-
if (!( filesByPath.has(key))) {
|
|
394
|
-
filesByPath.set(key, []);
|
|
395
|
-
}
|
|
396
|
-
filesByPath.get(key).push(file);
|
|
397
|
-
matched = true;
|
|
398
|
-
break;
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
if (!matched) {
|
|
402
|
-
unmatchedFiles.push(file);
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
let hasContent = false;
|
|
406
|
-
if (info.type !== PromptsType.hook) {
|
|
407
|
-
for (const path of allPaths) {
|
|
408
|
-
const pathFiles = filesByPath.get(( path.uri.toString())) || [];
|
|
409
|
-
if (path.exists) {
|
|
410
|
-
lines.push(`${path.displayPath}<br>`);
|
|
411
|
-
} else if (path.isDefault) {
|
|
412
|
-
lines.push(`${path.displayPath}<br>`);
|
|
413
|
-
} else {
|
|
414
|
-
lines.push(`${ICON_ERROR} ${path.displayPath} - *${( localize(4764, "Folder does not exist"))}*<br>`);
|
|
415
|
-
}
|
|
416
|
-
if (path.exists && pathFiles.length > 0) {
|
|
417
|
-
for (let i = 0; i < pathFiles.length; i++) {
|
|
418
|
-
const file = pathFiles[i];
|
|
419
|
-
let fileName;
|
|
420
|
-
if (info.type === PromptsType.skill) {
|
|
421
|
-
fileName = file.name || `${basename(dirname(file.uri))}`;
|
|
422
|
-
} else {
|
|
423
|
-
fileName = basename(file.uri);
|
|
424
|
-
}
|
|
425
|
-
const isLast = i === pathFiles.length - 1;
|
|
426
|
-
const prefix = isLast ? TREE_END : TREE_BRANCH;
|
|
427
|
-
const filePath = getRelativePath(file.uri, workspaceFolders);
|
|
428
|
-
if (file.status === "loaded") {
|
|
429
|
-
lines.push(`${prefix} [\`${fileName}\`](${filePath})<br>`);
|
|
430
|
-
} else if (file.status === "overwritten") {
|
|
431
|
-
lines.push(`${prefix} ${ICON_WARN} [\`${fileName}\`](${filePath}) - *${( localize(4747, "Overwritten by higher priority file"))}*<br>`);
|
|
432
|
-
} else {
|
|
433
|
-
lines.push(
|
|
434
|
-
`${prefix} ${ICON_ERROR} [\`${fileName}\`](${filePath}) - *${file.reason}*<br>`
|
|
435
|
-
);
|
|
436
|
-
}
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
hasContent = true;
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
if (info.type !== PromptsType.hook && unmatchedFiles.length > 0) {
|
|
443
|
-
const filesByExtension = ( new Map());
|
|
444
|
-
for (const file of unmatchedFiles) {
|
|
445
|
-
const extId = file.extensionId || "unknown";
|
|
446
|
-
if (!( filesByExtension.has(extId))) {
|
|
447
|
-
filesByExtension.set(extId, []);
|
|
448
|
-
}
|
|
449
|
-
filesByExtension.get(extId).push(file);
|
|
450
|
-
}
|
|
451
|
-
for (const [extId, extFiles] of filesByExtension) {
|
|
452
|
-
lines.push(`${( localize(4765, "Extension"))}: ${extId}<br>`);
|
|
453
|
-
for (let i = 0; i < extFiles.length; i++) {
|
|
454
|
-
const file = extFiles[i];
|
|
455
|
-
let fileName;
|
|
456
|
-
if (info.type === PromptsType.skill) {
|
|
457
|
-
fileName = file.name || `${basename(dirname(file.uri))}`;
|
|
458
|
-
} else {
|
|
459
|
-
fileName = basename(file.uri);
|
|
460
|
-
}
|
|
461
|
-
const isLast = i === extFiles.length - 1;
|
|
462
|
-
const prefix = isLast ? TREE_END : TREE_BRANCH;
|
|
463
|
-
const filePath = getRelativePath(file.uri, workspaceFolders);
|
|
464
|
-
if (file.status === "loaded") {
|
|
465
|
-
const flags = getSkillFlags(file, info.type);
|
|
466
|
-
lines.push(`${prefix} [\`${fileName}\`](${filePath})${flags}<br>`);
|
|
467
|
-
} else if (file.status === "overwritten") {
|
|
468
|
-
lines.push(`${prefix} ${ICON_WARN} [\`${fileName}\`](${filePath}) - *${( localize(4747, "Overwritten by higher priority file"))}*<br>`);
|
|
469
|
-
} else {
|
|
470
|
-
lines.push(
|
|
471
|
-
`${prefix} ${ICON_ERROR} [\`${fileName}\`](${filePath}) - *${file.reason}*<br>`
|
|
472
|
-
);
|
|
473
|
-
}
|
|
474
|
-
}
|
|
475
|
-
}
|
|
476
|
-
hasContent = true;
|
|
477
|
-
}
|
|
478
|
-
if (info.type === PromptsType.instructions) {
|
|
479
|
-
if (specialFiles.agentsMd.enabled && specialFiles.agentsMd.files.length > 0) {
|
|
480
|
-
lines.push(`AGENTS.md<br>`);
|
|
481
|
-
for (let i = 0; i < specialFiles.agentsMd.files.length; i++) {
|
|
482
|
-
const file = specialFiles.agentsMd.files[i];
|
|
483
|
-
const fileName = basename(file);
|
|
484
|
-
const isLast = i === specialFiles.agentsMd.files.length - 1;
|
|
485
|
-
const prefix = isLast ? TREE_END : TREE_BRANCH;
|
|
486
|
-
const filePath = getRelativePath(file, workspaceFolders);
|
|
487
|
-
lines.push(`${prefix} [\`${fileName}\`](${filePath})<br>`);
|
|
488
|
-
}
|
|
489
|
-
hasContent = true;
|
|
490
|
-
} else if (!specialFiles.agentsMd.enabled) {
|
|
491
|
-
lines.push(`AGENTS.md -<br>`);
|
|
492
|
-
hasContent = true;
|
|
493
|
-
}
|
|
494
|
-
if (specialFiles.copilotInstructions.enabled && specialFiles.copilotInstructions.files.length > 0) {
|
|
495
|
-
lines.push(`${COPILOT_CUSTOM_INSTRUCTIONS_FILENAME}<br>`);
|
|
496
|
-
for (let i = 0; i < specialFiles.copilotInstructions.files.length; i++) {
|
|
497
|
-
const file = specialFiles.copilotInstructions.files[i];
|
|
498
|
-
const fileName = basename(file);
|
|
499
|
-
const isLast = i === specialFiles.copilotInstructions.files.length - 1;
|
|
500
|
-
const prefix = isLast ? TREE_END : TREE_BRANCH;
|
|
501
|
-
const filePath = getRelativePath(file, workspaceFolders);
|
|
502
|
-
lines.push(`${prefix} [\`${fileName}\`](${filePath})<br>`);
|
|
503
|
-
}
|
|
504
|
-
hasContent = true;
|
|
505
|
-
} else if (!specialFiles.copilotInstructions.enabled) {
|
|
506
|
-
lines.push(`${COPILOT_CUSTOM_INSTRUCTIONS_FILENAME} -<br>`);
|
|
507
|
-
hasContent = true;
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
if (info.type === PromptsType.hook && info.parsedHooks && info.parsedHooks.length > 0) {
|
|
511
|
-
const hooksByFile = ( new Map());
|
|
512
|
-
for (const hook of info.parsedHooks) {
|
|
513
|
-
const fileKey = ( hook.fileUri.toString());
|
|
514
|
-
const existing = hooksByFile.get(fileKey) ?? [];
|
|
515
|
-
existing.push(hook);
|
|
516
|
-
hooksByFile.set(fileKey, existing);
|
|
517
|
-
}
|
|
518
|
-
const fileUris = Array.from(( hooksByFile.keys()));
|
|
519
|
-
for (let fileIdx = 0; fileIdx < fileUris.length; fileIdx++) {
|
|
520
|
-
const fileKey = fileUris[fileIdx];
|
|
521
|
-
const fileHooks = hooksByFile.get(fileKey);
|
|
522
|
-
const firstHook = fileHooks[0];
|
|
523
|
-
const filePath = getRelativePath(firstHook.fileUri, workspaceFolders);
|
|
524
|
-
const fileDisabled = fileHooks[0].disabled;
|
|
525
|
-
if (fileDisabled) {
|
|
526
|
-
lines.push(`[${firstHook.filePath}](${filePath}) - *${( localize(4766, "all hooks disabled via disableAllHooks"))}*<br>`);
|
|
527
|
-
} else {
|
|
528
|
-
lines.push(`[${firstHook.filePath}](${filePath})<br>`);
|
|
529
|
-
}
|
|
530
|
-
for (let i = 0; i < fileHooks.length; i++) {
|
|
531
|
-
const hook = fileHooks[i];
|
|
532
|
-
const isLast = i === fileHooks.length - 1;
|
|
533
|
-
const prefix = isLast ? TREE_END : TREE_BRANCH;
|
|
534
|
-
const disabledPrefix = hook.disabled ? `${ICON_ERROR} ` : "";
|
|
535
|
-
lines.push(
|
|
536
|
-
`${prefix} ${disabledPrefix}${hook.hookTypeLabel}: \`${hook.commandLabel}\`<br>`
|
|
537
|
-
);
|
|
538
|
-
}
|
|
539
|
-
}
|
|
540
|
-
hasContent = true;
|
|
541
|
-
}
|
|
542
|
-
if (!hasContent && info.enabled) {
|
|
543
|
-
lines.push(`*${( localize(4767, "No files loaded"))}*`);
|
|
544
|
-
}
|
|
545
|
-
lines.push("");
|
|
546
|
-
}
|
|
547
|
-
return lines.join("\n");
|
|
548
|
-
}
|
|
549
|
-
function getSkillFlags(file, type) {
|
|
550
|
-
if (type !== PromptsType.skill) {
|
|
551
|
-
return "";
|
|
552
|
-
}
|
|
553
|
-
const flags = [];
|
|
554
|
-
if (file.disableModelInvocation) {
|
|
555
|
-
flags.push(`${ICON_MANUAL} *${( localize(4768, "manual only"))}*`);
|
|
556
|
-
}
|
|
557
|
-
if (file.userInvokable === false) {
|
|
558
|
-
flags.push(`${ICON_HIDDEN} *${( localize(4769, "hidden from menu"))}*`);
|
|
559
|
-
}
|
|
560
|
-
if (flags.length === 0) {
|
|
561
|
-
return "";
|
|
562
|
-
}
|
|
563
|
-
return ` - ${flags.join(", ")}`;
|
|
564
|
-
}
|
|
565
|
-
function isFileUnderPath(fileUri, pathUri) {
|
|
566
|
-
const filePath = ( fileUri.toString());
|
|
567
|
-
const folderPath = ( pathUri.toString());
|
|
568
|
-
return filePath.startsWith(folderPath + "/") || filePath.startsWith(folderPath + "\\");
|
|
569
|
-
}
|
|
570
|
-
function getTypeName(type) {
|
|
571
|
-
switch (type) {
|
|
572
|
-
case PromptsType.agent:
|
|
573
|
-
return localize(4770, "Custom Agents");
|
|
574
|
-
case PromptsType.instructions:
|
|
575
|
-
return localize(4771, "Instructions");
|
|
576
|
-
case PromptsType.prompt:
|
|
577
|
-
return localize(4772, "Prompt Files");
|
|
578
|
-
case PromptsType.skill:
|
|
579
|
-
return localize(4773, "Skills");
|
|
580
|
-
case PromptsType.hook:
|
|
581
|
-
return localize(4774, "Hooks");
|
|
582
|
-
default:
|
|
583
|
-
return type;
|
|
584
|
-
}
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
export { formatStatusOutput, registerChatCustomizationDiagnosticsAction };
|
package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { IMarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent";
|
|
2
|
-
import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
|
|
3
|
-
import { ConfirmedReason, IChatExtensionsContent, IChatSubagentToolInvocationData, IChatTodoListContent, IChatToolInputInvocationData, IChatToolInvocation, IChatToolInvocationSerialized, ToolConfirmKind, type IChatTerminalToolInvocationData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
|
|
4
|
-
import { IPreparedToolInvocation, IToolConfirmationMessages, IToolData, IToolProgressStep, IToolResult, ToolDataSource } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
|
|
5
|
-
export interface IStreamingToolCallOptions {
|
|
6
|
-
toolCallId: string;
|
|
7
|
-
toolId: string;
|
|
8
|
-
toolData: IToolData;
|
|
9
|
-
subagentInvocationId?: string;
|
|
10
|
-
chatRequestId?: string;
|
|
11
|
-
}
|
|
12
|
-
export declare class ChatToolInvocation implements IChatToolInvocation {
|
|
13
|
-
readonly toolCallId: string;
|
|
14
|
-
readonly kind: "toolInvocation";
|
|
15
|
-
invocationMessage: string | IMarkdownString;
|
|
16
|
-
readonly originMessage: string | IMarkdownString | undefined;
|
|
17
|
-
pastTenseMessage: string | IMarkdownString | undefined;
|
|
18
|
-
confirmationMessages: IToolConfirmationMessages | undefined;
|
|
19
|
-
presentation: IPreparedToolInvocation["presentation"];
|
|
20
|
-
readonly toolId: string;
|
|
21
|
-
source: ToolDataSource;
|
|
22
|
-
readonly subAgentInvocationId: string | undefined;
|
|
23
|
-
parameters: unknown;
|
|
24
|
-
generatedTitle?: string;
|
|
25
|
-
readonly chatRequestId?: string;
|
|
26
|
-
toolSpecificData?: IChatTerminalToolInvocationData | IChatToolInputInvocationData | IChatExtensionsContent | IChatTodoListContent | IChatSubagentToolInvocationData;
|
|
27
|
-
private readonly _progress;
|
|
28
|
-
private readonly _state;
|
|
29
|
-
private readonly _partialInput;
|
|
30
|
-
private readonly _streamingMessage;
|
|
31
|
-
get state(): IObservable<IChatToolInvocation.State>;
|
|
32
|
-
/**
|
|
33
|
-
* Create a tool invocation in streaming state.
|
|
34
|
-
* Use this when the tool call is beginning to stream partial input from the LM.
|
|
35
|
-
*/
|
|
36
|
-
static createStreaming(options: IStreamingToolCallOptions): ChatToolInvocation;
|
|
37
|
-
/**
|
|
38
|
-
* Create a tool invocation already in cancelled state.
|
|
39
|
-
* Use this when a hook denies tool execution before it even starts.
|
|
40
|
-
*/
|
|
41
|
-
static createCancelled(options: IStreamingToolCallOptions, parameters: unknown, reason: ToolConfirmKind.Denied | ToolConfirmKind.Skipped, reasonMessage?: string | IMarkdownString): ChatToolInvocation;
|
|
42
|
-
constructor(preparedInvocation: IPreparedToolInvocation | undefined, toolData: IToolData, toolCallId: string, subAgentInvocationId: string | undefined, parameters: unknown, startOptions?: {
|
|
43
|
-
startInStreaming?: boolean;
|
|
44
|
-
startInCancelled?: boolean;
|
|
45
|
-
cancelReason?: ToolConfirmKind.Denied | ToolConfirmKind.Skipped;
|
|
46
|
-
cancelReasonMessage?: string | IMarkdownString;
|
|
47
|
-
}, chatRequestId?: string);
|
|
48
|
-
/**
|
|
49
|
-
* Update the partial input observable during streaming.
|
|
50
|
-
*/
|
|
51
|
-
updatePartialInput(input: unknown): void;
|
|
52
|
-
/**
|
|
53
|
-
* Update the streaming message (from handleToolStream).
|
|
54
|
-
*/
|
|
55
|
-
updateStreamingMessage(message: string | IMarkdownString): void;
|
|
56
|
-
/**
|
|
57
|
-
* Cancel a streaming invocation directly (e.g., when preToolUse hook denies).
|
|
58
|
-
* Only works when in Streaming state.
|
|
59
|
-
* @returns true if the cancellation was applied, false if not in streaming state
|
|
60
|
-
*/
|
|
61
|
-
cancelFromStreaming(reason: ToolConfirmKind.Denied | ToolConfirmKind.Skipped, reasonMessage?: string | IMarkdownString): boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Transition from streaming state to prepared/executing state.
|
|
64
|
-
* Called when the full tool call is ready.
|
|
65
|
-
*/
|
|
66
|
-
transitionFromStreaming(preparedInvocation: IPreparedToolInvocation | undefined, parameters: unknown, autoConfirmed: ConfirmedReason | undefined): void;
|
|
67
|
-
private _setCompleted;
|
|
68
|
-
didExecuteTool(result: IToolResult | undefined, final?: boolean): IChatToolInvocation.State;
|
|
69
|
-
acceptProgress(step: IToolProgressStep): void;
|
|
70
|
-
toJSON(): IChatToolInvocationSerialized;
|
|
71
|
-
}
|