@codingame/monaco-vscode-chat-service-override 28.4.0 → 29.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +18 -12
- package/package.json +5 -5
- package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +300 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.js +31 -0
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +84 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +16 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +488 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +424 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +50 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +202 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +114 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +723 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +33 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +40 -0
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +22 -0
- package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +29 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +76 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +162 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +167 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +52 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +195 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +97 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +78 -35
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +174 -170
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +7 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +118 -52
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +13 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +9 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +23 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +341 -196
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +79 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.d.ts +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +22 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +85 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +668 -214
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +306 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +84 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +651 -81
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +31 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +9 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -142
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.d.ts +43 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +63 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +44 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +25 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +297 -123
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +153 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +17 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +111 -171
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +5 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +277 -186
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +31 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +3 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +4 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +18 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +112 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +16 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +41 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +35 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +1 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +8 -51
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +13 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +29 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +14 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +79 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +125 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +11 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +113 -82
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +18 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +54 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +8 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +103 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +48 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +28 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +62 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +21 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +17 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +43 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +59 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +194 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +8 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +81 -50
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +9 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +19 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +105 -172
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +80 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +70 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +40 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +53 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +33 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +21 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +362 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +15 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +90 -43
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +146 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +33 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +200 -55
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +90 -45
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +21 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +22 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +28 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +20 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +68 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +57 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +21 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +171 -57
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +7 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +206 -35
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +4 -3
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +7 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +11 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +44 -22
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +450 -301
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +165 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +34 -20
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +209 -144
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +205 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +47 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +191 -159
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +6 -7
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +210 -233
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +19 -26
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +183 -193
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +75 -0
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +8 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +97 -35
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +67 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +62 -23
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +23 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +50 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +21 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +124 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +20 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +10 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +46 -31
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +74 -37
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +24 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +5 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +66 -64
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +5 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +390 -114
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +21 -11
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +70 -51
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +61 -51
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +94 -76
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +19 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +112 -21
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +0 -53
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +0 -219
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +0 -89
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +0 -251
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +0 -123
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +0 -278
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +0 -76
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +0 -299
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +0 -67
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +0 -263
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +0 -85
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +0 -397
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -56
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +0 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +0 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +0 -30
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +0 -28
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +0 -190
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +0 -11
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -16
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -20
|
@@ -65,13 +65,14 @@ function buildFlowGraph(events) {
|
|
|
65
65
|
function toFlowNode(event) {
|
|
66
66
|
const children = event.id ? idToChildren.get(event.id) : undefined;
|
|
67
67
|
const effectiveKind = getEffectiveKind(event);
|
|
68
|
-
let
|
|
68
|
+
let label = getEventLabel(event, effectiveKind);
|
|
69
|
+
const sublabel = getEventSublabel(event, effectiveKind);
|
|
69
70
|
let tooltip = getEventTooltip(event);
|
|
70
71
|
let description;
|
|
71
72
|
if (effectiveKind === "subagentInvocation") {
|
|
72
73
|
description = getSubagentDescription(event);
|
|
74
|
+
label = description ? ( localize(5784, "Subagent: {0}", truncateLabel(description, 30))) : ( localize(5785, "Subagent"));
|
|
73
75
|
if (description) {
|
|
74
|
-
sublabel = truncateLabel(description, 30) + (sublabel ? ` \u00b7 ${sublabel}` : "");
|
|
75
76
|
if (tooltip && !tooltip.includes(description)) {
|
|
76
77
|
const lines = tooltip.split("\n");
|
|
77
78
|
lines.splice(1, 0, description);
|
|
@@ -83,7 +84,7 @@ function buildFlowGraph(events) {
|
|
|
83
84
|
id: event.id ?? `event-${events.indexOf(event)}`,
|
|
84
85
|
kind: effectiveKind,
|
|
85
86
|
category: event.kind === "generic" ? event.category : undefined,
|
|
86
|
-
label
|
|
87
|
+
label,
|
|
87
88
|
sublabel,
|
|
88
89
|
description,
|
|
89
90
|
tooltip,
|
|
@@ -224,13 +225,13 @@ function mergeDiscoveryNodes(nodes) {
|
|
|
224
225
|
const mergedId = `merged-discovery:${run[0].id}`;
|
|
225
226
|
const labels = ( run.map(n => n.label));
|
|
226
227
|
const uniqueLabels = [...( new Set(labels))];
|
|
227
|
-
const summaryLabel = uniqueLabels.length <= 2 ? uniqueLabels.join(", ") : ( localize(
|
|
228
|
+
const summaryLabel = uniqueLabels.length <= 2 ? uniqueLabels.join(", ") : ( localize(5786, "{0} +{1} more", uniqueLabels[0], run.length - 1));
|
|
228
229
|
result.push({
|
|
229
230
|
id: mergedId,
|
|
230
231
|
kind: "generic",
|
|
231
232
|
category: "discovery",
|
|
232
233
|
label: summaryLabel,
|
|
233
|
-
sublabel: ( localize(
|
|
234
|
+
sublabel: ( localize(5787, "{0} discovery steps", run.length)),
|
|
234
235
|
tooltip: ( run.map(n => n.label + (n.sublabel ? `: ${n.sublabel}` : ""))).join("\n"),
|
|
235
236
|
created: run[0].created,
|
|
236
237
|
children: [],
|
|
@@ -281,7 +282,7 @@ function mergeToolCallNodes(nodes) {
|
|
|
281
282
|
id: mergedId,
|
|
282
283
|
kind: "toolCall",
|
|
283
284
|
label: toolName,
|
|
284
|
-
sublabel: ( localize(
|
|
285
|
+
sublabel: ( localize(5788, "{0} calls", run.length)),
|
|
285
286
|
tooltip: ( run.map(n => n.label + (n.sublabel ? `: ${n.sublabel}` : ""))).join("\n"),
|
|
286
287
|
created: run[0].created,
|
|
287
288
|
children: [],
|
|
@@ -314,28 +315,17 @@ function getEventLabel(event, effectiveKind) {
|
|
|
314
315
|
const kind = effectiveKind ?? event.kind;
|
|
315
316
|
switch (kind) {
|
|
316
317
|
case "userMessage":
|
|
317
|
-
return localize(
|
|
318
|
+
return localize(5789, "User Message");
|
|
318
319
|
case "modelTurn":
|
|
319
|
-
return event.kind === "modelTurn" ? (event.model ?? ( localize(
|
|
320
|
+
return event.kind === "modelTurn" ? (event.model ?? ( localize(5790, "Model Turn"))) : ( localize(5790, "Model Turn"));
|
|
320
321
|
case "toolCall":
|
|
321
|
-
return event.kind === "toolCall" ? event.toolName : event.kind === "generic" ? event.name : "";
|
|
322
|
+
return event.kind === "toolCall" ? event.toolName : event.kind === "generic" ? event.name : ( localize(5791, "Tool Call"));
|
|
322
323
|
case "subagentInvocation":
|
|
323
|
-
return event.kind === "subagentInvocation" ? event.agentName : "";
|
|
324
|
+
return event.kind === "subagentInvocation" ? event.agentName : ( localize(5792, "Subagent"));
|
|
324
325
|
case "agentResponse":
|
|
325
|
-
|
|
326
|
-
if (event.kind === "agentResponse") {
|
|
327
|
-
return event.message || ( localize(5687, "Response"));
|
|
328
|
-
}
|
|
329
|
-
if (event.kind === "generic") {
|
|
330
|
-
const match = /\(([^)]+)\)\s*$/.exec(event.name);
|
|
331
|
-
if (match) {
|
|
332
|
-
return match[1];
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
return localize(5687, "Response");
|
|
336
|
-
}
|
|
326
|
+
return localize(5793, "Agent Response");
|
|
337
327
|
case "generic":
|
|
338
|
-
return event.kind === "generic" ? event.name : "";
|
|
328
|
+
return event.kind === "generic" ? event.name : ( localize(5794, "Event"));
|
|
339
329
|
}
|
|
340
330
|
}
|
|
341
331
|
function getEventSublabel(event, effectiveKind) {
|
|
@@ -348,7 +338,7 @@ function getEventSublabel(event, effectiveKind) {
|
|
|
348
338
|
parts.push(event.requestName);
|
|
349
339
|
}
|
|
350
340
|
if (event.kind === "modelTurn" && event.totalTokens) {
|
|
351
|
-
parts.push(( localize(
|
|
341
|
+
parts.push(( localize(5795, "{0} tokens", event.totalTokens)));
|
|
352
342
|
}
|
|
353
343
|
if (event.kind === "modelTurn" && event.durationInMillis) {
|
|
354
344
|
parts.push(formatDuration(event.durationInMillis));
|
|
@@ -382,7 +372,7 @@ function getEventSublabel(event, effectiveKind) {
|
|
|
382
372
|
{
|
|
383
373
|
let text;
|
|
384
374
|
if (event.kind === "userMessage" || event.kind === "agentResponse") {
|
|
385
|
-
text = event.
|
|
375
|
+
text = event.message;
|
|
386
376
|
} else if (event.kind === "generic") {
|
|
387
377
|
text = event.details;
|
|
388
378
|
}
|
|
@@ -393,11 +383,14 @@ function getEventSublabel(event, effectiveKind) {
|
|
|
393
383
|
let firstLine = "";
|
|
394
384
|
for (const line of lines) {
|
|
395
385
|
const trimmed = line.trim();
|
|
396
|
-
if (trimmed) {
|
|
386
|
+
if (trimmed && trimmed.length > 2) {
|
|
397
387
|
firstLine = trimmed;
|
|
398
388
|
break;
|
|
399
389
|
}
|
|
400
390
|
}
|
|
391
|
+
if (!firstLine) {
|
|
392
|
+
firstLine = text.replace(/\s+/g, " ").trim();
|
|
393
|
+
}
|
|
401
394
|
if (!firstLine) {
|
|
402
395
|
return undefined;
|
|
403
396
|
}
|
|
@@ -433,7 +426,7 @@ function getEventTooltip(event) {
|
|
|
433
426
|
if (event.input) {
|
|
434
427
|
const input = event.input.trim();
|
|
435
428
|
parts.push(( localize(
|
|
436
|
-
|
|
429
|
+
5796,
|
|
437
430
|
"Input: {0}",
|
|
438
431
|
input.length > TOOLTIP_MAX_LENGTH ? input.substring(0, TOOLTIP_MAX_LENGTH) + "…" : input
|
|
439
432
|
)));
|
|
@@ -441,13 +434,13 @@ function getEventTooltip(event) {
|
|
|
441
434
|
if (event.output) {
|
|
442
435
|
const output = event.output.trim();
|
|
443
436
|
parts.push(( localize(
|
|
444
|
-
|
|
437
|
+
5797,
|
|
445
438
|
"Output: {0}",
|
|
446
439
|
output.length > TOOLTIP_MAX_LENGTH ? output.substring(0, TOOLTIP_MAX_LENGTH) + "…" : output
|
|
447
440
|
)));
|
|
448
441
|
}
|
|
449
442
|
if (event.result) {
|
|
450
|
-
parts.push(( localize(
|
|
443
|
+
parts.push(( localize(5798, "Result: {0}", event.result)));
|
|
451
444
|
}
|
|
452
445
|
return parts.join("\n");
|
|
453
446
|
}
|
|
@@ -458,13 +451,13 @@ function getEventTooltip(event) {
|
|
|
458
451
|
parts.push(event.description);
|
|
459
452
|
}
|
|
460
453
|
if (event.status) {
|
|
461
|
-
parts.push(( localize(
|
|
454
|
+
parts.push(( localize(5799, "Status: {0}", event.status)));
|
|
462
455
|
}
|
|
463
456
|
if (event.toolCallCount !== undefined) {
|
|
464
|
-
parts.push(( localize(
|
|
457
|
+
parts.push(( localize(5800, "Tool calls: {0}", event.toolCallCount)));
|
|
465
458
|
}
|
|
466
459
|
if (event.modelTurnCount !== undefined) {
|
|
467
|
-
parts.push(( localize(
|
|
460
|
+
parts.push(( localize(5801, "Model turns: {0}", event.modelTurnCount)));
|
|
468
461
|
}
|
|
469
462
|
return parts.join("\n");
|
|
470
463
|
}
|
|
@@ -483,16 +476,16 @@ function getEventTooltip(event) {
|
|
|
483
476
|
parts.push(event.model);
|
|
484
477
|
}
|
|
485
478
|
if (event.totalTokens) {
|
|
486
|
-
parts.push(( localize(
|
|
479
|
+
parts.push(( localize(5802, "Tokens: {0}", event.totalTokens)));
|
|
487
480
|
}
|
|
488
481
|
if (event.inputTokens) {
|
|
489
|
-
parts.push(( localize(
|
|
482
|
+
parts.push(( localize(5803, "Input tokens: {0}", event.inputTokens)));
|
|
490
483
|
}
|
|
491
484
|
if (event.outputTokens) {
|
|
492
|
-
parts.push(( localize(
|
|
485
|
+
parts.push(( localize(5804, "Output tokens: {0}", event.outputTokens)));
|
|
493
486
|
}
|
|
494
487
|
if (event.durationInMillis) {
|
|
495
|
-
parts.push(( localize(
|
|
488
|
+
parts.push(( localize(5805, "Duration: {0}", formatDuration(event.durationInMillis))));
|
|
496
489
|
}
|
|
497
490
|
return parts.length > 0 ? parts.join("\n") : undefined;
|
|
498
491
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
|
|
2
|
+
import { createElementNS } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
2
3
|
|
|
3
4
|
const NODE_HEIGHT = 36;
|
|
4
5
|
const MESSAGE_NODE_HEIGHT = 52;
|
|
@@ -114,7 +115,13 @@ function measureNodeWidth(label, sublabel) {
|
|
|
114
115
|
return Math.min(NODE_MAX_WIDTH, Math.max(NODE_MIN_WIDTH, labelWidth, sublabelWidth));
|
|
115
116
|
}
|
|
116
117
|
function subgraphHeaderLabel(node) {
|
|
117
|
-
|
|
118
|
+
if (node.kind === "subagentInvocation") {
|
|
119
|
+
return node.label;
|
|
120
|
+
}
|
|
121
|
+
if (node.description && node.description !== node.label) {
|
|
122
|
+
return `${node.label}: ${node.description}`;
|
|
123
|
+
}
|
|
124
|
+
return node.label;
|
|
118
125
|
}
|
|
119
126
|
function measureSubgraphHeaderWidth(headerLabel) {
|
|
120
127
|
return headerLabel.length * 6 + SUBGRAPH_PADDING * 2 + 20;
|
|
@@ -520,7 +527,7 @@ function centerLayout(layout, centerX) {
|
|
|
520
527
|
}
|
|
521
528
|
const SVG_NS = "http://www.w3.org/2000/svg";
|
|
522
529
|
function svgEl(tag, attrs) {
|
|
523
|
-
const el =
|
|
530
|
+
const el = createElementNS(SVG_NS, tag);
|
|
524
531
|
for (const [k, v] of Object.entries(attrs)) {
|
|
525
532
|
el.setAttribute(k, String(v));
|
|
526
533
|
}
|
|
@@ -620,7 +627,7 @@ function renderSubgraphs(svg, subgraphs, focusableElements) {
|
|
|
620
627
|
const sg = subgraphs[sgIdx];
|
|
621
628
|
const color = SUBGRAPH_COLORS[sg.depth % SUBGRAPH_COLORS.length];
|
|
622
629
|
const isCollapsed = sg.collapsedChildCount !== undefined;
|
|
623
|
-
const g =
|
|
630
|
+
const g = createElementNS(SVG_NS, "g");
|
|
624
631
|
g.classList.add("chat-debug-flowchart-subgraph");
|
|
625
632
|
const rectAttrs = {
|
|
626
633
|
x: sg.x,
|
|
@@ -658,7 +665,7 @@ function renderSubgraphs(svg, subgraphs, focusableElements) {
|
|
|
658
665
|
opacity: 0.7,
|
|
659
666
|
"clip-path": `url(#${clipId})`
|
|
660
667
|
}));
|
|
661
|
-
const headerGroup =
|
|
668
|
+
const headerGroup = createElementNS(SVG_NS, "g");
|
|
662
669
|
headerGroup.setAttribute("data-subgraph-id", sg.nodeId);
|
|
663
670
|
headerGroup.classList.add("chat-debug-flowchart-subgraph-header");
|
|
664
671
|
headerGroup.setAttribute("tabindex", "0");
|
|
@@ -754,7 +761,7 @@ function renderNodes(svg, nodes, focusableElements) {
|
|
|
754
761
|
const fontFamily = "var(--vscode-font-family, sans-serif)";
|
|
755
762
|
const nodeFill = "var(--vscode-editor-background, var(--vscode-editorWidget-background))";
|
|
756
763
|
for (const node of nodes) {
|
|
757
|
-
const g =
|
|
764
|
+
const g = createElementNS(SVG_NS, "g");
|
|
758
765
|
g.classList.add("chat-debug-flowchart-node");
|
|
759
766
|
g.setAttribute("data-node-id", node.id);
|
|
760
767
|
g.setAttribute("tabindex", "0");
|
|
@@ -763,7 +770,7 @@ function renderNodes(svg, nodes, focusableElements) {
|
|
|
763
770
|
g.setAttribute("aria-label", ariaLabel);
|
|
764
771
|
focusableElements.set(node.id, g);
|
|
765
772
|
if (node.tooltip) {
|
|
766
|
-
const title =
|
|
773
|
+
const title = createElementNS(SVG_NS, "title");
|
|
767
774
|
title.textContent = node.tooltip;
|
|
768
775
|
g.appendChild(title);
|
|
769
776
|
}
|
|
@@ -875,7 +882,7 @@ function renderNodes(svg, nodes, focusableElements) {
|
|
|
875
882
|
}
|
|
876
883
|
function renderMergedToggle(g, node, color, fontFamily) {
|
|
877
884
|
const toggleX = node.x + node.width - MERGED_TOGGLE_WIDTH;
|
|
878
|
-
const toggleGroup =
|
|
885
|
+
const toggleGroup = createElementNS(SVG_NS, "g");
|
|
879
886
|
toggleGroup.classList.add("chat-debug-flowchart-merged-toggle");
|
|
880
887
|
toggleGroup.setAttribute("data-merged-id", node.id);
|
|
881
888
|
toggleGroup.appendChild(svgEl("line", {
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
2
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
3
|
+
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
3
4
|
import { IChatDebugService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService.service";
|
|
4
5
|
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
5
6
|
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
7
|
+
import { IPreferencesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/preferences/common/preferences.service";
|
|
6
8
|
export declare class ChatDebugHomeView extends Disposable {
|
|
7
9
|
private readonly chatService;
|
|
8
10
|
private readonly chatDebugService;
|
|
9
11
|
private readonly chatWidgetService;
|
|
12
|
+
private readonly configurationService;
|
|
13
|
+
private readonly preferencesService;
|
|
10
14
|
private readonly _onNavigateToSession;
|
|
11
15
|
readonly onNavigateToSession: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<URI>;
|
|
12
16
|
readonly container: HTMLElement;
|
|
13
17
|
private readonly scrollContent;
|
|
14
18
|
private readonly renderDisposables;
|
|
15
|
-
constructor(parent: HTMLElement, chatService: IChatService, chatDebugService: IChatDebugService, chatWidgetService: IChatWidgetService);
|
|
19
|
+
constructor(parent: HTMLElement, chatService: IChatService, chatDebugService: IChatDebugService, chatWidgetService: IChatWidgetService, configurationService: IConfigurationService, preferencesService: IPreferencesService);
|
|
16
20
|
show(): void;
|
|
17
21
|
hide(): void;
|
|
18
22
|
render(): void;
|
|
@@ -1,29 +1,48 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
3
|
import { $ as $$1, append, clearNode, addDisposableListener, EventType, getActiveElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
4
|
+
import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
|
|
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, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
7
8
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
8
9
|
import { isUUID } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
|
|
9
10
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
11
|
+
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
12
|
+
import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
|
|
10
13
|
import { IChatDebugService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService.service';
|
|
11
14
|
import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
|
|
12
|
-
import {
|
|
15
|
+
import { AGENT_DEBUG_LOG_ENABLED_SETTING } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
|
|
16
|
+
import { getChatSessionType, isUntitledChatSession, LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
|
|
13
17
|
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
18
|
+
import { IPreferencesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/preferences/common/preferences.service';
|
|
14
19
|
|
|
15
20
|
const $ = $$1;
|
|
16
21
|
let ChatDebugHomeView = class ChatDebugHomeView extends Disposable {
|
|
17
|
-
constructor(
|
|
22
|
+
constructor(
|
|
23
|
+
parent,
|
|
24
|
+
chatService,
|
|
25
|
+
chatDebugService,
|
|
26
|
+
chatWidgetService,
|
|
27
|
+
configurationService,
|
|
28
|
+
preferencesService
|
|
29
|
+
) {
|
|
18
30
|
super();
|
|
19
31
|
this.chatService = chatService;
|
|
20
32
|
this.chatDebugService = chatDebugService;
|
|
21
33
|
this.chatWidgetService = chatWidgetService;
|
|
34
|
+
this.configurationService = configurationService;
|
|
35
|
+
this.preferencesService = preferencesService;
|
|
22
36
|
this._onNavigateToSession = this._register(( new Emitter()));
|
|
23
37
|
this.onNavigateToSession = this._onNavigateToSession.event;
|
|
24
38
|
this.renderDisposables = this._register(( new DisposableStore()));
|
|
25
39
|
this.container = append(parent, $(".chat-debug-home"));
|
|
26
40
|
this.scrollContent = append(this.container, $("div.chat-debug-home-content"));
|
|
41
|
+
this._register(this.configurationService.onDidChangeConfiguration(e => {
|
|
42
|
+
if (e.affectsConfiguration(AGENT_DEBUG_LOG_ENABLED_SETTING)) {
|
|
43
|
+
this.render();
|
|
44
|
+
}
|
|
45
|
+
}));
|
|
27
46
|
}
|
|
28
47
|
show() {
|
|
29
48
|
this.container.style.display = "";
|
|
@@ -37,11 +56,36 @@ let ChatDebugHomeView = class ChatDebugHomeView extends Disposable {
|
|
|
37
56
|
this.renderDisposables.clear();
|
|
38
57
|
append(
|
|
39
58
|
this.scrollContent,
|
|
40
|
-
$("h2.chat-debug-home-title", undefined, ( localize(
|
|
59
|
+
$("h2.chat-debug-home-title", undefined, ( localize(5806, "Agent Debug Logs")))
|
|
41
60
|
);
|
|
61
|
+
const isEnabled = this.configurationService.getValue(AGENT_DEBUG_LOG_ENABLED_SETTING);
|
|
62
|
+
if (!isEnabled) {
|
|
63
|
+
append(
|
|
64
|
+
this.scrollContent,
|
|
65
|
+
$("p.chat-debug-home-subtitle", undefined, ( localize(
|
|
66
|
+
5807,
|
|
67
|
+
"Enable to view debug logs and investigate chat issues with /troubleshoot."
|
|
68
|
+
)))
|
|
69
|
+
);
|
|
70
|
+
const enableButton = this.renderDisposables.add(( new Button(this.scrollContent, {
|
|
71
|
+
...defaultButtonStyles,
|
|
72
|
+
secondary: true
|
|
73
|
+
})));
|
|
74
|
+
enableButton.element.style.width = "auto";
|
|
75
|
+
enableButton.label = ( localize(5808, "Enable in Settings"));
|
|
76
|
+
this.renderDisposables.add(enableButton.onDidClick(() => {
|
|
77
|
+
this.preferencesService.openSettings({
|
|
78
|
+
jsonEditor: false,
|
|
79
|
+
query: AGENT_DEBUG_LOG_ENABLED_SETTING
|
|
80
|
+
});
|
|
81
|
+
}));
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
42
84
|
const activeWidget = this.chatWidgetService.lastFocusedWidget;
|
|
43
85
|
const activeSessionResource = activeWidget?.viewModel?.sessionResource;
|
|
44
|
-
const
|
|
86
|
+
const cliSessionTypes = ( new Set(["copilotcli", "claude-code"]));
|
|
87
|
+
const sessionResources =
|
|
88
|
+
[...this.chatDebugService.getSessionResources()].reverse().filter(r => !( cliSessionTypes.has(getChatSessionType(r))) || !isUntitledChatSession(r));
|
|
45
89
|
if (activeSessionResource) {
|
|
46
90
|
const activeIndex = sessionResources.findIndex(r => ( r.toString()) === ( activeSessionResource.toString()));
|
|
47
91
|
if (activeIndex > 0) {
|
|
@@ -52,15 +96,34 @@ let ChatDebugHomeView = class ChatDebugHomeView extends Disposable {
|
|
|
52
96
|
append(this.scrollContent, $(
|
|
53
97
|
"p.chat-debug-home-subtitle",
|
|
54
98
|
undefined,
|
|
55
|
-
sessionResources.length > 0 ? ( localize(
|
|
99
|
+
sessionResources.length > 0 ? ( localize(5809, "Select a chat session to debug")) : ( localize(5810, "Send a chat message to get started"))
|
|
56
100
|
));
|
|
57
101
|
if (sessionResources.length > 0) {
|
|
58
102
|
const sessionList = append(this.scrollContent, $(".chat-debug-home-session-list"));
|
|
59
103
|
sessionList.setAttribute("role", "list");
|
|
60
|
-
sessionList.setAttribute("aria-label", ( localize(
|
|
104
|
+
sessionList.setAttribute("aria-label", ( localize(5811, "Chat sessions")));
|
|
61
105
|
const items = [];
|
|
62
106
|
for (const sessionResource of sessionResources) {
|
|
63
|
-
const
|
|
107
|
+
const rawTitle = this.chatService.getSessionTitle(sessionResource);
|
|
108
|
+
const importedTitle = this.chatDebugService.getImportedSessionTitle(sessionResource);
|
|
109
|
+
let sessionTitle;
|
|
110
|
+
if (rawTitle && !isUUID(rawTitle)) {
|
|
111
|
+
sessionTitle = rawTitle;
|
|
112
|
+
} else if (LocalChatSessionUri.isLocalSession(sessionResource)) {
|
|
113
|
+
sessionTitle = ( localize(5812, "New Chat"));
|
|
114
|
+
} else if (importedTitle) {
|
|
115
|
+
sessionTitle = ( localize(5813, "Imported: {0}", importedTitle));
|
|
116
|
+
} else if (getChatSessionType(sessionResource) === "copilotcli") {
|
|
117
|
+
const pathId = sessionResource.path.replace(/^\//, "").split("-")[0];
|
|
118
|
+
const shortId = pathId || sessionResource.authority || ( sessionResource.toString());
|
|
119
|
+
sessionTitle = ( localize(5814, "Copilot CLI: {0}", shortId));
|
|
120
|
+
} else if (getChatSessionType(sessionResource) === "claude-code") {
|
|
121
|
+
const pathId = sessionResource.path.replace(/^\//, "").split("-")[0];
|
|
122
|
+
const shortId = pathId || sessionResource.authority || ( sessionResource.toString());
|
|
123
|
+
sessionTitle = ( localize(5815, "Claude Code: {0}", shortId));
|
|
124
|
+
} else {
|
|
125
|
+
sessionTitle = ( localize(5812, "New Chat"));
|
|
126
|
+
}
|
|
64
127
|
const isActive = activeSessionResource !== undefined && ( sessionResource.toString()) === ( activeSessionResource.toString());
|
|
65
128
|
const item = append(sessionList, $("button.chat-debug-home-session-item"));
|
|
66
129
|
item.setAttribute("role", "listitem");
|
|
@@ -70,26 +133,16 @@ let ChatDebugHomeView = class ChatDebugHomeView extends Disposable {
|
|
|
70
133
|
}
|
|
71
134
|
append(item, $(`span${ThemeIcon.asCSSSelector(Codicon.comment)}`));
|
|
72
135
|
const titleSpan = append(item, $("span.chat-debug-home-session-item-title"));
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
item.disabled = true;
|
|
77
|
-
item.setAttribute("aria-busy", "true");
|
|
78
|
-
item.setAttribute("aria-label", ( localize(5703, "Loading session…")));
|
|
79
|
-
} else {
|
|
80
|
-
titleSpan.textContent = sessionTitle;
|
|
81
|
-
const ariaLabel = isActive ? ( localize(5704, "{0} (active)", sessionTitle)) : sessionTitle;
|
|
82
|
-
item.setAttribute("aria-label", ariaLabel);
|
|
83
|
-
}
|
|
136
|
+
titleSpan.textContent = sessionTitle;
|
|
137
|
+
const ariaLabel = isActive ? ( localize(5816, "{0} (active)", sessionTitle)) : sessionTitle;
|
|
138
|
+
item.setAttribute("aria-label", ariaLabel);
|
|
84
139
|
if (isActive) {
|
|
85
|
-
append(item, $("span.chat-debug-home-session-badge", undefined, ( localize(
|
|
86
|
-
}
|
|
87
|
-
if (!isShimmering) {
|
|
88
|
-
this.renderDisposables.add(addDisposableListener(item, EventType.CLICK, () => {
|
|
89
|
-
this._onNavigateToSession.fire(sessionResource);
|
|
90
|
-
}));
|
|
91
|
-
items.push(item);
|
|
140
|
+
append(item, $("span.chat-debug-home-session-badge", undefined, ( localize(5817, "Active"))));
|
|
92
141
|
}
|
|
142
|
+
this.renderDisposables.add(addDisposableListener(item, EventType.CLICK, () => {
|
|
143
|
+
this._onNavigateToSession.fire(sessionResource);
|
|
144
|
+
}));
|
|
145
|
+
items.push(item);
|
|
93
146
|
}
|
|
94
147
|
this.renderDisposables.add(addDisposableListener(sessionList, EventType.KEY_DOWN, e => {
|
|
95
148
|
if (items.length === 0) {
|
|
@@ -123,6 +176,6 @@ let ChatDebugHomeView = class ChatDebugHomeView extends Disposable {
|
|
|
123
176
|
}
|
|
124
177
|
}
|
|
125
178
|
};
|
|
126
|
-
ChatDebugHomeView = ( __decorate([( __param(1, IChatService)), ( __param(2, IChatDebugService)), ( __param(3, IChatWidgetService))], ChatDebugHomeView));
|
|
179
|
+
ChatDebugHomeView = ( __decorate([( __param(1, IChatService)), ( __param(2, IChatDebugService)), ( __param(3, IChatWidgetService)), ( __param(4, IConfigurationService)), ( __param(5, IPreferencesService))], ChatDebugHomeView));
|
|
127
180
|
|
|
128
181
|
export { ChatDebugHomeView };
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DisposableStore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
2
|
+
import { IClipboardService } from "@codingame/monaco-vscode-api/vscode/vs/platform/clipboard/common/clipboardService.service";
|
|
3
|
+
import { ILanguageService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service";
|
|
4
|
+
import { IChatDebugEventHookContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService";
|
|
5
|
+
/**
|
|
6
|
+
* Render a resolved hook execution content with structured sections for
|
|
7
|
+
* hook type, command, result, duration, input, and output.
|
|
8
|
+
* When JSON is detected in input/output, renders it with syntax highlighting.
|
|
9
|
+
*/
|
|
10
|
+
export declare function renderHookContent(content: IChatDebugEventHookContent, languageService: ILanguageService, clipboardService?: IClipboardService, scrollable?: {
|
|
11
|
+
scanDomNode(): void;
|
|
12
|
+
}): Promise<{
|
|
13
|
+
element: HTMLElement;
|
|
14
|
+
disposables: DisposableStore;
|
|
15
|
+
}>;
|
|
16
|
+
/**
|
|
17
|
+
* Convert a resolved hook content to plain text for clipboard / editor output.
|
|
18
|
+
*/
|
|
19
|
+
export declare function hookContentToPlainText(content: IChatDebugEventHookContent): string;
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
|
|
2
|
+
import { $ as $$1, append } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
|
|
3
|
+
import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
4
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
5
|
+
import { ChatDebugHookResult } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService';
|
|
6
|
+
import { tokenizeContent, renderSection } from './chatDebugToolCallContentRenderer.js';
|
|
7
|
+
|
|
8
|
+
const $ = $$1;
|
|
9
|
+
async function renderHookContent(content, languageService, clipboardService, scrollable) {
|
|
10
|
+
const disposables = ( new DisposableStore());
|
|
11
|
+
const container = $("div.chat-debug-message-content");
|
|
12
|
+
container.tabIndex = 0;
|
|
13
|
+
append(
|
|
14
|
+
container,
|
|
15
|
+
$("div.chat-debug-message-content-title", undefined, content.hookType)
|
|
16
|
+
);
|
|
17
|
+
const statusParts = [];
|
|
18
|
+
if (content.result !== undefined) {
|
|
19
|
+
statusParts.push(formatHookResult(content.result));
|
|
20
|
+
}
|
|
21
|
+
if (content.exitCode !== undefined) {
|
|
22
|
+
statusParts.push(( localize(5818, "Exit Code: {0}", content.exitCode)));
|
|
23
|
+
}
|
|
24
|
+
if (content.durationInMillis !== undefined) {
|
|
25
|
+
statusParts.push(( localize(5819, "{0}ms", content.durationInMillis)));
|
|
26
|
+
}
|
|
27
|
+
if (statusParts.length > 0) {
|
|
28
|
+
append(container, $(
|
|
29
|
+
"div.chat-debug-message-content-summary",
|
|
30
|
+
undefined,
|
|
31
|
+
statusParts.join(" · ")
|
|
32
|
+
));
|
|
33
|
+
}
|
|
34
|
+
const sectionsContainer = append(container, $("div.chat-debug-message-sections"));
|
|
35
|
+
if (content.command) {
|
|
36
|
+
const {
|
|
37
|
+
plainText,
|
|
38
|
+
tokenizedHtml
|
|
39
|
+
} = await tokenizeContent(content.command, languageService);
|
|
40
|
+
renderSection(sectionsContainer, ( localize(5820, "Command")), plainText, tokenizedHtml, disposables, false, clipboardService, scrollable);
|
|
41
|
+
}
|
|
42
|
+
if (content.input) {
|
|
43
|
+
const {
|
|
44
|
+
plainText,
|
|
45
|
+
tokenizedHtml
|
|
46
|
+
} = await tokenizeContent(content.input, languageService);
|
|
47
|
+
renderSection(sectionsContainer, ( localize(5821, "Input")), plainText, tokenizedHtml, disposables, false, clipboardService, scrollable);
|
|
48
|
+
}
|
|
49
|
+
if (content.output) {
|
|
50
|
+
const {
|
|
51
|
+
plainText,
|
|
52
|
+
tokenizedHtml
|
|
53
|
+
} = await tokenizeContent(content.output, languageService);
|
|
54
|
+
renderSection(sectionsContainer, ( localize(5822, "Output")), plainText, tokenizedHtml, disposables, false, clipboardService, scrollable);
|
|
55
|
+
}
|
|
56
|
+
if (content.errorMessage) {
|
|
57
|
+
const {
|
|
58
|
+
plainText,
|
|
59
|
+
tokenizedHtml
|
|
60
|
+
} = await tokenizeContent(content.errorMessage, languageService);
|
|
61
|
+
renderSection(sectionsContainer, ( localize(5823, "Error")), plainText, tokenizedHtml, disposables, false, clipboardService, scrollable);
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
element: container,
|
|
65
|
+
disposables
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
function formatHookResult(result) {
|
|
69
|
+
switch (result) {
|
|
70
|
+
case ChatDebugHookResult.Success:
|
|
71
|
+
return localize(5824, "Success");
|
|
72
|
+
case ChatDebugHookResult.Error:
|
|
73
|
+
return localize(5825, "Error");
|
|
74
|
+
case ChatDebugHookResult.NonBlockingError:
|
|
75
|
+
return localize(5826, "Non-blocking Error");
|
|
76
|
+
default:
|
|
77
|
+
return String(result);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function hookContentToPlainText(content) {
|
|
81
|
+
const lines = [];
|
|
82
|
+
lines.push(( localize(5827, "Hook Type: {0}", content.hookType)));
|
|
83
|
+
if (content.result !== undefined) {
|
|
84
|
+
lines.push(( localize(5828, "Result: {0}", formatHookResult(content.result))));
|
|
85
|
+
}
|
|
86
|
+
if (content.exitCode !== undefined) {
|
|
87
|
+
lines.push(( localize(5829, "Exit Code: {0}", content.exitCode)));
|
|
88
|
+
}
|
|
89
|
+
if (content.durationInMillis !== undefined) {
|
|
90
|
+
lines.push(( localize(5830, "Duration: {0}ms", content.durationInMillis)));
|
|
91
|
+
}
|
|
92
|
+
if (content.command) {
|
|
93
|
+
lines.push("");
|
|
94
|
+
lines.push(`[${( localize(5820, "Command"))}]`);
|
|
95
|
+
lines.push(content.command);
|
|
96
|
+
}
|
|
97
|
+
if (content.input) {
|
|
98
|
+
lines.push("");
|
|
99
|
+
lines.push(`[${( localize(5821, "Input"))}]`);
|
|
100
|
+
try {
|
|
101
|
+
const parsed = JSON.parse(content.input);
|
|
102
|
+
lines.push(JSON.stringify(parsed, null, 2));
|
|
103
|
+
} catch {
|
|
104
|
+
lines.push(content.input);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (content.output) {
|
|
108
|
+
lines.push("");
|
|
109
|
+
lines.push(`[${( localize(5822, "Output"))}]`);
|
|
110
|
+
try {
|
|
111
|
+
const parsed = JSON.parse(content.output);
|
|
112
|
+
lines.push(JSON.stringify(parsed, null, 2));
|
|
113
|
+
} catch {
|
|
114
|
+
lines.push(content.output);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if (content.errorMessage) {
|
|
118
|
+
lines.push("");
|
|
119
|
+
lines.push(`[${( localize(5823, "Error"))}]`);
|
|
120
|
+
lines.push(content.errorMessage);
|
|
121
|
+
}
|
|
122
|
+
return lines.join("\n");
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export { hookContentToPlainText, renderHookContent };
|
|
@@ -3,11 +3,13 @@ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/l
|
|
|
3
3
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
4
4
|
import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
|
|
5
5
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
6
|
-
import { IChatDebugEvent } from "
|
|
6
|
+
import { IChatDebugEvent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService";
|
|
7
7
|
import { IChatDebugService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService.service";
|
|
8
8
|
import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
|
|
9
9
|
import { ChatDebugFilterState } from "./chatDebugFilters.js";
|
|
10
10
|
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
11
|
+
import { IClipboardService } from "@codingame/monaco-vscode-api/vscode/vs/platform/clipboard/common/clipboardService.service";
|
|
12
|
+
import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service";
|
|
11
13
|
export declare enum LogsNavigation {
|
|
12
14
|
Home = "home",
|
|
13
15
|
Overview = "overview"
|
|
@@ -19,6 +21,8 @@ export declare class ChatDebugLogsView extends Disposable {
|
|
|
19
21
|
private readonly instantiationService;
|
|
20
22
|
private readonly contextKeyService;
|
|
21
23
|
private readonly chatWidgetService;
|
|
24
|
+
private readonly clipboardService;
|
|
25
|
+
private readonly contextMenuService;
|
|
22
26
|
private readonly _onNavigate;
|
|
23
27
|
readonly onNavigate: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<LogsNavigation>;
|
|
24
28
|
readonly container: HTMLElement;
|
|
@@ -39,8 +43,9 @@ export declare class ChatDebugLogsView extends Disposable {
|
|
|
39
43
|
private currentDimension;
|
|
40
44
|
private readonly eventListener;
|
|
41
45
|
private readonly sessionStateDisposable;
|
|
42
|
-
private
|
|
43
|
-
|
|
46
|
+
private readonly refreshScheduler;
|
|
47
|
+
private readonly progressBar;
|
|
48
|
+
constructor(parent: HTMLElement, filterState: ChatDebugFilterState, chatService: IChatService, chatDebugService: IChatDebugService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, clipboardService: IClipboardService, contextMenuService: IContextMenuService);
|
|
44
49
|
setSession(sessionResource: URI): void;
|
|
45
50
|
setFilterText(text: string): void;
|
|
46
51
|
show(): void;
|
|
@@ -49,8 +54,8 @@ export declare class ChatDebugLogsView extends Disposable {
|
|
|
49
54
|
updateBreadcrumb(): void;
|
|
50
55
|
layout(dimension: Dimension): void;
|
|
51
56
|
refreshList(): void;
|
|
52
|
-
private updateShimmerPosition;
|
|
53
57
|
addEvent(event: IChatDebugEvent): void;
|
|
58
|
+
private scheduleRefresh;
|
|
54
59
|
private loadEvents;
|
|
55
60
|
private trackSessionState;
|
|
56
61
|
private refreshTree;
|
|
@@ -58,4 +63,6 @@ export declare class ChatDebugLogsView extends Disposable {
|
|
|
58
63
|
private toggleViewMode;
|
|
59
64
|
private updateViewModeToggle;
|
|
60
65
|
private updateMoreFiltersChecked;
|
|
66
|
+
private showEventContextMenu;
|
|
67
|
+
private applyFilterToken;
|
|
61
68
|
}
|