@stigmer/react 3.1.16 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (824) hide show
  1. package/README.md +16 -1
  2. package/agent-instance/AgentInstanceList.d.ts.map +1 -1
  3. package/agent-instance/AgentInstanceList.js +11 -3
  4. package/agent-instance/AgentInstanceList.js.map +1 -1
  5. package/channel/AgentChannelsPanel.d.ts +60 -0
  6. package/channel/AgentChannelsPanel.d.ts.map +1 -0
  7. package/channel/AgentChannelsPanel.js +255 -0
  8. package/channel/AgentChannelsPanel.js.map +1 -0
  9. package/channel/ChannelConversationsDialog.d.ts +41 -0
  10. package/channel/ChannelConversationsDialog.d.ts.map +1 -0
  11. package/channel/ChannelConversationsDialog.js +94 -0
  12. package/channel/ChannelConversationsDialog.js.map +1 -0
  13. package/channel/ChannelCredentialsDialog.d.ts +37 -0
  14. package/channel/ChannelCredentialsDialog.d.ts.map +1 -0
  15. package/channel/ChannelCredentialsDialog.js +75 -0
  16. package/channel/ChannelCredentialsDialog.js.map +1 -0
  17. package/channel/ChannelToolCredentials.d.ts +31 -0
  18. package/channel/ChannelToolCredentials.d.ts.map +1 -0
  19. package/channel/ChannelToolCredentials.js +41 -0
  20. package/channel/ChannelToolCredentials.js.map +1 -0
  21. package/channel/ConnectSlackDialog.d.ts +61 -0
  22. package/channel/ConnectSlackDialog.d.ts.map +1 -0
  23. package/channel/ConnectSlackDialog.js +238 -0
  24. package/channel/ConnectSlackDialog.js.map +1 -0
  25. package/channel/ConnectWhatsAppDialog.d.ts +70 -0
  26. package/channel/ConnectWhatsAppDialog.d.ts.map +1 -0
  27. package/channel/ConnectWhatsAppDialog.js +256 -0
  28. package/channel/ConnectWhatsAppDialog.js.map +1 -0
  29. package/channel/SlackMarkIcon.d.ts +11 -0
  30. package/channel/SlackMarkIcon.d.ts.map +1 -0
  31. package/channel/SlackMarkIcon.js +13 -0
  32. package/channel/SlackMarkIcon.js.map +1 -0
  33. package/channel/WhatsAppMarkIcon.d.ts +12 -0
  34. package/channel/WhatsAppMarkIcon.d.ts.map +1 -0
  35. package/channel/WhatsAppMarkIcon.js +14 -0
  36. package/channel/WhatsAppMarkIcon.js.map +1 -0
  37. package/channel/connect/ServingAppSection.d.ts +57 -0
  38. package/channel/connect/ServingAppSection.d.ts.map +1 -0
  39. package/channel/connect/ServingAppSection.js +49 -0
  40. package/channel/connect/ServingAppSection.js.map +1 -0
  41. package/channel/connect/ToolCredentialsSection.d.ts +20 -0
  42. package/channel/connect/ToolCredentialsSection.d.ts.map +1 -0
  43. package/channel/connect/ToolCredentialsSection.js +22 -0
  44. package/channel/connect/ToolCredentialsSection.js.map +1 -0
  45. package/channel/connect/VerbatimRefusal.d.ts +16 -0
  46. package/channel/connect/VerbatimRefusal.d.ts.map +1 -0
  47. package/channel/connect/VerbatimRefusal.js +18 -0
  48. package/channel/connect/VerbatimRefusal.js.map +1 -0
  49. package/channel/connect/icons.d.ts +16 -0
  50. package/channel/connect/icons.d.ts.map +1 -0
  51. package/channel/connect/icons.js +21 -0
  52. package/channel/connect/icons.js.map +1 -0
  53. package/channel/index.d.ts +36 -0
  54. package/channel/index.d.ts.map +1 -0
  55. package/channel/index.js +19 -0
  56. package/channel/index.js.map +1 -0
  57. package/channel/providerPresentation.d.ts +44 -0
  58. package/channel/providerPresentation.d.ts.map +1 -0
  59. package/channel/providerPresentation.js +106 -0
  60. package/channel/providerPresentation.js.map +1 -0
  61. package/channel/providers.d.ts +62 -0
  62. package/channel/providers.d.ts.map +1 -0
  63. package/channel/providers.js +26 -0
  64. package/channel/providers.js.map +1 -0
  65. package/channel/useAgentChannel.d.ts +31 -0
  66. package/channel/useAgentChannel.d.ts.map +1 -0
  67. package/channel/useAgentChannel.js +34 -0
  68. package/channel/useAgentChannel.js.map +1 -0
  69. package/channel/useAgentChannelList.d.ts +43 -0
  70. package/channel/useAgentChannelList.d.ts.map +1 -0
  71. package/channel/useAgentChannelList.js +39 -0
  72. package/channel/useAgentChannelList.js.map +1 -0
  73. package/channel/useChannelSessions.d.ts +47 -0
  74. package/channel/useChannelSessions.d.ts.map +1 -0
  75. package/channel/useChannelSessions.js +38 -0
  76. package/channel/useChannelSessions.js.map +1 -0
  77. package/channel/useChannelToolReadiness.d.ts +23 -0
  78. package/channel/useChannelToolReadiness.d.ts.map +1 -0
  79. package/channel/useChannelToolReadiness.js +28 -0
  80. package/channel/useChannelToolReadiness.js.map +1 -0
  81. package/channel/useConnectSlackChannel.d.ts +75 -0
  82. package/channel/useConnectSlackChannel.d.ts.map +1 -0
  83. package/channel/useConnectSlackChannel.js +115 -0
  84. package/channel/useConnectSlackChannel.js.map +1 -0
  85. package/channel/useCreateAgentChannel.d.ts +42 -0
  86. package/channel/useCreateAgentChannel.d.ts.map +1 -0
  87. package/channel/useCreateAgentChannel.js +48 -0
  88. package/channel/useCreateAgentChannel.js.map +1 -0
  89. package/channel/useDeleteAgentChannel.d.ts +40 -0
  90. package/channel/useDeleteAgentChannel.d.ts.map +1 -0
  91. package/channel/useDeleteAgentChannel.js +44 -0
  92. package/channel/useDeleteAgentChannel.js.map +1 -0
  93. package/channel/useInstallChannel.d.ts +60 -0
  94. package/channel/useInstallChannel.d.ts.map +1 -0
  95. package/channel/useInstallChannel.js +63 -0
  96. package/channel/useInstallChannel.js.map +1 -0
  97. package/channel/useOrgAgentChannelList.d.ts +32 -0
  98. package/channel/useOrgAgentChannelList.d.ts.map +1 -0
  99. package/channel/useOrgAgentChannelList.js +29 -0
  100. package/channel/useOrgAgentChannelList.js.map +1 -0
  101. package/channel/useSaveAgentChannel.d.ts +63 -0
  102. package/channel/useSaveAgentChannel.d.ts.map +1 -0
  103. package/channel/useSaveAgentChannel.js +104 -0
  104. package/channel/useSaveAgentChannel.js.map +1 -0
  105. package/channel-app/ChannelAppDetailPanel.d.ts +46 -0
  106. package/channel-app/ChannelAppDetailPanel.d.ts.map +1 -0
  107. package/channel-app/ChannelAppDetailPanel.js +142 -0
  108. package/channel-app/ChannelAppDetailPanel.js.map +1 -0
  109. package/channel-app/ChannelAppListPanel.d.ts +36 -0
  110. package/channel-app/ChannelAppListPanel.d.ts.map +1 -0
  111. package/channel-app/ChannelAppListPanel.js +63 -0
  112. package/channel-app/ChannelAppListPanel.js.map +1 -0
  113. package/channel-app/CreateChannelAppForm.d.ts +54 -0
  114. package/channel-app/CreateChannelAppForm.d.ts.map +1 -0
  115. package/channel-app/CreateChannelAppForm.js +140 -0
  116. package/channel-app/CreateChannelAppForm.js.map +1 -0
  117. package/channel-app/index.d.ts +18 -0
  118. package/channel-app/index.d.ts.map +1 -0
  119. package/channel-app/index.js +10 -0
  120. package/channel-app/index.js.map +1 -0
  121. package/channel-app/internal.d.ts +33 -0
  122. package/channel-app/internal.d.ts.map +1 -0
  123. package/channel-app/internal.js +44 -0
  124. package/channel-app/internal.js.map +1 -0
  125. package/channel-app/slackAppSetup.d.ts +80 -0
  126. package/channel-app/slackAppSetup.d.ts.map +1 -0
  127. package/channel-app/slackAppSetup.js +123 -0
  128. package/channel-app/slackAppSetup.js.map +1 -0
  129. package/channel-app/useChannelAppList.d.ts +35 -0
  130. package/channel-app/useChannelAppList.d.ts.map +1 -0
  131. package/channel-app/useChannelAppList.js +34 -0
  132. package/channel-app/useChannelAppList.js.map +1 -0
  133. package/channel-app/useCreateChannelApp.d.ts +39 -0
  134. package/channel-app/useCreateChannelApp.d.ts.map +1 -0
  135. package/channel-app/useCreateChannelApp.js +50 -0
  136. package/channel-app/useCreateChannelApp.js.map +1 -0
  137. package/channel-app/useDeleteChannelApp.d.ts +31 -0
  138. package/channel-app/useDeleteChannelApp.d.ts.map +1 -0
  139. package/channel-app/useDeleteChannelApp.js +43 -0
  140. package/channel-app/useDeleteChannelApp.js.map +1 -0
  141. package/channel-app/useUpdateChannelApp.d.ts +39 -0
  142. package/channel-app/useUpdateChannelApp.d.ts.map +1 -0
  143. package/channel-app/useUpdateChannelApp.js +50 -0
  144. package/channel-app/useUpdateChannelApp.js.map +1 -0
  145. package/channel-app/whatsappAppSetup.d.ts +51 -0
  146. package/channel-app/whatsappAppSetup.d.ts.map +1 -0
  147. package/channel-app/whatsappAppSetup.js +57 -0
  148. package/channel-app/whatsappAppSetup.js.map +1 -0
  149. package/environment/index.d.ts +2 -0
  150. package/environment/index.d.ts.map +1 -1
  151. package/environment/index.js +1 -0
  152. package/environment/index.js.map +1 -1
  153. package/environment/useToolCredentialsReadiness.d.ts +52 -0
  154. package/environment/useToolCredentialsReadiness.d.ts.map +1 -0
  155. package/environment/useToolCredentialsReadiness.js +84 -0
  156. package/environment/useToolCredentialsReadiness.js.map +1 -0
  157. package/execution/ArtifactContentBody.d.ts.map +1 -1
  158. package/execution/ArtifactContentBody.js +5 -21
  159. package/execution/ArtifactContentBody.js.map +1 -1
  160. package/execution/ArtifactFileContent.d.ts +28 -0
  161. package/execution/ArtifactFileContent.d.ts.map +1 -0
  162. package/execution/ArtifactFileContent.js +36 -0
  163. package/execution/ArtifactFileContent.js.map +1 -0
  164. package/execution/ArtifactRow.d.ts +8 -20
  165. package/execution/ArtifactRow.d.ts.map +1 -1
  166. package/execution/ArtifactRow.js +12 -45
  167. package/execution/ArtifactRow.js.map +1 -1
  168. package/execution/ArtifactRowView.d.ts +43 -0
  169. package/execution/ArtifactRowView.d.ts.map +1 -0
  170. package/execution/ArtifactRowView.js +35 -0
  171. package/execution/ArtifactRowView.js.map +1 -0
  172. package/execution/FileChangesView.d.ts.map +1 -1
  173. package/execution/FileChangesView.js +1 -61
  174. package/execution/FileChangesView.js.map +1 -1
  175. package/execution/SubAgentSection.d.ts.map +1 -1
  176. package/execution/SubAgentSection.js +4 -15
  177. package/execution/SubAgentSection.js.map +1 -1
  178. package/execution/ToolCallItem.d.ts.map +1 -1
  179. package/execution/ToolCallItem.js +16 -61
  180. package/execution/ToolCallItem.js.map +1 -1
  181. package/execution/agent-execution-document.d.ts +31 -0
  182. package/execution/agent-execution-document.d.ts.map +1 -0
  183. package/execution/agent-execution-document.js +48 -0
  184. package/execution/agent-execution-document.js.map +1 -0
  185. package/{session → execution}/artifact-document.d.ts +2 -3
  186. package/execution/artifact-document.d.ts.map +1 -0
  187. package/execution/artifact-document.js +23 -0
  188. package/execution/artifact-document.js.map +1 -0
  189. package/execution/artifact-row-item.d.ts +56 -0
  190. package/execution/artifact-row-item.d.ts.map +1 -0
  191. package/execution/artifact-row-item.js +57 -0
  192. package/execution/artifact-row-item.js.map +1 -0
  193. package/execution/deriveExecutionFileChanges.d.ts +55 -0
  194. package/execution/deriveExecutionFileChanges.d.ts.map +1 -0
  195. package/execution/deriveExecutionFileChanges.js +216 -0
  196. package/execution/deriveExecutionFileChanges.js.map +1 -0
  197. package/execution/file-change-document.d.ts +22 -0
  198. package/execution/file-change-document.d.ts.map +1 -0
  199. package/execution/file-change-document.js +34 -0
  200. package/execution/file-change-document.js.map +1 -0
  201. package/execution/index.d.ts +14 -0
  202. package/execution/index.d.ts.map +1 -1
  203. package/execution/index.js +9 -0
  204. package/execution/index.js.map +1 -1
  205. package/execution/useArtifactContentById.d.ts +61 -0
  206. package/execution/useArtifactContentById.d.ts.map +1 -0
  207. package/execution/useArtifactContentById.js +63 -0
  208. package/execution/useArtifactContentById.js.map +1 -0
  209. package/execution/useArtifactDownload.d.ts +4 -3
  210. package/execution/useArtifactDownload.d.ts.map +1 -1
  211. package/execution/useArtifactDownload.js +4 -3
  212. package/execution/useArtifactDownload.js.map +1 -1
  213. package/execution/useCreateAgentExecution.d.ts +1 -1
  214. package/execution/useLiveAgentExecution.d.ts +59 -0
  215. package/execution/useLiveAgentExecution.d.ts.map +1 -0
  216. package/execution/useLiveAgentExecution.js +73 -0
  217. package/execution/useLiveAgentExecution.js.map +1 -0
  218. package/index.d.ts +15 -10
  219. package/index.d.ts.map +1 -1
  220. package/index.js +21 -6
  221. package/index.js.map +1 -1
  222. package/internal/DecisionButton.d.ts +4 -3
  223. package/internal/DecisionButton.d.ts.map +1 -1
  224. package/internal/DecisionButton.js +4 -3
  225. package/internal/DecisionButton.js.map +1 -1
  226. package/internal/oauthPopup.d.ts +101 -0
  227. package/internal/oauthPopup.d.ts.map +1 -0
  228. package/internal/oauthPopup.js +208 -0
  229. package/internal/oauthPopup.js.map +1 -0
  230. package/internal/store/index.d.ts +0 -2
  231. package/internal/store/index.d.ts.map +1 -1
  232. package/internal/store/index.js +0 -1
  233. package/internal/store/index.js.map +1 -1
  234. package/internal/store/workflow-execution-event-store.d.ts +34 -1
  235. package/internal/store/workflow-execution-event-store.d.ts.map +1 -1
  236. package/internal/store/workflow-execution-event-store.js +81 -3
  237. package/internal/store/workflow-execution-event-store.js.map +1 -1
  238. package/internal/store/workspace-file-selection-store.d.ts +1 -2
  239. package/internal/store/workspace-file-selection-store.d.ts.map +1 -1
  240. package/internal/store/workspace-file-selection-store.js +2 -5
  241. package/internal/store/workspace-file-selection-store.js.map +1 -1
  242. package/internal/thread-card/ThreadCardShell.d.ts +91 -0
  243. package/internal/thread-card/ThreadCardShell.d.ts.map +1 -0
  244. package/internal/thread-card/ThreadCardShell.js +41 -0
  245. package/internal/thread-card/ThreadCardShell.js.map +1 -0
  246. package/internal/thread-card/glyphs.d.ts +34 -0
  247. package/internal/thread-card/glyphs.d.ts.map +1 -0
  248. package/internal/thread-card/glyphs.js +50 -0
  249. package/internal/thread-card/glyphs.js.map +1 -0
  250. package/internal/thread-card/index.d.ts +3 -0
  251. package/internal/thread-card/index.d.ts.map +1 -0
  252. package/internal/thread-card/index.js +3 -0
  253. package/internal/thread-card/index.js.map +1 -0
  254. package/internal/useRevealLine.d.ts +2 -2
  255. package/internal/useRevealLine.js +2 -2
  256. package/mcp-server/OAuthCallbackHandler.js +1 -1
  257. package/mcp-server/OAuthCallbackHandler.js.map +1 -1
  258. package/mcp-server/useMcpServerOAuthConnect.d.ts +4 -23
  259. package/mcp-server/useMcpServerOAuthConnect.d.ts.map +1 -1
  260. package/mcp-server/useMcpServerOAuthConnect.js +12 -145
  261. package/mcp-server/useMcpServerOAuthConnect.js.map +1 -1
  262. package/package.json +4 -4
  263. package/provider.d.ts +32 -0
  264. package/provider.d.ts.map +1 -1
  265. package/provider.js +25 -1
  266. package/provider.js.map +1 -1
  267. package/session/NewSessionViewer.d.ts.map +1 -1
  268. package/session/NewSessionViewer.js +0 -1
  269. package/session/NewSessionViewer.js.map +1 -1
  270. package/session/SessionPanelChip.d.ts +7 -22
  271. package/session/SessionPanelChip.d.ts.map +1 -1
  272. package/session/SessionPanelChip.js +8 -36
  273. package/session/SessionPanelChip.js.map +1 -1
  274. package/session/SessionViewer.d.ts +7 -4
  275. package/session/SessionViewer.d.ts.map +1 -1
  276. package/session/SessionViewer.js +32 -30
  277. package/session/SessionViewer.js.map +1 -1
  278. package/session/audience.d.ts +15 -1
  279. package/session/audience.d.ts.map +1 -1
  280. package/session/channelOrigin.d.ts +33 -0
  281. package/session/channelOrigin.d.ts.map +1 -0
  282. package/session/channelOrigin.js +36 -0
  283. package/session/channelOrigin.js.map +1 -0
  284. package/session/facets/index.d.ts +0 -2
  285. package/session/facets/index.d.ts.map +1 -1
  286. package/session/facets/index.js +0 -1
  287. package/session/facets/index.js.map +1 -1
  288. package/session/index.d.ts +2 -2
  289. package/session/index.d.ts.map +1 -1
  290. package/session/index.js +5 -3
  291. package/session/index.js.map +1 -1
  292. package/session/useSessionFileChanges.d.ts +10 -34
  293. package/session/useSessionFileChanges.d.ts.map +1 -1
  294. package/session/useSessionFileChanges.js +9 -141
  295. package/session/useSessionFileChanges.js.map +1 -1
  296. package/session/useSessionPanel.d.ts +5 -15
  297. package/session/useSessionPanel.d.ts.map +1 -1
  298. package/session/useSessionPanel.js +3 -35
  299. package/session/useSessionPanel.js.map +1 -1
  300. package/session/useSessionRailViews.d.ts +3 -6
  301. package/session/useSessionRailViews.d.ts.map +1 -1
  302. package/session/useSessionRailViews.js +3 -17
  303. package/session/useSessionRailViews.js.map +1 -1
  304. package/settings/ChannelAppsSection.d.ts +13 -0
  305. package/settings/ChannelAppsSection.d.ts.map +1 -0
  306. package/settings/ChannelAppsSection.js +48 -0
  307. package/settings/ChannelAppsSection.js.map +1 -0
  308. package/settings/index.d.ts +1 -0
  309. package/settings/index.d.ts.map +1 -1
  310. package/settings/index.js +1 -0
  311. package/settings/index.js.map +1 -1
  312. package/settings/settings-nav.d.ts.map +1 -1
  313. package/settings/settings-nav.js +6 -1
  314. package/settings/settings-nav.js.map +1 -1
  315. package/sharing/AgentShareList.d.ts.map +1 -1
  316. package/sharing/AgentShareList.js +11 -3
  317. package/sharing/AgentShareList.js.map +1 -1
  318. package/sharing/ShareAgentDialog.js +1 -1
  319. package/sharing/useShareToolReadiness.d.ts +9 -38
  320. package/sharing/useShareToolReadiness.d.ts.map +1 -1
  321. package/sharing/useShareToolReadiness.js +7 -72
  322. package/sharing/useShareToolReadiness.js.map +1 -1
  323. package/src/__tests__/provider-container.layout.test.tsx +165 -0
  324. package/src/__tests__/provider-theme-scope.test.tsx +31 -0
  325. package/src/agent-instance/AgentInstanceList.tsx +60 -42
  326. package/src/agent-instance/__tests__/AgentInstanceList.test.tsx +161 -0
  327. package/src/channel/AgentChannelsPanel.tsx +688 -0
  328. package/src/channel/ChannelConversationsDialog.tsx +267 -0
  329. package/src/channel/ChannelCredentialsDialog.tsx +219 -0
  330. package/src/channel/ChannelToolCredentials.tsx +124 -0
  331. package/src/channel/ConnectSlackDialog.tsx +611 -0
  332. package/src/channel/ConnectWhatsAppDialog.tsx +624 -0
  333. package/src/channel/SlackMarkIcon.tsx +21 -0
  334. package/src/channel/WhatsAppMarkIcon.tsx +22 -0
  335. package/src/channel/__tests__/AgentChannelsPanel.test.tsx +638 -0
  336. package/src/channel/__tests__/ChannelConversationsDialog.test.tsx +114 -0
  337. package/src/channel/__tests__/ChannelCredentialsDialog.test.tsx +240 -0
  338. package/src/channel/__tests__/ConnectSlackDialog.test.tsx +659 -0
  339. package/src/channel/__tests__/ConnectWhatsAppDialog.test.tsx +564 -0
  340. package/src/channel/__tests__/providers.test.ts +118 -0
  341. package/src/channel/__tests__/useAgentChannel.test.tsx +116 -0
  342. package/src/channel/__tests__/useAgentChannelList.test.tsx +166 -0
  343. package/src/channel/__tests__/useChannelSessions.test.tsx +95 -0
  344. package/src/channel/__tests__/useChannelToolReadiness.test.tsx +158 -0
  345. package/src/channel/__tests__/useConnectSlackChannel.test.tsx +276 -0
  346. package/src/channel/__tests__/useDeleteAgentChannel.test.tsx +97 -0
  347. package/src/channel/__tests__/useInstallChannel.test.tsx +177 -0
  348. package/src/channel/__tests__/useSaveAgentChannel.test.tsx +294 -0
  349. package/src/channel/connect/ServingAppSection.tsx +185 -0
  350. package/src/channel/connect/ToolCredentialsSection.tsx +67 -0
  351. package/src/channel/connect/VerbatimRefusal.tsx +27 -0
  352. package/src/channel/connect/icons.tsx +42 -0
  353. package/src/channel/index.ts +65 -0
  354. package/src/channel/providerPresentation.ts +154 -0
  355. package/src/channel/providers.ts +73 -0
  356. package/src/channel/useAgentChannel.ts +58 -0
  357. package/src/channel/useAgentChannelList.ts +69 -0
  358. package/src/channel/useChannelSessions.ts +73 -0
  359. package/src/channel/useChannelToolReadiness.ts +39 -0
  360. package/src/channel/useConnectSlackChannel.ts +195 -0
  361. package/src/channel/useCreateAgentChannel.ts +73 -0
  362. package/src/channel/useDeleteAgentChannel.ts +71 -0
  363. package/src/channel/useInstallChannel.ts +117 -0
  364. package/src/channel/useOrgAgentChannelList.ts +60 -0
  365. package/src/channel/useSaveAgentChannel.ts +133 -0
  366. package/src/channel-app/ChannelAppDetailPanel.tsx +510 -0
  367. package/src/channel-app/ChannelAppListPanel.tsx +201 -0
  368. package/src/channel-app/CreateChannelAppForm.tsx +529 -0
  369. package/src/channel-app/__tests__/channelAppWhatsApp.test.tsx +270 -0
  370. package/src/channel-app/__tests__/slackAppSetup.test.ts +75 -0
  371. package/src/channel-app/__tests__/useChannelAppHooks.test.tsx +157 -0
  372. package/src/channel-app/__tests__/whatsappAppSetup.test.ts +39 -0
  373. package/src/channel-app/index.ts +30 -0
  374. package/src/channel-app/internal.tsx +180 -0
  375. package/src/channel-app/slackAppSetup.ts +153 -0
  376. package/src/channel-app/useChannelAppList.ts +59 -0
  377. package/src/channel-app/useCreateChannelApp.ts +70 -0
  378. package/src/channel-app/useDeleteChannelApp.ts +62 -0
  379. package/src/channel-app/useUpdateChannelApp.ts +70 -0
  380. package/src/channel-app/whatsappAppSetup.ts +62 -0
  381. package/src/environment/index.ts +2 -0
  382. package/src/environment/useToolCredentialsReadiness.ts +122 -0
  383. package/src/execution/ArtifactContentBody.tsx +6 -88
  384. package/src/execution/ArtifactFileContent.tsx +110 -0
  385. package/src/execution/ArtifactRow.tsx +28 -118
  386. package/src/execution/ArtifactRowView.tsx +137 -0
  387. package/src/execution/FileChangesView.tsx +4 -69
  388. package/src/execution/SubAgentSection.tsx +2 -36
  389. package/src/execution/ToolCallItem.tsx +48 -175
  390. package/src/execution/__tests__/ArtifactFileContent.test.tsx +60 -0
  391. package/src/execution/__tests__/ArtifactRowView.test.tsx +78 -0
  392. package/src/execution/__tests__/agent-execution-document.test.ts +45 -0
  393. package/src/execution/__tests__/artifact-row-item.test.ts +128 -0
  394. package/src/execution/__tests__/deriveExecutionFileChanges.test.ts +270 -0
  395. package/src/execution/__tests__/useArtifactContentById.test.tsx +85 -0
  396. package/src/execution/__tests__/useLiveAgentExecution.test.tsx +202 -0
  397. package/src/execution/agent-execution-document.ts +54 -0
  398. package/src/execution/artifact-document.ts +24 -0
  399. package/src/execution/artifact-row-item.ts +97 -0
  400. package/src/execution/deriveExecutionFileChanges.ts +237 -0
  401. package/src/execution/file-change-document.ts +37 -0
  402. package/src/execution/index.ts +36 -0
  403. package/src/execution/useArtifactContentById.ts +120 -0
  404. package/src/execution/useArtifactDownload.ts +4 -3
  405. package/src/execution/useCreateAgentExecution.ts +1 -1
  406. package/src/execution/useLiveAgentExecution.ts +127 -0
  407. package/src/index.ts +155 -11
  408. package/src/internal/DecisionButton.tsx +4 -3
  409. package/src/internal/__tests__/ThreadCardShell.test.tsx +105 -0
  410. package/src/internal/__tests__/oauthPopup.test.ts +245 -0
  411. package/src/internal/oauthPopup.ts +261 -0
  412. package/src/internal/store/__tests__/workflow-execution-event-store.test.ts +375 -5
  413. package/src/internal/store/index.ts +0 -3
  414. package/src/internal/store/workflow-execution-event-store.ts +123 -4
  415. package/src/internal/store/workspace-file-selection-store.ts +2 -5
  416. package/src/internal/thread-card/ThreadCardShell.tsx +189 -0
  417. package/src/internal/thread-card/glyphs.tsx +108 -0
  418. package/src/internal/thread-card/index.ts +19 -0
  419. package/src/internal/useRevealLine.ts +2 -2
  420. package/src/mcp-server/OAuthCallbackHandler.tsx +2 -2
  421. package/src/mcp-server/useMcpServerOAuthConnect.ts +22 -184
  422. package/src/provider.tsx +42 -0
  423. package/src/session/NewSessionViewer.tsx +0 -1
  424. package/src/session/SessionPanelChip.tsx +10 -96
  425. package/src/session/SessionViewer.tsx +170 -144
  426. package/src/session/__tests__/SessionViewer-artifactTabs.test.tsx +1 -1
  427. package/src/session/__tests__/observerAudience.test.tsx +241 -0
  428. package/src/session/__tests__/useSessionPanel.test.ts +6 -61
  429. package/src/session/__tests__/useSessionRailViews.test.tsx +5 -27
  430. package/src/session/audience.ts +15 -1
  431. package/src/session/channelOrigin.ts +45 -0
  432. package/src/session/facets/index.ts +0 -3
  433. package/src/session/index.ts +9 -6
  434. package/src/session/useSessionFileChanges.ts +12 -153
  435. package/src/session/useSessionPanel.ts +8 -51
  436. package/src/session/useSessionRailViews.tsx +2 -27
  437. package/src/settings/ChannelAppsSection.tsx +133 -0
  438. package/src/settings/index.ts +1 -0
  439. package/src/settings/settings-nav.ts +6 -0
  440. package/src/sharing/AgentShareList.tsx +85 -64
  441. package/src/sharing/ShareAgentDialog.tsx +1 -1
  442. package/src/sharing/__tests__/AgentShareList.test.tsx +92 -12
  443. package/src/sharing/useShareToolReadiness.ts +13 -101
  444. package/src/styles.css +14 -0
  445. package/src/workflow/WorkflowAgentExecutionDocument.tsx +283 -0
  446. package/src/workflow/WorkflowApprovalList.tsx +158 -0
  447. package/src/workflow/WorkflowArtifactDocument.tsx +257 -0
  448. package/src/workflow/WorkflowExecutionGraph.tsx +40 -78
  449. package/src/workflow/WorkflowExecutionViewer.tsx +610 -287
  450. package/src/workflow/WorkflowFileReviewList.tsx +1 -1
  451. package/src/workflow/WorkflowTaskApprovalCard.tsx +5 -4
  452. package/src/workflow/WorkflowTaskApprovalSummary.tsx +6 -6
  453. package/src/workflow/__tests__/WorkflowAgentExecutionDocument.test.tsx +651 -0
  454. package/src/workflow/__tests__/WorkflowApprovalList.test.tsx +229 -0
  455. package/src/workflow/__tests__/WorkflowArtifactDocument.test.tsx +90 -0
  456. package/src/workflow/__tests__/WorkflowArtifactsTab.test.tsx +85 -0
  457. package/src/workflow/__tests__/WorkflowChangesTab.test.tsx +113 -0
  458. package/src/workflow/__tests__/WorkflowExecutionViewer.approvals.test.tsx +473 -0
  459. package/src/workflow/__tests__/WorkflowExecutionViewer.reconciliation.test.tsx +632 -0
  460. package/src/workflow/__tests__/WorkflowTaskApprovalSummary.test.tsx +1 -1
  461. package/src/workflow/__tests__/WorkflowTaskThread.test.tsx +947 -0
  462. package/src/workflow/__tests__/WorkflowUsageTab.test.tsx +163 -0
  463. package/src/workflow/__tests__/agent-call-live-experience.test.ts +6 -53
  464. package/src/workflow/__tests__/derive-execution-overlays.test.ts +4 -0
  465. package/src/workflow/__tests__/deriveWorkflowArtifactItems.test.ts +71 -0
  466. package/src/workflow/__tests__/deriveWorkflowUsageItems.test.ts +132 -0
  467. package/src/workflow/__tests__/execution-graph.test.ts +8 -0
  468. package/src/workflow/__tests__/project-thread-items.test.ts +428 -0
  469. package/src/workflow/__tests__/structured-data-viewer.test.tsx +1 -1
  470. package/src/workflow/__tests__/task-approval.test.ts +149 -0
  471. package/src/workflow/__tests__/task-detail-io.test.ts +40 -0
  472. package/src/workflow/__tests__/task-presentation.test.ts +479 -0
  473. package/src/workflow/__tests__/useActiveTaskName.test.ts +4 -0
  474. package/src/workflow/__tests__/useApprovalBoundary.test.ts +158 -0
  475. package/src/workflow/__tests__/useExecutionAnnouncements.test.ts +4 -0
  476. package/src/workflow/__tests__/useFollowExecution.test.ts +2 -89
  477. package/src/workflow/__tests__/useWorkflowExecutionFileChanges.test.tsx +412 -0
  478. package/src/workflow/__tests__/useWorkflowExecutionPanel.test.ts +297 -0
  479. package/src/workflow/__tests__/useWorkflowExecutionRailViews.test.tsx +115 -0
  480. package/src/workflow/deriveWorkflowArtifactItems.ts +59 -0
  481. package/src/workflow/deriveWorkflowUsageItems.ts +73 -0
  482. package/src/workflow/diagnosis-document.ts +31 -0
  483. package/src/workflow/execution/index.ts +0 -15
  484. package/src/workflow/facets/WorkflowArtifactsTab.tsx +99 -0
  485. package/src/workflow/facets/WorkflowChangesTab.tsx +129 -0
  486. package/src/workflow/facets/WorkflowUsageTab.tsx +258 -0
  487. package/src/workflow/format-utils.ts +2 -3
  488. package/src/workflow/index.ts +106 -62
  489. package/src/workflow/inspector/index.ts +0 -4
  490. package/src/workflow/instance/WorkflowInstanceList.tsx +59 -41
  491. package/src/workflow/instance/__tests__/WorkflowInstanceList.test.tsx +156 -0
  492. package/src/workflow/task-detail/index.ts +11 -0
  493. package/src/workflow/task-detail/task-approval.ts +158 -0
  494. package/src/workflow/task-detail/task-detail-io.ts +65 -0
  495. package/src/workflow/thread/WorkflowTaskThread.tsx +845 -0
  496. package/src/workflow/thread/project-thread-items.ts +235 -0
  497. package/src/workflow/thread/task-presentation.ts +427 -0
  498. package/src/workflow/thread/thread-presentation.ts +59 -0
  499. package/src/workflow/thread/useWorkflowThreadItems.ts +34 -0
  500. package/src/workflow/useApprovalBoundary.ts +72 -0
  501. package/src/workflow/useFollowExecution.ts +0 -26
  502. package/src/workflow/useWorkflowArtifactDownload.ts +68 -0
  503. package/src/workflow/useWorkflowExecutionActions.ts +3 -2
  504. package/src/workflow/useWorkflowExecutionFileChanges.ts +341 -0
  505. package/src/workflow/useWorkflowExecutionGraph.ts +3 -43
  506. package/src/workflow/useWorkflowExecutionPanel.ts +292 -0
  507. package/src/workflow/useWorkflowExecutionRailViews.tsx +173 -0
  508. package/src/workspace/FileViewer.tsx +3 -3
  509. package/src/workspace/PanelChip.tsx +103 -0
  510. package/src/workspace/WorkspaceSurface.tsx +50 -6
  511. package/src/workspace/__tests__/WorkspaceSurface.test.tsx +110 -0
  512. package/src/workspace/index.ts +3 -0
  513. package/styles.css +1 -1
  514. package/workflow/WorkflowAgentExecutionDocument.d.ts +79 -0
  515. package/workflow/WorkflowAgentExecutionDocument.d.ts.map +1 -0
  516. package/workflow/WorkflowAgentExecutionDocument.js +87 -0
  517. package/workflow/WorkflowAgentExecutionDocument.js.map +1 -0
  518. package/workflow/WorkflowApprovalList.d.ts +62 -0
  519. package/workflow/WorkflowApprovalList.d.ts.map +1 -0
  520. package/workflow/WorkflowApprovalList.js +52 -0
  521. package/workflow/WorkflowApprovalList.js.map +1 -0
  522. package/workflow/WorkflowArtifactDocument.d.ts +29 -0
  523. package/workflow/WorkflowArtifactDocument.d.ts.map +1 -0
  524. package/workflow/WorkflowArtifactDocument.js +89 -0
  525. package/workflow/WorkflowArtifactDocument.js.map +1 -0
  526. package/workflow/WorkflowExecutionGraph.d.ts +15 -13
  527. package/workflow/WorkflowExecutionGraph.d.ts.map +1 -1
  528. package/workflow/WorkflowExecutionGraph.js +18 -53
  529. package/workflow/WorkflowExecutionGraph.js.map +1 -1
  530. package/workflow/WorkflowExecutionViewer.d.ts +8 -5
  531. package/workflow/WorkflowExecutionViewer.d.ts.map +1 -1
  532. package/workflow/WorkflowExecutionViewer.js +329 -54
  533. package/workflow/WorkflowExecutionViewer.js.map +1 -1
  534. package/workflow/WorkflowFileReviewList.d.ts +1 -1
  535. package/workflow/WorkflowFileReviewList.js +1 -1
  536. package/workflow/WorkflowTaskApprovalCard.d.ts +4 -3
  537. package/workflow/WorkflowTaskApprovalCard.d.ts.map +1 -1
  538. package/workflow/WorkflowTaskApprovalCard.js +5 -4
  539. package/workflow/WorkflowTaskApprovalCard.js.map +1 -1
  540. package/workflow/WorkflowTaskApprovalSummary.d.ts +6 -6
  541. package/workflow/WorkflowTaskApprovalSummary.js +5 -5
  542. package/workflow/deriveWorkflowArtifactItems.d.ts +30 -0
  543. package/workflow/deriveWorkflowArtifactItems.d.ts.map +1 -0
  544. package/workflow/deriveWorkflowArtifactItems.js +38 -0
  545. package/workflow/deriveWorkflowArtifactItems.js.map +1 -0
  546. package/workflow/deriveWorkflowUsageItems.d.ts +36 -0
  547. package/workflow/deriveWorkflowUsageItems.d.ts.map +1 -0
  548. package/workflow/deriveWorkflowUsageItems.js +50 -0
  549. package/workflow/deriveWorkflowUsageItems.js.map +1 -0
  550. package/workflow/diagnosis-document.d.ts +17 -0
  551. package/workflow/diagnosis-document.d.ts.map +1 -0
  552. package/workflow/diagnosis-document.js +29 -0
  553. package/workflow/diagnosis-document.js.map +1 -0
  554. package/workflow/execution/index.d.ts +0 -2
  555. package/workflow/execution/index.d.ts.map +1 -1
  556. package/workflow/execution/index.js +0 -2
  557. package/workflow/execution/index.js.map +1 -1
  558. package/workflow/facets/WorkflowArtifactsTab.d.ts +26 -0
  559. package/workflow/facets/WorkflowArtifactsTab.d.ts.map +1 -0
  560. package/workflow/facets/WorkflowArtifactsTab.js +34 -0
  561. package/workflow/facets/WorkflowArtifactsTab.js.map +1 -0
  562. package/workflow/facets/WorkflowChangesTab.d.ts +37 -0
  563. package/workflow/facets/WorkflowChangesTab.d.ts.map +1 -0
  564. package/workflow/facets/WorkflowChangesTab.js +50 -0
  565. package/workflow/facets/WorkflowChangesTab.js.map +1 -0
  566. package/workflow/facets/WorkflowUsageTab.d.ts +27 -0
  567. package/workflow/facets/WorkflowUsageTab.d.ts.map +1 -0
  568. package/workflow/facets/WorkflowUsageTab.js +87 -0
  569. package/workflow/facets/WorkflowUsageTab.js.map +1 -0
  570. package/workflow/format-utils.d.ts +2 -3
  571. package/workflow/format-utils.d.ts.map +1 -1
  572. package/workflow/format-utils.js +2 -3
  573. package/workflow/format-utils.js.map +1 -1
  574. package/workflow/index.d.ts +21 -10
  575. package/workflow/index.d.ts.map +1 -1
  576. package/workflow/index.js +29 -14
  577. package/workflow/index.js.map +1 -1
  578. package/workflow/inspector/index.d.ts +0 -2
  579. package/workflow/inspector/index.d.ts.map +1 -1
  580. package/workflow/inspector/index.js +0 -2
  581. package/workflow/inspector/index.js.map +1 -1
  582. package/workflow/instance/WorkflowInstanceList.d.ts.map +1 -1
  583. package/workflow/instance/WorkflowInstanceList.js +11 -3
  584. package/workflow/instance/WorkflowInstanceList.js.map +1 -1
  585. package/workflow/task-detail/StructuredDataViewer.d.ts.map +1 -0
  586. package/workflow/task-detail/StructuredDataViewer.js.map +1 -0
  587. package/workflow/task-detail/index.d.ts +4 -0
  588. package/workflow/task-detail/index.d.ts.map +1 -0
  589. package/workflow/task-detail/index.js +4 -0
  590. package/workflow/task-detail/index.js.map +1 -0
  591. package/workflow/task-detail/task-approval.d.ts +89 -0
  592. package/workflow/task-detail/task-approval.d.ts.map +1 -0
  593. package/workflow/task-detail/task-approval.js +84 -0
  594. package/workflow/task-detail/task-approval.js.map +1 -0
  595. package/workflow/task-detail/task-detail-io.d.ts +39 -0
  596. package/workflow/task-detail/task-detail-io.d.ts.map +1 -0
  597. package/workflow/task-detail/task-detail-io.js +42 -0
  598. package/workflow/task-detail/task-detail-io.js.map +1 -0
  599. package/workflow/thread/WorkflowTaskThread.d.ts +91 -0
  600. package/workflow/thread/WorkflowTaskThread.d.ts.map +1 -0
  601. package/workflow/thread/WorkflowTaskThread.js +318 -0
  602. package/workflow/thread/WorkflowTaskThread.js.map +1 -0
  603. package/workflow/thread/project-thread-items.d.ts +108 -0
  604. package/workflow/thread/project-thread-items.d.ts.map +1 -0
  605. package/workflow/thread/project-thread-items.js +126 -0
  606. package/workflow/thread/project-thread-items.js.map +1 -0
  607. package/workflow/thread/task-presentation.d.ts +73 -0
  608. package/workflow/thread/task-presentation.d.ts.map +1 -0
  609. package/workflow/thread/task-presentation.js +331 -0
  610. package/workflow/thread/task-presentation.js.map +1 -0
  611. package/workflow/thread/thread-presentation.d.ts +28 -0
  612. package/workflow/thread/thread-presentation.d.ts.map +1 -0
  613. package/workflow/thread/thread-presentation.js +28 -0
  614. package/workflow/thread/thread-presentation.js.map +1 -0
  615. package/workflow/thread/useWorkflowThreadItems.d.ts +16 -0
  616. package/workflow/thread/useWorkflowThreadItems.d.ts.map +1 -0
  617. package/workflow/thread/useWorkflowThreadItems.js +22 -0
  618. package/workflow/thread/useWorkflowThreadItems.js.map +1 -0
  619. package/workflow/useApprovalBoundary.d.ts +38 -0
  620. package/workflow/useApprovalBoundary.d.ts.map +1 -0
  621. package/workflow/useApprovalBoundary.js +55 -0
  622. package/workflow/useApprovalBoundary.js.map +1 -0
  623. package/workflow/useFollowExecution.d.ts +0 -20
  624. package/workflow/useFollowExecution.d.ts.map +1 -1
  625. package/workflow/useFollowExecution.js +0 -17
  626. package/workflow/useFollowExecution.js.map +1 -1
  627. package/workflow/useWorkflowArtifactDownload.d.ts +28 -0
  628. package/workflow/useWorkflowArtifactDownload.d.ts.map +1 -0
  629. package/workflow/useWorkflowArtifactDownload.js +45 -0
  630. package/workflow/useWorkflowArtifactDownload.js.map +1 -0
  631. package/workflow/useWorkflowExecutionActions.d.ts +3 -2
  632. package/workflow/useWorkflowExecutionActions.d.ts.map +1 -1
  633. package/workflow/useWorkflowExecutionActions.js.map +1 -1
  634. package/workflow/useWorkflowExecutionFileChanges.d.ts +107 -0
  635. package/workflow/useWorkflowExecutionFileChanges.d.ts.map +1 -0
  636. package/workflow/useWorkflowExecutionFileChanges.js +244 -0
  637. package/workflow/useWorkflowExecutionFileChanges.js.map +1 -0
  638. package/workflow/useWorkflowExecutionGraph.d.ts +1 -14
  639. package/workflow/useWorkflowExecutionGraph.d.ts.map +1 -1
  640. package/workflow/useWorkflowExecutionGraph.js +2 -25
  641. package/workflow/useWorkflowExecutionGraph.js.map +1 -1
  642. package/workflow/useWorkflowExecutionPanel.d.ts +108 -0
  643. package/workflow/useWorkflowExecutionPanel.d.ts.map +1 -0
  644. package/workflow/useWorkflowExecutionPanel.js +103 -0
  645. package/workflow/useWorkflowExecutionPanel.js.map +1 -0
  646. package/workflow/useWorkflowExecutionRailViews.d.ts +46 -0
  647. package/workflow/useWorkflowExecutionRailViews.d.ts.map +1 -0
  648. package/workflow/useWorkflowExecutionRailViews.js +81 -0
  649. package/workflow/useWorkflowExecutionRailViews.js.map +1 -0
  650. package/workspace/FileViewer.d.ts +1 -1
  651. package/workspace/FileViewer.js +3 -3
  652. package/workspace/FileViewer.js.map +1 -1
  653. package/workspace/PanelChip.d.ts +27 -0
  654. package/workspace/PanelChip.d.ts.map +1 -0
  655. package/workspace/PanelChip.js +42 -0
  656. package/workspace/PanelChip.js.map +1 -0
  657. package/workspace/WorkspaceSurface.d.ts +25 -1
  658. package/workspace/WorkspaceSurface.d.ts.map +1 -1
  659. package/workspace/WorkspaceSurface.js +21 -9
  660. package/workspace/WorkspaceSurface.js.map +1 -1
  661. package/workspace/index.d.ts +3 -1
  662. package/workspace/index.d.ts.map +1 -1
  663. package/workspace/index.js +1 -0
  664. package/workspace/index.js.map +1 -1
  665. package/execution/ThreadSelectionContext.d.ts +0 -17
  666. package/execution/ThreadSelectionContext.d.ts.map +0 -1
  667. package/execution/ThreadSelectionContext.js +0 -18
  668. package/execution/ThreadSelectionContext.js.map +0 -1
  669. package/execution/useThreadSelection.d.ts +0 -35
  670. package/execution/useThreadSelection.d.ts.map +0 -1
  671. package/execution/useThreadSelection.js +0 -65
  672. package/execution/useThreadSelection.js.map +0 -1
  673. package/internal/store/selection-store.d.ts +0 -53
  674. package/internal/store/selection-store.d.ts.map +0 -1
  675. package/internal/store/selection-store.js +0 -88
  676. package/internal/store/selection-store.js.map +0 -1
  677. package/session/artifact-document.d.ts.map +0 -1
  678. package/session/artifact-document.js +0 -22
  679. package/session/artifact-document.js.map +0 -1
  680. package/session/facets/InspectTab.d.ts +0 -13
  681. package/session/facets/InspectTab.d.ts.map +0 -1
  682. package/session/facets/InspectTab.js +0 -19
  683. package/session/facets/InspectTab.js.map +0 -1
  684. package/src/execution/ThreadSelectionContext.tsx +0 -20
  685. package/src/execution/useThreadSelection.ts +0 -95
  686. package/src/internal/store/__tests__/selection-store.test.ts +0 -115
  687. package/src/internal/store/selection-store.ts +0 -112
  688. package/src/session/artifact-document.ts +0 -23
  689. package/src/session/facets/InspectTab.tsx +0 -57
  690. package/src/workflow/WorkflowExecutionApprovalCard.tsx +0 -154
  691. package/src/workflow/WorkflowExecutionArtifactPanel.tsx +0 -107
  692. package/src/workflow/WorkflowExecutionCostPanel.tsx +0 -120
  693. package/src/workflow/WorkflowExecutionTaskPanel.tsx +0 -129
  694. package/src/workflow/WorkflowExecutionTimeline.tsx +0 -151
  695. package/src/workflow/WorkflowExecutionTimelineEvent.tsx +0 -497
  696. package/src/workflow/__tests__/ExecutionInspector.test.tsx +0 -155
  697. package/src/workflow/__tests__/WorkflowExecutionApprovalCard.test.tsx +0 -129
  698. package/src/workflow/__tests__/derive-task-detail.test.ts +0 -1265
  699. package/src/workflow/__tests__/derive-waterfall-entries.test.ts +0 -521
  700. package/src/workflow/__tests__/execution-inspector.test.tsx +0 -332
  701. package/src/workflow/execution/derive-waterfall-entries.ts +0 -377
  702. package/src/workflow/execution/useWaterfallEntries.ts +0 -125
  703. package/src/workflow/execution-inspector/AgentCallTab.tsx +0 -169
  704. package/src/workflow/execution-inspector/ErrorTab.tsx +0 -110
  705. package/src/workflow/execution-inspector/EventLogTab.tsx +0 -79
  706. package/src/workflow/execution-inspector/ExecutionInspector.tsx +0 -341
  707. package/src/workflow/execution-inspector/InputOutputTab.tsx +0 -325
  708. package/src/workflow/execution-inspector/RetriesTab.tsx +0 -68
  709. package/src/workflow/execution-inspector/SummaryTab.tsx +0 -62
  710. package/src/workflow/execution-inspector/derive-task-detail.ts +0 -584
  711. package/src/workflow/execution-inspector/index.ts +0 -14
  712. package/src/workflow/execution-inspector/useExecutionTaskDetail.ts +0 -55
  713. package/src/workflow/inspector/ExecutionInspectorAdapter.tsx +0 -40
  714. package/src/workflow/waterfall/WaterfallBar.tsx +0 -167
  715. package/src/workflow/waterfall/WaterfallRow.tsx +0 -112
  716. package/src/workflow/waterfall/WaterfallScale.tsx +0 -52
  717. package/src/workflow/waterfall/WaterfallTimeline.tsx +0 -138
  718. package/src/workflow/waterfall/WaterfallTooltip.tsx +0 -74
  719. package/src/workflow/waterfall/index.ts +0 -5
  720. package/workflow/WorkflowExecutionApprovalCard.d.ts +0 -34
  721. package/workflow/WorkflowExecutionApprovalCard.d.ts.map +0 -1
  722. package/workflow/WorkflowExecutionApprovalCard.js +0 -46
  723. package/workflow/WorkflowExecutionApprovalCard.js.map +0 -1
  724. package/workflow/WorkflowExecutionArtifactPanel.d.ts +0 -15
  725. package/workflow/WorkflowExecutionArtifactPanel.d.ts.map +0 -1
  726. package/workflow/WorkflowExecutionArtifactPanel.js +0 -46
  727. package/workflow/WorkflowExecutionArtifactPanel.js.map +0 -1
  728. package/workflow/WorkflowExecutionCostPanel.d.ts +0 -18
  729. package/workflow/WorkflowExecutionCostPanel.d.ts.map +0 -1
  730. package/workflow/WorkflowExecutionCostPanel.js +0 -31
  731. package/workflow/WorkflowExecutionCostPanel.js.map +0 -1
  732. package/workflow/WorkflowExecutionTaskPanel.d.ts +0 -24
  733. package/workflow/WorkflowExecutionTaskPanel.d.ts.map +0 -1
  734. package/workflow/WorkflowExecutionTaskPanel.js +0 -51
  735. package/workflow/WorkflowExecutionTaskPanel.js.map +0 -1
  736. package/workflow/WorkflowExecutionTimeline.d.ts +0 -42
  737. package/workflow/WorkflowExecutionTimeline.d.ts.map +0 -1
  738. package/workflow/WorkflowExecutionTimeline.js +0 -52
  739. package/workflow/WorkflowExecutionTimeline.js.map +0 -1
  740. package/workflow/WorkflowExecutionTimelineEvent.d.ts +0 -25
  741. package/workflow/WorkflowExecutionTimelineEvent.d.ts.map +0 -1
  742. package/workflow/WorkflowExecutionTimelineEvent.js +0 -179
  743. package/workflow/WorkflowExecutionTimelineEvent.js.map +0 -1
  744. package/workflow/execution/derive-waterfall-entries.d.ts +0 -85
  745. package/workflow/execution/derive-waterfall-entries.d.ts.map +0 -1
  746. package/workflow/execution/derive-waterfall-entries.js +0 -268
  747. package/workflow/execution/derive-waterfall-entries.js.map +0 -1
  748. package/workflow/execution/useWaterfallEntries.d.ts +0 -25
  749. package/workflow/execution/useWaterfallEntries.d.ts.map +0 -1
  750. package/workflow/execution/useWaterfallEntries.js +0 -67
  751. package/workflow/execution/useWaterfallEntries.js.map +0 -1
  752. package/workflow/execution-inspector/AgentCallTab.d.ts +0 -21
  753. package/workflow/execution-inspector/AgentCallTab.d.ts.map +0 -1
  754. package/workflow/execution-inspector/AgentCallTab.js +0 -36
  755. package/workflow/execution-inspector/AgentCallTab.js.map +0 -1
  756. package/workflow/execution-inspector/ErrorTab.d.ts +0 -9
  757. package/workflow/execution-inspector/ErrorTab.d.ts.map +0 -1
  758. package/workflow/execution-inspector/ErrorTab.js +0 -29
  759. package/workflow/execution-inspector/ErrorTab.js.map +0 -1
  760. package/workflow/execution-inspector/EventLogTab.d.ts +0 -11
  761. package/workflow/execution-inspector/EventLogTab.d.ts.map +0 -1
  762. package/workflow/execution-inspector/EventLogTab.js +0 -47
  763. package/workflow/execution-inspector/EventLogTab.js.map +0 -1
  764. package/workflow/execution-inspector/ExecutionInspector.d.ts +0 -69
  765. package/workflow/execution-inspector/ExecutionInspector.d.ts.map +0 -1
  766. package/workflow/execution-inspector/ExecutionInspector.js +0 -145
  767. package/workflow/execution-inspector/ExecutionInspector.js.map +0 -1
  768. package/workflow/execution-inspector/InputOutputTab.d.ts +0 -20
  769. package/workflow/execution-inspector/InputOutputTab.d.ts.map +0 -1
  770. package/workflow/execution-inspector/InputOutputTab.js +0 -124
  771. package/workflow/execution-inspector/InputOutputTab.js.map +0 -1
  772. package/workflow/execution-inspector/RetriesTab.d.ts +0 -7
  773. package/workflow/execution-inspector/RetriesTab.d.ts.map +0 -1
  774. package/workflow/execution-inspector/RetriesTab.js +0 -11
  775. package/workflow/execution-inspector/RetriesTab.js.map +0 -1
  776. package/workflow/execution-inspector/StructuredDataViewer.d.ts.map +0 -1
  777. package/workflow/execution-inspector/StructuredDataViewer.js.map +0 -1
  778. package/workflow/execution-inspector/SummaryTab.d.ts +0 -7
  779. package/workflow/execution-inspector/SummaryTab.d.ts.map +0 -1
  780. package/workflow/execution-inspector/SummaryTab.js +0 -10
  781. package/workflow/execution-inspector/SummaryTab.js.map +0 -1
  782. package/workflow/execution-inspector/derive-task-detail.d.ts +0 -140
  783. package/workflow/execution-inspector/derive-task-detail.d.ts.map +0 -1
  784. package/workflow/execution-inspector/derive-task-detail.js +0 -366
  785. package/workflow/execution-inspector/derive-task-detail.js.map +0 -1
  786. package/workflow/execution-inspector/index.d.ts +0 -4
  787. package/workflow/execution-inspector/index.d.ts.map +0 -1
  788. package/workflow/execution-inspector/index.js +0 -4
  789. package/workflow/execution-inspector/index.js.map +0 -1
  790. package/workflow/execution-inspector/useExecutionTaskDetail.d.ts +0 -38
  791. package/workflow/execution-inspector/useExecutionTaskDetail.d.ts.map +0 -1
  792. package/workflow/execution-inspector/useExecutionTaskDetail.js +0 -37
  793. package/workflow/execution-inspector/useExecutionTaskDetail.js.map +0 -1
  794. package/workflow/inspector/ExecutionInspectorAdapter.d.ts +0 -26
  795. package/workflow/inspector/ExecutionInspectorAdapter.d.ts.map +0 -1
  796. package/workflow/inspector/ExecutionInspectorAdapter.js +0 -23
  797. package/workflow/inspector/ExecutionInspectorAdapter.js.map +0 -1
  798. package/workflow/waterfall/WaterfallBar.d.ts +0 -19
  799. package/workflow/waterfall/WaterfallBar.d.ts.map +0 -1
  800. package/workflow/waterfall/WaterfallBar.js +0 -70
  801. package/workflow/waterfall/WaterfallBar.js.map +0 -1
  802. package/workflow/waterfall/WaterfallRow.d.ts +0 -18
  803. package/workflow/waterfall/WaterfallRow.d.ts.map +0 -1
  804. package/workflow/waterfall/WaterfallRow.js +0 -45
  805. package/workflow/waterfall/WaterfallRow.js.map +0 -1
  806. package/workflow/waterfall/WaterfallScale.d.ts +0 -14
  807. package/workflow/waterfall/WaterfallScale.d.ts.map +0 -1
  808. package/workflow/waterfall/WaterfallScale.js +0 -22
  809. package/workflow/waterfall/WaterfallScale.js.map +0 -1
  810. package/workflow/waterfall/WaterfallTimeline.d.ts +0 -46
  811. package/workflow/waterfall/WaterfallTimeline.d.ts.map +0 -1
  812. package/workflow/waterfall/WaterfallTimeline.js +0 -60
  813. package/workflow/waterfall/WaterfallTimeline.js.map +0 -1
  814. package/workflow/waterfall/WaterfallTooltip.d.ts +0 -15
  815. package/workflow/waterfall/WaterfallTooltip.d.ts.map +0 -1
  816. package/workflow/waterfall/WaterfallTooltip.js +0 -20
  817. package/workflow/waterfall/WaterfallTooltip.js.map +0 -1
  818. package/workflow/waterfall/index.d.ts +0 -6
  819. package/workflow/waterfall/index.d.ts.map +0 -1
  820. package/workflow/waterfall/index.js +0 -6
  821. package/workflow/waterfall/index.js.map +0 -1
  822. /package/src/workflow/{execution-inspector → task-detail}/StructuredDataViewer.tsx +0 -0
  823. /package/workflow/{execution-inspector → task-detail}/StructuredDataViewer.d.ts +0 -0
  824. /package/workflow/{execution-inspector → task-detail}/StructuredDataViewer.js +0 -0
