@stigmer/react 3.1.17 → 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 (815) 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/useSessionFileChanges.d.ts +10 -34
  288. package/session/useSessionFileChanges.d.ts.map +1 -1
  289. package/session/useSessionFileChanges.js +9 -141
  290. package/session/useSessionFileChanges.js.map +1 -1
  291. package/session/useSessionPanel.d.ts +5 -15
  292. package/session/useSessionPanel.d.ts.map +1 -1
  293. package/session/useSessionPanel.js +3 -35
  294. package/session/useSessionPanel.js.map +1 -1
  295. package/session/useSessionRailViews.d.ts +3 -6
  296. package/session/useSessionRailViews.d.ts.map +1 -1
  297. package/session/useSessionRailViews.js +3 -17
  298. package/session/useSessionRailViews.js.map +1 -1
  299. package/settings/ChannelAppsSection.d.ts +13 -0
  300. package/settings/ChannelAppsSection.d.ts.map +1 -0
  301. package/settings/ChannelAppsSection.js +48 -0
  302. package/settings/ChannelAppsSection.js.map +1 -0
  303. package/settings/index.d.ts +1 -0
  304. package/settings/index.d.ts.map +1 -1
  305. package/settings/index.js +1 -0
  306. package/settings/index.js.map +1 -1
  307. package/settings/settings-nav.d.ts.map +1 -1
  308. package/settings/settings-nav.js +6 -1
  309. package/settings/settings-nav.js.map +1 -1
  310. package/sharing/AgentShareList.d.ts.map +1 -1
  311. package/sharing/AgentShareList.js +11 -3
  312. package/sharing/AgentShareList.js.map +1 -1
  313. package/sharing/ShareAgentDialog.js +1 -1
  314. package/sharing/useShareToolReadiness.d.ts +9 -38
  315. package/sharing/useShareToolReadiness.d.ts.map +1 -1
  316. package/sharing/useShareToolReadiness.js +7 -72
  317. package/sharing/useShareToolReadiness.js.map +1 -1
  318. package/src/agent-instance/AgentInstanceList.tsx +60 -42
  319. package/src/agent-instance/__tests__/AgentInstanceList.test.tsx +161 -0
  320. package/src/channel/AgentChannelsPanel.tsx +688 -0
  321. package/src/channel/ChannelConversationsDialog.tsx +267 -0
  322. package/src/channel/ChannelCredentialsDialog.tsx +219 -0
  323. package/src/channel/ChannelToolCredentials.tsx +124 -0
  324. package/src/channel/ConnectSlackDialog.tsx +611 -0
  325. package/src/channel/ConnectWhatsAppDialog.tsx +624 -0
  326. package/src/channel/SlackMarkIcon.tsx +21 -0
  327. package/src/channel/WhatsAppMarkIcon.tsx +22 -0
  328. package/src/channel/__tests__/AgentChannelsPanel.test.tsx +638 -0
  329. package/src/channel/__tests__/ChannelConversationsDialog.test.tsx +114 -0
  330. package/src/channel/__tests__/ChannelCredentialsDialog.test.tsx +240 -0
  331. package/src/channel/__tests__/ConnectSlackDialog.test.tsx +659 -0
  332. package/src/channel/__tests__/ConnectWhatsAppDialog.test.tsx +564 -0
  333. package/src/channel/__tests__/providers.test.ts +118 -0
  334. package/src/channel/__tests__/useAgentChannel.test.tsx +116 -0
  335. package/src/channel/__tests__/useAgentChannelList.test.tsx +166 -0
  336. package/src/channel/__tests__/useChannelSessions.test.tsx +95 -0
  337. package/src/channel/__tests__/useChannelToolReadiness.test.tsx +158 -0
  338. package/src/channel/__tests__/useConnectSlackChannel.test.tsx +276 -0
  339. package/src/channel/__tests__/useDeleteAgentChannel.test.tsx +97 -0
  340. package/src/channel/__tests__/useInstallChannel.test.tsx +177 -0
  341. package/src/channel/__tests__/useSaveAgentChannel.test.tsx +294 -0
  342. package/src/channel/connect/ServingAppSection.tsx +185 -0
  343. package/src/channel/connect/ToolCredentialsSection.tsx +67 -0
  344. package/src/channel/connect/VerbatimRefusal.tsx +27 -0
  345. package/src/channel/connect/icons.tsx +42 -0
  346. package/src/channel/index.ts +65 -0
  347. package/src/channel/providerPresentation.ts +154 -0
  348. package/src/channel/providers.ts +73 -0
  349. package/src/channel/useAgentChannel.ts +58 -0
  350. package/src/channel/useAgentChannelList.ts +69 -0
  351. package/src/channel/useChannelSessions.ts +73 -0
  352. package/src/channel/useChannelToolReadiness.ts +39 -0
  353. package/src/channel/useConnectSlackChannel.ts +195 -0
  354. package/src/channel/useCreateAgentChannel.ts +73 -0
  355. package/src/channel/useDeleteAgentChannel.ts +71 -0
  356. package/src/channel/useInstallChannel.ts +117 -0
  357. package/src/channel/useOrgAgentChannelList.ts +60 -0
  358. package/src/channel/useSaveAgentChannel.ts +133 -0
  359. package/src/channel-app/ChannelAppDetailPanel.tsx +510 -0
  360. package/src/channel-app/ChannelAppListPanel.tsx +201 -0
  361. package/src/channel-app/CreateChannelAppForm.tsx +529 -0
  362. package/src/channel-app/__tests__/channelAppWhatsApp.test.tsx +270 -0
  363. package/src/channel-app/__tests__/slackAppSetup.test.ts +75 -0
  364. package/src/channel-app/__tests__/useChannelAppHooks.test.tsx +157 -0
  365. package/src/channel-app/__tests__/whatsappAppSetup.test.ts +39 -0
  366. package/src/channel-app/index.ts +30 -0
  367. package/src/channel-app/internal.tsx +180 -0
  368. package/src/channel-app/slackAppSetup.ts +153 -0
  369. package/src/channel-app/useChannelAppList.ts +59 -0
  370. package/src/channel-app/useCreateChannelApp.ts +70 -0
  371. package/src/channel-app/useDeleteChannelApp.ts +62 -0
  372. package/src/channel-app/useUpdateChannelApp.ts +70 -0
  373. package/src/channel-app/whatsappAppSetup.ts +62 -0
  374. package/src/environment/index.ts +2 -0
  375. package/src/environment/useToolCredentialsReadiness.ts +122 -0
  376. package/src/execution/ArtifactContentBody.tsx +6 -88
  377. package/src/execution/ArtifactFileContent.tsx +110 -0
  378. package/src/execution/ArtifactRow.tsx +28 -118
  379. package/src/execution/ArtifactRowView.tsx +137 -0
  380. package/src/execution/FileChangesView.tsx +4 -69
  381. package/src/execution/SubAgentSection.tsx +2 -36
  382. package/src/execution/ToolCallItem.tsx +48 -175
  383. package/src/execution/__tests__/ArtifactFileContent.test.tsx +60 -0
  384. package/src/execution/__tests__/ArtifactRowView.test.tsx +78 -0
  385. package/src/execution/__tests__/agent-execution-document.test.ts +45 -0
  386. package/src/execution/__tests__/artifact-row-item.test.ts +128 -0
  387. package/src/execution/__tests__/deriveExecutionFileChanges.test.ts +270 -0
  388. package/src/execution/__tests__/useArtifactContentById.test.tsx +85 -0
  389. package/src/execution/__tests__/useLiveAgentExecution.test.tsx +202 -0
  390. package/src/execution/agent-execution-document.ts +54 -0
  391. package/src/execution/artifact-document.ts +24 -0
  392. package/src/execution/artifact-row-item.ts +97 -0
  393. package/src/execution/deriveExecutionFileChanges.ts +237 -0
  394. package/src/execution/file-change-document.ts +37 -0
  395. package/src/execution/index.ts +36 -0
  396. package/src/execution/useArtifactContentById.ts +120 -0
  397. package/src/execution/useArtifactDownload.ts +4 -3
  398. package/src/execution/useCreateAgentExecution.ts +1 -1
  399. package/src/execution/useLiveAgentExecution.ts +127 -0
  400. package/src/index.ts +155 -11
  401. package/src/internal/DecisionButton.tsx +4 -3
  402. package/src/internal/__tests__/ThreadCardShell.test.tsx +105 -0
  403. package/src/internal/__tests__/oauthPopup.test.ts +245 -0
  404. package/src/internal/oauthPopup.ts +261 -0
  405. package/src/internal/store/__tests__/workflow-execution-event-store.test.ts +375 -5
  406. package/src/internal/store/index.ts +0 -3
  407. package/src/internal/store/workflow-execution-event-store.ts +123 -4
  408. package/src/internal/store/workspace-file-selection-store.ts +2 -5
  409. package/src/internal/thread-card/ThreadCardShell.tsx +189 -0
  410. package/src/internal/thread-card/glyphs.tsx +108 -0
  411. package/src/internal/thread-card/index.ts +19 -0
  412. package/src/internal/useRevealLine.ts +2 -2
  413. package/src/mcp-server/OAuthCallbackHandler.tsx +2 -2
  414. package/src/mcp-server/useMcpServerOAuthConnect.ts +22 -184
  415. package/src/session/NewSessionViewer.tsx +0 -1
  416. package/src/session/SessionPanelChip.tsx +10 -96
  417. package/src/session/SessionViewer.tsx +170 -144
  418. package/src/session/__tests__/SessionViewer-artifactTabs.test.tsx +1 -1
  419. package/src/session/__tests__/observerAudience.test.tsx +241 -0
  420. package/src/session/__tests__/useSessionPanel.test.ts +6 -61
  421. package/src/session/__tests__/useSessionRailViews.test.tsx +5 -27
  422. package/src/session/audience.ts +15 -1
  423. package/src/session/channelOrigin.ts +45 -0
  424. package/src/session/facets/index.ts +0 -3
  425. package/src/session/index.ts +9 -6
  426. package/src/session/useSessionFileChanges.ts +12 -153
  427. package/src/session/useSessionPanel.ts +8 -51
  428. package/src/session/useSessionRailViews.tsx +2 -27
  429. package/src/settings/ChannelAppsSection.tsx +133 -0
  430. package/src/settings/index.ts +1 -0
  431. package/src/settings/settings-nav.ts +6 -0
  432. package/src/sharing/AgentShareList.tsx +85 -64
  433. package/src/sharing/ShareAgentDialog.tsx +1 -1
  434. package/src/sharing/__tests__/AgentShareList.test.tsx +92 -12
  435. package/src/sharing/useShareToolReadiness.ts +13 -101
  436. package/src/workflow/WorkflowAgentExecutionDocument.tsx +283 -0
  437. package/src/workflow/WorkflowApprovalList.tsx +158 -0
  438. package/src/workflow/WorkflowArtifactDocument.tsx +257 -0
  439. package/src/workflow/WorkflowExecutionGraph.tsx +40 -78
  440. package/src/workflow/WorkflowExecutionViewer.tsx +610 -287
  441. package/src/workflow/WorkflowFileReviewList.tsx +1 -1
  442. package/src/workflow/WorkflowTaskApprovalCard.tsx +5 -4
  443. package/src/workflow/WorkflowTaskApprovalSummary.tsx +6 -6
  444. package/src/workflow/__tests__/WorkflowAgentExecutionDocument.test.tsx +651 -0
  445. package/src/workflow/__tests__/WorkflowApprovalList.test.tsx +229 -0
  446. package/src/workflow/__tests__/WorkflowArtifactDocument.test.tsx +90 -0
  447. package/src/workflow/__tests__/WorkflowArtifactsTab.test.tsx +85 -0
  448. package/src/workflow/__tests__/WorkflowChangesTab.test.tsx +113 -0
  449. package/src/workflow/__tests__/WorkflowExecutionViewer.approvals.test.tsx +473 -0
  450. package/src/workflow/__tests__/WorkflowExecutionViewer.reconciliation.test.tsx +632 -0
  451. package/src/workflow/__tests__/WorkflowTaskApprovalSummary.test.tsx +1 -1
  452. package/src/workflow/__tests__/WorkflowTaskThread.test.tsx +947 -0
  453. package/src/workflow/__tests__/WorkflowUsageTab.test.tsx +163 -0
  454. package/src/workflow/__tests__/agent-call-live-experience.test.ts +6 -53
  455. package/src/workflow/__tests__/derive-execution-overlays.test.ts +4 -0
  456. package/src/workflow/__tests__/deriveWorkflowArtifactItems.test.ts +71 -0
  457. package/src/workflow/__tests__/deriveWorkflowUsageItems.test.ts +132 -0
  458. package/src/workflow/__tests__/execution-graph.test.ts +8 -0
  459. package/src/workflow/__tests__/project-thread-items.test.ts +428 -0
  460. package/src/workflow/__tests__/structured-data-viewer.test.tsx +1 -1
  461. package/src/workflow/__tests__/task-approval.test.ts +149 -0
  462. package/src/workflow/__tests__/task-detail-io.test.ts +40 -0
  463. package/src/workflow/__tests__/task-presentation.test.ts +479 -0
  464. package/src/workflow/__tests__/useActiveTaskName.test.ts +4 -0
  465. package/src/workflow/__tests__/useApprovalBoundary.test.ts +158 -0
  466. package/src/workflow/__tests__/useExecutionAnnouncements.test.ts +4 -0
  467. package/src/workflow/__tests__/useFollowExecution.test.ts +2 -89
  468. package/src/workflow/__tests__/useWorkflowExecutionFileChanges.test.tsx +412 -0
  469. package/src/workflow/__tests__/useWorkflowExecutionPanel.test.ts +297 -0
  470. package/src/workflow/__tests__/useWorkflowExecutionRailViews.test.tsx +115 -0
  471. package/src/workflow/deriveWorkflowArtifactItems.ts +59 -0
  472. package/src/workflow/deriveWorkflowUsageItems.ts +73 -0
  473. package/src/workflow/diagnosis-document.ts +31 -0
  474. package/src/workflow/execution/index.ts +0 -15
  475. package/src/workflow/facets/WorkflowArtifactsTab.tsx +99 -0
  476. package/src/workflow/facets/WorkflowChangesTab.tsx +129 -0
  477. package/src/workflow/facets/WorkflowUsageTab.tsx +258 -0
  478. package/src/workflow/format-utils.ts +2 -3
  479. package/src/workflow/index.ts +106 -62
  480. package/src/workflow/inspector/index.ts +0 -4
  481. package/src/workflow/instance/WorkflowInstanceList.tsx +59 -41
  482. package/src/workflow/instance/__tests__/WorkflowInstanceList.test.tsx +156 -0
  483. package/src/workflow/task-detail/index.ts +11 -0
  484. package/src/workflow/task-detail/task-approval.ts +158 -0
  485. package/src/workflow/task-detail/task-detail-io.ts +65 -0
  486. package/src/workflow/thread/WorkflowTaskThread.tsx +845 -0
  487. package/src/workflow/thread/project-thread-items.ts +235 -0
  488. package/src/workflow/thread/task-presentation.ts +427 -0
  489. package/src/workflow/thread/thread-presentation.ts +59 -0
  490. package/src/workflow/thread/useWorkflowThreadItems.ts +34 -0
  491. package/src/workflow/useApprovalBoundary.ts +72 -0
  492. package/src/workflow/useFollowExecution.ts +0 -26
  493. package/src/workflow/useWorkflowArtifactDownload.ts +68 -0
  494. package/src/workflow/useWorkflowExecutionActions.ts +3 -2
  495. package/src/workflow/useWorkflowExecutionFileChanges.ts +341 -0
  496. package/src/workflow/useWorkflowExecutionGraph.ts +3 -43
  497. package/src/workflow/useWorkflowExecutionPanel.ts +292 -0
  498. package/src/workflow/useWorkflowExecutionRailViews.tsx +173 -0
  499. package/src/workspace/FileViewer.tsx +3 -3
  500. package/src/workspace/PanelChip.tsx +103 -0
  501. package/src/workspace/WorkspaceSurface.tsx +50 -6
  502. package/src/workspace/__tests__/WorkspaceSurface.test.tsx +110 -0
  503. package/src/workspace/index.ts +3 -0
  504. package/styles.css +1 -1
  505. package/workflow/WorkflowAgentExecutionDocument.d.ts +79 -0
  506. package/workflow/WorkflowAgentExecutionDocument.d.ts.map +1 -0
  507. package/workflow/WorkflowAgentExecutionDocument.js +87 -0
  508. package/workflow/WorkflowAgentExecutionDocument.js.map +1 -0
  509. package/workflow/WorkflowApprovalList.d.ts +62 -0
  510. package/workflow/WorkflowApprovalList.d.ts.map +1 -0
  511. package/workflow/WorkflowApprovalList.js +52 -0
  512. package/workflow/WorkflowApprovalList.js.map +1 -0
  513. package/workflow/WorkflowArtifactDocument.d.ts +29 -0
  514. package/workflow/WorkflowArtifactDocument.d.ts.map +1 -0
  515. package/workflow/WorkflowArtifactDocument.js +89 -0
  516. package/workflow/WorkflowArtifactDocument.js.map +1 -0
  517. package/workflow/WorkflowExecutionGraph.d.ts +15 -13
  518. package/workflow/WorkflowExecutionGraph.d.ts.map +1 -1
  519. package/workflow/WorkflowExecutionGraph.js +18 -53
  520. package/workflow/WorkflowExecutionGraph.js.map +1 -1
  521. package/workflow/WorkflowExecutionViewer.d.ts +8 -5
  522. package/workflow/WorkflowExecutionViewer.d.ts.map +1 -1
  523. package/workflow/WorkflowExecutionViewer.js +329 -54
  524. package/workflow/WorkflowExecutionViewer.js.map +1 -1
  525. package/workflow/WorkflowFileReviewList.d.ts +1 -1
  526. package/workflow/WorkflowFileReviewList.js +1 -1
  527. package/workflow/WorkflowTaskApprovalCard.d.ts +4 -3
  528. package/workflow/WorkflowTaskApprovalCard.d.ts.map +1 -1
  529. package/workflow/WorkflowTaskApprovalCard.js +5 -4
  530. package/workflow/WorkflowTaskApprovalCard.js.map +1 -1
  531. package/workflow/WorkflowTaskApprovalSummary.d.ts +6 -6
  532. package/workflow/WorkflowTaskApprovalSummary.js +5 -5
  533. package/workflow/deriveWorkflowArtifactItems.d.ts +30 -0
  534. package/workflow/deriveWorkflowArtifactItems.d.ts.map +1 -0
  535. package/workflow/deriveWorkflowArtifactItems.js +38 -0
  536. package/workflow/deriveWorkflowArtifactItems.js.map +1 -0
  537. package/workflow/deriveWorkflowUsageItems.d.ts +36 -0
  538. package/workflow/deriveWorkflowUsageItems.d.ts.map +1 -0
  539. package/workflow/deriveWorkflowUsageItems.js +50 -0
  540. package/workflow/deriveWorkflowUsageItems.js.map +1 -0
  541. package/workflow/diagnosis-document.d.ts +17 -0
  542. package/workflow/diagnosis-document.d.ts.map +1 -0
  543. package/workflow/diagnosis-document.js +29 -0
  544. package/workflow/diagnosis-document.js.map +1 -0
  545. package/workflow/execution/index.d.ts +0 -2
  546. package/workflow/execution/index.d.ts.map +1 -1
  547. package/workflow/execution/index.js +0 -2
  548. package/workflow/execution/index.js.map +1 -1
  549. package/workflow/facets/WorkflowArtifactsTab.d.ts +26 -0
  550. package/workflow/facets/WorkflowArtifactsTab.d.ts.map +1 -0
  551. package/workflow/facets/WorkflowArtifactsTab.js +34 -0
  552. package/workflow/facets/WorkflowArtifactsTab.js.map +1 -0
  553. package/workflow/facets/WorkflowChangesTab.d.ts +37 -0
  554. package/workflow/facets/WorkflowChangesTab.d.ts.map +1 -0
  555. package/workflow/facets/WorkflowChangesTab.js +50 -0
  556. package/workflow/facets/WorkflowChangesTab.js.map +1 -0
  557. package/workflow/facets/WorkflowUsageTab.d.ts +27 -0
  558. package/workflow/facets/WorkflowUsageTab.d.ts.map +1 -0
  559. package/workflow/facets/WorkflowUsageTab.js +87 -0
  560. package/workflow/facets/WorkflowUsageTab.js.map +1 -0
  561. package/workflow/format-utils.d.ts +2 -3
  562. package/workflow/format-utils.d.ts.map +1 -1
  563. package/workflow/format-utils.js +2 -3
  564. package/workflow/format-utils.js.map +1 -1
  565. package/workflow/index.d.ts +21 -10
  566. package/workflow/index.d.ts.map +1 -1
  567. package/workflow/index.js +29 -14
  568. package/workflow/index.js.map +1 -1
  569. package/workflow/inspector/index.d.ts +0 -2
  570. package/workflow/inspector/index.d.ts.map +1 -1
  571. package/workflow/inspector/index.js +0 -2
  572. package/workflow/inspector/index.js.map +1 -1
  573. package/workflow/instance/WorkflowInstanceList.d.ts.map +1 -1
  574. package/workflow/instance/WorkflowInstanceList.js +11 -3
  575. package/workflow/instance/WorkflowInstanceList.js.map +1 -1
  576. package/workflow/task-detail/StructuredDataViewer.d.ts.map +1 -0
  577. package/workflow/task-detail/StructuredDataViewer.js.map +1 -0
  578. package/workflow/task-detail/index.d.ts +4 -0
  579. package/workflow/task-detail/index.d.ts.map +1 -0
  580. package/workflow/task-detail/index.js +4 -0
  581. package/workflow/task-detail/index.js.map +1 -0
  582. package/workflow/task-detail/task-approval.d.ts +89 -0
  583. package/workflow/task-detail/task-approval.d.ts.map +1 -0
  584. package/workflow/task-detail/task-approval.js +84 -0
  585. package/workflow/task-detail/task-approval.js.map +1 -0
  586. package/workflow/task-detail/task-detail-io.d.ts +39 -0
  587. package/workflow/task-detail/task-detail-io.d.ts.map +1 -0
  588. package/workflow/task-detail/task-detail-io.js +42 -0
  589. package/workflow/task-detail/task-detail-io.js.map +1 -0
  590. package/workflow/thread/WorkflowTaskThread.d.ts +91 -0
  591. package/workflow/thread/WorkflowTaskThread.d.ts.map +1 -0
  592. package/workflow/thread/WorkflowTaskThread.js +318 -0
  593. package/workflow/thread/WorkflowTaskThread.js.map +1 -0
  594. package/workflow/thread/project-thread-items.d.ts +108 -0
  595. package/workflow/thread/project-thread-items.d.ts.map +1 -0
  596. package/workflow/thread/project-thread-items.js +126 -0
  597. package/workflow/thread/project-thread-items.js.map +1 -0
  598. package/workflow/thread/task-presentation.d.ts +73 -0
  599. package/workflow/thread/task-presentation.d.ts.map +1 -0
  600. package/workflow/thread/task-presentation.js +331 -0
  601. package/workflow/thread/task-presentation.js.map +1 -0
  602. package/workflow/thread/thread-presentation.d.ts +28 -0
  603. package/workflow/thread/thread-presentation.d.ts.map +1 -0
  604. package/workflow/thread/thread-presentation.js +28 -0
  605. package/workflow/thread/thread-presentation.js.map +1 -0
  606. package/workflow/thread/useWorkflowThreadItems.d.ts +16 -0
  607. package/workflow/thread/useWorkflowThreadItems.d.ts.map +1 -0
  608. package/workflow/thread/useWorkflowThreadItems.js +22 -0
  609. package/workflow/thread/useWorkflowThreadItems.js.map +1 -0
  610. package/workflow/useApprovalBoundary.d.ts +38 -0
  611. package/workflow/useApprovalBoundary.d.ts.map +1 -0
  612. package/workflow/useApprovalBoundary.js +55 -0
  613. package/workflow/useApprovalBoundary.js.map +1 -0
  614. package/workflow/useFollowExecution.d.ts +0 -20
  615. package/workflow/useFollowExecution.d.ts.map +1 -1
  616. package/workflow/useFollowExecution.js +0 -17
  617. package/workflow/useFollowExecution.js.map +1 -1
  618. package/workflow/useWorkflowArtifactDownload.d.ts +28 -0
  619. package/workflow/useWorkflowArtifactDownload.d.ts.map +1 -0
  620. package/workflow/useWorkflowArtifactDownload.js +45 -0
  621. package/workflow/useWorkflowArtifactDownload.js.map +1 -0
  622. package/workflow/useWorkflowExecutionActions.d.ts +3 -2
  623. package/workflow/useWorkflowExecutionActions.d.ts.map +1 -1
  624. package/workflow/useWorkflowExecutionActions.js.map +1 -1
  625. package/workflow/useWorkflowExecutionFileChanges.d.ts +107 -0
  626. package/workflow/useWorkflowExecutionFileChanges.d.ts.map +1 -0
  627. package/workflow/useWorkflowExecutionFileChanges.js +244 -0
  628. package/workflow/useWorkflowExecutionFileChanges.js.map +1 -0
  629. package/workflow/useWorkflowExecutionGraph.d.ts +1 -14
  630. package/workflow/useWorkflowExecutionGraph.d.ts.map +1 -1
  631. package/workflow/useWorkflowExecutionGraph.js +2 -25
  632. package/workflow/useWorkflowExecutionGraph.js.map +1 -1
  633. package/workflow/useWorkflowExecutionPanel.d.ts +108 -0
  634. package/workflow/useWorkflowExecutionPanel.d.ts.map +1 -0
  635. package/workflow/useWorkflowExecutionPanel.js +103 -0
  636. package/workflow/useWorkflowExecutionPanel.js.map +1 -0
  637. package/workflow/useWorkflowExecutionRailViews.d.ts +46 -0
  638. package/workflow/useWorkflowExecutionRailViews.d.ts.map +1 -0
  639. package/workflow/useWorkflowExecutionRailViews.js +81 -0
  640. package/workflow/useWorkflowExecutionRailViews.js.map +1 -0
  641. package/workspace/FileViewer.d.ts +1 -1
  642. package/workspace/FileViewer.js +3 -3
  643. package/workspace/FileViewer.js.map +1 -1
  644. package/workspace/PanelChip.d.ts +27 -0
  645. package/workspace/PanelChip.d.ts.map +1 -0
  646. package/workspace/PanelChip.js +42 -0
  647. package/workspace/PanelChip.js.map +1 -0
  648. package/workspace/WorkspaceSurface.d.ts +25 -1
  649. package/workspace/WorkspaceSurface.d.ts.map +1 -1
  650. package/workspace/WorkspaceSurface.js +21 -9
  651. package/workspace/WorkspaceSurface.js.map +1 -1
  652. package/workspace/index.d.ts +3 -1
  653. package/workspace/index.d.ts.map +1 -1
  654. package/workspace/index.js +1 -0
  655. package/workspace/index.js.map +1 -1
  656. package/execution/ThreadSelectionContext.d.ts +0 -17
  657. package/execution/ThreadSelectionContext.d.ts.map +0 -1
  658. package/execution/ThreadSelectionContext.js +0 -18
  659. package/execution/ThreadSelectionContext.js.map +0 -1
  660. package/execution/useThreadSelection.d.ts +0 -35
  661. package/execution/useThreadSelection.d.ts.map +0 -1
  662. package/execution/useThreadSelection.js +0 -65
  663. package/execution/useThreadSelection.js.map +0 -1
  664. package/internal/store/selection-store.d.ts +0 -53
  665. package/internal/store/selection-store.d.ts.map +0 -1
  666. package/internal/store/selection-store.js +0 -88
  667. package/internal/store/selection-store.js.map +0 -1
  668. package/session/artifact-document.d.ts.map +0 -1
  669. package/session/artifact-document.js +0 -22
  670. package/session/artifact-document.js.map +0 -1
  671. package/session/facets/InspectTab.d.ts +0 -13
  672. package/session/facets/InspectTab.d.ts.map +0 -1
  673. package/session/facets/InspectTab.js +0 -19
  674. package/session/facets/InspectTab.js.map +0 -1
  675. package/src/execution/ThreadSelectionContext.tsx +0 -20
  676. package/src/execution/useThreadSelection.ts +0 -95
  677. package/src/internal/store/__tests__/selection-store.test.ts +0 -115
  678. package/src/internal/store/selection-store.ts +0 -112
  679. package/src/session/artifact-document.ts +0 -23
  680. package/src/session/facets/InspectTab.tsx +0 -57
  681. package/src/workflow/WorkflowExecutionApprovalCard.tsx +0 -154
  682. package/src/workflow/WorkflowExecutionArtifactPanel.tsx +0 -107
  683. package/src/workflow/WorkflowExecutionCostPanel.tsx +0 -120
  684. package/src/workflow/WorkflowExecutionTaskPanel.tsx +0 -129
  685. package/src/workflow/WorkflowExecutionTimeline.tsx +0 -151
  686. package/src/workflow/WorkflowExecutionTimelineEvent.tsx +0 -497
  687. package/src/workflow/__tests__/ExecutionInspector.test.tsx +0 -155
  688. package/src/workflow/__tests__/WorkflowExecutionApprovalCard.test.tsx +0 -129
  689. package/src/workflow/__tests__/derive-task-detail.test.ts +0 -1265
  690. package/src/workflow/__tests__/derive-waterfall-entries.test.ts +0 -521
  691. package/src/workflow/__tests__/execution-inspector.test.tsx +0 -332
  692. package/src/workflow/execution/derive-waterfall-entries.ts +0 -377
  693. package/src/workflow/execution/useWaterfallEntries.ts +0 -125
  694. package/src/workflow/execution-inspector/AgentCallTab.tsx +0 -169
  695. package/src/workflow/execution-inspector/ErrorTab.tsx +0 -110
  696. package/src/workflow/execution-inspector/EventLogTab.tsx +0 -79
  697. package/src/workflow/execution-inspector/ExecutionInspector.tsx +0 -341
  698. package/src/workflow/execution-inspector/InputOutputTab.tsx +0 -325
  699. package/src/workflow/execution-inspector/RetriesTab.tsx +0 -68
  700. package/src/workflow/execution-inspector/SummaryTab.tsx +0 -62
  701. package/src/workflow/execution-inspector/derive-task-detail.ts +0 -584
  702. package/src/workflow/execution-inspector/index.ts +0 -14
  703. package/src/workflow/execution-inspector/useExecutionTaskDetail.ts +0 -55
  704. package/src/workflow/inspector/ExecutionInspectorAdapter.tsx +0 -40
  705. package/src/workflow/waterfall/WaterfallBar.tsx +0 -167
  706. package/src/workflow/waterfall/WaterfallRow.tsx +0 -112
  707. package/src/workflow/waterfall/WaterfallScale.tsx +0 -52
  708. package/src/workflow/waterfall/WaterfallTimeline.tsx +0 -138
  709. package/src/workflow/waterfall/WaterfallTooltip.tsx +0 -74
  710. package/src/workflow/waterfall/index.ts +0 -5
  711. package/workflow/WorkflowExecutionApprovalCard.d.ts +0 -34
  712. package/workflow/WorkflowExecutionApprovalCard.d.ts.map +0 -1
  713. package/workflow/WorkflowExecutionApprovalCard.js +0 -46
  714. package/workflow/WorkflowExecutionApprovalCard.js.map +0 -1
  715. package/workflow/WorkflowExecutionArtifactPanel.d.ts +0 -15
  716. package/workflow/WorkflowExecutionArtifactPanel.d.ts.map +0 -1
  717. package/workflow/WorkflowExecutionArtifactPanel.js +0 -46
  718. package/workflow/WorkflowExecutionArtifactPanel.js.map +0 -1
  719. package/workflow/WorkflowExecutionCostPanel.d.ts +0 -18
  720. package/workflow/WorkflowExecutionCostPanel.d.ts.map +0 -1
  721. package/workflow/WorkflowExecutionCostPanel.js +0 -31
  722. package/workflow/WorkflowExecutionCostPanel.js.map +0 -1
  723. package/workflow/WorkflowExecutionTaskPanel.d.ts +0 -24
  724. package/workflow/WorkflowExecutionTaskPanel.d.ts.map +0 -1
  725. package/workflow/WorkflowExecutionTaskPanel.js +0 -51
  726. package/workflow/WorkflowExecutionTaskPanel.js.map +0 -1
  727. package/workflow/WorkflowExecutionTimeline.d.ts +0 -42
  728. package/workflow/WorkflowExecutionTimeline.d.ts.map +0 -1
  729. package/workflow/WorkflowExecutionTimeline.js +0 -52
  730. package/workflow/WorkflowExecutionTimeline.js.map +0 -1
  731. package/workflow/WorkflowExecutionTimelineEvent.d.ts +0 -25
  732. package/workflow/WorkflowExecutionTimelineEvent.d.ts.map +0 -1
  733. package/workflow/WorkflowExecutionTimelineEvent.js +0 -179
  734. package/workflow/WorkflowExecutionTimelineEvent.js.map +0 -1
  735. package/workflow/execution/derive-waterfall-entries.d.ts +0 -85
  736. package/workflow/execution/derive-waterfall-entries.d.ts.map +0 -1
  737. package/workflow/execution/derive-waterfall-entries.js +0 -268
  738. package/workflow/execution/derive-waterfall-entries.js.map +0 -1
  739. package/workflow/execution/useWaterfallEntries.d.ts +0 -25
  740. package/workflow/execution/useWaterfallEntries.d.ts.map +0 -1
  741. package/workflow/execution/useWaterfallEntries.js +0 -67
  742. package/workflow/execution/useWaterfallEntries.js.map +0 -1
  743. package/workflow/execution-inspector/AgentCallTab.d.ts +0 -21
  744. package/workflow/execution-inspector/AgentCallTab.d.ts.map +0 -1
  745. package/workflow/execution-inspector/AgentCallTab.js +0 -36
  746. package/workflow/execution-inspector/AgentCallTab.js.map +0 -1
  747. package/workflow/execution-inspector/ErrorTab.d.ts +0 -9
  748. package/workflow/execution-inspector/ErrorTab.d.ts.map +0 -1
  749. package/workflow/execution-inspector/ErrorTab.js +0 -29
  750. package/workflow/execution-inspector/ErrorTab.js.map +0 -1
  751. package/workflow/execution-inspector/EventLogTab.d.ts +0 -11
  752. package/workflow/execution-inspector/EventLogTab.d.ts.map +0 -1
  753. package/workflow/execution-inspector/EventLogTab.js +0 -47
  754. package/workflow/execution-inspector/EventLogTab.js.map +0 -1
  755. package/workflow/execution-inspector/ExecutionInspector.d.ts +0 -69
  756. package/workflow/execution-inspector/ExecutionInspector.d.ts.map +0 -1
  757. package/workflow/execution-inspector/ExecutionInspector.js +0 -145
  758. package/workflow/execution-inspector/ExecutionInspector.js.map +0 -1
  759. package/workflow/execution-inspector/InputOutputTab.d.ts +0 -20
  760. package/workflow/execution-inspector/InputOutputTab.d.ts.map +0 -1
  761. package/workflow/execution-inspector/InputOutputTab.js +0 -124
  762. package/workflow/execution-inspector/InputOutputTab.js.map +0 -1
  763. package/workflow/execution-inspector/RetriesTab.d.ts +0 -7
  764. package/workflow/execution-inspector/RetriesTab.d.ts.map +0 -1
  765. package/workflow/execution-inspector/RetriesTab.js +0 -11
  766. package/workflow/execution-inspector/RetriesTab.js.map +0 -1
  767. package/workflow/execution-inspector/StructuredDataViewer.d.ts.map +0 -1
  768. package/workflow/execution-inspector/StructuredDataViewer.js.map +0 -1
  769. package/workflow/execution-inspector/SummaryTab.d.ts +0 -7
  770. package/workflow/execution-inspector/SummaryTab.d.ts.map +0 -1
  771. package/workflow/execution-inspector/SummaryTab.js +0 -10
  772. package/workflow/execution-inspector/SummaryTab.js.map +0 -1
  773. package/workflow/execution-inspector/derive-task-detail.d.ts +0 -140
  774. package/workflow/execution-inspector/derive-task-detail.d.ts.map +0 -1
  775. package/workflow/execution-inspector/derive-task-detail.js +0 -366
  776. package/workflow/execution-inspector/derive-task-detail.js.map +0 -1
  777. package/workflow/execution-inspector/index.d.ts +0 -4
  778. package/workflow/execution-inspector/index.d.ts.map +0 -1
  779. package/workflow/execution-inspector/index.js +0 -4
  780. package/workflow/execution-inspector/index.js.map +0 -1
  781. package/workflow/execution-inspector/useExecutionTaskDetail.d.ts +0 -38
  782. package/workflow/execution-inspector/useExecutionTaskDetail.d.ts.map +0 -1
  783. package/workflow/execution-inspector/useExecutionTaskDetail.js +0 -37
  784. package/workflow/execution-inspector/useExecutionTaskDetail.js.map +0 -1
  785. package/workflow/inspector/ExecutionInspectorAdapter.d.ts +0 -26
  786. package/workflow/inspector/ExecutionInspectorAdapter.d.ts.map +0 -1
  787. package/workflow/inspector/ExecutionInspectorAdapter.js +0 -23
  788. package/workflow/inspector/ExecutionInspectorAdapter.js.map +0 -1
  789. package/workflow/waterfall/WaterfallBar.d.ts +0 -19
  790. package/workflow/waterfall/WaterfallBar.d.ts.map +0 -1
  791. package/workflow/waterfall/WaterfallBar.js +0 -70
  792. package/workflow/waterfall/WaterfallBar.js.map +0 -1
  793. package/workflow/waterfall/WaterfallRow.d.ts +0 -18
  794. package/workflow/waterfall/WaterfallRow.d.ts.map +0 -1
  795. package/workflow/waterfall/WaterfallRow.js +0 -45
  796. package/workflow/waterfall/WaterfallRow.js.map +0 -1
  797. package/workflow/waterfall/WaterfallScale.d.ts +0 -14
  798. package/workflow/waterfall/WaterfallScale.d.ts.map +0 -1
  799. package/workflow/waterfall/WaterfallScale.js +0 -22
  800. package/workflow/waterfall/WaterfallScale.js.map +0 -1
  801. package/workflow/waterfall/WaterfallTimeline.d.ts +0 -46
  802. package/workflow/waterfall/WaterfallTimeline.d.ts.map +0 -1
  803. package/workflow/waterfall/WaterfallTimeline.js +0 -60
  804. package/workflow/waterfall/WaterfallTimeline.js.map +0 -1
  805. package/workflow/waterfall/WaterfallTooltip.d.ts +0 -15
  806. package/workflow/waterfall/WaterfallTooltip.d.ts.map +0 -1
  807. package/workflow/waterfall/WaterfallTooltip.js +0 -20
  808. package/workflow/waterfall/WaterfallTooltip.js.map +0 -1
  809. package/workflow/waterfall/index.d.ts +0 -6
  810. package/workflow/waterfall/index.d.ts.map +0 -1
  811. package/workflow/waterfall/index.js +0 -6
  812. package/workflow/waterfall/index.js.map +0 -1
  813. /package/src/workflow/{execution-inspector → task-detail}/StructuredDataViewer.tsx +0 -0
  814. /package/workflow/{execution-inspector → task-detail}/StructuredDataViewer.d.ts +0 -0
  815. /package/workflow/{execution-inspector → task-detail}/StructuredDataViewer.js +0 -0
