@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
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import { create } from "@bufbuild/protobuf";
3
+ import { ListAgentChannelsRequestSchema } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/io_pb";
4
+ import { useStigmer } from "../hooks.js";
5
+ import { useFetch } from "../internal/useFetch.js";
6
+ /**
7
+ * Data hook that loads an organization's {@link AgentChannel} resources
8
+ * across all its agents — the org-wide view {@link useAgentChannelList}
9
+ * (per-agent) cannot provide.
10
+ *
11
+ * The connect flow uses it to tell the user which workspaces a serving
12
+ * app already occupies before they start the provider OAuth. The view is
13
+ * permission-bounded (FGA-filtered in cloud), so treat it as advisory —
14
+ * the database uniqueness index remains the arbiter.
15
+ *
16
+ * Pass `null` for `org` to skip fetching (stable no-op).
17
+ */
18
+ export function useOrgAgentChannelList(org) {
19
+ const stigmer = useStigmer();
20
+ const fetchFn = org
21
+ ? async () => {
22
+ const result = await stigmer.agentChannel.list(create(ListAgentChannelsRequestSchema, { org }));
23
+ return result.items;
24
+ }
25
+ : null;
26
+ const { data: channels, isLoading, isRefetching, error, refetch } = useFetch(fetchFn, [org, stigmer], []);
27
+ return { channels, isLoading, isRefetching, error, refetch };
28
+ }
29
+ //# sourceMappingURL=useOrgAgentChannelList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOrgAgentChannelList.js","sourceRoot":"","sources":["../../src/channel/useOrgAgentChannelList.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,8BAA8B,EAAE,MAAM,0DAA0D,CAAC;AAC1G,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAoBnD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CACpC,GAAkB;IAElB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,GAAG;QACjB,CAAC,CAAC,KAAK,IAAI,EAAE;YACT,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAC5C,MAAM,CAAC,8BAA8B,EAAE,EAAE,GAAG,EAAE,CAAC,CAChD,CAAC;YACF,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;QACH,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAC1E,OAAO,EACP,CAAC,GAAG,EAAE,OAAO,CAAC,EACd,EAAoB,CACrB,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,63 @@
1
+ import type { AgentChannel } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/api_pb";
2
+ import type { AgentChannelInput } from "@stigmer/sdk";
3
+ /**
4
+ * Rebuild the {@link AgentChannelInput} that reproduces an existing
5
+ * channel verbatim.
6
+ *
7
+ * `apply` replaces the channel's whole spec, so a caller toggling one
8
+ * field must supply the full configuration — this helper makes that safe:
9
+ *
10
+ * ```ts
11
+ * save({ ...agentChannelToInput(channel), enabled: false });
12
+ * ```
13
+ *
14
+ * Provider config carries over per arm: the Slack config is an empty
15
+ * marker message in v1 (all concrete facts are OAuth-observed and live
16
+ * in `status`, which survives every save verbatim); the WhatsApp config
17
+ * carries its declared `phone_number_id`. Dropping the arm is never an
18
+ * option — the provider oneof is immutable server-side, so a save
19
+ * without it would be refused outright. The channel's bound tool
20
+ * credentials (`environment_refs`) and its channel-app binding
21
+ * (`app_ref`) carry over too — apply semantics would otherwise silently
22
+ * unbind them on every toggle (and an installed channel's app_ref is
23
+ * frozen server-side, so dropping it would refuse the save outright).
24
+ */
25
+ export declare function agentChannelToInput(channel: AgentChannel): AgentChannelInput;
26
+ /** Return value of {@link useSaveAgentChannel}. */
27
+ export interface UseSaveAgentChannelReturn {
28
+ /**
29
+ * Create or update an agent channel (`apply` semantics: upsert by
30
+ * org + slug). Returns the persisted resource.
31
+ *
32
+ * Disabling is a config-preserving pause: save with `enabled: false`
33
+ * and the provider install (and its credentials) survive. Deleting is
34
+ * the full teardown — see `useDeleteAgentChannel`.
35
+ */
36
+ readonly save: (input: AgentChannelInput) => Promise<AgentChannel>;
37
+ /** `true` while the save request is in flight. */
38
+ readonly isPending: boolean;
39
+ /** Error from the last failed save, or `null` when healthy. */
40
+ readonly error: Error | null;
41
+ /** Reset `error` to `null`. */
42
+ readonly clearError: () => void;
43
+ }
44
+ /**
45
+ * Mutation hook that creates or updates an {@link AgentChannel}.
46
+ *
47
+ * Wraps `stigmer.agentChannel.apply()` with loading/error state. The
48
+ * caller is responsible for post-save UI updates (e.g. refreshing the
49
+ * channel list). Pair with {@link agentChannelToInput} to change a single
50
+ * field of an existing channel without dropping the rest of its spec.
51
+ *
52
+ * @example
53
+ * ```tsx
54
+ * const { save, isPending } = useSaveAgentChannel();
55
+ *
56
+ * const handleToggle = async (channel: AgentChannel, enabled: boolean) => {
57
+ * await save({ ...agentChannelToInput(channel), enabled });
58
+ * refetch(); // refresh the channel list
59
+ * };
60
+ * ```
61
+ */
62
+ export declare function useSaveAgentChannel(): UseSaveAgentChannelReturn;
63
+ //# sourceMappingURL=useSaveAgentChannel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSaveAgentChannel.d.ts","sourceRoot":"","sources":["../../src/channel/useSaveAgentChannel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAC9F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAItD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,iBAAiB,CAsC5E;AAED,mDAAmD;AACnD,MAAM,WAAW,yBAAyB;IACxC;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACnE,kDAAkD;IAClD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,+BAA+B;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,IAAI,yBAAyB,CAyB/D"}
@@ -0,0 +1,104 @@
1
+ "use client";
2
+ import { useCallback, useState } from "react";
3
+ import { useStigmer } from "../hooks.js";
4
+ import { toError } from "../internal/toError.js";
5
+ /**
6
+ * Rebuild the {@link AgentChannelInput} that reproduces an existing
7
+ * channel verbatim.
8
+ *
9
+ * `apply` replaces the channel's whole spec, so a caller toggling one
10
+ * field must supply the full configuration — this helper makes that safe:
11
+ *
12
+ * ```ts
13
+ * save({ ...agentChannelToInput(channel), enabled: false });
14
+ * ```
15
+ *
16
+ * Provider config carries over per arm: the Slack config is an empty
17
+ * marker message in v1 (all concrete facts are OAuth-observed and live
18
+ * in `status`, which survives every save verbatim); the WhatsApp config
19
+ * carries its declared `phone_number_id`. Dropping the arm is never an
20
+ * option — the provider oneof is immutable server-side, so a save
21
+ * without it would be refused outright. The channel's bound tool
22
+ * credentials (`environment_refs`) and its channel-app binding
23
+ * (`app_ref`) carry over too — apply semantics would otherwise silently
24
+ * unbind them on every toggle (and an installed channel's app_ref is
25
+ * frozen server-side, so dropping it would refuse the save outright).
26
+ */
27
+ export function agentChannelToInput(channel) {
28
+ const metadata = channel.metadata;
29
+ const spec = channel.spec;
30
+ const labels = metadata?.labels ?? {};
31
+ const environmentRefs = spec?.environmentRefs ?? [];
32
+ return {
33
+ name: metadata?.name ?? "",
34
+ ...(metadata?.slug ? { slug: metadata.slug } : {}),
35
+ org: metadata?.org ?? "",
36
+ ...(Object.keys(labels).length > 0 ? { labels: { ...labels } } : {}),
37
+ ...(metadata?.visibility ? { visibility: metadata.visibility } : {}),
38
+ agentRef: {
39
+ org: spec?.agentRef?.org ?? "",
40
+ slug: spec?.agentRef?.slug ?? "",
41
+ },
42
+ enabled: spec?.enabled ?? false,
43
+ ...(spec?.providerConfig?.case === "slack" ? { slack: {} } : {}),
44
+ ...(spec?.providerConfig?.case === "whatsapp"
45
+ ? { whatsapp: { phoneNumberId: spec.providerConfig.value.phoneNumberId } }
46
+ : {}),
47
+ ...(spec?.appRef?.slug
48
+ ? {
49
+ appRef: {
50
+ org: spec.appRef.org,
51
+ slug: spec.appRef.slug,
52
+ },
53
+ }
54
+ : {}),
55
+ ...(environmentRefs.length > 0
56
+ ? {
57
+ environmentRefs: environmentRefs.map((ref) => ({
58
+ org: ref.org,
59
+ slug: ref.slug,
60
+ })),
61
+ }
62
+ : {}),
63
+ };
64
+ }
65
+ /**
66
+ * Mutation hook that creates or updates an {@link AgentChannel}.
67
+ *
68
+ * Wraps `stigmer.agentChannel.apply()` with loading/error state. The
69
+ * caller is responsible for post-save UI updates (e.g. refreshing the
70
+ * channel list). Pair with {@link agentChannelToInput} to change a single
71
+ * field of an existing channel without dropping the rest of its spec.
72
+ *
73
+ * @example
74
+ * ```tsx
75
+ * const { save, isPending } = useSaveAgentChannel();
76
+ *
77
+ * const handleToggle = async (channel: AgentChannel, enabled: boolean) => {
78
+ * await save({ ...agentChannelToInput(channel), enabled });
79
+ * refetch(); // refresh the channel list
80
+ * };
81
+ * ```
82
+ */
83
+ export function useSaveAgentChannel() {
84
+ const stigmer = useStigmer();
85
+ const [isPending, setIsPending] = useState(false);
86
+ const [error, setError] = useState(null);
87
+ const clearError = useCallback(() => setError(null), []);
88
+ const save = useCallback(async (input) => {
89
+ setIsPending(true);
90
+ setError(null);
91
+ try {
92
+ return await stigmer.agentChannel.apply(input);
93
+ }
94
+ catch (err) {
95
+ setError(toError(err));
96
+ throw err;
97
+ }
98
+ finally {
99
+ setIsPending(false);
100
+ }
101
+ }, [stigmer]);
102
+ return { save, isPending, error, clearError };
103
+ }
104
+ //# sourceMappingURL=useSaveAgentChannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSaveAgentChannel.js","sourceRoot":"","sources":["../../src/channel/useSaveAgentChannel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { ChannelApp } from "@stigmer/protos/ai/stigmer/agentic/channelapp/v1/api_pb";
2
+ import type { ChannelAppCreateHandoff } from "./CreateChannelAppForm.js";
3
+ /** Props for {@link ChannelAppDetailPanel}. */
4
+ export interface ChannelAppDetailPanelProps {
5
+ /** The channel app to display and edit (secret fields arrive redacted). */
6
+ readonly channelApp: ChannelApp;
7
+ /**
8
+ * Console origin used to derive the OAuth redirect URL shown in the
9
+ * Slack setup guidance. Defaults to the current window's origin.
10
+ */
11
+ readonly consoleOrigin?: string;
12
+ /**
13
+ * Once-visible values threaded from the create flow (in memory only).
14
+ * The WhatsApp verify token is entered at registration but answers
15
+ * redacted from then on, and phase-two setup needs it *together with*
16
+ * the webhook URL that only exists now — this handoff lets the panel
17
+ * show both, exactly once. Absent on a later visit, the token renders
18
+ * redacted (rotate to get a fresh one).
19
+ */
20
+ readonly createHandoff?: ChannelAppCreateHandoff;
21
+ /** Fired with the updated app after a successful save. */
22
+ readonly onUpdated?: (app: ChannelApp) => void;
23
+ /** Fired after the app is deleted. */
24
+ readonly onDeleted?: () => void;
25
+ /** Fired when the user navigates back to the list. */
26
+ readonly onBack?: () => void;
27
+ /** Additional CSS class names for the root container. */
28
+ readonly className?: string;
29
+ }
30
+ /**
31
+ * Detail view for one {@link ChannelApp}: the "finish setup at the
32
+ * provider" values — phase two of the two-phase setup — plus credential
33
+ * rotation and deletion.
34
+ *
35
+ * Provider-shaped bodies on a shared frame: a Slack app shows its
36
+ * events webhook URL, OAuth redirect URL, and completed manifest; a
37
+ * Meta (WhatsApp) app shows its webhook URL and verify token (no
38
+ * manifest — Meta has no equivalent, so the guidance is a checklist).
39
+ *
40
+ * Secret fields are prefilled with the redaction marker; leaving them
41
+ * untouched preserves the stored values (rotate one secret without
42
+ * re-entering the others). Deletion is refused server-side while any
43
+ * agent channel still installs through this app.
44
+ */
45
+ export declare function ChannelAppDetailPanel({ channelApp, consoleOrigin, createHandoff, onUpdated, onDeleted, onBack, className, }: ChannelAppDetailPanelProps): import("react/jsx-runtime").JSX.Element;
46
+ //# sourceMappingURL=ChannelAppDetailPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelAppDetailPanel.d.ts","sourceRoot":"","sources":["../../src/channel-app/ChannelAppDetailPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AAI1F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAgBzE,+CAA+C;AAC/C,MAAM,WAAW,0BAA0B;IACzC,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACjD,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAC/C,sCAAsC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,sDAAsD;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,UAAU,EACV,aAAa,EACb,aAAa,EACb,SAAS,EACT,SAAS,EACT,MAAM,EACN,SAAS,GACV,EAAE,0BAA0B,2CAkG5B"}
@@ -0,0 +1,142 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useCallback, useMemo, useState } from "react";
4
+ import { cn } from "@stigmer/theme";
5
+ import { getUserMessage } from "@stigmer/sdk";
6
+ import { useStigmer } from "../hooks.js";
7
+ import { useUpdateChannelApp } from "./useUpdateChannelApp.js";
8
+ import { useDeleteChannelApp } from "./useDeleteChannelApp.js";
9
+ import { buildSlackChannelAppManifest, slackChannelAppRedirectUrl, slackChannelAppWebhookUrl, } from "./slackAppSetup.js";
10
+ import { WHATSAPP_CHANNEL_APP_WEBHOOK_FIELDS, whatsappChannelAppWebhookUrl, } from "./whatsappAppSetup.js";
11
+ import { CopyBlock, CopyRow, FormField, SpinnerIcon } from "./internal.js";
12
+ /**
13
+ * Detail view for one {@link ChannelApp}: the "finish setup at the
14
+ * provider" values — phase two of the two-phase setup — plus credential
15
+ * rotation and deletion.
16
+ *
17
+ * Provider-shaped bodies on a shared frame: a Slack app shows its
18
+ * events webhook URL, OAuth redirect URL, and completed manifest; a
19
+ * Meta (WhatsApp) app shows its webhook URL and verify token (no
20
+ * manifest — Meta has no equivalent, so the guidance is a checklist).
21
+ *
22
+ * Secret fields are prefilled with the redaction marker; leaving them
23
+ * untouched preserves the stored values (rotate one secret without
24
+ * re-entering the others). Deletion is refused server-side while any
25
+ * agent channel still installs through this app.
26
+ */
27
+ export function ChannelAppDetailPanel({ channelApp, consoleOrigin, createHandoff, onUpdated, onDeleted, onBack, className, }) {
28
+ const { deleteApp, isDeleting, error: deleteError } = useDeleteChannelApp();
29
+ const [confirmingDelete, setConfirmingDelete] = useState(false);
30
+ const appId = channelApp.metadata?.id ?? "";
31
+ const name = channelApp.metadata?.name ?? "";
32
+ const providerCase = channelApp.spec?.providerConfig?.case;
33
+ const handleDelete = useCallback(async () => {
34
+ try {
35
+ await deleteApp(appId);
36
+ onDeleted?.();
37
+ }
38
+ catch {
39
+ // error state is managed by useDeleteChannelApp
40
+ }
41
+ finally {
42
+ setConfirmingDelete(false);
43
+ }
44
+ }, [deleteApp, appId, onDeleted]);
45
+ return (_jsxs("div", { className: cn("space-y-5", className), children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h3", { className: "truncate text-sm font-semibold text-foreground", children: name }), _jsx("p", { className: "font-mono text-[0.65rem] text-muted-foreground", children: appId })] }), onBack && (_jsx("button", { type: "button", onClick: onBack, className: "text-muted-foreground hover:text-foreground shrink-0 text-xs transition-colors", children: "\u2190 Back" }))] }), providerCase === "slack" ? (_jsx(SlackAppDetail, { channelApp: channelApp, consoleOrigin: consoleOrigin, onUpdated: onUpdated })) : providerCase === "whatsapp" ? (_jsx(WhatsAppAppDetail, { channelApp: channelApp, createHandoff: createHandoff, onUpdated: onUpdated })) : null, _jsxs("section", { className: "border-t border-border pt-3", "aria-label": "Danger zone", children: [deleteError && (_jsx("p", { className: "text-destructive mb-2 text-[0.65rem]", role: "alert", children: getUserMessage(deleteError) })), confirmingDelete ? (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("p", { className: "text-xs text-foreground", children: "Delete this channel app? Channels installing through it must be disconnected first." }), _jsxs("button", { type: "button", onClick: handleDelete, disabled: isDeleting, className: cn("inline-flex items-center gap-1.5 rounded-md px-2.5 py-1 text-xs font-medium", "bg-destructive text-destructive-foreground hover:opacity-90", "disabled:pointer-events-none disabled:opacity-40"), children: [isDeleting && _jsx(SpinnerIcon, {}), "Delete"] }), _jsx("button", { type: "button", onClick: () => setConfirmingDelete(false), disabled: isDeleting, className: "text-muted-foreground hover:text-foreground text-xs transition-colors", children: "Keep" })] })) : (_jsx("button", { type: "button", onClick: () => setConfirmingDelete(true), className: "text-destructive text-xs font-medium hover:opacity-80", children: "Delete channel app" }))] })] }));
46
+ }
47
+ // ---------------------------------------------------------------------------
48
+ // Slack — finish setup in Slack + credential rotation
49
+ // ---------------------------------------------------------------------------
50
+ function SlackAppDetail({ channelApp, consoleOrigin, onUpdated, }) {
51
+ const stigmer = useStigmer();
52
+ const { update, isUpdating, error: updateError, clearError } = useUpdateChannelApp();
53
+ const slack = channelApp.spec?.providerConfig?.case === "slack"
54
+ ? channelApp.spec.providerConfig.value
55
+ : undefined;
56
+ const [clientId, setClientId] = useState(slack?.clientId ?? "");
57
+ const [clientSecret, setClientSecret] = useState(slack?.clientSecret ?? "");
58
+ const [signingSecret, setSigningSecret] = useState(slack?.signingSecret ?? "");
59
+ const appId = channelApp.metadata?.id ?? "";
60
+ const name = channelApp.metadata?.name ?? "";
61
+ const webhookUrl = useMemo(() => slackChannelAppWebhookUrl(stigmer.baseUrl, appId), [stigmer.baseUrl, appId]);
62
+ const redirectUrl = useMemo(() => slackChannelAppRedirectUrl(consoleOrigin), [consoleOrigin]);
63
+ const manifest = useMemo(() => buildSlackChannelAppManifest({ name, redirectUrl, webhookUrl }), [name, redirectUrl, webhookUrl]);
64
+ const canSave = clientId.trim() !== "" &&
65
+ clientSecret.trim() !== "" &&
66
+ signingSecret.trim() !== "" &&
67
+ !isUpdating;
68
+ const handleSave = useCallback(async (e) => {
69
+ e.preventDefault();
70
+ if (!canSave)
71
+ return;
72
+ clearError();
73
+ try {
74
+ const updated = await update({
75
+ name,
76
+ org: channelApp.metadata?.org ?? "",
77
+ ...(channelApp.metadata?.slug ? { slug: channelApp.metadata.slug } : {}),
78
+ slack: {
79
+ clientId: clientId.trim(),
80
+ // The redaction marker means "keep the stored value" — the
81
+ // server preserves per field.
82
+ clientSecret: clientSecret.trim(),
83
+ signingSecret: signingSecret.trim(),
84
+ },
85
+ });
86
+ onUpdated?.(updated);
87
+ }
88
+ catch {
89
+ // error state is managed by useUpdateChannelApp
90
+ }
91
+ }, [canSave, clearError, update, name, channelApp.metadata, clientId, clientSecret, signingSecret, onUpdated]);
92
+ return (_jsxs(_Fragment, { children: [_jsxs("section", { className: "space-y-2", "aria-label": "Finish setup in Slack", children: [_jsx("p", { className: "text-xs font-medium text-foreground", children: "Finish setup in Slack" }), _jsxs("p", { className: "text-[0.65rem] text-muted-foreground", children: ["On the app's ", _jsx("span", { className: "font-medium", children: "Event Subscriptions" }), " page, enable events and set the request URL below (Slack verifies it immediately). The completed manifest is also available for review or re-paste."] }), _jsx(CopyRow, { label: "Events request URL", value: webhookUrl, copyTargetId: "stgm-chapp-webhook-copy" }), _jsx(CopyRow, { label: "OAuth redirect URL", value: redirectUrl }), _jsx(CopyBlock, { label: "Completed app manifest", value: manifest })] }), _jsxs("form", { onSubmit: handleSave, className: "space-y-3", "aria-label": "Credentials", children: [_jsx("p", { className: "text-xs font-medium text-foreground", children: "Credentials" }), _jsxs("p", { className: "-mt-2 text-[0.65rem] text-muted-foreground", children: ["Secrets show as ", _jsx("code", { className: "font-mono", children: "***REDACTED***" }), "; leave a field untouched to keep its stored value, or paste a new one to rotate it."] }), _jsx(FormField, { id: "stgm-chapp-edit-client-id", label: "Client ID", value: clientId, onChange: setClientId, placeholder: "1234567890.0987654321", disabled: isUpdating, required: true }), _jsx(FormField, { id: "stgm-chapp-edit-client-secret", label: "Client secret", value: clientSecret, onChange: setClientSecret, placeholder: "Client secret", type: "password", disabled: isUpdating, required: true }), _jsx(FormField, { id: "stgm-chapp-edit-signing-secret", label: "Signing secret", value: signingSecret, onChange: setSigningSecret, placeholder: "Signing secret", type: "password", disabled: isUpdating, required: true }), updateError && (_jsx("p", { className: "text-destructive text-[0.65rem]", role: "alert", children: getUserMessage(updateError) })), _jsxs("button", { type: "submit", disabled: !canSave, className: cn("inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium", "bg-primary text-primary-foreground hover:bg-primary-hover", "disabled:pointer-events-none disabled:opacity-40"), children: [isUpdating && _jsx(SpinnerIcon, {}), "Save credentials"] })] })] }));
93
+ }
94
+ // ---------------------------------------------------------------------------
95
+ // WhatsApp — finish setup in Meta + credential rotation
96
+ // ---------------------------------------------------------------------------
97
+ function WhatsAppAppDetail({ channelApp, createHandoff, onUpdated, }) {
98
+ const stigmer = useStigmer();
99
+ const { update, isUpdating, error: updateError, clearError } = useUpdateChannelApp();
100
+ const whatsapp = channelApp.spec?.providerConfig?.case === "whatsapp"
101
+ ? channelApp.spec.providerConfig.value
102
+ : undefined;
103
+ const [metaAppId, setMetaAppId] = useState(whatsapp?.appId ?? "");
104
+ const [appSecret, setAppSecret] = useState(whatsapp?.appSecret ?? "");
105
+ const [accessToken, setAccessToken] = useState(whatsapp?.accessToken ?? "");
106
+ const [verifyToken, setVerifyToken] = useState(whatsapp?.verifyToken ?? "");
107
+ const appId = channelApp.metadata?.id ?? "";
108
+ const name = channelApp.metadata?.name ?? "";
109
+ const webhookUrl = useMemo(() => whatsappChannelAppWebhookUrl(stigmer.baseUrl, appId), [stigmer.baseUrl, appId]);
110
+ const canSave = metaAppId.trim() !== "" &&
111
+ appSecret.trim() !== "" &&
112
+ accessToken.trim() !== "" &&
113
+ verifyToken.trim() !== "" &&
114
+ !isUpdating;
115
+ const handleSave = useCallback(async (e) => {
116
+ e.preventDefault();
117
+ if (!canSave)
118
+ return;
119
+ clearError();
120
+ try {
121
+ const updated = await update({
122
+ name,
123
+ org: channelApp.metadata?.org ?? "",
124
+ ...(channelApp.metadata?.slug ? { slug: channelApp.metadata.slug } : {}),
125
+ whatsapp: {
126
+ appId: metaAppId.trim(),
127
+ // The redaction marker means "keep the stored value" — the
128
+ // server preserves per field.
129
+ appSecret: appSecret.trim(),
130
+ accessToken: accessToken.trim(),
131
+ verifyToken: verifyToken.trim(),
132
+ },
133
+ });
134
+ onUpdated?.(updated);
135
+ }
136
+ catch {
137
+ // error state is managed by useUpdateChannelApp
138
+ }
139
+ }, [canSave, clearError, update, name, channelApp.metadata, metaAppId, appSecret, accessToken, verifyToken, onUpdated]);
140
+ return (_jsxs(_Fragment, { children: [_jsxs("section", { className: "space-y-2", "aria-label": "Finish setup in Meta", children: [_jsx("p", { className: "text-xs font-medium text-foreground", children: "Finish setup in Meta" }), _jsxs("p", { className: "text-[0.65rem] text-muted-foreground", children: ["On the app's ", _jsx("span", { className: "font-medium", children: "WhatsApp \u2192 Configuration" }), " page, set the callback URL and verify token below, click ", _jsx("span", { className: "font-medium", children: "Verify and save" }), " ", "(Meta verifies immediately), then subscribe to the", " ", _jsx("span", { className: "font-medium", children: WHATSAPP_CHANNEL_APP_WEBHOOK_FIELDS.join(", ") }), " ", "webhook field."] }), _jsx(CopyRow, { label: "Callback URL", value: webhookUrl, copyTargetId: "stgm-chapp-webhook-copy" }), createHandoff?.verifyToken ? (_jsx(CopyRow, { label: "Verify token", value: createHandoff.verifyToken, copyTargetId: "stgm-chapp-verify-token-copy" })) : (_jsxs("div", { className: "space-y-1", children: [_jsx("p", { className: "text-xs font-medium text-foreground", children: "Verify token" }), _jsx("p", { className: "text-[0.65rem] text-muted-foreground", children: "Shown once at registration. If you no longer have it, paste a new one below and update Meta's webhook configuration to match." })] }))] }), _jsxs("form", { onSubmit: handleSave, className: "space-y-3", "aria-label": "Credentials", children: [_jsx("p", { className: "text-xs font-medium text-foreground", children: "Credentials" }), _jsxs("p", { className: "-mt-2 text-[0.65rem] text-muted-foreground", children: ["Secrets show as ", _jsx("code", { className: "font-mono", children: "***REDACTED***" }), "; leave a field untouched to keep its stored value, or paste a new one to rotate it."] }), _jsx(FormField, { id: "stgm-chapp-edit-app-id", label: "App ID", value: metaAppId, onChange: setMetaAppId, placeholder: "1234567890123456", disabled: isUpdating, required: true }), _jsx(FormField, { id: "stgm-chapp-edit-app-secret", label: "App secret", value: appSecret, onChange: setAppSecret, placeholder: "App secret", type: "password", disabled: isUpdating, required: true }), _jsx(FormField, { id: "stgm-chapp-edit-access-token", label: "Access token", value: accessToken, onChange: setAccessToken, placeholder: "Long-lived system-user access token", type: "password", disabled: isUpdating, required: true }), _jsx(FormField, { id: "stgm-chapp-edit-verify-token", label: "Verify token", value: verifyToken, onChange: setVerifyToken, placeholder: "Verify token", type: "password", hint: "Rotating it? Update Meta's webhook configuration to the same value.", disabled: isUpdating, required: true }), updateError && (_jsx("p", { className: "text-destructive text-[0.65rem]", role: "alert", children: getUserMessage(updateError) })), _jsxs("button", { type: "submit", disabled: !canSave, className: cn("inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium", "bg-primary text-primary-foreground hover:bg-primary-hover", "disabled:pointer-events-none disabled:opacity-40"), children: [isUpdating && _jsx(SpinnerIcon, {}), "Save credentials"] })] })] }));
141
+ }
142
+ //# sourceMappingURL=ChannelAppDetailPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelAppDetailPanel.js","sourceRoot":"","sources":["../../src/channel-app/ChannelAppDetailPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { ChannelApp } from "@stigmer/protos/ai/stigmer/agentic/channelapp/v1/api_pb";
2
+ /** Props for {@link ChannelAppListPanel}. */
3
+ export interface ChannelAppListPanelProps {
4
+ /** Organization slug to list channel apps for. */
5
+ readonly org: string;
6
+ /**
7
+ * Fired when the user wants to view/edit a channel app.
8
+ * When provided, rows become interactive with a pencil icon button.
9
+ */
10
+ readonly onEdit?: (app: ChannelApp) => void;
11
+ /** Re-expose refetch so parents can trigger a list refresh. */
12
+ readonly onRefetchRef?: (refetch: () => void) => void;
13
+ /** Additional CSS class names for the root container. */
14
+ readonly className?: string;
15
+ }
16
+ /**
17
+ * Displays the {@link ChannelApp} resources owned by an organization —
18
+ * the customer's own provider apps (Slack, Meta/WhatsApp) that agent
19
+ * channels can install through.
20
+ *
21
+ * Each row shows the app name, provider, the provider's non-secret app
22
+ * identifier, and creation date. Secret fields never appear (they
23
+ * arrive redacted).
24
+ *
25
+ * All visual properties flow through `--stgm-*` design tokens.
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * <ChannelAppListPanel
30
+ * org="acme"
31
+ * onEdit={(app) => setFlow({ phase: "editing", channelApp: app })}
32
+ * />
33
+ * ```
34
+ */
35
+ export declare function ChannelAppListPanel({ org, onEdit, onRefetchRef, className, }: ChannelAppListPanelProps): import("react/jsx-runtime").JSX.Element;
36
+ //# sourceMappingURL=ChannelAppListPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelAppListPanel.d.ts","sourceRoot":"","sources":["../../src/channel-app/ChannelAppListPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AAQ1F,6CAA6C;AAC7C,MAAM,WAAW,wBAAwB;IACvC,kDAAkD;IAClD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,+DAA+D;IAC/D,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACtD,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,EACH,MAAM,EACN,YAAY,EACZ,SAAS,GACV,EAAE,wBAAwB,2CAyD1B"}
@@ -0,0 +1,63 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cn } from "@stigmer/theme";
4
+ import { getUserMessage } from "@stigmer/sdk";
5
+ import { timestampDate } from "@bufbuild/protobuf/wkt";
6
+ import { channelProviderOf } from "../channel/providers.js";
7
+ import { useChannelAppList } from "./useChannelAppList.js";
8
+ /**
9
+ * Displays the {@link ChannelApp} resources owned by an organization —
10
+ * the customer's own provider apps (Slack, Meta/WhatsApp) that agent
11
+ * channels can install through.
12
+ *
13
+ * Each row shows the app name, provider, the provider's non-secret app
14
+ * identifier, and creation date. Secret fields never appear (they
15
+ * arrive redacted).
16
+ *
17
+ * All visual properties flow through `--stgm-*` design tokens.
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * <ChannelAppListPanel
22
+ * org="acme"
23
+ * onEdit={(app) => setFlow({ phase: "editing", channelApp: app })}
24
+ * />
25
+ * ```
26
+ */
27
+ export function ChannelAppListPanel({ org, onEdit, onRefetchRef, className, }) {
28
+ const { channelApps, isLoading, error, refetch } = useChannelAppList(org);
29
+ if (onRefetchRef) {
30
+ onRefetchRef(refetch);
31
+ }
32
+ if (isLoading) {
33
+ return (_jsx("div", { className: cn("space-y-2", className), "aria-busy": "true", "aria-label": "Loading channel apps", children: Array.from({ length: 2 }, (_, i) => (_jsx("div", { className: "bg-muted-subtle h-14 animate-pulse rounded-lg" }, i))) }));
34
+ }
35
+ if (error) {
36
+ return (_jsx("p", { className: cn("text-destructive text-xs", className), role: "alert", children: getUserMessage(error) }));
37
+ }
38
+ if (channelApps.length === 0) {
39
+ return (_jsx("p", { className: cn("text-muted-foreground py-4 text-center text-xs", className), children: "No channel apps registered yet." }));
40
+ }
41
+ return (_jsx("div", { className: cn("space-y-2", className), role: "list", "aria-label": "Channel apps", children: channelApps.map((app) => (_jsx(ChannelAppRow, { channelApp: app, onEdit: onEdit ? () => onEdit(app) : undefined }, app.metadata?.id ?? ""))) }));
42
+ }
43
+ // ---------------------------------------------------------------------------
44
+ // Row (internal)
45
+ // ---------------------------------------------------------------------------
46
+ function ChannelAppRow({ channelApp, onEdit, }) {
47
+ const name = channelApp.metadata?.name ?? "";
48
+ const providerCase = channelApp.spec?.providerConfig?.case;
49
+ const provider = channelProviderOf(providerCase);
50
+ // The provider's non-secret app identifier — the one value that ties
51
+ // the row to the app on the provider's dashboard.
52
+ const providerAppId = channelApp.spec?.providerConfig?.case === "slack"
53
+ ? channelApp.spec.providerConfig.value.clientId
54
+ : channelApp.spec?.providerConfig?.case === "whatsapp"
55
+ ? channelApp.spec.providerConfig.value.appId
56
+ : undefined;
57
+ const createdAt = channelApp.status?.audit?.specAudit?.createdAt;
58
+ return (_jsxs("div", { role: "listitem", className: cn("border-border bg-card flex items-center gap-3 rounded-lg border px-3 py-2.5"), children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex items-baseline gap-2", children: [_jsx("span", { className: "truncate text-xs font-medium text-foreground", children: name }), _jsx("span", { className: "text-[0.65rem] text-muted-foreground", children: provider?.label ?? providerCase ?? "" })] }), _jsxs("div", { className: "flex items-baseline gap-2", children: [providerAppId && (_jsx("span", { className: "truncate font-mono text-[0.65rem] text-muted-foreground", children: providerAppId })), createdAt && (_jsx("span", { className: "shrink-0 text-[0.65rem] text-muted-foreground", children: timestampDate(createdAt).toLocaleDateString() }))] })] }), onEdit && (_jsx("button", { type: "button", onClick: onEdit, "aria-label": `Edit ${name}`, className: cn("text-muted-foreground hover:text-foreground hover:bg-accent-hover", "shrink-0 rounded-md p-1.5 transition-colors"), children: _jsx(PencilIcon, {}) }))] }));
59
+ }
60
+ function PencilIcon() {
61
+ return (_jsx("svg", { width: "12", height: "12", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: _jsx("path", { d: "M11.5 2.5a1.4 1.4 0 0 1 2 2L5 13l-3 1 1-3 8.5-8.5z" }) }));
62
+ }
63
+ //# sourceMappingURL=ChannelAppListPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelAppListPanel.js","sourceRoot":"","sources":["../../src/channel-app/ChannelAppListPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { ChannelApp } from "@stigmer/protos/ai/stigmer/agentic/channelapp/v1/api_pb";
2
+ /**
3
+ * Values from the create flow that a host needs exactly once, right
4
+ * after registration — they are encrypted server-side and answer
5
+ * redacted from then on. The section flow threads them (client-side, in
6
+ * memory only) into the detail panel so "finish setup at the provider"
7
+ * can show them alongside the freshly-minted webhook URL.
8
+ */
9
+ export interface ChannelAppCreateHandoff {
10
+ /** The WhatsApp verify token as entered; absent for Slack apps. */
11
+ readonly verifyToken?: string;
12
+ }
13
+ /** Props for {@link CreateChannelAppForm}. */
14
+ export interface CreateChannelAppFormProps {
15
+ /** Organization slug — the channel app will be created in this org. */
16
+ readonly org: string;
17
+ /**
18
+ * Console origin used to derive the OAuth redirect URL shown in the
19
+ * Slack setup guidance. Defaults to the current window's origin.
20
+ */
21
+ readonly consoleOrigin?: string;
22
+ /**
23
+ * Fired with the newly created channel app on success. The handoff
24
+ * carries the once-visible secrets the detail panel shows for
25
+ * phase-two setup.
26
+ */
27
+ readonly onCreated?: (app: ChannelApp, handoff: ChannelAppCreateHandoff) => void;
28
+ /** Fired when the user cancels creation. */
29
+ readonly onCancel?: () => void;
30
+ /** Additional CSS class names for the root container. */
31
+ readonly className?: string;
32
+ }
33
+ /**
34
+ * Form for registering a customer-owned provider app as a
35
+ * {@link ChannelApp} (bring your own app — the bot carries your name
36
+ * and identity, and each app is its own bot identity).
37
+ *
38
+ * Provider-shaped: a Slack app brings OAuth credentials plus a
39
+ * ready-to-paste manifest; a Meta (WhatsApp) app brings dashboard
40
+ * credentials plus a generated verify token — Meta has no manifest
41
+ * equivalent, so the guidance is a checklist.
42
+ *
43
+ * Setup is two-phase by nature for both providers (the provider mints
44
+ * the credentials, Stigmer mints the per-app webhook URL): this form
45
+ * covers phase one — the credentials. The detail panel shown after
46
+ * creation carries phase two (the events webhook URL, plus the verify
47
+ * token for WhatsApp).
48
+ *
49
+ * This is a pure presentational component with no dialog wrapper
50
+ * (headless-first). All visual properties flow through `--stgm-*`
51
+ * design tokens.
52
+ */
53
+ export declare function CreateChannelAppForm({ org, consoleOrigin, onCreated, onCancel, className, }: CreateChannelAppFormProps): import("react/jsx-runtime").JSX.Element;
54
+ //# sourceMappingURL=CreateChannelAppForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateChannelAppForm.d.ts","sourceRoot":"","sources":["../../src/channel-app/CreateChannelAppForm.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AAiB1F;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,mEAAmE;IACnE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,8CAA8C;AAC9C,MAAM,WAAW,yBAAyB;IACxC,uEAAuE;IACvE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACjF,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,GAAG,EACH,aAAa,EACb,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE,yBAAyB,2CAuL3B"}