@almadar/std 16.254.0 → 16.255.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 (455) hide show
  1. package/behaviors/lolo/agent/atoms/std-agent-pool.lolo +10 -10
  2. package/behaviors/lolo/agent/evals/eval-agent-builder.lolo +15 -8
  3. package/behaviors/lolo/agent/organisms/std-agent-builder.lolo +6 -5
  4. package/behaviors/registry/agent/atoms/std-agent-context.orb +1 -1
  5. package/behaviors/registry/agent/atoms/std-agent-fix-loop.orb +1 -1
  6. package/behaviors/registry/agent/atoms/std-agent-planner.orb +1 -1
  7. package/behaviors/registry/agent/atoms/std-agent-pool.orb +1 -1
  8. package/behaviors/registry/agent/atoms/std-agent-proposal.orb +1 -1
  9. package/behaviors/registry/agent/atoms/std-agent-session.orb +1 -1
  10. package/behaviors/registry/agent/atoms/std-agent-suggestions.orb +1 -1
  11. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +1 -1
  12. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +1 -1
  13. package/behaviors/registry/agent/atoms/std-agent-trace.orb +1 -1
  14. package/behaviors/registry/agent/evals/eval-agent-builder.orb +1 -1
  15. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1 -1
  16. package/behaviors/registry/agent/organisms/std-agent-builder.orb +1 -1
  17. package/behaviors/registry/infra/atoms/std-analytics.orb +1 -1
  18. package/behaviors/registry/infra/atoms/std-approval-gate.orb +1 -1
  19. package/behaviors/registry/infra/atoms/std-audit-capture.orb +1 -1
  20. package/behaviors/registry/infra/atoms/std-cache-aside.orb +1 -1
  21. package/behaviors/registry/infra/atoms/std-calendar-sync.orb +1 -1
  22. package/behaviors/registry/infra/atoms/std-cascade-on-delete.orb +1 -1
  23. package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +1 -1
  24. package/behaviors/registry/infra/atoms/std-cross-reference.orb +1 -1
  25. package/behaviors/registry/infra/atoms/std-data-erasure.orb +1 -1
  26. package/behaviors/registry/infra/atoms/std-data-import.orb +1 -1
  27. package/behaviors/registry/infra/atoms/std-global-search.orb +1 -1
  28. package/behaviors/registry/infra/atoms/std-knowledge-loop.orb +1 -1
  29. package/behaviors/registry/infra/atoms/std-lifecycle.orb +1 -1
  30. package/behaviors/registry/infra/atoms/std-migration-job.orb +1 -1
  31. package/behaviors/registry/infra/atoms/std-mod-queue.orb +1 -1
  32. package/behaviors/registry/infra/atoms/std-notification-center.orb +1 -1
  33. package/behaviors/registry/infra/atoms/std-notification-preferences.orb +1 -1
  34. package/behaviors/registry/infra/atoms/std-notify-on-event.orb +1 -1
  35. package/behaviors/registry/infra/atoms/std-page-search.orb +1 -1
  36. package/behaviors/registry/infra/atoms/std-page-watch.orb +1 -1
  37. package/behaviors/registry/infra/atoms/std-permission-matrix.orb +1 -1
  38. package/behaviors/registry/infra/atoms/std-rate-limiter.orb +1 -1
  39. package/behaviors/registry/infra/atoms/std-reminder-scheduler.orb +1 -1
  40. package/behaviors/registry/infra/atoms/std-review-cycle.orb +1 -1
  41. package/behaviors/registry/infra/atoms/std-row-access-control.orb +1 -1
  42. package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +1 -1
  43. package/behaviors/registry/infra/organisms/std-status-lifecycle-control.orb +1 -1
  44. package/behaviors/registry/ml/atoms/std-data-collector.orb +1 -1
  45. package/behaviors/registry/ml/atoms/std-graph-builder.orb +1 -1
  46. package/behaviors/registry/ml/atoms/std-ml-classify.orb +1 -1
  47. package/behaviors/registry/ml/atoms/std-ml-exact-check.orb +1 -1
  48. package/behaviors/registry/ml/atoms/std-ml-infer.orb +1 -1
  49. package/behaviors/registry/ml/atoms/std-ml-posterior.orb +1 -1
  50. package/behaviors/registry/ml/atoms/std-ml-similarity.orb +1 -1
  51. package/behaviors/registry/ml/atoms/std-tokenizer.orb +1 -1
  52. package/behaviors/registry/ml/atoms/std-weight-validator.orb +1 -1
  53. package/behaviors/registry/ml/organisms/std-escalating-decision.orb +1 -1
  54. package/behaviors/registry/ml/organisms/std-knowledge-tracing.orb +1 -1
  55. package/behaviors/registry/ui/avl/atoms/std-avl-cosmic-zoom.orb +1 -1
  56. package/behaviors/registry/ui/avl/atoms/ui-avl-glyph.orb +1 -1
  57. package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +1 -1
  58. package/behaviors/registry/ui/avl/atoms/ui-avl-transition-detail.orb +1 -1
  59. package/behaviors/registry/ui/avl/atoms/ui-avl-transition-explainer.orb +1 -1
  60. package/behaviors/registry/ui/avl/atoms/ui-behavior-view.orb +1 -1
  61. package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +1 -1
  62. package/behaviors/registry/ui/avl/organisms/ui-flow-canvas.orb +1 -1
  63. package/behaviors/registry/ui/avl/organisms/ui-layers-panel.orb +1 -1
  64. package/behaviors/registry/ui/avl/organisms/ui-orb-inspector.orb +1 -1
  65. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +1 -1
  66. package/behaviors/registry/ui/core/atoms/std-app-search.orb +1 -1
  67. package/behaviors/registry/ui/core/atoms/std-behavior-catalog.orb +1 -1
  68. package/behaviors/registry/ui/core/atoms/std-behavior-tour.orb +1 -1
  69. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +1 -1
  70. package/behaviors/registry/ui/core/atoms/std-board.orb +1 -1
  71. package/behaviors/registry/ui/core/atoms/std-book-reader.orb +1 -1
  72. package/behaviors/registry/ui/core/atoms/std-browse.orb +1 -1
  73. package/behaviors/registry/ui/core/atoms/std-calendar.orb +1 -1
  74. package/behaviors/registry/ui/core/atoms/std-card-grid.orb +1 -1
  75. package/behaviors/registry/ui/core/atoms/std-confirmation.orb +1 -1
  76. package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +1 -1
  77. package/behaviors/registry/ui/core/atoms/std-date-range.orb +1 -1
  78. package/behaviors/registry/ui/core/atoms/std-detail-layout.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-geosearch.orb +1 -1
  90. package/behaviors/registry/ui/core/atoms/std-graphs.orb +1 -1
  91. package/behaviors/registry/ui/core/atoms/std-hero.orb +1 -1
  92. package/behaviors/registry/ui/core/atoms/std-home.orb +1 -1
  93. package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +1 -1
  94. package/behaviors/registry/ui/core/atoms/std-import.orb +1 -1
  95. package/behaviors/registry/ui/core/atoms/std-language-picker.orb +1 -1
  96. package/behaviors/registry/ui/core/atoms/std-media-section.orb +1 -1
  97. package/behaviors/registry/ui/core/atoms/std-modal-editor.orb +1 -1
  98. package/behaviors/registry/ui/core/atoms/std-modal.orb +1 -1
  99. package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +1 -1
  100. package/behaviors/registry/ui/core/atoms/std-notification-panel.orb +1 -1
  101. package/behaviors/registry/ui/core/atoms/std-panel-launcher.orb +1 -1
  102. package/behaviors/registry/ui/core/atoms/std-pricing.orb +1 -1
  103. package/behaviors/registry/ui/core/atoms/std-proof.orb +1 -1
  104. package/behaviors/registry/ui/core/atoms/std-prose.orb +1 -1
  105. package/behaviors/registry/ui/core/atoms/std-rating-review.orb +1 -1
  106. package/behaviors/registry/ui/core/atoms/std-record-detail.orb +1 -1
  107. package/behaviors/registry/ui/core/atoms/std-recurrence.orb +1 -1
  108. package/behaviors/registry/ui/core/atoms/std-related.orb +1 -1
  109. package/behaviors/registry/ui/core/atoms/std-role-gate.orb +1 -1
  110. package/behaviors/registry/ui/core/atoms/std-saved-search.orb +1 -1
  111. package/behaviors/registry/ui/core/atoms/std-scatter.orb +1 -1
  112. package/behaviors/registry/ui/core/atoms/std-scoped-list.orb +1 -1
  113. package/behaviors/registry/ui/core/atoms/std-search.orb +1 -1
  114. package/behaviors/registry/ui/core/atoms/std-selection.orb +1 -1
  115. package/behaviors/registry/ui/core/atoms/std-site-footer.orb +1 -1
  116. package/behaviors/registry/ui/core/atoms/std-site-header.orb +1 -1
  117. package/behaviors/registry/ui/core/atoms/std-slide-deck.orb +1 -1
  118. package/behaviors/registry/ui/core/atoms/std-stat-band.orb +1 -1
  119. package/behaviors/registry/ui/core/atoms/std-stats.orb +1 -1
  120. package/behaviors/registry/ui/core/atoms/std-step-flow.orb +1 -1
  121. package/behaviors/registry/ui/core/atoms/std-steps.orb +1 -1
  122. package/behaviors/registry/ui/core/atoms/std-tabs.orb +1 -1
  123. package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +1 -1
  124. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +1 -1
  125. package/behaviors/registry/ui/core/atoms/std-thread.orb +1 -1
  126. package/behaviors/registry/ui/core/atoms/std-tree.orb +1 -1
  127. package/behaviors/registry/ui/core/atoms/std-version-history.orb +1 -1
  128. package/behaviors/registry/ui/core/atoms/std-wizard.orb +1 -1
  129. package/behaviors/registry/ui/core/atoms/std-workspace-layout.orb +1 -1
  130. package/behaviors/registry/ui/core/atoms/ui-animated-graphic.orb +1 -1
  131. package/behaviors/registry/ui/core/atoms/ui-animated-reveal.orb +1 -1
  132. package/behaviors/registry/ui/core/atoms/ui-aside.orb +1 -1
  133. package/behaviors/registry/ui/core/atoms/ui-atlas-image.orb +1 -1
  134. package/behaviors/registry/ui/core/atoms/ui-atlas-panel.orb +1 -1
  135. package/behaviors/registry/ui/core/atoms/ui-avatar.orb +1 -1
  136. package/behaviors/registry/ui/core/atoms/ui-badge.orb +1 -1
  137. package/behaviors/registry/ui/core/atoms/ui-box.orb +1 -1
  138. package/behaviors/registry/ui/core/atoms/ui-button.orb +1 -1
  139. package/behaviors/registry/ui/core/atoms/ui-card.orb +1 -1
  140. package/behaviors/registry/ui/core/atoms/ui-center.orb +1 -1
  141. package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +1 -1
  142. package/behaviors/registry/ui/core/atoms/ui-conditional-wrapper.orb +1 -1
  143. package/behaviors/registry/ui/core/atoms/ui-confetti-effect.orb +1 -1
  144. package/behaviors/registry/ui/core/atoms/ui-day-cell.orb +1 -1
  145. package/behaviors/registry/ui/core/atoms/ui-dialog.orb +1 -1
  146. package/behaviors/registry/ui/core/atoms/ui-divider.orb +1 -1
  147. package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +1 -1
  148. package/behaviors/registry/ui/core/atoms/ui-flip-container.orb +1 -1
  149. package/behaviors/registry/ui/core/atoms/ui-game-icon.orb +1 -1
  150. package/behaviors/registry/ui/core/atoms/ui-hstack.orb +1 -1
  151. package/behaviors/registry/ui/core/atoms/ui-icon.orb +1 -1
  152. package/behaviors/registry/ui/core/atoms/ui-image.orb +1 -1
  153. package/behaviors/registry/ui/core/atoms/ui-infinite-scroll-sentinel.orb +1 -1
  154. package/behaviors/registry/ui/core/atoms/ui-input.orb +1 -1
  155. package/behaviors/registry/ui/core/atoms/ui-label.orb +1 -1
  156. package/behaviors/registry/ui/core/atoms/ui-law-reference-tooltip.orb +1 -1
  157. package/behaviors/registry/ui/core/atoms/ui-overlay.orb +1 -1
  158. package/behaviors/registry/ui/core/atoms/ui-pattern-tile.orb +1 -1
  159. package/behaviors/registry/ui/core/atoms/ui-presence.orb +1 -1
  160. package/behaviors/registry/ui/core/atoms/ui-progress-bar.orb +1 -1
  161. package/behaviors/registry/ui/core/atoms/ui-radio.orb +1 -1
  162. package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +1 -1
  163. package/behaviors/registry/ui/core/atoms/ui-section-header.orb +1 -1
  164. package/behaviors/registry/ui/core/atoms/ui-select.orb +1 -1
  165. package/behaviors/registry/ui/core/atoms/ui-spacer.orb +1 -1
  166. package/behaviors/registry/ui/core/atoms/ui-sparkline.orb +1 -1
  167. package/behaviors/registry/ui/core/atoms/ui-spinner.orb +1 -1
  168. package/behaviors/registry/ui/core/atoms/ui-stack.orb +1 -1
  169. package/behaviors/registry/ui/core/atoms/ui-status-dot.orb +1 -1
  170. package/behaviors/registry/ui/core/atoms/ui-svg-branch.orb +1 -1
  171. package/behaviors/registry/ui/core/atoms/ui-svg-connection.orb +1 -1
  172. package/behaviors/registry/ui/core/atoms/ui-svg-flow.orb +1 -1
  173. package/behaviors/registry/ui/core/atoms/ui-svg-grid.orb +1 -1
  174. package/behaviors/registry/ui/core/atoms/ui-svg-lobe.orb +1 -1
  175. package/behaviors/registry/ui/core/atoms/ui-svg-mesh.orb +1 -1
  176. package/behaviors/registry/ui/core/atoms/ui-svg-morph.orb +1 -1
  177. package/behaviors/registry/ui/core/atoms/ui-svg-node.orb +1 -1
  178. package/behaviors/registry/ui/core/atoms/ui-svg-pulse.orb +1 -1
  179. package/behaviors/registry/ui/core/atoms/ui-svg-ring.orb +1 -1
  180. package/behaviors/registry/ui/core/atoms/ui-svg-shield.orb +1 -1
  181. package/behaviors/registry/ui/core/atoms/ui-svg-stack.orb +1 -1
  182. package/behaviors/registry/ui/core/atoms/ui-switch.orb +1 -1
  183. package/behaviors/registry/ui/core/atoms/ui-text-highlight.orb +1 -1
  184. package/behaviors/registry/ui/core/atoms/ui-textarea.orb +1 -1
  185. package/behaviors/registry/ui/core/atoms/ui-theme-toggle.orb +1 -1
  186. package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +1 -1
  187. package/behaviors/registry/ui/core/atoms/ui-trend-indicator.orb +1 -1
  188. package/behaviors/registry/ui/core/atoms/ui-typewriter-text.orb +1 -1
  189. package/behaviors/registry/ui/core/atoms/ui-typography.orb +1 -1
  190. package/behaviors/registry/ui/core/atoms/ui-video-embed.orb +1 -1
  191. package/behaviors/registry/ui/core/atoms/ui-vstack.orb +1 -1
  192. package/behaviors/registry/ui/core/molecules/std-stat-rows.orb +1 -1
  193. package/behaviors/registry/ui/core/molecules/ui-accordion.orb +1 -1
  194. package/behaviors/registry/ui/core/molecules/ui-activation-block.orb +1 -1
  195. package/behaviors/registry/ui/core/molecules/ui-activity-rail.orb +1 -1
  196. package/behaviors/registry/ui/core/molecules/ui-agent-activity-feed.orb +1 -1
  197. package/behaviors/registry/ui/core/molecules/ui-agent-activity-row.orb +1 -1
  198. package/behaviors/registry/ui/core/molecules/ui-agent-chat-feed.orb +1 -1
  199. package/behaviors/registry/ui/core/molecules/ui-alert.orb +1 -1
  200. package/behaviors/registry/ui/core/molecules/ui-animated-counter.orb +1 -1
  201. package/behaviors/registry/ui/core/molecules/ui-bloom-quiz-block.orb +1 -1
  202. package/behaviors/registry/ui/core/molecules/ui-branching-logic-builder.orb +1 -1
  203. package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +1 -1
  204. package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +1 -1
  205. package/behaviors/registry/ui/core/molecules/ui-carousel.orb +1 -1
  206. package/behaviors/registry/ui/core/molecules/ui-change-list.orb +1 -1
  207. package/behaviors/registry/ui/core/molecules/ui-chart-legend.orb +1 -1
  208. package/behaviors/registry/ui/core/molecules/ui-chart.orb +1 -1
  209. package/behaviors/registry/ui/core/molecules/ui-code-block.orb +1 -1
  210. package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +1 -1
  211. package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +1 -1
  212. package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +1 -1
  213. package/behaviors/registry/ui/core/molecules/ui-connection-block.orb +1 -1
  214. package/behaviors/registry/ui/core/molecules/ui-container.orb +1 -1
  215. package/behaviors/registry/ui/core/molecules/ui-content-renderer.orb +1 -1
  216. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +1 -1
  217. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +1 -1
  218. package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +1 -1
  219. package/behaviors/registry/ui/core/molecules/ui-date-range-selector.orb +1 -1
  220. package/behaviors/registry/ui/core/molecules/ui-doc-breadcrumb.orb +1 -1
  221. package/behaviors/registry/ui/core/molecules/ui-doc-pagination.orb +1 -1
  222. package/behaviors/registry/ui/core/molecules/ui-doc-search.orb +1 -1
  223. package/behaviors/registry/ui/core/molecules/ui-doc-sidebar.orb +1 -1
  224. package/behaviors/registry/ui/core/molecules/ui-doc-toc.orb +1 -1
  225. package/behaviors/registry/ui/core/molecules/ui-document-details.orb +1 -1
  226. package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +1 -1
  227. package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +1 -1
  228. package/behaviors/registry/ui/core/molecules/ui-drawer.orb +1 -1
  229. package/behaviors/registry/ui/core/molecules/ui-edge-decoration.orb +1 -1
  230. package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +1 -1
  231. package/behaviors/registry/ui/core/molecules/ui-empty-state.orb +1 -1
  232. package/behaviors/registry/ui/core/molecules/ui-error-boundary.orb +1 -1
  233. package/behaviors/registry/ui/core/molecules/ui-error-state.orb +1 -1
  234. package/behaviors/registry/ui/core/molecules/ui-feature-card.orb +1 -1
  235. package/behaviors/registry/ui/core/molecules/ui-feature-grid.orb +1 -1
  236. package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +1 -1
  237. package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +1 -1
  238. package/behaviors/registry/ui/core/molecules/ui-flex.orb +1 -1
  239. package/behaviors/registry/ui/core/molecules/ui-flip-card.orb +1 -1
  240. package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +1 -1
  241. package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +1 -1
  242. package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +1 -1
  243. package/behaviors/registry/ui/core/molecules/ui-form-field.orb +1 -1
  244. package/behaviors/registry/ui/core/molecules/ui-form-layout.orb +1 -1
  245. package/behaviors/registry/ui/core/molecules/ui-form-section-header.orb +1 -1
  246. package/behaviors/registry/ui/core/molecules/ui-fx-overlay.orb +1 -1
  247. package/behaviors/registry/ui/core/molecules/ui-gantt.orb +1 -1
  248. package/behaviors/registry/ui/core/molecules/ui-geometric-pattern.orb +1 -1
  249. package/behaviors/registry/ui/core/molecules/ui-gradient-divider.orb +1 -1
  250. package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +1 -1
  251. package/behaviors/registry/ui/core/molecules/ui-graph-view.orb +1 -1
  252. package/behaviors/registry/ui/core/molecules/ui-grid.orb +1 -1
  253. package/behaviors/registry/ui/core/molecules/ui-header.orb +1 -1
  254. package/behaviors/registry/ui/core/molecules/ui-icon-button.orb +1 -1
  255. package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +1 -1
  256. package/behaviors/registry/ui/core/molecules/ui-import-progress.orb +1 -1
  257. package/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +1 -1
  258. package/behaviors/registry/ui/core/molecules/ui-input-group.orb +1 -1
  259. package/behaviors/registry/ui/core/molecules/ui-jazari-state-machine.orb +1 -1
  260. package/behaviors/registry/ui/core/molecules/ui-lightbox.orb +1 -1
  261. package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +1 -1
  262. package/behaviors/registry/ui/core/molecules/ui-line-chart.orb +1 -1
  263. package/behaviors/registry/ui/core/molecules/ui-loading-state.orb +1 -1
  264. package/behaviors/registry/ui/core/molecules/ui-map-view.orb +1 -1
  265. package/behaviors/registry/ui/core/molecules/ui-markdown-content.orb +1 -1
  266. package/behaviors/registry/ui/core/molecules/ui-matrix-question.orb +1 -1
  267. package/behaviors/registry/ui/core/molecules/ui-menu.orb +1 -1
  268. package/behaviors/registry/ui/core/molecules/ui-meter.orb +1 -1
  269. package/behaviors/registry/ui/core/molecules/ui-modal.orb +1 -1
  270. package/behaviors/registry/ui/core/molecules/ui-navigation.orb +1 -1
  271. package/behaviors/registry/ui/core/molecules/ui-notification.orb +1 -1
  272. package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +1 -1
  273. package/behaviors/registry/ui/core/molecules/ui-option-constraint-group.orb +1 -1
  274. package/behaviors/registry/ui/core/molecules/ui-orbital-visualization.orb +1 -1
  275. package/behaviors/registry/ui/core/molecules/ui-page-header.orb +1 -1
  276. package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +1 -1
  277. package/behaviors/registry/ui/core/molecules/ui-pagination.orb +1 -1
  278. package/behaviors/registry/ui/core/molecules/ui-popover.orb +1 -1
  279. package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +1 -1
  280. package/behaviors/registry/ui/core/molecules/ui-progress-dots.orb +1 -1
  281. package/behaviors/registry/ui/core/molecules/ui-pull-to-refresh.orb +1 -1
  282. package/behaviors/registry/ui/core/molecules/ui-qr-scanner.orb +1 -1
  283. package/behaviors/registry/ui/core/molecules/ui-quiz-block.orb +1 -1
  284. package/behaviors/registry/ui/core/molecules/ui-reflection-block.orb +1 -1
  285. package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +1 -1
  286. package/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +1 -1
  287. package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +1 -1
  288. package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +1 -1
  289. package/behaviors/registry/ui/core/molecules/ui-scaled-diagram.orb +1 -1
  290. package/behaviors/registry/ui/core/molecules/ui-search-input.orb +1 -1
  291. package/behaviors/registry/ui/core/molecules/ui-section.orb +1 -1
  292. package/behaviors/registry/ui/core/molecules/ui-side-panel.orb +1 -1
  293. package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +1 -1
  294. package/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +1 -1
  295. package/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +1 -1
  296. package/behaviors/registry/ui/core/molecules/ui-skeleton.orb +1 -1
  297. package/behaviors/registry/ui/core/molecules/ui-social-proof.orb +1 -1
  298. package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +1 -1
  299. package/behaviors/registry/ui/core/molecules/ui-split.orb +1 -1
  300. package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +1 -1
  301. package/behaviors/registry/ui/core/molecules/ui-stat-display.orb +1 -1
  302. package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +1 -1
  303. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +1 -1
  304. package/behaviors/registry/ui/core/molecules/ui-tabs.orb +1 -1
  305. package/behaviors/registry/ui/core/molecules/ui-tag-input.orb +1 -1
  306. package/behaviors/registry/ui/core/molecules/ui-tooltip.orb +1 -1
  307. package/behaviors/registry/ui/core/molecules/ui-top-nav-item.orb +1 -1
  308. package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +1 -1
  309. package/behaviors/registry/ui/core/molecules/ui-version-diff.orb +1 -1
  310. package/behaviors/registry/ui/core/molecules/ui-violation-alert.orb +1 -1
  311. package/behaviors/registry/ui/core/molecules/ui-vote-stack.orb +1 -1
  312. package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +1 -1
  313. package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +1 -1
  314. package/behaviors/registry/ui/core/molecules/ui-wizard-progress.orb +1 -1
  315. package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +1 -1
  316. package/behaviors/registry/ui/core/organisms/ui-code-runner-panel.orb +1 -1
  317. package/behaviors/registry/ui/core/organisms/ui-dashboard-grid.orb +1 -1
  318. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +1 -1
  319. package/behaviors/registry/ui/core/organisms/ui-dock-layout.orb +1 -1
  320. package/behaviors/registry/ui/core/organisms/ui-drawer-slot.orb +1 -1
  321. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +1 -1
  322. package/behaviors/registry/ui/core/organisms/ui-form.orb +1 -1
  323. package/behaviors/registry/ui/core/organisms/ui-master-detail-layout.orb +1 -1
  324. package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +1 -1
  325. package/behaviors/registry/ui/core/organisms/ui-modal-slot.orb +1 -1
  326. package/behaviors/registry/ui/core/organisms/ui-runtime-debugger.orb +1 -1
  327. package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +1 -1
  328. package/behaviors/registry/ui/core/organisms/ui-split-pane.orb +1 -1
  329. package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +1 -1
  330. package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +1 -1
  331. package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +1 -1
  332. package/behaviors/registry/ui/core/organisms/ui-tabbed-container.orb +1 -1
  333. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +1 -1
  334. package/behaviors/registry/ui/core/organisms/ui-toast-slot.orb +1 -1
  335. package/behaviors/registry/ui/core/templates/ui-auth-layout.orb +1 -1
  336. package/behaviors/registry/ui/core/templates/ui-counter-template.orb +1 -1
  337. package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +1 -1
  338. package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +1 -1
  339. package/behaviors/registry/ui/game/atoms/std-arcade-play.orb +1 -1
  340. package/behaviors/registry/ui/game/atoms/std-area-fill.orb +1 -1
  341. package/behaviors/registry/ui/game/atoms/std-audio-cue.orb +1 -1
  342. package/behaviors/registry/ui/game/atoms/std-camera-rig.orb +1 -1
  343. package/behaviors/registry/ui/game/atoms/std-chase-ai.orb +1 -1
  344. package/behaviors/registry/ui/game/atoms/std-choice-gate.orb +1 -1
  345. package/behaviors/registry/ui/game/atoms/std-coef-pad.orb +1 -1
  346. package/behaviors/registry/ui/game/atoms/std-curve-fog.orb +1 -1
  347. package/behaviors/registry/ui/game/atoms/std-dungeon-combat.orb +1 -1
  348. package/behaviors/registry/ui/game/atoms/std-fx-narrative.orb +1 -1
  349. package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +1 -1
  350. package/behaviors/registry/ui/game/atoms/std-fx-trail.orb +1 -1
  351. package/behaviors/registry/ui/game/atoms/std-gate-lock.orb +1 -1
  352. package/behaviors/registry/ui/game/atoms/std-gather.orb +1 -1
  353. package/behaviors/registry/ui/game/atoms/std-gold.orb +1 -1
  354. package/behaviors/registry/ui/game/atoms/std-grid-tactics.orb +1 -1
  355. package/behaviors/registry/ui/game/atoms/std-hero-nav.orb +1 -1
  356. package/behaviors/registry/ui/game/atoms/std-lives.orb +1 -1
  357. package/behaviors/registry/ui/game/atoms/std-loop-lock.orb +1 -1
  358. package/behaviors/registry/ui/game/atoms/std-market-flow.orb +1 -1
  359. package/behaviors/registry/ui/game/atoms/std-motion-body.orb +1 -1
  360. package/behaviors/registry/ui/game/atoms/std-objective-reach.orb +1 -1
  361. package/behaviors/registry/ui/game/atoms/std-pad-lock.orb +1 -1
  362. package/behaviors/registry/ui/game/atoms/std-patience.orb +1 -1
  363. package/behaviors/registry/ui/game/atoms/std-patrol-hazard.orb +1 -1
  364. package/behaviors/registry/ui/game/atoms/std-pickup.orb +1 -1
  365. package/behaviors/registry/ui/game/atoms/std-platformer-body.orb +1 -1
  366. package/behaviors/registry/ui/game/atoms/std-production.orb +1 -1
  367. package/behaviors/registry/ui/game/atoms/std-score.orb +1 -1
  368. package/behaviors/registry/ui/game/atoms/std-tutorial-autodemo.orb +1 -1
  369. package/behaviors/registry/ui/game/atoms/std-tutorial-overlay.orb +1 -1
  370. package/behaviors/registry/ui/game/atoms/std-velocity-gate.orb +1 -1
  371. package/behaviors/registry/ui/game/atoms/std-xp.orb +1 -1
  372. package/behaviors/registry/ui/game/atoms/std-zone-card.orb +1 -1
  373. package/behaviors/registry/ui/game/atoms/ui-action-palette.orb +1 -1
  374. package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +1 -1
  375. package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +1 -1
  376. package/behaviors/registry/ui/game/atoms/ui-canvas.orb +1 -1
  377. package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +1 -1
  378. package/behaviors/registry/ui/game/atoms/ui-control-button.orb +1 -1
  379. package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +1 -1
  380. package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +1 -1
  381. package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +1 -1
  382. package/behaviors/registry/ui/game/atoms/ui-draw-group.orb +1 -1
  383. package/behaviors/registry/ui/game/atoms/ui-draw-mesh.orb +1 -1
  384. package/behaviors/registry/ui/game/atoms/ui-draw-shape-layer.orb +1 -1
  385. package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +1 -1
  386. package/behaviors/registry/ui/game/atoms/ui-draw-skinned-mesh.orb +1 -1
  387. package/behaviors/registry/ui/game/atoms/ui-draw-sprite-layer.orb +1 -1
  388. package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +1 -1
  389. package/behaviors/registry/ui/game/atoms/ui-draw-text-layer.orb +1 -1
  390. package/behaviors/registry/ui/game/atoms/ui-draw-text.orb +1 -1
  391. package/behaviors/registry/ui/game/atoms/ui-game-audio-cue.orb +1 -1
  392. package/behaviors/registry/ui/game/atoms/ui-game-audio-toggle.orb +1 -1
  393. package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +1 -1
  394. package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +1 -1
  395. package/behaviors/registry/ui/game/atoms/ui-health-bar.orb +1 -1
  396. package/behaviors/registry/ui/game/atoms/ui-score-display.orb +1 -1
  397. package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +1 -1
  398. package/behaviors/registry/ui/game/atoms/ui-stat-badge.orb +1 -1
  399. package/behaviors/registry/ui/game/atoms/ui-state-graph.orb +1 -1
  400. package/behaviors/registry/ui/game/atoms/ui-state-json-view.orb +1 -1
  401. package/behaviors/registry/ui/game/atoms/ui-timer-display.orb +1 -1
  402. package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +1 -1
  403. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +1 -1
  404. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +1 -1
  405. package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +1 -1
  406. package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +1 -1
  407. package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +1 -1
  408. package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +1 -1
  409. package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +1 -1
  410. package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +1 -1
  411. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +1 -1
  412. package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +1 -1
  413. package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +1 -1
  414. package/behaviors/registry/ui/game/templates/ui-game-shell.orb +1 -1
  415. package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +1 -1
  416. package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1 -1
  417. package/behaviors/registry/ui/learning/atoms/std-learn-compare.orb +1 -1
  418. package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +1 -1
  419. package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +1 -1
  420. package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +1 -1
  421. package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +1 -1
  422. package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +1 -1
  423. package/behaviors/registry/ui/learning/atoms/std-learn-fx-cues.orb +1 -1
  424. package/behaviors/registry/ui/learning/atoms/std-learn-generate.orb +1 -1
  425. package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +1 -1
  426. package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +1 -1
  427. package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +1 -1
  428. package/behaviors/registry/ui/learning/atoms/std-learn-live-sim.orb +1 -1
  429. package/behaviors/registry/ui/learning/atoms/std-learn-measure.orb +1 -1
  430. package/behaviors/registry/ui/learning/atoms/std-learn-param-explorer.orb +1 -1
  431. package/behaviors/registry/ui/learning/atoms/std-learn-perturb.orb +1 -1
  432. package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +1 -1
  433. package/behaviors/registry/ui/learning/atoms/std-learn-sample-accumulator.orb +1 -1
  434. package/behaviors/registry/ui/learning/atoms/std-learn-sandbox.orb +1 -1
  435. package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +1 -1
  436. package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +1 -1
  437. package/behaviors/registry/ui/learning/atoms/std-learn-sim-3d.orb +1 -1
  438. package/behaviors/registry/ui/learning/atoms/std-learn-slope-probe.orb +1 -1
  439. package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +1 -1
  440. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +1 -1
  441. package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +1 -1
  442. package/behaviors/registry/ui/learning/atoms/std-learn-trace-player.orb +1 -1
  443. package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +1 -1
  444. package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +1 -1
  445. package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +1 -1
  446. package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +1 -1
  447. package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +1 -1
  448. package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +1 -1
  449. package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +1 -1
  450. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +1 -1
  451. package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +1 -1
  452. package/dist/behaviors-embeddings.hash.json +1 -1
  453. package/dist/behaviors-embeddings.json +1 -1
  454. package/dist/knob-embeddings.hash.json +1 -1
  455. package/package.json +1 -1
