@stigmer/react 3.0.9-dev.20260615153829 → 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 (439) 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/code-highlight.d.ts +24 -0
  178. package/internal/code-highlight.d.ts.map +1 -0
  179. package/internal/code-highlight.js +115 -0
  180. package/internal/code-highlight.js.map +1 -0
  181. package/internal/markdown-components.d.ts.map +1 -1
  182. package/internal/markdown-components.js +13 -2
  183. package/internal/markdown-components.js.map +1 -1
  184. package/internal/useAutoDisclosure.d.ts +34 -0
  185. package/internal/useAutoDisclosure.d.ts.map +1 -0
  186. package/internal/useAutoDisclosure.js +53 -0
  187. package/internal/useAutoDisclosure.js.map +1 -0
  188. package/internal/useElapsedSince.d.ts +30 -0
  189. package/internal/useElapsedSince.d.ts.map +1 -0
  190. package/internal/useElapsedSince.js +70 -0
  191. package/internal/useElapsedSince.js.map +1 -0
  192. package/internal/useIsOverflowing.d.ts +30 -0
  193. package/internal/useIsOverflowing.d.ts.map +1 -0
  194. package/internal/useIsOverflowing.js +47 -0
  195. package/internal/useIsOverflowing.js.map +1 -0
  196. package/internal/useIsTextTruncated.d.ts +24 -0
  197. package/internal/useIsTextTruncated.d.ts.map +1 -0
  198. package/internal/useIsTextTruncated.js +41 -0
  199. package/internal/useIsTextTruncated.js.map +1 -0
  200. package/internal/useKeyedSubmission.d.ts +49 -0
  201. package/internal/useKeyedSubmission.d.ts.map +1 -0
  202. package/internal/useKeyedSubmission.js +67 -0
  203. package/internal/useKeyedSubmission.js.map +1 -0
  204. package/package.json +7 -4
  205. package/session/SessionViewer.d.ts +2 -2
  206. package/session/SessionViewer.d.ts.map +1 -1
  207. package/session/SessionViewer.js +10 -4
  208. package/session/SessionViewer.js.map +1 -1
  209. package/session/index.d.ts +2 -0
  210. package/session/index.d.ts.map +1 -1
  211. package/session/index.js +1 -0
  212. package/session/index.js.map +1 -1
  213. package/session/inspector/ChangesTab.d.ts +8 -5
  214. package/session/inspector/ChangesTab.d.ts.map +1 -1
  215. package/session/inspector/ChangesTab.js +11 -8
  216. package/session/inspector/ChangesTab.js.map +1 -1
  217. package/session/inspector/SessionInspector.d.ts +4 -4
  218. package/session/inspector/SessionInspector.d.ts.map +1 -1
  219. package/session/inspector/SessionInspector.js +4 -4
  220. package/session/inspector/SessionInspector.js.map +1 -1
  221. package/session/inspector/index.d.ts +0 -2
  222. package/session/inspector/index.d.ts.map +1 -1
  223. package/session/inspector/index.js +0 -1
  224. package/session/inspector/index.js.map +1 -1
  225. package/session/inspector/useSessionInspector.d.ts +8 -4
  226. package/session/inspector/useSessionInspector.d.ts.map +1 -1
  227. package/session/inspector/useSessionInspector.js +27 -20
  228. package/session/inspector/useSessionInspector.js.map +1 -1
  229. package/session/useSessionConversation.d.ts +37 -3
  230. package/session/useSessionConversation.d.ts.map +1 -1
  231. package/session/useSessionConversation.js +18 -2
  232. package/session/useSessionConversation.js.map +1 -1
  233. package/session/useSessionFileChanges.d.ts +74 -0
  234. package/session/useSessionFileChanges.d.ts.map +1 -0
  235. package/session/useSessionFileChanges.js +178 -0
  236. package/session/useSessionFileChanges.js.map +1 -0
  237. package/src/__tests__/styles-border-layer-invariant.test.ts +105 -0
  238. package/src/execution/ApprovalCard.tsx +368 -230
  239. package/src/execution/ApprovalContext.ts +109 -0
  240. package/src/execution/ArtifactCard.tsx +10 -6
  241. package/src/execution/ArtifactPreviewModal.tsx +12 -6
  242. package/src/execution/EmptyChangeNotice.tsx +62 -0
  243. package/src/execution/FileChangesView.tsx +383 -0
  244. package/src/execution/FilePathLink.tsx +65 -12
  245. package/src/execution/FileReviewCard.tsx +1118 -0
  246. package/src/execution/FileReviewContext.ts +53 -0
  247. package/src/execution/FileReviewDock.tsx +157 -0
  248. package/src/execution/McpToolDetail.tsx +98 -32
  249. package/src/execution/MessageThread.tsx +374 -9
  250. package/src/execution/PlanArtifactCard.tsx +9 -6
  251. package/src/execution/PlanCompletionCard.tsx +1 -1
  252. package/src/execution/ResultView.tsx +333 -162
  253. package/src/execution/SubAgentSection.tsx +58 -11
  254. package/src/execution/TerminalSession.tsx +91 -0
  255. package/src/execution/TodoCard.tsx +186 -0
  256. package/src/execution/ToolArgsView.tsx +28 -17
  257. package/src/execution/ToolCallDetail.tsx +137 -26
  258. package/src/execution/ToolCallGroup.tsx +68 -296
  259. package/src/execution/ToolCallItem.tsx +265 -67
  260. package/src/execution/ToolRunGroup.tsx +302 -0
  261. package/src/execution/__tests__/ApprovalCard.test.tsx +395 -5
  262. package/src/execution/__tests__/ArtifactContentRenderer.test.tsx +15 -0
  263. package/src/execution/__tests__/ArtifactPreviewModal.test.tsx +0 -1
  264. package/src/execution/__tests__/EmptyChangeNotice.test.tsx +24 -0
  265. package/src/execution/__tests__/FileChangesView.test.tsx +296 -0
  266. package/src/execution/__tests__/FilePathLink.test.tsx +92 -0
  267. package/src/execution/__tests__/FileReviewCard.test.tsx +1044 -0
  268. package/src/execution/__tests__/FileReviewDock.test.tsx +134 -0
  269. package/src/execution/__tests__/McpToolDetail.test.tsx +79 -0
  270. package/src/execution/__tests__/MessageThread.test.tsx +324 -0
  271. package/src/execution/__tests__/PlanArtifactCard.test.tsx +37 -16
  272. package/src/execution/__tests__/ResultView.test.tsx +280 -2
  273. package/src/execution/__tests__/SubAgentSection.test.tsx +180 -0
  274. package/src/execution/__tests__/TerminalSession.test.tsx +72 -0
  275. package/src/execution/__tests__/TodoCard.test.tsx +102 -0
  276. package/src/execution/__tests__/ToolArgsView.test.tsx +48 -0
  277. package/src/execution/__tests__/ToolCallDetail.test.tsx +195 -0
  278. package/src/execution/__tests__/ToolCallGroup.test.tsx +132 -0
  279. package/src/execution/__tests__/ToolCallItem.test.tsx +521 -0
  280. package/src/execution/__tests__/ToolRunGroup.test.tsx +137 -0
  281. package/src/execution/__tests__/blanked-narration.test.tsx +149 -0
  282. package/src/execution/__tests__/buildThreadItems-approvals.test.ts +304 -0
  283. package/src/execution/__tests__/buildThreadItems-file-review.test.ts +331 -0
  284. package/src/execution/__tests__/file-path-resolver.test.ts +44 -0
  285. package/src/execution/__tests__/file-review-status.test.ts +343 -0
  286. package/src/execution/__tests__/message-entry.test.tsx +16 -0
  287. package/src/execution/__tests__/segment-tool-calls.test.ts +124 -0
  288. package/src/execution/__tests__/subagent-file-review-badge.test.tsx +273 -0
  289. package/src/execution/__tests__/thread-keys.test.ts +195 -0
  290. package/src/execution/__tests__/tool-presenter.test.tsx +95 -0
  291. package/src/execution/__tests__/useArtifactDownload.test.tsx +67 -0
  292. package/src/execution/__tests__/useArtifactDownloadUrl.test.tsx +51 -0
  293. package/src/execution/__tests__/useFileChangeContent.test.tsx +240 -0
  294. package/src/execution/__tests__/useFileReview.test.tsx +236 -0
  295. package/src/execution/__tests__/useSubmitApproval.test.tsx +165 -0
  296. package/src/execution/__tests__/useToolOutputContent.test.tsx +82 -0
  297. package/src/execution/approval-provenance.ts +8 -0
  298. package/src/execution/artifact-utils.ts +0 -18
  299. package/src/execution/execution-phases.ts +4 -16
  300. package/src/execution/file-path-resolver.ts +38 -0
  301. package/src/execution/file-review-status.ts +219 -0
  302. package/src/execution/index.ts +84 -4
  303. package/src/execution/segment-tool-calls.ts +101 -0
  304. package/src/execution/tool-categories.ts +128 -1
  305. package/src/execution/tool-presenter.ts +58 -3
  306. package/src/execution/tool-rendering-primitives.tsx +11 -14
  307. package/src/execution/useArtifactDownload.ts +109 -0
  308. package/src/execution/useArtifactDownloadUrl.ts +116 -0
  309. package/src/execution/useFileChangeContent.ts +149 -0
  310. package/src/execution/useFileReview.ts +197 -0
  311. package/src/execution/useSubmitApproval.ts +49 -27
  312. package/src/execution/useToolOutputContent.ts +70 -0
  313. package/src/index.ts +60 -1
  314. package/src/internal/ApprovalPeekBar.tsx +73 -0
  315. package/src/internal/BoundedContent.tsx +97 -0
  316. package/src/internal/DecisionButton.tsx +127 -0
  317. package/src/internal/InCardDecisionError.tsx +47 -0
  318. package/src/internal/RevealToggle.tsx +91 -0
  319. package/src/internal/VirtualizedThread.tsx +28 -2
  320. package/src/internal/__tests__/ApprovalPeekBar.test.tsx +34 -0
  321. package/src/internal/__tests__/BoundedContent.test.tsx +92 -0
  322. package/src/internal/__tests__/DecisionButton.test.tsx +107 -0
  323. package/src/internal/__tests__/RevealToggle.test.tsx +61 -0
  324. package/src/internal/__tests__/code-highlight.test.tsx +59 -0
  325. package/src/internal/__tests__/markdown-components.test.tsx +68 -2
  326. package/src/internal/__tests__/useAutoDisclosure.test.ts +74 -0
  327. package/src/internal/__tests__/useElapsedSince.test.tsx +68 -0
  328. package/src/internal/__tests__/useIsOverflowing.test.ts +36 -0
  329. package/src/internal/__tests__/useKeyedSubmission.test.tsx +126 -0
  330. package/src/internal/code-highlight.tsx +120 -0
  331. package/src/internal/markdown-components.tsx +20 -3
  332. package/src/internal/useAutoDisclosure.ts +58 -0
  333. package/src/internal/useElapsedSince.ts +72 -0
  334. package/src/internal/useIsOverflowing.ts +61 -0
  335. package/src/internal/useIsTextTruncated.ts +55 -0
  336. package/src/internal/useKeyedSubmission.ts +101 -0
  337. package/src/session/SessionViewer.tsx +21 -4
  338. package/src/session/__tests__/SessionViewer-fileReviewDock.test.tsx +198 -0
  339. package/src/session/__tests__/audienceWiring.test.tsx +4 -0
  340. package/src/session/__tests__/useSessionFileChanges.test.ts +303 -0
  341. package/src/session/index.ts +3 -0
  342. package/src/session/inspector/ChangesTab.tsx +20 -17
  343. package/src/session/inspector/SessionInspector.tsx +12 -10
  344. package/src/session/inspector/__tests__/ArtifactsTab.test.tsx +0 -1
  345. package/src/session/inspector/__tests__/ChangesTab.test.tsx +38 -0
  346. package/src/session/inspector/__tests__/useSessionInspector.test.ts +46 -61
  347. package/src/session/inspector/index.ts +0 -3
  348. package/src/session/inspector/useSessionInspector.ts +27 -20
  349. package/src/session/useSessionConversation.ts +80 -3
  350. package/src/session/useSessionFileChanges.ts +207 -0
  351. package/src/styles.css +123 -10
  352. package/src/version-history/DiffViewer.tsx +10 -7
  353. package/src/version-history/UnifiedDiffView.tsx +66 -0
  354. package/src/version-history/__tests__/DiffViewer.test.tsx +57 -0
  355. package/src/version-history/__tests__/UnifiedDiffView.test.tsx +50 -0
  356. package/src/version-history/__tests__/computeDiff.test.ts +35 -0
  357. package/src/version-history/__tests__/parseUnifiedDiff.test.ts +82 -0
  358. package/src/version-history/computeDiff.ts +6 -37
  359. package/src/version-history/diff-hunks.ts +63 -0
  360. package/src/version-history/index.ts +1 -0
  361. package/src/version-history/parseUnifiedDiff.ts +34 -0
  362. package/src/workflow/WorkflowExecutionApprovalCard.tsx +49 -24
  363. package/src/workflow/WorkflowExecutionTimeline.tsx +15 -4
  364. package/src/workflow/WorkflowExecutionTimelineEvent.tsx +8 -3
  365. package/src/workflow/WorkflowExecutionViewer.tsx +72 -28
  366. package/src/workflow/WorkflowFileReviewList.tsx +152 -0
  367. package/src/workflow/WorkflowTaskApprovalCard.tsx +37 -85
  368. package/src/workflow/__tests__/ExecutionInspector.test.tsx +30 -2
  369. package/src/workflow/__tests__/WorkflowExecutionApprovalCard.test.tsx +129 -0
  370. package/src/workflow/__tests__/WorkflowFileReviewList.test.tsx +129 -0
  371. package/src/workflow/__tests__/WorkflowTaskApprovalCard.test.tsx +43 -11
  372. package/src/workflow/__tests__/useWorkflowExecutionActions.test.tsx +276 -0
  373. package/src/workflow/execution-inspector/ExecutionInspector.tsx +42 -18
  374. package/src/workflow/index.ts +5 -0
  375. package/src/workflow/useWorkflowExecutionActions.ts +177 -29
  376. package/styles.css +1 -1
  377. package/version-history/DiffViewer.d.ts.map +1 -1
  378. package/version-history/DiffViewer.js +9 -3
  379. package/version-history/DiffViewer.js.map +1 -1
  380. package/version-history/UnifiedDiffView.d.ts +29 -0
  381. package/version-history/UnifiedDiffView.d.ts.map +1 -0
  382. package/version-history/UnifiedDiffView.js +36 -0
  383. package/version-history/UnifiedDiffView.js.map +1 -0
  384. package/version-history/computeDiff.d.ts +3 -1
  385. package/version-history/computeDiff.d.ts.map +1 -1
  386. package/version-history/computeDiff.js +5 -35
  387. package/version-history/computeDiff.js.map +1 -1
  388. package/version-history/diff-hunks.d.ts +21 -0
  389. package/version-history/diff-hunks.d.ts.map +1 -0
  390. package/version-history/diff-hunks.js +58 -0
  391. package/version-history/diff-hunks.js.map +1 -0
  392. package/version-history/index.d.ts +1 -0
  393. package/version-history/index.d.ts.map +1 -1
  394. package/version-history/index.js +1 -0
  395. package/version-history/index.js.map +1 -1
  396. package/version-history/parseUnifiedDiff.d.ts +22 -0
  397. package/version-history/parseUnifiedDiff.d.ts.map +1 -0
  398. package/version-history/parseUnifiedDiff.js +34 -0
  399. package/version-history/parseUnifiedDiff.js.map +1 -0
  400. package/workflow/WorkflowExecutionApprovalCard.d.ts +8 -1
  401. package/workflow/WorkflowExecutionApprovalCard.d.ts.map +1 -1
  402. package/workflow/WorkflowExecutionApprovalCard.js +17 -3
  403. package/workflow/WorkflowExecutionApprovalCard.js.map +1 -1
  404. package/workflow/WorkflowExecutionTimeline.d.ts +11 -2
  405. package/workflow/WorkflowExecutionTimeline.d.ts.map +1 -1
  406. package/workflow/WorkflowExecutionTimeline.js +2 -2
  407. package/workflow/WorkflowExecutionTimeline.js.map +1 -1
  408. package/workflow/WorkflowExecutionTimelineEvent.d.ts +4 -1
  409. package/workflow/WorkflowExecutionTimelineEvent.d.ts.map +1 -1
  410. package/workflow/WorkflowExecutionTimelineEvent.js +2 -2
  411. package/workflow/WorkflowExecutionTimelineEvent.js.map +1 -1
  412. package/workflow/WorkflowExecutionViewer.d.ts.map +1 -1
  413. package/workflow/WorkflowExecutionViewer.js +18 -10
  414. package/workflow/WorkflowExecutionViewer.js.map +1 -1
  415. package/workflow/WorkflowFileReviewList.d.ts +46 -0
  416. package/workflow/WorkflowFileReviewList.d.ts.map +1 -0
  417. package/workflow/WorkflowFileReviewList.js +48 -0
  418. package/workflow/WorkflowFileReviewList.js.map +1 -0
  419. package/workflow/WorkflowTaskApprovalCard.d.ts +8 -1
  420. package/workflow/WorkflowTaskApprovalCard.d.ts.map +1 -1
  421. package/workflow/WorkflowTaskApprovalCard.js +12 -19
  422. package/workflow/WorkflowTaskApprovalCard.js.map +1 -1
  423. package/workflow/execution-inspector/ExecutionInspector.d.ts +21 -4
  424. package/workflow/execution-inspector/ExecutionInspector.d.ts.map +1 -1
  425. package/workflow/execution-inspector/ExecutionInspector.js +6 -3
  426. package/workflow/execution-inspector/ExecutionInspector.js.map +1 -1
  427. package/workflow/index.d.ts +1 -0
  428. package/workflow/index.d.ts.map +1 -1
  429. package/workflow/index.js +1 -0
  430. package/workflow/index.js.map +1 -1
  431. package/workflow/useWorkflowExecutionActions.d.ts +62 -4
  432. package/workflow/useWorkflowExecutionActions.d.ts.map +1 -1
  433. package/workflow/useWorkflowExecutionActions.js +94 -18
  434. package/workflow/useWorkflowExecutionActions.js.map +1 -1
  435. package/session/inspector/PlanTab.d.ts +0 -15
  436. package/session/inspector/PlanTab.d.ts.map +0 -1
  437. package/session/inspector/PlanTab.js +0 -19
  438. package/session/inspector/PlanTab.js.map +0 -1
  439. package/src/session/inspector/PlanTab.tsx +0 -31
