@stigmer/react 0.5.1 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/activity/group-activity.d.ts +13 -0
  2. package/activity/group-activity.d.ts.map +1 -0
  3. package/activity/group-activity.js +54 -0
  4. package/activity/group-activity.js.map +1 -0
  5. package/activity/index.d.ts +4 -0
  6. package/activity/index.d.ts.map +1 -0
  7. package/activity/index.js +3 -0
  8. package/activity/index.js.map +1 -0
  9. package/activity/types.d.ts +34 -0
  10. package/activity/types.d.ts.map +1 -0
  11. package/activity/types.js +2 -0
  12. package/activity/types.js.map +1 -0
  13. package/activity/useRecentActivity.d.ts +35 -0
  14. package/activity/useRecentActivity.d.ts.map +1 -0
  15. package/activity/useRecentActivity.js +73 -0
  16. package/activity/useRecentActivity.js.map +1 -0
  17. package/agent/AgentPicker.d.ts.map +1 -1
  18. package/agent/AgentPicker.js +4 -2
  19. package/agent/AgentPicker.js.map +1 -1
  20. package/billing/BillingSection.d.ts.map +1 -1
  21. package/billing/BillingSection.js +1 -1
  22. package/billing/BillingSection.js.map +1 -1
  23. package/composer/ComposerToolbar.d.ts +5 -1
  24. package/composer/ComposerToolbar.d.ts.map +1 -1
  25. package/composer/ComposerToolbar.js +4 -3
  26. package/composer/ComposerToolbar.js.map +1 -1
  27. package/composer/InteractionModePicker.d.ts +40 -0
  28. package/composer/InteractionModePicker.d.ts.map +1 -0
  29. package/composer/InteractionModePicker.js +76 -0
  30. package/composer/InteractionModePicker.js.map +1 -0
  31. package/composer/SessionComposer.d.ts +53 -64
  32. package/composer/SessionComposer.d.ts.map +1 -1
  33. package/composer/SessionComposer.js +20 -8
  34. package/composer/SessionComposer.js.map +1 -1
  35. package/composer/__tests__/SessionComposer-memo.test.js +10 -5
  36. package/composer/__tests__/SessionComposer-memo.test.js.map +1 -1
  37. package/composer/index.d.ts +3 -1
  38. package/composer/index.d.ts.map +1 -1
  39. package/composer/index.js +1 -0
  40. package/composer/index.js.map +1 -1
  41. package/dashboard/DashboardFailedRuns.d.ts +19 -0
  42. package/dashboard/DashboardFailedRuns.d.ts.map +1 -0
  43. package/dashboard/DashboardFailedRuns.js +35 -0
  44. package/dashboard/DashboardFailedRuns.js.map +1 -0
  45. package/dashboard/DashboardKPICards.d.ts +19 -0
  46. package/dashboard/DashboardKPICards.d.ts.map +1 -0
  47. package/dashboard/DashboardKPICards.js +80 -0
  48. package/dashboard/DashboardKPICards.js.map +1 -0
  49. package/dashboard/OperationalDashboard.d.ts +37 -0
  50. package/dashboard/OperationalDashboard.d.ts.map +1 -0
  51. package/dashboard/OperationalDashboard.js +48 -0
  52. package/dashboard/OperationalDashboard.js.map +1 -0
  53. package/dashboard/index.d.ts +8 -0
  54. package/dashboard/index.d.ts.map +1 -0
  55. package/dashboard/index.js +9 -0
  56. package/dashboard/index.js.map +1 -0
  57. package/dashboard/types.d.ts +49 -0
  58. package/dashboard/types.d.ts.map +1 -0
  59. package/dashboard/types.js +2 -0
  60. package/dashboard/types.js.map +1 -0
  61. package/dashboard/useAgentExecutionSummary.d.ts +33 -0
  62. package/dashboard/useAgentExecutionSummary.d.ts.map +1 -0
  63. package/dashboard/useAgentExecutionSummary.js +32 -0
  64. package/dashboard/useAgentExecutionSummary.js.map +1 -0
  65. package/dashboard/useDashboardFailedRuns.d.ts +18 -0
  66. package/dashboard/useDashboardFailedRuns.d.ts.map +1 -0
  67. package/dashboard/useDashboardFailedRuns.js +86 -0
  68. package/dashboard/useDashboardFailedRuns.js.map +1 -0
  69. package/dashboard/useDashboardSummary.d.ts +32 -0
  70. package/dashboard/useDashboardSummary.d.ts.map +1 -0
  71. package/dashboard/useDashboardSummary.js +67 -0
  72. package/dashboard/useDashboardSummary.js.map +1 -0
  73. package/execution/ContextGauge.d.ts +45 -0
  74. package/execution/ContextGauge.d.ts.map +1 -0
  75. package/execution/ContextGauge.js +82 -0
  76. package/execution/ContextGauge.js.map +1 -0
  77. package/execution/InteractionModeBadge.d.ts +24 -0
  78. package/execution/InteractionModeBadge.d.ts.map +1 -0
  79. package/execution/InteractionModeBadge.js +29 -0
  80. package/execution/InteractionModeBadge.js.map +1 -0
  81. package/execution/MessageThread.d.ts +33 -3
  82. package/execution/MessageThread.d.ts.map +1 -1
  83. package/execution/MessageThread.js +51 -9
  84. package/execution/MessageThread.js.map +1 -1
  85. package/execution/PlanCompletionCard.d.ts +23 -0
  86. package/execution/PlanCompletionCard.d.ts.map +1 -0
  87. package/execution/PlanCompletionCard.js +28 -0
  88. package/execution/PlanCompletionCard.js.map +1 -0
  89. package/execution/SummarizationBadge.d.ts +30 -0
  90. package/execution/SummarizationBadge.d.ts.map +1 -0
  91. package/execution/SummarizationBadge.js +61 -0
  92. package/execution/SummarizationBadge.js.map +1 -0
  93. package/execution/SummarizationCard.d.ts +27 -0
  94. package/execution/SummarizationCard.d.ts.map +1 -0
  95. package/execution/SummarizationCard.js +47 -0
  96. package/execution/SummarizationCard.js.map +1 -0
  97. package/execution/__tests__/PlanCompletionCard.test.d.ts +2 -0
  98. package/execution/__tests__/PlanCompletionCard.test.d.ts.map +1 -0
  99. package/execution/__tests__/PlanCompletionCard.test.js +53 -0
  100. package/execution/__tests__/PlanCompletionCard.test.js.map +1 -0
  101. package/execution/__tests__/buildThreadItems-plan-completion.test.d.ts +2 -0
  102. package/execution/__tests__/buildThreadItems-plan-completion.test.d.ts.map +1 -0
  103. package/execution/__tests__/buildThreadItems-plan-completion.test.js +137 -0
  104. package/execution/__tests__/buildThreadItems-plan-completion.test.js.map +1 -0
  105. package/execution/__tests__/useContextWindow.test.d.ts +2 -0
  106. package/execution/__tests__/useContextWindow.test.d.ts.map +1 -0
  107. package/execution/__tests__/useContextWindow.test.js +121 -0
  108. package/execution/__tests__/useContextWindow.test.js.map +1 -0
  109. package/execution/index.d.ts +12 -0
  110. package/execution/index.d.ts.map +1 -1
  111. package/execution/index.js +6 -0
  112. package/execution/index.js.map +1 -1
  113. package/execution/useContextWindow.d.ts +71 -0
  114. package/execution/useContextWindow.d.ts.map +1 -0
  115. package/execution/useContextWindow.js +91 -0
  116. package/execution/useContextWindow.js.map +1 -0
  117. package/execution/useCreateAgentExecution.d.ts +9 -0
  118. package/execution/useCreateAgentExecution.d.ts.map +1 -1
  119. package/execution/useCreateAgentExecution.js +15 -3
  120. package/execution/useCreateAgentExecution.js.map +1 -1
  121. package/index.d.ts +9 -4
  122. package/index.d.ts.map +1 -1
  123. package/index.js +12 -2
  124. package/index.js.map +1 -1
  125. package/internal/VirtualizedThread.d.ts +2 -1
  126. package/internal/VirtualizedThread.d.ts.map +1 -1
  127. package/internal/VirtualizedThread.js +3 -2
  128. package/internal/VirtualizedThread.js.map +1 -1
  129. package/internal/store/index.d.ts +1 -0
  130. package/internal/store/index.d.ts.map +1 -1
  131. package/internal/store/index.js +1 -0
  132. package/internal/store/index.js.map +1 -1
  133. package/internal/store/workflow-execution-event-store.d.ts +92 -0
  134. package/internal/store/workflow-execution-event-store.d.ts.map +1 -0
  135. package/internal/store/workflow-execution-event-store.js +298 -0
  136. package/internal/store/workflow-execution-event-store.js.map +1 -0
  137. package/library/ScopeToggle.d.ts +13 -9
  138. package/library/ScopeToggle.d.ts.map +1 -1
  139. package/library/ScopeToggle.js +43 -22
  140. package/library/ScopeToggle.js.map +1 -1
  141. package/library/VisibilityToggle.js +14 -5
  142. package/library/VisibilityToggle.js.map +1 -1
  143. package/library/index.d.ts +1 -0
  144. package/library/index.d.ts.map +1 -1
  145. package/library/index.js +1 -0
  146. package/library/index.js.map +1 -1
  147. package/library/useExportResource.d.ts +3 -2
  148. package/library/useExportResource.d.ts.map +1 -1
  149. package/library/useExportResource.js +11 -6
  150. package/library/useExportResource.js.map +1 -1
  151. package/mcp-server/McpServerDetailView.d.ts.map +1 -1
  152. package/mcp-server/McpServerDetailView.js +25 -13
  153. package/mcp-server/McpServerDetailView.js.map +1 -1
  154. package/mcp-server/McpServerPicker.d.ts.map +1 -1
  155. package/mcp-server/McpServerPicker.js +4 -2
  156. package/mcp-server/McpServerPicker.js.map +1 -1
  157. package/package.json +16 -5
  158. package/provider.d.ts.map +1 -1
  159. package/provider.js +164 -1
  160. package/provider.js.map +1 -1
  161. package/resource-detail/ResourceDetailShell.d.ts +1 -1
  162. package/resource-detail/ResourceDetailShell.d.ts.map +1 -1
  163. package/resource-detail/ResourceDetailShell.js +6 -6
  164. package/resource-detail/ResourceDetailShell.js.map +1 -1
  165. package/resource-detail/types.d.ts +23 -0
  166. package/resource-detail/types.d.ts.map +1 -1
  167. package/resource-detail/useDeleteResource.d.ts +1 -1
  168. package/resource-detail/useDeleteResource.d.ts.map +1 -1
  169. package/resource-detail/useDeleteResource.js +5 -0
  170. package/resource-detail/useDeleteResource.js.map +1 -1
  171. package/resource-workbench/components/ResourceWorkbench.d.ts.map +1 -1
  172. package/resource-workbench/components/ResourceWorkbench.js +2 -1
  173. package/resource-workbench/components/ResourceWorkbench.js.map +1 -1
  174. package/session/useNewSessionFlow.d.ts.map +1 -1
  175. package/session/useNewSessionFlow.js +1 -0
  176. package/session/useNewSessionFlow.js.map +1 -1
  177. package/session/useSessionConversation.d.ts +7 -0
  178. package/session/useSessionConversation.d.ts.map +1 -1
  179. package/session/useSessionConversation.js +1 -0
  180. package/session/useSessionConversation.js.map +1 -1
  181. package/session/useSessionPageFlow.d.ts.map +1 -1
  182. package/session/useSessionPageFlow.js +1 -0
  183. package/session/useSessionPageFlow.js.map +1 -1
  184. package/session/useSessionUsage.d.ts.map +1 -1
  185. package/session/useSessionUsage.js +65 -4
  186. package/session/useSessionUsage.js.map +1 -1
  187. package/settings/UsageSection.d.ts.map +1 -1
  188. package/settings/UsageSection.js +1 -4
  189. package/settings/UsageSection.js.map +1 -1
  190. package/skill/SkillPicker.d.ts.map +1 -1
  191. package/skill/SkillPicker.js +4 -2
  192. package/skill/SkillPicker.js.map +1 -1
  193. package/src/activity/group-activity.ts +65 -0
  194. package/src/activity/index.ts +13 -0
  195. package/src/activity/types.ts +35 -0
  196. package/src/activity/useRecentActivity.ts +131 -0
  197. package/src/agent/AgentPicker.tsx +6 -1
  198. package/src/billing/BillingSection.tsx +3 -2
  199. package/src/composer/ComposerToolbar.tsx +19 -1
  200. package/src/composer/InteractionModePicker.tsx +189 -0
  201. package/src/composer/SessionComposer.tsx +85 -8
  202. package/src/composer/__tests__/SessionComposer-memo.test.ts +11 -6
  203. package/src/composer/index.ts +7 -0
  204. package/src/dashboard/DashboardFailedRuns.tsx +109 -0
  205. package/src/dashboard/DashboardKPICards.tsx +128 -0
  206. package/src/dashboard/OperationalDashboard.tsx +96 -0
  207. package/src/dashboard/index.ts +37 -0
  208. package/src/dashboard/types.ts +50 -0
  209. package/src/dashboard/useAgentExecutionSummary.ts +71 -0
  210. package/src/dashboard/useDashboardFailedRuns.ts +122 -0
  211. package/src/dashboard/useDashboardSummary.ts +109 -0
  212. package/src/execution/ContextGauge.tsx +243 -0
  213. package/src/execution/InteractionModeBadge.tsx +70 -0
  214. package/src/execution/MessageThread.tsx +88 -3
  215. package/src/execution/PlanCompletionCard.tsx +105 -0
  216. package/src/execution/SummarizationBadge.tsx +188 -0
  217. package/src/execution/SummarizationCard.tsx +126 -0
  218. package/src/execution/__tests__/PlanCompletionCard.test.tsx +67 -0
  219. package/src/execution/__tests__/buildThreadItems-plan-completion.test.ts +197 -0
  220. package/src/execution/__tests__/useContextWindow.test.ts +167 -0
  221. package/src/execution/index.ts +22 -0
  222. package/src/execution/useContextWindow.ts +148 -0
  223. package/src/execution/useCreateAgentExecution.ts +26 -3
  224. package/src/index.ts +222 -0
  225. package/src/internal/VirtualizedThread.tsx +4 -1
  226. package/src/internal/store/index.ts +6 -0
  227. package/src/internal/store/workflow-execution-event-store.ts +391 -0
  228. package/src/library/ScopeToggle.tsx +88 -20
  229. package/src/library/VisibilityToggle.tsx +54 -13
  230. package/src/library/index.ts +2 -0
  231. package/src/library/useExportResource.ts +12 -9
  232. package/src/mcp-server/McpServerDetailView.tsx +80 -148
  233. package/src/mcp-server/McpServerPicker.tsx +6 -1
  234. package/src/provider.tsx +195 -8
  235. package/src/resource-detail/ResourceDetailShell.tsx +21 -4
  236. package/src/resource-detail/types.ts +25 -0
  237. package/src/resource-detail/useDeleteResource.ts +6 -1
  238. package/src/resource-workbench/components/ResourceWorkbench.tsx +4 -0
  239. package/src/session/useNewSessionFlow.ts +1 -0
  240. package/src/session/useSessionConversation.ts +8 -0
  241. package/src/session/useSessionPageFlow.ts +1 -0
  242. package/src/session/useSessionUsage.ts +72 -4
  243. package/src/settings/UsageSection.tsx +1 -9
  244. package/src/skill/SkillPicker.tsx +6 -1
  245. package/src/workflow/ApprovalFormBuilder.tsx +1017 -0
  246. package/src/workflow/BranchConditionBuilder.tsx +451 -0
  247. package/src/workflow/CanvasActionsContext.ts +12 -0
  248. package/src/workflow/CanvasContextMenu.tsx +364 -0
  249. package/src/workflow/CanvasTaskNode.tsx +372 -0
  250. package/src/workflow/CanvasTransitionEdge.tsx +122 -0
  251. package/src/workflow/CostByWorkflowChart.tsx +120 -0
  252. package/src/workflow/ExecutionSummaryWidget.tsx +194 -0
  253. package/src/workflow/ExecutionTrendChart.tsx +157 -0
  254. package/src/workflow/FailedRunsWidget.tsx +109 -0
  255. package/src/workflow/PendingApprovalsWidget.tsx +115 -0
  256. package/src/workflow/TaskConfigForm.tsx +618 -0
  257. package/src/workflow/TaskKindRegistryContext.ts +36 -0
  258. package/src/workflow/TaskPickerPopover.tsx +326 -0
  259. package/src/workflow/WorkflowArchitectDialog.tsx +505 -0
  260. package/src/workflow/WorkflowCanvasEditor.tsx +651 -0
  261. package/src/workflow/WorkflowCanvasInner.tsx +160 -0
  262. package/src/workflow/WorkflowDashboard.tsx +124 -0
  263. package/src/workflow/WorkflowDetailView.tsx +527 -0
  264. package/src/workflow/WorkflowEditorView.tsx +547 -0
  265. package/src/workflow/WorkflowExecutionApprovalCard.tsx +129 -0
  266. package/src/workflow/WorkflowExecutionArtifactPanel.tsx +112 -0
  267. package/src/workflow/WorkflowExecutionCostPanel.tsx +131 -0
  268. package/src/workflow/WorkflowExecutionHeader.tsx +194 -0
  269. package/src/workflow/WorkflowExecutionPhaseBadge.tsx +188 -0
  270. package/src/workflow/WorkflowExecutionTaskPanel.tsx +135 -0
  271. package/src/workflow/WorkflowExecutionTimeline.tsx +118 -0
  272. package/src/workflow/WorkflowExecutionTimelineEvent.tsx +488 -0
  273. package/src/workflow/WorkflowExecutionViewer.tsx +248 -0
  274. package/src/workflow/WorkflowInspectorPanel.tsx +568 -0
  275. package/src/workflow/WorkflowRefinePanel.tsx +411 -0
  276. package/src/workflow/WorkflowRepairCard.tsx +433 -0
  277. package/src/workflow/WorkflowRunDialog.tsx +220 -0
  278. package/src/workflow/WorkflowRunForm.tsx +245 -0
  279. package/src/workflow/WorkflowTaskList.tsx +177 -0
  280. package/src/workflow/WorkflowTaskPalette.tsx +248 -0
  281. package/src/workflow/WorkflowTopologyGraph.tsx +250 -0
  282. package/src/workflow/WorkflowYamlEditor.tsx +271 -0
  283. package/src/workflow/__tests__/starter-workflow-yaml.test.ts +57 -0
  284. package/src/workflow/canvas-constants.ts +87 -0
  285. package/src/workflow/canvas-icons.tsx +36 -0
  286. package/src/workflow/extract-workflow-yaml.ts +87 -0
  287. package/src/workflow/graph-commands.ts +675 -0
  288. package/src/workflow/index.ts +375 -0
  289. package/src/workflow/serialize-workflow-yaml.ts +546 -0
  290. package/src/workflow/starter-workflow-yaml.ts +29 -0
  291. package/src/workflow/types.ts +99 -0
  292. package/src/workflow/useCanvasKeyboardShortcuts.ts +134 -0
  293. package/src/workflow/useDiagnoseExecutionFlow.ts +378 -0
  294. package/src/workflow/useGraphHistory.ts +138 -0
  295. package/src/workflow/usePendingApprovals.ts +89 -0
  296. package/src/workflow/useRefineWorkflowFlow.ts +321 -0
  297. package/src/workflow/useResolveAgentExecutionSession.ts +57 -0
  298. package/src/workflow/useRunWorkflowFlow.ts +235 -0
  299. package/src/workflow/useTaskKindRegistry.ts +135 -0
  300. package/src/workflow/useWorkflow.ts +78 -0
  301. package/src/workflow/useWorkflowArchitectFlow.ts +303 -0
  302. package/src/workflow/useWorkflowCanvas.ts +882 -0
  303. package/src/workflow/useWorkflowCount.ts +66 -0
  304. package/src/workflow/useWorkflowDashboardSummary.ts +71 -0
  305. package/src/workflow/useWorkflowEditor.ts +106 -0
  306. package/src/workflow/useWorkflowExecution.ts +67 -0
  307. package/src/workflow/useWorkflowExecutionActions.ts +179 -0
  308. package/src/workflow/useWorkflowExecutionArtifacts.ts +57 -0
  309. package/src/workflow/useWorkflowExecutionEventLog.ts +111 -0
  310. package/src/workflow/useWorkflowExecutionEventStream.ts +244 -0
  311. package/src/workflow/useWorkflowExecutionList.ts +121 -0
  312. package/src/workflow/useWorkflowInstances.ts +62 -0
  313. package/src/workflow/useWorkflowList.ts +79 -0
  314. package/src/workflow/useWorkflowSave.ts +84 -0
  315. package/src/workflow/useWorkflowTopology.ts +229 -0
  316. package/src/workflow/useWorkflowValidation.ts +329 -0
  317. package/src/workflow/useWorkflowYaml.ts +49 -0
  318. package/src/workflow/workflow-graph-conversions.ts +796 -0
  319. package/src/workflow/workflow-graph-model.ts +83 -0
  320. package/src/workflow/workflow-yaml-diff.ts +132 -0
  321. package/styles.css +1 -1
  322. package/workflow/ApprovalFormBuilder.d.ts +24 -0
  323. package/workflow/ApprovalFormBuilder.d.ts.map +1 -0
  324. package/workflow/ApprovalFormBuilder.js +347 -0
  325. package/workflow/ApprovalFormBuilder.js.map +1 -0
  326. package/workflow/BranchConditionBuilder.d.ts +29 -0
  327. package/workflow/BranchConditionBuilder.d.ts.map +1 -0
  328. package/workflow/BranchConditionBuilder.js +170 -0
  329. package/workflow/BranchConditionBuilder.js.map +1 -0
  330. package/workflow/CanvasActionsContext.d.ts +8 -0
  331. package/workflow/CanvasActionsContext.d.ts.map +1 -0
  332. package/workflow/CanvasActionsContext.js +4 -0
  333. package/workflow/CanvasActionsContext.js.map +1 -0
  334. package/workflow/CanvasContextMenu.d.ts +59 -0
  335. package/workflow/CanvasContextMenu.d.ts.map +1 -0
  336. package/workflow/CanvasContextMenu.js +98 -0
  337. package/workflow/CanvasContextMenu.js.map +1 -0
  338. package/workflow/CanvasTaskNode.d.ts +21 -0
  339. package/workflow/CanvasTaskNode.d.ts.map +1 -0
  340. package/workflow/CanvasTaskNode.js +125 -0
  341. package/workflow/CanvasTaskNode.js.map +1 -0
  342. package/workflow/CanvasTransitionEdge.d.ts +24 -0
  343. package/workflow/CanvasTransitionEdge.d.ts.map +1 -0
  344. package/workflow/CanvasTransitionEdge.js +50 -0
  345. package/workflow/CanvasTransitionEdge.js.map +1 -0
  346. package/workflow/CostByWorkflowChart.d.ts +15 -0
  347. package/workflow/CostByWorkflowChart.d.ts.map +1 -0
  348. package/workflow/CostByWorkflowChart.js +45 -0
  349. package/workflow/CostByWorkflowChart.js.map +1 -0
  350. package/workflow/ExecutionSummaryWidget.d.ts +16 -0
  351. package/workflow/ExecutionSummaryWidget.d.ts.map +1 -0
  352. package/workflow/ExecutionSummaryWidget.js +93 -0
  353. package/workflow/ExecutionSummaryWidget.js.map +1 -0
  354. package/workflow/ExecutionTrendChart.d.ts +14 -0
  355. package/workflow/ExecutionTrendChart.d.ts.map +1 -0
  356. package/workflow/ExecutionTrendChart.js +67 -0
  357. package/workflow/ExecutionTrendChart.js.map +1 -0
  358. package/workflow/FailedRunsWidget.d.ts +19 -0
  359. package/workflow/FailedRunsWidget.d.ts.map +1 -0
  360. package/workflow/FailedRunsWidget.js +37 -0
  361. package/workflow/FailedRunsWidget.js.map +1 -0
  362. package/workflow/PendingApprovalsWidget.d.ts +19 -0
  363. package/workflow/PendingApprovalsWidget.d.ts.map +1 -0
  364. package/workflow/PendingApprovalsWidget.js +35 -0
  365. package/workflow/PendingApprovalsWidget.js.map +1 -0
  366. package/workflow/TaskConfigForm.d.ts +29 -0
  367. package/workflow/TaskConfigForm.d.ts.map +1 -0
  368. package/workflow/TaskConfigForm.js +230 -0
  369. package/workflow/TaskConfigForm.js.map +1 -0
  370. package/workflow/TaskKindRegistryContext.d.ts +24 -0
  371. package/workflow/TaskKindRegistryContext.d.ts.map +1 -0
  372. package/workflow/TaskKindRegistryContext.js +25 -0
  373. package/workflow/TaskKindRegistryContext.js.map +1 -0
  374. package/workflow/TaskPickerPopover.d.ts +33 -0
  375. package/workflow/TaskPickerPopover.d.ts.map +1 -0
  376. package/workflow/TaskPickerPopover.js +110 -0
  377. package/workflow/TaskPickerPopover.js.map +1 -0
  378. package/workflow/WorkflowArchitectDialog.d.ts +48 -0
  379. package/workflow/WorkflowArchitectDialog.d.ts.map +1 -0
  380. package/workflow/WorkflowArchitectDialog.js +129 -0
  381. package/workflow/WorkflowArchitectDialog.js.map +1 -0
  382. package/workflow/WorkflowCanvasEditor.d.ts +38 -0
  383. package/workflow/WorkflowCanvasEditor.d.ts.map +1 -0
  384. package/workflow/WorkflowCanvasEditor.js +287 -0
  385. package/workflow/WorkflowCanvasEditor.js.map +1 -0
  386. package/workflow/WorkflowCanvasInner.d.ts +32 -0
  387. package/workflow/WorkflowCanvasInner.d.ts.map +1 -0
  388. package/workflow/WorkflowCanvasInner.js +49 -0
  389. package/workflow/WorkflowCanvasInner.js.map +1 -0
  390. package/workflow/WorkflowDashboard.d.ts +35 -0
  391. package/workflow/WorkflowDashboard.d.ts.map +1 -0
  392. package/workflow/WorkflowDashboard.js +59 -0
  393. package/workflow/WorkflowDashboard.js.map +1 -0
  394. package/workflow/WorkflowDetailView.d.ts +63 -0
  395. package/workflow/WorkflowDetailView.d.ts.map +1 -0
  396. package/workflow/WorkflowDetailView.js +202 -0
  397. package/workflow/WorkflowDetailView.js.map +1 -0
  398. package/workflow/WorkflowEditorView.d.ts +43 -0
  399. package/workflow/WorkflowEditorView.d.ts.map +1 -0
  400. package/workflow/WorkflowEditorView.js +165 -0
  401. package/workflow/WorkflowEditorView.js.map +1 -0
  402. package/workflow/WorkflowExecutionApprovalCard.d.ts +27 -0
  403. package/workflow/WorkflowExecutionApprovalCard.d.ts.map +1 -0
  404. package/workflow/WorkflowExecutionApprovalCard.js +32 -0
  405. package/workflow/WorkflowExecutionApprovalCard.js.map +1 -0
  406. package/workflow/WorkflowExecutionArtifactPanel.d.ts +15 -0
  407. package/workflow/WorkflowExecutionArtifactPanel.d.ts.map +1 -0
  408. package/workflow/WorkflowExecutionArtifactPanel.js +53 -0
  409. package/workflow/WorkflowExecutionArtifactPanel.js.map +1 -0
  410. package/workflow/WorkflowExecutionCostPanel.d.ts +18 -0
  411. package/workflow/WorkflowExecutionCostPanel.d.ts.map +1 -0
  412. package/workflow/WorkflowExecutionCostPanel.js +44 -0
  413. package/workflow/WorkflowExecutionCostPanel.js.map +1 -0
  414. package/workflow/WorkflowExecutionHeader.d.ts +26 -0
  415. package/workflow/WorkflowExecutionHeader.d.ts.map +1 -0
  416. package/workflow/WorkflowExecutionHeader.js +68 -0
  417. package/workflow/WorkflowExecutionHeader.js.map +1 -0
  418. package/workflow/WorkflowExecutionPhaseBadge.d.ts +23 -0
  419. package/workflow/WorkflowExecutionPhaseBadge.d.ts.map +1 -0
  420. package/workflow/WorkflowExecutionPhaseBadge.js +99 -0
  421. package/workflow/WorkflowExecutionPhaseBadge.js.map +1 -0
  422. package/workflow/WorkflowExecutionTaskPanel.d.ts +24 -0
  423. package/workflow/WorkflowExecutionTaskPanel.d.ts.map +1 -0
  424. package/workflow/WorkflowExecutionTaskPanel.js +59 -0
  425. package/workflow/WorkflowExecutionTaskPanel.js.map +1 -0
  426. package/workflow/WorkflowExecutionTimeline.d.ts +27 -0
  427. package/workflow/WorkflowExecutionTimeline.d.ts.map +1 -0
  428. package/workflow/WorkflowExecutionTimeline.js +51 -0
  429. package/workflow/WorkflowExecutionTimeline.js.map +1 -0
  430. package/workflow/WorkflowExecutionTimelineEvent.d.ts +18 -0
  431. package/workflow/WorkflowExecutionTimelineEvent.d.ts.map +1 -0
  432. package/workflow/WorkflowExecutionTimelineEvent.js +210 -0
  433. package/workflow/WorkflowExecutionTimelineEvent.js.map +1 -0
  434. package/workflow/WorkflowExecutionViewer.d.ts +45 -0
  435. package/workflow/WorkflowExecutionViewer.d.ts.map +1 -0
  436. package/workflow/WorkflowExecutionViewer.js +75 -0
  437. package/workflow/WorkflowExecutionViewer.js.map +1 -0
  438. package/workflow/WorkflowInspectorPanel.d.ts +46 -0
  439. package/workflow/WorkflowInspectorPanel.d.ts.map +1 -0
  440. package/workflow/WorkflowInspectorPanel.js +152 -0
  441. package/workflow/WorkflowInspectorPanel.js.map +1 -0
  442. package/workflow/WorkflowRefinePanel.d.ts +30 -0
  443. package/workflow/WorkflowRefinePanel.d.ts.map +1 -0
  444. package/workflow/WorkflowRefinePanel.js +107 -0
  445. package/workflow/WorkflowRefinePanel.js.map +1 -0
  446. package/workflow/WorkflowRepairCard.d.ts +35 -0
  447. package/workflow/WorkflowRepairCard.d.ts.map +1 -0
  448. package/workflow/WorkflowRepairCard.js +113 -0
  449. package/workflow/WorkflowRepairCard.js.map +1 -0
  450. package/workflow/WorkflowRunDialog.d.ts +51 -0
  451. package/workflow/WorkflowRunDialog.d.ts.map +1 -0
  452. package/workflow/WorkflowRunDialog.js +75 -0
  453. package/workflow/WorkflowRunDialog.js.map +1 -0
  454. package/workflow/WorkflowRunForm.d.ts +62 -0
  455. package/workflow/WorkflowRunForm.d.ts.map +1 -0
  456. package/workflow/WorkflowRunForm.js +64 -0
  457. package/workflow/WorkflowRunForm.js.map +1 -0
  458. package/workflow/WorkflowTaskList.d.ts +25 -0
  459. package/workflow/WorkflowTaskList.d.ts.map +1 -0
  460. package/workflow/WorkflowTaskList.js +89 -0
  461. package/workflow/WorkflowTaskList.js.map +1 -0
  462. package/workflow/WorkflowTaskPalette.d.ts +22 -0
  463. package/workflow/WorkflowTaskPalette.d.ts.map +1 -0
  464. package/workflow/WorkflowTaskPalette.js +83 -0
  465. package/workflow/WorkflowTaskPalette.js.map +1 -0
  466. package/workflow/WorkflowTopologyGraph.d.ts +22 -0
  467. package/workflow/WorkflowTopologyGraph.d.ts.map +1 -0
  468. package/workflow/WorkflowTopologyGraph.js +123 -0
  469. package/workflow/WorkflowTopologyGraph.js.map +1 -0
  470. package/workflow/WorkflowYamlEditor.d.ts +43 -0
  471. package/workflow/WorkflowYamlEditor.d.ts.map +1 -0
  472. package/workflow/WorkflowYamlEditor.js +215 -0
  473. package/workflow/WorkflowYamlEditor.js.map +1 -0
  474. package/workflow/__tests__/starter-workflow-yaml.test.d.ts +2 -0
  475. package/workflow/__tests__/starter-workflow-yaml.test.d.ts.map +1 -0
  476. package/workflow/__tests__/starter-workflow-yaml.test.js +44 -0
  477. package/workflow/__tests__/starter-workflow-yaml.test.js.map +1 -0
  478. package/workflow/canvas-constants.d.ts +56 -0
  479. package/workflow/canvas-constants.d.ts.map +1 -0
  480. package/workflow/canvas-constants.js +74 -0
  481. package/workflow/canvas-constants.js.map +1 -0
  482. package/workflow/canvas-icons.d.ts +13 -0
  483. package/workflow/canvas-icons.d.ts.map +1 -0
  484. package/workflow/canvas-icons.js +21 -0
  485. package/workflow/canvas-icons.js.map +1 -0
  486. package/workflow/extract-workflow-yaml.d.ts +22 -0
  487. package/workflow/extract-workflow-yaml.d.ts.map +1 -0
  488. package/workflow/extract-workflow-yaml.js +63 -0
  489. package/workflow/extract-workflow-yaml.js.map +1 -0
  490. package/workflow/graph-commands.d.ts +209 -0
  491. package/workflow/graph-commands.d.ts.map +1 -0
  492. package/workflow/graph-commands.js +516 -0
  493. package/workflow/graph-commands.js.map +1 -0
  494. package/workflow/index.d.ts +66 -0
  495. package/workflow/index.d.ts.map +1 -0
  496. package/workflow/index.js +88 -0
  497. package/workflow/index.js.map +1 -0
  498. package/workflow/serialize-workflow-yaml.d.ts +39 -0
  499. package/workflow/serialize-workflow-yaml.d.ts.map +1 -0
  500. package/workflow/serialize-workflow-yaml.js +413 -0
  501. package/workflow/serialize-workflow-yaml.js.map +1 -0
  502. package/workflow/starter-workflow-yaml.d.ts +12 -0
  503. package/workflow/starter-workflow-yaml.d.ts.map +1 -0
  504. package/workflow/starter-workflow-yaml.js +30 -0
  505. package/workflow/starter-workflow-yaml.js.map +1 -0
  506. package/workflow/types.d.ts +80 -0
  507. package/workflow/types.d.ts.map +1 -0
  508. package/workflow/types.js +2 -0
  509. package/workflow/types.js.map +1 -0
  510. package/workflow/useCanvasKeyboardShortcuts.d.ts +34 -0
  511. package/workflow/useCanvasKeyboardShortcuts.d.ts.map +1 -0
  512. package/workflow/useCanvasKeyboardShortcuts.js +108 -0
  513. package/workflow/useCanvasKeyboardShortcuts.js.map +1 -0
  514. package/workflow/useDiagnoseExecutionFlow.d.ts +87 -0
  515. package/workflow/useDiagnoseExecutionFlow.d.ts.map +1 -0
  516. package/workflow/useDiagnoseExecutionFlow.js +257 -0
  517. package/workflow/useDiagnoseExecutionFlow.js.map +1 -0
  518. package/workflow/useGraphHistory.d.ts +28 -0
  519. package/workflow/useGraphHistory.d.ts.map +1 -0
  520. package/workflow/useGraphHistory.js +106 -0
  521. package/workflow/useGraphHistory.js.map +1 -0
  522. package/workflow/usePendingApprovals.d.ts +35 -0
  523. package/workflow/usePendingApprovals.d.ts.map +1 -0
  524. package/workflow/usePendingApprovals.js +50 -0
  525. package/workflow/usePendingApprovals.js.map +1 -0
  526. package/workflow/useRefineWorkflowFlow.d.ts +75 -0
  527. package/workflow/useRefineWorkflowFlow.d.ts.map +1 -0
  528. package/workflow/useRefineWorkflowFlow.js +216 -0
  529. package/workflow/useRefineWorkflowFlow.js.map +1 -0
  530. package/workflow/useResolveAgentExecutionSession.d.ts +33 -0
  531. package/workflow/useResolveAgentExecutionSession.d.ts.map +1 -0
  532. package/workflow/useResolveAgentExecutionSession.js +37 -0
  533. package/workflow/useResolveAgentExecutionSession.js.map +1 -0
  534. package/workflow/useRunWorkflowFlow.d.ts +82 -0
  535. package/workflow/useRunWorkflowFlow.d.ts.map +1 -0
  536. package/workflow/useRunWorkflowFlow.js +145 -0
  537. package/workflow/useRunWorkflowFlow.js.map +1 -0
  538. package/workflow/useTaskKindRegistry.d.ts +96 -0
  539. package/workflow/useTaskKindRegistry.d.ts.map +1 -0
  540. package/workflow/useTaskKindRegistry.js +75 -0
  541. package/workflow/useTaskKindRegistry.js.map +1 -0
  542. package/workflow/useWorkflow.d.ts +47 -0
  543. package/workflow/useWorkflow.d.ts.map +1 -0
  544. package/workflow/useWorkflow.js +53 -0
  545. package/workflow/useWorkflow.js.map +1 -0
  546. package/workflow/useWorkflowArchitectFlow.d.ts +96 -0
  547. package/workflow/useWorkflowArchitectFlow.d.ts.map +1 -0
  548. package/workflow/useWorkflowArchitectFlow.js +179 -0
  549. package/workflow/useWorkflowArchitectFlow.js.map +1 -0
  550. package/workflow/useWorkflowCanvas.d.ts +66 -0
  551. package/workflow/useWorkflowCanvas.d.ts.map +1 -0
  552. package/workflow/useWorkflowCanvas.js +628 -0
  553. package/workflow/useWorkflowCanvas.js.map +1 -0
  554. package/workflow/useWorkflowCount.d.ts +47 -0
  555. package/workflow/useWorkflowCount.d.ts.map +1 -0
  556. package/workflow/useWorkflowCount.js +26 -0
  557. package/workflow/useWorkflowCount.js.map +1 -0
  558. package/workflow/useWorkflowDashboardSummary.d.ts +34 -0
  559. package/workflow/useWorkflowDashboardSummary.d.ts.map +1 -0
  560. package/workflow/useWorkflowDashboardSummary.js +33 -0
  561. package/workflow/useWorkflowDashboardSummary.js.map +1 -0
  562. package/workflow/useWorkflowEditor.d.ts +45 -0
  563. package/workflow/useWorkflowEditor.d.ts.map +1 -0
  564. package/workflow/useWorkflowEditor.js +52 -0
  565. package/workflow/useWorkflowEditor.js.map +1 -0
  566. package/workflow/useWorkflowExecution.d.ts +37 -0
  567. package/workflow/useWorkflowExecution.d.ts.map +1 -0
  568. package/workflow/useWorkflowExecution.js +43 -0
  569. package/workflow/useWorkflowExecution.js.map +1 -0
  570. package/workflow/useWorkflowExecutionActions.d.ts +41 -0
  571. package/workflow/useWorkflowExecutionActions.d.ts.map +1 -0
  572. package/workflow/useWorkflowExecutionActions.js +86 -0
  573. package/workflow/useWorkflowExecutionActions.js.map +1 -0
  574. package/workflow/useWorkflowExecutionArtifacts.d.ts +26 -0
  575. package/workflow/useWorkflowExecutionArtifacts.d.ts.map +1 -0
  576. package/workflow/useWorkflowExecutionArtifacts.js +29 -0
  577. package/workflow/useWorkflowExecutionArtifacts.js.map +1 -0
  578. package/workflow/useWorkflowExecutionEventLog.d.ts +47 -0
  579. package/workflow/useWorkflowExecutionEventLog.d.ts.map +1 -0
  580. package/workflow/useWorkflowExecutionEventLog.js +59 -0
  581. package/workflow/useWorkflowExecutionEventLog.js.map +1 -0
  582. package/workflow/useWorkflowExecutionEventStream.d.ts +61 -0
  583. package/workflow/useWorkflowExecutionEventStream.d.ts.map +1 -0
  584. package/workflow/useWorkflowExecutionEventStream.js +161 -0
  585. package/workflow/useWorkflowExecutionEventStream.js.map +1 -0
  586. package/workflow/useWorkflowExecutionList.d.ts +49 -0
  587. package/workflow/useWorkflowExecutionList.d.ts.map +1 -0
  588. package/workflow/useWorkflowExecutionList.js +65 -0
  589. package/workflow/useWorkflowExecutionList.js.map +1 -0
  590. package/workflow/useWorkflowInstances.d.ts +30 -0
  591. package/workflow/useWorkflowInstances.d.ts.map +1 -0
  592. package/workflow/useWorkflowInstances.js +33 -0
  593. package/workflow/useWorkflowInstances.js.map +1 -0
  594. package/workflow/useWorkflowList.d.ts +57 -0
  595. package/workflow/useWorkflowList.d.ts.map +1 -0
  596. package/workflow/useWorkflowList.js +29 -0
  597. package/workflow/useWorkflowList.js.map +1 -0
  598. package/workflow/useWorkflowSave.d.ts +25 -0
  599. package/workflow/useWorkflowSave.d.ts.map +1 -0
  600. package/workflow/useWorkflowSave.js +61 -0
  601. package/workflow/useWorkflowSave.js.map +1 -0
  602. package/workflow/useWorkflowTopology.d.ts +40 -0
  603. package/workflow/useWorkflowTopology.d.ts.map +1 -0
  604. package/workflow/useWorkflowTopology.js +163 -0
  605. package/workflow/useWorkflowTopology.js.map +1 -0
  606. package/workflow/useWorkflowValidation.d.ts +27 -0
  607. package/workflow/useWorkflowValidation.d.ts.map +1 -0
  608. package/workflow/useWorkflowValidation.js +253 -0
  609. package/workflow/useWorkflowValidation.js.map +1 -0
  610. package/workflow/useWorkflowYaml.d.ts +26 -0
  611. package/workflow/useWorkflowYaml.d.ts.map +1 -0
  612. package/workflow/useWorkflowYaml.js +26 -0
  613. package/workflow/useWorkflowYaml.js.map +1 -0
  614. package/workflow/workflow-graph-conversions.d.ts +70 -0
  615. package/workflow/workflow-graph-conversions.d.ts.map +1 -0
  616. package/workflow/workflow-graph-conversions.js +634 -0
  617. package/workflow/workflow-graph-conversions.js.map +1 -0
  618. package/workflow/workflow-graph-model.d.ts +83 -0
  619. package/workflow/workflow-graph-model.d.ts.map +1 -0
  620. package/workflow/workflow-graph-model.js +5 -0
  621. package/workflow/workflow-graph-model.js.map +1 -0
  622. package/workflow/workflow-yaml-diff.d.ts +24 -0
  623. package/workflow/workflow-yaml-diff.d.ts.map +1 -0
  624. package/workflow/workflow-yaml-diff.js +96 -0
  625. package/workflow/workflow-yaml-diff.js.map +1 -0
