@stigmer/react 2.0.0 → 3.0.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 (705) hide show
  1. package/README.md +64 -2
  2. package/agent/AgentDetailView.d.ts +26 -1
  3. package/agent/AgentDetailView.d.ts.map +1 -1
  4. package/agent/AgentDetailView.js +9 -2
  5. package/agent/AgentDetailView.js.map +1 -1
  6. package/agent/useAgentSetup.d.ts +19 -0
  7. package/agent/useAgentSetup.d.ts.map +1 -1
  8. package/agent/useAgentSetup.js +15 -1
  9. package/agent/useAgentSetup.js.map +1 -1
  10. package/agent-instance/AgentInstanceDetailPanel.d.ts +26 -0
  11. package/agent-instance/AgentInstanceDetailPanel.d.ts.map +1 -0
  12. package/agent-instance/AgentInstanceDetailPanel.js +94 -0
  13. package/agent-instance/AgentInstanceDetailPanel.js.map +1 -0
  14. package/agent-instance/AgentInstanceEmptyState.d.ts +17 -0
  15. package/agent-instance/AgentInstanceEmptyState.d.ts.map +1 -0
  16. package/agent-instance/AgentInstanceEmptyState.js +21 -0
  17. package/agent-instance/AgentInstanceEmptyState.js.map +1 -0
  18. package/agent-instance/AgentInstanceList.d.ts +38 -0
  19. package/agent-instance/AgentInstanceList.d.ts.map +1 -0
  20. package/agent-instance/AgentInstanceList.js +75 -0
  21. package/agent-instance/AgentInstanceList.js.map +1 -0
  22. package/agent-instance/CreateAgentInstanceDialog.d.ts +24 -0
  23. package/agent-instance/CreateAgentInstanceDialog.d.ts.map +1 -0
  24. package/agent-instance/CreateAgentInstanceDialog.js +78 -0
  25. package/agent-instance/CreateAgentInstanceDialog.js.map +1 -0
  26. package/agent-instance/index.d.ts +14 -0
  27. package/agent-instance/index.d.ts.map +1 -1
  28. package/agent-instance/index.js +7 -0
  29. package/agent-instance/index.js.map +1 -1
  30. package/agent-instance/useAgentInstances.d.ts +34 -0
  31. package/agent-instance/useAgentInstances.d.ts.map +1 -0
  32. package/agent-instance/useAgentInstances.js +37 -0
  33. package/agent-instance/useAgentInstances.js.map +1 -0
  34. package/agent-instance/useDeleteAgentInstance.d.ts +42 -0
  35. package/agent-instance/useDeleteAgentInstance.d.ts.map +1 -0
  36. package/agent-instance/useDeleteAgentInstance.js +48 -0
  37. package/agent-instance/useDeleteAgentInstance.js.map +1 -0
  38. package/agent-instance/useUpdateAgentInstance.d.ts +36 -0
  39. package/agent-instance/useUpdateAgentInstance.d.ts.map +1 -0
  40. package/agent-instance/useUpdateAgentInstance.js +47 -0
  41. package/agent-instance/useUpdateAgentInstance.js.map +1 -0
  42. package/composer/SessionComposer.d.ts +18 -0
  43. package/composer/SessionComposer.d.ts.map +1 -1
  44. package/composer/SessionComposer.js +27 -3
  45. package/composer/SessionComposer.js.map +1 -1
  46. package/execution/ApprovalCard.d.ts.map +1 -1
  47. package/execution/ApprovalCard.js +6 -3
  48. package/execution/ApprovalCard.js.map +1 -1
  49. package/execution/MessageThread.d.ts +3 -0
  50. package/execution/MessageThread.d.ts.map +1 -1
  51. package/execution/MessageThread.js +12 -2
  52. package/execution/MessageThread.js.map +1 -1
  53. package/execution/PlanArtifactCard.d.ts +29 -0
  54. package/execution/PlanArtifactCard.d.ts.map +1 -0
  55. package/execution/PlanArtifactCard.js +59 -0
  56. package/execution/PlanArtifactCard.js.map +1 -0
  57. package/execution/ResultView.d.ts +24 -0
  58. package/execution/ResultView.d.ts.map +1 -0
  59. package/execution/ResultView.js +152 -0
  60. package/execution/ResultView.js.map +1 -0
  61. package/execution/SubAgentSection.js +1 -1
  62. package/execution/SubAgentSection.js.map +1 -1
  63. package/execution/ToolCallDetail.d.ts +13 -19
  64. package/execution/ToolCallDetail.d.ts.map +1 -1
  65. package/execution/ToolCallDetail.js +42 -70
  66. package/execution/ToolCallDetail.js.map +1 -1
  67. package/execution/ToolCallGroup.js +2 -2
  68. package/execution/ToolCallGroup.js.map +1 -1
  69. package/execution/ToolCallItem.d.ts.map +1 -1
  70. package/execution/ToolCallItem.js +13 -9
  71. package/execution/ToolCallItem.js.map +1 -1
  72. package/execution/index.d.ts +7 -1
  73. package/execution/index.d.ts.map +1 -1
  74. package/execution/index.js +4 -1
  75. package/execution/index.js.map +1 -1
  76. package/execution/tool-categories.d.ts +30 -21
  77. package/execution/tool-categories.d.ts.map +1 -1
  78. package/execution/tool-categories.js +57 -49
  79. package/execution/tool-categories.js.map +1 -1
  80. package/execution/tool-presenter.d.ts +60 -0
  81. package/execution/tool-presenter.d.ts.map +1 -0
  82. package/execution/tool-presenter.js +81 -0
  83. package/execution/tool-presenter.js.map +1 -0
  84. package/execution/useCreateAgentExecution.d.ts +9 -0
  85. package/execution/useCreateAgentExecution.d.ts.map +1 -1
  86. package/execution/useCreateAgentExecution.js +1 -0
  87. package/execution/useCreateAgentExecution.js.map +1 -1
  88. package/index.d.ts +6 -5
  89. package/index.d.ts.map +1 -1
  90. package/index.js +7 -4
  91. package/index.js.map +1 -1
  92. package/library/detect-plan-artifact.d.ts +26 -0
  93. package/library/detect-plan-artifact.d.ts.map +1 -0
  94. package/library/detect-plan-artifact.js +37 -0
  95. package/library/detect-plan-artifact.js.map +1 -0
  96. package/library/index.d.ts +1 -0
  97. package/library/index.d.ts.map +1 -1
  98. package/library/index.js +1 -0
  99. package/library/index.js.map +1 -1
  100. package/package.json +4 -4
  101. package/provider.d.ts +5 -3
  102. package/provider.d.ts.map +1 -1
  103. package/provider.js.map +1 -1
  104. package/runner-adapter.d.ts +19 -4
  105. package/runner-adapter.d.ts.map +1 -1
  106. package/runner-adapter.js.map +1 -1
  107. package/session/NewSessionViewer.d.ts +10 -1
  108. package/session/NewSessionViewer.d.ts.map +1 -1
  109. package/session/NewSessionViewer.js +2 -2
  110. package/session/NewSessionViewer.js.map +1 -1
  111. package/session/SessionViewer.d.ts.map +1 -1
  112. package/session/SessionViewer.js +17 -2
  113. package/session/SessionViewer.js.map +1 -1
  114. package/session/useCreateSession.d.ts.map +1 -1
  115. package/session/useCreateSession.js +4 -6
  116. package/session/useCreateSession.js.map +1 -1
  117. package/session/useLocalSessionWorker.d.ts +33 -0
  118. package/session/useLocalSessionWorker.d.ts.map +1 -0
  119. package/session/useLocalSessionWorker.js +65 -0
  120. package/session/useLocalSessionWorker.js.map +1 -0
  121. package/session/useNewSessionFlow.d.ts.map +1 -1
  122. package/session/useNewSessionFlow.js +22 -1
  123. package/session/useNewSessionFlow.js.map +1 -1
  124. package/session/useSessionConversation.d.ts +12 -0
  125. package/session/useSessionConversation.d.ts.map +1 -1
  126. package/session/useSessionConversation.js +11 -0
  127. package/session/useSessionConversation.js.map +1 -1
  128. package/session/useSessionPageFlow.d.ts +23 -0
  129. package/session/useSessionPageFlow.d.ts.map +1 -1
  130. package/session/useSessionPageFlow.js +21 -1
  131. package/session/useSessionPageFlow.js.map +1 -1
  132. package/src/__tests__/runner-adapter.test.tsx +14 -107
  133. package/src/agent/AgentDetailView.tsx +49 -1
  134. package/src/agent/__tests__/useAgentSetup.resolveToInstance.test.tsx +73 -0
  135. package/src/agent/useAgentSetup.ts +48 -1
  136. package/src/agent-instance/AgentInstanceDetailPanel.tsx +359 -0
  137. package/src/agent-instance/AgentInstanceEmptyState.tsx +87 -0
  138. package/src/agent-instance/AgentInstanceList.tsx +329 -0
  139. package/src/agent-instance/CreateAgentInstanceDialog.tsx +258 -0
  140. package/src/agent-instance/__tests__/agent-instance-hooks.test.tsx +213 -0
  141. package/src/agent-instance/index.ts +15 -0
  142. package/src/agent-instance/useAgentInstances.ts +66 -0
  143. package/src/agent-instance/useDeleteAgentInstance.ts +73 -0
  144. package/src/agent-instance/useUpdateAgentInstance.ts +67 -0
  145. package/src/composer/SessionComposer.tsx +54 -2
  146. package/src/execution/ApprovalCard.tsx +22 -3
  147. package/src/execution/MessageThread.tsx +27 -3
  148. package/src/execution/PlanArtifactCard.tsx +257 -0
  149. package/src/execution/ResultView.tsx +366 -0
  150. package/src/execution/SubAgentSection.tsx +5 -0
  151. package/src/execution/ToolCallDetail.tsx +72 -173
  152. package/src/execution/ToolCallGroup.tsx +2 -2
  153. package/src/execution/ToolCallItem.tsx +25 -12
  154. package/src/execution/__tests__/ApprovalCard.test.tsx +99 -0
  155. package/src/execution/__tests__/ResultView.test.tsx +95 -0
  156. package/src/execution/__tests__/subagent-thread-item.test.ts +153 -0
  157. package/src/execution/__tests__/tool-presenter.test.tsx +78 -0
  158. package/src/execution/index.ts +16 -0
  159. package/src/execution/tool-categories.ts +80 -66
  160. package/src/execution/tool-presenter.ts +118 -0
  161. package/src/execution/useCreateAgentExecution.ts +10 -0
  162. package/src/index.ts +32 -1
  163. package/src/library/__tests__/detect-plan-artifact.test.ts +75 -0
  164. package/src/library/detect-plan-artifact.ts +43 -0
  165. package/src/library/index.ts +6 -0
  166. package/src/provider.tsx +5 -3
  167. package/src/runner-adapter.ts +19 -4
  168. package/src/session/NewSessionViewer.tsx +11 -0
  169. package/src/session/SessionViewer.tsx +46 -2
  170. package/src/session/__tests__/group-sessions.test.ts +3 -5
  171. package/src/session/__tests__/useLocalSessionWorker.test.tsx +194 -0
  172. package/src/session/__tests__/useNewSessionFlow.test.tsx +80 -4
  173. package/src/session/__tests__/useSessionConversation.test.tsx +89 -0
  174. package/src/session/__tests__/useSessionPageFlow.autoApprove.test.tsx +149 -0
  175. package/src/session/useCreateSession.ts +4 -7
  176. package/src/session/useLocalSessionWorker.ts +73 -0
  177. package/src/session/useNewSessionFlow.ts +23 -1
  178. package/src/session/useSessionConversation.ts +18 -0
  179. package/src/session/useSessionPageFlow.ts +51 -1
  180. package/src/workflow/__tests__/useWorkflowExecution.test.tsx +2 -2
  181. package/styles.css +1 -1
  182. package/__tests__/hooks.test.d.ts +0 -2
  183. package/__tests__/hooks.test.d.ts.map +0 -1
  184. package/__tests__/hooks.test.js +0 -35
  185. package/__tests__/hooks.test.js.map +0 -1
  186. package/__tests__/runner-adapter.test.d.ts +0 -2
  187. package/__tests__/runner-adapter.test.d.ts.map +0 -1
  188. package/__tests__/runner-adapter.test.js +0 -153
  189. package/__tests__/runner-adapter.test.js.map +0 -1
  190. package/activity/__tests__/useRecentActivity-optimistic.test.d.ts +0 -2
  191. package/activity/__tests__/useRecentActivity-optimistic.test.d.ts.map +0 -1
  192. package/activity/__tests__/useRecentActivity-optimistic.test.js +0 -139
  193. package/activity/__tests__/useRecentActivity-optimistic.test.js.map +0 -1
  194. package/activity/__tests__/useRecentActivity.test.d.ts +0 -2
  195. package/activity/__tests__/useRecentActivity.test.d.ts.map +0 -1
  196. package/activity/__tests__/useRecentActivity.test.js +0 -107
  197. package/activity/__tests__/useRecentActivity.test.js.map +0 -1
  198. package/agent/__tests__/useAgent.test.d.ts +0 -2
  199. package/agent/__tests__/useAgent.test.d.ts.map +0 -1
  200. package/agent/__tests__/useAgent.test.js +0 -86
  201. package/agent/__tests__/useAgent.test.js.map +0 -1
  202. package/agent/__tests__/useDefaultAgent.test.d.ts +0 -2
  203. package/agent/__tests__/useDefaultAgent.test.d.ts.map +0 -1
  204. package/agent/__tests__/useDefaultAgent.test.js +0 -135
  205. package/agent/__tests__/useDefaultAgent.test.js.map +0 -1
  206. package/billing/__tests__/CreditLedgerTable.test.d.ts +0 -2
  207. package/billing/__tests__/CreditLedgerTable.test.d.ts.map +0 -1
  208. package/billing/__tests__/CreditLedgerTable.test.js +0 -74
  209. package/billing/__tests__/CreditLedgerTable.test.js.map +0 -1
  210. package/composer/__tests__/ComposerToolbar-directAction.test.d.ts +0 -2
  211. package/composer/__tests__/ComposerToolbar-directAction.test.d.ts.map +0 -1
  212. package/composer/__tests__/ComposerToolbar-directAction.test.js +0 -64
  213. package/composer/__tests__/ComposerToolbar-directAction.test.js.map +0 -1
  214. package/composer/__tests__/SessionComposer-contract.test.d.ts +0 -2
  215. package/composer/__tests__/SessionComposer-contract.test.d.ts.map +0 -1
  216. package/composer/__tests__/SessionComposer-contract.test.js +0 -87
  217. package/composer/__tests__/SessionComposer-contract.test.js.map +0 -1
  218. package/composer/__tests__/SessionComposer-fileref.test.d.ts +0 -2
  219. package/composer/__tests__/SessionComposer-fileref.test.d.ts.map +0 -1
  220. package/composer/__tests__/SessionComposer-fileref.test.js +0 -132
  221. package/composer/__tests__/SessionComposer-fileref.test.js.map +0 -1
  222. package/composer/__tests__/SessionComposer-memo.test.d.ts +0 -2
  223. package/composer/__tests__/SessionComposer-memo.test.d.ts.map +0 -1
  224. package/composer/__tests__/SessionComposer-memo.test.js +0 -28
  225. package/composer/__tests__/SessionComposer-memo.test.js.map +0 -1
  226. package/composer/__tests__/useComposer.test.d.ts +0 -2
  227. package/composer/__tests__/useComposer.test.d.ts.map +0 -1
  228. package/composer/__tests__/useComposer.test.js +0 -139
  229. package/composer/__tests__/useComposer.test.js.map +0 -1
  230. package/environment/__tests__/systemEnvVars.test.d.ts +0 -2
  231. package/environment/__tests__/systemEnvVars.test.d.ts.map +0 -1
  232. package/environment/__tests__/systemEnvVars.test.js +0 -76
  233. package/environment/__tests__/systemEnvVars.test.js.map +0 -1
  234. package/execution/__tests__/MessageThread.test.d.ts +0 -2
  235. package/execution/__tests__/MessageThread.test.d.ts.map +0 -1
  236. package/execution/__tests__/MessageThread.test.js +0 -164
  237. package/execution/__tests__/MessageThread.test.js.map +0 -1
  238. package/execution/__tests__/PlanCompletionCard.test.d.ts +0 -2
  239. package/execution/__tests__/PlanCompletionCard.test.d.ts.map +0 -1
  240. package/execution/__tests__/PlanCompletionCard.test.js +0 -53
  241. package/execution/__tests__/PlanCompletionCard.test.js.map +0 -1
  242. package/execution/__tests__/buildThreadItems-plan-completion.test.d.ts +0 -2
  243. package/execution/__tests__/buildThreadItems-plan-completion.test.d.ts.map +0 -1
  244. package/execution/__tests__/buildThreadItems-plan-completion.test.js +0 -137
  245. package/execution/__tests__/buildThreadItems-plan-completion.test.js.map +0 -1
  246. package/execution/__tests__/execution-phases.test.d.ts +0 -2
  247. package/execution/__tests__/execution-phases.test.d.ts.map +0 -1
  248. package/execution/__tests__/execution-phases.test.js +0 -25
  249. package/execution/__tests__/execution-phases.test.js.map +0 -1
  250. package/execution/__tests__/file-path-resolver.test.d.ts +0 -2
  251. package/execution/__tests__/file-path-resolver.test.d.ts.map +0 -1
  252. package/execution/__tests__/file-path-resolver.test.js +0 -180
  253. package/execution/__tests__/file-path-resolver.test.js.map +0 -1
  254. package/execution/__tests__/message-entry.test.d.ts +0 -2
  255. package/execution/__tests__/message-entry.test.d.ts.map +0 -1
  256. package/execution/__tests__/message-entry.test.js +0 -178
  257. package/execution/__tests__/message-entry.test.js.map +0 -1
  258. package/execution/__tests__/thread-keys.test.d.ts +0 -2
  259. package/execution/__tests__/thread-keys.test.d.ts.map +0 -1
  260. package/execution/__tests__/thread-keys.test.js +0 -462
  261. package/execution/__tests__/thread-keys.test.js.map +0 -1
  262. package/execution/__tests__/thread-memoization.test.d.ts +0 -2
  263. package/execution/__tests__/thread-memoization.test.d.ts.map +0 -1
  264. package/execution/__tests__/thread-memoization.test.js +0 -262
  265. package/execution/__tests__/thread-memoization.test.js.map +0 -1
  266. package/execution/__tests__/thread-skeleton.test.d.ts +0 -2
  267. package/execution/__tests__/thread-skeleton.test.d.ts.map +0 -1
  268. package/execution/__tests__/thread-skeleton.test.js +0 -35
  269. package/execution/__tests__/thread-skeleton.test.js.map +0 -1
  270. package/execution/__tests__/useContextWindow.test.d.ts +0 -2
  271. package/execution/__tests__/useContextWindow.test.d.ts.map +0 -1
  272. package/execution/__tests__/useContextWindow.test.js +0 -121
  273. package/execution/__tests__/useContextWindow.test.js.map +0 -1
  274. package/execution/__tests__/useExecutionStream.test.d.ts +0 -2
  275. package/execution/__tests__/useExecutionStream.test.d.ts.map +0 -1
  276. package/execution/__tests__/useExecutionStream.test.js +0 -253
  277. package/execution/__tests__/useExecutionStream.test.js.map +0 -1
  278. package/execution/__tests__/useSessionVariables-stability.test.d.ts +0 -2
  279. package/execution/__tests__/useSessionVariables-stability.test.d.ts.map +0 -1
  280. package/execution/__tests__/useSessionVariables-stability.test.js +0 -69
  281. package/execution/__tests__/useSessionVariables-stability.test.js.map +0 -1
  282. package/execution/__tests__/virtualized-thread.test.d.ts +0 -2
  283. package/execution/__tests__/virtualized-thread.test.d.ts.map +0 -1
  284. package/execution/__tests__/virtualized-thread.test.js +0 -274
  285. package/execution/__tests__/virtualized-thread.test.js.map +0 -1
  286. package/file-reference/__tests__/FileReferenceChipList.test.d.ts +0 -2
  287. package/file-reference/__tests__/FileReferenceChipList.test.d.ts.map +0 -1
  288. package/file-reference/__tests__/FileReferenceChipList.test.js +0 -48
  289. package/file-reference/__tests__/FileReferenceChipList.test.js.map +0 -1
  290. package/file-reference/__tests__/useFileReferences.test.d.ts +0 -2
  291. package/file-reference/__tests__/useFileReferences.test.d.ts.map +0 -1
  292. package/file-reference/__tests__/useFileReferences.test.js +0 -90
  293. package/file-reference/__tests__/useFileReferences.test.js.map +0 -1
  294. package/github/__tests__/parseGitUrl.test.d.ts +0 -2
  295. package/github/__tests__/parseGitUrl.test.d.ts.map +0 -1
  296. package/github/__tests__/parseGitUrl.test.js +0 -47
  297. package/github/__tests__/parseGitUrl.test.js.map +0 -1
  298. package/github/__tests__/useGitHubTreeLister.test.d.ts +0 -2
  299. package/github/__tests__/useGitHubTreeLister.test.d.ts.map +0 -1
  300. package/github/__tests__/useGitHubTreeLister.test.js +0 -112
  301. package/github/__tests__/useGitHubTreeLister.test.js.map +0 -1
  302. package/internal/__tests__/ResizableSplit.test.d.ts +0 -2
  303. package/internal/__tests__/ResizableSplit.test.d.ts.map +0 -1
  304. package/internal/__tests__/ResizableSplit.test.js +0 -118
  305. package/internal/__tests__/ResizableSplit.test.js.map +0 -1
  306. package/internal/__tests__/fetch-cache.test.d.ts +0 -2
  307. package/internal/__tests__/fetch-cache.test.d.ts.map +0 -1
  308. package/internal/__tests__/fetch-cache.test.js +0 -182
  309. package/internal/__tests__/fetch-cache.test.js.map +0 -1
  310. package/internal/__tests__/stream-controller.test.d.ts +0 -2
  311. package/internal/__tests__/stream-controller.test.d.ts.map +0 -1
  312. package/internal/__tests__/stream-controller.test.js +0 -327
  313. package/internal/__tests__/stream-controller.test.js.map +0 -1
  314. package/internal/__tests__/thread-animation.test.d.ts +0 -2
  315. package/internal/__tests__/thread-animation.test.d.ts.map +0 -1
  316. package/internal/__tests__/thread-animation.test.js +0 -79
  317. package/internal/__tests__/thread-animation.test.js.map +0 -1
  318. package/internal/__tests__/useAutoScroll.test.d.ts +0 -2
  319. package/internal/__tests__/useAutoScroll.test.d.ts.map +0 -1
  320. package/internal/__tests__/useAutoScroll.test.js +0 -188
  321. package/internal/__tests__/useAutoScroll.test.js.map +0 -1
  322. package/internal/__tests__/useFetch-cache.test.d.ts +0 -2
  323. package/internal/__tests__/useFetch-cache.test.d.ts.map +0 -1
  324. package/internal/__tests__/useFetch-cache.test.js +0 -137
  325. package/internal/__tests__/useFetch-cache.test.js.map +0 -1
  326. package/internal/__tests__/useFetch-identity-reset.test.d.ts +0 -2
  327. package/internal/__tests__/useFetch-identity-reset.test.d.ts.map +0 -1
  328. package/internal/__tests__/useFetch-identity-reset.test.js +0 -281
  329. package/internal/__tests__/useFetch-identity-reset.test.js.map +0 -1
  330. package/internal/__tests__/useFetch.test.d.ts +0 -2
  331. package/internal/__tests__/useFetch.test.d.ts.map +0 -1
  332. package/internal/__tests__/useFetch.test.js +0 -95
  333. package/internal/__tests__/useFetch.test.js.map +0 -1
  334. package/internal/dev/__tests__/use-key-stability.test.d.ts +0 -2
  335. package/internal/dev/__tests__/use-key-stability.test.d.ts.map +0 -1
  336. package/internal/dev/__tests__/use-key-stability.test.js +0 -72
  337. package/internal/dev/__tests__/use-key-stability.test.js.map +0 -1
  338. package/internal/dev/__tests__/use-render-tracer.test.d.ts +0 -2
  339. package/internal/dev/__tests__/use-render-tracer.test.d.ts.map +0 -1
  340. package/internal/dev/__tests__/use-render-tracer.test.js +0 -55
  341. package/internal/dev/__tests__/use-render-tracer.test.js.map +0 -1
  342. package/internal/file-tree/__tests__/FileTreeNode-drag.test.d.ts +0 -2
  343. package/internal/file-tree/__tests__/FileTreeNode-drag.test.d.ts.map +0 -1
  344. package/internal/file-tree/__tests__/FileTreeNode-drag.test.js +0 -55
  345. package/internal/file-tree/__tests__/FileTreeNode-drag.test.js.map +0 -1
  346. package/internal/file-tree/__tests__/buildFileTree.test.d.ts +0 -2
  347. package/internal/file-tree/__tests__/buildFileTree.test.d.ts.map +0 -1
  348. package/internal/file-tree/__tests__/buildFileTree.test.js +0 -102
  349. package/internal/file-tree/__tests__/buildFileTree.test.js.map +0 -1
  350. package/internal/file-tree/__tests__/filterFileTree.test.d.ts +0 -2
  351. package/internal/file-tree/__tests__/filterFileTree.test.d.ts.map +0 -1
  352. package/internal/file-tree/__tests__/filterFileTree.test.js +0 -120
  353. package/internal/file-tree/__tests__/filterFileTree.test.js.map +0 -1
  354. package/internal/store/__tests__/conversation-store.test.d.ts +0 -2
  355. package/internal/store/__tests__/conversation-store.test.d.ts.map +0 -1
  356. package/internal/store/__tests__/conversation-store.test.js +0 -200
  357. package/internal/store/__tests__/conversation-store.test.js.map +0 -1
  358. package/internal/store/__tests__/selection-store.test.d.ts +0 -2
  359. package/internal/store/__tests__/selection-store.test.d.ts.map +0 -1
  360. package/internal/store/__tests__/selection-store.test.js +0 -93
  361. package/internal/store/__tests__/selection-store.test.js.map +0 -1
  362. package/internal/store/__tests__/structural-share.test.d.ts +0 -2
  363. package/internal/store/__tests__/structural-share.test.d.ts.map +0 -1
  364. package/internal/store/__tests__/structural-share.test.js +0 -368
  365. package/internal/store/__tests__/structural-share.test.js.map +0 -1
  366. package/internal/store/__tests__/workflow-execution-event-store.test.d.ts +0 -2
  367. package/internal/store/__tests__/workflow-execution-event-store.test.d.ts.map +0 -1
  368. package/internal/store/__tests__/workflow-execution-event-store.test.js +0 -215
  369. package/internal/store/__tests__/workflow-execution-event-store.test.js.map +0 -1
  370. package/invitation/__tests__/useCreateInvitation.test.d.ts +0 -2
  371. package/invitation/__tests__/useCreateInvitation.test.d.ts.map +0 -1
  372. package/invitation/__tests__/useCreateInvitation.test.js +0 -152
  373. package/invitation/__tests__/useCreateInvitation.test.js.map +0 -1
  374. package/models/__tests__/HarnessSelector.test.d.ts +0 -2
  375. package/models/__tests__/HarnessSelector.test.d.ts.map +0 -1
  376. package/models/__tests__/HarnessSelector.test.js +0 -160
  377. package/models/__tests__/HarnessSelector.test.js.map +0 -1
  378. package/models/__tests__/harness.test.d.ts +0 -2
  379. package/models/__tests__/harness.test.d.ts.map +0 -1
  380. package/models/__tests__/harness.test.js +0 -50
  381. package/models/__tests__/harness.test.js.map +0 -1
  382. package/models/__tests__/useModelRegistry.test.d.ts +0 -2
  383. package/models/__tests__/useModelRegistry.test.d.ts.map +0 -1
  384. package/models/__tests__/useModelRegistry.test.js +0 -246
  385. package/models/__tests__/useModelRegistry.test.js.map +0 -1
  386. package/session/__tests__/execution-target.test.d.ts +0 -2
  387. package/session/__tests__/execution-target.test.d.ts.map +0 -1
  388. package/session/__tests__/execution-target.test.js +0 -34
  389. package/session/__tests__/execution-target.test.js.map +0 -1
  390. package/session/__tests__/group-sessions.test.d.ts +0 -2
  391. package/session/__tests__/group-sessions.test.d.ts.map +0 -1
  392. package/session/__tests__/group-sessions.test.js +0 -91
  393. package/session/__tests__/group-sessions.test.js.map +0 -1
  394. package/session/__tests__/session-spec-converters.test.d.ts +0 -2
  395. package/session/__tests__/session-spec-converters.test.d.ts.map +0 -1
  396. package/session/__tests__/session-spec-converters.test.js +0 -160
  397. package/session/__tests__/session-spec-converters.test.js.map +0 -1
  398. package/session/__tests__/useCreateSession.test.d.ts +0 -2
  399. package/session/__tests__/useCreateSession.test.d.ts.map +0 -1
  400. package/session/__tests__/useCreateSession.test.js +0 -228
  401. package/session/__tests__/useCreateSession.test.js.map +0 -1
  402. package/session/__tests__/useNewSessionFlow.test.d.ts +0 -2
  403. package/session/__tests__/useNewSessionFlow.test.d.ts.map +0 -1
  404. package/session/__tests__/useNewSessionFlow.test.js +0 -364
  405. package/session/__tests__/useNewSessionFlow.test.js.map +0 -1
  406. package/session/__tests__/usePersistedModel.test.d.ts +0 -2
  407. package/session/__tests__/usePersistedModel.test.d.ts.map +0 -1
  408. package/session/__tests__/usePersistedModel.test.js +0 -96
  409. package/session/__tests__/usePersistedModel.test.js.map +0 -1
  410. package/session/__tests__/useSession.test.d.ts +0 -2
  411. package/session/__tests__/useSession.test.d.ts.map +0 -1
  412. package/session/__tests__/useSession.test.js +0 -93
  413. package/session/__tests__/useSession.test.js.map +0 -1
  414. package/session/__tests__/useSessionConversation.test.d.ts +0 -2
  415. package/session/__tests__/useSessionConversation.test.d.ts.map +0 -1
  416. package/session/__tests__/useSessionConversation.test.js +0 -246
  417. package/session/__tests__/useSessionConversation.test.js.map +0 -1
  418. package/session/__tests__/useSessionList.test.d.ts +0 -2
  419. package/session/__tests__/useSessionList.test.d.ts.map +0 -1
  420. package/session/__tests__/useSessionList.test.js +0 -63
  421. package/session/__tests__/useSessionList.test.js.map +0 -1
  422. package/session/__tests__/useSessionUsage.test.d.ts +0 -2
  423. package/session/__tests__/useSessionUsage.test.d.ts.map +0 -1
  424. package/session/__tests__/useSessionUsage.test.js +0 -146
  425. package/session/__tests__/useSessionUsage.test.js.map +0 -1
  426. package/session/inspector/__tests__/useSessionInspector.test.d.ts +0 -2
  427. package/session/inspector/__tests__/useSessionInspector.test.d.ts.map +0 -1
  428. package/session/inspector/__tests__/useSessionInspector.test.js +0 -195
  429. package/session/inspector/__tests__/useSessionInspector.test.js.map +0 -1
  430. package/test/__tests__/samples.test.d.ts +0 -2
  431. package/test/__tests__/samples.test.d.ts.map +0 -1
  432. package/test/__tests__/samples.test.js +0 -152
  433. package/test/__tests__/samples.test.js.map +0 -1
  434. package/workflow/__tests__/ExecutionInspector.test.d.ts +0 -2
  435. package/workflow/__tests__/ExecutionInspector.test.d.ts.map +0 -1
  436. package/workflow/__tests__/ExecutionInspector.test.js +0 -91
  437. package/workflow/__tests__/ExecutionInspector.test.js.map +0 -1
  438. package/workflow/__tests__/WorkflowArchitectDialog.test.d.ts +0 -2
  439. package/workflow/__tests__/WorkflowArchitectDialog.test.d.ts.map +0 -1
  440. package/workflow/__tests__/WorkflowArchitectDialog.test.js +0 -126
  441. package/workflow/__tests__/WorkflowArchitectDialog.test.js.map +0 -1
  442. package/workflow/__tests__/WorkflowRefinePanel.test.d.ts +0 -2
  443. package/workflow/__tests__/WorkflowRefinePanel.test.d.ts.map +0 -1
  444. package/workflow/__tests__/WorkflowRefinePanel.test.js +0 -138
  445. package/workflow/__tests__/WorkflowRefinePanel.test.js.map +0 -1
  446. package/workflow/__tests__/WorkflowRepairCard.test.d.ts +0 -2
  447. package/workflow/__tests__/WorkflowRepairCard.test.d.ts.map +0 -1
  448. package/workflow/__tests__/WorkflowRepairCard.test.js +0 -158
  449. package/workflow/__tests__/WorkflowRepairCard.test.js.map +0 -1
  450. package/workflow/__tests__/WorkflowTaskApprovalCard.test.d.ts +0 -2
  451. package/workflow/__tests__/WorkflowTaskApprovalCard.test.d.ts.map +0 -1
  452. package/workflow/__tests__/WorkflowTaskApprovalCard.test.js +0 -221
  453. package/workflow/__tests__/WorkflowTaskApprovalCard.test.js.map +0 -1
  454. package/workflow/__tests__/WorkflowTaskApprovalSummary.test.d.ts +0 -2
  455. package/workflow/__tests__/WorkflowTaskApprovalSummary.test.d.ts.map +0 -1
  456. package/workflow/__tests__/WorkflowTaskApprovalSummary.test.js +0 -94
  457. package/workflow/__tests__/WorkflowTaskApprovalSummary.test.js.map +0 -1
  458. package/workflow/__tests__/agent-call-live-experience.test.d.ts +0 -11
  459. package/workflow/__tests__/agent-call-live-experience.test.d.ts.map +0 -1
  460. package/workflow/__tests__/agent-call-live-experience.test.js +0 -379
  461. package/workflow/__tests__/agent-call-live-experience.test.js.map +0 -1
  462. package/workflow/__tests__/branch-commands.test.d.ts +0 -2
  463. package/workflow/__tests__/branch-commands.test.d.ts.map +0 -1
  464. package/workflow/__tests__/branch-commands.test.js +0 -165
  465. package/workflow/__tests__/branch-commands.test.js.map +0 -1
  466. package/workflow/__tests__/caption-dimensions.test.d.ts +0 -2
  467. package/workflow/__tests__/caption-dimensions.test.d.ts.map +0 -1
  468. package/workflow/__tests__/caption-dimensions.test.js +0 -89
  469. package/workflow/__tests__/caption-dimensions.test.js.map +0 -1
  470. package/workflow/__tests__/clipboard.test.d.ts +0 -2
  471. package/workflow/__tests__/clipboard.test.d.ts.map +0 -1
  472. package/workflow/__tests__/clipboard.test.js +0 -172
  473. package/workflow/__tests__/clipboard.test.js.map +0 -1
  474. package/workflow/__tests__/cncf-yaml-to-graph.test.d.ts +0 -2
  475. package/workflow/__tests__/cncf-yaml-to-graph.test.d.ts.map +0 -1
  476. package/workflow/__tests__/cncf-yaml-to-graph.test.js +0 -479
  477. package/workflow/__tests__/cncf-yaml-to-graph.test.js.map +0 -1
  478. package/workflow/__tests__/context-menu-logic.test.d.ts +0 -2
  479. package/workflow/__tests__/context-menu-logic.test.d.ts.map +0 -1
  480. package/workflow/__tests__/context-menu-logic.test.js +0 -97
  481. package/workflow/__tests__/context-menu-logic.test.js.map +0 -1
  482. package/workflow/__tests__/derive-execution-overlays.test.d.ts +0 -2
  483. package/workflow/__tests__/derive-execution-overlays.test.d.ts.map +0 -1
  484. package/workflow/__tests__/derive-execution-overlays.test.js +0 -338
  485. package/workflow/__tests__/derive-execution-overlays.test.js.map +0 -1
  486. package/workflow/__tests__/derive-task-detail.test.d.ts +0 -2
  487. package/workflow/__tests__/derive-task-detail.test.d.ts.map +0 -1
  488. package/workflow/__tests__/derive-task-detail.test.js +0 -1035
  489. package/workflow/__tests__/derive-task-detail.test.js.map +0 -1
  490. package/workflow/__tests__/derive-waterfall-entries.test.d.ts +0 -2
  491. package/workflow/__tests__/derive-waterfall-entries.test.d.ts.map +0 -1
  492. package/workflow/__tests__/derive-waterfall-entries.test.js +0 -419
  493. package/workflow/__tests__/derive-waterfall-entries.test.js.map +0 -1
  494. package/workflow/__tests__/execution-graph.test.d.ts +0 -2
  495. package/workflow/__tests__/execution-graph.test.d.ts.map +0 -1
  496. package/workflow/__tests__/execution-graph.test.js +0 -251
  497. package/workflow/__tests__/execution-graph.test.js.map +0 -1
  498. package/workflow/__tests__/execution-inspector.test.d.ts +0 -2
  499. package/workflow/__tests__/execution-inspector.test.d.ts.map +0 -1
  500. package/workflow/__tests__/execution-inspector.test.js +0 -248
  501. package/workflow/__tests__/execution-inspector.test.js.map +0 -1
  502. package/workflow/__tests__/extract-workflow-yaml.test.d.ts +0 -2
  503. package/workflow/__tests__/extract-workflow-yaml.test.d.ts.map +0 -1
  504. package/workflow/__tests__/extract-workflow-yaml.test.js +0 -135
  505. package/workflow/__tests__/extract-workflow-yaml.test.js.map +0 -1
  506. package/workflow/__tests__/format-utils.test.d.ts +0 -2
  507. package/workflow/__tests__/format-utils.test.d.ts.map +0 -1
  508. package/workflow/__tests__/format-utils.test.js +0 -128
  509. package/workflow/__tests__/format-utils.test.js.map +0 -1
  510. package/workflow/__tests__/inspector-commands.test.d.ts +0 -2
  511. package/workflow/__tests__/inspector-commands.test.d.ts.map +0 -1
  512. package/workflow/__tests__/inspector-commands.test.js +0 -110
  513. package/workflow/__tests__/inspector-commands.test.js.map +0 -1
  514. package/workflow/__tests__/inspector-forms.test.d.ts +0 -2
  515. package/workflow/__tests__/inspector-forms.test.d.ts.map +0 -1
  516. package/workflow/__tests__/inspector-forms.test.js +0 -114
  517. package/workflow/__tests__/inspector-forms.test.js.map +0 -1
  518. package/workflow/__tests__/inspector-tabs.test.d.ts +0 -2
  519. package/workflow/__tests__/inspector-tabs.test.d.ts.map +0 -1
  520. package/workflow/__tests__/inspector-tabs.test.js +0 -81
  521. package/workflow/__tests__/inspector-tabs.test.js.map +0 -1
  522. package/workflow/__tests__/kind-metadata.test.d.ts +0 -2
  523. package/workflow/__tests__/kind-metadata.test.d.ts.map +0 -1
  524. package/workflow/__tests__/kind-metadata.test.js +0 -80
  525. package/workflow/__tests__/kind-metadata.test.js.map +0 -1
  526. package/workflow/__tests__/motion-preference.test.d.ts +0 -2
  527. package/workflow/__tests__/motion-preference.test.d.ts.map +0 -1
  528. package/workflow/__tests__/motion-preference.test.js +0 -42
  529. package/workflow/__tests__/motion-preference.test.js.map +0 -1
  530. package/workflow/__tests__/node-popover.test.d.ts +0 -2
  531. package/workflow/__tests__/node-popover.test.d.ts.map +0 -1
  532. package/workflow/__tests__/node-popover.test.js +0 -130
  533. package/workflow/__tests__/node-popover.test.js.map +0 -1
  534. package/workflow/__tests__/node-shell.test.d.ts +0 -2
  535. package/workflow/__tests__/node-shell.test.d.ts.map +0 -1
  536. package/workflow/__tests__/node-shell.test.js +0 -210
  537. package/workflow/__tests__/node-shell.test.js.map +0 -1
  538. package/workflow/__tests__/overview-graph.test.d.ts +0 -2
  539. package/workflow/__tests__/overview-graph.test.d.ts.map +0 -1
  540. package/workflow/__tests__/overview-graph.test.js +0 -83
  541. package/workflow/__tests__/overview-graph.test.js.map +0 -1
  542. package/workflow/__tests__/overview-summary.test.d.ts +0 -2
  543. package/workflow/__tests__/overview-summary.test.d.ts.map +0 -1
  544. package/workflow/__tests__/overview-summary.test.js +0 -73
  545. package/workflow/__tests__/overview-summary.test.js.map +0 -1
  546. package/workflow/__tests__/shortcut-registry.test.d.ts +0 -2
  547. package/workflow/__tests__/shortcut-registry.test.d.ts.map +0 -1
  548. package/workflow/__tests__/shortcut-registry.test.js +0 -111
  549. package/workflow/__tests__/shortcut-registry.test.js.map +0 -1
  550. package/workflow/__tests__/starter-workflow-yaml.test.d.ts +0 -2
  551. package/workflow/__tests__/starter-workflow-yaml.test.d.ts.map +0 -1
  552. package/workflow/__tests__/starter-workflow-yaml.test.js +0 -44
  553. package/workflow/__tests__/starter-workflow-yaml.test.js.map +0 -1
  554. package/workflow/__tests__/structured-data-viewer.test.d.ts +0 -2
  555. package/workflow/__tests__/structured-data-viewer.test.d.ts.map +0 -1
  556. package/workflow/__tests__/structured-data-viewer.test.js +0 -438
  557. package/workflow/__tests__/structured-data-viewer.test.js.map +0 -1
  558. package/workflow/__tests__/t09-branch-management.test.d.ts +0 -2
  559. package/workflow/__tests__/t09-branch-management.test.d.ts.map +0 -1
  560. package/workflow/__tests__/t09-branch-management.test.js +0 -433
  561. package/workflow/__tests__/t09-branch-management.test.js.map +0 -1
  562. package/workflow/__tests__/task-type-visual-registry.test.d.ts +0 -2
  563. package/workflow/__tests__/task-type-visual-registry.test.d.ts.map +0 -1
  564. package/workflow/__tests__/task-type-visual-registry.test.js +0 -99
  565. package/workflow/__tests__/task-type-visual-registry.test.js.map +0 -1
  566. package/workflow/__tests__/useActiveTaskName.test.d.ts +0 -2
  567. package/workflow/__tests__/useActiveTaskName.test.d.ts.map +0 -1
  568. package/workflow/__tests__/useActiveTaskName.test.js +0 -80
  569. package/workflow/__tests__/useActiveTaskName.test.js.map +0 -1
  570. package/workflow/__tests__/useDiagnoseExecutionFlow.test.d.ts +0 -2
  571. package/workflow/__tests__/useDiagnoseExecutionFlow.test.d.ts.map +0 -1
  572. package/workflow/__tests__/useDiagnoseExecutionFlow.test.js +0 -363
  573. package/workflow/__tests__/useDiagnoseExecutionFlow.test.js.map +0 -1
  574. package/workflow/__tests__/useExecutionAnnouncements.test.d.ts +0 -2
  575. package/workflow/__tests__/useExecutionAnnouncements.test.d.ts.map +0 -1
  576. package/workflow/__tests__/useExecutionAnnouncements.test.js +0 -85
  577. package/workflow/__tests__/useExecutionAnnouncements.test.js.map +0 -1
  578. package/workflow/__tests__/useFollowExecution.test.d.ts +0 -2
  579. package/workflow/__tests__/useFollowExecution.test.d.ts.map +0 -1
  580. package/workflow/__tests__/useFollowExecution.test.js +0 -130
  581. package/workflow/__tests__/useFollowExecution.test.js.map +0 -1
  582. package/workflow/__tests__/useRefineWorkflowFlow.test.d.ts +0 -2
  583. package/workflow/__tests__/useRefineWorkflowFlow.test.d.ts.map +0 -1
  584. package/workflow/__tests__/useRefineWorkflowFlow.test.js +0 -367
  585. package/workflow/__tests__/useRefineWorkflowFlow.test.js.map +0 -1
  586. package/workflow/__tests__/useRunWorkflowFlow.test.d.ts +0 -2
  587. package/workflow/__tests__/useRunWorkflowFlow.test.d.ts.map +0 -1
  588. package/workflow/__tests__/useRunWorkflowFlow.test.js +0 -385
  589. package/workflow/__tests__/useRunWorkflowFlow.test.js.map +0 -1
  590. package/workflow/__tests__/useWorkflowArchitectFlow.test.d.ts +0 -2
  591. package/workflow/__tests__/useWorkflowArchitectFlow.test.d.ts.map +0 -1
  592. package/workflow/__tests__/useWorkflowArchitectFlow.test.js +0 -376
  593. package/workflow/__tests__/useWorkflowArchitectFlow.test.js.map +0 -1
  594. package/workflow/__tests__/useWorkflowExecution.test.d.ts +0 -2
  595. package/workflow/__tests__/useWorkflowExecution.test.d.ts.map +0 -1
  596. package/workflow/__tests__/useWorkflowExecution.test.js +0 -229
  597. package/workflow/__tests__/useWorkflowExecution.test.js.map +0 -1
  598. package/workflow/__tests__/useWorkflowExecutionActions.test.d.ts +0 -2
  599. package/workflow/__tests__/useWorkflowExecutionActions.test.d.ts.map +0 -1
  600. package/workflow/__tests__/useWorkflowExecutionActions.test.js +0 -191
  601. package/workflow/__tests__/useWorkflowExecutionActions.test.js.map +0 -1
  602. package/workflow/__tests__/useWorkflowExecutionEventStream.test.d.ts +0 -2
  603. package/workflow/__tests__/useWorkflowExecutionEventStream.test.d.ts.map +0 -1
  604. package/workflow/__tests__/useWorkflowExecutionEventStream.test.js +0 -291
  605. package/workflow/__tests__/useWorkflowExecutionEventStream.test.js.map +0 -1
  606. package/workflow/__tests__/workflow-instance-hooks.test.d.ts +0 -2
  607. package/workflow/__tests__/workflow-instance-hooks.test.d.ts.map +0 -1
  608. package/workflow/__tests__/workflow-instance-hooks.test.js +0 -153
  609. package/workflow/__tests__/workflow-instance-hooks.test.js.map +0 -1
  610. package/workflow/__tests__/workflow-summary-panel.test.d.ts +0 -2
  611. package/workflow/__tests__/workflow-summary-panel.test.d.ts.map +0 -1
  612. package/workflow/__tests__/workflow-summary-panel.test.js +0 -85
  613. package/workflow/__tests__/workflow-summary-panel.test.js.map +0 -1
  614. package/workflow/__tests__/workflow-uses-trigger-input.test.d.ts +0 -2
  615. package/workflow/__tests__/workflow-uses-trigger-input.test.d.ts.map +0 -1
  616. package/workflow/__tests__/workflow-uses-trigger-input.test.js +0 -144
  617. package/workflow/__tests__/workflow-uses-trigger-input.test.js.map +0 -1
  618. package/workflow/__tests__/workflow-yaml-diff.test.d.ts +0 -2
  619. package/workflow/__tests__/workflow-yaml-diff.test.d.ts.map +0 -1
  620. package/workflow/__tests__/workflow-yaml-diff.test.js +0 -110
  621. package/workflow/__tests__/workflow-yaml-diff.test.js.map +0 -1
  622. package/workflow/diff/__tests__/build-diff-graph.test.d.ts +0 -2
  623. package/workflow/diff/__tests__/build-diff-graph.test.d.ts.map +0 -1
  624. package/workflow/diff/__tests__/build-diff-graph.test.js +0 -115
  625. package/workflow/diff/__tests__/build-diff-graph.test.js.map +0 -1
  626. package/workflow/diff/__tests__/graph-diff.test.d.ts +0 -2
  627. package/workflow/diff/__tests__/graph-diff.test.d.ts.map +0 -1
  628. package/workflow/diff/__tests__/graph-diff.test.js +0 -196
  629. package/workflow/diff/__tests__/graph-diff.test.js.map +0 -1
  630. package/workflow/execution-comparison/__tests__/derive-execution-comparison.test.d.ts +0 -2
  631. package/workflow/execution-comparison/__tests__/derive-execution-comparison.test.d.ts.map +0 -1
  632. package/workflow/execution-comparison/__tests__/derive-execution-comparison.test.js +0 -263
  633. package/workflow/execution-comparison/__tests__/derive-execution-comparison.test.js.map +0 -1
  634. package/workflow/execution-history/__tests__/derive-execution-row.test.d.ts +0 -2
  635. package/workflow/execution-history/__tests__/derive-execution-row.test.d.ts.map +0 -1
  636. package/workflow/execution-history/__tests__/derive-execution-row.test.js +0 -276
  637. package/workflow/execution-history/__tests__/derive-execution-row.test.js.map +0 -1
  638. package/workflow/execution-history/__tests__/derive-failure-analysis.test.d.ts +0 -2
  639. package/workflow/execution-history/__tests__/derive-failure-analysis.test.d.ts.map +0 -1
  640. package/workflow/execution-history/__tests__/derive-failure-analysis.test.js +0 -132
  641. package/workflow/execution-history/__tests__/derive-failure-analysis.test.js.map +0 -1
  642. package/workflow/layout/__tests__/dagre-layout-engine.test.d.ts +0 -2
  643. package/workflow/layout/__tests__/dagre-layout-engine.test.d.ts.map +0 -1
  644. package/workflow/layout/__tests__/dagre-layout-engine.test.js +0 -105
  645. package/workflow/layout/__tests__/dagre-layout-engine.test.js.map +0 -1
  646. package/workflow/layout/__tests__/layout-postprocessor.test.d.ts +0 -2
  647. package/workflow/layout/__tests__/layout-postprocessor.test.d.ts.map +0 -1
  648. package/workflow/layout/__tests__/layout-postprocessor.test.js +0 -123
  649. package/workflow/layout/__tests__/layout-postprocessor.test.js.map +0 -1
  650. package/workflow/layout/__tests__/port-assignment.test.d.ts +0 -2
  651. package/workflow/layout/__tests__/port-assignment.test.d.ts.map +0 -1
  652. package/workflow/layout/__tests__/port-assignment.test.js +0 -200
  653. package/workflow/layout/__tests__/port-assignment.test.js.map +0 -1
  654. package/workflow/layout/__tests__/registry-dimensions.test.d.ts +0 -2
  655. package/workflow/layout/__tests__/registry-dimensions.test.d.ts.map +0 -1
  656. package/workflow/layout/__tests__/registry-dimensions.test.js +0 -104
  657. package/workflow/layout/__tests__/registry-dimensions.test.js.map +0 -1
  658. package/workflow/layout/__tests__/useElkLayoutEngine.test.d.ts +0 -2
  659. package/workflow/layout/__tests__/useElkLayoutEngine.test.d.ts.map +0 -1
  660. package/workflow/layout/__tests__/useElkLayoutEngine.test.js +0 -106
  661. package/workflow/layout/__tests__/useElkLayoutEngine.test.js.map +0 -1
  662. package/workflow/layout/__tests__/workflow-preprocessor.test.d.ts +0 -2
  663. package/workflow/layout/__tests__/workflow-preprocessor.test.d.ts.map +0 -1
  664. package/workflow/layout/__tests__/workflow-preprocessor.test.js +0 -138
  665. package/workflow/layout/__tests__/workflow-preprocessor.test.js.map +0 -1
  666. package/workflow/picker/__tests__/compatibility.test.d.ts +0 -2
  667. package/workflow/picker/__tests__/compatibility.test.d.ts.map +0 -1
  668. package/workflow/picker/__tests__/compatibility.test.js +0 -93
  669. package/workflow/picker/__tests__/compatibility.test.js.map +0 -1
  670. package/workflow/picker/__tests__/insertion-context.test.d.ts +0 -2
  671. package/workflow/picker/__tests__/insertion-context.test.d.ts.map +0 -1
  672. package/workflow/picker/__tests__/insertion-context.test.js +0 -67
  673. package/workflow/picker/__tests__/insertion-context.test.js.map +0 -1
  674. package/workflow/picker/__tests__/recents.test.d.ts +0 -2
  675. package/workflow/picker/__tests__/recents.test.d.ts.map +0 -1
  676. package/workflow/picker/__tests__/recents.test.js +0 -81
  677. package/workflow/picker/__tests__/recents.test.js.map +0 -1
  678. package/workflow/picker/__tests__/suggestions.test.d.ts +0 -2
  679. package/workflow/picker/__tests__/suggestions.test.d.ts.map +0 -1
  680. package/workflow/picker/__tests__/suggestions.test.js +0 -111
  681. package/workflow/picker/__tests__/suggestions.test.js.map +0 -1
  682. package/workflow/templates/__tests__/derive-template-metadata.test.d.ts +0 -2
  683. package/workflow/templates/__tests__/derive-template-metadata.test.d.ts.map +0 -1
  684. package/workflow/templates/__tests__/derive-template-metadata.test.js +0 -317
  685. package/workflow/templates/__tests__/derive-template-metadata.test.js.map +0 -1
  686. package/workflow/templates/__tests__/workflow-template-gallery.test.d.ts +0 -2
  687. package/workflow/templates/__tests__/workflow-template-gallery.test.d.ts.map +0 -1
  688. package/workflow/templates/__tests__/workflow-template-gallery.test.js +0 -119
  689. package/workflow/templates/__tests__/workflow-template-gallery.test.js.map +0 -1
  690. package/workspace/__tests__/WorkspaceEditor-initialPanel.test.d.ts +0 -2
  691. package/workspace/__tests__/WorkspaceEditor-initialPanel.test.d.ts.map +0 -1
  692. package/workspace/__tests__/WorkspaceEditor-initialPanel.test.js +0 -82
  693. package/workspace/__tests__/WorkspaceEditor-initialPanel.test.js.map +0 -1
  694. package/workspace/__tests__/useWorkspaceEntries-stability.test.d.ts +0 -2
  695. package/workspace/__tests__/useWorkspaceEntries-stability.test.d.ts.map +0 -1
  696. package/workspace/__tests__/useWorkspaceEntries-stability.test.js +0 -57
  697. package/workspace/__tests__/useWorkspaceEntries-stability.test.js.map +0 -1
  698. package/workspace/__tests__/useWorkspaceFiles.test.d.ts +0 -2
  699. package/workspace/__tests__/useWorkspaceFiles.test.d.ts.map +0 -1
  700. package/workspace/__tests__/useWorkspaceFiles.test.js +0 -128
  701. package/workspace/__tests__/useWorkspaceFiles.test.js.map +0 -1
  702. package/workspace/__tests__/useWorkspaceSources.test.d.ts +0 -2
  703. package/workspace/__tests__/useWorkspaceSources.test.d.ts.map +0 -1
  704. package/workspace/__tests__/useWorkspaceSources.test.js +0 -98
  705. package/workspace/__tests__/useWorkspaceSources.test.js.map +0 -1
