@stigmer/react 3.1.17 → 3.2.1

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 (832) hide show
  1. package/agent-instance/AgentInstanceList.d.ts.map +1 -1
  2. package/agent-instance/AgentInstanceList.js +11 -3
  3. package/agent-instance/AgentInstanceList.js.map +1 -1
  4. package/channel/AgentChannelsPanel.d.ts +60 -0
  5. package/channel/AgentChannelsPanel.d.ts.map +1 -0
  6. package/channel/AgentChannelsPanel.js +255 -0
  7. package/channel/AgentChannelsPanel.js.map +1 -0
  8. package/channel/ChannelConversationsDialog.d.ts +41 -0
  9. package/channel/ChannelConversationsDialog.d.ts.map +1 -0
  10. package/channel/ChannelConversationsDialog.js +94 -0
  11. package/channel/ChannelConversationsDialog.js.map +1 -0
  12. package/channel/ChannelCredentialsDialog.d.ts +37 -0
  13. package/channel/ChannelCredentialsDialog.d.ts.map +1 -0
  14. package/channel/ChannelCredentialsDialog.js +75 -0
  15. package/channel/ChannelCredentialsDialog.js.map +1 -0
  16. package/channel/ChannelToolCredentials.d.ts +31 -0
  17. package/channel/ChannelToolCredentials.d.ts.map +1 -0
  18. package/channel/ChannelToolCredentials.js +41 -0
  19. package/channel/ChannelToolCredentials.js.map +1 -0
  20. package/channel/ConnectSlackDialog.d.ts +61 -0
  21. package/channel/ConnectSlackDialog.d.ts.map +1 -0
  22. package/channel/ConnectSlackDialog.js +238 -0
  23. package/channel/ConnectSlackDialog.js.map +1 -0
  24. package/channel/ConnectWhatsAppDialog.d.ts +70 -0
  25. package/channel/ConnectWhatsAppDialog.d.ts.map +1 -0
  26. package/channel/ConnectWhatsAppDialog.js +256 -0
  27. package/channel/ConnectWhatsAppDialog.js.map +1 -0
  28. package/channel/SlackMarkIcon.d.ts +11 -0
  29. package/channel/SlackMarkIcon.d.ts.map +1 -0
  30. package/channel/SlackMarkIcon.js +13 -0
  31. package/channel/SlackMarkIcon.js.map +1 -0
  32. package/channel/WhatsAppMarkIcon.d.ts +12 -0
  33. package/channel/WhatsAppMarkIcon.d.ts.map +1 -0
  34. package/channel/WhatsAppMarkIcon.js +14 -0
  35. package/channel/WhatsAppMarkIcon.js.map +1 -0
  36. package/channel/connect/ServingAppSection.d.ts +57 -0
  37. package/channel/connect/ServingAppSection.d.ts.map +1 -0
  38. package/channel/connect/ServingAppSection.js +49 -0
  39. package/channel/connect/ServingAppSection.js.map +1 -0
  40. package/channel/connect/ToolCredentialsSection.d.ts +20 -0
  41. package/channel/connect/ToolCredentialsSection.d.ts.map +1 -0
  42. package/channel/connect/ToolCredentialsSection.js +22 -0
  43. package/channel/connect/ToolCredentialsSection.js.map +1 -0
  44. package/channel/connect/VerbatimRefusal.d.ts +16 -0
  45. package/channel/connect/VerbatimRefusal.d.ts.map +1 -0
  46. package/channel/connect/VerbatimRefusal.js +18 -0
  47. package/channel/connect/VerbatimRefusal.js.map +1 -0
  48. package/channel/connect/icons.d.ts +16 -0
  49. package/channel/connect/icons.d.ts.map +1 -0
  50. package/channel/connect/icons.js +21 -0
  51. package/channel/connect/icons.js.map +1 -0
  52. package/channel/index.d.ts +36 -0
  53. package/channel/index.d.ts.map +1 -0
  54. package/channel/index.js +19 -0
  55. package/channel/index.js.map +1 -0
  56. package/channel/providerPresentation.d.ts +44 -0
  57. package/channel/providerPresentation.d.ts.map +1 -0
  58. package/channel/providerPresentation.js +106 -0
  59. package/channel/providerPresentation.js.map +1 -0
  60. package/channel/providers.d.ts +62 -0
  61. package/channel/providers.d.ts.map +1 -0
  62. package/channel/providers.js +26 -0
  63. package/channel/providers.js.map +1 -0
  64. package/channel/useAgentChannel.d.ts +31 -0
  65. package/channel/useAgentChannel.d.ts.map +1 -0
  66. package/channel/useAgentChannel.js +34 -0
  67. package/channel/useAgentChannel.js.map +1 -0
  68. package/channel/useAgentChannelList.d.ts +43 -0
  69. package/channel/useAgentChannelList.d.ts.map +1 -0
  70. package/channel/useAgentChannelList.js +39 -0
  71. package/channel/useAgentChannelList.js.map +1 -0
  72. package/channel/useChannelSessions.d.ts +47 -0
  73. package/channel/useChannelSessions.d.ts.map +1 -0
  74. package/channel/useChannelSessions.js +38 -0
  75. package/channel/useChannelSessions.js.map +1 -0
  76. package/channel/useChannelToolReadiness.d.ts +23 -0
  77. package/channel/useChannelToolReadiness.d.ts.map +1 -0
  78. package/channel/useChannelToolReadiness.js +28 -0
  79. package/channel/useChannelToolReadiness.js.map +1 -0
  80. package/channel/useConnectSlackChannel.d.ts +75 -0
  81. package/channel/useConnectSlackChannel.d.ts.map +1 -0
  82. package/channel/useConnectSlackChannel.js +115 -0
  83. package/channel/useConnectSlackChannel.js.map +1 -0
  84. package/channel/useCreateAgentChannel.d.ts +42 -0
  85. package/channel/useCreateAgentChannel.d.ts.map +1 -0
  86. package/channel/useCreateAgentChannel.js +48 -0
  87. package/channel/useCreateAgentChannel.js.map +1 -0
  88. package/channel/useDeleteAgentChannel.d.ts +40 -0
  89. package/channel/useDeleteAgentChannel.d.ts.map +1 -0
  90. package/channel/useDeleteAgentChannel.js +44 -0
  91. package/channel/useDeleteAgentChannel.js.map +1 -0
  92. package/channel/useInstallChannel.d.ts +60 -0
  93. package/channel/useInstallChannel.d.ts.map +1 -0
  94. package/channel/useInstallChannel.js +63 -0
  95. package/channel/useInstallChannel.js.map +1 -0
  96. package/channel/useOrgAgentChannelList.d.ts +32 -0
  97. package/channel/useOrgAgentChannelList.d.ts.map +1 -0
  98. package/channel/useOrgAgentChannelList.js +29 -0
  99. package/channel/useOrgAgentChannelList.js.map +1 -0
  100. package/channel/useSaveAgentChannel.d.ts +63 -0
  101. package/channel/useSaveAgentChannel.d.ts.map +1 -0
  102. package/channel/useSaveAgentChannel.js +104 -0
  103. package/channel/useSaveAgentChannel.js.map +1 -0
  104. package/channel-app/ChannelAppDetailPanel.d.ts +46 -0
  105. package/channel-app/ChannelAppDetailPanel.d.ts.map +1 -0
  106. package/channel-app/ChannelAppDetailPanel.js +142 -0
  107. package/channel-app/ChannelAppDetailPanel.js.map +1 -0
  108. package/channel-app/ChannelAppListPanel.d.ts +36 -0
  109. package/channel-app/ChannelAppListPanel.d.ts.map +1 -0
  110. package/channel-app/ChannelAppListPanel.js +63 -0
  111. package/channel-app/ChannelAppListPanel.js.map +1 -0
  112. package/channel-app/CreateChannelAppForm.d.ts +54 -0
  113. package/channel-app/CreateChannelAppForm.d.ts.map +1 -0
  114. package/channel-app/CreateChannelAppForm.js +140 -0
  115. package/channel-app/CreateChannelAppForm.js.map +1 -0
  116. package/channel-app/index.d.ts +18 -0
  117. package/channel-app/index.d.ts.map +1 -0
  118. package/channel-app/index.js +10 -0
  119. package/channel-app/index.js.map +1 -0
  120. package/channel-app/internal.d.ts +33 -0
  121. package/channel-app/internal.d.ts.map +1 -0
  122. package/channel-app/internal.js +44 -0
  123. package/channel-app/internal.js.map +1 -0
  124. package/channel-app/slackAppSetup.d.ts +80 -0
  125. package/channel-app/slackAppSetup.d.ts.map +1 -0
  126. package/channel-app/slackAppSetup.js +123 -0
  127. package/channel-app/slackAppSetup.js.map +1 -0
  128. package/channel-app/useChannelAppList.d.ts +35 -0
  129. package/channel-app/useChannelAppList.d.ts.map +1 -0
  130. package/channel-app/useChannelAppList.js +34 -0
  131. package/channel-app/useChannelAppList.js.map +1 -0
  132. package/channel-app/useCreateChannelApp.d.ts +39 -0
  133. package/channel-app/useCreateChannelApp.d.ts.map +1 -0
  134. package/channel-app/useCreateChannelApp.js +50 -0
  135. package/channel-app/useCreateChannelApp.js.map +1 -0
  136. package/channel-app/useDeleteChannelApp.d.ts +31 -0
  137. package/channel-app/useDeleteChannelApp.d.ts.map +1 -0
  138. package/channel-app/useDeleteChannelApp.js +43 -0
  139. package/channel-app/useDeleteChannelApp.js.map +1 -0
  140. package/channel-app/useUpdateChannelApp.d.ts +39 -0
  141. package/channel-app/useUpdateChannelApp.d.ts.map +1 -0
  142. package/channel-app/useUpdateChannelApp.js +50 -0
  143. package/channel-app/useUpdateChannelApp.js.map +1 -0
  144. package/channel-app/whatsappAppSetup.d.ts +51 -0
  145. package/channel-app/whatsappAppSetup.d.ts.map +1 -0
  146. package/channel-app/whatsappAppSetup.js +57 -0
  147. package/channel-app/whatsappAppSetup.js.map +1 -0
  148. package/environment/index.d.ts +2 -0
  149. package/environment/index.d.ts.map +1 -1
  150. package/environment/index.js +1 -0
  151. package/environment/index.js.map +1 -1
  152. package/environment/useToolCredentialsReadiness.d.ts +52 -0
  153. package/environment/useToolCredentialsReadiness.d.ts.map +1 -0
  154. package/environment/useToolCredentialsReadiness.js +84 -0
  155. package/environment/useToolCredentialsReadiness.js.map +1 -0
  156. package/execution/ArtifactContentBody.d.ts.map +1 -1
  157. package/execution/ArtifactContentBody.js +5 -21
  158. package/execution/ArtifactContentBody.js.map +1 -1
  159. package/execution/ArtifactFileContent.d.ts +28 -0
  160. package/execution/ArtifactFileContent.d.ts.map +1 -0
  161. package/execution/ArtifactFileContent.js +36 -0
  162. package/execution/ArtifactFileContent.js.map +1 -0
  163. package/execution/ArtifactRow.d.ts +8 -20
  164. package/execution/ArtifactRow.d.ts.map +1 -1
  165. package/execution/ArtifactRow.js +12 -45
  166. package/execution/ArtifactRow.js.map +1 -1
  167. package/execution/ArtifactRowView.d.ts +43 -0
  168. package/execution/ArtifactRowView.d.ts.map +1 -0
  169. package/execution/ArtifactRowView.js +35 -0
  170. package/execution/ArtifactRowView.js.map +1 -0
  171. package/execution/FileChangesView.d.ts.map +1 -1
  172. package/execution/FileChangesView.js +1 -61
  173. package/execution/FileChangesView.js.map +1 -1
  174. package/execution/SubAgentSection.d.ts.map +1 -1
  175. package/execution/SubAgentSection.js +4 -15
  176. package/execution/SubAgentSection.js.map +1 -1
  177. package/execution/ToolCallItem.d.ts.map +1 -1
  178. package/execution/ToolCallItem.js +16 -61
  179. package/execution/ToolCallItem.js.map +1 -1
  180. package/execution/agent-execution-document.d.ts +31 -0
  181. package/execution/agent-execution-document.d.ts.map +1 -0
  182. package/execution/agent-execution-document.js +48 -0
  183. package/execution/agent-execution-document.js.map +1 -0
  184. package/{session → execution}/artifact-document.d.ts +2 -3
  185. package/execution/artifact-document.d.ts.map +1 -0
  186. package/execution/artifact-document.js +23 -0
  187. package/execution/artifact-document.js.map +1 -0
  188. package/execution/artifact-row-item.d.ts +56 -0
  189. package/execution/artifact-row-item.d.ts.map +1 -0
  190. package/execution/artifact-row-item.js +57 -0
  191. package/execution/artifact-row-item.js.map +1 -0
  192. package/execution/deriveExecutionFileChanges.d.ts +55 -0
  193. package/execution/deriveExecutionFileChanges.d.ts.map +1 -0
  194. package/execution/deriveExecutionFileChanges.js +216 -0
  195. package/execution/deriveExecutionFileChanges.js.map +1 -0
  196. package/execution/file-change-document.d.ts +22 -0
  197. package/execution/file-change-document.d.ts.map +1 -0
  198. package/execution/file-change-document.js +34 -0
  199. package/execution/file-change-document.js.map +1 -0
  200. package/execution/index.d.ts +14 -0
  201. package/execution/index.d.ts.map +1 -1
  202. package/execution/index.js +9 -0
  203. package/execution/index.js.map +1 -1
  204. package/execution/useArtifactContentById.d.ts +61 -0
  205. package/execution/useArtifactContentById.d.ts.map +1 -0
  206. package/execution/useArtifactContentById.js +63 -0
  207. package/execution/useArtifactContentById.js.map +1 -0
  208. package/execution/useArtifactDownload.d.ts +4 -3
  209. package/execution/useArtifactDownload.d.ts.map +1 -1
  210. package/execution/useArtifactDownload.js +4 -3
  211. package/execution/useArtifactDownload.js.map +1 -1
  212. package/execution/useCreateAgentExecution.d.ts +1 -1
  213. package/execution/useLiveAgentExecution.d.ts +59 -0
  214. package/execution/useLiveAgentExecution.d.ts.map +1 -0
  215. package/execution/useLiveAgentExecution.js +73 -0
  216. package/execution/useLiveAgentExecution.js.map +1 -0
  217. package/index.d.ts +15 -10
  218. package/index.d.ts.map +1 -1
  219. package/index.js +21 -6
  220. package/index.js.map +1 -1
  221. package/internal/DecisionButton.d.ts +4 -3
  222. package/internal/DecisionButton.d.ts.map +1 -1
  223. package/internal/DecisionButton.js +4 -3
  224. package/internal/DecisionButton.js.map +1 -1
  225. package/internal/oauthPopup.d.ts +101 -0
  226. package/internal/oauthPopup.d.ts.map +1 -0
  227. package/internal/oauthPopup.js +208 -0
  228. package/internal/oauthPopup.js.map +1 -0
  229. package/internal/store/index.d.ts +0 -2
  230. package/internal/store/index.d.ts.map +1 -1
  231. package/internal/store/index.js +0 -1
  232. package/internal/store/index.js.map +1 -1
  233. package/internal/store/workflow-execution-event-store.d.ts +34 -1
  234. package/internal/store/workflow-execution-event-store.d.ts.map +1 -1
  235. package/internal/store/workflow-execution-event-store.js +81 -3
  236. package/internal/store/workflow-execution-event-store.js.map +1 -1
  237. package/internal/store/workspace-file-selection-store.d.ts +1 -2
  238. package/internal/store/workspace-file-selection-store.d.ts.map +1 -1
  239. package/internal/store/workspace-file-selection-store.js +2 -5
  240. package/internal/store/workspace-file-selection-store.js.map +1 -1
  241. package/internal/thread-card/ThreadCardShell.d.ts +91 -0
  242. package/internal/thread-card/ThreadCardShell.d.ts.map +1 -0
  243. package/internal/thread-card/ThreadCardShell.js +41 -0
  244. package/internal/thread-card/ThreadCardShell.js.map +1 -0
  245. package/internal/thread-card/glyphs.d.ts +34 -0
  246. package/internal/thread-card/glyphs.d.ts.map +1 -0
  247. package/internal/thread-card/glyphs.js +50 -0
  248. package/internal/thread-card/glyphs.js.map +1 -0
  249. package/internal/thread-card/index.d.ts +3 -0
  250. package/internal/thread-card/index.d.ts.map +1 -0
  251. package/internal/thread-card/index.js +3 -0
  252. package/internal/thread-card/index.js.map +1 -0
  253. package/internal/useRevealLine.d.ts +2 -2
  254. package/internal/useRevealLine.js +2 -2
  255. package/mcp-server/OAuthCallbackHandler.js +1 -1
  256. package/mcp-server/OAuthCallbackHandler.js.map +1 -1
  257. package/mcp-server/useMcpServerOAuthConnect.d.ts +4 -23
  258. package/mcp-server/useMcpServerOAuthConnect.d.ts.map +1 -1
  259. package/mcp-server/useMcpServerOAuthConnect.js +12 -145
  260. package/mcp-server/useMcpServerOAuthConnect.js.map +1 -1
  261. package/package.json +4 -4
  262. package/session/NewSessionViewer.d.ts.map +1 -1
  263. package/session/NewSessionViewer.js +0 -1
  264. package/session/NewSessionViewer.js.map +1 -1
  265. package/session/SessionPanelChip.d.ts +7 -22
  266. package/session/SessionPanelChip.d.ts.map +1 -1
  267. package/session/SessionPanelChip.js +8 -36
  268. package/session/SessionPanelChip.js.map +1 -1
  269. package/session/SessionViewer.d.ts +7 -4
  270. package/session/SessionViewer.d.ts.map +1 -1
  271. package/session/SessionViewer.js +32 -30
  272. package/session/SessionViewer.js.map +1 -1
  273. package/session/audience.d.ts +15 -1
  274. package/session/audience.d.ts.map +1 -1
  275. package/session/channelOrigin.d.ts +33 -0
  276. package/session/channelOrigin.d.ts.map +1 -0
  277. package/session/channelOrigin.js +36 -0
  278. package/session/channelOrigin.js.map +1 -0
  279. package/session/facets/index.d.ts +0 -2
  280. package/session/facets/index.d.ts.map +1 -1
  281. package/session/facets/index.js +0 -1
  282. package/session/facets/index.js.map +1 -1
  283. package/session/index.d.ts +2 -2
  284. package/session/index.d.ts.map +1 -1
  285. package/session/index.js +5 -3
  286. package/session/index.js.map +1 -1
  287. package/session/useNewSessionFlow.d.ts +4 -0
  288. package/session/useNewSessionFlow.d.ts.map +1 -1
  289. package/session/useNewSessionFlow.js +33 -4
  290. package/session/useNewSessionFlow.js.map +1 -1
  291. package/session/usePersistedModel.d.ts +11 -0
  292. package/session/usePersistedModel.d.ts.map +1 -1
  293. package/session/usePersistedModel.js +14 -3
  294. package/session/usePersistedModel.js.map +1 -1
  295. package/session/useSessionFileChanges.d.ts +10 -34
  296. package/session/useSessionFileChanges.d.ts.map +1 -1
  297. package/session/useSessionFileChanges.js +9 -141
  298. package/session/useSessionFileChanges.js.map +1 -1
  299. package/session/useSessionPageFlow.d.ts.map +1 -1
  300. package/session/useSessionPageFlow.js +12 -1
  301. package/session/useSessionPageFlow.js.map +1 -1
  302. package/session/useSessionPanel.d.ts +5 -15
  303. package/session/useSessionPanel.d.ts.map +1 -1
  304. package/session/useSessionPanel.js +3 -35
  305. package/session/useSessionPanel.js.map +1 -1
  306. package/session/useSessionRailViews.d.ts +3 -6
  307. package/session/useSessionRailViews.d.ts.map +1 -1
  308. package/session/useSessionRailViews.js +3 -17
  309. package/session/useSessionRailViews.js.map +1 -1
  310. package/settings/ChannelAppsSection.d.ts +13 -0
  311. package/settings/ChannelAppsSection.d.ts.map +1 -0
  312. package/settings/ChannelAppsSection.js +48 -0
  313. package/settings/ChannelAppsSection.js.map +1 -0
  314. package/settings/index.d.ts +1 -0
  315. package/settings/index.d.ts.map +1 -1
  316. package/settings/index.js +1 -0
  317. package/settings/index.js.map +1 -1
  318. package/settings/settings-nav.d.ts.map +1 -1
  319. package/settings/settings-nav.js +6 -1
  320. package/settings/settings-nav.js.map +1 -1
  321. package/sharing/AgentShareList.d.ts.map +1 -1
  322. package/sharing/AgentShareList.js +11 -3
  323. package/sharing/AgentShareList.js.map +1 -1
  324. package/sharing/ShareAgentDialog.js +1 -1
  325. package/sharing/useShareToolReadiness.d.ts +9 -38
  326. package/sharing/useShareToolReadiness.d.ts.map +1 -1
  327. package/sharing/useShareToolReadiness.js +7 -72
  328. package/sharing/useShareToolReadiness.js.map +1 -1
  329. package/src/agent-instance/AgentInstanceList.tsx +60 -42
  330. package/src/agent-instance/__tests__/AgentInstanceList.test.tsx +161 -0
  331. package/src/channel/AgentChannelsPanel.tsx +688 -0
  332. package/src/channel/ChannelConversationsDialog.tsx +267 -0
  333. package/src/channel/ChannelCredentialsDialog.tsx +219 -0
  334. package/src/channel/ChannelToolCredentials.tsx +124 -0
  335. package/src/channel/ConnectSlackDialog.tsx +611 -0
  336. package/src/channel/ConnectWhatsAppDialog.tsx +624 -0
  337. package/src/channel/SlackMarkIcon.tsx +21 -0
  338. package/src/channel/WhatsAppMarkIcon.tsx +22 -0
  339. package/src/channel/__tests__/AgentChannelsPanel.test.tsx +638 -0
  340. package/src/channel/__tests__/ChannelConversationsDialog.test.tsx +114 -0
  341. package/src/channel/__tests__/ChannelCredentialsDialog.test.tsx +240 -0
  342. package/src/channel/__tests__/ConnectSlackDialog.test.tsx +659 -0
  343. package/src/channel/__tests__/ConnectWhatsAppDialog.test.tsx +564 -0
  344. package/src/channel/__tests__/providers.test.ts +118 -0
  345. package/src/channel/__tests__/useAgentChannel.test.tsx +116 -0
  346. package/src/channel/__tests__/useAgentChannelList.test.tsx +166 -0
  347. package/src/channel/__tests__/useChannelSessions.test.tsx +95 -0
  348. package/src/channel/__tests__/useChannelToolReadiness.test.tsx +158 -0
  349. package/src/channel/__tests__/useConnectSlackChannel.test.tsx +276 -0
  350. package/src/channel/__tests__/useDeleteAgentChannel.test.tsx +97 -0
  351. package/src/channel/__tests__/useInstallChannel.test.tsx +177 -0
  352. package/src/channel/__tests__/useSaveAgentChannel.test.tsx +294 -0
  353. package/src/channel/connect/ServingAppSection.tsx +185 -0
  354. package/src/channel/connect/ToolCredentialsSection.tsx +67 -0
  355. package/src/channel/connect/VerbatimRefusal.tsx +27 -0
  356. package/src/channel/connect/icons.tsx +42 -0
  357. package/src/channel/index.ts +65 -0
  358. package/src/channel/providerPresentation.ts +154 -0
  359. package/src/channel/providers.ts +73 -0
  360. package/src/channel/useAgentChannel.ts +58 -0
  361. package/src/channel/useAgentChannelList.ts +69 -0
  362. package/src/channel/useChannelSessions.ts +73 -0
  363. package/src/channel/useChannelToolReadiness.ts +39 -0
  364. package/src/channel/useConnectSlackChannel.ts +195 -0
  365. package/src/channel/useCreateAgentChannel.ts +73 -0
  366. package/src/channel/useDeleteAgentChannel.ts +71 -0
  367. package/src/channel/useInstallChannel.ts +117 -0
  368. package/src/channel/useOrgAgentChannelList.ts +60 -0
  369. package/src/channel/useSaveAgentChannel.ts +133 -0
  370. package/src/channel-app/ChannelAppDetailPanel.tsx +510 -0
  371. package/src/channel-app/ChannelAppListPanel.tsx +201 -0
  372. package/src/channel-app/CreateChannelAppForm.tsx +529 -0
  373. package/src/channel-app/__tests__/channelAppWhatsApp.test.tsx +270 -0
  374. package/src/channel-app/__tests__/slackAppSetup.test.ts +75 -0
  375. package/src/channel-app/__tests__/useChannelAppHooks.test.tsx +157 -0
  376. package/src/channel-app/__tests__/whatsappAppSetup.test.ts +39 -0
  377. package/src/channel-app/index.ts +30 -0
  378. package/src/channel-app/internal.tsx +180 -0
  379. package/src/channel-app/slackAppSetup.ts +153 -0
  380. package/src/channel-app/useChannelAppList.ts +59 -0
  381. package/src/channel-app/useCreateChannelApp.ts +70 -0
  382. package/src/channel-app/useDeleteChannelApp.ts +62 -0
  383. package/src/channel-app/useUpdateChannelApp.ts +70 -0
  384. package/src/channel-app/whatsappAppSetup.ts +62 -0
  385. package/src/environment/index.ts +2 -0
  386. package/src/environment/useToolCredentialsReadiness.ts +122 -0
  387. package/src/execution/ArtifactContentBody.tsx +6 -88
  388. package/src/execution/ArtifactFileContent.tsx +110 -0
  389. package/src/execution/ArtifactRow.tsx +28 -118
  390. package/src/execution/ArtifactRowView.tsx +137 -0
  391. package/src/execution/FileChangesView.tsx +4 -69
  392. package/src/execution/SubAgentSection.tsx +2 -36
  393. package/src/execution/ToolCallItem.tsx +48 -175
  394. package/src/execution/__tests__/ArtifactFileContent.test.tsx +60 -0
  395. package/src/execution/__tests__/ArtifactRowView.test.tsx +78 -0
  396. package/src/execution/__tests__/agent-execution-document.test.ts +45 -0
  397. package/src/execution/__tests__/artifact-row-item.test.ts +128 -0
  398. package/src/execution/__tests__/deriveExecutionFileChanges.test.ts +270 -0
  399. package/src/execution/__tests__/useArtifactContentById.test.tsx +85 -0
  400. package/src/execution/__tests__/useLiveAgentExecution.test.tsx +202 -0
  401. package/src/execution/agent-execution-document.ts +54 -0
  402. package/src/execution/artifact-document.ts +24 -0
  403. package/src/execution/artifact-row-item.ts +97 -0
  404. package/src/execution/deriveExecutionFileChanges.ts +237 -0
  405. package/src/execution/file-change-document.ts +37 -0
  406. package/src/execution/index.ts +36 -0
  407. package/src/execution/useArtifactContentById.ts +120 -0
  408. package/src/execution/useArtifactDownload.ts +4 -3
  409. package/src/execution/useCreateAgentExecution.ts +1 -1
  410. package/src/execution/useLiveAgentExecution.ts +127 -0
  411. package/src/index.ts +155 -11
  412. package/src/internal/DecisionButton.tsx +4 -3
  413. package/src/internal/__tests__/ThreadCardShell.test.tsx +105 -0
  414. package/src/internal/__tests__/oauthPopup.test.ts +245 -0
  415. package/src/internal/oauthPopup.ts +261 -0
  416. package/src/internal/store/__tests__/workflow-execution-event-store.test.ts +375 -5
  417. package/src/internal/store/index.ts +0 -3
  418. package/src/internal/store/workflow-execution-event-store.ts +123 -4
  419. package/src/internal/store/workspace-file-selection-store.ts +2 -5
  420. package/src/internal/thread-card/ThreadCardShell.tsx +189 -0
  421. package/src/internal/thread-card/glyphs.tsx +108 -0
  422. package/src/internal/thread-card/index.ts +19 -0
  423. package/src/internal/useRevealLine.ts +2 -2
  424. package/src/mcp-server/OAuthCallbackHandler.tsx +2 -2
  425. package/src/mcp-server/useMcpServerOAuthConnect.ts +22 -184
  426. package/src/session/NewSessionViewer.tsx +0 -1
  427. package/src/session/SessionPanelChip.tsx +10 -96
  428. package/src/session/SessionViewer.tsx +170 -144
  429. package/src/session/__tests__/SessionViewer-artifactTabs.test.tsx +1 -1
  430. package/src/session/__tests__/observerAudience.test.tsx +241 -0
  431. package/src/session/__tests__/useNewSessionFlow.test.tsx +64 -0
  432. package/src/session/__tests__/usePersistedModel.test.tsx +36 -0
  433. package/src/session/__tests__/useSessionPageFlow.guest.test.tsx +48 -1
  434. package/src/session/__tests__/useSessionPanel.test.ts +6 -61
  435. package/src/session/__tests__/useSessionRailViews.test.tsx +5 -27
  436. package/src/session/audience.ts +15 -1
  437. package/src/session/channelOrigin.ts +45 -0
  438. package/src/session/facets/index.ts +0 -3
  439. package/src/session/index.ts +9 -6
  440. package/src/session/useNewSessionFlow.ts +35 -4
  441. package/src/session/usePersistedModel.ts +25 -3
  442. package/src/session/useSessionFileChanges.ts +12 -153
  443. package/src/session/useSessionPageFlow.ts +13 -2
  444. package/src/session/useSessionPanel.ts +8 -51
  445. package/src/session/useSessionRailViews.tsx +2 -27
  446. package/src/settings/ChannelAppsSection.tsx +133 -0
  447. package/src/settings/index.ts +1 -0
  448. package/src/settings/settings-nav.ts +6 -0
  449. package/src/sharing/AgentShareList.tsx +85 -64
  450. package/src/sharing/ShareAgentDialog.tsx +1 -1
  451. package/src/sharing/__tests__/AgentShareList.test.tsx +92 -12
  452. package/src/sharing/useShareToolReadiness.ts +13 -101
  453. package/src/workflow/WorkflowAgentExecutionDocument.tsx +283 -0
  454. package/src/workflow/WorkflowApprovalList.tsx +158 -0
  455. package/src/workflow/WorkflowArtifactDocument.tsx +257 -0
  456. package/src/workflow/WorkflowExecutionGraph.tsx +40 -78
  457. package/src/workflow/WorkflowExecutionViewer.tsx +610 -287
  458. package/src/workflow/WorkflowFileReviewList.tsx +1 -1
  459. package/src/workflow/WorkflowTaskApprovalCard.tsx +5 -4
  460. package/src/workflow/WorkflowTaskApprovalSummary.tsx +6 -6
  461. package/src/workflow/__tests__/WorkflowAgentExecutionDocument.test.tsx +651 -0
  462. package/src/workflow/__tests__/WorkflowApprovalList.test.tsx +229 -0
  463. package/src/workflow/__tests__/WorkflowArtifactDocument.test.tsx +90 -0
  464. package/src/workflow/__tests__/WorkflowArtifactsTab.test.tsx +85 -0
  465. package/src/workflow/__tests__/WorkflowChangesTab.test.tsx +113 -0
  466. package/src/workflow/__tests__/WorkflowExecutionViewer.approvals.test.tsx +473 -0
  467. package/src/workflow/__tests__/WorkflowExecutionViewer.reconciliation.test.tsx +632 -0
  468. package/src/workflow/__tests__/WorkflowTaskApprovalSummary.test.tsx +1 -1
  469. package/src/workflow/__tests__/WorkflowTaskThread.test.tsx +947 -0
  470. package/src/workflow/__tests__/WorkflowUsageTab.test.tsx +163 -0
  471. package/src/workflow/__tests__/agent-call-live-experience.test.ts +6 -53
  472. package/src/workflow/__tests__/derive-execution-overlays.test.ts +4 -0
  473. package/src/workflow/__tests__/deriveWorkflowArtifactItems.test.ts +71 -0
  474. package/src/workflow/__tests__/deriveWorkflowUsageItems.test.ts +132 -0
  475. package/src/workflow/__tests__/execution-graph.test.ts +8 -0
  476. package/src/workflow/__tests__/project-thread-items.test.ts +428 -0
  477. package/src/workflow/__tests__/structured-data-viewer.test.tsx +1 -1
  478. package/src/workflow/__tests__/task-approval.test.ts +149 -0
  479. package/src/workflow/__tests__/task-detail-io.test.ts +40 -0
  480. package/src/workflow/__tests__/task-presentation.test.ts +479 -0
  481. package/src/workflow/__tests__/useActiveTaskName.test.ts +4 -0
  482. package/src/workflow/__tests__/useApprovalBoundary.test.ts +158 -0
  483. package/src/workflow/__tests__/useExecutionAnnouncements.test.ts +4 -0
  484. package/src/workflow/__tests__/useFollowExecution.test.ts +2 -89
  485. package/src/workflow/__tests__/useWorkflowExecutionFileChanges.test.tsx +412 -0
  486. package/src/workflow/__tests__/useWorkflowExecutionPanel.test.ts +297 -0
  487. package/src/workflow/__tests__/useWorkflowExecutionRailViews.test.tsx +115 -0
  488. package/src/workflow/deriveWorkflowArtifactItems.ts +59 -0
  489. package/src/workflow/deriveWorkflowUsageItems.ts +73 -0
  490. package/src/workflow/diagnosis-document.ts +31 -0
  491. package/src/workflow/execution/index.ts +0 -15
  492. package/src/workflow/facets/WorkflowArtifactsTab.tsx +99 -0
  493. package/src/workflow/facets/WorkflowChangesTab.tsx +129 -0
  494. package/src/workflow/facets/WorkflowUsageTab.tsx +258 -0
  495. package/src/workflow/format-utils.ts +2 -3
  496. package/src/workflow/index.ts +106 -62
  497. package/src/workflow/inspector/index.ts +0 -4
  498. package/src/workflow/instance/WorkflowInstanceList.tsx +59 -41
  499. package/src/workflow/instance/__tests__/WorkflowInstanceList.test.tsx +156 -0
  500. package/src/workflow/task-detail/index.ts +11 -0
  501. package/src/workflow/task-detail/task-approval.ts +158 -0
  502. package/src/workflow/task-detail/task-detail-io.ts +65 -0
  503. package/src/workflow/thread/WorkflowTaskThread.tsx +845 -0
  504. package/src/workflow/thread/project-thread-items.ts +235 -0
  505. package/src/workflow/thread/task-presentation.ts +427 -0
  506. package/src/workflow/thread/thread-presentation.ts +59 -0
  507. package/src/workflow/thread/useWorkflowThreadItems.ts +34 -0
  508. package/src/workflow/useApprovalBoundary.ts +72 -0
  509. package/src/workflow/useFollowExecution.ts +0 -26
  510. package/src/workflow/useWorkflowArtifactDownload.ts +68 -0
  511. package/src/workflow/useWorkflowExecutionActions.ts +3 -2
  512. package/src/workflow/useWorkflowExecutionFileChanges.ts +341 -0
  513. package/src/workflow/useWorkflowExecutionGraph.ts +3 -43
  514. package/src/workflow/useWorkflowExecutionPanel.ts +292 -0
  515. package/src/workflow/useWorkflowExecutionRailViews.tsx +173 -0
  516. package/src/workspace/FileViewer.tsx +3 -3
  517. package/src/workspace/PanelChip.tsx +103 -0
  518. package/src/workspace/WorkspaceSurface.tsx +50 -6
  519. package/src/workspace/__tests__/WorkspaceSurface.test.tsx +110 -0
  520. package/src/workspace/index.ts +3 -0
  521. package/styles.css +1 -1
  522. package/workflow/WorkflowAgentExecutionDocument.d.ts +79 -0
  523. package/workflow/WorkflowAgentExecutionDocument.d.ts.map +1 -0
  524. package/workflow/WorkflowAgentExecutionDocument.js +87 -0
  525. package/workflow/WorkflowAgentExecutionDocument.js.map +1 -0
  526. package/workflow/WorkflowApprovalList.d.ts +62 -0
  527. package/workflow/WorkflowApprovalList.d.ts.map +1 -0
  528. package/workflow/WorkflowApprovalList.js +52 -0
  529. package/workflow/WorkflowApprovalList.js.map +1 -0
  530. package/workflow/WorkflowArtifactDocument.d.ts +29 -0
  531. package/workflow/WorkflowArtifactDocument.d.ts.map +1 -0
  532. package/workflow/WorkflowArtifactDocument.js +89 -0
  533. package/workflow/WorkflowArtifactDocument.js.map +1 -0
  534. package/workflow/WorkflowExecutionGraph.d.ts +15 -13
  535. package/workflow/WorkflowExecutionGraph.d.ts.map +1 -1
  536. package/workflow/WorkflowExecutionGraph.js +18 -53
  537. package/workflow/WorkflowExecutionGraph.js.map +1 -1
  538. package/workflow/WorkflowExecutionViewer.d.ts +8 -5
  539. package/workflow/WorkflowExecutionViewer.d.ts.map +1 -1
  540. package/workflow/WorkflowExecutionViewer.js +329 -54
  541. package/workflow/WorkflowExecutionViewer.js.map +1 -1
  542. package/workflow/WorkflowFileReviewList.d.ts +1 -1
  543. package/workflow/WorkflowFileReviewList.js +1 -1
  544. package/workflow/WorkflowTaskApprovalCard.d.ts +4 -3
  545. package/workflow/WorkflowTaskApprovalCard.d.ts.map +1 -1
  546. package/workflow/WorkflowTaskApprovalCard.js +5 -4
  547. package/workflow/WorkflowTaskApprovalCard.js.map +1 -1
  548. package/workflow/WorkflowTaskApprovalSummary.d.ts +6 -6
  549. package/workflow/WorkflowTaskApprovalSummary.js +5 -5
  550. package/workflow/deriveWorkflowArtifactItems.d.ts +30 -0
  551. package/workflow/deriveWorkflowArtifactItems.d.ts.map +1 -0
  552. package/workflow/deriveWorkflowArtifactItems.js +38 -0
  553. package/workflow/deriveWorkflowArtifactItems.js.map +1 -0
  554. package/workflow/deriveWorkflowUsageItems.d.ts +36 -0
  555. package/workflow/deriveWorkflowUsageItems.d.ts.map +1 -0
  556. package/workflow/deriveWorkflowUsageItems.js +50 -0
  557. package/workflow/deriveWorkflowUsageItems.js.map +1 -0
  558. package/workflow/diagnosis-document.d.ts +17 -0
  559. package/workflow/diagnosis-document.d.ts.map +1 -0
  560. package/workflow/diagnosis-document.js +29 -0
  561. package/workflow/diagnosis-document.js.map +1 -0
  562. package/workflow/execution/index.d.ts +0 -2
  563. package/workflow/execution/index.d.ts.map +1 -1
  564. package/workflow/execution/index.js +0 -2
  565. package/workflow/execution/index.js.map +1 -1
  566. package/workflow/facets/WorkflowArtifactsTab.d.ts +26 -0
  567. package/workflow/facets/WorkflowArtifactsTab.d.ts.map +1 -0
  568. package/workflow/facets/WorkflowArtifactsTab.js +34 -0
  569. package/workflow/facets/WorkflowArtifactsTab.js.map +1 -0
  570. package/workflow/facets/WorkflowChangesTab.d.ts +37 -0
  571. package/workflow/facets/WorkflowChangesTab.d.ts.map +1 -0
  572. package/workflow/facets/WorkflowChangesTab.js +50 -0
  573. package/workflow/facets/WorkflowChangesTab.js.map +1 -0
  574. package/workflow/facets/WorkflowUsageTab.d.ts +27 -0
  575. package/workflow/facets/WorkflowUsageTab.d.ts.map +1 -0
  576. package/workflow/facets/WorkflowUsageTab.js +87 -0
  577. package/workflow/facets/WorkflowUsageTab.js.map +1 -0
  578. package/workflow/format-utils.d.ts +2 -3
  579. package/workflow/format-utils.d.ts.map +1 -1
  580. package/workflow/format-utils.js +2 -3
  581. package/workflow/format-utils.js.map +1 -1
  582. package/workflow/index.d.ts +21 -10
  583. package/workflow/index.d.ts.map +1 -1
  584. package/workflow/index.js +29 -14
  585. package/workflow/index.js.map +1 -1
  586. package/workflow/inspector/index.d.ts +0 -2
  587. package/workflow/inspector/index.d.ts.map +1 -1
  588. package/workflow/inspector/index.js +0 -2
  589. package/workflow/inspector/index.js.map +1 -1
  590. package/workflow/instance/WorkflowInstanceList.d.ts.map +1 -1
  591. package/workflow/instance/WorkflowInstanceList.js +11 -3
  592. package/workflow/instance/WorkflowInstanceList.js.map +1 -1
  593. package/workflow/task-detail/StructuredDataViewer.d.ts.map +1 -0
  594. package/workflow/task-detail/StructuredDataViewer.js.map +1 -0
  595. package/workflow/task-detail/index.d.ts +4 -0
  596. package/workflow/task-detail/index.d.ts.map +1 -0
  597. package/workflow/task-detail/index.js +4 -0
  598. package/workflow/task-detail/index.js.map +1 -0
  599. package/workflow/task-detail/task-approval.d.ts +89 -0
  600. package/workflow/task-detail/task-approval.d.ts.map +1 -0
  601. package/workflow/task-detail/task-approval.js +84 -0
  602. package/workflow/task-detail/task-approval.js.map +1 -0
  603. package/workflow/task-detail/task-detail-io.d.ts +39 -0
  604. package/workflow/task-detail/task-detail-io.d.ts.map +1 -0
  605. package/workflow/task-detail/task-detail-io.js +42 -0
  606. package/workflow/task-detail/task-detail-io.js.map +1 -0
  607. package/workflow/thread/WorkflowTaskThread.d.ts +91 -0
  608. package/workflow/thread/WorkflowTaskThread.d.ts.map +1 -0
  609. package/workflow/thread/WorkflowTaskThread.js +318 -0
  610. package/workflow/thread/WorkflowTaskThread.js.map +1 -0
  611. package/workflow/thread/project-thread-items.d.ts +108 -0
  612. package/workflow/thread/project-thread-items.d.ts.map +1 -0
  613. package/workflow/thread/project-thread-items.js +126 -0
  614. package/workflow/thread/project-thread-items.js.map +1 -0
  615. package/workflow/thread/task-presentation.d.ts +73 -0
  616. package/workflow/thread/task-presentation.d.ts.map +1 -0
  617. package/workflow/thread/task-presentation.js +331 -0
  618. package/workflow/thread/task-presentation.js.map +1 -0
  619. package/workflow/thread/thread-presentation.d.ts +28 -0
  620. package/workflow/thread/thread-presentation.d.ts.map +1 -0
  621. package/workflow/thread/thread-presentation.js +28 -0
  622. package/workflow/thread/thread-presentation.js.map +1 -0
  623. package/workflow/thread/useWorkflowThreadItems.d.ts +16 -0
  624. package/workflow/thread/useWorkflowThreadItems.d.ts.map +1 -0
  625. package/workflow/thread/useWorkflowThreadItems.js +22 -0
  626. package/workflow/thread/useWorkflowThreadItems.js.map +1 -0
  627. package/workflow/useApprovalBoundary.d.ts +38 -0
  628. package/workflow/useApprovalBoundary.d.ts.map +1 -0
  629. package/workflow/useApprovalBoundary.js +55 -0
  630. package/workflow/useApprovalBoundary.js.map +1 -0
  631. package/workflow/useFollowExecution.d.ts +0 -20
  632. package/workflow/useFollowExecution.d.ts.map +1 -1
  633. package/workflow/useFollowExecution.js +0 -17
  634. package/workflow/useFollowExecution.js.map +1 -1
  635. package/workflow/useWorkflowArtifactDownload.d.ts +28 -0
  636. package/workflow/useWorkflowArtifactDownload.d.ts.map +1 -0
  637. package/workflow/useWorkflowArtifactDownload.js +45 -0
  638. package/workflow/useWorkflowArtifactDownload.js.map +1 -0
  639. package/workflow/useWorkflowExecutionActions.d.ts +3 -2
  640. package/workflow/useWorkflowExecutionActions.d.ts.map +1 -1
  641. package/workflow/useWorkflowExecutionActions.js.map +1 -1
  642. package/workflow/useWorkflowExecutionFileChanges.d.ts +107 -0
  643. package/workflow/useWorkflowExecutionFileChanges.d.ts.map +1 -0
  644. package/workflow/useWorkflowExecutionFileChanges.js +244 -0
  645. package/workflow/useWorkflowExecutionFileChanges.js.map +1 -0
  646. package/workflow/useWorkflowExecutionGraph.d.ts +1 -14
  647. package/workflow/useWorkflowExecutionGraph.d.ts.map +1 -1
  648. package/workflow/useWorkflowExecutionGraph.js +2 -25
  649. package/workflow/useWorkflowExecutionGraph.js.map +1 -1
  650. package/workflow/useWorkflowExecutionPanel.d.ts +108 -0
  651. package/workflow/useWorkflowExecutionPanel.d.ts.map +1 -0
  652. package/workflow/useWorkflowExecutionPanel.js +103 -0
  653. package/workflow/useWorkflowExecutionPanel.js.map +1 -0
  654. package/workflow/useWorkflowExecutionRailViews.d.ts +46 -0
  655. package/workflow/useWorkflowExecutionRailViews.d.ts.map +1 -0
  656. package/workflow/useWorkflowExecutionRailViews.js +81 -0
  657. package/workflow/useWorkflowExecutionRailViews.js.map +1 -0
  658. package/workspace/FileViewer.d.ts +1 -1
  659. package/workspace/FileViewer.js +3 -3
  660. package/workspace/FileViewer.js.map +1 -1
  661. package/workspace/PanelChip.d.ts +27 -0
  662. package/workspace/PanelChip.d.ts.map +1 -0
  663. package/workspace/PanelChip.js +42 -0
  664. package/workspace/PanelChip.js.map +1 -0
  665. package/workspace/WorkspaceSurface.d.ts +25 -1
  666. package/workspace/WorkspaceSurface.d.ts.map +1 -1
  667. package/workspace/WorkspaceSurface.js +21 -9
  668. package/workspace/WorkspaceSurface.js.map +1 -1
  669. package/workspace/index.d.ts +3 -1
  670. package/workspace/index.d.ts.map +1 -1
  671. package/workspace/index.js +1 -0
  672. package/workspace/index.js.map +1 -1
  673. package/execution/ThreadSelectionContext.d.ts +0 -17
  674. package/execution/ThreadSelectionContext.d.ts.map +0 -1
  675. package/execution/ThreadSelectionContext.js +0 -18
  676. package/execution/ThreadSelectionContext.js.map +0 -1
  677. package/execution/useThreadSelection.d.ts +0 -35
  678. package/execution/useThreadSelection.d.ts.map +0 -1
  679. package/execution/useThreadSelection.js +0 -65
  680. package/execution/useThreadSelection.js.map +0 -1
  681. package/internal/store/selection-store.d.ts +0 -53
  682. package/internal/store/selection-store.d.ts.map +0 -1
  683. package/internal/store/selection-store.js +0 -88
  684. package/internal/store/selection-store.js.map +0 -1
  685. package/session/artifact-document.d.ts.map +0 -1
  686. package/session/artifact-document.js +0 -22
  687. package/session/artifact-document.js.map +0 -1
  688. package/session/facets/InspectTab.d.ts +0 -13
  689. package/session/facets/InspectTab.d.ts.map +0 -1
  690. package/session/facets/InspectTab.js +0 -19
  691. package/session/facets/InspectTab.js.map +0 -1
  692. package/src/execution/ThreadSelectionContext.tsx +0 -20
  693. package/src/execution/useThreadSelection.ts +0 -95
  694. package/src/internal/store/__tests__/selection-store.test.ts +0 -115
  695. package/src/internal/store/selection-store.ts +0 -112
  696. package/src/session/artifact-document.ts +0 -23
  697. package/src/session/facets/InspectTab.tsx +0 -57
  698. package/src/workflow/WorkflowExecutionApprovalCard.tsx +0 -154
  699. package/src/workflow/WorkflowExecutionArtifactPanel.tsx +0 -107
  700. package/src/workflow/WorkflowExecutionCostPanel.tsx +0 -120
  701. package/src/workflow/WorkflowExecutionTaskPanel.tsx +0 -129
  702. package/src/workflow/WorkflowExecutionTimeline.tsx +0 -151
  703. package/src/workflow/WorkflowExecutionTimelineEvent.tsx +0 -497
  704. package/src/workflow/__tests__/ExecutionInspector.test.tsx +0 -155
  705. package/src/workflow/__tests__/WorkflowExecutionApprovalCard.test.tsx +0 -129
  706. package/src/workflow/__tests__/derive-task-detail.test.ts +0 -1265
  707. package/src/workflow/__tests__/derive-waterfall-entries.test.ts +0 -521
  708. package/src/workflow/__tests__/execution-inspector.test.tsx +0 -332
  709. package/src/workflow/execution/derive-waterfall-entries.ts +0 -377
  710. package/src/workflow/execution/useWaterfallEntries.ts +0 -125
  711. package/src/workflow/execution-inspector/AgentCallTab.tsx +0 -169
  712. package/src/workflow/execution-inspector/ErrorTab.tsx +0 -110
  713. package/src/workflow/execution-inspector/EventLogTab.tsx +0 -79
  714. package/src/workflow/execution-inspector/ExecutionInspector.tsx +0 -341
  715. package/src/workflow/execution-inspector/InputOutputTab.tsx +0 -325
  716. package/src/workflow/execution-inspector/RetriesTab.tsx +0 -68
  717. package/src/workflow/execution-inspector/SummaryTab.tsx +0 -62
  718. package/src/workflow/execution-inspector/derive-task-detail.ts +0 -584
  719. package/src/workflow/execution-inspector/index.ts +0 -14
  720. package/src/workflow/execution-inspector/useExecutionTaskDetail.ts +0 -55
  721. package/src/workflow/inspector/ExecutionInspectorAdapter.tsx +0 -40
  722. package/src/workflow/waterfall/WaterfallBar.tsx +0 -167
  723. package/src/workflow/waterfall/WaterfallRow.tsx +0 -112
  724. package/src/workflow/waterfall/WaterfallScale.tsx +0 -52
  725. package/src/workflow/waterfall/WaterfallTimeline.tsx +0 -138
  726. package/src/workflow/waterfall/WaterfallTooltip.tsx +0 -74
  727. package/src/workflow/waterfall/index.ts +0 -5
  728. package/workflow/WorkflowExecutionApprovalCard.d.ts +0 -34
  729. package/workflow/WorkflowExecutionApprovalCard.d.ts.map +0 -1
  730. package/workflow/WorkflowExecutionApprovalCard.js +0 -46
  731. package/workflow/WorkflowExecutionApprovalCard.js.map +0 -1
  732. package/workflow/WorkflowExecutionArtifactPanel.d.ts +0 -15
  733. package/workflow/WorkflowExecutionArtifactPanel.d.ts.map +0 -1
  734. package/workflow/WorkflowExecutionArtifactPanel.js +0 -46
  735. package/workflow/WorkflowExecutionArtifactPanel.js.map +0 -1
  736. package/workflow/WorkflowExecutionCostPanel.d.ts +0 -18
  737. package/workflow/WorkflowExecutionCostPanel.d.ts.map +0 -1
  738. package/workflow/WorkflowExecutionCostPanel.js +0 -31
  739. package/workflow/WorkflowExecutionCostPanel.js.map +0 -1
  740. package/workflow/WorkflowExecutionTaskPanel.d.ts +0 -24
  741. package/workflow/WorkflowExecutionTaskPanel.d.ts.map +0 -1
  742. package/workflow/WorkflowExecutionTaskPanel.js +0 -51
  743. package/workflow/WorkflowExecutionTaskPanel.js.map +0 -1
  744. package/workflow/WorkflowExecutionTimeline.d.ts +0 -42
  745. package/workflow/WorkflowExecutionTimeline.d.ts.map +0 -1
  746. package/workflow/WorkflowExecutionTimeline.js +0 -52
  747. package/workflow/WorkflowExecutionTimeline.js.map +0 -1
  748. package/workflow/WorkflowExecutionTimelineEvent.d.ts +0 -25
  749. package/workflow/WorkflowExecutionTimelineEvent.d.ts.map +0 -1
  750. package/workflow/WorkflowExecutionTimelineEvent.js +0 -179
  751. package/workflow/WorkflowExecutionTimelineEvent.js.map +0 -1
  752. package/workflow/execution/derive-waterfall-entries.d.ts +0 -85
  753. package/workflow/execution/derive-waterfall-entries.d.ts.map +0 -1
  754. package/workflow/execution/derive-waterfall-entries.js +0 -268
  755. package/workflow/execution/derive-waterfall-entries.js.map +0 -1
  756. package/workflow/execution/useWaterfallEntries.d.ts +0 -25
  757. package/workflow/execution/useWaterfallEntries.d.ts.map +0 -1
  758. package/workflow/execution/useWaterfallEntries.js +0 -67
  759. package/workflow/execution/useWaterfallEntries.js.map +0 -1
  760. package/workflow/execution-inspector/AgentCallTab.d.ts +0 -21
  761. package/workflow/execution-inspector/AgentCallTab.d.ts.map +0 -1
  762. package/workflow/execution-inspector/AgentCallTab.js +0 -36
  763. package/workflow/execution-inspector/AgentCallTab.js.map +0 -1
  764. package/workflow/execution-inspector/ErrorTab.d.ts +0 -9
  765. package/workflow/execution-inspector/ErrorTab.d.ts.map +0 -1
  766. package/workflow/execution-inspector/ErrorTab.js +0 -29
  767. package/workflow/execution-inspector/ErrorTab.js.map +0 -1
  768. package/workflow/execution-inspector/EventLogTab.d.ts +0 -11
  769. package/workflow/execution-inspector/EventLogTab.d.ts.map +0 -1
  770. package/workflow/execution-inspector/EventLogTab.js +0 -47
  771. package/workflow/execution-inspector/EventLogTab.js.map +0 -1
  772. package/workflow/execution-inspector/ExecutionInspector.d.ts +0 -69
  773. package/workflow/execution-inspector/ExecutionInspector.d.ts.map +0 -1
  774. package/workflow/execution-inspector/ExecutionInspector.js +0 -145
  775. package/workflow/execution-inspector/ExecutionInspector.js.map +0 -1
  776. package/workflow/execution-inspector/InputOutputTab.d.ts +0 -20
  777. package/workflow/execution-inspector/InputOutputTab.d.ts.map +0 -1
  778. package/workflow/execution-inspector/InputOutputTab.js +0 -124
  779. package/workflow/execution-inspector/InputOutputTab.js.map +0 -1
  780. package/workflow/execution-inspector/RetriesTab.d.ts +0 -7
  781. package/workflow/execution-inspector/RetriesTab.d.ts.map +0 -1
  782. package/workflow/execution-inspector/RetriesTab.js +0 -11
  783. package/workflow/execution-inspector/RetriesTab.js.map +0 -1
  784. package/workflow/execution-inspector/StructuredDataViewer.d.ts.map +0 -1
  785. package/workflow/execution-inspector/StructuredDataViewer.js.map +0 -1
  786. package/workflow/execution-inspector/SummaryTab.d.ts +0 -7
  787. package/workflow/execution-inspector/SummaryTab.d.ts.map +0 -1
  788. package/workflow/execution-inspector/SummaryTab.js +0 -10
  789. package/workflow/execution-inspector/SummaryTab.js.map +0 -1
  790. package/workflow/execution-inspector/derive-task-detail.d.ts +0 -140
  791. package/workflow/execution-inspector/derive-task-detail.d.ts.map +0 -1
  792. package/workflow/execution-inspector/derive-task-detail.js +0 -366
  793. package/workflow/execution-inspector/derive-task-detail.js.map +0 -1
  794. package/workflow/execution-inspector/index.d.ts +0 -4
  795. package/workflow/execution-inspector/index.d.ts.map +0 -1
  796. package/workflow/execution-inspector/index.js +0 -4
  797. package/workflow/execution-inspector/index.js.map +0 -1
  798. package/workflow/execution-inspector/useExecutionTaskDetail.d.ts +0 -38
  799. package/workflow/execution-inspector/useExecutionTaskDetail.d.ts.map +0 -1
  800. package/workflow/execution-inspector/useExecutionTaskDetail.js +0 -37
  801. package/workflow/execution-inspector/useExecutionTaskDetail.js.map +0 -1
  802. package/workflow/inspector/ExecutionInspectorAdapter.d.ts +0 -26
  803. package/workflow/inspector/ExecutionInspectorAdapter.d.ts.map +0 -1
  804. package/workflow/inspector/ExecutionInspectorAdapter.js +0 -23
  805. package/workflow/inspector/ExecutionInspectorAdapter.js.map +0 -1
  806. package/workflow/waterfall/WaterfallBar.d.ts +0 -19
  807. package/workflow/waterfall/WaterfallBar.d.ts.map +0 -1
  808. package/workflow/waterfall/WaterfallBar.js +0 -70
  809. package/workflow/waterfall/WaterfallBar.js.map +0 -1
  810. package/workflow/waterfall/WaterfallRow.d.ts +0 -18
  811. package/workflow/waterfall/WaterfallRow.d.ts.map +0 -1
  812. package/workflow/waterfall/WaterfallRow.js +0 -45
  813. package/workflow/waterfall/WaterfallRow.js.map +0 -1
  814. package/workflow/waterfall/WaterfallScale.d.ts +0 -14
  815. package/workflow/waterfall/WaterfallScale.d.ts.map +0 -1
  816. package/workflow/waterfall/WaterfallScale.js +0 -22
  817. package/workflow/waterfall/WaterfallScale.js.map +0 -1
  818. package/workflow/waterfall/WaterfallTimeline.d.ts +0 -46
  819. package/workflow/waterfall/WaterfallTimeline.d.ts.map +0 -1
  820. package/workflow/waterfall/WaterfallTimeline.js +0 -60
  821. package/workflow/waterfall/WaterfallTimeline.js.map +0 -1
  822. package/workflow/waterfall/WaterfallTooltip.d.ts +0 -15
  823. package/workflow/waterfall/WaterfallTooltip.d.ts.map +0 -1
  824. package/workflow/waterfall/WaterfallTooltip.js +0 -20
  825. package/workflow/waterfall/WaterfallTooltip.js.map +0 -1
  826. package/workflow/waterfall/index.d.ts +0 -6
  827. package/workflow/waterfall/index.d.ts.map +0 -1
  828. package/workflow/waterfall/index.js +0 -6
  829. package/workflow/waterfall/index.js.map +0 -1
  830. /package/src/workflow/{execution-inspector → task-detail}/StructuredDataViewer.tsx +0 -0
  831. /package/workflow/{execution-inspector → task-detail}/StructuredDataViewer.d.ts +0 -0
  832. /package/workflow/{execution-inspector → task-detail}/StructuredDataViewer.js +0 -0