@@ -0,0 +1,92 @@
1
+ import type { WorkflowExecutionEvent } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/event_pb";
2
+ import type { WorkflowTaskKind } from "@stigmer/protos/ai/stigmer/agentic/workflow/v1/enum_pb";
3
+ export type WorkflowEventStreamState = {
4
+ readonly stage: "idle";
5
+ } | {
6
+ readonly stage: "connecting";
7
+ readonly executionId: string;
8
+ } | {
9
+ readonly stage: "streaming";
10
+ readonly executionId: string;
11
+ } | {
12
+ readonly stage: "complete";
13
+ readonly executionId: string;
14
+ } | {
15
+ readonly stage: "error";
16
+ readonly executionId: string;
17
+ readonly error: Error;
18
+ } | {
19
+ readonly stage: "unsupported";
20
+ readonly executionId: string;
21
+ };
22
+ export interface DerivedTaskState {
23
+ readonly taskName: string;
24
+ readonly taskKind: WorkflowTaskKind;
25
+ readonly status: "pending" | "running" | "completed" | "failed" | "skipped" | "retrying" | "waiting_approval";
26
+ readonly durationMs: number;
27
+ readonly costMicros: bigint;
28
+ readonly tokensUsed: bigint;
29
+ readonly attemptNumber: number;
30
+ readonly error: string;
31
+ readonly childExecutionId: string;
32
+ }
33
+ export interface DerivedCostSummary {
34
+ readonly costConsumedMicros: bigint;
35
+ readonly costRemainingMicros: bigint;
36
+ readonly tokensConsumed: bigint;
37
+ readonly tokensRemaining: bigint;
38
+ readonly thresholdBreached: boolean;
39
+ }
40
+ type Listener = () => void;
41
+ /**
42
+ * Framework-agnostic store that accumulates workflow execution events
43
+ * in an append-only list and derives task states and cost summaries.
44
+ *
45
+ * Implements the contract required by React's `useSyncExternalStore`.
46
+ *
47
+ * Unlike `ConversationStore` (which stores mutable execution snapshots
48
+ * and applies structural sharing), this store is append-only: events
49
+ * are immutable once received. Derived state (task map, cost summary)
50
+ * is lazily recomputed and cached.
51
+ */
52
+ export declare class WorkflowExecutionEventStore {
53
+ private _events;
54
+ private _streamState;
55
+ private _listeners;
56
+ private _taskStatesCache;
57
+ private _costSummaryCache;
58
+ private _totalTasks;
59
+ /**
60
+ * Append new events to the store. Deduplicates by sequence_number
61
+ * and maintains ascending order. Notifies listeners only when new
62
+ * events are actually added.
63
+ */
64
+ appendEvents(events: readonly WorkflowExecutionEvent[]): void;
65
+ /**
66
+ * Transition the stream lifecycle state.
67
+ */
68
+ setStreamState(state: WorkflowEventStreamState): void;
69
+ /**
70
+ * Reset to initial state.
71
+ */
72
+ reset(): void;
73
+ subscribe: (listener: Listener) => (() => void);
74
+ getEvents: () => readonly WorkflowExecutionEvent[];
75
+ getStreamState: () => WorkflowEventStreamState;
76
+ getLatestSequence: () => bigint;
77
+ getTotalTasks: () => number;
78
+ /**
79
+ * Derived task state map, lazily computed and cached until new
80
+ * events are appended. Walks the event list once per invalidation
81
+ * to build a `Map<taskName, DerivedTaskState>`.
82
+ */
83
+ getTaskStates: () => ReadonlyMap<string, DerivedTaskState>;
84
+ /**
85
+ * Derived cost summary from the latest budget_checkpoint event.
86
+ * Falls back to aggregating task_completed events when no checkpoint exists.
87
+ */
88
+ getCostSummary: () => DerivedCostSummary;
89
+ private _notify;
90
+ }
91
+ export {};
92
+ //# sourceMappingURL=workflow-execution-event-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-execution-event-store.d.ts","sourceRoot":"","sources":["../../../src/internal/store/workflow-execution-event-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kEAAkE,CAAC;AAE/G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAM/F,MAAM,MAAM,wBAAwB,GAChC;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC5D;IACE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB,GACD;IAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAQpE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,kBAAkB,CAAC;IAC9G,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;CACrC;AAiBD,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAE3B;;;;;;;;;;GAUG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,UAAU,CAAuB;IAEzC,OAAO,CAAC,gBAAgB,CAAsD;IAC9E,OAAO,CAAC,iBAAiB,CAAmC;IAC5D,OAAO,CAAC,WAAW,CAAK;IAIxB;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,GAAG,IAAI;IAgC7D;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,wBAAwB,GAAG,IAAI;IAMrD;;OAEG;IACH,KAAK,IAAI,IAAI;IAab,SAAS,GAAI,UAAU,QAAQ,KAAG,CAAC,MAAM,IAAI,CAAC,CAK5C;IAEF,SAAS,QAAO,SAAS,sBAAsB,EAAE,CAE/C;IAEF,cAAc,QAAO,wBAAwB,CAE3C;IAEF,iBAAiB,QAAO,MAAM,CAG5B;IAEF,aAAa,QAAO,MAAM,CAExB;IAEF;;;;OAIG;IACH,aAAa,QAAO,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAIvD;IAEF;;;OAGG;IACH,cAAc,QAAO,kBAAkB,CAIrC;IAIF,OAAO,CAAC,OAAO;CAKhB"}
@@ -0,0 +1,298 @@
1
+ import { WorkflowEventType } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/event_pb";
2
+ const IDLE_STATE = { stage: "idle" };
3
+ const BIGINT_ZERO = BigInt(0);
4
+ const BIGINT_NEG_ONE = BigInt(-1);
5
+ const EMPTY_COST_SUMMARY = {
6
+ costConsumedMicros: BIGINT_ZERO,
7
+ costRemainingMicros: BIGINT_NEG_ONE,
8
+ tokensConsumed: BIGINT_ZERO,
9
+ tokensRemaining: BIGINT_NEG_ONE,
10
+ thresholdBreached: false,
11
+ };
12
+ /**
13
+ * Framework-agnostic store that accumulates workflow execution events
14
+ * in an append-only list and derives task states and cost summaries.
15
+ *
16
+ * Implements the contract required by React's `useSyncExternalStore`.
17
+ *
18
+ * Unlike `ConversationStore` (which stores mutable execution snapshots
19
+ * and applies structural sharing), this store is append-only: events
20
+ * are immutable once received. Derived state (task map, cost summary)
21
+ * is lazily recomputed and cached.
22
+ */
23
+ export class WorkflowExecutionEventStore {
24
+ _events = [];
25
+ _streamState = IDLE_STATE;
26
+ _listeners = new Set();
27
+ _taskStatesCache = null;
28
+ _costSummaryCache = null;
29
+ _totalTasks = 0;
30
+ // -- Ingestion -----------------------------------------------------------
31
+ /**
32
+ * Append new events to the store. Deduplicates by sequence_number
33
+ * and maintains ascending order. Notifies listeners only when new
34
+ * events are actually added.
35
+ */
36
+ appendEvents(events) {
37
+ if (events.length === 0)
38
+ return;
39
+ const currentMax = this._events.length > 0
40
+ ? this._events[this._events.length - 1].sequenceNumber
41
+ : BIGINT_ZERO;
42
+ const newEvents = events.filter((e) => e.sequenceNumber > currentMax);
43
+ if (newEvents.length === 0)
44
+ return;
45
+ newEvents.sort((a, b) => {
46
+ if (a.sequenceNumber < b.sequenceNumber)
47
+ return -1;
48
+ if (a.sequenceNumber > b.sequenceNumber)
49
+ return 1;
50
+ return 0;
51
+ });
52
+ this._events = [...this._events, ...newEvents];
53
+ this._taskStatesCache = null;
54
+ this._costSummaryCache = null;
55
+ for (const evt of newEvents) {
56
+ if (evt.eventType === WorkflowEventType.execution_started &&
57
+ evt.payload.case === "executionStarted") {
58
+ this._totalTasks = evt.payload.value.totalTasks;
59
+ }
60
+ }
61
+ this._notify();
62
+ }
63
+ /**
64
+ * Transition the stream lifecycle state.
65
+ */
66
+ setStreamState(state) {
67
+ if (streamStateEqual(this._streamState, state))
68
+ return;
69
+ this._streamState = state;
70
+ this._notify();
71
+ }
72
+ /**
73
+ * Reset to initial state.
74
+ */
75
+ reset() {
76
+ const wasEmpty = this._events.length === 0 && this._streamState.stage === "idle";
77
+ this._events = [];
78
+ this._streamState = IDLE_STATE;
79
+ this._taskStatesCache = null;
80
+ this._costSummaryCache = null;
81
+ this._totalTasks = 0;
82
+ if (!wasEmpty)
83
+ this._notify();
84
+ }
85
+ // -- useSyncExternalStore selectors -------------------------------------
86
+ subscribe = (listener) => {
87
+ this._listeners.add(listener);
88
+ return () => {
89
+ this._listeners.delete(listener);
90
+ };
91
+ };
92
+ getEvents = () => {
93
+ return this._events;
94
+ };
95
+ getStreamState = () => {
96
+ return this._streamState;
97
+ };
98
+ getLatestSequence = () => {
99
+ if (this._events.length === 0)
100
+ return BIGINT_ZERO;
101
+ return this._events[this._events.length - 1].sequenceNumber;
102
+ };
103
+ getTotalTasks = () => {
104
+ return this._totalTasks;
105
+ };
106
+ /**
107
+ * Derived task state map, lazily computed and cached until new
108
+ * events are appended. Walks the event list once per invalidation
109
+ * to build a `Map<taskName, DerivedTaskState>`.
110
+ */
111
+ getTaskStates = () => {
112
+ if (this._taskStatesCache)
113
+ return this._taskStatesCache;
114
+ this._taskStatesCache = deriveTaskStates(this._events);
115
+ return this._taskStatesCache;
116
+ };
117
+ /**
118
+ * Derived cost summary from the latest budget_checkpoint event.
119
+ * Falls back to aggregating task_completed events when no checkpoint exists.
120
+ */
121
+ getCostSummary = () => {
122
+ if (this._costSummaryCache)
123
+ return this._costSummaryCache;
124
+ this._costSummaryCache = deriveCostSummary(this._events);
125
+ return this._costSummaryCache;
126
+ };
127
+ // -- Internal ------------------------------------------------------------
128
+ _notify() {
129
+ for (const listener of this._listeners) {
130
+ listener();
131
+ }
132
+ }
133
+ }
134
+ // ---------------------------------------------------------------------------
135
+ // Derivation helpers
136
+ // ---------------------------------------------------------------------------
137
+ function deriveTaskStates(events) {
138
+ const map = new Map();
139
+ for (const evt of events) {
140
+ const taskName = evt.taskName;
141
+ if (!taskName)
142
+ continue;
143
+ const prev = map.get(taskName);
144
+ const p = evt.payload;
145
+ switch (p.case) {
146
+ case "taskStarted":
147
+ map.set(taskName, {
148
+ taskName,
149
+ taskKind: p.value.taskKind,
150
+ status: "running",
151
+ durationMs: 0,
152
+ costMicros: prev?.costMicros ?? BIGINT_ZERO,
153
+ tokensUsed: prev?.tokensUsed ?? BIGINT_ZERO,
154
+ attemptNumber: p.value.attemptNumber,
155
+ error: "",
156
+ childExecutionId: prev?.childExecutionId ?? "",
157
+ });
158
+ break;
159
+ case "taskCompleted":
160
+ map.set(taskName, {
161
+ taskName,
162
+ taskKind: p.value.taskKind,
163
+ status: "completed",
164
+ durationMs: Number(p.value.durationMs),
165
+ costMicros: p.value.costMicros,
166
+ tokensUsed: p.value.tokensUsed,
167
+ attemptNumber: prev?.attemptNumber ?? 1,
168
+ error: "",
169
+ childExecutionId: prev?.childExecutionId ?? "",
170
+ });
171
+ break;
172
+ case "taskFailed":
173
+ map.set(taskName, {
174
+ taskName,
175
+ taskKind: p.value.taskKind,
176
+ status: p.value.willRetry ? "retrying" : "failed",
177
+ durationMs: Number(p.value.durationMs),
178
+ costMicros: prev?.costMicros ?? BIGINT_ZERO,
179
+ tokensUsed: prev?.tokensUsed ?? BIGINT_ZERO,
180
+ attemptNumber: p.value.attemptNumber,
181
+ error: p.value.error,
182
+ childExecutionId: prev?.childExecutionId ?? "",
183
+ });
184
+ break;
185
+ case "taskSkipped":
186
+ map.set(taskName, {
187
+ taskName,
188
+ taskKind: p.value.taskKind,
189
+ status: "skipped",
190
+ durationMs: 0,
191
+ costMicros: BIGINT_ZERO,
192
+ tokensUsed: BIGINT_ZERO,
193
+ attemptNumber: 0,
194
+ error: "",
195
+ childExecutionId: prev?.childExecutionId ?? "",
196
+ });
197
+ break;
198
+ case "taskRetrying":
199
+ if (prev) {
200
+ map.set(taskName, { ...prev, status: "retrying" });
201
+ }
202
+ break;
203
+ case "agentCallStarted":
204
+ if (prev) {
205
+ map.set(taskName, {
206
+ ...prev,
207
+ childExecutionId: p.value.childExecutionId,
208
+ });
209
+ }
210
+ break;
211
+ case "agentCallCompleted":
212
+ if (prev) {
213
+ map.set(taskName, {
214
+ ...prev,
215
+ costMicros: p.value.costMicros,
216
+ tokensUsed: p.value.tokensConsumed,
217
+ });
218
+ }
219
+ break;
220
+ case "approvalRequested":
221
+ if (prev) {
222
+ map.set(taskName, { ...prev, status: "waiting_approval" });
223
+ }
224
+ break;
225
+ case "approvalResolved":
226
+ if (prev && prev.status === "waiting_approval") {
227
+ map.set(taskName, { ...prev, status: "running" });
228
+ }
229
+ break;
230
+ }
231
+ }
232
+ return map;
233
+ }
234
+ function deriveCostSummary(events) {
235
+ // Prefer the latest budget_checkpoint event
236
+ for (let i = events.length - 1; i >= 0; i--) {
237
+ const p = events[i].payload;
238
+ if (p.case === "budgetCheckpoint") {
239
+ return {
240
+ costConsumedMicros: p.value.costConsumedMicros,
241
+ costRemainingMicros: p.value.costRemainingMicros,
242
+ tokensConsumed: p.value.tokensConsumed,
243
+ tokensRemaining: p.value.tokensRemaining,
244
+ thresholdBreached: p.value.thresholdBreached,
245
+ };
246
+ }
247
+ }
248
+ // Fall back to execution_completed summary
249
+ for (let i = events.length - 1; i >= 0; i--) {
250
+ const p = events[i].payload;
251
+ if (p.case === "executionCompleted") {
252
+ return {
253
+ costConsumedMicros: p.value.totalCostMicros,
254
+ costRemainingMicros: BIGINT_NEG_ONE,
255
+ tokensConsumed: p.value.totalTokens,
256
+ tokensRemaining: BIGINT_NEG_ONE,
257
+ thresholdBreached: false,
258
+ };
259
+ }
260
+ }
261
+ // Fall back to aggregating task_completed events
262
+ let totalCost = BIGINT_ZERO;
263
+ let totalTokens = BIGINT_ZERO;
264
+ for (const evt of events) {
265
+ if (evt.payload.case === "taskCompleted") {
266
+ totalCost += evt.payload.value.costMicros;
267
+ totalTokens += evt.payload.value.tokensUsed;
268
+ }
269
+ }
270
+ if (totalCost > BIGINT_ZERO || totalTokens > BIGINT_ZERO) {
271
+ return {
272
+ costConsumedMicros: totalCost,
273
+ costRemainingMicros: BIGINT_NEG_ONE,
274
+ tokensConsumed: totalTokens,
275
+ tokensRemaining: BIGINT_NEG_ONE,
276
+ thresholdBreached: false,
277
+ };
278
+ }
279
+ return EMPTY_COST_SUMMARY;
280
+ }
281
+ // ---------------------------------------------------------------------------
282
+ // Stream state equality
283
+ // ---------------------------------------------------------------------------
284
+ function streamStateEqual(a, b) {
285
+ if (a.stage !== b.stage)
286
+ return false;
287
+ if (a.stage === "idle")
288
+ return true;
289
+ if (a.stage === "error" &&
290
+ b.stage === "error" &&
291
+ a.executionId === b.executionId &&
292
+ a.error === b.error)
293
+ return true;
294
+ if ("executionId" in a && "executionId" in b)
295
+ return a.executionId === b.executionId;
296
+ return false;
297
+ }
298
+ //# sourceMappingURL=workflow-execution-event-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-execution-event-store.js","sourceRoot":"","sources":["../../../src/internal/store/workflow-execution-event-store.ts"],"names":[],"mappings":"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"}
@@ -9,20 +9,24 @@ export interface ScopeToggleProps {
9
9
  readonly disabled?: boolean;
10
10
  /** Additional CSS classes applied to the root element. */
11
11
  readonly className?: string;
12
+ /**
13
+ * When true, renders icon-only buttons without text labels.
14
+ * Useful inside space-constrained contexts like picker popovers.
15
+ * Each button retains an accessible `aria-label`.
16
+ */
17
+ readonly compact?: boolean;
12
18
  }
