@stigmer/react 0.5.0 → 1.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 (691) 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/ContextChip.d.ts +7 -2
  28. package/composer/ContextChip.d.ts.map +1 -1
  29. package/composer/ContextChip.js +2 -1
  30. package/composer/ContextChip.js.map +1 -1
  31. package/composer/InteractionModePicker.d.ts +40 -0
  32. package/composer/InteractionModePicker.d.ts.map +1 -0
  33. package/composer/InteractionModePicker.js +76 -0
  34. package/composer/InteractionModePicker.js.map +1 -0
  35. package/composer/SessionComposer.d.ts +64 -64
  36. package/composer/SessionComposer.d.ts.map +1 -1
  37. package/composer/SessionComposer.js +52 -11
  38. package/composer/SessionComposer.js.map +1 -1
  39. package/composer/__tests__/SessionComposer-memo.test.js +10 -5
  40. package/composer/__tests__/SessionComposer-memo.test.js.map +1 -1
  41. package/composer/index.d.ts +3 -1
  42. package/composer/index.d.ts.map +1 -1
  43. package/composer/index.js +1 -0
  44. package/composer/index.js.map +1 -1
  45. package/dashboard/DashboardFailedRuns.d.ts +19 -0
  46. package/dashboard/DashboardFailedRuns.d.ts.map +1 -0
  47. package/dashboard/DashboardFailedRuns.js +35 -0
  48. package/dashboard/DashboardFailedRuns.js.map +1 -0
  49. package/dashboard/DashboardKPICards.d.ts +19 -0
  50. package/dashboard/DashboardKPICards.d.ts.map +1 -0
  51. package/dashboard/DashboardKPICards.js +80 -0
  52. package/dashboard/DashboardKPICards.js.map +1 -0
  53. package/dashboard/OperationalDashboard.d.ts +37 -0
  54. package/dashboard/OperationalDashboard.d.ts.map +1 -0
  55. package/dashboard/OperationalDashboard.js +48 -0
  56. package/dashboard/OperationalDashboard.js.map +1 -0
  57. package/dashboard/index.d.ts +8 -0
  58. package/dashboard/index.d.ts.map +1 -0
  59. package/dashboard/index.js +9 -0
  60. package/dashboard/index.js.map +1 -0
  61. package/dashboard/types.d.ts +49 -0
  62. package/dashboard/types.d.ts.map +1 -0
  63. package/dashboard/types.js +2 -0
  64. package/dashboard/types.js.map +1 -0
  65. package/dashboard/useAgentExecutionSummary.d.ts +33 -0
  66. package/dashboard/useAgentExecutionSummary.d.ts.map +1 -0
  67. package/dashboard/useAgentExecutionSummary.js +32 -0
  68. package/dashboard/useAgentExecutionSummary.js.map +1 -0
  69. package/dashboard/useDashboardFailedRuns.d.ts +18 -0
  70. package/dashboard/useDashboardFailedRuns.d.ts.map +1 -0
  71. package/dashboard/useDashboardFailedRuns.js +86 -0
  72. package/dashboard/useDashboardFailedRuns.js.map +1 -0
  73. package/dashboard/useDashboardSummary.d.ts +32 -0
  74. package/dashboard/useDashboardSummary.d.ts.map +1 -0
  75. package/dashboard/useDashboardSummary.js +67 -0
  76. package/dashboard/useDashboardSummary.js.map +1 -0
  77. package/environment/usePersonalEnvironment.d.ts.map +1 -1
  78. package/environment/usePersonalEnvironment.js +1 -0
  79. package/environment/usePersonalEnvironment.js.map +1 -1
  80. package/execution/ContextGauge.d.ts +45 -0
  81. package/execution/ContextGauge.d.ts.map +1 -0
  82. package/execution/ContextGauge.js +82 -0
  83. package/execution/ContextGauge.js.map +1 -0
  84. package/execution/InteractionModeBadge.d.ts +24 -0
  85. package/execution/InteractionModeBadge.d.ts.map +1 -0
  86. package/execution/InteractionModeBadge.js +29 -0
  87. package/execution/InteractionModeBadge.js.map +1 -0
  88. package/execution/MessageThread.d.ts +33 -3
  89. package/execution/MessageThread.d.ts.map +1 -1
  90. package/execution/MessageThread.js +51 -9
  91. package/execution/MessageThread.js.map +1 -1
  92. package/execution/PlanCompletionCard.d.ts +23 -0
  93. package/execution/PlanCompletionCard.d.ts.map +1 -0
  94. package/execution/PlanCompletionCard.js +28 -0
  95. package/execution/PlanCompletionCard.js.map +1 -0
  96. package/execution/SummarizationBadge.d.ts +30 -0
  97. package/execution/SummarizationBadge.d.ts.map +1 -0
  98. package/execution/SummarizationBadge.js +61 -0
  99. package/execution/SummarizationBadge.js.map +1 -0
  100. package/execution/SummarizationCard.d.ts +27 -0
  101. package/execution/SummarizationCard.d.ts.map +1 -0
  102. package/execution/SummarizationCard.js +47 -0
  103. package/execution/SummarizationCard.js.map +1 -0
  104. package/execution/__tests__/PlanCompletionCard.test.d.ts +2 -0
  105. package/execution/__tests__/PlanCompletionCard.test.d.ts.map +1 -0
  106. package/execution/__tests__/PlanCompletionCard.test.js +53 -0
  107. package/execution/__tests__/PlanCompletionCard.test.js.map +1 -0
  108. package/execution/__tests__/buildThreadItems-plan-completion.test.d.ts +2 -0
  109. package/execution/__tests__/buildThreadItems-plan-completion.test.d.ts.map +1 -0
  110. package/execution/__tests__/buildThreadItems-plan-completion.test.js +137 -0
  111. package/execution/__tests__/buildThreadItems-plan-completion.test.js.map +1 -0
  112. package/execution/__tests__/useContextWindow.test.d.ts +2 -0
  113. package/execution/__tests__/useContextWindow.test.d.ts.map +1 -0
  114. package/execution/__tests__/useContextWindow.test.js +121 -0
  115. package/execution/__tests__/useContextWindow.test.js.map +1 -0
  116. package/execution/index.d.ts +12 -0
  117. package/execution/index.d.ts.map +1 -1
  118. package/execution/index.js +6 -0
  119. package/execution/index.js.map +1 -1
  120. package/execution/useContextWindow.d.ts +71 -0
  121. package/execution/useContextWindow.d.ts.map +1 -0
  122. package/execution/useContextWindow.js +91 -0
  123. package/execution/useContextWindow.js.map +1 -0
  124. package/execution/useCreateAgentExecution.d.ts +9 -0
  125. package/execution/useCreateAgentExecution.d.ts.map +1 -1
  126. package/execution/useCreateAgentExecution.js +15 -3
  127. package/execution/useCreateAgentExecution.js.map +1 -1
  128. package/index.d.ts +11 -6
  129. package/index.d.ts.map +1 -1
  130. package/index.js +13 -3
  131. package/index.js.map +1 -1
  132. package/inline-edit/InlineEditKeyValue.d.ts +5 -1
  133. package/inline-edit/InlineEditKeyValue.d.ts.map +1 -1
  134. package/inline-edit/InlineEditKeyValue.js +3 -3
  135. package/inline-edit/InlineEditKeyValue.js.map +1 -1
  136. package/internal/VirtualizedThread.d.ts +2 -1
  137. package/internal/VirtualizedThread.d.ts.map +1 -1
  138. package/internal/VirtualizedThread.js +3 -2
  139. package/internal/VirtualizedThread.js.map +1 -1
  140. package/internal/store/index.d.ts +1 -0
  141. package/internal/store/index.d.ts.map +1 -1
  142. package/internal/store/index.js +1 -0
  143. package/internal/store/index.js.map +1 -1
  144. package/internal/store/workflow-execution-event-store.d.ts +92 -0
  145. package/internal/store/workflow-execution-event-store.d.ts.map +1 -0
  146. package/internal/store/workflow-execution-event-store.js +298 -0
  147. package/internal/store/workflow-execution-event-store.js.map +1 -0
  148. package/internal/useFetch.js +2 -2
  149. package/internal/useFetch.js.map +1 -1
  150. package/library/ScopeToggle.d.ts +13 -9
  151. package/library/ScopeToggle.d.ts.map +1 -1
  152. package/library/ScopeToggle.js +43 -22
  153. package/library/ScopeToggle.js.map +1 -1
  154. package/library/VisibilityToggle.js +14 -5
  155. package/library/VisibilityToggle.js.map +1 -1
  156. package/library/index.d.ts +1 -0
  157. package/library/index.d.ts.map +1 -1
  158. package/library/index.js +1 -0
  159. package/library/index.js.map +1 -1
  160. package/library/useExportResource.d.ts +3 -2
  161. package/library/useExportResource.d.ts.map +1 -1
  162. package/library/useExportResource.js +11 -6
  163. package/library/useExportResource.js.map +1 -1
  164. package/mcp-server/McpServerDetailView.d.ts.map +1 -1
  165. package/mcp-server/McpServerDetailView.js +169 -58
  166. package/mcp-server/McpServerDetailView.js.map +1 -1
  167. package/mcp-server/McpServerPicker.d.ts.map +1 -1
  168. package/mcp-server/McpServerPicker.js +4 -2
  169. package/mcp-server/McpServerPicker.js.map +1 -1
  170. package/models/ModelRegistryContext.d.ts +2 -0
  171. package/models/ModelRegistryContext.d.ts.map +1 -1
  172. package/models/ModelRegistryContext.js +1 -0
  173. package/models/ModelRegistryContext.js.map +1 -1
  174. package/models/ModelSelector.d.ts.map +1 -1
  175. package/models/ModelSelector.js +2 -2
  176. package/models/ModelSelector.js.map +1 -1
  177. package/models/__tests__/useModelRegistry.test.js +4 -3
  178. package/models/__tests__/useModelRegistry.test.js.map +1 -1
  179. package/models/useModelRegistry.d.ts +2 -0
  180. package/models/useModelRegistry.d.ts.map +1 -1
  181. package/models/useModelRegistry.js +3 -2
  182. package/models/useModelRegistry.js.map +1 -1
  183. package/package.json +16 -5
  184. package/provider.d.ts.map +1 -1
  185. package/provider.js +232 -22
  186. package/provider.js.map +1 -1
  187. package/resource-detail/ResourceDetailShell.d.ts +1 -1
  188. package/resource-detail/ResourceDetailShell.d.ts.map +1 -1
  189. package/resource-detail/ResourceDetailShell.js +6 -6
  190. package/resource-detail/ResourceDetailShell.js.map +1 -1
  191. package/resource-detail/types.d.ts +23 -0
  192. package/resource-detail/types.d.ts.map +1 -1
  193. package/resource-detail/useDeleteResource.d.ts +1 -1
  194. package/resource-detail/useDeleteResource.d.ts.map +1 -1
  195. package/resource-detail/useDeleteResource.js +5 -0
  196. package/resource-detail/useDeleteResource.js.map +1 -1
  197. package/resource-workbench/components/ResourceWorkbench.d.ts.map +1 -1
  198. package/resource-workbench/components/ResourceWorkbench.js +2 -1
  199. package/resource-workbench/components/ResourceWorkbench.js.map +1 -1
  200. package/session/__tests__/session-spec-converters.test.d.ts +2 -0
  201. package/session/__tests__/session-spec-converters.test.d.ts.map +1 -0
  202. package/session/__tests__/session-spec-converters.test.js +162 -0
  203. package/session/__tests__/session-spec-converters.test.js.map +1 -0
  204. package/session/__tests__/useNewSessionFlow.test.js +2 -2
  205. package/session/__tests__/useNewSessionFlow.test.js.map +1 -1
  206. package/session/__tests__/usePersistedModel.test.js +1 -1
  207. package/session/__tests__/usePersistedModel.test.js.map +1 -1
  208. package/session/group-sessions.d.ts +17 -0
  209. package/session/group-sessions.d.ts.map +1 -1
  210. package/session/group-sessions.js +46 -0
  211. package/session/group-sessions.js.map +1 -1
  212. package/session/index.d.ts +4 -2
  213. package/session/index.d.ts.map +1 -1
  214. package/session/index.js +2 -1
  215. package/session/index.js.map +1 -1
  216. package/session/session-spec-converters.d.ts +24 -0
  217. package/session/session-spec-converters.d.ts.map +1 -0
  218. package/session/session-spec-converters.js +72 -0
  219. package/session/session-spec-converters.js.map +1 -0
  220. package/session/useNewSessionFlow.d.ts.map +1 -1
  221. package/session/useNewSessionFlow.js +1 -0
  222. package/session/useNewSessionFlow.js.map +1 -1
  223. package/session/useSessionConversation.d.ts +7 -0
  224. package/session/useSessionConversation.d.ts.map +1 -1
  225. package/session/useSessionConversation.js +2 -56
  226. package/session/useSessionConversation.js.map +1 -1
  227. package/session/useSessionPageFlow.d.ts +5 -0
  228. package/session/useSessionPageFlow.d.ts.map +1 -1
  229. package/session/useSessionPageFlow.js +21 -6
  230. package/session/useSessionPageFlow.js.map +1 -1
  231. package/session/useSessionSearch.d.ts +57 -0
  232. package/session/useSessionSearch.d.ts.map +1 -0
  233. package/session/useSessionSearch.js +94 -0
  234. package/session/useSessionSearch.js.map +1 -0
  235. package/session/useSessionUsage.d.ts.map +1 -1
  236. package/session/useSessionUsage.js +65 -4
  237. package/session/useSessionUsage.js.map +1 -1
  238. package/settings/UsageSection.d.ts.map +1 -1
  239. package/settings/UsageSection.js +1 -4
  240. package/settings/UsageSection.js.map +1 -1
  241. package/skill/SkillPicker.d.ts.map +1 -1
  242. package/skill/SkillPicker.js +4 -2
  243. package/skill/SkillPicker.js.map +1 -1
  244. package/src/activity/group-activity.ts +65 -0
  245. package/src/activity/index.ts +13 -0
  246. package/src/activity/types.ts +35 -0
  247. package/src/activity/useRecentActivity.ts +131 -0
  248. package/src/agent/AgentPicker.tsx +6 -1
  249. package/src/billing/BillingSection.tsx +3 -2
  250. package/src/composer/ComposerToolbar.tsx +19 -1
  251. package/src/composer/ContextChip.tsx +20 -11
  252. package/src/composer/InteractionModePicker.tsx +189 -0
  253. package/src/composer/SessionComposer.tsx +137 -11
  254. package/src/composer/__tests__/SessionComposer-memo.test.ts +11 -6
  255. package/src/composer/index.ts +7 -0
  256. package/src/dashboard/DashboardFailedRuns.tsx +109 -0
  257. package/src/dashboard/DashboardKPICards.tsx +128 -0
  258. package/src/dashboard/OperationalDashboard.tsx +96 -0
  259. package/src/dashboard/index.ts +37 -0
  260. package/src/dashboard/types.ts +50 -0
  261. package/src/dashboard/useAgentExecutionSummary.ts +71 -0
  262. package/src/dashboard/useDashboardFailedRuns.ts +122 -0
  263. package/src/dashboard/useDashboardSummary.ts +109 -0
  264. package/src/environment/usePersonalEnvironment.ts +1 -0
  265. package/src/execution/ContextGauge.tsx +243 -0
  266. package/src/execution/InteractionModeBadge.tsx +70 -0
  267. package/src/execution/MessageThread.tsx +88 -3
  268. package/src/execution/PlanCompletionCard.tsx +105 -0
  269. package/src/execution/SummarizationBadge.tsx +188 -0
  270. package/src/execution/SummarizationCard.tsx +126 -0
  271. package/src/execution/__tests__/PlanCompletionCard.test.tsx +67 -0
  272. package/src/execution/__tests__/buildThreadItems-plan-completion.test.ts +197 -0
  273. package/src/execution/__tests__/useContextWindow.test.ts +167 -0
  274. package/src/execution/index.ts +22 -0
  275. package/src/execution/useContextWindow.ts +148 -0
  276. package/src/execution/useCreateAgentExecution.ts +26 -3
  277. package/src/index.ts +227 -0
  278. package/src/inline-edit/InlineEditKeyValue.tsx +23 -0
  279. package/src/internal/VirtualizedThread.tsx +4 -1
  280. package/src/internal/store/index.ts +6 -0
  281. package/src/internal/store/workflow-execution-event-store.ts +391 -0
  282. package/src/internal/useFetch.ts +2 -2
  283. package/src/library/ScopeToggle.tsx +88 -20
  284. package/src/library/VisibilityToggle.tsx +54 -13
  285. package/src/library/index.ts +2 -0
  286. package/src/library/useExportResource.ts +12 -9
  287. package/src/mcp-server/McpServerDetailView.tsx +509 -203
  288. package/src/mcp-server/McpServerPicker.tsx +6 -1
  289. package/src/models/ModelRegistryContext.ts +3 -0
  290. package/src/models/ModelSelector.tsx +25 -2
  291. package/src/models/__tests__/useModelRegistry.test.tsx +5 -3
  292. package/src/models/useModelRegistry.ts +5 -2
  293. package/src/provider.tsx +264 -26
  294. package/src/resource-detail/ResourceDetailShell.tsx +21 -4
  295. package/src/resource-detail/types.ts +25 -0
  296. package/src/resource-detail/useDeleteResource.ts +6 -1
  297. package/src/resource-workbench/components/ResourceWorkbench.tsx +4 -0
  298. package/src/session/__tests__/session-spec-converters.test.ts +185 -0
  299. package/src/session/__tests__/useNewSessionFlow.test.tsx +2 -2
  300. package/src/session/__tests__/usePersistedModel.test.tsx +1 -1
  301. package/src/session/group-sessions.ts +65 -0
  302. package/src/session/index.ts +8 -2
  303. package/src/session/session-spec-converters.ts +86 -0
  304. package/src/session/useNewSessionFlow.ts +1 -0
  305. package/src/session/useSessionConversation.ts +13 -64
  306. package/src/session/useSessionPageFlow.ts +29 -7
  307. package/src/session/useSessionSearch.ts +149 -0
  308. package/src/session/useSessionUsage.ts +72 -4
  309. package/src/settings/UsageSection.tsx +1 -9
  310. package/src/skill/SkillPicker.tsx +6 -1
  311. package/src/workflow/ApprovalFormBuilder.tsx +1017 -0
  312. package/src/workflow/BranchConditionBuilder.tsx +451 -0
  313. package/src/workflow/CanvasActionsContext.ts +12 -0
  314. package/src/workflow/CanvasContextMenu.tsx +364 -0
  315. package/src/workflow/CanvasTaskNode.tsx +372 -0
  316. package/src/workflow/CanvasTransitionEdge.tsx +122 -0
  317. package/src/workflow/CostByWorkflowChart.tsx +120 -0
  318. package/src/workflow/ExecutionSummaryWidget.tsx +194 -0
  319. package/src/workflow/ExecutionTrendChart.tsx +157 -0
  320. package/src/workflow/FailedRunsWidget.tsx +109 -0
  321. package/src/workflow/PendingApprovalsWidget.tsx +115 -0
  322. package/src/workflow/TaskConfigForm.tsx +618 -0
  323. package/src/workflow/TaskKindRegistryContext.ts +36 -0
  324. package/src/workflow/TaskPickerPopover.tsx +326 -0
  325. package/src/workflow/WorkflowArchitectDialog.tsx +505 -0
  326. package/src/workflow/WorkflowCanvasEditor.tsx +651 -0
  327. package/src/workflow/WorkflowCanvasInner.tsx +160 -0
  328. package/src/workflow/WorkflowDashboard.tsx +124 -0
  329. package/src/workflow/WorkflowDetailView.tsx +527 -0
  330. package/src/workflow/WorkflowEditorView.tsx +547 -0
  331. package/src/workflow/WorkflowExecutionApprovalCard.tsx +129 -0
  332. package/src/workflow/WorkflowExecutionArtifactPanel.tsx +112 -0
  333. package/src/workflow/WorkflowExecutionCostPanel.tsx +131 -0
  334. package/src/workflow/WorkflowExecutionHeader.tsx +194 -0
  335. package/src/workflow/WorkflowExecutionPhaseBadge.tsx +188 -0
  336. package/src/workflow/WorkflowExecutionTaskPanel.tsx +135 -0
  337. package/src/workflow/WorkflowExecutionTimeline.tsx +118 -0
  338. package/src/workflow/WorkflowExecutionTimelineEvent.tsx +488 -0
  339. package/src/workflow/WorkflowExecutionViewer.tsx +248 -0
  340. package/src/workflow/WorkflowInspectorPanel.tsx +568 -0
  341. package/src/workflow/WorkflowRefinePanel.tsx +411 -0
  342. package/src/workflow/WorkflowRepairCard.tsx +433 -0
  343. package/src/workflow/WorkflowRunDialog.tsx +220 -0
  344. package/src/workflow/WorkflowRunForm.tsx +245 -0
  345. package/src/workflow/WorkflowTaskList.tsx +177 -0
  346. package/src/workflow/WorkflowTaskPalette.tsx +248 -0
  347. package/src/workflow/WorkflowTopologyGraph.tsx +250 -0
  348. package/src/workflow/WorkflowYamlEditor.tsx +271 -0
  349. package/src/workflow/__tests__/starter-workflow-yaml.test.ts +57 -0
  350. package/src/workflow/canvas-constants.ts +87 -0
  351. package/src/workflow/canvas-icons.tsx +36 -0
  352. package/src/workflow/extract-workflow-yaml.ts +87 -0
  353. package/src/workflow/graph-commands.ts +675 -0
  354. package/src/workflow/index.ts +375 -0
  355. package/src/workflow/serialize-workflow-yaml.ts +546 -0
  356. package/src/workflow/starter-workflow-yaml.ts +29 -0
  357. package/src/workflow/types.ts +99 -0
  358. package/src/workflow/useCanvasKeyboardShortcuts.ts +134 -0
  359. package/src/workflow/useDiagnoseExecutionFlow.ts +378 -0
  360. package/src/workflow/useGraphHistory.ts +138 -0
  361. package/src/workflow/usePendingApprovals.ts +89 -0
  362. package/src/workflow/useRefineWorkflowFlow.ts +321 -0
  363. package/src/workflow/useResolveAgentExecutionSession.ts +57 -0
  364. package/src/workflow/useRunWorkflowFlow.ts +235 -0
  365. package/src/workflow/useTaskKindRegistry.ts +135 -0
  366. package/src/workflow/useWorkflow.ts +78 -0
  367. package/src/workflow/useWorkflowArchitectFlow.ts +303 -0
  368. package/src/workflow/useWorkflowCanvas.ts +882 -0
  369. package/src/workflow/useWorkflowCount.ts +66 -0
  370. package/src/workflow/useWorkflowDashboardSummary.ts +71 -0
  371. package/src/workflow/useWorkflowEditor.ts +106 -0
  372. package/src/workflow/useWorkflowExecution.ts +67 -0
  373. package/src/workflow/useWorkflowExecutionActions.ts +179 -0
  374. package/src/workflow/useWorkflowExecutionArtifacts.ts +57 -0
  375. package/src/workflow/useWorkflowExecutionEventLog.ts +111 -0
  376. package/src/workflow/useWorkflowExecutionEventStream.ts +244 -0
  377. package/src/workflow/useWorkflowExecutionList.ts +121 -0
  378. package/src/workflow/useWorkflowInstances.ts +62 -0
  379. package/src/workflow/useWorkflowList.ts +79 -0
  380. package/src/workflow/useWorkflowSave.ts +84 -0
  381. package/src/workflow/useWorkflowTopology.ts +229 -0
  382. package/src/workflow/useWorkflowValidation.ts +329 -0
  383. package/src/workflow/useWorkflowYaml.ts +49 -0
  384. package/src/workflow/workflow-graph-conversions.ts +796 -0
  385. package/src/workflow/workflow-graph-model.ts +83 -0
  386. package/src/workflow/workflow-yaml-diff.ts +132 -0
  387. package/styles.css +1 -1
  388. package/workflow/ApprovalFormBuilder.d.ts +24 -0
  389. package/workflow/ApprovalFormBuilder.d.ts.map +1 -0
  390. package/workflow/ApprovalFormBuilder.js +347 -0
  391. package/workflow/ApprovalFormBuilder.js.map +1 -0
  392. package/workflow/BranchConditionBuilder.d.ts +29 -0
  393. package/workflow/BranchConditionBuilder.d.ts.map +1 -0
  394. package/workflow/BranchConditionBuilder.js +170 -0
  395. package/workflow/BranchConditionBuilder.js.map +1 -0
  396. package/workflow/CanvasActionsContext.d.ts +8 -0
  397. package/workflow/CanvasActionsContext.d.ts.map +1 -0
  398. package/workflow/CanvasActionsContext.js +4 -0
  399. package/workflow/CanvasActionsContext.js.map +1 -0
  400. package/workflow/CanvasContextMenu.d.ts +59 -0
  401. package/workflow/CanvasContextMenu.d.ts.map +1 -0
  402. package/workflow/CanvasContextMenu.js +98 -0
  403. package/workflow/CanvasContextMenu.js.map +1 -0
  404. package/workflow/CanvasTaskNode.d.ts +21 -0
  405. package/workflow/CanvasTaskNode.d.ts.map +1 -0
  406. package/workflow/CanvasTaskNode.js +125 -0
  407. package/workflow/CanvasTaskNode.js.map +1 -0
  408. package/workflow/CanvasTransitionEdge.d.ts +24 -0
  409. package/workflow/CanvasTransitionEdge.d.ts.map +1 -0
  410. package/workflow/CanvasTransitionEdge.js +50 -0
  411. package/workflow/CanvasTransitionEdge.js.map +1 -0
  412. package/workflow/CostByWorkflowChart.d.ts +15 -0
  413. package/workflow/CostByWorkflowChart.d.ts.map +1 -0
  414. package/workflow/CostByWorkflowChart.js +45 -0
  415. package/workflow/CostByWorkflowChart.js.map +1 -0
  416. package/workflow/ExecutionSummaryWidget.d.ts +16 -0
  417. package/workflow/ExecutionSummaryWidget.d.ts.map +1 -0
  418. package/workflow/ExecutionSummaryWidget.js +93 -0
  419. package/workflow/ExecutionSummaryWidget.js.map +1 -0
  420. package/workflow/ExecutionTrendChart.d.ts +14 -0
  421. package/workflow/ExecutionTrendChart.d.ts.map +1 -0
  422. package/workflow/ExecutionTrendChart.js +67 -0
  423. package/workflow/ExecutionTrendChart.js.map +1 -0
  424. package/workflow/FailedRunsWidget.d.ts +19 -0
  425. package/workflow/FailedRunsWidget.d.ts.map +1 -0
  426. package/workflow/FailedRunsWidget.js +37 -0
  427. package/workflow/FailedRunsWidget.js.map +1 -0
  428. package/workflow/PendingApprovalsWidget.d.ts +19 -0
  429. package/workflow/PendingApprovalsWidget.d.ts.map +1 -0
  430. package/workflow/PendingApprovalsWidget.js +35 -0
  431. package/workflow/PendingApprovalsWidget.js.map +1 -0
  432. package/workflow/TaskConfigForm.d.ts +29 -0
  433. package/workflow/TaskConfigForm.d.ts.map +1 -0
  434. package/workflow/TaskConfigForm.js +230 -0
  435. package/workflow/TaskConfigForm.js.map +1 -0
  436. package/workflow/TaskKindRegistryContext.d.ts +24 -0
  437. package/workflow/TaskKindRegistryContext.d.ts.map +1 -0
  438. package/workflow/TaskKindRegistryContext.js +25 -0
  439. package/workflow/TaskKindRegistryContext.js.map +1 -0
  440. package/workflow/TaskPickerPopover.d.ts +33 -0
  441. package/workflow/TaskPickerPopover.d.ts.map +1 -0
  442. package/workflow/TaskPickerPopover.js +110 -0
  443. package/workflow/TaskPickerPopover.js.map +1 -0
  444. package/workflow/WorkflowArchitectDialog.d.ts +48 -0
  445. package/workflow/WorkflowArchitectDialog.d.ts.map +1 -0
  446. package/workflow/WorkflowArchitectDialog.js +129 -0
  447. package/workflow/WorkflowArchitectDialog.js.map +1 -0
  448. package/workflow/WorkflowCanvasEditor.d.ts +38 -0
  449. package/workflow/WorkflowCanvasEditor.d.ts.map +1 -0
  450. package/workflow/WorkflowCanvasEditor.js +287 -0
  451. package/workflow/WorkflowCanvasEditor.js.map +1 -0
  452. package/workflow/WorkflowCanvasInner.d.ts +32 -0
  453. package/workflow/WorkflowCanvasInner.d.ts.map +1 -0
  454. package/workflow/WorkflowCanvasInner.js +49 -0
  455. package/workflow/WorkflowCanvasInner.js.map +1 -0
  456. package/workflow/WorkflowDashboard.d.ts +35 -0
  457. package/workflow/WorkflowDashboard.d.ts.map +1 -0
  458. package/workflow/WorkflowDashboard.js +59 -0
  459. package/workflow/WorkflowDashboard.js.map +1 -0
  460. package/workflow/WorkflowDetailView.d.ts +63 -0
  461. package/workflow/WorkflowDetailView.d.ts.map +1 -0
  462. package/workflow/WorkflowDetailView.js +202 -0
  463. package/workflow/WorkflowDetailView.js.map +1 -0
  464. package/workflow/WorkflowEditorView.d.ts +43 -0
  465. package/workflow/WorkflowEditorView.d.ts.map +1 -0
  466. package/workflow/WorkflowEditorView.js +165 -0
  467. package/workflow/WorkflowEditorView.js.map +1 -0
  468. package/workflow/WorkflowExecutionApprovalCard.d.ts +27 -0
  469. package/workflow/WorkflowExecutionApprovalCard.d.ts.map +1 -0
  470. package/workflow/WorkflowExecutionApprovalCard.js +32 -0
  471. package/workflow/WorkflowExecutionApprovalCard.js.map +1 -0
  472. package/workflow/WorkflowExecutionArtifactPanel.d.ts +15 -0
  473. package/workflow/WorkflowExecutionArtifactPanel.d.ts.map +1 -0
  474. package/workflow/WorkflowExecutionArtifactPanel.js +53 -0
  475. package/workflow/WorkflowExecutionArtifactPanel.js.map +1 -0
  476. package/workflow/WorkflowExecutionCostPanel.d.ts +18 -0
  477. package/workflow/WorkflowExecutionCostPanel.d.ts.map +1 -0
  478. package/workflow/WorkflowExecutionCostPanel.js +44 -0
  479. package/workflow/WorkflowExecutionCostPanel.js.map +1 -0
  480. package/workflow/WorkflowExecutionHeader.d.ts +26 -0
  481. package/workflow/WorkflowExecutionHeader.d.ts.map +1 -0
  482. package/workflow/WorkflowExecutionHeader.js +68 -0
  483. package/workflow/WorkflowExecutionHeader.js.map +1 -0
  484. package/workflow/WorkflowExecutionPhaseBadge.d.ts +23 -0
  485. package/workflow/WorkflowExecutionPhaseBadge.d.ts.map +1 -0
  486. package/workflow/WorkflowExecutionPhaseBadge.js +99 -0
  487. package/workflow/WorkflowExecutionPhaseBadge.js.map +1 -0
  488. package/workflow/WorkflowExecutionTaskPanel.d.ts +24 -0
  489. package/workflow/WorkflowExecutionTaskPanel.d.ts.map +1 -0
  490. package/workflow/WorkflowExecutionTaskPanel.js +59 -0
  491. package/workflow/WorkflowExecutionTaskPanel.js.map +1 -0
  492. package/workflow/WorkflowExecutionTimeline.d.ts +27 -0
  493. package/workflow/WorkflowExecutionTimeline.d.ts.map +1 -0
  494. package/workflow/WorkflowExecutionTimeline.js +51 -0
  495. package/workflow/WorkflowExecutionTimeline.js.map +1 -0
  496. package/workflow/WorkflowExecutionTimelineEvent.d.ts +18 -0
  497. package/workflow/WorkflowExecutionTimelineEvent.d.ts.map +1 -0
  498. package/workflow/WorkflowExecutionTimelineEvent.js +210 -0
  499. package/workflow/WorkflowExecutionTimelineEvent.js.map +1 -0
  500. package/workflow/WorkflowExecutionViewer.d.ts +45 -0
  501. package/workflow/WorkflowExecutionViewer.d.ts.map +1 -0
  502. package/workflow/WorkflowExecutionViewer.js +75 -0
  503. package/workflow/WorkflowExecutionViewer.js.map +1 -0
  504. package/workflow/WorkflowInspectorPanel.d.ts +46 -0
  505. package/workflow/WorkflowInspectorPanel.d.ts.map +1 -0
  506. package/workflow/WorkflowInspectorPanel.js +152 -0
  507. package/workflow/WorkflowInspectorPanel.js.map +1 -0
  508. package/workflow/WorkflowRefinePanel.d.ts +30 -0
  509. package/workflow/WorkflowRefinePanel.d.ts.map +1 -0
  510. package/workflow/WorkflowRefinePanel.js +107 -0
  511. package/workflow/WorkflowRefinePanel.js.map +1 -0
  512. package/workflow/WorkflowRepairCard.d.ts +35 -0
  513. package/workflow/WorkflowRepairCard.d.ts.map +1 -0
  514. package/workflow/WorkflowRepairCard.js +113 -0
  515. package/workflow/WorkflowRepairCard.js.map +1 -0
  516. package/workflow/WorkflowRunDialog.d.ts +51 -0
  517. package/workflow/WorkflowRunDialog.d.ts.map +1 -0
  518. package/workflow/WorkflowRunDialog.js +75 -0
  519. package/workflow/WorkflowRunDialog.js.map +1 -0
  520. package/workflow/WorkflowRunForm.d.ts +62 -0
  521. package/workflow/WorkflowRunForm.d.ts.map +1 -0
  522. package/workflow/WorkflowRunForm.js +64 -0
  523. package/workflow/WorkflowRunForm.js.map +1 -0
  524. package/workflow/WorkflowTaskList.d.ts +25 -0
  525. package/workflow/WorkflowTaskList.d.ts.map +1 -0
  526. package/workflow/WorkflowTaskList.js +89 -0
  527. package/workflow/WorkflowTaskList.js.map +1 -0
  528. package/workflow/WorkflowTaskPalette.d.ts +22 -0
  529. package/workflow/WorkflowTaskPalette.d.ts.map +1 -0
  530. package/workflow/WorkflowTaskPalette.js +83 -0
  531. package/workflow/WorkflowTaskPalette.js.map +1 -0
  532. package/workflow/WorkflowTopologyGraph.d.ts +22 -0
  533. package/workflow/WorkflowTopologyGraph.d.ts.map +1 -0
  534. package/workflow/WorkflowTopologyGraph.js +123 -0
  535. package/workflow/WorkflowTopologyGraph.js.map +1 -0
  536. package/workflow/WorkflowYamlEditor.d.ts +43 -0
  537. package/workflow/WorkflowYamlEditor.d.ts.map +1 -0
  538. package/workflow/WorkflowYamlEditor.js +215 -0
  539. package/workflow/WorkflowYamlEditor.js.map +1 -0
  540. package/workflow/__tests__/starter-workflow-yaml.test.d.ts +2 -0
  541. package/workflow/__tests__/starter-workflow-yaml.test.d.ts.map +1 -0
  542. package/workflow/__tests__/starter-workflow-yaml.test.js +44 -0
  543. package/workflow/__tests__/starter-workflow-yaml.test.js.map +1 -0
  544. package/workflow/canvas-constants.d.ts +56 -0
  545. package/workflow/canvas-constants.d.ts.map +1 -0
  546. package/workflow/canvas-constants.js +74 -0
  547. package/workflow/canvas-constants.js.map +1 -0
  548. package/workflow/canvas-icons.d.ts +13 -0
  549. package/workflow/canvas-icons.d.ts.map +1 -0
  550. package/workflow/canvas-icons.js +21 -0
  551. package/workflow/canvas-icons.js.map +1 -0
  552. package/workflow/extract-workflow-yaml.d.ts +22 -0
  553. package/workflow/extract-workflow-yaml.d.ts.map +1 -0
  554. package/workflow/extract-workflow-yaml.js +63 -0
  555. package/workflow/extract-workflow-yaml.js.map +1 -0
  556. package/workflow/graph-commands.d.ts +209 -0
  557. package/workflow/graph-commands.d.ts.map +1 -0
  558. package/workflow/graph-commands.js +516 -0
  559. package/workflow/graph-commands.js.map +1 -0
  560. package/workflow/index.d.ts +66 -0
  561. package/workflow/index.d.ts.map +1 -0
  562. package/workflow/index.js +88 -0
  563. package/workflow/index.js.map +1 -0
  564. package/workflow/serialize-workflow-yaml.d.ts +39 -0
  565. package/workflow/serialize-workflow-yaml.d.ts.map +1 -0
  566. package/workflow/serialize-workflow-yaml.js +413 -0
  567. package/workflow/serialize-workflow-yaml.js.map +1 -0
  568. package/workflow/starter-workflow-yaml.d.ts +12 -0
  569. package/workflow/starter-workflow-yaml.d.ts.map +1 -0
  570. package/workflow/starter-workflow-yaml.js +30 -0
  571. package/workflow/starter-workflow-yaml.js.map +1 -0
  572. package/workflow/types.d.ts +80 -0
  573. package/workflow/types.d.ts.map +1 -0
  574. package/workflow/types.js +2 -0
  575. package/workflow/types.js.map +1 -0
  576. package/workflow/useCanvasKeyboardShortcuts.d.ts +34 -0
  577. package/workflow/useCanvasKeyboardShortcuts.d.ts.map +1 -0
  578. package/workflow/useCanvasKeyboardShortcuts.js +108 -0
  579. package/workflow/useCanvasKeyboardShortcuts.js.map +1 -0
  580. package/workflow/useDiagnoseExecutionFlow.d.ts +87 -0
  581. package/workflow/useDiagnoseExecutionFlow.d.ts.map +1 -0
  582. package/workflow/useDiagnoseExecutionFlow.js +257 -0
  583. package/workflow/useDiagnoseExecutionFlow.js.map +1 -0
  584. package/workflow/useGraphHistory.d.ts +28 -0
  585. package/workflow/useGraphHistory.d.ts.map +1 -0
  586. package/workflow/useGraphHistory.js +106 -0
  587. package/workflow/useGraphHistory.js.map +1 -0
  588. package/workflow/usePendingApprovals.d.ts +35 -0
  589. package/workflow/usePendingApprovals.d.ts.map +1 -0
  590. package/workflow/usePendingApprovals.js +50 -0
  591. package/workflow/usePendingApprovals.js.map +1 -0
  592. package/workflow/useRefineWorkflowFlow.d.ts +75 -0
  593. package/workflow/useRefineWorkflowFlow.d.ts.map +1 -0
  594. package/workflow/useRefineWorkflowFlow.js +216 -0
  595. package/workflow/useRefineWorkflowFlow.js.map +1 -0
  596. package/workflow/useResolveAgentExecutionSession.d.ts +33 -0
  597. package/workflow/useResolveAgentExecutionSession.d.ts.map +1 -0
  598. package/workflow/useResolveAgentExecutionSession.js +37 -0
  599. package/workflow/useResolveAgentExecutionSession.js.map +1 -0
  600. package/workflow/useRunWorkflowFlow.d.ts +82 -0
  601. package/workflow/useRunWorkflowFlow.d.ts.map +1 -0
  602. package/workflow/useRunWorkflowFlow.js +145 -0
  603. package/workflow/useRunWorkflowFlow.js.map +1 -0
  604. package/workflow/useTaskKindRegistry.d.ts +96 -0
  605. package/workflow/useTaskKindRegistry.d.ts.map +1 -0
  606. package/workflow/useTaskKindRegistry.js +75 -0
  607. package/workflow/useTaskKindRegistry.js.map +1 -0
  608. package/workflow/useWorkflow.d.ts +47 -0
  609. package/workflow/useWorkflow.d.ts.map +1 -0
  610. package/workflow/useWorkflow.js +53 -0
  611. package/workflow/useWorkflow.js.map +1 -0
  612. package/workflow/useWorkflowArchitectFlow.d.ts +96 -0
  613. package/workflow/useWorkflowArchitectFlow.d.ts.map +1 -0
  614. package/workflow/useWorkflowArchitectFlow.js +179 -0
  615. package/workflow/useWorkflowArchitectFlow.js.map +1 -0
  616. package/workflow/useWorkflowCanvas.d.ts +66 -0
  617. package/workflow/useWorkflowCanvas.d.ts.map +1 -0
  618. package/workflow/useWorkflowCanvas.js +628 -0
  619. package/workflow/useWorkflowCanvas.js.map +1 -0
  620. package/workflow/useWorkflowCount.d.ts +47 -0
  621. package/workflow/useWorkflowCount.d.ts.map +1 -0
  622. package/workflow/useWorkflowCount.js +26 -0
  623. package/workflow/useWorkflowCount.js.map +1 -0
  624. package/workflow/useWorkflowDashboardSummary.d.ts +34 -0
  625. package/workflow/useWorkflowDashboardSummary.d.ts.map +1 -0
  626. package/workflow/useWorkflowDashboardSummary.js +33 -0
  627. package/workflow/useWorkflowDashboardSummary.js.map +1 -0
  628. package/workflow/useWorkflowEditor.d.ts +45 -0
  629. package/workflow/useWorkflowEditor.d.ts.map +1 -0
  630. package/workflow/useWorkflowEditor.js +52 -0
  631. package/workflow/useWorkflowEditor.js.map +1 -0
  632. package/workflow/useWorkflowExecution.d.ts +37 -0
  633. package/workflow/useWorkflowExecution.d.ts.map +1 -0
  634. package/workflow/useWorkflowExecution.js +43 -0
  635. package/workflow/useWorkflowExecution.js.map +1 -0
  636. package/workflow/useWorkflowExecutionActions.d.ts +41 -0
  637. package/workflow/useWorkflowExecutionActions.d.ts.map +1 -0
  638. package/workflow/useWorkflowExecutionActions.js +86 -0
  639. package/workflow/useWorkflowExecutionActions.js.map +1 -0
  640. package/workflow/useWorkflowExecutionArtifacts.d.ts +26 -0
  641. package/workflow/useWorkflowExecutionArtifacts.d.ts.map +1 -0
  642. package/workflow/useWorkflowExecutionArtifacts.js +29 -0
  643. package/workflow/useWorkflowExecutionArtifacts.js.map +1 -0
  644. package/workflow/useWorkflowExecutionEventLog.d.ts +47 -0
  645. package/workflow/useWorkflowExecutionEventLog.d.ts.map +1 -0
  646. package/workflow/useWorkflowExecutionEventLog.js +59 -0
  647. package/workflow/useWorkflowExecutionEventLog.js.map +1 -0
  648. package/workflow/useWorkflowExecutionEventStream.d.ts +61 -0
  649. package/workflow/useWorkflowExecutionEventStream.d.ts.map +1 -0
  650. package/workflow/useWorkflowExecutionEventStream.js +161 -0
  651. package/workflow/useWorkflowExecutionEventStream.js.map +1 -0
  652. package/workflow/useWorkflowExecutionList.d.ts +49 -0
  653. package/workflow/useWorkflowExecutionList.d.ts.map +1 -0
  654. package/workflow/useWorkflowExecutionList.js +65 -0
  655. package/workflow/useWorkflowExecutionList.js.map +1 -0
  656. package/workflow/useWorkflowInstances.d.ts +30 -0
  657. package/workflow/useWorkflowInstances.d.ts.map +1 -0
  658. package/workflow/useWorkflowInstances.js +33 -0
  659. package/workflow/useWorkflowInstances.js.map +1 -0
  660. package/workflow/useWorkflowList.d.ts +57 -0
  661. package/workflow/useWorkflowList.d.ts.map +1 -0
  662. package/workflow/useWorkflowList.js +29 -0
  663. package/workflow/useWorkflowList.js.map +1 -0
  664. package/workflow/useWorkflowSave.d.ts +25 -0
  665. package/workflow/useWorkflowSave.d.ts.map +1 -0
  666. package/workflow/useWorkflowSave.js +61 -0
  667. package/workflow/useWorkflowSave.js.map +1 -0
  668. package/workflow/useWorkflowTopology.d.ts +40 -0
  669. package/workflow/useWorkflowTopology.d.ts.map +1 -0
  670. package/workflow/useWorkflowTopology.js +163 -0
  671. package/workflow/useWorkflowTopology.js.map +1 -0
  672. package/workflow/useWorkflowValidation.d.ts +27 -0
  673. package/workflow/useWorkflowValidation.d.ts.map +1 -0
  674. package/workflow/useWorkflowValidation.js +253 -0
  675. package/workflow/useWorkflowValidation.js.map +1 -0
  676. package/workflow/useWorkflowYaml.d.ts +26 -0
  677. package/workflow/useWorkflowYaml.d.ts.map +1 -0
  678. package/workflow/useWorkflowYaml.js +26 -0
  679. package/workflow/useWorkflowYaml.js.map +1 -0
  680. package/workflow/workflow-graph-conversions.d.ts +70 -0
  681. package/workflow/workflow-graph-conversions.d.ts.map +1 -0
  682. package/workflow/workflow-graph-conversions.js +634 -0
  683. package/workflow/workflow-graph-conversions.js.map +1 -0
  684. package/workflow/workflow-graph-model.d.ts +83 -0
  685. package/workflow/workflow-graph-model.d.ts.map +1 -0
  686. package/workflow/workflow-graph-model.js +5 -0
  687. package/workflow/workflow-graph-model.js.map +1 -0
  688. package/workflow/workflow-yaml-diff.d.ts +24 -0
  689. package/workflow/workflow-yaml-diff.d.ts.map +1 -0
  690. package/workflow/workflow-yaml-diff.js +96 -0
  691. package/workflow/workflow-yaml-diff.js.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/composer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/composer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { DashboardFailedRun } from "./types";