@@ -0,0 +1,213 @@
1
+ import { describe, it, expect, vi, beforeEach } from "vitest";
2
+ import { renderHook, act, waitFor } from "@testing-library/react";
3
+ import type { ReactNode } from "react";
4
+ import type { Stigmer } from "@stigmer/sdk";
5
+ import { StigmerContext } from "../../context";
6
+ import { useCreateAgentInstance } from "../useCreateAgentInstance";
7
+ import { useUpdateAgentInstance } from "../useUpdateAgentInstance";
8
+ import { useDeleteAgentInstance } from "../useDeleteAgentInstance";
9
+ import { useAgentInstances } from "../useAgentInstances";
10
+
11
+ // ---------------------------------------------------------------------------
12
+ // Helpers
13
+ // ---------------------------------------------------------------------------
14
+
15
+ function makeInstance(id = "ain-001") {
16
+ return {
17
+ metadata: { id, name: "test-instance", slug: "test-instance", org: "org-1" },
18
+ spec: { agentId: "agent-001", description: "Test", environmentRefs: [] },
19
+ } as any;
20
+ }
21
+
22
+ const mockCreate = vi.fn();
23
+ const mockUpdate = vi.fn();
24
+ const mockDelete = vi.fn();
25
+ const mockGetByAgent = vi.fn();
26
+
27
+ function makeMockClient(): Stigmer {
28
+ return {
29
+ agentInstance: {
30
+ create: mockCreate,
31
+ update: mockUpdate,
32
+ delete: mockDelete,
33
+ getByAgent: mockGetByAgent,
34
+ },
35
+ } as unknown as Stigmer;
36
+ }
37
+
38
+ function createWrapper(client: Stigmer) {
39
+ return function Wrapper({ children }: { children: ReactNode }) {
40
+ return (
41
+ <StigmerContext.Provider value={client}>
42
+ {children}
43
+ </StigmerContext.Provider>
44
+ );
45
+ };
46
+ }
47
+
48
+ beforeEach(() => {
49
+ vi.clearAllMocks();
50
+ });
51
+
52
+ // ---------------------------------------------------------------------------
53
+ // useCreateAgentInstance
54
+ // ---------------------------------------------------------------------------
55
+
56
+ describe("useCreateAgentInstance", () => {
57
+ it("returns created instance on success", async () => {
58
+ const instance = makeInstance();
59
+ mockCreate.mockResolvedValueOnce(instance);
60
+
61
+ const { result } = renderHook(() => useCreateAgentInstance(), {
62
+ wrapper: createWrapper(makeMockClient()),
63
+ });
64
+
65
+ let created: any;
66
+ await act(async () => {
67
+ created = await result.current.create({
68
+ name: "test-instance",
69
+ org: "org-1",
70
+ agentId: "agent-001",
71
+ });
72
+ });
73
+
74
+ expect(created).toBe(instance);
75
+ expect(result.current.isCreating).toBe(false);
76
+ expect(result.current.error).toBeNull();
77
+ expect(mockCreate).toHaveBeenCalledTimes(1);
78
+ });
79
+
80
+ it("sets error and re-throws on failure", async () => {
81
+ mockCreate.mockRejectedValueOnce(new Error("Create failed"));
82
+
83
+ const { result } = renderHook(() => useCreateAgentInstance(), {
84
+ wrapper: createWrapper(makeMockClient()),
85
+ });
86
+
87
+ await act(async () => {
88
+ await expect(
89
+ result.current.create({ name: "x", org: "org-1", agentId: "agent-001" }),
90
+ ).rejects.toThrow("Create failed");
91
+ });
92
+
93
+ expect(result.current.error!.message).toBe("Create failed");
94
+ expect(result.current.isCreating).toBe(false);
95
+ });
96
+ });
97
+
98
+ // ---------------------------------------------------------------------------
99
+ // useUpdateAgentInstance
100
+ // ---------------------------------------------------------------------------
101
+
102
+ describe("useUpdateAgentInstance", () => {
103
+ it("returns updated instance on success", async () => {
104
+ const instance = makeInstance();
105
+ mockUpdate.mockResolvedValueOnce(instance);
106
+
107
+ const { result } = renderHook(() => useUpdateAgentInstance(), {
108
+ wrapper: createWrapper(makeMockClient()),
109
+ });
110
+
111
+ let updated: any;
112
+ await act(async () => {
113
+ updated = await result.current.update({
114
+ name: "test-instance",
115
+ org: "org-1",
116
+ agentId: "agent-001",
117
+ description: "Updated",
118
+ });
119
+ });
120
+
121
+ expect(updated).toBe(instance);
122
+ expect(result.current.isUpdating).toBe(false);
123
+ expect(mockUpdate).toHaveBeenCalledTimes(1);
124
+ });
125
+
126
+ it("sets error and re-throws on failure", async () => {
127
+ mockUpdate.mockRejectedValueOnce(new Error("Update failed"));
128
+
129
+ const { result } = renderHook(() => useUpdateAgentInstance(), {
130
+ wrapper: createWrapper(makeMockClient()),
131
+ });
132
+
133
+ await act(async () => {
134
+ await expect(
135
+ result.current.update({ name: "x", org: "o", agentId: "a" }),
136
+ ).rejects.toThrow("Update failed");
137
+ });
138
+
139
+ expect(result.current.error!.message).toBe("Update failed");
140
+ expect(result.current.isUpdating).toBe(false);
141
+ });
142
+ });
143
+
144
+ // ---------------------------------------------------------------------------
145
+ // useDeleteAgentInstance
146
+ // ---------------------------------------------------------------------------
147
+
148
+ describe("useDeleteAgentInstance", () => {
149
+ it("returns deleted instance on success", async () => {
150
+ const instance = makeInstance();
151
+ mockDelete.mockResolvedValueOnce(instance);
152
+
153
+ const { result } = renderHook(() => useDeleteAgentInstance(), {
154
+ wrapper: createWrapper(makeMockClient()),
155
+ });
156
+
157
+ let deleted: any;
158
+ await act(async () => {
159
+ deleted = await result.current.deleteInstance("ain-001");
160
+ });
161
+
162
+ expect(deleted).toBe(instance);
163
+ expect(result.current.isDeleting).toBe(false);
164
+ expect(mockDelete).toHaveBeenCalledWith("ain-001");
165
+ });
166
+
167
+ it("sets error and re-throws on failure", async () => {
168
+ mockDelete.mockRejectedValueOnce(new Error("Delete failed"));
169
+
170
+ const { result } = renderHook(() => useDeleteAgentInstance(), {
171
+ wrapper: createWrapper(makeMockClient()),
172
+ });
173
+
174
+ await act(async () => {
175
+ await expect(
176
+ result.current.deleteInstance("ain-001"),
177
+ ).rejects.toThrow("Delete failed");
178
+ });
179
+
180
+ expect(result.current.error!.message).toBe("Delete failed");
181
+ expect(result.current.isDeleting).toBe(false);
182
+ });
183
+ });
184
+
185
+ // ---------------------------------------------------------------------------
186
+ // useAgentInstances — reads list.items (NOT workflow's .entries)
187
+ // ---------------------------------------------------------------------------
188
+
189
+ describe("useAgentInstances", () => {
190
+ it("lists instances from getByAgent .items", async () => {
191
+ const instances = [makeInstance("ain-1"), makeInstance("ain-2")];
192
+ mockGetByAgent.mockResolvedValueOnce({ items: instances, totalCount: 2 });
193
+
194
+ const { result } = renderHook(() => useAgentInstances("agent-001"), {
195
+ wrapper: createWrapper(makeMockClient()),
196
+ });
197
+
198
+ await waitFor(() => expect(result.current.isLoading).toBe(false));
199
+
200
+ expect(result.current.instances).toHaveLength(2);
201
+ expect(result.current.instances[0]?.metadata?.id).toBe("ain-1");
202
+ expect(mockGetByAgent).toHaveBeenCalledTimes(1);
203
+ });
204
+
205
+ it("does not fetch when agentId is null", async () => {
206
+ const { result } = renderHook(() => useAgentInstances(null), {
207
+ wrapper: createWrapper(makeMockClient()),
208
+ });
209
+
210
+ expect(result.current.instances).toEqual([]);
211
+ expect(mockGetByAgent).not.toHaveBeenCalled();
212
+ });
213
+ });
@@ -2,10 +2,25 @@ export { useAgentInstance } from "./useAgentInstance";
2
2
  export type { UseAgentInstanceReturn } from "./useAgentInstance";