13
19
  /**
14
- * Segmented control for toggling resource scope between "Org"
15
- * (only the current organization's resources) and "All"
16
- * (including public and platform resources).
20
+ * Segmented control for switching resource list scope between
21
+ * organization-only and all (including public community resources).
22
+ *
23
+ * Renders as a WAI-ARIA Radio Group with roving tabindex and
24
+ * arrow-key navigation. Follows the same visual pattern as
25
+ * {@link VisibilityToggle}.
17
26
  *
18
- * Designed for use in Library list headers alongside a search input.
19
27
  * The component is controlled — the consumer owns the `value` state
20
28
  * and handles persistence (e.g., localStorage).
21
29
  *
22
- * Implements the WAI-ARIA Radio Group pattern with roving tabindex
23
- * for keyboard navigation: Arrow Left/Right moves focus and selects,
24
- * Tab enters/exits the group.
25
- *
26
30
  * All visual properties flow through `--stgm-*` tokens.
27
31
  *
28
32
  * @example
@@ -35,5 +39,5 @@ export interface ScopeToggleProps {
35
39
  * @see {@link ResourceListScope} for the type used by data hooks
36
40
  * @see {@link useAgentList}, {@link useSkillList}, {@link useMcpServerList}
37
41
  */
38
- export declare function ScopeToggle({ value, onChange, disabled, className, }: ScopeToggleProps): import("react/jsx-runtime").JSX.Element;
42
+ export declare function ScopeToggle({ value, onChange, disabled, className, compact, }: ScopeToggleProps): import("react/jsx-runtime").JSX.Element;
39
43
  //# sourceMappingURL=ScopeToggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeToggle.d.ts","sourceRoot":"","sources":["../../src/library/ScopeToggle.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACtD,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAUD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,SAAS,GACV,EAAE,gBAAgB,2CAiElB"}
