@codingame/monaco-vscode-chat-service-override 28.4.1 → 29.0.0

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