@almadar/std 16.252.0 → 16.254.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 (453) hide show
  1. package/behaviors/lolo/agent/atoms/std-agent-pool.lolo +355 -0
  2. package/behaviors/lolo/agent/atoms/std-agent-suggestions.lolo +16 -2
  3. package/behaviors/lolo/agent/evals/eval-agent-builder.lolo +152 -0
  4. package/behaviors/lolo/agent/organisms/std-agent-builder.lolo +320 -26
  5. package/behaviors/lolo/ui/learning/atoms/std-learn-generate.lolo +6 -4
  6. package/behaviors/lolo-behavior-contracts.json +1 -1
  7. package/behaviors/registry/agent/atoms/std-agent-context.orb +1 -1
  8. package/behaviors/registry/agent/atoms/std-agent-fix-loop.orb +1 -1
  9. package/behaviors/registry/agent/atoms/std-agent-planner.orb +1 -1
  10. package/behaviors/registry/agent/atoms/std-agent-pool.orb +1 -0
  11. package/behaviors/registry/agent/atoms/std-agent-proposal.orb +1 -1
  12. package/behaviors/registry/agent/atoms/std-agent-session.orb +1 -1
  13. package/behaviors/registry/agent/atoms/std-agent-suggestions.orb +1 -1
  14. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +1 -1
  15. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +1 -1
  16. package/behaviors/registry/agent/atoms/std-agent-trace.orb +1 -1
  17. package/behaviors/registry/agent/evals/eval-agent-builder.orb +1 -0
  18. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1 -1
  19. package/behaviors/registry/agent/organisms/std-agent-builder.orb +1 -1
  20. package/behaviors/registry/infra/atoms/std-analytics.orb +1 -1
  21. package/behaviors/registry/infra/atoms/std-approval-gate.orb +1 -1
  22. package/behaviors/registry/infra/atoms/std-cache-aside.orb +1 -1
  23. package/behaviors/registry/infra/atoms/std-calendar-sync.orb +1 -1
  24. package/behaviors/registry/infra/atoms/std-cascade-on-delete.orb +1 -1
  25. package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +1 -1
  26. package/behaviors/registry/infra/atoms/std-data-erasure.orb +1 -1
  27. package/behaviors/registry/infra/atoms/std-data-import.orb +1 -1
  28. package/behaviors/registry/infra/atoms/std-global-search.orb +1 -1
  29. package/behaviors/registry/infra/atoms/std-knowledge-loop.orb +1 -1
  30. package/behaviors/registry/infra/atoms/std-lifecycle.orb +1 -1
  31. package/behaviors/registry/infra/atoms/std-migration-job.orb +1 -1
  32. package/behaviors/registry/infra/atoms/std-mod-queue.orb +1 -1
  33. package/behaviors/registry/infra/atoms/std-notification-center.orb +1 -1
  34. package/behaviors/registry/infra/atoms/std-notification-preferences.orb +1 -1
  35. package/behaviors/registry/infra/atoms/std-notify-on-event.orb +1 -1
  36. package/behaviors/registry/infra/atoms/std-page-search.orb +1 -1
  37. package/behaviors/registry/infra/atoms/std-page-watch.orb +1 -1
  38. package/behaviors/registry/infra/atoms/std-permission-matrix.orb +1 -1
  39. package/behaviors/registry/infra/atoms/std-rate-limiter.orb +1 -1
  40. package/behaviors/registry/infra/atoms/std-reminder-scheduler.orb +1 -1
  41. package/behaviors/registry/infra/atoms/std-review-cycle.orb +1 -1
  42. package/behaviors/registry/infra/atoms/std-row-access-control.orb +1 -1
  43. package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +1 -1
  44. package/behaviors/registry/infra/organisms/std-status-lifecycle-control.orb +1 -1
  45. package/behaviors/registry/ml/atoms/std-data-collector.orb +1 -1
  46. package/behaviors/registry/ml/atoms/std-graph-builder.orb +1 -1
  47. package/behaviors/registry/ml/atoms/std-ml-classify.orb +1 -1
  48. package/behaviors/registry/ml/atoms/std-ml-infer.orb +1 -1
  49. package/behaviors/registry/ml/atoms/std-ml-lookup.orb +1 -1
  50. package/behaviors/registry/ml/atoms/std-ml-posterior.orb +1 -1
  51. package/behaviors/registry/ml/atoms/std-ml-similarity.orb +1 -1
  52. package/behaviors/registry/ml/atoms/std-tokenizer.orb +1 -1
  53. package/behaviors/registry/ml/atoms/std-weight-validator.orb +1 -1
  54. package/behaviors/registry/ml/organisms/std-escalating-decision.orb +1 -1
  55. package/behaviors/registry/ml/organisms/std-knowledge-tracing.orb +1 -1
  56. package/behaviors/registry/ui/avl/atoms/std-avl-cosmic-zoom.orb +1 -1
  57. package/behaviors/registry/ui/avl/atoms/ui-avl-glyph.orb +1 -1
  58. package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +1 -1
  59. package/behaviors/registry/ui/avl/atoms/ui-avl-transition-detail.orb +1 -1
  60. package/behaviors/registry/ui/avl/atoms/ui-avl-transition-explainer.orb +1 -1
  61. package/behaviors/registry/ui/avl/atoms/ui-behavior-view.orb +1 -1
  62. package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +1 -1
  63. package/behaviors/registry/ui/avl/organisms/ui-flow-canvas.orb +1 -1
  64. package/behaviors/registry/ui/avl/organisms/ui-layers-panel.orb +1 -1
  65. package/behaviors/registry/ui/avl/organisms/ui-orb-inspector.orb +1 -1
  66. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +1 -1
  67. package/behaviors/registry/ui/core/atoms/std-app-search.orb +1 -1
  68. package/behaviors/registry/ui/core/atoms/std-behavior-catalog.orb +1 -1
  69. package/behaviors/registry/ui/core/atoms/std-behavior-tour.orb +1 -1
  70. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +1 -1
  71. package/behaviors/registry/ui/core/atoms/std-board.orb +1 -1
  72. package/behaviors/registry/ui/core/atoms/std-book-reader.orb +1 -1
  73. package/behaviors/registry/ui/core/atoms/std-browse.orb +1 -1
  74. package/behaviors/registry/ui/core/atoms/std-calendar.orb +1 -1
  75. package/behaviors/registry/ui/core/atoms/std-card-grid.orb +1 -1
  76. package/behaviors/registry/ui/core/atoms/std-confirmation.orb +1 -1
  77. package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +1 -1
  78. package/behaviors/registry/ui/core/atoms/std-date-range.orb +1 -1
  79. package/behaviors/registry/ui/core/atoms/std-doc-page.orb +1 -1
  80. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +1 -1
  81. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +1 -1
  82. package/behaviors/registry/ui/core/atoms/std-event-log.orb +1 -1
  83. package/behaviors/registry/ui/core/atoms/std-export.orb +1 -1
  84. package/behaviors/registry/ui/core/atoms/std-file-store.orb +1 -1
  85. package/behaviors/registry/ui/core/atoms/std-filter.orb +1 -1
  86. package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +1 -1
  87. package/behaviors/registry/ui/core/atoms/std-gallery.orb +1 -1
  88. package/behaviors/registry/ui/core/atoms/std-gantt-schedule.orb +1 -1
  89. package/behaviors/registry/ui/core/atoms/std-graphs.orb +1 -1
  90. package/behaviors/registry/ui/core/atoms/std-hero.orb +1 -1
  91. package/behaviors/registry/ui/core/atoms/std-home.orb +1 -1
  92. package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +1 -1
  93. package/behaviors/registry/ui/core/atoms/std-import.orb +1 -1
  94. package/behaviors/registry/ui/core/atoms/std-language-picker.orb +1 -1
  95. package/behaviors/registry/ui/core/atoms/std-media-section.orb +1 -1
  96. package/behaviors/registry/ui/core/atoms/std-modal-editor.orb +1 -1
  97. package/behaviors/registry/ui/core/atoms/std-modal.orb +1 -1
  98. package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +1 -1
  99. package/behaviors/registry/ui/core/atoms/std-notification-panel.orb +1 -1
  100. package/behaviors/registry/ui/core/atoms/std-panel-launcher.orb +1 -1
  101. package/behaviors/registry/ui/core/atoms/std-pricing.orb +1 -1
  102. package/behaviors/registry/ui/core/atoms/std-proof.orb +1 -1
  103. package/behaviors/registry/ui/core/atoms/std-prose.orb +1 -1
  104. package/behaviors/registry/ui/core/atoms/std-rating-review.orb +1 -1
  105. package/behaviors/registry/ui/core/atoms/std-record-detail.orb +1 -1
  106. package/behaviors/registry/ui/core/atoms/std-recurrence.orb +1 -1
  107. package/behaviors/registry/ui/core/atoms/std-related.orb +1 -1
  108. package/behaviors/registry/ui/core/atoms/std-role-gate.orb +1 -1
  109. package/behaviors/registry/ui/core/atoms/std-saved-search.orb +1 -1
  110. package/behaviors/registry/ui/core/atoms/std-scatter.orb +1 -1
  111. package/behaviors/registry/ui/core/atoms/std-scoped-list.orb +1 -1
  112. package/behaviors/registry/ui/core/atoms/std-selection.orb +1 -1
  113. package/behaviors/registry/ui/core/atoms/std-site-footer.orb +1 -1
  114. package/behaviors/registry/ui/core/atoms/std-site-header.orb +1 -1
  115. package/behaviors/registry/ui/core/atoms/std-slide-deck.orb +1 -1
  116. package/behaviors/registry/ui/core/atoms/std-stat-band.orb +1 -1
  117. package/behaviors/registry/ui/core/atoms/std-stats.orb +1 -1
  118. package/behaviors/registry/ui/core/atoms/std-step-flow.orb +1 -1
  119. package/behaviors/registry/ui/core/atoms/std-steps.orb +1 -1
  120. package/behaviors/registry/ui/core/atoms/std-tabs.orb +1 -1
  121. package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +1 -1
  122. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +1 -1
  123. package/behaviors/registry/ui/core/atoms/std-thread.orb +1 -1
  124. package/behaviors/registry/ui/core/atoms/std-tree.orb +1 -1
  125. package/behaviors/registry/ui/core/atoms/std-version-history.orb +1 -1
  126. package/behaviors/registry/ui/core/atoms/std-wizard.orb +1 -1
  127. package/behaviors/registry/ui/core/atoms/std-workspace-layout.orb +1 -1
  128. package/behaviors/registry/ui/core/atoms/ui-animated-graphic.orb +1 -1
  129. package/behaviors/registry/ui/core/atoms/ui-animated-reveal.orb +1 -1
  130. package/behaviors/registry/ui/core/atoms/ui-aside.orb +1 -1
  131. package/behaviors/registry/ui/core/atoms/ui-atlas-image.orb +1 -1
  132. package/behaviors/registry/ui/core/atoms/ui-atlas-panel.orb +1 -1
  133. package/behaviors/registry/ui/core/atoms/ui-avatar.orb +1 -1
  134. package/behaviors/registry/ui/core/atoms/ui-badge.orb +1 -1
  135. package/behaviors/registry/ui/core/atoms/ui-box.orb +1 -1
  136. package/behaviors/registry/ui/core/atoms/ui-button.orb +1 -1
  137. package/behaviors/registry/ui/core/atoms/ui-card.orb +1 -1
  138. package/behaviors/registry/ui/core/atoms/ui-center.orb +1 -1
  139. package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +1 -1
  140. package/behaviors/registry/ui/core/atoms/ui-conditional-wrapper.orb +1 -1
  141. package/behaviors/registry/ui/core/atoms/ui-confetti-effect.orb +1 -1
  142. package/behaviors/registry/ui/core/atoms/ui-day-cell.orb +1 -1
  143. package/behaviors/registry/ui/core/atoms/ui-dialog.orb +1 -1
  144. package/behaviors/registry/ui/core/atoms/ui-divider.orb +1 -1
  145. package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +1 -1
  146. package/behaviors/registry/ui/core/atoms/ui-flip-container.orb +1 -1
  147. package/behaviors/registry/ui/core/atoms/ui-game-icon.orb +1 -1
  148. package/behaviors/registry/ui/core/atoms/ui-hstack.orb +1 -1
  149. package/behaviors/registry/ui/core/atoms/ui-icon.orb +1 -1
  150. package/behaviors/registry/ui/core/atoms/ui-image.orb +1 -1
  151. package/behaviors/registry/ui/core/atoms/ui-infinite-scroll-sentinel.orb +1 -1
  152. package/behaviors/registry/ui/core/atoms/ui-input.orb +1 -1
  153. package/behaviors/registry/ui/core/atoms/ui-label.orb +1 -1
  154. package/behaviors/registry/ui/core/atoms/ui-law-reference-tooltip.orb +1 -1
  155. package/behaviors/registry/ui/core/atoms/ui-overlay.orb +1 -1
  156. package/behaviors/registry/ui/core/atoms/ui-pattern-tile.orb +1 -1
  157. package/behaviors/registry/ui/core/atoms/ui-presence.orb +1 -1
  158. package/behaviors/registry/ui/core/atoms/ui-progress-bar.orb +1 -1
  159. package/behaviors/registry/ui/core/atoms/ui-radio.orb +1 -1
  160. package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +1 -1
  161. package/behaviors/registry/ui/core/atoms/ui-section-header.orb +1 -1
  162. package/behaviors/registry/ui/core/atoms/ui-select.orb +1 -1
  163. package/behaviors/registry/ui/core/atoms/ui-spacer.orb +1 -1
  164. package/behaviors/registry/ui/core/atoms/ui-sparkline.orb +1 -1
  165. package/behaviors/registry/ui/core/atoms/ui-spinner.orb +1 -1
  166. package/behaviors/registry/ui/core/atoms/ui-stack.orb +1 -1
  167. package/behaviors/registry/ui/core/atoms/ui-status-dot.orb +1 -1
  168. package/behaviors/registry/ui/core/atoms/ui-svg-branch.orb +1 -1
  169. package/behaviors/registry/ui/core/atoms/ui-svg-connection.orb +1 -1
  170. package/behaviors/registry/ui/core/atoms/ui-svg-flow.orb +1 -1
  171. package/behaviors/registry/ui/core/atoms/ui-svg-grid.orb +1 -1
  172. package/behaviors/registry/ui/core/atoms/ui-svg-lobe.orb +1 -1
  173. package/behaviors/registry/ui/core/atoms/ui-svg-mesh.orb +1 -1
  174. package/behaviors/registry/ui/core/atoms/ui-svg-morph.orb +1 -1
  175. package/behaviors/registry/ui/core/atoms/ui-svg-node.orb +1 -1
  176. package/behaviors/registry/ui/core/atoms/ui-svg-pulse.orb +1 -1
  177. package/behaviors/registry/ui/core/atoms/ui-svg-ring.orb +1 -1
  178. package/behaviors/registry/ui/core/atoms/ui-svg-shield.orb +1 -1
  179. package/behaviors/registry/ui/core/atoms/ui-svg-stack.orb +1 -1
  180. package/behaviors/registry/ui/core/atoms/ui-switch.orb +1 -1
  181. package/behaviors/registry/ui/core/atoms/ui-text-highlight.orb +1 -1
  182. package/behaviors/registry/ui/core/atoms/ui-textarea.orb +1 -1
  183. package/behaviors/registry/ui/core/atoms/ui-theme-toggle.orb +1 -1
  184. package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +1 -1
  185. package/behaviors/registry/ui/core/atoms/ui-trend-indicator.orb +1 -1
  186. package/behaviors/registry/ui/core/atoms/ui-typewriter-text.orb +1 -1
  187. package/behaviors/registry/ui/core/atoms/ui-typography.orb +1 -1
  188. package/behaviors/registry/ui/core/atoms/ui-video-embed.orb +1 -1
  189. package/behaviors/registry/ui/core/atoms/ui-vstack.orb +1 -1
  190. package/behaviors/registry/ui/core/molecules/std-stat-rows.orb +1 -1
  191. package/behaviors/registry/ui/core/molecules/ui-accordion.orb +1 -1
  192. package/behaviors/registry/ui/core/molecules/ui-activation-block.orb +1 -1
  193. package/behaviors/registry/ui/core/molecules/ui-activity-rail.orb +1 -1
  194. package/behaviors/registry/ui/core/molecules/ui-agent-activity-feed.orb +1 -1
  195. package/behaviors/registry/ui/core/molecules/ui-agent-activity-row.orb +1 -1
  196. package/behaviors/registry/ui/core/molecules/ui-agent-chat-feed.orb +1 -1
  197. package/behaviors/registry/ui/core/molecules/ui-alert.orb +1 -1
  198. package/behaviors/registry/ui/core/molecules/ui-animated-counter.orb +1 -1
  199. package/behaviors/registry/ui/core/molecules/ui-bloom-quiz-block.orb +1 -1
  200. package/behaviors/registry/ui/core/molecules/ui-branching-logic-builder.orb +1 -1
  201. package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +1 -1
  202. package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +1 -1
  203. package/behaviors/registry/ui/core/molecules/ui-carousel.orb +1 -1
  204. package/behaviors/registry/ui/core/molecules/ui-change-list.orb +1 -1
  205. package/behaviors/registry/ui/core/molecules/ui-chart-legend.orb +1 -1
  206. package/behaviors/registry/ui/core/molecules/ui-chart.orb +1 -1
  207. package/behaviors/registry/ui/core/molecules/ui-code-block.orb +1 -1
  208. package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +1 -1
  209. package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +1 -1
  210. package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +1 -1
  211. package/behaviors/registry/ui/core/molecules/ui-connection-block.orb +1 -1
  212. package/behaviors/registry/ui/core/molecules/ui-container.orb +1 -1
  213. package/behaviors/registry/ui/core/molecules/ui-content-renderer.orb +1 -1
  214. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +1 -1
  215. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +1 -1
  216. package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +1 -1
  217. package/behaviors/registry/ui/core/molecules/ui-date-range-selector.orb +1 -1
  218. package/behaviors/registry/ui/core/molecules/ui-doc-breadcrumb.orb +1 -1
  219. package/behaviors/registry/ui/core/molecules/ui-doc-pagination.orb +1 -1
  220. package/behaviors/registry/ui/core/molecules/ui-doc-search.orb +1 -1
  221. package/behaviors/registry/ui/core/molecules/ui-doc-sidebar.orb +1 -1
  222. package/behaviors/registry/ui/core/molecules/ui-doc-toc.orb +1 -1
  223. package/behaviors/registry/ui/core/molecules/ui-document-details.orb +1 -1
  224. package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +1 -1
  225. package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +1 -1
  226. package/behaviors/registry/ui/core/molecules/ui-drawer.orb +1 -1
  227. package/behaviors/registry/ui/core/molecules/ui-edge-decoration.orb +1 -1
  228. package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +1 -1
  229. package/behaviors/registry/ui/core/molecules/ui-empty-state.orb +1 -1
  230. package/behaviors/registry/ui/core/molecules/ui-error-boundary.orb +1 -1
  231. package/behaviors/registry/ui/core/molecules/ui-error-state.orb +1 -1
  232. package/behaviors/registry/ui/core/molecules/ui-feature-card.orb +1 -1
  233. package/behaviors/registry/ui/core/molecules/ui-feature-grid.orb +1 -1
  234. package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +1 -1
  235. package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +1 -1
  236. package/behaviors/registry/ui/core/molecules/ui-flex.orb +1 -1
  237. package/behaviors/registry/ui/core/molecules/ui-flip-card.orb +1 -1
  238. package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +1 -1
  239. package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +1 -1
  240. package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +1 -1
  241. package/behaviors/registry/ui/core/molecules/ui-form-field.orb +1 -1
  242. package/behaviors/registry/ui/core/molecules/ui-form-layout.orb +1 -1
  243. package/behaviors/registry/ui/core/molecules/ui-form-section-header.orb +1 -1
  244. package/behaviors/registry/ui/core/molecules/ui-fx-overlay.orb +1 -1
  245. package/behaviors/registry/ui/core/molecules/ui-gantt.orb +1 -1
  246. package/behaviors/registry/ui/core/molecules/ui-geometric-pattern.orb +1 -1
  247. package/behaviors/registry/ui/core/molecules/ui-gradient-divider.orb +1 -1
  248. package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +1 -1
  249. package/behaviors/registry/ui/core/molecules/ui-graph-view.orb +1 -1
  250. package/behaviors/registry/ui/core/molecules/ui-grid.orb +1 -1
  251. package/behaviors/registry/ui/core/molecules/ui-header.orb +1 -1
  252. package/behaviors/registry/ui/core/molecules/ui-icon-button.orb +1 -1
  253. package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +1 -1
  254. package/behaviors/registry/ui/core/molecules/ui-import-progress.orb +1 -1
  255. package/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +1 -1
  256. package/behaviors/registry/ui/core/molecules/ui-input-group.orb +1 -1
  257. package/behaviors/registry/ui/core/molecules/ui-jazari-state-machine.orb +1 -1
  258. package/behaviors/registry/ui/core/molecules/ui-lightbox.orb +1 -1
  259. package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +1 -1
  260. package/behaviors/registry/ui/core/molecules/ui-line-chart.orb +1 -1
  261. package/behaviors/registry/ui/core/molecules/ui-loading-state.orb +1 -1
  262. package/behaviors/registry/ui/core/molecules/ui-map-view.orb +1 -1
  263. package/behaviors/registry/ui/core/molecules/ui-markdown-content.orb +1 -1
  264. package/behaviors/registry/ui/core/molecules/ui-matrix-question.orb +1 -1
  265. package/behaviors/registry/ui/core/molecules/ui-menu.orb +1 -1
  266. package/behaviors/registry/ui/core/molecules/ui-meter.orb +1 -1
  267. package/behaviors/registry/ui/core/molecules/ui-modal.orb +1 -1
  268. package/behaviors/registry/ui/core/molecules/ui-navigation.orb +1 -1
  269. package/behaviors/registry/ui/core/molecules/ui-notification.orb +1 -1
  270. package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +1 -1
  271. package/behaviors/registry/ui/core/molecules/ui-option-constraint-group.orb +1 -1
  272. package/behaviors/registry/ui/core/molecules/ui-orbital-visualization.orb +1 -1
  273. package/behaviors/registry/ui/core/molecules/ui-page-header.orb +1 -1
  274. package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +1 -1
  275. package/behaviors/registry/ui/core/molecules/ui-pagination.orb +1 -1
  276. package/behaviors/registry/ui/core/molecules/ui-popover.orb +1 -1
  277. package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +1 -1
  278. package/behaviors/registry/ui/core/molecules/ui-progress-dots.orb +1 -1
  279. package/behaviors/registry/ui/core/molecules/ui-pull-to-refresh.orb +1 -1
  280. package/behaviors/registry/ui/core/molecules/ui-qr-scanner.orb +1 -1
  281. package/behaviors/registry/ui/core/molecules/ui-quiz-block.orb +1 -1
  282. package/behaviors/registry/ui/core/molecules/ui-reflection-block.orb +1 -1
  283. package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +1 -1
  284. package/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +1 -1
  285. package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +1 -1
  286. package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +1 -1
  287. package/behaviors/registry/ui/core/molecules/ui-scaled-diagram.orb +1 -1
  288. package/behaviors/registry/ui/core/molecules/ui-search-input.orb +1 -1
  289. package/behaviors/registry/ui/core/molecules/ui-section.orb +1 -1
  290. package/behaviors/registry/ui/core/molecules/ui-side-panel.orb +1 -1
  291. package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +1 -1
  292. package/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +1 -1
  293. package/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +1 -1
  294. package/behaviors/registry/ui/core/molecules/ui-skeleton.orb +1 -1
  295. package/behaviors/registry/ui/core/molecules/ui-social-proof.orb +1 -1
  296. package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +1 -1
  297. package/behaviors/registry/ui/core/molecules/ui-split.orb +1 -1
  298. package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +1 -1
  299. package/behaviors/registry/ui/core/molecules/ui-stat-display.orb +1 -1
  300. package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +1 -1
  301. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +1 -1
  302. package/behaviors/registry/ui/core/molecules/ui-tabs.orb +1 -1
  303. package/behaviors/registry/ui/core/molecules/ui-tag-input.orb +1 -1
  304. package/behaviors/registry/ui/core/molecules/ui-tooltip.orb +1 -1
  305. package/behaviors/registry/ui/core/molecules/ui-top-nav-item.orb +1 -1
  306. package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +1 -1
  307. package/behaviors/registry/ui/core/molecules/ui-version-diff.orb +1 -1
  308. package/behaviors/registry/ui/core/molecules/ui-violation-alert.orb +1 -1
  309. package/behaviors/registry/ui/core/molecules/ui-vote-stack.orb +1 -1
  310. package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +1 -1
  311. package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +1 -1
  312. package/behaviors/registry/ui/core/molecules/ui-wizard-progress.orb +1 -1
  313. package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +1 -1
  314. package/behaviors/registry/ui/core/organisms/ui-code-runner-panel.orb +1 -1
  315. package/behaviors/registry/ui/core/organisms/ui-dashboard-grid.orb +1 -1
  316. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +1 -1
  317. package/behaviors/registry/ui/core/organisms/ui-dock-layout.orb +1 -1
  318. package/behaviors/registry/ui/core/organisms/ui-drawer-slot.orb +1 -1
  319. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +1 -1
  320. package/behaviors/registry/ui/core/organisms/ui-form.orb +1 -1
  321. package/behaviors/registry/ui/core/organisms/ui-master-detail-layout.orb +1 -1
  322. package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +1 -1
  323. package/behaviors/registry/ui/core/organisms/ui-modal-slot.orb +1 -1
  324. package/behaviors/registry/ui/core/organisms/ui-runtime-debugger.orb +1 -1
  325. package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +1 -1
  326. package/behaviors/registry/ui/core/organisms/ui-split-pane.orb +1 -1
  327. package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +1 -1
  328. package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +1 -1
  329. package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +1 -1
  330. package/behaviors/registry/ui/core/organisms/ui-tabbed-container.orb +1 -1
  331. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +1 -1
  332. package/behaviors/registry/ui/core/organisms/ui-toast-slot.orb +1 -1
  333. package/behaviors/registry/ui/core/templates/ui-auth-layout.orb +1 -1
  334. package/behaviors/registry/ui/core/templates/ui-counter-template.orb +1 -1
  335. package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +1 -1
  336. package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +1 -1
  337. package/behaviors/registry/ui/game/atoms/std-arcade-play.orb +1 -1
  338. package/behaviors/registry/ui/game/atoms/std-area-fill.orb +1 -1
  339. package/behaviors/registry/ui/game/atoms/std-audio-cue.orb +1 -1
  340. package/behaviors/registry/ui/game/atoms/std-camera-rig.orb +1 -1
  341. package/behaviors/registry/ui/game/atoms/std-chase-ai.orb +1 -1
  342. package/behaviors/registry/ui/game/atoms/std-choice-gate.orb +1 -1
  343. package/behaviors/registry/ui/game/atoms/std-coef-pad.orb +1 -1
  344. package/behaviors/registry/ui/game/atoms/std-curve-fog.orb +1 -1
  345. package/behaviors/registry/ui/game/atoms/std-dungeon-combat.orb +1 -1
  346. package/behaviors/registry/ui/game/atoms/std-fx-narrative.orb +1 -1
  347. package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +1 -1
  348. package/behaviors/registry/ui/game/atoms/std-fx-trail.orb +1 -1
  349. package/behaviors/registry/ui/game/atoms/std-gate-lock.orb +1 -1
  350. package/behaviors/registry/ui/game/atoms/std-gather.orb +1 -1
  351. package/behaviors/registry/ui/game/atoms/std-gold.orb +1 -1
  352. package/behaviors/registry/ui/game/atoms/std-grid-tactics.orb +1 -1
  353. package/behaviors/registry/ui/game/atoms/std-hero-nav.orb +1 -1
  354. package/behaviors/registry/ui/game/atoms/std-lives.orb +1 -1
  355. package/behaviors/registry/ui/game/atoms/std-loop-lock.orb +1 -1
  356. package/behaviors/registry/ui/game/atoms/std-market-flow.orb +1 -1
  357. package/behaviors/registry/ui/game/atoms/std-motion-body.orb +1 -1
  358. package/behaviors/registry/ui/game/atoms/std-objective-reach.orb +1 -1
  359. package/behaviors/registry/ui/game/atoms/std-pad-lock.orb +1 -1
  360. package/behaviors/registry/ui/game/atoms/std-patience.orb +1 -1
  361. package/behaviors/registry/ui/game/atoms/std-patrol-hazard.orb +1 -1
  362. package/behaviors/registry/ui/game/atoms/std-pickup.orb +1 -1
  363. package/behaviors/registry/ui/game/atoms/std-platformer-body.orb +1 -1
  364. package/behaviors/registry/ui/game/atoms/std-production.orb +1 -1
  365. package/behaviors/registry/ui/game/atoms/std-score.orb +1 -1
  366. package/behaviors/registry/ui/game/atoms/std-tutorial-autodemo.orb +1 -1
  367. package/behaviors/registry/ui/game/atoms/std-tutorial-overlay.orb +1 -1
  368. package/behaviors/registry/ui/game/atoms/std-velocity-gate.orb +1 -1
  369. package/behaviors/registry/ui/game/atoms/std-xp.orb +1 -1
  370. package/behaviors/registry/ui/game/atoms/std-zone-card.orb +1 -1
  371. package/behaviors/registry/ui/game/atoms/ui-action-palette.orb +1 -1
  372. package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +1 -1
  373. package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +1 -1
  374. package/behaviors/registry/ui/game/atoms/ui-canvas.orb +1 -1
  375. package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +1 -1
  376. package/behaviors/registry/ui/game/atoms/ui-control-button.orb +1 -1
  377. package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +1 -1
  378. package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +1 -1
  379. package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +1 -1
  380. package/behaviors/registry/ui/game/atoms/ui-draw-group.orb +1 -1
  381. package/behaviors/registry/ui/game/atoms/ui-draw-mesh.orb +1 -1
  382. package/behaviors/registry/ui/game/atoms/ui-draw-shape-layer.orb +1 -1
  383. package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +1 -1
  384. package/behaviors/registry/ui/game/atoms/ui-draw-skinned-mesh.orb +1 -1
  385. package/behaviors/registry/ui/game/atoms/ui-draw-sprite-layer.orb +1 -1
  386. package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +1 -1
  387. package/behaviors/registry/ui/game/atoms/ui-draw-text-layer.orb +1 -1
  388. package/behaviors/registry/ui/game/atoms/ui-draw-text.orb +1 -1
  389. package/behaviors/registry/ui/game/atoms/ui-game-audio-cue.orb +1 -1
  390. package/behaviors/registry/ui/game/atoms/ui-game-audio-toggle.orb +1 -1
  391. package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +1 -1
  392. package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +1 -1
  393. package/behaviors/registry/ui/game/atoms/ui-health-bar.orb +1 -1
  394. package/behaviors/registry/ui/game/atoms/ui-score-display.orb +1 -1
  395. package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +1 -1
  396. package/behaviors/registry/ui/game/atoms/ui-stat-badge.orb +1 -1
  397. package/behaviors/registry/ui/game/atoms/ui-state-graph.orb +1 -1
  398. package/behaviors/registry/ui/game/atoms/ui-state-json-view.orb +1 -1
  399. package/behaviors/registry/ui/game/atoms/ui-timer-display.orb +1 -1
  400. package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +1 -1
  401. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +1 -1
  402. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +1 -1
  403. package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +1 -1
  404. package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +1 -1
  405. package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +1 -1
  406. package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +1 -1
  407. package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +1 -1
  408. package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +1 -1
  409. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +1 -1
  410. package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +1 -1
  411. package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +1 -1
  412. package/behaviors/registry/ui/game/templates/ui-game-shell.orb +1 -1
  413. package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +1 -1
  414. package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1 -1
  415. package/behaviors/registry/ui/learning/atoms/std-learn-compare.orb +1 -1
  416. package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +1 -1
  417. package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +1 -1
  418. package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +1 -1
  419. package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +1 -1
  420. package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +1 -1
  421. package/behaviors/registry/ui/learning/atoms/std-learn-fx-cues.orb +1 -1
  422. package/behaviors/registry/ui/learning/atoms/std-learn-generate.orb +1 -1
  423. package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +1 -1
  424. package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +1 -1
  425. package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +1 -1
  426. package/behaviors/registry/ui/learning/atoms/std-learn-live-sim.orb +1 -1
  427. package/behaviors/registry/ui/learning/atoms/std-learn-measure.orb +1 -1
  428. package/behaviors/registry/ui/learning/atoms/std-learn-param-explorer.orb +1 -1
  429. package/behaviors/registry/ui/learning/atoms/std-learn-perturb.orb +1 -1
  430. package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +1 -1
  431. package/behaviors/registry/ui/learning/atoms/std-learn-sample-accumulator.orb +1 -1
  432. package/behaviors/registry/ui/learning/atoms/std-learn-sandbox.orb +1 -1
  433. package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +1 -1
  434. package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +1 -1
  435. package/behaviors/registry/ui/learning/atoms/std-learn-sim-3d.orb +1 -1
  436. package/behaviors/registry/ui/learning/atoms/std-learn-slope-probe.orb +1 -1
  437. package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +1 -1
  438. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +1 -1
  439. package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +1 -1
  440. package/behaviors/registry/ui/learning/atoms/std-learn-trace-player.orb +1 -1
  441. package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +1 -1
  442. package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +1 -1
  443. package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +1 -1
  444. package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +1 -1
  445. package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +1 -1
  446. package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +1 -1
  447. package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +1 -1
  448. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +1 -1
  449. package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +1 -1
  450. package/dist/behaviors-embeddings.hash.json +2 -2
  451. package/dist/behaviors-embeddings.json +1 -1
  452. package/dist/knob-embeddings.hash.json +2 -2
  453. package/package.json +2 -2