1
+ {"version":3,"file":"ScopeToggle.d.ts","sourceRoot":"","sources":["../../src/library/ScopeToggle.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACtD,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAsBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,SAAS,EACT,OAAe,GAChB,EAAE,gBAAgB,2CA2ElB"}
@@ -1,24 +1,32 @@
1
1
  "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useCallback, useRef } from "react";
4
4
  import { cn } from "@stigmer/theme";
5
- const SCOPE_OPTIONS = [
6
- { value: "org", label: "Org" },
7
- { value: "all", label: "All" },
5
+ const OPTIONS = [
6
+ {
7
+ value: "org",
8
+ label: "Org",
9
+ ariaLabel: "Organization only",
10
+ icon: OrgIcon,
11
+ },
12
+ {
13
+ value: "all",
14
+ label: "All",
15
+ ariaLabel: "All including public",
16
+ icon: GlobeIcon,
17
+ },
8
18
  ];
9
19
  /**
10
- * Segmented control for toggling resource scope between "Org"
11
- * (only the current organization's resources) and "All"
12
- * (including public and platform resources).
20
+ * Segmented control for switching resource list scope between
21
+ * organization-only and all (including public community resources).
22
+ *
23
+ * Renders as a WAI-ARIA Radio Group with roving tabindex and
24
+ * arrow-key navigation. Follows the same visual pattern as
25
+ * {@link VisibilityToggle}.
13
26
  *
14
- * Designed for use in Library list headers alongside a search input.
15
27
  * The component is controlled — the consumer owns the `value` state
16
28
  * and handles persistence (e.g., localStorage).
17
29
  *
18
- * Implements the WAI-ARIA Radio Group pattern with roving tabindex
19
- * for keyboard navigation: Arrow Left/Right moves focus and selects,
20
- * Tab enters/exits the group.
21
- *
22
30
  * All visual properties flow through `--stgm-*` tokens.
23
31
  *
24
32
  * @example
@@ -31,31 +39,44 @@ const SCOPE_OPTIONS = [
31
39
  * @see {@link ResourceListScope} for the type used by data hooks
32
40
  * @see {@link useAgentList}, {@link useSkillList}, {@link useMcpServerList}
33
41
  */
34
- export function ScopeToggle({ value, onChange, disabled = false, className, }) {
42
+ export function ScopeToggle({ value, onChange, disabled = false, className, compact = false, }) {
35
43
  const optionRefs = useRef([]);
44
+ const handleSelect = useCallback((next) => {
45
+ if (next !== value)
46
+ onChange(next);
47
+ }, [value, onChange]);
36
48
  const handleKeyDown = useCallback((e, index) => {
37
49
  let nextIndex = null;
38
50
  if (e.key === "ArrowRight" || e.key === "ArrowDown") {
39
51
  e.preventDefault();
40
- nextIndex = (index + 1) % SCOPE_OPTIONS.length;
52
+ nextIndex = (index + 1) % OPTIONS.length;
41
53
  }
42
54
  else if (e.key === "ArrowLeft" || e.key === "ArrowUp") {
43
55
  e.preventDefault();
44
- nextIndex =
45
- (index - 1 + SCOPE_OPTIONS.length) % SCOPE_OPTIONS.length;
56
+ nextIndex = (index - 1 + OPTIONS.length) % OPTIONS.length;
46
57
  }
47
58
  if (nextIndex !== null) {
48
59
  optionRefs.current[nextIndex]?.focus();
49
- onChange(SCOPE_OPTIONS[nextIndex].value);
60
+ handleSelect(OPTIONS[nextIndex].value);
50
61
  }
51
- }, [onChange]);
52
- return (_jsx("div", { role: "radiogroup", "aria-label": "Resource scope", "aria-disabled": disabled || undefined, className: cn("inline-flex rounded-md bg-muted p-0.5", disabled && "pointer-events-none opacity-50", className), children: SCOPE_OPTIONS.map((option, index) => {
62
+ }, [handleSelect]);
63
+ return (_jsx("div", { role: "radiogroup", "aria-label": "Resource scope", "aria-disabled": disabled || undefined, className: cn("inline-flex rounded-md bg-muted p-0.5", disabled && "pointer-events-none opacity-50", className), children: OPTIONS.map((option, index) => {
53
64
  const isSelected = value === option.value;
54
- return (_jsx("button", { ref: (el) => {
65
+ const Icon = option.icon;
66
+ return (_jsxs("button", { ref: (el) => {
55
67
  optionRefs.current[index] = el;
56
- }, type: "button", role: "radio", "aria-checked": isSelected, tabIndex: isSelected ? 0 : -1, disabled: disabled, onClick: () => onChange(option.value), onKeyDown: (e) => handleKeyDown(e, index), className: cn("cursor-pointer rounded-sm px-3 py-1 text-xs font-medium transition-colors", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", isSelected
68
+ }, type: "button", role: "radio", "aria-checked": isSelected, "aria-label": option.ariaLabel, title: compact ? option.ariaLabel : undefined, tabIndex: isSelected ? 0 : -1, disabled: disabled, onClick: () => handleSelect(option.value), onKeyDown: (e) => handleKeyDown(e, index), className: cn("inline-flex cursor-pointer items-center gap-1 rounded-sm px-2 py-1 text-xs font-medium transition-colors", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", isSelected
57
69
  ? "bg-background text-foreground shadow-sm"
58
- : "text-muted-foreground hover:text-foreground"), children: option.label }, option.value));
70
+ : "text-muted-foreground hover:text-foreground"), children: [_jsx(Icon, { className: "size-3" }), !compact && option.label] }, option.value));
59
71
  }) }));
60
72
  }
73
+ // ---------------------------------------------------------------------------
74
+ // Icons — inline SVGs following the SDK pattern (no icon library dependency)
75
+ // ---------------------------------------------------------------------------
76
+ function OrgIcon({ className }) {
77
+ return (_jsxs("svg", { className: className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("rect", { x: "4", y: "2", width: "8", height: "12", rx: "1" }), _jsx("path", { d: "M6.5 5h3M6.5 8h3M6.5 11h3" })] }));
78
+ }
79
+ function GlobeIcon({ className }) {
80
+ return (_jsxs("svg", { className: className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("circle", { cx: "8", cy: "8", r: "6" }), _jsx("path", { d: "M2 8h12" }), _jsx("path", { d: "M8 2c1.66 1.46 2.6 3.63 2.6 6s-.94 4.54-2.6 6c-1.66-1.46-2.6-3.63-2.6-6s.94-4.54 2.6-6Z" })] }));
81
+ }
61
82
  //# sourceMappingURL=ScopeToggle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeToggle.js","sourceRoot":"","sources":["../../src/library/ScopeToggle.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAepC,MAAM,aAAa,GAGb;IACJ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,SAAS,GACQ;IACjB,MAAM,UAAU,GAAG,MAAM,CAA+B,EAAE,CAAC,CAAC;IAE5D,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,CAAyC,EAAE,KAAa,EAAE,EAAE;QAC3D,IAAI,SAAS,GAAkB,IAAI,CAAC;QAEpC,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YACpD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,SAAS,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;QACjD,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACxD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,SAAS;gBACP,CAAC,KAAK,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC;QAC9D,CAAC;QAED,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;YACvC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,OAAO,CACL,cACE,IAAI,EAAC,YAAY,gBACN,gBAAgB,mBACZ,QAAQ,IAAI,SAAS,EACpC,SAAS,EAAE,EAAE,CACX,uCAAuC,EACvC,QAAQ,IAAI,gCAAgC,EAC5C,SAAS,CACV,YAEA,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACnC,MAAM,UAAU,GAAG,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;YAE1C,OAAO,CACL,iBAEE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;oBACV,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACjC,CAAC,EACD,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,OAAO,kBACE,UAAU,EACxB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EACrC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,EACzC,SAAS,EAAE,EAAE,CACX,2EAA2E,EAC3E,yEAAyE,EACzE,UAAU;oBACR,CAAC,CAAC,yCAAyC;oBAC3C,CAAC,CAAC,6CAA6C,CAClD,YAEA,MAAM,CAAC,KAAK,IAnBR,MAAM,CAAC,KAAK,CAoBV,CACV,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ScopeToggle.js","sourceRoot":"","sources":["../../src/library/ScopeToggle.tsx"],"names":[],"mappings":"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"}
@@ -65,16 +65,25 @@ export function VisibilityToggle({ visibility, onVisibilityChange, isPending = f
65
65
  handleSelect(OPTIONS[nextIndex].value);
66
66
  }
67
67
  }, [handleSelect]);
68
- const currentIndex = OPTIONS.findIndex((o) => o.value === visibility);
69
68
  return (_jsxs("div", { className: cn("inline-flex flex-col gap-1.5", className), children: [_jsx("div", { role: "radiogroup", "aria-label": "Resource visibility", "aria-disabled": effectivelyDisabled || undefined, className: cn("inline-flex rounded-md bg-muted p-0.5", effectivelyDisabled && "pointer-events-none opacity-50"), children: OPTIONS.map((option, index) => {
70
69
  const isSelected = visibility === option.value;
71
- return (_jsx("button", { ref: (el) => {
70
+ const isPublicOption = option.value === ApiResourceVisibility.visibility_public;
71
+ return (_jsxs("button", { ref: (el) => {
72
72
  optionRefs.current[index] = el;
73
- }, type: "button", role: "radio", "aria-checked": isSelected, tabIndex: isSelected ? 0 : -1, disabled: effectivelyDisabled, onClick: () => handleSelect(option.value), onKeyDown: (e) => handleKeyDown(e, index), className: cn("cursor-pointer rounded-sm px-3 py-1 text-xs font-medium transition-colors", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", isSelected && option.value === ApiResourceVisibility.visibility_public
73
+ }, type: "button", role: "radio", "aria-checked": isSelected, tabIndex: isSelected ? 0 : -1, disabled: effectivelyDisabled, onClick: () => handleSelect(option.value), onKeyDown: (e) => handleKeyDown(e, index), className: cn("inline-flex cursor-pointer items-center gap-1 rounded-sm px-2.5 py-1 text-xs font-medium transition-colors", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", isSelected && isPublicOption
74
74
  ? "bg-emerald-100 text-emerald-800 shadow-sm dark:bg-emerald-900/40 dark:text-emerald-300"
75
75
  : isSelected
76
- ? "bg-background text-foreground shadow-sm"
77
- : "text-muted-foreground hover:text-foreground"), children: isPending && isSelected ? (_jsxs("span", { className: "inline-flex items-center gap-1", children: [_jsx("span", { className: "inline-block h-3 w-3 animate-spin rounded-full border-2 border-current border-t-transparent", "aria-hidden": "true" }), option.label] })) : (option.label) }, option.value));
76
+ ? "bg-amber-50 text-amber-800 shadow-sm dark:bg-amber-900/30 dark:text-amber-300"
77
+ : "text-muted-foreground hover:text-foreground"), children: [isPending && isSelected ? (_jsx("span", { className: "inline-block size-3 animate-spin rounded-full border-2 border-current border-t-transparent", "aria-hidden": "true" })) : isPublicOption ? (_jsx(GlobeIcon, { className: "size-3" })) : (_jsx(LockIcon, { className: "size-3" })), option.label] }, option.value));
78
78
  }) }), confirming && (_jsxs("div", { className: cn("flex items-center gap-2 rounded-md border border-amber-200 bg-amber-50 px-3 py-1.5 text-xs", "dark:border-amber-800/50 dark:bg-amber-950/30"), role: "alert", children: [_jsx("span", { className: "text-amber-800 dark:text-amber-200", children: "Make visible to all users?" }), _jsx("button", { type: "button", onClick: confirmPublic, className: cn("rounded px-2 py-0.5 text-xs font-medium", "bg-amber-600 text-white hover:bg-amber-700", "dark:bg-amber-600 dark:hover:bg-amber-500", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"), children: "Confirm" }), _jsx("button", { type: "button", onClick: cancelConfirm, className: cn("rounded px-2 py-0.5 text-xs font-medium", "text-amber-700 hover:text-amber-900", "dark:text-amber-300 dark:hover:text-amber-100", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"), children: "Cancel" })] }))] }));
79
79
  }
80
+ // ---------------------------------------------------------------------------
81
+ // Icons — inline SVGs following the SDK pattern (no icon library dependency)
82
+ // ---------------------------------------------------------------------------
83
+ function LockIcon({ className }) {
84
+ return (_jsxs("svg", { className: className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("rect", { x: "3.5", y: "7", width: "9", height: "7", rx: "1.5" }), _jsx("path", { d: "M5.5 7V5a2.5 2.5 0 0 1 5 0v2" })] }));
85
+ }
86
+ function GlobeIcon({ className }) {
87
+ return (_jsxs("svg", { className: className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("circle", { cx: "8", cy: "8", r: "6" }), _jsx("path", { d: "M2 8h12" }), _jsx("path", { d: "M8 2c1.66 1.46 2.6 3.63 2.6 6s-.94 4.54-2.6 6c-1.66-1.46-2.6-3.63-2.6-6s.94-4.54 2.6-6Z" })] }));
88
+ }
80
89
  //# sourceMappingURL=VisibilityToggle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VisibilityToggle.js","sourceRoot":"","sources":["../../src/library/VisibilityToggle.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VisibilityToggle.js","sourceRoot":"","sources":["../../src/library/VisibilityToggle.tsx"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export type { UseDetectSkillPackageReturn } from "./useDetectSkillPackage";
13
13
  export { parseResourceYaml } from "./parse-resource-yaml";
14
14
  export type { ParsedResource } from "./parse-resource-yaml";
15
15
  export { serializeAgentYaml, serializeMcpServerYaml, serializeAgentInputYaml, serializeMcpServerInputYaml, } from "./serialize-resource-yaml";
16
+ export { serializeWorkflowYaml, parseWorkflowYaml } from "../workflow/serialize-workflow-yaml";
16
17
  export { useApplyResource } from "./useApplyResource";
17
18
  export type { UseApplyResourceReturn, ApplyResourceResult, PushSkillParams, } from "./useApplyResource";
18
19
  export { useExportResource } from "./useExportResource";