@stigmer/react 3.0.9-dev.20260616060535 → 3.1.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 (426) hide show
  1. package/execution/ApprovalCard.d.ts +47 -3
  2. package/execution/ApprovalCard.d.ts.map +1 -1
  3. package/execution/ApprovalCard.js +138 -70
  4. package/execution/ApprovalCard.js.map +1 -1
  5. package/execution/ApprovalContext.d.ts +72 -0
  6. package/execution/ApprovalContext.d.ts.map +1 -0
  7. package/execution/ApprovalContext.js +41 -0
  8. package/execution/ApprovalContext.js.map +1 -0
  9. package/execution/ArtifactCard.d.ts.map +1 -1
  10. package/execution/ArtifactCard.js +3 -1
  11. package/execution/ArtifactCard.js.map +1 -1
  12. package/execution/ArtifactPreviewModal.d.ts.map +1 -1
  13. package/execution/ArtifactPreviewModal.js +5 -3
  14. package/execution/ArtifactPreviewModal.js.map +1 -1
  15. package/execution/EmptyChangeNotice.d.ts +38 -0
  16. package/execution/EmptyChangeNotice.d.ts.map +1 -0
  17. package/execution/EmptyChangeNotice.js +27 -0
  18. package/execution/EmptyChangeNotice.js.map +1 -0
  19. package/execution/FileChangesView.d.ts +81 -0
  20. package/execution/FileChangesView.d.ts.map +1 -0
  21. package/execution/FileChangesView.js +164 -0
  22. package/execution/FileChangesView.js.map +1 -0
  23. package/execution/FilePathLink.d.ts +24 -4
  24. package/execution/FilePathLink.d.ts.map +1 -1
  25. package/execution/FilePathLink.js +31 -9
  26. package/execution/FilePathLink.js.map +1 -1
  27. package/execution/FileReviewCard.d.ts +111 -0
  28. package/execution/FileReviewCard.d.ts.map +1 -0
  29. package/execution/FileReviewCard.js +558 -0
  30. package/execution/FileReviewCard.js.map +1 -0
  31. package/execution/FileReviewContext.d.ts +35 -0
  32. package/execution/FileReviewContext.d.ts.map +1 -0
  33. package/execution/FileReviewContext.js +23 -0
  34. package/execution/FileReviewContext.js.map +1 -0
  35. package/execution/FileReviewDock.d.ts +73 -0
  36. package/execution/FileReviewDock.d.ts.map +1 -0
  37. package/execution/FileReviewDock.js +65 -0
  38. package/execution/FileReviewDock.js.map +1 -0
  39. package/execution/McpToolDetail.d.ts.map +1 -1
  40. package/execution/McpToolDetail.js +38 -5
  41. package/execution/McpToolDetail.js.map +1 -1
  42. package/execution/MessageThread.d.ts +42 -3
  43. package/execution/MessageThread.d.ts.map +1 -1
  44. package/execution/MessageThread.js +263 -18
  45. package/execution/MessageThread.js.map +1 -1
  46. package/execution/PlanArtifactCard.d.ts.map +1 -1
  47. package/execution/PlanArtifactCard.js +3 -1
  48. package/execution/PlanArtifactCard.js.map +1 -1
  49. package/execution/PlanCompletionCard.d.ts +1 -1
  50. package/execution/PlanCompletionCard.js +1 -1
  51. package/execution/ResultView.d.ts +19 -1
  52. package/execution/ResultView.d.ts.map +1 -1
  53. package/execution/ResultView.js +141 -40
  54. package/execution/ResultView.js.map +1 -1
  55. package/execution/SubAgentSection.d.ts.map +1 -1
  56. package/execution/SubAgentSection.js +45 -6
  57. package/execution/SubAgentSection.js.map +1 -1
  58. package/execution/TerminalSession.d.ts +34 -0
  59. package/execution/TerminalSession.d.ts.map +1 -0
  60. package/execution/TerminalSession.js +34 -0
  61. package/execution/TerminalSession.js.map +1 -0
  62. package/execution/TodoCard.d.ts +53 -0
  63. package/execution/TodoCard.d.ts.map +1 -0
  64. package/execution/TodoCard.js +77 -0
  65. package/execution/TodoCard.js.map +1 -0
  66. package/execution/ToolArgsView.d.ts +7 -1
  67. package/execution/ToolArgsView.d.ts.map +1 -1
  68. package/execution/ToolArgsView.js +10 -9
  69. package/execution/ToolArgsView.js.map +1 -1
  70. package/execution/ToolCallDetail.d.ts +10 -1
  71. package/execution/ToolCallDetail.d.ts.map +1 -1
  72. package/execution/ToolCallDetail.js +66 -19
  73. package/execution/ToolCallDetail.js.map +1 -1
  74. package/execution/ToolCallGroup.d.ts +28 -18
  75. package/execution/ToolCallGroup.d.ts.map +1 -1
  76. package/execution/ToolCallGroup.js +39 -148
  77. package/execution/ToolCallGroup.js.map +1 -1
  78. package/execution/ToolCallItem.d.ts +36 -8
  79. package/execution/ToolCallItem.d.ts.map +1 -1
  80. package/execution/ToolCallItem.js +140 -21
  81. package/execution/ToolCallItem.js.map +1 -1
  82. package/execution/ToolRunGroup.d.ts +48 -0
  83. package/execution/ToolRunGroup.d.ts.map +1 -0
  84. package/execution/ToolRunGroup.js +168 -0
  85. package/execution/ToolRunGroup.js.map +1 -0
  86. package/execution/approval-provenance.d.ts +2 -0
  87. package/execution/approval-provenance.d.ts.map +1 -0
  88. package/execution/approval-provenance.js +6 -0
  89. package/execution/approval-provenance.js.map +1 -0
  90. package/execution/artifact-utils.d.ts +0 -10
  91. package/execution/artifact-utils.d.ts.map +1 -1
  92. package/execution/artifact-utils.js +0 -17
  93. package/execution/artifact-utils.js.map +1 -1
  94. package/execution/execution-phases.d.ts +1 -6
  95. package/execution/execution-phases.d.ts.map +1 -1
  96. package/execution/execution-phases.js +4 -14
  97. package/execution/execution-phases.js.map +1 -1
  98. package/execution/file-path-resolver.d.ts +28 -0
  99. package/execution/file-path-resolver.d.ts.map +1 -1
  100. package/execution/file-path-resolver.js +24 -0
  101. package/execution/file-path-resolver.js.map +1 -1
  102. package/execution/file-review-status.d.ts +127 -0
  103. package/execution/file-review-status.d.ts.map +1 -0
  104. package/execution/file-review-status.js +135 -0
  105. package/execution/file-review-status.js.map +1 -0
  106. package/execution/index.d.ts +39 -5
  107. package/execution/index.d.ts.map +1 -1
  108. package/execution/index.js +23 -3
  109. package/execution/index.js.map +1 -1
  110. package/execution/segment-tool-calls.d.ts +46 -0
  111. package/execution/segment-tool-calls.d.ts.map +1 -0
  112. package/execution/segment-tool-calls.js +71 -0
  113. package/execution/segment-tool-calls.js.map +1 -0
  114. package/execution/tool-categories.d.ts +62 -1
  115. package/execution/tool-categories.d.ts.map +1 -1
  116. package/execution/tool-categories.js +96 -2
  117. package/execution/tool-categories.js.map +1 -1
  118. package/execution/tool-presenter.d.ts +38 -2
  119. package/execution/tool-presenter.d.ts.map +1 -1
  120. package/execution/tool-presenter.js +23 -1
  121. package/execution/tool-presenter.js.map +1 -1
  122. package/execution/tool-rendering-primitives.d.ts.map +1 -1
  123. package/execution/tool-rendering-primitives.js +3 -2
  124. package/execution/tool-rendering-primitives.js.map +1 -1
  125. package/execution/useArtifactDownload.d.ts +44 -0
  126. package/execution/useArtifactDownload.d.ts.map +1 -0
  127. package/execution/useArtifactDownload.js +80 -0
  128. package/execution/useArtifactDownload.js.map +1 -0
  129. package/execution/useArtifactDownloadUrl.d.ts +67 -0
  130. package/execution/useArtifactDownloadUrl.d.ts.map +1 -0
  131. package/execution/useArtifactDownloadUrl.js +59 -0
  132. package/execution/useArtifactDownloadUrl.js.map +1 -0
  133. package/execution/useFileChangeContent.d.ts +61 -0
  134. package/execution/useFileChangeContent.d.ts.map +1 -0
  135. package/execution/useFileChangeContent.js +89 -0
  136. package/execution/useFileChangeContent.js.map +1 -0
  137. package/execution/useFileReview.d.ts +89 -0
  138. package/execution/useFileReview.d.ts.map +1 -0
  139. package/execution/useFileReview.js +106 -0
  140. package/execution/useFileReview.js.map +1 -0
  141. package/execution/useSubmitApproval.d.ts +17 -2
  142. package/execution/useSubmitApproval.d.ts.map +1 -1
  143. package/execution/useSubmitApproval.js +27 -23
  144. package/execution/useSubmitApproval.js.map +1 -1
  145. package/execution/useToolOutputContent.d.ts +44 -0
  146. package/execution/useToolOutputContent.d.ts.map +1 -0
  147. package/execution/useToolOutputContent.js +31 -0
  148. package/execution/useToolOutputContent.js.map +1 -0
  149. package/index.d.ts +6 -6
  150. package/index.d.ts.map +1 -1
  151. package/index.js +3 -3
  152. package/index.js.map +1 -1
  153. package/internal/ApprovalPeekBar.d.ts +23 -0
  154. package/internal/ApprovalPeekBar.d.ts.map +1 -0
  155. package/internal/ApprovalPeekBar.js +25 -0
  156. package/internal/ApprovalPeekBar.js.map +1 -0
  157. package/internal/BoundedContent.d.ts +49 -0
  158. package/internal/BoundedContent.d.ts.map +1 -0
  159. package/internal/BoundedContent.js +50 -0
  160. package/internal/BoundedContent.js.map +1 -0
  161. package/internal/DecisionButton.d.ts +47 -0
  162. package/internal/DecisionButton.d.ts.map +1 -0
  163. package/internal/DecisionButton.js +42 -0
  164. package/internal/DecisionButton.js.map +1 -0
  165. package/internal/InCardDecisionError.d.ts +31 -0
  166. package/internal/InCardDecisionError.d.ts.map +1 -0
  167. package/internal/InCardDecisionError.js +23 -0
  168. package/internal/InCardDecisionError.js.map +1 -0
  169. package/internal/RevealToggle.d.ts +36 -0
  170. package/internal/RevealToggle.d.ts.map +1 -0
  171. package/internal/RevealToggle.js +32 -0
  172. package/internal/RevealToggle.js.map +1 -0
  173. package/internal/VirtualizedThread.d.ts +7 -1
  174. package/internal/VirtualizedThread.d.ts.map +1 -1
  175. package/internal/VirtualizedThread.js +7 -3
  176. package/internal/VirtualizedThread.js.map +1 -1
  177. package/internal/useAutoDisclosure.d.ts +34 -0
  178. package/internal/useAutoDisclosure.d.ts.map +1 -0
  179. package/internal/useAutoDisclosure.js +53 -0
  180. package/internal/useAutoDisclosure.js.map +1 -0
  181. package/internal/useElapsedSince.d.ts +30 -0
  182. package/internal/useElapsedSince.d.ts.map +1 -0
  183. package/internal/useElapsedSince.js +70 -0
  184. package/internal/useElapsedSince.js.map +1 -0
  185. package/internal/useIsOverflowing.d.ts +30 -0
  186. package/internal/useIsOverflowing.d.ts.map +1 -0
  187. package/internal/useIsOverflowing.js +47 -0
  188. package/internal/useIsOverflowing.js.map +1 -0
  189. package/internal/useIsTextTruncated.d.ts +24 -0
  190. package/internal/useIsTextTruncated.d.ts.map +1 -0
  191. package/internal/useIsTextTruncated.js +41 -0
  192. package/internal/useIsTextTruncated.js.map +1 -0
  193. package/internal/useKeyedSubmission.d.ts +49 -0
  194. package/internal/useKeyedSubmission.d.ts.map +1 -0
  195. package/internal/useKeyedSubmission.js +67 -0
  196. package/internal/useKeyedSubmission.js.map +1 -0
  197. package/package.json +4 -4
  198. package/session/SessionViewer.d.ts +2 -2
  199. package/session/SessionViewer.d.ts.map +1 -1
  200. package/session/SessionViewer.js +10 -4
  201. package/session/SessionViewer.js.map +1 -1
  202. package/session/index.d.ts +2 -0
  203. package/session/index.d.ts.map +1 -1
  204. package/session/index.js +1 -0
  205. package/session/index.js.map +1 -1
  206. package/session/inspector/ChangesTab.d.ts +8 -5
  207. package/session/inspector/ChangesTab.d.ts.map +1 -1
  208. package/session/inspector/ChangesTab.js +11 -8
  209. package/session/inspector/ChangesTab.js.map +1 -1
  210. package/session/inspector/SessionInspector.d.ts +4 -4
  211. package/session/inspector/SessionInspector.d.ts.map +1 -1
  212. package/session/inspector/SessionInspector.js +4 -4
  213. package/session/inspector/SessionInspector.js.map +1 -1
  214. package/session/inspector/index.d.ts +0 -2
  215. package/session/inspector/index.d.ts.map +1 -1
  216. package/session/inspector/index.js +0 -1
  217. package/session/inspector/index.js.map +1 -1
  218. package/session/inspector/useSessionInspector.d.ts +8 -4
  219. package/session/inspector/useSessionInspector.d.ts.map +1 -1
  220. package/session/inspector/useSessionInspector.js +27 -20
  221. package/session/inspector/useSessionInspector.js.map +1 -1
  222. package/session/useSessionConversation.d.ts +37 -3
  223. package/session/useSessionConversation.d.ts.map +1 -1
  224. package/session/useSessionConversation.js +18 -2
  225. package/session/useSessionConversation.js.map +1 -1
  226. package/session/useSessionFileChanges.d.ts +74 -0
  227. package/session/useSessionFileChanges.d.ts.map +1 -0
  228. package/session/useSessionFileChanges.js +178 -0
  229. package/session/useSessionFileChanges.js.map +1 -0
  230. package/src/__tests__/styles-border-layer-invariant.test.ts +105 -0
  231. package/src/execution/ApprovalCard.tsx +368 -230
  232. package/src/execution/ApprovalContext.ts +109 -0
  233. package/src/execution/ArtifactCard.tsx +10 -6
  234. package/src/execution/ArtifactPreviewModal.tsx +12 -6
  235. package/src/execution/EmptyChangeNotice.tsx +62 -0
  236. package/src/execution/FileChangesView.tsx +383 -0
  237. package/src/execution/FilePathLink.tsx +65 -12
  238. package/src/execution/FileReviewCard.tsx +1118 -0
  239. package/src/execution/FileReviewContext.ts +53 -0
  240. package/src/execution/FileReviewDock.tsx +157 -0
  241. package/src/execution/McpToolDetail.tsx +98 -32
  242. package/src/execution/MessageThread.tsx +374 -9
  243. package/src/execution/PlanArtifactCard.tsx +9 -6
  244. package/src/execution/PlanCompletionCard.tsx +1 -1
  245. package/src/execution/ResultView.tsx +333 -162
  246. package/src/execution/SubAgentSection.tsx +58 -11
  247. package/src/execution/TerminalSession.tsx +91 -0
  248. package/src/execution/TodoCard.tsx +186 -0
  249. package/src/execution/ToolArgsView.tsx +28 -17
  250. package/src/execution/ToolCallDetail.tsx +137 -26
  251. package/src/execution/ToolCallGroup.tsx +68 -296
  252. package/src/execution/ToolCallItem.tsx +265 -67
  253. package/src/execution/ToolRunGroup.tsx +302 -0
  254. package/src/execution/__tests__/ApprovalCard.test.tsx +395 -5
  255. package/src/execution/__tests__/ArtifactPreviewModal.test.tsx +0 -1
  256. package/src/execution/__tests__/EmptyChangeNotice.test.tsx +24 -0
  257. package/src/execution/__tests__/FileChangesView.test.tsx +296 -0
  258. package/src/execution/__tests__/FilePathLink.test.tsx +92 -0
  259. package/src/execution/__tests__/FileReviewCard.test.tsx +1044 -0
  260. package/src/execution/__tests__/FileReviewDock.test.tsx +134 -0
  261. package/src/execution/__tests__/McpToolDetail.test.tsx +79 -0
  262. package/src/execution/__tests__/MessageThread.test.tsx +324 -0
  263. package/src/execution/__tests__/PlanArtifactCard.test.tsx +37 -16
  264. package/src/execution/__tests__/ResultView.test.tsx +280 -2
  265. package/src/execution/__tests__/SubAgentSection.test.tsx +180 -0
  266. package/src/execution/__tests__/TerminalSession.test.tsx +72 -0
  267. package/src/execution/__tests__/TodoCard.test.tsx +102 -0
  268. package/src/execution/__tests__/ToolArgsView.test.tsx +48 -0
  269. package/src/execution/__tests__/ToolCallDetail.test.tsx +195 -0
  270. package/src/execution/__tests__/ToolCallGroup.test.tsx +132 -0
  271. package/src/execution/__tests__/ToolCallItem.test.tsx +521 -0
  272. package/src/execution/__tests__/ToolRunGroup.test.tsx +137 -0
  273. package/src/execution/__tests__/blanked-narration.test.tsx +149 -0
  274. package/src/execution/__tests__/buildThreadItems-approvals.test.ts +304 -0
  275. package/src/execution/__tests__/buildThreadItems-file-review.test.ts +331 -0
  276. package/src/execution/__tests__/file-path-resolver.test.ts +44 -0
  277. package/src/execution/__tests__/file-review-status.test.ts +343 -0
  278. package/src/execution/__tests__/segment-tool-calls.test.ts +124 -0
  279. package/src/execution/__tests__/subagent-file-review-badge.test.tsx +273 -0
  280. package/src/execution/__tests__/thread-keys.test.ts +195 -0
  281. package/src/execution/__tests__/tool-presenter.test.tsx +95 -0
  282. package/src/execution/__tests__/useArtifactDownload.test.tsx +67 -0
  283. package/src/execution/__tests__/useArtifactDownloadUrl.test.tsx +51 -0
  284. package/src/execution/__tests__/useFileChangeContent.test.tsx +240 -0
  285. package/src/execution/__tests__/useFileReview.test.tsx +236 -0
  286. package/src/execution/__tests__/useSubmitApproval.test.tsx +165 -0
  287. package/src/execution/__tests__/useToolOutputContent.test.tsx +82 -0
  288. package/src/execution/approval-provenance.ts +8 -0
  289. package/src/execution/artifact-utils.ts +0 -18
  290. package/src/execution/execution-phases.ts +4 -16
  291. package/src/execution/file-path-resolver.ts +38 -0
  292. package/src/execution/file-review-status.ts +219 -0
  293. package/src/execution/index.ts +84 -4
  294. package/src/execution/segment-tool-calls.ts +101 -0
  295. package/src/execution/tool-categories.ts +128 -1
  296. package/src/execution/tool-presenter.ts +58 -3
  297. package/src/execution/tool-rendering-primitives.tsx +11 -14
  298. package/src/execution/useArtifactDownload.ts +109 -0
  299. package/src/execution/useArtifactDownloadUrl.ts +116 -0
  300. package/src/execution/useFileChangeContent.ts +149 -0
  301. package/src/execution/useFileReview.ts +197 -0
  302. package/src/execution/useSubmitApproval.ts +49 -27
  303. package/src/execution/useToolOutputContent.ts +70 -0
  304. package/src/index.ts +60 -1
  305. package/src/internal/ApprovalPeekBar.tsx +73 -0
  306. package/src/internal/BoundedContent.tsx +97 -0
  307. package/src/internal/DecisionButton.tsx +127 -0
  308. package/src/internal/InCardDecisionError.tsx +47 -0
  309. package/src/internal/RevealToggle.tsx +91 -0
  310. package/src/internal/VirtualizedThread.tsx +28 -2
  311. package/src/internal/__tests__/ApprovalPeekBar.test.tsx +34 -0
  312. package/src/internal/__tests__/BoundedContent.test.tsx +92 -0
  313. package/src/internal/__tests__/DecisionButton.test.tsx +107 -0
  314. package/src/internal/__tests__/RevealToggle.test.tsx +61 -0
  315. package/src/internal/__tests__/useAutoDisclosure.test.ts +74 -0
  316. package/src/internal/__tests__/useElapsedSince.test.tsx +68 -0
  317. package/src/internal/__tests__/useIsOverflowing.test.ts +36 -0
  318. package/src/internal/__tests__/useKeyedSubmission.test.tsx +126 -0
  319. package/src/internal/useAutoDisclosure.ts +58 -0
  320. package/src/internal/useElapsedSince.ts +72 -0
  321. package/src/internal/useIsOverflowing.ts +61 -0
  322. package/src/internal/useIsTextTruncated.ts +55 -0
  323. package/src/internal/useKeyedSubmission.ts +101 -0
  324. package/src/session/SessionViewer.tsx +21 -4
  325. package/src/session/__tests__/SessionViewer-fileReviewDock.test.tsx +198 -0
  326. package/src/session/__tests__/audienceWiring.test.tsx +4 -0
  327. package/src/session/__tests__/useSessionFileChanges.test.ts +303 -0
  328. package/src/session/index.ts +3 -0
  329. package/src/session/inspector/ChangesTab.tsx +20 -17
  330. package/src/session/inspector/SessionInspector.tsx +12 -10
  331. package/src/session/inspector/__tests__/ArtifactsTab.test.tsx +0 -1
  332. package/src/session/inspector/__tests__/ChangesTab.test.tsx +38 -0
  333. package/src/session/inspector/__tests__/useSessionInspector.test.ts +46 -61
  334. package/src/session/inspector/index.ts +0 -3
  335. package/src/session/inspector/useSessionInspector.ts +27 -20
  336. package/src/session/useSessionConversation.ts +80 -3
  337. package/src/session/useSessionFileChanges.ts +207 -0
  338. package/src/styles.css +35 -10
  339. package/src/version-history/DiffViewer.tsx +10 -7
  340. package/src/version-history/UnifiedDiffView.tsx +66 -0
  341. package/src/version-history/__tests__/DiffViewer.test.tsx +57 -0
  342. package/src/version-history/__tests__/UnifiedDiffView.test.tsx +50 -0
  343. package/src/version-history/__tests__/computeDiff.test.ts +35 -0
  344. package/src/version-history/__tests__/parseUnifiedDiff.test.ts +82 -0
  345. package/src/version-history/computeDiff.ts +6 -37
  346. package/src/version-history/diff-hunks.ts +63 -0
  347. package/src/version-history/index.ts +1 -0
  348. package/src/version-history/parseUnifiedDiff.ts +34 -0
  349. package/src/workflow/WorkflowExecutionApprovalCard.tsx +49 -24
  350. package/src/workflow/WorkflowExecutionTimeline.tsx +15 -4
  351. package/src/workflow/WorkflowExecutionTimelineEvent.tsx +8 -3
  352. package/src/workflow/WorkflowExecutionViewer.tsx +72 -28
  353. package/src/workflow/WorkflowFileReviewList.tsx +152 -0
  354. package/src/workflow/WorkflowTaskApprovalCard.tsx +37 -85
  355. package/src/workflow/__tests__/ExecutionInspector.test.tsx +30 -2
  356. package/src/workflow/__tests__/WorkflowExecutionApprovalCard.test.tsx +129 -0
  357. package/src/workflow/__tests__/WorkflowFileReviewList.test.tsx +129 -0
  358. package/src/workflow/__tests__/WorkflowTaskApprovalCard.test.tsx +43 -11
  359. package/src/workflow/__tests__/useWorkflowExecutionActions.test.tsx +276 -0
  360. package/src/workflow/execution-inspector/ExecutionInspector.tsx +42 -18
  361. package/src/workflow/index.ts +5 -0
  362. package/src/workflow/useWorkflowExecutionActions.ts +177 -29
  363. package/styles.css +1 -1
  364. package/version-history/DiffViewer.d.ts.map +1 -1
  365. package/version-history/DiffViewer.js +9 -3
  366. package/version-history/DiffViewer.js.map +1 -1
  367. package/version-history/UnifiedDiffView.d.ts +29 -0
  368. package/version-history/UnifiedDiffView.d.ts.map +1 -0
  369. package/version-history/UnifiedDiffView.js +36 -0
  370. package/version-history/UnifiedDiffView.js.map +1 -0
  371. package/version-history/computeDiff.d.ts +3 -1
  372. package/version-history/computeDiff.d.ts.map +1 -1
  373. package/version-history/computeDiff.js +5 -35
  374. package/version-history/computeDiff.js.map +1 -1
  375. package/version-history/diff-hunks.d.ts +21 -0
  376. package/version-history/diff-hunks.d.ts.map +1 -0
  377. package/version-history/diff-hunks.js +58 -0
  378. package/version-history/diff-hunks.js.map +1 -0
  379. package/version-history/index.d.ts +1 -0
  380. package/version-history/index.d.ts.map +1 -1
  381. package/version-history/index.js +1 -0
  382. package/version-history/index.js.map +1 -1
  383. package/version-history/parseUnifiedDiff.d.ts +22 -0
  384. package/version-history/parseUnifiedDiff.d.ts.map +1 -0
  385. package/version-history/parseUnifiedDiff.js +34 -0
  386. package/version-history/parseUnifiedDiff.js.map +1 -0
  387. package/workflow/WorkflowExecutionApprovalCard.d.ts +8 -1
  388. package/workflow/WorkflowExecutionApprovalCard.d.ts.map +1 -1
  389. package/workflow/WorkflowExecutionApprovalCard.js +17 -3
  390. package/workflow/WorkflowExecutionApprovalCard.js.map +1 -1
  391. package/workflow/WorkflowExecutionTimeline.d.ts +11 -2
  392. package/workflow/WorkflowExecutionTimeline.d.ts.map +1 -1
  393. package/workflow/WorkflowExecutionTimeline.js +2 -2
  394. package/workflow/WorkflowExecutionTimeline.js.map +1 -1
  395. package/workflow/WorkflowExecutionTimelineEvent.d.ts +4 -1
  396. package/workflow/WorkflowExecutionTimelineEvent.d.ts.map +1 -1
  397. package/workflow/WorkflowExecutionTimelineEvent.js +2 -2
  398. package/workflow/WorkflowExecutionTimelineEvent.js.map +1 -1
  399. package/workflow/WorkflowExecutionViewer.d.ts.map +1 -1
  400. package/workflow/WorkflowExecutionViewer.js +18 -10
  401. package/workflow/WorkflowExecutionViewer.js.map +1 -1
  402. package/workflow/WorkflowFileReviewList.d.ts +46 -0
  403. package/workflow/WorkflowFileReviewList.d.ts.map +1 -0
  404. package/workflow/WorkflowFileReviewList.js +48 -0
  405. package/workflow/WorkflowFileReviewList.js.map +1 -0
  406. package/workflow/WorkflowTaskApprovalCard.d.ts +8 -1
  407. package/workflow/WorkflowTaskApprovalCard.d.ts.map +1 -1
  408. package/workflow/WorkflowTaskApprovalCard.js +12 -19
  409. package/workflow/WorkflowTaskApprovalCard.js.map +1 -1
  410. package/workflow/execution-inspector/ExecutionInspector.d.ts +21 -4
  411. package/workflow/execution-inspector/ExecutionInspector.d.ts.map +1 -1
  412. package/workflow/execution-inspector/ExecutionInspector.js +6 -3
  413. package/workflow/execution-inspector/ExecutionInspector.js.map +1 -1
  414. package/workflow/index.d.ts +1 -0
  415. package/workflow/index.d.ts.map +1 -1
  416. package/workflow/index.js +1 -0
  417. package/workflow/index.js.map +1 -1
  418. package/workflow/useWorkflowExecutionActions.d.ts +62 -4
  419. package/workflow/useWorkflowExecutionActions.d.ts.map +1 -1
  420. package/workflow/useWorkflowExecutionActions.js +94 -18
  421. package/workflow/useWorkflowExecutionActions.js.map +1 -1
  422. package/session/inspector/PlanTab.d.ts +0 -15
  423. package/session/inspector/PlanTab.d.ts.map +0 -1
  424. package/session/inspector/PlanTab.js +0 -19
  425. package/session/inspector/PlanTab.js.map +0 -1
  426. package/src/session/inspector/PlanTab.tsx +0 -31