package/README.md CHANGED
@@ -61,7 +61,7 @@ Three things are required:
61
61
  | `executionTarget` | `"local" \| "cloud"` | No | Default execution target for sessions and workflow executions created in this provider. Omit to let the server decide. See [Local Execution](#local-execution). |
62
62
  | `runnerAdapter` | `RunnerAdapter` | No | Runner lifecycle adapter, required when `executionTarget` is `"local"`. Omit for cloud. See [Local Execution](#local-execution). |
63
63
  | `preset` | `ThemePresetId` | No | Built-in theme preset to apply. Omit for the default Stigmer palette. |
64
- | `className` | `string` | No | Additional CSS classes on the scoping container. |
64
+ | `className` | `string` | No | Additional CSS classes for theming. Applied to the scoping container *and* mirrored onto the portal container, so token overrides reach portaled surfaces — not a layout channel (see [Style Isolation](#style-isolation)). |
65
65
 
66
66
  ### `useStigmer()` Hook
67
67
 
@@ -198,6 +198,21 @@ Returns `"light"` or `"dark"` — never `"system"`. The provider resolves `"syst
198
198
 
199
199
  This means you can mount `<StigmerProvider>` inside a sidebar, modal, or any section of your page and Stigmer's styles stay contained.
200
200
 
201
+ ### Sizing
202
+
203
+ The scoping container ships with no layout styling — it sizes to its content, so document-flow embeddings need nothing. For fixed-height embeddings (docked panes, split layouts), height-filling components like `SessionViewer` need a percentage-height chain to reach them; opt the container into that chain from host CSS:
204
+
205
+ ```css
206
+ .stgm[data-stgm-root] {
207
+ height: 100%;
208
+ min-height: 0;
209
+ }
210
+ ```
211
+
212
+ This is opt-in rather than an SDK default because `height: 100%` is not safe in arbitrary layouts (under a `flex-1` parent it resolves against the flexed size and balloons) — only the host knows its layout.
213
+
214
+ Two marker attributes are stable public selectors: `data-stgm-root` on the in-tree container, `data-stgm-portal` on the portal container appended to `document.body`. See the [theming guide](../../docs/sdk/theme/theming.mdx) for the full sizing and embedding reference.
215
+
201
216
  ## Local Execution
202
217
 
203
218
  By default, agent and workflow execution runs in the cloud — the Stigmer server provisions a sandbox with a runner. Desktop apps, CLIs, and self-hosted deployments can instead run execution on the client. Two provider props control this.
@@ -1 +1 @@
1
- {"version":3,"file":"AgentInstanceList.d.ts","sourceRoot":"","sources":["../../src/agent-instance/AgentInstanceList.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4DAA4D,CAAC;AAYhG,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gGAAgG;IAChG,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7D,kEAAkE;IAClE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IACjE,2DAA2D;IAC3D,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3D;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,kCAAkC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,iBAAiB,EACjB,GAAG,EACH,SAAS,EACT,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,SAAS,GACV,EAAE,sBAAsB,2CA6FxB"}
1
+ {"version":3,"file":"AgentInstanceList.d.ts","sourceRoot":"","sources":["../../src/agent-instance/AgentInstanceList.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4DAA4D,CAAC;AAahG,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gGAAgG;IAChG,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7D,kEAAkE;IAClE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IACjE,2DAA2D;IAC3D,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3D;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,kCAAkC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,iBAAiB,EACjB,GAAG,EACH,SAAS,EACT,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,SAAS,GACV,EAAE,sBAAsB,2CAgGxB"}
@@ -1,13 +1,15 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useCallback, useEffect, useMemo, useRef } from "react";
4
+ import { MoreHorizontal, Play, Trash2 } from "lucide-react";
4
5
  import { cn } from "@stigmer/theme";
5
6
  import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
6
7
  import { useAgentInstances } from "./useAgentInstances.js";
8
+ import { ActionMenu } from "../action-menu/index.js";
7
9
  import { Button } from "../button/Button.js";
8
10
  import { useEnvironmentList } from "../environment/useEnvironmentList.js";
9
11
  import { ResourceVisibilityControl } from "../library/ResourceVisibilityControl.js";
10
- import { PermissionGate } from "../iam-policy/PermissionGate.js";
12
+ import { useCheckPermission } from "../iam-policy/useCheckPermission.js";
11
13
  import { AgentInstanceEmptyState } from "./AgentInstanceEmptyState.js";
12
14
  /** Label marking a user's auto-managed personal instance. */
13
15
  const PERSONAL_LABEL = "stigmer.ai/personal";
@@ -50,14 +52,20 @@ export function AgentInstanceList({ agentId, defaultInstanceId, org, viewerOrg,
50
52
  if (userInstances.length === 0) {
51
53
  return _jsx(AgentInstanceEmptyState, { onCreateClick: onCreateClick, className: className });
52
54
  }
53
- return (_jsxs("div", { className: cn("space-y-3", className), children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("h3", { className: "text-sm font-medium text-foreground", children: [userInstances.length, " ", userInstances.length === 1 ? "instance" : "instances"] }), onCreateClick && (_jsx(Button, { variant: "outline", size: "xs", icon: _jsx(PlusIcon, {}), onClick: onCreateClick, children: "Create instance" }))] }), _jsx("div", { className: "overflow-hidden rounded-lg border border-border", children: _jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-border bg-muted-subtle", children: [_jsx("th", { className: "px-4 py-2 text-left font-medium text-muted-foreground", children: "Name" }), _jsx("th", { className: "px-4 py-2 text-left font-medium text-muted-foreground", children: "Environments" }), _jsx("th", { className: "px-4 py-2 text-left font-medium text-muted-foreground", children: "Visibility" }), _jsx("th", { className: "px-4 py-2 text-right font-medium text-muted-foreground", children: "Actions" })] }) }), _jsx("tbody", { className: "divide-y divide-border", children: userInstances.map((inst) => (_jsx(InstanceRow, { instance: inst, resolveEnvName: resolveEnvName, onRowClick: onInstanceClick, onStartSessionClick: onStartSessionClick, onDeleteClick: onDeleteClick, refetch: refetch }, inst.metadata?.id))) })] }) })] }));
55
+ return (_jsxs("div", { className: cn("space-y-3", className), children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("h3", { className: "text-sm font-medium text-foreground", children: [userInstances.length, " ", userInstances.length === 1 ? "instance" : "instances"] }), onCreateClick && (_jsx(Button, { variant: "outline", size: "xs", icon: _jsx(PlusIcon, {}), onClick: onCreateClick, children: "Create instance" }))] }), _jsx("div", { className: "overflow-hidden rounded-lg border border-border", children: _jsxs("table", { className: "w-full table-fixed text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-border bg-muted-subtle", children: [_jsx("th", { className: "px-4 py-2 text-left font-medium text-muted-foreground", children: "Name" }), _jsx("th", { className: "px-4 py-2 text-left font-medium text-muted-foreground", children: "Environments" }), _jsx("th", { className: "w-36 px-4 py-2 text-left font-medium text-muted-foreground", children: "Visibility" }), _jsx("th", { className: "w-16 px-4 py-2 text-right font-medium text-muted-foreground", children: "Actions" })] }) }), _jsx("tbody", { className: "divide-y divide-border", children: userInstances.map((inst) => (_jsx(InstanceRow, { instance: inst, resolveEnvName: resolveEnvName, onRowClick: onInstanceClick, onStartSessionClick: onStartSessionClick, onDeleteClick: onDeleteClick, refetch: refetch }, inst.metadata?.id))) })] }) })] }));
54
56
  }
55
57
  function InstanceRow({ instance, resolveEnvName, onRowClick, onStartSessionClick, onDeleteClick, refetch, }) {
56
58
  const meta = instance.metadata;
57
59
  const id = meta?.id ?? "";
58
60
  const isPersonal = meta?.labels?.[PERSONAL_LABEL] === "true";
59
61
  const envRefs = instance.spec?.environmentRefs ?? [];
60
- return (_jsxs("tr", { className: cn("transition-colors", onRowClick && "cursor-pointer hover:bg-muted/30"), onClick: () => onRowClick?.(instance), children: [_jsx("td", { className: "px-4 py-2.5", children: _jsxs("div", { children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium text-foreground", children: meta?.name || meta?.slug || "\u2014" }), isPersonal && (_jsx("span", { className: cn("inline-flex items-center rounded-md px-1.5 py-0.5", "text-[0.6rem] font-medium uppercase tracking-wide", "bg-muted text-muted-foreground border border-border"), children: "Personal" }))] }), instance.spec?.description && (_jsx("p", { className: "text-[0.65rem] text-muted-foreground truncate max-w-48", children: instance.spec.description }))] }) }), _jsx("td", { className: "px-4 py-2.5", children: envRefs.length === 0 ? (_jsx("span", { className: "text-xs text-muted-foreground", children: "None" })) : (_jsx("div", { className: "flex flex-wrap gap-1", children: envRefs.map((ref, idx) => (_jsx("span", { className: cn("inline-flex items-center rounded-md px-1.5 py-0.5", "text-[0.65rem] font-medium", "bg-muted text-muted-foreground", "border border-border"), children: resolveEnvName(ref.slug) }, `${ref.slug}-${idx}`))) })) }), _jsx("td", { className: "px-4 py-2.5", onClick: (e) => e.stopPropagation(), children: id ? (_jsx(ResourceVisibilityControl, { kind: "agentInstance", resourceId: id, visibility: meta?.visibility ?? ApiResourceVisibility.visibility_private, onChanged: refetch })) : (_jsx("span", { className: "text-xs text-muted-foreground", children: "\u2014" })) }), _jsx("td", { className: "px-4 py-2.5 text-right", onClick: (e) => e.stopPropagation(), children: _jsxs("div", { className: "flex items-center justify-end gap-1", children: [onStartSessionClick && (_jsx("button", { type: "button", onClick: () => onStartSessionClick(instance), className: cn("rounded px-2 py-1 text-xs font-medium", "text-foreground hover:bg-accent-hover", "focus:outline-none focus:ring-1 focus:ring-ring"), children: "Start session" })), onDeleteClick && (_jsx(PermissionGate, { resource: { kind: "agent_instance", id }, relation: "can_delete", children: _jsx("button", { type: "button", onClick: () => onDeleteClick(instance), className: cn("rounded px-2 py-1 text-xs font-medium", "text-destructive hover:bg-destructive/10", "focus:outline-none focus:ring-1 focus:ring-ring"), children: "Delete" }) }))] }) })] }));
62
+ // Delete is the only permission-gated row action (Start session is offered
63
+ // whenever the host wires it). Resolved here so the kebab is hidden when it
64
+ // would hold no items — never an empty overflow menu.
65
+ const { allowed: canDelete } = useCheckPermission({ kind: "agent_instance", id }, "can_delete");
66
+ const showStartSession = !!onStartSessionClick;
67
+ const showDelete = !!onDeleteClick && canDelete;
68
+ return (_jsxs("tr", { className: cn("transition-colors", onRowClick && "cursor-pointer hover:bg-accent-hover"), onClick: () => onRowClick?.(instance), children: [_jsx("td", { className: "px-4 py-2.5", children: _jsxs("div", { className: "min-w-0", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [_jsx("span", { className: "truncate font-medium text-foreground", title: meta?.name || meta?.slug || undefined, children: meta?.name || meta?.slug || "\u2014" }), isPersonal && (_jsx("span", { className: cn("inline-flex shrink-0 items-center rounded-md px-1.5 py-0.5", "text-[0.6rem] font-medium uppercase tracking-wide", "bg-muted text-muted-foreground border border-border"), children: "Personal" }))] }), instance.spec?.description && (_jsx("p", { className: "text-[0.65rem] text-muted-foreground truncate", children: instance.spec.description }))] }) }), _jsx("td", { className: "px-4 py-2.5", children: envRefs.length === 0 ? (_jsx("span", { className: "text-xs text-muted-foreground", children: "None" })) : (_jsx("div", { className: "flex flex-wrap gap-1", children: envRefs.map((ref, idx) => (_jsx("span", { className: cn("inline-flex items-center rounded-md px-1.5 py-0.5", "text-[0.65rem] font-medium", "bg-muted text-muted-foreground", "border border-border"), children: resolveEnvName(ref.slug) }, `${ref.slug}-${idx}`))) })) }), _jsx("td", { className: "px-4 py-2.5", onClick: (e) => e.stopPropagation(), children: id ? (_jsx(ResourceVisibilityControl, { kind: "agentInstance", resourceId: id, visibility: meta?.visibility ?? ApiResourceVisibility.visibility_private, onChanged: refetch })) : (_jsx("span", { className: "text-xs text-muted-foreground", children: "\u2014" })) }), _jsx("td", { className: "px-4 py-2.5 text-right", onClick: (e) => e.stopPropagation(), children: (showStartSession || showDelete) && (_jsxs(ActionMenu, { children: [_jsx(ActionMenu.Trigger, { className: "ml-auto", "aria-label": `Actions for ${meta?.name || meta?.slug}`, children: _jsx(MoreHorizontal, { className: "size-4" }) }), _jsxs(ActionMenu.Content, { children: [showStartSession && (_jsx(ActionMenu.Item, { icon: _jsx(Play, {}), onSelect: () => onStartSessionClick?.(instance), children: "Start session" })), showStartSession && showDelete && _jsx(ActionMenu.Separator, {}), showDelete && (_jsx(ActionMenu.Item, { icon: _jsx(Trash2, {}), variant: "destructive", onSelect: () => onDeleteClick?.(instance), children: "Delete" }))] })] })) })] }));
61
69
  }
62
70
  function LoadingSkeleton() {
63
71
  return (_jsx("div", { className: "space-y-2 py-4", children: [1, 2, 3].map((i) => (_jsx("div", { className: "h-12 animate-pulse rounded-md bg-muted-faint" }, i))) }));
@@ -1 +1 @@
1
- {"version":3,"file":"AgentInstanceList.js","sourceRoot":"","sources":["../../src/agent-instance/AgentInstanceList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentInstanceList.js","sourceRoot":"","sources":["../../src/agent-instance/AgentInstanceList.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import type { Agent } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/api_pb";
2
+ import type { AgentChannel } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/api_pb";
3
+ /** Props for {@link AgentChannelsPanel}. */
4
+ export interface AgentChannelsPanelProps {
5
+ /** The agent whose channels are managed. */
6
+ readonly agent: Agent;
7
+ /**
8
+ * When provided, connect actions for redirect-style providers (Slack)
9
+ * delegate to the host instead of running the in-app popup flow. For
10
+ * hosts whose webview cannot open popups (the desktop app): the
11
+ * delegate typically opens the web console in the system browser.
12
+ * Called with the channel being (re)connected, or `null` for a
13
+ * brand-new connection. Direct-install providers (WhatsApp) always
14
+ * connect in-app — their flow is a plain API call with nothing for a
15
+ * popup to do — so they never invoke the delegate.
16
+ */
17
+ readonly onConnectExternal?: (channel: AgentChannel | null) => void;
18
+ /**
19
+ * Where the host manages Channel Apps (the console passes
20
+ * `/settings/channel-apps`). Threaded to the connect dialog's
21
+ * "Register a channel app" affordance; absent, the affordance
22
+ * degrades to plain guidance text.
23
+ */
24
+ readonly channelAppsHref?: string;
25
+ /**
26
+ * Maps a session id to the host's session route (the console passes
27
+ * `` (id) => `/sessions/${id}` ``). Threaded to each card's
28
+ * Conversations dialog so rows link to the read-only transcript;
29
+ * absent, the rows render without links (DD-004 — the SDK never
30
+ * assumes a routing scheme).
31
+ */
32
+ readonly sessionHref?: (sessionId: string) => string;
33
+ /** Additional CSS class names. */
34
+ readonly className?: string;
35
+ }
36
+ /**
37
+ * Management surface for an agent's {@link AgentChannel} connections —
38
+ * rendered in the agent detail view's Channels tab.
39
+ *
40
+ * One card per channel showing the two serving axes side by side: the
41
+ * observed provider install state (`pending_install` / `installed` /
42
+ * `revoked`) and the owner's serving switch (`spec.enabled`). Traffic
43
+ * flows only when installed AND enabled. Channels always live in the
44
+ * agent's own org (no cross-org arm, unlike shares), so no org selector
45
+ * is needed.
46
+ *
47
+ * Connecting runs the provider's own dialog — {@link ConnectSlackDialog}
48
+ * (OAuth popup) or {@link ConnectWhatsAppDialog} (direct install). On a
49
+ * `local` (OSS) backend, channel CRUD works but installs are cloud-only —
50
+ * connect affordances are replaced by a cloud-feature notice, matching
51
+ * the server's FAILED_PRECONDITION posture.
52
+ *
53
+ * Self-contained: owns its dialog, its confirmation prompts, and its
54
+ * refetch-after-mutation — hosts render it with just the agent (plus the
55
+ * external-connect delegate where popups are unavailable).
56
+ *
57
+ * This is an SDK component (DD-001) — embeddable by platform builders.
58
+ */
59
+ export declare function AgentChannelsPanel({ agent, onConnectExternal, channelAppsHref, sessionHref, className, }: AgentChannelsPanelProps): import("react/jsx-runtime").JSX.Element;
60
+ //# sourceMappingURL=AgentChannelsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentChannelsPanel.d.ts","sourceRoot":"","sources":["../../src/channel/AgentChannelsPanel.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oDAAoD,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAgC9F,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB;;;;;;;;;OASG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IACpE;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACrD,kCAAkC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,SAAS,GACV,EAAE,uBAAuB,2CA2PzB"}
@@ -0,0 +1,255 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useCallback, useState } from "react";
4
+ import { KeyRound, MessageSquare, MoreHorizontal, Trash2 } from "lucide-react";
5
+ import { cn } from "@stigmer/theme";
6
+ import { getUserMessage } from "@stigmer/sdk";
7
+ import { AgentChannelInstallState } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/status_pb";
8
+ import { toast } from "../feedback/toast.js";
9
+ import { ActionMenu } from "../action-menu/index.js";
10
+ import { Button } from "../button/Button.js";
11
+ import { EmptyState } from "../empty-state/EmptyState.js";
12
+ import { Switch } from "../switch/Switch.js";
13
+ import { useChannelAppList } from "../channel-app/useChannelAppList.js";
14
+ import { useCheckPermission } from "../iam-policy/useCheckPermission.js";
15
+ import { ConfirmDialog } from "../resource-detail/ConfirmDialog.js";
16
+ import { useConfirmAction } from "../resource-detail/useConfirmAction.js";
17
+ import { useDeploymentMode } from "../deployment-mode.js";
18
+ import { CloudFeatureNotice } from "../internal/CloudFeatureNotice.js";
19
+ import { ChannelConversationsDialog } from "./ChannelConversationsDialog.js";
20
+ import { ChannelCredentialsDialog } from "./ChannelCredentialsDialog.js";
21
+ import { ConnectSlackDialog } from "./ConnectSlackDialog.js";
22
+ import { ConnectWhatsAppDialog } from "./ConnectWhatsAppDialog.js";
23
+ import { CHANNEL_PROVIDERS, channelProviderOf, } from "./providers.js";
24
+ import { channelPresentationOf, DEFAULT_CHANNEL_PRESENTATION, } from "./providerPresentation.js";
25
+ import { useAgentChannelList } from "./useAgentChannelList.js";
26
+ import { useChannelToolReadiness } from "./useChannelToolReadiness.js";
27
+ import { useDeleteAgentChannel } from "./useDeleteAgentChannel.js";
28
+ import { agentChannelToInput, useSaveAgentChannel } from "./useSaveAgentChannel.js";
29
+ /**
30
+ * Management surface for an agent's {@link AgentChannel} connections —
31
+ * rendered in the agent detail view's Channels tab.
32
+ *
33
+ * One card per channel showing the two serving axes side by side: the
34
+ * observed provider install state (`pending_install` / `installed` /
35
+ * `revoked`) and the owner's serving switch (`spec.enabled`). Traffic
36
+ * flows only when installed AND enabled. Channels always live in the
37
+ * agent's own org (no cross-org arm, unlike shares), so no org selector
38
+ * is needed.
39
+ *
40
+ * Connecting runs the provider's own dialog — {@link ConnectSlackDialog}
41
+ * (OAuth popup) or {@link ConnectWhatsAppDialog} (direct install). On a
42
+ * `local` (OSS) backend, channel CRUD works but installs are cloud-only —
43
+ * connect affordances are replaced by a cloud-feature notice, matching
44
+ * the server's FAILED_PRECONDITION posture.
45
+ *
46
+ * Self-contained: owns its dialog, its confirmation prompts, and its
47
+ * refetch-after-mutation — hosts render it with just the agent (plus the
48
+ * external-connect delegate where popups are unavailable).
49
+ *
50
+ * This is an SDK component (DD-001) — embeddable by platform builders.
51
+ */
52
+ export function AgentChannelsPanel({ agent, onConnectExternal, channelAppsHref, sessionHref, className, }) {
53
+ const agentId = agent.metadata?.id ?? "";
54
+ // Channels are same-org by invariant; scope the list to the agent's org.
55
+ const { channels, isLoading, error, refetch } = useAgentChannelList(agentId, agent.metadata?.org ?? "");
56
+ // One fetch for all cards: a channel's spec.app_ref carries only the
57
+ // slug, but the app's name is the bot name members @mention — the
58
+ // label worth showing.
59
+ const { channelApps } = useChannelAppList(agent.metadata?.org || null);
60
+ // Mirrors the server's create bar (agent can_edit — the permission the
61
+ // create/apply handlers enforce on the referenced agent) so the connect
62
+ // affordance never appears to a viewer whose create would be refused.
63
+ const { allowed: canCreate } = useCheckPermission(agentId ? { kind: "agent", id: agentId } : null, "can_edit");
64
+ // Installs are cloud-only; CRUD is not. In local mode the cards render
65
+ // and toggles work, but connect affordances give way to the notice.
66
+ const installsAvailable = useDeploymentMode() === "cloud";
67
+ const { deleteChannel } = useDeleteAgentChannel();
68
+ const { confirmState, confirm, handleConfirm, handleCancel } = useConfirmAction();
69
+ // One dialog mount serves both flows per provider: connecting the
70
+ // chosen channel, or creating a new one and connecting it in the same
71
+ // session. The provider picks which dialog renders.
72
+ const [connecting, setConnecting] = useState(null);
73
+ // The channel whose tool-credential bindings are being edited.
74
+ const [editingCredentials, setEditingCredentials] = useState(null);
75
+ // The channel whose conversations are being viewed (DD-012: read-only
76
+ // channel-session observability for the channel's viewers).
77
+ const [viewingConversations, setViewingConversations] = useState(null);
78
+ const handleConnect = useCallback((channel, provider) => {
79
+ // Only redirect-style installs need the host hand-off (they open a
80
+ // popup the desktop webview cannot); direct installs are a plain
81
+ // API call and run in-app everywhere.
82
+ if (provider.installStyle === "redirect" && onConnectExternal) {
83
+ onConnectExternal(channel);
84
+ return;
85
+ }
86
+ setConnecting(channel ? { mode: "reconnect", channel } : { mode: "create", provider });
87
+ }, [onConnectExternal]);
88
+ const handleDelete = useCallback(async (channel) => {
89
+ const name = channel.metadata?.name || channel.metadata?.slug || "this channel";
90
+ const presentation = channelPresentationOf(channel.spec?.providerConfig?.case) ??
91
+ DEFAULT_CHANNEL_PRESENTATION;
92
+ const confirmed = await confirm({
93
+ title: "Disconnect channel?",
94
+ description: presentation.disconnectDescription(name),
95
+ confirmLabel: "Disconnect",
96
+ variant: "destructive",
97
+ });
98
+ if (!confirmed)
99
+ return;
100
+ try {
101
+ await deleteChannel(channel.metadata?.id ?? "");
102
+ toast.success("Channel disconnected");
103
+ refetch();
104
+ }
105
+ catch (err) {
106
+ toast.error(getUserMessage(err));
107
+ }
108
+ }, [confirm, deleteChannel, refetch]);
109
+ if (isLoading) {
110
+ return _jsx(LoadingSkeleton, {});
111
+ }
112
+ if (error) {
113
+ return (_jsx("div", { className: "py-8 text-center text-sm text-destructive", children: "Failed to load channels" }));
114
+ }
115
+ const showCloudNotice = !installsAvailable &&
116
+ (channels.length === 0 ||
117
+ channels.some((c) => installStateOf(c) !== AgentChannelInstallState.installed));
118
+ // Whether a provider's connect affordance is actionable here: installs
119
+ // are cloud-only, but redirect-style providers can still hand off to
120
+ // the host (the desktop → system-browser path). Direct-style providers
121
+ // have no hand-off — in local mode their affordance yields to the
122
+ // cloud notice.
123
+ const canConnectVia = (p) => canCreate &&
124
+ (installsAvailable || (p.installStyle === "redirect" && !!onConnectExternal));
125
+ const connectableProviders = CHANNEL_PROVIDERS.filter(canConnectVia);
126
+ // The provider of the in-flight connect flow: chosen by the user in
127
+ // create mode, the channel's own on a reconnect. Unknown cases (a
128
+ // newer server) fall back to the default provider, matching the card.
129
+ const connectingProvider = connecting === null
130
+ ? null
131
+ : connecting.mode === "create"
132
+ ? connecting.provider
133
+ : channelProviderOf(connecting.channel.spec?.providerConfig?.case) ??
134
+ CHANNEL_PROVIDERS[0];
135
+ return (_jsxs("div", { className: cn("space-y-3", className), children: [showCloudNotice && (_jsx(CloudFeatureNotice, { children: "Channel installs require Stigmer Cloud \u2014 connecting an agent to Slack or WhatsApp runs through the platform's hosted webhook infrastructure. Channel configuration still works here." })), channels.length === 0 ? (_jsx(ChannelEmptyState, { providers: connectableProviders, onConnectClick: (p) => handleConnect(null, p) })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsxs("h3", { className: "text-sm font-medium text-foreground", children: [channels.length, " ", channels.length === 1 ? "channel" : "channels"] }), connectableProviders.length > 0 && (_jsx("div", { className: "flex shrink-0 items-center gap-2", children: connectableProviders.map((p) => (_jsxs(Button, { variant: "outline", size: "xs", icon: _jsx(p.Icon, { className: "size-3" }), onClick: () => handleConnect(null, p), "data-cursor-target": `connect-${p.id}`, children: ["Connect to ", p.label] }, p.id))) }))] }), _jsx("div", { className: "space-y-2", children: channels.map((channel) => {
136
+ const cardProvider = channelProviderOf(channel.spec?.providerConfig?.case) ??
137
+ CHANNEL_PROVIDERS[0];
138
+ return (_jsx(ChannelCard, { agent: agent, channel: channel, channelApps: channelApps, connectAvailable: installsAvailable ||
139
+ (cardProvider.installStyle === "redirect" &&
140
+ !!onConnectExternal), onConnectClick: () => handleConnect(channel, cardProvider), onDeleteClick: () => void handleDelete(channel), onEditCredentials: () => setEditingCredentials(channel), onViewConversations: () => setViewingConversations(channel), refetch: refetch }, channel.metadata?.id));
141
+ }) })] })), connecting && connectingProvider?.id === "whatsapp" ? (_jsx(ConnectWhatsAppDialog, { open: true, onOpenChange: (open) => {
142
+ if (!open)
143
+ setConnecting(null);
144
+ }, agent: agent, channel: connecting.mode === "reconnect" ? connecting.channel : undefined, onChannelsChanged: refetch, channelAppsHref: channelAppsHref })) : connecting ? (_jsx(ConnectSlackDialog, { open: true, onOpenChange: (open) => {
145
+ if (!open)
146
+ setConnecting(null);
147
+ }, agent: agent, channel: connecting.mode === "reconnect" ? connecting.channel : undefined, onChannelsChanged: refetch, channelAppsHref: channelAppsHref })) : null, editingCredentials && (_jsx(ChannelCredentialsDialog, { open: true, onOpenChange: (open) => {
148
+ if (!open)
149
+ setEditingCredentials(null);
150
+ }, agent: agent, channel: editingCredentials, onSaved: refetch })), viewingConversations && (_jsx(ChannelConversationsDialog, { open: true, onOpenChange: (open) => {
151
+ if (!open)
152
+ setViewingConversations(null);
153
+ }, channel: viewingConversations, sessionHref: sessionHref })), _jsx(ConfirmDialog, { state: confirmState, onConfirm: handleConfirm, onCancel: handleCancel })] }));
154
+ }
155
+ function ChannelCard({ agent, channel, channelApps, connectAvailable, onConnectClick, onDeleteClick, onEditCredentials, onViewConversations, refetch, }) {
156
+ const meta = channel.metadata;
157
+ const id = meta?.id ?? "";
158
+ const enabled = channel.spec?.enabled ?? false;
159
+ const installState = installStateOf(channel);
160
+ // The serving app (T04 item 2): set means the channel installs through
161
+ // the org's own channel app; absent means the platform Stigmer app
162
+ // (Slack only — WhatsApp always has one, DD-WA-2). The app's NAME is
163
+ // the identity people address, so prefer it over the ref's slug when
164
+ // the app is in the fetched list (it may not be — e.g. the app was
165
+ // deleted after install).
166
+ const servingAppSlug = channel.spec?.appRef?.slug || null;
167
+ const servingAppName = servingAppSlug
168
+ ? channelApps.find((app) => app.metadata?.slug === servingAppSlug)
169
+ ?.metadata?.name || servingAppSlug
170
+ : null;
171
+ // The spec's provider marker is set at create; unknown cases (a newer
172
+ // server) fall back to the default provider mark rather than no icon,
173
+ // and to the default presentation rather than no copy.
174
+ const provider = channelProviderOf(channel.spec?.providerConfig?.case) ?? CHANNEL_PROVIDERS[0];
175
+ const presentation = channelPresentationOf(channel.spec?.providerConfig?.case) ??
176
+ DEFAULT_CHANNEL_PRESENTATION;
177
+ const { save, isPending } = useSaveAgentChannel();
178
+ // Decide the card's actions here (not via nested permission wrappers) so
179
+ // affordances are hidden entirely when the viewer can do nothing —
180
+ // permissive in OSS, so local single-user sees all.
181
+ const { allowed: canEdit } = useCheckPermission({ kind: "agent_channel", id }, "can_edit");
182
+ const { allowed: canDelete } = useCheckPermission({ kind: "agent_channel", id }, "can_delete");
183
+ // On/off is a full-input save with only `enabled` flipped —
184
+ // agentChannelToInput guarantees the toggle can never wipe the agent
185
+ // reference or the provider marker (the fails-closed posture shares use).
186
+ const handleToggleEnabled = useCallback(async (next) => {
187
+ try {
188
+ await save({ ...agentChannelToInput(channel), enabled: next });
189
+ toast.success(next ? "Channel turned on" : "Channel turned off");
190
+ refetch();
191
+ }
192
+ catch (err) {
193
+ toast.error(getUserMessage(err));
194
+ }
195
+ }, [save, channel, refetch]);
196
+ return (_jsxs("div", { className: "rounded-lg border border-border p-4", children: [_jsxs("div", { className: "flex items-start justify-between gap-3", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2.5", children: [_jsx(provider.Icon, { className: "size-5 shrink-0 text-foreground" }), _jsxs("div", { className: "min-w-0", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "truncate text-sm font-medium text-foreground", title: meta?.name || meta?.slug || undefined, children: meta?.name || meta?.slug || "\u2014" }), _jsx(InstallStatePill, { state: installState })] }), _jsx("p", { className: "mt-0.5 text-xs text-muted-foreground", children: presentation.describeChannel(channel) }), _jsx("p", { className: "mt-0.5 text-xs text-muted-foreground-faint", children: presentation.servingLine(servingAppName) })] })] }), _jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [canEdit && installState === AgentChannelInstallState.installed && (_jsx(Switch, { checked: enabled, onCheckedChange: (next) => void handleToggleEnabled(next), disabled: isPending, "aria-label": `Turn ${meta?.name || meta?.slug || "channel"} ${enabled ? "off" : "on"}` })), canEdit &&
197
+ connectAvailable &&
198
+ installState !== AgentChannelInstallState.installed && (_jsx(Button, { variant: "outline", size: "xs", onClick: onConnectClick, children: installState === AgentChannelInstallState.revoked
199
+ ? "Reconnect"
200
+ : "Connect" })), _jsxs(ActionMenu, { children: [_jsx(ActionMenu.Trigger, { "aria-label": `Actions for ${meta?.name || meta?.slug}`, children: _jsx(MoreHorizontal, { className: "size-4" }) }), _jsxs(ActionMenu.Content, { children: [_jsx(ActionMenu.Item, { icon: _jsx(MessageSquare, {}), onSelect: onViewConversations, "data-cursor-target": "channel-conversations", children: "Conversations" }), canEdit && (_jsx(ActionMenu.Item, { icon: _jsx(KeyRound, {}), onSelect: onEditCredentials, children: "Tool credentials" })), canDelete && (_jsx(ActionMenu.Item, { icon: _jsx(Trash2, {}), variant: "destructive", onSelect: onDeleteClick, children: "Disconnect" }))] })] })] })] }), _jsx(CardReadinessWarning, { agent: agent, channel: channel, canEdit: canEdit, onEditCredentials: onEditCredentials })] }));
201
+ }
202
+ /**
203
+ * Serving-readiness warning for tool-using agents: channel executions
204
+ * receive credentials only from the channel's own bindings, so an
205
+ * installed, enabled channel with none (or with a private binding) will
206
+ * refuse the first workspace message that needs a tool. The card is
207
+ * where an owner — including one who connected before credential
208
+ * binding existed — discovers the gap, instead of hearing about it from
209
+ * a confused workspace member.
210
+ */
211
+ function CardReadinessWarning({ agent, channel, canEdit, onEditCredentials, }) {
212
+ const serving = (channel.spec?.enabled ?? false) &&
213
+ installStateOf(channel) === AgentChannelInstallState.installed;
214
+ const readiness = useChannelToolReadiness(agent, serving, channel.spec?.environmentRefs ?? []);
215
+ if (readiness.status !== "needs-credentials" && readiness.status !== "blocked") {
216
+ return null;
217
+ }
218
+ const message = readiness.status === "needs-credentials"
219
+ ? "This agent uses tools, but no credentials are bound to this channel — workspace messages that need a tool will be refused."
220
+ : `Bound environment${readiness.privateEnvironments.length > 1 ? "s" : ""} ${readiness.privateEnvironments.join(", ")} ${readiness.privateEnvironments.length > 1 ? "are" : "is"} private — share ${readiness.privateEnvironments.length > 1 ? "them" : "it"} with your organization so workspace messages can use the credentials.`;
221
+ return (_jsxs("p", { className: "mt-2 text-xs text-warning", role: "status", children: [message, canEdit && (_jsxs(_Fragment, { children: [" ", _jsx("button", { type: "button", onClick: onEditCredentials, className: cn("font-medium underline underline-offset-2", "hover:text-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded"), children: "Bind credentials" })] }))] }));
222
+ }
223
+ // ---------------------------------------------------------------------------
224
+ // Install-state rendering
225
+ // ---------------------------------------------------------------------------
226
+ function installStateOf(channel) {
227
+ return (channel.status?.installState ??
228
+ AgentChannelInstallState.agent_channel_install_state_unspecified);
229
+ }
230
+ function InstallStatePill({ state }) {
231
+ const { label, tone } = (() => {
232
+ switch (state) {
233
+ case AgentChannelInstallState.installed:
234
+ return { label: "Installed", tone: "text-success" };
235
+ case AgentChannelInstallState.revoked:
236
+ return { label: "Revoked", tone: "text-destructive" };
237
+ default:
238
+ return { label: "Pending install", tone: "text-muted-foreground" };
239
+ }
240
+ })();
241
+ return (_jsxs("span", { className: cn("inline-flex shrink-0 items-center gap-1.5 text-xs", tone), children: [_jsx("span", { "aria-hidden": "true", className: "size-1.5 rounded-full bg-current" }), label] }));
242
+ }
243
+ // ---------------------------------------------------------------------------
244
+ // Empty + loading states
245
+ // ---------------------------------------------------------------------------
246
+ function ChannelEmptyState({ providers, onConnectClick, }) {
247
+ const providerLabels = CHANNEL_PROVIDERS.map((p) => p.label).join(" or ");
248
+ return (_jsx(EmptyState, { variant: "first-use", icon: _jsx("span", { className: "flex items-center gap-2", children: CHANNEL_PROVIDERS.map((p) => (_jsx(p.Icon, { className: "size-10" }, p.id))) }), title: "No channels yet", description: `Connect this agent to ${providerLabels} and people chat with it ` +
249
+ "right where they work — with policy, rate limits, and billing " +
250
+ "enforced by Stigmer.", children: providers.length > 0 && (_jsx("span", { className: "flex items-center gap-2", children: providers.map((p) => (_jsxs(Button, { variant: "primary", icon: _jsx(p.Icon, { className: "size-3" }), onClick: () => onConnectClick(p), "data-cursor-target": `connect-${p.id}`, children: ["Connect to ", p.label] }, p.id))) })) }));
251
+ }
252
+ function LoadingSkeleton() {
253
+ return (_jsx("div", { className: "space-y-2 py-4", children: [1, 2].map((i) => (_jsx("div", { className: "h-20 animate-pulse rounded-lg bg-muted-faint" }, i))) }));
254
+ }
255
+ //# sourceMappingURL=AgentChannelsPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentChannelsPanel.js","sourceRoot":"","sources":["../../src/channel/AgentChannelsPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { AgentChannel } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/api_pb";
2
+ /** Props for {@link ChannelConversationsDialog}. */
3
+ export interface ChannelConversationsDialogProps {
4
+ /** Whether the dialog is open. */
5
+ readonly open: boolean;
6
+ /** Called when the dialog requests an open-state change. */
7
+ readonly onOpenChange: (open: boolean) => void;
8
+ /** The channel whose conversations are listed. */
9
+ readonly channel: AgentChannel;
10
+ /**
11
+ * Maps a session id to the host's session route (the console passes
12
+ * `` (id) => `/sessions/${id}` ``). When absent, rows render without
13
+ * links — the SDK never assumes a routing scheme (DD-004).
14
+ */
15
+ readonly sessionHref?: (sessionId: string) => string;
16
+ /**
17
+ * When `false`, renders as an in-flow open dialog instead of a
18
+ * top-layer modal — for embedding in constrained surfaces
19
+ * (documentation demos, visual tests). Interactive hosts keep the
20
+ * default.
21
+ * @default true
22
+ */
23
+ readonly modal?: boolean;
24
+ }
25
+ /**
26
+ * Lists the conversations a channel created — the Slack/WhatsApp sessions
27
+ * the channel runtime owns, visible to exactly the channel's viewers (the
28
+ * connector and org admins; design decision 012).
29
+ *
30
+ * Each row shows the conversation subject, the external platform user it
31
+ * belongs to (an opaque provider id in v1), and the last activity time.
32
+ * Rows link to the host's session route, where `SessionViewer` renders the
33
+ * transcript read-only (the observer audience — channel viewers hold
34
+ * `can_view` only, never `can_create_execution_in`).
35
+ *
36
+ * Built on the native `<dialog>` element, matching the SDK's modal
37
+ * convention. Most hosts mount it via {@link AgentChannelsPanel}'s
38
+ * channel card action.
39
+ */
40
+ export declare function ChannelConversationsDialog({ open, onOpenChange, channel, sessionHref, modal, }: ChannelConversationsDialogProps): import("react/jsx-runtime").JSX.Element;
41
+ //# sourceMappingURL=ChannelConversationsDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelConversationsDialog.d.ts","sourceRoot":"","sources":["../../src/channel/ChannelConversationsDialog.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAO9F,oDAAoD;AACpD,MAAM,WAAW,+BAA+B;IAC9C,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACrD;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,WAAW,EACX,KAAY,GACb,EAAE,+BAA+B,2CA4CjC"}