@@ -3,18 +3,21 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { useSessionWriteBacks } from "../useSessionWriteBacks";
4
4
  import { WriteBackCard } from "../../execution/WriteBackCard";
5
5
  /**
6
- * Changes facet for the SessionInspector.
6
+ * Changes facet for the SessionInspector — the session's git write-backs
7
+ * (branch/commit/PR), one `WriteBackCard` per entry.
7
8
  *
8
- * Wraps the existing `useSessionWriteBacks` hook and renders
9
- * `WriteBackCard` per write-back entry the same content as
10
- * `WriteBacksWidget` but without its section heading (the tab
11
- * label provides that context).
9
+ * Local file changes deliberately do NOT render here: they live in the
10
+ * transcript, where each stamped edit row shows its diff in place and the
11
+ * per-turn decision bar carries the review controls and file list
12
+ * (`FileReviewCard`). Duplicating them in a side panel gave the same change a
13
+ * third rendering with no added authority. The tab therefore only surfaces
14
+ * once a write-back exists (see `buildVisibleTabs`).
12
15
  */
13
16
  export function ChangesTab({ executions }) {
14
17
  const { writeBacks, hasWriteBacks } = useSessionWriteBacks(executions);
15
- if (!hasWriteBacks) {
16
- return (_jsx("div", { className: "flex flex-col items-center justify-center px-4 py-8 text-center", children: _jsx("p", { className: "text-xs text-muted-foreground", children: "No pull requests yet. Changes will appear here when the agent writes back to a workspace." }) }));
18
+ if (hasWriteBacks) {
19
+ return (_jsx("div", { role: "list", className: "space-y-2", children: writeBacks.map((entry) => (_jsx("div", { role: "listitem", children: _jsx(WriteBackCard, { writeBack: entry.writeBack }) }, entry.writeBack.workspaceEntryName))) }));
17
20
  }
18
- return (_jsx("div", { role: "list", className: "space-y-2", children: writeBacks.map((entry) => (_jsx("div", { role: "listitem", children: _jsx(WriteBackCard, { writeBack: entry.writeBack }) }, entry.writeBack.workspaceEntryName))) }));
21
+ return (_jsx("div", { className: "flex flex-col items-center justify-center px-4 py-8 text-center", children: _jsx("p", { className: "text-xs text-muted-foreground", children: "No changes yet. Pull requests will appear here once the agent pushes its work back to your repository." }) }));
19
22
  }
20
23
  //# sourceMappingURL=ChangesTab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChangesTab.js","sourceRoot":"","sources":["../../../src/session/inspector/ChangesTab.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAM9D;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,UAAU,EAAmB;IACxD,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAEvE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CACL,cAAK,SAAS,EAAC,iEAAiE,YAC9E,YAAG,SAAS,EAAC,+BAA+B,0GAGxC,GACA,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cAAK,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,WAAW,YACnC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACzB,cAA8C,IAAI,EAAC,UAAU,YAC3D,KAAC,aAAa,IAAC,SAAS,EAAE,KAAK,CAAC,SAAS,GAAI,IADrC,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAEtC,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ChangesTab.js","sourceRoot":"","sources":["../../../src/session/inspector/ChangesTab.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAM9D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,UAAU,EAAmB;IACxD,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAEvE,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CACL,cAAK,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,WAAW,YACnC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACzB,cAA8C,IAAI,EAAC,UAAU,YAC3D,KAAC,aAAa,IAAC,SAAS,EAAE,KAAK,CAAC,SAAS,GAAI,IADrC,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAEtC,CACP,CAAC,GACE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,iEAAiE,YAC9E,YAAG,SAAS,EAAC,+BAA+B,uHAGxC,GACA,CACP,CAAC;AACJ,CAAC"}
@@ -7,8 +7,7 @@ import type { ApplyResourceResult } from "../../library/useApplyResource";
7
7
  export interface SessionInspectorProps {
8
8
  /**
9
9
  * The most relevant execution — the active streaming execution,
10
- * or the last completed one. Drives the run-status header and
11
- * the Plan facet.
10
+ * or the last completed one. Drives the run-status header (phase badge).
12
11
  */
13
12
  readonly displayExecution: AgentExecution | null;
14
13
  /**
@@ -47,8 +46,9 @@ export interface SessionInspectorProps {
47
46
  * Tabbed right-side inspector panel for agent sessions.
48
47
  *
49
48
  * Displays an always-visible run-status header (phase badge) above
50
- * contextual tabs: Plan, Changes, Artifacts, Usage, and Inspect
51
- * (when a thread item is selected).
49
+ * contextual tabs: Workspace, Config, Changes, Artifacts, Usage, and
50
+ * Inspect (when a thread item is selected). The agent's plan/todos render
51
+ * inline in the message thread (see {@link TodoCard}), not as a tab here.
52
52
  *
53
53
  * Mirrors the `ExecutionInspector` architecture from the workflow
54
54
  * view — same `Tabs` primitive, same tab-FSM behavior hook, same
@@ -1 +1 @@
1
- {"version":3,"file":"SessionInspector.d.ts","sourceRoot":"","sources":["../../../src/session/inspector/SessionInspector.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAclG,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,cAAc,GAAG,IAAI,CAAC;IACjD;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,cAAc,EAAE,CAAC;IAClD,gDAAgD;IAChD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,QAAQ,CAAC,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjD,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC3D;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAAC;IAC7C,8BAA8B;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,gBAAgB,6DA+E3B,CAAC"}
1
+ {"version":3,"file":"SessionInspector.d.ts","sourceRoot":"","sources":["../../../src/session/inspector/SessionInspector.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAalG,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,cAAc,GAAG,IAAI,CAAC;IACjD;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,cAAc,EAAE,CAAC;IAClD,gDAAgD;IAChD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,QAAQ,CAAC,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjD,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC3D;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAAC;IAC7C,8BAA8B;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,gBAAgB,6DAkF3B,CAAC"}
@@ -9,7 +9,6 @@ import { useSessionArtifacts } from "../useSessionArtifacts";
9
9
  import { useSessionWriteBacks } from "../useSessionWriteBacks";
10
10
  import { useSessionUsage } from "../useSessionUsage";
11
11
  import { useSessionInspector } from "./useSessionInspector";
12
- import { PlanTab } from "./PlanTab";
13
12
  import { ChangesTab } from "./ChangesTab";
14
13
  import { ArtifactsTab } from "./ArtifactsTab";
15
14
  import { UsageTab } from "./UsageTab";
@@ -20,8 +19,9 @@ import { WorkspaceTab } from "./WorkspaceTab";
20
19
  * Tabbed right-side inspector panel for agent sessions.
21
20
  *
22
21
  * Displays an always-visible run-status header (phase badge) above
23
- * contextual tabs: Plan, Changes, Artifacts, Usage, and Inspect
24
- * (when a thread item is selected).
22
+ * contextual tabs: Workspace, Config, Changes, Artifacts, Usage, and
23
+ * Inspect (when a thread item is selected). The agent's plan/todos render
24
+ * inline in the message thread (see {@link TodoCard}), not as a tab here.
25
25
  *
26
26
  * Mirrors the `ExecutionInspector` architecture from the workflow
27
27
  * view — same `Tabs` primitive, same tab-FSM behavior hook, same
@@ -48,6 +48,6 @@ export const SessionInspector = memo(function SessionInspector({ displayExecutio
48
48
  hasUsage,
49
49
  selectedItem,
50
50
  });
51
- return (_jsxs("div", { className: cn("flex h-full flex-col", className), children: [_jsx("div", { className: "flex items-center gap-2 border-b border-border px-3 py-2.5", children: phase !== ExecutionPhase.EXECUTION_PHASE_UNSPECIFIED ? (_jsx(ExecutionPhaseBadge, { phase: phase })) : (_jsx("span", { className: "text-xs text-muted-foreground", children: "No execution" })) }), _jsx(Tabs, { tabs: tabs, activeTab: activeTab, onTabChange: onTabChange, "aria-label": "Session details", className: "min-h-0 flex-1", children: _jsxs("div", { className: "h-full min-h-0 overflow-y-auto px-3 py-3", children: [activeTab === "workspace" && workspaceConfig && (_jsx(WorkspaceTab, { ...workspaceConfig })), activeTab === "configure" && sessionConfig && (_jsx(SetupTab, { ...sessionConfig })), activeTab === "plan" && (_jsx(PlanTab, { execution: displayExecution })), activeTab === "changes" && (_jsx(ChangesTab, { executions: allExecutions })), activeTab === "artifacts" && (_jsx(ArtifactsTab, { executions: allExecutions, org: org, onApplied: onApplied, onImplementPlan: onImplementPlan })), activeTab === "usage" && (_jsx(UsageTab, { executions: allExecutions })), activeTab === "inspect" && (_jsx(InspectTab, { selectedItem: selectedItem }))] }) })] }));
51
+ return (_jsxs("div", { className: cn("flex h-full flex-col", className), children: [_jsx("div", { role: "region", "aria-label": "Execution progress", className: "flex items-center gap-2 border-b border-border px-3 py-2.5", children: phase !== ExecutionPhase.EXECUTION_PHASE_UNSPECIFIED ? (_jsx(ExecutionPhaseBadge, { phase: phase })) : (_jsx("span", { className: "text-xs text-muted-foreground", children: "No execution" })) }), _jsx(Tabs, { tabs: tabs, activeTab: activeTab, onTabChange: onTabChange, "aria-label": "Session details", className: "min-h-0 flex-1", children: _jsxs("div", { className: "h-full min-h-0 overflow-y-auto px-3 py-3", children: [activeTab === "workspace" && workspaceConfig && (_jsx(WorkspaceTab, { ...workspaceConfig })), activeTab === "configure" && sessionConfig && (_jsx(SetupTab, { ...sessionConfig })), activeTab === "changes" && (_jsx(ChangesTab, { executions: allExecutions })), activeTab === "artifacts" && (_jsx(ArtifactsTab, { executions: allExecutions, org: org, onApplied: onApplied, onImplementPlan: onImplementPlan })), activeTab === "usage" && (_jsx(UsageTab, { executions: allExecutions })), activeTab === "inspect" && (_jsx(InspectTab, { selectedItem: selectedItem }))] }) })] }));
52
52
  });
53
53
  //# sourceMappingURL=SessionInspector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionInspector.js","sourceRoot":"","sources":["../../../src/session/inspector/SessionInspector.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAC9F,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAC;AA6CtE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,gBAAgB,CAAC,EAC7D,gBAAgB,EAChB,aAAa,EACb,GAAG,EACH,YAAY,EACZ,SAAS,EACT,eAAe,EACf,aAAa,EACb,eAAe,EACf,SAAS,GACa;IACtB,MAAM,KAAK,GACT,gBAAgB,EAAE,MAAM,EAAE,KAAK;QAC/B,cAAc,CAAC,2BAA2B,CAAC;IAE7C,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC9E,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAC3E,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAEpD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC;QAC3D,KAAK,EAAE,KAAK,KAAK,cAAc,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;QAC1E,aAAa;QACb,cAAc;QACd,YAAY;QACZ,aAAa;QACb,QAAQ;QACR,YAAY;KACb,CAAC,CAAC;IAEH,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,SAAS,CAAC,aAEnD,cAAK,SAAS,EAAC,4DAA4D,YACxE,KAAK,KAAK,cAAc,CAAC,2BAA2B,CAAC,CAAC,CAAC,CACtD,KAAC,mBAAmB,IAAC,KAAK,EAAE,KAAK,GAAI,CACtC,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,+BAA+B,6BAAoB,CACpE,GACG,EAGN,KAAC,IAAI,IACH,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,gBACb,iBAAiB,EAC5B,SAAS,EAAC,gBAAgB,YAE1B,eAAK,SAAS,EAAC,0CAA0C,aACtD,SAAS,KAAK,WAAW,IAAI,eAAe,IAAI,CAC/C,KAAC,YAAY,OAAK,eAAe,GAAI,CACtC,EACA,SAAS,KAAK,WAAW,IAAI,aAAa,IAAI,CAC7C,KAAC,QAAQ,OAAK,aAAa,GAAI,CAChC,EACA,SAAS,KAAK,MAAM,IAAI,CACvB,KAAC,OAAO,IAAC,SAAS,EAAE,gBAAgB,GAAI,CACzC,EACA,SAAS,KAAK,SAAS,IAAI,CAC1B,KAAC,UAAU,IAAC,UAAU,EAAE,aAAa,GAAI,CAC1C,EACA,SAAS,KAAK,WAAW,IAAI,CAC5B,KAAC,YAAY,IACX,UAAU,EAAE,aAAa,EACzB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,GAChC,CACH,EACA,SAAS,KAAK,OAAO,IAAI,CACxB,KAAC,QAAQ,IAAC,UAAU,EAAE,aAAa,GAAI,CACxC,EACA,SAAS,KAAK,SAAS,IAAI,CAC1B,KAAC,UAAU,IAAC,YAAY,EAAE,YAAY,GAAI,CAC3C,IACG,GACD,IACH,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"SessionInspector.js","sourceRoot":"","sources":["../../../src/session/inspector/SessionInspector.tsx"],"names":[],"mappings":"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"}
@@ -2,8 +2,6 @@ export { SessionInspector } from "./SessionInspector";
2
2
  export type { SessionInspectorProps } from "./SessionInspector";
3
3
  export { useSessionInspector, buildVisibleTabs } from "./useSessionInspector";
4
4
  export type { SessionInspectorTabId, UseSessionInspectorOptions, UseSessionInspectorReturn, } from "./useSessionInspector";
5
- export { PlanTab } from "./PlanTab";
6
- export type { PlanTabProps } from "./PlanTab";
7
5
  export { ChangesTab } from "./ChangesTab";
8
6
  export type { ChangesTabProps } from "./ChangesTab";
9
7
  export { ArtifactsTab } from "./ArtifactsTab";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/session/inspector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,YAAY,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,aAAa,EACb,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EACV,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/session/inspector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,YAAY,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,aAAa,EACb,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EACV,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC"}
@@ -1,6 +1,5 @@
1
1
  export { SessionInspector } from "./SessionInspector";
2
2
  export { useSessionInspector, buildVisibleTabs } from "./useSessionInspector";
3
- export { PlanTab } from "./PlanTab";
4
3
  export { ChangesTab } from "./ChangesTab";
5
4
  export { ArtifactsTab } from "./ArtifactsTab";
6
5
  export { UsageTab } from "./UsageTab";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/session/inspector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAO9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/session/inspector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAO9E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { ExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
2
2
  import type { TabItem } from "../../tabs/Tabs";
3
3
  import type { SelectedThreadItem } from "../../internal/store/selection-store";
4
- export type SessionInspectorTabId = "workspace" | "configure" | "plan" | "changes" | "artifacts" | "usage" | "inspect";
4
+ export type SessionInspectorTabId = "workspace" | "configure" | "changes" | "artifacts" | "usage" | "inspect";
5
5
  export interface UseSessionInspectorOptions {
6
6
  readonly phase: ExecutionPhase | null;
7
7
  readonly hasWriteBacks: boolean;
@@ -20,9 +20,13 @@ export interface UseSessionInspectorReturn {
20
20
  * Build the contextual tab list with badges.
21
21
  *
22
22
  * Tab order follows the user's mental model — context before output:
23
- * Workspace → Config → Plan → Usage. Changes and Artifacts appear
24
- * after Plan when data exists; Inspect appears last when a thread item
25
- * is selected.
23
+ * Workspace → Config → Usage. Changes and Artifacts appear after Config
24
+ * when data exists; Inspect appears last when a thread item is selected.
25
+ *
26
+ * The Changes tab surfaces only when git write-backs (PRs) exist, badged
27
+ * with their count. Local-workspace file edits never surface a tab: they
28
+ * render in the transcript (stamped edit rows + the per-turn decision bar),
29
+ * which is their single review surface.
26
30
  */
27
31
  export declare function buildVisibleTabs(opts: {
28
32
  hasWriteBacks: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useSessionInspector.d.ts","sourceRoot":"","sources":["../../../src/session/inspector/useSessionInspector.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAC9F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,MAAM,MAAM,qBAAqB,GAC7B,WAAW,GACX,WAAW,GACX,MAAM,GACN,SAAS,GACT,WAAW,GACX,OAAO,GACP,SAAS,CAAC;AAEd,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAmBD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACzC,GAAG,OAAO,EAAE,CA8BZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,0BAA0B,GAC/B,yBAAyB,CA8D3B"}
1
+ {"version":3,"file":"useSessionInspector.d.ts","sourceRoot":"","sources":["../../../src/session/inspector/useSessionInspector.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAC9F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,MAAM,MAAM,qBAAqB,GAC7B,WAAW,GACX,WAAW,GACX,SAAS,GACT,WAAW,GACX,OAAO,GACP,SAAS,CAAC;AAEd,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAoBD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACzC,GAAG,OAAO,EAAE,CA6BZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,0BAA0B,GAC/B,yBAAyB,CAkE3B"}
@@ -2,33 +2,37 @@
2
2
  import { useCallback, useRef, useState } from "react";
3
3
  import { isTerminalPhase } from "../../execution/execution-phases";
4
4
  /**
5
- * Compute the system-suggested tab from execution phase and selection.
5
+ * Compute the system-suggested tab from selection.
6
6
  *
7
7
  * Priority:
8
8
  * 1. Thread item selected -> "inspect"
9
- * 2. No execution or terminal phase (idle / ready for follow-up) -> "workspace"
10
- * 3. Actively running -> "plan"
9
+ * 2. Otherwise -> "workspace"
10
+ *
11
+ * Live execution progress (the agent's plan and todos) now renders inline in
12
+ * the message thread as a {@link TodoCard}, not in a sidebar tab — so a running
13
+ * execution no longer steers the inspector to a dedicated facet.
11
14
  */
12
- function deriveAutoTab(phase, selectedItem) {
15
+ function deriveAutoTab(selectedItem) {
13
16
  if (selectedItem)
14
17
  return "inspect";
15
- if (phase === null || isTerminalPhase(phase))
16
- return "workspace";
17
- return "plan";
18
+ return "workspace";
18
19
  }
19
20
  /**
20
21
  * Build the contextual tab list with badges.
21
22
  *
22
23
  * Tab order follows the user's mental model — context before output:
23
- * Workspace → Config → Plan → Usage. Changes and Artifacts appear
24
- * after Plan when data exists; Inspect appears last when a thread item
25
- * is selected.
24
+ * Workspace → Config → Usage. Changes and Artifacts appear after Config
25
+ * when data exists; Inspect appears last when a thread item is selected.
26
+ *
27
+ * The Changes tab surfaces only when git write-backs (PRs) exist, badged
28
+ * with their count. Local-workspace file edits never surface a tab: they
29
+ * render in the transcript (stamped edit rows + the per-turn decision bar),
30
+ * which is their single review surface.
26
31
  */
27
32
  export function buildVisibleTabs(opts) {
28
33
  const tabs = [
29
34
  { id: "workspace", label: "Workspace" },
30
35
  { id: "configure", label: "Config" },
31
- { id: "plan", label: "Plan" },
32
36
  ];
33
37
  if (opts.hasWriteBacks) {
34
38
  tabs.push({
@@ -62,10 +66,13 @@ export function buildVisibleTabs(opts) {
62
66
  export function useSessionInspector(opts) {
63
67
  const { phase, hasWriteBacks, writeBackCount, hasArtifacts, artifactCount, hasUsage, selectedItem } = opts;
64
68
  const tabs = buildVisibleTabs({ hasWriteBacks, writeBackCount, hasArtifacts, artifactCount, hasUsage, selectedItem });
65
- const [activeTab, setActiveTab] = useState(() => deriveAutoTab(phase, selectedItem));
69
+ // A write-back (the session's only tab-worthy change source) surfaces and
70
+ // auto-selects the Changes tab on first arrival.
71
+ const hasChanges = hasWriteBacks;
72
+ const [activeTab, setActiveTab] = useState(() => deriveAutoTab(selectedItem));
66
73
  const [prevPhase, setPrevPhase] = useState(phase);
67
74
  const [prevSelected, setPrevSelected] = useState(selectedItem);
68
- const [prevHasWriteBacks, setPrevHasWriteBacks] = useState(hasWriteBacks);
75
+ const [prevHasChanges, setPrevHasChanges] = useState(hasChanges);
69
76
  const userPickedTabRef = useRef(false);
70
77
  // Selection changed → auto-switch to inspect (unless user picked)
71
78
  if (selectedItem !== prevSelected) {
@@ -74,7 +81,7 @@ export function useSessionInspector(opts) {
74
81
  setActiveTab("inspect");
75
82
  }
76
83
  if (!selectedItem && activeTab === "inspect") {
77
- setActiveTab(deriveAutoTab(phase, null));
84
+ setActiveTab(deriveAutoTab(null));
78
85
  userPickedTabRef.current = false;
79
86
  }
80
87
  }
@@ -85,23 +92,23 @@ export function useSessionInspector(opts) {
85
92
  setPrevPhase(phase);
86
93
  if (wasTerminal !== isNowTerminal) {
87
94
  userPickedTabRef.current = false;
88
- setActiveTab(deriveAutoTab(phase, selectedItem));
95
+ setActiveTab(deriveAutoTab(selectedItem));
89
96
  }
90
97
  }
91
98
  // First write-back arrived → auto-switch to changes
92
- if (hasWriteBacks && !prevHasWriteBacks) {
93
- setPrevHasWriteBacks(hasWriteBacks);
99
+ if (hasChanges && !prevHasChanges) {
100
+ setPrevHasChanges(hasChanges);
94
101
  if (!userPickedTabRef.current) {
95
102
  setActiveTab("changes");
96
103
  }
97
104
  }
98
- if (hasWriteBacks !== prevHasWriteBacks) {
99
- setPrevHasWriteBacks(hasWriteBacks);
105
+ if (hasChanges !== prevHasChanges) {
106
+ setPrevHasChanges(hasChanges);
100
107
  }
101
108
  // Ensure active tab is valid (the selected tab may have been removed)
102
109
  const effectiveTab = tabs.some((t) => t.id === activeTab)
103
110
  ? activeTab
104
- : deriveAutoTab(phase, selectedItem);
111
+ : deriveAutoTab(selectedItem);
105
112
  const onTabChange = useCallback((tabId) => {
106
113
  userPickedTabRef.current = true;
107
114
  setActiveTab(tabId);
@@ -1 +1 @@
1
- {"version":3,"file":"useSessionInspector.js","sourceRoot":"","sources":["../../../src/session/inspector/useSessionInspector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSessionInspector.js","sourceRoot":"","sources":["../../../src/session/inspector/useSessionInspector.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
2
2
  import type { PendingApproval } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/approval_pb";
3
- import { ApprovalAction, ExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
3
+ import type { FileChangeSet } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/filereview_pb";
4
+ import { ApprovalAction, ExecutionPhase, FileDecisionAction } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
4
5
  import type { Session } from "@stigmer/protos/ai/stigmer/agentic/session/v1/api_pb";
5
6
  import type { McpServerUsage as ProtoMcpServerUsage } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/spec_pb";
6
7
  import type { WorkspaceEntry as ProtoWorkspaceEntry } from "@stigmer/protos/ai/stigmer/agentic/session/v1/workspace_pb";
7
8
  import type { ApiResourceReference as ProtoApiResourceReference } from "@stigmer/protos/ai/stigmer/commons/apiresource/io_pb";
8
9
  import type { AttachmentInput, EnvVarInput, McpServerUsageInput, ResourceRef, WorkspaceEntryInput } from "@stigmer/sdk";
10
+ import { type FileDecisionOptions } from "../execution/useFileReview";
9
11
  /**
10
12
  * Options for {@link UseSessionConversationReturn.sendFollowUp}.
11
13
  *
@@ -149,10 +151,42 @@ export interface UseSessionConversationReturn {
149
151
  readonly submitApproval: (toolCallId: string, action: ApprovalAction, comment?: string) => Promise<void>;
150
152
  /** Set of tool call IDs currently being submitted for approval. */
151
153
  readonly submittingApprovalIds: ReadonlySet<string>;
152
- /** Error from the last approval submission, or `null` when healthy. */
154
+ /**
155
+ * Per-tool-call approval failures, keyed by `toolCallId` — surfaced in-card by
156
+ * {@link MessageThread}/{@link ApprovalCard} beside the gate that failed
157
+ * (inline row or bottom backstop). The keyed parallel of
158
+ * {@link submittingApprovalIds}.
159
+ */
160
+ readonly approvalErrors: ReadonlyMap<string, Error>;
161
+ /**
162
+ * Error from the last approval submission, or `null` when healthy — the scalar
163
+ * mirror of {@link approvalErrors} (symmetric with `fileReviewError`), for a
164
+ * headless consumer wanting a single error value (e.g. the `ink` surface).
165
+ */
153
166
  readonly approvalError: Error | null;
154
- /** Reset `approvalError` to `null`. */
167
+ /** Reset every approval error (both {@link approvalErrors} and `approvalError`). */
155
168
  readonly clearApprovalError: () => void;
169
+ /** Captured change sets awaiting file review on the active execution, empty when none. */
170
+ readonly fileChangeSets: readonly FileChangeSet[];
171
+ /** Submit a file-review decision for a change set. The executionId is managed internally. */
172
+ readonly submitFileDecision: (changeSetId: string, action: FileDecisionAction, options?: FileDecisionOptions) => Promise<void>;
173
+ /** Decision keys ({@link fileDecisionKey}) currently being submitted. */
174
+ readonly submittingFileDecisionKeys: ReadonlySet<string>;
175
+ /**
176
+ * Per-decision failures, keyed by {@link fileDecisionKey} — surfaced in-card
177
+ * by {@link MessageThread}/{@link FileReviewCard} beside the failed control.
178
+ */
179
+ readonly fileDecisionErrors: ReadonlyMap<string, Error>;
180
+ /** Clear the error for one decision key (e.g. before a retry of that target). */
181
+ readonly clearFileDecisionError: (key: string) => void;
182
+ /**
183
+ * The most-recent file-review failure, or `null` when healthy — the scalar
184
+ * mirror of {@link fileDecisionErrors} (symmetric with `approvalError`), for a
185
+ * headless consumer wanting a single error value.
186
+ */
187
+ readonly fileReviewError: Error | null;
188
+ /** Reset every file-review error (both {@link fileDecisionErrors} and `fileReviewError`). */
189
+ readonly clearFileReviewError: () => void;
156
190
  /**
157
191
  * `true` when the active execution can be stopped — i.e. it is in a phase
158
192
  * the backend accepts a cancel/terminate from (`PENDING` or `IN_PROGRESS`).
@@ -1 +1 @@
1
- {"version":3,"file":"useSessionConversation.d.ts","sourceRoot":"","sources":["../../src/session/useSessionConversation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSessionConversation.d.ts","sourceRoot":"","sources":["../../src/session/useSessionConversation.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
3
- import { ExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
3
+ import { ExecutionPhase, FileChangeSetStatus } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
4
4
  import { isTerminalPhase } from "../execution/execution-phases";
5
5
  import { useStigmer } from "../hooks";
6
6
  import { toError } from "../internal/toError";
@@ -9,6 +9,7 @@ import { useCreateAgentExecution } from "../execution/useCreateAgentExecution";
9
9
  import { useExecutionStream } from "../execution/useExecutionStream";
10
10
  import { useAgentExecutionActions } from "../execution/useAgentExecutionActions";
11
11
  import { useSubmitApproval } from "../execution/useSubmitApproval";
12
+ import { useFileReview } from "../execution/useFileReview";
12
13
  import { useSession } from "./useSession";
13
14
  import { useSessionExecutions } from "./useSessionExecutions";
14
15
  import { useUpdateSession } from "./useUpdateSession";
@@ -84,7 +85,8 @@ export function useSessionConversation(sessionId, org) {
84
85
  });
85
86
  const { create, isCreating, clearError: clearCreateError, } = useCreateAgentExecution();
86
87
  const { update: updateSession } = useUpdateSession();
87
- const { submitApproval: rawSubmitApproval, submittingToolCallIds, error: approvalError, clearError: clearApprovalError, } = useSubmitApproval();
88
+ const { submitApproval: rawSubmitApproval, submittingToolCallIds, errorsByToolCallId: approvalErrors, error: approvalError, clearError: clearApprovalError, } = useSubmitApproval();
89
+ const { submitFileDecision: rawSubmitFileDecision, submittingDecisionKeys, decisionErrors: fileDecisionErrors, clearDecisionError: clearFileDecisionError, error: fileReviewError, clearError: clearFileReviewError, } = useFileReview();
88
90
  // Local execution: attach the session's runner worker while it is open and
89
91
  // detach it on close. No-op for cloud sessions or when no adapter is set.
90
92
  useLocalSessionWorker(sessionId, session);
@@ -256,6 +258,12 @@ export function useSessionConversation(sessionId, org) {
256
258
  return;
257
259
  await rawSubmitApproval(activeExecutionId, toolCallId, action, comment);
258
260
  }, [activeExecutionId, rawSubmitApproval]);
261
+ const fileChangeSets = useMemo(() => (activeStreamExecution?.status?.fileChangeSets ?? []).filter((cs) => cs.status === FileChangeSetStatus.AWAITING_REVIEW), [activeStreamExecution]);
262
+ const submitFileDecision = useCallback(async (changeSetId, action, options) => {
263
+ if (!activeExecutionId)
264
+ return;
265
+ await rawSubmitFileDecision(activeExecutionId, changeSetId, action, options);
266
+ }, [activeExecutionId, rawSubmitFileDecision]);
259
267
  const isLoading = sessionLoading || executionsLoading;
260
268
  const loadError = sessionError || executionsError;
261
269
  return {
@@ -278,8 +286,16 @@ export function useSessionConversation(sessionId, org) {
278
286
  pendingApprovals,
279
287
  submitApproval,
280
288
  submittingApprovalIds: submittingToolCallIds,
289
+ approvalErrors,
281
290
  approvalError,
282
291
  clearApprovalError,
292
+ fileChangeSets,
293
+ submitFileDecision,
294
+ submittingFileDecisionKeys: submittingDecisionKeys,
295
+ fileDecisionErrors,
296
+ clearFileDecisionError,
297
+ fileReviewError,
298
+ clearFileReviewError,
283
299
  isStoppable,
284
300
  stop,
285
301
  isStopping: stopActions.isSubmitting,
@@ -1 +1 @@
1
- {"version":3,"file":"useSessionConversation.js","sourceRoot":"","sources":["../../src/session/useSessionConversation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSessionConversation.js","sourceRoot":"","sources":["../../src/session/useSessionConversation.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAI1E,OAAO,EAAkB,cAAc,EAAE,mBAAmB,EAAsB,MAAM,8DAA8D,CAAC;AAYvJ,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,aAAa,EAA4B,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,4BAA4B,GAAG,KAAK,CAAC;AA4P3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,UAAU,sBAAsB,CACpC,SAAwB,EACxB,GAAW;IAEX,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,EACJ,OAAO,EACP,SAAS,EAAE,cAAc,EACzB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,cAAc,GACxB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAC1B,+EAA+E;IAC/E,+EAA+E;IAC/E,2EAA2E;IAC3E,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,EACJ,UAAU,EACV,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,eAAe,EACtB,OAAO,GACR,GAAG,oBAAoB,CAAC,SAAS,EAAE;QAClC,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,KAAK;QACzE,4EAA4E;QAC5E,4DAA4D;QAC5D,oBAAoB,EAAE,IAAI;KAC3B,CAAC,CAAC;IACH,MAAM,EACJ,MAAM,EACN,UAAU,EACV,UAAU,EAAE,gBAAgB,GAC7B,GAAG,uBAAuB,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACrD,MAAM,EACJ,cAAc,EAAE,iBAAiB,EACjC,qBAAqB,EACrB,kBAAkB,EAAE,cAAc,EAClC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,kBAAkB,GAC/B,GAAG,iBAAiB,EAAE,CAAC;IACxB,MAAM,EACJ,kBAAkB,EAAE,qBAAqB,EACzC,sBAAsB,EACtB,cAAc,EAAE,kBAAkB,EAClC,kBAAkB,EAAE,sBAAsB,EAC1C,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,oBAAoB,GACjC,GAAG,aAAa,EAAE,CAAC;IAEpB,2EAA2E;IAC3E,0EAA0E;IAC1E,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAE1C,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAC1D,IAAI,CACL,CAAC;IACF,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAC1D,IAAI,CACL,CAAC;IACF,yEAAyE;IACzE,wEAAwE;IACxE,6CAA6C;IAC7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,MAAM,CAGhB,IAAI,CAAC,CAAC;IAEhB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC;YAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,iBAAiB,GAAG,kBAAkB,IAAI,YAAY,CAAC;IAE7D,qEAAqE;IACrE,sEAAsE;IACtE,qEAAqE;IACrE,oCAAoC;IACpC,MAAM,iBAAiB,GAAG,uBAAuB,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,kBAAkB,CAAC,iBAAiB,EAAE;QACnD,KAAK,EAAE,iBAAiB;KACzB,CAAC,CAAC;IAEH,sEAAsE;IACtE,yEAAyE;IACzE,8DAA8D;IAC9D,6DAA6D;IAC7D,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,cAAc,GAClB,iBAAiB,KAAK,IAAI,IAAI,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GACpB,CAAC,MAAM,CAAC,WAAW;QACnB,CAAC,cAAc;QACf,CAAC,CAAC,iBAAiB,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;YACtD,MAAM,CAAC,eAAe;YACtB,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAE3B,SAAS,CAAC,GAAG,EAAE;QACb,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,0EAA0E;IAC1E,SAAS,CAAC,GAAG,EAAE;QACb,IACE,kBAAkB;YAClB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,kBAAkB,CAAC,EACrE,CAAC;YACD,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAC;IAErC,4EAA4E;IAC5E,2EAA2E;IAC3E,8EAA8E;IAC9E,wEAAwE;IACxE,8EAA8E;IAC9E,uDAAuD;IACvD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO;QAC9B,IAAI,kBAAkB;YAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,SAAS;YAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,kBAAkB,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAEtD,iEAAiE;IACjE,sEAAsE;IACtE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,IAAI,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC,iBAAiB;YAAE,OAAO,UAAU,CAAC;QAC1C,OAAO,UAAU,CAAC,MAAM,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,iBAAiB,CACpD,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEpC,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1C,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QACpC,OAAO,CACL,UAAU,CAAC,IAAI,CACb,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,iBAAiB,CACpD,IAAI,IAAI,CACV,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEpC,MAAM,qBAAqB,GACzB,MAAM,CAAC,SAAS,IAAI,sBAAsB,CAAC;IAE7C,MAAM,WAAW,GAAG,OAAO,CAAwB,GAAG,EAAE;QACtD,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QACpC,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtC,mEAAmE;IACnE,2DAA2D;IAC3D,kEAAkE;IAClE,MAAM,WAAW,GACf,WAAW,KAAK,cAAc,CAAC,iBAAiB;QAChD,WAAW,KAAK,cAAc,CAAC,qBAAqB,CAAC;IAEvD,MAAM,WAAW,GAAG,wBAAwB,CAAC,iBAAiB,EAAE;QAC9D,0EAA0E;QAC1E,2EAA2E;QAC3E,sEAAsE;QACtE,SAAS,EAAE,OAAO;KACnB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,WAAW,CACtB,KAAK,EAAE,MAAe,EAAiB,EAAE;QACvC,IAAI,CAAC,WAAW;YAAE,OAAO;QACzB,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,EACD,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,CAChC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,UAAU,IAAI,iBAAiB,KAAK,IAAI,CAAC;IAElE,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,IAAI,EAAE,EAC3C,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,IAAI,EAAE,EAC1C,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE,EACpC,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAC9B,KAAK,EAAE,OAAe,EAAE,OAA6B,EAAiB,EAAE;QACtE,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO;YAAE,OAAO;QAEnC,wEAAwE;QACxE,WAAW,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC3C,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE/B,IAAI,CAAC;YACH,MAAM,kBAAkB,GACtB,OAAO,EAAE,eAAe,KAAK,SAAS;gBACtC,OAAO,EAAE,gBAAgB,KAAK,SAAS;gBACvC,OAAO,EAAE,eAAe,KAAK,SAAS;gBACtC,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC;YAEnC,IAAI,kBAAkB,EAAE,CAAC;gBACvB,iEAAiE;gBACjE,qDAAqD;gBACrD,yCAAyC;gBACzC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC1D,MAAM,aAAa,CACjB,gBAAgB,CAAC,YAAY,EAAE;oBAC7B,eAAe,EAAE,OAAO,EAAE,eAAe;oBACzC,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;oBAC3C,eAAe,EAAE,OAAO,EAAE,eAAe;oBACzC,SAAS,EAAE,OAAO,EAAE,SAAS;iBAC9B,CAAC,CACH,CAAC;gBACF,cAAc,EAAE,CAAC;YACnB,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;gBAC1B,GAAG;gBACH,SAAS;gBACT,OAAO;gBACP,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;aAC9C,CAAC,CAAC;YACH,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,wEAAwE;YACxE,uEAAuE;YACvE,6DAA6D;YAC7D,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,GAAG,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC,EACD,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,CAAC,CACnF,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC;QACjC,IAAI,IAAI;YAAE,KAAK,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,gBAAgB,EAAE,CAAC;IACrB,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CAAC,qBAAqB,EAAE,MAAM,EAAE,gBAAgB,IAAI,EAAE,EAC3D,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAChC,KAAK,EACH,UAAkB,EAClB,MAAsB,EACtB,OAAgB,EACD,EAAE;QACjB,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC/B,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC,EACD,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CACvC,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CACH,CAAC,qBAAqB,EAAE,MAAM,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,CAC1D,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,mBAAmB,CAAC,eAAe,CAC1D,EACH,CAAC,qBAAqB,CAAC,CACxB,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CACpC,KAAK,EACH,WAAmB,EACnB,MAA0B,EAC1B,OAA6B,EACd,EAAE;QACjB,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC/B,MAAM,qBAAqB,CAAC,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC,EACD,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAC3C,CAAC;IAEF,MAAM,SAAS,GAAG,cAAc,IAAI,iBAAiB,CAAC;IACtD,MAAM,SAAS,GAAG,YAAY,IAAI,eAAe,CAAC;IAElD,OAAO;QACL,OAAO;QACP,mBAAmB;QACnB,qBAAqB;QACrB,WAAW;QACX,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;QAEjC,YAAY;QACZ,eAAe;QACf,SAAS,EAAE,UAAU;QACrB,SAAS;QACT,cAAc;QACd,aAAa;QAEb,kBAAkB;QAElB,gBAAgB;QAChB,eAAe;QACf,SAAS;QAET,gBAAgB;QAChB,cAAc;QACd,qBAAqB,EAAE,qBAAqB;QAC5C,cAAc;QACd,aAAa;QACb,kBAAkB;QAElB,cAAc;QACd,kBAAkB;QAClB,0BAA0B,EAAE,sBAAsB;QAClD,kBAAkB;QAClB,sBAAsB;QACtB,eAAe;QACf,oBAAoB;QAEpB,WAAW;QACX,IAAI;QACJ,UAAU,EAAE,WAAW,CAAC,YAAY;QACpC,SAAS,EAAE,WAAW,CAAC,KAAK;QAE5B,SAAS;QACT,SAAS;QAET,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,KAAK;QACzB,eAAe,EAAE,MAAM,CAAC,SAAS;KAClC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CACvB,OAAgB,EAChB,SAKC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,QAAS,CAAC;IAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,MAAM,gBAAgB,GACpB,SAAS,CAAC,gBAAgB,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE3D,MAAM,eAAe,GACnB,SAAS,CAAC,eAAe,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE1D,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAEpE,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,CAAC,IAAI,EAAE,eAAe,IAAI,SAAS,CAAC;QAClF,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,SAAS;QACnC,cAAc,EAAE,IAAI,EAAE,cAAc,IAAI,SAAS;QACjD,OAAO,EAAE,IAAI,EAAE,OAAO;QACtB,UAAU,EAAE,IAAI,EAAE,UAAU;QAC5B,eAAe,EAAE,IAAI,EAAE,eAAe;QACtC,QAAQ,EACN,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;YACrD,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;YACtB,CAAC,CAAC,SAAS;QACf,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;QACzE,eAAe,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;QACtE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KACrD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,74 @@
1
+ import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
2
+ import type { FileChange } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
3
+ /** Return value of {@link useSessionFileChanges}. */
4
+ export interface UseSessionFileChangesReturn {
5
+ /**
6
+ * One {@link FileChange} per file touched in the session — the *net*
7
+ * change for that path (see the net-diff note below) — ordered for a
8
+ * file-list (modified, then created/renamed, then deleted; alphabetical
9
+ * within each group).
10
+ */
11
+ readonly fileChanges: readonly FileChange[];
12
+ /** `true` when at least one file was changed across all executions. */
13
+ readonly hasFileChanges: boolean;
14
+ /** Number of distinct files changed. */
15
+ readonly fileChangeCount: number;
16
+ }
17
+ /**
18
+ * Pure derivation hook that aggregates an agent's file changes across every
19
+ * execution in a session into one net change per file. A headless building
20
+ * block for platform builders composing a consolidated session-changes surface
21
+ * (typically paired with {@link FileChangesView}); the Console itself renders
22
+ * file changes in the transcript (stamped edit rows + the per-turn decision
23
+ * bar) and does not consume this hook.
24
+ *
25
+ * **Source (ledger-first).** Under apply-then-review the changes live in the
26
+ * file-review ledger; {@link displayFileChangeSets} reads the server's live
27
+ * projection or folds the durable ledger for a terminal execution (whose
28
+ * projection is nil), and each captured change is projected onto the display
29
+ * {@link FileChange} via {@link toDisplayFileChange}. A pre-capture
30
+ * (legacy) execution has no ledger, so it falls back to the tool-call-coupled
31
+ * `ToolCall.file_changes` (#186; removed in a later slice with that field). The
32
+ * two sources are mutually exclusive per execution, so there is no double count.
33
+ *
34
+ * **Traversal.** The ledger is execution-scoped and already includes sub-agent
35
+ * captures (DD-19), so the primary path is one pass per execution. The legacy
36
+ * fallback walks the same surfaces the server-side approval recompute and
37
+ * `MessageThread` walk: `status.messages[].toolCalls` **and**
38
+ * `status.subAgentExecutions[].messages[].toolCalls`. Executions are visited in
39
+ * chronological order, so each path's change list is chronological.
40
+ *
41
+ * **Net-diff (not latest-wins).** `useSessionWriteBacks`/`useSessionArtifacts`
42
+ * dedup by "latest wins" because each entry is a *snapshot* (a PR; a file's
43
+ * final bytes). A {@link FileChange} is a *delta* — an agent often rewrites the
44
+ * same file several times in a turn, and showing only the last edit's diff
45
+ * would misrepresent what changed. So changes to the same path are reduced to a
46
+ * single net change: `before` from the first change, `after` from the last.
47
+ * Because a WHOLE_FILE `after` is a complete file snapshot, `first.before →
48
+ * last.after` is exactly the net change. A group with one change (the common
49
+ * case) is passed through untouched; multi-edit groups synthesize a net
50
+ * {@link FileChange} so every consumer speaks one proto type (DD-007).
51
+ *
52
+ * Counts and unified diffs for whole-file captures stay derivable by the
53
+ * presentation layer (the runner emits 0/"" sentinels), matching the contract
54
+ * the SDK `tool-view` established.
55
+ *
56
+ * @param executions - All executions for a session, in chronological order.
57
+ * Pass both completed and active-stream executions.
58
+ *
59
+ * @example
60
+ * ```tsx
61
+ * const allExecutions = [
62
+ * ...conv.completedExecutions,
63
+ * ...(conv.activeStreamExecution ? [conv.activeStreamExecution] : []),
64
+ * ];
65
+ * const { fileChanges, hasFileChanges } = useSessionFileChanges(allExecutions);
66
+ * ```
67
+ *
68
+ * @see useSessionWriteBacks — git-mode (PR) counterpart, which does drive the
69
+ * inspector's Changes tab
70
+ * @see useFileChangeContent — resolves a change's before/after text for diffing
71
+ * @see FileChangesView — component that renders this data
72
+ */
73
+ export declare function useSessionFileChanges(executions: readonly AgentExecution[]): UseSessionFileChangesReturn;
74
+ //# sourceMappingURL=useSessionFileChanges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSessionFileChanges.d.ts","sourceRoot":"","sources":["../../src/session/useSessionFileChanges.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iEAAiE,CAAC;AAQlG,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,uEAAuE;IACvE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,wCAAwC;IACxC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,SAAS,cAAc,EAAE,GACpC,2BAA2B,CAkC7B"}