@stigmer/react 3.1.16 → 3.2.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 (824) hide show
  1. package/README.md +16 -1
  2. package/agent-instance/AgentInstanceList.d.ts.map +1 -1
  3. package/agent-instance/AgentInstanceList.js +11 -3
  4. package/agent-instance/AgentInstanceList.js.map +1 -1
  5. package/channel/AgentChannelsPanel.d.ts +60 -0
  6. package/channel/AgentChannelsPanel.d.ts.map +1 -0
  7. package/channel/AgentChannelsPanel.js +255 -0
  8. package/channel/AgentChannelsPanel.js.map +1 -0
  9. package/channel/ChannelConversationsDialog.d.ts +41 -0
  10. package/channel/ChannelConversationsDialog.d.ts.map +1 -0
  11. package/channel/ChannelConversationsDialog.js +94 -0
  12. package/channel/ChannelConversationsDialog.js.map +1 -0
  13. package/channel/ChannelCredentialsDialog.d.ts +37 -0
  14. package/channel/ChannelCredentialsDialog.d.ts.map +1 -0
  15. package/channel/ChannelCredentialsDialog.js +75 -0
  16. package/channel/ChannelCredentialsDialog.js.map +1 -0
  17. package/channel/ChannelToolCredentials.d.ts +31 -0
  18. package/channel/ChannelToolCredentials.d.ts.map +1 -0
  19. package/channel/ChannelToolCredentials.js +41 -0
  20. package/channel/ChannelToolCredentials.js.map +1 -0
  21. package/channel/ConnectSlackDialog.d.ts +61 -0
  22. package/channel/ConnectSlackDialog.d.ts.map +1 -0
  23. package/channel/ConnectSlackDialog.js +238 -0
  24. package/channel/ConnectSlackDialog.js.map +1 -0
  25. package/channel/ConnectWhatsAppDialog.d.ts +70 -0
  26. package/channel/ConnectWhatsAppDialog.d.ts.map +1 -0
  27. package/channel/ConnectWhatsAppDialog.js +256 -0
  28. package/channel/ConnectWhatsAppDialog.js.map +1 -0
  29. package/channel/SlackMarkIcon.d.ts +11 -0
  30. package/channel/SlackMarkIcon.d.ts.map +1 -0
  31. package/channel/SlackMarkIcon.js +13 -0
  32. package/channel/SlackMarkIcon.js.map +1 -0
  33. package/channel/WhatsAppMarkIcon.d.ts +12 -0
  34. package/channel/WhatsAppMarkIcon.d.ts.map +1 -0
  35. package/channel/WhatsAppMarkIcon.js +14 -0
  36. package/channel/WhatsAppMarkIcon.js.map +1 -0
  37. package/channel/connect/ServingAppSection.d.ts +57 -0
  38. package/channel/connect/ServingAppSection.d.ts.map +1 -0
  39. package/channel/connect/ServingAppSection.js +49 -0
  40. package/channel/connect/ServingAppSection.js.map +1 -0
  41. package/channel/connect/ToolCredentialsSection.d.ts +20 -0
  42. package/channel/connect/ToolCredentialsSection.d.ts.map +1 -0
  43. package/channel/connect/ToolCredentialsSection.js +22 -0
  44. package/channel/connect/ToolCredentialsSection.js.map +1 -0
  45. package/channel/connect/VerbatimRefusal.d.ts +16 -0
  46. package/channel/connect/VerbatimRefusal.d.ts.map +1 -0
  47. package/channel/connect/VerbatimRefusal.js +18 -0
  48. package/channel/connect/VerbatimRefusal.js.map +1 -0
  49. package/channel/connect/icons.d.ts +16 -0
  50. package/channel/connect/icons.d.ts.map +1 -0
  51. package/channel/connect/icons.js +21 -0
  52. package/channel/connect/icons.js.map +1 -0
  53. package/channel/index.d.ts +36 -0
  54. package/channel/index.d.ts.map +1 -0
  55. package/channel/index.js +19 -0
  56. package/channel/index.js.map +1 -0
  57. package/channel/providerPresentation.d.ts +44 -0
  58. package/channel/providerPresentation.d.ts.map +1 -0
  59. package/channel/providerPresentation.js +106 -0
  60. package/channel/providerPresentation.js.map +1 -0
  61. package/channel/providers.d.ts +62 -0
  62. package/channel/providers.d.ts.map +1 -0
  63. package/channel/providers.js +26 -0
  64. package/channel/providers.js.map +1 -0
  65. package/channel/useAgentChannel.d.ts +31 -0
  66. package/channel/useAgentChannel.d.ts.map +1 -0
  67. package/channel/useAgentChannel.js +34 -0
  68. package/channel/useAgentChannel.js.map +1 -0
  69. package/channel/useAgentChannelList.d.ts +43 -0
  70. package/channel/useAgentChannelList.d.ts.map +1 -0
  71. package/channel/useAgentChannelList.js +39 -0
  72. package/channel/useAgentChannelList.js.map +1 -0
  73. package/channel/useChannelSessions.d.ts +47 -0
  74. package/channel/useChannelSessions.d.ts.map +1 -0
  75. package/channel/useChannelSessions.js +38 -0
  76. package/channel/useChannelSessions.js.map +1 -0
  77. package/channel/useChannelToolReadiness.d.ts +23 -0
  78. package/channel/useChannelToolReadiness.d.ts.map +1 -0
  79. package/channel/useChannelToolReadiness.js +28 -0
  80. package/channel/useChannelToolReadiness.js.map +1 -0
  81. package/channel/useConnectSlackChannel.d.ts +75 -0
  82. package/channel/useConnectSlackChannel.d.ts.map +1 -0
  83. package/channel/useConnectSlackChannel.js +115 -0
  84. package/channel/useConnectSlackChannel.js.map +1 -0
  85. package/channel/useCreateAgentChannel.d.ts +42 -0
  86. package/channel/useCreateAgentChannel.d.ts.map +1 -0
  87. package/channel/useCreateAgentChannel.js +48 -0
  88. package/channel/useCreateAgentChannel.js.map +1 -0
  89. package/channel/useDeleteAgentChannel.d.ts +40 -0
  90. package/channel/useDeleteAgentChannel.d.ts.map +1 -0
  91. package/channel/useDeleteAgentChannel.js +44 -0
  92. package/channel/useDeleteAgentChannel.js.map +1 -0
  93. package/channel/useInstallChannel.d.ts +60 -0
  94. package/channel/useInstallChannel.d.ts.map +1 -0
  95. package/channel/useInstallChannel.js +63 -0
  96. package/channel/useInstallChannel.js.map +1 -0
  97. package/channel/useOrgAgentChannelList.d.ts +32 -0
  98. package/channel/useOrgAgentChannelList.d.ts.map +1 -0
  99. package/channel/useOrgAgentChannelList.js +29 -0
  100. package/channel/useOrgAgentChannelList.js.map +1 -0
  101. package/channel/useSaveAgentChannel.d.ts +63 -0
  102. package/channel/useSaveAgentChannel.d.ts.map +1 -0
  103. package/channel/useSaveAgentChannel.js +104 -0
  104. package/channel/useSaveAgentChannel.js.map +1 -0
  105. package/channel-app/ChannelAppDetailPanel.d.ts +46 -0
  106. package/channel-app/ChannelAppDetailPanel.d.ts.map +1 -0
  107. package/channel-app/ChannelAppDetailPanel.js +142 -0
  108. package/channel-app/ChannelAppDetailPanel.js.map +1 -0
  109. package/channel-app/ChannelAppListPanel.d.ts +36 -0
  110. package/channel-app/ChannelAppListPanel.d.ts.map +1 -0
  111. package/channel-app/ChannelAppListPanel.js +63 -0
  112. package/channel-app/ChannelAppListPanel.js.map +1 -0
  113. package/channel-app/CreateChannelAppForm.d.ts +54 -0
  114. package/channel-app/CreateChannelAppForm.d.ts.map +1 -0
  115. package/channel-app/CreateChannelAppForm.js +140 -0
  116. package/channel-app/CreateChannelAppForm.js.map +1 -0
  117. package/channel-app/index.d.ts +18 -0
  118. package/channel-app/index.d.ts.map +1 -0
  119. package/channel-app/index.js +10 -0
  120. package/channel-app/index.js.map +1 -0
  121. package/channel-app/internal.d.ts +33 -0
  122. package/channel-app/internal.d.ts.map +1 -0
  123. package/channel-app/internal.js +44 -0
  124. package/channel-app/internal.js.map +1 -0
  125. package/channel-app/slackAppSetup.d.ts +80 -0
  126. package/channel-app/slackAppSetup.d.ts.map +1 -0
  127. package/channel-app/slackAppSetup.js +123 -0
  128. package/channel-app/slackAppSetup.js.map +1 -0
  129. package/channel-app/useChannelAppList.d.ts +35 -0
  130. package/channel-app/useChannelAppList.d.ts.map +1 -0
  131. package/channel-app/useChannelAppList.js +34 -0
  132. package/channel-app/useChannelAppList.js.map +1 -0
  133. package/channel-app/useCreateChannelApp.d.ts +39 -0
  134. package/channel-app/useCreateChannelApp.d.ts.map +1 -0
  135. package/channel-app/useCreateChannelApp.js +50 -0
  136. package/channel-app/useCreateChannelApp.js.map +1 -0
  137. package/channel-app/useDeleteChannelApp.d.ts +31 -0
  138. package/channel-app/useDeleteChannelApp.d.ts.map +1 -0
  139. package/channel-app/useDeleteChannelApp.js +43 -0
  140. package/channel-app/useDeleteChannelApp.js.map +1 -0
  141. package/channel-app/useUpdateChannelApp.d.ts +39 -0
  142. package/channel-app/useUpdateChannelApp.d.ts.map +1 -0
  143. package/channel-app/useUpdateChannelApp.js +50 -0
  144. package/channel-app/useUpdateChannelApp.js.map +1 -0
  145. package/channel-app/whatsappAppSetup.d.ts +51 -0
  146. package/channel-app/whatsappAppSetup.d.ts.map +1 -0
  147. package/channel-app/whatsappAppSetup.js +57 -0
  148. package/channel-app/whatsappAppSetup.js.map +1 -0
  149. package/environment/index.d.ts +2 -0
  150. package/environment/index.d.ts.map +1 -1
  151. package/environment/index.js +1 -0
  152. package/environment/index.js.map +1 -1
  153. package/environment/useToolCredentialsReadiness.d.ts +52 -0
  154. package/environment/useToolCredentialsReadiness.d.ts.map +1 -0
  155. package/environment/useToolCredentialsReadiness.js +84 -0
  156. package/environment/useToolCredentialsReadiness.js.map +1 -0
  157. package/execution/ArtifactContentBody.d.ts.map +1 -1
  158. package/execution/ArtifactContentBody.js +5 -21
  159. package/execution/ArtifactContentBody.js.map +1 -1
  160. package/execution/ArtifactFileContent.d.ts +28 -0
  161. package/execution/ArtifactFileContent.d.ts.map +1 -0
  162. package/execution/ArtifactFileContent.js +36 -0
  163. package/execution/ArtifactFileContent.js.map +1 -0
  164. package/execution/ArtifactRow.d.ts +8 -20
  165. package/execution/ArtifactRow.d.ts.map +1 -1
  166. package/execution/ArtifactRow.js +12 -45
  167. package/execution/ArtifactRow.js.map +1 -1
  168. package/execution/ArtifactRowView.d.ts +43 -0
  169. package/execution/ArtifactRowView.d.ts.map +1 -0
  170. package/execution/ArtifactRowView.js +35 -0
  171. package/execution/ArtifactRowView.js.map +1 -0
  172. package/execution/FileChangesView.d.ts.map +1 -1
  173. package/execution/FileChangesView.js +1 -61
  174. package/execution/FileChangesView.js.map +1 -1
  175. package/execution/SubAgentSection.d.ts.map +1 -1
  176. package/execution/SubAgentSection.js +4 -15
  177. package/execution/SubAgentSection.js.map +1 -1
  178. package/execution/ToolCallItem.d.ts.map +1 -1
  179. package/execution/ToolCallItem.js +16 -61
  180. package/execution/ToolCallItem.js.map +1 -1
  181. package/execution/agent-execution-document.d.ts +31 -0
  182. package/execution/agent-execution-document.d.ts.map +1 -0
  183. package/execution/agent-execution-document.js +48 -0
  184. package/execution/agent-execution-document.js.map +1 -0
  185. package/{session → execution}/artifact-document.d.ts +2 -3
  186. package/execution/artifact-document.d.ts.map +1 -0
  187. package/execution/artifact-document.js +23 -0
  188. package/execution/artifact-document.js.map +1 -0
  189. package/execution/artifact-row-item.d.ts +56 -0
  190. package/execution/artifact-row-item.d.ts.map +1 -0
  191. package/execution/artifact-row-item.js +57 -0
  192. package/execution/artifact-row-item.js.map +1 -0
  193. package/execution/deriveExecutionFileChanges.d.ts +55 -0
  194. package/execution/deriveExecutionFileChanges.d.ts.map +1 -0
  195. package/execution/deriveExecutionFileChanges.js +216 -0
  196. package/execution/deriveExecutionFileChanges.js.map +1 -0
  197. package/execution/file-change-document.d.ts +22 -0
  198. package/execution/file-change-document.d.ts.map +1 -0
  199. package/execution/file-change-document.js +34 -0
  200. package/execution/file-change-document.js.map +1 -0
  201. package/execution/index.d.ts +14 -0
  202. package/execution/index.d.ts.map +1 -1
  203. package/execution/index.js +9 -0
  204. package/execution/index.js.map +1 -1
  205. package/execution/useArtifactContentById.d.ts +61 -0
  206. package/execution/useArtifactContentById.d.ts.map +1 -0
  207. package/execution/useArtifactContentById.js +63 -0
  208. package/execution/useArtifactContentById.js.map +1 -0
  209. package/execution/useArtifactDownload.d.ts +4 -3
  210. package/execution/useArtifactDownload.d.ts.map +1 -1
  211. package/execution/useArtifactDownload.js +4 -3
  212. package/execution/useArtifactDownload.js.map +1 -1
  213. package/execution/useCreateAgentExecution.d.ts +1 -1
  214. package/execution/useLiveAgentExecution.d.ts +59 -0
  215. package/execution/useLiveAgentExecution.d.ts.map +1 -0
  216. package/execution/useLiveAgentExecution.js +73 -0
  217. package/execution/useLiveAgentExecution.js.map +1 -0
  218. package/index.d.ts +15 -10
  219. package/index.d.ts.map +1 -1
  220. package/index.js +21 -6
  221. package/index.js.map +1 -1
  222. package/internal/DecisionButton.d.ts +4 -3
  223. package/internal/DecisionButton.d.ts.map +1 -1
  224. package/internal/DecisionButton.js +4 -3
  225. package/internal/DecisionButton.js.map +1 -1
  226. package/internal/oauthPopup.d.ts +101 -0
  227. package/internal/oauthPopup.d.ts.map +1 -0
  228. package/internal/oauthPopup.js +208 -0
  229. package/internal/oauthPopup.js.map +1 -0
  230. package/internal/store/index.d.ts +0 -2
  231. package/internal/store/index.d.ts.map +1 -1
  232. package/internal/store/index.js +0 -1
  233. package/internal/store/index.js.map +1 -1
  234. package/internal/store/workflow-execution-event-store.d.ts +34 -1
  235. package/internal/store/workflow-execution-event-store.d.ts.map +1 -1
  236. package/internal/store/workflow-execution-event-store.js +81 -3
  237. package/internal/store/workflow-execution-event-store.js.map +1 -1
  238. package/internal/store/workspace-file-selection-store.d.ts +1 -2
  239. package/internal/store/workspace-file-selection-store.d.ts.map +1 -1
  240. package/internal/store/workspace-file-selection-store.js +2 -5
  241. package/internal/store/workspace-file-selection-store.js.map +1 -1
  242. package/internal/thread-card/ThreadCardShell.d.ts +91 -0
  243. package/internal/thread-card/ThreadCardShell.d.ts.map +1 -0
  244. package/internal/thread-card/ThreadCardShell.js +41 -0
  245. package/internal/thread-card/ThreadCardShell.js.map +1 -0
  246. package/internal/thread-card/glyphs.d.ts +34 -0
  247. package/internal/thread-card/glyphs.d.ts.map +1 -0
  248. package/internal/thread-card/glyphs.js +50 -0
  249. package/internal/thread-card/glyphs.js.map +1 -0
  250. package/internal/thread-card/index.d.ts +3 -0
  251. package/internal/thread-card/index.d.ts.map +1 -0
  252. package/internal/thread-card/index.js +3 -0
  253. package/internal/thread-card/index.js.map +1 -0
  254. package/internal/useRevealLine.d.ts +2 -2
  255. package/internal/useRevealLine.js +2 -2
  256. package/mcp-server/OAuthCallbackHandler.js +1 -1
  257. package/mcp-server/OAuthCallbackHandler.js.map +1 -1
  258. package/mcp-server/useMcpServerOAuthConnect.d.ts +4 -23
  259. package/mcp-server/useMcpServerOAuthConnect.d.ts.map +1 -1
  260. package/mcp-server/useMcpServerOAuthConnect.js +12 -145
  261. package/mcp-server/useMcpServerOAuthConnect.js.map +1 -1
  262. package/package.json +4 -4
  263. package/provider.d.ts +32 -0
  264. package/provider.d.ts.map +1 -1
  265. package/provider.js +25 -1
  266. package/provider.js.map +1 -1
  267. package/session/NewSessionViewer.d.ts.map +1 -1
  268. package/session/NewSessionViewer.js +0 -1
  269. package/session/NewSessionViewer.js.map +1 -1
  270. package/session/SessionPanelChip.d.ts +7 -22
  271. package/session/SessionPanelChip.d.ts.map +1 -1
  272. package/session/SessionPanelChip.js +8 -36
  273. package/session/SessionPanelChip.js.map +1 -1
  274. package/session/SessionViewer.d.ts +7 -4
  275. package/session/SessionViewer.d.ts.map +1 -1
  276. package/session/SessionViewer.js +32 -30
  277. package/session/SessionViewer.js.map +1 -1
  278. package/session/audience.d.ts +15 -1
  279. package/session/audience.d.ts.map +1 -1
  280. package/session/channelOrigin.d.ts +33 -0
  281. package/session/channelOrigin.d.ts.map +1 -0
  282. package/session/channelOrigin.js +36 -0
  283. package/session/channelOrigin.js.map +1 -0
  284. package/session/facets/index.d.ts +0 -2
  285. package/session/facets/index.d.ts.map +1 -1
  286. package/session/facets/index.js +0 -1
  287. package/session/facets/index.js.map +1 -1
  288. package/session/index.d.ts +2 -2
  289. package/session/index.d.ts.map +1 -1
  290. package/session/index.js +5 -3
  291. package/session/index.js.map +1 -1
  292. package/session/useSessionFileChanges.d.ts +10 -34
  293. package/session/useSessionFileChanges.d.ts.map +1 -1
  294. package/session/useSessionFileChanges.js +9 -141
  295. package/session/useSessionFileChanges.js.map +1 -1
  296. package/session/useSessionPanel.d.ts +5 -15
  297. package/session/useSessionPanel.d.ts.map +1 -1
  298. package/session/useSessionPanel.js +3 -35
  299. package/session/useSessionPanel.js.map +1 -1
  300. package/session/useSessionRailViews.d.ts +3 -6
  301. package/session/useSessionRailViews.d.ts.map +1 -1
  302. package/session/useSessionRailViews.js +3 -17
  303. package/session/useSessionRailViews.js.map +1 -1
  304. package/settings/ChannelAppsSection.d.ts +13 -0
  305. package/settings/ChannelAppsSection.d.ts.map +1 -0
  306. package/settings/ChannelAppsSection.js +48 -0
  307. package/settings/ChannelAppsSection.js.map +1 -0
  308. package/settings/index.d.ts +1 -0
  309. package/settings/index.d.ts.map +1 -1
  310. package/settings/index.js +1 -0
  311. package/settings/index.js.map +1 -1
  312. package/settings/settings-nav.d.ts.map +1 -1
  313. package/settings/settings-nav.js +6 -1
  314. package/settings/settings-nav.js.map +1 -1
  315. package/sharing/AgentShareList.d.ts.map +1 -1
  316. package/sharing/AgentShareList.js +11 -3
  317. package/sharing/AgentShareList.js.map +1 -1
  318. package/sharing/ShareAgentDialog.js +1 -1
  319. package/sharing/useShareToolReadiness.d.ts +9 -38
  320. package/sharing/useShareToolReadiness.d.ts.map +1 -1
  321. package/sharing/useShareToolReadiness.js +7 -72
  322. package/sharing/useShareToolReadiness.js.map +1 -1
  323. package/src/__tests__/provider-container.layout.test.tsx +165 -0
  324. package/src/__tests__/provider-theme-scope.test.tsx +31 -0
  325. package/src/agent-instance/AgentInstanceList.tsx +60 -42
  326. package/src/agent-instance/__tests__/AgentInstanceList.test.tsx +161 -0
  327. package/src/channel/AgentChannelsPanel.tsx +688 -0
  328. package/src/channel/ChannelConversationsDialog.tsx +267 -0
  329. package/src/channel/ChannelCredentialsDialog.tsx +219 -0
  330. package/src/channel/ChannelToolCredentials.tsx +124 -0
  331. package/src/channel/ConnectSlackDialog.tsx +611 -0
  332. package/src/channel/ConnectWhatsAppDialog.tsx +624 -0
  333. package/src/channel/SlackMarkIcon.tsx +21 -0
  334. package/src/channel/WhatsAppMarkIcon.tsx +22 -0
  335. package/src/channel/__tests__/AgentChannelsPanel.test.tsx +638 -0
  336. package/src/channel/__tests__/ChannelConversationsDialog.test.tsx +114 -0
  337. package/src/channel/__tests__/ChannelCredentialsDialog.test.tsx +240 -0
  338. package/src/channel/__tests__/ConnectSlackDialog.test.tsx +659 -0
  339. package/src/channel/__tests__/ConnectWhatsAppDialog.test.tsx +564 -0
  340. package/src/channel/__tests__/providers.test.ts +118 -0
  341. package/src/channel/__tests__/useAgentChannel.test.tsx +116 -0
  342. package/src/channel/__tests__/useAgentChannelList.test.tsx +166 -0
  343. package/src/channel/__tests__/useChannelSessions.test.tsx +95 -0
  344. package/src/channel/__tests__/useChannelToolReadiness.test.tsx +158 -0
  345. package/src/channel/__tests__/useConnectSlackChannel.test.tsx +276 -0
  346. package/src/channel/__tests__/useDeleteAgentChannel.test.tsx +97 -0
  347. package/src/channel/__tests__/useInstallChannel.test.tsx +177 -0
  348. package/src/channel/__tests__/useSaveAgentChannel.test.tsx +294 -0
  349. package/src/channel/connect/ServingAppSection.tsx +185 -0
  350. package/src/channel/connect/ToolCredentialsSection.tsx +67 -0
  351. package/src/channel/connect/VerbatimRefusal.tsx +27 -0
  352. package/src/channel/connect/icons.tsx +42 -0
  353. package/src/channel/index.ts +65 -0
  354. package/src/channel/providerPresentation.ts +154 -0
  355. package/src/channel/providers.ts +73 -0
  356. package/src/channel/useAgentChannel.ts +58 -0
  357. package/src/channel/useAgentChannelList.ts +69 -0
  358. package/src/channel/useChannelSessions.ts +73 -0
  359. package/src/channel/useChannelToolReadiness.ts +39 -0
  360. package/src/channel/useConnectSlackChannel.ts +195 -0
  361. package/src/channel/useCreateAgentChannel.ts +73 -0
  362. package/src/channel/useDeleteAgentChannel.ts +71 -0
  363. package/src/channel/useInstallChannel.ts +117 -0
  364. package/src/channel/useOrgAgentChannelList.ts +60 -0
  365. package/src/channel/useSaveAgentChannel.ts +133 -0
  366. package/src/channel-app/ChannelAppDetailPanel.tsx +510 -0
  367. package/src/channel-app/ChannelAppListPanel.tsx +201 -0
  368. package/src/channel-app/CreateChannelAppForm.tsx +529 -0
  369. package/src/channel-app/__tests__/channelAppWhatsApp.test.tsx +270 -0
  370. package/src/channel-app/__tests__/slackAppSetup.test.ts +75 -0
  371. package/src/channel-app/__tests__/useChannelAppHooks.test.tsx +157 -0
  372. package/src/channel-app/__tests__/whatsappAppSetup.test.ts +39 -0
  373. package/src/channel-app/index.ts +30 -0
  374. package/src/channel-app/internal.tsx +180 -0
  375. package/src/channel-app/slackAppSetup.ts +153 -0
  376. package/src/channel-app/useChannelAppList.ts +59 -0
  377. package/src/channel-app/useCreateChannelApp.ts +70 -0
  378. package/src/channel-app/useDeleteChannelApp.ts +62 -0
  379. package/src/channel-app/useUpdateChannelApp.ts +70 -0
  380. package/src/channel-app/whatsappAppSetup.ts +62 -0
  381. package/src/environment/index.ts +2 -0
  382. package/src/environment/useToolCredentialsReadiness.ts +122 -0
  383. package/src/execution/ArtifactContentBody.tsx +6 -88
  384. package/src/execution/ArtifactFileContent.tsx +110 -0
  385. package/src/execution/ArtifactRow.tsx +28 -118
  386. package/src/execution/ArtifactRowView.tsx +137 -0
  387. package/src/execution/FileChangesView.tsx +4 -69
  388. package/src/execution/SubAgentSection.tsx +2 -36
  389. package/src/execution/ToolCallItem.tsx +48 -175
  390. package/src/execution/__tests__/ArtifactFileContent.test.tsx +60 -0
  391. package/src/execution/__tests__/ArtifactRowView.test.tsx +78 -0
  392. package/src/execution/__tests__/agent-execution-document.test.ts +45 -0
  393. package/src/execution/__tests__/artifact-row-item.test.ts +128 -0
  394. package/src/execution/__tests__/deriveExecutionFileChanges.test.ts +270 -0
  395. package/src/execution/__tests__/useArtifactContentById.test.tsx +85 -0
  396. package/src/execution/__tests__/useLiveAgentExecution.test.tsx +202 -0
  397. package/src/execution/agent-execution-document.ts +54 -0
  398. package/src/execution/artifact-document.ts +24 -0
  399. package/src/execution/artifact-row-item.ts +97 -0
  400. package/src/execution/deriveExecutionFileChanges.ts +237 -0
  401. package/src/execution/file-change-document.ts +37 -0
  402. package/src/execution/index.ts +36 -0
  403. package/src/execution/useArtifactContentById.ts +120 -0
  404. package/src/execution/useArtifactDownload.ts +4 -3
  405. package/src/execution/useCreateAgentExecution.ts +1 -1
  406. package/src/execution/useLiveAgentExecution.ts +127 -0
  407. package/src/index.ts +155 -11
  408. package/src/internal/DecisionButton.tsx +4 -3
  409. package/src/internal/__tests__/ThreadCardShell.test.tsx +105 -0
  410. package/src/internal/__tests__/oauthPopup.test.ts +245 -0
  411. package/src/internal/oauthPopup.ts +261 -0
  412. package/src/internal/store/__tests__/workflow-execution-event-store.test.ts +375 -5
  413. package/src/internal/store/index.ts +0 -3
  414. package/src/internal/store/workflow-execution-event-store.ts +123 -4
  415. package/src/internal/store/workspace-file-selection-store.ts +2 -5
  416. package/src/internal/thread-card/ThreadCardShell.tsx +189 -0
  417. package/src/internal/thread-card/glyphs.tsx +108 -0
  418. package/src/internal/thread-card/index.ts +19 -0
  419. package/src/internal/useRevealLine.ts +2 -2
  420. package/src/mcp-server/OAuthCallbackHandler.tsx +2 -2
  421. package/src/mcp-server/useMcpServerOAuthConnect.ts +22 -184
  422. package/src/provider.tsx +42 -0
  423. package/src/session/NewSessionViewer.tsx +0 -1
  424. package/src/session/SessionPanelChip.tsx +10 -96
  425. package/src/session/SessionViewer.tsx +170 -144
  426. package/src/session/__tests__/SessionViewer-artifactTabs.test.tsx +1 -1
  427. package/src/session/__tests__/observerAudience.test.tsx +241 -0
  428. package/src/session/__tests__/useSessionPanel.test.ts +6 -61
  429. package/src/session/__tests__/useSessionRailViews.test.tsx +5 -27
  430. package/src/session/audience.ts +15 -1
  431. package/src/session/channelOrigin.ts +45 -0
  432. package/src/session/facets/index.ts +0 -3
  433. package/src/session/index.ts +9 -6
  434. package/src/session/useSessionFileChanges.ts +12 -153
  435. package/src/session/useSessionPanel.ts +8 -51
  436. package/src/session/useSessionRailViews.tsx +2 -27
  437. package/src/settings/ChannelAppsSection.tsx +133 -0
  438. package/src/settings/index.ts +1 -0
  439. package/src/settings/settings-nav.ts +6 -0
  440. package/src/sharing/AgentShareList.tsx +85 -64
  441. package/src/sharing/ShareAgentDialog.tsx +1 -1
  442. package/src/sharing/__tests__/AgentShareList.test.tsx +92 -12
  443. package/src/sharing/useShareToolReadiness.ts +13 -101
  444. package/src/styles.css +14 -0
  445. package/src/workflow/WorkflowAgentExecutionDocument.tsx +283 -0
  446. package/src/workflow/WorkflowApprovalList.tsx +158 -0
  447. package/src/workflow/WorkflowArtifactDocument.tsx +257 -0
  448. package/src/workflow/WorkflowExecutionGraph.tsx +40 -78
  449. package/src/workflow/WorkflowExecutionViewer.tsx +610 -287
  450. package/src/workflow/WorkflowFileReviewList.tsx +1 -1
  451. package/src/workflow/WorkflowTaskApprovalCard.tsx +5 -4
  452. package/src/workflow/WorkflowTaskApprovalSummary.tsx +6 -6
  453. package/src/workflow/__tests__/WorkflowAgentExecutionDocument.test.tsx +651 -0
  454. package/src/workflow/__tests__/WorkflowApprovalList.test.tsx +229 -0
  455. package/src/workflow/__tests__/WorkflowArtifactDocument.test.tsx +90 -0
  456. package/src/workflow/__tests__/WorkflowArtifactsTab.test.tsx +85 -0
  457. package/src/workflow/__tests__/WorkflowChangesTab.test.tsx +113 -0
  458. package/src/workflow/__tests__/WorkflowExecutionViewer.approvals.test.tsx +473 -0
  459. package/src/workflow/__tests__/WorkflowExecutionViewer.reconciliation.test.tsx +632 -0
  460. package/src/workflow/__tests__/WorkflowTaskApprovalSummary.test.tsx +1 -1
  461. package/src/workflow/__tests__/WorkflowTaskThread.test.tsx +947 -0
  462. package/src/workflow/__tests__/WorkflowUsageTab.test.tsx +163 -0
  463. package/src/workflow/__tests__/agent-call-live-experience.test.ts +6 -53
  464. package/src/workflow/__tests__/derive-execution-overlays.test.ts +4 -0
  465. package/src/workflow/__tests__/deriveWorkflowArtifactItems.test.ts +71 -0
  466. package/src/workflow/__tests__/deriveWorkflowUsageItems.test.ts +132 -0
  467. package/src/workflow/__tests__/execution-graph.test.ts +8 -0
  468. package/src/workflow/__tests__/project-thread-items.test.ts +428 -0
  469. package/src/workflow/__tests__/structured-data-viewer.test.tsx +1 -1
  470. package/src/workflow/__tests__/task-approval.test.ts +149 -0
  471. package/src/workflow/__tests__/task-detail-io.test.ts +40 -0
  472. package/src/workflow/__tests__/task-presentation.test.ts +479 -0
  473. package/src/workflow/__tests__/useActiveTaskName.test.ts +4 -0
  474. package/src/workflow/__tests__/useApprovalBoundary.test.ts +158 -0
  475. package/src/workflow/__tests__/useExecutionAnnouncements.test.ts +4 -0
  476. package/src/workflow/__tests__/useFollowExecution.test.ts +2 -89
  477. package/src/workflow/__tests__/useWorkflowExecutionFileChanges.test.tsx +412 -0
  478. package/src/workflow/__tests__/useWorkflowExecutionPanel.test.ts +297 -0
  479. package/src/workflow/__tests__/useWorkflowExecutionRailViews.test.tsx +115 -0
  480. package/src/workflow/deriveWorkflowArtifactItems.ts +59 -0
  481. package/src/workflow/deriveWorkflowUsageItems.ts +73 -0
  482. package/src/workflow/diagnosis-document.ts +31 -0
  483. package/src/workflow/execution/index.ts +0 -15
  484. package/src/workflow/facets/WorkflowArtifactsTab.tsx +99 -0
  485. package/src/workflow/facets/WorkflowChangesTab.tsx +129 -0
  486. package/src/workflow/facets/WorkflowUsageTab.tsx +258 -0
  487. package/src/workflow/format-utils.ts +2 -3
  488. package/src/workflow/index.ts +106 -62
  489. package/src/workflow/inspector/index.ts +0 -4
  490. package/src/workflow/instance/WorkflowInstanceList.tsx +59 -41
  491. package/src/workflow/instance/__tests__/WorkflowInstanceList.test.tsx +156 -0
  492. package/src/workflow/task-detail/index.ts +11 -0
  493. package/src/workflow/task-detail/task-approval.ts +158 -0
  494. package/src/workflow/task-detail/task-detail-io.ts +65 -0
  495. package/src/workflow/thread/WorkflowTaskThread.tsx +845 -0
  496. package/src/workflow/thread/project-thread-items.ts +235 -0
  497. package/src/workflow/thread/task-presentation.ts +427 -0
  498. package/src/workflow/thread/thread-presentation.ts +59 -0
  499. package/src/workflow/thread/useWorkflowThreadItems.ts +34 -0
  500. package/src/workflow/useApprovalBoundary.ts +72 -0
  501. package/src/workflow/useFollowExecution.ts +0 -26
  502. package/src/workflow/useWorkflowArtifactDownload.ts +68 -0
  503. package/src/workflow/useWorkflowExecutionActions.ts +3 -2
  504. package/src/workflow/useWorkflowExecutionFileChanges.ts +341 -0
  505. package/src/workflow/useWorkflowExecutionGraph.ts +3 -43
  506. package/src/workflow/useWorkflowExecutionPanel.ts +292 -0
  507. package/src/workflow/useWorkflowExecutionRailViews.tsx +173 -0
  508. package/src/workspace/FileViewer.tsx +3 -3
  509. package/src/workspace/PanelChip.tsx +103 -0
  510. package/src/workspace/WorkspaceSurface.tsx +50 -6
  511. package/src/workspace/__tests__/WorkspaceSurface.test.tsx +110 -0
  512. package/src/workspace/index.ts +3 -0
  513. package/styles.css +1 -1
  514. package/workflow/WorkflowAgentExecutionDocument.d.ts +79 -0
  515. package/workflow/WorkflowAgentExecutionDocument.d.ts.map +1 -0
  516. package/workflow/WorkflowAgentExecutionDocument.js +87 -0
  517. package/workflow/WorkflowAgentExecutionDocument.js.map +1 -0
  518. package/workflow/WorkflowApprovalList.d.ts +62 -0
  519. package/workflow/WorkflowApprovalList.d.ts.map +1 -0
  520. package/workflow/WorkflowApprovalList.js +52 -0
  521. package/workflow/WorkflowApprovalList.js.map +1 -0
  522. package/workflow/WorkflowArtifactDocument.d.ts +29 -0
  523. package/workflow/WorkflowArtifactDocument.d.ts.map +1 -0
  524. package/workflow/WorkflowArtifactDocument.js +89 -0
  525. package/workflow/WorkflowArtifactDocument.js.map +1 -0
  526. package/workflow/WorkflowExecutionGraph.d.ts +15 -13
  527. package/workflow/WorkflowExecutionGraph.d.ts.map +1 -1
  528. package/workflow/WorkflowExecutionGraph.js +18 -53
  529. package/workflow/WorkflowExecutionGraph.js.map +1 -1
  530. package/workflow/WorkflowExecutionViewer.d.ts +8 -5
  531. package/workflow/WorkflowExecutionViewer.d.ts.map +1 -1
  532. package/workflow/WorkflowExecutionViewer.js +329 -54
  533. package/workflow/WorkflowExecutionViewer.js.map +1 -1
  534. package/workflow/WorkflowFileReviewList.d.ts +1 -1
  535. package/workflow/WorkflowFileReviewList.js +1 -1
  536. package/workflow/WorkflowTaskApprovalCard.d.ts +4 -3
  537. package/workflow/WorkflowTaskApprovalCard.d.ts.map +1 -1
  538. package/workflow/WorkflowTaskApprovalCard.js +5 -4
  539. package/workflow/WorkflowTaskApprovalCard.js.map +1 -1
  540. package/workflow/WorkflowTaskApprovalSummary.d.ts +6 -6
  541. package/workflow/WorkflowTaskApprovalSummary.js +5 -5
  542. package/workflow/deriveWorkflowArtifactItems.d.ts +30 -0
  543. package/workflow/deriveWorkflowArtifactItems.d.ts.map +1 -0
  544. package/workflow/deriveWorkflowArtifactItems.js +38 -0
  545. package/workflow/deriveWorkflowArtifactItems.js.map +1 -0
  546. package/workflow/deriveWorkflowUsageItems.d.ts +36 -0
  547. package/workflow/deriveWorkflowUsageItems.d.ts.map +1 -0
  548. package/workflow/deriveWorkflowUsageItems.js +50 -0
  549. package/workflow/deriveWorkflowUsageItems.js.map +1 -0
  550. package/workflow/diagnosis-document.d.ts +17 -0
  551. package/workflow/diagnosis-document.d.ts.map +1 -0
  552. package/workflow/diagnosis-document.js +29 -0
  553. package/workflow/diagnosis-document.js.map +1 -0
  554. package/workflow/execution/index.d.ts +0 -2
  555. package/workflow/execution/index.d.ts.map +1 -1
  556. package/workflow/execution/index.js +0 -2
  557. package/workflow/execution/index.js.map +1 -1
  558. package/workflow/facets/WorkflowArtifactsTab.d.ts +26 -0
  559. package/workflow/facets/WorkflowArtifactsTab.d.ts.map +1 -0
  560. package/workflow/facets/WorkflowArtifactsTab.js +34 -0
  561. package/workflow/facets/WorkflowArtifactsTab.js.map +1 -0
  562. package/workflow/facets/WorkflowChangesTab.d.ts +37 -0
  563. package/workflow/facets/WorkflowChangesTab.d.ts.map +1 -0
  564. package/workflow/facets/WorkflowChangesTab.js +50 -0
  565. package/workflow/facets/WorkflowChangesTab.js.map +1 -0
  566. package/workflow/facets/WorkflowUsageTab.d.ts +27 -0
  567. package/workflow/facets/WorkflowUsageTab.d.ts.map +1 -0
  568. package/workflow/facets/WorkflowUsageTab.js +87 -0
  569. package/workflow/facets/WorkflowUsageTab.js.map +1 -0
  570. package/workflow/format-utils.d.ts +2 -3
  571. package/workflow/format-utils.d.ts.map +1 -1
  572. package/workflow/format-utils.js +2 -3
  573. package/workflow/format-utils.js.map +1 -1
  574. package/workflow/index.d.ts +21 -10
  575. package/workflow/index.d.ts.map +1 -1
  576. package/workflow/index.js +29 -14
  577. package/workflow/index.js.map +1 -1
  578. package/workflow/inspector/index.d.ts +0 -2
  579. package/workflow/inspector/index.d.ts.map +1 -1
  580. package/workflow/inspector/index.js +0 -2
  581. package/workflow/inspector/index.js.map +1 -1
  582. package/workflow/instance/WorkflowInstanceList.d.ts.map +1 -1
  583. package/workflow/instance/WorkflowInstanceList.js +11 -3
  584. package/workflow/instance/WorkflowInstanceList.js.map +1 -1
  585. package/workflow/task-detail/StructuredDataViewer.d.ts.map +1 -0
  586. package/workflow/task-detail/StructuredDataViewer.js.map +1 -0
  587. package/workflow/task-detail/index.d.ts +4 -0
  588. package/workflow/task-detail/index.d.ts.map +1 -0
  589. package/workflow/task-detail/index.js +4 -0
  590. package/workflow/task-detail/index.js.map +1 -0
  591. package/workflow/task-detail/task-approval.d.ts +89 -0
  592. package/workflow/task-detail/task-approval.d.ts.map +1 -0
  593. package/workflow/task-detail/task-approval.js +84 -0
  594. package/workflow/task-detail/task-approval.js.map +1 -0
  595. package/workflow/task-detail/task-detail-io.d.ts +39 -0
  596. package/workflow/task-detail/task-detail-io.d.ts.map +1 -0
  597. package/workflow/task-detail/task-detail-io.js +42 -0
  598. package/workflow/task-detail/task-detail-io.js.map +1 -0
  599. package/workflow/thread/WorkflowTaskThread.d.ts +91 -0
  600. package/workflow/thread/WorkflowTaskThread.d.ts.map +1 -0
  601. package/workflow/thread/WorkflowTaskThread.js +318 -0
  602. package/workflow/thread/WorkflowTaskThread.js.map +1 -0
  603. package/workflow/thread/project-thread-items.d.ts +108 -0
  604. package/workflow/thread/project-thread-items.d.ts.map +1 -0
  605. package/workflow/thread/project-thread-items.js +126 -0
  606. package/workflow/thread/project-thread-items.js.map +1 -0
  607. package/workflow/thread/task-presentation.d.ts +73 -0
  608. package/workflow/thread/task-presentation.d.ts.map +1 -0
  609. package/workflow/thread/task-presentation.js +331 -0
  610. package/workflow/thread/task-presentation.js.map +1 -0
  611. package/workflow/thread/thread-presentation.d.ts +28 -0
  612. package/workflow/thread/thread-presentation.d.ts.map +1 -0
  613. package/workflow/thread/thread-presentation.js +28 -0
  614. package/workflow/thread/thread-presentation.js.map +1 -0
  615. package/workflow/thread/useWorkflowThreadItems.d.ts +16 -0
  616. package/workflow/thread/useWorkflowThreadItems.d.ts.map +1 -0
  617. package/workflow/thread/useWorkflowThreadItems.js +22 -0
  618. package/workflow/thread/useWorkflowThreadItems.js.map +1 -0
  619. package/workflow/useApprovalBoundary.d.ts +38 -0
  620. package/workflow/useApprovalBoundary.d.ts.map +1 -0
  621. package/workflow/useApprovalBoundary.js +55 -0
  622. package/workflow/useApprovalBoundary.js.map +1 -0
  623. package/workflow/useFollowExecution.d.ts +0 -20
  624. package/workflow/useFollowExecution.d.ts.map +1 -1
  625. package/workflow/useFollowExecution.js +0 -17
  626. package/workflow/useFollowExecution.js.map +1 -1
  627. package/workflow/useWorkflowArtifactDownload.d.ts +28 -0
  628. package/workflow/useWorkflowArtifactDownload.d.ts.map +1 -0
  629. package/workflow/useWorkflowArtifactDownload.js +45 -0
  630. package/workflow/useWorkflowArtifactDownload.js.map +1 -0
  631. package/workflow/useWorkflowExecutionActions.d.ts +3 -2
  632. package/workflow/useWorkflowExecutionActions.d.ts.map +1 -1
  633. package/workflow/useWorkflowExecutionActions.js.map +1 -1
  634. package/workflow/useWorkflowExecutionFileChanges.d.ts +107 -0
  635. package/workflow/useWorkflowExecutionFileChanges.d.ts.map +1 -0
  636. package/workflow/useWorkflowExecutionFileChanges.js +244 -0
  637. package/workflow/useWorkflowExecutionFileChanges.js.map +1 -0
  638. package/workflow/useWorkflowExecutionGraph.d.ts +1 -14
  639. package/workflow/useWorkflowExecutionGraph.d.ts.map +1 -1
  640. package/workflow/useWorkflowExecutionGraph.js +2 -25
  641. package/workflow/useWorkflowExecutionGraph.js.map +1 -1
  642. package/workflow/useWorkflowExecutionPanel.d.ts +108 -0
  643. package/workflow/useWorkflowExecutionPanel.d.ts.map +1 -0
  644. package/workflow/useWorkflowExecutionPanel.js +103 -0
  645. package/workflow/useWorkflowExecutionPanel.js.map +1 -0
  646. package/workflow/useWorkflowExecutionRailViews.d.ts +46 -0
  647. package/workflow/useWorkflowExecutionRailViews.d.ts.map +1 -0
  648. package/workflow/useWorkflowExecutionRailViews.js +81 -0
  649. package/workflow/useWorkflowExecutionRailViews.js.map +1 -0
  650. package/workspace/FileViewer.d.ts +1 -1
  651. package/workspace/FileViewer.js +3 -3
  652. package/workspace/FileViewer.js.map +1 -1
  653. package/workspace/PanelChip.d.ts +27 -0
  654. package/workspace/PanelChip.d.ts.map +1 -0
  655. package/workspace/PanelChip.js +42 -0
  656. package/workspace/PanelChip.js.map +1 -0
  657. package/workspace/WorkspaceSurface.d.ts +25 -1
  658. package/workspace/WorkspaceSurface.d.ts.map +1 -1
  659. package/workspace/WorkspaceSurface.js +21 -9
  660. package/workspace/WorkspaceSurface.js.map +1 -1
  661. package/workspace/index.d.ts +3 -1
  662. package/workspace/index.d.ts.map +1 -1
  663. package/workspace/index.js +1 -0
  664. package/workspace/index.js.map +1 -1
  665. package/execution/ThreadSelectionContext.d.ts +0 -17
  666. package/execution/ThreadSelectionContext.d.ts.map +0 -1
  667. package/execution/ThreadSelectionContext.js +0 -18
  668. package/execution/ThreadSelectionContext.js.map +0 -1
  669. package/execution/useThreadSelection.d.ts +0 -35
  670. package/execution/useThreadSelection.d.ts.map +0 -1
  671. package/execution/useThreadSelection.js +0 -65
  672. package/execution/useThreadSelection.js.map +0 -1
  673. package/internal/store/selection-store.d.ts +0 -53
  674. package/internal/store/selection-store.d.ts.map +0 -1
  675. package/internal/store/selection-store.js +0 -88
  676. package/internal/store/selection-store.js.map +0 -1
  677. package/session/artifact-document.d.ts.map +0 -1
  678. package/session/artifact-document.js +0 -22
  679. package/session/artifact-document.js.map +0 -1
  680. package/session/facets/InspectTab.d.ts +0 -13
  681. package/session/facets/InspectTab.d.ts.map +0 -1
  682. package/session/facets/InspectTab.js +0 -19
  683. package/session/facets/InspectTab.js.map +0 -1
  684. package/src/execution/ThreadSelectionContext.tsx +0 -20
  685. package/src/execution/useThreadSelection.ts +0 -95
  686. package/src/internal/store/__tests__/selection-store.test.ts +0 -115
  687. package/src/internal/store/selection-store.ts +0 -112
  688. package/src/session/artifact-document.ts +0 -23
  689. package/src/session/facets/InspectTab.tsx +0 -57
  690. package/src/workflow/WorkflowExecutionApprovalCard.tsx +0 -154
  691. package/src/workflow/WorkflowExecutionArtifactPanel.tsx +0 -107
  692. package/src/workflow/WorkflowExecutionCostPanel.tsx +0 -120
  693. package/src/workflow/WorkflowExecutionTaskPanel.tsx +0 -129
  694. package/src/workflow/WorkflowExecutionTimeline.tsx +0 -151
  695. package/src/workflow/WorkflowExecutionTimelineEvent.tsx +0 -497
  696. package/src/workflow/__tests__/ExecutionInspector.test.tsx +0 -155
  697. package/src/workflow/__tests__/WorkflowExecutionApprovalCard.test.tsx +0 -129
  698. package/src/workflow/__tests__/derive-task-detail.test.ts +0 -1265
  699. package/src/workflow/__tests__/derive-waterfall-entries.test.ts +0 -521
  700. package/src/workflow/__tests__/execution-inspector.test.tsx +0 -332
  701. package/src/workflow/execution/derive-waterfall-entries.ts +0 -377
  702. package/src/workflow/execution/useWaterfallEntries.ts +0 -125
  703. package/src/workflow/execution-inspector/AgentCallTab.tsx +0 -169
  704. package/src/workflow/execution-inspector/ErrorTab.tsx +0 -110
  705. package/src/workflow/execution-inspector/EventLogTab.tsx +0 -79
  706. package/src/workflow/execution-inspector/ExecutionInspector.tsx +0 -341
  707. package/src/workflow/execution-inspector/InputOutputTab.tsx +0 -325
  708. package/src/workflow/execution-inspector/RetriesTab.tsx +0 -68
  709. package/src/workflow/execution-inspector/SummaryTab.tsx +0 -62
  710. package/src/workflow/execution-inspector/derive-task-detail.ts +0 -584
  711. package/src/workflow/execution-inspector/index.ts +0 -14
  712. package/src/workflow/execution-inspector/useExecutionTaskDetail.ts +0 -55
  713. package/src/workflow/inspector/ExecutionInspectorAdapter.tsx +0 -40
  714. package/src/workflow/waterfall/WaterfallBar.tsx +0 -167
  715. package/src/workflow/waterfall/WaterfallRow.tsx +0 -112
  716. package/src/workflow/waterfall/WaterfallScale.tsx +0 -52
  717. package/src/workflow/waterfall/WaterfallTimeline.tsx +0 -138
  718. package/src/workflow/waterfall/WaterfallTooltip.tsx +0 -74
  719. package/src/workflow/waterfall/index.ts +0 -5
  720. package/workflow/WorkflowExecutionApprovalCard.d.ts +0 -34
  721. package/workflow/WorkflowExecutionApprovalCard.d.ts.map +0 -1
  722. package/workflow/WorkflowExecutionApprovalCard.js +0 -46
  723. package/workflow/WorkflowExecutionApprovalCard.js.map +0 -1
  724. package/workflow/WorkflowExecutionArtifactPanel.d.ts +0 -15
  725. package/workflow/WorkflowExecutionArtifactPanel.d.ts.map +0 -1
  726. package/workflow/WorkflowExecutionArtifactPanel.js +0 -46
  727. package/workflow/WorkflowExecutionArtifactPanel.js.map +0 -1
  728. package/workflow/WorkflowExecutionCostPanel.d.ts +0 -18
  729. package/workflow/WorkflowExecutionCostPanel.d.ts.map +0 -1
  730. package/workflow/WorkflowExecutionCostPanel.js +0 -31
  731. package/workflow/WorkflowExecutionCostPanel.js.map +0 -1
  732. package/workflow/WorkflowExecutionTaskPanel.d.ts +0 -24
  733. package/workflow/WorkflowExecutionTaskPanel.d.ts.map +0 -1
  734. package/workflow/WorkflowExecutionTaskPanel.js +0 -51
  735. package/workflow/WorkflowExecutionTaskPanel.js.map +0 -1
  736. package/workflow/WorkflowExecutionTimeline.d.ts +0 -42
  737. package/workflow/WorkflowExecutionTimeline.d.ts.map +0 -1
  738. package/workflow/WorkflowExecutionTimeline.js +0 -52
  739. package/workflow/WorkflowExecutionTimeline.js.map +0 -1
  740. package/workflow/WorkflowExecutionTimelineEvent.d.ts +0 -25
  741. package/workflow/WorkflowExecutionTimelineEvent.d.ts.map +0 -1
  742. package/workflow/WorkflowExecutionTimelineEvent.js +0 -179
  743. package/workflow/WorkflowExecutionTimelineEvent.js.map +0 -1
  744. package/workflow/execution/derive-waterfall-entries.d.ts +0 -85
  745. package/workflow/execution/derive-waterfall-entries.d.ts.map +0 -1
  746. package/workflow/execution/derive-waterfall-entries.js +0 -268
  747. package/workflow/execution/derive-waterfall-entries.js.map +0 -1
  748. package/workflow/execution/useWaterfallEntries.d.ts +0 -25
  749. package/workflow/execution/useWaterfallEntries.d.ts.map +0 -1
  750. package/workflow/execution/useWaterfallEntries.js +0 -67
  751. package/workflow/execution/useWaterfallEntries.js.map +0 -1
  752. package/workflow/execution-inspector/AgentCallTab.d.ts +0 -21
  753. package/workflow/execution-inspector/AgentCallTab.d.ts.map +0 -1
  754. package/workflow/execution-inspector/AgentCallTab.js +0 -36
  755. package/workflow/execution-inspector/AgentCallTab.js.map +0 -1
  756. package/workflow/execution-inspector/ErrorTab.d.ts +0 -9
  757. package/workflow/execution-inspector/ErrorTab.d.ts.map +0 -1
  758. package/workflow/execution-inspector/ErrorTab.js +0 -29
  759. package/workflow/execution-inspector/ErrorTab.js.map +0 -1
  760. package/workflow/execution-inspector/EventLogTab.d.ts +0 -11
  761. package/workflow/execution-inspector/EventLogTab.d.ts.map +0 -1
  762. package/workflow/execution-inspector/EventLogTab.js +0 -47
  763. package/workflow/execution-inspector/EventLogTab.js.map +0 -1
  764. package/workflow/execution-inspector/ExecutionInspector.d.ts +0 -69
  765. package/workflow/execution-inspector/ExecutionInspector.d.ts.map +0 -1
  766. package/workflow/execution-inspector/ExecutionInspector.js +0 -145
  767. package/workflow/execution-inspector/ExecutionInspector.js.map +0 -1
  768. package/workflow/execution-inspector/InputOutputTab.d.ts +0 -20
  769. package/workflow/execution-inspector/InputOutputTab.d.ts.map +0 -1
  770. package/workflow/execution-inspector/InputOutputTab.js +0 -124
  771. package/workflow/execution-inspector/InputOutputTab.js.map +0 -1
  772. package/workflow/execution-inspector/RetriesTab.d.ts +0 -7
  773. package/workflow/execution-inspector/RetriesTab.d.ts.map +0 -1
  774. package/workflow/execution-inspector/RetriesTab.js +0 -11
  775. package/workflow/execution-inspector/RetriesTab.js.map +0 -1
  776. package/workflow/execution-inspector/StructuredDataViewer.d.ts.map +0 -1
  777. package/workflow/execution-inspector/StructuredDataViewer.js.map +0 -1
  778. package/workflow/execution-inspector/SummaryTab.d.ts +0 -7
  779. package/workflow/execution-inspector/SummaryTab.d.ts.map +0 -1
  780. package/workflow/execution-inspector/SummaryTab.js +0 -10
  781. package/workflow/execution-inspector/SummaryTab.js.map +0 -1
  782. package/workflow/execution-inspector/derive-task-detail.d.ts +0 -140
  783. package/workflow/execution-inspector/derive-task-detail.d.ts.map +0 -1
  784. package/workflow/execution-inspector/derive-task-detail.js +0 -366
  785. package/workflow/execution-inspector/derive-task-detail.js.map +0 -1
  786. package/workflow/execution-inspector/index.d.ts +0 -4
  787. package/workflow/execution-inspector/index.d.ts.map +0 -1
  788. package/workflow/execution-inspector/index.js +0 -4
  789. package/workflow/execution-inspector/index.js.map +0 -1
  790. package/workflow/execution-inspector/useExecutionTaskDetail.d.ts +0 -38
  791. package/workflow/execution-inspector/useExecutionTaskDetail.d.ts.map +0 -1
  792. package/workflow/execution-inspector/useExecutionTaskDetail.js +0 -37
  793. package/workflow/execution-inspector/useExecutionTaskDetail.js.map +0 -1
  794. package/workflow/inspector/ExecutionInspectorAdapter.d.ts +0 -26
  795. package/workflow/inspector/ExecutionInspectorAdapter.d.ts.map +0 -1
  796. package/workflow/inspector/ExecutionInspectorAdapter.js +0 -23
  797. package/workflow/inspector/ExecutionInspectorAdapter.js.map +0 -1
  798. package/workflow/waterfall/WaterfallBar.d.ts +0 -19
  799. package/workflow/waterfall/WaterfallBar.d.ts.map +0 -1
  800. package/workflow/waterfall/WaterfallBar.js +0 -70
  801. package/workflow/waterfall/WaterfallBar.js.map +0 -1
  802. package/workflow/waterfall/WaterfallRow.d.ts +0 -18
  803. package/workflow/waterfall/WaterfallRow.d.ts.map +0 -1
  804. package/workflow/waterfall/WaterfallRow.js +0 -45
  805. package/workflow/waterfall/WaterfallRow.js.map +0 -1
  806. package/workflow/waterfall/WaterfallScale.d.ts +0 -14
  807. package/workflow/waterfall/WaterfallScale.d.ts.map +0 -1
  808. package/workflow/waterfall/WaterfallScale.js +0 -22
  809. package/workflow/waterfall/WaterfallScale.js.map +0 -1
  810. package/workflow/waterfall/WaterfallTimeline.d.ts +0 -46
  811. package/workflow/waterfall/WaterfallTimeline.d.ts.map +0 -1
  812. package/workflow/waterfall/WaterfallTimeline.js +0 -60
  813. package/workflow/waterfall/WaterfallTimeline.js.map +0 -1
  814. package/workflow/waterfall/WaterfallTooltip.d.ts +0 -15
  815. package/workflow/waterfall/WaterfallTooltip.d.ts.map +0 -1
  816. package/workflow/waterfall/WaterfallTooltip.js +0 -20
  817. package/workflow/waterfall/WaterfallTooltip.js.map +0 -1
  818. package/workflow/waterfall/index.d.ts +0 -6
  819. package/workflow/waterfall/index.d.ts.map +0 -1
  820. package/workflow/waterfall/index.js +0 -6
  821. package/workflow/waterfall/index.js.map +0 -1
  822. /package/src/workflow/{execution-inspector → task-detail}/StructuredDataViewer.tsx +0 -0
  823. /package/workflow/{execution-inspector → task-detail}/StructuredDataViewer.d.ts +0 -0
  824. /package/workflow/{execution-inspector → task-detail}/StructuredDataViewer.js +0 -0
