@codingame/monaco-vscode-chat-service-override 27.0.0 → 28.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +5 -2
- package/package.json +5 -5
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +54 -4
- package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +179 -11
- package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +5 -1
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +6 -1
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +25 -10
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +6 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +25 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +15 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +17 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +89 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +4 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +146 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +56 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +25 -25
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +13 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +189 -145
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +42 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +210 -59
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +14 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +122 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +87 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +279 -214
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +12 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +63 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +62 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +49 -49
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +103 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +61 -61
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +31 -126
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +229 -524
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +54 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +11 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +112 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +348 -285
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +107 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +55 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +148 -60
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +72 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +5 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +11 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +72 -23
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +19 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +37 -8
- package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +71 -25
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +217 -91
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +85 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +257 -63
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +32 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +287 -88
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +75 -20
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +81 -41
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +8 -6
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +6 -5
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +38 -22
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +8 -8
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +36 -18
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +27 -13
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -67
|
@@ -224,13 +224,13 @@ function mergeDiscoveryNodes(nodes) {
|
|
|
224
224
|
const mergedId = `merged-discovery:${run[0].id}`;
|
|
225
225
|
const labels = ( run.map(n => n.label));
|
|
226
226
|
const uniqueLabels = [...( new Set(labels))];
|
|
227
|
-
const summaryLabel = uniqueLabels.length <= 2 ? uniqueLabels.join(", ") : ( localize(
|
|
227
|
+
const summaryLabel = uniqueLabels.length <= 2 ? uniqueLabels.join(", ") : ( localize(5682, "{0} +{1} more", uniqueLabels[0], run.length - 1));
|
|
228
228
|
result.push({
|
|
229
229
|
id: mergedId,
|
|
230
230
|
kind: "generic",
|
|
231
231
|
category: "discovery",
|
|
232
232
|
label: summaryLabel,
|
|
233
|
-
sublabel: ( localize(
|
|
233
|
+
sublabel: ( localize(5683, "{0} discovery steps", run.length)),
|
|
234
234
|
tooltip: ( run.map(n => n.label + (n.sublabel ? `: ${n.sublabel}` : ""))).join("\n"),
|
|
235
235
|
created: run[0].created,
|
|
236
236
|
children: [],
|
|
@@ -281,7 +281,7 @@ function mergeToolCallNodes(nodes) {
|
|
|
281
281
|
id: mergedId,
|
|
282
282
|
kind: "toolCall",
|
|
283
283
|
label: toolName,
|
|
284
|
-
sublabel: ( localize(
|
|
284
|
+
sublabel: ( localize(5684, "{0} calls", run.length)),
|
|
285
285
|
tooltip: ( run.map(n => n.label + (n.sublabel ? `: ${n.sublabel}` : ""))).join("\n"),
|
|
286
286
|
created: run[0].created,
|
|
287
287
|
children: [],
|
|
@@ -314,9 +314,9 @@ function getEventLabel(event, effectiveKind) {
|
|
|
314
314
|
const kind = effectiveKind ?? event.kind;
|
|
315
315
|
switch (kind) {
|
|
316
316
|
case "userMessage":
|
|
317
|
-
return localize(
|
|
317
|
+
return localize(5685, "User");
|
|
318
318
|
case "modelTurn":
|
|
319
|
-
return event.kind === "modelTurn" ? (event.model ?? ( localize(
|
|
319
|
+
return event.kind === "modelTurn" ? (event.model ?? ( localize(5686, "Model Turn"))) : ( localize(5686, "Model Turn"));
|
|
320
320
|
case "toolCall":
|
|
321
321
|
return event.kind === "toolCall" ? event.toolName : event.kind === "generic" ? event.name : "";
|
|
322
322
|
case "subagentInvocation":
|
|
@@ -324,7 +324,7 @@ function getEventLabel(event, effectiveKind) {
|
|
|
324
324
|
case "agentResponse":
|
|
325
325
|
{
|
|
326
326
|
if (event.kind === "agentResponse") {
|
|
327
|
-
return event.message || ( localize(
|
|
327
|
+
return event.message || ( localize(5687, "Response"));
|
|
328
328
|
}
|
|
329
329
|
if (event.kind === "generic") {
|
|
330
330
|
const match = /\(([^)]+)\)\s*$/.exec(event.name);
|
|
@@ -332,7 +332,7 @@ function getEventLabel(event, effectiveKind) {
|
|
|
332
332
|
return match[1];
|
|
333
333
|
}
|
|
334
334
|
}
|
|
335
|
-
return localize(
|
|
335
|
+
return localize(5687, "Response");
|
|
336
336
|
}
|
|
337
337
|
case "generic":
|
|
338
338
|
return event.kind === "generic" ? event.name : "";
|
|
@@ -348,7 +348,7 @@ function getEventSublabel(event, effectiveKind) {
|
|
|
348
348
|
parts.push(event.requestName);
|
|
349
349
|
}
|
|
350
350
|
if (event.kind === "modelTurn" && event.totalTokens) {
|
|
351
|
-
parts.push(( localize(
|
|
351
|
+
parts.push(( localize(5688, "{0} tokens", event.totalTokens)));
|
|
352
352
|
}
|
|
353
353
|
if (event.kind === "modelTurn" && event.durationInMillis) {
|
|
354
354
|
parts.push(formatDuration(event.durationInMillis));
|
|
@@ -433,7 +433,7 @@ function getEventTooltip(event) {
|
|
|
433
433
|
if (event.input) {
|
|
434
434
|
const input = event.input.trim();
|
|
435
435
|
parts.push(( localize(
|
|
436
|
-
|
|
436
|
+
5689,
|
|
437
437
|
"Input: {0}",
|
|
438
438
|
input.length > TOOLTIP_MAX_LENGTH ? input.substring(0, TOOLTIP_MAX_LENGTH) + "…" : input
|
|
439
439
|
)));
|
|
@@ -441,13 +441,13 @@ function getEventTooltip(event) {
|
|
|
441
441
|
if (event.output) {
|
|
442
442
|
const output = event.output.trim();
|
|
443
443
|
parts.push(( localize(
|
|
444
|
-
|
|
444
|
+
5690,
|
|
445
445
|
"Output: {0}",
|
|
446
446
|
output.length > TOOLTIP_MAX_LENGTH ? output.substring(0, TOOLTIP_MAX_LENGTH) + "…" : output
|
|
447
447
|
)));
|
|
448
448
|
}
|
|
449
449
|
if (event.result) {
|
|
450
|
-
parts.push(( localize(
|
|
450
|
+
parts.push(( localize(5691, "Result: {0}", event.result)));
|
|
451
451
|
}
|
|
452
452
|
return parts.join("\n");
|
|
453
453
|
}
|
|
@@ -458,13 +458,13 @@ function getEventTooltip(event) {
|
|
|
458
458
|
parts.push(event.description);
|
|
459
459
|
}
|
|
460
460
|
if (event.status) {
|
|
461
|
-
parts.push(( localize(
|
|
461
|
+
parts.push(( localize(5692, "Status: {0}", event.status)));
|
|
462
462
|
}
|
|
463
463
|
if (event.toolCallCount !== undefined) {
|
|
464
|
-
parts.push(( localize(
|
|
464
|
+
parts.push(( localize(5693, "Tool calls: {0}", event.toolCallCount)));
|
|
465
465
|
}
|
|
466
466
|
if (event.modelTurnCount !== undefined) {
|
|
467
|
-
parts.push(( localize(
|
|
467
|
+
parts.push(( localize(5694, "Model turns: {0}", event.modelTurnCount)));
|
|
468
468
|
}
|
|
469
469
|
return parts.join("\n");
|
|
470
470
|
}
|
|
@@ -483,16 +483,16 @@ function getEventTooltip(event) {
|
|
|
483
483
|
parts.push(event.model);
|
|
484
484
|
}
|
|
485
485
|
if (event.totalTokens) {
|
|
486
|
-
parts.push(( localize(
|
|
486
|
+
parts.push(( localize(5695, "Tokens: {0}", event.totalTokens)));
|
|
487
487
|
}
|
|
488
488
|
if (event.inputTokens) {
|
|
489
|
-
parts.push(( localize(
|
|
489
|
+
parts.push(( localize(5696, "Input tokens: {0}", event.inputTokens)));
|
|
490
490
|
}
|
|
491
491
|
if (event.outputTokens) {
|
|
492
|
-
parts.push(( localize(
|
|
492
|
+
parts.push(( localize(5697, "Output tokens: {0}", event.outputTokens)));
|
|
493
493
|
}
|
|
494
494
|
if (event.durationInMillis) {
|
|
495
|
-
parts.push(( localize(
|
|
495
|
+
parts.push(( localize(5698, "Duration: {0}", formatDuration(event.durationInMillis))));
|
|
496
496
|
}
|
|
497
497
|
return parts.length > 0 ? parts.join("\n") : undefined;
|
|
498
498
|
}
|
|
@@ -37,7 +37,7 @@ let ChatDebugHomeView = class ChatDebugHomeView extends Disposable {
|
|
|
37
37
|
this.renderDisposables.clear();
|
|
38
38
|
append(
|
|
39
39
|
this.scrollContent,
|
|
40
|
-
$("h2.chat-debug-home-title", undefined, ( localize(
|
|
40
|
+
$("h2.chat-debug-home-title", undefined, ( localize(5699, "Agent Debug Panel")))
|
|
41
41
|
);
|
|
42
42
|
const activeWidget = this.chatWidgetService.lastFocusedWidget;
|
|
43
43
|
const activeSessionResource = activeWidget?.viewModel?.sessionResource;
|
|
@@ -52,12 +52,12 @@ let ChatDebugHomeView = class ChatDebugHomeView extends Disposable {
|
|
|
52
52
|
append(this.scrollContent, $(
|
|
53
53
|
"p.chat-debug-home-subtitle",
|
|
54
54
|
undefined,
|
|
55
|
-
sessionResources.length > 0 ? ( localize(
|
|
55
|
+
sessionResources.length > 0 ? ( localize(5700, "Select a chat session to debug")) : ( localize(5701, "Send a chat message to get started"))
|
|
56
56
|
));
|
|
57
57
|
if (sessionResources.length > 0) {
|
|
58
58
|
const sessionList = append(this.scrollContent, $(".chat-debug-home-session-list"));
|
|
59
59
|
sessionList.setAttribute("role", "list");
|
|
60
|
-
sessionList.setAttribute("aria-label", ( localize(
|
|
60
|
+
sessionList.setAttribute("aria-label", ( localize(5702, "Chat sessions")));
|
|
61
61
|
const items = [];
|
|
62
62
|
for (const sessionResource of sessionResources) {
|
|
63
63
|
const sessionTitle = this.chatService.getSessionTitle(sessionResource) || LocalChatSessionUri.parseLocalSessionId(sessionResource) || ( sessionResource.toString());
|
|
@@ -75,14 +75,14 @@ let ChatDebugHomeView = class ChatDebugHomeView extends Disposable {
|
|
|
75
75
|
titleSpan.classList.add("chat-debug-home-session-item-shimmer");
|
|
76
76
|
item.disabled = true;
|
|
77
77
|
item.setAttribute("aria-busy", "true");
|
|
78
|
-
item.setAttribute("aria-label", ( localize(
|
|
78
|
+
item.setAttribute("aria-label", ( localize(5703, "Loading session…")));
|
|
79
79
|
} else {
|
|
80
80
|
titleSpan.textContent = sessionTitle;
|
|
81
|
-
const ariaLabel = isActive ? ( localize(
|
|
81
|
+
const ariaLabel = isActive ? ( localize(5704, "{0} (active)", sessionTitle)) : sessionTitle;
|
|
82
82
|
item.setAttribute("aria-label", ariaLabel);
|
|
83
83
|
}
|
|
84
84
|
if (isActive) {
|
|
85
|
-
append(item, $("span.chat-debug-home-session-badge", undefined, ( localize(
|
|
85
|
+
append(item, $("span.chat-debug-home-session-badge", undefined, ( localize(5705, "Active"))));
|
|
86
86
|
}
|
|
87
87
|
if (!isShimmering) {
|
|
88
88
|
this.renderDisposables.add(addDisposableListener(item, EventType.CLICK, () => {
|
|
@@ -7,6 +7,7 @@ import { IChatDebugEvent } from "../../common/chatDebugService.js";
|
|
|
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
|
+
import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
|
|
10
11
|
export declare enum LogsNavigation {
|
|
11
12
|
Home = "home",
|
|
12
13
|
Overview = "overview"
|
|
@@ -17,6 +18,7 @@ export declare class ChatDebugLogsView extends Disposable {
|
|
|
17
18
|
private readonly chatDebugService;
|
|
18
19
|
private readonly instantiationService;
|
|
19
20
|
private readonly contextKeyService;
|
|
21
|
+
private readonly chatWidgetService;
|
|
20
22
|
private readonly _onNavigate;
|
|
21
23
|
readonly onNavigate: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event<LogsNavigation>;
|
|
22
24
|
readonly container: HTMLElement;
|
|
@@ -38,8 +40,9 @@ export declare class ChatDebugLogsView extends Disposable {
|
|
|
38
40
|
private readonly eventListener;
|
|
39
41
|
private readonly sessionStateDisposable;
|
|
40
42
|
private shimmerRow;
|
|
41
|
-
constructor(parent: HTMLElement, filterState: ChatDebugFilterState, chatService: IChatService, chatDebugService: IChatDebugService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService);
|
|
43
|
+
constructor(parent: HTMLElement, filterState: ChatDebugFilterState, chatService: IChatService, chatDebugService: IChatDebugService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService);
|
|
42
44
|
setSession(sessionResource: URI): void;
|
|
45
|
+
setFilterText(text: string): void;
|
|
43
46
|
show(): void;
|
|
44
47
|
hide(): void;
|
|
45
48
|
focus(): void;
|
|
@@ -5,7 +5,7 @@ import { BreadcrumbsWidget } from '@codingame/monaco-vscode-api/vscode/vs/base/b
|
|
|
5
5
|
import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
|
|
6
6
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
7
7
|
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
8
|
-
import { Disposable, MutableDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
8
|
+
import { Disposable, MutableDisposable, combinedDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
9
9
|
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
10
10
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
11
11
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
@@ -22,6 +22,8 @@ import { ChatDebugEventDelegate, ChatDebugEventRenderer, ChatDebugEventTreeRende
|
|
|
22
22
|
import { LogsViewMode, setupBreadcrumbKeyboardNavigation, TextBreadcrumbItem } from './chatDebugTypes.js';
|
|
23
23
|
import { bindFilterContextKeys } from './chatDebugFilters.js';
|
|
24
24
|
import { ChatDebugDetailPanel } from './chatDebugDetailPanel.js';
|
|
25
|
+
import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
|
|
26
|
+
import { createDebugEventsAttachment } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/chatDebug/chatDebugAttachment';
|
|
25
27
|
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
26
28
|
|
|
27
29
|
const $ = $$1;
|
|
@@ -37,7 +39,8 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
37
39
|
chatService,
|
|
38
40
|
chatDebugService,
|
|
39
41
|
instantiationService,
|
|
40
|
-
contextKeyService
|
|
42
|
+
contextKeyService,
|
|
43
|
+
chatWidgetService
|
|
41
44
|
) {
|
|
42
45
|
super();
|
|
43
46
|
this.filterState = filterState;
|
|
@@ -45,6 +48,7 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
45
48
|
this.chatDebugService = chatDebugService;
|
|
46
49
|
this.instantiationService = instantiationService;
|
|
47
50
|
this.contextKeyService = contextKeyService;
|
|
51
|
+
this.chatWidgetService = chatWidgetService;
|
|
48
52
|
this._onNavigate = this._register(( new Emitter()));
|
|
49
53
|
this.onNavigate = this._onNavigate.event;
|
|
50
54
|
this.logsViewMode = LogsViewMode.List;
|
|
@@ -82,13 +86,13 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
82
86
|
syncContextKeys();
|
|
83
87
|
const childInstantiationService = this._register(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, scopedContextKeyService]))));
|
|
84
88
|
this.filterWidget = this._register(childInstantiationService.createInstance(FilterWidget, {
|
|
85
|
-
placeholder: ( localize(
|
|
86
|
-
ariaLabel: ( localize(
|
|
89
|
+
placeholder: ( localize(5706, "Filter (e.g. text, !exclude, before:YYYY-MM-DDTHH:MM:SS)")),
|
|
90
|
+
ariaLabel: ( localize(5707, "Filter debug events"))
|
|
87
91
|
}));
|
|
88
92
|
this.viewModeToggle = this._register(( new Button(this.headerContainer, {
|
|
89
93
|
...defaultButtonStyles,
|
|
90
94
|
secondary: true,
|
|
91
|
-
title: ( localize(
|
|
95
|
+
title: ( localize(5708, "Toggle between list and tree view"))
|
|
92
96
|
})));
|
|
93
97
|
this.viewModeToggle.element.classList.add("chat-debug-view-mode-toggle", "monaco-text-button");
|
|
94
98
|
this.updateViewModeToggle();
|
|
@@ -97,6 +101,27 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
97
101
|
}));
|
|
98
102
|
const filterContainer = append(this.headerContainer, $(".viewpane-filter-container"));
|
|
99
103
|
filterContainer.appendChild(this.filterWidget.element);
|
|
104
|
+
const troubleshootButton = this._register(( new Button(this.headerContainer, {
|
|
105
|
+
...defaultButtonStyles,
|
|
106
|
+
secondary: true,
|
|
107
|
+
title: ( localize(5709, "Add snapshot to Chat"))
|
|
108
|
+
})));
|
|
109
|
+
troubleshootButton.element.classList.add("chat-debug-troubleshoot-button", "monaco-text-button");
|
|
110
|
+
append(
|
|
111
|
+
troubleshootButton.element,
|
|
112
|
+
$(`span${ThemeIcon.asCSSSelector(Codicon.chatSparkle)}`)
|
|
113
|
+
);
|
|
114
|
+
this._register(troubleshootButton.onDidClick(async () => {
|
|
115
|
+
if (!this.currentSessionResource) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const widget = await this.chatWidgetService.openSession(this.currentSessionResource);
|
|
119
|
+
if (widget) {
|
|
120
|
+
const attachment = await createDebugEventsAttachment(this.currentSessionResource, this.chatDebugService);
|
|
121
|
+
widget.attachmentModel.addContext(attachment);
|
|
122
|
+
widget.focusInput();
|
|
123
|
+
}
|
|
124
|
+
}));
|
|
100
125
|
this._register(this.filterWidget.onDidChangeFilterText(text => {
|
|
101
126
|
this.filterState.setTextFilter(text);
|
|
102
127
|
}));
|
|
@@ -110,12 +135,12 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
110
135
|
this.tableHeader = append(mainColumn, $(".chat-debug-table-header"));
|
|
111
136
|
append(
|
|
112
137
|
this.tableHeader,
|
|
113
|
-
$("span.chat-debug-col-created", undefined, ( localize(
|
|
138
|
+
$("span.chat-debug-col-created", undefined, ( localize(5710, "Created")))
|
|
114
139
|
);
|
|
115
|
-
append(this.tableHeader, $("span.chat-debug-col-name", undefined, ( localize(
|
|
140
|
+
append(this.tableHeader, $("span.chat-debug-col-name", undefined, ( localize(5711, "Name"))));
|
|
116
141
|
append(
|
|
117
142
|
this.tableHeader,
|
|
118
|
-
$("span.chat-debug-col-details", undefined, ( localize(
|
|
143
|
+
$("span.chat-debug-col-details", undefined, ( localize(5712, "Details")))
|
|
119
144
|
);
|
|
120
145
|
this.bodyContainer = append(mainColumn, $(".chat-debug-logs-body"));
|
|
121
146
|
this.listContainer = append(this.bodyContainer, $(".chat-debug-list-container"));
|
|
@@ -123,30 +148,30 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
123
148
|
getAriaLabel: e => {
|
|
124
149
|
switch (e.kind) {
|
|
125
150
|
case "toolCall":
|
|
126
|
-
return localize(
|
|
151
|
+
return localize(5713, "Tool call: {0}{1}", e.toolName, e.result ? ` (${e.result})` : "");
|
|
127
152
|
case "modelTurn":
|
|
128
153
|
return localize(
|
|
129
|
-
|
|
154
|
+
5714,
|
|
130
155
|
"Model turn: {0}{1}",
|
|
131
|
-
e.model ?? ( localize(
|
|
132
|
-
e.totalTokens ? ( localize(
|
|
156
|
+
e.model ?? ( localize(5715, "model")),
|
|
157
|
+
e.totalTokens ? ( localize(5716, " {0} tokens", e.totalTokens)) : ""
|
|
133
158
|
);
|
|
134
159
|
case "generic":
|
|
135
160
|
return `${e.category ? e.category + ": " : ""}${e.name}: ${e.details ?? ""}`;
|
|
136
161
|
case "subagentInvocation":
|
|
137
162
|
return localize(
|
|
138
|
-
|
|
163
|
+
5717,
|
|
139
164
|
"Subagent: {0}{1}",
|
|
140
165
|
e.agentName,
|
|
141
166
|
e.description ? ` - ${e.description}` : ""
|
|
142
167
|
);
|
|
143
168
|
case "userMessage":
|
|
144
|
-
return localize(
|
|
169
|
+
return localize(5718, "User message: {0}", e.message);
|
|
145
170
|
case "agentResponse":
|
|
146
|
-
return localize(
|
|
171
|
+
return localize(5719, "Agent response: {0}", e.message);
|
|
147
172
|
}
|
|
148
173
|
},
|
|
149
|
-
getWidgetAriaLabel: () => ( localize(
|
|
174
|
+
getWidgetAriaLabel: () => ( localize(5720, "Chat Debug Events"))
|
|
150
175
|
};
|
|
151
176
|
let nextFallbackId = 0;
|
|
152
177
|
const fallbackIds = ( new WeakMap());
|
|
@@ -183,7 +208,7 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
183
208
|
}
|
|
184
209
|
));
|
|
185
210
|
this.shimmerRow = append(this.bodyContainer, $(".chat-debug-logs-shimmer-row"));
|
|
186
|
-
this.shimmerRow.setAttribute("aria-label", ( localize(
|
|
211
|
+
this.shimmerRow.setAttribute("aria-label", ( localize(5721, "Loading more events…")));
|
|
187
212
|
this.shimmerRow.setAttribute("aria-busy", "true");
|
|
188
213
|
append(this.shimmerRow, $("span.chat-debug-logs-shimmer-bar"));
|
|
189
214
|
hide(this.shimmerRow);
|
|
@@ -218,6 +243,9 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
218
243
|
setSession(sessionResource) {
|
|
219
244
|
this.currentSessionResource = sessionResource;
|
|
220
245
|
}
|
|
246
|
+
setFilterText(text) {
|
|
247
|
+
this.filterWidget.setFilterText(text);
|
|
248
|
+
}
|
|
221
249
|
show() {
|
|
222
250
|
show(this.container);
|
|
223
251
|
this.loadEvents();
|
|
@@ -238,7 +266,7 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
238
266
|
return;
|
|
239
267
|
}
|
|
240
268
|
const sessionTitle = this.chatService.getSessionTitle(this.currentSessionResource) || LocalChatSessionUri.parseLocalSessionId(this.currentSessionResource) || ( this.currentSessionResource.toString());
|
|
241
|
-
this.breadcrumbWidget.setItems([( new TextBreadcrumbItem(( localize(
|
|
269
|
+
this.breadcrumbWidget.setItems([( new TextBreadcrumbItem(( localize(5722, "Agent Debug Panel")), true)), ( new TextBreadcrumbItem(sessionTitle, true)), ( new TextBreadcrumbItem(( localize(5723, "Logs"))))]);
|
|
242
270
|
}
|
|
243
271
|
layout(dimension) {
|
|
244
272
|
this.currentDimension = dimension;
|
|
@@ -261,7 +289,8 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
261
289
|
const category = e.kind === "generic" ? e.category : undefined;
|
|
262
290
|
return this.filterState.isKindVisible(e.kind, category);
|
|
263
291
|
});
|
|
264
|
-
|
|
292
|
+
filtered = filtered.filter(e => this.filterState.isTimestampVisible(e.created));
|
|
293
|
+
const filterText = this.filterState.textFilterWithoutTimestamps;
|
|
265
294
|
if (filterText) {
|
|
266
295
|
const terms = filterText.split(/\s*,\s*/).filter(t => t.length > 0);
|
|
267
296
|
const includeTerms = ( terms.filter(t => !t.startsWith("!")).map(t => t.trim()));
|
|
@@ -317,12 +346,21 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
317
346
|
this.events = [
|
|
318
347
|
...this.chatDebugService.getEvents(this.currentSessionResource || undefined)
|
|
319
348
|
];
|
|
320
|
-
|
|
349
|
+
const addEventDisposable = this.chatDebugService.onDidAddEvent(e => {
|
|
321
350
|
if (!this.currentSessionResource || ( e.sessionResource.toString()) === ( this.currentSessionResource.toString())) {
|
|
322
351
|
this.events.push(e);
|
|
323
352
|
this.refreshList();
|
|
324
353
|
}
|
|
325
354
|
});
|
|
355
|
+
const clearEventsDisposable = this.chatDebugService.onDidClearProviderEvents(sessionResource => {
|
|
356
|
+
if (!this.currentSessionResource || ( sessionResource.toString()) === ( this.currentSessionResource.toString())) {
|
|
357
|
+
this.events = [
|
|
358
|
+
...this.chatDebugService.getEvents(this.currentSessionResource || undefined)
|
|
359
|
+
];
|
|
360
|
+
this.refreshList();
|
|
361
|
+
}
|
|
362
|
+
});
|
|
363
|
+
this.eventListener.value = combinedDisposable(addEventDisposable, clearEventsDisposable);
|
|
326
364
|
this.updateBreadcrumb();
|
|
327
365
|
this.trackSessionState();
|
|
328
366
|
}
|
|
@@ -408,15 +446,15 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
408
446
|
));
|
|
409
447
|
const labelContainer = append(el, $("span.chat-debug-view-mode-labels"));
|
|
410
448
|
const treeLabel = append(labelContainer, $("span.chat-debug-view-mode-label"));
|
|
411
|
-
treeLabel.textContent = ( localize(
|
|
449
|
+
treeLabel.textContent = ( localize(5724, "Tree View"));
|
|
412
450
|
const listLabel = append(labelContainer, $("span.chat-debug-view-mode-label"));
|
|
413
|
-
listLabel.textContent = ( localize(
|
|
451
|
+
listLabel.textContent = ( localize(5725, "List View"));
|
|
414
452
|
if (isTree) {
|
|
415
453
|
listLabel.classList.add("hidden");
|
|
416
454
|
} else {
|
|
417
455
|
treeLabel.classList.add("hidden");
|
|
418
456
|
}
|
|
419
|
-
const activeLabel = isTree ? ( localize(
|
|
457
|
+
const activeLabel = isTree ? ( localize(5726, "Switch to List View")) : ( localize(5727, "Switch to Tree View"));
|
|
420
458
|
el.setAttribute("aria-label", activeLabel);
|
|
421
459
|
this.viewModeToggle.setTitle(activeLabel);
|
|
422
460
|
}
|
|
@@ -424,6 +462,6 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
|
|
|
424
462
|
this.filterWidget.checkMoreFilters(!this.filterState.isAllFiltersDefault());
|
|
425
463
|
}
|
|
426
464
|
};
|
|
427
|
-
ChatDebugLogsView = ( __decorate([( __param(2, IChatService)), ( __param(3, IChatDebugService)), ( __param(4, IInstantiationService)), ( __param(5, IContextKeyService))], ChatDebugLogsView));
|
|
465
|
+
ChatDebugLogsView = ( __decorate([( __param(2, IChatService)), ( __param(3, IChatDebugService)), ( __param(4, IInstantiationService)), ( __param(5, IContextKeyService)), ( __param(6, IChatWidgetService))], ChatDebugLogsView));
|
|
428
466
|
|
|
429
467
|
export { ChatDebugLogsView, LogsNavigation };
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js
CHANGED
|
@@ -11,7 +11,7 @@ function renderUserMessageContent(event) {
|
|
|
11
11
|
container.tabIndex = 0;
|
|
12
12
|
append(
|
|
13
13
|
container,
|
|
14
|
-
$("div.chat-debug-message-content-title", undefined, ( localize(
|
|
14
|
+
$("div.chat-debug-message-content-title", undefined, ( localize(5728, "User Message")))
|
|
15
15
|
);
|
|
16
16
|
append(
|
|
17
17
|
container,
|
|
@@ -21,7 +21,7 @@ function renderUserMessageContent(event) {
|
|
|
21
21
|
const sectionsContainer = append(container, $("div.chat-debug-message-sections"));
|
|
22
22
|
append(
|
|
23
23
|
sectionsContainer,
|
|
24
|
-
$("div.chat-debug-message-sections-label", undefined, ( localize(
|
|
24
|
+
$("div.chat-debug-message-sections-label", undefined, ( localize(5729, "Prompt Sections ({0})", event.sections.length)))
|
|
25
25
|
);
|
|
26
26
|
for (const section of event.sections) {
|
|
27
27
|
renderCollapsibleSection(sectionsContainer, section, disposables);
|
|
@@ -38,7 +38,7 @@ function renderAgentResponseContent(event) {
|
|
|
38
38
|
container.tabIndex = 0;
|
|
39
39
|
append(
|
|
40
40
|
container,
|
|
41
|
-
$("div.chat-debug-message-content-title", undefined, ( localize(
|
|
41
|
+
$("div.chat-debug-message-content-title", undefined, ( localize(5730, "Agent Response")))
|
|
42
42
|
);
|
|
43
43
|
append(
|
|
44
44
|
container,
|
|
@@ -48,7 +48,7 @@ function renderAgentResponseContent(event) {
|
|
|
48
48
|
const sectionsContainer = append(container, $("div.chat-debug-message-sections"));
|
|
49
49
|
append(
|
|
50
50
|
sectionsContainer,
|
|
51
|
-
$("div.chat-debug-message-sections-label", undefined, ( localize(
|
|
51
|
+
$("div.chat-debug-message-sections-label", undefined, ( localize(5731, "Response Sections ({0})", event.sections.length)))
|
|
52
52
|
);
|
|
53
53
|
for (const section of event.sections) {
|
|
54
54
|
renderCollapsibleSection(sectionsContainer, section, disposables);
|
|
@@ -61,7 +61,7 @@ function renderAgentResponseContent(event) {
|
|
|
61
61
|
}
|
|
62
62
|
function messageEventToPlainText(event) {
|
|
63
63
|
const lines = [];
|
|
64
|
-
const label = event.kind === "userMessage" ? ( localize(
|
|
64
|
+
const label = event.kind === "userMessage" ? ( localize(5728, "User Message")) : ( localize(5730, "Agent Response"));
|
|
65
65
|
lines.push(`${label}: ${event.message}`);
|
|
66
66
|
lines.push("");
|
|
67
67
|
for (const section of event.sections) {
|
|
@@ -75,7 +75,7 @@ function renderResolvedMessageContent(content) {
|
|
|
75
75
|
const disposables = ( new DisposableStore());
|
|
76
76
|
const container = $("div.chat-debug-message-content");
|
|
77
77
|
container.tabIndex = 0;
|
|
78
|
-
const title = content.type === "user" ? ( localize(
|
|
78
|
+
const title = content.type === "user" ? ( localize(5728, "User Message")) : ( localize(5730, "Agent Response"));
|
|
79
79
|
append(container, $("div.chat-debug-message-content-title", undefined, title));
|
|
80
80
|
append(
|
|
81
81
|
container,
|
|
@@ -83,7 +83,7 @@ function renderResolvedMessageContent(content) {
|
|
|
83
83
|
);
|
|
84
84
|
if (content.sections.length > 0) {
|
|
85
85
|
const sectionsContainer = append(container, $("div.chat-debug-message-sections"));
|
|
86
|
-
const label = content.type === "user" ? ( localize(
|
|
86
|
+
const label = content.type === "user" ? ( localize(5729, "Prompt Sections ({0})", content.sections.length)) : ( localize(5731, "Response Sections ({0})", content.sections.length));
|
|
87
87
|
append(
|
|
88
88
|
sectionsContainer,
|
|
89
89
|
$("div.chat-debug-message-sections-label", undefined, label)
|
|
@@ -99,7 +99,7 @@ function renderResolvedMessageContent(content) {
|
|
|
99
99
|
}
|
|
100
100
|
function resolvedMessageToPlainText(content) {
|
|
101
101
|
const lines = [];
|
|
102
|
-
const label = content.type === "user" ? ( localize(
|
|
102
|
+
const label = content.type === "user" ? ( localize(5728, "User Message")) : ( localize(5730, "Agent Response"));
|
|
103
103
|
lines.push(`${label}: ${content.message}`);
|
|
104
104
|
lines.push("");
|
|
105
105
|
for (const section of content.sections) {
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js
CHANGED
|
@@ -11,7 +11,7 @@ function renderModelTurnContent(content) {
|
|
|
11
11
|
container.tabIndex = 0;
|
|
12
12
|
append(
|
|
13
13
|
container,
|
|
14
|
-
$("div.chat-debug-message-content-title", undefined, ( localize(
|
|
14
|
+
$("div.chat-debug-message-content-title", undefined, ( localize(5732, "Model Turn")))
|
|
15
15
|
);
|
|
16
16
|
const statusParts = [];
|
|
17
17
|
if (content.requestName) {
|
|
@@ -24,7 +24,7 @@ function renderModelTurnContent(content) {
|
|
|
24
24
|
statusParts.push(content.status);
|
|
25
25
|
}
|
|
26
26
|
if (content.durationInMillis !== undefined) {
|
|
27
|
-
statusParts.push(( localize(
|
|
27
|
+
statusParts.push(( localize(5733, "{0}ms", content.durationInMillis)));
|
|
28
28
|
}
|
|
29
29
|
if (statusParts.length > 0) {
|
|
30
30
|
append(container, $(
|
|
@@ -35,37 +35,37 @@ function renderModelTurnContent(content) {
|
|
|
35
35
|
}
|
|
36
36
|
const detailsContainer = append(container, $("div.chat-debug-model-turn-details"));
|
|
37
37
|
if (content.inputTokens !== undefined) {
|
|
38
|
-
append(detailsContainer, $("div", undefined, ( localize(
|
|
38
|
+
append(detailsContainer, $("div", undefined, ( localize(5734, "Input tokens: {0}", content.inputTokens))));
|
|
39
39
|
}
|
|
40
40
|
if (content.outputTokens !== undefined) {
|
|
41
|
-
append(detailsContainer, $("div", undefined, ( localize(
|
|
41
|
+
append(detailsContainer, $("div", undefined, ( localize(5735, "Output tokens: {0}", content.outputTokens))));
|
|
42
42
|
}
|
|
43
43
|
if (content.cachedTokens !== undefined) {
|
|
44
|
-
append(detailsContainer, $("div", undefined, ( localize(
|
|
44
|
+
append(detailsContainer, $("div", undefined, ( localize(5736, "Cached tokens: {0}", content.cachedTokens))));
|
|
45
45
|
}
|
|
46
46
|
if (content.totalTokens !== undefined) {
|
|
47
|
-
append(detailsContainer, $("div", undefined, ( localize(
|
|
47
|
+
append(detailsContainer, $("div", undefined, ( localize(5737, "Total tokens: {0}", content.totalTokens))));
|
|
48
48
|
}
|
|
49
49
|
if (content.timeToFirstTokenInMillis !== undefined) {
|
|
50
|
-
append(detailsContainer, $("div", undefined, ( localize(
|
|
50
|
+
append(detailsContainer, $("div", undefined, ( localize(5738, "Time to first token: {0}ms", content.timeToFirstTokenInMillis))));
|
|
51
51
|
}
|
|
52
52
|
if (content.maxInputTokens !== undefined) {
|
|
53
|
-
append(detailsContainer, $("div", undefined, ( localize(
|
|
53
|
+
append(detailsContainer, $("div", undefined, ( localize(5739, "Max input tokens: {0}", content.maxInputTokens))));
|
|
54
54
|
}
|
|
55
55
|
if (content.maxOutputTokens !== undefined) {
|
|
56
|
-
append(detailsContainer, $("div", undefined, ( localize(
|
|
56
|
+
append(detailsContainer, $("div", undefined, ( localize(5740, "Max output tokens: {0}", content.maxOutputTokens))));
|
|
57
57
|
}
|
|
58
58
|
if (content.errorMessage) {
|
|
59
59
|
append(
|
|
60
60
|
detailsContainer,
|
|
61
|
-
$("div.chat-debug-model-turn-error", undefined, ( localize(
|
|
61
|
+
$("div.chat-debug-model-turn-error", undefined, ( localize(5741, "Error: {0}", content.errorMessage)))
|
|
62
62
|
);
|
|
63
63
|
}
|
|
64
64
|
if (content.sections && content.sections.length > 0) {
|
|
65
65
|
const sectionsContainer = append(container, $("div.chat-debug-message-sections"));
|
|
66
66
|
append(
|
|
67
67
|
sectionsContainer,
|
|
68
|
-
$("div.chat-debug-message-sections-label", undefined, ( localize(
|
|
68
|
+
$("div.chat-debug-message-sections-label", undefined, ( localize(5742, "Sections ({0})", content.sections.length)))
|
|
69
69
|
);
|
|
70
70
|
for (const section of content.sections) {
|
|
71
71
|
renderCollapsibleSection(sectionsContainer, section, disposables);
|
|
@@ -78,39 +78,39 @@ function renderModelTurnContent(content) {
|
|
|
78
78
|
}
|
|
79
79
|
function modelTurnContentToPlainText(content) {
|
|
80
80
|
const lines = [];
|
|
81
|
-
lines.push(( localize(
|
|
81
|
+
lines.push(( localize(5743, "Request: {0}", content.requestName)));
|
|
82
82
|
if (content.model) {
|
|
83
|
-
lines.push(( localize(
|
|
83
|
+
lines.push(( localize(5744, "Model: {0}", content.model)));
|
|
84
84
|
}
|
|
85
85
|
if (content.status) {
|
|
86
|
-
lines.push(( localize(
|
|
86
|
+
lines.push(( localize(5745, "Status: {0}", content.status)));
|
|
87
87
|
}
|
|
88
88
|
if (content.durationInMillis !== undefined) {
|
|
89
|
-
lines.push(( localize(
|
|
89
|
+
lines.push(( localize(5746, "Duration: {0}ms", content.durationInMillis)));
|
|
90
90
|
}
|
|
91
91
|
if (content.timeToFirstTokenInMillis !== undefined) {
|
|
92
|
-
lines.push(( localize(
|
|
92
|
+
lines.push(( localize(5747, "Time to first token: {0}ms", content.timeToFirstTokenInMillis)));
|
|
93
93
|
}
|
|
94
94
|
if (content.inputTokens !== undefined) {
|
|
95
|
-
lines.push(( localize(
|
|
95
|
+
lines.push(( localize(5748, "Input tokens: {0}", content.inputTokens)));
|
|
96
96
|
}
|
|
97
97
|
if (content.outputTokens !== undefined) {
|
|
98
|
-
lines.push(( localize(
|
|
98
|
+
lines.push(( localize(5749, "Output tokens: {0}", content.outputTokens)));
|
|
99
99
|
}
|
|
100
100
|
if (content.cachedTokens !== undefined) {
|
|
101
|
-
lines.push(( localize(
|
|
101
|
+
lines.push(( localize(5750, "Cached tokens: {0}", content.cachedTokens)));
|
|
102
102
|
}
|
|
103
103
|
if (content.totalTokens !== undefined) {
|
|
104
|
-
lines.push(( localize(
|
|
104
|
+
lines.push(( localize(5751, "Total tokens: {0}", content.totalTokens)));
|
|
105
105
|
}
|
|
106
106
|
if (content.maxInputTokens !== undefined) {
|
|
107
|
-
lines.push(( localize(
|
|
107
|
+
lines.push(( localize(5752, "Max input tokens: {0}", content.maxInputTokens)));
|
|
108
108
|
}
|
|
109
109
|
if (content.maxOutputTokens !== undefined) {
|
|
110
|
-
lines.push(( localize(
|
|
110
|
+
lines.push(( localize(5753, "Max output tokens: {0}", content.maxOutputTokens)));
|
|
111
111
|
}
|
|
112
112
|
if (content.errorMessage) {
|
|
113
|
-
lines.push(( localize(
|
|
113
|
+
lines.push(( localize(5754, "Error: {0}", content.errorMessage)));
|
|
114
114
|
}
|
|
115
115
|
if (content.sections && content.sections.length > 0) {
|
|
116
116
|
lines.push("");
|