@@ -1,23 +1,17 @@
1
1
  "use client";
2
2
 
3
3
  import { useMemo } from "react";
4
- import { create } from "@bufbuild/protobuf";
5
4
  import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
6
5
  import type { FileChange } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
7
- import { FileChangeSchema } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
8
- import {
9
- FileChangeCaptureLevel,
10
- FileChangeType,
11
- } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
12
- import { displayFileChangeSets, toDisplayFileChange } from "@stigmer/sdk";
6
+ import { deriveExecutionFileChanges } from "../execution/deriveExecutionFileChanges.js";
13
7
 
14
8
  /** Return value of {@link useSessionFileChanges}. */
15
9
  export interface UseSessionFileChangesReturn {
16
10
  /**
17
11
  * One {@link FileChange} per file touched in the session — the *net*
18
- * change for that path (see the net-diff note below) — ordered for a
19
- * file-list (modified, then created/renamed, then deleted; alphabetical
20
- * within each group).
12
+ * change for that path (see {@link deriveExecutionFileChanges} for the
13
+ * net-diff semantics) — ordered for a file-list (modified, then
14
+ * created/renamed, then deleted; alphabetical within each group).
21
15
  */
22
16
  readonly fileChanges: readonly FileChange[];
23
17
  /** `true` when at least one file was changed across all executions. */
@@ -34,39 +28,15 @@ export interface UseSessionFileChangesReturn {
34
28
  * file changes in the transcript (stamped edit rows + the per-turn decision
35
29
  * bar) and does not consume this hook.
36
30
  *
37
- * **Source (ledger-first).** Under apply-then-review the changes live in the
38
- * file-review ledger; {@link displayFileChangeSets} reads the server's live
39
- * projection or folds the durable ledger for a terminal execution (whose
40
- * projection is nil), and each captured change is projected onto the display
41
- * {@link FileChange} via {@link toDisplayFileChange}. A pre-capture
42
- * (legacy) execution has no ledger, so it falls back to the tool-call-coupled
43
- * `ToolCall.file_changes` (#186; removed in a later slice with that field). The
44
- * two sources are mutually exclusive per execution, so there is no double count.
45
- *
46
- * **Traversal.** The ledger is execution-scoped and already includes sub-agent
47
- * captures (DD-19), so the primary path is one pass per execution. The legacy
48
- * fallback walks the same surfaces the server-side approval recompute and
49
- * `MessageThread` walk: `status.messages[].toolCalls` **and**
50
- * `status.subAgentExecutions[].messages[].toolCalls`. Executions are visited in
51
- * chronological order, so each path's change list is chronological.
52
- *
53
- * **Net-diff (not latest-wins).** `useSessionWriteBacks`/`useSessionArtifacts`
54
- * dedup by "latest wins" because each entry is a *snapshot* (a PR; a file's
55
- * final bytes). A {@link FileChange} is a *delta* — an agent often rewrites the
56
- * same file several times in a turn, and showing only the last edit's diff
57
- * would misrepresent what changed. So changes to the same path are reduced to a
58
- * single net change: `before` from the first change, `after` from the last.
59
- * Because a WHOLE_FILE `after` is a complete file snapshot, `first.before →
60
- * last.after` is exactly the net change. A group with one change (the common
61
- * case) is passed through untouched; multi-edit groups synthesize a net
62
- * {@link FileChange} so every consumer speaks one proto type (DD-007).
63
- *
64
- * Counts and unified diffs for whole-file captures stay derivable by the
65
- * presentation layer (the runner emits 0/"" sentinels), matching the contract
66
- * the SDK `tool-view` established.
31
+ * A thin memoizing wrapper over {@link deriveExecutionFileChanges} the
32
+ * shared execution-domain core that also powers the workflow panel's Changes
33
+ * facet (`useWorkflowExecutionFileChanges`). The source (ledger-first via
34
+ * `displayFileChangeSets`), the net-diff collapse, and the file-list ordering
35
+ * are all documented on the core.
67
36
  *
68
37
  * @param executions - All executions for a session, in chronological order.
69
- * Pass both completed and active-stream executions.
38
+ * Pass both completed and active-stream executions. Ordering matters: the
39
+ * net collapse anchors on each path's first and last change.
70
40
  *
71
41
  * @example
72
42
  * ```tsx
@@ -86,32 +56,7 @@ export function useSessionFileChanges(
86
56
  executions: readonly AgentExecution[],
87
57
  ): UseSessionFileChangesReturn {
88
58
  return useMemo(() => {
89
- // Path -> chronological list of raw changes to that path.
90
- const groups = new Map<string, FileChange[]>();
91
- // Preserve first-seen path order as a stable tiebreaker before sorting.
92
- const collect = (change: FileChange) => {
93
- const key = change.path || change.absolutePath;
94
- if (!key) return;
95
- const list = groups.get(key);
96
- if (list) list.push(change);
97
- else groups.set(key, [change]);
98
- };
99
-
100
- for (const execution of executions) {
101
- // The file-review ledger is the single source under apply-then-review: the
102
- // display seam reads the live projection or folds the durable ledger for a
103
- // terminal execution, and the execution-scoped ledger already covers
104
- // sub-agent captures (DD-19), so one pass suffices. Each CapturedFileChange
105
- // is projected onto the display FileChange the net-collapse + renderer speak.
106
- const capturedChanges = displayFileChangeSets(execution.status).flatMap(
107
- (set) => set.changes,
108
- );
109
- for (const captured of capturedChanges) collect(toDisplayFileChange(captured));
110
- }
111
-
112
- const fileChanges = Array.from(groups.values(), netChange);
113
- fileChanges.sort(fileChangeComparator);
114
-
59
+ const fileChanges = deriveExecutionFileChanges(executions);
115
60
  return {
116
61
  fileChanges,
117
62
  hasFileChanges: fileChanges.length > 0,
@@ -119,89 +64,3 @@ export function useSessionFileChanges(
119
64
  };
120
65
  }, [executions]);
121
66
  }
122
-
123
- /**
124
- * Reduces a path's chronological change list to a single net change.
125
- * A one-change group is returned as-is (the common path, no allocation);
126
- * multi-edit groups synthesize a net {@link FileChange}.
127
- */
128
- function netChange(changes: FileChange[]): FileChange {
129
- if (changes.length === 1) return changes[0];
130
-
131
- const first = changes[0];
132
- const last = changes[changes.length - 1];
133
- const changeType = netChangeType(first, last);
134
-
135
- // Whole-file only when both chosen sides come from whole-file captures;
136
- // otherwise fall back to the last change's hunk diff. A path edited by a
137
- // single harness won't mix levels — this just stays honest if it ever does.
138
- const wholeFile =
139
- first.captureLevel === FileChangeCaptureLevel.WHOLE_FILE &&
140
- last.captureLevel === FileChangeCaptureLevel.WHOLE_FILE;
141
-
142
- if (wholeFile) {
143
- return create(FileChangeSchema, {
144
- path: last.path,
145
- absolutePath: last.absolutePath,
146
- changeType,
147
- captureLevel: FileChangeCaptureLevel.WHOLE_FILE,
148
- before: first.before,
149
- after: last.after,
150
- renameFrom: changeType === FileChangeType.RENAME ? first.renameFrom : "",
151
- });
152
- }
153
-
154
- return create(FileChangeSchema, {
155
- path: last.path,
156
- absolutePath: last.absolutePath,
157
- changeType,
158
- captureLevel: FileChangeCaptureLevel.HUNK_ONLY,
159
- unifiedDiff: last.unifiedDiff,
160
- linesAdded: last.linesAdded,
161
- linesRemoved: last.linesRemoved,
162
- renameFrom: changeType === FileChangeType.RENAME ? first.renameFrom : "",
163
- });
164
- }
165
-
166
- /**
167
- * Reconciles the net `change_type` of a path from its first and last change.
168
- *
169
- * Intent: the badge should describe the file's journey across the *whole*
170
- * session, anchored on its two endpoints, in this precedence:
171
- *
172
- * 1. Ends deleted (`last` is DELETE) → DELETE. The file is gone, regardless of
173
- * how it got there — this includes create-then-delete, which we deliberately
174
- * surface as DELETE rather than hiding the path. (`before` then comes from
175
- * the first change, which for a created-then-deleted file is empty, so the
176
- * diff reads as the removal of whatever briefly existed.)
177
- * 2. Started created (`first` is CREATE) and still exists → CREATE. A file born
178
- * this session and later modified is, on net, a new file.
179
- * 3. Started renamed (`first` is RENAME) and still exists → RENAME, carrying the
180
- * original `rename_from` so the move is preserved across later edits.
181
- * 4. Otherwise → MODIFY (the common multi-edit case).
182
- */
183
- function netChangeType(first: FileChange, last: FileChange): FileChangeType {
184
- if (last.changeType === FileChangeType.DELETE) return FileChangeType.DELETE;
185
- if (first.changeType === FileChangeType.CREATE) return FileChangeType.CREATE;
186
- if (first.changeType === FileChangeType.RENAME) return FileChangeType.RENAME;
187
- return FileChangeType.MODIFY;
188
- }
189
-
190
- // Most-actionable first (modified), then additions (create/rename), then
191
- // deletions — mirroring GitHub's file-list convention — alphabetical within
192
- // each group so the list is stable and scannable.
193
- const CHANGE_TYPE_ORDER: Readonly<Record<FileChangeType, number>> = {
194
- [FileChangeType.MODIFY]: 0,
195
- [FileChangeType.CREATE]: 1,
196
- [FileChangeType.RENAME]: 1,
197
- [FileChangeType.DELETE]: 2,
198
- [FileChangeType.UNSPECIFIED]: 3,
199
- };
200
-
201
- function fileChangeComparator(a: FileChange, b: FileChange): number {
202
- const order =
203
- (CHANGE_TYPE_ORDER[a.changeType] ?? 3) -
204
- (CHANGE_TYPE_ORDER[b.changeType] ?? 3);
205
- if (order !== 0) return order;
206
- return a.path.localeCompare(b.path, undefined, { sensitivity: "base" });
207
- }
@@ -4,14 +4,13 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
4
  import type { ExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
5
5
  import type { ExecutionArtifact } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/artifact_pb";
6
6
  import { isTerminalPhase } from "../execution/execution-phases.js";
7
- import type { SelectedThreadItem } from "../internal/store/selection-store.js";
8
7
  import {
9
8
  useWorkspaceEditorsStoreRef,
10
9
  type OpenFileOptions,
11
10
  type WorkspaceEditorsStore,
12
11
  } from "../internal/store/index.js";
13
12
  import { PLAN_DOCUMENT_ENTRY_ID, PLAN_DOCUMENT_PATH } from "./plan-document.js";
14
- import { ARTIFACT_DOCUMENT_ENTRY_ID } from "./artifact-document.js";
13
+ import { ARTIFACT_DOCUMENT_ENTRY_ID } from "../execution/artifact-document.js";
15
14
  import { artifactKey } from "./useSessionArtifacts.js";
16
15
 
17
16
  /** Options for {@link useSessionPanel}. */
@@ -53,8 +52,8 @@ export interface UseSessionPanelOptions {
53
52
  * to `"files"` (the Explorer), which suits the session viewer. The launcher
54
53
  * passes `"configure"`: pre-session there is no workspace, so the Config
55
54
  * facet — carrying the run defaults (harness/model) — is the useful landing
56
- * view. Auto-switches (Changes/Inspect) and explicit rail picks still
57
- * take over from here exactly as before.
55
+ * view. Auto-switches (Changes) and explicit rail picks still take over
56
+ * from here exactly as before.
58
57
  *
59
58
  * @default "files"
60
59
  */
@@ -73,8 +72,8 @@ export interface UseSessionPanelOptions {
73
72
  *
74
73
  * Owns the {@link WorkspaceEditorsStore} (the open-editor group) and the view
75
74
  * FSM ported from the retired inspector tabs: explicit picks are sticky until
76
- * a meaningful state change (selection cleared, running⇄terminal transition)
77
- * resets them back to the `defaultView`. Both are decoupled from any store
75
+ * a meaningful state change (the running⇄terminal transition) resets them
76
+ * back to the `defaultView`. Both are decoupled from any store
78
77
  * subscription at the owner level: callbacks mutate imperatively so a file
79
78
  * open/switch re-renders only the subscribing panel subtree, never the
80
79
  * streaming conversation column (DD-009/DD-010, invariant 2).
@@ -86,7 +85,7 @@ export interface SessionPanelController {
86
85
  readonly isOpen: boolean;
87
86
  /** The active rail view id (`"files"`, `"search"`, or an injected facet). */
88
87
  readonly view: string;
89
- /** Expand the panel, restoring the previous view (or Inspect if a thread item is selected). */
88
+ /** Expand the panel, restoring the previous view. */
90
89
  readonly openPanel: () => void;
91
90
  /** Collapse the panel to the chip, preserving editors and view. */
92
91
  readonly closePanel: () => void;
@@ -140,15 +139,6 @@ export interface SessionPanelController {
140
139
  * no-op if the artifact is not open.
141
140
  */
142
141
  readonly pinArtifact: (artifact: ExecutionArtifact) => void;
143
- /**
144
- * Report the current thread-item selection. Called from an effect inside the
145
- * panel subtree (the level that subscribes to the selection store), keeping
146
- * the owner subscription-free. While the panel is open, a new selection
147
- * auto-switches to the Inspect view (unless the user picked one explicitly);
148
- * a collapsed panel deliberately ignores selections — Inspect has no
149
- * auto-open (it must never pull the user out of the chat).
150
- */
151
- readonly notifySelection: (item: SelectedThreadItem | null) => void;
152
142
  }
153
143
 
154
144
  /**
@@ -167,14 +157,6 @@ export function useSessionPanel({
167
157
  // Sticky explicit pick (rail click) — auto-switching yields to it until a
168
158
  // meaningful state change resets it. Same semantics as the retired tab FSM.
169
159
  const userPickedViewRef = useRef(false);
170
- // Render-synced mirror so imperative callbacks read the current view without
171
- // re-binding on every view change.
172
- const viewRef = useRef(view);
173
- viewRef.current = view;
174
- // Last selection reported by the panel subtree; consulted by transitions that
175
- // fire at the owner level (open, phase change) where selection state is
176
- // deliberately not subscribed.
177
- const selectionRef = useRef<SelectedThreadItem | null>(null);
178
160
 
179
161
  // Running⇄terminal transition → reset the sticky pick and re-derive the view.
180
162
  // Adjust-state-during-render (the established ResizableSplit pattern) so it
@@ -186,7 +168,7 @@ export function useSessionPanel({
186
168
  setPrevPhase(phase);
187
169
  if (wasTerminal !== isNowTerminal) {
188
170
  userPickedViewRef.current = false;
189
- setViewState(selectionRef.current ? "inspect" : defaultView);
171
+ setViewState(defaultView);
190
172
  }
191
173
  }
192
174
 
@@ -222,14 +204,7 @@ export function useSessionPanel({
222
204
  }
223
205
  }, [planKey, openPlanDocument]);
224
206
 
225
- const openPanel = useCallback(() => {
226
- setIsOpen(true);
227
- // Re-derive the auto view on entry: a selection made while collapsed
228
- // surfaces as Inspect now (the collapsed panel ignored it by design).
229
- if (!userPickedViewRef.current && selectionRef.current) {
230
- setViewState("inspect");
231
- }
232
- }, []);
207
+ const openPanel = useCallback(() => setIsOpen(true), []);
233
208
 
234
209
  const closePanel = useCallback(() => setIsOpen(false), []);
235
210
 
@@ -276,22 +251,6 @@ export function useSessionPanel({
276
251
  [editorsStore],
277
252
  );
278
253
 
279
- const notifySelection = useCallback(
280
- (item: SelectedThreadItem | null) => {
281
- if (item === selectionRef.current) return;
282
- selectionRef.current = item;
283
- if (item) {
284
- if (isOpen && !userPickedViewRef.current) setViewState("inspect");
285
- } else if (viewRef.current === "inspect") {
286
- // Selection cleared: leave Inspect (its content is gone) and unstick,
287
- // returning to the panel's home view.
288
- userPickedViewRef.current = false;
289
- setViewState(defaultView);
290
- }
291
- },
292
- [isOpen, defaultView],
293
- );
294
-
295
254
  return useMemo(
296
255
  () => ({
297
256
  editorsStore,
@@ -307,7 +266,6 @@ export function useSessionPanel({
307
266
  openPlanDocument,
308
267
  openArtifact,
309
268
  pinArtifact,
310
- notifySelection,
311
269
  }),
312
270
  [
313
271
  editorsStore,
@@ -323,7 +281,6 @@ export function useSessionPanel({
323
281
  openPlanDocument,
324
282
  openArtifact,
325
283
  pinArtifact,
326
- notifySelection,
327
284
  ],
328
285
  );
329
286
  }
@@ -3,7 +3,6 @@
3
3
  import { useMemo } from "react";
4
4
  import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
5
5
  import type { SurfaceRailView } from "../workspace/WorkspaceSurface.js";
6
- import type { SelectedThreadItem } from "../internal/store/selection-store.js";
7
6
  import type { ApplyResourceResult } from "../library/useApplyResource.js";
8
7
  import { useSessionWriteBacks } from "./useSessionWriteBacks.js";
9
8
  import {
@@ -14,7 +13,6 @@ import { SetupTab, type SetupTabProps } from "./facets/SetupTab.js";
14
13
  import { ChangesTab } from "./facets/ChangesTab.js";
15
14
  import { ArtifactsTab } from "./facets/ArtifactsTab.js";
16
15
  import { UsageTab } from "./facets/UsageTab.js";
17
- import { InspectTab } from "./facets/InspectTab.js";
18
16
 
19
17
  /** Options for {@link useSessionRailViews}. */
20
18
  export interface UseSessionRailViewsOptions {
@@ -24,8 +22,6 @@ export interface UseSessionRailViewsOptions {
24
22
  readonly org: string;
25
23
  /** Session configuration for the Config facet. */
26
24
  readonly sessionConfig: SetupTabProps | undefined;
27
- /** Currently selected thread item — surfaces the Inspect facet. */
28
- readonly selectedItem: SelectedThreadItem | null;
29
25
  /** Called after a resource is applied from the Artifacts facet. */
30
26
  readonly onApplied?: (result: ApplyResourceResult) => void;
31
27
  /** Implement a plan — the Artifacts facet's preview action for `plan.md`. */
@@ -72,20 +68,19 @@ export interface UseSessionRailViewsOptions {
72
68
  }
73
69
 
74
70
  /**
75
- * Composes the session facets (Config / Changes / Artifacts / Usage / Inspect)
71
+ * Composes the session facets (Config / Changes / Artifacts / Usage)
76
72
  * as {@link SurfaceRailView}s for the workspace surface's activity rail.
77
73
  *
78
74
  * This is the session-domain half of the unified panel: the surface stays a
79
75
  * domain-pure workspace organism and these views are injected into its rail
80
76
  * (DD-004 composition). Contextual visibility mirrors the retired inspector's
81
77
  * tab rules — Changes/Artifacts surface only when data exists (with count
82
- * badges), Inspect only when a thread item is selected.
78
+ * badges).
83
79
  */
84
80
  export function useSessionRailViews({
85
81
  allExecutions,
86
82
  org,
87
83
  sessionConfig,
88
- selectedItem,
89
84
  onApplied,
90
85
  onImplementPlan,
91
86
  onOpenPlan,
@@ -158,15 +153,6 @@ export function useSessionRailViews({
158
153
  });
159
154
  }
160
155
 
161
- if (selectedItem) {
162
- views.push({
163
- id: "inspect",
164
- label: "Inspect",
165
- icon: <InspectIcon />,
166
- content: <InspectTab selectedItem={selectedItem} />,
167
- });
168
- }
169
-
170
156
  return views;
171
157
  }, [
172
158
  sessionConfig,
@@ -184,7 +170,6 @@ export function useSessionRailViews({
184
170
  onOpenPlan,
185
171
  onOpenArtifact,
186
172
  onActivateArtifact,
187
- selectedItem,
188
173
  ]);
189
174
  }
190
175
 
@@ -236,13 +221,3 @@ function UsageIcon() {
236
221
  </svg>
237
222
  );
238
223
  }
239
-
240
- /** Crosshair glyph — inspecting a selected thread item. */
241
- function InspectIcon() {
242
- return (
243
- <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
244
- <circle cx="12" cy="12" r="7" />
245
- <path d="M12 2v4M12 18v4M2 12h4M18 12h4" />
246
- </svg>
247
- );
248
- }
@@ -0,0 +1,133 @@
1
+ "use client";
2
+
3
+ import { useCallback, useRef, useState } from "react";
4
+ import type { ChannelApp } from "@stigmer/protos/ai/stigmer/agentic/channelapp/v1/api_pb";
5
+ import { ChannelAppListPanel } from "../channel-app/ChannelAppListPanel.js";
6
+ import {
7
+ CreateChannelAppForm,
8
+ type ChannelAppCreateHandoff,
9
+ } from "../channel-app/CreateChannelAppForm.js";
10
+ import { ChannelAppDetailPanel } from "../channel-app/ChannelAppDetailPanel.js";
11
+ import { useDeploymentMode } from "../deployment-mode.js";
12
+ import { CloudFeatureNotice } from "../internal/CloudFeatureNotice.js";
13
+ import { useActiveOrgSlug } from "../organization/OrgProvider.js";
14
+
15
+ type FlowState =
16
+ | { phase: "idle" }
17
+ | { phase: "creating" }
18
+ | {
19
+ phase: "editing";
20
+ channelApp: ChannelApp;
21
+ /**
22
+ * Once-visible create-flow values (the WhatsApp verify token),
23
+ * held in memory only for the detail panel's phase-two setup.
24
+ * Absent when editing reopens from the list later.
25
+ */
26
+ createHandoff?: ChannelAppCreateHandoff;
27
+ };
28
+
29
+ /**
30
+ * Settings section for the organization's channel apps — customer-owned
31
+ * provider apps (Slack apps, Meta WhatsApp apps) that agent channels
32
+ * install through. For Slack that replaces the shared Stigmer app (bring
33
+ * your own app: your bot name and icon, and one agent per app per
34
+ * workspace, so multiple agents can serve one workspace); for WhatsApp a
35
+ * channel app is the only way — there is no platform Meta app (DD-WA-2).
36
+ *
37
+ * After registering an app here, the connect dialog on any agent's
38
+ * Channels tab offers it as the serving app.
39
+ */
40
+ export function ChannelAppsSection() {
41
+ const org = useActiveOrgSlug();
42
+ // Channel installs (the consumer of these credentials) are cloud-only;
43
+ // gate the whole section the way the Channels tab gates connects.
44
+ const installsAvailable = useDeploymentMode() === "cloud";
45
+
46
+ const [flow, setFlow] = useState<FlowState>({ phase: "idle" });
47
+ const listRefetchRef = useRef<(() => void) | null>(null);
48
+
49
+ const handleRefetchRef = useCallback((refetch: () => void) => {
50
+ listRefetchRef.current = refetch;
51
+ }, []);
52
+
53
+ const handleCreated = useCallback(
54
+ (app: ChannelApp, createHandoff: ChannelAppCreateHandoff) => {
55
+ listRefetchRef.current?.();
56
+ // Creation lands on the detail panel deliberately: phase two of the
57
+ // setup (the events webhook URL — plus, for WhatsApp, the verify
58
+ // token carried in the handoff) only exists now.
59
+ setFlow({ phase: "editing", channelApp: app, createHandoff });
60
+ },
61
+ [],
62
+ );
63
+
64
+ const handleUpdated = useCallback(() => {
65
+ listRefetchRef.current?.();
66
+ setFlow({ phase: "idle" });
67
+ }, []);
68
+
69
+ const handleDeleted = useCallback(() => {
70
+ listRefetchRef.current?.();
71
+ setFlow({ phase: "idle" });
72
+ }, []);
73
+
74
+ return (
75
+ <section aria-labelledby="channel-apps-heading">
76
+ <div className="mb-3 flex items-center justify-between">
77
+ <h2
78
+ id="channel-apps-heading"
79
+ className="text-foreground text-sm font-semibold"
80
+ >
81
+ Channel Apps
82
+ </h2>
83
+
84
+ {installsAvailable && org && flow.phase === "idle" && (
85
+ <button
86
+ type="button"
87
+ onClick={() => setFlow({ phase: "creating" })}
88
+ className="text-primary hover:text-foreground text-xs font-medium transition-colors"
89
+ >
90
+ + New channel app
91
+ </button>
92
+ )}
93
+ </div>
94
+ <p className="text-muted-foreground mb-4 text-xs">
95
+ Your own provider apps for serving agent channels. A Slack app
96
+ gives the bot your name and icon, and lets multiple agents serve
97
+ the same workspace — one per app. A Meta app is how WhatsApp
98
+ channels connect — every WhatsApp channel installs through one.
99
+ </p>
100
+
101
+ {!installsAvailable ? (
102
+ <CloudFeatureNotice>
103
+ Channel apps are not available in local mode. Channel installs
104
+ require Stigmer Cloud.
105
+ </CloudFeatureNotice>
106
+ ) : flow.phase === "creating" ? (
107
+ <div className="border-border bg-card rounded-lg border p-4">
108
+ <CreateChannelAppForm
109
+ org={org}
110
+ onCreated={handleCreated}
111
+ onCancel={() => setFlow({ phase: "idle" })}
112
+ />
113
+ </div>
114
+ ) : flow.phase === "editing" ? (
115
+ <div className="border-border bg-card rounded-lg border p-4">
116
+ <ChannelAppDetailPanel
117
+ channelApp={flow.channelApp}
118
+ createHandoff={flow.createHandoff}
119
+ onUpdated={handleUpdated}
120
+ onDeleted={handleDeleted}
121
+ onBack={() => setFlow({ phase: "idle" })}
122
+ />
123
+ </div>
124
+ ) : (
125
+ <ChannelAppListPanel
126
+ org={org}
127
+ onEdit={(app) => setFlow({ phase: "editing", channelApp: app })}
128
+ onRefetchRef={handleRefetchRef}
129
+ />
130
+ )}
131
+ </section>
132
+ );
133
+ }
@@ -12,4 +12,5 @@ export { IdentityProvidersSection } from "./IdentityProvidersSection.js";
12
12
  export type { IdentityProvidersSectionProps } from "./IdentityProvidersSection.js";
13
13
  export { PlatformClientsSection } from "./PlatformClientsSection.js";
14
14
  export { OAuthAppsSection } from "./OAuthAppsSection.js";
15
+ export { ChannelAppsSection } from "./ChannelAppsSection.js";
15
16
  export { UsageSection } from "./UsageSection.js";
@@ -7,6 +7,7 @@ import {
7
7
  CreditCard,
8
8
  KeyRound,
9
9
  Link,
10
+ MessageSquare,
10
11
  Plug,
11
12
  ShieldCheck,
12
13
  Users,
@@ -65,6 +66,11 @@ export const SETTINGS_NAV_GROUPS: readonly SettingsNavGroup[] = [
65
66
  },
66
67
  { href: "/settings/environments", label: "Environments", icon: Box },
67
68
  { href: "/settings/oauth-apps", label: "OAuth Apps", icon: AppWindow },
69
+ {
70
+ href: "/settings/channel-apps",
71
+ label: "Channel Apps",
72
+ icon: MessageSquare,
73
+ },
68
74
  ],
69
75
  },
70
76
  {