2
+ export interface DashboardFailedRunsProps {
3
+ readonly failedRuns: readonly DashboardFailedRun[];
4
+ readonly isLoading: boolean;
5
+ /** Called when the user clicks "View" on a failed run. */
6
+ readonly onViewClick?: (id: string, type: DashboardFailedRun["type"]) => void;
7
+ readonly className?: string;
8
+ }
9
+ /**
10
+ * Widget showing recent failed executions from both agent and workflow
11
+ * domains, interleaved by timestamp.
12
+ *
13
+ * Each row includes a type badge (Agent / Workflow), the execution name,
14
+ * a truncated error, and a relative timestamp.
15
+ *
16
+ * @since Unified Platform Dashboard
17
+ */
18
+ export declare const DashboardFailedRuns: import("react").NamedExoticComponent<DashboardFailedRunsProps>;
19
+ //# sourceMappingURL=DashboardFailedRuns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardFailedRuns.d.ts","sourceRoot":"","sources":["../../src/dashboard/DashboardFailedRuns.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC9E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAaD;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,gEA0E9B,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { memo } from "react";
4
+ import { cn } from "@stigmer/theme";
5
+ function timeAgo(date) {
6
+ const seconds = Math.floor((Date.now() - date.getTime()) / 1000);
7
+ if (seconds < 60)
8
+ return "just now";
9
+ const minutes = Math.floor(seconds / 60);
10
+ if (minutes < 60)
11
+ return `${minutes}m ago`;
12
+ const hours = Math.floor(minutes / 60);
13
+ if (hours < 24)
14
+ return `${hours}h ago`;
15
+ const days = Math.floor(hours / 24);
16
+ return `${days}d ago`;
17
+ }
18
+ /**
19
+ * Widget showing recent failed executions from both agent and workflow
20
+ * domains, interleaved by timestamp.
21
+ *
22
+ * Each row includes a type badge (Agent / Workflow), the execution name,
23
+ * a truncated error, and a relative timestamp.
24
+ *
25
+ * @since Unified Platform Dashboard
26
+ */
27
+ export const DashboardFailedRuns = memo(function DashboardFailedRuns({ failedRuns, isLoading, onViewClick, className, }) {
28
+ if (isLoading) {
29
+ return (_jsxs("div", { className: cn("rounded-lg border border-border bg-card p-4", className), "aria-busy": "true", children: [_jsx("div", { className: "mb-3 h-4 w-32 animate-pulse rounded bg-muted" }), _jsx("div", { className: "space-y-2", children: Array.from({ length: 3 }, (_, i) => (_jsx("div", { className: "h-10 animate-pulse rounded bg-muted/50" }, i))) })] }));
30
+ }
31
+ return (_jsxs("div", { className: cn("rounded-lg border border-border bg-card p-4", className), children: [_jsx("h3", { className: "mb-3 text-sm font-semibold text-foreground", children: "Recent Failures" }), failedRuns.length === 0 ? (_jsx("p", { className: "py-6 text-center text-xs text-muted-foreground", children: "No recent failures" })) : (_jsx("ul", { className: "space-y-1.5", role: "list", children: failedRuns.map((run) => (_jsxs("li", { className: "flex items-start gap-2 rounded-md px-2 py-1.5 text-xs hover:bg-muted/50", children: [_jsx("span", { className: cn("mt-0.5 shrink-0 rounded px-1 py-0.5 text-[10px] font-medium leading-none", run.type === "agent_execution"
32
+ ? "bg-primary/10 text-primary"
33
+ : "bg-muted text-muted-foreground"), children: run.type === "agent_execution" ? "Agent" : "Workflow" }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("p", { className: "truncate font-medium text-foreground", children: run.name }), run.error && (_jsx("p", { className: "truncate text-muted-foreground", children: run.error }))] }), _jsx("span", { className: "shrink-0 text-muted-foreground", children: timeAgo(run.failedAt) }), onViewClick && (_jsx("button", { type: "button", onClick: () => onViewClick(run.id, run.type), className: "shrink-0 text-primary hover:underline", children: "View" }))] }, run.id))) }))] }));
34
+ });
35
+ //# sourceMappingURL=DashboardFailedRuns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardFailedRuns.js","sourceRoot":"","sources":["../../src/dashboard/DashboardFailedRuns.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAWpC,SAAS,OAAO,CAAC,IAAU;IACzB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACjE,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,UAAU,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,OAAO,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,OAAO,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACpC,OAAO,GAAG,IAAI,OAAO,CAAC;AACxB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,mBAAmB,CAAC,EACnE,UAAU,EACV,SAAS,EACT,WAAW,EACX,SAAS,GACgB;IACzB,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CAAC,6CAA6C,EAAE,SAAS,CAAC,eAC7D,MAAM,aAEhB,cAAK,SAAS,EAAC,8CAA8C,GAAG,EAChE,cAAK,SAAS,EAAC,WAAW,YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACnC,cAAa,SAAS,EAAC,wCAAwC,IAArD,CAAC,CAAuD,CACnE,CAAC,GACE,IACF,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,6CAA6C,EAAE,SAAS,CAAC,aAC1E,aAAI,SAAS,EAAC,4CAA4C,gCAErD,EACJ,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACzB,YAAG,SAAS,EAAC,gDAAgD,mCAEzD,CACL,CAAC,CAAC,CAAC,CACF,aAAI,SAAS,EAAC,aAAa,EAAC,IAAI,EAAC,MAAM,YACpC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACvB,cAEE,SAAS,EAAC,yEAAyE,aAEnF,eACE,SAAS,EAAE,EAAE,CACX,0EAA0E,EAC1E,GAAG,CAAC,IAAI,KAAK,iBAAiB;gCAC5B,CAAC,CAAC,4BAA4B;gCAC9B,CAAC,CAAC,gCAAgC,CACrC,YAEA,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,GACjD,EACP,eAAK,SAAS,EAAC,gBAAgB,aAC7B,YAAG,SAAS,EAAC,sCAAsC,YAChD,GAAG,CAAC,IAAI,GACP,EACH,GAAG,CAAC,KAAK,IAAI,CACZ,YAAG,SAAS,EAAC,gCAAgC,YAAE,GAAG,CAAC,KAAK,GAAK,CAC9D,IACG,EACN,eAAM,SAAS,EAAC,gCAAgC,YAC7C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GACjB,EACN,WAAW,IAAI,CACd,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAC5C,SAAS,EAAC,uCAAuC,qBAG1C,CACV,KAhCI,GAAG,CAAC,EAAE,CAiCR,CACN,CAAC,GACC,CACN,IACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { DashboardSummary } from "./types";
2
+ export interface DashboardKPICardsProps {
3
+ readonly summary: DashboardSummary | null;
4
+ readonly isLoading: boolean;
5
+ readonly className?: string;
6
+ }
7
+ /**
8
+ * Unified stat cards showing combined agent + workflow execution KPIs.
9
+ *
10
+ * Each card shows the combined count with a breakdown tooltip showing
11
+ * per-source values (e.g., "2 agent, 1 workflow").
12
+ *
13
+ * Cost comes from the billing source of truth (getOrgUsageReport),
14
+ * not from summing per-domain costs. See AD-DASH-005.
15
+ *
16
+ * @since Unified Platform Dashboard
17
+ */
18
+ export declare const DashboardKPICards: import("react").NamedExoticComponent<DashboardKPICardsProps>;
19
+ //# sourceMappingURL=DashboardKPICards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardKPICards.d.ts","sourceRoot":"","sources":["../../src/dashboard/DashboardKPICards.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AA0DD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,8DAgD5B,CAAC"}
@@ -0,0 +1,80 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { memo } from "react";
4
+ import { cn } from "@stigmer/theme";
5
+ function formatCost(usd) {
6
+ if (usd >= 1)
7
+ return `$${usd.toFixed(2)}`;
8
+ if (usd >= 0.01)
9
+ return `$${usd.toFixed(3)}`;
10
+ if (usd > 0)
11
+ return `<$0.01`;
12
+ return "$0.00";
13
+ }
14
+ const STAT_CARDS = [
15
+ {
16
+ label: "Active",
17
+ valueClass: "text-foreground",
18
+ getValue: (s) => String(s.activeCount),
19
+ getBreakdown: (s) => {
20
+ const ag = s.agent?.activeCount ?? 0;
21
+ const wf = s.workflow?.activeCount ?? 0;
22
+ if (ag === 0 && wf === 0)
23
+ return null;
24
+ return `${ag} agent, ${wf} workflow`;
25
+ },
26
+ },
27
+ {
28
+ label: "Completed",
29
+ valueClass: "text-success",
30
+ getValue: (s) => String(s.completedCount),
31
+ getBreakdown: (s) => {
32
+ const ag = s.agent?.phaseCounts[3] ?? 0;
33
+ const wf = s.workflow?.phaseCounts[3] ?? 0;
34
+ if (ag === 0 && wf === 0)
35
+ return null;
36
+ return `${ag} agent, ${wf} workflow`;
37
+ },
38
+ },
39
+ {
40
+ label: "Failed",
41
+ valueClass: "text-destructive",
42
+ getValue: (s) => String(s.failedCount),
43
+ getBreakdown: (s) => {
44
+ const ag = s.agent?.phaseCounts[4] ?? 0;
45
+ const wf = s.workflow?.phaseCounts[4] ?? 0;
46
+ if (ag === 0 && wf === 0)
47
+ return null;
48
+ return `${ag} agent, ${wf} workflow`;
49
+ },
50
+ },
51
+ {
52
+ label: "Total Cost",
53
+ valueClass: "text-foreground",
54
+ getValue: (s) => formatCost(s.totalCostUsd),
55
+ getBreakdown: () => null,
56
+ },
57
+ ];
58
+ /**
59
+ * Unified stat cards showing combined agent + workflow execution KPIs.
60
+ *
61
+ * Each card shows the combined count with a breakdown tooltip showing
62
+ * per-source values (e.g., "2 agent, 1 workflow").
63
+ *
64
+ * Cost comes from the billing source of truth (getOrgUsageReport),
65
+ * not from summing per-domain costs. See AD-DASH-005.
66
+ *
67
+ * @since Unified Platform Dashboard
68
+ */
69
+ export const DashboardKPICards = memo(function DashboardKPICards({ summary, isLoading, className, }) {
70
+ if (isLoading) {
71
+ return (_jsx("div", { className: cn("space-y-3", className), "aria-busy": "true", children: _jsx("div", { className: "grid gap-3 sm:grid-cols-2 lg:grid-cols-4", children: Array.from({ length: 4 }, (_, i) => (_jsx("div", { className: "h-[72px] animate-pulse rounded-lg border border-border bg-muted/50" }, i))) }) }));
72
+ }
73
+ if (!summary)
74
+ return null;
75
+ return (_jsx("div", { className: cn("grid gap-3 sm:grid-cols-2 lg:grid-cols-4", className), children: STAT_CARDS.map((card) => {
76
+ const breakdown = card.getBreakdown(summary);
77
+ return (_jsxs("div", { className: "rounded-lg border border-border bg-card px-4 py-3", title: breakdown ?? undefined, children: [_jsx("p", { className: "text-xs font-medium text-muted-foreground", children: card.label }), _jsx("p", { className: cn("mt-1 text-2xl font-semibold", card.valueClass), children: card.getValue(summary) }), breakdown && (_jsx("p", { className: "mt-0.5 text-[10px] text-muted-foreground", children: breakdown }))] }, card.label));
78
+ }) }));
79
+ });
80
+ //# sourceMappingURL=DashboardKPICards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardKPICards.js","sourceRoot":"","sources":["../../src/dashboard/DashboardKPICards.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { DashboardFailedRun } from "./types";
2
+ export interface OperationalDashboardProps {
3
+ /** Organization slug for execution summaries and pending approvals. */
4
+ readonly org: string | null | undefined;
5
+ /** Organization ID (metadata.id) for the usage report. */
6
+ readonly orgId: string | null | undefined;
7
+ /** Called when the user clicks "Review" on a pending approval. */
8
+ readonly onApprovalClick?: (executionId: string) => void;
9
+ /** Called when the user clicks "View" on a failed execution. */
10
+ readonly onFailedRunClick?: (id: string, type: DashboardFailedRun["type"]) => void;
11
+ readonly className?: string;
12
+ }
13
+ /**
14
+ * Composed dashboard widget that aggregates operational metrics from both
15
+ * agent and workflow domains into a unified platform view.
16
+ *
17
+ * Layout:
18
+ * - Row 1: KPI stat cards (Active | Completed | Failed | Total Cost)
19
+ * - Row 2: Pending Approvals | Recent Failures (2-column grid)
20
+ *
21
+ * Cost comes from the billing source of truth (`getOrgUsageReport`),
22
+ * not from summing agent + workflow costs. See AD-DASH-005.
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * <OperationalDashboard
27
+ * org="acme"
28
+ * orgId={activeOrg?.metadata?.id}
29
+ * onApprovalClick={(id) => navigate(`/executions/${id}`)}
30
+ * onFailedRunClick={(id, type) => navigate(`/executions/${id}`)}
31
+ * />
32
+ * ```
33
+ *
34
+ * @since Unified Platform Dashboard
35
+ */
36
+ export declare const OperationalDashboard: import("react").NamedExoticComponent<OperationalDashboardProps>;
37
+ //# sourceMappingURL=OperationalDashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperationalDashboard.d.ts","sourceRoot":"","sources":["../../src/dashboard/OperationalDashboard.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,WAAW,yBAAyB;IACxC,uEAAuE;IACvE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,kEAAkE;IAClE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,gEAAgE;IAChE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACnF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,oBAAoB,iEAgD/B,CAAC"}
@@ -0,0 +1,48 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { memo, useCallback } from "react";
4
+ import { cn } from "@stigmer/theme";
5
+ import { usePendingApprovals } from "../workflow/usePendingApprovals";
6
+ import { PendingApprovalsWidget } from "../workflow/PendingApprovalsWidget";
7
+ import { useDashboardSummary } from "./useDashboardSummary";
8
+ import { useDashboardFailedRuns } from "./useDashboardFailedRuns";
9
+ import { DashboardKPICards } from "./DashboardKPICards";
10
+ import { DashboardFailedRuns } from "./DashboardFailedRuns";
11
+ /**
12
+ * Composed dashboard widget that aggregates operational metrics from both
13
+ * agent and workflow domains into a unified platform view.
14
+ *
15
+ * Layout:
16
+ * - Row 1: KPI stat cards (Active | Completed | Failed | Total Cost)
17
+ * - Row 2: Pending Approvals | Recent Failures (2-column grid)
18
+ *
19
+ * Cost comes from the billing source of truth (`getOrgUsageReport`),
20
+ * not from summing agent + workflow costs. See AD-DASH-005.
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * <OperationalDashboard
25
+ * org="acme"
26
+ * orgId={activeOrg?.metadata?.id}
27
+ * onApprovalClick={(id) => navigate(`/executions/${id}`)}
28
+ * onFailedRunClick={(id, type) => navigate(`/executions/${id}`)}
29
+ * />
30
+ * ```
31
+ *
32
+ * @since Unified Platform Dashboard
33
+ */
34
+ export const OperationalDashboard = memo(function OperationalDashboard({ org, orgId, onApprovalClick, onFailedRunClick, className, }) {
35
+ const summaryOptions = {
36
+ org,
37
+ orgId,
38
+ refetchInterval: 60_000,
39
+ };
40
+ const { summary, isLoading: summaryLoading } = useDashboardSummary(summaryOptions);
41
+ const { approvals, totalCount: approvalCount, isLoading: approvalsLoading } = usePendingApprovals({ org, refetchInterval: 30_000 });
42
+ const { failedRuns, isLoading: failedLoading } = useDashboardFailedRuns(org);
43
+ const handleFailedRunClick = useCallback((id, type) => {
44
+ onFailedRunClick?.(id, type);
45
+ }, [onFailedRunClick]);
46
+ return (_jsxs("section", { "aria-label": "Platform dashboard", className: cn("space-y-6", className), children: [_jsx(DashboardKPICards, { summary: summary, isLoading: summaryLoading }), _jsxs("div", { className: "grid gap-6 lg:grid-cols-2", children: [_jsx(PendingApprovalsWidget, { approvals: approvals, totalCount: approvalCount, isLoading: approvalsLoading, onReviewClick: onApprovalClick }), _jsx(DashboardFailedRuns, { failedRuns: failedRuns, isLoading: failedLoading, onViewClick: handleFailedRunClick })] })] }));
47
+ });
48
+ //# sourceMappingURL=OperationalDashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperationalDashboard.js","sourceRoot":"","sources":["../../src/dashboard/OperationalDashboard.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAmC,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAe5D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,oBAAoB,CAAC,EACrE,GAAG,EACH,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,SAAS,GACiB;IAC1B,MAAM,cAAc,GAA+B;QACjD,GAAG;QACH,KAAK;QACL,eAAe,EAAE,MAAM;KACxB,CAAC;IACF,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAEnF,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,GACzE,mBAAmB,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;IAExD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAE7E,MAAM,oBAAoB,GAAG,WAAW,CACtC,CAAC,EAAU,EAAE,IAAgC,EAAE,EAAE;QAC/C,gBAAgB,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC,EACD,CAAC,gBAAgB,CAAC,CACnB,CAAC;IAEF,OAAO,CACL,iCACa,oBAAoB,EAC/B,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,aAErC,KAAC,iBAAiB,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,GAAI,EAElE,eAAK,SAAS,EAAC,2BAA2B,aACxC,KAAC,sBAAsB,IACrB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,aAAa,EACzB,SAAS,EAAE,gBAAgB,EAC3B,aAAa,EAAE,eAAe,GAC9B,EACF,KAAC,mBAAmB,IAClB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,EACxB,WAAW,EAAE,oBAAoB,GACjC,IACE,IACE,CACX,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export type { DashboardSummary, DashboardFailedRun } from "./types";
2
+ export { useAgentExecutionSummary, AgentExecutionSummaryTimeWindow, type UseAgentExecutionSummaryOptions, type UseAgentExecutionSummaryReturn, } from "./useAgentExecutionSummary";
3
+ export { useDashboardSummary, type UseDashboardSummaryOptions, type UseDashboardSummaryReturn, } from "./useDashboardSummary";
4
+ export { useDashboardFailedRuns, type UseDashboardFailedRunsReturn, } from "./useDashboardFailedRuns";
5
+ export { DashboardKPICards, type DashboardKPICardsProps, } from "./DashboardKPICards";
6
+ export { DashboardFailedRuns, type DashboardFailedRunsProps, } from "./DashboardFailedRuns";
7
+ export { OperationalDashboard, type OperationalDashboardProps, } from "./OperationalDashboard";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dashboard/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGpE,OAAO,EACL,wBAAwB,EACxB,+BAA+B,EAC/B,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,GACpC,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,GAC/B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,sBAAsB,EACtB,KAAK,4BAA4B,GAClC,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,mBAAmB,EACnB,KAAK,wBAAwB,GAC9B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,oBAAoB,EACpB,KAAK,yBAAyB,GAC/B,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,9 @@
1
+ // ─── Data Hooks ─────────────────────────────────────────────────────────────
2
+ export { useAgentExecutionSummary, AgentExecutionSummaryTimeWindow, } from "./useAgentExecutionSummary";
3
+ export { useDashboardSummary, } from "./useDashboardSummary";
4
+ export { useDashboardFailedRuns, } from "./useDashboardFailedRuns";
5
+ // ─── Styled Components ─────────────────────────────────────────────────────
6
+ export { DashboardKPICards, } from "./DashboardKPICards";
7
+ export { DashboardFailedRuns, } from "./DashboardFailedRuns";
8
+ export { OperationalDashboard, } from "./OperationalDashboard";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dashboard/index.ts"],"names":[],"mappings":"AAGA,+EAA+E;AAC/E,OAAO,EACL,wBAAwB,EACxB,+BAA+B,GAGhC,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,mBAAmB,GAGpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,sBAAsB,GAEvB,MAAM,0BAA0B,CAAC;AAElC,8EAA8E;AAC9E,OAAO,EACL,iBAAiB,GAElB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,mBAAmB,GAEpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,oBAAoB,GAErB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,49 @@
1
+ import type { AgentExecutionSummary } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/io_pb";
2
+ import type { GetOrgUsageReportOutput } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/io_pb";
3
+ import type { ExecutionSummary } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/io_pb";
4
+ /**
5
+ * Unified dashboard summary combining operational metrics from both
6
+ * agent and workflow execution domains.
7
+ *
8
+ * Execution counts (active, completed, failed) are safe to add because
9
+ * agent executions and workflow executions are distinct resources.
10
+ *
11
+ * Cost comes from {@link GetOrgUsageReportOutput} (billing source of truth),
12
+ * NOT from summing agent + workflow costs. This prevents double-counting
13
+ * when workflows delegate to agents. See AD-DASH-005.
14
+ */
15
+ export interface DashboardSummary {
16
+ /** Combined agent + workflow active execution count. */
17
+ readonly activeCount: number;
18
+ /** Combined agent + workflow completed count. */
19
+ readonly completedCount: number;
20
+ /** Combined agent + workflow failed count. */
21
+ readonly failedCount: number;
22
+ /**
23
+ * Total platform cost in USD from the billing source of truth.
24
+ * Sourced from `getOrgUsageReport.total_billable_cost_micros`.
25
+ */
26
+ readonly totalCostUsd: number;
27
+ /** Agent-side execution summary for per-source breakdown in tooltips. */
28
+ readonly agent: AgentExecutionSummary | null;
29
+ /** Workflow-side execution summary for per-source breakdown in tooltips. */
30
+ readonly workflow: ExecutionSummary | null;
31
+ /** Org-level usage report for cost details. */
32
+ readonly orgUsage: GetOrgUsageReportOutput | null;
33
+ }
34
+ /** A normalized entry representing a failed execution from either domain. */
35
+ export interface DashboardFailedRun {
36
+ /** Execution ID (`aex_*` or `wex_*`). */
37
+ readonly id: string;
38
+ /** Discriminator for routing navigation. */
39
+ readonly type: "agent_execution" | "workflow_execution";
40
+ /** Execution name or subject. */
41
+ readonly name: string;
42
+ /** Error message from the failed execution. */
43
+ readonly error: string;
44
+ /** When the execution failed. */
45
+ readonly failedAt: Date;
46
+ /** The agent or workflow name associated with this execution. */
47
+ readonly resourceName: string;
48
+ }
49
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dashboard/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AACxG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAC;AAC1G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+DAA+D,CAAC;AAEtG;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7C,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC3C,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAC;CACnD;AAED,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IACxD,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dashboard/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import type { AgentExecutionSummary } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/io_pb";
2
+ import { AgentExecutionSummaryTimeWindow } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/io_pb";
3
+ export { AgentExecutionSummaryTimeWindow };
4
+ /** Options for {@link useAgentExecutionSummary}. */
5
+ export interface UseAgentExecutionSummaryOptions {
6
+ /** Organization slug. When empty/null, the hook does not fetch. */
7
+ readonly org: string | null | undefined;
8
+ /** Time window for aggregation. @default LAST_7D */
9
+ readonly timeWindow?: AgentExecutionSummaryTimeWindow;
10
+ /** Refetch interval in milliseconds. `0` or `false` disables. @default 0 */
11
+ readonly refetchInterval?: number | false;
12
+ }
13
+ /** Return value of {@link useAgentExecutionSummary}. */
14
+ export interface UseAgentExecutionSummaryReturn {
15
+ readonly summary: AgentExecutionSummary | null;
16
+ readonly isLoading: boolean;
17
+ readonly isRefetching: boolean;
18
+ readonly error: Error | null;
19
+ readonly refetch: () => void;
20
+ }
21
+ /**
22
+ * Data hook that fetches aggregated agent execution statistics for an
23
+ * organization. Returns phase counts, active count, average duration,
24
+ * and top failing agents.
25
+ *
26
+ * Cost is intentionally excluded from this response — the dashboard
27
+ * sources cost from `useOrgUsageReport` (billing source of truth) to
28
+ * prevent double-counting. See AD-DASH-005.
29
+ *
30
+ * @since Unified Platform Dashboard
31
+ */
32
+ export declare function useAgentExecutionSummary(options: UseAgentExecutionSummaryOptions): UseAgentExecutionSummaryReturn;
33
+ //# sourceMappingURL=useAgentExecutionSummary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAgentExecutionSummary.d.ts","sourceRoot":"","sources":["../../src/dashboard/useAgentExecutionSummary.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AACxG,OAAO,EACL,+BAA+B,EAEhC,MAAM,4DAA4D,CAAC;AAIpE,OAAO,EAAE,+BAA+B,EAAE,CAAC;AAE3C,oDAAoD;AACpD,MAAM,WAAW,+BAA+B;IAC9C,mEAAmE;IACnE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,oDAAoD;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,+BAA+B,CAAC;IACtD,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC3C;AAED,wDAAwD;AACxD,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,+BAA+B,GACvC,8BAA8B,CAyBhC"}
@@ -0,0 +1,32 @@
1
+ "use client";
2
+ import { create } from "@bufbuild/protobuf";
3
+ import { AgentExecutionSummaryTimeWindow, GetAgentExecutionSummaryRequestSchema, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/io_pb";
4
+ import { useStigmer } from "../hooks";
5
+ import { useFetch } from "../internal/useFetch";
6
+ export { AgentExecutionSummaryTimeWindow };
7
+ /**
8
+ * Data hook that fetches aggregated agent execution statistics for an
9
+ * organization. Returns phase counts, active count, average duration,
10
+ * and top failing agents.
11
+ *
12
+ * Cost is intentionally excluded from this response — the dashboard
13
+ * sources cost from `useOrgUsageReport` (billing source of truth) to
14
+ * prevent double-counting. See AD-DASH-005.
15
+ *
16
+ * @since Unified Platform Dashboard
17
+ */
18
+ export function useAgentExecutionSummary(options) {
19
+ const stigmer = useStigmer();
20
+ const org = options.org ?? "";
21
+ const timeWindow = options.timeWindow ??
22
+ AgentExecutionSummaryTimeWindow.LAST_7D;
23
+ const refetchInterval = options.refetchInterval ?? 0;
24
+ const fetchFn = org
25
+ ? async () => {
26
+ return await stigmer.agentExecution.getExecutionSummary(create(GetAgentExecutionSummaryRequestSchema, { org, timeWindow }));
27
+ }
28
+ : null;
29
+ const { data, isLoading, isRefetching, error, refetch } = useFetch(fetchFn, [stigmer, org, timeWindow], null, { refetchInterval: refetchInterval || false });
30
+ return { summary: data, isLoading, isRefetching, error, refetch };
31
+ }
32
+ //# sourceMappingURL=useAgentExecutionSummary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAgentExecutionSummary.js","sourceRoot":"","sources":["../../src/dashboard/useAgentExecutionSummary.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EACL,+BAA+B,EAC/B,qCAAqC,GACtC,MAAM,4DAA4D,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,+BAA+B,EAAE,CAAC;AAqB3C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAwC;IAExC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;IAC9B,MAAM,UAAU,GACd,OAAO,CAAC,UAAU;QAClB,+BAA+B,CAAC,OAAO,CAAC;IAC1C,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC;IAErD,MAAM,OAAO,GAAG,GAAG;QACjB,CAAC,CAAC,KAAK,IAAI,EAAE;YACT,OAAO,MAAM,OAAO,CAAC,cAAc,CAAC,mBAAmB,CACrD,MAAM,CAAC,qCAAqC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CACnE,CAAC;QACJ,CAAC;QACH,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GACrD,QAAQ,CACN,OAAO,EACP,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,EAC1B,IAAI,EACJ,EAAE,eAAe,EAAE,eAAe,IAAI,KAAK,EAAE,CAC9C,CAAC;IAEJ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACpE,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { DashboardFailedRun } from "./types";
2
+ /** Return value of {@link useDashboardFailedRuns}. */
3
+ export interface UseDashboardFailedRunsReturn {
4
+ readonly failedRuns: readonly DashboardFailedRun[];
5
+ readonly isLoading: boolean;
6
+ readonly error: Error | null;
7
+ }
8
+ /**
9
+ * Composition hook that fetches recent failed executions from both
10
+ * agent and workflow domains, normalizes them into {@link DashboardFailedRun}
11
+ * entries, and interleaves them by timestamp (newest first).
12
+ *
13
+ * Returns at most 5 total entries to keep the widget compact.
14
+ *
15
+ * @since Unified Platform Dashboard
16
+ */
17
+ export declare function useDashboardFailedRuns(org: string | null | undefined): UseDashboardFailedRunsReturn;
18
+ //# sourceMappingURL=useDashboardFailedRuns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDashboardFailedRuns.d.ts","sourceRoot":"","sources":["../../src/dashboard/useDashboardFailedRuns.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAOlD,sDAAsD;AACtD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC7B,4BAA4B,CAmF9B"}
@@ -0,0 +1,86 @@
1
+ "use client";
2
+ import { useMemo } from "react";
3
+ import { create } from "@bufbuild/protobuf";
4
+ import { timestampDate } from "@bufbuild/protobuf/wkt";
5
+ import { ExecutionPhase as AgentPhase } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
6
+ import { ExecutionPhase as WorkflowPhase } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/enum_pb";
7
+ import { ListAgentExecutionsRequestSchema } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/io_pb";
8
+ import { ListWorkflowExecutionsRequestSchema } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/io_pb";
9
+ import { useStigmer } from "../hooks";
10
+ import { useFetch } from "../internal/useFetch";
11
+ const EPOCH = new Date(0);
12
+ const EMPTY = [];
13
+ const MAX_TOTAL = 5;
14
+ const PAGE_SIZE = 5;
15
+ /**
16
+ * Composition hook that fetches recent failed executions from both
17
+ * agent and workflow domains, normalizes them into {@link DashboardFailedRun}
18
+ * entries, and interleaves them by timestamp (newest first).
19
+ *
20
+ * Returns at most 5 total entries to keep the widget compact.
21
+ *
22
+ * @since Unified Platform Dashboard
23
+ */
24
+ export function useDashboardFailedRuns(org) {
25
+ const stigmer = useStigmer();
26
+ const orgVal = org ?? "";
27
+ const agentFetchFn = useMemo(() => orgVal
28
+ ? async () => {
29
+ const resp = await stigmer.agentExecution.list(create(ListAgentExecutionsRequestSchema, {
30
+ pageSize: PAGE_SIZE,
31
+ phase: AgentPhase.EXECUTION_FAILED,
32
+ }));
33
+ return [...resp.entries];
34
+ }
35
+ : null, [stigmer, orgVal]);
36
+ const workflowFetchFn = useMemo(() => orgVal
37
+ ? async () => {
38
+ const resp = await stigmer.workflowExecution.list(create(ListWorkflowExecutionsRequestSchema, {
39
+ pageSize: PAGE_SIZE,
40
+ phase: WorkflowPhase.EXECUTION_FAILED,
41
+ }));
42
+ return [...resp.entries];
43
+ }
44
+ : null, [stigmer, orgVal]);
45
+ const { data: agentFailed, isLoading: agLoading, error: agError } = useFetch(agentFetchFn, [stigmer, orgVal], [], {
46
+ refetchInterval: 60_000,
47
+ });
48
+ const { data: workflowFailed, isLoading: wfLoading, error: wfError } = useFetch(workflowFetchFn, [stigmer, orgVal], [], {
49
+ refetchInterval: 60_000,
50
+ });
51
+ const failedRuns = useMemo(() => {
52
+ if (!agentFailed.length && !workflowFailed.length)
53
+ return EMPTY;
54
+ const agentEntries = agentFailed.map((exec) => {
55
+ const ts = exec.status?.audit?.specAudit?.createdAt;
56
+ return {
57
+ id: exec.metadata?.id ?? "",
58
+ type: "agent_execution",
59
+ name: exec.metadata?.name || "Untitled execution",
60
+ error: exec.status?.error ?? "",
61
+ failedAt: ts ? timestampDate(ts) : EPOCH,
62
+ resourceName: exec.spec?.agentId ?? "",
63
+ };
64
+ });
65
+ const workflowEntries = workflowFailed.map((exec) => {
66
+ const ts = exec.status?.audit?.specAudit?.createdAt;
67
+ return {
68
+ id: exec.metadata?.id ?? "",
69
+ type: "workflow_execution",
70
+ name: exec.metadata?.name || "Untitled execution",
71
+ error: exec.status?.error ?? "",
72
+ failedAt: ts ? timestampDate(ts) : EPOCH,
73
+ resourceName: exec.metadata?.slug ?? "",
74
+ };
75
+ });
76
+ const merged = [...agentEntries, ...workflowEntries];
77
+ merged.sort((a, b) => b.failedAt.getTime() - a.failedAt.getTime());
78
+ return merged.slice(0, MAX_TOTAL);
79
+ }, [agentFailed, workflowFailed]);
80
+ return {
81
+ failedRuns,
82
+ isLoading: agLoading || wfLoading,
83
+ error: agError ?? wfError,
84
+ };
85
+ }
86
+ //# sourceMappingURL=useDashboardFailedRuns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDashboardFailedRuns.js","sourceRoot":"","sources":["../../src/dashboard/useDashboardFailedRuns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { DashboardSummary } from "./types";
2
+ /** Options for {@link useDashboardSummary}. */
3
+ export interface UseDashboardSummaryOptions {
4
+ /** Organization slug for execution summaries. */
5
+ readonly org: string | null | undefined;
6
+ /** Organization ID (metadata.id) for the usage report. */
7
+ readonly orgId: string | null | undefined;
8
+ /** Refetch interval in milliseconds. @default 60_000 */
9
+ readonly refetchInterval?: number;
10
+ }
11
+ /** Return value of {@link useDashboardSummary}. */
12
+ export interface UseDashboardSummaryReturn {
13
+ readonly summary: DashboardSummary | null;
14
+ readonly isLoading: boolean;
15
+ readonly error: Error | null;
16
+ readonly refetch: () => void;
17
+ }
18
+ /**
19
+ * Composition hook that merges agent execution summary, workflow execution
20
+ * summary, and org usage report into a single {@link DashboardSummary}.
21
+ *
22
+ * - Execution counts (active, completed, failed) are added across both
23
+ * domains — safe because agent and workflow executions are distinct resources.
24
+ * - Cost comes from `getOrgUsageReport` (billing source of truth). NOT from
25
+ * summing agent + workflow costs. See AD-DASH-005.
26
+ *
27
+ * Follows the same client-side merge pattern as `useRecentActivity`.
28
+ *
29
+ * @since Unified Platform Dashboard
30
+ */
31
+ export declare function useDashboardSummary(options: UseDashboardSummaryOptions): UseDashboardSummaryReturn;
32
+ //# sourceMappingURL=useDashboardSummary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDashboardSummary.d.ts","sourceRoot":"","sources":["../../src/dashboard/useDashboardSummary.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,+CAA+C;AAC/C,MAAM,WAAW,0BAA0B;IACzC,iDAAiD;IACjD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,wDAAwD;IACxD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,mDAAmD;AACnD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,0BAA0B,GAClC,yBAAyB,CA0D3B"}