@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
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
3
+ import { useMemo } from "react";
4
4
  import type { Node, Edge } from "@xyflow/react";
5
5
  import type { WorkflowExecution } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/api_pb";
6
6
  import type { ExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/enum_pb";
@@ -41,16 +41,6 @@ export interface UseWorkflowExecutionGraphOptions {
41
41
  */
42
42
  readonly taskStates?: ReadonlyMap<string, DerivedTaskState>;
43
43
 
44
- /**
45
- * Callback invoked once when the hook auto-selects a failed task
46
- * on a terminal execution. The parent can wire this to its own
47
- * `setSelectedTaskName` to keep the inspector in sync.
48
- *
49
- * Without this, auto-selection only affects the hook's internal
50
- * `selectedTaskName` state and is invisible to sibling components.
51
- */
52
- readonly onAutoSelectTask?: (taskName: string) => void;
53
-
54
44
  /**
55
45
  * When `true`, non-sentinel nodes are marked `draggable: true` so
56
46
  * the parent component can allow ephemeral drag repositioning.
@@ -68,10 +58,6 @@ export interface UseWorkflowExecutionGraphReturn {
68
58
  readonly edges: Edge[];
69
59
  /** Current execution lifecycle phase. */
70
60
  readonly executionPhase: ExecutionPhase | undefined;
71
- /** Currently selected task name in the graph. */
72
- readonly selectedTaskName: string | null;
73
- /** Set the selected task in the graph. */
74
- readonly setSelectedTaskName: (name: string | null) => void;
75
61
  /** `true` while the graph model is being loaded (workflow fetch + parse). */
76
62
  readonly isLoading: boolean;
77
63
  /** Error from workflow fetch or graph building. */
@@ -87,13 +73,10 @@ export interface UseWorkflowExecutionGraphReturn {
87
73
  * the current definition as a fallback but this is an imprecise view.
88
74
  */
89
75
  readonly versionResolutionFailed: boolean;
90
- /** Task states from the event stream (for the inspector). */
76
+ /** Task states from the event stream (for the graph's status overlays). */
91
77
  readonly taskStates: ReadonlyMap<string, DerivedTaskState>;
92
78
  }
93
79
 
94
- const EMPTY_TASK_STATES: ReadonlyMap<string, DerivedTaskState> = new Map();
95
- const TERMINAL_PHASES = new Set([3, 4, 5, 6]);
96
-
97
80
  type WorkflowFetchResult = {
98
81
  yaml: string;
99
82
  isVersionPinned: boolean;
@@ -130,11 +113,9 @@ async function fetchLiveWorkflowFallback(
130
113
  export function useWorkflowExecutionGraph(
131
114
  options: UseWorkflowExecutionGraphOptions,
132
115
  ): UseWorkflowExecutionGraphReturn {
133
- const { executionId, onAutoSelectTask, nodesDraggable = false } = options;
116
+ const { executionId, nodesDraggable = false } = options;
134
117
  const stigmer = useStigmer();
135
118
 
136
- const [selectedTaskName, setSelectedTaskName] = useState<string | null>(null);
137
-
138
119
  // ── Execution data: use external or fetch own ────────────────────
139
120
 
140
121
  const ownExecution = useWorkflowExecution(
@@ -377,31 +358,10 @@ export function useWorkflowExecutionGraph(
377
358
  ?? (!isLoading && !baseElements && effectiveWorkflowId ? "Unable to build workflow graph" : null)
378
359
  ?? null;
379
360
 
380
- // ── Auto-select failed task (fires once on terminal phase) ───────
381
-
382
- const didAutoSelectRef = useRef(false);
383
-
384
- useEffect(() => {
385
- if (didAutoSelectRef.current) return;
386
- if (!phase || !TERMINAL_PHASES.has(phase)) return;
387
- if (selectedTaskName) return;
388
-
389
- for (const [name, state] of taskStates) {
390
- if (state.status === "failed") {
391
- didAutoSelectRef.current = true;
392
- setSelectedTaskName(name);
393
- onAutoSelectTask?.(name);
394
- return;
395
- }
396
- }
397
- }, [phase, taskStates, selectedTaskName, onAutoSelectTask]);
398
-
399
361
  return {
400
362
  nodes: nodesWithExecution,
401
363
  edges: edgesWithExecution,
402
364
  executionPhase: phase,
403
- selectedTaskName,
404
- setSelectedTaskName,
405
365
  isLoading,
406
366
  error,
407
367
  versionMismatch,
@@ -0,0 +1,292 @@
1
+ "use client";
2
+
3
+ // State + actions for the workflow execution viewer's WorkspaceSurface panel.
4
+ // Domain: workflow (the lean analog of session/useSessionPanel).
5
+
6
+ import { useCallback, useMemo, useState } from "react";
7
+ import type { Artifact } from "@stigmer/protos/ai/stigmer/agentic/artifact/v1/api_pb";
8
+ import type { FileChange } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
9
+ import {
10
+ useWorkspaceEditorsStoreRef,
11
+ type OpenFileOptions,
12
+ type WorkspaceEditorsStore,
13
+ } from "../internal/store/index.js";
14
+ import { ARTIFACT_DOCUMENT_ENTRY_ID } from "../execution/artifact-document.js";
15
+ import {
16
+ FILE_CHANGE_DOCUMENT_ENTRY_ID,
17
+ fileChangeTabPath,
18
+ } from "../execution/file-change-document.js";
19
+ import {
20
+ AGENT_EXECUTION_DOCUMENT_ENTRY_ID,
21
+ agentExecutionTabPath,
22
+ } from "../execution/agent-execution-document.js";
23
+ import {
24
+ DIAGNOSIS_DOCUMENT_ENTRY_ID,
25
+ DIAGNOSIS_DOCUMENT_PATH,
26
+ } from "./diagnosis-document.js";
27
+
28
+ /**
29
+ * The identity of a workflow artifact's document tab within the shared
30
+ * artifact-document family — the workflow analog of the session's
31
+ * `artifactKey`. Prefixed with the `Artifact` resource id (immutable,
32
+ * append-only store → a stable, unique identity) and suffixed with the
33
+ * display name because the editor tab's LABEL is the path's basename: a bare
34
+ * id would label the tab `art_01h…` instead of `report.json`.
35
+ */
36
+ export function workflowArtifactTabPath(artifact: Artifact): string {
37
+ const id = artifact.metadata?.id ?? "";
38
+ const name =
39
+ artifact.spec?.displayName || artifact.metadata?.name || "Unnamed";
40
+ return `${id}/${name}`;
41
+ }
42
+
43
+ /**
44
+ * State + actions for the workflow execution panel — the SINGLE right-side
45
+ * `WorkspaceSurface` of `WorkflowExecutionViewer` (facets on the rail,
46
+ * documents in the editor area). Collapsed by default (thread-dominant);
47
+ * `isOpen` + `view` describe it fully.
48
+ *
49
+ * Deliberately NOT a shared extraction with `useSessionPanel`: the two
50
+ * controllers share the same primitives (the generic
51
+ * {@link WorkspaceEditorsStore} and the surface itself), but their document
52
+ * families and view semantics are domain-specific.
53
+ */
54
+ export interface WorkflowExecutionPanelController {
55
+ /** The open-editor group store; subscribe with `useWorkspaceEditors`. */
56
+ readonly editorsStore: WorkspaceEditorsStore;
57
+ /** Whether the panel is expanded or collapsed to the chip. */
58
+ readonly isOpen: boolean;
59
+ /** The active rail view id (an injected facet — `"artifacts"` today). */
60
+ readonly view: string;
61
+ /** Expand the panel. */
62
+ readonly openPanel: () => void;
63
+ /** Collapse the panel to the chip, preserving editors and view. */
64
+ readonly closePanel: () => void;
65
+ /** Explicit view pick from the rail. */
66
+ readonly setView: (viewId: string) => void;
67
+ /**
68
+ * Open (or focus) the AI-diagnosis conversation as a pinned editor-pane
69
+ * document tab and expand the panel — the singleton analog of the
70
+ * session's `openPlanDocument`. Idempotent: the tab (not an owner-level
71
+ * boolean) is the single source of truth for "diagnosis is active", so
72
+ * re-invoking Diagnose focuses the existing conversation.
73
+ */
74
+ readonly openDiagnosis: () => void;
75
+ /**
76
+ * Open a file as a preview tab and expand the panel. Unused until a
77
+ * workspace-source slice wires a lister, but part of the controller's
78
+ * stable surface so the viewer's editor wiring never changes shape.
79
+ */
80
+ readonly openFile: (
81
+ entryId: string,
82
+ path: string,
83
+ options?: OpenFileOptions,
84
+ ) => void;
85
+ /** Focus an already-open editor tab. */
86
+ readonly activateEditor: (entryId: string, path: string) => void;
87
+ /** Pin an editor tab (clear its preview state). */
88
+ readonly pinEditor: (entryId: string, path: string) => void;
89
+ /** Close an editor tab. The panel stays open when the group empties. */
90
+ readonly closeEditor: (entryId: string, path: string) => void;
91
+ /**
92
+ * Open (or focus) an artifact as an editor-pane document tab and expand the
93
+ * panel. Uses the PREVIEW slot — casual artifact browsing reuses one tab
94
+ * (single-click) and double-clicking pins it, matching the session panel's
95
+ * artifact-tab semantics.
96
+ */
97
+ readonly openArtifact: (artifact: Artifact) => void;
98
+ /**
99
+ * Pin an artifact's tab — the double-click half of the open/activate split.
100
+ * A no-op if the artifact is not open.
101
+ */
102
+ readonly pinArtifact: (artifact: Artifact) => void;
103
+ /**
104
+ * Open (or focus) a file change's diff as an editor-pane document tab and
105
+ * expand the panel. Same preview-slot semantics as {@link openArtifact} —
106
+ * the slot is shared across families, so casually browsing changes and
107
+ * artifacts reuses one tab (true VS Code behavior).
108
+ */
109
+ readonly openFileChange: (change: FileChange) => void;
110
+ /**
111
+ * Pin a file change's diff tab — the double-click half of the
112
+ * open/activate split. A no-op if the change is not open.
113
+ */
114
+ readonly pinFileChange: (change: FileChange) => void;
115
+ /**
116
+ * Open (or focus) a child AgentExecution's transcript as an editor-pane
117
+ * document tab and expand the panel — the S4 in-place expansion. Same
118
+ * preview-slot semantics as {@link openArtifact}: casually stepping
119
+ * through agent calls reuses one tab; pinning keeps one around.
120
+ */
121
+ readonly openAgentExecution: (
122
+ childExecutionId: string,
123
+ taskName: string,
124
+ ) => void;
125
+ /**
126
+ * Pin a child AgentExecution's transcript tab — the double-click half of
127
+ * the open/activate split. A no-op if the transcript is not open.
128
+ */
129
+ readonly pinAgentExecution: (
130
+ childExecutionId: string,
131
+ taskName: string,
132
+ ) => void;
133
+ }
134
+
135
+ /** Options for {@link useWorkflowExecutionPanel}. */
136
+ export interface UseWorkflowExecutionPanelOptions {
137
+ /**
138
+ * The panel's home view. Defaults to `"artifacts"` — the one facet this
139
+ * panel carries today (there is no workspace file source yet, so no
140
+ * built-in Explorer to land on).
141
+ * @default "artifacts"
142
+ */
143
+ readonly defaultView?: string;
144
+ }
145
+
146
+ /**
147
+ * Create a {@link WorkflowExecutionPanelController} for a viewer instance.
148
+ */
149
+ export function useWorkflowExecutionPanel({
150
+ defaultView = "artifacts",
151
+ }: UseWorkflowExecutionPanelOptions = {}): WorkflowExecutionPanelController {
152
+ const editorsStore = useWorkspaceEditorsStoreRef();
153
+ const [isOpen, setIsOpen] = useState(false);
154
+ const [view, setViewState] = useState(defaultView);
155
+
156
+ const openPanel = useCallback(() => setIsOpen(true), []);
157
+ const closePanel = useCallback(() => setIsOpen(false), []);
158
+
159
+ const setView = useCallback((viewId: string) => setViewState(viewId), []);
160
+
161
+ const openDiagnosis = useCallback(() => {
162
+ editorsStore.openPinned(
163
+ DIAGNOSIS_DOCUMENT_ENTRY_ID,
164
+ DIAGNOSIS_DOCUMENT_PATH,
165
+ );
166
+ setIsOpen(true);
167
+ }, [editorsStore]);
168
+
169
+ const openFile = useCallback(
170
+ (entryId: string, path: string, options?: OpenFileOptions) => {
171
+ editorsStore.openPreview(entryId, path, options);
172
+ setIsOpen(true);
173
+ },
174
+ [editorsStore],
175
+ );
176
+
177
+ const openArtifact = useCallback(
178
+ (artifact: Artifact) => {
179
+ editorsStore.openPreview(
180
+ ARTIFACT_DOCUMENT_ENTRY_ID,
181
+ workflowArtifactTabPath(artifact),
182
+ );
183
+ setIsOpen(true);
184
+ },
185
+ [editorsStore],
186
+ );
187
+
188
+ const pinArtifact = useCallback(
189
+ (artifact: Artifact) => {
190
+ editorsStore.pin(
191
+ ARTIFACT_DOCUMENT_ENTRY_ID,
192
+ workflowArtifactTabPath(artifact),
193
+ );
194
+ },
195
+ [editorsStore],
196
+ );
197
+
198
+ const openFileChange = useCallback(
199
+ (change: FileChange) => {
200
+ editorsStore.openPreview(
201
+ FILE_CHANGE_DOCUMENT_ENTRY_ID,
202
+ fileChangeTabPath(change),
203
+ );
204
+ setIsOpen(true);
205
+ },
206
+ [editorsStore],
207
+ );
208
+
209
+ const pinFileChange = useCallback(
210
+ (change: FileChange) => {
211
+ editorsStore.pin(FILE_CHANGE_DOCUMENT_ENTRY_ID, fileChangeTabPath(change));
212
+ },
213
+ [editorsStore],
214
+ );
215
+
216
+ const openAgentExecution = useCallback(
217
+ (childExecutionId: string, taskName: string) => {
218
+ editorsStore.openPreview(
219
+ AGENT_EXECUTION_DOCUMENT_ENTRY_ID,
220
+ agentExecutionTabPath(childExecutionId, taskName),
221
+ );
222
+ setIsOpen(true);
223
+ },
224
+ [editorsStore],
225
+ );
226
+
227
+ const pinAgentExecution = useCallback(
228
+ (childExecutionId: string, taskName: string) => {
229
+ editorsStore.pin(
230
+ AGENT_EXECUTION_DOCUMENT_ENTRY_ID,
231
+ agentExecutionTabPath(childExecutionId, taskName),
232
+ );
233
+ },
234
+ [editorsStore],
235
+ );
236
+
237
+ const activateEditor = useCallback(
238
+ (entryId: string, path: string) => editorsStore.activate(entryId, path),
239
+ [editorsStore],
240
+ );
241
+
242
+ const pinEditor = useCallback(
243
+ (entryId: string, path: string) => editorsStore.pin(entryId, path),
244
+ [editorsStore],
245
+ );
246
+
247
+ const closeEditor = useCallback(
248
+ (entryId: string, path: string) => editorsStore.close(entryId, path),
249
+ [editorsStore],
250
+ );
251
+
252
+ return useMemo(
253
+ () => ({
254
+ editorsStore,
255
+ isOpen,
256
+ view,
257
+ openPanel,
258
+ closePanel,
259
+ setView,
260
+ openDiagnosis,
261
+ openFile,
262
+ activateEditor,
263
+ pinEditor,
264
+ closeEditor,
265
+ openArtifact,
266
+ pinArtifact,
267
+ openFileChange,
268
+ pinFileChange,
269
+ openAgentExecution,
270
+ pinAgentExecution,
271
+ }),
272
+ [
273
+ editorsStore,
274
+ isOpen,
275
+ view,
276
+ openPanel,
277
+ closePanel,
278
+ setView,
279
+ openDiagnosis,
280
+ openFile,
281
+ activateEditor,
282
+ pinEditor,
283
+ closeEditor,
284
+ openArtifact,
285
+ pinArtifact,
286
+ openFileChange,
287
+ pinFileChange,
288
+ openAgentExecution,
289
+ pinAgentExecution,
290
+ ],
291
+ );
292
+ }
@@ -0,0 +1,173 @@
1
+ "use client";
2
+
3
+ // Assembles the workflow execution panel's facets as WorkspaceSurface rail
4
+ // views. Domain: workflow (the analog of session/useSessionRailViews).
5
+
6
+ import { useMemo } from "react";
7
+ import type { Artifact } from "@stigmer/protos/ai/stigmer/agentic/artifact/v1/api_pb";
8
+ import type { FileChange } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
9
+ import type {
10
+ DerivedCostSummary,
11
+ DerivedTaskState,
12
+ } from "../internal/store/workflow-execution-event-store.js";
13
+ import type { SurfaceRailView } from "../workspace/WorkspaceSurface.js";
14
+ import { WorkflowArtifactsTab } from "./facets/WorkflowArtifactsTab.js";
15
+ import { WorkflowChangesTab } from "./facets/WorkflowChangesTab.js";
16
+ import { WorkflowUsageTab } from "./facets/WorkflowUsageTab.js";
17
+
18
+ /** Options for {@link useWorkflowExecutionRailViews}. */
19
+ export interface UseWorkflowExecutionRailViewsOptions {
20
+ /** Artifacts produced by the execution — drives the Artifacts facet. */
21
+ readonly artifacts: readonly Artifact[];
22
+ /** Open an artifact as an editor-pane document tab (preview slot). */
23
+ readonly onOpenArtifact: (artifact: Artifact) => void;
24
+ /** Pin an artifact's document tab — the double-click half of open/activate. */
25
+ readonly onActivateArtifact?: (artifact: Artifact) => void;
26
+ /** Net file changes across all tasks — drives the Changes facet. */
27
+ readonly fileChanges: readonly FileChange[];
28
+ /** First-load state of the file-change rollup (Changes facet skeleton). */
29
+ readonly fileChangesLoading?: boolean;
30
+ /** Background-refresh state of the file-change rollup. */
31
+ readonly fileChangesRefetching?: boolean;
32
+ /** Child-fetch error for the Changes facet, or `null`. */
33
+ readonly fileChangesError?: Error | null;
34
+ /** Tab path of the active file-change diff document (active-row highlight). */
35
+ readonly activeFileChangePath?: string | null;
36
+ /** Open a file change's diff as an editor-pane document tab (preview slot). */
37
+ readonly onOpenFileChange: (change: FileChange) => void;
38
+ /** Execution-level cost/budget rollup — drives the Usage facet's summary. */
39
+ readonly costSummary: DerivedCostSummary;
40
+ /** Per-task derived states — drives the Usage facet's per-task breakdown. */
41
+ readonly taskStates: ReadonlyMap<string, DerivedTaskState>;
42
+ }
43
+
44
+ /**
45
+ * Composes the workflow execution facets as {@link SurfaceRailView}s for the
46
+ * workspace surface's activity rail — the workflow-domain half of the panel,
47
+ * mirroring `useSessionRailViews` (domain-specific assembler over the
48
+ * domain-pure surface).
49
+ *
50
+ * The panel carries the execution-level facets only (Artifacts / Changes /
51
+ * Usage): per-task detail lives on the thread cards, the single home for a
52
+ * task's data (T06 — the Inspect drill-down is gone). The facets are ALWAYS
53
+ * offered while the panel renders (the session gates its execution facets
54
+ * behind `includeExecutionFacets` only for the pre-session launcher — the
55
+ * workflow viewer has no such pre-execution state). Empty data is handled by
56
+ * each facet's empty state, not by dropping the view: an empty rail would
57
+ * strand the surface's view fallback on nothing.
58
+ */
59
+ export function useWorkflowExecutionRailViews({
60
+ artifacts,
61
+ onOpenArtifact,
62
+ onActivateArtifact,
63
+ fileChanges,
64
+ fileChangesLoading,
65
+ fileChangesRefetching,
66
+ fileChangesError,
67
+ activeFileChangePath,
68
+ onOpenFileChange,
69
+ costSummary,
70
+ taskStates,
71
+ }: UseWorkflowExecutionRailViewsOptions): readonly SurfaceRailView[] {
72
+ return useMemo(
73
+ (): readonly SurfaceRailView[] => [
74
+ {
75
+ id: "artifacts",
76
+ label: "Artifacts",
77
+ icon: <ArtifactsIcon />,
78
+ badge: artifacts.length > 0 ? artifacts.length : undefined,
79
+ content: (
80
+ <WorkflowArtifactsTab
81
+ artifacts={artifacts}
82
+ onOpen={onOpenArtifact}
83
+ onActivate={onActivateArtifact}
84
+ />
85
+ ),
86
+ },
87
+ {
88
+ id: "changes",
89
+ label: "Changes",
90
+ icon: <ChangesIcon />,
91
+ badge: fileChanges.length > 0 ? fileChanges.length : undefined,
92
+ content: (
93
+ <WorkflowChangesTab
94
+ fileChanges={fileChanges}
95
+ isLoading={fileChangesLoading}
96
+ isRefetching={fileChangesRefetching}
97
+ error={fileChangesError}
98
+ activePath={activeFileChangePath}
99
+ onOpen={onOpenFileChange}
100
+ />
101
+ ),
102
+ },
103
+ {
104
+ // No badge (matching the session's Usage view) — cost is a
105
+ // continuous quantity, not a countable collection.
106
+ id: "usage",
107
+ label: "Usage",
108
+ icon: <UsageIcon />,
109
+ content: (
110
+ <WorkflowUsageTab costSummary={costSummary} taskStates={taskStates} />
111
+ ),
112
+ },
113
+ ],
114
+ [
115
+ artifacts,
116
+ onOpenArtifact,
117
+ onActivateArtifact,
118
+ fileChanges,
119
+ fileChangesLoading,
120
+ fileChangesRefetching,
121
+ fileChangesError,
122
+ activeFileChangePath,
123
+ onOpenFileChange,
124
+ costSummary,
125
+ taskStates,
126
+ ],
127
+ );
128
+ }
129
+
130
+ // ---------------------------------------------------------------------------
131
+ // Inline SVG icons — monochrome, `currentColor`-tinted (DD-005; SDK
132
+ // independence — no lucide dependency). Same glyph as the session rail's
133
+ // Artifacts view, so the two panels read identically.
134
+ // ---------------------------------------------------------------------------
135
+
136
+ function ArtifactsIcon() {
137
+ return (
138
+ <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
139
+ <path d="M21 8l-9-5-9 5v8l9 5 9-5z" />
140
+ <path d="M3 8l9 5 9-5" />
141
+ <path d="M12 13v9" />
142
+ </svg>
143
+ );
144
+ }
145
+
146
+ /**
147
+ * File-diff glyph (document with +/- lines) — deliberately NOT the session
148
+ * rail's branch glyph: that Changes view shows git write-backs, while this
149
+ * one shows file diffs, and reusing the glyph would imply the same content.
150
+ */
151
+ function ChangesIcon() {
152
+ return (
153
+ <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
154
+ <path d="M14 3H7a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7z" />
155
+ <path d="M14 3v4h4" />
156
+ <path d="M10 11h4" />
157
+ <path d="M12 9v4" />
158
+ <path d="M10 16.5h4" />
159
+ </svg>
160
+ );
161
+ }
162
+
163
+ function UsageIcon() {
164
+ return (
165
+ <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
166
+ <path d="M3 20h18" />
167
+ <path d="M6 20v-6" />
168
+ <path d="M11 20V9" />
169
+ <path d="M16 20v-9" />
170
+ <path d="M21 20V5" />
171
+ </svg>
172
+ );
173
+ }
@@ -27,7 +27,7 @@ import {
27
27
  type WorkspaceFileReader,
28
28
  } from "./WorkspaceFileReader.js";
29
29
 
30
- /** Line-skeleton widths, mirroring `FileContentStateView` in `ArtifactPreviewModal`. */
30
+ /** Line-skeleton widths, mirroring `ArtifactFileContent` in `execution/`. */
31
31
  const SKELETON_LINE_WIDTHS = [85, 72, 90, 65, 78, 88, 70, 82] as const;
32
32
 
33
33
  /** Props for {@link FileViewer}. */
@@ -97,7 +97,7 @@ export interface FileViewerHandle {
97
97
  * {@link useWorkspaceFileContent}, and — for displayable text — delegates to
98
98
  * the shared {@link ArtifactContentRenderer} (markdown / YAML / JSON /
99
99
  * line-numbered text). Its state body deliberately mirrors
100
- * `FileContentStateView` in `ArtifactPreviewModal` (same skeleton, error, and
100
+ * `ArtifactFileContent` in `execution/` (same skeleton, error, and
101
101
  * delegation), extended with the three states an execution artifact never
102
102
  * has — binary, too-large, and unsupported-substrate. The two are **not**
103
103
  * merged into one shared component: their surrounding chrome (an artifact's
@@ -326,7 +326,7 @@ function ViewerModeToggle({
326
326
  }
327
327
 
328
328
  // ---------------------------------------------------------------------------
329
- // Body — exactly one state, mirroring FileContentStateView + workspace extras
329
+ // Body — exactly one state, mirroring ArtifactFileContent + workspace extras
330
330
  // ---------------------------------------------------------------------------
331
331
 
332
332
  /**
@@ -0,0 +1,103 @@
1
+ "use client";
2
+
3
+ // The always-mounted toggle chip for a collapsible WorkspaceSurface panel.
4
+ // Domain: workspace (shared by the session and workflow execution viewers).
5
+
6
+ import { useEffect, useRef } from "react";
7
+ import { cn } from "@stigmer/theme";
8
+
9
+ /** Props for {@link PanelChip}. */
10
+ export interface PanelChipProps {
11
+ /** Whether the panel is currently expanded. */
12
+ readonly isOpen: boolean;
13
+ /** Toggles the panel open/collapsed. */
14
+ readonly onToggle: () => void;
15
+ /**
16
+ * Aggregate count of panel items awaiting the user (write-backs +
17
+ * artifacts on the session side; artifacts on the workflow side). Rendered
18
+ * as a dot-count while collapsed — the panel's only "something arrived"
19
+ * signal, since arrivals never auto-open the panel.
20
+ */
21
+ readonly badgeCount?: number;
22
+ }
23
+
24
+ /**
25
+ * The always-mounted toggle for a collapsible workspace panel — the Cursor
26
+ * "Show panel" chip. Collapsed, it carries the pending-item count; open, it
27
+ * is the hide affordance. Being a small leaf, it is also the one place that
28
+ * may safely carry per-arrival re-renders while the panel subtree is
29
+ * unmounted. Execution status deliberately does not surface here (or
30
+ * anywhere else in viewer chrome) — the thread/graph itself communicates run
31
+ * state.
32
+ *
33
+ * All visual properties flow through `--stgm-*` tokens (DD-005).
34
+ */
35
+ export function PanelChip({ isOpen, onToggle, badgeCount }: PanelChipProps) {
36
+ const showCount = !isOpen && badgeCount != null && badgeCount > 0;
37
+
38
+ // Focus restoration: collapsing unmounts the panel subtree, so keyboard
39
+ // focus that lived inside it (rail, tabs, viewer) falls to <body>. Reclaim
40
+ // it here — the chip is the collapse's logical origin. Focus resting
41
+ // anywhere else (e.g. the composer) is respected. Opening deliberately does
42
+ // NOT move focus: the chip is a standard disclosure trigger.
43
+ const buttonRef = useRef<HTMLButtonElement>(null);
44
+ const prevOpenRef = useRef(isOpen);
45
+ useEffect(() => {
46
+ if (prevOpenRef.current && !isOpen && document.activeElement === document.body) {
47
+ buttonRef.current?.focus();
48
+ }
49
+ prevOpenRef.current = isOpen;
50
+ }, [isOpen]);
51
+
52
+ return (
53
+ <button
54
+ ref={buttonRef}
55
+ type="button"
56
+ onClick={onToggle}
57
+ aria-expanded={isOpen}
58
+ aria-label={isOpen ? "Hide panel" : "Show panel"}
59
+ title={isOpen ? "Hide panel" : "Show panel"}
60
+ className={cn(
61
+ "flex items-center gap-1.5 rounded-md border border-border bg-card px-1.5 py-1",
62
+ "text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
63
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
64
+ )}
65
+ >
66
+ {showCount && (
67
+ <span
68
+ aria-label={`${badgeCount} new items`}
69
+ className="inline-flex min-w-[1rem] items-center justify-center rounded-full bg-primary px-1 py-px text-[10px] font-medium leading-none text-primary-foreground"
70
+ >
71
+ {badgeCount}
72
+ </span>
73
+ )}
74
+ <PanelIcon open={isOpen} />
75
+ </button>
76
+ );
77
+ }
78
+
79
+ /**
80
+ * Panel-layout glyph: a frame with its right region filled while the panel is
81
+ * open, hollow while collapsed — mirroring the state it toggles to at a glance.
82
+ */
83
+ function PanelIcon({ open }: { readonly open: boolean }) {
84
+ return (
85
+ <svg
86
+ width="16"
87
+ height="16"
88
+ viewBox="0 0 16 16"
89
+ fill="none"
90
+ stroke="currentColor"
91
+ strokeWidth="1.3"
92
+ strokeLinecap="round"
93
+ strokeLinejoin="round"
94
+ aria-hidden="true"
95
+ >
96
+ <rect x="1.5" y="2.5" width="13" height="11" rx="1.5" />
97
+ <path d="M9.5 2.5v11" />
98
+ {open && (
99
+ <rect x="9.5" y="2.5" width="5" height="11" rx="1.5" fill="currentColor" stroke="none" />
100
+ )}
101
+ </svg>
102
+ );
103
+ }