@codingame/monaco-vscode-chat-service-override 29.1.0 → 30.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/platform/agentHost/common/agentService.d.ts +37 -39
- package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
- package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +11 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +4 -4
- package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +132 -42
- package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +54 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +15 -0
- package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +5 -1
- package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +188 -51
- package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +7 -6
- package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +1 -1
- package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +7 -2
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +6 -0
- package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +14 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +18 -0
- package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +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.js +37 -16
- 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 +10 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +37 -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 +6 -6
- 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 +20 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +18 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +10 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +482 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +10 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +43 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
- 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 +74 -76
- 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 +4 -4
- 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 +27 -35
- 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 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +86 -80
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +38 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +38 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +427 -167
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +37 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +108 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +28 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +11 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +3 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +65 -68
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +64 -51
- 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 +288 -195
- 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/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.js +4 -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 +21 -21
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +21 -21
- 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 +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +5 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -0
- 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 +2 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +10 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +19 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +54 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +14 -14
- 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 +50 -50
- 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.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.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +86 -17
- 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 +29 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +65 -65
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +24 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +17 -17
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +3 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +54 -39
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +24 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +72 -14
- 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/promptFileContributions.js +181 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +3 -3
- 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/promptsDebugContribution.js +8 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +37 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +28 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
- 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/chatInputCompletionUtils.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +62 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +1 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +148 -88
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
- 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 +16 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +158 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +8 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +155 -76
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +1 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +31 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +228 -1
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +190 -0
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +25 -3
- package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +130 -107
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +19 -18
- 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 +2 -18
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +169 -266
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +12 -10
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +149 -206
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +27 -22
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +20 -8
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +183 -43
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +21 -21
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
- 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 +11 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +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/terminalChatService.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +3 -2
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +26 -23
- 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/commandLineRewriter/commandLineSandboxRewriter.js +4 -9
- 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 +16 -6
- 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.js +9 -9
- 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.js +150 -50
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +2 -2
- 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 +66 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +239 -48
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +0 -14
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +0 -208
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +0 -637
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +0 -24
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +0 -384
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +0 -33
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +0 -47
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +0 -30
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +0 -55
- /package/vscode/src/vs/workbench/contrib/chat/{common → browser}/promptSyntax/promptFileContributions.d.ts +0 -0
package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js
CHANGED
|
@@ -130,14 +130,14 @@ function renderCustomizationDiscoveryContent(
|
|
|
130
130
|
const container = $("div.chat-debug-file-list");
|
|
131
131
|
container.tabIndex = 0;
|
|
132
132
|
const capitalizedType = content.discoveryType.charAt(0).toUpperCase() + content.discoveryType.slice(1);
|
|
133
|
-
append(container, $("div.chat-debug-file-list-title", undefined, ( localize(
|
|
134
|
-
append(container, $("div.chat-debug-file-list-summary", undefined, ( localize(
|
|
133
|
+
append(container, $("div.chat-debug-file-list-title", undefined, ( localize(5768, "{0} Discovery Results", capitalizedType))));
|
|
134
|
+
append(container, $("div.chat-debug-file-list-summary", undefined, ( localize(5769, "Total files: {0}", content.files.length))));
|
|
135
135
|
const loaded = content.files.filter(f => f.status === "loaded");
|
|
136
136
|
if (loaded.length > 0) {
|
|
137
137
|
const section = append(container, $("div.chat-debug-file-list-section"));
|
|
138
138
|
append(
|
|
139
139
|
section,
|
|
140
|
-
$("div.chat-debug-file-list-section-title", undefined, ( localize(
|
|
140
|
+
$("div.chat-debug-file-list-section-title", undefined, ( localize(5770, "Loaded ({0})", loaded.length)))
|
|
141
141
|
);
|
|
142
142
|
const groups = ( new Map());
|
|
143
143
|
for (const file of loaded) {
|
|
@@ -151,7 +151,7 @@ function renderCustomizationDiscoveryContent(
|
|
|
151
151
|
}
|
|
152
152
|
const listEl = append(section, $("div.chat-debug-file-list-rows"));
|
|
153
153
|
listEl.setAttribute("role", "list");
|
|
154
|
-
listEl.setAttribute("aria-label", ( localize(
|
|
154
|
+
listEl.setAttribute("aria-label", ( localize(5771, "Loaded files")));
|
|
155
155
|
const rows = [];
|
|
156
156
|
for (const [locationLabel, files] of groups) {
|
|
157
157
|
const groupHeader = append(listEl, $("div.chat-debug-file-list-group-header"));
|
|
@@ -164,7 +164,7 @@ function renderCustomizationDiscoveryContent(
|
|
|
164
164
|
link.textContent = locationLabel;
|
|
165
165
|
link.tabIndex = -1;
|
|
166
166
|
disposables.add(
|
|
167
|
-
hoverService.setupManagedHover(getDefaultHoverDelegate("element"), link, ( localize(
|
|
167
|
+
hoverService.setupManagedHover(getDefaultHoverDelegate("element"), link, ( localize(5772, "Open {0} in Extensions", firstFile.extensionId)))
|
|
168
168
|
);
|
|
169
169
|
disposables.add(addDisposableListener(link, EventType.CLICK, e => {
|
|
170
170
|
e.preventDefault();
|
|
@@ -216,11 +216,11 @@ function renderCustomizationDiscoveryContent(
|
|
|
216
216
|
const section = append(container, $("div.chat-debug-file-list-section"));
|
|
217
217
|
append(
|
|
218
218
|
section,
|
|
219
|
-
$("div.chat-debug-file-list-section-title", undefined, ( localize(
|
|
219
|
+
$("div.chat-debug-file-list-section-title", undefined, ( localize(5773, "Skipped ({0})", skipped.length)))
|
|
220
220
|
);
|
|
221
221
|
const groups = ( new Map());
|
|
222
222
|
for (const file of skipped) {
|
|
223
|
-
const key = file.skipReason ?? ( localize(
|
|
223
|
+
const key = file.skipReason ?? ( localize(5774, "unknown"));
|
|
224
224
|
let group = groups.get(key);
|
|
225
225
|
if (!group) {
|
|
226
226
|
group = [];
|
|
@@ -230,7 +230,7 @@ function renderCustomizationDiscoveryContent(
|
|
|
230
230
|
}
|
|
231
231
|
const listEl = append(section, $("div.chat-debug-file-list-rows"));
|
|
232
232
|
listEl.setAttribute("role", "list");
|
|
233
|
-
listEl.setAttribute("aria-label", ( localize(
|
|
233
|
+
listEl.setAttribute("aria-label", ( localize(5775, "Skipped files")));
|
|
234
234
|
const rows = [];
|
|
235
235
|
for (const [reasonLabel, files] of groups) {
|
|
236
236
|
const groupHeader = append(listEl, $("div.chat-debug-file-list-group-header"));
|
|
@@ -252,7 +252,7 @@ function renderCustomizationDiscoveryContent(
|
|
|
252
252
|
if (detail) {
|
|
253
253
|
detail += ", ";
|
|
254
254
|
}
|
|
255
|
-
detail += ( localize(
|
|
255
|
+
detail += ( localize(5776, "duplicate of {0}", file.duplicateOf.path));
|
|
256
256
|
}
|
|
257
257
|
row.appendChild(createInlineFileLink(
|
|
258
258
|
file.uri,
|
|
@@ -287,13 +287,13 @@ function renderCustomizationDiscoveryContent(
|
|
|
287
287
|
const chevron = append(header, $("span.chat-debug-message-section-chevron"));
|
|
288
288
|
append(
|
|
289
289
|
header,
|
|
290
|
-
$("span.chat-debug-message-section-title", undefined, ( localize(
|
|
290
|
+
$("span.chat-debug-message-section-title", undefined, ( localize(5777, "Sources ({0})", content.sourceFolders.length)))
|
|
291
291
|
);
|
|
292
292
|
const settingsKey = getSettingsKeyForDiscoveryType(content.discoveryType);
|
|
293
293
|
if (settingsKey) {
|
|
294
294
|
const gearBtn = disposables.add(( new Button(header, {
|
|
295
|
-
title: ( localize(
|
|
296
|
-
ariaLabel: ( localize(
|
|
295
|
+
title: ( localize(5778, "Configure locations")),
|
|
296
|
+
ariaLabel: ( localize(5779, "Configure locations")),
|
|
297
297
|
hoverDelegate: getDefaultHoverDelegate("mouse")
|
|
298
298
|
})));
|
|
299
299
|
gearBtn.icon = Codicon.settingsGear;
|
|
@@ -322,13 +322,13 @@ function renderCustomizationDiscoveryContent(
|
|
|
322
322
|
const contentEl = append(sectionEl, $("div.chat-debug-source-folder-content"));
|
|
323
323
|
contentEl.tabIndex = 0;
|
|
324
324
|
contentEl.setAttribute("role", "region");
|
|
325
|
-
contentEl.setAttribute("aria-label", ( localize(
|
|
325
|
+
contentEl.setAttribute("aria-label", ( localize(5780, "Source folders")));
|
|
326
326
|
const capitalizedType = content.discoveryType.charAt(0).toUpperCase() + content.discoveryType.slice(1);
|
|
327
327
|
const sourcesCaption = capitalizedType.endsWith("s") ? capitalizedType : capitalizedType + "s";
|
|
328
328
|
append(
|
|
329
329
|
contentEl,
|
|
330
330
|
$("div.chat-debug-source-folder-note", undefined, ( localize(
|
|
331
|
-
|
|
331
|
+
5781,
|
|
332
332
|
"{0} were discovered by checking the following sources in order:",
|
|
333
333
|
sourcesCaption
|
|
334
334
|
)))
|
|
@@ -356,13 +356,13 @@ function renderCustomizationDiscoveryContent(
|
|
|
356
356
|
function fileListToPlainText(content) {
|
|
357
357
|
const lines = [];
|
|
358
358
|
const capitalizedType = content.discoveryType.charAt(0).toUpperCase() + content.discoveryType.slice(1);
|
|
359
|
-
lines.push(( localize(
|
|
360
|
-
lines.push(( localize(
|
|
359
|
+
lines.push(( localize(5782, "{0} Discovery Results", capitalizedType)));
|
|
360
|
+
lines.push(( localize(5783, "Total files: {0}", content.files.length)));
|
|
361
361
|
lines.push("");
|
|
362
362
|
const loaded = content.files.filter(f => f.status === "loaded");
|
|
363
363
|
const skipped = content.files.filter(f => f.status === "skipped");
|
|
364
364
|
if (loaded.length > 0) {
|
|
365
|
-
lines.push(( localize(
|
|
365
|
+
lines.push(( localize(5784, "Loaded ({0})", loaded.length)));
|
|
366
366
|
const groups = ( new Map());
|
|
367
367
|
for (const f of loaded) {
|
|
368
368
|
const parentDir = content.discoveryType === "skill" ? dirname(dirname(f.uri)) : dirname(f.uri);
|
|
@@ -384,10 +384,10 @@ function fileListToPlainText(content) {
|
|
|
384
384
|
lines.push("");
|
|
385
385
|
}
|
|
386
386
|
if (skipped.length > 0) {
|
|
387
|
-
lines.push(( localize(
|
|
387
|
+
lines.push(( localize(5785, "Skipped ({0})", skipped.length)));
|
|
388
388
|
const skippedGroups = ( new Map());
|
|
389
389
|
for (const f of skipped) {
|
|
390
|
-
const key = f.skipReason ?? ( localize(
|
|
390
|
+
const key = f.skipReason ?? ( localize(5786, "unknown"));
|
|
391
391
|
let group = skippedGroups.get(key);
|
|
392
392
|
if (!group) {
|
|
393
393
|
group = [];
|
|
@@ -406,7 +406,7 @@ function fileListToPlainText(content) {
|
|
|
406
406
|
parts.push(f.errorMessage);
|
|
407
407
|
}
|
|
408
408
|
if (f.duplicateOf) {
|
|
409
|
-
parts.push(( localize(
|
|
409
|
+
parts.push(( localize(5787, "duplicate of {0}", f.duplicateOf.path)));
|
|
410
410
|
}
|
|
411
411
|
detail += ` (${parts.join(", ")})`;
|
|
412
412
|
}
|
|
@@ -416,7 +416,7 @@ function fileListToPlainText(content) {
|
|
|
416
416
|
}
|
|
417
417
|
if (content.sourceFolders && content.sourceFolders.length > 0) {
|
|
418
418
|
lines.push("");
|
|
419
|
-
lines.push(( localize(
|
|
419
|
+
lines.push(( localize(5788, "Sources ({0})", content.sourceFolders.length)));
|
|
420
420
|
for (const folder of content.sourceFolders) {
|
|
421
421
|
lines.push(` ${folder.uri.path}`);
|
|
422
422
|
}
|
|
@@ -125,8 +125,8 @@ let ChatDebugDetailPanel = class ChatDebugDetailPanel extends Disposable {
|
|
|
125
125
|
this.headerElement = header;
|
|
126
126
|
this.element.appendChild(this.scrollable.getDomNode());
|
|
127
127
|
const fullScreenButton = this.detailDisposables.add(( new Button(header, {
|
|
128
|
-
ariaLabel: ( localize(
|
|
129
|
-
title: ( localize(
|
|
128
|
+
ariaLabel: ( localize(5791, "Open in Editor")),
|
|
129
|
+
title: ( localize(5791, "Open in Editor"))
|
|
130
130
|
})));
|
|
131
131
|
fullScreenButton.element.classList.add("chat-debug-detail-button");
|
|
132
132
|
fullScreenButton.icon = Codicon.goToFile;
|
|
@@ -138,8 +138,8 @@ let ChatDebugDetailPanel = class ChatDebugDetailPanel extends Disposable {
|
|
|
138
138
|
});
|
|
139
139
|
}));
|
|
140
140
|
const copyButton = this.detailDisposables.add(( new Button(header, {
|
|
141
|
-
ariaLabel: ( localize(
|
|
142
|
-
title: ( localize(
|
|
141
|
+
ariaLabel: ( localize(5792, "Copy")),
|
|
142
|
+
title: ( localize(5792, "Copy"))
|
|
143
143
|
})));
|
|
144
144
|
copyButton.element.classList.add("chat-debug-detail-button");
|
|
145
145
|
copyButton.icon = Codicon.copy;
|
|
@@ -147,8 +147,8 @@ let ChatDebugDetailPanel = class ChatDebugDetailPanel extends Disposable {
|
|
|
147
147
|
this.clipboardService.writeText(this.currentDetailText);
|
|
148
148
|
}));
|
|
149
149
|
const closeButton = this.detailDisposables.add(( new Button(header, {
|
|
150
|
-
ariaLabel: ( localize(
|
|
151
|
-
title: ( localize(
|
|
150
|
+
ariaLabel: ( localize(5793, "Close")),
|
|
151
|
+
title: ( localize(5793, "Close"))
|
|
152
152
|
})));
|
|
153
153
|
closeButton.element.classList.add("chat-debug-detail-button");
|
|
154
154
|
closeButton.icon = Codicon.close;
|
|
@@ -6,7 +6,7 @@ import { registerIcon } from '@codingame/monaco-vscode-api/vscode/vs/platform/th
|
|
|
6
6
|
import { EditorInputCapabilities } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
|
|
7
7
|
import { EditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/editorInput';
|
|
8
8
|
|
|
9
|
-
const chatDebugEditorIcon = registerIcon("chat-debug-editor-label-icon", Codicon.bug, ( localize(
|
|
9
|
+
const chatDebugEditorIcon = registerIcon("chat-debug-editor-label-icon", Codicon.bug, ( localize(5794, "Icon of the chat debug editor label.")));
|
|
10
10
|
class ChatDebugEditorInput extends EditorInput {
|
|
11
11
|
constructor() {
|
|
12
12
|
super(...arguments);
|
|
@@ -37,7 +37,7 @@ class ChatDebugEditorInput extends EditorInput {
|
|
|
37
37
|
return EditorInputCapabilities.Readonly | EditorInputCapabilities.Singleton;
|
|
38
38
|
}
|
|
39
39
|
getName() {
|
|
40
|
-
return localize(
|
|
40
|
+
return localize(5795, "Agent Debug Logs");
|
|
41
41
|
}
|
|
42
42
|
getIcon() {
|
|
43
43
|
return chatDebugEditorIcon;
|
package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js
CHANGED
|
@@ -7,47 +7,47 @@ function formatEventDetail(event) {
|
|
|
7
7
|
switch (event.kind) {
|
|
8
8
|
case "toolCall":
|
|
9
9
|
{
|
|
10
|
-
const parts = [( localize(
|
|
10
|
+
const parts = [( localize(5796, "Tool: {0}", event.toolName))];
|
|
11
11
|
if (event.toolCallId) {
|
|
12
|
-
parts.push(( localize(
|
|
12
|
+
parts.push(( localize(5797, "Call ID: {0}", event.toolCallId)));
|
|
13
13
|
}
|
|
14
14
|
if (event.result) {
|
|
15
|
-
parts.push(( localize(
|
|
15
|
+
parts.push(( localize(5798, "Result: {0}", event.result)));
|
|
16
16
|
}
|
|
17
17
|
if (event.durationInMillis !== undefined) {
|
|
18
18
|
parts.push(( localize(
|
|
19
|
-
|
|
19
|
+
5799,
|
|
20
20
|
"Duration: {0}ms",
|
|
21
21
|
numberFormatter.value.format(event.durationInMillis)
|
|
22
22
|
)));
|
|
23
23
|
}
|
|
24
24
|
if (event.input) {
|
|
25
|
-
parts.push(`\n${( localize(
|
|
25
|
+
parts.push(`\n${( localize(5800, "Input:"))}\n${event.input}`);
|
|
26
26
|
}
|
|
27
27
|
if (event.output) {
|
|
28
|
-
parts.push(`\n${( localize(
|
|
28
|
+
parts.push(`\n${( localize(5801, "Output:"))}\n${event.output}`);
|
|
29
29
|
}
|
|
30
30
|
return parts.join("\n");
|
|
31
31
|
}
|
|
32
32
|
case "modelTurn":
|
|
33
33
|
{
|
|
34
|
-
const parts = [event.model ?? ( localize(
|
|
34
|
+
const parts = [event.model ?? ( localize(5802, "Model Turn"))];
|
|
35
35
|
if (event.inputTokens !== undefined) {
|
|
36
|
-
parts.push(( localize(
|
|
36
|
+
parts.push(( localize(5803, "Input tokens: {0}", numberFormatter.value.format(event.inputTokens))));
|
|
37
37
|
}
|
|
38
38
|
if (event.outputTokens !== undefined) {
|
|
39
39
|
parts.push(( localize(
|
|
40
|
-
|
|
40
|
+
5804,
|
|
41
41
|
"Output tokens: {0}",
|
|
42
42
|
numberFormatter.value.format(event.outputTokens)
|
|
43
43
|
)));
|
|
44
44
|
}
|
|
45
45
|
if (event.totalTokens !== undefined) {
|
|
46
|
-
parts.push(( localize(
|
|
46
|
+
parts.push(( localize(5805, "Total tokens: {0}", numberFormatter.value.format(event.totalTokens))));
|
|
47
47
|
}
|
|
48
48
|
if (event.durationInMillis !== undefined) {
|
|
49
49
|
parts.push(( localize(
|
|
50
|
-
|
|
50
|
+
5799,
|
|
51
51
|
"Duration: {0}ms",
|
|
52
52
|
numberFormatter.value.format(event.durationInMillis)
|
|
53
53
|
)));
|
|
@@ -58,26 +58,26 @@ function formatEventDetail(event) {
|
|
|
58
58
|
return `${event.name}\n${event.details ?? ""}`;
|
|
59
59
|
case "subagentInvocation":
|
|
60
60
|
{
|
|
61
|
-
const parts = [( localize(
|
|
61
|
+
const parts = [( localize(5806, "Agent: {0}", event.agentName))];
|
|
62
62
|
if (event.description) {
|
|
63
|
-
parts.push(( localize(
|
|
63
|
+
parts.push(( localize(5807, "Description: {0}", event.description)));
|
|
64
64
|
}
|
|
65
65
|
if (event.status) {
|
|
66
|
-
parts.push(( localize(
|
|
66
|
+
parts.push(( localize(5808, "Status: {0}", event.status)));
|
|
67
67
|
}
|
|
68
68
|
if (event.durationInMillis !== undefined) {
|
|
69
69
|
parts.push(( localize(
|
|
70
|
-
|
|
70
|
+
5799,
|
|
71
71
|
"Duration: {0}ms",
|
|
72
72
|
numberFormatter.value.format(event.durationInMillis)
|
|
73
73
|
)));
|
|
74
74
|
}
|
|
75
75
|
if (event.toolCallCount !== undefined) {
|
|
76
|
-
parts.push(( localize(
|
|
76
|
+
parts.push(( localize(5809, "Tool calls: {0}", numberFormatter.value.format(event.toolCallCount))));
|
|
77
77
|
}
|
|
78
78
|
if (event.modelTurnCount !== undefined) {
|
|
79
79
|
parts.push(( localize(
|
|
80
|
-
|
|
80
|
+
5810,
|
|
81
81
|
"Model turns: {0}",
|
|
82
82
|
numberFormatter.value.format(event.modelTurnCount)
|
|
83
83
|
)));
|
|
@@ -86,7 +86,7 @@ function formatEventDetail(event) {
|
|
|
86
86
|
}
|
|
87
87
|
case "userMessage":
|
|
88
88
|
{
|
|
89
|
-
const parts = [( localize(
|
|
89
|
+
const parts = [( localize(5811, "User Message: {0}", event.message))];
|
|
90
90
|
for (const section of event.sections) {
|
|
91
91
|
parts.push(`\n--- ${section.name} ---\n${section.content}`);
|
|
92
92
|
}
|
|
@@ -94,7 +94,7 @@ function formatEventDetail(event) {
|
|
|
94
94
|
}
|
|
95
95
|
case "agentResponse":
|
|
96
96
|
{
|
|
97
|
-
const parts = [( localize(
|
|
97
|
+
const parts = [( localize(5812, "Agent Response: {0}", event.message))];
|
|
98
98
|
for (const section of event.sections) {
|
|
99
99
|
parts.push(`\n--- ${section.name} ---\n${section.content}`);
|
|
100
100
|
}
|
|
@@ -25,17 +25,17 @@ function getEventCreatedText(element) {
|
|
|
25
25
|
function getEventNameText(element) {
|
|
26
26
|
switch (element.kind) {
|
|
27
27
|
case "toolCall":
|
|
28
|
-
return safeStr(element.toolName, ( localize(
|
|
28
|
+
return safeStr(element.toolName, ( localize(5813, "(unknown)")));
|
|
29
29
|
case "modelTurn":
|
|
30
|
-
return safeStr(element.model) || ( localize(
|
|
30
|
+
return safeStr(element.model) || ( localize(5814, "Model Turn"));
|
|
31
31
|
case "generic":
|
|
32
|
-
return safeStr(element.name, ( localize(
|
|
32
|
+
return safeStr(element.name, ( localize(5813, "(unknown)")));
|
|
33
33
|
case "subagentInvocation":
|
|
34
|
-
return safeStr(element.agentName, ( localize(
|
|
34
|
+
return safeStr(element.agentName, ( localize(5813, "(unknown)")));
|
|
35
35
|
case "userMessage":
|
|
36
|
-
return localize(
|
|
36
|
+
return localize(5815, "User Message");
|
|
37
37
|
case "agentResponse":
|
|
38
|
-
return localize(
|
|
38
|
+
return localize(5816, "Agent Response");
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
function getEventDetailsText(element) {
|
|
@@ -45,7 +45,7 @@ function getEventDetailsText(element) {
|
|
|
45
45
|
case "modelTurn":
|
|
46
46
|
return [
|
|
47
47
|
safeStr(element.requestName),
|
|
48
|
-
element.totalTokens !== undefined ? ( localize(
|
|
48
|
+
element.totalTokens !== undefined ? ( localize(5817, "{0} tokens", numberFormatter.value.format(element.totalTokens))) : ""
|
|
49
49
|
].filter(Boolean).join(" · ");
|
|
50
50
|
case "generic":
|
|
51
51
|
return safeStr(element.details);
|
|
@@ -96,16 +96,16 @@ function registerFilterMenuItems(state, scopedContextKeyService) {
|
|
|
96
96
|
when: CHAT_DEBUG_FILTER_ACTIVE
|
|
97
97
|
}));
|
|
98
98
|
};
|
|
99
|
-
registerToggle(CHAT_DEBUG_CMD_TOGGLE_TOOL_CALL, ( localize(
|
|
99
|
+
registerToggle(CHAT_DEBUG_CMD_TOGGLE_TOOL_CALL, ( localize(5818, "Tool Calls")), CHAT_DEBUG_KIND_TOOL_CALL, "1_kind", () => state.filterKindToolCall, v => {
|
|
100
100
|
state.filterKindToolCall = v;
|
|
101
101
|
}, kindToolCallKey);
|
|
102
|
-
registerToggle(CHAT_DEBUG_CMD_TOGGLE_MODEL_TURN, ( localize(
|
|
102
|
+
registerToggle(CHAT_DEBUG_CMD_TOGGLE_MODEL_TURN, ( localize(5819, "Model Turns")), CHAT_DEBUG_KIND_MODEL_TURN, "1_kind", () => state.filterKindModelTurn, v => {
|
|
103
103
|
state.filterKindModelTurn = v;
|
|
104
104
|
}, kindModelTurnKey);
|
|
105
|
-
registerToggle(CHAT_DEBUG_CMD_TOGGLE_PROMPT_DISCOVERY, ( localize(
|
|
105
|
+
registerToggle(CHAT_DEBUG_CMD_TOGGLE_PROMPT_DISCOVERY, ( localize(5820, "Chat Customization")), CHAT_DEBUG_KIND_PROMPT_DISCOVERY, "1_kind", () => state.filterKindPromptDiscovery, v => {
|
|
106
106
|
state.filterKindPromptDiscovery = v;
|
|
107
107
|
}, kindPromptDiscoveryKey);
|
|
108
|
-
registerToggle(CHAT_DEBUG_CMD_TOGGLE_SUBAGENT, ( localize(
|
|
108
|
+
registerToggle(CHAT_DEBUG_CMD_TOGGLE_SUBAGENT, ( localize(5821, "Subagent Invocations")), CHAT_DEBUG_KIND_SUBAGENT, "1_kind", () => state.filterKindSubagent, v => {
|
|
109
109
|
state.filterKindSubagent = v;
|
|
110
110
|
}, kindSubagentKey);
|
|
111
111
|
return store;
|
|
@@ -98,8 +98,8 @@ let ChatDebugFlowChartView = class ChatDebugFlowChartView extends Disposable {
|
|
|
98
98
|
syncContextKeys();
|
|
99
99
|
const childInstantiationService = this._register(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, scopedContextKeyService]))));
|
|
100
100
|
this.filterWidget = this._register(childInstantiationService.createInstance(FilterWidget, {
|
|
101
|
-
placeholder: ( localize(
|
|
102
|
-
ariaLabel: ( localize(
|
|
101
|
+
placeholder: ( localize(5822, "Filter nodes...")),
|
|
102
|
+
ariaLabel: ( localize(5823, "Filter flow chart nodes"))
|
|
103
103
|
}));
|
|
104
104
|
const filterContainer = append(headerContainer, $(".viewpane-filter-container"));
|
|
105
105
|
filterContainer.appendChild(this.filterWidget.element);
|
|
@@ -158,7 +158,7 @@ let ChatDebugFlowChartView = class ChatDebugFlowChartView extends Disposable {
|
|
|
158
158
|
return;
|
|
159
159
|
}
|
|
160
160
|
const sessionTitle = this.chatService.getSessionTitle(this.currentSessionResource) || LocalChatSessionUri.parseLocalSessionId(this.currentSessionResource) || ( this.currentSessionResource.toString());
|
|
161
|
-
this.breadcrumbWidget.setItems([( new TextBreadcrumbItem(( localize(
|
|
161
|
+
this.breadcrumbWidget.setItems([( new TextBreadcrumbItem(( localize(5824, "Agent Debug Logs")), true)), ( new TextBreadcrumbItem(sessionTitle, true)), ( new TextBreadcrumbItem(( localize(5825, "Agent Flow Chart"))))]);
|
|
162
162
|
}
|
|
163
163
|
load() {
|
|
164
164
|
const hadFocus = isAncestorOfActiveElement(this.content);
|
|
@@ -176,7 +176,7 @@ let ChatDebugFlowChartView = class ChatDebugFlowChartView extends Disposable {
|
|
|
176
176
|
}
|
|
177
177
|
if (events.length === 0) {
|
|
178
178
|
const emptyMsg = append(this.content, $(".chat-debug-flowchart-empty"));
|
|
179
|
-
emptyMsg.textContent = ( localize(
|
|
179
|
+
emptyMsg.textContent = ( localize(5826, "No events recorded for this session."));
|
|
180
180
|
return;
|
|
181
181
|
}
|
|
182
182
|
const flowNodes = buildFlowGraph(events);
|
|
@@ -186,7 +186,7 @@ let ChatDebugFlowChartView = class ChatDebugFlowChartView extends Disposable {
|
|
|
186
186
|
});
|
|
187
187
|
if (filtered.length === 0) {
|
|
188
188
|
const emptyMsg = append(this.content, $(".chat-debug-flowchart-empty"));
|
|
189
|
-
emptyMsg.textContent = ( localize(
|
|
189
|
+
emptyMsg.textContent = ( localize(5827, "No nodes match the current filter."));
|
|
190
190
|
return;
|
|
191
191
|
}
|
|
192
192
|
const slice = sliceFlowNodes(filtered, this.visibleLimit);
|
|
@@ -205,9 +205,9 @@ let ChatDebugFlowChartView = class ChatDebugFlowChartView extends Disposable {
|
|
|
205
205
|
const showMoreBtn = this.loadDisposables.add(( new Button(showMoreContainer, {
|
|
206
206
|
...defaultButtonStyles,
|
|
207
207
|
secondary: true,
|
|
208
|
-
title: ( localize(
|
|
208
|
+
title: ( localize(5828, "Load more nodes"))
|
|
209
209
|
})));
|
|
210
|
-
showMoreBtn.label = ( localize(
|
|
210
|
+
showMoreBtn.label = ( localize(5829, "Show More ({0})", remaining));
|
|
211
211
|
this.loadDisposables.add(showMoreBtn.onDidClick(() => {
|
|
212
212
|
this.visibleLimit += PAGE_SIZE;
|
|
213
213
|
this.load();
|
|
@@ -71,7 +71,7 @@ function buildFlowGraph(events) {
|
|
|
71
71
|
let description;
|
|
72
72
|
if (effectiveKind === "subagentInvocation") {
|
|
73
73
|
description = getSubagentDescription(event);
|
|
74
|
-
label = description ? ( localize(
|
|
74
|
+
label = description ? ( localize(5830, "Subagent: {0}", truncateLabel(description, 30))) : ( localize(5831, "Subagent"));
|
|
75
75
|
if (description) {
|
|
76
76
|
if (tooltip && !tooltip.includes(description)) {
|
|
77
77
|
const lines = tooltip.split("\n");
|
|
@@ -225,13 +225,13 @@ function mergeDiscoveryNodes(nodes) {
|
|
|
225
225
|
const mergedId = `merged-discovery:${run[0].id}`;
|
|
226
226
|
const labels = ( run.map(n => n.label));
|
|
227
227
|
const uniqueLabels = [...( new Set(labels))];
|
|
228
|
-
const summaryLabel = uniqueLabels.length <= 2 ? uniqueLabels.join(", ") : ( localize(
|
|
228
|
+
const summaryLabel = uniqueLabels.length <= 2 ? uniqueLabels.join(", ") : ( localize(5832, "{0} +{1} more", uniqueLabels[0], run.length - 1));
|
|
229
229
|
result.push({
|
|
230
230
|
id: mergedId,
|
|
231
231
|
kind: "generic",
|
|
232
232
|
category: "discovery",
|
|
233
233
|
label: summaryLabel,
|
|
234
|
-
sublabel: ( localize(
|
|
234
|
+
sublabel: ( localize(5833, "{0} discovery steps", run.length)),
|
|
235
235
|
tooltip: ( run.map(n => n.label + (n.sublabel ? `: ${n.sublabel}` : ""))).join("\n"),
|
|
236
236
|
created: run[0].created,
|
|
237
237
|
children: [],
|
|
@@ -282,7 +282,7 @@ function mergeToolCallNodes(nodes) {
|
|
|
282
282
|
id: mergedId,
|
|
283
283
|
kind: "toolCall",
|
|
284
284
|
label: toolName,
|
|
285
|
-
sublabel: ( localize(
|
|
285
|
+
sublabel: ( localize(5834, "{0} calls", run.length)),
|
|
286
286
|
tooltip: ( run.map(n => n.label + (n.sublabel ? `: ${n.sublabel}` : ""))).join("\n"),
|
|
287
287
|
created: run[0].created,
|
|
288
288
|
children: [],
|
|
@@ -315,17 +315,17 @@ function getEventLabel(event, effectiveKind) {
|
|
|
315
315
|
const kind = effectiveKind ?? event.kind;
|
|
316
316
|
switch (kind) {
|
|
317
317
|
case "userMessage":
|
|
318
|
-
return localize(
|
|
318
|
+
return localize(5835, "User Message");
|
|
319
319
|
case "modelTurn":
|
|
320
|
-
return event.kind === "modelTurn" ? (event.model ?? ( localize(
|
|
320
|
+
return event.kind === "modelTurn" ? (event.model ?? ( localize(5836, "Model Turn"))) : ( localize(5836, "Model Turn"));
|
|
321
321
|
case "toolCall":
|
|
322
|
-
return event.kind === "toolCall" ? event.toolName : event.kind === "generic" ? event.name : ( localize(
|
|
322
|
+
return event.kind === "toolCall" ? event.toolName : event.kind === "generic" ? event.name : ( localize(5837, "Tool Call"));
|
|
323
323
|
case "subagentInvocation":
|
|
324
|
-
return event.kind === "subagentInvocation" ? event.agentName : ( localize(
|
|
324
|
+
return event.kind === "subagentInvocation" ? event.agentName : ( localize(5838, "Subagent"));
|
|
325
325
|
case "agentResponse":
|
|
326
|
-
return localize(
|
|
326
|
+
return localize(5839, "Agent Response");
|
|
327
327
|
case "generic":
|
|
328
|
-
return event.kind === "generic" ? event.name : ( localize(
|
|
328
|
+
return event.kind === "generic" ? event.name : ( localize(5840, "Event"));
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
331
|
function getEventSublabel(event, effectiveKind) {
|
|
@@ -338,7 +338,7 @@ function getEventSublabel(event, effectiveKind) {
|
|
|
338
338
|
parts.push(event.requestName);
|
|
339
339
|
}
|
|
340
340
|
if (event.kind === "modelTurn" && event.totalTokens) {
|
|
341
|
-
parts.push(( localize(
|
|
341
|
+
parts.push(( localize(5841, "{0} tokens", event.totalTokens)));
|
|
342
342
|
}
|
|
343
343
|
if (event.kind === "modelTurn" && event.durationInMillis) {
|
|
344
344
|
parts.push(formatDuration(event.durationInMillis));
|
|
@@ -426,7 +426,7 @@ function getEventTooltip(event) {
|
|
|
426
426
|
if (event.input) {
|
|
427
427
|
const input = event.input.trim();
|
|
428
428
|
parts.push(( localize(
|
|
429
|
-
|
|
429
|
+
5842,
|
|
430
430
|
"Input: {0}",
|
|
431
431
|
input.length > TOOLTIP_MAX_LENGTH ? input.substring(0, TOOLTIP_MAX_LENGTH) + "…" : input
|
|
432
432
|
)));
|
|
@@ -434,13 +434,13 @@ function getEventTooltip(event) {
|
|
|
434
434
|
if (event.output) {
|
|
435
435
|
const output = event.output.trim();
|
|
436
436
|
parts.push(( localize(
|
|
437
|
-
|
|
437
|
+
5843,
|
|
438
438
|
"Output: {0}",
|
|
439
439
|
output.length > TOOLTIP_MAX_LENGTH ? output.substring(0, TOOLTIP_MAX_LENGTH) + "…" : output
|
|
440
440
|
)));
|
|
441
441
|
}
|
|
442
442
|
if (event.result) {
|
|
443
|
-
parts.push(( localize(
|
|
443
|
+
parts.push(( localize(5844, "Result: {0}", event.result)));
|
|
444
444
|
}
|
|
445
445
|
return parts.join("\n");
|
|
446
446
|
}
|
|
@@ -451,13 +451,13 @@ function getEventTooltip(event) {
|
|
|
451
451
|
parts.push(event.description);
|
|
452
452
|
}
|
|
453
453
|
if (event.status) {
|
|
454
|
-
parts.push(( localize(
|
|
454
|
+
parts.push(( localize(5845, "Status: {0}", event.status)));
|
|
455
455
|
}
|
|
456
456
|
if (event.toolCallCount !== undefined) {
|
|
457
|
-
parts.push(( localize(
|
|
457
|
+
parts.push(( localize(5846, "Tool calls: {0}", event.toolCallCount)));
|
|
458
458
|
}
|
|
459
459
|
if (event.modelTurnCount !== undefined) {
|
|
460
|
-
parts.push(( localize(
|
|
460
|
+
parts.push(( localize(5847, "Model turns: {0}", event.modelTurnCount)));
|
|
461
461
|
}
|
|
462
462
|
return parts.join("\n");
|
|
463
463
|
}
|
|
@@ -476,16 +476,16 @@ function getEventTooltip(event) {
|
|
|
476
476
|
parts.push(event.model);
|
|
477
477
|
}
|
|
478
478
|
if (event.totalTokens) {
|
|
479
|
-
parts.push(( localize(
|
|
479
|
+
parts.push(( localize(5848, "Tokens: {0}", event.totalTokens)));
|
|
480
480
|
}
|
|
481
481
|
if (event.inputTokens) {
|
|
482
|
-
parts.push(( localize(
|
|
482
|
+
parts.push(( localize(5849, "Input tokens: {0}", event.inputTokens)));
|
|
483
483
|
}
|
|
484
484
|
if (event.outputTokens) {
|
|
485
|
-
parts.push(( localize(
|
|
485
|
+
parts.push(( localize(5850, "Output tokens: {0}", event.outputTokens)));
|
|
486
486
|
}
|
|
487
487
|
if (event.durationInMillis) {
|
|
488
|
-
parts.push(( localize(
|
|
488
|
+
parts.push(( localize(5851, "Duration: {0}", formatDuration(event.durationInMillis))));
|
|
489
489
|
}
|
|
490
490
|
return parts.length > 0 ? parts.join("\n") : undefined;
|
|
491
491
|
}
|
|
@@ -56,14 +56,14 @@ let ChatDebugHomeView = class ChatDebugHomeView extends Disposable {
|
|
|
56
56
|
this.renderDisposables.clear();
|
|
57
57
|
append(
|
|
58
58
|
this.scrollContent,
|
|
59
|
-
$("h2.chat-debug-home-title", undefined, ( localize(
|
|
59
|
+
$("h2.chat-debug-home-title", undefined, ( localize(5852, "Agent Debug Logs")))
|
|
60
60
|
);
|
|
61
61
|
const isEnabled = this.configurationService.getValue(AGENT_DEBUG_LOG_ENABLED_SETTING);
|
|
62
62
|
if (!isEnabled) {
|
|
63
63
|
append(
|
|
64
64
|
this.scrollContent,
|
|
65
65
|
$("p.chat-debug-home-subtitle", undefined, ( localize(
|
|
66
|
-
|
|
66
|
+
5853,
|
|
67
67
|
"Enable to view debug logs and investigate chat issues with /troubleshoot."
|
|
68
68
|
)))
|
|
69
69
|
);
|
|
@@ -72,7 +72,7 @@ let ChatDebugHomeView = class ChatDebugHomeView extends Disposable {
|
|
|
72
72
|
secondary: true
|
|
73
73
|
})));
|
|
74
74
|
enableButton.element.style.width = "auto";
|
|
75
|
-
enableButton.label = ( localize(
|
|
75
|
+
enableButton.label = ( localize(5854, "Enable in Settings"));
|
|
76
76
|
this.renderDisposables.add(enableButton.onDidClick(() => {
|
|
77
77
|
this.preferencesService.openSettings({
|
|
78
78
|
jsonEditor: false,
|
|
@@ -96,12 +96,12 @@ let ChatDebugHomeView = class ChatDebugHomeView extends Disposable {
|
|
|
96
96
|
append(this.scrollContent, $(
|
|
97
97
|
"p.chat-debug-home-subtitle",
|
|
98
98
|
undefined,
|
|
99
|
-
sessionResources.length > 0 ? ( localize(
|
|
99
|
+
sessionResources.length > 0 ? ( localize(5855, "Select a chat session to debug")) : ( localize(5856, "Send a chat message to get started"))
|
|
100
100
|
));
|
|
101
101
|
if (sessionResources.length > 0) {
|
|
102
102
|
const sessionList = append(this.scrollContent, $(".chat-debug-home-session-list"));
|
|
103
103
|
sessionList.setAttribute("role", "list");
|
|
104
|
-
sessionList.setAttribute("aria-label", ( localize(
|
|
104
|
+
sessionList.setAttribute("aria-label", ( localize(5857, "Chat sessions")));
|
|
105
105
|
const items = [];
|
|
106
106
|
for (const sessionResource of sessionResources) {
|
|
107
107
|
const rawTitle = this.chatService.getSessionTitle(sessionResource);
|
|
@@ -110,19 +110,19 @@ let ChatDebugHomeView = class ChatDebugHomeView extends Disposable {
|
|
|
110
110
|
if (rawTitle && !isUUID(rawTitle)) {
|
|
111
111
|
sessionTitle = rawTitle;
|
|
112
112
|
} else if (LocalChatSessionUri.isLocalSession(sessionResource)) {
|
|
113
|
-
sessionTitle = ( localize(
|
|
113
|
+
sessionTitle = ( localize(5858, "New Chat"));
|
|
114
114
|
} else if (importedTitle) {
|
|
115
|
-
sessionTitle = ( localize(
|
|
115
|
+
sessionTitle = ( localize(5859, "Imported: {0}", importedTitle));
|
|
116
116
|
} else if (getChatSessionType(sessionResource) === "copilotcli") {
|
|
117
117
|
const pathId = sessionResource.path.replace(/^\//, "").split("-")[0];
|
|
118
118
|
const shortId = pathId || sessionResource.authority || ( sessionResource.toString());
|
|
119
|
-
sessionTitle = ( localize(
|
|
119
|
+
sessionTitle = ( localize(5860, "Copilot CLI: {0}", shortId));
|
|
120
120
|
} else if (getChatSessionType(sessionResource) === "claude-code") {
|
|
121
121
|
const pathId = sessionResource.path.replace(/^\//, "").split("-")[0];
|
|
122
122
|
const shortId = pathId || sessionResource.authority || ( sessionResource.toString());
|
|
123
|
-
sessionTitle = ( localize(
|
|
123
|
+
sessionTitle = ( localize(5861, "Claude Code: {0}", shortId));
|
|
124
124
|
} else {
|
|
125
|
-
sessionTitle = ( localize(
|
|
125
|
+
sessionTitle = ( localize(5858, "New Chat"));
|
|
126
126
|
}
|
|
127
127
|
const isActive = activeSessionResource !== undefined && ( sessionResource.toString()) === ( activeSessionResource.toString());
|
|
128
128
|
const item = append(sessionList, $("button.chat-debug-home-session-item"));
|
|
@@ -134,10 +134,10 @@ let ChatDebugHomeView = class ChatDebugHomeView extends Disposable {
|
|
|
134
134
|
append(item, $(`span${ThemeIcon.asCSSSelector(Codicon.comment)}`));
|
|
135
135
|
const titleSpan = append(item, $("span.chat-debug-home-session-item-title"));
|
|
136
136
|
titleSpan.textContent = sessionTitle;
|
|
137
|
-
const ariaLabel = isActive ? ( localize(
|
|
137
|
+
const ariaLabel = isActive ? ( localize(5862, "{0} (active)", sessionTitle)) : sessionTitle;
|
|
138
138
|
item.setAttribute("aria-label", ariaLabel);
|
|
139
139
|
if (isActive) {
|
|
140
|
-
append(item, $("span.chat-debug-home-session-badge", undefined, ( localize(
|
|
140
|
+
append(item, $("span.chat-debug-home-session-badge", undefined, ( localize(5863, "Active"))));
|
|
141
141
|
}
|
|
142
142
|
this.renderDisposables.add(addDisposableListener(item, EventType.CLICK, () => {
|
|
143
143
|
this._onNavigateToSession.fire(sessionResource);
|