3
3
  export { useAgentInstanceList } from "./useAgentInstanceList";
4
4
  export type { UseAgentInstanceListReturn } from "./useAgentInstanceList";
5
+ export { useAgentInstances } from "./useAgentInstances";
6
+ export type { UseAgentInstancesReturn } from "./useAgentInstances";
5
7
  export { useCreateAgentInstance } from "./useCreateAgentInstance";
6
8
  export type { UseCreateAgentInstanceReturn } from "./useCreateAgentInstance";
9
+ export { useUpdateAgentInstance } from "./useUpdateAgentInstance";
10
+ export type { UseUpdateAgentInstanceReturn } from "./useUpdateAgentInstance";
11
+ export { useDeleteAgentInstance } from "./useDeleteAgentInstance";
12
+ export type { UseDeleteAgentInstanceReturn } from "./useDeleteAgentInstance";
7
13
  export { usePersonalAgentInstance } from "./usePersonalAgentInstance";
8
14
  export type {
9
15
  GetOrCreatePersonalInstanceInput,
10
16
  UsePersonalAgentInstanceReturn,
11
17
  } from "./usePersonalAgentInstance";
18
+
19
+ export { AgentInstanceList } from "./AgentInstanceList";
20
+ export type { AgentInstanceListProps } from "./AgentInstanceList";
21
+ export { AgentInstanceEmptyState } from "./AgentInstanceEmptyState";
22
+ export type { AgentInstanceEmptyStateProps } from "./AgentInstanceEmptyState";
23
+ export { CreateAgentInstanceDialog } from "./CreateAgentInstanceDialog";
24
+ export type { CreateAgentInstanceDialogProps } from "./CreateAgentInstanceDialog";
25
+ export { AgentInstanceDetailPanel } from "./AgentInstanceDetailPanel";
26
+ export type { AgentInstanceDetailPanelProps } from "./AgentInstanceDetailPanel";
@@ -0,0 +1,66 @@
1
+ "use client";
2
+
3
+ import type { AgentInstance } from "@stigmer/protos/ai/stigmer/agentic/agentinstance/v1/api_pb";
4
+ import { create } from "@bufbuild/protobuf";
5
+ import { GetAgentInstancesByAgentRequestSchema } from "@stigmer/protos/ai/stigmer/agentic/agentinstance/v1/io_pb";
6
+ import { useStigmer } from "../hooks";
7
+ import { useFetch } from "../internal/useFetch";
8
+
9
+ /** Return value of {@link useAgentInstances}. */
10
+ export interface UseAgentInstancesReturn {
11
+ /** Instances for the given agent, or empty array while loading. */
12
+ readonly instances: readonly AgentInstance[];
13
+ /** `true` while the initial fetch or a refetch is in flight. */
14
+ readonly isLoading: boolean;
15
+ /** `true` while a background refetch is in flight and stale data is shown. */
16
+ readonly isRefetching: boolean;
17
+ /** Error from the last failed request, or `null` when healthy. */
18
+ readonly error: Error | null;
19
+ /** Discard cached data and re-fetch instances from the server. */
20
+ readonly refetch: () => void;
21
+ }
22
+
23
+ /**
24
+ * Data hook that fetches all instances for a specific agent.
25
+ *
26
+ * Wraps `stigmer.agentInstance.getByAgent()` with loading and error
27
+ * state management. Used on the Agent detail page "Instances" tab to
28
+ * show environment-bound deployments of the agent blueprint.
29
+ *
30
+ * Pass `null` as `agentId` to skip fetching (stable no-op).
31
+ *
32
+ * Note: the `getByAgent` RPC returns an `AgentInstanceList` whose
33
+ * entries live under `items` (unlike WorkflowInstance, which uses
34
+ * `entries`).
35
+ *
36
+ * @example
37
+ * ```tsx
38
+ * const { instances, isLoading } = useAgentInstances(agent.metadata?.id);
39
+ * ```
40
+ */
41
+ export function useAgentInstances(
42
+ agentId: string | null | undefined,
43
+ ): UseAgentInstancesReturn {
44
+ const stigmer = useStigmer();
45
+
46
+ const fetchFn = agentId
47
+ ? async () => {
48
+ const resp = await stigmer.agentInstance.getByAgent(
49
+ create(GetAgentInstancesByAgentRequestSchema, {
50
+ agentId,
51
+ }),
52
+ );
53
+ return resp.items ? [...resp.items] : [];
54
+ }
55
+ : null;
56
+
57
+ const {
58
+ data: instances,
59
+ isLoading,
60
+ isRefetching,
61
+ error,
62
+ refetch,
63
+ } = useFetch<readonly AgentInstance[]>(fetchFn, [agentId, stigmer], []);
64
+
65
+ return { instances, isLoading, isRefetching, error, refetch };
66
+ }
@@ -0,0 +1,73 @@
1
+ "use client";
2
+
3
+ import { useCallback, useState } from "react";
4
+ import type { AgentInstance } from "@stigmer/protos/ai/stigmer/agentic/agentinstance/v1/api_pb";
5
+ import { useStigmer } from "../hooks";
6
+ import { toError } from "../internal/toError";
7
+
8
+ /** Return value of {@link useDeleteAgentInstance}. */
9
+ export interface UseDeleteAgentInstanceReturn {
10
+ /**
11
+ * Delete an agent instance by ID. Returns the deleted resource.
12
+ *
13
+ * Deleting an instance removes its configuration and environment
14
+ * bindings. Sessions already started against it (and their execution
15
+ * history) are preserved — deletion does not cascade to sessions.
16
+ */
17
+ readonly deleteInstance: (id: string) => Promise<AgentInstance>;
18
+ /** `true` while the delete request is in flight. */
19
+ readonly isDeleting: boolean;
20
+ /** Error from the last failed delete, or `null` when healthy. */
21
+ readonly error: Error | null;
22
+ /** Reset `error` to `null`. */
23
+ readonly clearError: () => void;
24
+ }
25
+
26
+ /**
27
+ * Mutation hook that deletes an AgentInstance resource.
28
+ *
29
+ * Wraps `stigmer.agentInstance.delete()` with loading/error state.
30
+ * The caller is responsible for handling post-delete UI updates
31
+ * (e.g., refreshing the instance list, closing a detail panel).
32
+ *
33
+ * Unlike WorkflowInstance, deletion does **not** cascade to runtime
34
+ * resources: sessions previously started against the instance and
35
+ * their execution history remain intact. The confirmation UI copy
36
+ * should reflect this.
37
+ *
38
+ * @example
39
+ * ```tsx
40
+ * const { deleteInstance, isDeleting } = useDeleteAgentInstance();
41
+ *
42
+ * const handleDelete = async () => {
43
+ * await deleteInstance(instance.metadata.id);
44
+ * refetch(); // refresh list after deletion
45
+ * };
46
+ * ```
47
+ */
48
+ export function useDeleteAgentInstance(): UseDeleteAgentInstanceReturn {
49
+ const stigmer = useStigmer();
50
+ const [isDeleting, setIsDeleting] = useState(false);
51
+ const [error, setError] = useState<Error | null>(null);
52
+
53
+ const clearError = useCallback(() => setError(null), []);
54
+
55
+ const deleteInstance = useCallback(
56
+ async (id: string): Promise<AgentInstance> => {
57
+ setIsDeleting(true);
58
+ setError(null);
59
+
60
+ try {
61
+ return await stigmer.agentInstance.delete(id);
62
+ } catch (err) {
63
+ setError(toError(err));
64
+ throw err;
65
+ } finally {
66
+ setIsDeleting(false);
67
+ }
68
+ },
69
+ [stigmer],
70
+ );
71
+
72
+ return { deleteInstance, isDeleting, error, clearError };
73
+ }
@@ -0,0 +1,67 @@
1
+ "use client";
2
+
3
+ import { useCallback, useState } from "react";
4
+ import type { AgentInstance } from "@stigmer/protos/ai/stigmer/agentic/agentinstance/v1/api_pb";
5
+ import type { AgentInstanceInput } from "@stigmer/sdk";
6
+ import { useStigmer } from "../hooks";
7
+ import { toError } from "../internal/toError";
8
+
9
+ /** Return value of {@link useUpdateAgentInstance}. */
10
+ export interface UseUpdateAgentInstanceReturn {
11
+ /** Update an existing agent instance with a full input. Returns the updated resource. */
12
+ readonly update: (input: AgentInstanceInput) => Promise<AgentInstance>;
13
+ /** `true` while the update RPC is in flight. */
14
+ readonly isUpdating: boolean;
15
+ /** Error from the last failed update, or `null` when healthy. */
16
+ readonly error: Error | null;
17
+ /** Clear the error state. */
18
+ readonly clearError: () => void;
19
+ }
20
+
21
+ /**
22
+ * Mutation hook that updates an existing AgentInstance resource.
23
+ *
24
+ * Wraps `stigmer.agentInstance.update()` with loading/error state.
25
+ * The caller is responsible for refreshing the instance after a
26
+ * successful update (e.g., via `refetch` from `useAgentInstances` or
27
+ * `useAgentInstance`).
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * const { update, isUpdating } = useUpdateAgentInstance();
32
+ *
33
+ * const handleSave = async () => {
34
+ * await update({
35
+ * ...agentInstanceToInput(instance),
36
+ * environmentRefs: newRefs,
37
+ * });
38
+ * refetch();
39
+ * };
40
+ * ```
41
+ */
42
+ export function useUpdateAgentInstance(): UseUpdateAgentInstanceReturn {
43
+ const stigmer = useStigmer();
44
+ const [isUpdating, setIsUpdating] = useState(false);
45
+ const [error, setError] = useState<Error | null>(null);
46
+
47
+ const clearError = useCallback(() => setError(null), []);
48
+
49
+ const update = useCallback(
50
+ async (input: AgentInstanceInput): Promise<AgentInstance> => {
51
+ setIsUpdating(true);
52
+ setError(null);
53
+
54
+ try {
55
+ return await stigmer.agentInstance.update(input);
56
+ } catch (err) {
57
+ setError(toError(err));
58
+ throw err;
59
+ } finally {
60
+ setIsUpdating(false);
61
+ }
62
+ },
63
+ [stigmer],
64
+ );
65
+
66
+ return { update, isUpdating, error, clearError };
67
+ }
@@ -259,6 +259,25 @@ export interface SessionComposerProps {
259
259
  */
260
260
  readonly initialAgentRef?: ResourceRef;
261
261
 
262
+ /**
263
+ * Pre-bind the session to a specific, already-existing
264
+ * `AgentInstance` when the composer mounts.
265
+ *
266
+ * Requires `initialAgentRef` (the agent the instance deploys). When
267
+ * both are provided, the composer resolves the agent directly to this
268
+ * instance — skipping the environment-collection flow entirely, since
269
+ * the chosen instance already binds its own environment(s). The
270
+ * resulting resolution is `{ mode: "saved", instanceId }`, so the
271
+ * session is created against this exact configured deployment.
272
+ *
273
+ * This is the agent analog of running a specific WorkflowInstance: it
274
+ * powers the "Start session" action on an instance in the Agent detail
275
+ * page's Instances tab.
276
+ *
277
+ * One-time: consumed on mount; subsequent changes are ignored.
278
+ */
279
+ readonly initialInstanceId?: string;
280
+
262
281
  /**
263
282
  * When `true`, the agent chip renders without an X (remove) button.
264
283
  *
@@ -456,6 +475,7 @@ const SessionComposerInner = forwardRef<SessionComposerHandle, SessionComposerPr
456
475
  onAgentRefChange,
457
476
  onAgentResolutionChange,
458
477
  initialAgentRef,
478
+ initialInstanceId,
459
479
  isDefaultAgent = false,
460
480
  mcpServerUsages,
461
481
  onMcpServerUsagesChange,
@@ -845,6 +865,29 @@ const SessionComposerInner = forwardRef<SessionComposerHandle, SessionComposerPr
845
865
  ],
846
866
  );
847
867
 
868
+ const handleAgentSelectToInstance = useCallback(
869
+ async (ref: ResourceRef, instanceId: string) => {
870
+ try {
871
+ const result = await agentSetup.resolveToInstance(ref, instanceId);
872
+ onAgentRefChange?.(result.agentRef);
873
+ onAgentResolutionChange?.(result.resolution);
874
+ handleDisplayNameResolved(
875
+ `${result.agentRef.org}/${result.agentRef.slug}`,
876
+ result.agentName,
877
+ );
878
+ setConfigOpen(false);
879
+ } catch {
880
+ // Error is captured by agentSetup.state.error — displayed inline.
881
+ }
882
+ },
883
+ [
884
+ agentSetup,
885
+ onAgentRefChange,
886
+ onAgentResolutionChange,
887
+ handleDisplayNameResolved,
888
+ ],
889
+ );
890
+
848
891
  const handleEnvFormSubmit = useCallback(
849
892
  async (
850
893
  values: Record<string, EnvVarInput>,
@@ -879,6 +922,9 @@ const SessionComposerInner = forwardRef<SessionComposerHandle, SessionComposerPr
879
922
  const handleAgentSelectRef = useRef(handleAgentSelect);
880
923
  handleAgentSelectRef.current = handleAgentSelect;
881
924
 
925
+ const handleAgentSelectToInstanceRef = useRef(handleAgentSelectToInstance);
926
+ handleAgentSelectToInstanceRef.current = handleAgentSelectToInstance;
927
+
882
928
  const initialAgentHandled = useRef(false);
883
929
 
884
930
  useEffect(() => {
@@ -889,7 +935,13 @@ const SessionComposerInner = forwardRef<SessionComposerHandle, SessionComposerPr
889
935
  let cancelled = false;
890
936
  initialAgentHandled.current = true;
891
937
 
892
- handleAgentSelectRef.current(initialAgentRef).catch(() => {
938
+ // When an explicit instance is provided, bind directly to it
939
+ // (skips env collection); otherwise run the full resolution flow.
940
+ const run = initialInstanceId
941
+ ? handleAgentSelectToInstanceRef.current(initialAgentRef, initialInstanceId)
942
+ : handleAgentSelectRef.current(initialAgentRef);
943
+
944
+ run.catch(() => {
893
945
  if (!cancelled) {
894
946
  initialAgentHandled.current = false;
895
947
  }
@@ -898,7 +950,7 @@ const SessionComposerInner = forwardRef<SessionComposerHandle, SessionComposerPr
898
950
  return () => {
899
951
  cancelled = true;
900
952
  };
901
- }, [initialAgentRef, showAgent, org]);
953
+ }, [initialAgentRef, initialInstanceId, showAgent, org]);
902
954
 
903
955
  // ---------------------------------------------------------------------------
904
956
  // Initial agent: auto-open Configure > Agent when env vars are needed
@@ -5,7 +5,7 @@ import type { PendingApproval } from "@stigmer/protos/ai/stigmer/agentic/agentex
5
5
  import { ApprovalAction } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
6
6
  import { cn } from "@stigmer/theme";
7
7
  import {
8
- resolveToolCategory,
8
+ resolveToolCategoryFromKind,
9
9
  extractPrimaryArgFromPreview,
10
10
  } from "./tool-categories";
11
11
  import { CATEGORY_ICON } from "./ToolCallItem";
@@ -74,7 +74,10 @@ export const ApprovalCard = memo(function ApprovalCard({
74
74
  }
75
75
  }, [isSubmitting]);
76
76
 
77
- const categoryInfo = resolveToolCategory(
77
+ // Prefer the denormalized wire tool_kind (populated by the server-side
78
+ // PendingApproval projection); fall back to the name for legacy executions.
79
+ const categoryInfo = resolveToolCategoryFromKind(
80
+ pendingApproval.toolKind,
78
81
  pendingApproval.toolName,
79
82
  pendingApproval.mcpServerSlug,
80
83
  );
@@ -182,6 +185,18 @@ export const ApprovalCard = memo(function ApprovalCard({
182
185
  variant="approve"
183
186
  cursorTarget="approve-button"
184
187
  />
188
+ {/* Subordinate escalation: approve this call and stop asking for the
189
+ rest of the run. Kept visually quieter than the primary Approve so
190
+ it never competes with the per-call decision the user is making. */}
191
+ <ActionButton
192
+ label="Approve & don't ask again"
193
+ action={ApprovalAction.APPROVE_ALL}
194
+ activeAction={activeAction}
195
+ isSubmitting={isSubmitting}
196
+ onClick={handleAction}
197
+ variant="approveAll"
198
+ cursorTarget="approve-all-button"
199
+ />
185
200
  <ActionButton