@@ -1 +1 @@
1
- {"name":"std-slide-deck","version":"1.0.0","description":"std-slide-deck — generic presentation atom. An ordered list of slide nodes (`config.slides`, any render tree or @trait) shown one at a time, with a previous/next arrow on either side, a dot strip and a k / n counter underneath, and keyboard stepping through the host's KEY router (`config.nextKeys` / `config.prevKeys`, captured per `config.keymap`). The cursor clamps at either end unless `loop` is on. Each visit mounts the slide fresh, so its own entry animations replay. Carries no content or visual style: a realization supplies the slides and restyles via `bodyContent`. The default body picks the slide inside a mapped-children lambda, which expands static slides only; a deck whose slides hold stateful traits (forms, live lists) overrides `bodyContent` with one `presence` per slide gated on `@entity.slideIndex`. Every move emits SLIDE_CHANGED for speaker notes, timers or analytics.","orbitals":[{"name":"SlideDeckOrbital","id":"orb_JDJ0BYEMWTAEDFWGWF41DGWZ2W","entity":{"name":"SlideDeck","id":"ent_YGR5P7BCDBP6NHMC4QNEAD86NE","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"slideIndex","type":"number","default":0,"description":"Zero-based index of the slide currently shown.","synonyms":"current slide, cursor, position"}]},"traits":[{"name":"SlideDeckPresenter","id":"trt_D1X5CSEN36AHK6HZG8VTPVA84W","entityRebindable":true,"entityContract":{"requires":[],"provides":["slideIndex"]},"effectRow":[{"kind":"emit","resource":"SLIDE_CHANGED"},{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.slideIndex"}],"category":"interaction","linkedEntity":"SlideDeck","linkedEntityId":"ent_YGR5P7BCDBP6NHMC4QNEAD86NE","entityRefIds":{"SlideDeck":"ent_YGR5P7BCDBP6NHMC4QNEAD86NE"},"emits":[{"event":"SLIDE_CHANGED","eventId":"evt_53FTFWG2PK1B9KRW2Z2BDEQGAN","description":"The deck moved to a new slide (zero-based index).","synonyms":"slide shown, advanced, went back","tier":"domain","scope":"external","payloadSchema":[{"name":"index","type":"number","required":true}]}],"stateMachine":{"states":[{"name":"presenting","isInitial":true}],"events":[{"key":"INIT","id":"evt_4JYQ63JCC3661ND0W7FXX6RTB4","name":"Initialize"},{"key":"GO_TO","id":"evt_X54FYR1C7AP3N3NBJES7QBKPAP","name":"Go To","description":"Show a zero-based slide index. The arrows and dots send the already-bounded target; a remote or table of contents can send any index.","synonyms":"jump, seek, next slide, previous slide, select slide","tier":"domain","payloadSchema":[{"name":"index","type":"number","required":true}],"listened":true},{"key":"SLIDE_CHANGED","id":"evt_53FTFWG2PK1B9KRW2Z2BDEQGAN","name":"Slide Changed","description":"The deck moved to a new slide (zero-based index).","synonyms":"slide shown, advanced, went back","tier":"domain","payloadSchema":[{"name":"index","type":"number","required":true}]}],"transitions":[{"from":"presenting","to":"presenting","event":"INIT","eventId":"evt_4JYQ63JCC3661ND0W7FXX6RTB4","effects":[["set","@entity.slideIndex","@config.startIndex"],["render-ui","main","@config.bodyContent"]]},{"from":"presenting","to":"presenting","event":"GO_TO","eventId":"evt_X54FYR1C7AP3N3NBJES7QBKPAP","effects":[["set","@entity.slideIndex","@payload.index"],["emit","SLIDE_CHANGED",{"index":"@entity.slideIndex"}],["render-ui","main","@config.bodyContent"]]}]},"config":{"stageMinHeight":{"type":"string","default":"70vh","label":"Stage height","description":"Minimum height of the slide stage (any CSS length, e.g. 70vh or 640px); the slide is centred vertically inside it so short and tall slides share one frame.","tier":"presentation"},"bodyContent":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"md","className":"w-full","children":[{"type":"stack","direction":"horizontal","gap":"md","align":"center","children":[["array/map",[["array/len","@config.slides"]],["fn","n",["if","@config.showArrows",{"type":"button","variant":"ghost","size":"lg","icon":"@config.prevIcon","aria-label":"Previous slide","action":"GO_TO","actionPayload":{"index":["if","@config.loop",["math/wrap",["-","@entity.slideIndex",1],0,"@n"],["math/max",0,["-","@entity.slideIndex",1]]]},"disabled":["and",["==","@config.loop",false],["<=","@entity.slideIndex",0]]},null]]],{"type":"center","className":"flex-1 min-w-0","minHeight":"@config.stageMinHeight","children":["array/map",["@entity.slideIndex"],["fn","i",{"type":"box","className":"w-full","children":[["array/nth","@config.slides","@i"]]}]]},["array/map",[["array/len","@config.slides"]],["fn","n",["if","@config.showArrows",{"type":"button","variant":"ghost","size":"lg","icon":"@config.nextIcon","aria-label":"Next slide","action":"GO_TO","actionPayload":{"index":["if","@config.loop",["math/wrap",["+","@entity.slideIndex",1],0,"@n"],["math/min",["-","@n",1],["+","@entity.slideIndex",1]]]},"disabled":["and",["==","@config.loop",false],[">=","@entity.slideIndex",["-","@n",1]]]},null]]]]},["if","@config.showProgress",{"type":"stack","direction":"horizontal","gap":"md","align":"center","justify":"center","children":["array/map",[["array/len","@config.slides"]],["fn","n",{"type":"stack","direction":"horizontal","gap":"md","align":"center","children":[{"type":"progress-dots","count":"@n","currentIndex":"@entity.slideIndex","onDotClick":"GO_TO","size":"sm"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat","",["+","@entity.slideIndex",1]," / ","@n"]}]}]]},null]]},"label":"Body content tree","description":"Render-ui tree for the deck. Default: slide centred between previous/next arrows, dot strip and counter below. A realization overrides this to restyle (full-bleed, bottom bar, no chrome) while keeping the same cursor, keys and emits.","tier":"internal"},"nextIcon":{"type":"icon","default":"chevron-right","label":"Next icon","tier":"presentation"},"slides":{"type":"[trait]","default":[],"label":"Slides","description":"Ordered slide nodes; each entry is a render tree or a @trait reference and is shown one at a time.","tier":"domain","items":{"type":"trait"}},"prevIcon":{"type":"icon","default":"chevron-left","label":"Previous icon","tier":"presentation"},"startIndex":{"type":"number","default":0,"label":"Start slide","description":"Zero-based slide shown on first render; clamped to the deck.","tier":"presentation"},"showArrows":{"type":"boolean","default":true,"label":"Show arrows","description":"Previous/next buttons on the left and right of the slide.","tier":"presentation"},"showProgress":{"type":"boolean","default":true,"label":"Show progress","description":"Dot strip and k / n counter under the slide; dots jump to their slide.","tier":"presentation"},"loop":{"type":"boolean","default":false,"label":"Loop","description":"Wrap from the last slide to the first (and back) instead of stopping at either end.","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"SlideDeckPage","id":"pag_HF2BH1KXC3YP1V1D2WC7KS98HK","path":"/slide-deck","traits":[{"ref":"SlideDeckPresenter","refId":"trt_D1X5CSEN36AHK6HZG8VTPVA84W"}]}]}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_YGR5P7BCDBP6NHMC4QNEAD86NE":{"id":"ent_YGR5P7BCDBP6NHMC4QNEAD86NE","kind":"entity","bakedName":"SlideDeck","curName":"SlideDeck","renames":[],"owner":"workspace"},"evt_4JYQ63JCC3661ND0W7FXX6RTB4":{"id":"evt_4JYQ63JCC3661ND0W7FXX6RTB4","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_D1X5CSEN36AHK6HZG8VTPVA84W"},"evt_53FTFWG2PK1B9KRW2Z2BDEQGAN":{"id":"evt_53FTFWG2PK1B9KRW2Z2BDEQGAN","kind":"event","bakedName":"SLIDE_CHANGED","curName":"SLIDE_CHANGED","renames":[],"owner":"workspace","parent":"trt_D1X5CSEN36AHK6HZG8VTPVA84W"},"evt_X54FYR1C7AP3N3NBJES7QBKPAP":{"id":"evt_X54FYR1C7AP3N3NBJES7QBKPAP","kind":"event","bakedName":"GO_TO","curName":"GO_TO","renames":[],"owner":"workspace","parent":"trt_D1X5CSEN36AHK6HZG8VTPVA84W"},"orb_JDJ0BYEMWTAEDFWGWF41DGWZ2W":{"id":"orb_JDJ0BYEMWTAEDFWGWF41DGWZ2W","kind":"orbital","bakedName":"SlideDeckOrbital","curName":"SlideDeckOrbital","renames":[],"owner":"workspace"},"pag_HF2BH1KXC3YP1V1D2WC7KS98HK":{"id":"pag_HF2BH1KXC3YP1V1D2WC7KS98HK","kind":"page","bakedName":"SlideDeckPage","curName":"SlideDeckPage","renames":[],"owner":"workspace"},"trt_D1X5CSEN36AHK6HZG8VTPVA84W":{"id":"trt_D1X5CSEN36AHK6HZG8VTPVA84W","kind":"trait","bakedName":"SlideDeckPresenter","curName":"SlideDeckPresenter","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-slide-deck","version":"1.0.0","description":"std-slide-deck — generic presentation atom. An ordered list of slide nodes (`config.slides`, any render tree or @trait) shown one at a time, with a previous/next arrow on either side, a dot strip and a k / n counter underneath, and keyboard stepping through the host's KEY router (`config.nextKeys` / `config.prevKeys`, captured per `config.keymap`). The cursor clamps at either end unless `loop` is on. Each visit mounts the slide fresh, so its own entry animations replay. Carries no content or visual style: a realization supplies the slides and restyles via `bodyContent`. The default body picks the slide inside a mapped-children lambda, which expands static slides only; a deck whose slides hold stateful traits (forms, live lists) overrides `bodyContent` with one `presence` per slide gated on `@entity.slideIndex`. Every move emits SLIDE_CHANGED for speaker notes, timers or analytics.","orbitals":[{"name":"SlideDeckOrbital","id":"orb_JDJ0BYEMWTAEDFWGWF41DGWZ2W","entity":{"name":"SlideDeck","id":"ent_YGR5P7BCDBP6NHMC4QNEAD86NE","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"slideIndex","type":"number","default":0,"description":"Zero-based index of the slide currently shown.","synonyms":"current slide, cursor, position"}]},"traits":[{"name":"SlideDeckPresenter","id":"trt_D1X5CSEN36AHK6HZG8VTPVA84W","entityRebindable":true,"entityContract":{"requires":[],"provides":["slideIndex"]},"effectRow":[{"kind":"emit","resource":"SLIDE_CHANGED"},{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.slideIndex"}],"category":"interaction","linkedEntity":"SlideDeck","linkedEntityId":"ent_YGR5P7BCDBP6NHMC4QNEAD86NE","entityRefIds":{"SlideDeck":"ent_YGR5P7BCDBP6NHMC4QNEAD86NE"},"emits":[{"event":"SLIDE_CHANGED","eventId":"evt_53FTFWG2PK1B9KRW2Z2BDEQGAN","description":"The deck moved to a new slide (zero-based index).","synonyms":"slide shown, advanced, went back","tier":"domain","scope":"external","payloadSchema":[{"name":"index","type":"number","required":true}]}],"stateMachine":{"states":[{"name":"presenting","isInitial":true}],"events":[{"key":"INIT","id":"evt_4JYQ63JCC3661ND0W7FXX6RTB4","name":"Initialize"},{"key":"GO_TO","id":"evt_X54FYR1C7AP3N3NBJES7QBKPAP","name":"Go To","description":"Show a zero-based slide index. The arrows and dots send the already-bounded target; a remote or table of contents can send any index.","synonyms":"jump, seek, next slide, previous slide, select slide","tier":"domain","payloadSchema":[{"name":"index","type":"number","required":true}],"listened":true},{"key":"SLIDE_CHANGED","id":"evt_53FTFWG2PK1B9KRW2Z2BDEQGAN","name":"Slide Changed","description":"The deck moved to a new slide (zero-based index).","synonyms":"slide shown, advanced, went back","tier":"domain","payloadSchema":[{"name":"index","type":"number","required":true}]}],"transitions":[{"from":"presenting","to":"presenting","event":"INIT","eventId":"evt_4JYQ63JCC3661ND0W7FXX6RTB4","effects":[["set","@entity.slideIndex","@config.startIndex"],["render-ui","main","@config.bodyContent"]]},{"from":"presenting","to":"presenting","event":"GO_TO","eventId":"evt_X54FYR1C7AP3N3NBJES7QBKPAP","effects":[["set","@entity.slideIndex","@payload.index"],["emit","SLIDE_CHANGED",{"index":"@entity.slideIndex"}],["render-ui","main","@config.bodyContent"]]}]},"config":{"stageMinHeight":{"type":"string","default":"70vh","label":"Stage height","description":"Minimum height of the slide stage (any CSS length, e.g. 70vh or 640px); the slide is centred vertically inside it so short and tall slides share one frame.","tier":"presentation"},"prevIcon":{"type":"icon","default":"chevron-left","label":"Previous icon","tier":"presentation"},"loop":{"type":"boolean","default":false,"label":"Loop","description":"Wrap from the last slide to the first (and back) instead of stopping at either end.","tier":"presentation"},"bodyContent":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"md","className":"w-full","children":[{"type":"stack","direction":"horizontal","gap":"md","align":"center","children":[["array/map",[["array/len","@config.slides"]],["fn","n",["if","@config.showArrows",{"type":"button","variant":"ghost","size":"lg","icon":"@config.prevIcon","aria-label":"Previous slide","action":"GO_TO","actionPayload":{"index":["if","@config.loop",["math/wrap",["-","@entity.slideIndex",1],0,"@n"],["math/max",0,["-","@entity.slideIndex",1]]]},"disabled":["and",["==","@config.loop",false],["<=","@entity.slideIndex",0]]},null]]],{"type":"center","className":"flex-1 min-w-0","minHeight":"@config.stageMinHeight","children":["array/map",["@entity.slideIndex"],["fn","i",{"type":"box","className":"w-full","children":[["array/nth","@config.slides","@i"]]}]]},["array/map",[["array/len","@config.slides"]],["fn","n",["if","@config.showArrows",{"type":"button","variant":"ghost","size":"lg","icon":"@config.nextIcon","aria-label":"Next slide","action":"GO_TO","actionPayload":{"index":["if","@config.loop",["math/wrap",["+","@entity.slideIndex",1],0,"@n"],["math/min",["-","@n",1],["+","@entity.slideIndex",1]]]},"disabled":["and",["==","@config.loop",false],[">=","@entity.slideIndex",["-","@n",1]]]},null]]]]},["if","@config.showProgress",{"type":"stack","direction":"horizontal","gap":"md","align":"center","justify":"center","children":["array/map",[["array/len","@config.slides"]],["fn","n",{"type":"stack","direction":"horizontal","gap":"md","align":"center","children":[{"type":"progress-dots","count":"@n","currentIndex":"@entity.slideIndex","onDotClick":"GO_TO","size":"sm"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat","",["+","@entity.slideIndex",1]," / ","@n"]}]}]]},null]]},"label":"Body content tree","description":"Render-ui tree for the deck. Default: slide centred between previous/next arrows, dot strip and counter below. A realization overrides this to restyle (full-bleed, bottom bar, no chrome) while keeping the same cursor, keys and emits.","tier":"internal"},"nextIcon":{"type":"icon","default":"chevron-right","label":"Next icon","tier":"presentation"},"showProgress":{"type":"boolean","default":true,"label":"Show progress","description":"Dot strip and k / n counter under the slide; dots jump to their slide.","tier":"presentation"},"showArrows":{"type":"boolean","default":true,"label":"Show arrows","description":"Previous/next buttons on the left and right of the slide.","tier":"presentation"},"slides":{"type":"[trait]","default":[],"label":"Slides","description":"Ordered slide nodes; each entry is a render tree or a @trait reference and is shown one at a time.","tier":"domain","items":{"type":"trait"}},"startIndex":{"type":"number","default":0,"label":"Start slide","description":"Zero-based slide shown on first render; clamped to the deck.","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"SlideDeckPage","id":"pag_HF2BH1KXC3YP1V1D2WC7KS98HK","path":"/slide-deck","traits":[{"ref":"SlideDeckPresenter","refId":"trt_D1X5CSEN36AHK6HZG8VTPVA84W"}]}]}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_YGR5P7BCDBP6NHMC4QNEAD86NE":{"id":"ent_YGR5P7BCDBP6NHMC4QNEAD86NE","kind":"entity","bakedName":"SlideDeck","curName":"SlideDeck","renames":[],"owner":"workspace"},"evt_4JYQ63JCC3661ND0W7FXX6RTB4":{"id":"evt_4JYQ63JCC3661ND0W7FXX6RTB4","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_D1X5CSEN36AHK6HZG8VTPVA84W"},"evt_53FTFWG2PK1B9KRW2Z2BDEQGAN":{"id":"evt_53FTFWG2PK1B9KRW2Z2BDEQGAN","kind":"event","bakedName":"SLIDE_CHANGED","curName":"SLIDE_CHANGED","renames":[],"owner":"workspace","parent":"trt_D1X5CSEN36AHK6HZG8VTPVA84W"},"evt_X54FYR1C7AP3N3NBJES7QBKPAP":{"id":"evt_X54FYR1C7AP3N3NBJES7QBKPAP","kind":"event","bakedName":"GO_TO","curName":"GO_TO","renames":[],"owner":"workspace","parent":"trt_D1X5CSEN36AHK6HZG8VTPVA84W"},"orb_JDJ0BYEMWTAEDFWGWF41DGWZ2W":{"id":"orb_JDJ0BYEMWTAEDFWGWF41DGWZ2W","kind":"orbital","bakedName":"SlideDeckOrbital","curName":"SlideDeckOrbital","renames":[],"owner":"workspace"},"pag_HF2BH1KXC3YP1V1D2WC7KS98HK":{"id":"pag_HF2BH1KXC3YP1V1D2WC7KS98HK","kind":"page","bakedName":"SlideDeckPage","curName":"SlideDeckPage","renames":[],"owner":"workspace"},"trt_D1X5CSEN36AHK6HZG8VTPVA84W":{"id":"trt_D1X5CSEN36AHK6HZG8VTPVA84W","kind":"trait","bakedName":"SlideDeckPresenter","curName":"SlideDeckPresenter","renames":[],"owner":"workspace"}}}}
@@ -1 +1 @@
1
- {"name":"std-stat-band","version":"1.0.0","description":"std-stat-band — a band of headline figures from a config list: each item a big value (a number or short text such as '99.9%', '3x' or 'Open source') over a short label, centered in a row that wraps on small screens, under an optional heading. Display only — for figures computed from data use std-stats. Pick for 'by the numbers' strips on landing, about and product pages.","orbitals":[{"name":"StatBandOrbital","id":"orb_ZWZPFXMKDD9PPMPNPZ9Y60Q7G7","entity":{"name":"StatBandView","id":"ent_KGSNB1KJ21S10YMD82WYZEGVRR","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"name":"StatBandRender","id":"trt_AD60K85XXGYYRERRZY2CHD9GZ1","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"StatBandView","linkedEntityId":"ent_KGSNB1KJ21S10YMD82WYZEGVRR","entityRefIds":{"StatBandView":"ent_KGSNB1KJ21S10YMD82WYZEGVRR"},"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_H393QQRY0BF05Q04SFG0GSRZTD","name":"Initialize"}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_H393QQRY0BF05Q04SFG0GSRZTD","effects":[["render-ui","main",{"type":"box","paddingY":"xl","bg":["if",["==","@config.surface","muted"],"muted",["if",["==","@config.surface","accent"],"gradient",["if",["==","@config.surface","inverse"],"inverse","transparent"]]],"edgeTop":"@config.edgeTop","edgeBottom":"@config.edgeBottom","edgeColor":"@config.edgeColor","texture":"@config.texture","fullWidth":true,"children":[{"type":"container","size":"xl","maxWidth":"xl","padding":"lg","children":[{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"typography","content":"@config.heading","variant":"h3","weight":"bold","align":"center","className":["if",["==","@config.heading",""],"hidden","tracking-tight"]},{"type":"simple-grid","cols":["math/min",["math/max",["array/len","@config.items"],1],4],"gap":"lg","children":["array/map","@config.items",["fn","item",{"type":"stack","direction":"vertical","gap":"xs","align":"center","children":[{"type":"typography","content":["object/get","@item","value",""],"variant":"h2","weight":"bold","align":"center","className":"tracking-tight text-primary"},{"type":"typography","content":["object/get","@item","label",""],"variant":"body","color":"muted","align":"center"}]}]]}]}]}]}]]}]},"config":{"edgeBottom":{"type":"string","default":"none","label":"Bottom edge","description":"Shape cut into the bottom of the section; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"edgeColor":{"type":"string","default":"background","label":"Edge fill","description":"The surface of the neighbouring section, which fills the cut","tier":"presentation","values":["background","muted","surface","gradient","inverse"]},"surface":{"type":"string","default":"plain","label":"Surface","tier":"presentation","values":["plain","muted","accent","inverse"]},"heading":{"type":"string","default":"","label":"Heading","description":"Heading above the figures; empty hides it","tier":"presentation"},"items":{"type":"[StatBandItem]","default":[{"value":"120+","label":"Building blocks"},{"value":"3","label":"Languages"},{"value":"99.9%","label":"Uptime"}],"label":"Figures","description":"One entry per figure: value (number or short text) and label","synonyms":"stats, numbers, metrics, kpis, by the numbers","tier":"presentation","items":{"type":"object","properties":{"value":{"name":"value","type":"string","required":true},"label":{"name":"label","type":"string","required":true}}}},"edgeTop":{"type":"string","default":"none","label":"Top edge","description":"Shape cut into the top of the section; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"texture":{"type":"boolean","default":false,"label":"Texture","description":"Lay the theme's texture over the section","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"StatBandPage","id":"pag_84QRKWNWGGY888JJJN5P3NMY29","path":"/stat-band","traits":[{"ref":"StatBandRender","refId":"trt_AD60K85XXGYYRERRZY2CHD9GZ1"}]}],"types":{"StatBandItem":[{"name":"value","type":"string","required":true},{"name":"label","type":"string","required":true}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_KGSNB1KJ21S10YMD82WYZEGVRR":{"id":"ent_KGSNB1KJ21S10YMD82WYZEGVRR","kind":"entity","bakedName":"StatBandView","curName":"StatBandView","renames":[],"owner":"workspace"},"evt_H393QQRY0BF05Q04SFG0GSRZTD":{"id":"evt_H393QQRY0BF05Q04SFG0GSRZTD","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_AD60K85XXGYYRERRZY2CHD9GZ1"},"orb_ZWZPFXMKDD9PPMPNPZ9Y60Q7G7":{"id":"orb_ZWZPFXMKDD9PPMPNPZ9Y60Q7G7","kind":"orbital","bakedName":"StatBandOrbital","curName":"StatBandOrbital","renames":[],"owner":"workspace"},"pag_84QRKWNWGGY888JJJN5P3NMY29":{"id":"pag_84QRKWNWGGY888JJJN5P3NMY29","kind":"page","bakedName":"StatBandPage","curName":"StatBandPage","renames":[],"owner":"workspace"},"trt_AD60K85XXGYYRERRZY2CHD9GZ1":{"id":"trt_AD60K85XXGYYRERRZY2CHD9GZ1","kind":"trait","bakedName":"StatBandRender","curName":"StatBandRender","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-stat-band","version":"1.0.0","description":"std-stat-band — a band of headline figures from a config list: each item a big value (a number or short text such as '99.9%', '3x' or 'Open source') over a short label, centered in a row that wraps on small screens, under an optional heading. Display only — for figures computed from data use std-stats. Pick for 'by the numbers' strips on landing, about and product pages.","orbitals":[{"name":"StatBandOrbital","id":"orb_ZWZPFXMKDD9PPMPNPZ9Y60Q7G7","entity":{"name":"StatBandView","id":"ent_KGSNB1KJ21S10YMD82WYZEGVRR","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"name":"StatBandRender","id":"trt_AD60K85XXGYYRERRZY2CHD9GZ1","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"StatBandView","linkedEntityId":"ent_KGSNB1KJ21S10YMD82WYZEGVRR","entityRefIds":{"StatBandView":"ent_KGSNB1KJ21S10YMD82WYZEGVRR"},"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_H393QQRY0BF05Q04SFG0GSRZTD","name":"Initialize"}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_H393QQRY0BF05Q04SFG0GSRZTD","effects":[["render-ui","main",{"type":"box","paddingY":"xl","bg":["if",["==","@config.surface","muted"],"muted",["if",["==","@config.surface","accent"],"gradient",["if",["==","@config.surface","inverse"],"inverse","transparent"]]],"edgeTop":"@config.edgeTop","edgeBottom":"@config.edgeBottom","edgeColor":"@config.edgeColor","texture":"@config.texture","fullWidth":true,"children":[{"type":"container","size":"xl","maxWidth":"xl","padding":"lg","children":[{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"typography","content":"@config.heading","variant":"h3","weight":"bold","align":"center","className":["if",["==","@config.heading",""],"hidden","tracking-tight"]},{"type":"simple-grid","cols":["math/min",["math/max",["array/len","@config.items"],1],4],"gap":"lg","children":["array/map","@config.items",["fn","item",{"type":"stack","direction":"vertical","gap":"xs","align":"center","children":[{"type":"typography","content":["object/get","@item","value",""],"variant":"h2","weight":"bold","align":"center","className":"tracking-tight text-primary"},{"type":"typography","content":["object/get","@item","label",""],"variant":"body","color":"muted","align":"center"}]}]]}]}]}]}]]}]},"config":{"edgeBottom":{"type":"string","default":"none","label":"Bottom edge","description":"Shape cut into the bottom of the section; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"edgeTop":{"type":"string","default":"none","label":"Top edge","description":"Shape cut into the top of the section; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"edgeColor":{"type":"string","default":"background","label":"Edge fill","description":"The surface of the neighbouring section, which fills the cut","tier":"presentation","values":["background","muted","surface","gradient","inverse"]},"texture":{"type":"boolean","default":false,"label":"Texture","description":"Lay the theme's texture over the section","tier":"presentation"},"surface":{"type":"string","default":"plain","label":"Surface","tier":"presentation","values":["plain","muted","accent","inverse"]},"items":{"type":"[StatBandItem]","default":[{"value":"120+","label":"Building blocks"},{"value":"3","label":"Languages"},{"value":"99.9%","label":"Uptime"}],"label":"Figures","description":"One entry per figure: value (number or short text) and label","synonyms":"stats, numbers, metrics, kpis, by the numbers","tier":"presentation","items":{"type":"object","properties":{"value":{"name":"value","type":"string","required":true},"label":{"name":"label","type":"string","required":true}}}},"heading":{"type":"string","default":"","label":"Heading","description":"Heading above the figures; empty hides it","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"StatBandPage","id":"pag_84QRKWNWGGY888JJJN5P3NMY29","path":"/stat-band","traits":[{"ref":"StatBandRender","refId":"trt_AD60K85XXGYYRERRZY2CHD9GZ1"}]}],"types":{"StatBandItem":[{"name":"value","type":"string","required":true},{"name":"label","type":"string","required":true}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_KGSNB1KJ21S10YMD82WYZEGVRR":{"id":"ent_KGSNB1KJ21S10YMD82WYZEGVRR","kind":"entity","bakedName":"StatBandView","curName":"StatBandView","renames":[],"owner":"workspace"},"evt_H393QQRY0BF05Q04SFG0GSRZTD":{"id":"evt_H393QQRY0BF05Q04SFG0GSRZTD","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_AD60K85XXGYYRERRZY2CHD9GZ1"},"orb_ZWZPFXMKDD9PPMPNPZ9Y60Q7G7":{"id":"orb_ZWZPFXMKDD9PPMPNPZ9Y60Q7G7","kind":"orbital","bakedName":"StatBandOrbital","curName":"StatBandOrbital","renames":[],"owner":"workspace"},"pag_84QRKWNWGGY888JJJN5P3NMY29":{"id":"pag_84QRKWNWGGY888JJJN5P3NMY29","kind":"page","bakedName":"StatBandPage","curName":"StatBandPage","renames":[],"owner":"workspace"},"trt_AD60K85XXGYYRERRZY2CHD9GZ1":{"id":"trt_AD60K85XXGYYRERRZY2CHD9GZ1","kind":"trait","bakedName":"StatBandRender","curName":"StatBandRender","renames":[],"owner":"workspace"}}}}
@@ -1 +1 @@
1
- {"name":"std-stats","version":"3.2.0","description":"std-stats — embeddable analytics-card atom. ITEMS_LOADED aggregates @payload.data per @config.metrics (count|sum|avg|min|max|variance with optional filter, baselineFilter, format, icon, max, target, trend, trendPolarity, sparkline) and renders one stat-display per entry. Variance metrics compute actual - baseline using `filter` + `baselineFilter` lambdas and report the signed delta as trend. clickEvent emits UI:{clickEvent} { metricLabel } when a card is clicked. Drop into a dashboard alongside std-browse / std-search / std-filter. `config.statsLook` switches the whole body between the default per-metric card grid ('cards'), a Stripe-dashboard KPI tile row ('kpi-tiles'), a single hero metric card ('hero-metric'), and a chart-first sparkline tile grid ('sparkline-row').","orbitals":[{"name":"StatsItemOrbital","id":"orb_YV3K2F2QV0BXG6MJN689F3FD3T","entity":{"name":"StatsItem","id":"ent_ENMEZRC4RB2C5HNQAZG29WPC31","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"cards","type":"array","default":[],"items":{"type":"object","properties":{"value":{"name":"value","type":"number","required":false},"suffix":{"name":"suffix","type":"string","required":false},"variant":{"name":"variant","type":"string","required":false,"values":["default","primary","success","warning","error","info"]},"trendFormat":{"name":"trendFormat","type":"string","required":false,"values":["absolute","percent"]},"format":{"name":"format","type":"string","required":false,"values":["number","currency","percent"]},"max":{"name":"max","type":"number","required":false},"trendPolarity":{"name":"trendPolarity","type":"string","required":false,"values":["higher-is-better","lower-is-better"]},"target":{"name":"target","type":"number","required":false},"prefix":{"name":"prefix","type":"string","required":false},"sparklineData":{"name":"sparklineData","type":"array","required":false,"items":{"type":"number"}},"icon":{"name":"icon","type":"string","required":false},"trend":{"name":"trend","type":"number","required":false},"clickEvent":{"name":"clickEvent","type":"string","required":false},"label":{"name":"label","type":"string","required":true},"position":{"name":"position","type":"number","required":false}}},"intrinsic":true,"description":"A collection of statistical cards to display.","synonyms":"statistics, items, displays"}]},"traits":[{"name":"StatsItemStats","id":"trt_ZJ5A8RZ3WPHYBF8FCQ3Q46EDWJ","entityRebindable":true,"entityContract":{"requires":[],"provides":["cards"]},"effectRow":[{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.cards"}],"category":"interaction","linkedEntity":"StatsItem","linkedEntityId":"ent_ENMEZRC4RB2C5HNQAZG29WPC31","entityRefIds":{"StatsItem":"ent_ENMEZRC4RB2C5HNQAZG29WPC31"},"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_AK5C411DJKPS9G1WH0EMJ78Q7V","name":"Initialize"},{"key":"ITEMS_LOADED","id":"evt_E0DJXKK6Z8KFM763KX1BBVM1X6","name":"Items Loaded","description":"Data has been loaded and is ready for processing.","synonyms":"data ready, update, refresh, loaded","tier":"domain","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}]},{"name":"totalCount","type":"number"}],"listened":true}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_AK5C411DJKPS9G1WH0EMJ78Q7V","effects":[["set","@entity.cards",["array/map","@config.metrics",["fn","metric",{"clickEvent":["object/get","@metric","clickEvent",""],"format":["object/get","@metric","format","number"],"icon":["object/get","@metric","icon",""],"label":["object/get","@metric","label"],"position":"@index","max":["object/get","@metric","max",0],"prefix":["object/get","@metric","prefix",""],"sparklineData":["object/get","@metric","sparklineData",[]],"suffix":["object/get","@metric","suffix",""],"target":["object/get","@metric","target",0],"trend":["object/get","@metric","trend"],"trendFormat":["object/get","@metric","trendFormat","absolute"],"trendPolarity":["object/get","@metric","trendPolarity","higher-is-better"],"value":["object/get","@metric","value",0],"variant":["object/get","@metric","variant","default"]}]]],["if",["=","@config.statsLook","kpi-tiles"],["render-ui","main","@config.kpiTilesBodyContent"],["if",["=","@config.statsLook","hero-metric"],["render-ui","main","@config.heroMetricBodyContent"],["if",["=","@config.statsLook","sparkline-row"],["render-ui","main","@config.sparklineRowBodyContent"],["render-ui","main","@config.bodyContent"]]]]]},{"from":"idle","to":"idle","event":"ITEMS_LOADED","eventId":"evt_E0DJXKK6Z8KFM763KX1BBVM1X6","effects":[["set","@entity.cards",["array/map","@config.metrics",["fn","metric",{"clickEvent":["object/get","@metric","clickEvent",""],"format":["object/get","@metric","format","number"],"icon":["object/get","@metric","icon",""],"label":["object/get","@metric","label"],"position":"@index","max":["object/get","@metric","max",0],"prefix":["object/get","@metric","prefix",""],"sparklineData":["object/get","@metric","sparklineData",[]],"suffix":["object/get","@metric","suffix",""],"target":["object/get","@metric","target",0],"trend":["if",["=",["object/get","@metric","aggregation","count"],"variance"],["-",["array/sum",["array/filter","@payload.data",["object/get","@metric","filter",true]],["object/get","@metric","field",""]],["array/sum",["array/filter","@payload.data",["object/get","@metric","baselineFilter",true]],["object/get","@metric","field",""]]],["object/get","@metric","trend"]],"trendFormat":["object/get","@metric","trendFormat","absolute"],"trendPolarity":["object/get","@metric","trendPolarity","higher-is-better"],"value":["if",["=",["object/get","@metric","aggregation","count"],"sum"],["array/sum",["array/filter","@payload.data",["object/get","@metric","filter",true]],["object/get","@metric","field",""]],["if",["=",["object/get","@metric","aggregation","count"],"avg"],["array/avg",["array/filter","@payload.data",["object/get","@metric","filter",true]],["object/get","@metric","field",""]],["if",["=",["object/get","@metric","aggregation","count"],"min"],["array/min",["array/filter","@payload.data",["object/get","@metric","filter",true]],["object/get","@metric","field",""]],["if",["=",["object/get","@metric","aggregation","count"],"max"],["array/max",["array/filter","@payload.data",["object/get","@metric","filter",true]],["object/get","@metric","field",""]],["if",["=",["object/get","@metric","aggregation","count"],"variance"],["array/sum",["array/filter","@payload.data",["object/get","@metric","filter",true]],["object/get","@metric","field",""]],["array/len",["array/filter","@payload.data",["object/get","@metric","filter",true]]]]]]]],"variant":["object/get","@metric","variant","default"]}]]],["if",["=","@config.statsLook","kpi-tiles"],["render-ui","main","@config.kpiTilesBodyContent"],["if",["=","@config.statsLook","hero-metric"],["render-ui","main","@config.heroMetricBodyContent"],["if",["=","@config.statsLook","sparkline-row"],["render-ui","main","@config.sparklineRowBodyContent"],["render-ui","main","@config.bodyContent"]]]]]}]},"config":{"statsLook":{"type":"string","default":"cards","label":"Stats look","description":"Layer 3 body layout: default per-metric stat-card grid ('cards'), Stripe-dashboard KPI tile row ('kpi-tiles'), single oversize hero number ('hero-metric'), or chart-first sparkline tile grid ('sparkline-row').","tier":"presentation","values":["cards","kpi-tiles","hero-metric","sparkline-row"]},"viewPattern":{"type":"pattern","default":"data-grid","label":"Render pattern","description":"UI pattern used to arrange the stat cards","synonyms":"internal pattern selector. user prompts rarely target this directly","tier":"internal"},"metricLabels":{"type":"[string]","default":[],"label":"Metric labels","description":"In metric order: the label shown on each card, in place of its `metrics` label (render-only, so it may be translated)","tier":"presentation","items":{"type":"string"}},"metrics":{"type":"[MetricSpec]","default":[{"aggregation":"count","format":"number","icon":"list","label":"Total Items","sparklineData":[2,4,3,6,5,8,7],"variant":"primary"},{"aggregation":"count","format":"number","icon":"check-circle","label":"Active","sparklineData":[1,3,2,4,6,5,7],"variant":"success"},{"aggregation":"avg","field":"value","format":"number","icon":"trending-up","label":"Avg Value","sparklineData":[5,4,6,3,5,7,6],"variant":"info"}],"label":"Metrics","description":"One stat card per entry; declares aggregation, format, and styling","synonyms":"list of KPI cards / stat tiles / metric cards. each entry has label / value / format / icon / variant / aggregation. user phrases: 'replace metrics with X, Y, Z' -> rewrite array; 'add Revenue tile' -> append entry; 'change KPIs to X' -> rewrite array","tier":"presentation","items":{"type":"object","properties":{"target":{"name":"target","type":"number","required":false},"label":{"name":"label","type":"string","required":true},"max":{"name":"max","type":"number","required":false},"clickEvent":{"name":"clickEvent","type":"string","required":false},"icon":{"name":"icon","type":"string","required":false},"variant":{"name":"variant","type":"string","required":false,"values":["default","primary","success","warning","error","info"]},"suffix":{"name":"suffix","type":"string","required":false},"sparklineData":{"name":"sparklineData","type":"array","required":false,"items":{"type":"number"}},"trendPolarity":{"name":"trendPolarity","type":"string","required":false,"values":["higher-is-better","lower-is-better"]},"format":{"name":"format","type":"string","required":false,"values":["number","currency","percent"]},"prefix":{"name":"prefix","type":"string","required":false},"trend":{"name":"trend","type":"number","required":false},"aggregation":{"name":"aggregation","type":"string","required":false,"values":["count","sum","avg","min","max","variance"]},"trendFormat":{"name":"trendFormat","type":"string","required":false,"values":["absolute","percent"]},"field":{"name":"field","type":"string","required":false},"value":{"name":"value","type":"number","required":false}}}},"heroMetricBodyContent":{"type":"render-ui","default":{"data-theme":"@config.theme","type":"box","children":[["if",["!=","@config.title",""],{"content":"@config.title","type":"typography","variant":"h3"},{"children":[],"gap":"none","type":"stack"}],{"entity":"@entity.cards","fields":[],"gap":"none","renderItem":["fn","card",{"children":[{"children":[{"align":"center","children":[{"align":"center","children":[{"color":"muted","name":"@card.icon","size":"md","type":"icon"},{"className":"uppercase tracking-widest","color":"muted","content":["if",["=",["array/len","@config.metricLabels"],0],"@card.label",["array/nth","@config.metricLabels","@card.position"]],"type":"typography","variant":"overline","weight":"bold"}],"direction":"horizontal","gap":"sm","justify":"center","type":"stack"},{"align":"baseline","children":[{"color":"muted","content":"@card.prefix","type":"typography","variant":"h2","weight":"normal"},{"className":"text-7xl md:text-8xl font-bold tracking-tighter tabular-nums text-[var(--color-foreground)]","format":"@card.format","type":"animated-counter","value":"@card.value"},{"color":"muted","content":"@card.suffix","type":"typography","variant":"h2","weight":"normal"}],"className":"py-section","direction":"horizontal","gap":"xs","justify":"center","type":"stack"},{"showValue":true,"size":"md","type":"trend-indicator","value":"@card.trend"}],"className":"relative z-10 w-full max-w-2xl mx-auto text-center","direction":"vertical","gap":"md","type":"stack"},{"className":"absolute inset-x-0 bottom-0 w-full opacity-10 pointer-events-none","color":"auto","data":"@card.sparklineData","fill":true,"height":96,"strokeWidth":1,"type":"sparkline"}],"look":"elevated","padding":"lg","type":"card"}],"className":"relative w-full rounded-xl shadow-lg overflow-hidden","direction":"vertical","gap":"none","type":"stack"}],"type":"data-list"}]},"label":"Hero metric body content tree","description":"Render-ui SExpr for statsLook='hero-metric' — one elevated card, one oversize number, background sparkline.","tier":"internal"},"title":{"type":"string","default":"","label":"Section title","description":"Heading shown above the stat-card grid","synonyms":"the section header text. user phrases: 'rename section to X' / 'title the KPIs X' / 'change section title to X' -> X","tier":"presentation"},"kpiTilesBodyContent":{"type":"render-ui","default":{"data-theme":"@config.theme","type":"box","children":[["if",["!=","@config.title",""],{"content":"@config.title","type":"typography","variant":"h3"},{"children":[],"gap":"none","type":"stack"}],{"className":"w-full","entity":"@entity.cards","fields":[],"gap":"lg","minCardWidth":220,"renderItem":["fn","card",{"children":[{"align":"center","children":[{"className":"uppercase tracking-wide","color":"muted","content":["if",["=",["array/len","@config.metricLabels"],0],"@card.label",["array/nth","@config.metricLabels","@card.position"]],"type":"typography","variant":"caption","weight":"medium"},{"color":"muted","name":"@card.icon","size":"sm","type":"icon"}],"direction":"horizontal","gap":"xs","justify":"between","type":"stack"},{"align":"baseline","children":[{"color":"muted","content":"@card.prefix","type":"typography","variant":"caption"},{"className":"text-4xl font-bold tracking-tight","format":"@card.format","type":"animated-counter","value":"@card.value"},{"color":"muted","content":"@card.suffix","type":"typography","variant":"caption"}],"direction":"horizontal","gap":"xs","type":"stack"},{"align":"center","children":[{"showValue":true,"size":"sm","type":"trend-indicator","value":"@card.trend"},{"className":"flex-1","color":"auto","data":"@card.sparklineData","fill":true,"height":24,"type":"sparkline"}],"direction":"horizontal","gap":"sm","type":"stack"}],"className":"rounded-lg border border-[var(--color-border)] bg-[var(--color-surface)] p-card-lg shadow-elevation-sm hover:shadow-elevation-md transition-shadow","direction":"vertical","gap":"sm","type":"stack"}],"type":"data-grid"}]},"label":"KPI tiles body content tree","description":"Render-ui SExpr for statsLook='kpi-tiles' — Stripe-dashboard style tile grid: huge typography number, label, trend indicator, sparkline hint.","tier":"internal"},"theme":{"type":"string","default":"","label":"Theme","description":"Data-theme skin applied to the stat body root — for chrome-less pages composed without an AppShell.","tier":"presentation"},"bodyContent":{"type":"render-ui","default":{"data-theme":"@config.theme","type":"box","children":[["if",["!=","@config.title",""],{"content":"@config.title","type":"typography","variant":"h3"},{"children":[],"gap":"none","type":"stack"}],{"entity":"@entity.cards","fields":[],"renderItem":["fn","card",{"clickEvent":"@card.clickEvent","format":"@card.format","icon":"@card.icon","label":["if",["=",["array/len","@config.metricLabels"],0],"@card.label",["array/nth","@config.metricLabels","@card.position"]],"look":"@config.statLook","max":"@card.max","prefix":"@card.prefix","sparklineData":"@card.sparklineData","suffix":"@card.suffix","target":"@card.target","trend":"@card.trend","trendFormat":"@card.trendFormat","trendPolarity":"@card.trendPolarity","type":"stat-display","value":"@card.value","variant":"@card.variant"}],"type":"@config.viewPattern"}]},"label":"Body content tree","description":"Render-ui SExpr rendered after metrics aggregate for statsLook='cards' — the canonical data-grid call mapping @entity.cards through stat-display. Other statsLook values render kpiTilesBodyContent / heroMetricBodyContent / sparklineRowBodyContent instead; all four share this trait's state machine, aggregation pipeline, and listens.","tier":"internal"},"statLook":{"type":"string","default":"elevated","label":"Stat display look","description":"Layer 2 visual treatment for stat / KPI cards.","tier":"presentation","values":["elevated","flat","progress-backed","gauge","sparkline"]},"sparklineRowBodyContent":{"type":"render-ui","default":{"data-theme":"@config.theme","type":"box","children":[["if",["!=","@config.title",""],{"content":"@config.title","type":"typography","variant":"h3"},{"children":[],"gap":"none","type":"stack"}],{"className":"w-full","entity":"@entity.cards","fields":[],"gap":"md","minCardWidth":260,"renderItem":["fn","card",{"children":[{"align":"center","children":[{"color":"muted","name":"@card.icon","size":"xs","type":"icon"},{"className":"uppercase tracking-wide truncate","color":"muted","content":["if",["=",["array/len","@config.metricLabels"],0],"@card.label",["array/nth","@config.metricLabels","@card.position"]],"type":"typography","variant":"overline","weight":"semibold"}],"direction":"horizontal","gap":"xs","type":"stack"},{"className":"w-full","color":"auto","data":"@card.sparklineData","fill":true,"height":64,"strokeWidth":2,"type":"sparkline"},{"align":"baseline","children":[{"align":"baseline","children":[{"color":"muted","content":"@card.prefix","type":"typography","variant":"caption"},{"className":"text-2xl font-semibold tabular-nums","format":"@card.format","type":"animated-counter","value":"@card.value"},{"color":"muted","content":"@card.suffix","type":"typography","variant":"caption"}],"direction":"horizontal","gap":"xs","type":"stack"},{"showValue":true,"size":"sm","type":"trend-indicator","value":"@card.trend"}],"direction":"horizontal","gap":"sm","justify":"between","type":"stack"}],"className":"surface-content p-card-md hover:shadow-elevation-dialog transition-shadow min-h-[180px]","direction":"vertical","gap":"sm","type":"stack"}],"type":"data-grid"}]},"label":"Sparkline row body content tree","description":"Render-ui SExpr for statsLook='sparkline-row' — chart-first tiles where the mini trend line is the visual centerpiece, label above, value+delta footer.","tier":"internal"}},"scope":"instance"}],"pages":[{"name":"StatsItemStatsPage","id":"pag_D8NVY00X1WEGY4N9W1Z73SZBSK","path":"/statsitems","traits":[{"ref":"StatsItemStats","refId":"trt_ZJ5A8RZ3WPHYBF8FCQ3Q46EDWJ"}]}],"types":{"MetricSpec":[{"name":"label","type":"string","required":true},{"name":"value","type":"number"},{"name":"icon","type":"string"},{"name":"format","type":"string","values":["number","currency","percent"]},{"name":"variant","type":"string","values":["default","primary","success","warning","error","info"]},{"name":"prefix","type":"string"},{"name":"suffix","type":"string"},{"name":"max","type":"number"},{"name":"target","type":"number"},{"name":"trend","type":"number"},{"name":"trendPolarity","type":"string","values":["higher-is-better","lower-is-better"]},{"name":"trendFormat","type":"string","values":["absolute","percent"]},{"name":"sparklineData","type":"[number]"},{"name":"clickEvent","type":"string"},{"name":"aggregation","type":"string","values":["count","sum","avg","min","max","variance"]},{"name":"field","type":"string"}],"ObjectSpec":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}],"StatCard":[{"name":"label","type":"string","required":true},{"name":"position","type":"number"},{"name":"value","type":"number"},{"name":"icon","type":"string"},{"name":"format","type":"string","values":["number","currency","percent"]},{"name":"variant","type":"string","values":["default","primary","success","warning","error","info"]},{"name":"prefix","type":"string"},{"name":"suffix","type":"string"},{"name":"max","type":"number"},{"name":"target","type":"number"},{"name":"trend","type":"number"},{"name":"trendPolarity","type":"string","values":["higher-is-better","lower-is-better"]},{"name":"trendFormat","type":"string","values":["absolute","percent"]},{"name":"sparklineData","type":"[number]"},{"name":"clickEvent","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_ENMEZRC4RB2C5HNQAZG29WPC31":{"id":"ent_ENMEZRC4RB2C5HNQAZG29WPC31","kind":"entity","bakedName":"StatsItem","curName":"StatsItem","renames":[],"owner":"workspace"},"evt_AK5C411DJKPS9G1WH0EMJ78Q7V":{"id":"evt_AK5C411DJKPS9G1WH0EMJ78Q7V","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_ZJ5A8RZ3WPHYBF8FCQ3Q46EDWJ"},"evt_E0DJXKK6Z8KFM763KX1BBVM1X6":{"id":"evt_E0DJXKK6Z8KFM763KX1BBVM1X6","kind":"event","bakedName":"ITEMS_LOADED","curName":"ITEMS_LOADED","renames":[],"owner":"workspace","parent":"trt_ZJ5A8RZ3WPHYBF8FCQ3Q46EDWJ"},"orb_YV3K2F2QV0BXG6MJN689F3FD3T":{"id":"orb_YV3K2F2QV0BXG6MJN689F3FD3T","kind":"orbital","bakedName":"StatsItemOrbital","curName":"StatsItemOrbital","renames":[],"owner":"workspace"},"pag_D8NVY00X1WEGY4N9W1Z73SZBSK":{"id":"pag_D8NVY00X1WEGY4N9W1Z73SZBSK","kind":"page","bakedName":"StatsItemStatsPage","curName":"StatsItemStatsPage","renames":[],"owner":"workspace"},"trt_ZJ5A8RZ3WPHYBF8FCQ3Q46EDWJ":{"id":"trt_ZJ5A8RZ3WPHYBF8FCQ3Q46EDWJ","kind":"trait","bakedName":"StatsItemStats","curName":"StatsItemStats","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-stats","version":"3.2.0","description":"std-stats — embeddable analytics-card atom. ITEMS_LOADED aggregates @payload.data per @config.metrics (count|sum|avg|min|max|variance with optional filter, baselineFilter, format, icon, max, target, trend, trendPolarity, sparkline) and renders one stat-display per entry. Variance metrics compute actual - baseline using `filter` + `baselineFilter` lambdas and report the signed delta as trend. clickEvent emits UI:{clickEvent} { metricLabel } when a card is clicked. Drop into a dashboard alongside std-browse / std-search / std-filter. `config.statsLook` switches the whole body between the default per-metric card grid ('cards'), a Stripe-dashboard KPI tile row ('kpi-tiles'), a single hero metric card ('hero-metric'), and a chart-first sparkline tile grid ('sparkline-row').","orbitals":[{"name":"StatsItemOrbital","id":"orb_YV3K2F2QV0BXG6MJN689F3FD3T","entity":{"name":"StatsItem","id":"ent_ENMEZRC4RB2C5HNQAZG29WPC31","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"cards","type":"array","default":[],"items":{"type":"object","properties":{"clickEvent":{"name":"clickEvent","type":"string","required":false},"suffix":{"name":"suffix","type":"string","required":false},"value":{"name":"value","type":"number","required":false},"position":{"name":"position","type":"number","required":false},"prefix":{"name":"prefix","type":"string","required":false},"trend":{"name":"trend","type":"number","required":false},"sparklineData":{"name":"sparklineData","type":"array","required":false,"items":{"type":"number"}},"variant":{"name":"variant","type":"string","required":false,"values":["default","primary","success","warning","error","info"]},"max":{"name":"max","type":"number","required":false},"icon":{"name":"icon","type":"string","required":false},"trendPolarity":{"name":"trendPolarity","type":"string","required":false,"values":["higher-is-better","lower-is-better"]},"format":{"name":"format","type":"string","required":false,"values":["number","currency","percent"]},"label":{"name":"label","type":"string","required":true},"trendFormat":{"name":"trendFormat","type":"string","required":false,"values":["absolute","percent"]},"target":{"name":"target","type":"number","required":false}}},"intrinsic":true,"description":"A collection of statistical cards to display.","synonyms":"statistics, items, displays"}]},"traits":[{"name":"StatsItemStats","id":"trt_ZJ5A8RZ3WPHYBF8FCQ3Q46EDWJ","entityRebindable":true,"entityContract":{"requires":[],"provides":["cards"]},"effectRow":[{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.cards"}],"category":"interaction","linkedEntity":"StatsItem","linkedEntityId":"ent_ENMEZRC4RB2C5HNQAZG29WPC31","entityRefIds":{"StatsItem":"ent_ENMEZRC4RB2C5HNQAZG29WPC31"},"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_AK5C411DJKPS9G1WH0EMJ78Q7V","name":"Initialize"},{"key":"ITEMS_LOADED","id":"evt_E0DJXKK6Z8KFM763KX1BBVM1X6","name":"Items Loaded","description":"Data has been loaded and is ready for processing.","synonyms":"data ready, update, refresh, loaded","tier":"domain","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}]},{"name":"totalCount","type":"number"}],"listened":true}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_AK5C411DJKPS9G1WH0EMJ78Q7V","effects":[["set","@entity.cards",["array/map","@config.metrics",["fn","metric",{"clickEvent":["object/get","@metric","clickEvent",""],"format":["object/get","@metric","format","number"],"icon":["object/get","@metric","icon",""],"label":["object/get","@metric","label"],"position":"@index","max":["object/get","@metric","max",0],"prefix":["object/get","@metric","prefix",""],"sparklineData":["object/get","@metric","sparklineData",[]],"suffix":["object/get","@metric","suffix",""],"target":["object/get","@metric","target",0],"trend":["object/get","@metric","trend"],"trendFormat":["object/get","@metric","trendFormat","absolute"],"trendPolarity":["object/get","@metric","trendPolarity","higher-is-better"],"value":["object/get","@metric","value",0],"variant":["object/get","@metric","variant","default"]}]]],["if",["=","@config.statsLook","kpi-tiles"],["render-ui","main","@config.kpiTilesBodyContent"],["if",["=","@config.statsLook","hero-metric"],["render-ui","main","@config.heroMetricBodyContent"],["if",["=","@config.statsLook","sparkline-row"],["render-ui","main","@config.sparklineRowBodyContent"],["render-ui","main","@config.bodyContent"]]]]]},{"from":"idle","to":"idle","event":"ITEMS_LOADED","eventId":"evt_E0DJXKK6Z8KFM763KX1BBVM1X6","effects":[["set","@entity.cards",["array/map","@config.metrics",["fn","metric",{"clickEvent":["object/get","@metric","clickEvent",""],"format":["object/get","@metric","format","number"],"icon":["object/get","@metric","icon",""],"label":["object/get","@metric","label"],"position":"@index","max":["object/get","@metric","max",0],"prefix":["object/get","@metric","prefix",""],"sparklineData":["object/get","@metric","sparklineData",[]],"suffix":["object/get","@metric","suffix",""],"target":["object/get","@metric","target",0],"trend":["if",["=",["object/get","@metric","aggregation","count"],"variance"],["-",["array/sum",["array/filter","@payload.data",["object/get","@metric","filter",true]],["object/get","@metric","field",""]],["array/sum",["array/filter","@payload.data",["object/get","@metric","baselineFilter",true]],["object/get","@metric","field",""]]],["object/get","@metric","trend"]],"trendFormat":["object/get","@metric","trendFormat","absolute"],"trendPolarity":["object/get","@metric","trendPolarity","higher-is-better"],"value":["if",["=",["object/get","@metric","aggregation","count"],"sum"],["array/sum",["array/filter","@payload.data",["object/get","@metric","filter",true]],["object/get","@metric","field",""]],["if",["=",["object/get","@metric","aggregation","count"],"avg"],["array/avg",["array/filter","@payload.data",["object/get","@metric","filter",true]],["object/get","@metric","field",""]],["if",["=",["object/get","@metric","aggregation","count"],"min"],["array/min",["array/filter","@payload.data",["object/get","@metric","filter",true]],["object/get","@metric","field",""]],["if",["=",["object/get","@metric","aggregation","count"],"max"],["array/max",["array/filter","@payload.data",["object/get","@metric","filter",true]],["object/get","@metric","field",""]],["if",["=",["object/get","@metric","aggregation","count"],"variance"],["array/sum",["array/filter","@payload.data",["object/get","@metric","filter",true]],["object/get","@metric","field",""]],["array/len",["array/filter","@payload.data",["object/get","@metric","filter",true]]]]]]]],"variant":["object/get","@metric","variant","default"]}]]],["if",["=","@config.statsLook","kpi-tiles"],["render-ui","main","@config.kpiTilesBodyContent"],["if",["=","@config.statsLook","hero-metric"],["render-ui","main","@config.heroMetricBodyContent"],["if",["=","@config.statsLook","sparkline-row"],["render-ui","main","@config.sparklineRowBodyContent"],["render-ui","main","@config.bodyContent"]]]]]}]},"config":{"kpiTilesBodyContent":{"type":"render-ui","default":{"data-theme":"@config.theme","type":"box","children":[["if",["!=","@config.title",""],{"content":"@config.title","type":"typography","variant":"h3"},{"children":[],"gap":"none","type":"stack"}],{"className":"w-full","entity":"@entity.cards","fields":[],"gap":"lg","minCardWidth":220,"renderItem":["fn","card",{"children":[{"align":"center","children":[{"className":"uppercase tracking-wide","color":"muted","content":["if",["=",["array/len","@config.metricLabels"],0],"@card.label",["array/nth","@config.metricLabels","@card.position"]],"type":"typography","variant":"caption","weight":"medium"},{"color":"muted","name":"@card.icon","size":"sm","type":"icon"}],"direction":"horizontal","gap":"xs","justify":"between","type":"stack"},{"align":"baseline","children":[{"color":"muted","content":"@card.prefix","type":"typography","variant":"caption"},{"className":"text-4xl font-bold tracking-tight","format":"@card.format","type":"animated-counter","value":"@card.value"},{"color":"muted","content":"@card.suffix","type":"typography","variant":"caption"}],"direction":"horizontal","gap":"xs","type":"stack"},{"align":"center","children":[{"showValue":true,"size":"sm","type":"trend-indicator","value":"@card.trend"},{"className":"flex-1","color":"auto","data":"@card.sparklineData","fill":true,"height":24,"type":"sparkline"}],"direction":"horizontal","gap":"sm","type":"stack"}],"className":"rounded-lg border border-[var(--color-border)] bg-[var(--color-surface)] p-card-lg shadow-elevation-sm hover:shadow-elevation-md transition-shadow","direction":"vertical","gap":"sm","type":"stack"}],"type":"data-grid"}]},"label":"KPI tiles body content tree","description":"Render-ui SExpr for statsLook='kpi-tiles' — Stripe-dashboard style tile grid: huge typography number, label, trend indicator, sparkline hint.","tier":"internal"},"theme":{"type":"string","default":"","label":"Theme","description":"Data-theme skin applied to the stat body root — for chrome-less pages composed without an AppShell.","tier":"presentation"},"heroMetricBodyContent":{"type":"render-ui","default":{"data-theme":"@config.theme","type":"box","children":[["if",["!=","@config.title",""],{"content":"@config.title","type":"typography","variant":"h3"},{"children":[],"gap":"none","type":"stack"}],{"entity":"@entity.cards","fields":[],"gap":"none","renderItem":["fn","card",{"children":[{"children":[{"align":"center","children":[{"align":"center","children":[{"color":"muted","name":"@card.icon","size":"md","type":"icon"},{"className":"uppercase tracking-widest","color":"muted","content":["if",["=",["array/len","@config.metricLabels"],0],"@card.label",["array/nth","@config.metricLabels","@card.position"]],"type":"typography","variant":"overline","weight":"bold"}],"direction":"horizontal","gap":"sm","justify":"center","type":"stack"},{"align":"baseline","children":[{"color":"muted","content":"@card.prefix","type":"typography","variant":"h2","weight":"normal"},{"className":"text-7xl md:text-8xl font-bold tracking-tighter tabular-nums text-[var(--color-foreground)]","format":"@card.format","type":"animated-counter","value":"@card.value"},{"color":"muted","content":"@card.suffix","type":"typography","variant":"h2","weight":"normal"}],"className":"py-section","direction":"horizontal","gap":"xs","justify":"center","type":"stack"},{"showValue":true,"size":"md","type":"trend-indicator","value":"@card.trend"}],"className":"relative z-10 w-full max-w-2xl mx-auto text-center","direction":"vertical","gap":"md","type":"stack"},{"className":"absolute inset-x-0 bottom-0 w-full opacity-10 pointer-events-none","color":"auto","data":"@card.sparklineData","fill":true,"height":96,"strokeWidth":1,"type":"sparkline"}],"look":"elevated","padding":"lg","type":"card"}],"className":"relative w-full rounded-xl shadow-lg overflow-hidden","direction":"vertical","gap":"none","type":"stack"}],"type":"data-list"}]},"label":"Hero metric body content tree","description":"Render-ui SExpr for statsLook='hero-metric' — one elevated card, one oversize number, background sparkline.","tier":"internal"},"title":{"type":"string","default":"","label":"Section title","description":"Heading shown above the stat-card grid","synonyms":"the section header text. user phrases: 'rename section to X' / 'title the KPIs X' / 'change section title to X' -> X","tier":"presentation"},"bodyContent":{"type":"render-ui","default":{"data-theme":"@config.theme","type":"box","children":[["if",["!=","@config.title",""],{"content":"@config.title","type":"typography","variant":"h3"},{"children":[],"gap":"none","type":"stack"}],{"entity":"@entity.cards","fields":[],"renderItem":["fn","card",{"clickEvent":"@card.clickEvent","format":"@card.format","icon":"@card.icon","label":["if",["=",["array/len","@config.metricLabels"],0],"@card.label",["array/nth","@config.metricLabels","@card.position"]],"look":"@config.statLook","max":"@card.max","prefix":"@card.prefix","sparklineData":"@card.sparklineData","suffix":"@card.suffix","target":"@card.target","trend":"@card.trend","trendFormat":"@card.trendFormat","trendPolarity":"@card.trendPolarity","type":"stat-display","value":"@card.value","variant":"@card.variant"}],"type":"@config.viewPattern"}]},"label":"Body content tree","description":"Render-ui SExpr rendered after metrics aggregate for statsLook='cards' — the canonical data-grid call mapping @entity.cards through stat-display. Other statsLook values render kpiTilesBodyContent / heroMetricBodyContent / sparklineRowBodyContent instead; all four share this trait's state machine, aggregation pipeline, and listens.","tier":"internal"},"metrics":{"type":"[MetricSpec]","default":[{"aggregation":"count","format":"number","icon":"list","label":"Total Items","sparklineData":[2,4,3,6,5,8,7],"variant":"primary"},{"aggregation":"count","format":"number","icon":"check-circle","label":"Active","sparklineData":[1,3,2,4,6,5,7],"variant":"success"},{"aggregation":"avg","field":"value","format":"number","icon":"trending-up","label":"Avg Value","sparklineData":[5,4,6,3,5,7,6],"variant":"info"}],"label":"Metrics","description":"One stat card per entry; declares aggregation, format, and styling","synonyms":"list of KPI cards / stat tiles / metric cards. each entry has label / value / format / icon / variant / aggregation. user phrases: 'replace metrics with X, Y, Z' -> rewrite array; 'add Revenue tile' -> append entry; 'change KPIs to X' -> rewrite array","tier":"presentation","items":{"type":"object","properties":{"icon":{"name":"icon","type":"string","required":false},"label":{"name":"label","type":"string","required":true},"clickEvent":{"name":"clickEvent","type":"string","required":false},"target":{"name":"target","type":"number","required":false},"variant":{"name":"variant","type":"string","required":false,"values":["default","primary","success","warning","error","info"]},"aggregation":{"name":"aggregation","type":"string","required":false,"values":["count","sum","avg","min","max","variance"]},"suffix":{"name":"suffix","type":"string","required":false},"trend":{"name":"trend","type":"number","required":false},"max":{"name":"max","type":"number","required":false},"trendFormat":{"name":"trendFormat","type":"string","required":false,"values":["absolute","percent"]},"sparklineData":{"name":"sparklineData","type":"array","required":false,"items":{"type":"number"}},"trendPolarity":{"name":"trendPolarity","type":"string","required":false,"values":["higher-is-better","lower-is-better"]},"value":{"name":"value","type":"number","required":false},"field":{"name":"field","type":"string","required":false},"prefix":{"name":"prefix","type":"string","required":false},"format":{"name":"format","type":"string","required":false,"values":["number","currency","percent"]}}}},"metricLabels":{"type":"[string]","default":[],"label":"Metric labels","description":"In metric order: the label shown on each card, in place of its `metrics` label (render-only, so it may be translated)","tier":"presentation","items":{"type":"string"}},"statLook":{"type":"string","default":"elevated","label":"Stat display look","description":"Layer 2 visual treatment for stat / KPI cards.","tier":"presentation","values":["elevated","flat","progress-backed","gauge","sparkline"]},"sparklineRowBodyContent":{"type":"render-ui","default":{"data-theme":"@config.theme","type":"box","children":[["if",["!=","@config.title",""],{"content":"@config.title","type":"typography","variant":"h3"},{"children":[],"gap":"none","type":"stack"}],{"className":"w-full","entity":"@entity.cards","fields":[],"gap":"md","minCardWidth":260,"renderItem":["fn","card",{"children":[{"align":"center","children":[{"color":"muted","name":"@card.icon","size":"xs","type":"icon"},{"className":"uppercase tracking-wide truncate","color":"muted","content":["if",["=",["array/len","@config.metricLabels"],0],"@card.label",["array/nth","@config.metricLabels","@card.position"]],"type":"typography","variant":"overline","weight":"semibold"}],"direction":"horizontal","gap":"xs","type":"stack"},{"className":"w-full","color":"auto","data":"@card.sparklineData","fill":true,"height":64,"strokeWidth":2,"type":"sparkline"},{"align":"baseline","children":[{"align":"baseline","children":[{"color":"muted","content":"@card.prefix","type":"typography","variant":"caption"},{"className":"text-2xl font-semibold tabular-nums","format":"@card.format","type":"animated-counter","value":"@card.value"},{"color":"muted","content":"@card.suffix","type":"typography","variant":"caption"}],"direction":"horizontal","gap":"xs","type":"stack"},{"showValue":true,"size":"sm","type":"trend-indicator","value":"@card.trend"}],"direction":"horizontal","gap":"sm","justify":"between","type":"stack"}],"className":"surface-content p-card-md hover:shadow-elevation-dialog transition-shadow min-h-[180px]","direction":"vertical","gap":"sm","type":"stack"}],"type":"data-grid"}]},"label":"Sparkline row body content tree","description":"Render-ui SExpr for statsLook='sparkline-row' — chart-first tiles where the mini trend line is the visual centerpiece, label above, value+delta footer.","tier":"internal"},"viewPattern":{"type":"pattern","default":"data-grid","label":"Render pattern","description":"UI pattern used to arrange the stat cards","synonyms":"internal pattern selector. user prompts rarely target this directly","tier":"internal"},"statsLook":{"type":"string","default":"cards","label":"Stats look","description":"Layer 3 body layout: default per-metric stat-card grid ('cards'), Stripe-dashboard KPI tile row ('kpi-tiles'), single oversize hero number ('hero-metric'), or chart-first sparkline tile grid ('sparkline-row').","tier":"presentation","values":["cards","kpi-tiles","hero-metric","sparkline-row"]}},"scope":"instance"}],"pages":[{"name":"StatsItemStatsPage","id":"pag_D8NVY00X1WEGY4N9W1Z73SZBSK","path":"/statsitems","traits":[{"ref":"StatsItemStats","refId":"trt_ZJ5A8RZ3WPHYBF8FCQ3Q46EDWJ"}]}],"types":{"MetricSpec":[{"name":"label","type":"string","required":true},{"name":"value","type":"number"},{"name":"icon","type":"string"},{"name":"format","type":"string","values":["number","currency","percent"]},{"name":"variant","type":"string","values":["default","primary","success","warning","error","info"]},{"name":"prefix","type":"string"},{"name":"suffix","type":"string"},{"name":"max","type":"number"},{"name":"target","type":"number"},{"name":"trend","type":"number"},{"name":"trendPolarity","type":"string","values":["higher-is-better","lower-is-better"]},{"name":"trendFormat","type":"string","values":["absolute","percent"]},{"name":"sparklineData","type":"[number]"},{"name":"clickEvent","type":"string"},{"name":"aggregation","type":"string","values":["count","sum","avg","min","max","variance"]},{"name":"field","type":"string"}],"ObjectSpec":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}],"StatCard":[{"name":"label","type":"string","required":true},{"name":"position","type":"number"},{"name":"value","type":"number"},{"name":"icon","type":"string"},{"name":"format","type":"string","values":["number","currency","percent"]},{"name":"variant","type":"string","values":["default","primary","success","warning","error","info"]},{"name":"prefix","type":"string"},{"name":"suffix","type":"string"},{"name":"max","type":"number"},{"name":"target","type":"number"},{"name":"trend","type":"number"},{"name":"trendPolarity","type":"string","values":["higher-is-better","lower-is-better"]},{"name":"trendFormat","type":"string","values":["absolute","percent"]},{"name":"sparklineData","type":"[number]"},{"name":"clickEvent","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_ENMEZRC4RB2C5HNQAZG29WPC31":{"id":"ent_ENMEZRC4RB2C5HNQAZG29WPC31","kind":"entity","bakedName":"StatsItem","curName":"StatsItem","renames":[],"owner":"workspace"},"evt_AK5C411DJKPS9G1WH0EMJ78Q7V":{"id":"evt_AK5C411DJKPS9G1WH0EMJ78Q7V","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_ZJ5A8RZ3WPHYBF8FCQ3Q46EDWJ"},"evt_E0DJXKK6Z8KFM763KX1BBVM1X6":{"id":"evt_E0DJXKK6Z8KFM763KX1BBVM1X6","kind":"event","bakedName":"ITEMS_LOADED","curName":"ITEMS_LOADED","renames":[],"owner":"workspace","parent":"trt_ZJ5A8RZ3WPHYBF8FCQ3Q46EDWJ"},"orb_YV3K2F2QV0BXG6MJN689F3FD3T":{"id":"orb_YV3K2F2QV0BXG6MJN689F3FD3T","kind":"orbital","bakedName":"StatsItemOrbital","curName":"StatsItemOrbital","renames":[],"owner":"workspace"},"pag_D8NVY00X1WEGY4N9W1Z73SZBSK":{"id":"pag_D8NVY00X1WEGY4N9W1Z73SZBSK","kind":"page","bakedName":"StatsItemStatsPage","curName":"StatsItemStatsPage","renames":[],"owner":"workspace"},"trt_ZJ5A8RZ3WPHYBF8FCQ3Q46EDWJ":{"id":"trt_ZJ5A8RZ3WPHYBF8FCQ3Q46EDWJ","kind":"trait","bakedName":"StatsItemStats","curName":"StatsItemStats","renames":[],"owner":"workspace"}}}}
@@ -1 +1 @@
1
- {"name":"std-step-flow","version":"3.4.0","description":"std-step-flow — generic N-step sequential decision chain (Stripe Connect / TurboTax / Vercel deploy style). `config.steps` is an array of step definitions `{ key, label, description, icon, allowedRoles?: [string] }`; the trait projects the current step into a prominent body card and a `wizard-progress` stepper bar at the top. When a step declares `allowedRoles`, only users whose `@user.role` is in that list can advance through it. One primary button ADVANCEs along the chain; at the last step the same button finalizes (label/icon/variant swap via entity binding, state routed via guard). REJECT/ESCALATE terminate. Topology = loading / running / approved / rejected / escalated / error.","orbitals":[{"name":"StepFlowOrbital","id":"orb_PA6W1HQCZNPFTW5K99ANSJXKTP","entity":{"name":"StepFlowView","id":"ent_EC5VEQKW13Y0HTX3TXZAWTPKKC","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"wizardSteps","type":"array","default":[],"items":{"type":"object","properties":{"id":{"name":"id","type":"string","required":true},"isPending":{"name":"isPending","type":"boolean","required":false},"description":{"name":"description","type":"string","required":false},"icon":{"name":"icon","type":"string","required":false},"label":{"name":"label","type":"string","required":false},"badgeVariant":{"name":"badgeVariant","type":"string","required":false},"title":{"name":"title","type":"string","required":true},"indexLabel":{"name":"indexLabel","type":"string","required":false},"labelColor":{"name":"labelColor","type":"string","required":false},"key":{"name":"key","type":"string","required":false}}},"intrinsic":true},{"name":"currentStepIndex","type":"number","default":0},{"name":"totalSteps","type":"number","default":0,"intrinsic":true},{"name":"currentStepLabel","type":"string","default":"","intrinsic":true},{"name":"currentStepDescription","type":"string","default":"","intrinsic":true},{"name":"currentStepIcon","type":"string","default":"user","intrinsic":true},{"name":"isFirstStep","type":"boolean","default":true,"intrinsic":true},{"name":"isLastStep","type":"boolean","default":false,"intrinsic":true},{"name":"primaryActionLabel","type":"string","default":"Approve & Continue","intrinsic":true},{"name":"primaryActionVariant","type":"string","default":"primary","values":["primary","success"],"intrinsic":true},{"name":"primaryActionIcon","type":"string","default":"chevron-right","intrinsic":true},{"name":"finalStatus","type":"string","default":"","values":["approved","rejected","escalated",""]},{"name":"rejectionReason","type":"string","default":""},{"name":"errorMessage","type":"string","default":"","intrinsic":true}]},"traits":[{"name":"StepFlowReview","id":"trt_K578R9F0ABG55Y52TSNQR8R55T","entityRebindable":true,"entityContract":{"requires":[],"provides":["currentStepDescription","currentStepIcon","currentStepIndex","currentStepLabel","errorMessage","finalStatus","isFirstStep","isLastStep","primaryActionIcon","primaryActionLabel","primaryActionVariant","rejectionReason","totalSteps","wizardSteps"]},"effectRow":[{"kind":"fetch","resource":"StepFlowView"},{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.currentStepDescription"},{"kind":"set","resource":"@entity.currentStepIcon"},{"kind":"set","resource":"@entity.currentStepIndex"},{"kind":"set","resource":"@entity.currentStepLabel"},{"kind":"set","resource":"@entity.errorMessage"},{"kind":"set","resource":"@entity.finalStatus"},{"kind":"set","resource":"@entity.id"},{"kind":"set","resource":"@entity.isFirstStep"},{"kind":"set","resource":"@entity.isLastStep"},{"kind":"set","resource":"@entity.primaryActionIcon"},{"kind":"set","resource":"@entity.primaryActionLabel"},{"kind":"set","resource":"@entity.primaryActionVariant"},{"kind":"set","resource":"@entity.rejectionReason"},{"kind":"set","resource":"@entity.totalSteps"},{"kind":"set","resource":"@entity.wizardSteps"}],"category":"interaction","linkedEntity":"StepFlowView","linkedEntityId":"ent_EC5VEQKW13Y0HTX3TXZAWTPKKC","entityRefIds":{"StepFlowView":"ent_EC5VEQKW13Y0HTX3TXZAWTPKKC"},"emits":[{"event":"ADVANCE","eventId":"evt_FQTFWPQMZJTFS8WTNT91TCMMQF","description":"Signals progression to the next step in the sequence.","synonyms":"next, proceed, continue, move forward","tier":"domain","payloadSchema":[{"name":"id","type":"string"},{"name":"stepKey","type":"string"}]},{"event":"BACK","eventId":"evt_0FVFMF82DX16YPBT3PX16PD80E","description":"Indicates a request to navigate to the previous step.","synonyms":"previous, undo, return","tier":"domain","payloadSchema":[{"name":"id","type":"string"}]},{"event":"REJECT","eventId":"evt_5KS3V9VZ36ZHKB38K7983MJ34W","description":"Indicates the user or system rejected the current step.","synonyms":"cancel, decline, dismiss","tier":"domain","payloadSchema":[{"name":"id","type":"string"},{"name":"reason","type":"string"}]},{"event":"ESCALATE","eventId":"evt_STHBFKHJ22S112YPFMN0T79JCX","description":"Signals a request to elevate the process to a higher authority.","synonyms":"defer, transfer, handoff","tier":"presentation","payloadSchema":[{"name":"id","type":"string"},{"name":"reason","type":"string"}]},{"event":"RESTART","eventId":"evt_CH2R67A5692K4V0D11B50D5FFT","description":"Initiates a reset of the current workflow process.","synonyms":"reset, refresh, restart, reinitialize","tier":"internal","payloadSchema":[{"name":"id","type":"string"}]},{"event":"StepItemsLoaded","eventId":"evt_VJB19V2TNBDANP87ZYYBEJNQ6M","description":"Signals that the step items have been successfully loaded.","synonyms":"loaded, fetched, retrieved, populated","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}],"entity":"ObjectSpec"}]},{"event":"StepItemsLoadFailed","eventId":"evt_N367DBM0ZG0FREKCQ313PZ9D2H","description":"Indicates failure to load step configuration items.","synonyms":"load error, failed fetch, data problem","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"loading","isInitial":true},{"name":"running"},{"name":"approved"},{"name":"rejected"},{"name":"escalated"},{"name":"error"}],"events":[{"key":"INIT","id":"evt_WPAMMGA10H0G8XKRH4P65D42N8","name":"Initialize"},{"key":"StepItemsLoaded","id":"evt_VJB19V2TNBDANP87ZYYBEJNQ6M","name":"Step items loaded","description":"Signals that the step items have been successfully loaded.","synonyms":"loaded, fetched, retrieved, populated","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}]}],"listened":true},{"key":"StepItemsLoadFailed","id":"evt_N367DBM0ZG0FREKCQ313PZ9D2H","name":"Step items load failed","description":"Indicates failure to load step configuration items.","synonyms":"load error, failed fetch, data problem","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"StepItemsSaved","id":"evt_K5TEF7KBZRNZW38DMW8EM1QQ6D","name":"Step items saved","description":"Data for the current step has been successfully saved.","synonyms":"update, persist, store, commit","tier":"presentation","payloadSchema":[{"name":"row","type":"@entity"}],"listened":true},{"key":"StepItemsSaveFailed","id":"evt_RCPD80QKETSQD2CF0R8NNJWK2N","name":"Step items save failed","description":"Indicates a failure to save step item data.","synonyms":"save error, data failed, persistence error","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"ADVANCE","id":"evt_FQTFWPQMZJTFS8WTNT91TCMMQF","name":"Advance","description":"Signals progression to the next step in the sequence.","synonyms":"next, proceed, continue, move forward","tier":"domain","payloadSchema":[{"name":"id","type":"string"},{"name":"stepKey","type":"string"}],"listened":true},{"key":"BACK","id":"evt_0FVFMF82DX16YPBT3PX16PD80E","name":"Back","description":"Indicates a request to navigate to the previous step.","synonyms":"previous, undo, return","tier":"domain","payloadSchema":[{"name":"id","type":"string"}],"listened":true},{"key":"REJECT","id":"evt_5KS3V9VZ36ZHKB38K7983MJ34W","name":"Reject","description":"Indicates the user or system rejected the current step.","synonyms":"cancel, decline, dismiss","tier":"domain","payloadSchema":[{"name":"id","type":"string"},{"name":"reason","type":"string"}],"listened":true},{"key":"ESCALATE","id":"evt_STHBFKHJ22S112YPFMN0T79JCX","name":"Escalate","description":"Signals a request to elevate the process to a higher authority.","synonyms":"defer, transfer, handoff","tier":"presentation","payloadSchema":[{"name":"id","type":"string"},{"name":"reason","type":"string"}],"listened":true},{"key":"RESTART","id":"evt_CH2R67A5692K4V0D11B50D5FFT","name":"Restart","description":"Initiates a reset of the current workflow process.","synonyms":"reset, refresh, restart, reinitialize","tier":"internal","payloadSchema":[{"name":"id","type":"string"}],"listened":true}],"transitions":[{"from":"loading","to":"loading","event":"INIT","eventId":"evt_WPAMMGA10H0G8XKRH4P65D42N8","effects":[["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"card"}]]},{"from":"loading","to":"running","event":"StepItemsLoaded","eventId":"evt_VJB19V2TNBDANP87ZYYBEJNQ6M","effects":[["set","@entity.id",["object/get",["array/nth","@payload.data",0],"id"]],["set","@entity.currentStepIndex",0],["set","@entity.totalSteps",["array/len","@config.steps"]],["set","@entity.wizardSteps",["array/map","@config.steps",["fn","step",{"badgeVariant":["if",["<","@index","@entity.currentStepIndex"],"success",["if",["=","@index","@entity.currentStepIndex"],"primary","neutral"]],"description":["object/get","@step","description",""],"icon":["object/get","@step","icon","circle"],"id":["object/get","@step","key"],"indexLabel":["str/concat","",["+","@index",1]],"isPending":[">","@index","@entity.currentStepIndex"],"key":["object/get","@step","key"],"label":["object/get","@step","label"],"labelColor":["if",["=","@index","@entity.currentStepIndex"],"default","muted"],"title":["object/get","@step","label"]}]]],["set","@entity.currentStepLabel",["object/get",["array/nth","@config.steps",0],"label"]],["set","@entity.currentStepDescription",["object/get",["array/nth","@config.steps",0],"description",""]],["set","@entity.currentStepIcon",["object/get",["array/nth","@config.steps",0],"icon","user"]],["set","@entity.isFirstStep",true],["set","@entity.isLastStep",["=",["array/len","@config.steps"],1]],["set","@entity.primaryActionLabel",["if",["=",["array/len","@config.steps"],1],"Finalize Approval","Approve & Continue"]],["set","@entity.primaryActionVariant",["if",["=",["array/len","@config.steps"],1],"success","primary"]],["set","@entity.primaryActionIcon",["if",["=",["array/len","@config.steps"],1],"check-circle","chevron-right"]],["render-ui","main","@config.bodyContent"]]},{"from":"loading","to":"error","event":"StepItemsLoadFailed","eventId":"evt_N367DBM0ZG0FREKCQ313PZ9D2H","effects":[["set","@entity.errorMessage","@payload.error"],["render-ui","main",{"message":"@entity.errorMessage","title":"Failed to load","type":"error-state"}]]},{"from":"loading","to":"running","event":"StepItemsSaved","eventId":"evt_K5TEF7KBZRNZW38DMW8EM1QQ6D","effects":[["render-ui","main","@config.bodyContent"]]},{"from":"loading","to":"error","event":"StepItemsSaveFailed","eventId":"evt_RCPD80QKETSQD2CF0R8NNJWK2N","effects":[["set","@entity.errorMessage","@payload.error"],["render-ui","main",{"message":"@entity.errorMessage","title":"Save failed","type":"error-state"}]]},{"from":"running","to":"loading","event":"INIT","eventId":"evt_WPAMMGA10H0G8XKRH4P65D42N8","effects":[["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}]]},{"from":"running","to":"running","event":"ADVANCE","eventId":"evt_FQTFWPQMZJTFS8WTNT91TCMMQF","guard":["and",["not","@entity.isLastStep"],["or",["not",["object/has",["array/nth","@config.steps","@entity.currentStepIndex"],"allowedRoles"]],["array/includes",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"allowedRoles",[]],"@user.role"]]],"effects":[["set","@entity.currentStepIndex",["+","@entity.currentStepIndex",1]],["set","@entity.currentStepLabel",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"label"]],["set","@entity.currentStepDescription",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"description",""]],["set","@entity.currentStepIcon",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"icon","user"]],["set","@entity.isFirstStep",["=","@entity.currentStepIndex",0]],["set","@entity.isLastStep",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]]],["set","@entity.primaryActionLabel",["if",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]],"Finalize Approval","Approve & Continue"]],["set","@entity.primaryActionVariant",["if",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]],"success","primary"]],["set","@entity.primaryActionIcon",["if",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]],"check-circle","chevron-right"]],["set","@entity.wizardSteps",["array/map","@config.steps",["fn","step",{"badgeVariant":["if",["<","@index","@entity.currentStepIndex"],"success",["if",["=","@index","@entity.currentStepIndex"],"primary","neutral"]],"description":["object/get","@step","description",""],"icon":["object/get","@step","icon","circle"],"id":["object/get","@step","key"],"indexLabel":["str/concat","",["+","@index",1]],"isPending":[">","@index","@entity.currentStepIndex"],"key":["object/get","@step","key"],"label":["object/get","@step","label"],"labelColor":["if",["=","@index","@entity.currentStepIndex"],"default","muted"],"title":["object/get","@step","label"]}]]],["render-ui","main","@config.bodyContent"]]},{"from":"running","to":"approved","event":"ADVANCE","eventId":"evt_FQTFWPQMZJTFS8WTNT91TCMMQF","guard":["and","@entity.isLastStep",["or",["not",["object/has",["array/nth","@config.steps","@entity.currentStepIndex"],"allowedRoles"]],["array/includes",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"allowedRoles",[]],"@user.role"]]],"effects":[["set","@entity.finalStatus","approved"],["render-ui","main",{"align":"center","children":[{"name":"check-circle","size":"xl","type":"icon"},{"align":"center","content":"Approved","type":"typography","variant":"h2"},{"align":"center","color":"muted","content":"@config.completedText","type":"typography","variant":"body"},{"allowNavigation":false,"currentStep":"@entity.totalSteps","steps":["if",["=",["array/len","@config.stepLabels"],0],"@entity.wizardSteps",["array/map","@entity.wizardSteps",["fn","step",{"id":["object/get","@step","id",""],"title":["array/nth","@config.stepLabels","@index"],"description":["if",["=",["array/len","@config.stepDescriptions"],0],["object/get","@step","description",""],["array/nth","@config.stepDescriptions","@index"]]}]]],"type":"wizard-progress"},{"action":"RESTART","actionPayload":{"id":"@entity.id"},"icon":"rotate-ccw","label":"@config.restartLabel","type":"button","variant":"secondary"}],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"running","to":"running","event":"BACK","eventId":"evt_0FVFMF82DX16YPBT3PX16PD80E","effects":[["set","@entity.currentStepIndex",["-","@entity.currentStepIndex",1]],["set","@entity.currentStepLabel",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"label"]],["set","@entity.currentStepDescription",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"description",""]],["set","@entity.currentStepIcon",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"icon","user"]],["set","@entity.isFirstStep",["=","@entity.currentStepIndex",0]],["set","@entity.isLastStep",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]]],["set","@entity.primaryActionLabel",["if",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]],"Finalize Approval","Approve & Continue"]],["set","@entity.primaryActionVariant",["if",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]],"success","primary"]],["set","@entity.primaryActionIcon",["if",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]],"check-circle","chevron-right"]],["set","@entity.wizardSteps",["array/map","@config.steps",["fn","step",{"badgeVariant":["if",["<","@index","@entity.currentStepIndex"],"success",["if",["=","@index","@entity.currentStepIndex"],"primary","neutral"]],"description":["object/get","@step","description",""],"icon":["object/get","@step","icon","circle"],"id":["object/get","@step","key"],"indexLabel":["str/concat","",["+","@index",1]],"isPending":[">","@index","@entity.currentStepIndex"],"key":["object/get","@step","key"],"label":["object/get","@step","label"],"labelColor":["if",["=","@index","@entity.currentStepIndex"],"default","muted"],"title":["object/get","@step","label"]}]]],["render-ui","main","@config.bodyContent"]]},{"from":"running","to":"rejected","event":"REJECT","eventId":"evt_5KS3V9VZ36ZHKB38K7983MJ34W","effects":[["set","@entity.finalStatus","rejected"],["set","@entity.rejectionReason","@payload.reason"],["render-ui","main",{"align":"center","children":[{"name":"x-circle","size":"xl","type":"icon"},{"align":"center","content":"Rejected","type":"typography","variant":"h2"},{"children":[{"children":[{"color":"muted","content":"Reason","type":"typography","variant":"caption"},{"content":"@entity.rejectionReason","type":"typography","variant":"body"}],"direction":"vertical","gap":"sm","type":"stack"}],"look":"@config.cardLook","type":"card"},{"action":"RESTART","actionPayload":{"id":"@entity.id"},"icon":"rotate-ccw","label":"@config.restartLabel","type":"button","variant":"secondary"}],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"running","to":"escalated","event":"ESCALATE","eventId":"evt_STHBFKHJ22S112YPFMN0T79JCX","effects":[["set","@entity.finalStatus","escalated"],["render-ui","main",{"align":"center","children":[{"name":"alert-triangle","size":"xl","type":"icon"},{"align":"center","content":"Escalated","type":"typography","variant":"h2"},{"align":"center","color":"muted","content":"@config.escalatedText","type":"typography","variant":"body"},{"action":"RESTART","actionPayload":{"id":"@entity.id"},"icon":"rotate-ccw","label":"@config.restartLabel","type":"button","variant":"secondary"}],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"approved","to":"loading","event":"INIT","eventId":"evt_WPAMMGA10H0G8XKRH4P65D42N8","effects":[["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"card"}]]},{"from":"approved","to":"loading","event":"RESTART","eventId":"evt_CH2R67A5692K4V0D11B50D5FFT","effects":[["set","@entity.finalStatus",""],["set","@entity.currentStepIndex",0],["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"card"}]]},{"from":"rejected","to":"loading","event":"INIT","eventId":"evt_WPAMMGA10H0G8XKRH4P65D42N8","effects":[["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"card"}]]},{"from":"rejected","to":"loading","event":"RESTART","eventId":"evt_CH2R67A5692K4V0D11B50D5FFT","effects":[["set","@entity.finalStatus",""],["set","@entity.currentStepIndex",0],["set","@entity.rejectionReason",""],["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"card"}]]},{"from":"escalated","to":"loading","event":"INIT","eventId":"evt_WPAMMGA10H0G8XKRH4P65D42N8","effects":[["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"card"}]]},{"from":"escalated","to":"loading","event":"RESTART","eventId":"evt_CH2R67A5692K4V0D11B50D5FFT","effects":[["set","@entity.finalStatus",""],["set","@entity.currentStepIndex",0],["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"card"}]]},{"from":"error","to":"loading","event":"INIT","eventId":"evt_WPAMMGA10H0G8XKRH4P65D42N8","effects":[["render-ui","main",{"title":"Retrying…","type":"loading-state"}]]}]},"config":{"title":{"type":"string","default":"Review","label":"Flow title","description":"Heading shown above the step progress bar","tier":"presentation"},"backLabel":{"type":"string","default":"Back","label":"Back label","tier":"presentation"},"continueLabel":{"type":"string","default":"Approve & Continue","label":"Continue label","tier":"presentation"},"finishLabel":{"type":"string","default":"Finalize Approval","label":"Finish label","description":"The primary button on the last step","tier":"presentation"},"cardLook":{"type":"string","default":"elevated","label":"Card look","description":"Layer 2 visual treatment for cards rendered by this atom.","tier":"presentation","values":["elevated","flat-bordered","borderless-divider","ticket","invoice","chip","tile-image-first"]},"restartLabel":{"type":"string","default":"Start a new review","label":"Restart label","tier":"presentation"},"bodyContent":{"type":"render-ui","default":{"children":[{"align":"center","children":[{"name":"shield-check","size":"lg","type":"icon"},{"content":"@config.title","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"allowNavigation":false,"currentStep":"@entity.currentStepIndex","steps":["if",["=",["array/len","@config.stepLabels"],0],"@entity.wizardSteps",["array/map","@entity.wizardSteps",["fn","step",{"id":["object/get","@step","id",""],"title":["array/nth","@config.stepLabels","@index"],"description":["if",["=",["array/len","@config.stepDescriptions"],0],["object/get","@step","description",""],["array/nth","@config.stepDescriptions","@index"]]}]]],"type":"wizard-progress"},{"children":[{"children":[{"align":"center","children":[{"name":"@entity.currentStepIcon","size":"xl","type":"icon"},{"children":[{"content":["if",["=",["array/len","@config.stepLabels"],0],"@entity.currentStepLabel",["array/nth","@config.stepLabels","@entity.currentStepIndex"]],"type":"typography","variant":"h2"},{"color":"muted","content":["if",["=",["array/len","@config.stepDescriptions"],0],"@entity.currentStepDescription",["array/nth","@config.stepDescriptions","@entity.currentStepIndex"]],"type":"typography","variant":"body"}],"direction":"vertical","gap":"xs","type":"stack"}],"direction":"horizontal","gap":"sm","type":"stack"}],"direction":"vertical","gap":"md","type":"stack"}],"look":"@config.cardLook","type":"card"},{"align":"center","children":[{"action":"BACK","actionPayload":{"id":"@entity.id"},"disabled":"@entity.isFirstStep","icon":"chevron-left","label":"@config.backLabel","type":"button","variant":"ghost"},{"action":"REJECT","actionPayload":{"id":"@entity.id"},"icon":"x","label":"@config.rejectLabel","type":"button","variant":"ghost"},{"action":"ESCALATE","actionPayload":{"id":"@entity.id"},"icon":"alert-triangle","label":"@config.escalateLabel","type":"button","variant":"ghost"},{"action":"ADVANCE","actionPayload":{"id":"@entity.id"},"icon":"@entity.primaryActionIcon","label":["if",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]],"@config.finishLabel","@config.continueLabel"],"type":"button","variant":"primary"}],"direction":"horizontal","wrap":true,"gap":"sm","type":"stack"}],"direction":"vertical","gap":"lg","type":"stack"},"label":"Body content tree","description":"Render-ui SExpr rendered while the step chain is active (loading-success, running, BACK). Default is the canonical wizard-progress + step-card + action-row tree. Layer 3 variants override this with their own tree (horizontal stepper, sidebar progress, card carousel, etc.) to deliver entirely different step UX while inheriting the same trait, state machine, emits, and listens.","tier":"internal"},"stepDescriptions":{"type":"[string]","default":[],"label":"Step descriptions","description":"In step order: the description shown for each step, in place of its `steps` description (render-only, so it may be translated)","tier":"presentation","items":{"type":"string"}},"steps":{"type":"[StepSpec]","default":[{"description":"Initial review by direct manager","icon":"user","key":"manager","label":"Manager Review"},{"description":"Department director sign-off","icon":"users","key":"director","label":"Director Approval"},{"description":"Final executive approval","icon":"shield","key":"executive","label":"Executive Sign-off"}],"label":"Steps","description":"Ordered decision steps with label, icon, and optional role gates","tier":"domain","items":{"type":"object","properties":{"label":{"name":"label","type":"string","required":true},"icon":{"name":"icon","type":"string","required":false},"description":{"name":"description","type":"string","required":false},"key":{"name":"key","type":"string","required":false},"allowedRoles":{"name":"allowedRoles","type":"array","required":false,"items":{"type":"string"}}}}},"rejectLabel":{"type":"string","default":"Reject","label":"Reject label","tier":"presentation"},"stepLabels":{"type":"[string]","default":[],"label":"Step labels","description":"In step order: the label shown for each step, in place of its `steps` label (render-only, so it may be translated)","tier":"presentation","items":{"type":"string"}},"completedText":{"type":"string","default":"All review steps completed successfully.","label":"Completed text","tier":"presentation"},"escalateLabel":{"type":"string","default":"Escalate","label":"Escalate label","tier":"presentation"},"escalatedText":{"type":"string","default":"This item has been escalated for further review.","label":"Escalated text","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"StepFlowPage","id":"pag_1104H9H6EHK78VFYC7XE7ZCGMB","path":"/step-flow","traits":[{"ref":"StepFlowReview","refId":"trt_K578R9F0ABG55Y52TSNQR8R55T"}]}],"types":{"ObjectSpec":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}],"StepSpec":[{"name":"label","type":"string","required":true},{"name":"key","type":"string"},{"name":"icon","type":"string"},{"name":"description","type":"string"},{"name":"allowedRoles","type":"[string]"}],"WizardStep":[{"name":"id","type":"string","required":true},{"name":"key","type":"string"},{"name":"title","type":"string","required":true},{"name":"label","type":"string"},{"name":"description","type":"string"},{"name":"icon","type":"string"},{"name":"indexLabel","type":"string"},{"name":"isPending","type":"boolean"},{"name":"badgeVariant","type":"string"},{"name":"labelColor","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_EC5VEQKW13Y0HTX3TXZAWTPKKC":{"id":"ent_EC5VEQKW13Y0HTX3TXZAWTPKKC","kind":"entity","bakedName":"StepFlowView","curName":"StepFlowView","renames":[],"owner":"workspace"},"evt_0FVFMF82DX16YPBT3PX16PD80E":{"id":"evt_0FVFMF82DX16YPBT3PX16PD80E","kind":"event","bakedName":"BACK","curName":"BACK","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_5KS3V9VZ36ZHKB38K7983MJ34W":{"id":"evt_5KS3V9VZ36ZHKB38K7983MJ34W","kind":"event","bakedName":"REJECT","curName":"REJECT","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_CH2R67A5692K4V0D11B50D5FFT":{"id":"evt_CH2R67A5692K4V0D11B50D5FFT","kind":"event","bakedName":"RESTART","curName":"RESTART","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_FQTFWPQMZJTFS8WTNT91TCMMQF":{"id":"evt_FQTFWPQMZJTFS8WTNT91TCMMQF","kind":"event","bakedName":"ADVANCE","curName":"ADVANCE","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_K5TEF7KBZRNZW38DMW8EM1QQ6D":{"id":"evt_K5TEF7KBZRNZW38DMW8EM1QQ6D","kind":"event","bakedName":"StepItemsSaved","curName":"StepItemsSaved","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_N367DBM0ZG0FREKCQ313PZ9D2H":{"id":"evt_N367DBM0ZG0FREKCQ313PZ9D2H","kind":"event","bakedName":"StepItemsLoadFailed","curName":"StepItemsLoadFailed","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_RCPD80QKETSQD2CF0R8NNJWK2N":{"id":"evt_RCPD80QKETSQD2CF0R8NNJWK2N","kind":"event","bakedName":"StepItemsSaveFailed","curName":"StepItemsSaveFailed","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_STHBFKHJ22S112YPFMN0T79JCX":{"id":"evt_STHBFKHJ22S112YPFMN0T79JCX","kind":"event","bakedName":"ESCALATE","curName":"ESCALATE","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_VJB19V2TNBDANP87ZYYBEJNQ6M":{"id":"evt_VJB19V2TNBDANP87ZYYBEJNQ6M","kind":"event","bakedName":"StepItemsLoaded","curName":"StepItemsLoaded","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_WPAMMGA10H0G8XKRH4P65D42N8":{"id":"evt_WPAMMGA10H0G8XKRH4P65D42N8","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"orb_PA6W1HQCZNPFTW5K99ANSJXKTP":{"id":"orb_PA6W1HQCZNPFTW5K99ANSJXKTP","kind":"orbital","bakedName":"StepFlowOrbital","curName":"StepFlowOrbital","renames":[],"owner":"workspace"},"pag_1104H9H6EHK78VFYC7XE7ZCGMB":{"id":"pag_1104H9H6EHK78VFYC7XE7ZCGMB","kind":"page","bakedName":"StepFlowPage","curName":"StepFlowPage","renames":[],"owner":"workspace"},"trt_K578R9F0ABG55Y52TSNQR8R55T":{"id":"trt_K578R9F0ABG55Y52TSNQR8R55T","kind":"trait","bakedName":"StepFlowReview","curName":"StepFlowReview","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-step-flow","version":"3.4.0","description":"std-step-flow — generic N-step sequential decision chain (Stripe Connect / TurboTax / Vercel deploy style). `config.steps` is an array of step definitions `{ key, label, description, icon, allowedRoles?: [string] }`; the trait projects the current step into a prominent body card and a `wizard-progress` stepper bar at the top. When a step declares `allowedRoles`, only users whose `@user.role` is in that list can advance through it. One primary button ADVANCEs along the chain; at the last step the same button finalizes (label/icon/variant swap via entity binding, state routed via guard). REJECT/ESCALATE terminate. Topology = loading / running / approved / rejected / escalated / error.","orbitals":[{"name":"StepFlowOrbital","id":"orb_PA6W1HQCZNPFTW5K99ANSJXKTP","entity":{"name":"StepFlowView","id":"ent_EC5VEQKW13Y0HTX3TXZAWTPKKC","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"wizardSteps","type":"array","default":[],"items":{"type":"object","properties":{"id":{"name":"id","type":"string","required":true},"title":{"name":"title","type":"string","required":true},"key":{"name":"key","type":"string","required":false},"labelColor":{"name":"labelColor","type":"string","required":false},"label":{"name":"label","type":"string","required":false},"isPending":{"name":"isPending","type":"boolean","required":false},"badgeVariant":{"name":"badgeVariant","type":"string","required":false},"description":{"name":"description","type":"string","required":false},"indexLabel":{"name":"indexLabel","type":"string","required":false},"icon":{"name":"icon","type":"string","required":false}}},"intrinsic":true},{"name":"currentStepIndex","type":"number","default":0},{"name":"totalSteps","type":"number","default":0,"intrinsic":true},{"name":"currentStepLabel","type":"string","default":"","intrinsic":true},{"name":"currentStepDescription","type":"string","default":"","intrinsic":true},{"name":"currentStepIcon","type":"string","default":"user","intrinsic":true},{"name":"isFirstStep","type":"boolean","default":true,"intrinsic":true},{"name":"isLastStep","type":"boolean","default":false,"intrinsic":true},{"name":"primaryActionLabel","type":"string","default":"Approve & Continue","intrinsic":true},{"name":"primaryActionVariant","type":"string","default":"primary","values":["primary","success"],"intrinsic":true},{"name":"primaryActionIcon","type":"string","default":"chevron-right","intrinsic":true},{"name":"finalStatus","type":"string","default":"","values":["approved","rejected","escalated",""]},{"name":"rejectionReason","type":"string","default":""},{"name":"errorMessage","type":"string","default":"","intrinsic":true}]},"traits":[{"name":"StepFlowReview","id":"trt_K578R9F0ABG55Y52TSNQR8R55T","entityRebindable":true,"entityContract":{"requires":[],"provides":["currentStepDescription","currentStepIcon","currentStepIndex","currentStepLabel","errorMessage","finalStatus","isFirstStep","isLastStep","primaryActionIcon","primaryActionLabel","primaryActionVariant","rejectionReason","totalSteps","wizardSteps"]},"effectRow":[{"kind":"fetch","resource":"StepFlowView"},{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.currentStepDescription"},{"kind":"set","resource":"@entity.currentStepIcon"},{"kind":"set","resource":"@entity.currentStepIndex"},{"kind":"set","resource":"@entity.currentStepLabel"},{"kind":"set","resource":"@entity.errorMessage"},{"kind":"set","resource":"@entity.finalStatus"},{"kind":"set","resource":"@entity.id"},{"kind":"set","resource":"@entity.isFirstStep"},{"kind":"set","resource":"@entity.isLastStep"},{"kind":"set","resource":"@entity.primaryActionIcon"},{"kind":"set","resource":"@entity.primaryActionLabel"},{"kind":"set","resource":"@entity.primaryActionVariant"},{"kind":"set","resource":"@entity.rejectionReason"},{"kind":"set","resource":"@entity.totalSteps"},{"kind":"set","resource":"@entity.wizardSteps"}],"category":"interaction","linkedEntity":"StepFlowView","linkedEntityId":"ent_EC5VEQKW13Y0HTX3TXZAWTPKKC","entityRefIds":{"StepFlowView":"ent_EC5VEQKW13Y0HTX3TXZAWTPKKC"},"emits":[{"event":"ADVANCE","eventId":"evt_FQTFWPQMZJTFS8WTNT91TCMMQF","description":"Signals progression to the next step in the sequence.","synonyms":"next, proceed, continue, move forward","tier":"domain","payloadSchema":[{"name":"id","type":"string"},{"name":"stepKey","type":"string"}]},{"event":"BACK","eventId":"evt_0FVFMF82DX16YPBT3PX16PD80E","description":"Indicates a request to navigate to the previous step.","synonyms":"previous, undo, return","tier":"domain","payloadSchema":[{"name":"id","type":"string"}]},{"event":"REJECT","eventId":"evt_5KS3V9VZ36ZHKB38K7983MJ34W","description":"Indicates the user or system rejected the current step.","synonyms":"cancel, decline, dismiss","tier":"domain","payloadSchema":[{"name":"id","type":"string"},{"name":"reason","type":"string"}]},{"event":"ESCALATE","eventId":"evt_STHBFKHJ22S112YPFMN0T79JCX","description":"Signals a request to elevate the process to a higher authority.","synonyms":"defer, transfer, handoff","tier":"presentation","payloadSchema":[{"name":"id","type":"string"},{"name":"reason","type":"string"}]},{"event":"RESTART","eventId":"evt_CH2R67A5692K4V0D11B50D5FFT","description":"Initiates a reset of the current workflow process.","synonyms":"reset, refresh, restart, reinitialize","tier":"internal","payloadSchema":[{"name":"id","type":"string"}]},{"event":"StepItemsLoaded","eventId":"evt_VJB19V2TNBDANP87ZYYBEJNQ6M","description":"Signals that the step items have been successfully loaded.","synonyms":"loaded, fetched, retrieved, populated","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}],"entity":"ObjectSpec"}]},{"event":"StepItemsLoadFailed","eventId":"evt_N367DBM0ZG0FREKCQ313PZ9D2H","description":"Indicates failure to load step configuration items.","synonyms":"load error, failed fetch, data problem","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"loading","isInitial":true},{"name":"running"},{"name":"approved"},{"name":"rejected"},{"name":"escalated"},{"name":"error"}],"events":[{"key":"INIT","id":"evt_WPAMMGA10H0G8XKRH4P65D42N8","name":"Initialize"},{"key":"StepItemsLoaded","id":"evt_VJB19V2TNBDANP87ZYYBEJNQ6M","name":"Step items loaded","description":"Signals that the step items have been successfully loaded.","synonyms":"loaded, fetched, retrieved, populated","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}]}],"listened":true},{"key":"StepItemsLoadFailed","id":"evt_N367DBM0ZG0FREKCQ313PZ9D2H","name":"Step items load failed","description":"Indicates failure to load step configuration items.","synonyms":"load error, failed fetch, data problem","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"StepItemsSaved","id":"evt_K5TEF7KBZRNZW38DMW8EM1QQ6D","name":"Step items saved","description":"Data for the current step has been successfully saved.","synonyms":"update, persist, store, commit","tier":"presentation","payloadSchema":[{"name":"row","type":"@entity"}],"listened":true},{"key":"StepItemsSaveFailed","id":"evt_RCPD80QKETSQD2CF0R8NNJWK2N","name":"Step items save failed","description":"Indicates a failure to save step item data.","synonyms":"save error, data failed, persistence error","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"ADVANCE","id":"evt_FQTFWPQMZJTFS8WTNT91TCMMQF","name":"Advance","description":"Signals progression to the next step in the sequence.","synonyms":"next, proceed, continue, move forward","tier":"domain","payloadSchema":[{"name":"id","type":"string"},{"name":"stepKey","type":"string"}],"listened":true},{"key":"BACK","id":"evt_0FVFMF82DX16YPBT3PX16PD80E","name":"Back","description":"Indicates a request to navigate to the previous step.","synonyms":"previous, undo, return","tier":"domain","payloadSchema":[{"name":"id","type":"string"}],"listened":true},{"key":"REJECT","id":"evt_5KS3V9VZ36ZHKB38K7983MJ34W","name":"Reject","description":"Indicates the user or system rejected the current step.","synonyms":"cancel, decline, dismiss","tier":"domain","payloadSchema":[{"name":"id","type":"string"},{"name":"reason","type":"string"}],"listened":true},{"key":"ESCALATE","id":"evt_STHBFKHJ22S112YPFMN0T79JCX","name":"Escalate","description":"Signals a request to elevate the process to a higher authority.","synonyms":"defer, transfer, handoff","tier":"presentation","payloadSchema":[{"name":"id","type":"string"},{"name":"reason","type":"string"}],"listened":true},{"key":"RESTART","id":"evt_CH2R67A5692K4V0D11B50D5FFT","name":"Restart","description":"Initiates a reset of the current workflow process.","synonyms":"reset, refresh, restart, reinitialize","tier":"internal","payloadSchema":[{"name":"id","type":"string"}],"listened":true}],"transitions":[{"from":"loading","to":"loading","event":"INIT","eventId":"evt_WPAMMGA10H0G8XKRH4P65D42N8","effects":[["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"card"}]]},{"from":"loading","to":"running","event":"StepItemsLoaded","eventId":"evt_VJB19V2TNBDANP87ZYYBEJNQ6M","effects":[["set","@entity.id",["object/get",["array/nth","@payload.data",0],"id"]],["set","@entity.currentStepIndex",0],["set","@entity.totalSteps",["array/len","@config.steps"]],["set","@entity.wizardSteps",["array/map","@config.steps",["fn","step",{"badgeVariant":["if",["<","@index","@entity.currentStepIndex"],"success",["if",["=","@index","@entity.currentStepIndex"],"primary","neutral"]],"description":["object/get","@step","description",""],"icon":["object/get","@step","icon","circle"],"id":["object/get","@step","key"],"indexLabel":["str/concat","",["+","@index",1]],"isPending":[">","@index","@entity.currentStepIndex"],"key":["object/get","@step","key"],"label":["object/get","@step","label"],"labelColor":["if",["=","@index","@entity.currentStepIndex"],"default","muted"],"title":["object/get","@step","label"]}]]],["set","@entity.currentStepLabel",["object/get",["array/nth","@config.steps",0],"label"]],["set","@entity.currentStepDescription",["object/get",["array/nth","@config.steps",0],"description",""]],["set","@entity.currentStepIcon",["object/get",["array/nth","@config.steps",0],"icon","user"]],["set","@entity.isFirstStep",true],["set","@entity.isLastStep",["=",["array/len","@config.steps"],1]],["set","@entity.primaryActionLabel",["if",["=",["array/len","@config.steps"],1],"Finalize Approval","Approve & Continue"]],["set","@entity.primaryActionVariant",["if",["=",["array/len","@config.steps"],1],"success","primary"]],["set","@entity.primaryActionIcon",["if",["=",["array/len","@config.steps"],1],"check-circle","chevron-right"]],["render-ui","main","@config.bodyContent"]]},{"from":"loading","to":"error","event":"StepItemsLoadFailed","eventId":"evt_N367DBM0ZG0FREKCQ313PZ9D2H","effects":[["set","@entity.errorMessage","@payload.error"],["render-ui","main",{"message":"@entity.errorMessage","title":"Failed to load","type":"error-state"}]]},{"from":"loading","to":"running","event":"StepItemsSaved","eventId":"evt_K5TEF7KBZRNZW38DMW8EM1QQ6D","effects":[["render-ui","main","@config.bodyContent"]]},{"from":"loading","to":"error","event":"StepItemsSaveFailed","eventId":"evt_RCPD80QKETSQD2CF0R8NNJWK2N","effects":[["set","@entity.errorMessage","@payload.error"],["render-ui","main",{"message":"@entity.errorMessage","title":"Save failed","type":"error-state"}]]},{"from":"running","to":"loading","event":"INIT","eventId":"evt_WPAMMGA10H0G8XKRH4P65D42N8","effects":[["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}]]},{"from":"running","to":"running","event":"ADVANCE","eventId":"evt_FQTFWPQMZJTFS8WTNT91TCMMQF","guard":["and",["not","@entity.isLastStep"],["or",["not",["object/has",["array/nth","@config.steps","@entity.currentStepIndex"],"allowedRoles"]],["array/includes",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"allowedRoles",[]],"@user.role"]]],"effects":[["set","@entity.currentStepIndex",["+","@entity.currentStepIndex",1]],["set","@entity.currentStepLabel",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"label"]],["set","@entity.currentStepDescription",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"description",""]],["set","@entity.currentStepIcon",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"icon","user"]],["set","@entity.isFirstStep",["=","@entity.currentStepIndex",0]],["set","@entity.isLastStep",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]]],["set","@entity.primaryActionLabel",["if",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]],"Finalize Approval","Approve & Continue"]],["set","@entity.primaryActionVariant",["if",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]],"success","primary"]],["set","@entity.primaryActionIcon",["if",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]],"check-circle","chevron-right"]],["set","@entity.wizardSteps",["array/map","@config.steps",["fn","step",{"badgeVariant":["if",["<","@index","@entity.currentStepIndex"],"success",["if",["=","@index","@entity.currentStepIndex"],"primary","neutral"]],"description":["object/get","@step","description",""],"icon":["object/get","@step","icon","circle"],"id":["object/get","@step","key"],"indexLabel":["str/concat","",["+","@index",1]],"isPending":[">","@index","@entity.currentStepIndex"],"key":["object/get","@step","key"],"label":["object/get","@step","label"],"labelColor":["if",["=","@index","@entity.currentStepIndex"],"default","muted"],"title":["object/get","@step","label"]}]]],["render-ui","main","@config.bodyContent"]]},{"from":"running","to":"approved","event":"ADVANCE","eventId":"evt_FQTFWPQMZJTFS8WTNT91TCMMQF","guard":["and","@entity.isLastStep",["or",["not",["object/has",["array/nth","@config.steps","@entity.currentStepIndex"],"allowedRoles"]],["array/includes",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"allowedRoles",[]],"@user.role"]]],"effects":[["set","@entity.finalStatus","approved"],["render-ui","main",{"align":"center","children":[{"name":"check-circle","size":"xl","type":"icon"},{"align":"center","content":"Approved","type":"typography","variant":"h2"},{"align":"center","color":"muted","content":"@config.completedText","type":"typography","variant":"body"},{"allowNavigation":false,"currentStep":"@entity.totalSteps","steps":["if",["=",["array/len","@config.stepLabels"],0],"@entity.wizardSteps",["array/map","@entity.wizardSteps",["fn","step",{"id":["object/get","@step","id",""],"title":["array/nth","@config.stepLabels","@index"],"description":["if",["=",["array/len","@config.stepDescriptions"],0],["object/get","@step","description",""],["array/nth","@config.stepDescriptions","@index"]]}]]],"type":"wizard-progress"},{"action":"RESTART","actionPayload":{"id":"@entity.id"},"icon":"rotate-ccw","label":"@config.restartLabel","type":"button","variant":"secondary"}],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"running","to":"running","event":"BACK","eventId":"evt_0FVFMF82DX16YPBT3PX16PD80E","effects":[["set","@entity.currentStepIndex",["-","@entity.currentStepIndex",1]],["set","@entity.currentStepLabel",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"label"]],["set","@entity.currentStepDescription",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"description",""]],["set","@entity.currentStepIcon",["object/get",["array/nth","@config.steps","@entity.currentStepIndex"],"icon","user"]],["set","@entity.isFirstStep",["=","@entity.currentStepIndex",0]],["set","@entity.isLastStep",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]]],["set","@entity.primaryActionLabel",["if",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]],"Finalize Approval","Approve & Continue"]],["set","@entity.primaryActionVariant",["if",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]],"success","primary"]],["set","@entity.primaryActionIcon",["if",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]],"check-circle","chevron-right"]],["set","@entity.wizardSteps",["array/map","@config.steps",["fn","step",{"badgeVariant":["if",["<","@index","@entity.currentStepIndex"],"success",["if",["=","@index","@entity.currentStepIndex"],"primary","neutral"]],"description":["object/get","@step","description",""],"icon":["object/get","@step","icon","circle"],"id":["object/get","@step","key"],"indexLabel":["str/concat","",["+","@index",1]],"isPending":[">","@index","@entity.currentStepIndex"],"key":["object/get","@step","key"],"label":["object/get","@step","label"],"labelColor":["if",["=","@index","@entity.currentStepIndex"],"default","muted"],"title":["object/get","@step","label"]}]]],["render-ui","main","@config.bodyContent"]]},{"from":"running","to":"rejected","event":"REJECT","eventId":"evt_5KS3V9VZ36ZHKB38K7983MJ34W","effects":[["set","@entity.finalStatus","rejected"],["set","@entity.rejectionReason","@payload.reason"],["render-ui","main",{"align":"center","children":[{"name":"x-circle","size":"xl","type":"icon"},{"align":"center","content":"Rejected","type":"typography","variant":"h2"},{"children":[{"children":[{"color":"muted","content":"Reason","type":"typography","variant":"caption"},{"content":"@entity.rejectionReason","type":"typography","variant":"body"}],"direction":"vertical","gap":"sm","type":"stack"}],"look":"@config.cardLook","type":"card"},{"action":"RESTART","actionPayload":{"id":"@entity.id"},"icon":"rotate-ccw","label":"@config.restartLabel","type":"button","variant":"secondary"}],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"running","to":"escalated","event":"ESCALATE","eventId":"evt_STHBFKHJ22S112YPFMN0T79JCX","effects":[["set","@entity.finalStatus","escalated"],["render-ui","main",{"align":"center","children":[{"name":"alert-triangle","size":"xl","type":"icon"},{"align":"center","content":"Escalated","type":"typography","variant":"h2"},{"align":"center","color":"muted","content":"@config.escalatedText","type":"typography","variant":"body"},{"action":"RESTART","actionPayload":{"id":"@entity.id"},"icon":"rotate-ccw","label":"@config.restartLabel","type":"button","variant":"secondary"}],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"approved","to":"loading","event":"INIT","eventId":"evt_WPAMMGA10H0G8XKRH4P65D42N8","effects":[["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"card"}]]},{"from":"approved","to":"loading","event":"RESTART","eventId":"evt_CH2R67A5692K4V0D11B50D5FFT","effects":[["set","@entity.finalStatus",""],["set","@entity.currentStepIndex",0],["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"card"}]]},{"from":"rejected","to":"loading","event":"INIT","eventId":"evt_WPAMMGA10H0G8XKRH4P65D42N8","effects":[["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"card"}]]},{"from":"rejected","to":"loading","event":"RESTART","eventId":"evt_CH2R67A5692K4V0D11B50D5FFT","effects":[["set","@entity.finalStatus",""],["set","@entity.currentStepIndex",0],["set","@entity.rejectionReason",""],["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"card"}]]},{"from":"escalated","to":"loading","event":"INIT","eventId":"evt_WPAMMGA10H0G8XKRH4P65D42N8","effects":[["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"card"}]]},{"from":"escalated","to":"loading","event":"RESTART","eventId":"evt_CH2R67A5692K4V0D11B50D5FFT","effects":[["set","@entity.finalStatus",""],["set","@entity.currentStepIndex",0],["fetch","StepFlowView",{"emit":{"failure":"StepItemsLoadFailed","success":"StepItemsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"card"}]]},{"from":"error","to":"loading","event":"INIT","eventId":"evt_WPAMMGA10H0G8XKRH4P65D42N8","effects":[["render-ui","main",{"title":"Retrying…","type":"loading-state"}]]}]},"config":{"cardLook":{"type":"string","default":"elevated","label":"Card look","description":"Layer 2 visual treatment for cards rendered by this atom.","tier":"presentation","values":["elevated","flat-bordered","borderless-divider","ticket","invoice","chip","tile-image-first"]},"completedText":{"type":"string","default":"All review steps completed successfully.","label":"Completed text","tier":"presentation"},"stepLabels":{"type":"[string]","default":[],"label":"Step labels","description":"In step order: the label shown for each step, in place of its `steps` label (render-only, so it may be translated)","tier":"presentation","items":{"type":"string"}},"backLabel":{"type":"string","default":"Back","label":"Back label","tier":"presentation"},"restartLabel":{"type":"string","default":"Start a new review","label":"Restart label","tier":"presentation"},"finishLabel":{"type":"string","default":"Finalize Approval","label":"Finish label","description":"The primary button on the last step","tier":"presentation"},"continueLabel":{"type":"string","default":"Approve & Continue","label":"Continue label","tier":"presentation"},"escalatedText":{"type":"string","default":"This item has been escalated for further review.","label":"Escalated text","tier":"presentation"},"title":{"type":"string","default":"Review","label":"Flow title","description":"Heading shown above the step progress bar","tier":"presentation"},"bodyContent":{"type":"render-ui","default":{"children":[{"align":"center","children":[{"name":"shield-check","size":"lg","type":"icon"},{"content":"@config.title","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"allowNavigation":false,"currentStep":"@entity.currentStepIndex","steps":["if",["=",["array/len","@config.stepLabels"],0],"@entity.wizardSteps",["array/map","@entity.wizardSteps",["fn","step",{"id":["object/get","@step","id",""],"title":["array/nth","@config.stepLabels","@index"],"description":["if",["=",["array/len","@config.stepDescriptions"],0],["object/get","@step","description",""],["array/nth","@config.stepDescriptions","@index"]]}]]],"type":"wizard-progress"},{"children":[{"children":[{"align":"center","children":[{"name":"@entity.currentStepIcon","size":"xl","type":"icon"},{"children":[{"content":["if",["=",["array/len","@config.stepLabels"],0],"@entity.currentStepLabel",["array/nth","@config.stepLabels","@entity.currentStepIndex"]],"type":"typography","variant":"h2"},{"color":"muted","content":["if",["=",["array/len","@config.stepDescriptions"],0],"@entity.currentStepDescription",["array/nth","@config.stepDescriptions","@entity.currentStepIndex"]],"type":"typography","variant":"body"}],"direction":"vertical","gap":"xs","type":"stack"}],"direction":"horizontal","gap":"sm","type":"stack"}],"direction":"vertical","gap":"md","type":"stack"}],"look":"@config.cardLook","type":"card"},{"align":"center","children":[{"action":"BACK","actionPayload":{"id":"@entity.id"},"disabled":"@entity.isFirstStep","icon":"chevron-left","label":"@config.backLabel","type":"button","variant":"ghost"},{"action":"REJECT","actionPayload":{"id":"@entity.id"},"icon":"x","label":"@config.rejectLabel","type":"button","variant":"ghost"},{"action":"ESCALATE","actionPayload":{"id":"@entity.id"},"icon":"alert-triangle","label":"@config.escalateLabel","type":"button","variant":"ghost"},{"action":"ADVANCE","actionPayload":{"id":"@entity.id"},"icon":"@entity.primaryActionIcon","label":["if",["=","@entity.currentStepIndex",["-","@entity.totalSteps",1]],"@config.finishLabel","@config.continueLabel"],"type":"button","variant":"primary"}],"direction":"horizontal","wrap":true,"gap":"sm","type":"stack"}],"direction":"vertical","gap":"lg","type":"stack"},"label":"Body content tree","description":"Render-ui SExpr rendered while the step chain is active (loading-success, running, BACK). Default is the canonical wizard-progress + step-card + action-row tree. Layer 3 variants override this with their own tree (horizontal stepper, sidebar progress, card carousel, etc.) to deliver entirely different step UX while inheriting the same trait, state machine, emits, and listens.","tier":"internal"},"steps":{"type":"[StepSpec]","default":[{"description":"Initial review by direct manager","icon":"user","key":"manager","label":"Manager Review"},{"description":"Department director sign-off","icon":"users","key":"director","label":"Director Approval"},{"description":"Final executive approval","icon":"shield","key":"executive","label":"Executive Sign-off"}],"label":"Steps","description":"Ordered decision steps with label, icon, and optional role gates","tier":"domain","items":{"type":"object","properties":{"icon":{"name":"icon","type":"string","required":false},"label":{"name":"label","type":"string","required":true},"allowedRoles":{"name":"allowedRoles","type":"array","required":false,"items":{"type":"string"}},"description":{"name":"description","type":"string","required":false},"key":{"name":"key","type":"string","required":false}}}},"rejectLabel":{"type":"string","default":"Reject","label":"Reject label","tier":"presentation"},"stepDescriptions":{"type":"[string]","default":[],"label":"Step descriptions","description":"In step order: the description shown for each step, in place of its `steps` description (render-only, so it may be translated)","tier":"presentation","items":{"type":"string"}},"escalateLabel":{"type":"string","default":"Escalate","label":"Escalate label","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"StepFlowPage","id":"pag_1104H9H6EHK78VFYC7XE7ZCGMB","path":"/step-flow","traits":[{"ref":"StepFlowReview","refId":"trt_K578R9F0ABG55Y52TSNQR8R55T"}]}],"types":{"ObjectSpec":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}],"StepSpec":[{"name":"label","type":"string","required":true},{"name":"key","type":"string"},{"name":"icon","type":"string"},{"name":"description","type":"string"},{"name":"allowedRoles","type":"[string]"}],"WizardStep":[{"name":"id","type":"string","required":true},{"name":"key","type":"string"},{"name":"title","type":"string","required":true},{"name":"label","type":"string"},{"name":"description","type":"string"},{"name":"icon","type":"string"},{"name":"indexLabel","type":"string"},{"name":"isPending","type":"boolean"},{"name":"badgeVariant","type":"string"},{"name":"labelColor","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_EC5VEQKW13Y0HTX3TXZAWTPKKC":{"id":"ent_EC5VEQKW13Y0HTX3TXZAWTPKKC","kind":"entity","bakedName":"StepFlowView","curName":"StepFlowView","renames":[],"owner":"workspace"},"evt_0FVFMF82DX16YPBT3PX16PD80E":{"id":"evt_0FVFMF82DX16YPBT3PX16PD80E","kind":"event","bakedName":"BACK","curName":"BACK","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_5KS3V9VZ36ZHKB38K7983MJ34W":{"id":"evt_5KS3V9VZ36ZHKB38K7983MJ34W","kind":"event","bakedName":"REJECT","curName":"REJECT","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_CH2R67A5692K4V0D11B50D5FFT":{"id":"evt_CH2R67A5692K4V0D11B50D5FFT","kind":"event","bakedName":"RESTART","curName":"RESTART","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_FQTFWPQMZJTFS8WTNT91TCMMQF":{"id":"evt_FQTFWPQMZJTFS8WTNT91TCMMQF","kind":"event","bakedName":"ADVANCE","curName":"ADVANCE","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_K5TEF7KBZRNZW38DMW8EM1QQ6D":{"id":"evt_K5TEF7KBZRNZW38DMW8EM1QQ6D","kind":"event","bakedName":"StepItemsSaved","curName":"StepItemsSaved","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_N367DBM0ZG0FREKCQ313PZ9D2H":{"id":"evt_N367DBM0ZG0FREKCQ313PZ9D2H","kind":"event","bakedName":"StepItemsLoadFailed","curName":"StepItemsLoadFailed","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_RCPD80QKETSQD2CF0R8NNJWK2N":{"id":"evt_RCPD80QKETSQD2CF0R8NNJWK2N","kind":"event","bakedName":"StepItemsSaveFailed","curName":"StepItemsSaveFailed","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_STHBFKHJ22S112YPFMN0T79JCX":{"id":"evt_STHBFKHJ22S112YPFMN0T79JCX","kind":"event","bakedName":"ESCALATE","curName":"ESCALATE","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_VJB19V2TNBDANP87ZYYBEJNQ6M":{"id":"evt_VJB19V2TNBDANP87ZYYBEJNQ6M","kind":"event","bakedName":"StepItemsLoaded","curName":"StepItemsLoaded","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"evt_WPAMMGA10H0G8XKRH4P65D42N8":{"id":"evt_WPAMMGA10H0G8XKRH4P65D42N8","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_K578R9F0ABG55Y52TSNQR8R55T"},"orb_PA6W1HQCZNPFTW5K99ANSJXKTP":{"id":"orb_PA6W1HQCZNPFTW5K99ANSJXKTP","kind":"orbital","bakedName":"StepFlowOrbital","curName":"StepFlowOrbital","renames":[],"owner":"workspace"},"pag_1104H9H6EHK78VFYC7XE7ZCGMB":{"id":"pag_1104H9H6EHK78VFYC7XE7ZCGMB","kind":"page","bakedName":"StepFlowPage","curName":"StepFlowPage","renames":[],"owner":"workspace"},"trt_K578R9F0ABG55Y52TSNQR8R55T":{"id":"trt_K578R9F0ABG55Y52TSNQR8R55T","kind":"trait","bakedName":"StepFlowReview","curName":"StepFlowReview","renames":[],"owner":"workspace"}}}}