@@ -1 +1 @@
1
- {"name":"std-circuit-breaker","version":"1.0.0","description":"std-circuit-breaker as a Function","orbitals":[{"name":"ServiceNodeOrbital","id":"orb_Z1BTKTK2ENH7AM533FQXD82NNT","uses":[{"from":"std/behaviors/ui-icon","as":"Icon"},{"from":"std/behaviors/ui-typography","as":"Typography"},{"from":"std/behaviors/ui-status-dot","as":"StatusDot"},{"from":"std/behaviors/ui-alert","as":"Alert"},{"from":"std/behaviors/ui-stat-display","as":"StatDisplay"},{"from":"std/behaviors/ui-meter","as":"Meter"},{"from":"std/behaviors/ui-button","as":"Button"},{"from":"std/behaviors/ui-divider","as":"Divider"},{"from":"std/behaviors/ui-simple-grid","as":"SimpleGrid"}],"entity":{"name":"ServiceNode","id":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","persistence":"runtime","fields":[{"name":"id","type":"string"},{"name":"name","type":"string","description":"A user-defined identifier for the circuit breaker.","synonyms":"identifier, label, designation"},{"name":"description","type":"string","description":"A textual explanation of the service node's function.","synonyms":"explanation, details, notes, information"},{"name":"status","type":"string","default":"active","values":["active","inactive","pending"],"description":"Current operational state of the component.","synonyms":"state, condition, operationalStatus"},{"name":"createdAt","type":"string"},{"name":"failureCount","type":"number","default":0,"intrinsic":true,"description":"The number of times the circuit breaker has failed.","synonyms":"error count, failures, error occurrences"},{"name":"successCount","type":"number","default":0,"intrinsic":true,"description":"Number of successful operations.","synonyms":"successes, hits, completions"},{"name":"threshold","type":"number","default":5,"intrinsic":true,"description":"Maximum value before triggering an action.","synonyms":"limit, cap, boundary"},{"name":"openedAt","type":"number","default":0,"intrinsic":true,"description":"When the circuit last opened, in epoch milliseconds; the cooldown tick measures from it. 0 = never opened.","synonyms":"tripped at, opened time"}]},"traits":[{"ref":"Icon.traits.IconRender","id":"trt_F77FK6T5TB2X5NAE0QFSBRSP8T","name":"ShieldIcon","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"name":{"type":"unknown","default":"shield"}}},{"ref":"Icon.traits.IconRender","id":"trt_41JAD99YVSZDWHKWHZBSQE66FF","name":"AlertTriangleIcon","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"name":{"type":"unknown","default":"alert-triangle"}}},{"ref":"Icon.traits.IconRender","id":"trt_2DWGK0VWFCY7P18CQN6FKB8J6D","name":"ActivityIcon","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"name":{"type":"unknown","default":"activity"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_BHK7FDZJXFSEQP7Q6X7E9BVX1W","name":"ServiceNodeLabel","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"variant":{"type":"unknown","default":"h2"},"content":{"type":"unknown","default":"ServiceNode"}}},{"ref":"StatusDot.traits.StatusDotRender","id":"trt_8E39M0NSJVWSDHT9QSX3KF0GCC","name":"ClosedStatusDot","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"pulse":{"type":"unknown","default":false},"label":{"type":"unknown","default":"Circuit Closed"},"status":{"type":"unknown","default":"online"}}},{"ref":"StatusDot.traits.StatusDotRender","id":"trt_WHMH6YTP1PB0VB5JSJ6YSCEJY6","name":"OpenStatusDot","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"pulse":{"type":"unknown","default":true},"label":{"type":"unknown","default":"Circuit Open"},"status":{"type":"unknown","default":"critical"}}},{"ref":"StatusDot.traits.StatusDotRender","id":"trt_C25G1DJTXPDEV1WJSGDP1BFW16","name":"HalfOpenStatusDot","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"pulse":{"type":"unknown","default":true},"status":{"type":"unknown","default":"warning"},"label":{"type":"unknown","default":"Circuit Half-Open"}}},{"ref":"Alert.traits.AlertRender","id":"trt_VY35JJX75AKJN4TCSSB1P2QEZ5","name":"SuccessAlert","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"variant":{"type":"unknown","default":"success"},"message":{"type":"unknown","default":"Service is healthy. All requests are being processed."}}},{"ref":"Alert.traits.AlertRender","id":"trt_8CZP0V7EXYQEZ9GE5YV6ESBX6K","name":"ErrorAlert","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"variant":{"type":"unknown","default":"error"},"message":{"type":"unknown","default":"Circuit is open. Requests are being rejected to prevent cascading failures."}}},{"ref":"Alert.traits.AlertRender","id":"trt_WXZ6DGVDRQPWBK6M3X7RMAD04Y","name":"WarningAlert","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"variant":{"type":"unknown","default":"warning"},"message":{"type":"unknown","default":"Testing recovery. Limited requests are being allowed through."}}},{"ref":"StatDisplay.traits.StatDisplayRender","id":"trt_0CEMMQE1FY0QZDMP0SV8VBNKHE","name":"FailuresStat","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"value":{"type":"unknown","default":"@entity.failureCount"},"look":{"type":"unknown","default":"@config.statLook"},"label":{"type":"unknown","default":"Failures"}}},{"ref":"StatDisplay.traits.StatDisplayRender","id":"trt_0Q76MDDSJ2WS1D540MXPPBZP2Z","name":"SuccessesStat","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"label":{"type":"unknown","default":"Successes"},"value":{"type":"unknown","default":"@entity.successCount"},"look":{"type":"unknown","default":"@config.statLook"}}},{"ref":"Meter.traits.MeterRender","id":"trt_ACRZRKT8PT4BD72P3DARY2P37B","name":"FailuresMeter","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"value":{"type":"unknown","default":"@entity.failureCount"},"max":{"type":"unknown","default":"@entity.threshold"},"min":{"type":"unknown","default":0}}},{"ref":"Button.traits.ButtonRender","id":"trt_JPC1NBVEKWQ9Y6EYV9MBG2TQEM","name":"ResetButton","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"action":{"type":"unknown","default":"RESET"},"variant":{"type":"unknown","default":"ghost"},"icon":{"type":"unknown","default":"rotate-ccw"},"label":{"type":"unknown","default":"Reset"}}},{"ref":"Divider.traits.DividerRender","id":"trt_0FAD4QXBEVNQDW7NGR3R6X11Y1","name":"CircuitDivider","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD"},{"ref":"SimpleGrid.traits.SimpleGridRender","id":"trt_76DZ8748TM4DAECWR826AC03AR","name":"StatsGrid","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"children":{"type":"unknown","default":["@trait.FailuresStat","@trait.SuccessesStat"]},"cols":{"type":"unknown","default":2}}},{"name":"ServiceNodeCircuitBreaker","id":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W","effectRow":[{"kind":"emit","resource":"TIMEOUT","site":"tick"},{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.failureCount"},{"kind":"set","resource":"@entity.openedAt"},{"kind":"set","resource":"@entity.successCount"},{"kind":"set","resource":"@entity.threshold"},{"kind":"ticks","site":"tick"}],"category":"interaction","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","entityRefIds":{"ServiceNode":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD"},"traitEmbedIds":{"ShieldIcon":"trt_F77FK6T5TB2X5NAE0QFSBRSP8T","ActivityIcon":"trt_2DWGK0VWFCY7P18CQN6FKB8J6D","FailuresMeter":"trt_ACRZRKT8PT4BD72P3DARY2P37B","OpenStatusDot":"trt_WHMH6YTP1PB0VB5JSJ6YSCEJY6","StatsGrid":"trt_76DZ8748TM4DAECWR826AC03AR","CircuitDivider":"trt_0FAD4QXBEVNQDW7NGR3R6X11Y1","WarningAlert":"trt_WXZ6DGVDRQPWBK6M3X7RMAD04Y","ClosedStatusDot":"trt_8E39M0NSJVWSDHT9QSX3KF0GCC","SuccessAlert":"trt_VY35JJX75AKJN4TCSSB1P2QEZ5","ServiceNodeLabel":"trt_BHK7FDZJXFSEQP7Q6X7E9BVX1W","ErrorAlert":"trt_8CZP0V7EXYQEZ9GE5YV6ESBX6K","HalfOpenStatusDot":"trt_C25G1DJTXPDEV1WJSGDP1BFW16","AlertTriangleIcon":"trt_41JAD99YVSZDWHKWHZBSQE66FF","ResetButton":"trt_JPC1NBVEKWQ9Y6EYV9MBG2TQEM"},"emits":[{"event":"TIMEOUT","eventId":"evt_BQ7772E1V00XG5T0BCA04BTTWA","description":"The open circuit's cooldown elapsed; the breaker lets a trial request through (halfOpen).","synonyms":"cooldown elapsed, retry window, trial period","scope":"internal"}],"stateMachine":{"states":[{"name":"closed","isInitial":true},{"name":"open"},{"name":"halfOpen"}],"events":[{"key":"INIT","id":"evt_ZPDFK8578PKMB04NRG7BE6W1WZ","name":"Initialize"},{"key":"FAILURE","id":"evt_BEYWBNK922MH1F0KER1TJ6M577","name":"Failure"},{"key":"SUCCESS","id":"evt_FMTF13WMN0AAGBD7QQ5B9FBQTZ","name":"Success"},{"key":"TIMEOUT","id":"evt_BQ7772E1V00XG5T0BCA04BTTWA","name":"Timeout","description":"The open circuit's cooldown elapsed; the breaker lets a trial request through (halfOpen).","synonyms":"cooldown elapsed, retry window, trial period"},{"key":"RESET","id":"evt_EDA7FTMGY28F1CV4QW56SZKBC1","name":"Reset"}],"transitions":[{"from":"closed","to":"closed","event":"INIT","eventId":"evt_ZPDFK8578PKMB04NRG7BE6W1WZ","effects":[["set","@entity.failureCount",0],["set","@entity.successCount",0],["set","@entity.threshold","@config.failureThreshold"],["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.ClosedStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.SuccessAlert","@trait.StatsGrid","@trait.FailuresMeter"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"closed","to":"open","event":"FAILURE","eventId":"evt_BEYWBNK922MH1F0KER1TJ6M577","effects":[["set","@entity.openedAt",["time/now"]],["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.AlertTriangleIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.OpenStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.ErrorAlert","@trait.StatsGrid","@trait.FailuresMeter","@trait.ResetButton"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"closed","to":"closed","event":"SUCCESS","eventId":"evt_FMTF13WMN0AAGBD7QQ5B9FBQTZ","effects":[["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.ClosedStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.SuccessAlert","@trait.StatsGrid","@trait.FailuresMeter"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"open","to":"closed","event":"INIT","eventId":"evt_ZPDFK8578PKMB04NRG7BE6W1WZ","effects":[["set","@entity.failureCount",0],["set","@entity.successCount",0],["set","@entity.threshold","@config.failureThreshold"],["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.ClosedStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.SuccessAlert","@trait.StatsGrid","@trait.FailuresMeter"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"open","to":"halfOpen","event":"TIMEOUT","eventId":"evt_BQ7772E1V00XG5T0BCA04BTTWA","effects":[["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ActivityIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.HalfOpenStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.WarningAlert","@trait.StatsGrid"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"open","to":"closed","event":"RESET","eventId":"evt_EDA7FTMGY28F1CV4QW56SZKBC1","effects":[["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.ClosedStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.SuccessAlert","@trait.StatsGrid","@trait.FailuresMeter"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"halfOpen","to":"closed","event":"INIT","eventId":"evt_ZPDFK8578PKMB04NRG7BE6W1WZ","effects":[["set","@entity.failureCount",0],["set","@entity.successCount",0],["set","@entity.threshold","@config.failureThreshold"],["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.ClosedStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.SuccessAlert","@trait.StatsGrid","@trait.FailuresMeter"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"halfOpen","to":"closed","event":"SUCCESS","eventId":"evt_FMTF13WMN0AAGBD7QQ5B9FBQTZ","effects":[["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.ClosedStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.SuccessAlert","@trait.StatsGrid","@trait.FailuresMeter"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"halfOpen","to":"open","event":"FAILURE","eventId":"evt_BEYWBNK922MH1F0KER1TJ6M577","effects":[["set","@entity.openedAt",["time/now"]],["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.AlertTriangleIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.OpenStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.ErrorAlert","@trait.StatsGrid","@trait.FailuresMeter","@trait.ResetButton"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"halfOpen","to":"closed","event":"RESET","eventId":"evt_EDA7FTMGY28F1CV4QW56SZKBC1","effects":[["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.ClosedStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.SuccessAlert","@trait.StatsGrid","@trait.FailuresMeter"],"direction":"vertical","gap":"lg","type":"stack"}]]}]},"ticks":[{"name":"cooldownCheck","interval":1000,"guard":["and",["==","@state","open"],[">=",["-","@now","@entity.openedAt"],"@config.cooldownMs"]],"effects":[["emit","TIMEOUT"]]}],"config":{"cooldownMs":{"type":"number","default":30000,"label":"Cooldown (ms)","description":"How long the circuit stays open before it moves to half-open and lets a trial request through.","synonyms":"reset timeout, open duration, retry delay","tier":"domain"},"failureThreshold":{"type":"number","default":5,"label":"Failure threshold","description":"Number of consecutive failures before the circuit opens and starts rejecting requests.","synonyms":"open trigger, failure count","tier":"domain"},"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"]}},"scope":"collection"}],"pages":[{"name":"ServiceNodePage","id":"pag_S318A2P2DR16W4TGN442E11H5X","path":"/servicenodes","traits":[{"ref":"ServiceNodeCircuitBreaker","refId":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W"}]}]}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_NPBESDA3KS1SWXS9238Y3Z8KKD":{"id":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","kind":"entity","bakedName":"ServiceNode","curName":"ServiceNode","renames":[],"owner":"workspace"},"evt_BEYWBNK922MH1F0KER1TJ6M577":{"id":"evt_BEYWBNK922MH1F0KER1TJ6M577","kind":"event","bakedName":"FAILURE","curName":"FAILURE","renames":[],"owner":"workspace","parent":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W"},"evt_BQ7772E1V00XG5T0BCA04BTTWA":{"id":"evt_BQ7772E1V00XG5T0BCA04BTTWA","kind":"event","bakedName":"TIMEOUT","curName":"TIMEOUT","renames":[],"owner":"workspace","parent":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W"},"evt_EDA7FTMGY28F1CV4QW56SZKBC1":{"id":"evt_EDA7FTMGY28F1CV4QW56SZKBC1","kind":"event","bakedName":"RESET","curName":"RESET","renames":[],"owner":"workspace","parent":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W"},"evt_FMTF13WMN0AAGBD7QQ5B9FBQTZ":{"id":"evt_FMTF13WMN0AAGBD7QQ5B9FBQTZ","kind":"event","bakedName":"SUCCESS","curName":"SUCCESS","renames":[],"owner":"workspace","parent":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W"},"evt_ZPDFK8578PKMB04NRG7BE6W1WZ":{"id":"evt_ZPDFK8578PKMB04NRG7BE6W1WZ","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W"},"orb_Z1BTKTK2ENH7AM533FQXD82NNT":{"id":"orb_Z1BTKTK2ENH7AM533FQXD82NNT","kind":"orbital","bakedName":"ServiceNodeOrbital","curName":"ServiceNodeOrbital","renames":[],"owner":"workspace"},"pag_S318A2P2DR16W4TGN442E11H5X":{"id":"pag_S318A2P2DR16W4TGN442E11H5X","kind":"page","bakedName":"ServiceNodePage","curName":"ServiceNodePage","renames":[],"owner":"workspace"},"trt_0CEMMQE1FY0QZDMP0SV8VBNKHE":{"id":"trt_0CEMMQE1FY0QZDMP0SV8VBNKHE","kind":"trait","bakedName":"FailuresStat","curName":"FailuresStat","renames":[],"owner":"workspace"},"trt_0FAD4QXBEVNQDW7NGR3R6X11Y1":{"id":"trt_0FAD4QXBEVNQDW7NGR3R6X11Y1","kind":"trait","bakedName":"CircuitDivider","curName":"CircuitDivider","renames":[],"owner":"workspace"},"trt_0Q76MDDSJ2WS1D540MXPPBZP2Z":{"id":"trt_0Q76MDDSJ2WS1D540MXPPBZP2Z","kind":"trait","bakedName":"SuccessesStat","curName":"SuccessesStat","renames":[],"owner":"workspace"},"trt_2DWGK0VWFCY7P18CQN6FKB8J6D":{"id":"trt_2DWGK0VWFCY7P18CQN6FKB8J6D","kind":"trait","bakedName":"ActivityIcon","curName":"ActivityIcon","renames":[],"owner":"workspace"},"trt_41JAD99YVSZDWHKWHZBSQE66FF":{"id":"trt_41JAD99YVSZDWHKWHZBSQE66FF","kind":"trait","bakedName":"AlertTriangleIcon","curName":"AlertTriangleIcon","renames":[],"owner":"workspace"},"trt_76DZ8748TM4DAECWR826AC03AR":{"id":"trt_76DZ8748TM4DAECWR826AC03AR","kind":"trait","bakedName":"StatsGrid","curName":"StatsGrid","renames":[],"owner":"workspace"},"trt_8CZP0V7EXYQEZ9GE5YV6ESBX6K":{"id":"trt_8CZP0V7EXYQEZ9GE5YV6ESBX6K","kind":"trait","bakedName":"ErrorAlert","curName":"ErrorAlert","renames":[],"owner":"workspace"},"trt_8E39M0NSJVWSDHT9QSX3KF0GCC":{"id":"trt_8E39M0NSJVWSDHT9QSX3KF0GCC","kind":"trait","bakedName":"ClosedStatusDot","curName":"ClosedStatusDot","renames":[],"owner":"workspace"},"trt_ACRZRKT8PT4BD72P3DARY2P37B":{"id":"trt_ACRZRKT8PT4BD72P3DARY2P37B","kind":"trait","bakedName":"FailuresMeter","curName":"FailuresMeter","renames":[],"owner":"workspace"},"trt_BHK7FDZJXFSEQP7Q6X7E9BVX1W":{"id":"trt_BHK7FDZJXFSEQP7Q6X7E9BVX1W","kind":"trait","bakedName":"ServiceNodeLabel","curName":"ServiceNodeLabel","renames":[],"owner":"workspace"},"trt_C25G1DJTXPDEV1WJSGDP1BFW16":{"id":"trt_C25G1DJTXPDEV1WJSGDP1BFW16","kind":"trait","bakedName":"HalfOpenStatusDot","curName":"HalfOpenStatusDot","renames":[],"owner":"workspace"},"trt_D6YGB5CZTNFXAGBD20DPWRHE4W":{"id":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W","kind":"trait","bakedName":"ServiceNodeCircuitBreaker","curName":"ServiceNodeCircuitBreaker","renames":[],"owner":"workspace"},"trt_F77FK6T5TB2X5NAE0QFSBRSP8T":{"id":"trt_F77FK6T5TB2X5NAE0QFSBRSP8T","kind":"trait","bakedName":"ShieldIcon","curName":"ShieldIcon","renames":[],"owner":"workspace"},"trt_JPC1NBVEKWQ9Y6EYV9MBG2TQEM":{"id":"trt_JPC1NBVEKWQ9Y6EYV9MBG2TQEM","kind":"trait","bakedName":"ResetButton","curName":"ResetButton","renames":[],"owner":"workspace"},"trt_VY35JJX75AKJN4TCSSB1P2QEZ5":{"id":"trt_VY35JJX75AKJN4TCSSB1P2QEZ5","kind":"trait","bakedName":"SuccessAlert","curName":"SuccessAlert","renames":[],"owner":"workspace"},"trt_WHMH6YTP1PB0VB5JSJ6YSCEJY6":{"id":"trt_WHMH6YTP1PB0VB5JSJ6YSCEJY6","kind":"trait","bakedName":"OpenStatusDot","curName":"OpenStatusDot","renames":[],"owner":"workspace"},"trt_WXZ6DGVDRQPWBK6M3X7RMAD04Y":{"id":"trt_WXZ6DGVDRQPWBK6M3X7RMAD04Y","kind":"trait","bakedName":"WarningAlert","curName":"WarningAlert","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-circuit-breaker","version":"1.0.0","description":"std-circuit-breaker as a Function","orbitals":[{"name":"ServiceNodeOrbital","id":"orb_Z1BTKTK2ENH7AM533FQXD82NNT","uses":[{"from":"std/behaviors/ui-icon","as":"Icon"},{"from":"std/behaviors/ui-typography","as":"Typography"},{"from":"std/behaviors/ui-status-dot","as":"StatusDot"},{"from":"std/behaviors/ui-alert","as":"Alert"},{"from":"std/behaviors/ui-stat-display","as":"StatDisplay"},{"from":"std/behaviors/ui-meter","as":"Meter"},{"from":"std/behaviors/ui-button","as":"Button"},{"from":"std/behaviors/ui-divider","as":"Divider"},{"from":"std/behaviors/ui-simple-grid","as":"SimpleGrid"}],"entity":{"name":"ServiceNode","id":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","persistence":"runtime","fields":[{"name":"id","type":"string"},{"name":"name","type":"string","description":"A user-defined identifier for the circuit breaker.","synonyms":"identifier, label, designation"},{"name":"description","type":"string","description":"A textual explanation of the service node's function.","synonyms":"explanation, details, notes, information"},{"name":"status","type":"string","default":"active","values":["active","inactive","pending"],"description":"Current operational state of the component.","synonyms":"state, condition, operationalStatus"},{"name":"createdAt","type":"string"},{"name":"failureCount","type":"number","default":0,"intrinsic":true,"description":"The number of times the circuit breaker has failed.","synonyms":"error count, failures, error occurrences"},{"name":"successCount","type":"number","default":0,"intrinsic":true,"description":"Number of successful operations.","synonyms":"successes, hits, completions"},{"name":"threshold","type":"number","default":5,"intrinsic":true,"description":"Maximum value before triggering an action.","synonyms":"limit, cap, boundary"},{"name":"openedAt","type":"number","default":0,"intrinsic":true,"description":"When the circuit last opened, in epoch milliseconds; the cooldown tick measures from it. 0 = never opened.","synonyms":"tripped at, opened time"}]},"traits":[{"ref":"Icon.traits.IconRender","id":"trt_F77FK6T5TB2X5NAE0QFSBRSP8T","name":"ShieldIcon","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"name":{"type":"unknown","default":"shield"}}},{"ref":"Icon.traits.IconRender","id":"trt_41JAD99YVSZDWHKWHZBSQE66FF","name":"AlertTriangleIcon","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"name":{"type":"unknown","default":"alert-triangle"}}},{"ref":"Icon.traits.IconRender","id":"trt_2DWGK0VWFCY7P18CQN6FKB8J6D","name":"ActivityIcon","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"name":{"type":"unknown","default":"activity"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_BHK7FDZJXFSEQP7Q6X7E9BVX1W","name":"ServiceNodeLabel","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"content":{"type":"unknown","default":"ServiceNode"},"variant":{"type":"unknown","default":"h2"}}},{"ref":"StatusDot.traits.StatusDotRender","id":"trt_8E39M0NSJVWSDHT9QSX3KF0GCC","name":"ClosedStatusDot","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"pulse":{"type":"unknown","default":false},"label":{"type":"unknown","default":"Circuit Closed"},"status":{"type":"unknown","default":"online"}}},{"ref":"StatusDot.traits.StatusDotRender","id":"trt_WHMH6YTP1PB0VB5JSJ6YSCEJY6","name":"OpenStatusDot","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"label":{"type":"unknown","default":"Circuit Open"},"pulse":{"type":"unknown","default":true},"status":{"type":"unknown","default":"critical"}}},{"ref":"StatusDot.traits.StatusDotRender","id":"trt_C25G1DJTXPDEV1WJSGDP1BFW16","name":"HalfOpenStatusDot","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"label":{"type":"unknown","default":"Circuit Half-Open"},"status":{"type":"unknown","default":"warning"},"pulse":{"type":"unknown","default":true}}},{"ref":"Alert.traits.AlertRender","id":"trt_VY35JJX75AKJN4TCSSB1P2QEZ5","name":"SuccessAlert","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"message":{"type":"unknown","default":"Service is healthy. All requests are being processed."},"variant":{"type":"unknown","default":"success"}}},{"ref":"Alert.traits.AlertRender","id":"trt_8CZP0V7EXYQEZ9GE5YV6ESBX6K","name":"ErrorAlert","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"message":{"type":"unknown","default":"Circuit is open. Requests are being rejected to prevent cascading failures."},"variant":{"type":"unknown","default":"error"}}},{"ref":"Alert.traits.AlertRender","id":"trt_WXZ6DGVDRQPWBK6M3X7RMAD04Y","name":"WarningAlert","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"variant":{"type":"unknown","default":"warning"},"message":{"type":"unknown","default":"Testing recovery. Limited requests are being allowed through."}}},{"ref":"StatDisplay.traits.StatDisplayRender","id":"trt_0CEMMQE1FY0QZDMP0SV8VBNKHE","name":"FailuresStat","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"label":{"type":"unknown","default":"Failures"},"look":{"type":"unknown","default":"@config.statLook"},"value":{"type":"unknown","default":"@entity.failureCount"}}},{"ref":"StatDisplay.traits.StatDisplayRender","id":"trt_0Q76MDDSJ2WS1D540MXPPBZP2Z","name":"SuccessesStat","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"look":{"type":"unknown","default":"@config.statLook"},"label":{"type":"unknown","default":"Successes"},"value":{"type":"unknown","default":"@entity.successCount"}}},{"ref":"Meter.traits.MeterRender","id":"trt_ACRZRKT8PT4BD72P3DARY2P37B","name":"FailuresMeter","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"min":{"type":"unknown","default":0},"value":{"type":"unknown","default":"@entity.failureCount"},"max":{"type":"unknown","default":"@entity.threshold"}}},{"ref":"Button.traits.ButtonRender","id":"trt_JPC1NBVEKWQ9Y6EYV9MBG2TQEM","name":"ResetButton","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"icon":{"type":"unknown","default":"rotate-ccw"},"action":{"type":"unknown","default":"RESET"},"variant":{"type":"unknown","default":"ghost"},"label":{"type":"unknown","default":"Reset"}}},{"ref":"Divider.traits.DividerRender","id":"trt_0FAD4QXBEVNQDW7NGR3R6X11Y1","name":"CircuitDivider","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD"},{"ref":"SimpleGrid.traits.SimpleGridRender","id":"trt_76DZ8748TM4DAECWR826AC03AR","name":"StatsGrid","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","config":{"cols":{"type":"unknown","default":2},"children":{"type":"unknown","default":["@trait.FailuresStat","@trait.SuccessesStat"]}}},{"name":"ServiceNodeCircuitBreaker","id":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W","effectRow":[{"kind":"emit","resource":"TIMEOUT","site":"tick"},{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.failureCount"},{"kind":"set","resource":"@entity.openedAt"},{"kind":"set","resource":"@entity.successCount"},{"kind":"set","resource":"@entity.threshold"},{"kind":"ticks","site":"tick"}],"category":"interaction","linkedEntity":"ServiceNode","linkedEntityId":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","entityRefIds":{"ServiceNode":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD"},"traitEmbedIds":{"HalfOpenStatusDot":"trt_C25G1DJTXPDEV1WJSGDP1BFW16","StatsGrid":"trt_76DZ8748TM4DAECWR826AC03AR","FailuresMeter":"trt_ACRZRKT8PT4BD72P3DARY2P37B","AlertTriangleIcon":"trt_41JAD99YVSZDWHKWHZBSQE66FF","CircuitDivider":"trt_0FAD4QXBEVNQDW7NGR3R6X11Y1","OpenStatusDot":"trt_WHMH6YTP1PB0VB5JSJ6YSCEJY6","ErrorAlert":"trt_8CZP0V7EXYQEZ9GE5YV6ESBX6K","WarningAlert":"trt_WXZ6DGVDRQPWBK6M3X7RMAD04Y","ClosedStatusDot":"trt_8E39M0NSJVWSDHT9QSX3KF0GCC","ResetButton":"trt_JPC1NBVEKWQ9Y6EYV9MBG2TQEM","ServiceNodeLabel":"trt_BHK7FDZJXFSEQP7Q6X7E9BVX1W","ActivityIcon":"trt_2DWGK0VWFCY7P18CQN6FKB8J6D","ShieldIcon":"trt_F77FK6T5TB2X5NAE0QFSBRSP8T","SuccessAlert":"trt_VY35JJX75AKJN4TCSSB1P2QEZ5"},"emits":[{"event":"TIMEOUT","eventId":"evt_BQ7772E1V00XG5T0BCA04BTTWA","description":"The open circuit's cooldown elapsed; the breaker lets a trial request through (halfOpen).","synonyms":"cooldown elapsed, retry window, trial period","scope":"internal"}],"stateMachine":{"states":[{"name":"closed","isInitial":true},{"name":"open"},{"name":"halfOpen"}],"events":[{"key":"INIT","id":"evt_ZPDFK8578PKMB04NRG7BE6W1WZ","name":"Initialize"},{"key":"FAILURE","id":"evt_BEYWBNK922MH1F0KER1TJ6M577","name":"Failure"},{"key":"SUCCESS","id":"evt_FMTF13WMN0AAGBD7QQ5B9FBQTZ","name":"Success"},{"key":"TIMEOUT","id":"evt_BQ7772E1V00XG5T0BCA04BTTWA","name":"Timeout","description":"The open circuit's cooldown elapsed; the breaker lets a trial request through (halfOpen).","synonyms":"cooldown elapsed, retry window, trial period"},{"key":"RESET","id":"evt_EDA7FTMGY28F1CV4QW56SZKBC1","name":"Reset"}],"transitions":[{"from":"closed","to":"closed","event":"INIT","eventId":"evt_ZPDFK8578PKMB04NRG7BE6W1WZ","effects":[["set","@entity.failureCount",0],["set","@entity.successCount",0],["set","@entity.threshold","@config.failureThreshold"],["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.ClosedStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.SuccessAlert","@trait.StatsGrid","@trait.FailuresMeter"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"closed","to":"open","event":"FAILURE","eventId":"evt_BEYWBNK922MH1F0KER1TJ6M577","effects":[["set","@entity.openedAt",["time/now"]],["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.AlertTriangleIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.OpenStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.ErrorAlert","@trait.StatsGrid","@trait.FailuresMeter","@trait.ResetButton"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"closed","to":"closed","event":"SUCCESS","eventId":"evt_FMTF13WMN0AAGBD7QQ5B9FBQTZ","effects":[["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.ClosedStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.SuccessAlert","@trait.StatsGrid","@trait.FailuresMeter"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"open","to":"closed","event":"INIT","eventId":"evt_ZPDFK8578PKMB04NRG7BE6W1WZ","effects":[["set","@entity.failureCount",0],["set","@entity.successCount",0],["set","@entity.threshold","@config.failureThreshold"],["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.ClosedStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.SuccessAlert","@trait.StatsGrid","@trait.FailuresMeter"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"open","to":"halfOpen","event":"TIMEOUT","eventId":"evt_BQ7772E1V00XG5T0BCA04BTTWA","effects":[["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ActivityIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.HalfOpenStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.WarningAlert","@trait.StatsGrid"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"open","to":"closed","event":"RESET","eventId":"evt_EDA7FTMGY28F1CV4QW56SZKBC1","effects":[["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.ClosedStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.SuccessAlert","@trait.StatsGrid","@trait.FailuresMeter"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"halfOpen","to":"closed","event":"INIT","eventId":"evt_ZPDFK8578PKMB04NRG7BE6W1WZ","effects":[["set","@entity.failureCount",0],["set","@entity.successCount",0],["set","@entity.threshold","@config.failureThreshold"],["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.ClosedStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.SuccessAlert","@trait.StatsGrid","@trait.FailuresMeter"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"halfOpen","to":"closed","event":"SUCCESS","eventId":"evt_FMTF13WMN0AAGBD7QQ5B9FBQTZ","effects":[["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.ClosedStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.SuccessAlert","@trait.StatsGrid","@trait.FailuresMeter"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"halfOpen","to":"open","event":"FAILURE","eventId":"evt_BEYWBNK922MH1F0KER1TJ6M577","effects":[["set","@entity.openedAt",["time/now"]],["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.AlertTriangleIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.OpenStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.ErrorAlert","@trait.StatsGrid","@trait.FailuresMeter","@trait.ResetButton"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"halfOpen","to":"closed","event":"RESET","eventId":"evt_EDA7FTMGY28F1CV4QW56SZKBC1","effects":[["render-ui","main",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldIcon","@trait.ServiceNodeLabel"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.ClosedStatusDot"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.CircuitDivider","@trait.SuccessAlert","@trait.StatsGrid","@trait.FailuresMeter"],"direction":"vertical","gap":"lg","type":"stack"}]]}]},"ticks":[{"name":"cooldownCheck","interval":1000,"guard":["and",["==","@state","open"],[">=",["-","@now","@entity.openedAt"],"@config.cooldownMs"]],"effects":[["emit","TIMEOUT"]]}],"config":{"failureThreshold":{"type":"number","default":5,"label":"Failure threshold","description":"Number of consecutive failures before the circuit opens and starts rejecting requests.","synonyms":"open trigger, failure count","tier":"domain"},"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"]},"cooldownMs":{"type":"number","default":30000,"label":"Cooldown (ms)","description":"How long the circuit stays open before it moves to half-open and lets a trial request through.","synonyms":"reset timeout, open duration, retry delay","tier":"domain"}},"scope":"collection"}],"pages":[{"name":"ServiceNodePage","id":"pag_S318A2P2DR16W4TGN442E11H5X","path":"/servicenodes","traits":[{"ref":"ServiceNodeCircuitBreaker","refId":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W"}]}]}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_NPBESDA3KS1SWXS9238Y3Z8KKD":{"id":"ent_NPBESDA3KS1SWXS9238Y3Z8KKD","kind":"entity","bakedName":"ServiceNode","curName":"ServiceNode","renames":[],"owner":"workspace"},"evt_BEYWBNK922MH1F0KER1TJ6M577":{"id":"evt_BEYWBNK922MH1F0KER1TJ6M577","kind":"event","bakedName":"FAILURE","curName":"FAILURE","renames":[],"owner":"workspace","parent":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W"},"evt_BQ7772E1V00XG5T0BCA04BTTWA":{"id":"evt_BQ7772E1V00XG5T0BCA04BTTWA","kind":"event","bakedName":"TIMEOUT","curName":"TIMEOUT","renames":[],"owner":"workspace","parent":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W"},"evt_EDA7FTMGY28F1CV4QW56SZKBC1":{"id":"evt_EDA7FTMGY28F1CV4QW56SZKBC1","kind":"event","bakedName":"RESET","curName":"RESET","renames":[],"owner":"workspace","parent":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W"},"evt_FMTF13WMN0AAGBD7QQ5B9FBQTZ":{"id":"evt_FMTF13WMN0AAGBD7QQ5B9FBQTZ","kind":"event","bakedName":"SUCCESS","curName":"SUCCESS","renames":[],"owner":"workspace","parent":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W"},"evt_ZPDFK8578PKMB04NRG7BE6W1WZ":{"id":"evt_ZPDFK8578PKMB04NRG7BE6W1WZ","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W"},"orb_Z1BTKTK2ENH7AM533FQXD82NNT":{"id":"orb_Z1BTKTK2ENH7AM533FQXD82NNT","kind":"orbital","bakedName":"ServiceNodeOrbital","curName":"ServiceNodeOrbital","renames":[],"owner":"workspace"},"pag_S318A2P2DR16W4TGN442E11H5X":{"id":"pag_S318A2P2DR16W4TGN442E11H5X","kind":"page","bakedName":"ServiceNodePage","curName":"ServiceNodePage","renames":[],"owner":"workspace"},"trt_0CEMMQE1FY0QZDMP0SV8VBNKHE":{"id":"trt_0CEMMQE1FY0QZDMP0SV8VBNKHE","kind":"trait","bakedName":"FailuresStat","curName":"FailuresStat","renames":[],"owner":"workspace"},"trt_0FAD4QXBEVNQDW7NGR3R6X11Y1":{"id":"trt_0FAD4QXBEVNQDW7NGR3R6X11Y1","kind":"trait","bakedName":"CircuitDivider","curName":"CircuitDivider","renames":[],"owner":"workspace"},"trt_0Q76MDDSJ2WS1D540MXPPBZP2Z":{"id":"trt_0Q76MDDSJ2WS1D540MXPPBZP2Z","kind":"trait","bakedName":"SuccessesStat","curName":"SuccessesStat","renames":[],"owner":"workspace"},"trt_2DWGK0VWFCY7P18CQN6FKB8J6D":{"id":"trt_2DWGK0VWFCY7P18CQN6FKB8J6D","kind":"trait","bakedName":"ActivityIcon","curName":"ActivityIcon","renames":[],"owner":"workspace"},"trt_41JAD99YVSZDWHKWHZBSQE66FF":{"id":"trt_41JAD99YVSZDWHKWHZBSQE66FF","kind":"trait","bakedName":"AlertTriangleIcon","curName":"AlertTriangleIcon","renames":[],"owner":"workspace"},"trt_76DZ8748TM4DAECWR826AC03AR":{"id":"trt_76DZ8748TM4DAECWR826AC03AR","kind":"trait","bakedName":"StatsGrid","curName":"StatsGrid","renames":[],"owner":"workspace"},"trt_8CZP0V7EXYQEZ9GE5YV6ESBX6K":{"id":"trt_8CZP0V7EXYQEZ9GE5YV6ESBX6K","kind":"trait","bakedName":"ErrorAlert","curName":"ErrorAlert","renames":[],"owner":"workspace"},"trt_8E39M0NSJVWSDHT9QSX3KF0GCC":{"id":"trt_8E39M0NSJVWSDHT9QSX3KF0GCC","kind":"trait","bakedName":"ClosedStatusDot","curName":"ClosedStatusDot","renames":[],"owner":"workspace"},"trt_ACRZRKT8PT4BD72P3DARY2P37B":{"id":"trt_ACRZRKT8PT4BD72P3DARY2P37B","kind":"trait","bakedName":"FailuresMeter","curName":"FailuresMeter","renames":[],"owner":"workspace"},"trt_BHK7FDZJXFSEQP7Q6X7E9BVX1W":{"id":"trt_BHK7FDZJXFSEQP7Q6X7E9BVX1W","kind":"trait","bakedName":"ServiceNodeLabel","curName":"ServiceNodeLabel","renames":[],"owner":"workspace"},"trt_C25G1DJTXPDEV1WJSGDP1BFW16":{"id":"trt_C25G1DJTXPDEV1WJSGDP1BFW16","kind":"trait","bakedName":"HalfOpenStatusDot","curName":"HalfOpenStatusDot","renames":[],"owner":"workspace"},"trt_D6YGB5CZTNFXAGBD20DPWRHE4W":{"id":"trt_D6YGB5CZTNFXAGBD20DPWRHE4W","kind":"trait","bakedName":"ServiceNodeCircuitBreaker","curName":"ServiceNodeCircuitBreaker","renames":[],"owner":"workspace"},"trt_F77FK6T5TB2X5NAE0QFSBRSP8T":{"id":"trt_F77FK6T5TB2X5NAE0QFSBRSP8T","kind":"trait","bakedName":"ShieldIcon","curName":"ShieldIcon","renames":[],"owner":"workspace"},"trt_JPC1NBVEKWQ9Y6EYV9MBG2TQEM":{"id":"trt_JPC1NBVEKWQ9Y6EYV9MBG2TQEM","kind":"trait","bakedName":"ResetButton","curName":"ResetButton","renames":[],"owner":"workspace"},"trt_VY35JJX75AKJN4TCSSB1P2QEZ5":{"id":"trt_VY35JJX75AKJN4TCSSB1P2QEZ5","kind":"trait","bakedName":"SuccessAlert","curName":"SuccessAlert","renames":[],"owner":"workspace"},"trt_WHMH6YTP1PB0VB5JSJ6YSCEJY6":{"id":"trt_WHMH6YTP1PB0VB5JSJ6YSCEJY6","kind":"trait","bakedName":"OpenStatusDot","curName":"OpenStatusDot","renames":[],"owner":"workspace"},"trt_WXZ6DGVDRQPWBK6M3X7RMAD04Y":{"id":"trt_WXZ6DGVDRQPWBK6M3X7RMAD04Y","kind":"trait","bakedName":"WarningAlert","curName":"WarningAlert","renames":[],"owner":"workspace"}}}}
@@ -1 +1 @@
1
- {"name":"std-cross-reference","version":"1.0.0","description":"std-cross-reference — join-table primitive for N:M relationships. Listens for LinkRequested/UnlinkRequested/FETCH_LINKS_FOR and manages the junction collection (default CrossRefLink [persistent: cross_ref_links]). Rebind via linkedEntity={YourJunction} to your consumer junction; if your junction's id fields differ from leftId/rightId, override them with fields{} renames at the call site. A rebind target must supply leftId, rightId, createdAt, filteredLinks. Emits LinkCreated, LinkRemoved, LinksLoaded as external broadcasts for downstream consumers.","orbitals":[{"name":"CrossReferenceOrbital","id":"orb_019MPWZTAEX57BNDVY41H1ME0N","entity":{"name":"CrossRefLink","id":"ent_6PS83A6B0M5GA73XK5YSJH1YMY","collection":"cross_ref_links","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"leftId","type":"string","default":"","description":"Identifier for the related entity on the left side.","synonyms":"sourceId, originId, parentId"},{"name":"rightId","type":"string","default":"","description":"Identifier for the related entity on the right side.","synonyms":"targetId, relatedId, counterpartId"},{"name":"createdAt","type":"string","default":""},{"name":"filteredLinks","type":"array","default":[],"items":{"type":"object","properties":{"href":{"name":"href","type":"string","required":true},"label":{"name":"label","type":"string","required":true},"icon":{"name":"icon","type":"string","required":false}}},"description":"A list of filtered link specifications.","synonyms":"links, references, connections"}]},"traits":[{"name":"CrossReferenceGate","id":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM","entityRebindable":true,"entityContract":{"requires":[],"provides":["filteredLinks","leftId"]},"effectRow":[{"kind":"emit","resource":"LinksLoaded"},{"kind":"fetch","resource":"CrossRefLink"},{"kind":"persist","resource":"CrossRefLink"},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.filteredLinks"},{"kind":"set","resource":"@entity.leftId"}],"category":"lifecycle","linkedEntity":"CrossRefLink","linkedEntityId":"ent_6PS83A6B0M5GA73XK5YSJH1YMY","entityRefIds":{"CrossRefLink":"ent_6PS83A6B0M5GA73XK5YSJH1YMY"},"emits":[{"event":"LinkCreated","eventId":"evt_G9VV0KC4TH2D8ZFA4T7HK7T1M0","description":"Fired after a junction row is persisted.","scope":"external","payloadSchema":[{"name":"value","type":"@entity"}]},{"event":"LinkRemoved","eventId":"evt_ME59QQWFC87P4403XEZ89YB93Z","scope":"external","payloadSchema":[{"name":"id","type":"string"},{"name":"deleted","type":"boolean"}]},{"event":"LinksLoaded","eventId":"evt_F93A326KTQ9XBM1G8E37XE1DQB","scope":"external","payloadSchema":[{"name":"leftId","type":"string"},{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}],"entity":"ObjectSpec"}]},{"event":"LinksFetched","eventId":"evt_5EPJWWZHZZRZZV6CY3ZJKVDC98","scope":"external","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}],"entity":"ObjectSpec"}]},{"event":"LinkOpFailed","eventId":"evt_Q3JQFAGHSM8WT2R42Q97Z3PVAN","scope":"external","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"LinkRequested","id":"evt_2ED93SPHTD8X6JVTCFC61EXTBM","name":"Link requested","payloadSchema":[{"name":"leftId","type":"string"},{"name":"rightId","type":"string"}],"listened":true},{"key":"UnlinkRequested","id":"evt_SCSKM6SZE1ZQ0H2YWBSP6H9R9T","name":"Unlink requested","payloadSchema":[{"name":"leftId","type":"string"},{"name":"rightId","type":"string"}],"listened":true},{"key":"FETCH_LINKS_FOR","id":"evt_80G0114CTH6D8WCHCQ8998NMGD","name":"Fetch Links For","payloadSchema":[{"name":"leftId","type":"string"}],"listened":true},{"key":"LinksFetched","id":"evt_5EPJWWZHZZRZZV6CY3ZJKVDC98","name":"Links fetched","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}]}],"listened":true},{"key":"LinkOpFailed","id":"evt_Q3JQFAGHSM8WT2R42Q97Z3PVAN","name":"Link op failed","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"key":"LinkCreated","id":"evt_G9VV0KC4TH2D8ZFA4T7HK7T1M0","name":"Link created","payloadSchema":[{"name":"value","type":"@entity"}]},{"key":"LinkRemoved","id":"evt_ME59QQWFC87P4403XEZ89YB93Z","name":"Link removed","payloadSchema":[{"name":"id","type":"string"},{"name":"deleted","type":"boolean"}]},{"key":"LinksLoaded","id":"evt_F93A326KTQ9XBM1G8E37XE1DQB","name":"Links loaded","payloadSchema":[{"name":"leftId","type":"string"},{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}]}]}],"transitions":[{"from":"idle","to":"idle","event":"LinkRequested","eventId":"evt_2ED93SPHTD8X6JVTCFC61EXTBM","effects":[["persist","create","CrossRefLink",{"leftId":"@payload.leftId","rightId":"@payload.rightId"},{"emit":{"failure":"LinkOpFailed","success":"LinkCreated"}}]]},{"from":"idle","to":"idle","event":"UnlinkRequested","eventId":"evt_SCSKM6SZE1ZQ0H2YWBSP6H9R9T","effects":[["persist","delete","CrossRefLink","@payload",{"emit":{"failure":"LinkOpFailed","success":"LinkRemoved"}}]]},{"from":"idle","to":"idle","event":"FETCH_LINKS_FOR","eventId":"evt_80G0114CTH6D8WCHCQ8998NMGD","effects":[["set","@entity.leftId","@payload.leftId"],["fetch","CrossRefLink",{"emit":{"failure":"LinkOpFailed","success":"LinksFetched"}}]]},{"from":"idle","to":"idle","event":"LinksFetched","eventId":"evt_5EPJWWZHZZRZZV6CY3ZJKVDC98","effects":[["set","@entity.filteredLinks",["array/filter","@payload.data",["fn","row",["=",["object/get","@row","leftId"],"@entity.leftId"]]]],["emit","LinksLoaded",{"data":"@entity.filteredLinks","leftId":"@entity.leftId"}]]},{"from":"idle","to":"idle","event":"LinkOpFailed","eventId":"evt_Q3JQFAGHSM8WT2R42Q97Z3PVAN","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't update the link — ","@payload.error"],"dismissible":true}]]}]},"scope":"instance"}],"pages":[{"name":"CrossReferencePage","id":"pag_9N37XRVTY9XF4XJBXH3WSCT1B3","path":"/cross-reference","traits":[{"ref":"CrossReferenceGate","refId":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"}]}],"types":{"LinkSpec":[{"name":"label","type":"string","required":true},{"name":"href","type":"string","required":true},{"name":"icon","type":"string"}],"ObjectSpec":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_6PS83A6B0M5GA73XK5YSJH1YMY":{"id":"ent_6PS83A6B0M5GA73XK5YSJH1YMY","kind":"entity","bakedName":"CrossRefLink","curName":"CrossRefLink","renames":[],"owner":"workspace"},"evt_2ED93SPHTD8X6JVTCFC61EXTBM":{"id":"evt_2ED93SPHTD8X6JVTCFC61EXTBM","kind":"event","bakedName":"LinkRequested","curName":"LinkRequested","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"evt_5EPJWWZHZZRZZV6CY3ZJKVDC98":{"id":"evt_5EPJWWZHZZRZZV6CY3ZJKVDC98","kind":"event","bakedName":"LinksFetched","curName":"LinksFetched","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"evt_80G0114CTH6D8WCHCQ8998NMGD":{"id":"evt_80G0114CTH6D8WCHCQ8998NMGD","kind":"event","bakedName":"FETCH_LINKS_FOR","curName":"FETCH_LINKS_FOR","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"evt_F93A326KTQ9XBM1G8E37XE1DQB":{"id":"evt_F93A326KTQ9XBM1G8E37XE1DQB","kind":"event","bakedName":"LinksLoaded","curName":"LinksLoaded","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"evt_G9VV0KC4TH2D8ZFA4T7HK7T1M0":{"id":"evt_G9VV0KC4TH2D8ZFA4T7HK7T1M0","kind":"event","bakedName":"LinkCreated","curName":"LinkCreated","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"evt_ME59QQWFC87P4403XEZ89YB93Z":{"id":"evt_ME59QQWFC87P4403XEZ89YB93Z","kind":"event","bakedName":"LinkRemoved","curName":"LinkRemoved","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"evt_Q3JQFAGHSM8WT2R42Q97Z3PVAN":{"id":"evt_Q3JQFAGHSM8WT2R42Q97Z3PVAN","kind":"event","bakedName":"LinkOpFailed","curName":"LinkOpFailed","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"evt_SCSKM6SZE1ZQ0H2YWBSP6H9R9T":{"id":"evt_SCSKM6SZE1ZQ0H2YWBSP6H9R9T","kind":"event","bakedName":"UnlinkRequested","curName":"UnlinkRequested","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"orb_019MPWZTAEX57BNDVY41H1ME0N":{"id":"orb_019MPWZTAEX57BNDVY41H1ME0N","kind":"orbital","bakedName":"CrossReferenceOrbital","curName":"CrossReferenceOrbital","renames":[],"owner":"workspace"},"pag_9N37XRVTY9XF4XJBXH3WSCT1B3":{"id":"pag_9N37XRVTY9XF4XJBXH3WSCT1B3","kind":"page","bakedName":"CrossReferencePage","curName":"CrossReferencePage","renames":[],"owner":"workspace"},"trt_Z3XAMZPZQNFVTZCXAASV94C0FM":{"id":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM","kind":"trait","bakedName":"CrossReferenceGate","curName":"CrossReferenceGate","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-cross-reference","version":"1.0.0","description":"std-cross-reference — join-table primitive for N:M relationships. Listens for LinkRequested/UnlinkRequested/FETCH_LINKS_FOR and manages the junction collection (default CrossRefLink [persistent: cross_ref_links]). Rebind via linkedEntity={YourJunction} to your consumer junction; if your junction's id fields differ from leftId/rightId, override them with fields{} renames at the call site. A rebind target must supply leftId, rightId, createdAt, filteredLinks. Emits LinkCreated, LinkRemoved, LinksLoaded as external broadcasts for downstream consumers.","orbitals":[{"name":"CrossReferenceOrbital","id":"orb_019MPWZTAEX57BNDVY41H1ME0N","entity":{"name":"CrossRefLink","id":"ent_6PS83A6B0M5GA73XK5YSJH1YMY","collection":"cross_ref_links","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"leftId","type":"string","default":"","description":"Identifier for the related entity on the left side.","synonyms":"sourceId, originId, parentId"},{"name":"rightId","type":"string","default":"","description":"Identifier for the related entity on the right side.","synonyms":"targetId, relatedId, counterpartId"},{"name":"createdAt","type":"string","default":""},{"name":"filteredLinks","type":"array","default":[],"items":{"type":"object","properties":{"label":{"name":"label","type":"string","required":true},"href":{"name":"href","type":"string","required":true},"icon":{"name":"icon","type":"string","required":false}}},"description":"A list of filtered link specifications.","synonyms":"links, references, connections"}]},"traits":[{"name":"CrossReferenceGate","id":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM","entityRebindable":true,"entityContract":{"requires":[],"provides":["filteredLinks","leftId"]},"effectRow":[{"kind":"emit","resource":"LinksLoaded"},{"kind":"fetch","resource":"CrossRefLink"},{"kind":"persist","resource":"CrossRefLink"},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.filteredLinks"},{"kind":"set","resource":"@entity.leftId"}],"category":"lifecycle","linkedEntity":"CrossRefLink","linkedEntityId":"ent_6PS83A6B0M5GA73XK5YSJH1YMY","entityRefIds":{"CrossRefLink":"ent_6PS83A6B0M5GA73XK5YSJH1YMY"},"emits":[{"event":"LinkCreated","eventId":"evt_G9VV0KC4TH2D8ZFA4T7HK7T1M0","description":"Fired after a junction row is persisted.","scope":"external","payloadSchema":[{"name":"value","type":"@entity"}]},{"event":"LinkRemoved","eventId":"evt_ME59QQWFC87P4403XEZ89YB93Z","scope":"external","payloadSchema":[{"name":"id","type":"string"},{"name":"deleted","type":"boolean"}]},{"event":"LinksLoaded","eventId":"evt_F93A326KTQ9XBM1G8E37XE1DQB","scope":"external","payloadSchema":[{"name":"leftId","type":"string"},{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}],"entity":"ObjectSpec"}]},{"event":"LinksFetched","eventId":"evt_5EPJWWZHZZRZZV6CY3ZJKVDC98","scope":"external","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}],"entity":"ObjectSpec"}]},{"event":"LinkOpFailed","eventId":"evt_Q3JQFAGHSM8WT2R42Q97Z3PVAN","scope":"external","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"LinkRequested","id":"evt_2ED93SPHTD8X6JVTCFC61EXTBM","name":"Link requested","payloadSchema":[{"name":"leftId","type":"string"},{"name":"rightId","type":"string"}],"listened":true},{"key":"UnlinkRequested","id":"evt_SCSKM6SZE1ZQ0H2YWBSP6H9R9T","name":"Unlink requested","payloadSchema":[{"name":"leftId","type":"string"},{"name":"rightId","type":"string"}],"listened":true},{"key":"FETCH_LINKS_FOR","id":"evt_80G0114CTH6D8WCHCQ8998NMGD","name":"Fetch Links For","payloadSchema":[{"name":"leftId","type":"string"}],"listened":true},{"key":"LinksFetched","id":"evt_5EPJWWZHZZRZZV6CY3ZJKVDC98","name":"Links fetched","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}]}],"listened":true},{"key":"LinkOpFailed","id":"evt_Q3JQFAGHSM8WT2R42Q97Z3PVAN","name":"Link op failed","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"key":"LinkCreated","id":"evt_G9VV0KC4TH2D8ZFA4T7HK7T1M0","name":"Link created","payloadSchema":[{"name":"value","type":"@entity"}]},{"key":"LinkRemoved","id":"evt_ME59QQWFC87P4403XEZ89YB93Z","name":"Link removed","payloadSchema":[{"name":"id","type":"string"},{"name":"deleted","type":"boolean"}]},{"key":"LinksLoaded","id":"evt_F93A326KTQ9XBM1G8E37XE1DQB","name":"Links loaded","payloadSchema":[{"name":"leftId","type":"string"},{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}]}]}],"transitions":[{"from":"idle","to":"idle","event":"LinkRequested","eventId":"evt_2ED93SPHTD8X6JVTCFC61EXTBM","effects":[["persist","create","CrossRefLink",{"leftId":"@payload.leftId","rightId":"@payload.rightId"},{"emit":{"failure":"LinkOpFailed","success":"LinkCreated"}}]]},{"from":"idle","to":"idle","event":"UnlinkRequested","eventId":"evt_SCSKM6SZE1ZQ0H2YWBSP6H9R9T","effects":[["persist","delete","CrossRefLink","@payload",{"emit":{"failure":"LinkOpFailed","success":"LinkRemoved"}}]]},{"from":"idle","to":"idle","event":"FETCH_LINKS_FOR","eventId":"evt_80G0114CTH6D8WCHCQ8998NMGD","effects":[["set","@entity.leftId","@payload.leftId"],["fetch","CrossRefLink",{"emit":{"failure":"LinkOpFailed","success":"LinksFetched"}}]]},{"from":"idle","to":"idle","event":"LinksFetched","eventId":"evt_5EPJWWZHZZRZZV6CY3ZJKVDC98","effects":[["set","@entity.filteredLinks",["array/filter","@payload.data",["fn","row",["=",["object/get","@row","leftId"],"@entity.leftId"]]]],["emit","LinksLoaded",{"data":"@entity.filteredLinks","leftId":"@entity.leftId"}]]},{"from":"idle","to":"idle","event":"LinkOpFailed","eventId":"evt_Q3JQFAGHSM8WT2R42Q97Z3PVAN","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't update the link — ","@payload.error"],"dismissible":true}]]}]},"scope":"instance"}],"pages":[{"name":"CrossReferencePage","id":"pag_9N37XRVTY9XF4XJBXH3WSCT1B3","path":"/cross-reference","traits":[{"ref":"CrossReferenceGate","refId":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"}]}],"types":{"LinkSpec":[{"name":"label","type":"string","required":true},{"name":"href","type":"string","required":true},{"name":"icon","type":"string"}],"ObjectSpec":[{"name":"id","type":"string"},{"name":"label","type":"string"},{"name":"value","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_6PS83A6B0M5GA73XK5YSJH1YMY":{"id":"ent_6PS83A6B0M5GA73XK5YSJH1YMY","kind":"entity","bakedName":"CrossRefLink","curName":"CrossRefLink","renames":[],"owner":"workspace"},"evt_2ED93SPHTD8X6JVTCFC61EXTBM":{"id":"evt_2ED93SPHTD8X6JVTCFC61EXTBM","kind":"event","bakedName":"LinkRequested","curName":"LinkRequested","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"evt_5EPJWWZHZZRZZV6CY3ZJKVDC98":{"id":"evt_5EPJWWZHZZRZZV6CY3ZJKVDC98","kind":"event","bakedName":"LinksFetched","curName":"LinksFetched","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"evt_80G0114CTH6D8WCHCQ8998NMGD":{"id":"evt_80G0114CTH6D8WCHCQ8998NMGD","kind":"event","bakedName":"FETCH_LINKS_FOR","curName":"FETCH_LINKS_FOR","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"evt_F93A326KTQ9XBM1G8E37XE1DQB":{"id":"evt_F93A326KTQ9XBM1G8E37XE1DQB","kind":"event","bakedName":"LinksLoaded","curName":"LinksLoaded","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"evt_G9VV0KC4TH2D8ZFA4T7HK7T1M0":{"id":"evt_G9VV0KC4TH2D8ZFA4T7HK7T1M0","kind":"event","bakedName":"LinkCreated","curName":"LinkCreated","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"evt_ME59QQWFC87P4403XEZ89YB93Z":{"id":"evt_ME59QQWFC87P4403XEZ89YB93Z","kind":"event","bakedName":"LinkRemoved","curName":"LinkRemoved","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"evt_Q3JQFAGHSM8WT2R42Q97Z3PVAN":{"id":"evt_Q3JQFAGHSM8WT2R42Q97Z3PVAN","kind":"event","bakedName":"LinkOpFailed","curName":"LinkOpFailed","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"evt_SCSKM6SZE1ZQ0H2YWBSP6H9R9T":{"id":"evt_SCSKM6SZE1ZQ0H2YWBSP6H9R9T","kind":"event","bakedName":"UnlinkRequested","curName":"UnlinkRequested","renames":[],"owner":"workspace","parent":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM"},"orb_019MPWZTAEX57BNDVY41H1ME0N":{"id":"orb_019MPWZTAEX57BNDVY41H1ME0N","kind":"orbital","bakedName":"CrossReferenceOrbital","curName":"CrossReferenceOrbital","renames":[],"owner":"workspace"},"pag_9N37XRVTY9XF4XJBXH3WSCT1B3":{"id":"pag_9N37XRVTY9XF4XJBXH3WSCT1B3","kind":"page","bakedName":"CrossReferencePage","curName":"CrossReferencePage","renames":[],"owner":"workspace"},"trt_Z3XAMZPZQNFVTZCXAASV94C0FM":{"id":"trt_Z3XAMZPZQNFVTZCXAASV94C0FM","kind":"trait","bakedName":"CrossReferenceGate","curName":"CrossReferenceGate","renames":[],"owner":"workspace"}}}}
@@ -1 +1 @@
1
- {"name":"std-data-erasure","version":"1.0.0","description":"std-data-erasure — GDPR Art. 17 right-to-be-forgotten queue. Tracks ErasureRequest rows through pending → grace → executed lifecycle with Cancel during grace. v1.0 ships the request lifecycle UI + knob set; auto-emit of ExecuteErasure after grace lands in v1.1 (loop-with-emit gap — docs/Almadar_Std_Factories.md). Target app/ atoms then own the actual delete or piiFields scrub via an ExecuteErasure listener.","orbitals":[{"name":"DataErasureOrbital","id":"orb_ZQBSN9BCNAPAN303V340DZD0NN","uses":[{"from":"std/behaviors/ui-spinner","as":"Spinner"},{"from":"std/behaviors/ui-typography","as":"Typography"},{"from":"std/behaviors/ui-icon","as":"Icon"},{"from":"std/behaviors/ui-button","as":"Button"},{"from":"std/behaviors/ui-divider","as":"Divider"},{"from":"std/behaviors/ui-alert","as":"Alert"}],"entity":{"name":"ErasureRequest","id":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","collection":"erasure_requests","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string","default":"","description":"Unique identifier for the data subject.","synonyms":"data subject ID, identifier, user ID"},{"name":"targetEntity","type":"string","default":"","description":"The entity or system affected by the erasure request.","synonyms":"affected entity, target system, destination"},{"name":"status","type":"string","default":"pending","values":["pending","grace","executed","cancelled"],"description":"Current state of the erasure request.","synonyms":"state, lifecycle, condition"},{"name":"requestedAt","type":"number","default":0,"description":"Timestamp indicating when the erasure request was initially submitted.","synonyms":"submission time, creation time, request date"},{"name":"executesAt","type":"number","default":0,"description":"Timestamp indicating when the erasure process completed.","synonyms":"completion time, finish time, end time"},{"name":"executedAt","type":"number","default":0,"description":"Timestamp indicating when the erasure process completed.","synonyms":"completion time, finish time, end time"},{"name":"cancelledAt","type":"number","default":0,"description":"Timestamp when the erasure request was cancelled.","synonyms":"cancellation time, cancelled timestamp, cancel date"},{"name":"notes","type":"string","default":"","description":"Free-form text providing additional information or context.","synonyms":"comment, remark, description, details"}]},"traits":[{"ref":"Spinner.traits.SpinnerRender","id":"trt_3B59F2TAY65F3AASHF1NEY1MSR","name":"LoadingSpinner","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0"},{"ref":"Spinner.traits.SpinnerRender","id":"trt_JR57BSG30G1G8032XF54E83XX8","name":"ErrorSpinner","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","config":{"size":{"type":"unknown","default":"sm"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_WSBVBN5BR4NW2F912Q99D3YBPH","name":"LoadingText","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","config":{"content":{"type":"unknown","default":"Loading erasure requests…"},"variant":{"type":"unknown","default":"caption"},"color":{"type":"unknown","default":"muted"}}},{"ref":"Icon.traits.IconRender","id":"trt_VG52ZXXMPSTBCVZTGFZ7E72TVK","name":"Trash2Icon","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","config":{"name":{"type":"unknown","default":"trash-2"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_S0JBDXM6WV3EDME1NXHSAZDPM0","name":"ErasureRequestsTitle","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","config":{"variant":{"type":"unknown","default":"h3"},"content":{"type":"unknown","default":"Erasure requests"}}},{"ref":"Button.traits.ButtonRender","id":"trt_H3HPMVW51X2GYYYF63EH6F90TZ","name":"CloseButton","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","config":{"icon":{"type":"unknown","default":"x"},"action":{"type":"unknown","default":"CLOSE"},"variant":{"type":"unknown","default":"ghost"},"label":{"type":"unknown","default":"Close"}}},{"ref":"Divider.traits.DividerRender","id":"trt_HBT0EKQ5G5JR2VPF85NPF8N2RA","name":"ErasureDivider","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0"},{"ref":"Alert.traits.AlertRender","id":"trt_XK3DSMKTHPX8V0PZ8METV6QT0S","name":"ErrorAlert","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","config":{"variant":{"type":"unknown","default":"error"},"message":{"type":"unknown","default":"@payload.error"}}},{"name":"ErasureWorkflow","id":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20","effectRow":[{"kind":"emit","resource":"ExecuteErasure"},{"kind":"fetch","resource":"ErasureRequest"},{"kind":"fetch","resource":"ErasureRequest","site":"tick"},{"kind":"persist","resource":"ErasureRequest"},{"kind":"render-ui","resource":"@config.reviewSlot","resolved":false},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.id"},{"kind":"set","resource":"@entity.status"},{"kind":"set","resource":"@entity.subjectId"},{"kind":"set","resource":"@entity.targetEntity"},{"kind":"ticks","site":"tick"}],"category":"interaction","capabilities":["compliance","erasure"],"linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","entityRefIds":{"ErasureRequest":"ent_7AMXD30XTBEX5YVDM29YZE6VD0"},"traitEmbedIds":{"LoadingText":"trt_WSBVBN5BR4NW2F912Q99D3YBPH","ErasureDivider":"trt_HBT0EKQ5G5JR2VPF85NPF8N2RA","Trash2Icon":"trt_VG52ZXXMPSTBCVZTGFZ7E72TVK","CloseButton":"trt_H3HPMVW51X2GYYYF63EH6F90TZ","ErasureRequestsTitle":"trt_S0JBDXM6WV3EDME1NXHSAZDPM0","ErrorAlert":"trt_XK3DSMKTHPX8V0PZ8METV6QT0S","LoadingSpinner":"trt_3B59F2TAY65F3AASHF1NEY1MSR","ErrorSpinner":"trt_JR57BSG30G1G8032XF54E83XX8"},"emits":[{"event":"CANCEL_ERASURE","eventId":"evt_9Y2MXKESZ5CZJYC0V99BEZMP90","description":"Signals a request cancellation during its processing lifecycle.","synonyms":"abort, revoke, undo, terminate","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"entity":"ErasureRequest"}]},{"event":"CLOSE","eventId":"evt_3ZP0G3D13JGHSAJDGH75708FFA","description":"Dismisses the erasure-requests overlay.","synonyms":"dismiss, hide, cancel, done","tier":"domain"},{"event":"ErasureLoaded","eventId":"evt_EP13S57BCXNPEJCNHC31B3QQ4F","description":"Indicates that erasure request data has been successfully loaded.","synonyms":"loaded, fetched, retrieved","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"entity":"ErasureRequest"}]},{"event":"ErasureLoadFailed","eventId":"evt_R1NQNDCGDM86T25KKG546N4EXD","description":"Indicates failure to load erasure request data.","synonyms":"load error, failed load, data error","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"ErasureSaved","eventId":"evt_C41M80DBB3NNHKYEWV1AV09ZC6","description":"Indicates a new erasure request has been successfully saved.","synonyms":"created, added, persisted","tier":"domain","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"payloadEntity":"ErasureRequest"},{"event":"ErasureSaveFailed","eventId":"evt_VPM516HNZETZQ8KG542ZWET8FP","description":"Indicates that saving the erasure request failed.","synonyms":"failed, error, unsuccessful","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"ExecuteErasure","eventId":"evt_MBTYGMJGBS85WXK7WR1YS8B39W","description":"Instructs the target atom to perform the actual delete or PII scrub for a request whose grace period has elapsed.","synonyms":"execute, perform erasure, delete now, scrub, finalize erasure","tier":"domain","scope":"external","payloadSchema":[{"name":"requestId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"subjectId","type":"string"}]},{"event":"ExecScanLoaded","eventId":"evt_6SDT7BMG5982MN799V7MCGN6XS","description":"Internal: grace requests due for execution.","synonyms":"scan loaded, due requests","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"entity":"ErasureRequest"}]},{"event":"ExecScanFailed","eventId":"evt_FZ29BA66QV3BXZXWRHZ9MPC1GB","description":"Internal: execution scan failed.","synonyms":"scan error, scan failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"ExecStepped","eventId":"evt_KZAJS8886B435H2HRE8YSMRVM8","description":"Internal: one request executed; advances the scan loop.","synonyms":"stepped, next","tier":"internal","payloadSchema":[{"name":"id","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"execScanning"},{"name":"loading"},{"name":"browsing"},{"name":"error"}],"events":[{"key":"INIT","id":"evt_A7EEVWJJNN9ATPS34AC1ZXKG6M","name":"Initialize"},{"key":"ErasureLoaded","id":"evt_EP13S57BCXNPEJCNHC31B3QQ4F","name":"Erasure loaded","description":"Indicates that erasure request data has been successfully loaded.","synonyms":"loaded, fetched, retrieved","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"entity":"ErasureRequest"}],"listened":true},{"key":"ErasureLoadFailed","id":"evt_R1NQNDCGDM86T25KKG546N4EXD","name":"Erasure load failed","description":"Indicates failure to load erasure request data.","synonyms":"load error, failed load, data error","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"OPEN","id":"evt_H5X9K384Y02F0DB0B6RHTNAGWD","name":"Open","description":"Summons the erasure-requests queue (host nav/affordance requests it).","synonyms":"open, show, review, view queue, erasure requests","tier":"domain","listened":true},{"key":"ExecScanLoaded","id":"evt_6SDT7BMG5982MN799V7MCGN6XS","name":"Exec scan loaded","description":"Internal: grace requests due for execution.","synonyms":"scan loaded, due requests","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"entity":"ErasureRequest"}],"listened":true},{"key":"ExecScanFailed","id":"evt_FZ29BA66QV3BXZXWRHZ9MPC1GB","name":"Exec scan failed","description":"Internal: execution scan failed.","synonyms":"scan error, scan failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"ExecStepped","id":"evt_KZAJS8886B435H2HRE8YSMRVM8","name":"Exec stepped","description":"Internal: one request executed; advances the scan loop.","synonyms":"stepped, next","tier":"internal","payloadSchema":[{"name":"id","type":"string"}],"listened":true},{"key":"CLOSE","id":"evt_3ZP0G3D13JGHSAJDGH75708FFA","name":"Close","description":"Dismisses the erasure-requests overlay.","synonyms":"dismiss, hide, cancel, done","tier":"domain","listened":true},{"key":"CANCEL_ERASURE","id":"evt_9Y2MXKESZ5CZJYC0V99BEZMP90","name":"Cancel Erasure","description":"Signals a request cancellation during its processing lifecycle.","synonyms":"abort, revoke, undo, terminate","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"entity":"ErasureRequest"}],"listened":true},{"key":"ErasureSaved","id":"evt_C41M80DBB3NNHKYEWV1AV09ZC6","name":"Erasure saved","description":"Indicates a new erasure request has been successfully saved.","synonyms":"created, added, persisted","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"payloadEntity":"ErasureRequest","listened":true},{"key":"ErasureSaveFailed","id":"evt_VPM516HNZETZQ8KG542ZWET8FP","name":"Erasure save failed","description":"Indicates that saving the erasure request failed.","synonyms":"failed, error, unsuccessful","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"ExecuteErasure","id":"evt_MBTYGMJGBS85WXK7WR1YS8B39W","name":"Execute erasure","description":"Instructs the target atom to perform the actual delete or PII scrub for a request whose grace period has elapsed.","synonyms":"execute, perform erasure, delete now, scrub, finalize erasure","tier":"domain","payloadSchema":[{"name":"requestId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"subjectId","type":"string"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_A7EEVWJJNN9ATPS34AC1ZXKG6M","effects":[["fetch","ErasureRequest",{"emit":{"failure":"ErasureLoadFailed","success":"ErasureLoaded"}}]]},{"from":"idle","to":"idle","event":"ErasureLoaded","eventId":"evt_EP13S57BCXNPEJCNHC31B3QQ4F"},{"from":"idle","to":"idle","event":"ErasureLoadFailed","eventId":"evt_R1NQNDCGDM86T25KKG546N4EXD","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't load the erasure queue — ","@payload.error"],"dismissible":true}]]},{"from":"idle","to":"loading","event":"OPEN","eventId":"evt_H5X9K384Y02F0DB0B6RHTNAGWD","guard":"@config.enabled","effects":[["fetch","ErasureRequest",{"emit":{"failure":"ErasureLoadFailed","success":"ErasureLoaded"}}],["render-ui","@config.reviewSlot",{"align":"center","children":["@trait.LoadingSpinner","@trait.LoadingText"],"className":"py-12","direction":"vertical","gap":"md","type":"stack"}]]},{"from":"idle","to":"execScanning","event":"ExecScanLoaded","eventId":"evt_6SDT7BMG5982MN799V7MCGN6XS","guard":["and","@config.enabled",[">",["array/len","@payload.data"],0]],"effects":[["set","@entity.id",["object/get",["array/first","@payload.data"],"id"]],["set","@entity.targetEntity",["str/default",["object/get",["array/first","@payload.data"],"targetEntity"],"@config.targetEntity"]],["set","@entity.subjectId",["object/get",["array/first","@payload.data"],"subjectId"]],["emit","ExecuteErasure",{"requestId":"@entity.id","subjectId":"@entity.subjectId","targetEntity":"@entity.targetEntity"}],["persist","update","ErasureRequest",{"executedAt":"@now","id":"@entity.id","status":"executed"},{"emit":{"failure":"ExecScanFailed","success":"ExecStepped"}}]]},{"from":"idle","to":"idle","event":"ExecScanLoaded","eventId":"evt_6SDT7BMG5982MN799V7MCGN6XS","guard":["=",["array/len","@payload.data"],0]},{"from":"idle","to":"idle","event":"ExecScanFailed","eventId":"evt_FZ29BA66QV3BXZXWRHZ9MPC1GB","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't scan for erasures to execute — ","@payload.error"],"dismissible":true}]]},{"from":"execScanning","to":"execScanning","event":"ExecStepped","eventId":"evt_KZAJS8886B435H2HRE8YSMRVM8","effects":[["fetch","ErasureRequest",{"emit":{"failure":"ExecScanFailed","success":"ExecScanLoaded"},"filter":["and",["=",["object/get","@entity","status"],"grace"],["<",["object/get","@entity","executesAt"],"@now"]]}]]},{"from":"execScanning","to":"execScanning","event":"ExecScanLoaded","eventId":"evt_6SDT7BMG5982MN799V7MCGN6XS","guard":[">",["array/len","@payload.data"],0],"effects":[["set","@entity.id",["object/get",["array/first","@payload.data"],"id"]],["set","@entity.targetEntity",["str/default",["object/get",["array/first","@payload.data"],"targetEntity"],"@config.targetEntity"]],["set","@entity.subjectId",["object/get",["array/first","@payload.data"],"subjectId"]],["emit","ExecuteErasure",{"requestId":"@entity.id","subjectId":"@entity.subjectId","targetEntity":"@entity.targetEntity"}],["persist","update","ErasureRequest",{"executedAt":"@now","id":"@entity.id","status":"executed"},{"emit":{"failure":"ExecScanFailed","success":"ExecStepped"}}]]},{"from":"execScanning","to":"idle","event":"ExecScanLoaded","eventId":"evt_6SDT7BMG5982MN799V7MCGN6XS","guard":["=",["array/len","@payload.data"],0]},{"from":"execScanning","to":"idle","event":"ExecScanFailed","eventId":"evt_FZ29BA66QV3BXZXWRHZ9MPC1GB","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't scan for erasures to execute — ","@payload.error"],"dismissible":true}]]},{"from":"loading","to":"browsing","event":"ErasureLoaded","eventId":"evt_EP13S57BCXNPEJCNHC31B3QQ4F","effects":[["render-ui","@config.reviewSlot",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.Trash2Icon","@trait.ErasureRequestsTitle"],"direction":"horizontal","gap":"sm","type":"stack"},"@trait.CloseButton"],"direction":"horizontal","gap":"sm","justify":"between","type":"stack"},"@trait.ErasureDivider",{"cols":1,"entity":"@payload.data","fields":[{"label":"Subject","name":"subjectId","variant":"caption"},{"label":"Status","name":"status","variant":"badge"},{"label":"Executes","name":"executesAt","variant":"caption"}],"gap":"sm","itemActions":["array/filter","@config.itemActions",["fn","action",["or",["=",["array/len",["object/get","@action","roles",[]]],0],["array/includes",["object/get","@action","roles",[]],"@config.viewerRole"]]]],"look":"@config.tableLook","type":"data-grid"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"loading","to":"error","event":"ErasureLoadFailed","eventId":"evt_R1NQNDCGDM86T25KKG546N4EXD","effects":[["render-ui","@config.reviewSlot",{"children":["@trait.ErrorAlert"],"type":"stack"}]]},{"from":"loading","to":"idle","event":"CLOSE","eventId":"evt_3ZP0G3D13JGHSAJDGH75708FFA","effects":[["render-ui","@config.reviewSlot",null]]},{"from":"browsing","to":"browsing","event":"CANCEL_ERASURE","eventId":"evt_9Y2MXKESZ5CZJYC0V99BEZMP90","effects":[["set","@entity.id","@payload.id"],["set","@entity.status","cancelled"],["persist","update","ErasureRequest","@entity",{"emit":{"failure":"ErasureSaveFailed","success":"ErasureSaved"}}]]},{"from":"browsing","to":"loading","event":"ErasureSaved","eventId":"evt_C41M80DBB3NNHKYEWV1AV09ZC6","effects":[["fetch","ErasureRequest",{"emit":{"failure":"ErasureLoadFailed","success":"ErasureLoaded"}}]]},{"from":"browsing","to":"browsing","event":"ErasureSaveFailed","eventId":"evt_VPM516HNZETZQ8KG542ZWET8FP","effects":[["render-ui","@config.reviewSlot",{"children":["@trait.ErrorAlert"],"type":"stack"}]]},{"from":"browsing","to":"idle","event":"CLOSE","eventId":"evt_3ZP0G3D13JGHSAJDGH75708FFA","effects":[["render-ui","@config.reviewSlot",null]]},{"from":"error","to":"loading","event":"OPEN","eventId":"evt_H5X9K384Y02F0DB0B6RHTNAGWD","effects":[["fetch","ErasureRequest",{"emit":{"failure":"ErasureLoadFailed","success":"ErasureLoaded"}}],["render-ui","@config.reviewSlot",{"children":["@trait.ErrorSpinner"],"type":"stack"}]]},{"from":"error","to":"idle","event":"CLOSE","eventId":"evt_3ZP0G3D13JGHSAJDGH75708FFA","effects":[["render-ui","@config.reviewSlot",null]]}]},"ticks":[{"name":"executionScan","interval":"0 * * * *","effects":[["fetch","ErasureRequest",{"emit":{"failure":"ExecScanFailed","success":"ExecScanLoaded"},"filter":["and",["=",["object/get","@entity","status"],"grace"],["<",["object/get","@entity","executesAt"],"@now"]]}]],"runsInBackground":true}],"config":{"targetEntity":{"type":"string","default":"","label":"Target entity","description":"Entity name whose records erasure requests apply to (e.g. 'CustomerAccount').","tier":"internal"},"enabled":{"type":"boolean","default":false,"label":"Allow data erasure (GDPR)","description":"Let people request that their data be permanently removed. Off by default.","synonyms":"enable, turn on, enforce, require, activate, apply, switch on, gdpr, erasure, right to be forgotten, data deletion, scheduled deletion, retention purge, account deletion, anonymize user data, scrub PII, delete user data","tier":"policy"},"tableLook":{"type":"string","default":"dense","label":"Erasure queue table style","description":"Visual treatment for the erasure-requests data table.","synonyms":"table style, grid look, compact, spacious","tier":"presentation","values":["dense","spacious","striped","borderless","card-rows"]},"reviewSlot":{"type":"slot","default":"modal","label":"Review slot","description":"UI slot the erasure-requests queue renders into. Defaults to the modal overlay so it never seizes the host's main content; summoned via OPEN, cleared via CLOSE.","tier":"internal"},"itemActions":{"type":"[ItemAction]","default":[{"event":"CANCEL_ERASURE","icon":"x","label":"Cancel","variant":"secondary"}],"label":"Row actions","description":"Actions offered on each row; give an item `roles` to show it only to those viewer roles.","tier":"presentation","items":{"type":"object","properties":{"roles":{"name":"roles","type":"array","required":false,"items":{"type":"string"}},"icon":{"name":"icon","type":"string","required":false},"label":{"name":"label","type":"string","required":true},"variant":{"name":"variant","type":"string","required":false},"event":{"name":"event","type":"event","required":false}}}},"viewerRole":{"type":"string","default":"","label":"Viewer's role","description":"The signed-in viewer's role that each action's `roles` is checked against. Bind it explicitly at the call site (e.g. `viewerRole: @user.role`) in an app whose identity carries a role; left empty, only actions with no `roles` show.","tier":"policy"}},"scope":"collection"}],"pages":[{"name":"ErasureWorkflowPage","id":"pag_9CXPHE9T0HX08ZRT66CDV7M3R3","path":"/erasure/queue","traits":[{"ref":"ErasureWorkflow","refId":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"}]}],"types":{"ItemAction":[{"name":"label","type":"string","required":true},{"name":"event","type":"event"},{"name":"variant","type":"string"},{"name":"icon","type":"string"},{"name":"roles","type":"[string]"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_7AMXD30XTBEX5YVDM29YZE6VD0":{"id":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","kind":"entity","bakedName":"ErasureRequest","curName":"ErasureRequest","renames":[],"owner":"workspace"},"evt_3ZP0G3D13JGHSAJDGH75708FFA":{"id":"evt_3ZP0G3D13JGHSAJDGH75708FFA","kind":"event","bakedName":"CLOSE","curName":"CLOSE","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_6SDT7BMG5982MN799V7MCGN6XS":{"id":"evt_6SDT7BMG5982MN799V7MCGN6XS","kind":"event","bakedName":"ExecScanLoaded","curName":"ExecScanLoaded","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_9Y2MXKESZ5CZJYC0V99BEZMP90":{"id":"evt_9Y2MXKESZ5CZJYC0V99BEZMP90","kind":"event","bakedName":"CANCEL_ERASURE","curName":"CANCEL_ERASURE","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_A7EEVWJJNN9ATPS34AC1ZXKG6M":{"id":"evt_A7EEVWJJNN9ATPS34AC1ZXKG6M","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_C41M80DBB3NNHKYEWV1AV09ZC6":{"id":"evt_C41M80DBB3NNHKYEWV1AV09ZC6","kind":"event","bakedName":"ErasureSaved","curName":"ErasureSaved","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_EP13S57BCXNPEJCNHC31B3QQ4F":{"id":"evt_EP13S57BCXNPEJCNHC31B3QQ4F","kind":"event","bakedName":"ErasureLoaded","curName":"ErasureLoaded","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_FZ29BA66QV3BXZXWRHZ9MPC1GB":{"id":"evt_FZ29BA66QV3BXZXWRHZ9MPC1GB","kind":"event","bakedName":"ExecScanFailed","curName":"ExecScanFailed","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_H5X9K384Y02F0DB0B6RHTNAGWD":{"id":"evt_H5X9K384Y02F0DB0B6RHTNAGWD","kind":"event","bakedName":"OPEN","curName":"OPEN","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_KZAJS8886B435H2HRE8YSMRVM8":{"id":"evt_KZAJS8886B435H2HRE8YSMRVM8","kind":"event","bakedName":"ExecStepped","curName":"ExecStepped","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_MBTYGMJGBS85WXK7WR1YS8B39W":{"id":"evt_MBTYGMJGBS85WXK7WR1YS8B39W","kind":"event","bakedName":"ExecuteErasure","curName":"ExecuteErasure","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_R1NQNDCGDM86T25KKG546N4EXD":{"id":"evt_R1NQNDCGDM86T25KKG546N4EXD","kind":"event","bakedName":"ErasureLoadFailed","curName":"ErasureLoadFailed","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_VPM516HNZETZQ8KG542ZWET8FP":{"id":"evt_VPM516HNZETZQ8KG542ZWET8FP","kind":"event","bakedName":"ErasureSaveFailed","curName":"ErasureSaveFailed","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"orb_ZQBSN9BCNAPAN303V340DZD0NN":{"id":"orb_ZQBSN9BCNAPAN303V340DZD0NN","kind":"orbital","bakedName":"DataErasureOrbital","curName":"DataErasureOrbital","renames":[],"owner":"workspace"},"pag_9CXPHE9T0HX08ZRT66CDV7M3R3":{"id":"pag_9CXPHE9T0HX08ZRT66CDV7M3R3","kind":"page","bakedName":"ErasureWorkflowPage","curName":"ErasureWorkflowPage","renames":[],"owner":"workspace"},"trt_3B59F2TAY65F3AASHF1NEY1MSR":{"id":"trt_3B59F2TAY65F3AASHF1NEY1MSR","kind":"trait","bakedName":"LoadingSpinner","curName":"LoadingSpinner","renames":[],"owner":"workspace"},"trt_H3HPMVW51X2GYYYF63EH6F90TZ":{"id":"trt_H3HPMVW51X2GYYYF63EH6F90TZ","kind":"trait","bakedName":"CloseButton","curName":"CloseButton","renames":[],"owner":"workspace"},"trt_HBT0EKQ5G5JR2VPF85NPF8N2RA":{"id":"trt_HBT0EKQ5G5JR2VPF85NPF8N2RA","kind":"trait","bakedName":"ErasureDivider","curName":"ErasureDivider","renames":[],"owner":"workspace"},"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20":{"id":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20","kind":"trait","bakedName":"ErasureWorkflow","curName":"ErasureWorkflow","renames":[],"owner":"workspace"},"trt_JR57BSG30G1G8032XF54E83XX8":{"id":"trt_JR57BSG30G1G8032XF54E83XX8","kind":"trait","bakedName":"ErrorSpinner","curName":"ErrorSpinner","renames":[],"owner":"workspace"},"trt_S0JBDXM6WV3EDME1NXHSAZDPM0":{"id":"trt_S0JBDXM6WV3EDME1NXHSAZDPM0","kind":"trait","bakedName":"ErasureRequestsTitle","curName":"ErasureRequestsTitle","renames":[],"owner":"workspace"},"trt_VG52ZXXMPSTBCVZTGFZ7E72TVK":{"id":"trt_VG52ZXXMPSTBCVZTGFZ7E72TVK","kind":"trait","bakedName":"Trash2Icon","curName":"Trash2Icon","renames":[],"owner":"workspace"},"trt_WSBVBN5BR4NW2F912Q99D3YBPH":{"id":"trt_WSBVBN5BR4NW2F912Q99D3YBPH","kind":"trait","bakedName":"LoadingText","curName":"LoadingText","renames":[],"owner":"workspace"},"trt_XK3DSMKTHPX8V0PZ8METV6QT0S":{"id":"trt_XK3DSMKTHPX8V0PZ8METV6QT0S","kind":"trait","bakedName":"ErrorAlert","curName":"ErrorAlert","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-data-erasure","version":"1.0.0","description":"std-data-erasure — GDPR Art. 17 right-to-be-forgotten queue. Tracks ErasureRequest rows through pending → grace → executed lifecycle with Cancel during grace. v1.0 ships the request lifecycle UI + knob set; auto-emit of ExecuteErasure after grace lands in v1.1 (loop-with-emit gap — docs/Almadar_Std_Factories.md). Target app/ atoms then own the actual delete or piiFields scrub via an ExecuteErasure listener.","orbitals":[{"name":"DataErasureOrbital","id":"orb_ZQBSN9BCNAPAN303V340DZD0NN","uses":[{"from":"std/behaviors/ui-spinner","as":"Spinner"},{"from":"std/behaviors/ui-typography","as":"Typography"},{"from":"std/behaviors/ui-icon","as":"Icon"},{"from":"std/behaviors/ui-button","as":"Button"},{"from":"std/behaviors/ui-divider","as":"Divider"},{"from":"std/behaviors/ui-alert","as":"Alert"}],"entity":{"name":"ErasureRequest","id":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","collection":"erasure_requests","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string","default":"","description":"Unique identifier for the data subject.","synonyms":"data subject ID, identifier, user ID"},{"name":"targetEntity","type":"string","default":"","description":"The entity or system affected by the erasure request.","synonyms":"affected entity, target system, destination"},{"name":"status","type":"string","default":"pending","values":["pending","grace","executed","cancelled"],"description":"Current state of the erasure request.","synonyms":"state, lifecycle, condition"},{"name":"requestedAt","type":"number","default":0,"description":"Timestamp indicating when the erasure request was initially submitted.","synonyms":"submission time, creation time, request date"},{"name":"executesAt","type":"number","default":0,"description":"Timestamp indicating when the erasure process completed.","synonyms":"completion time, finish time, end time"},{"name":"executedAt","type":"number","default":0,"description":"Timestamp indicating when the erasure process completed.","synonyms":"completion time, finish time, end time"},{"name":"cancelledAt","type":"number","default":0,"description":"Timestamp when the erasure request was cancelled.","synonyms":"cancellation time, cancelled timestamp, cancel date"},{"name":"notes","type":"string","default":"","description":"Free-form text providing additional information or context.","synonyms":"comment, remark, description, details"}]},"traits":[{"ref":"Spinner.traits.SpinnerRender","id":"trt_3B59F2TAY65F3AASHF1NEY1MSR","name":"LoadingSpinner","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0"},{"ref":"Spinner.traits.SpinnerRender","id":"trt_JR57BSG30G1G8032XF54E83XX8","name":"ErrorSpinner","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","config":{"size":{"type":"unknown","default":"sm"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_WSBVBN5BR4NW2F912Q99D3YBPH","name":"LoadingText","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","config":{"variant":{"type":"unknown","default":"caption"},"color":{"type":"unknown","default":"muted"},"content":{"type":"unknown","default":"Loading erasure requests…"}}},{"ref":"Icon.traits.IconRender","id":"trt_VG52ZXXMPSTBCVZTGFZ7E72TVK","name":"Trash2Icon","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","config":{"name":{"type":"unknown","default":"trash-2"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_S0JBDXM6WV3EDME1NXHSAZDPM0","name":"ErasureRequestsTitle","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","config":{"content":{"type":"unknown","default":"Erasure requests"},"variant":{"type":"unknown","default":"h3"}}},{"ref":"Button.traits.ButtonRender","id":"trt_H3HPMVW51X2GYYYF63EH6F90TZ","name":"CloseButton","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","config":{"label":{"type":"unknown","default":"Close"},"action":{"type":"unknown","default":"CLOSE"},"icon":{"type":"unknown","default":"x"},"variant":{"type":"unknown","default":"ghost"}}},{"ref":"Divider.traits.DividerRender","id":"trt_HBT0EKQ5G5JR2VPF85NPF8N2RA","name":"ErasureDivider","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0"},{"ref":"Alert.traits.AlertRender","id":"trt_XK3DSMKTHPX8V0PZ8METV6QT0S","name":"ErrorAlert","linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","config":{"message":{"type":"unknown","default":"@payload.error"},"variant":{"type":"unknown","default":"error"}}},{"name":"ErasureWorkflow","id":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20","effectRow":[{"kind":"emit","resource":"ExecuteErasure"},{"kind":"fetch","resource":"ErasureRequest"},{"kind":"fetch","resource":"ErasureRequest","site":"tick"},{"kind":"persist","resource":"ErasureRequest"},{"kind":"render-ui","resource":"@config.reviewSlot","resolved":false},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.id"},{"kind":"set","resource":"@entity.status"},{"kind":"set","resource":"@entity.subjectId"},{"kind":"set","resource":"@entity.targetEntity"},{"kind":"ticks","site":"tick"}],"category":"interaction","capabilities":["compliance","erasure"],"linkedEntity":"ErasureRequest","linkedEntityId":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","entityRefIds":{"ErasureRequest":"ent_7AMXD30XTBEX5YVDM29YZE6VD0"},"traitEmbedIds":{"LoadingText":"trt_WSBVBN5BR4NW2F912Q99D3YBPH","CloseButton":"trt_H3HPMVW51X2GYYYF63EH6F90TZ","ErrorSpinner":"trt_JR57BSG30G1G8032XF54E83XX8","LoadingSpinner":"trt_3B59F2TAY65F3AASHF1NEY1MSR","ErasureDivider":"trt_HBT0EKQ5G5JR2VPF85NPF8N2RA","ErasureRequestsTitle":"trt_S0JBDXM6WV3EDME1NXHSAZDPM0","Trash2Icon":"trt_VG52ZXXMPSTBCVZTGFZ7E72TVK","ErrorAlert":"trt_XK3DSMKTHPX8V0PZ8METV6QT0S"},"emits":[{"event":"CANCEL_ERASURE","eventId":"evt_9Y2MXKESZ5CZJYC0V99BEZMP90","description":"Signals a request cancellation during its processing lifecycle.","synonyms":"abort, revoke, undo, terminate","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"entity":"ErasureRequest"}]},{"event":"CLOSE","eventId":"evt_3ZP0G3D13JGHSAJDGH75708FFA","description":"Dismisses the erasure-requests overlay.","synonyms":"dismiss, hide, cancel, done","tier":"domain"},{"event":"ErasureLoaded","eventId":"evt_EP13S57BCXNPEJCNHC31B3QQ4F","description":"Indicates that erasure request data has been successfully loaded.","synonyms":"loaded, fetched, retrieved","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"entity":"ErasureRequest"}]},{"event":"ErasureLoadFailed","eventId":"evt_R1NQNDCGDM86T25KKG546N4EXD","description":"Indicates failure to load erasure request data.","synonyms":"load error, failed load, data error","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"ErasureSaved","eventId":"evt_C41M80DBB3NNHKYEWV1AV09ZC6","description":"Indicates a new erasure request has been successfully saved.","synonyms":"created, added, persisted","tier":"domain","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"payloadEntity":"ErasureRequest"},{"event":"ErasureSaveFailed","eventId":"evt_VPM516HNZETZQ8KG542ZWET8FP","description":"Indicates that saving the erasure request failed.","synonyms":"failed, error, unsuccessful","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"ExecuteErasure","eventId":"evt_MBTYGMJGBS85WXK7WR1YS8B39W","description":"Instructs the target atom to perform the actual delete or PII scrub for a request whose grace period has elapsed.","synonyms":"execute, perform erasure, delete now, scrub, finalize erasure","tier":"domain","scope":"external","payloadSchema":[{"name":"requestId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"subjectId","type":"string"}]},{"event":"ExecScanLoaded","eventId":"evt_6SDT7BMG5982MN799V7MCGN6XS","description":"Internal: grace requests due for execution.","synonyms":"scan loaded, due requests","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"entity":"ErasureRequest"}]},{"event":"ExecScanFailed","eventId":"evt_FZ29BA66QV3BXZXWRHZ9MPC1GB","description":"Internal: execution scan failed.","synonyms":"scan error, scan failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"ExecStepped","eventId":"evt_KZAJS8886B435H2HRE8YSMRVM8","description":"Internal: one request executed; advances the scan loop.","synonyms":"stepped, next","tier":"internal","payloadSchema":[{"name":"id","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"execScanning"},{"name":"loading"},{"name":"browsing"},{"name":"error"}],"events":[{"key":"INIT","id":"evt_A7EEVWJJNN9ATPS34AC1ZXKG6M","name":"Initialize"},{"key":"ErasureLoaded","id":"evt_EP13S57BCXNPEJCNHC31B3QQ4F","name":"Erasure loaded","description":"Indicates that erasure request data has been successfully loaded.","synonyms":"loaded, fetched, retrieved","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"entity":"ErasureRequest"}],"listened":true},{"key":"ErasureLoadFailed","id":"evt_R1NQNDCGDM86T25KKG546N4EXD","name":"Erasure load failed","description":"Indicates failure to load erasure request data.","synonyms":"load error, failed load, data error","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"OPEN","id":"evt_H5X9K384Y02F0DB0B6RHTNAGWD","name":"Open","description":"Summons the erasure-requests queue (host nav/affordance requests it).","synonyms":"open, show, review, view queue, erasure requests","tier":"domain","listened":true},{"key":"ExecScanLoaded","id":"evt_6SDT7BMG5982MN799V7MCGN6XS","name":"Exec scan loaded","description":"Internal: grace requests due for execution.","synonyms":"scan loaded, due requests","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"entity":"ErasureRequest"}],"listened":true},{"key":"ExecScanFailed","id":"evt_FZ29BA66QV3BXZXWRHZ9MPC1GB","name":"Exec scan failed","description":"Internal: execution scan failed.","synonyms":"scan error, scan failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"ExecStepped","id":"evt_KZAJS8886B435H2HRE8YSMRVM8","name":"Exec stepped","description":"Internal: one request executed; advances the scan loop.","synonyms":"stepped, next","tier":"internal","payloadSchema":[{"name":"id","type":"string"}],"listened":true},{"key":"CLOSE","id":"evt_3ZP0G3D13JGHSAJDGH75708FFA","name":"Close","description":"Dismisses the erasure-requests overlay.","synonyms":"dismiss, hide, cancel, done","tier":"domain","listened":true},{"key":"CANCEL_ERASURE","id":"evt_9Y2MXKESZ5CZJYC0V99BEZMP90","name":"Cancel Erasure","description":"Signals a request cancellation during its processing lifecycle.","synonyms":"abort, revoke, undo, terminate","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"entity":"ErasureRequest"}],"listened":true},{"key":"ErasureSaved","id":"evt_C41M80DBB3NNHKYEWV1AV09ZC6","name":"Erasure saved","description":"Indicates a new erasure request has been successfully saved.","synonyms":"created, added, persisted","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"subjectId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"status","type":"string","values":["pending","grace","executed","cancelled"]},{"name":"requestedAt","type":"number"},{"name":"executesAt","type":"number"},{"name":"executedAt","type":"number"},{"name":"cancelledAt","type":"number"},{"name":"notes","type":"string"}],"payloadEntity":"ErasureRequest","listened":true},{"key":"ErasureSaveFailed","id":"evt_VPM516HNZETZQ8KG542ZWET8FP","name":"Erasure save failed","description":"Indicates that saving the erasure request failed.","synonyms":"failed, error, unsuccessful","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"ExecuteErasure","id":"evt_MBTYGMJGBS85WXK7WR1YS8B39W","name":"Execute erasure","description":"Instructs the target atom to perform the actual delete or PII scrub for a request whose grace period has elapsed.","synonyms":"execute, perform erasure, delete now, scrub, finalize erasure","tier":"domain","payloadSchema":[{"name":"requestId","type":"string"},{"name":"targetEntity","type":"string"},{"name":"subjectId","type":"string"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_A7EEVWJJNN9ATPS34AC1ZXKG6M","effects":[["fetch","ErasureRequest",{"emit":{"failure":"ErasureLoadFailed","success":"ErasureLoaded"}}]]},{"from":"idle","to":"idle","event":"ErasureLoaded","eventId":"evt_EP13S57BCXNPEJCNHC31B3QQ4F"},{"from":"idle","to":"idle","event":"ErasureLoadFailed","eventId":"evt_R1NQNDCGDM86T25KKG546N4EXD","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't load the erasure queue — ","@payload.error"],"dismissible":true}]]},{"from":"idle","to":"loading","event":"OPEN","eventId":"evt_H5X9K384Y02F0DB0B6RHTNAGWD","guard":"@config.enabled","effects":[["fetch","ErasureRequest",{"emit":{"failure":"ErasureLoadFailed","success":"ErasureLoaded"}}],["render-ui","@config.reviewSlot",{"align":"center","children":["@trait.LoadingSpinner","@trait.LoadingText"],"className":"py-12","direction":"vertical","gap":"md","type":"stack"}]]},{"from":"idle","to":"execScanning","event":"ExecScanLoaded","eventId":"evt_6SDT7BMG5982MN799V7MCGN6XS","guard":["and","@config.enabled",[">",["array/len","@payload.data"],0]],"effects":[["set","@entity.id",["object/get",["array/first","@payload.data"],"id"]],["set","@entity.targetEntity",["str/default",["object/get",["array/first","@payload.data"],"targetEntity"],"@config.targetEntity"]],["set","@entity.subjectId",["object/get",["array/first","@payload.data"],"subjectId"]],["emit","ExecuteErasure",{"requestId":"@entity.id","subjectId":"@entity.subjectId","targetEntity":"@entity.targetEntity"}],["persist","update","ErasureRequest",{"executedAt":"@now","id":"@entity.id","status":"executed"},{"emit":{"failure":"ExecScanFailed","success":"ExecStepped"}}]]},{"from":"idle","to":"idle","event":"ExecScanLoaded","eventId":"evt_6SDT7BMG5982MN799V7MCGN6XS","guard":["=",["array/len","@payload.data"],0]},{"from":"idle","to":"idle","event":"ExecScanFailed","eventId":"evt_FZ29BA66QV3BXZXWRHZ9MPC1GB","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't scan for erasures to execute — ","@payload.error"],"dismissible":true}]]},{"from":"execScanning","to":"execScanning","event":"ExecStepped","eventId":"evt_KZAJS8886B435H2HRE8YSMRVM8","effects":[["fetch","ErasureRequest",{"emit":{"failure":"ExecScanFailed","success":"ExecScanLoaded"},"filter":["and",["=",["object/get","@entity","status"],"grace"],["<",["object/get","@entity","executesAt"],"@now"]]}]]},{"from":"execScanning","to":"execScanning","event":"ExecScanLoaded","eventId":"evt_6SDT7BMG5982MN799V7MCGN6XS","guard":[">",["array/len","@payload.data"],0],"effects":[["set","@entity.id",["object/get",["array/first","@payload.data"],"id"]],["set","@entity.targetEntity",["str/default",["object/get",["array/first","@payload.data"],"targetEntity"],"@config.targetEntity"]],["set","@entity.subjectId",["object/get",["array/first","@payload.data"],"subjectId"]],["emit","ExecuteErasure",{"requestId":"@entity.id","subjectId":"@entity.subjectId","targetEntity":"@entity.targetEntity"}],["persist","update","ErasureRequest",{"executedAt":"@now","id":"@entity.id","status":"executed"},{"emit":{"failure":"ExecScanFailed","success":"ExecStepped"}}]]},{"from":"execScanning","to":"idle","event":"ExecScanLoaded","eventId":"evt_6SDT7BMG5982MN799V7MCGN6XS","guard":["=",["array/len","@payload.data"],0]},{"from":"execScanning","to":"idle","event":"ExecScanFailed","eventId":"evt_FZ29BA66QV3BXZXWRHZ9MPC1GB","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't scan for erasures to execute — ","@payload.error"],"dismissible":true}]]},{"from":"loading","to":"browsing","event":"ErasureLoaded","eventId":"evt_EP13S57BCXNPEJCNHC31B3QQ4F","effects":[["render-ui","@config.reviewSlot",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.Trash2Icon","@trait.ErasureRequestsTitle"],"direction":"horizontal","gap":"sm","type":"stack"},"@trait.CloseButton"],"direction":"horizontal","gap":"sm","justify":"between","type":"stack"},"@trait.ErasureDivider",{"cols":1,"entity":"@payload.data","fields":[{"label":"Subject","name":"subjectId","variant":"caption"},{"label":"Status","name":"status","variant":"badge"},{"label":"Executes","name":"executesAt","variant":"caption"}],"gap":"sm","itemActions":["array/filter","@config.itemActions",["fn","action",["or",["=",["array/len",["object/get","@action","roles",[]]],0],["array/includes",["object/get","@action","roles",[]],"@config.viewerRole"]]]],"look":"@config.tableLook","type":"data-grid"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"loading","to":"error","event":"ErasureLoadFailed","eventId":"evt_R1NQNDCGDM86T25KKG546N4EXD","effects":[["render-ui","@config.reviewSlot",{"children":["@trait.ErrorAlert"],"type":"stack"}]]},{"from":"loading","to":"idle","event":"CLOSE","eventId":"evt_3ZP0G3D13JGHSAJDGH75708FFA","effects":[["render-ui","@config.reviewSlot",null]]},{"from":"browsing","to":"browsing","event":"CANCEL_ERASURE","eventId":"evt_9Y2MXKESZ5CZJYC0V99BEZMP90","effects":[["set","@entity.id","@payload.id"],["set","@entity.status","cancelled"],["persist","update","ErasureRequest","@entity",{"emit":{"failure":"ErasureSaveFailed","success":"ErasureSaved"}}]]},{"from":"browsing","to":"loading","event":"ErasureSaved","eventId":"evt_C41M80DBB3NNHKYEWV1AV09ZC6","effects":[["fetch","ErasureRequest",{"emit":{"failure":"ErasureLoadFailed","success":"ErasureLoaded"}}]]},{"from":"browsing","to":"browsing","event":"ErasureSaveFailed","eventId":"evt_VPM516HNZETZQ8KG542ZWET8FP","effects":[["render-ui","@config.reviewSlot",{"children":["@trait.ErrorAlert"],"type":"stack"}]]},{"from":"browsing","to":"idle","event":"CLOSE","eventId":"evt_3ZP0G3D13JGHSAJDGH75708FFA","effects":[["render-ui","@config.reviewSlot",null]]},{"from":"error","to":"loading","event":"OPEN","eventId":"evt_H5X9K384Y02F0DB0B6RHTNAGWD","effects":[["fetch","ErasureRequest",{"emit":{"failure":"ErasureLoadFailed","success":"ErasureLoaded"}}],["render-ui","@config.reviewSlot",{"children":["@trait.ErrorSpinner"],"type":"stack"}]]},{"from":"error","to":"idle","event":"CLOSE","eventId":"evt_3ZP0G3D13JGHSAJDGH75708FFA","effects":[["render-ui","@config.reviewSlot",null]]}]},"ticks":[{"name":"executionScan","interval":"0 * * * *","effects":[["fetch","ErasureRequest",{"emit":{"failure":"ExecScanFailed","success":"ExecScanLoaded"},"filter":["and",["=",["object/get","@entity","status"],"grace"],["<",["object/get","@entity","executesAt"],"@now"]]}]],"runsInBackground":true}],"config":{"viewerRole":{"type":"string","default":"","label":"Viewer's role","description":"The signed-in viewer's role that each action's `roles` is checked against. Bind it explicitly at the call site (e.g. `viewerRole: @user.role`) in an app whose identity carries a role; left empty, only actions with no `roles` show.","tier":"policy"},"enabled":{"type":"boolean","default":false,"label":"Allow data erasure (GDPR)","description":"Let people request that their data be permanently removed. Off by default.","synonyms":"enable, turn on, enforce, require, activate, apply, switch on, gdpr, erasure, right to be forgotten, data deletion, scheduled deletion, retention purge, account deletion, anonymize user data, scrub PII, delete user data","tier":"policy"},"tableLook":{"type":"string","default":"dense","label":"Erasure queue table style","description":"Visual treatment for the erasure-requests data table.","synonyms":"table style, grid look, compact, spacious","tier":"presentation","values":["dense","spacious","striped","borderless","card-rows"]},"targetEntity":{"type":"string","default":"","label":"Target entity","description":"Entity name whose records erasure requests apply to (e.g. 'CustomerAccount').","tier":"internal"},"reviewSlot":{"type":"slot","default":"modal","label":"Review slot","description":"UI slot the erasure-requests queue renders into. Defaults to the modal overlay so it never seizes the host's main content; summoned via OPEN, cleared via CLOSE.","tier":"internal"},"itemActions":{"type":"[ItemAction]","default":[{"event":"CANCEL_ERASURE","icon":"x","label":"Cancel","variant":"secondary"}],"label":"Row actions","description":"Actions offered on each row; give an item `roles` to show it only to those viewer roles.","tier":"presentation","items":{"type":"object","properties":{"roles":{"name":"roles","type":"array","required":false,"items":{"type":"string"}},"label":{"name":"label","type":"string","required":true},"icon":{"name":"icon","type":"string","required":false},"event":{"name":"event","type":"event","required":false},"variant":{"name":"variant","type":"string","required":false}}}}},"scope":"collection"}],"pages":[{"name":"ErasureWorkflowPage","id":"pag_9CXPHE9T0HX08ZRT66CDV7M3R3","path":"/erasure/queue","traits":[{"ref":"ErasureWorkflow","refId":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"}]}],"types":{"ItemAction":[{"name":"label","type":"string","required":true},{"name":"event","type":"event"},{"name":"variant","type":"string"},{"name":"icon","type":"string"},{"name":"roles","type":"[string]"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_7AMXD30XTBEX5YVDM29YZE6VD0":{"id":"ent_7AMXD30XTBEX5YVDM29YZE6VD0","kind":"entity","bakedName":"ErasureRequest","curName":"ErasureRequest","renames":[],"owner":"workspace"},"evt_3ZP0G3D13JGHSAJDGH75708FFA":{"id":"evt_3ZP0G3D13JGHSAJDGH75708FFA","kind":"event","bakedName":"CLOSE","curName":"CLOSE","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_6SDT7BMG5982MN799V7MCGN6XS":{"id":"evt_6SDT7BMG5982MN799V7MCGN6XS","kind":"event","bakedName":"ExecScanLoaded","curName":"ExecScanLoaded","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_9Y2MXKESZ5CZJYC0V99BEZMP90":{"id":"evt_9Y2MXKESZ5CZJYC0V99BEZMP90","kind":"event","bakedName":"CANCEL_ERASURE","curName":"CANCEL_ERASURE","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_A7EEVWJJNN9ATPS34AC1ZXKG6M":{"id":"evt_A7EEVWJJNN9ATPS34AC1ZXKG6M","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_C41M80DBB3NNHKYEWV1AV09ZC6":{"id":"evt_C41M80DBB3NNHKYEWV1AV09ZC6","kind":"event","bakedName":"ErasureSaved","curName":"ErasureSaved","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_EP13S57BCXNPEJCNHC31B3QQ4F":{"id":"evt_EP13S57BCXNPEJCNHC31B3QQ4F","kind":"event","bakedName":"ErasureLoaded","curName":"ErasureLoaded","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_FZ29BA66QV3BXZXWRHZ9MPC1GB":{"id":"evt_FZ29BA66QV3BXZXWRHZ9MPC1GB","kind":"event","bakedName":"ExecScanFailed","curName":"ExecScanFailed","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_H5X9K384Y02F0DB0B6RHTNAGWD":{"id":"evt_H5X9K384Y02F0DB0B6RHTNAGWD","kind":"event","bakedName":"OPEN","curName":"OPEN","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_KZAJS8886B435H2HRE8YSMRVM8":{"id":"evt_KZAJS8886B435H2HRE8YSMRVM8","kind":"event","bakedName":"ExecStepped","curName":"ExecStepped","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_MBTYGMJGBS85WXK7WR1YS8B39W":{"id":"evt_MBTYGMJGBS85WXK7WR1YS8B39W","kind":"event","bakedName":"ExecuteErasure","curName":"ExecuteErasure","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_R1NQNDCGDM86T25KKG546N4EXD":{"id":"evt_R1NQNDCGDM86T25KKG546N4EXD","kind":"event","bakedName":"ErasureLoadFailed","curName":"ErasureLoadFailed","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"evt_VPM516HNZETZQ8KG542ZWET8FP":{"id":"evt_VPM516HNZETZQ8KG542ZWET8FP","kind":"event","bakedName":"ErasureSaveFailed","curName":"ErasureSaveFailed","renames":[],"owner":"workspace","parent":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20"},"orb_ZQBSN9BCNAPAN303V340DZD0NN":{"id":"orb_ZQBSN9BCNAPAN303V340DZD0NN","kind":"orbital","bakedName":"DataErasureOrbital","curName":"DataErasureOrbital","renames":[],"owner":"workspace"},"pag_9CXPHE9T0HX08ZRT66CDV7M3R3":{"id":"pag_9CXPHE9T0HX08ZRT66CDV7M3R3","kind":"page","bakedName":"ErasureWorkflowPage","curName":"ErasureWorkflowPage","renames":[],"owner":"workspace"},"trt_3B59F2TAY65F3AASHF1NEY1MSR":{"id":"trt_3B59F2TAY65F3AASHF1NEY1MSR","kind":"trait","bakedName":"LoadingSpinner","curName":"LoadingSpinner","renames":[],"owner":"workspace"},"trt_H3HPMVW51X2GYYYF63EH6F90TZ":{"id":"trt_H3HPMVW51X2GYYYF63EH6F90TZ","kind":"trait","bakedName":"CloseButton","curName":"CloseButton","renames":[],"owner":"workspace"},"trt_HBT0EKQ5G5JR2VPF85NPF8N2RA":{"id":"trt_HBT0EKQ5G5JR2VPF85NPF8N2RA","kind":"trait","bakedName":"ErasureDivider","curName":"ErasureDivider","renames":[],"owner":"workspace"},"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20":{"id":"trt_J9KQX0H6ZWKFY7DDWJTFRX1G20","kind":"trait","bakedName":"ErasureWorkflow","curName":"ErasureWorkflow","renames":[],"owner":"workspace"},"trt_JR57BSG30G1G8032XF54E83XX8":{"id":"trt_JR57BSG30G1G8032XF54E83XX8","kind":"trait","bakedName":"ErrorSpinner","curName":"ErrorSpinner","renames":[],"owner":"workspace"},"trt_S0JBDXM6WV3EDME1NXHSAZDPM0":{"id":"trt_S0JBDXM6WV3EDME1NXHSAZDPM0","kind":"trait","bakedName":"ErasureRequestsTitle","curName":"ErasureRequestsTitle","renames":[],"owner":"workspace"},"trt_VG52ZXXMPSTBCVZTGFZ7E72TVK":{"id":"trt_VG52ZXXMPSTBCVZTGFZ7E72TVK","kind":"trait","bakedName":"Trash2Icon","curName":"Trash2Icon","renames":[],"owner":"workspace"},"trt_WSBVBN5BR4NW2F912Q99D3YBPH":{"id":"trt_WSBVBN5BR4NW2F912Q99D3YBPH","kind":"trait","bakedName":"LoadingText","curName":"LoadingText","renames":[],"owner":"workspace"},"trt_XK3DSMKTHPX8V0PZ8METV6QT0S":{"id":"trt_XK3DSMKTHPX8V0PZ8METV6QT0S","kind":"trait","bakedName":"ErrorAlert","curName":"ErrorAlert","renames":[],"owner":"workspace"}}}}