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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +23 -18
  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
@@ -1,29 +1,36 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { $ as $$1, append, hide, show, clearNode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
3
+ import { $ as $$1, append, hide, show, clearNode, isMouseEvent, getWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
4
  import { BreadcrumbsWidget } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget';
5
5
  import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
6
+ import { ProgressBar } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/progressbar/progressbar';
6
7
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
7
8
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
8
9
  import { Disposable, MutableDisposable, combinedDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
9
10
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
11
+ import { RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
10
12
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
11
13
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
12
14
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
13
15
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
14
16
  import { ServiceCollection } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/serviceCollection';
15
17
  import { WorkbenchList, WorkbenchObjectTree } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService';
16
- import { defaultBreadcrumbsWidgetStyles, defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
18
+ import { defaultBreadcrumbsWidgetStyles, defaultButtonStyles, defaultProgressBarStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
17
19
  import { FilterWidget } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/views/viewFilter';
18
20
  import { IChatDebugService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService.service';
21
+ import { filterDebugEventsByText } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/common/chatDebugEvents';
19
22
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
20
23
  import { LocalChatSessionUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
21
- import { ChatDebugEventDelegate, ChatDebugEventRenderer, ChatDebugEventTreeRenderer } from './chatDebugEventList.js';
24
+ import { ChatDebugEventDelegate, ChatDebugEventRenderer, ChatDebugEventTreeRenderer, getEventCreatedText, getEventNameText, getEventDetailsText } from './chatDebugEventList.js';
22
25
  import { LogsViewMode, setupBreadcrumbKeyboardNavigation, TextBreadcrumbItem } from './chatDebugTypes.js';
23
26
  import { bindFilterContextKeys } from './chatDebugFilters.js';
24
27
  import { ChatDebugDetailPanel } from './chatDebugDetailPanel.js';
25
28
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
26
29
  import { createDebugEventsAttachment } from '@codingame/monaco-vscode-xterm-addons-common/vscode/vs/workbench/contrib/chat/browser/chatDebug/chatDebugAttachment';
30
+ import { IClipboardService } from '@codingame/monaco-vscode-api/vscode/vs/platform/clipboard/common/clipboardService.service';
31
+ import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
32
+ import { Action, Separator } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
33
+ import { StandardMouseEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/mouseEvent';
27
34
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
28
35
 
29
36
  const $ = $$1;
@@ -40,7 +47,9 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
40
47
  chatDebugService,
41
48
  instantiationService,
42
49
  contextKeyService,
43
- chatWidgetService
50
+ chatWidgetService,
51
+ clipboardService,
52
+ contextMenuService
44
53
  ) {
45
54
  super();
46
55
  this.filterState = filterState;
@@ -49,12 +58,15 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
49
58
  this.instantiationService = instantiationService;
50
59
  this.contextKeyService = contextKeyService;
51
60
  this.chatWidgetService = chatWidgetService;
61
+ this.clipboardService = clipboardService;
62
+ this.contextMenuService = contextMenuService;
52
63
  this._onNavigate = this._register(( new Emitter()));
53
64
  this.onNavigate = this._onNavigate.event;
54
- this.logsViewMode = LogsViewMode.List;
65
+ this.logsViewMode = LogsViewMode.Tree;
55
66
  this.events = [];
56
67
  this.eventListener = this._register(( new MutableDisposable()));
57
68
  this.sessionStateDisposable = this._register(( new MutableDisposable()));
69
+ this.refreshScheduler = this._register(( new RunOnceScheduler(() => this.refreshList(), 50)));
58
70
  this.container = append(parent, $(".chat-debug-logs"));
59
71
  hide(this.container);
60
72
  const breadcrumbContainer = append(this.container, $(".chat-debug-breadcrumb"));
@@ -86,13 +98,13 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
86
98
  syncContextKeys();
87
99
  const childInstantiationService = this._register(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, scopedContextKeyService]))));
88
100
  this.filterWidget = this._register(childInstantiationService.createInstance(FilterWidget, {
89
- placeholder: ( localize(5706, "Filter (e.g. text, !exclude, before:YYYY-MM-DDTHH:MM:SS)")),
90
- ariaLabel: ( localize(5707, "Filter debug events"))
101
+ placeholder: ( localize(5831, "Filter (e.g. text, !exclude, before:YYYY-MM-DDTHH:MM:SS)")),
102
+ ariaLabel: ( localize(5832, "Filter debug events"))
91
103
  }));
92
104
  this.viewModeToggle = this._register(( new Button(this.headerContainer, {
93
105
  ...defaultButtonStyles,
94
106
  secondary: true,
95
- title: ( localize(5708, "Toggle between list and tree view"))
107
+ title: ( localize(5833, "Toggle between list and tree view"))
96
108
  })));
97
109
  this.viewModeToggle.element.classList.add("chat-debug-view-mode-toggle", "monaco-text-button");
98
110
  this.updateViewModeToggle();
@@ -104,7 +116,7 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
104
116
  const troubleshootButton = this._register(( new Button(this.headerContainer, {
105
117
  ...defaultButtonStyles,
106
118
  secondary: true,
107
- title: ( localize(5709, "Add snapshot to Chat"))
119
+ title: ( localize(5834, "Add snapshot to Chat"))
108
120
  })));
109
121
  troubleshootButton.element.classList.add("chat-debug-troubleshoot-button", "monaco-text-button");
110
122
  append(
@@ -135,43 +147,48 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
135
147
  this.tableHeader = append(mainColumn, $(".chat-debug-table-header"));
136
148
  append(
137
149
  this.tableHeader,
138
- $("span.chat-debug-col-created", undefined, ( localize(5710, "Created")))
150
+ $("span.chat-debug-col-created", undefined, ( localize(5835, "Created")))
139
151
  );
140
- append(this.tableHeader, $("span.chat-debug-col-name", undefined, ( localize(5711, "Name"))));
152
+ append(this.tableHeader, $("span.chat-debug-col-name", undefined, ( localize(5836, "Name"))));
141
153
  append(
142
154
  this.tableHeader,
143
- $("span.chat-debug-col-details", undefined, ( localize(5712, "Details")))
155
+ $("span.chat-debug-col-details", undefined, ( localize(5837, "Details")))
144
156
  );
157
+ this.progressBar = this._register(( new ProgressBar(mainColumn, {
158
+ ...defaultProgressBarStyles,
159
+ ariaLabel: ( localize(5838, "Chat debug logs loading progress"))
160
+ })));
145
161
  this.bodyContainer = append(mainColumn, $(".chat-debug-logs-body"));
146
162
  this.listContainer = append(this.bodyContainer, $(".chat-debug-list-container"));
163
+ hide(this.listContainer);
147
164
  const accessibilityProvider = {
148
165
  getAriaLabel: e => {
149
166
  switch (e.kind) {
150
167
  case "toolCall":
151
- return localize(5713, "Tool call: {0}{1}", e.toolName, e.result ? ` (${e.result})` : "");
168
+ return localize(5839, "Tool call: {0}{1}", e.toolName, e.result ? ` (${e.result})` : "");
152
169
  case "modelTurn":
153
170
  return localize(
154
- 5714,
171
+ 5840,
155
172
  "Model turn: {0}{1}",
156
- e.model ?? ( localize(5715, "model")),
157
- e.totalTokens ? ( localize(5716, " {0} tokens", e.totalTokens)) : ""
173
+ e.model ?? ( localize(5841, "model")),
174
+ e.totalTokens ? ( localize(5842, " {0} tokens", e.totalTokens)) : ""
158
175
  );
159
176
  case "generic":
160
177
  return `${e.category ? e.category + ": " : ""}${e.name}: ${e.details ?? ""}`;
161
178
  case "subagentInvocation":
162
179
  return localize(
163
- 5717,
180
+ 5843,
164
181
  "Subagent: {0}{1}",
165
182
  e.agentName,
166
183
  e.description ? ` - ${e.description}` : ""
167
184
  );
168
185
  case "userMessage":
169
- return localize(5718, "User message: {0}", e.message);
186
+ return localize(5844, "User message: {0}", e.message);
170
187
  case "agentResponse":
171
- return localize(5719, "Agent response: {0}", e.message);
188
+ return localize(5845, "Agent response: {0}", e.message);
172
189
  }
173
190
  },
174
- getWidgetAriaLabel: () => ( localize(5720, "Chat Debug Events"))
191
+ getWidgetAriaLabel: () => ( localize(5846, "Chat Debug Events"))
175
192
  };
176
193
  let nextFallbackId = 0;
177
194
  const fallbackIds = ( new WeakMap());
@@ -195,7 +212,6 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
195
212
  })
196
213
  );
197
214
  this.treeContainer = append(this.bodyContainer, $(".chat-debug-list-container"));
198
- hide(this.treeContainer);
199
215
  this.tree = this._register(this.instantiationService.createInstance(
200
216
  WorkbenchObjectTree,
201
217
  "ChatDebugEventsTree",
@@ -207,14 +223,14 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
207
223
  accessibilityProvider
208
224
  }
209
225
  ));
210
- this.shimmerRow = append(this.bodyContainer, $(".chat-debug-logs-shimmer-row"));
211
- this.shimmerRow.setAttribute("aria-label", ( localize(5721, "Loading more events…")));
212
- this.shimmerRow.setAttribute("aria-busy", "true");
213
- append(this.shimmerRow, $("span.chat-debug-logs-shimmer-bar"));
214
- hide(this.shimmerRow);
215
226
  this.detailPanel = this._register(
216
227
  this.instantiationService.createInstance(ChatDebugDetailPanel, contentContainer)
217
228
  );
229
+ this._register(this.detailPanel.onDidChangeWidth(() => {
230
+ if (this.currentDimension) {
231
+ this.layout(this.currentDimension);
232
+ }
233
+ }));
218
234
  this._register(this.detailPanel.onDidHide(() => {
219
235
  if (this.list.getSelection().length > 0) {
220
236
  this.list.setSelection([]);
@@ -222,6 +238,19 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
222
238
  if (this.tree.getSelection().length > 0) {
223
239
  this.tree.setSelection([]);
224
240
  }
241
+ if (this.currentDimension) {
242
+ this.layout(this.currentDimension);
243
+ }
244
+ }));
245
+ this._register(this.list.onContextMenu(e => {
246
+ if (e.element) {
247
+ this.showEventContextMenu(e.element, e.browserEvent);
248
+ }
249
+ }));
250
+ this._register(this.tree.onContextMenu(e => {
251
+ if (e.element) {
252
+ this.showEventContextMenu(e.element, e.browserEvent);
253
+ }
225
254
  }));
226
255
  this._register(this.list.onDidChangeSelection(e => {
227
256
  const selected = e.elements[0];
@@ -266,15 +295,15 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
266
295
  return;
267
296
  }
268
297
  const sessionTitle = this.chatService.getSessionTitle(this.currentSessionResource) || LocalChatSessionUri.parseLocalSessionId(this.currentSessionResource) || ( this.currentSessionResource.toString());
269
- this.breadcrumbWidget.setItems([( new TextBreadcrumbItem(( localize(5722, "Agent Debug Panel")), true)), ( new TextBreadcrumbItem(sessionTitle, true)), ( new TextBreadcrumbItem(( localize(5723, "Logs"))))]);
298
+ this.breadcrumbWidget.setItems([( new TextBreadcrumbItem(( localize(5847, "Agent Debug Logs")), true)), ( new TextBreadcrumbItem(sessionTitle, true)), ( new TextBreadcrumbItem(( localize(5848, "Logs"))))]);
270
299
  }
271
300
  layout(dimension) {
272
301
  this.currentDimension = dimension;
273
302
  const breadcrumbHeight = 22;
274
303
  const headerHeight = this.headerContainer.offsetHeight;
275
304
  const tableHeaderHeight = this.tableHeader.offsetHeight;
276
- const detailVisible = this.detailPanel.element.style.display !== "none";
277
- const detailWidth = detailVisible ? this.detailPanel.element.offsetWidth : 0;
305
+ const detailVisible = this.detailPanel.isVisible;
306
+ const detailWidth = detailVisible ? this.detailPanel.width : 0;
278
307
  const listHeight = dimension.height - breadcrumbHeight - headerHeight - tableHeaderHeight;
279
308
  const listWidth = dimension.width - detailWidth;
280
309
  if (this.logsViewMode === LogsViewMode.Tree) {
@@ -282,6 +311,10 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
282
311
  } else {
283
312
  this.list.layout(listHeight, listWidth);
284
313
  }
314
+ if (this.detailPanel.isVisible) {
315
+ this.detailPanel.layout(listHeight);
316
+ }
317
+ this.detailPanel.layoutSash();
285
318
  }
286
319
  refreshList() {
287
320
  let filtered = this.events;
@@ -289,58 +322,39 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
289
322
  const category = e.kind === "generic" ? e.category : undefined;
290
323
  return this.filterState.isKindVisible(e.kind, category);
291
324
  });
292
- filtered = filtered.filter(e => this.filterState.isTimestampVisible(e.created));
293
- const filterText = this.filterState.textFilterWithoutTimestamps;
325
+ const filterText = this.filterState.textFilter;
294
326
  if (filterText) {
295
- const terms = filterText.split(/\s*,\s*/).filter(t => t.length > 0);
296
- const includeTerms = ( terms.filter(t => !t.startsWith("!")).map(t => t.trim()));
297
- const excludeTerms = ( terms.filter(t => t.startsWith("!")).map(t => t.slice(1).trim())).filter(t => t.length > 0);
298
- filtered = filtered.filter(e => {
299
- const matchesText = term => {
300
- if (e.kind.toLowerCase().includes(term)) {
301
- return true;
302
- }
303
- switch (e.kind) {
304
- case "toolCall":
305
- return e.toolName.toLowerCase().includes(term) || (e.input?.toLowerCase().includes(term) ?? false) || (e.output?.toLowerCase().includes(term) ?? false);
306
- case "modelTurn":
307
- return (e.model?.toLowerCase().includes(term) ?? false);
308
- case "generic":
309
- return e.name.toLowerCase().includes(term) || (e.details?.toLowerCase().includes(term) ?? false) || (e.category?.toLowerCase().includes(term) ?? false);
310
- case "subagentInvocation":
311
- return e.agentName.toLowerCase().includes(term) || (e.description?.toLowerCase().includes(term) ?? false);
312
- case "userMessage":
313
- return e.message.toLowerCase().includes(term) || ( e.sections.some(
314
- s => s.name.toLowerCase().includes(term) || s.content.toLowerCase().includes(term)
315
- ));
316
- case "agentResponse":
317
- return e.message.toLowerCase().includes(term) || ( e.sections.some(
318
- s => s.name.toLowerCase().includes(term) || s.content.toLowerCase().includes(term)
319
- ));
320
- }
321
- };
322
- if (( excludeTerms.some(term => matchesText(term)))) {
323
- return false;
324
- }
325
- if (includeTerms.length > 0) {
326
- return ( includeTerms.some(term => matchesText(term)));
327
- }
328
- return true;
329
- });
327
+ filtered = filterDebugEventsByText(filtered, filterText);
330
328
  }
331
329
  if (this.logsViewMode === LogsViewMode.List) {
332
330
  this.list.splice(0, this.list.length, filtered);
333
331
  } else {
334
332
  this.refreshTree(filtered);
335
333
  }
336
- this.updateShimmerPosition(filtered.length);
337
- }
338
- updateShimmerPosition(itemCount) {
339
- this.shimmerRow.style.top = `${itemCount * 28}px`;
340
334
  }
341
335
  addEvent(event) {
342
- this.events.push(event);
343
- this.refreshList();
336
+ const time = event.created.getTime();
337
+ let lo = 0;
338
+ let hi = this.events.length;
339
+ while (lo < hi) {
340
+ const mid = (lo + hi) >>> 1;
341
+ if (this.events[mid].created.getTime() <= time) {
342
+ lo = mid + 1;
343
+ } else {
344
+ hi = mid;
345
+ }
346
+ }
347
+ if (lo === this.events.length) {
348
+ this.events.push(event);
349
+ } else {
350
+ this.events.splice(lo, 0, event);
351
+ }
352
+ this.scheduleRefresh();
353
+ }
354
+ scheduleRefresh() {
355
+ if (!this.refreshScheduler.isScheduled()) {
356
+ this.refreshScheduler.schedule();
357
+ }
344
358
  }
345
359
  loadEvents() {
346
360
  this.events = [
@@ -348,8 +362,7 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
348
362
  ];
349
363
  const addEventDisposable = this.chatDebugService.onDidAddEvent(e => {
350
364
  if (!this.currentSessionResource || ( e.sessionResource.toString()) === ( this.currentSessionResource.toString())) {
351
- this.events.push(e);
352
- this.refreshList();
365
+ this.addEvent(e);
353
366
  }
354
367
  });
355
368
  const clearEventsDisposable = this.chatDebugService.onDidClearProviderEvents(sessionResource => {
@@ -366,22 +379,22 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
366
379
  }
367
380
  trackSessionState() {
368
381
  if (!this.currentSessionResource) {
369
- hide(this.shimmerRow);
382
+ this.progressBar.stop();
370
383
  this.sessionStateDisposable.clear();
371
384
  return;
372
385
  }
373
386
  const model = this.chatService.getSession(this.currentSessionResource);
374
387
  if (!model) {
375
- hide(this.shimmerRow);
388
+ this.progressBar.stop();
376
389
  this.sessionStateDisposable.clear();
377
390
  return;
378
391
  }
379
392
  this.sessionStateDisposable.value = autorun(reader => {
380
393
  const inProgress = model.requestInProgress.read(reader);
381
394
  if (inProgress) {
382
- show(this.shimmerRow);
395
+ this.progressBar.infinite();
383
396
  } else {
384
- hide(this.shimmerRow);
397
+ this.progressBar.stop();
385
398
  }
386
399
  });
387
400
  }
@@ -446,22 +459,40 @@ let ChatDebugLogsView = class ChatDebugLogsView extends Disposable {
446
459
  ));
447
460
  const labelContainer = append(el, $("span.chat-debug-view-mode-labels"));
448
461
  const treeLabel = append(labelContainer, $("span.chat-debug-view-mode-label"));
449
- treeLabel.textContent = ( localize(5724, "Tree View"));
462
+ treeLabel.textContent = ( localize(5849, "Tree View"));
450
463
  const listLabel = append(labelContainer, $("span.chat-debug-view-mode-label"));
451
- listLabel.textContent = ( localize(5725, "List View"));
464
+ listLabel.textContent = ( localize(5850, "List View"));
452
465
  if (isTree) {
453
466
  listLabel.classList.add("hidden");
454
467
  } else {
455
468
  treeLabel.classList.add("hidden");
456
469
  }
457
- const activeLabel = isTree ? ( localize(5726, "Switch to List View")) : ( localize(5727, "Switch to Tree View"));
470
+ const activeLabel = isTree ? ( localize(5851, "Switch to List View")) : ( localize(5852, "Switch to Tree View"));
458
471
  el.setAttribute("aria-label", activeLabel);
459
472
  this.viewModeToggle.setTitle(activeLabel);
460
473
  }
461
474
  updateMoreFiltersChecked() {
462
475
  this.filterWidget.checkMoreFilters(!this.filterState.isAllFiltersDefault());
463
476
  }
477
+ showEventContextMenu(event, browserEvent) {
478
+ const d = event.created;
479
+ const pad = n => String(n).padStart(2, "0");
480
+ const timestamp = `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}T${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`;
481
+ const row = [
482
+ getEventCreatedText(event),
483
+ getEventNameText(event),
484
+ getEventDetailsText(event)
485
+ ].filter(Boolean).join("\t");
486
+ const name = getEventNameText(event);
487
+ this.contextMenuService.showContextMenu({
488
+ getAnchor: () => isMouseEvent(browserEvent) ? ( new StandardMouseEvent(getWindow(this.container), browserEvent)) : this.container,
489
+ getActions: () => [( new Action("chatDebug.copyTimestamp", ( localize(5853, "Copy Timestamp")), undefined, true, () => this.clipboardService.writeText(timestamp))), ( new Action("chatDebug.copyRow", ( localize(5854, "Copy Row")), undefined, true, () => this.clipboardService.writeText(row))), ( new Separator()), ( new Action("chatDebug.filterBefore", ( localize(5855, "Filter Before Timestamp")), undefined, true, () => this.applyFilterToken(`before:${timestamp}`))), ( new Action("chatDebug.filterAfter", ( localize(5856, "Filter After Timestamp")), undefined, true, () => this.applyFilterToken(`after:${timestamp}`))), ( new Action("chatDebug.filterName", ( localize(5857, "Filter Name")), undefined, !!name, () => this.applyFilterToken(name)))]
490
+ });
491
+ }
492
+ applyFilterToken(token) {
493
+ this.filterWidget.setFilterText(token);
494
+ }
464
495
  };
465
- ChatDebugLogsView = ( __decorate([( __param(2, IChatService)), ( __param(3, IChatDebugService)), ( __param(4, IInstantiationService)), ( __param(5, IContextKeyService)), ( __param(6, IChatWidgetService))], ChatDebugLogsView));
496
+ ChatDebugLogsView = ( __decorate([( __param(2, IChatService)), ( __param(3, IChatDebugService)), ( __param(4, IInstantiationService)), ( __param(5, IContextKeyService)), ( __param(6, IChatWidgetService)), ( __param(7, IClipboardService)), ( __param(8, IContextMenuService))], ChatDebugLogsView));
466
497
 
467
498
  export { ChatDebugLogsView, LogsNavigation };
@@ -1,30 +1,41 @@
1
1
  import { DisposableStore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
- import { IChatDebugUserMessageEvent, IChatDebugAgentResponseEvent, IChatDebugEventMessageContent } from "../../common/chatDebugService.js";
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 { IChatDebugUserMessageEvent, IChatDebugAgentResponseEvent, IChatDebugEventMessageContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService";
3
5
  /**
4
6
  * Render a user message event with collapsible prompt sections.
7
+ * JSON content in sections is syntax-highlighted.
5
8
  */
6
- export declare function renderUserMessageContent(event: IChatDebugUserMessageEvent): {
9
+ export declare function renderUserMessageContent(event: IChatDebugUserMessageEvent, languageService: ILanguageService, clipboardService?: IClipboardService, scrollable?: {
10
+ scanDomNode(): void;
11
+ }): Promise<{
7
12
  element: HTMLElement;
8
13
  disposables: DisposableStore;
9
- };
14
+ }>;
10
15
  /**
11
16
  * Render an agent response event with collapsible response sections.
17
+ * JSON content in sections is syntax-highlighted.
12
18
  */
13
- export declare function renderAgentResponseContent(event: IChatDebugAgentResponseEvent): {
19
+ export declare function renderAgentResponseContent(event: IChatDebugAgentResponseEvent, languageService: ILanguageService, clipboardService?: IClipboardService, scrollable?: {
20
+ scanDomNode(): void;
21
+ }): Promise<{
14
22
  element: HTMLElement;
15
23
  disposables: DisposableStore;
16
- };
24
+ }>;
17
25
  /**
18
26
  * Convert a user message or agent response event to plain text for clipboard / editor output.
19
27
  */
20
28
  export declare function messageEventToPlainText(event: IChatDebugUserMessageEvent | IChatDebugAgentResponseEvent): string;
21
29
  /**
22
30
  * Render a resolved message content (from resolveChatDebugLogEvent) with collapsible sections.
31
+ * JSON content in sections is syntax-highlighted.
23
32
  */
24
- export declare function renderResolvedMessageContent(content: IChatDebugEventMessageContent): {
33
+ export declare function renderResolvedMessageContent(content: IChatDebugEventMessageContent, languageService: ILanguageService, clipboardService?: IClipboardService, scrollable?: {
34
+ scanDomNode(): void;
35
+ }): Promise<{
25
36
  element: HTMLElement;
26
37
  disposables: DisposableStore;
27
- };
38
+ }>;
28
39
  /**
29
40
  * Convert a resolved message content to plain text.
30
41
  */
@@ -2,16 +2,16 @@
2
2
  import { $ as $$1, append } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
3
3
  import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
4
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
5
- import { renderCollapsibleSection } from './chatDebugCollapsible.js';
5
+ import { tokenizeContent, renderSection } from './chatDebugToolCallContentRenderer.js';
6
6
 
7
7
  const $ = $$1;
8
- function renderUserMessageContent(event) {
8
+ async function renderUserMessageContent(event, languageService, clipboardService, scrollable) {
9
9
  const disposables = ( new DisposableStore());
10
10
  const container = $("div.chat-debug-message-content");
11
11
  container.tabIndex = 0;
12
12
  append(
13
13
  container,
14
- $("div.chat-debug-message-content-title", undefined, ( localize(5728, "User Message")))
14
+ $("div.chat-debug-message-content-title", undefined, ( localize(5858, "User Message")))
15
15
  );
16
16
  append(
17
17
  container,
@@ -21,10 +21,23 @@ function renderUserMessageContent(event) {
21
21
  const sectionsContainer = append(container, $("div.chat-debug-message-sections"));
22
22
  append(
23
23
  sectionsContainer,
24
- $("div.chat-debug-message-sections-label", undefined, ( localize(5729, "Prompt Sections ({0})", event.sections.length)))
24
+ $("div.chat-debug-message-sections-label", undefined, ( localize(5859, "Prompt Sections ({0})", event.sections.length)))
25
25
  );
26
26
  for (const section of event.sections) {
27
- renderCollapsibleSection(sectionsContainer, section, disposables);
27
+ const {
28
+ plainText,
29
+ tokenizedHtml
30
+ } = await tokenizeContent(section.content, languageService);
31
+ renderSection(
32
+ sectionsContainer,
33
+ section.name,
34
+ plainText,
35
+ tokenizedHtml,
36
+ disposables,
37
+ false,
38
+ clipboardService,
39
+ scrollable
40
+ );
28
41
  }
29
42
  }
30
43
  return {
@@ -32,13 +45,13 @@ function renderUserMessageContent(event) {
32
45
  disposables
33
46
  };
34
47
  }
35
- function renderAgentResponseContent(event) {
48
+ async function renderAgentResponseContent(event, languageService, clipboardService, scrollable) {
36
49
  const disposables = ( new DisposableStore());
37
50
  const container = $("div.chat-debug-message-content");
38
51
  container.tabIndex = 0;
39
52
  append(
40
53
  container,
41
- $("div.chat-debug-message-content-title", undefined, ( localize(5730, "Agent Response")))
54
+ $("div.chat-debug-message-content-title", undefined, ( localize(5860, "Agent Response")))
42
55
  );
43
56
  append(
44
57
  container,
@@ -48,10 +61,23 @@ function renderAgentResponseContent(event) {
48
61
  const sectionsContainer = append(container, $("div.chat-debug-message-sections"));
49
62
  append(
50
63
  sectionsContainer,
51
- $("div.chat-debug-message-sections-label", undefined, ( localize(5731, "Response Sections ({0})", event.sections.length)))
64
+ $("div.chat-debug-message-sections-label", undefined, ( localize(5861, "Response Sections ({0})", event.sections.length)))
52
65
  );
53
66
  for (const section of event.sections) {
54
- renderCollapsibleSection(sectionsContainer, section, disposables);
67
+ const {
68
+ plainText,
69
+ tokenizedHtml
70
+ } = await tokenizeContent(section.content, languageService);
71
+ renderSection(
72
+ sectionsContainer,
73
+ section.name,
74
+ plainText,
75
+ tokenizedHtml,
76
+ disposables,
77
+ false,
78
+ clipboardService,
79
+ scrollable
80
+ );
55
81
  }
56
82
  }
57
83
  return {
@@ -61,7 +87,7 @@ function renderAgentResponseContent(event) {
61
87
  }
62
88
  function messageEventToPlainText(event) {
63
89
  const lines = [];
64
- const label = event.kind === "userMessage" ? ( localize(5728, "User Message")) : ( localize(5730, "Agent Response"));
90
+ const label = event.kind === "userMessage" ? ( localize(5858, "User Message")) : ( localize(5860, "Agent Response"));
65
91
  lines.push(`${label}: ${event.message}`);
66
92
  lines.push("");
67
93
  for (const section of event.sections) {
@@ -71,11 +97,11 @@ function messageEventToPlainText(event) {
71
97
  }
72
98
  return lines.join("\n");
73
99
  }
74
- function renderResolvedMessageContent(content) {
100
+ async function renderResolvedMessageContent(content, languageService, clipboardService, scrollable) {
75
101
  const disposables = ( new DisposableStore());
76
102
  const container = $("div.chat-debug-message-content");
77
103
  container.tabIndex = 0;
78
- const title = content.type === "user" ? ( localize(5728, "User Message")) : ( localize(5730, "Agent Response"));
104
+ const title = content.type === "user" ? ( localize(5858, "User Message")) : ( localize(5860, "Agent Response"));
79
105
  append(container, $("div.chat-debug-message-content-title", undefined, title));
80
106
  append(
81
107
  container,
@@ -83,13 +109,26 @@ function renderResolvedMessageContent(content) {
83
109
  );
84
110
  if (content.sections.length > 0) {
85
111
  const sectionsContainer = append(container, $("div.chat-debug-message-sections"));
86
- const label = content.type === "user" ? ( localize(5729, "Prompt Sections ({0})", content.sections.length)) : ( localize(5731, "Response Sections ({0})", content.sections.length));
112
+ const label = content.type === "user" ? ( localize(5859, "Prompt Sections ({0})", content.sections.length)) : ( localize(5861, "Response Sections ({0})", content.sections.length));
87
113
  append(
88
114
  sectionsContainer,
89
115
  $("div.chat-debug-message-sections-label", undefined, label)
90
116
  );
91
117
  for (const section of content.sections) {
92
- renderCollapsibleSection(sectionsContainer, section, disposables);
118
+ const {
119
+ plainText,
120
+ tokenizedHtml
121
+ } = await tokenizeContent(section.content, languageService);
122
+ renderSection(
123
+ sectionsContainer,
124
+ section.name,
125
+ plainText,
126
+ tokenizedHtml,
127
+ disposables,
128
+ false,
129
+ clipboardService,
130
+ scrollable
131
+ );
93
132
  }
94
133
  }
95
134
  return {
@@ -99,7 +138,7 @@ function renderResolvedMessageContent(content) {
99
138
  }
100
139
  function resolvedMessageToPlainText(content) {
101
140
  const lines = [];
102
- const label = content.type === "user" ? ( localize(5728, "User Message")) : ( localize(5730, "Agent Response"));
141
+ const label = content.type === "user" ? ( localize(5858, "User Message")) : ( localize(5860, "Agent Response"));
103
142
  lines.push(`${label}: ${content.message}`);
104
143
  lines.push("");
105
144
  for (const section of content.sections) {
@@ -1,13 +1,18 @@
1
1
  import { DisposableStore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
- import { IChatDebugEventModelTurnContent } from "../../common/chatDebugService.js";
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 { IChatDebugEventModelTurnContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatDebugService";
3
5
  /**
4
6
  * Render a resolved model turn content with structured display of
5
7
  * request metadata, token usage, and timing.
8
+ * When JSON is detected in section content, renders it with syntax highlighting.
6
9
  */
7
- export declare function renderModelTurnContent(content: IChatDebugEventModelTurnContent): {
10
+ export declare function renderModelTurnContent(content: IChatDebugEventModelTurnContent, languageService: ILanguageService, clipboardService?: IClipboardService, scrollable?: {
11
+ scanDomNode(): void;
12
+ }): Promise<{
8
13
  element: HTMLElement;
9
14
  disposables: DisposableStore;
10
- };
15
+ }>;
11
16
  /**
12
17
  * Convert a resolved model turn content to plain text for clipboard / editor output.
13
18
  */