@@ -3,6 +3,24 @@ import type { ToolResultView } from "@stigmer/sdk";
3
3
  export interface ResultViewProps {
4
4
  /** The normalized result view to render. */
5
5
  readonly view: ToolResultView;
6
+ /**
7
+ * Whether the file/diff variants render the filename header. Defaults to
8
+ * `true`. Set to `false` where an ancestor already names the file (a tool-call
9
+ * row whose header shows the path) so the body is not captioned with a path
10
+ * the user just read; the `+N -M` stats still render.
11
+ */
12
+ readonly showFileName?: boolean;
13
+ /**
14
+ * Whether the result body renders its headline summary stat — the diff's
15
+ * `+N -M`, or a search/list's `N files` / `N matches` / `N items` count.
16
+ * Defaults to `true`. Set to `false` where an ancestor row already shows the
17
+ * summary (a tool-call row that renders `summarizeResultView`) so the body does
18
+ * not repeat the count the user just read. A search/list still surfaces a
19
+ * truncation note when suppressed, since that is information the row header does
20
+ * not carry. Orthogonal to {@link showFileName}: the approval gate suppresses
21
+ * the name but keeps the stats.
22
+ */
23
+ readonly showStats?: boolean;
6
24
  /** Additional CSS class names for the root container. */
7
25
  readonly className?: string;
8
26
  }