186
201
  label="Skip"
187
202
  action={ApprovalAction.SKIP}
@@ -222,7 +237,7 @@ function ActionButton({
222
237
  activeAction: ApprovalAction | null;
223
238
  isSubmitting: boolean;
224
239
  onClick: (action: ApprovalAction) => void;
225
- variant: "approve" | "skip" | "reject";
240
+ variant: "approve" | "approveAll" | "skip" | "reject";
226
241
  cursorTarget?: string;
227
242
  }) {
228
243
  const isActive = activeAction === action;
@@ -233,6 +248,10 @@ function ActionButton({
233
248
  "bg-success text-success-foreground hover:bg-success/90",
234
249
  "disabled:bg-success/50 disabled:text-success-foreground/70",
235
250
  ),
251
+ approveAll: cn(
252
+ "text-success hover:bg-success/10",
253
+ "disabled:text-success/50",
254
+ ),
236
255
  skip: cn(
237
256
  "border border-border bg-background text-muted-foreground hover:bg-muted hover:text-foreground",
238
257
  "disabled:bg-muted-faint disabled:text-muted-foreground-faint",
@@ -7,6 +7,7 @@ import type { AgentMessage, ToolCall } from "@stigmer/protos/ai/stigmer/agentic/
7
7
  import { AgentMessageSchema } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
8
8
  import type { SubAgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/subagent_pb";
9
9
  import type { PendingApproval } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/approval_pb";
10
+ import type { ExecutionArtifact } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/artifact_pb";
10
11
  import {
11
12
  ApprovalAction,
12
13
  ExecutionPhase,
@@ -24,6 +25,8 @@ import { SetupProgress } from "./SetupProgress";
24
25
  import { ApprovalCard } from "./ApprovalCard";
25
26
  import { SummarizationCard } from "./SummarizationCard";
26
27
  import { PlanCompletionCard } from "./PlanCompletionCard";
28
+ import { PlanArtifactCard } from "./PlanArtifactCard";
29
+ import { findPlanArtifact } from "../library/detect-plan-artifact";
27
30
  import type { SummarizationEventView } from "./useContextWindow";
28
31
  import { isInternalTool } from "./tool-categories";
29
32
  import { FilePathContext, type FilePathContextValue } from "./FilePathContext";
@@ -169,7 +172,12 @@ export type ThreadItem =
169
172
  | { readonly kind: "approval-request"; readonly pendingApproval: PendingApproval; readonly key: string }
170
173
  | { readonly kind: "setup-progress"; readonly workspaceEntries: readonly WorkspaceEntry[]; readonly serverPhase?: string; readonly isAwaitingResponse?: boolean; readonly key: string }
171
174
  | { readonly kind: "context-compacted"; readonly event: SummarizationEventView; readonly key: string }
172
- | { readonly kind: "plan-completion"; readonly key: string };
175
+ | {
176
+ readonly kind: "plan-completion";
177
+ readonly key: string;
178
+ readonly executionId: string;
179
+ readonly planArtifact?: ExecutionArtifact;
180
+ };
173
181
 
174
182
  function hasAiMessages(execution: AgentExecution): boolean {
175
183
  const messages = execution.status?.messages;
@@ -378,7 +386,12 @@ export function buildThreadItems(
378
386
  lastPhase === ExecutionPhase.EXECUTION_COMPLETED &&
379
387
  lastExec?.spec?.executionConfig?.interactionMode === InteractionMode.PLAN
380
388
  ) {
381
- items.push({ kind: "plan-completion", key: "plan-completion" });
389
+ items.push({
390
+ kind: "plan-completion",
391
+ key: "plan-completion",
392
+ executionId: lastExec?.metadata?.id ?? "",
393
+ planArtifact: findPlanArtifact(lastExec),
394
+ });
382
395
  }
383
396
 
384
397
  if (includeApprovals) {
@@ -674,7 +687,18 @@ export function ThreadItemRenderer({
674
687
  case "context-compacted":
675
688
  return <SummarizationCard event={item.event} />;
676
689
  case "plan-completion":
677
- return <PlanCompletionCard onImplement={onBuildFromPlan} />;
690
+ // When the plan was published as an artifact, show the richer reviewable
691
+ // card (preview / copy / download / implement). Otherwise fall back to the
692
+ // bare Implement CTA (older executions, or a plan that failed to publish).
693
+ return item.planArtifact && item.executionId ? (
694
+ <PlanArtifactCard
695
+ executionId={item.executionId}
696
+ artifact={item.planArtifact}
697
+ onImplement={onBuildFromPlan}
698
+ />
699
+ ) : (
700
+ <PlanCompletionCard onImplement={onBuildFromPlan} />
701
+ );
678
702
  }
679
703
  }
680
704