@@ -0,0 +1,99 @@
1
+ "use client";
2
+
3
+ // Artifacts facet for the workflow execution panel's activity rail.
4
+ // Domain: workflow (the Artifact-resource analog of session/facets/ArtifactsTab).
5
+
6
+ import type { Artifact } from "@stigmer/protos/ai/stigmer/agentic/artifact/v1/api_pb";
7
+ import { useMemo } from "react";
8
+ import { ArtifactRowView } from "../../execution/ArtifactRowView.js";
9
+ import type { ArtifactRowItem } from "../../execution/artifact-row-item.js";
10
+ import { deriveWorkflowArtifactItems } from "../deriveWorkflowArtifactItems.js";
11
+ import { useWorkflowArtifactDownload } from "../useWorkflowArtifactDownload.js";
12
+
13
+ /** Props for {@link WorkflowArtifactsTab}. */
14
+ export interface WorkflowArtifactsTabProps {
15
+ /** Artifacts produced by the execution (from `useWorkflowExecutionArtifacts`). */
16
+ readonly artifacts: readonly Artifact[];
17
+ /** Single click / Enter / Space: open the artifact as an editor-pane document tab. */
18
+ readonly onOpen: (artifact: Artifact) => void;
19
+ /**
20
+ * Double click: pin the artifact's document tab — the double-click half of
21
+ * the open/activate split (mirrors the file tree's preview/pin model).
22
+ */
23
+ readonly onActivate?: (artifact: Artifact) => void;
24
+ }
25
+
26
+ /**
27
+ * Artifacts facet for the workflow execution panel (a
28
+ * `useWorkflowExecutionRailViews` rail view): a VS Code-style dense list of
29
+ * the execution's outputs across ALL tasks (data/http/llm/agent — the
30
+ * server aggregates via `listByExecution`), one row per artifact.
31
+ *
32
+ * Clicking a row opens the artifact as an editor-pane document
33
+ * (`WorkflowArtifactDocument`); the hover Download mints a fresh URL. Rows
34
+ * share `ArtifactRowView` with the session's Artifacts facet — one row UI
35
+ * over two deliberately-separate artifact data models.
36
+ */
37
+ export function WorkflowArtifactsTab({
38
+ artifacts,
39
+ onOpen,
40
+ onActivate,
41
+ }: WorkflowArtifactsTabProps) {
42
+ const entries = useMemo(
43
+ () => deriveWorkflowArtifactItems(artifacts),
44
+ [artifacts],
45
+ );
46
+
47
+ if (entries.length === 0) {
48
+ return (
49
+ <div className="flex flex-col items-center justify-center px-4 py-8 text-center">
50
+ <p className="text-xs text-muted-foreground">
51
+ No artifacts yet. Files produced by workflow tasks will appear here.
52
+ </p>
53
+ </div>
54
+ );
55
+ }
56
+
57
+ return (
58
+ <ul role="list" className="flex flex-col">
59
+ {entries.map(({ artifact, item }) => (
60
+ <WorkflowArtifactRow
61
+ key={artifact.metadata?.id ?? item.name}
62
+ artifact={artifact}
63
+ item={item}
64
+ onOpen={() => onOpen(artifact)}
65
+ onActivate={onActivate ? () => onActivate(artifact) : undefined}
66
+ />
67
+ ))}
68
+ </ul>
69
+ );
70
+ }
71
+
72
+ /**
73
+ * The `Artifact`-resource host of the shared `ArtifactRowView`: it owns the
74
+ * workflow model's download mechanics (URL minted by artifact id). Internal —
75
+ * hosts compose the facet, not individual rows.
76
+ */
77
+ function WorkflowArtifactRow({
78
+ artifact,
79
+ item,
80
+ onOpen,
81
+ onActivate,
82
+ }: {
83
+ readonly artifact: Artifact;
84
+ readonly item: ArtifactRowItem;
85
+ readonly onOpen: () => void;
86
+ readonly onActivate?: () => void;
87
+ }) {
88
+ const { download, isDownloading } = useWorkflowArtifactDownload();
89
+
90
+ return (
91
+ <ArtifactRowView
92
+ item={item}
93
+ onOpen={onOpen}
94
+ onActivate={onActivate}
95
+ onDownload={() => download(artifact.metadata?.id ?? "")}
96
+ isDownloading={isDownloading}
97
+ />
98
+ );
99
+ }
@@ -0,0 +1,129 @@
1
+ "use client";
2
+
3
+ // Changes facet for the workflow execution panel's activity rail.
4
+ // Domain: workflow. Deliberate naming divergence from the SESSION's Changes
5
+ // tab (which shows git write-backs — the session renders file diffs inline in
6
+ // its transcript): the workflow has no transcript, so here "Changes" is the
7
+ // execution-level net file-diff rollup across all AGENT_CALL tasks.
8
+
9
+ import { useMemo } from "react";
10
+ import type { FileChange } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
11
+ import { toFileDiffEntry } from "../../execution/deriveExecutionFileChanges.js";
12
+ import { DiffFileList } from "../../version-history/DiffFileList.js";
13
+
14
+ /** Props for {@link WorkflowChangesTab}. */
15
+ export interface WorkflowChangesTabProps {
16
+ /** Net file changes across all tasks (from `useWorkflowExecutionFileChanges`). */
17
+ readonly fileChanges: readonly FileChange[];
18
+ /** `true` while the first child-execution fetches are in flight (no data yet). */
19
+ readonly isLoading?: boolean;
20
+ /** `true` while later fetches are in flight and the current list is stale. */
21
+ readonly isRefetching?: boolean;
22
+ /** Fetch error, or `null`. Partial results still render below the notice. */
23
+ readonly error?: Error | null;
24
+ /**
25
+ * Tab path of the active file-change diff document, or `null` — drives the
26
+ * list's active-row highlight so it tracks the open editor tab.
27
+ */
28
+ readonly activePath?: string | null;
29
+ /** Single click / Enter / Space: open the change's diff as an editor-pane tab. */
30
+ readonly onOpen: (change: FileChange) => void;
31
+ }
32
+
33
+ /**
34
+ * Changes facet for the workflow execution panel (a
35
+ * `useWorkflowExecutionRailViews` rail view): a VS Code Source Control-style
36
+ * dense file list of the execution's net file changes across ALL agent-call
37
+ * tasks — path, M/A/D badge, `+N -N` — one row per changed file.
38
+ *
39
+ * Clicking a row opens that file's diff in the editor pane
40
+ * (`FileChangeDiff` as a virtual document); the active tab highlights its
41
+ * row. Rows reuse the shared `DiffFileList`, and the `+N -N` counts come from
42
+ * the shared `toFileDiffEntry` projection — the same numbers the session's
43
+ * `FileChangesView` shows for the same capture.
44
+ *
45
+ * Freshness contract (from the data hook): the list refreshes at task
46
+ * boundaries, not token-by-token while an agent is mid-run — surfaced
47
+ * honestly via the "Updating…" status line instead of pretending to be live.
48
+ */
49
+ export function WorkflowChangesTab({
50
+ fileChanges,
51
+ isLoading = false,
52
+ isRefetching = false,
53
+ error = null,
54
+ activePath = null,
55
+ onOpen,
56
+ }: WorkflowChangesTabProps) {
57
+ const entries = useMemo(
58
+ () => fileChanges.map(toFileDiffEntry),
59
+ [fileChanges],
60
+ );
61
+
62
+ // The rollup keys one net change per path, so path → change lookup is total.
63
+ const changeByPath = useMemo(
64
+ () => new Map(fileChanges.map((c) => [c.path || c.absolutePath, c])),
65
+ [fileChanges],
66
+ );
67
+
68
+ if (isLoading) {
69
+ return (
70
+ <div
71
+ role="status"
72
+ className="flex flex-col items-center justify-center px-4 py-8 text-center"
73
+ >
74
+ <p className="text-xs text-muted-foreground">Loading file changes…</p>
75
+ </div>
76
+ );
77
+ }
78
+
79
+ if (fileChanges.length === 0) {
80
+ return (
81
+ <div className="flex flex-col gap-2 px-4 py-8 text-center">
82
+ {error && <ErrorNotice error={error} />}
83
+ <p className="text-xs text-muted-foreground">
84
+ No file changes yet. Files edited by agent tasks will appear here.
85
+ </p>
86
+ </div>
87
+ );
88
+ }
89
+
90
+ return (
91
+ <div className="flex flex-col gap-2">
92
+ {error && (
93
+ <div className="px-2 pt-2">
94
+ <ErrorNotice error={error} />
95
+ </div>
96
+ )}
97
+
98
+ <DiffFileList
99
+ files={entries}
100
+ selectedPath={activePath}
101
+ onSelect={(path) => {
102
+ const change = changeByPath.get(path);
103
+ if (change) onOpen(change);
104
+ }}
105
+ />
106
+
107
+ {isRefetching && (
108
+ <p role="status" className="px-3 pb-2 text-[0.65rem] text-muted-foreground-faint">
109
+ Updating…
110
+ </p>
111
+ )}
112
+ </div>
113
+ );
114
+ }
115
+
116
+ /**
117
+ * A failed child fetch never blanks the facet — partial results render and
118
+ * the failure is named (DD-006: what happened + what it means).
119
+ */
120
+ function ErrorNotice({ error }: { readonly error: Error }) {
121
+ return (
122
+ <div
123
+ role="alert"
124
+ className="rounded-md border border-border bg-muted-subtle px-3 py-2 text-left text-xs text-destructive"
125
+ >
126
+ Some task changes could not be loaded: {error.message}
127
+ </div>
128
+ );
129
+ }
@@ -0,0 +1,258 @@
1
+ "use client";
2
+
3
+ // Usage facet for the workflow execution panel's activity rail.
4
+ // Domain: workflow (the budget/rollup analog of session/facets/UsageTab).
5
+
6
+ import { useMemo } from "react";
7
+ import { cn } from "@stigmer/theme";
8
+ import type {
9
+ DerivedCostSummary,
10
+ DerivedTaskState,
11
+ } from "../../internal/store/workflow-execution-event-store.js";
12
+ import { deriveWorkflowUsageItems } from "../deriveWorkflowUsageItems.js";
13
+ import type { WorkflowUsageItem } from "../deriveWorkflowUsageItems.js";
14
+ import { formatMicroUsd, formatTokenCount } from "../format-utils.js";
15
+
16
+ const BIGINT_ZERO = BigInt(0);
17
+
18
+ /** Props for {@link WorkflowUsageTab}. */
19
+ export interface WorkflowUsageTabProps {
20
+ /** Execution-level cost/budget rollup (from `useWorkflowExecutionEventStream`). */
21
+ readonly costSummary: DerivedCostSummary;
22
+ /** Per-task derived states — drives the per-task breakdown list. */
23
+ readonly taskStates: ReadonlyMap<string, DerivedTaskState>;
24
+ }
25
+
26
+ /**
27
+ * Usage facet for the workflow execution panel (a
28
+ * `useWorkflowExecutionRailViews` rail view): the execution-level cost/token
29
+ * rollup with budget context on top, and a per-task breakdown (most expensive
30
+ * first) below — "which task is burning my budget?" at a glance.
31
+ *
32
+ * The aggregate and the breakdown deliberately come from different derived
33
+ * sources and are NEVER reconciled against each other: the aggregate reads
34
+ * `costSummary` (authoritative — the latest `budget_checkpoint` can include
35
+ * mid-task and orchestration usage), while rows read `taskStates` (summed
36
+ * from per-task events). Summing the rows to "fix" the aggregate would
37
+ * under-report; scaling rows to match the aggregate would fabricate data.
38
+ *
39
+ * Model-level detail (per-model breakdown, prompt/completion split) is
40
+ * absent by design: no workflow usage-report data source exists yet — that
41
+ * is a backend-gated later slice, not a frontend omission.
42
+ */
43
+ export function WorkflowUsageTab({
44
+ costSummary,
45
+ taskStates,
46
+ }: WorkflowUsageTabProps) {
47
+ const items = useMemo(
48
+ () => deriveWorkflowUsageItems(taskStates),
49
+ [taskStates],
50
+ );
51
+
52
+ const hasAggregate =
53
+ costSummary.costConsumedMicros > BIGINT_ZERO ||
54
+ costSummary.tokensConsumed > BIGINT_ZERO;
55
+
56
+ if (!hasAggregate && items.length === 0) {
57
+ return (
58
+ <div className="flex flex-col items-center justify-center px-4 py-8 text-center">
59
+ <p className="text-xs text-muted-foreground">
60
+ No usage data yet. Cost and token stats will appear here.
61
+ </p>
62
+ </div>
63
+ );
64
+ }
65
+
66
+ return (
67
+ <div className="flex flex-col gap-4">
68
+ <UsageSummary costSummary={costSummary} />
69
+
70
+ {items.length > 0 && (
71
+ <div className="flex flex-col gap-1">
72
+ <h3 className="px-2 text-xs font-semibold uppercase tracking-wider text-muted-foreground">
73
+ By task
74
+ </h3>
75
+ <ul role="list" className="flex flex-col">
76
+ {items.map((item) => (
77
+ <UsageRow key={item.taskName} item={item} />
78
+ ))}
79
+ </ul>
80
+ </div>
81
+ )}
82
+ </div>
83
+ );
84
+ }
85
+
86
+ /**
87
+ * The execution-level rollup block: consumed cost/tokens with the budget
88
+ * limit when the stream reported one (`remaining >= 0` — `-1` means "no
89
+ * limit known"), a budget progress gauge per known limit (absorbed from the
90
+ * retired sidebar `WorkflowExecutionCostPanel` so the layout consolidation
91
+ * lost no information), plus an explicit threshold-breach notice (text +
92
+ * icon, never color alone).
93
+ */
94
+ function UsageSummary({
95
+ costSummary,
96
+ }: {
97
+ readonly costSummary: DerivedCostSummary;
98
+ }) {
99
+ const costLimit =
100
+ costSummary.costRemainingMicros >= BIGINT_ZERO
101
+ ? costSummary.costConsumedMicros + costSummary.costRemainingMicros
102
+ : undefined;
103
+ const tokenLimit =
104
+ costSummary.tokensRemaining >= BIGINT_ZERO
105
+ ? costSummary.tokensConsumed + costSummary.tokensRemaining
106
+ : undefined;
107
+
108
+ return (
109
+ <div
110
+ className="flex flex-col gap-1.5 px-2"
111
+ role="region"
112
+ aria-label="Execution cost summary"
113
+ >
114
+ <div className="flex items-baseline gap-1.5">
115
+ <span className="text-sm font-medium tabular-nums text-foreground">
116
+ {formatMicroUsd(costSummary.costConsumedMicros)}
117
+ </span>
118
+ {costLimit !== undefined && (
119
+ <span className="text-xs tabular-nums text-muted-foreground">
120
+ of {formatMicroUsd(costLimit)} budget
121
+ </span>
122
+ )}
123
+ </div>
124
+ <BudgetGauge
125
+ consumed={costSummary.costConsumedMicros}
126
+ limit={costLimit}
127
+ breached={costSummary.thresholdBreached}
128
+ label="Cost budget"
129
+ />
130
+
131
+ <div className="text-xs tabular-nums text-muted-foreground">
132
+ {formatTokenCount(costSummary.tokensConsumed)} tokens
133
+ {tokenLimit !== undefined && ` of ${formatTokenCount(tokenLimit)}`}
134
+ </div>
135
+ <BudgetGauge
136
+ consumed={costSummary.tokensConsumed}
137
+ limit={tokenLimit}
138
+ breached={costSummary.thresholdBreached}
139
+ label="Token budget"
140
+ />
141
+
142
+ {costSummary.thresholdBreached && (
143
+ <p className="flex items-center gap-1.5 text-xs text-warning">
144
+ <WarningIcon />
145
+ Budget threshold breached
146
+ </p>
147
+ )}
148
+ </div>
149
+ );
150
+ }
151
+
152
+ /**
153
+ * Budget consumption bar + percentage, shown only when a limit is known.
154
+ * The color shift (primary → warning past 80% or on breach) is a secondary
155
+ * channel — the breach notice above carries the accessible signal.
156
+ */
157
+ function BudgetGauge({
158
+ consumed,
159
+ limit,
160
+ breached,
161
+ label,
162
+ }: {
163
+ readonly consumed: bigint;
164
+ readonly limit: bigint | undefined;
165
+ readonly breached: boolean;
166
+ readonly label: string;
167
+ }) {
168
+ if (limit === undefined || limit <= BIGINT_ZERO) return null;
169
+ const percentage = Number((consumed * BigInt(100)) / limit);
170
+
171
+ return (
172
+ <div className="flex items-center gap-2" aria-label={label}>
173
+ <div
174
+ role="progressbar"
175
+ aria-valuenow={Math.min(percentage, 100)}
176
+ aria-valuemin={0}
177
+ aria-valuemax={100}
178
+ className="h-1.5 min-w-0 flex-1 overflow-hidden rounded-full bg-muted"
179
+ >
180
+ <div
181
+ className={cn(
182
+ "h-full rounded-full transition-all",
183
+ breached || percentage > 80 ? "bg-warning" : "bg-primary",
184
+ )}
185
+ style={{ width: `${Math.min(percentage, 100)}%` }}
186
+ />
187
+ </div>
188
+ <span className="shrink-0 text-[10px] tabular-nums text-muted-foreground">
189
+ {percentage.toFixed(0)}%
190
+ </span>
191
+ </div>
192
+ );
193
+ }
194
+
195
+ /**
196
+ * One per-task usage row — a static entry: the task's own card in the
197
+ * thread is where its detail lives (T06), so the breakdown reports rather
198
+ * than navigates.
199
+ */
200
+ function UsageRow({ item }: { readonly item: WorkflowUsageItem }) {
201
+ return (
202
+ <li className="flex items-stretch">
203
+ <div className="flex min-w-0 flex-1 items-center gap-2 px-2 py-1 text-left text-xs text-muted-foreground">
204
+ <span className="min-w-0 flex-1 truncate text-foreground">
205
+ {item.taskName}
206
+ <span className="ml-1.5 text-[0.65rem] text-muted-foreground">
207
+ {item.kindLabel}
208
+ {isInFlight(item.status) && ` · ${statusLabel(item.status)}`}
209
+ </span>
210
+ </span>
211
+ <span className="shrink-0 tabular-nums text-foreground">
212
+ {formatMicroUsd(item.costMicros)}
213
+ </span>
214
+ <span className="w-14 shrink-0 text-right tabular-nums text-[0.65rem] text-muted-foreground-faint">
215
+ {formatTokenCount(item.tokensUsed)} tok
216
+ </span>
217
+ </div>
218
+ </li>
219
+ );
220
+ }
221
+
222
+ /** Whether a task is still accruing usage (live tokens keep updating). */
223
+ function isInFlight(status: WorkflowUsageItem["status"]): boolean {
224
+ return (
225
+ status === "running" ||
226
+ status === "retrying" ||
227
+ status === "waiting_approval"
228
+ );
229
+ }
230
+
231
+ function statusLabel(status: WorkflowUsageItem["status"]): string {
232
+ return status === "waiting_approval" ? "waiting approval" : status;
233
+ }
234
+
235
+ // ---------------------------------------------------------------------------
236
+ // Inline SVG icons (SDK independence — no lucide dependency)
237
+ // ---------------------------------------------------------------------------
238
+
239
+ function WarningIcon() {
240
+ return (
241
+ <svg
242
+ width="12"
243
+ height="12"
244
+ viewBox="0 0 24 24"
245
+ fill="none"
246
+ stroke="currentColor"
247
+ strokeWidth="2"
248
+ strokeLinecap="round"
249
+ strokeLinejoin="round"
250
+ className="shrink-0"
251
+ aria-hidden="true"
252
+ >
253
+ <path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" />
254
+ <path d="M12 9v4" />
255
+ <path d="M12 17h.01" />
256
+ </svg>
257
+ );
258
+ }
@@ -2,9 +2,8 @@
2
2
  * Shared formatting utilities for workflow execution metrics.
3
3
  *
4
4
  * Consolidates formatting logic previously duplicated across
5
- * WorkflowExecutionViewer, WorkflowExecutionHeader,
6
- * WorkflowExecutionCostPanel, WorkflowExecutionTaskPanel,
7
- * and WorkflowExecutionTimelineEvent.
5
+ * WorkflowExecutionViewer, WorkflowExecutionHeader, and
6
+ * WorkflowExecutionTaskPanel.
8
7
  *
9
8
  * @since T05 (Runtime Inspector)
10
9
  */