@@ -14,7 +32,7 @@ export interface ResultViewProps {
14
32
  * this component renders it. Importable on its own by platform builders who
15
33
  * compose custom tool UIs.
16
34
  */
17
- export declare function ResultView({ view, className }: ResultViewProps): import("react/jsx-runtime").JSX.Element | null;
35
+ export declare function ResultView({ view, showFileName, showStats, className }: ResultViewProps): import("react/jsx-runtime").JSX.Element | null;
18
36
  /**
19
37
  * Returns a compact one-line summary fragment for a result view, suitable for a
20
38
  * collapsed tool row (e.g. "+40 -0", "exit 1", "2 matches"). Returns null when
@@ -1 +1 @@
1
- {"version":3,"file":"ResultView.d.ts","sourceRoot":"","sources":["../../src/execution/ResultView.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,cAAc,CAAC;AAQtB,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,eAAe,kDAyB9D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAevE"}
1
+ {"version":3,"file":"ResultView.d.ts","sourceRoot":"","sources":["../../src/execution/ResultView.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,cAAc,CAAC;AAetB,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;;;OASG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,YAAmB,EAAE,SAAgB,EAAE,SAAS,EAAE,EAAE,eAAe,kDAyBrG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAevE"}
@@ -1,15 +1,22 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  // Renders a normalized ToolResultView (from @stigmer/sdk) with a semantic view
4
4
  // per result type — diffs, terminals, search lists, file content, MCP content
5
5
  // blocks — instead of a raw JSON dump. The json/text variants are the graceful
6
6
  // fallbacks, so unknown tools are still readable.
7
- import { useMemo } from "react";
7
+ import { useMemo, useState } from "react";
8
8
  import { cn } from "@stigmer/theme";
9
9
  import { computeDiff } from "../version-history/computeDiff";
10
+ import { DiffViewer } from "../version-history/DiffViewer";
11
+ import { UnifiedDiffView } from "../version-history/UnifiedDiffView";
10
12
  import { CollapsibleCode, CollapsiblePre, formatJson } from "./tool-rendering-primitives";
11
13
  import { FilePathLink } from "./FilePathLink";
12
- import { useSandboxNormalize } from "./SandboxContext";
14
+ import { EmptyChangeNotice } from "./EmptyChangeNotice";
15
+ import { TerminalSession } from "./TerminalSession";
16
+ import { execIdFromStorageKey } from "./useFileChangeContent";
17
+ import { useArtifactDownloadUrl } from "./useArtifactDownloadUrl";
18
+ import { useArtifactDownload } from "./useArtifactDownload";
19
+ import { useToolOutputContent } from "./useToolOutputContent";
13
20
  /**
14
21
  * Renders a {@link ToolResultView} with a type-appropriate treatment.
15
22
  *
@@ -18,18 +25,18 @@ import { useSandboxNormalize } from "./SandboxContext";
18
25
  * this component renders it. Importable on its own by platform builders who
19
26
  * compose custom tool UIs.
20
27
  */
21
- export function ResultView({ view, className }) {
28
+ export function ResultView({ view, showFileName = true, showStats = true, className }) {
22
29
  switch (view.type) {
23
30
  case "diff":
24
- return _jsx(DiffResultView, { view: view, className: className });
31
+ return _jsx(DiffResultView, { view: view, showFileName: showFileName, showStats: showStats, className: className });
25
32
  case "terminal":
26
33
  return _jsx(TerminalResultView, { view: view, className: className });
27
34
  case "search":
28
- return _jsx(SearchResultView, { matches: view.matches, count: view.count, className: className });
35
+ return _jsx(SearchResultView, { view: view, showCount: showStats, className: className });
29
36
  case "list":
30
- return _jsx(ListResultView, { entries: view.entries, count: view.count, className: className });
37
+ return _jsx(ListResultView, { entries: view.entries, count: view.count, showCount: showStats, className: className });
31
38
  case "file":
32
- return _jsx(FileResultView, { view: view, className: className });
39
+ return _jsx(FileResultView, { view: view, showFileName: showFileName, className: className });
33
40
  case "contentBlocks":
34
41
  return _jsx(ContentBlocksResultView, { blocks: view.blocks, className: className });
35
42
  case "outputRef":
@@ -58,7 +65,7 @@ export function summarizeResultView(view) {
58
65
  case "terminal":
59
66
  return view.exitCode !== undefined && view.exitCode !== 0 ? `exit ${view.exitCode}` : null;
60
67
  case "search":
61
- return `${view.count} ${view.count === 1 ? "match" : "matches"}`;
68
+ return searchCountLabel(view.count, view.kind);
62
69
  case "list":
63
70
  return `${view.count} ${view.count === 1 ? "item" : "items"}`;
64
71
  default:
@@ -90,7 +97,7 @@ function diffStats(view) {
90
97
  }
91
98
  return null;
92
99
  }
93
- function DiffResultView({ view, className }) {
100
+ function DiffResultView({ view, showFileName = true, showStats = true, className, }) {
94
101
  // The native engine returns no diff, so we compute hunks from args (old/new).
95
102
  // The Cursor envelope provides a ready unified-diff string we render directly.
96
103
  const hunks = useMemo(() => {
@@ -106,41 +113,108 @@ function DiffResultView({ view, className }) {
106
113
  }
107
114
  return hunks.length > 0 ? countHunks(hunks) : null;
108
115
  }, [view.linesAdded, view.linesRemoved, hunks]);
109
- return (_jsxs("div", { className: cn("space-y-1", className), children: [_jsxs("div", { className: "flex items-center gap-2 text-muted-foreground", children: [view.path && _jsx(FilePathLink, { path: view.path, className: "text-xs" }), stats && (_jsxs("span", { className: "shrink-0 tabular-nums text-xs", children: [_jsxs("span", { className: "text-success", children: ["+", stats.added] }), " ", _jsxs("span", { className: "text-destructive", children: ["-", stats.removed] })] }))] }), hunks.length > 0 ? (_jsx(DiffHunks, { hunks: hunks })) : view.unifiedDiff ? (_jsx(UnifiedDiffText, { patch: view.unifiedDiff })) : null] }));
116
+ const showPath = showFileName && Boolean(view.path);
117
+ const showStatsRow = showStats && stats != null;
118
+ // One diff family across every surface: computed hunks render through the
119
+ // canonical, accessible DiffViewer (line numbers + --stgm-diff-* tokens); a
120
+ // ready hunk-only patch (Cursor envelope) is parsed into the same DiffViewer
121
+ // table by UnifiedDiffView (raw fallback only if unparseable). The header
122
+ // (path + ± stats) is this view's own, so the DiffViewer is used without its
123
+ // filePath header to avoid a duplicate path.
124
+ return (_jsxs("div", { className: cn("space-y-1", className), "data-cursor-target": "file-diff", children: [(showPath || showStatsRow) && (_jsxs("div", { className: "flex items-center gap-2 text-muted-foreground", children: [showPath && (_jsx(FilePathLink, { path: view.path, dirDisplay: "dim", className: "text-xs" })), showStatsRow && stats && (_jsxs("span", { className: "shrink-0 tabular-nums text-xs", children: [_jsxs("span", { className: "text-diff-added-fg", children: ["+", stats.added] }), " ", _jsxs("span", { className: "text-diff-removed-fg", children: ["-", stats.removed] })] }))] })), hunks.length > 0 ? (_jsx(DiffViewer, { hunks: hunks })) : view.unifiedDiff ? (_jsx(UnifiedDiffView, { patch: view.unifiedDiff })) : (_jsx(EmptyChangeNotice, { kind: "no-preview" }))] }));
110
125
  }
111
- function DiffHunks({ hunks }) {
112
- return (_jsx("div", { className: "overflow-auto rounded-md border border-border bg-muted-subtle font-mono text-xs", children: hunks.map((hunk, hi) => (_jsx("div", { className: "border-b border-border-muted last:border-b-0", children: hunk.lines.map((line, li) => (_jsxs("div", { className: cn("whitespace-pre-wrap break-words px-2 py-0.5", line.type === "added" && "bg-success-subtle text-success", line.type === "removed" && "bg-destructive-subtle text-destructive", line.type === "context" && "text-muted-foreground"), children: [line.type !== "context" && (_jsx("span", { className: "sr-only", children: line.type === "added" ? "Added: " : "Removed: " })), _jsx("span", { className: "select-none", "aria-hidden": "true", children: line.type === "added" ? "+" : line.type === "removed" ? "-" : " " }), line.content] }, li))) }, hi))) }));
126
+ // A shell result IS a terminal session: the command prompt line plus its
127
+ // output, rendered as one block by the shared TerminalSession (no separate
128
+ // "Output" caption or command box).
129
+ function TerminalResultView({ view, className }) {
130
+ return (_jsx(TerminalSession, { command: view.command, stdout: view.stdout, stderr: view.stderr, exitCode: view.exitCode, className: className }));
113
131
  }
114
- // Renders a raw unified-diff patch string (Cursor envelope) with +/- coloring.
115
- function UnifiedDiffText({ patch }) {
116
- const lines = patch.split("\n");
117
- return (_jsx("pre", { className: "max-h-80 overflow-auto whitespace-pre-wrap break-words rounded-md border border-border bg-muted-subtle p-2 font-mono text-xs", children: lines.map((line, i) => (_jsx("div", { className: cn(line.startsWith("+") && !line.startsWith("+++") && "text-success", line.startsWith("-") && !line.startsWith("---") && "text-destructive", line.startsWith("@@") && "text-primary"), children: line || " " }, i))) }));
132
+ /** "N files" / "N matches" the noun follows the search subtype. */
133
+ function searchCountLabel(count, kind) {
134
+ if (kind === "files") {
135
+ return `${count} ${count === 1 ? "file" : "files"}`;
136
+ }
137
+ return `${count} ${count === 1 ? "match" : "matches"}`;
118
138
  }
119
- function TerminalResultView({ view, className }) {
120
- const normalize = useSandboxNormalize();
121
- const failed = view.exitCode !== undefined && view.exitCode !== 0;
122
- return (_jsxs("div", { className: cn("space-y-1", className), children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium text-muted-foreground", children: "Output" }), view.exitCode !== undefined && (_jsxs("span", { className: cn("rounded px-1 py-0.5 text-[10px] font-medium leading-none tabular-nums", failed ? "bg-destructive-subtle text-destructive" : "bg-success-subtle text-success"), children: ["exit ", view.exitCode] }))] }), _jsxs("div", { className: "rounded-md border border-border bg-[var(--stgm-terminal-bg,#1a1a2e)] p-2.5", children: [view.stdout && (_jsx(CollapsiblePre, { content: normalize(view.stdout), className: "text-[var(--stgm-terminal-fg,#e0e0e0)]" })), view.stderr && (_jsx(CollapsiblePre, { content: normalize(view.stderr), className: "text-destructive" }))] })] }));
123
- }
124
- // ---------------------------------------------------------------------------
125
- // Search / List
126
- // ---------------------------------------------------------------------------
127
- function SearchResultView({ matches, count, className, }) {
128
- if (count === 0) {
129
- return _jsx("p", { className: cn("text-xs text-muted-foreground", className), children: "No matches" });
139
+ /**
140
+ * Renders a search result with a subtype-aware treatment.
141
+ *
142
+ * - **File-name search** (`kind: "files"` glob / file_search): the matches are
143
+ * paths, rendered as a clickable {@link FilePathLink} list (filename-first,
144
+ * full path on hover, opens on GitHub or copies locally).
145
+ * - **Content search** (`kind: "content"` — grep): the matches are lines,
146
+ * grouped under their file with `line: text` rows; matches with no file
147
+ * association (the native grep shape) render as a flat monospace list.
148
+ *
149
+ * The count header uses the engine's authoritative `count` (which can exceed the
150
+ * returned matches when `truncated`), and a "showing first N" note makes a
151
+ * capped result honest instead of silently partial. Empty results name the
152
+ * subtype ("No files found" vs "No matches") — the query lives in the owning row
153
+ * header, so it is not restated here.
154
+ */
155
+ function SearchResultView({ view, showCount = true, className, }) {
156
+ const { matches, count, kind, truncated } = view;
157
+ if (count === 0 && matches.length === 0) {
158
+ return (_jsx("p", { className: cn("text-xs text-muted-foreground", className), children: kind === "files" ? "No files found" : "No matches" }));
159
+ }
160
+ // The owning row header already shows the count (summarizeResultView), so when
161
+ // suppressed the body shows only the truncation note — the one fact the header
162
+ // does not carry. When standalone (showCount), it leads with the full count.
163
+ const header = showCount
164
+ ? `${searchCountLabel(count, kind)}${truncated ? ` \u00b7 showing first ${matches.length}` : ""}`
165
+ : truncated
166
+ ? `Showing first ${matches.length} of ${count}`
167
+ : null;
168
+ return (_jsxs("div", { className: cn("space-y-1", className), children: [header && _jsx("span", { className: "font-medium text-muted-foreground", children: header }), kind === "files" ? (_jsx(SearchFileList, { matches: matches })) : (_jsx(SearchContentMatches, { matches: matches }))] }));
169
+ }
170
+ /** Bounded, scrollable shell shared by both search result treatments. */
171
+ function SearchResultBox({ children }) {
172
+ return (_jsx("div", { className: "max-h-80 overflow-auto rounded-md border border-border bg-muted-subtle text-xs", children: children }));
173
+ }
174
+ /** A clickable list of file-name search hits. */
175
+ function SearchFileList({ matches }) {
176
+ return (_jsx(SearchResultBox, { children: matches.map((m, i) => (_jsx("div", { className: "border-b border-border-muted px-2 py-0.5 last:border-b-0", children: _jsx(FilePathLink, { path: m.file ?? m.text, dirDisplay: "dim", className: "text-xs" }) }, i))) }));
177
+ }
178
+ /** Content (grep) matches, grouped under their file when one is provided. */
179
+ function SearchContentMatches({ matches }) {
180
+ const groups = useMemo(() => groupMatchesByFile(matches), [matches]);
181
+ return (_jsx(SearchResultBox, { children: groups.map((group, gi) => (_jsxs("div", { className: "border-b border-border-muted last:border-b-0", children: [group.file && (_jsx("div", { className: "bg-muted-faint px-2 py-0.5", children: _jsx(FilePathLink, { path: group.file, dirDisplay: "dim", className: "text-xs" }) })), group.matches.map((m, i) => (_jsxs("div", { className: "whitespace-pre-wrap break-words px-2 py-0.5 font-mono text-foreground", children: [m.line !== undefined && (_jsxs("span", { className: "select-none text-muted-foreground-subtle", children: [m.line, ": "] })), m.text] }, i)))] }, gi))) }));
182
+ }
183
+ /**
184
+ * Groups consecutive matches that share a file into one group, preserving order.
185
+ * Matches with no file association fall into their own file-less group so the
186
+ * native grep shape (line text only) still renders as a flat list.
187
+ */
188
+ function groupMatchesByFile(matches) {
189
+ const groups = [];
190
+ for (const m of matches) {
191
+ const last = groups[groups.length - 1];
192
+ if (last && last.file === m.file) {
193
+ last.matches.push(m);
194
+ }
195
+ else {
196
+ groups.push({ file: m.file, matches: [m] });
197
+ }
130
198
  }
131
- return (_jsxs("div", { className: cn("space-y-1", className), children: [_jsxs("span", { className: "font-medium text-muted-foreground", children: [count, " ", count === 1 ? "match" : "matches"] }), _jsx("div", { className: "max-h-80 overflow-auto rounded-md border border-border bg-muted-subtle font-mono text-xs", children: matches.map((m, i) => (_jsxs("div", { className: "whitespace-pre-wrap break-words border-b border-border-muted px-2 py-0.5 text-foreground last:border-b-0", children: [m.file && _jsxs("span", { className: "text-primary", children: [m.file, m.line !== undefined ? `:${m.line}` : "", " "] }), _jsx("span", { className: m.file ? "text-muted-foreground" : "text-foreground", children: m.text })] }, i))) })] }));
199
+ return groups;
132
200
  }
133
- function ListResultView({ entries, count, className, }) {
201
+ function ListResultView({ entries, count, showCount = true, className, }) {
134
202
  if (count === 0) {
135
203
  return _jsx("p", { className: cn("text-xs text-muted-foreground", className), children: "Empty" });
136
204
  }
137
- return (_jsxs("div", { className: cn("space-y-1", className), children: [_jsxs("span", { className: "font-medium text-muted-foreground", children: [count, " ", count === 1 ? "item" : "items"] }), _jsx("div", { className: "max-h-80 overflow-auto rounded-md border border-border bg-muted-subtle font-mono text-xs", children: entries.map((e, i) => (_jsx("div", { className: "truncate px-2 py-0.5 text-foreground", children: e }, i))) })] }));
205
+ return (_jsxs("div", { className: cn("space-y-1", className), children: [showCount && (_jsxs("span", { className: "font-medium text-muted-foreground", children: [count, " ", count === 1 ? "item" : "items"] })), _jsx("div", { className: "max-h-80 overflow-auto rounded-md border border-border bg-muted-subtle font-mono text-xs", children: entries.map((e, i) => (_jsx("div", { className: "truncate px-2 py-0.5 text-foreground", children: e }, i))) })] }));
138
206
  }
139
- function FileResultView({ view, className }) {
207
+ function FileResultView({ view, showFileName = true, className, }) {
140
208
  if (!view.content) {
141
- return view.path ? (_jsx("div", { className: cn("flex items-center gap-1.5 text-xs", className), children: _jsx(FilePathLink, { path: view.path, className: "text-xs" }) })) : null;
209
+ // No body. When the filename is shown elsewhere (showFileName=false), an
210
+ // empty write fallback degrades honestly to a neutral notice rather than a
211
+ // bare, redundant path; otherwise the path itself is the information (a read).
212
+ if (showFileName && view.path) {
213
+ return (_jsx("div", { className: cn("flex items-center gap-1.5 text-xs", className), children: _jsx(FilePathLink, { path: view.path, className: "text-xs" }) }));
214
+ }
215
+ return showFileName ? null : (_jsx(EmptyChangeNotice, { kind: "no-preview", className: className }));
142
216
  }
143
- return (_jsxs("div", { className: cn("space-y-1", className), children: [view.path && _jsx(FilePathLink, { path: view.path, className: "text-xs" }), _jsx(CollapsibleCode, { label: view.truncated ? "Content (truncated)" : "Content", content: view.content })] }));
217
+ return (_jsxs("div", { className: cn("space-y-1", className), children: [showFileName && view.path && (_jsx(FilePathLink, { path: view.path, className: "text-xs" })), _jsx(CollapsibleCode, { label: view.truncated ? "Content (truncated)" : "Content", content: view.content })] }));
144
218
  }
145
219
  function ContentBlocksResultView({ blocks, className, }) {
146
220
  const text = useMemo(() => blocks
@@ -156,16 +230,43 @@ function formatBytes(n) {
156
230
  return `${n} B`;
157
231
  }
158
232
  /**
159
- * Renders a tool result whose bytes were offloaded to artifact storage. Images
160
- * (e.g. computer-use screenshots) render inline as a thumbnail that opens full
161
- * size; other large output shows its inline preview head plus a link to fetch
162
- * the full content. Replaces the old `[image]` placeholder.
233
+ * Renders a tool result whose bytes were offloaded to artifact storage. The
234
+ * bytes are resolved on demand from the stable `storageKey` at view time — the
235
+ * URL once baked into the persisted status expired after an hour, so it is no
236
+ * longer trusted. Images (e.g. computer-use screenshots) render inline via a
237
+ * freshly minted URL; other large output expands its full text in-app, with a
238
+ * download fallback when the server truncates it.
163
239
  */
164
240
  function OutputRefResultView({ view, className }) {
165
241
  if (view.isImage) {
166
- return (_jsx("div", { className: cn("space-y-1", className), children: _jsx("a", { href: view.downloadUrl, target: "_blank", rel: "noreferrer", className: "inline-block focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: _jsx("img", { src: view.downloadUrl, alt: "Tool output screenshot", loading: "lazy", className: "max-h-96 w-auto rounded-md border border-border" }) }) }));
242
+ return _jsx(OutputRefImage, { storageKey: view.storageKey, className: className });
167
243
  }
168
- return (_jsxs("div", { className: cn("space-y-1", className), children: [view.preview && (_jsx(CollapsiblePre, { content: view.preview, className: "text-foreground" })), _jsxs("a", { href: view.downloadUrl, target: "_blank", rel: "noreferrer", className: "inline-block text-xs font-medium text-primary underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: ["View full output", view.sizeBytes ? ` (${formatBytes(view.sizeBytes)})` : ""] })] }));
244
+ return _jsx(OutputRefText, { view: view, className: className });
245
+ }
246
+ /** Offloaded image output, rendered from an always-fresh presigned URL. */
247
+ function OutputRefImage({ storageKey, className }) {
248
+ const executionId = useMemo(() => execIdFromStorageKey(storageKey), [storageKey]);
249
+ const { url, error } = useArtifactDownloadUrl(executionId, storageKey);
250
+ if (error) {
251
+ return _jsx("p", { className: cn("text-xs text-destructive", className), children: "Couldn't load image output." });
252
+ }
253
+ if (!url) {
254
+ return (_jsx("div", { className: cn("h-40 w-64 animate-pulse rounded-md border border-border bg-muted", className), "aria-busy": "true", "aria-label": "Loading image output" }));
255
+ }
256
+ return (_jsx("div", { className: cn("space-y-1", className), children: _jsx("a", { href: url, target: "_blank", rel: "noreferrer", className: "inline-block focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: _jsx("img", { src: url, alt: "Tool output screenshot", loading: "lazy", className: "max-h-96 w-auto rounded-md border border-border" }) }) }));
257
+ }
258
+ /**
259
+ * Offloaded text output. Shows a preview head with a "View full output" toggle
260
+ * that lazily fetches the full content in-app (CORS-safe). If the server
261
+ * truncates it, offers a full download via a freshly minted URL.
262
+ */
263
+ function OutputRefText({ view, className }) {
264
+ const [expanded, setExpanded] = useState(false);
265
+ const executionId = useMemo(() => execIdFromStorageKey(view.storageKey), [view.storageKey]);
266
+ const { content, isLoading, isTruncated, error } = useToolOutputContent({ storageKey: view.storageKey, contentHash: view.contentHash }, expanded);
267
+ const { download, isDownloading } = useArtifactDownload(executionId);
268
+ const sizeSuffix = view.sizeBytes ? ` (${formatBytes(view.sizeBytes)})` : "";
269
+ return (_jsx("div", { className: cn("space-y-1", className), children: !expanded ? (_jsxs(_Fragment, { children: [view.preview && (_jsx(CollapsiblePre, { content: view.preview, className: "text-foreground" })), _jsxs("button", { type: "button", onClick: () => setExpanded(true), className: "inline-block text-xs font-medium text-primary underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: ["View full output", sizeSuffix] })] })) : isLoading ? (_jsx("p", { className: "text-xs text-muted-foreground", children: "Loading full output\u2026" })) : error ? (_jsx("p", { className: "text-xs text-destructive", children: "Couldn't load full output. Try again." })) : content !== null ? (_jsxs("div", { className: "space-y-1", children: [_jsx(CollapsiblePre, { content: content, className: "text-foreground" }), isTruncated && (_jsx("button", { type: "button", onClick: () => download(view.storageKey), disabled: isDownloading, className: "inline-block text-xs font-medium text-primary underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-50", children: isDownloading ? "Preparing download…" : `Output truncated — download full file${sizeSuffix}` }))] })) : null }));
169
270
  }
170
271
  function ErrorResultView({ message, className }) {
171
272
  return (_jsxs("div", { className: cn("space-y-1", className), children: [_jsx("span", { className: "font-medium text-destructive", children: "Error" }), _jsx("pre", { className: "whitespace-pre-wrap break-words rounded-md border border-destructive/20 bg-destructive-subtle p-2 font-mono text-destructive", children: message })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"ResultView.js","sourceRoot":"","sources":["../../src/execution/ResultView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResultView.js","sourceRoot":"","sources":["../../src/execution/ResultView.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SubAgentSection.d.ts","sourceRoot":"","sources":["../../src/execution/SubAgentSection.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kEAAkE,CAAC;AAqB1G,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,eAAe,4DA8C1B,CAAC"}
1
+ {"version":3,"file":"SubAgentSection.d.ts","sourceRoot":"","sources":["../../src/execution/SubAgentSection.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kEAAkE,CAAC;AAwB1G,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,eAAe,4DA8C1B,CAAC"}
@@ -1,12 +1,15 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { memo, useMemo, useState } from "react";
3
+ import { memo, useContext, useMemo } from "react";
4
4
  import { MessageType, SubAgentStatus, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
5
5
  import { useRenderTracer } from "../internal/dev";
6
+ import { useAutoDisclosure } from "../internal/useAutoDisclosure";
7
+ import { useElapsedSince, formatElapsed } from "../internal/useElapsedSince";
6
8
  import { cn } from "@stigmer/theme";
7
9
  import { formatDuration } from "./ToolCallDetail";
8
10
  import { MessageEntry } from "./MessageEntry";
9
11
  import { ToolCallGroup } from "./ToolCallGroup";
12
+ import { ApprovalContext } from "./ApprovalContext";
10
13
  import { isInternalTool } from "./tool-categories";
11
14
  import { useThreadSelection } from "./useThreadSelection";
12
15
  import { TodoList, TodoInProgressIcon, findActiveTodo, todoCompletionSummary, } from "./TodoList";
@@ -61,13 +64,30 @@ export const SubAgentSection = memo(function SubAgentSection({ subAgentExecution
61
64
  return (_jsx(CollapsibleCard, { sub: sub, statusInfo: statusInfo, displayLabel: displayLabel, duration: duration, isFailed: isFailed, threadItems: threadItems, selection: selection, className: cn(selectionClassName, className) }));
62
65
  });
63
66
  function CollapsibleCard({ sub, statusInfo, displayLabel, duration, isFailed, threadItems, selection, className, }) {
64
- const [expanded, setExpanded] = useState(false);
65
- const handleToggle = () => {
66
- setExpanded((v) => !v);
67
- };
68
67
  const hasTodos = sub.todos != null && Object.keys(sub.todos).length > 0;
69
68
  const isRunning = sub.status === SubAgentStatus.SUB_AGENT_IN_PROGRESS;
70
69
  const isCompleted = sub.status === SubAgentStatus.SUB_AGENT_COMPLETED;
70
+ // A gate raised inside this sub-agent must be reachable: a delegated tool
71
+ // can stop the run just like a top-level one. We detect one of this
72
+ // sub-agent's tool calls awaiting approval and auto-open so its inline
73
+ // approval (rendered by the nested ToolCallItem) is visible without a click.
74
+ const { approvalsByToolCallId } = useContext(ApprovalContext);
75
+ const hasPendingApprovalInside = useMemo(() => {
76
+ if (approvalsByToolCallId.size === 0)
77
+ return false;
78
+ for (const msg of sub.messages) {
79
+ if (msg.type !== MessageType.MESSAGE_AI)
80
+ continue;
81
+ for (const tc of msg.toolCalls) {
82
+ if (tc.id && approvalsByToolCallId.has(tc.id))
83
+ return true;
84
+ }
85
+ }
86
+ return false;
87
+ }, [sub.messages, approvalsByToolCallId]);
88
+ // Open while running or while a nested gate waits; settle closed (keeping the
89
+ // todo/summary preview) when done — unless the user takes manual control.
90
+ const [expanded, handleToggle] = useAutoDisclosure(isRunning || hasPendingApprovalInside);
71
91
  const activeTodo = useMemo(() => findActiveTodo(sub.todos), [sub.todos]);
72
92
  const completionLabel = useMemo(() => (isCompleted && hasTodos ? todoCompletionSummary(sub.todos) : null), [sub.todos, isCompleted, hasTodos]);
73
93
  const collapsedPreview = isRunning && activeTodo
@@ -76,11 +96,30 @@ function CollapsibleCard({ sub, statusInfo, displayLabel, duration, isFailed, th
76
96
  ? completionLabel
77
97
  : null;
78
98
  const ariaLabel = `Sub-agent: ${displayLabel}, ${statusInfo.label}`;
79
- return (_jsxs("div", { role: "group", "aria-label": ariaLabel, className: cn("rounded-md border border-border border-l-2 border-l-primary/30 bg-muted-faint", className), children: [_jsxs("button", { type: "button", "aria-expanded": expanded, onClick: handleToggle, className: cn("flex w-full items-center gap-2 px-2.5 py-1.5 text-left text-xs text-muted-foreground transition-colors", "hover:bg-muted-subtle", "cursor-pointer"), children: [_jsx("span", { className: "shrink-0 text-primary-muted", "aria-hidden": "true", children: _jsx(BotIcon, {}) }), _jsx("span", { className: "min-w-0 flex-1 truncate", children: displayLabel }), isRunning && (_jsx("span", { className: "shrink-0 text-muted-foreground", "aria-hidden": "true", children: _jsx(SpinnerIcon, {}) })), _jsx("span", { className: cn("shrink-0 rounded px-1 py-0.5 text-[10px] font-medium leading-none", statusInfo.badgeClass), children: statusInfo.label }), duration && (_jsx("span", { className: "shrink-0 tabular-nums text-muted-foreground", children: duration })), selection && (_jsx("button", { type: "button", onClick: (e) => {
99
+ return (_jsxs("div", { role: "group", "aria-label": ariaLabel, className: cn("rounded-md border border-border border-l-2 border-l-primary/30 bg-muted-faint", className), children: [_jsxs("button", { type: "button", "aria-expanded": expanded, onClick: handleToggle, className: cn("flex w-full items-center gap-2 px-2.5 py-1.5 text-left text-xs text-muted-foreground transition-colors", "hover:bg-muted-subtle", "cursor-pointer"), children: [_jsx("span", { className: "shrink-0 text-primary-muted", "aria-hidden": "true", children: _jsx(BotIcon, {}) }), _jsx("span", { className: "min-w-0 flex-1 truncate", children: displayLabel }), isRunning && (_jsx("span", { className: "shrink-0 text-muted-foreground", "aria-hidden": "true", children: _jsx(SpinnerIcon, {}) })), _jsx("span", { className: cn("shrink-0 rounded px-1 py-0.5 text-[10px] font-medium leading-none", statusInfo.badgeClass), children: statusInfo.label }), isRunning ? (_jsx(RunningDuration, { startedAt: sub.startedAt })) : (duration && (_jsx("span", { className: "shrink-0 tabular-nums text-muted-foreground", children: duration }))), selection && (_jsx("button", { type: "button", onClick: (e) => {
80
100
  e.stopPropagation();
81
101
  selection.select();
82
102
  }, className: cn("shrink-0 rounded p-0.5 text-muted-foreground hover:text-foreground hover:bg-muted transition-colors", selection.isSelected && "text-primary"), "aria-label": "Inspect sub-agent", "aria-pressed": selection.isSelected, children: _jsx(SubAgentInspectIcon, {}) })), _jsx(ChevronIcon, { expanded: expanded })] }), collapsedPreview && !expanded && (_jsxs("div", { className: "flex items-center gap-1.5 px-2.5 pb-1.5 text-xs text-muted-foreground", children: [_jsx("span", { className: "ml-[20px] shrink-0", "aria-hidden": "true", children: isRunning && activeTodo ? (_jsx(TodoInProgressIcon, {})) : (_jsx(TodoCompletedSmallIcon, {})) }), _jsx("span", { className: "min-w-0 truncate", children: collapsedPreview })] })), _jsx("div", { className: cn("grid transition-[grid-template-rows] duration-150 ease-out", expanded ? "grid-rows-[1fr]" : "grid-rows-[0fr]"), children: _jsx("div", { className: "overflow-hidden", children: expanded && (_jsx("div", { className: "border-t border-border-muted px-2.5 pb-2 pt-1.5", children: _jsx(SubAgentThreadContent, { threadItems: threadItems, todos: sub.todos, input: sub.input, isFailed: isFailed, error: sub.error }) })) }) })] }));
83
103
  }
104
+ /**
105
+ * Ticking elapsed time for an IN_PROGRESS sub-agent's header, where the
106
+ * static duration (which needs `completedAt`) is still null.
107
+ *
108
+ * This is the honest live affordance for a running sub-agent: the Cursor
109
+ * SDK returns sub-agent internals only as a blob when the task tool
110
+ * completes (verified against SDK 1.0.13 and 1.0.22 — zero events reach the
111
+ * parent stream while the sub-agent runs), so there are no nested tool calls
112
+ * to stream here. A counter that visibly advances tells the user work is
113
+ * progressing without fabricating intermediate state. The native harness
114
+ * streams nested messages as they happen; this counter simply accompanies
115
+ * them.
116
+ */
117
+ function RunningDuration({ startedAt }) {
118
+ const elapsed = useElapsedSince(startedAt);
119
+ if (elapsed === null)
120
+ return null;
121
+ return (_jsx("span", { className: "shrink-0 tabular-nums text-muted-foreground", children: formatElapsed(elapsed) }));
122
+ }
84
123
  function FlatContent({ sub, statusInfo, StatusIcon, duration, isFailed, threadItems, className, }) {
85
124
  return (_jsxs("div", { className: cn("border-l-2 border-primary/20 pl-3", className), children: [_jsxs("div", { className: "flex flex-wrap items-center gap-x-2 gap-y-1 py-1.5 text-xs", children: [_jsx("span", { className: cn("shrink-0", statusInfo.colorClass), "aria-hidden": "true", children: _jsx(StatusIcon, {}) }), _jsx("span", { className: "font-medium text-foreground", children: sub.name }), sub.subject && (_jsx("span", { className: "text-muted-foreground", children: sub.subject })), duration && (_jsx("span", { className: "tabular-nums text-muted-foreground", children: duration }))] }), _jsx(SubAgentThreadContent, { threadItems: threadItems, todos: sub.todos, input: sub.input, isFailed: isFailed, error: sub.error })] }));
86
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SubAgentSection.js","sourceRoot":"","sources":["../../src/execution/SubAgentSection.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubAgentSection.js","sourceRoot":"","sources":["../../src/execution/SubAgentSection.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIlD,OAAO,EACL,WAAW,EACX,cAAc,GACf,MAAM,8DAA8D,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAkBpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,eAAe,CAAC,EAC3D,iBAAiB,EAAE,GAAG,EACtB,WAAW,GAAG,IAAI,EAClB,SAAS,GACY;IACrB,eAAe,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAE3E,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,KAAK,cAAc,CAAC,gBAAgB,CAAC;IAChE,MAAM,WAAW,GAAG,wBAAwB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAE1D,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC;IAE7C,MAAM,kBAAkB,GAAG,SAAS,EAAE,UAAU;QAC9C,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CACL,KAAC,WAAW,IACV,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,GAC5C,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,eAAe,IACd,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,GAC5C,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAiBH,SAAS,eAAe,CAAC,EACvB,GAAG,EACH,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,GACY;IACrB,MAAM,QAAQ,GACZ,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,KAAK,cAAc,CAAC,qBAAqB,CAAC;IACtE,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,KAAK,cAAc,CAAC,mBAAmB,CAAC;IAEtE,0EAA0E;IAC1E,oEAAoE;IACpE,uEAAuE;IACvE,6EAA6E;IAC7E,MAAM,EAAE,qBAAqB,EAAE,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAC9D,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5C,IAAI,qBAAqB,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,UAAU;gBAAE,SAAS;YAClD,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAC/B,IAAI,EAAE,CAAC,EAAE,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBAAE,OAAO,IAAI,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE1C,8EAA8E;IAC9E,0EAA0E;IAC1E,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,iBAAiB,CAChD,SAAS,IAAI,wBAAwB,CACtC,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CAAC,CAAC,WAAW,IAAI,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EACzE,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CACnC,CAAC;IAEF,MAAM,gBAAgB,GACpB,SAAS,IAAI,UAAU;QACrB,CAAC,CAAC,UAAU,CAAC,OAAO;QACpB,CAAC,CAAC,WAAW,IAAI,eAAe;YAC9B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,IAAI,CAAC;IAEb,MAAM,SAAS,GAAG,cAAc,YAAY,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;IAEpE,OAAO,CACL,eACE,IAAI,EAAC,OAAO,gBACA,SAAS,EACrB,SAAS,EAAE,EAAE,CACX,+EAA+E,EAC/E,SAAS,CACV,aAGD,kBACE,IAAI,EAAC,QAAQ,mBACE,QAAQ,EACvB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,EAAE,CACX,wGAAwG,EACxG,uBAAuB,EACvB,gBAAgB,CACjB,aAED,eAAM,SAAS,EAAC,6BAA6B,iBAAa,MAAM,YAC9D,KAAC,OAAO,KAAG,GACN,EACP,eAAM,SAAS,EAAC,yBAAyB,YAAE,YAAY,GAAQ,EAC9D,SAAS,IAAI,CACZ,eAAM,SAAS,EAAC,gCAAgC,iBAAa,MAAM,YACjE,KAAC,WAAW,KAAG,GACV,CACR,EACD,eACE,SAAS,EAAE,EAAE,CACX,mEAAmE,EACnE,UAAU,CAAC,UAAU,CACtB,YAEA,UAAU,CAAC,KAAK,GACZ,EACN,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,eAAe,IAAC,SAAS,EAAE,GAAG,CAAC,SAAS,GAAI,CAC9C,CAAC,CAAC,CAAC,CACF,QAAQ,IAAI,CACV,eAAM,SAAS,EAAC,6CAA6C,YAC1D,QAAQ,GACJ,CACR,CACF,EACA,SAAS,IAAI,CACZ,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;4BACb,CAAC,CAAC,eAAe,EAAE,CAAC;4BACpB,SAAS,CAAC,MAAM,EAAE,CAAC;wBACrB,CAAC,EACD,SAAS,EAAE,EAAE,CACX,qGAAqG,EACrG,SAAS,CAAC,UAAU,IAAI,cAAc,CACvC,gBACU,mBAAmB,kBAChB,SAAS,CAAC,UAAU,YAElC,KAAC,mBAAmB,KAAG,GAChB,CACV,EACD,KAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,GAAI,IAC5B,EAGR,gBAAgB,IAAI,CAAC,QAAQ,IAAI,CAChC,eAAK,SAAS,EAAC,uEAAuE,aACpF,eAAM,SAAS,EAAC,oBAAoB,iBAAa,MAAM,YACpD,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,CACzB,KAAC,kBAAkB,KAAG,CACvB,CAAC,CAAC,CAAC,CACF,KAAC,sBAAsB,KAAG,CAC3B,GACI,EACP,eAAM,SAAS,EAAC,kBAAkB,YAAE,gBAAgB,GAAQ,IACxD,CACP,EAGD,cACE,SAAS,EAAE,EAAE,CACX,4DAA4D,EAC5D,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CACjD,YAED,cAAK,SAAS,EAAC,iBAAiB,YAC7B,QAAQ,IAAI,CACX,cAAK,SAAS,EAAC,iDAAiD,YAC9D,KAAC,qBAAqB,IACpB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,GAAG,CAAC,KAAK,GAChB,GACE,CACP,GACG,GACF,IACF,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,eAAe,CAAC,EAAE,SAAS,EAAkC;IACpE,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAElC,OAAO,CACL,eAAM,SAAS,EAAC,6CAA6C,YAC1D,aAAa,CAAC,OAAO,CAAC,GAClB,CACR,CAAC;AACJ,CAAC;AAgBD,SAAS,WAAW,CAAC,EACnB,GAAG,EACH,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,GACQ;IACjB,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,mCAAmC,EACnC,SAAS,CACV,aAGD,eAAK,SAAS,EAAC,4DAA4D,aACzE,eACE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,iBACpC,MAAM,YAElB,KAAC,UAAU,KAAG,GACT,EACP,eAAM,SAAS,EAAC,6BAA6B,YAC1C,GAAG,CAAC,IAAI,GACJ,EACN,GAAG,CAAC,OAAO,IAAI,CACd,eAAM,SAAS,EAAC,uBAAuB,YACpC,GAAG,CAAC,OAAO,GACP,CACR,EACA,QAAQ,IAAI,CACX,eAAM,SAAS,EAAC,oCAAoC,YACjD,QAAQ,GACJ,CACR,IACG,EAEN,KAAC,qBAAqB,IACpB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,GAAG,CAAC,KAAK,GAChB,IACE,CACP,CAAC;AACJ,CAAC;AAcD,SAAS,qBAAqB,CAAC,EAC7B,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,GACsB;IAC3B,MAAM,QAAQ,GAAG,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAEhE,OAAO,CACL,8BACG,QAAQ,IAAI,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAM,EAAE,SAAS,EAAC,MAAM,GAAG,EAExD,KAAK,IAAI,CACR,cACE,SAAS,EAAC,qGAAqG,YAE9G,KAAK,GACF,CACP,EAEA,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CACzB,cAAK,SAAS,EAAC,0BAA0B,YACtC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;wBAClB,KAAK,SAAS;4BACZ,OAAO,CACL,KAAC,YAAY,IAAgB,OAAO,EAAE,IAAI,CAAC,OAAO,IAA/B,IAAI,CAAC,GAAG,CAA2B,CACvD,CAAC;wBACJ,KAAK,YAAY;4BACf,OAAO,CACL,KAAC,aAAa,IAEZ,SAAS,EAAE,IAAI,CAAC,SAAS,IADpB,IAAI,CAAC,GAAG,CAEb,CACH,CAAC;oBACN,CAAC;gBACH,CAAC,CAAC,GACE,CACP,EAEA,QAAQ,IAAI,KAAK,IAAI,CACpB,cAAK,SAAS,EAAC,oGAAoG,YAChH,KAAK,GACF,CACP,IACA,CACJ,CAAC;AACJ,CAAC;AAUD,SAAS,wBAAwB,CAC/B,UAAkB,EAClB,QAAiC;IAEjC,MAAM,KAAK,GAAyB,EAAE,CAAC;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,YAAY;YAAE,SAAS;QAEpD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,UAAU,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAE1E,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,UAAU,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5E,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,YAAY,CAAC,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;oBACtF,GAAG,EAAE,GAAG,UAAU,KAAK,CAAC,KAAK;iBAC9B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAaD,MAAM,oBAAoB,GAA+C;IACvE,CAAC,cAAc,CAAC,4BAA4B,CAAC,EAAE;QAC7C,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,uBAAuB;QACnC,UAAU,EAAE,gCAAgC;QAC5C,IAAI,EAAE,OAAO;KACd;IACD,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE;QAClC,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,uBAAuB;QACnC,UAAU,EAAE,gCAAgC;QAC5C,IAAI,EAAE,OAAO;KACd;IACD,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE;QACtC,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,0BAA0B;QACtC,IAAI,EAAE,WAAW;KAClB;IACD,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE;QACpC,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,cAAc;QAC1B,UAAU,EAAE,4BAA4B;QACxC,IAAI,EAAE,eAAe;KACtB;IACD,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE;QACjC,KAAK,EAAE,QAAQ;QACf,UAAU,EAAE,kBAAkB;QAC9B,UAAU,EAAE,oCAAoC;QAChD,IAAI,EAAE,WAAW;KAClB;IACD,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE;QACpC,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,uBAAuB;QACnC,UAAU,EAAE,gCAAgC;QAC5C,IAAI,EAAE,WAAW;KAClB;CACF,CAAC;AAEF,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,SAAS,WAAW;IAClB,OAAO,CACL,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,SAAS,EAAC,cAAc,YAExB,eAAM,CAAC,EAAC,4BAA4B,EAAC,aAAa,EAAC,OAAO,GAAG,GACzD,CACP,CAAC;AACJ,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,aAEtB,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,GAAG,EAChC,eAAM,CAAC,EAAC,oBAAoB,GAAG,IAC3B,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,aAEtB,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,GAAG,EAChC,eAAM,CAAC,EAAC,kCAAkC,GAAG,IACzC,CACP,CAAC;AACJ,CAAC;AAED,SAAS,OAAO;IACd,OAAO,CACL,cAAK,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,EAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,cAAc,YAC7D,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,GAAG,GAC5B,CACP,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,CACL,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,YAEtB,eAAM,CAAC,EAAC,sBAAsB,GAAG,GAC7B,CACP,CAAC;AACJ,CAAC;AAED,SAAS,OAAO;IACd,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,aAEtB,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAG,EACjD,eAAM,CAAC,EAAC,4BAA4B,EAAC,WAAW,EAAC,GAAG,GAAG,EACvD,eAAM,CAAC,EAAC,QAAQ,GAAG,EACnB,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,KAAK,EAAC,CAAC,EAAC,GAAG,GAAG,EAChC,eAAM,CAAC,EAAC,wBAAwB,GAAG,IAC/B,CACP,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,CACL,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,iBAAa,MAAM,aACjK,iBAAQ,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,GAAG,EACpC,eAAM,CAAC,EAAC,gBAAgB,GAAG,IACvB,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,QAAQ,EAAyB;IACtD,OAAO,CACL,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,SAAS,EAAE,EAAE,CACX,kEAAkE,EAClE,QAAQ,IAAI,WAAW,CACxB,iBACW,MAAM,YAElB,eAAM,CAAC,EAAC,wBAAwB,GAAG,GAC/B,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,34 @@
1
+ /** Props for {@link TerminalSession}. */
2
+ export interface TerminalSessionProps {
3
+ /**
4
+ * The command that was run, shown as the `$ <command>` prompt line. Omit for
5
+ * a pure-output render; the pre-execution approval gate passes only this
6
+ * (no output exists yet).
7
+ */
8
+ readonly command?: string;
9
+ /** Standard output. */
10
+ readonly stdout?: string;
11
+ /** Standard error, rendered in the destructive color. */
12
+ readonly stderr?: string;
13
+ /** Process exit code. A non-zero code renders a trailing `exit N` badge. */
14
+ readonly exitCode?: number;
15
+ /** Additional CSS class names for the root container. */
16
+ readonly className?: string;
17
+ }
18
+ /**
19
+ * Renders a shell tool call as a single, cohesive terminal session — the
20
+ * command prompt line immediately followed by its output — instead of a
21
+ * separate command box and output box.
22
+ *
23
+ * Used by {@link ResultView} (full session) and the approval gate's
24
+ * {@link ToolArgsView} (command-only, pre-execution). Importable on its own by
25
+ * platform builders composing custom tool UIs.
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * <TerminalSession command="ls -la" stdout="total 8\n..." exitCode={0} />
30
+ * <TerminalSession command="npm test" /> // gate: command only
31
+ * ```
32
+ */
33
+ export declare function TerminalSession({ command, stdout, stderr, exitCode, className, }: TerminalSessionProps): import("react/jsx-runtime").JSX.Element;
34
+ //# sourceMappingURL=TerminalSession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalSession.d.ts","sourceRoot":"","sources":["../../src/execution/TerminalSession.tsx"],"names":[],"mappings":"AAWA,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,GACV,EAAE,oBAAoB,2CAwCtB"}
@@ -0,0 +1,34 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ // One rendered terminal session: the `$ command` prompt line followed by its
4
+ // output, as a single block. Rendered on the same `bg-muted-subtle` surface as
5
+ // every other code/output block (CollapsibleCode, search, list) — not a
6
+ // bespoke dark box — so it tracks the host theme, preset, and color mode.
7
+ import { cn } from "@stigmer/theme";
8
+ import { CollapsiblePre } from "./tool-rendering-primitives";
9
+ import { useSandboxNormalize } from "./SandboxContext";
10
+ /**
11
+ * Renders a shell tool call as a single, cohesive terminal session — the
12
+ * command prompt line immediately followed by its output — instead of a
13
+ * separate command box and output box.
14
+ *
15
+ * Used by {@link ResultView} (full session) and the approval gate's
16
+ * {@link ToolArgsView} (command-only, pre-execution). Importable on its own by
17
+ * platform builders composing custom tool UIs.
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * <TerminalSession command="ls -la" stdout="total 8\n..." exitCode={0} />
22
+ * <TerminalSession command="npm test" /> // gate: command only
23
+ * ```
24
+ */
25
+ export function TerminalSession({ command, stdout, stderr, exitCode, className, }) {
26
+ const normalize = useSandboxNormalize();
27
+ const failed = exitCode !== undefined && exitCode !== 0;
28
+ return (_jsxs("div", { "data-cursor-target": "terminal-session", className: cn("space-y-1 rounded-md border border-border bg-muted-subtle p-2.5 font-mono text-xs", className), children: [command && (
29
+ // A plain <pre> (not CollapsiblePre): the command is the user's intent
30
+ // and renders in full — even a multi-line heredoc — without a second
31
+ // truncation toggle competing with stdout's.
32
+ _jsxs("pre", { className: "whitespace-pre-wrap break-words text-foreground", children: [_jsx("span", { className: "select-none text-muted-foreground", children: "$ " }), normalize(command)] })), stdout && (_jsx(CollapsiblePre, { content: normalize(stdout), className: "text-foreground" })), stderr && (_jsx(CollapsiblePre, { content: normalize(stderr), className: "text-destructive" })), failed && (_jsxs("div", { children: [_jsxs("span", { className: "sr-only", children: ["Command exited with code ", exitCode] }), _jsxs("span", { "aria-hidden": "true", className: "inline-block rounded bg-destructive-subtle px-1 py-0.5 text-[10px] font-medium leading-none tabular-nums text-destructive", children: ["exit ", exitCode] })] }))] }));
33
+ }
34
+ //# sourceMappingURL=TerminalSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalSession.js","sourceRoot":"","sources":["../../src/execution/TerminalSession.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,6EAA6E;AAC7E,+EAA+E;AAC/E,wEAAwE;AACxE,0EAA0E;AAE1E,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAoBvD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,GACY;IACrB,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,CAAC,CAAC;IAExD,OAAO,CACL,qCACqB,kBAAkB,EACrC,SAAS,EAAE,EAAE,CACX,mFAAmF,EACnF,SAAS,CACV,aAEA,OAAO,IAAI;YACV,uEAAuE;YACvE,qEAAqE;YACrE,6CAA6C;YAC7C,eAAK,SAAS,EAAC,iDAAiD,aAC9D,eAAM,SAAS,EAAC,mCAAmC,mBAAU,EAC5D,SAAS,CAAC,OAAO,CAAC,IACf,CACP,EACA,MAAM,IAAI,CACT,KAAC,cAAc,IAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,EAAC,iBAAiB,GAAG,CAC3E,EACA,MAAM,IAAI,CACT,KAAC,cAAc,IAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,EAAC,kBAAkB,GAAG,CAC5E,EACA,MAAM,IAAI,CACT,0BACE,gBAAM,SAAS,EAAC,SAAS,0CAA2B,QAAQ,IAAQ,EACpE,+BACc,MAAM,EAClB,SAAS,EAAC,2HAA2H,sBAE/H,QAAQ,IACT,IACH,CACP,IACG,CACP,CAAC;AACJ,CAAC"}