@@ -1,584 +0,0 @@
1
- /**
2
- * Pure derivation function that extracts rich per-task detail from
3
- * the execution event stream and status snapshot.
4
- *
5
- * No React dependencies — independently testable and usable outside
6
- * the inspector component.
7
- *
8
- * @since T05 (Runtime Inspector)
9
- */
10
-
11
- import type { WorkflowExecutionEvent } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/event_pb";
12
- import type { WorkflowTask } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/api_pb";
13
- import { WorkflowTaskKind } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/enum_pb";
14
- import { toJson, type JsonObject, type JsonValue } from "@bufbuild/protobuf";
15
- import { ValueSchema } from "@bufbuild/protobuf/wkt";
16
- import type { DerivedTaskState } from "../../internal/store/workflow-execution-event-store.js";
17
- import { kindToDisplayName } from "../kind-metadata.js";
18
- import { taskKindToString } from "../workflow-graph-conversions.js";
19
-
20
- // ---------------------------------------------------------------------------
21
- // Public types
22
- // ---------------------------------------------------------------------------
23
-
24
- export interface TaskDetail {
25
- readonly taskName: string;
26
- readonly taskKind: WorkflowTaskKind;
27
- readonly displayName: string;
28
- readonly status: DerivedTaskState["status"];
29
-
30
- readonly summary: TaskDetailSummary;
31
- readonly input: TaskDetailIO | null;
32
- readonly output: TaskDetailIO | null;
33
- readonly error: TaskDetailError | null;
34
- readonly retries: TaskDetailRetryHistory | null;
35
- readonly agentCall: TaskDetailAgentCall | null;
36
- readonly approval: TaskDetailApproval | null;
37
- readonly eventLog: readonly WorkflowExecutionEvent[];
38
- }
39
-
40
- export interface TaskDetailSummary {
41
- readonly startedAt: string | null;
42
- readonly completedAt: string | null;
43
- readonly durationMs: number;
44
- readonly costMicros: bigint;
45
- readonly inputTokens: bigint;
46
- readonly outputTokens: bigint;
47
- readonly totalTokens: bigint;
48
- readonly attemptNumber: number;
49
- }
50
-
51
- export interface TaskDetailIO {
52
- readonly data: JsonObject;
53
- readonly summary: JsonObject | null;
54
- readonly artifactIds: readonly string[];
55
- readonly source: "snapshot" | "event-summary";
56
- }
57
-
58
- export interface TaskDetailError {
59
- readonly message: string;
60
- readonly attemptNumber: number;
61
- readonly maxAttempts: number;
62
- readonly willRetry: boolean;
63
- readonly durationMs: number;
64
- readonly category: string | null;
65
- readonly detail: string | null;
66
- }
67
-
68
- export interface TaskDetailRetryHistory {
69
- readonly attempts: readonly TaskDetailRetryAttempt[];
70
- readonly currentAttempt: number;
71
- }
72
-
73
- export interface TaskDetailRetryAttempt {
74
- readonly attemptNumber: number;
75
- readonly status: "completed" | "failed";
76
- readonly durationMs: number;
77
- readonly error: string;
78
- readonly delayBeforeMs: number;
79
- readonly startedAt: string;
80
- }
81
-
82
- export interface TaskDetailAgentCall {
83
- readonly childExecutionId: string;
84
- readonly agentSlug: string;
85
- readonly agentPhase: string;
86
- readonly messagesCount: number;
87
- readonly toolCallsCount: number;
88
- readonly tokensConsumed: bigint;
89
- readonly costMicros: bigint;
90
- readonly error: string;
91
- readonly currentToolName: string;
92
- }
93
-
94
- export interface TaskDetailApproval {
95
- readonly prompt: string;
96
- readonly approvers: readonly string[];
97
- readonly outcomes: readonly { readonly name: string; readonly label: string }[];
98
- readonly formSchema: JsonObject | null;
99
- readonly timeoutSeconds: number;
100
- /**
101
- * Resolved review payload the gate presented — the material under
102
- * review (issue #234). `null` when the gate carries no payload or when
103
- * the payload is artifact-backed (see {@link payloadArtifactId}).
104
- */
105
- readonly payload: JsonValue | null;
106
- /**
107
- * Renderer discriminator from the task config's `ui_hint`. Consumers
108
- * with a registered review renderer for this hint present domain-native
109
- * UI; everything else falls back to structured-data display. The empty
110
- * string when the task config sets no hint.
111
- */
112
- readonly uiHint: string;
113
- /**
114
- * Artifact holding the payload when it exceeded the inline promotion
115
- * threshold. Mutually exclusive with {@link payload}; resolve the
116
- * content via `stigmer.artifact.getContent`. `null` when inline.
117
- */
118
- readonly payloadArtifactId: string | null;
119
- readonly decision: TaskDetailApprovalDecision | null;
120
- }
121
-
122
- /**
123
- * A resolved human_input decision, sourced from the canonical task-output
124
- * record (the runner stores the reviewer's full response as the task
125
- * output) and enriched with timing from the `approval_resolved` event.
126
- *
127
- * `outcome` is the empty string during the brief window after a decision
128
- * is signalled but before the status snapshot reflects the task output —
129
- * consumers render a "finalizing" affordance in that state.
130
- */
131
- export interface TaskDetailApprovalDecision {
132
- /** Chosen outcome identifier (e.g. "approve", "pause_campaigns"). */
133
- readonly outcome: string;
134
- /** Reviewer who made the decision. */
135
- readonly reviewer: string;
136
- /** ISO-8601 timestamp the decision was recorded, or `null`. */
137
- readonly respondedAt: string | null;
138
- /** Free-text comment the reviewer attached, or the empty string. */
139
- readonly comment: string;
140
- /** Structured form answers submitted with the decision, or `null`. */
141
- readonly formData: JsonObject | null;
142
- /** How long the gate was pending, in milliseconds (from the event). */
143
- readonly waitDurationMs: number;
144
- /** `true` when a timeout policy resolved the gate without a human. */
145
- readonly autoResolved: boolean;
146
- }
147
-
148
- // ---------------------------------------------------------------------------
149
- // Constants
150
- // ---------------------------------------------------------------------------
151
-
152
- const BIGINT_ZERO = BigInt(0);
153
-
154
- // ---------------------------------------------------------------------------
155
- // Main derivation
156
- // ---------------------------------------------------------------------------
157
-
158
- /**
159
- * Derives rich per-task detail by joining the event stream with the
160
- * status snapshot.
161
- *
162
- * Returns `null` when no data is available for the given task name
163
- * (no events AND no snapshot entry).
164
- */
165
- export function deriveTaskDetail(
166
- taskName: string,
167
- events: readonly WorkflowExecutionEvent[],
168
- taskSnapshot: WorkflowTask | undefined,
169
- derivedState: DerivedTaskState | undefined,
170
- ): TaskDetail | null {
171
- const taskEvents = events.filter((e) => e.taskName === taskName);
172
-
173
- if (taskEvents.length === 0 && !taskSnapshot && !derivedState) {
174
- return null;
175
- }
176
-
177
- const buckets = bucketEvents(taskEvents);
178
- const summary = buildSummary(taskSnapshot, derivedState, buckets);
179
- const input = buildIO(taskSnapshot?.input, buckets.inputSummary, taskSnapshot?.artifactIds ?? []);
180
- const output = buildIO(taskSnapshot?.output, buckets.outputSummary, []);
181
- const snapshotMeta = taskSnapshot?.metadata
182
- ? (taskSnapshot.metadata as unknown as Record<string, unknown>)
183
- : undefined;
184
- const error = buildError(buckets, snapshotMeta);
185
- const retries = buildRetryHistory(buckets);
186
-
187
- const taskKind = derivedState?.taskKind ??
188
- buckets.taskKind ??
189
- WorkflowTaskKind.workflow_task_kind_unspecified;
190
-
191
- const agentCall = buildAgentCall(buckets, taskKind, snapshotMeta);
192
- const approval = buildApproval(buckets, taskSnapshot?.output);
193
-
194
- const status = derivedState?.status ?? "pending";
195
- const displayName = kindToDisplayName(taskKindToString(taskKind));
196
-
197
- return {
198
- taskName,
199
- taskKind,
200
- displayName,
201
- status,
202
- summary,
203
- input,
204
- output,
205
- error,
206
- retries,
207
- agentCall,
208
- approval,
209
- eventLog: taskEvents,
210
- };
211
- }
212
-
213
- // ---------------------------------------------------------------------------
214
- // Event bucketing — single-pass categorization
215
- // ---------------------------------------------------------------------------
216
-
217
- interface EventBuckets {
218
- taskKind: WorkflowTaskKind | undefined;
219
- starts: Array<{ attemptNumber: number; occurredAt: string; inputSummary?: JsonObject }>;
220
- completions: Array<{ durationMs: number; costMicros: bigint; tokensUsed: bigint; outputSummary?: JsonObject }>;
221
- failures: Array<{ attemptNumber: number; maxAttempts: number; willRetry: boolean; error: string; durationMs: number }>;
222
- retryings: Array<{ failedAttempt: number; nextAttempt: number; delayMs: number }>;
223
- skipped: { reason: string } | null;
224
- agentStarted: { childExecutionId: string; agentSlug: string; messageSummary: string } | null;
225
- agentProgress: { childExecutionId: string; agentPhase: number; currentToolName: string; tokensConsumed: bigint; messagesCount: number; toolCallsCount: number } | null;
226
- agentCompleted: { durationMs: number; tokensConsumed: bigint; costMicros: bigint; error: string; agentPhase: number } | null;
227
- approvalRequested: { prompt: string; approvers: string[]; timeoutSeconds: number; outcomes: Array<{ name: string; label: string }>; formSchema: JsonObject | null; payload: JsonValue | null; uiHint: string; payloadArtifactId: string | null } | null;
228
- approvalResolved: { action: number; resolvedBy: string; comment: string; waitDurationMs: number } | null;
229
- inputSummary: JsonObject | null;
230
- outputSummary: JsonObject | null;
231
- }
232
-
233
- function bucketEvents(taskEvents: readonly WorkflowExecutionEvent[]): EventBuckets {
234
- const buckets: EventBuckets = {
235
- taskKind: undefined,
236
- starts: [],
237
- completions: [],
238
- failures: [],
239
- retryings: [],
240
- skipped: null,
241
- agentStarted: null,
242
- agentProgress: null,
243
- agentCompleted: null,
244
- approvalRequested: null,
245
- approvalResolved: null,
246
- inputSummary: null,
247
- outputSummary: null,
248
- };
249
-
250
- for (const evt of taskEvents) {
251
- const p = evt.payload;
252
- switch (p.case) {
253
- case "taskStarted":
254
- buckets.taskKind ??= p.value.taskKind;
255
- buckets.starts.push({
256
- attemptNumber: p.value.attemptNumber,
257
- occurredAt: evt.occurredAt,
258
- inputSummary: p.value.inputSummary as JsonObject | undefined,
259
- });
260
- if (p.value.inputSummary) {
261
- buckets.inputSummary = p.value.inputSummary as JsonObject;
262
- }
263
- break;
264
-
265
- case "taskCompleted":
266
- buckets.taskKind ??= p.value.taskKind;
267
- buckets.completions.push({
268
- durationMs: Number(p.value.durationMs),
269
- costMicros: p.value.costMicros,
270
- tokensUsed: p.value.tokensUsed,
271
- outputSummary: p.value.outputSummary as JsonObject | undefined,
272
- });
273
- if (p.value.outputSummary) {
274
- buckets.outputSummary = p.value.outputSummary as JsonObject;
275
- }
276
- break;
277
-
278
- case "taskFailed":
279
- buckets.taskKind ??= p.value.taskKind;
280
- buckets.failures.push({
281
- attemptNumber: p.value.attemptNumber,
282
- maxAttempts: p.value.maxAttempts,
283
- willRetry: p.value.willRetry,
284
- error: p.value.error,
285
- durationMs: Number(p.value.durationMs),
286
- });
287
- break;
288
-
289
- case "taskSkipped":
290
- buckets.taskKind ??= p.value.taskKind;
291
- buckets.skipped = { reason: p.value.reason };
292
- break;
293
-
294
- case "taskRetrying":
295
- buckets.retryings.push({
296
- failedAttempt: p.value.failedAttempt,
297
- nextAttempt: p.value.nextAttempt,
298
- delayMs: Number(p.value.delayMs),
299
- });
300
- break;
301
-
302
- case "agentCallStarted":
303
- buckets.agentStarted = {
304
- childExecutionId: p.value.childExecutionId,
305
- agentSlug: p.value.agentSlug,
306
- messageSummary: p.value.messageSummary,
307
- };
308
- break;
309
-
310
- case "agentCallProgress":
311
- buckets.agentProgress = {
312
- childExecutionId: p.value.childExecutionId,
313
- agentPhase: p.value.agentPhase,
314
- currentToolName: p.value.currentToolName,
315
- tokensConsumed: p.value.tokensConsumed,
316
- messagesCount: p.value.messagesCount,
317
- toolCallsCount: p.value.toolCallsCount,
318
- };
319
- break;
320
-
321
- case "agentCallCompleted":
322
- buckets.agentCompleted = {
323
- durationMs: Number(p.value.durationMs),
324
- tokensConsumed: p.value.tokensConsumed,
325
- costMicros: p.value.costMicros,
326
- error: p.value.error,
327
- agentPhase: p.value.agentPhase,
328
- };
329
- break;
330
-
331
- case "approvalRequested":
332
- buckets.approvalRequested = {
333
- prompt: p.value.prompt,
334
- approvers: [...p.value.approvers],
335
- timeoutSeconds: p.value.timeoutSeconds,
336
- outcomes: (p.value.outcomes ?? []).map((o) => ({ name: o.name, label: o.label })),
337
- formSchema: p.value.formSchema ? (p.value.formSchema as unknown as JsonObject) : null,
338
- // The payload rides the event as a google.protobuf.Value message;
339
- // unwrap it to plain JSON once here so all consumers downstream
340
- // (renderers, fallback card) work with ordinary values.
341
- payload: p.value.payload ? (toJson(ValueSchema, p.value.payload) as JsonValue) : null,
342
- uiHint: p.value.uiHint,
343
- payloadArtifactId: p.value.payloadArtifactId || null,
344
- };
345
- break;
346
-
347
- case "approvalResolved":
348
- buckets.approvalResolved = {
349
- action: p.value.action,
350
- resolvedBy: p.value.resolvedBy,
351
- comment: p.value.comment,
352
- waitDurationMs: Number(p.value.waitDurationMs),
353
- };
354
- break;
355
- }
356
- }
357
-
358
- return buckets;
359
- }
360
-
361
- // ---------------------------------------------------------------------------
362
- // Section builders
363
- // ---------------------------------------------------------------------------
364
-
365
- function buildSummary(
366
- snapshot: WorkflowTask | undefined,
367
- derived: DerivedTaskState | undefined,
368
- buckets: EventBuckets,
369
- ): TaskDetailSummary {
370
- const startedAt = snapshot?.startedAt || buckets.starts[0]?.occurredAt || null;
371
- const completedAt = snapshot?.completedAt || null;
372
- const durationMs = derived?.durationMs ?? 0;
373
-
374
- const costMicros = snapshot?.costMicros ?? derived?.costMicros ?? BIGINT_ZERO;
375
- const inputTokens = snapshot?.inputTokens ?? BIGINT_ZERO;
376
- const outputTokens = snapshot?.outputTokens ?? BIGINT_ZERO;
377
- const totalTokens = inputTokens + outputTokens > BIGINT_ZERO
378
- ? inputTokens + outputTokens
379
- : derived?.tokensUsed ?? BIGINT_ZERO;
380
-
381
- const attemptNumber = derived?.attemptNumber ?? buckets.starts.length;
382
-
383
- return {
384
- startedAt,
385
- completedAt,
386
- durationMs,
387
- costMicros,
388
- inputTokens,
389
- outputTokens,
390
- totalTokens,
391
- attemptNumber,
392
- };
393
- }
394
-
395
- function buildIO(
396
- snapshotData: JsonObject | undefined,
397
- eventSummary: JsonObject | null,
398
- artifactIds: readonly string[],
399
- ): TaskDetailIO | null {
400
- if (snapshotData && Object.keys(snapshotData).length > 0) {
401
- return {
402
- data: snapshotData,
403
- summary: eventSummary,
404
- artifactIds,
405
- source: "snapshot",
406
- };
407
- }
408
-
409
- if (eventSummary && Object.keys(eventSummary).length > 0) {
410
- return {
411
- data: eventSummary,
412
- summary: eventSummary,
413
- artifactIds,
414
- source: "event-summary",
415
- };
416
- }
417
-
418
- return null;
419
- }
420
-
421
- function buildError(buckets: EventBuckets, snapshotMetadata?: Record<string, unknown>): TaskDetailError | null {
422
- if (buckets.failures.length === 0) return null;
423
-
424
- const latest = buckets.failures[buckets.failures.length - 1];
425
- const category = typeof snapshotMetadata?.error_category === "string"
426
- ? snapshotMetadata.error_category
427
- : null;
428
- const detail = typeof snapshotMetadata?.error_detail === "string"
429
- ? snapshotMetadata.error_detail
430
- : null;
431
-
432
- return {
433
- message: latest.error,
434
- attemptNumber: latest.attemptNumber,
435
- maxAttempts: latest.maxAttempts,
436
- willRetry: latest.willRetry,
437
- durationMs: latest.durationMs,
438
- category,
439
- detail,
440
- };
441
- }
442
-
443
- function buildRetryHistory(buckets: EventBuckets): TaskDetailRetryHistory | null {
444
- if (buckets.starts.length <= 1 && buckets.failures.length === 0) return null;
445
-
446
- const attempts: TaskDetailRetryAttempt[] = [];
447
-
448
- for (let i = 0; i < buckets.starts.length; i++) {
449
- const start = buckets.starts[i];
450
- const failure = buckets.failures.find((f) => f.attemptNumber === start.attemptNumber);
451
- const completion = i === buckets.starts.length - 1 && buckets.completions.length > 0
452
- ? buckets.completions[buckets.completions.length - 1]
453
- : null;
454
- const retry = buckets.retryings.find((r) => r.failedAttempt === start.attemptNumber);
455
-
456
- attempts.push({
457
- attemptNumber: start.attemptNumber,
458
- status: failure ? "failed" : completion ? "completed" : "failed",
459
- durationMs: failure ? failure.durationMs : completion ? completion.durationMs : 0,
460
- error: failure ? failure.error : "",
461
- delayBeforeMs: retry ? retry.delayMs : 0,
462
- startedAt: start.occurredAt,
463
- });
464
- }
465
-
466
- if (attempts.length <= 1 && buckets.failures.length === 0) return null;
467
-
468
- const currentAttempt = buckets.starts.length > 0
469
- ? buckets.starts[buckets.starts.length - 1].attemptNumber
470
- : 1;
471
-
472
- return { attempts, currentAttempt };
473
- }
474
-
475
- function buildAgentCall(
476
- buckets: EventBuckets,
477
- taskKind: WorkflowTaskKind,
478
- snapshotMeta: Record<string, unknown> | undefined,
479
- ): TaskDetailAgentCall | null {
480
- if (buckets.agentStarted) {
481
- const childExecutionId =
482
- buckets.agentStarted.childExecutionId ||
483
- buckets.agentProgress?.childExecutionId ||
484
- "";
485
-
486
- return {
487
- childExecutionId,
488
- agentSlug: buckets.agentStarted.agentSlug,
489
- agentPhase: String(buckets.agentCompleted?.agentPhase ?? buckets.agentProgress?.agentPhase ?? ""),
490
- messagesCount: buckets.agentProgress?.messagesCount ?? 0,
491
- toolCallsCount: buckets.agentProgress?.toolCallsCount ?? 0,
492
- tokensConsumed: buckets.agentCompleted?.tokensConsumed ?? buckets.agentProgress?.tokensConsumed ?? BIGINT_ZERO,
493
- costMicros: buckets.agentCompleted?.costMicros ?? BIGINT_ZERO,
494
- error: buckets.agentCompleted?.error ?? "",
495
- currentToolName: buckets.agentProgress?.currentToolName ?? "",
496
- };
497
- }
498
-
499
- if (taskKind === WorkflowTaskKind.agent_call && snapshotMeta) {
500
- const aexId = snapshotMeta.agent_execution_id;
501
- if (typeof aexId === "string" && aexId) {
502
- return {
503
- childExecutionId: aexId,
504
- agentSlug: typeof snapshotMeta.agent_slug === "string" ? snapshotMeta.agent_slug : "",
505
- agentPhase: "",
506
- messagesCount: 0,
507
- toolCallsCount: typeof snapshotMeta.tool_call_count === "number" ? snapshotMeta.tool_call_count : 0,
508
- tokensConsumed: BIGINT_ZERO,
509
- costMicros: BIGINT_ZERO,
510
- error: "",
511
- currentToolName: "",
512
- };
513
- }
514
- }
515
-
516
- return null;
517
- }
518
-
519
- function buildApproval(
520
- buckets: EventBuckets,
521
- taskOutput: JsonObject | undefined,
522
- ): TaskDetailApproval | null {
523
- if (!buckets.approvalRequested) return null;
524
-
525
- const req = buckets.approvalRequested;
526
- const res = buckets.approvalResolved;
527
-
528
- // The human_input task's output IS the canonical decision record: the
529
- // runner persists the reviewer's full response ({ outcome, reviewer,
530
- // responded_at, comment, form_data, auto_resolved }) as the task output,
531
- // a google.protobuf.Struct, so every field survives. Prefer it, and fall
532
- // back to the lightweight approval_resolved event for fields the output
533
- // snapshot has not captured yet (the brief window after a decision is
534
- // signalled but before the status snapshot refreshes).
535
- const outputOutcome = readSnapshotString(taskOutput, "outcome");
536
- const hasDecision = res !== null || outputOutcome !== "";
537
- if (!hasDecision) {
538
- return {
539
- prompt: req.prompt,
540
- approvers: req.approvers,
541
- outcomes: req.outcomes,
542
- formSchema: req.formSchema,
543
- timeoutSeconds: req.timeoutSeconds,
544
- payload: req.payload,
545
- uiHint: req.uiHint,
546
- payloadArtifactId: req.payloadArtifactId,
547
- decision: null,
548
- };
549
- }
550
-
551
- return {
552
- prompt: req.prompt,
553
- approvers: req.approvers,
554
- outcomes: req.outcomes,
555
- formSchema: req.formSchema,
556
- timeoutSeconds: req.timeoutSeconds,
557
- payload: req.payload,
558
- uiHint: req.uiHint,
559
- payloadArtifactId: req.payloadArtifactId,
560
- decision: {
561
- outcome: outputOutcome,
562
- reviewer: readSnapshotString(taskOutput, "reviewer") || (res?.resolvedBy ?? ""),
563
- respondedAt: readSnapshotString(taskOutput, "responded_at") || null,
564
- comment: readSnapshotString(taskOutput, "comment") || (res?.comment ?? ""),
565
- formData: readSnapshotObject(taskOutput, "form_data"),
566
- waitDurationMs: res?.waitDurationMs ?? 0,
567
- autoResolved: taskOutput?.["auto_resolved"] === true,
568
- },
569
- };
570
- }
571
-
572
- /** Reads a string field from a task-output Struct, or `""` when absent. */
573
- function readSnapshotString(obj: JsonObject | undefined, key: string): string {
574
- const value = obj?.[key];
575
- return typeof value === "string" ? value : "";
576
- }
577
-
578
- /** Reads a nested object field from a task-output Struct, or `null`. */
579
- function readSnapshotObject(obj: JsonObject | undefined, key: string): JsonObject | null {
580
- const value = obj?.[key];
581
- return value !== null && typeof value === "object" && !Array.isArray(value)
582
- ? (value as JsonObject)
583
- : null;
584
- }
@@ -1,14 +0,0 @@
1
- export { ExecutionInspector, type ExecutionInspectorProps } from "./ExecutionInspector.js";
2
- export { useExecutionTaskDetail, type UseExecutionTaskDetailReturn } from "./useExecutionTaskDetail.js";
3
- export {
4
- deriveTaskDetail,
5
- type TaskDetail,
6
- type TaskDetailSummary,
7
- type TaskDetailIO,
8
- type TaskDetailError,
9
- type TaskDetailRetryHistory,
10
- type TaskDetailRetryAttempt,
11
- type TaskDetailAgentCall,
12
- type TaskDetailApproval,
13
- type TaskDetailApprovalDecision,
14
- } from "./derive-task-detail.js";
@@ -1,55 +0,0 @@
1
- "use client";
2
-
3
- import { useMemo } from "react";
4
- import type { WorkflowExecutionEvent } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/event_pb";
5
- import type { WorkflowTask } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/api_pb";
6
- import type { DerivedTaskState } from "../../internal/store/workflow-execution-event-store.js";
7
- import { deriveTaskDetail, type TaskDetail } from "./derive-task-detail.js";
8
-
9
- /** Return value of {@link useExecutionTaskDetail}. */
10
- export interface UseExecutionTaskDetailReturn {
11
- /** Rich per-task detail, or `null` when no task is selected or no data exists. */
12
- readonly detail: TaskDetail | null;
13
- }
14
-
15
- /**
16
- * Data hook that derives rich per-task detail for the runtime inspector.
17
- *
18
- * Joins the event stream (for timeline data) with the execution status
19
- * snapshot (for full I/O) to produce a `TaskDetail` for the selected task.
20
- *
21
- * Returns `null` when `selectedTaskName` is null or no data exists for
22
- * the selected task.
23
- *
24
- * @example
25
- * ```tsx
26
- * const { detail } = useExecutionTaskDetail({
27
- * selectedTaskName: "classify_input",
28
- * events,
29
- * taskStates,
30
- * taskSnapshots: execution?.status?.tasks,
31
- * });
32
- * if (detail) {
33
- * // Render tabs based on detail.input, detail.error, etc.
34
- * }
35
- * ```
36
- */
37
- export function useExecutionTaskDetail(options: {
38
- readonly selectedTaskName: string | null;
39
- readonly events: readonly WorkflowExecutionEvent[];
40
- readonly taskStates: ReadonlyMap<string, DerivedTaskState>;
41
- readonly taskSnapshots?: readonly WorkflowTask[];
42
- }): UseExecutionTaskDetailReturn {
43
- const { selectedTaskName, events, taskStates, taskSnapshots } = options;
44
-
45
- const detail = useMemo((): TaskDetail | null => {
46
- if (!selectedTaskName) return null;
47
-
48
- const snapshot = taskSnapshots?.find((t) => t.taskName === selectedTaskName);
49
- const derived = taskStates.get(selectedTaskName);
50
-
51
- return deriveTaskDetail(selectedTaskName, events, snapshot, derived);
52
- }, [selectedTaskName, events, taskStates, taskSnapshots]);
53
-
54
- return { detail };
55
- }
@@ -1,40 +0,0 @@
1
- "use client";
2
-
3
- import { memo } from "react";
4
- import { cn } from "@stigmer/theme";
5
- import { ExecutionInspector } from "../execution-inspector/index.js";
6
- import type { ExecutionInspectorProps } from "../execution-inspector/index.js";
7
-
8
- /**
9
- * Props for {@link ExecutionInspectorAdapter}.
10
- *
11
- * Extends the existing `ExecutionInspectorProps` — this adapter is a
12
- * transparent pass-through that adds visual consistency with the
13
- * design-mode inspector shell.
14
- */
15
- export interface ExecutionInspectorAdapterProps extends ExecutionInspectorProps {}
16
-
17
- /**
18
- * Execution mode adapter for the inspector panel.
19
- *
20
- * Wraps the existing T05 `ExecutionInspector` component to provide
21
- * visual consistency with the design-mode `InspectorShell`. The
22
- * execution inspector already has its own header and tab system,
23
- * so this adapter is intentionally thin — it ensures the component
24
- * fits into the same panel slot without duplicating the header.
25
- *
26
- * The underlying `ExecutionInspector`, `useExecutionTaskDetail`, and
27
- * `deriveTaskDetail` remain completely untouched.
28
- *
29
- * @since T10 (Inspector Panel Refactor)
30
- */
31
- export const ExecutionInspectorAdapter = memo(function ExecutionInspectorAdapter(
32
- props: ExecutionInspectorAdapterProps,
33
- ) {
34
- return (
35
- <ExecutionInspector
36
- {...props}
37
- className={cn("flex-1", props.className)}
38
- />
39
- );
40
- });