@almadar/std 16.253.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 (456) hide show
  1. package/behaviors/lolo/agent/atoms/std-agent-pool.lolo +355 -0
  2. package/behaviors/lolo/agent/evals/eval-agent-builder.lolo +159 -0
  3. package/behaviors/lolo/agent/organisms/std-agent-builder.lolo +321 -26
  4. package/behaviors/lolo-behavior-contracts.json +1 -1
  5. package/behaviors/registry/agent/atoms/std-agent-context.orb +1 -1
  6. package/behaviors/registry/agent/atoms/std-agent-memory.orb +1 -1
  7. package/behaviors/registry/agent/atoms/std-agent-planner.orb +1 -1
  8. package/behaviors/registry/agent/atoms/std-agent-pool.orb +1 -0
  9. package/behaviors/registry/agent/atoms/std-agent-proposal.orb +1 -1
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +1 -1
  11. package/behaviors/registry/agent/atoms/std-agent-suggestions.orb +1 -1
  12. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +1 -1
  13. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +1 -1
  14. package/behaviors/registry/agent/atoms/std-agent-trace.orb +1 -1
  15. package/behaviors/registry/agent/evals/eval-agent-builder.orb +1 -0
  16. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1 -1
  17. package/behaviors/registry/agent/organisms/std-agent-builder.orb +1 -1
  18. package/behaviors/registry/infra/atoms/std-analytics.orb +1 -1
  19. package/behaviors/registry/infra/atoms/std-approval-gate.orb +1 -1
  20. package/behaviors/registry/infra/atoms/std-audit-capture.orb +1 -1
  21. package/behaviors/registry/infra/atoms/std-cache-aside.orb +1 -1
  22. package/behaviors/registry/infra/atoms/std-calendar-sync.orb +1 -1
  23. package/behaviors/registry/infra/atoms/std-cascade-on-delete.orb +1 -1
  24. package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +1 -1
  25. package/behaviors/registry/infra/atoms/std-cross-reference.orb +1 -1
  26. package/behaviors/registry/infra/atoms/std-data-erasure.orb +1 -1
  27. package/behaviors/registry/infra/atoms/std-data-import.orb +1 -1
  28. package/behaviors/registry/infra/atoms/std-global-search.orb +1 -1
  29. package/behaviors/registry/infra/atoms/std-knowledge-loop.orb +1 -1
  30. package/behaviors/registry/infra/atoms/std-lifecycle.orb +1 -1
  31. package/behaviors/registry/infra/atoms/std-migration-job.orb +1 -1
  32. package/behaviors/registry/infra/atoms/std-mod-queue.orb +1 -1
  33. package/behaviors/registry/infra/atoms/std-notification-center.orb +1 -1
  34. package/behaviors/registry/infra/atoms/std-notification-preferences.orb +1 -1
  35. package/behaviors/registry/infra/atoms/std-notify-on-event.orb +1 -1
  36. package/behaviors/registry/infra/atoms/std-page-search.orb +1 -1
  37. package/behaviors/registry/infra/atoms/std-page-watch.orb +1 -1
  38. package/behaviors/registry/infra/atoms/std-permission-matrix.orb +1 -1
  39. package/behaviors/registry/infra/atoms/std-rate-limiter.orb +1 -1
  40. package/behaviors/registry/infra/atoms/std-reminder-scheduler.orb +1 -1
  41. package/behaviors/registry/infra/atoms/std-review-cycle.orb +1 -1
  42. package/behaviors/registry/infra/atoms/std-row-access-control.orb +1 -1
  43. package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +1 -1
  44. package/behaviors/registry/infra/organisms/std-status-lifecycle-control.orb +1 -1
  45. package/behaviors/registry/ml/atoms/std-data-collector.orb +1 -1
  46. package/behaviors/registry/ml/atoms/std-graph-builder.orb +1 -1
  47. package/behaviors/registry/ml/atoms/std-ml-classify.orb +1 -1
  48. package/behaviors/registry/ml/atoms/std-ml-exact-check.orb +1 -1
  49. package/behaviors/registry/ml/atoms/std-ml-infer.orb +1 -1
  50. package/behaviors/registry/ml/atoms/std-ml-label-capture.orb +1 -1
  51. package/behaviors/registry/ml/atoms/std-ml-lookup.orb +1 -1
  52. package/behaviors/registry/ml/atoms/std-ml-posterior.orb +1 -1
  53. package/behaviors/registry/ml/atoms/std-ml-similarity.orb +1 -1
  54. package/behaviors/registry/ml/atoms/std-tokenizer.orb +1 -1
  55. package/behaviors/registry/ml/atoms/std-weight-validator.orb +1 -1
  56. package/behaviors/registry/ml/organisms/std-escalating-decision.orb +1 -1
  57. package/behaviors/registry/ml/organisms/std-knowledge-tracing.orb +1 -1
  58. package/behaviors/registry/ui/avl/atoms/std-avl-cosmic-zoom.orb +1 -1
  59. package/behaviors/registry/ui/avl/atoms/ui-avl-glyph.orb +1 -1
  60. package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +1 -1
  61. package/behaviors/registry/ui/avl/atoms/ui-avl-transition-detail.orb +1 -1
  62. package/behaviors/registry/ui/avl/atoms/ui-avl-transition-explainer.orb +1 -1
  63. package/behaviors/registry/ui/avl/atoms/ui-behavior-view.orb +1 -1
  64. package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +1 -1
  65. package/behaviors/registry/ui/avl/organisms/ui-flow-canvas.orb +1 -1
  66. package/behaviors/registry/ui/avl/organisms/ui-layers-panel.orb +1 -1
  67. package/behaviors/registry/ui/avl/organisms/ui-orb-inspector.orb +1 -1
  68. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +1 -1
  69. package/behaviors/registry/ui/core/atoms/std-app-search.orb +1 -1
  70. package/behaviors/registry/ui/core/atoms/std-behavior-catalog.orb +1 -1
  71. package/behaviors/registry/ui/core/atoms/std-behavior-tour.orb +1 -1
  72. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +1 -1
  73. package/behaviors/registry/ui/core/atoms/std-board.orb +1 -1
  74. package/behaviors/registry/ui/core/atoms/std-book-reader.orb +1 -1
  75. package/behaviors/registry/ui/core/atoms/std-browse.orb +1 -1
  76. package/behaviors/registry/ui/core/atoms/std-calendar.orb +1 -1
  77. package/behaviors/registry/ui/core/atoms/std-card-grid.orb +1 -1
  78. package/behaviors/registry/ui/core/atoms/std-confirmation.orb +1 -1
  79. package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +1 -1
  80. package/behaviors/registry/ui/core/atoms/std-date-range.orb +1 -1
  81. package/behaviors/registry/ui/core/atoms/std-doc-page.orb +1 -1
  82. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +1 -1
  83. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +1 -1
  84. package/behaviors/registry/ui/core/atoms/std-event-log.orb +1 -1
  85. package/behaviors/registry/ui/core/atoms/std-export.orb +1 -1
  86. package/behaviors/registry/ui/core/atoms/std-file-store.orb +1 -1
  87. package/behaviors/registry/ui/core/atoms/std-filter.orb +1 -1
  88. package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +1 -1
  89. package/behaviors/registry/ui/core/atoms/std-gallery.orb +1 -1
  90. package/behaviors/registry/ui/core/atoms/std-gantt-schedule.orb +1 -1
  91. package/behaviors/registry/ui/core/atoms/std-geosearch.orb +1 -1
  92. package/behaviors/registry/ui/core/atoms/std-graphs.orb +1 -1
  93. package/behaviors/registry/ui/core/atoms/std-hero.orb +1 -1
  94. package/behaviors/registry/ui/core/atoms/std-home.orb +1 -1
  95. package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +1 -1
  96. package/behaviors/registry/ui/core/atoms/std-import.orb +1 -1
  97. package/behaviors/registry/ui/core/atoms/std-language-picker.orb +1 -1
  98. package/behaviors/registry/ui/core/atoms/std-media-section.orb +1 -1
  99. package/behaviors/registry/ui/core/atoms/std-modal-editor.orb +1 -1
  100. package/behaviors/registry/ui/core/atoms/std-modal.orb +1 -1
  101. package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +1 -1
  102. package/behaviors/registry/ui/core/atoms/std-notification-panel.orb +1 -1
  103. package/behaviors/registry/ui/core/atoms/std-panel-launcher.orb +1 -1
  104. package/behaviors/registry/ui/core/atoms/std-pricing.orb +1 -1
  105. package/behaviors/registry/ui/core/atoms/std-proof.orb +1 -1
  106. package/behaviors/registry/ui/core/atoms/std-prose.orb +1 -1
  107. package/behaviors/registry/ui/core/atoms/std-rating-review.orb +1 -1
  108. package/behaviors/registry/ui/core/atoms/std-record-detail.orb +1 -1
  109. package/behaviors/registry/ui/core/atoms/std-recurrence.orb +1 -1
  110. package/behaviors/registry/ui/core/atoms/std-related.orb +1 -1
  111. package/behaviors/registry/ui/core/atoms/std-role-gate.orb +1 -1
  112. package/behaviors/registry/ui/core/atoms/std-saved-search.orb +1 -1
  113. package/behaviors/registry/ui/core/atoms/std-scatter.orb +1 -1
  114. package/behaviors/registry/ui/core/atoms/std-scoped-list.orb +1 -1
  115. package/behaviors/registry/ui/core/atoms/std-search.orb +1 -1
  116. package/behaviors/registry/ui/core/atoms/std-selection.orb +1 -1
  117. package/behaviors/registry/ui/core/atoms/std-site-footer.orb +1 -1
  118. package/behaviors/registry/ui/core/atoms/std-site-header.orb +1 -1
  119. package/behaviors/registry/ui/core/atoms/std-slide-deck.orb +1 -1
  120. package/behaviors/registry/ui/core/atoms/std-stat-band.orb +1 -1
  121. package/behaviors/registry/ui/core/atoms/std-stats.orb +1 -1
  122. package/behaviors/registry/ui/core/atoms/std-step-flow.orb +1 -1
  123. package/behaviors/registry/ui/core/atoms/std-steps.orb +1 -1
  124. package/behaviors/registry/ui/core/atoms/std-tabs.orb +1 -1
  125. package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +1 -1
  126. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +1 -1
  127. package/behaviors/registry/ui/core/atoms/std-thread.orb +1 -1
  128. package/behaviors/registry/ui/core/atoms/std-tree.orb +1 -1
  129. package/behaviors/registry/ui/core/atoms/std-version-history.orb +1 -1
  130. package/behaviors/registry/ui/core/atoms/std-wizard.orb +1 -1
  131. package/behaviors/registry/ui/core/atoms/std-workspace-layout.orb +1 -1
  132. package/behaviors/registry/ui/core/atoms/ui-animated-graphic.orb +1 -1
  133. package/behaviors/registry/ui/core/atoms/ui-animated-reveal.orb +1 -1
  134. package/behaviors/registry/ui/core/atoms/ui-aside.orb +1 -1
  135. package/behaviors/registry/ui/core/atoms/ui-atlas-image.orb +1 -1
  136. package/behaviors/registry/ui/core/atoms/ui-atlas-panel.orb +1 -1
  137. package/behaviors/registry/ui/core/atoms/ui-avatar.orb +1 -1
  138. package/behaviors/registry/ui/core/atoms/ui-badge.orb +1 -1
  139. package/behaviors/registry/ui/core/atoms/ui-box.orb +1 -1
  140. package/behaviors/registry/ui/core/atoms/ui-button.orb +1 -1
  141. package/behaviors/registry/ui/core/atoms/ui-card.orb +1 -1
  142. package/behaviors/registry/ui/core/atoms/ui-center.orb +1 -1
  143. package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +1 -1
  144. package/behaviors/registry/ui/core/atoms/ui-conditional-wrapper.orb +1 -1
  145. package/behaviors/registry/ui/core/atoms/ui-confetti-effect.orb +1 -1
  146. package/behaviors/registry/ui/core/atoms/ui-day-cell.orb +1 -1
  147. package/behaviors/registry/ui/core/atoms/ui-dialog.orb +1 -1
  148. package/behaviors/registry/ui/core/atoms/ui-divider.orb +1 -1
  149. package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +1 -1
  150. package/behaviors/registry/ui/core/atoms/ui-flip-container.orb +1 -1
  151. package/behaviors/registry/ui/core/atoms/ui-game-icon.orb +1 -1
  152. package/behaviors/registry/ui/core/atoms/ui-hstack.orb +1 -1
  153. package/behaviors/registry/ui/core/atoms/ui-icon.orb +1 -1
  154. package/behaviors/registry/ui/core/atoms/ui-image.orb +1 -1
  155. package/behaviors/registry/ui/core/atoms/ui-infinite-scroll-sentinel.orb +1 -1
  156. package/behaviors/registry/ui/core/atoms/ui-input.orb +1 -1
  157. package/behaviors/registry/ui/core/atoms/ui-label.orb +1 -1
  158. package/behaviors/registry/ui/core/atoms/ui-law-reference-tooltip.orb +1 -1
  159. package/behaviors/registry/ui/core/atoms/ui-overlay.orb +1 -1
  160. package/behaviors/registry/ui/core/atoms/ui-pattern-tile.orb +1 -1
  161. package/behaviors/registry/ui/core/atoms/ui-presence.orb +1 -1
  162. package/behaviors/registry/ui/core/atoms/ui-progress-bar.orb +1 -1
  163. package/behaviors/registry/ui/core/atoms/ui-radio.orb +1 -1
  164. package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +1 -1
  165. package/behaviors/registry/ui/core/atoms/ui-section-header.orb +1 -1
  166. package/behaviors/registry/ui/core/atoms/ui-select.orb +1 -1
  167. package/behaviors/registry/ui/core/atoms/ui-spacer.orb +1 -1
  168. package/behaviors/registry/ui/core/atoms/ui-sparkline.orb +1 -1
  169. package/behaviors/registry/ui/core/atoms/ui-spinner.orb +1 -1
  170. package/behaviors/registry/ui/core/atoms/ui-stack.orb +1 -1
  171. package/behaviors/registry/ui/core/atoms/ui-status-dot.orb +1 -1
  172. package/behaviors/registry/ui/core/atoms/ui-svg-branch.orb +1 -1
  173. package/behaviors/registry/ui/core/atoms/ui-svg-connection.orb +1 -1
  174. package/behaviors/registry/ui/core/atoms/ui-svg-flow.orb +1 -1
  175. package/behaviors/registry/ui/core/atoms/ui-svg-grid.orb +1 -1
  176. package/behaviors/registry/ui/core/atoms/ui-svg-lobe.orb +1 -1
  177. package/behaviors/registry/ui/core/atoms/ui-svg-mesh.orb +1 -1
  178. package/behaviors/registry/ui/core/atoms/ui-svg-morph.orb +1 -1
  179. package/behaviors/registry/ui/core/atoms/ui-svg-node.orb +1 -1
  180. package/behaviors/registry/ui/core/atoms/ui-svg-pulse.orb +1 -1
  181. package/behaviors/registry/ui/core/atoms/ui-svg-ring.orb +1 -1
  182. package/behaviors/registry/ui/core/atoms/ui-svg-shield.orb +1 -1
  183. package/behaviors/registry/ui/core/atoms/ui-svg-stack.orb +1 -1
  184. package/behaviors/registry/ui/core/atoms/ui-switch.orb +1 -1
  185. package/behaviors/registry/ui/core/atoms/ui-text-highlight.orb +1 -1
  186. package/behaviors/registry/ui/core/atoms/ui-textarea.orb +1 -1
  187. package/behaviors/registry/ui/core/atoms/ui-theme-toggle.orb +1 -1
  188. package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +1 -1
  189. package/behaviors/registry/ui/core/atoms/ui-trend-indicator.orb +1 -1
  190. package/behaviors/registry/ui/core/atoms/ui-typewriter-text.orb +1 -1
  191. package/behaviors/registry/ui/core/atoms/ui-typography.orb +1 -1
  192. package/behaviors/registry/ui/core/atoms/ui-video-embed.orb +1 -1
  193. package/behaviors/registry/ui/core/atoms/ui-vstack.orb +1 -1
  194. package/behaviors/registry/ui/core/molecules/std-stat-rows.orb +1 -1
  195. package/behaviors/registry/ui/core/molecules/ui-accordion.orb +1 -1
  196. package/behaviors/registry/ui/core/molecules/ui-activation-block.orb +1 -1
  197. package/behaviors/registry/ui/core/molecules/ui-activity-rail.orb +1 -1
  198. package/behaviors/registry/ui/core/molecules/ui-agent-activity-feed.orb +1 -1
  199. package/behaviors/registry/ui/core/molecules/ui-agent-activity-row.orb +1 -1
  200. package/behaviors/registry/ui/core/molecules/ui-agent-chat-feed.orb +1 -1
  201. package/behaviors/registry/ui/core/molecules/ui-alert.orb +1 -1
  202. package/behaviors/registry/ui/core/molecules/ui-animated-counter.orb +1 -1
  203. package/behaviors/registry/ui/core/molecules/ui-bloom-quiz-block.orb +1 -1
  204. package/behaviors/registry/ui/core/molecules/ui-branching-logic-builder.orb +1 -1
  205. package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +1 -1
  206. package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +1 -1
  207. package/behaviors/registry/ui/core/molecules/ui-carousel.orb +1 -1
  208. package/behaviors/registry/ui/core/molecules/ui-change-list.orb +1 -1
  209. package/behaviors/registry/ui/core/molecules/ui-chart-legend.orb +1 -1
  210. package/behaviors/registry/ui/core/molecules/ui-chart.orb +1 -1
  211. package/behaviors/registry/ui/core/molecules/ui-code-block.orb +1 -1
  212. package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +1 -1
  213. package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +1 -1
  214. package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +1 -1
  215. package/behaviors/registry/ui/core/molecules/ui-connection-block.orb +1 -1
  216. package/behaviors/registry/ui/core/molecules/ui-container.orb +1 -1
  217. package/behaviors/registry/ui/core/molecules/ui-content-renderer.orb +1 -1
  218. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +1 -1
  219. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +1 -1
  220. package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +1 -1
  221. package/behaviors/registry/ui/core/molecules/ui-date-range-selector.orb +1 -1
  222. package/behaviors/registry/ui/core/molecules/ui-doc-breadcrumb.orb +1 -1
  223. package/behaviors/registry/ui/core/molecules/ui-doc-pagination.orb +1 -1
  224. package/behaviors/registry/ui/core/molecules/ui-doc-search.orb +1 -1
  225. package/behaviors/registry/ui/core/molecules/ui-doc-sidebar.orb +1 -1
  226. package/behaviors/registry/ui/core/molecules/ui-doc-toc.orb +1 -1
  227. package/behaviors/registry/ui/core/molecules/ui-document-details.orb +1 -1
  228. package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +1 -1
  229. package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +1 -1
  230. package/behaviors/registry/ui/core/molecules/ui-drawer.orb +1 -1
  231. package/behaviors/registry/ui/core/molecules/ui-edge-decoration.orb +1 -1
  232. package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +1 -1
  233. package/behaviors/registry/ui/core/molecules/ui-empty-state.orb +1 -1
  234. package/behaviors/registry/ui/core/molecules/ui-error-boundary.orb +1 -1
  235. package/behaviors/registry/ui/core/molecules/ui-error-state.orb +1 -1
  236. package/behaviors/registry/ui/core/molecules/ui-feature-card.orb +1 -1
  237. package/behaviors/registry/ui/core/molecules/ui-feature-grid.orb +1 -1
  238. package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +1 -1
  239. package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +1 -1
  240. package/behaviors/registry/ui/core/molecules/ui-flex.orb +1 -1
  241. package/behaviors/registry/ui/core/molecules/ui-flip-card.orb +1 -1
  242. package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +1 -1
  243. package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +1 -1
  244. package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +1 -1
  245. package/behaviors/registry/ui/core/molecules/ui-form-field.orb +1 -1
  246. package/behaviors/registry/ui/core/molecules/ui-form-layout.orb +1 -1
  247. package/behaviors/registry/ui/core/molecules/ui-form-section-header.orb +1 -1
  248. package/behaviors/registry/ui/core/molecules/ui-fx-overlay.orb +1 -1
  249. package/behaviors/registry/ui/core/molecules/ui-gantt.orb +1 -1
  250. package/behaviors/registry/ui/core/molecules/ui-geometric-pattern.orb +1 -1
  251. package/behaviors/registry/ui/core/molecules/ui-gradient-divider.orb +1 -1
  252. package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +1 -1
  253. package/behaviors/registry/ui/core/molecules/ui-graph-view.orb +1 -1
  254. package/behaviors/registry/ui/core/molecules/ui-grid.orb +1 -1
  255. package/behaviors/registry/ui/core/molecules/ui-header.orb +1 -1
  256. package/behaviors/registry/ui/core/molecules/ui-icon-button.orb +1 -1
  257. package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +1 -1
  258. package/behaviors/registry/ui/core/molecules/ui-import-progress.orb +1 -1
  259. package/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +1 -1
  260. package/behaviors/registry/ui/core/molecules/ui-input-group.orb +1 -1
  261. package/behaviors/registry/ui/core/molecules/ui-jazari-state-machine.orb +1 -1
  262. package/behaviors/registry/ui/core/molecules/ui-lightbox.orb +1 -1
  263. package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +1 -1
  264. package/behaviors/registry/ui/core/molecules/ui-line-chart.orb +1 -1
  265. package/behaviors/registry/ui/core/molecules/ui-loading-state.orb +1 -1
  266. package/behaviors/registry/ui/core/molecules/ui-map-view.orb +1 -1
  267. package/behaviors/registry/ui/core/molecules/ui-markdown-content.orb +1 -1
  268. package/behaviors/registry/ui/core/molecules/ui-matrix-question.orb +1 -1
  269. package/behaviors/registry/ui/core/molecules/ui-menu.orb +1 -1
  270. package/behaviors/registry/ui/core/molecules/ui-meter.orb +1 -1
  271. package/behaviors/registry/ui/core/molecules/ui-modal.orb +1 -1
  272. package/behaviors/registry/ui/core/molecules/ui-navigation.orb +1 -1
  273. package/behaviors/registry/ui/core/molecules/ui-notification.orb +1 -1
  274. package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +1 -1
  275. package/behaviors/registry/ui/core/molecules/ui-option-constraint-group.orb +1 -1
  276. package/behaviors/registry/ui/core/molecules/ui-orbital-visualization.orb +1 -1
  277. package/behaviors/registry/ui/core/molecules/ui-page-header.orb +1 -1
  278. package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +1 -1
  279. package/behaviors/registry/ui/core/molecules/ui-pagination.orb +1 -1
  280. package/behaviors/registry/ui/core/molecules/ui-popover.orb +1 -1
  281. package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +1 -1
  282. package/behaviors/registry/ui/core/molecules/ui-progress-dots.orb +1 -1
  283. package/behaviors/registry/ui/core/molecules/ui-pull-to-refresh.orb +1 -1
  284. package/behaviors/registry/ui/core/molecules/ui-qr-scanner.orb +1 -1
  285. package/behaviors/registry/ui/core/molecules/ui-quiz-block.orb +1 -1
  286. package/behaviors/registry/ui/core/molecules/ui-reflection-block.orb +1 -1
  287. package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +1 -1
  288. package/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +1 -1
  289. package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +1 -1
  290. package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +1 -1
  291. package/behaviors/registry/ui/core/molecules/ui-scaled-diagram.orb +1 -1
  292. package/behaviors/registry/ui/core/molecules/ui-search-input.orb +1 -1
  293. package/behaviors/registry/ui/core/molecules/ui-section.orb +1 -1
  294. package/behaviors/registry/ui/core/molecules/ui-side-panel.orb +1 -1
  295. package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +1 -1
  296. package/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +1 -1
  297. package/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +1 -1
  298. package/behaviors/registry/ui/core/molecules/ui-skeleton.orb +1 -1
  299. package/behaviors/registry/ui/core/molecules/ui-social-proof.orb +1 -1
  300. package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +1 -1
  301. package/behaviors/registry/ui/core/molecules/ui-split.orb +1 -1
  302. package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +1 -1
  303. package/behaviors/registry/ui/core/molecules/ui-stat-display.orb +1 -1
  304. package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +1 -1
  305. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +1 -1
  306. package/behaviors/registry/ui/core/molecules/ui-tabs.orb +1 -1
  307. package/behaviors/registry/ui/core/molecules/ui-tag-input.orb +1 -1
  308. package/behaviors/registry/ui/core/molecules/ui-tooltip.orb +1 -1
  309. package/behaviors/registry/ui/core/molecules/ui-top-nav-item.orb +1 -1
  310. package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +1 -1
  311. package/behaviors/registry/ui/core/molecules/ui-version-diff.orb +1 -1
  312. package/behaviors/registry/ui/core/molecules/ui-violation-alert.orb +1 -1
  313. package/behaviors/registry/ui/core/molecules/ui-vote-stack.orb +1 -1
  314. package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +1 -1
  315. package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +1 -1
  316. package/behaviors/registry/ui/core/molecules/ui-wizard-progress.orb +1 -1
  317. package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +1 -1
  318. package/behaviors/registry/ui/core/organisms/ui-code-runner-panel.orb +1 -1
  319. package/behaviors/registry/ui/core/organisms/ui-dashboard-grid.orb +1 -1
  320. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +1 -1
  321. package/behaviors/registry/ui/core/organisms/ui-dock-layout.orb +1 -1
  322. package/behaviors/registry/ui/core/organisms/ui-drawer-slot.orb +1 -1
  323. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +1 -1
  324. package/behaviors/registry/ui/core/organisms/ui-form.orb +1 -1
  325. package/behaviors/registry/ui/core/organisms/ui-master-detail-layout.orb +1 -1
  326. package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +1 -1
  327. package/behaviors/registry/ui/core/organisms/ui-modal-slot.orb +1 -1
  328. package/behaviors/registry/ui/core/organisms/ui-runtime-debugger.orb +1 -1
  329. package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +1 -1
  330. package/behaviors/registry/ui/core/organisms/ui-split-pane.orb +1 -1
  331. package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +1 -1
  332. package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +1 -1
  333. package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +1 -1
  334. package/behaviors/registry/ui/core/organisms/ui-tabbed-container.orb +1 -1
  335. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +1 -1
  336. package/behaviors/registry/ui/core/organisms/ui-toast-slot.orb +1 -1
  337. package/behaviors/registry/ui/core/templates/ui-auth-layout.orb +1 -1
  338. package/behaviors/registry/ui/core/templates/ui-counter-template.orb +1 -1
  339. package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +1 -1
  340. package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +1 -1
  341. package/behaviors/registry/ui/game/atoms/std-arcade-play.orb +1 -1
  342. package/behaviors/registry/ui/game/atoms/std-area-fill.orb +1 -1
  343. package/behaviors/registry/ui/game/atoms/std-audio-cue.orb +1 -1
  344. package/behaviors/registry/ui/game/atoms/std-camera-rig.orb +1 -1
  345. package/behaviors/registry/ui/game/atoms/std-chase-ai.orb +1 -1
  346. package/behaviors/registry/ui/game/atoms/std-choice-gate.orb +1 -1
  347. package/behaviors/registry/ui/game/atoms/std-coef-pad.orb +1 -1
  348. package/behaviors/registry/ui/game/atoms/std-curve-fog.orb +1 -1
  349. package/behaviors/registry/ui/game/atoms/std-dungeon-combat.orb +1 -1
  350. package/behaviors/registry/ui/game/atoms/std-fx-narrative.orb +1 -1
  351. package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +1 -1
  352. package/behaviors/registry/ui/game/atoms/std-fx-trail.orb +1 -1
  353. package/behaviors/registry/ui/game/atoms/std-gate-lock.orb +1 -1
  354. package/behaviors/registry/ui/game/atoms/std-gather.orb +1 -1
  355. package/behaviors/registry/ui/game/atoms/std-gold.orb +1 -1
  356. package/behaviors/registry/ui/game/atoms/std-grid-tactics.orb +1 -1
  357. package/behaviors/registry/ui/game/atoms/std-hero-nav.orb +1 -1
  358. package/behaviors/registry/ui/game/atoms/std-lives.orb +1 -1
  359. package/behaviors/registry/ui/game/atoms/std-loop-lock.orb +1 -1
  360. package/behaviors/registry/ui/game/atoms/std-motion-body.orb +1 -1
  361. package/behaviors/registry/ui/game/atoms/std-objective-reach.orb +1 -1
  362. package/behaviors/registry/ui/game/atoms/std-pad-lock.orb +1 -1
  363. package/behaviors/registry/ui/game/atoms/std-patience.orb +1 -1
  364. package/behaviors/registry/ui/game/atoms/std-patrol-hazard.orb +1 -1
  365. package/behaviors/registry/ui/game/atoms/std-pickup.orb +1 -1
  366. package/behaviors/registry/ui/game/atoms/std-platformer-body.orb +1 -1
  367. package/behaviors/registry/ui/game/atoms/std-production.orb +1 -1
  368. package/behaviors/registry/ui/game/atoms/std-score.orb +1 -1
  369. package/behaviors/registry/ui/game/atoms/std-tutorial-autodemo.orb +1 -1
  370. package/behaviors/registry/ui/game/atoms/std-tutorial-overlay.orb +1 -1
  371. package/behaviors/registry/ui/game/atoms/std-velocity-gate.orb +1 -1
  372. package/behaviors/registry/ui/game/atoms/std-xp.orb +1 -1
  373. package/behaviors/registry/ui/game/atoms/std-zone-card.orb +1 -1
  374. package/behaviors/registry/ui/game/atoms/ui-action-palette.orb +1 -1
  375. package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +1 -1
  376. package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +1 -1
  377. package/behaviors/registry/ui/game/atoms/ui-canvas.orb +1 -1
  378. package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +1 -1
  379. package/behaviors/registry/ui/game/atoms/ui-control-button.orb +1 -1
  380. package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +1 -1
  381. package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +1 -1
  382. package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +1 -1
  383. package/behaviors/registry/ui/game/atoms/ui-draw-group.orb +1 -1
  384. package/behaviors/registry/ui/game/atoms/ui-draw-mesh.orb +1 -1
  385. package/behaviors/registry/ui/game/atoms/ui-draw-shape-layer.orb +1 -1
  386. package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +1 -1
  387. package/behaviors/registry/ui/game/atoms/ui-draw-skinned-mesh.orb +1 -1
  388. package/behaviors/registry/ui/game/atoms/ui-draw-sprite-layer.orb +1 -1
  389. package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +1 -1
  390. package/behaviors/registry/ui/game/atoms/ui-draw-text-layer.orb +1 -1
  391. package/behaviors/registry/ui/game/atoms/ui-draw-text.orb +1 -1
  392. package/behaviors/registry/ui/game/atoms/ui-game-audio-cue.orb +1 -1
  393. package/behaviors/registry/ui/game/atoms/ui-game-audio-toggle.orb +1 -1
  394. package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +1 -1
  395. package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +1 -1
  396. package/behaviors/registry/ui/game/atoms/ui-health-bar.orb +1 -1
  397. package/behaviors/registry/ui/game/atoms/ui-score-display.orb +1 -1
  398. package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +1 -1
  399. package/behaviors/registry/ui/game/atoms/ui-stat-badge.orb +1 -1
  400. package/behaviors/registry/ui/game/atoms/ui-state-graph.orb +1 -1
  401. package/behaviors/registry/ui/game/atoms/ui-state-json-view.orb +1 -1
  402. package/behaviors/registry/ui/game/atoms/ui-timer-display.orb +1 -1
  403. package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +1 -1
  404. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +1 -1
  405. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +1 -1
  406. package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +1 -1
  407. package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +1 -1
  408. package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +1 -1
  409. package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +1 -1
  410. package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +1 -1
  411. package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +1 -1
  412. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +1 -1
  413. package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +1 -1
  414. package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +1 -1
  415. package/behaviors/registry/ui/game/templates/ui-game-shell.orb +1 -1
  416. package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +1 -1
  417. package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1 -1
  418. package/behaviors/registry/ui/learning/atoms/std-learn-compare.orb +1 -1
  419. package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +1 -1
  420. package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +1 -1
  421. package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +1 -1
  422. package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +1 -1
  423. package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +1 -1
  424. package/behaviors/registry/ui/learning/atoms/std-learn-fx-cues.orb +1 -1
  425. package/behaviors/registry/ui/learning/atoms/std-learn-generate.orb +1 -1
  426. package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +1 -1
  427. package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +1 -1
  428. package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +1 -1
  429. package/behaviors/registry/ui/learning/atoms/std-learn-live-sim.orb +1 -1
  430. package/behaviors/registry/ui/learning/atoms/std-learn-measure.orb +1 -1
  431. package/behaviors/registry/ui/learning/atoms/std-learn-param-explorer.orb +1 -1
  432. package/behaviors/registry/ui/learning/atoms/std-learn-perturb.orb +1 -1
  433. package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +1 -1
  434. package/behaviors/registry/ui/learning/atoms/std-learn-sample-accumulator.orb +1 -1
  435. package/behaviors/registry/ui/learning/atoms/std-learn-sandbox.orb +1 -1
  436. package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +1 -1
  437. package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +1 -1
  438. package/behaviors/registry/ui/learning/atoms/std-learn-sim-3d.orb +1 -1
  439. package/behaviors/registry/ui/learning/atoms/std-learn-slope-probe.orb +1 -1
  440. package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +1 -1
  441. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +1 -1
  442. package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +1 -1
  443. package/behaviors/registry/ui/learning/atoms/std-learn-trace-player.orb +1 -1
  444. package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +1 -1
  445. package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +1 -1
  446. package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +1 -1
  447. package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +1 -1
  448. package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +1 -1
  449. package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +1 -1
  450. package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +1 -1
  451. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +1 -1
  452. package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +1 -1
  453. package/dist/behaviors-embeddings.hash.json +2 -2
  454. package/dist/behaviors-embeddings.json +1 -1
  455. package/dist/knob-embeddings.hash.json +2 -2
  456. package/package.json +2 -2
@@ -1 +1 @@
1
- {"name":"std-cache-aside","version":"1.0.0","description":"std-cache-aside as a Function","orbitals":[{"name":"CacheEntryOrbital","id":"orb_Y0ZNNH7K0ESG74W1Q12ZYQ0XP7","uses":[{"from":"std/behaviors/ui-icon","as":"Icon"},{"from":"std/behaviors/ui-typography","as":"Typography"},{"from":"std/behaviors/ui-button","as":"Button"},{"from":"std/behaviors/ui-divider","as":"Divider"},{"from":"std/behaviors/ui-empty-state","as":"EmptyState"},{"from":"std/behaviors/ui-spinner","as":"Spinner"},{"from":"std/behaviors/ui-status-dot","as":"StatusDot"},{"from":"std/behaviors/ui-badge","as":"Badge"},{"from":"std/behaviors/ui-alert","as":"Alert"}],"entity":{"name":"CacheEntry","id":"ent_5Z85C82D366HK6PXR864X7TSPJ","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true,"description":"A user-defined identifier for the cache entry.","synonyms":"key, identifier, alias"},{"name":"description","type":"string","description":"A human-readable explanation of the entry's content.","synonyms":"explanation, details, notes, summary"},{"name":"status","type":"string","default":"active","values":["active","inactive","pending"],"description":"Current operational state of the entry.","synonyms":"state, condition, operationalStatus"},{"name":"createdAt","type":"string"},{"name":"hitCount","type":"number","default":0,"description":"The number of times this entry has been retrieved.","synonyms":"count, occurrences, retrievals"},{"name":"cacheAge","type":"number","default":0,"description":"Duration since the cache entry was last updated.","synonyms":"age, duration, expiry"}]},"traits":[{"ref":"Button.traits.ButtonRender","id":"trt_QERKEF6VA2DN1C173JJ107Y991","name":"FetchButton","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"label":{"type":"unknown","default":"Fetch"},"icon":{"type":"unknown","default":"download"},"variant":{"type":"unknown","default":"primary"},"action":{"type":"unknown","default":"FETCH"}}},{"ref":"Button.traits.ButtonRender","id":"trt_T5M8BT7GV7RDKQYB6TFEAPVWZ9","name":"InvalidateButton","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"variant":{"type":"unknown","default":"ghost"},"icon":{"type":"unknown","default":"trash"},"action":{"type":"unknown","default":"INVALIDATE"},"label":{"type":"unknown","default":"Invalidate"}}},{"ref":"Button.traits.ButtonRender","id":"trt_N5CSY2S4RTJCD25KTT1KMWMT09","name":"RefreshButton","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"icon":{"type":"unknown","default":"refresh-cw"},"variant":{"type":"unknown","default":"primary"},"label":{"type":"unknown","default":"Refresh"},"action":{"type":"unknown","default":"REFRESH"}}},{"ref":"Button.traits.ButtonRender","id":"trt_4TM122ZHYMRZA3K8ESX8YB2G3X","name":"RetryButton","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"label":{"type":"unknown","default":"Retry"},"action":{"type":"unknown","default":"FETCH"},"variant":{"type":"unknown","default":"primary"},"icon":{"type":"unknown","default":"rotate-ccw"}}},{"name":"CacheEntryCacheManager","id":"trt_65W8327PT2VD1674PPQ7PBAXE5","effectRow":[{"kind":"fetch","resource":"CacheEntry"},{"kind":"persist","resource":"CacheEntry"},{"kind":"render-ui","resource":"main"},{"kind":"render-ui","resource":"toast"}],"category":"interaction","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","entityRefIds":{"CacheEntry":"ent_5Z85C82D366HK6PXR864X7TSPJ"},"traitEmbedIds":{"InlineIconRender30":"trt_3WTDJZB1RCGW6AQQ9F1A6858KG","InlineEmptyStateRender33":"trt_M19DDXYCH068G36CMQ5BNV1N20","InlineStatusDotRender11":"trt_WP20VQ9327HH3N2KPA4A8BQ50X","InlineTypographyRender25":"trt_7ZEDEK69D64PKCW2NZVXD4Q8FK","InlineDividerRender7":"trt_HTTKBR3T3CX1PD5SA4BRC5HBMQ","RetryButton":"trt_4TM122ZHYMRZA3K8ESX8YB2G3X","InlineEmptyStateRender23":"trt_Y4B77KP5M62T3C806ETTBE0JPH","InlineTypographyRender21":"trt_WQ1AP2KAAQN5BMJTM3GGCVBH96","InlineDividerRender3":"trt_4WZR4K83Y21Z17REEFDHBH36F4","InlineSpinnerRender29":"trt_KZRPTZSH63RK1ZEXABAQ9V3XZV","InlineEmptyStateRender8":"trt_01JYNPZXYKYZ9SVXHTH51Y8PMC","InlineBadgeRender15":"trt_73WG7FS7X1KYGM79ZVC0F8SWHB","InlineTypographyRender16":"trt_PAZX1SEXNCETPFNANZWRC42EQQ","InlineDividerRender32":"trt_GR3ZTCD7QVKVXWSSH9T653VPGD","FetchButton":"trt_QERKEF6VA2DN1C173JJ107Y991","InlineIconRender9":"trt_C3JERQQYAKZ59KHS9EDWNMRQNN","InlineIconRender17":"trt_ANMYMWHM50T2G48033PPM1225H","InlineIconRender1":"trt_55BTSARNXJAYSCQPCH187YM044","InlineTypographyRender14":"trt_KNX24Z8CG068051JW6M3ZRYA8G","InlineTypographyRender19":"trt_F8QRQB1GG0R80E8Y0S3B6VD0PA","RefreshButton":"trt_N5CSY2S4RTJCD25KTT1KMWMT09","InlineAlertRender28":"trt_RGG4DHS7PSKVCVDYF40CSMY1JE","InlineIconRender13":"trt_D35M488TPNDBAMHWASJSDC8VV4","InlineIconRender20":"trt_H3KFCK6QTEBX720X1X56KQWS9C","InlineIconRender24":"trt_XBQSBJGV7HDKRGPGQX5147QFX2","InlineTypographyRender31":"trt_0BRK1WZ2KWH9Y4K6X4RMJCCJ6C","InlineTypographyRender2":"trt_H82CYXT2TE1D78902B6W36R691","InlineEmptyStateRender34":"trt_XZ4FHJYJX29EHEFKZABN4FM2PS","InlineTypographyRender6":"trt_G2FJXRCKS39WHMHPB7Y2VSD7FC","InlineTypographyRender10":"trt_YMETG7V75MKJTDA7WYCPPVED6K","InlineIconRender5":"trt_YWJ0GSD0YGGF857XQSV4FVSG0N","InvalidateButton":"trt_T5M8BT7GV7RDKQYB6TFEAPVWZ9","InlineEmptyStateRender4":"trt_E94C6ENJZQSFVY5GQ3VKDWN02A","InlineStatusDotRender26":"trt_40XN40JV6KDK9MDN3GG9CFPZRH","InlineTypographyRender18":"trt_W587HXS4FVJ7XR2HK42W2CS2DJ","InlineDividerRender27":"trt_YJ2YS8XJWQSEBR55CEWKZP5QPS","InlineDividerRender12":"trt_SVN5YP35KKJSSS6V7GSEYPEQK7","InlineDividerRender22":"trt_PTKCJ7N7ZDKZPQZVH6K5ZMGPK8"},"emits":[{"event":"CacheEntryLoaded","eventId":"evt_Y6CNYABPM0VA01ACXSDS53N9D0","description":"Indicates a cache entry has been successfully retrieved.","synonyms":"loaded, retrieved, fetched","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"},{"name":"hitCount","type":"number"},{"name":"cacheAge","type":"number"}],"entity":"CacheEntry"}]},{"event":"CacheEntryLoadFailed","eventId":"evt_NRA3TXRZNXFTYRQMKQ9RBFYD2Q","description":"Indicates a failure to load a cache entry.","synonyms":"error, failure, miss, not found","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"CacheEntryUpdated","eventId":"evt_H20NCWZVXRXYWD0XS3CG11GS4Q","description":"Signals that a cached entry's data has been modified.","synonyms":"modified, refreshed, changed, updated","tier":"presentation","scope":"internal","payloadSchema":[{"name":"id","type":"string"}]},{"event":"CacheEntryUpdateFailed","eventId":"evt_ZJBMKSM6QX3BYNPMXPZZTNXN43","description":"Indicates a failure to update a cached entry.","synonyms":"error, failure, problem, unsuccessful","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"empty","isInitial":true},{"name":"loading"},{"name":"cached"},{"name":"stale"},{"name":"error"}],"events":[{"key":"INIT","id":"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW","name":"Initialize"},{"key":"FETCH","id":"evt_Y2DNBSWCE267119FB3CVWRHM7F","name":"Fetch"},{"key":"CacheEntryLoaded","id":"evt_Y6CNYABPM0VA01ACXSDS53N9D0","name":"CacheEntry loaded","description":"Indicates a cache entry has been successfully retrieved.","synonyms":"loaded, retrieved, fetched","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"},{"name":"hitCount","type":"number"},{"name":"cacheAge","type":"number"}],"entity":"CacheEntry"}]},{"key":"CacheEntryLoadFailed","id":"evt_NRA3TXRZNXFTYRQMKQ9RBFYD2Q","name":"CacheEntry load failed","description":"Indicates a failure to load a cache entry.","synonyms":"error, failure, miss, not found","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"CacheEntryUpdateFailed","id":"evt_ZJBMKSM6QX3BYNPMXPZZTNXN43","name":"CacheEntry update failed","description":"Indicates a failure to update a cached entry.","synonyms":"error, failure, problem, unsuccessful","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"CacheEntryUpdated","id":"evt_H20NCWZVXRXYWD0XS3CG11GS4Q","name":"CacheEntry updated","description":"Signals that a cached entry's data has been modified.","synonyms":"modified, refreshed, changed, updated","tier":"presentation","payloadSchema":[{"name":"id","type":"string"}]},{"key":"INVALIDATE","id":"evt_ZYKP8NV0TWGDEBBH3RTAYPM4YQ","name":"Invalidate"},{"key":"CACHED","id":"evt_BYA9HTGWXXEEYND3M4AF7QBV4H","name":"Cached","description":"Data retrieved successfully from the cache.","synonyms":"hit, found, retrieved","tier":"domain","payloadSchema":[{"name":"data","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"},{"name":"hitCount","type":"number"},{"name":"cacheAge","type":"number"}],"entity":"CacheEntry"}],"listened":true},{"key":"REFRESH","id":"evt_H25DT168GJ489CT5H77EWYDM4C","name":"Refresh"}],"transitions":[{"from":"empty","to":"empty","event":"INIT","eventId":"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW","effects":[["render-ui","main",{"children":[{"children":[{"children":["@trait.InlineIconRender1","@trait.InlineTypographyRender2"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.FetchButton"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.InlineDividerRender3","@trait.InlineEmptyStateRender4"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"empty","to":"loading","event":"FETCH","eventId":"evt_Y2DNBSWCE267119FB3CVWRHM7F","effects":[["fetch","CacheEntry",{"emit":{"failure":"CacheEntryLoadFailed","success":"CacheEntryLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"detail"}]]},{"from":"loading","to":"empty","event":"INIT","eventId":"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW","effects":[["render-ui","main",{"children":[{"children":[{"children":["@trait.InlineIconRender5","@trait.InlineTypographyRender6"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.FetchButton"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.InlineDividerRender7","@trait.InlineEmptyStateRender8"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"loading","to":"cached","event":"CacheEntryLoaded","eventId":"evt_Y6CNYABPM0VA01ACXSDS53N9D0","effects":[["render-ui","main",{"children":[{"children":[{"children":["@trait.InlineIconRender9","@trait.InlineTypographyRender10"],"direction":"horizontal","gap":"md","type":"stack"},{"align":"center","children":["@trait.InlineStatusDotRender11","@trait.InvalidateButton"],"direction":"horizontal","gap":"sm","type":"stack"}],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.InlineDividerRender12",{"entity":"@payload.data","fields":[],"look":"@config.tableLook","renderItem":["fn","item",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.InlineIconRender13","@trait.InlineTypographyRender14"],"direction":"horizontal","gap":"sm","type":"stack"},"@trait.InlineBadgeRender15"],"direction":"horizontal","justify":"between","type":"stack"},"@trait.InlineTypographyRender16"],"direction":"vertical","gap":"sm","type":"stack"}],"type":"data-grid"}],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"loading","to":"error","event":"CacheEntryLoadFailed","eventId":"evt_NRA3TXRZNXFTYRQMKQ9RBFYD2Q","effects":[["render-ui","main",{"align":"center","children":["@trait.InlineIconRender17","@trait.InlineTypographyRender18","@trait.InlineTypographyRender19","@trait.RetryButton"],"className":"py-12","direction":"vertical","gap":"md","type":"stack"}]]},{"from":"loading","to":"loading","event":"CacheEntryUpdateFailed","eventId":"evt_ZJBMKSM6QX3BYNPMXPZZTNXN43","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't update the cache entry — ","@payload.error"],"dismissible":true}]]},{"from":"loading","to":"loading","event":"CacheEntryUpdated","eventId":"evt_H20NCWZVXRXYWD0XS3CG11GS4Q","effects":[["fetch","CacheEntry",{"emit":{"failure":"CacheEntryLoadFailed","success":"CacheEntryLoaded"}}]]},{"from":"cached","to":"empty","event":"INIT","eventId":"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW","effects":[["render-ui","main",{"children":[{"children":[{"children":["@trait.InlineIconRender20","@trait.InlineTypographyRender21"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.FetchButton"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.InlineDividerRender22","@trait.InlineEmptyStateRender23"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"cached","to":"stale","event":"INVALIDATE","eventId":"evt_ZYKP8NV0TWGDEBBH3RTAYPM4YQ","effects":[["render-ui","main",{"children":[{"children":[{"children":["@trait.InlineIconRender24","@trait.InlineTypographyRender25"],"direction":"horizontal","gap":"md","type":"stack"},{"align":"center","children":["@trait.InlineStatusDotRender26","@trait.RefreshButton"],"direction":"horizontal","gap":"sm","type":"stack"}],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.InlineDividerRender27","@trait.InlineAlertRender28"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"cached","to":"loading","event":"CACHED","eventId":"evt_BYA9HTGWXXEEYND3M4AF7QBV4H","effects":[["persist","update","CacheEntry","@payload.data",{"emit":{"failure":"CacheEntryUpdateFailed","success":"CacheEntryUpdated"}}],["fetch","CacheEntry",{"emit":{"failure":"CacheEntryLoadFailed","success":"CacheEntryLoaded"}}],["render-ui","main",{"type":"stack","children":["@trait.InlineSpinnerRender29"]}]]},{"from":"stale","to":"empty","event":"INIT","eventId":"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW","effects":[["render-ui","main",{"children":[{"children":[{"children":["@trait.InlineIconRender30","@trait.InlineTypographyRender31"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.FetchButton"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.InlineDividerRender32","@trait.InlineEmptyStateRender33"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"stale","to":"loading","event":"REFRESH","eventId":"evt_H25DT168GJ489CT5H77EWYDM4C","effects":[["fetch","CacheEntry",{"emit":{"failure":"CacheEntryLoadFailed","success":"CacheEntryLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"detail"}]]},{"from":"stale","to":"loading","event":"FETCH","eventId":"evt_Y2DNBSWCE267119FB3CVWRHM7F","effects":[["fetch","CacheEntry",{"emit":{"failure":"CacheEntryLoadFailed","success":"CacheEntryLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"detail"}]]},{"from":"error","to":"empty","event":"INIT","eventId":"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW","effects":[["render-ui","main",{"type":"stack","children":["@trait.InlineEmptyStateRender34"]}]]},{"from":"error","to":"loading","event":"FETCH","eventId":"evt_Y2DNBSWCE267119FB3CVWRHM7F","effects":[["fetch","CacheEntry",{"emit":{"failure":"CacheEntryLoadFailed","success":"CacheEntryLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"detail"}]]}]},"config":{"emptyLook":{"type":"string","default":"icon-only","label":"Empty-state look","description":"Layer 2 visual treatment for the empty-state placeholder.","tier":"presentation","values":["illustrated","icon-only","text-only","mascot"]},"tableLook":{"type":"string","default":"dense","label":"Table look","description":"Layer 2 visual treatment for the data table rendered by this atom.","tier":"presentation","values":["dense","spacious","striped","borderless","card-rows"]}},"scope":"collection"},{"ref":"Icon.traits.IconRender","id":"trt_55BTSARNXJAYSCQPCH187YM044","name":"InlineIconRender1","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"database"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_H82CYXT2TE1D78902B6W36R691","name":"InlineTypographyRender2","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"content":{"type":"unknown","default":"Cache (empty)"},"variant":{"type":"unknown","default":"h2"}}},{"ref":"Divider.traits.DividerRender","id":"trt_4WZR4K83Y21Z17REEFDHBH36F4","name":"InlineDividerRender3","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ"},{"ref":"EmptyState.traits.EmptyStateRender","id":"trt_E94C6ENJZQSFVY5GQ3VKDWN02A","name":"InlineEmptyStateRender4","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"description":{"type":"unknown","default":"Fetch data to populate the cache."},"icon":{"type":"unknown","default":"inbox"},"title":{"type":"unknown","default":"Cache is empty"},"look":{"type":"unknown","default":"@config.emptyLook"}}},{"ref":"Icon.traits.IconRender","id":"trt_YWJ0GSD0YGGF857XQSV4FVSG0N","name":"InlineIconRender5","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"database"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_G2FJXRCKS39WHMHPB7Y2VSD7FC","name":"InlineTypographyRender6","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"content":{"type":"unknown","default":"Cache (empty)"},"variant":{"type":"unknown","default":"h2"}}},{"ref":"Divider.traits.DividerRender","id":"trt_HTTKBR3T3CX1PD5SA4BRC5HBMQ","name":"InlineDividerRender7","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ"},{"ref":"EmptyState.traits.EmptyStateRender","id":"trt_01JYNPZXYKYZ9SVXHTH51Y8PMC","name":"InlineEmptyStateRender8","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"title":{"type":"unknown","default":"Cache is empty"},"icon":{"type":"unknown","default":"inbox"},"look":{"type":"unknown","default":"@config.emptyLook"},"description":{"type":"unknown","default":"Fetch data to populate the cache."}}},{"ref":"Icon.traits.IconRender","id":"trt_C3JERQQYAKZ59KHS9EDWNMRQNN","name":"InlineIconRender9","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"database"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_YMETG7V75MKJTDA7WYCPPVED6K","name":"InlineTypographyRender10","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"variant":{"type":"unknown","default":"h2"},"content":{"type":"unknown","default":"Cache (hot)"}}},{"ref":"StatusDot.traits.StatusDotRender","id":"trt_WP20VQ9327HH3N2KPA4A8BQ50X","name":"InlineStatusDotRender11","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"pulse":{"type":"unknown","default":false},"label":{"type":"unknown","default":"Cached"},"status":{"type":"unknown","default":"online"}}},{"ref":"Divider.traits.DividerRender","id":"trt_SVN5YP35KKJSSS6V7GSEYPEQK7","name":"InlineDividerRender12","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ"},{"ref":"Icon.traits.IconRender","id":"trt_D35M488TPNDBAMHWASJSDC8VV4","name":"InlineIconRender13","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"database"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_KNX24Z8CG068051JW6M3ZRYA8G","name":"InlineTypographyRender14","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"variant":{"type":"unknown","default":"h4"},"content":{"type":"unknown","default":"@item.name"}}},{"ref":"Badge.traits.BadgeRender","id":"trt_73WG7FS7X1KYGM79ZVC0F8SWHB","name":"InlineBadgeRender15","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"label":{"type":"unknown","default":"@item.description"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_PAZX1SEXNCETPFNANZWRC42EQQ","name":"InlineTypographyRender16","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"variant":{"type":"unknown","default":"caption"},"content":{"type":"unknown","default":"@item.status"}}},{"ref":"Icon.traits.IconRender","id":"trt_ANMYMWHM50T2G48033PPM1225H","name":"InlineIconRender17","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"alert-triangle"},"color":{"type":"unknown","default":"error"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_W587HXS4FVJ7XR2HK42W2CS2DJ","name":"InlineTypographyRender18","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"variant":{"type":"unknown","default":"h3"},"content":{"type":"unknown","default":"Failed to load"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_F8QRQB1GG0R80E8Y0S3B6VD0PA","name":"InlineTypographyRender19","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"color":{"type":"unknown","default":"muted"},"variant":{"type":"unknown","default":"body"},"content":{"type":"unknown","default":"@callsitePayload.error"}}},{"ref":"Icon.traits.IconRender","id":"trt_H3KFCK6QTEBX720X1X56KQWS9C","name":"InlineIconRender20","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"database"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_WQ1AP2KAAQN5BMJTM3GGCVBH96","name":"InlineTypographyRender21","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"content":{"type":"unknown","default":"Cache (empty)"},"variant":{"type":"unknown","default":"h2"}}},{"ref":"Divider.traits.DividerRender","id":"trt_PTKCJ7N7ZDKZPQZVH6K5ZMGPK8","name":"InlineDividerRender22","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ"},{"ref":"EmptyState.traits.EmptyStateRender","id":"trt_Y4B77KP5M62T3C806ETTBE0JPH","name":"InlineEmptyStateRender23","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"description":{"type":"unknown","default":"Fetch data to populate the cache."},"icon":{"type":"unknown","default":"inbox"},"title":{"type":"unknown","default":"Cache is empty"},"look":{"type":"unknown","default":"@config.emptyLook"}}},{"ref":"Icon.traits.IconRender","id":"trt_XBQSBJGV7HDKRGPGQX5147QFX2","name":"InlineIconRender24","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"database"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_7ZEDEK69D64PKCW2NZVXD4Q8FK","name":"InlineTypographyRender25","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"content":{"type":"unknown","default":"Cache (stale)"},"variant":{"type":"unknown","default":"h2"}}},{"ref":"StatusDot.traits.StatusDotRender","id":"trt_40XN40JV6KDK9MDN3GG9CFPZRH","name":"InlineStatusDotRender26","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"label":{"type":"unknown","default":"Stale"},"pulse":{"type":"unknown","default":true},"status":{"type":"unknown","default":"warning"}}},{"ref":"Divider.traits.DividerRender","id":"trt_YJ2YS8XJWQSEBR55CEWKZP5QPS","name":"InlineDividerRender27","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ"},{"ref":"Alert.traits.AlertRender","id":"trt_RGG4DHS7PSKVCVDYF40CSMY1JE","name":"InlineAlertRender28","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"variant":{"type":"unknown","default":"warning"},"message":{"type":"unknown","default":"Cache data is stale. Refresh to get the latest data."}}},{"ref":"Spinner.traits.SpinnerRender","id":"trt_KZRPTZSH63RK1ZEXABAQ9V3XZV","name":"InlineSpinnerRender29","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ"},{"ref":"Icon.traits.IconRender","id":"trt_3WTDJZB1RCGW6AQQ9F1A6858KG","name":"InlineIconRender30","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"database"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_0BRK1WZ2KWH9Y4K6X4RMJCCJ6C","name":"InlineTypographyRender31","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"content":{"type":"unknown","default":"Cache (empty)"},"variant":{"type":"unknown","default":"h2"}}},{"ref":"Divider.traits.DividerRender","id":"trt_GR3ZTCD7QVKVXWSSH9T653VPGD","name":"InlineDividerRender32","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ"},{"ref":"EmptyState.traits.EmptyStateRender","id":"trt_M19DDXYCH068G36CMQ5BNV1N20","name":"InlineEmptyStateRender33","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"description":{"type":"unknown","default":"Fetch data to populate the cache."},"icon":{"type":"unknown","default":"inbox"},"title":{"type":"unknown","default":"Cache is empty"},"look":{"type":"unknown","default":"@config.emptyLook"}}},{"ref":"EmptyState.traits.EmptyStateRender","id":"trt_XZ4FHJYJX29EHEFKZABN4FM2PS","name":"InlineEmptyStateRender34","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"description":{"type":"unknown","default":"Fetch data to populate the cache."},"icon":{"type":"unknown","default":"inbox"},"title":{"type":"unknown","default":"Cache is empty"},"look":{"type":"unknown","default":"@config.emptyLook"}}}],"pages":[{"name":"CacheEntryPage","id":"pag_H3FMBJR3HF1RQG73GP4GEHHN3C","path":"/cacheentrys","traits":[{"ref":"CacheEntryCacheManager","refId":"trt_65W8327PT2VD1674PPQ7PBAXE5"},{"ref":"InlineIconRender1","refId":"trt_55BTSARNXJAYSCQPCH187YM044"},{"ref":"InlineTypographyRender2","refId":"trt_H82CYXT2TE1D78902B6W36R691"},{"ref":"InlineDividerRender3","refId":"trt_4WZR4K83Y21Z17REEFDHBH36F4"},{"ref":"InlineEmptyStateRender4","refId":"trt_E94C6ENJZQSFVY5GQ3VKDWN02A"},{"ref":"InlineIconRender5","refId":"trt_YWJ0GSD0YGGF857XQSV4FVSG0N"},{"ref":"InlineTypographyRender6","refId":"trt_G2FJXRCKS39WHMHPB7Y2VSD7FC"},{"ref":"InlineDividerRender7","refId":"trt_HTTKBR3T3CX1PD5SA4BRC5HBMQ"},{"ref":"InlineEmptyStateRender8","refId":"trt_01JYNPZXYKYZ9SVXHTH51Y8PMC"},{"ref":"InlineIconRender9","refId":"trt_C3JERQQYAKZ59KHS9EDWNMRQNN"},{"ref":"InlineTypographyRender10","refId":"trt_YMETG7V75MKJTDA7WYCPPVED6K"},{"ref":"InlineStatusDotRender11","refId":"trt_WP20VQ9327HH3N2KPA4A8BQ50X"},{"ref":"InlineDividerRender12","refId":"trt_SVN5YP35KKJSSS6V7GSEYPEQK7"},{"ref":"InlineIconRender13","refId":"trt_D35M488TPNDBAMHWASJSDC8VV4"},{"ref":"InlineTypographyRender14","refId":"trt_KNX24Z8CG068051JW6M3ZRYA8G"},{"ref":"InlineBadgeRender15","refId":"trt_73WG7FS7X1KYGM79ZVC0F8SWHB"},{"ref":"InlineTypographyRender16","refId":"trt_PAZX1SEXNCETPFNANZWRC42EQQ"},{"ref":"InlineIconRender17","refId":"trt_ANMYMWHM50T2G48033PPM1225H"},{"ref":"InlineTypographyRender18","refId":"trt_W587HXS4FVJ7XR2HK42W2CS2DJ"},{"ref":"InlineTypographyRender19","refId":"trt_F8QRQB1GG0R80E8Y0S3B6VD0PA"},{"ref":"InlineIconRender20","refId":"trt_H3KFCK6QTEBX720X1X56KQWS9C"},{"ref":"InlineTypographyRender21","refId":"trt_WQ1AP2KAAQN5BMJTM3GGCVBH96"},{"ref":"InlineDividerRender22","refId":"trt_PTKCJ7N7ZDKZPQZVH6K5ZMGPK8"},{"ref":"InlineEmptyStateRender23","refId":"trt_Y4B77KP5M62T3C806ETTBE0JPH"},{"ref":"InlineIconRender24","refId":"trt_XBQSBJGV7HDKRGPGQX5147QFX2"},{"ref":"InlineTypographyRender25","refId":"trt_7ZEDEK69D64PKCW2NZVXD4Q8FK"},{"ref":"InlineStatusDotRender26","refId":"trt_40XN40JV6KDK9MDN3GG9CFPZRH"},{"ref":"InlineDividerRender27","refId":"trt_YJ2YS8XJWQSEBR55CEWKZP5QPS"},{"ref":"InlineAlertRender28","refId":"trt_RGG4DHS7PSKVCVDYF40CSMY1JE"},{"ref":"InlineSpinnerRender29","refId":"trt_KZRPTZSH63RK1ZEXABAQ9V3XZV"},{"ref":"InlineIconRender30","refId":"trt_3WTDJZB1RCGW6AQQ9F1A6858KG"},{"ref":"InlineTypographyRender31","refId":"trt_0BRK1WZ2KWH9Y4K6X4RMJCCJ6C"},{"ref":"InlineDividerRender32","refId":"trt_GR3ZTCD7QVKVXWSSH9T653VPGD"},{"ref":"InlineEmptyStateRender33","refId":"trt_M19DDXYCH068G36CMQ5BNV1N20"},{"ref":"InlineEmptyStateRender34","refId":"trt_XZ4FHJYJX29EHEFKZABN4FM2PS"}]}]}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_5Z85C82D366HK6PXR864X7TSPJ":{"id":"ent_5Z85C82D366HK6PXR864X7TSPJ","kind":"entity","bakedName":"CacheEntry","curName":"CacheEntry","renames":[],"owner":"workspace"},"evt_BYA9HTGWXXEEYND3M4AF7QBV4H":{"id":"evt_BYA9HTGWXXEEYND3M4AF7QBV4H","kind":"event","bakedName":"CACHED","curName":"CACHED","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_H20NCWZVXRXYWD0XS3CG11GS4Q":{"id":"evt_H20NCWZVXRXYWD0XS3CG11GS4Q","kind":"event","bakedName":"CacheEntryUpdated","curName":"CacheEntryUpdated","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_H25DT168GJ489CT5H77EWYDM4C":{"id":"evt_H25DT168GJ489CT5H77EWYDM4C","kind":"event","bakedName":"REFRESH","curName":"REFRESH","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW":{"id":"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_NRA3TXRZNXFTYRQMKQ9RBFYD2Q":{"id":"evt_NRA3TXRZNXFTYRQMKQ9RBFYD2Q","kind":"event","bakedName":"CacheEntryLoadFailed","curName":"CacheEntryLoadFailed","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_Y2DNBSWCE267119FB3CVWRHM7F":{"id":"evt_Y2DNBSWCE267119FB3CVWRHM7F","kind":"event","bakedName":"FETCH","curName":"FETCH","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_Y6CNYABPM0VA01ACXSDS53N9D0":{"id":"evt_Y6CNYABPM0VA01ACXSDS53N9D0","kind":"event","bakedName":"CacheEntryLoaded","curName":"CacheEntryLoaded","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_ZJBMKSM6QX3BYNPMXPZZTNXN43":{"id":"evt_ZJBMKSM6QX3BYNPMXPZZTNXN43","kind":"event","bakedName":"CacheEntryUpdateFailed","curName":"CacheEntryUpdateFailed","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_ZYKP8NV0TWGDEBBH3RTAYPM4YQ":{"id":"evt_ZYKP8NV0TWGDEBBH3RTAYPM4YQ","kind":"event","bakedName":"INVALIDATE","curName":"INVALIDATE","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"orb_Y0ZNNH7K0ESG74W1Q12ZYQ0XP7":{"id":"orb_Y0ZNNH7K0ESG74W1Q12ZYQ0XP7","kind":"orbital","bakedName":"CacheEntryOrbital","curName":"CacheEntryOrbital","renames":[],"owner":"workspace"},"pag_H3FMBJR3HF1RQG73GP4GEHHN3C":{"id":"pag_H3FMBJR3HF1RQG73GP4GEHHN3C","kind":"page","bakedName":"CacheEntryPage","curName":"CacheEntryPage","renames":[],"owner":"workspace"},"trt_01JYNPZXYKYZ9SVXHTH51Y8PMC":{"id":"trt_01JYNPZXYKYZ9SVXHTH51Y8PMC","kind":"trait","bakedName":"InlineEmptyStateRender8","curName":"InlineEmptyStateRender8","renames":[],"owner":"workspace"},"trt_0BRK1WZ2KWH9Y4K6X4RMJCCJ6C":{"id":"trt_0BRK1WZ2KWH9Y4K6X4RMJCCJ6C","kind":"trait","bakedName":"InlineTypographyRender31","curName":"InlineTypographyRender31","renames":[],"owner":"workspace"},"trt_3WTDJZB1RCGW6AQQ9F1A6858KG":{"id":"trt_3WTDJZB1RCGW6AQQ9F1A6858KG","kind":"trait","bakedName":"InlineIconRender30","curName":"InlineIconRender30","renames":[],"owner":"workspace"},"trt_40XN40JV6KDK9MDN3GG9CFPZRH":{"id":"trt_40XN40JV6KDK9MDN3GG9CFPZRH","kind":"trait","bakedName":"InlineStatusDotRender26","curName":"InlineStatusDotRender26","renames":[],"owner":"workspace"},"trt_4TM122ZHYMRZA3K8ESX8YB2G3X":{"id":"trt_4TM122ZHYMRZA3K8ESX8YB2G3X","kind":"trait","bakedName":"RetryButton","curName":"RetryButton","renames":[],"owner":"workspace"},"trt_4WZR4K83Y21Z17REEFDHBH36F4":{"id":"trt_4WZR4K83Y21Z17REEFDHBH36F4","kind":"trait","bakedName":"InlineDividerRender3","curName":"InlineDividerRender3","renames":[],"owner":"workspace"},"trt_55BTSARNXJAYSCQPCH187YM044":{"id":"trt_55BTSARNXJAYSCQPCH187YM044","kind":"trait","bakedName":"InlineIconRender1","curName":"InlineIconRender1","renames":[],"owner":"workspace"},"trt_65W8327PT2VD1674PPQ7PBAXE5":{"id":"trt_65W8327PT2VD1674PPQ7PBAXE5","kind":"trait","bakedName":"CacheEntryCacheManager","curName":"CacheEntryCacheManager","renames":[],"owner":"workspace"},"trt_73WG7FS7X1KYGM79ZVC0F8SWHB":{"id":"trt_73WG7FS7X1KYGM79ZVC0F8SWHB","kind":"trait","bakedName":"InlineBadgeRender15","curName":"InlineBadgeRender15","renames":[],"owner":"workspace"},"trt_7ZEDEK69D64PKCW2NZVXD4Q8FK":{"id":"trt_7ZEDEK69D64PKCW2NZVXD4Q8FK","kind":"trait","bakedName":"InlineTypographyRender25","curName":"InlineTypographyRender25","renames":[],"owner":"workspace"},"trt_ANMYMWHM50T2G48033PPM1225H":{"id":"trt_ANMYMWHM50T2G48033PPM1225H","kind":"trait","bakedName":"InlineIconRender17","curName":"InlineIconRender17","renames":[],"owner":"workspace"},"trt_C3JERQQYAKZ59KHS9EDWNMRQNN":{"id":"trt_C3JERQQYAKZ59KHS9EDWNMRQNN","kind":"trait","bakedName":"InlineIconRender9","curName":"InlineIconRender9","renames":[],"owner":"workspace"},"trt_D35M488TPNDBAMHWASJSDC8VV4":{"id":"trt_D35M488TPNDBAMHWASJSDC8VV4","kind":"trait","bakedName":"InlineIconRender13","curName":"InlineIconRender13","renames":[],"owner":"workspace"},"trt_E94C6ENJZQSFVY5GQ3VKDWN02A":{"id":"trt_E94C6ENJZQSFVY5GQ3VKDWN02A","kind":"trait","bakedName":"InlineEmptyStateRender4","curName":"InlineEmptyStateRender4","renames":[],"owner":"workspace"},"trt_F8QRQB1GG0R80E8Y0S3B6VD0PA":{"id":"trt_F8QRQB1GG0R80E8Y0S3B6VD0PA","kind":"trait","bakedName":"InlineTypographyRender19","curName":"InlineTypographyRender19","renames":[],"owner":"workspace"},"trt_G2FJXRCKS39WHMHPB7Y2VSD7FC":{"id":"trt_G2FJXRCKS39WHMHPB7Y2VSD7FC","kind":"trait","bakedName":"InlineTypographyRender6","curName":"InlineTypographyRender6","renames":[],"owner":"workspace"},"trt_GR3ZTCD7QVKVXWSSH9T653VPGD":{"id":"trt_GR3ZTCD7QVKVXWSSH9T653VPGD","kind":"trait","bakedName":"InlineDividerRender32","curName":"InlineDividerRender32","renames":[],"owner":"workspace"},"trt_H3KFCK6QTEBX720X1X56KQWS9C":{"id":"trt_H3KFCK6QTEBX720X1X56KQWS9C","kind":"trait","bakedName":"InlineIconRender20","curName":"InlineIconRender20","renames":[],"owner":"workspace"},"trt_H82CYXT2TE1D78902B6W36R691":{"id":"trt_H82CYXT2TE1D78902B6W36R691","kind":"trait","bakedName":"InlineTypographyRender2","curName":"InlineTypographyRender2","renames":[],"owner":"workspace"},"trt_HTTKBR3T3CX1PD5SA4BRC5HBMQ":{"id":"trt_HTTKBR3T3CX1PD5SA4BRC5HBMQ","kind":"trait","bakedName":"InlineDividerRender7","curName":"InlineDividerRender7","renames":[],"owner":"workspace"},"trt_KNX24Z8CG068051JW6M3ZRYA8G":{"id":"trt_KNX24Z8CG068051JW6M3ZRYA8G","kind":"trait","bakedName":"InlineTypographyRender14","curName":"InlineTypographyRender14","renames":[],"owner":"workspace"},"trt_KZRPTZSH63RK1ZEXABAQ9V3XZV":{"id":"trt_KZRPTZSH63RK1ZEXABAQ9V3XZV","kind":"trait","bakedName":"InlineSpinnerRender29","curName":"InlineSpinnerRender29","renames":[],"owner":"workspace"},"trt_M19DDXYCH068G36CMQ5BNV1N20":{"id":"trt_M19DDXYCH068G36CMQ5BNV1N20","kind":"trait","bakedName":"InlineEmptyStateRender33","curName":"InlineEmptyStateRender33","renames":[],"owner":"workspace"},"trt_N5CSY2S4RTJCD25KTT1KMWMT09":{"id":"trt_N5CSY2S4RTJCD25KTT1KMWMT09","kind":"trait","bakedName":"RefreshButton","curName":"RefreshButton","renames":[],"owner":"workspace"},"trt_PAZX1SEXNCETPFNANZWRC42EQQ":{"id":"trt_PAZX1SEXNCETPFNANZWRC42EQQ","kind":"trait","bakedName":"InlineTypographyRender16","curName":"InlineTypographyRender16","renames":[],"owner":"workspace"},"trt_PTKCJ7N7ZDKZPQZVH6K5ZMGPK8":{"id":"trt_PTKCJ7N7ZDKZPQZVH6K5ZMGPK8","kind":"trait","bakedName":"InlineDividerRender22","curName":"InlineDividerRender22","renames":[],"owner":"workspace"},"trt_QERKEF6VA2DN1C173JJ107Y991":{"id":"trt_QERKEF6VA2DN1C173JJ107Y991","kind":"trait","bakedName":"FetchButton","curName":"FetchButton","renames":[],"owner":"workspace"},"trt_RGG4DHS7PSKVCVDYF40CSMY1JE":{"id":"trt_RGG4DHS7PSKVCVDYF40CSMY1JE","kind":"trait","bakedName":"InlineAlertRender28","curName":"InlineAlertRender28","renames":[],"owner":"workspace"},"trt_SVN5YP35KKJSSS6V7GSEYPEQK7":{"id":"trt_SVN5YP35KKJSSS6V7GSEYPEQK7","kind":"trait","bakedName":"InlineDividerRender12","curName":"InlineDividerRender12","renames":[],"owner":"workspace"},"trt_T5M8BT7GV7RDKQYB6TFEAPVWZ9":{"id":"trt_T5M8BT7GV7RDKQYB6TFEAPVWZ9","kind":"trait","bakedName":"InvalidateButton","curName":"InvalidateButton","renames":[],"owner":"workspace"},"trt_W587HXS4FVJ7XR2HK42W2CS2DJ":{"id":"trt_W587HXS4FVJ7XR2HK42W2CS2DJ","kind":"trait","bakedName":"InlineTypographyRender18","curName":"InlineTypographyRender18","renames":[],"owner":"workspace"},"trt_WP20VQ9327HH3N2KPA4A8BQ50X":{"id":"trt_WP20VQ9327HH3N2KPA4A8BQ50X","kind":"trait","bakedName":"InlineStatusDotRender11","curName":"InlineStatusDotRender11","renames":[],"owner":"workspace"},"trt_WQ1AP2KAAQN5BMJTM3GGCVBH96":{"id":"trt_WQ1AP2KAAQN5BMJTM3GGCVBH96","kind":"trait","bakedName":"InlineTypographyRender21","curName":"InlineTypographyRender21","renames":[],"owner":"workspace"},"trt_XBQSBJGV7HDKRGPGQX5147QFX2":{"id":"trt_XBQSBJGV7HDKRGPGQX5147QFX2","kind":"trait","bakedName":"InlineIconRender24","curName":"InlineIconRender24","renames":[],"owner":"workspace"},"trt_XZ4FHJYJX29EHEFKZABN4FM2PS":{"id":"trt_XZ4FHJYJX29EHEFKZABN4FM2PS","kind":"trait","bakedName":"InlineEmptyStateRender34","curName":"InlineEmptyStateRender34","renames":[],"owner":"workspace"},"trt_Y4B77KP5M62T3C806ETTBE0JPH":{"id":"trt_Y4B77KP5M62T3C806ETTBE0JPH","kind":"trait","bakedName":"InlineEmptyStateRender23","curName":"InlineEmptyStateRender23","renames":[],"owner":"workspace"},"trt_YJ2YS8XJWQSEBR55CEWKZP5QPS":{"id":"trt_YJ2YS8XJWQSEBR55CEWKZP5QPS","kind":"trait","bakedName":"InlineDividerRender27","curName":"InlineDividerRender27","renames":[],"owner":"workspace"},"trt_YMETG7V75MKJTDA7WYCPPVED6K":{"id":"trt_YMETG7V75MKJTDA7WYCPPVED6K","kind":"trait","bakedName":"InlineTypographyRender10","curName":"InlineTypographyRender10","renames":[],"owner":"workspace"},"trt_YWJ0GSD0YGGF857XQSV4FVSG0N":{"id":"trt_YWJ0GSD0YGGF857XQSV4FVSG0N","kind":"trait","bakedName":"InlineIconRender5","curName":"InlineIconRender5","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-cache-aside","version":"1.0.0","description":"std-cache-aside as a Function","orbitals":[{"name":"CacheEntryOrbital","id":"orb_Y0ZNNH7K0ESG74W1Q12ZYQ0XP7","uses":[{"from":"std/behaviors/ui-icon","as":"Icon"},{"from":"std/behaviors/ui-typography","as":"Typography"},{"from":"std/behaviors/ui-button","as":"Button"},{"from":"std/behaviors/ui-divider","as":"Divider"},{"from":"std/behaviors/ui-empty-state","as":"EmptyState"},{"from":"std/behaviors/ui-spinner","as":"Spinner"},{"from":"std/behaviors/ui-status-dot","as":"StatusDot"},{"from":"std/behaviors/ui-badge","as":"Badge"},{"from":"std/behaviors/ui-alert","as":"Alert"}],"entity":{"name":"CacheEntry","id":"ent_5Z85C82D366HK6PXR864X7TSPJ","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true,"description":"A user-defined identifier for the cache entry.","synonyms":"key, identifier, alias"},{"name":"description","type":"string","description":"A human-readable explanation of the entry's content.","synonyms":"explanation, details, notes, summary"},{"name":"status","type":"string","default":"active","values":["active","inactive","pending"],"description":"Current operational state of the entry.","synonyms":"state, condition, operationalStatus"},{"name":"createdAt","type":"string"},{"name":"hitCount","type":"number","default":0,"description":"The number of times this entry has been retrieved.","synonyms":"count, occurrences, retrievals"},{"name":"cacheAge","type":"number","default":0,"description":"Duration since the cache entry was last updated.","synonyms":"age, duration, expiry"}]},"traits":[{"ref":"Button.traits.ButtonRender","id":"trt_QERKEF6VA2DN1C173JJ107Y991","name":"FetchButton","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"variant":{"type":"unknown","default":"primary"},"icon":{"type":"unknown","default":"download"},"action":{"type":"unknown","default":"FETCH"},"label":{"type":"unknown","default":"Fetch"}}},{"ref":"Button.traits.ButtonRender","id":"trt_T5M8BT7GV7RDKQYB6TFEAPVWZ9","name":"InvalidateButton","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"action":{"type":"unknown","default":"INVALIDATE"},"variant":{"type":"unknown","default":"ghost"},"icon":{"type":"unknown","default":"trash"},"label":{"type":"unknown","default":"Invalidate"}}},{"ref":"Button.traits.ButtonRender","id":"trt_N5CSY2S4RTJCD25KTT1KMWMT09","name":"RefreshButton","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"action":{"type":"unknown","default":"REFRESH"},"icon":{"type":"unknown","default":"refresh-cw"},"label":{"type":"unknown","default":"Refresh"},"variant":{"type":"unknown","default":"primary"}}},{"ref":"Button.traits.ButtonRender","id":"trt_4TM122ZHYMRZA3K8ESX8YB2G3X","name":"RetryButton","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"icon":{"type":"unknown","default":"rotate-ccw"},"action":{"type":"unknown","default":"FETCH"},"label":{"type":"unknown","default":"Retry"},"variant":{"type":"unknown","default":"primary"}}},{"name":"CacheEntryCacheManager","id":"trt_65W8327PT2VD1674PPQ7PBAXE5","effectRow":[{"kind":"fetch","resource":"CacheEntry"},{"kind":"persist","resource":"CacheEntry"},{"kind":"render-ui","resource":"main"},{"kind":"render-ui","resource":"toast"}],"category":"interaction","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","entityRefIds":{"CacheEntry":"ent_5Z85C82D366HK6PXR864X7TSPJ"},"traitEmbedIds":{"RetryButton":"trt_4TM122ZHYMRZA3K8ESX8YB2G3X","InlineTypographyRender25":"trt_7ZEDEK69D64PKCW2NZVXD4Q8FK","InlineDividerRender22":"trt_PTKCJ7N7ZDKZPQZVH6K5ZMGPK8","InlineIconRender20":"trt_H3KFCK6QTEBX720X1X56KQWS9C","InlineIconRender5":"trt_YWJ0GSD0YGGF857XQSV4FVSG0N","RefreshButton":"trt_N5CSY2S4RTJCD25KTT1KMWMT09","InlineIconRender24":"trt_XBQSBJGV7HDKRGPGQX5147QFX2","InlineDividerRender12":"trt_SVN5YP35KKJSSS6V7GSEYPEQK7","InlineStatusDotRender11":"trt_WP20VQ9327HH3N2KPA4A8BQ50X","InlineIconRender9":"trt_C3JERQQYAKZ59KHS9EDWNMRQNN","InlineDividerRender32":"trt_GR3ZTCD7QVKVXWSSH9T653VPGD","InlineIconRender17":"trt_ANMYMWHM50T2G48033PPM1225H","InlineEmptyStateRender23":"trt_Y4B77KP5M62T3C806ETTBE0JPH","InlineTypographyRender10":"trt_YMETG7V75MKJTDA7WYCPPVED6K","InlineTypographyRender16":"trt_PAZX1SEXNCETPFNANZWRC42EQQ","FetchButton":"trt_QERKEF6VA2DN1C173JJ107Y991","InlineTypographyRender2":"trt_H82CYXT2TE1D78902B6W36R691","InlineTypographyRender31":"trt_0BRK1WZ2KWH9Y4K6X4RMJCCJ6C","InlineDividerRender7":"trt_HTTKBR3T3CX1PD5SA4BRC5HBMQ","InlineEmptyStateRender34":"trt_XZ4FHJYJX29EHEFKZABN4FM2PS","InlineDividerRender27":"trt_YJ2YS8XJWQSEBR55CEWKZP5QPS","InlineTypographyRender21":"trt_WQ1AP2KAAQN5BMJTM3GGCVBH96","InlineSpinnerRender29":"trt_KZRPTZSH63RK1ZEXABAQ9V3XZV","InlineTypographyRender18":"trt_W587HXS4FVJ7XR2HK42W2CS2DJ","InlineTypographyRender19":"trt_F8QRQB1GG0R80E8Y0S3B6VD0PA","InlineTypographyRender14":"trt_KNX24Z8CG068051JW6M3ZRYA8G","InlineStatusDotRender26":"trt_40XN40JV6KDK9MDN3GG9CFPZRH","InlineAlertRender28":"trt_RGG4DHS7PSKVCVDYF40CSMY1JE","InlineEmptyStateRender33":"trt_M19DDXYCH068G36CMQ5BNV1N20","InlineDividerRender3":"trt_4WZR4K83Y21Z17REEFDHBH36F4","InvalidateButton":"trt_T5M8BT7GV7RDKQYB6TFEAPVWZ9","InlineBadgeRender15":"trt_73WG7FS7X1KYGM79ZVC0F8SWHB","InlineEmptyStateRender8":"trt_01JYNPZXYKYZ9SVXHTH51Y8PMC","InlineIconRender1":"trt_55BTSARNXJAYSCQPCH187YM044","InlineEmptyStateRender4":"trt_E94C6ENJZQSFVY5GQ3VKDWN02A","InlineIconRender13":"trt_D35M488TPNDBAMHWASJSDC8VV4","InlineIconRender30":"trt_3WTDJZB1RCGW6AQQ9F1A6858KG","InlineTypographyRender6":"trt_G2FJXRCKS39WHMHPB7Y2VSD7FC"},"emits":[{"event":"CacheEntryLoaded","eventId":"evt_Y6CNYABPM0VA01ACXSDS53N9D0","description":"Indicates a cache entry has been successfully retrieved.","synonyms":"loaded, retrieved, fetched","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"},{"name":"hitCount","type":"number"},{"name":"cacheAge","type":"number"}],"entity":"CacheEntry"}]},{"event":"CacheEntryLoadFailed","eventId":"evt_NRA3TXRZNXFTYRQMKQ9RBFYD2Q","description":"Indicates a failure to load a cache entry.","synonyms":"error, failure, miss, not found","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"CacheEntryUpdated","eventId":"evt_H20NCWZVXRXYWD0XS3CG11GS4Q","description":"Signals that a cached entry's data has been modified.","synonyms":"modified, refreshed, changed, updated","tier":"presentation","scope":"internal","payloadSchema":[{"name":"id","type":"string"}]},{"event":"CacheEntryUpdateFailed","eventId":"evt_ZJBMKSM6QX3BYNPMXPZZTNXN43","description":"Indicates a failure to update a cached entry.","synonyms":"error, failure, problem, unsuccessful","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"empty","isInitial":true},{"name":"loading"},{"name":"cached"},{"name":"stale"},{"name":"error"}],"events":[{"key":"INIT","id":"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW","name":"Initialize"},{"key":"FETCH","id":"evt_Y2DNBSWCE267119FB3CVWRHM7F","name":"Fetch"},{"key":"CacheEntryLoaded","id":"evt_Y6CNYABPM0VA01ACXSDS53N9D0","name":"CacheEntry loaded","description":"Indicates a cache entry has been successfully retrieved.","synonyms":"loaded, retrieved, fetched","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"},{"name":"hitCount","type":"number"},{"name":"cacheAge","type":"number"}],"entity":"CacheEntry"}]},{"key":"CacheEntryLoadFailed","id":"evt_NRA3TXRZNXFTYRQMKQ9RBFYD2Q","name":"CacheEntry load failed","description":"Indicates a failure to load a cache entry.","synonyms":"error, failure, miss, not found","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"CacheEntryUpdateFailed","id":"evt_ZJBMKSM6QX3BYNPMXPZZTNXN43","name":"CacheEntry update failed","description":"Indicates a failure to update a cached entry.","synonyms":"error, failure, problem, unsuccessful","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"CacheEntryUpdated","id":"evt_H20NCWZVXRXYWD0XS3CG11GS4Q","name":"CacheEntry updated","description":"Signals that a cached entry's data has been modified.","synonyms":"modified, refreshed, changed, updated","tier":"presentation","payloadSchema":[{"name":"id","type":"string"}]},{"key":"INVALIDATE","id":"evt_ZYKP8NV0TWGDEBBH3RTAYPM4YQ","name":"Invalidate"},{"key":"CACHED","id":"evt_BYA9HTGWXXEEYND3M4AF7QBV4H","name":"Cached","description":"Data retrieved successfully from the cache.","synonyms":"hit, found, retrieved","tier":"domain","payloadSchema":[{"name":"data","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"},{"name":"hitCount","type":"number"},{"name":"cacheAge","type":"number"}],"entity":"CacheEntry"}],"listened":true},{"key":"REFRESH","id":"evt_H25DT168GJ489CT5H77EWYDM4C","name":"Refresh"}],"transitions":[{"from":"empty","to":"empty","event":"INIT","eventId":"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW","effects":[["render-ui","main",{"children":[{"children":[{"children":["@trait.InlineIconRender1","@trait.InlineTypographyRender2"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.FetchButton"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.InlineDividerRender3","@trait.InlineEmptyStateRender4"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"empty","to":"loading","event":"FETCH","eventId":"evt_Y2DNBSWCE267119FB3CVWRHM7F","effects":[["fetch","CacheEntry",{"emit":{"failure":"CacheEntryLoadFailed","success":"CacheEntryLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"detail"}]]},{"from":"loading","to":"empty","event":"INIT","eventId":"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW","effects":[["render-ui","main",{"children":[{"children":[{"children":["@trait.InlineIconRender5","@trait.InlineTypographyRender6"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.FetchButton"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.InlineDividerRender7","@trait.InlineEmptyStateRender8"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"loading","to":"cached","event":"CacheEntryLoaded","eventId":"evt_Y6CNYABPM0VA01ACXSDS53N9D0","effects":[["render-ui","main",{"children":[{"children":[{"children":["@trait.InlineIconRender9","@trait.InlineTypographyRender10"],"direction":"horizontal","gap":"md","type":"stack"},{"align":"center","children":["@trait.InlineStatusDotRender11","@trait.InvalidateButton"],"direction":"horizontal","gap":"sm","type":"stack"}],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.InlineDividerRender12",{"entity":"@payload.data","fields":[],"look":"@config.tableLook","renderItem":["fn","item",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.InlineIconRender13","@trait.InlineTypographyRender14"],"direction":"horizontal","gap":"sm","type":"stack"},"@trait.InlineBadgeRender15"],"direction":"horizontal","justify":"between","type":"stack"},"@trait.InlineTypographyRender16"],"direction":"vertical","gap":"sm","type":"stack"}],"type":"data-grid"}],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"loading","to":"error","event":"CacheEntryLoadFailed","eventId":"evt_NRA3TXRZNXFTYRQMKQ9RBFYD2Q","effects":[["render-ui","main",{"align":"center","children":["@trait.InlineIconRender17","@trait.InlineTypographyRender18","@trait.InlineTypographyRender19","@trait.RetryButton"],"className":"py-12","direction":"vertical","gap":"md","type":"stack"}]]},{"from":"loading","to":"loading","event":"CacheEntryUpdateFailed","eventId":"evt_ZJBMKSM6QX3BYNPMXPZZTNXN43","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't update the cache entry — ","@payload.error"],"dismissible":true}]]},{"from":"loading","to":"loading","event":"CacheEntryUpdated","eventId":"evt_H20NCWZVXRXYWD0XS3CG11GS4Q","effects":[["fetch","CacheEntry",{"emit":{"failure":"CacheEntryLoadFailed","success":"CacheEntryLoaded"}}]]},{"from":"cached","to":"empty","event":"INIT","eventId":"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW","effects":[["render-ui","main",{"children":[{"children":[{"children":["@trait.InlineIconRender20","@trait.InlineTypographyRender21"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.FetchButton"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.InlineDividerRender22","@trait.InlineEmptyStateRender23"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"cached","to":"stale","event":"INVALIDATE","eventId":"evt_ZYKP8NV0TWGDEBBH3RTAYPM4YQ","effects":[["render-ui","main",{"children":[{"children":[{"children":["@trait.InlineIconRender24","@trait.InlineTypographyRender25"],"direction":"horizontal","gap":"md","type":"stack"},{"align":"center","children":["@trait.InlineStatusDotRender26","@trait.RefreshButton"],"direction":"horizontal","gap":"sm","type":"stack"}],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.InlineDividerRender27","@trait.InlineAlertRender28"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"cached","to":"loading","event":"CACHED","eventId":"evt_BYA9HTGWXXEEYND3M4AF7QBV4H","effects":[["persist","update","CacheEntry","@payload.data",{"emit":{"failure":"CacheEntryUpdateFailed","success":"CacheEntryUpdated"}}],["fetch","CacheEntry",{"emit":{"failure":"CacheEntryLoadFailed","success":"CacheEntryLoaded"}}],["render-ui","main",{"type":"stack","children":["@trait.InlineSpinnerRender29"]}]]},{"from":"stale","to":"empty","event":"INIT","eventId":"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW","effects":[["render-ui","main",{"children":[{"children":[{"children":["@trait.InlineIconRender30","@trait.InlineTypographyRender31"],"direction":"horizontal","gap":"md","type":"stack"},"@trait.FetchButton"],"direction":"horizontal","gap":"md","justify":"between","type":"stack"},"@trait.InlineDividerRender32","@trait.InlineEmptyStateRender33"],"direction":"vertical","gap":"lg","type":"stack"}]]},{"from":"stale","to":"loading","event":"REFRESH","eventId":"evt_H25DT168GJ489CT5H77EWYDM4C","effects":[["fetch","CacheEntry",{"emit":{"failure":"CacheEntryLoadFailed","success":"CacheEntryLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"detail"}]]},{"from":"stale","to":"loading","event":"FETCH","eventId":"evt_Y2DNBSWCE267119FB3CVWRHM7F","effects":[["fetch","CacheEntry",{"emit":{"failure":"CacheEntryLoadFailed","success":"CacheEntryLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"detail"}]]},{"from":"error","to":"empty","event":"INIT","eventId":"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW","effects":[["render-ui","main",{"type":"stack","children":["@trait.InlineEmptyStateRender34"]}]]},{"from":"error","to":"loading","event":"FETCH","eventId":"evt_Y2DNBSWCE267119FB3CVWRHM7F","effects":[["fetch","CacheEntry",{"emit":{"failure":"CacheEntryLoadFailed","success":"CacheEntryLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"detail"}]]}]},"config":{"tableLook":{"type":"string","default":"dense","label":"Table look","description":"Layer 2 visual treatment for the data table rendered by this atom.","tier":"presentation","values":["dense","spacious","striped","borderless","card-rows"]},"emptyLook":{"type":"string","default":"icon-only","label":"Empty-state look","description":"Layer 2 visual treatment for the empty-state placeholder.","tier":"presentation","values":["illustrated","icon-only","text-only","mascot"]}},"scope":"collection"},{"ref":"Icon.traits.IconRender","id":"trt_55BTSARNXJAYSCQPCH187YM044","name":"InlineIconRender1","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"database"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_H82CYXT2TE1D78902B6W36R691","name":"InlineTypographyRender2","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"content":{"type":"unknown","default":"Cache (empty)"},"variant":{"type":"unknown","default":"h2"}}},{"ref":"Divider.traits.DividerRender","id":"trt_4WZR4K83Y21Z17REEFDHBH36F4","name":"InlineDividerRender3","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ"},{"ref":"EmptyState.traits.EmptyStateRender","id":"trt_E94C6ENJZQSFVY5GQ3VKDWN02A","name":"InlineEmptyStateRender4","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"look":{"type":"unknown","default":"@config.emptyLook"},"icon":{"type":"unknown","default":"inbox"},"title":{"type":"unknown","default":"Cache is empty"},"description":{"type":"unknown","default":"Fetch data to populate the cache."}}},{"ref":"Icon.traits.IconRender","id":"trt_YWJ0GSD0YGGF857XQSV4FVSG0N","name":"InlineIconRender5","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"database"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_G2FJXRCKS39WHMHPB7Y2VSD7FC","name":"InlineTypographyRender6","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"variant":{"type":"unknown","default":"h2"},"content":{"type":"unknown","default":"Cache (empty)"}}},{"ref":"Divider.traits.DividerRender","id":"trt_HTTKBR3T3CX1PD5SA4BRC5HBMQ","name":"InlineDividerRender7","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ"},{"ref":"EmptyState.traits.EmptyStateRender","id":"trt_01JYNPZXYKYZ9SVXHTH51Y8PMC","name":"InlineEmptyStateRender8","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"description":{"type":"unknown","default":"Fetch data to populate the cache."},"look":{"type":"unknown","default":"@config.emptyLook"},"title":{"type":"unknown","default":"Cache is empty"},"icon":{"type":"unknown","default":"inbox"}}},{"ref":"Icon.traits.IconRender","id":"trt_C3JERQQYAKZ59KHS9EDWNMRQNN","name":"InlineIconRender9","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"database"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_YMETG7V75MKJTDA7WYCPPVED6K","name":"InlineTypographyRender10","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"variant":{"type":"unknown","default":"h2"},"content":{"type":"unknown","default":"Cache (hot)"}}},{"ref":"StatusDot.traits.StatusDotRender","id":"trt_WP20VQ9327HH3N2KPA4A8BQ50X","name":"InlineStatusDotRender11","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"label":{"type":"unknown","default":"Cached"},"pulse":{"type":"unknown","default":false},"status":{"type":"unknown","default":"online"}}},{"ref":"Divider.traits.DividerRender","id":"trt_SVN5YP35KKJSSS6V7GSEYPEQK7","name":"InlineDividerRender12","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ"},{"ref":"Icon.traits.IconRender","id":"trt_D35M488TPNDBAMHWASJSDC8VV4","name":"InlineIconRender13","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"database"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_KNX24Z8CG068051JW6M3ZRYA8G","name":"InlineTypographyRender14","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"content":{"type":"unknown","default":"@item.name"},"variant":{"type":"unknown","default":"h4"}}},{"ref":"Badge.traits.BadgeRender","id":"trt_73WG7FS7X1KYGM79ZVC0F8SWHB","name":"InlineBadgeRender15","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"label":{"type":"unknown","default":"@item.description"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_PAZX1SEXNCETPFNANZWRC42EQQ","name":"InlineTypographyRender16","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"variant":{"type":"unknown","default":"caption"},"content":{"type":"unknown","default":"@item.status"}}},{"ref":"Icon.traits.IconRender","id":"trt_ANMYMWHM50T2G48033PPM1225H","name":"InlineIconRender17","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"alert-triangle"},"color":{"type":"unknown","default":"error"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_W587HXS4FVJ7XR2HK42W2CS2DJ","name":"InlineTypographyRender18","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"variant":{"type":"unknown","default":"h3"},"content":{"type":"unknown","default":"Failed to load"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_F8QRQB1GG0R80E8Y0S3B6VD0PA","name":"InlineTypographyRender19","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"color":{"type":"unknown","default":"muted"},"variant":{"type":"unknown","default":"body"},"content":{"type":"unknown","default":"@callsitePayload.error"}}},{"ref":"Icon.traits.IconRender","id":"trt_H3KFCK6QTEBX720X1X56KQWS9C","name":"InlineIconRender20","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"database"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_WQ1AP2KAAQN5BMJTM3GGCVBH96","name":"InlineTypographyRender21","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"content":{"type":"unknown","default":"Cache (empty)"},"variant":{"type":"unknown","default":"h2"}}},{"ref":"Divider.traits.DividerRender","id":"trt_PTKCJ7N7ZDKZPQZVH6K5ZMGPK8","name":"InlineDividerRender22","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ"},{"ref":"EmptyState.traits.EmptyStateRender","id":"trt_Y4B77KP5M62T3C806ETTBE0JPH","name":"InlineEmptyStateRender23","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"description":{"type":"unknown","default":"Fetch data to populate the cache."},"icon":{"type":"unknown","default":"inbox"},"look":{"type":"unknown","default":"@config.emptyLook"},"title":{"type":"unknown","default":"Cache is empty"}}},{"ref":"Icon.traits.IconRender","id":"trt_XBQSBJGV7HDKRGPGQX5147QFX2","name":"InlineIconRender24","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"database"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_7ZEDEK69D64PKCW2NZVXD4Q8FK","name":"InlineTypographyRender25","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"variant":{"type":"unknown","default":"h2"},"content":{"type":"unknown","default":"Cache (stale)"}}},{"ref":"StatusDot.traits.StatusDotRender","id":"trt_40XN40JV6KDK9MDN3GG9CFPZRH","name":"InlineStatusDotRender26","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"status":{"type":"unknown","default":"warning"},"label":{"type":"unknown","default":"Stale"},"pulse":{"type":"unknown","default":true}}},{"ref":"Divider.traits.DividerRender","id":"trt_YJ2YS8XJWQSEBR55CEWKZP5QPS","name":"InlineDividerRender27","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ"},{"ref":"Alert.traits.AlertRender","id":"trt_RGG4DHS7PSKVCVDYF40CSMY1JE","name":"InlineAlertRender28","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"message":{"type":"unknown","default":"Cache data is stale. Refresh to get the latest data."},"variant":{"type":"unknown","default":"warning"}}},{"ref":"Spinner.traits.SpinnerRender","id":"trt_KZRPTZSH63RK1ZEXABAQ9V3XZV","name":"InlineSpinnerRender29","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ"},{"ref":"Icon.traits.IconRender","id":"trt_3WTDJZB1RCGW6AQQ9F1A6858KG","name":"InlineIconRender30","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"name":{"type":"unknown","default":"database"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_0BRK1WZ2KWH9Y4K6X4RMJCCJ6C","name":"InlineTypographyRender31","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"variant":{"type":"unknown","default":"h2"},"content":{"type":"unknown","default":"Cache (empty)"}}},{"ref":"Divider.traits.DividerRender","id":"trt_GR3ZTCD7QVKVXWSSH9T653VPGD","name":"InlineDividerRender32","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ"},{"ref":"EmptyState.traits.EmptyStateRender","id":"trt_M19DDXYCH068G36CMQ5BNV1N20","name":"InlineEmptyStateRender33","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"look":{"type":"unknown","default":"@config.emptyLook"},"description":{"type":"unknown","default":"Fetch data to populate the cache."},"icon":{"type":"unknown","default":"inbox"},"title":{"type":"unknown","default":"Cache is empty"}}},{"ref":"EmptyState.traits.EmptyStateRender","id":"trt_XZ4FHJYJX29EHEFKZABN4FM2PS","name":"InlineEmptyStateRender34","linkedEntity":"CacheEntry","linkedEntityId":"ent_5Z85C82D366HK6PXR864X7TSPJ","config":{"description":{"type":"unknown","default":"Fetch data to populate the cache."},"look":{"type":"unknown","default":"@config.emptyLook"},"title":{"type":"unknown","default":"Cache is empty"},"icon":{"type":"unknown","default":"inbox"}}}],"pages":[{"name":"CacheEntryPage","id":"pag_H3FMBJR3HF1RQG73GP4GEHHN3C","path":"/cacheentrys","traits":[{"ref":"CacheEntryCacheManager","refId":"trt_65W8327PT2VD1674PPQ7PBAXE5"},{"ref":"InlineIconRender1","refId":"trt_55BTSARNXJAYSCQPCH187YM044"},{"ref":"InlineTypographyRender2","refId":"trt_H82CYXT2TE1D78902B6W36R691"},{"ref":"InlineDividerRender3","refId":"trt_4WZR4K83Y21Z17REEFDHBH36F4"},{"ref":"InlineEmptyStateRender4","refId":"trt_E94C6ENJZQSFVY5GQ3VKDWN02A"},{"ref":"InlineIconRender5","refId":"trt_YWJ0GSD0YGGF857XQSV4FVSG0N"},{"ref":"InlineTypographyRender6","refId":"trt_G2FJXRCKS39WHMHPB7Y2VSD7FC"},{"ref":"InlineDividerRender7","refId":"trt_HTTKBR3T3CX1PD5SA4BRC5HBMQ"},{"ref":"InlineEmptyStateRender8","refId":"trt_01JYNPZXYKYZ9SVXHTH51Y8PMC"},{"ref":"InlineIconRender9","refId":"trt_C3JERQQYAKZ59KHS9EDWNMRQNN"},{"ref":"InlineTypographyRender10","refId":"trt_YMETG7V75MKJTDA7WYCPPVED6K"},{"ref":"InlineStatusDotRender11","refId":"trt_WP20VQ9327HH3N2KPA4A8BQ50X"},{"ref":"InlineDividerRender12","refId":"trt_SVN5YP35KKJSSS6V7GSEYPEQK7"},{"ref":"InlineIconRender13","refId":"trt_D35M488TPNDBAMHWASJSDC8VV4"},{"ref":"InlineTypographyRender14","refId":"trt_KNX24Z8CG068051JW6M3ZRYA8G"},{"ref":"InlineBadgeRender15","refId":"trt_73WG7FS7X1KYGM79ZVC0F8SWHB"},{"ref":"InlineTypographyRender16","refId":"trt_PAZX1SEXNCETPFNANZWRC42EQQ"},{"ref":"InlineIconRender17","refId":"trt_ANMYMWHM50T2G48033PPM1225H"},{"ref":"InlineTypographyRender18","refId":"trt_W587HXS4FVJ7XR2HK42W2CS2DJ"},{"ref":"InlineTypographyRender19","refId":"trt_F8QRQB1GG0R80E8Y0S3B6VD0PA"},{"ref":"InlineIconRender20","refId":"trt_H3KFCK6QTEBX720X1X56KQWS9C"},{"ref":"InlineTypographyRender21","refId":"trt_WQ1AP2KAAQN5BMJTM3GGCVBH96"},{"ref":"InlineDividerRender22","refId":"trt_PTKCJ7N7ZDKZPQZVH6K5ZMGPK8"},{"ref":"InlineEmptyStateRender23","refId":"trt_Y4B77KP5M62T3C806ETTBE0JPH"},{"ref":"InlineIconRender24","refId":"trt_XBQSBJGV7HDKRGPGQX5147QFX2"},{"ref":"InlineTypographyRender25","refId":"trt_7ZEDEK69D64PKCW2NZVXD4Q8FK"},{"ref":"InlineStatusDotRender26","refId":"trt_40XN40JV6KDK9MDN3GG9CFPZRH"},{"ref":"InlineDividerRender27","refId":"trt_YJ2YS8XJWQSEBR55CEWKZP5QPS"},{"ref":"InlineAlertRender28","refId":"trt_RGG4DHS7PSKVCVDYF40CSMY1JE"},{"ref":"InlineSpinnerRender29","refId":"trt_KZRPTZSH63RK1ZEXABAQ9V3XZV"},{"ref":"InlineIconRender30","refId":"trt_3WTDJZB1RCGW6AQQ9F1A6858KG"},{"ref":"InlineTypographyRender31","refId":"trt_0BRK1WZ2KWH9Y4K6X4RMJCCJ6C"},{"ref":"InlineDividerRender32","refId":"trt_GR3ZTCD7QVKVXWSSH9T653VPGD"},{"ref":"InlineEmptyStateRender33","refId":"trt_M19DDXYCH068G36CMQ5BNV1N20"},{"ref":"InlineEmptyStateRender34","refId":"trt_XZ4FHJYJX29EHEFKZABN4FM2PS"}]}]}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_5Z85C82D366HK6PXR864X7TSPJ":{"id":"ent_5Z85C82D366HK6PXR864X7TSPJ","kind":"entity","bakedName":"CacheEntry","curName":"CacheEntry","renames":[],"owner":"workspace"},"evt_BYA9HTGWXXEEYND3M4AF7QBV4H":{"id":"evt_BYA9HTGWXXEEYND3M4AF7QBV4H","kind":"event","bakedName":"CACHED","curName":"CACHED","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_H20NCWZVXRXYWD0XS3CG11GS4Q":{"id":"evt_H20NCWZVXRXYWD0XS3CG11GS4Q","kind":"event","bakedName":"CacheEntryUpdated","curName":"CacheEntryUpdated","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_H25DT168GJ489CT5H77EWYDM4C":{"id":"evt_H25DT168GJ489CT5H77EWYDM4C","kind":"event","bakedName":"REFRESH","curName":"REFRESH","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW":{"id":"evt_JMYNSRPHCW8PEEYFCYR3JNWVMW","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_NRA3TXRZNXFTYRQMKQ9RBFYD2Q":{"id":"evt_NRA3TXRZNXFTYRQMKQ9RBFYD2Q","kind":"event","bakedName":"CacheEntryLoadFailed","curName":"CacheEntryLoadFailed","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_Y2DNBSWCE267119FB3CVWRHM7F":{"id":"evt_Y2DNBSWCE267119FB3CVWRHM7F","kind":"event","bakedName":"FETCH","curName":"FETCH","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_Y6CNYABPM0VA01ACXSDS53N9D0":{"id":"evt_Y6CNYABPM0VA01ACXSDS53N9D0","kind":"event","bakedName":"CacheEntryLoaded","curName":"CacheEntryLoaded","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_ZJBMKSM6QX3BYNPMXPZZTNXN43":{"id":"evt_ZJBMKSM6QX3BYNPMXPZZTNXN43","kind":"event","bakedName":"CacheEntryUpdateFailed","curName":"CacheEntryUpdateFailed","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"evt_ZYKP8NV0TWGDEBBH3RTAYPM4YQ":{"id":"evt_ZYKP8NV0TWGDEBBH3RTAYPM4YQ","kind":"event","bakedName":"INVALIDATE","curName":"INVALIDATE","renames":[],"owner":"workspace","parent":"trt_65W8327PT2VD1674PPQ7PBAXE5"},"orb_Y0ZNNH7K0ESG74W1Q12ZYQ0XP7":{"id":"orb_Y0ZNNH7K0ESG74W1Q12ZYQ0XP7","kind":"orbital","bakedName":"CacheEntryOrbital","curName":"CacheEntryOrbital","renames":[],"owner":"workspace"},"pag_H3FMBJR3HF1RQG73GP4GEHHN3C":{"id":"pag_H3FMBJR3HF1RQG73GP4GEHHN3C","kind":"page","bakedName":"CacheEntryPage","curName":"CacheEntryPage","renames":[],"owner":"workspace"},"trt_01JYNPZXYKYZ9SVXHTH51Y8PMC":{"id":"trt_01JYNPZXYKYZ9SVXHTH51Y8PMC","kind":"trait","bakedName":"InlineEmptyStateRender8","curName":"InlineEmptyStateRender8","renames":[],"owner":"workspace"},"trt_0BRK1WZ2KWH9Y4K6X4RMJCCJ6C":{"id":"trt_0BRK1WZ2KWH9Y4K6X4RMJCCJ6C","kind":"trait","bakedName":"InlineTypographyRender31","curName":"InlineTypographyRender31","renames":[],"owner":"workspace"},"trt_3WTDJZB1RCGW6AQQ9F1A6858KG":{"id":"trt_3WTDJZB1RCGW6AQQ9F1A6858KG","kind":"trait","bakedName":"InlineIconRender30","curName":"InlineIconRender30","renames":[],"owner":"workspace"},"trt_40XN40JV6KDK9MDN3GG9CFPZRH":{"id":"trt_40XN40JV6KDK9MDN3GG9CFPZRH","kind":"trait","bakedName":"InlineStatusDotRender26","curName":"InlineStatusDotRender26","renames":[],"owner":"workspace"},"trt_4TM122ZHYMRZA3K8ESX8YB2G3X":{"id":"trt_4TM122ZHYMRZA3K8ESX8YB2G3X","kind":"trait","bakedName":"RetryButton","curName":"RetryButton","renames":[],"owner":"workspace"},"trt_4WZR4K83Y21Z17REEFDHBH36F4":{"id":"trt_4WZR4K83Y21Z17REEFDHBH36F4","kind":"trait","bakedName":"InlineDividerRender3","curName":"InlineDividerRender3","renames":[],"owner":"workspace"},"trt_55BTSARNXJAYSCQPCH187YM044":{"id":"trt_55BTSARNXJAYSCQPCH187YM044","kind":"trait","bakedName":"InlineIconRender1","curName":"InlineIconRender1","renames":[],"owner":"workspace"},"trt_65W8327PT2VD1674PPQ7PBAXE5":{"id":"trt_65W8327PT2VD1674PPQ7PBAXE5","kind":"trait","bakedName":"CacheEntryCacheManager","curName":"CacheEntryCacheManager","renames":[],"owner":"workspace"},"trt_73WG7FS7X1KYGM79ZVC0F8SWHB":{"id":"trt_73WG7FS7X1KYGM79ZVC0F8SWHB","kind":"trait","bakedName":"InlineBadgeRender15","curName":"InlineBadgeRender15","renames":[],"owner":"workspace"},"trt_7ZEDEK69D64PKCW2NZVXD4Q8FK":{"id":"trt_7ZEDEK69D64PKCW2NZVXD4Q8FK","kind":"trait","bakedName":"InlineTypographyRender25","curName":"InlineTypographyRender25","renames":[],"owner":"workspace"},"trt_ANMYMWHM50T2G48033PPM1225H":{"id":"trt_ANMYMWHM50T2G48033PPM1225H","kind":"trait","bakedName":"InlineIconRender17","curName":"InlineIconRender17","renames":[],"owner":"workspace"},"trt_C3JERQQYAKZ59KHS9EDWNMRQNN":{"id":"trt_C3JERQQYAKZ59KHS9EDWNMRQNN","kind":"trait","bakedName":"InlineIconRender9","curName":"InlineIconRender9","renames":[],"owner":"workspace"},"trt_D35M488TPNDBAMHWASJSDC8VV4":{"id":"trt_D35M488TPNDBAMHWASJSDC8VV4","kind":"trait","bakedName":"InlineIconRender13","curName":"InlineIconRender13","renames":[],"owner":"workspace"},"trt_E94C6ENJZQSFVY5GQ3VKDWN02A":{"id":"trt_E94C6ENJZQSFVY5GQ3VKDWN02A","kind":"trait","bakedName":"InlineEmptyStateRender4","curName":"InlineEmptyStateRender4","renames":[],"owner":"workspace"},"trt_F8QRQB1GG0R80E8Y0S3B6VD0PA":{"id":"trt_F8QRQB1GG0R80E8Y0S3B6VD0PA","kind":"trait","bakedName":"InlineTypographyRender19","curName":"InlineTypographyRender19","renames":[],"owner":"workspace"},"trt_G2FJXRCKS39WHMHPB7Y2VSD7FC":{"id":"trt_G2FJXRCKS39WHMHPB7Y2VSD7FC","kind":"trait","bakedName":"InlineTypographyRender6","curName":"InlineTypographyRender6","renames":[],"owner":"workspace"},"trt_GR3ZTCD7QVKVXWSSH9T653VPGD":{"id":"trt_GR3ZTCD7QVKVXWSSH9T653VPGD","kind":"trait","bakedName":"InlineDividerRender32","curName":"InlineDividerRender32","renames":[],"owner":"workspace"},"trt_H3KFCK6QTEBX720X1X56KQWS9C":{"id":"trt_H3KFCK6QTEBX720X1X56KQWS9C","kind":"trait","bakedName":"InlineIconRender20","curName":"InlineIconRender20","renames":[],"owner":"workspace"},"trt_H82CYXT2TE1D78902B6W36R691":{"id":"trt_H82CYXT2TE1D78902B6W36R691","kind":"trait","bakedName":"InlineTypographyRender2","curName":"InlineTypographyRender2","renames":[],"owner":"workspace"},"trt_HTTKBR3T3CX1PD5SA4BRC5HBMQ":{"id":"trt_HTTKBR3T3CX1PD5SA4BRC5HBMQ","kind":"trait","bakedName":"InlineDividerRender7","curName":"InlineDividerRender7","renames":[],"owner":"workspace"},"trt_KNX24Z8CG068051JW6M3ZRYA8G":{"id":"trt_KNX24Z8CG068051JW6M3ZRYA8G","kind":"trait","bakedName":"InlineTypographyRender14","curName":"InlineTypographyRender14","renames":[],"owner":"workspace"},"trt_KZRPTZSH63RK1ZEXABAQ9V3XZV":{"id":"trt_KZRPTZSH63RK1ZEXABAQ9V3XZV","kind":"trait","bakedName":"InlineSpinnerRender29","curName":"InlineSpinnerRender29","renames":[],"owner":"workspace"},"trt_M19DDXYCH068G36CMQ5BNV1N20":{"id":"trt_M19DDXYCH068G36CMQ5BNV1N20","kind":"trait","bakedName":"InlineEmptyStateRender33","curName":"InlineEmptyStateRender33","renames":[],"owner":"workspace"},"trt_N5CSY2S4RTJCD25KTT1KMWMT09":{"id":"trt_N5CSY2S4RTJCD25KTT1KMWMT09","kind":"trait","bakedName":"RefreshButton","curName":"RefreshButton","renames":[],"owner":"workspace"},"trt_PAZX1SEXNCETPFNANZWRC42EQQ":{"id":"trt_PAZX1SEXNCETPFNANZWRC42EQQ","kind":"trait","bakedName":"InlineTypographyRender16","curName":"InlineTypographyRender16","renames":[],"owner":"workspace"},"trt_PTKCJ7N7ZDKZPQZVH6K5ZMGPK8":{"id":"trt_PTKCJ7N7ZDKZPQZVH6K5ZMGPK8","kind":"trait","bakedName":"InlineDividerRender22","curName":"InlineDividerRender22","renames":[],"owner":"workspace"},"trt_QERKEF6VA2DN1C173JJ107Y991":{"id":"trt_QERKEF6VA2DN1C173JJ107Y991","kind":"trait","bakedName":"FetchButton","curName":"FetchButton","renames":[],"owner":"workspace"},"trt_RGG4DHS7PSKVCVDYF40CSMY1JE":{"id":"trt_RGG4DHS7PSKVCVDYF40CSMY1JE","kind":"trait","bakedName":"InlineAlertRender28","curName":"InlineAlertRender28","renames":[],"owner":"workspace"},"trt_SVN5YP35KKJSSS6V7GSEYPEQK7":{"id":"trt_SVN5YP35KKJSSS6V7GSEYPEQK7","kind":"trait","bakedName":"InlineDividerRender12","curName":"InlineDividerRender12","renames":[],"owner":"workspace"},"trt_T5M8BT7GV7RDKQYB6TFEAPVWZ9":{"id":"trt_T5M8BT7GV7RDKQYB6TFEAPVWZ9","kind":"trait","bakedName":"InvalidateButton","curName":"InvalidateButton","renames":[],"owner":"workspace"},"trt_W587HXS4FVJ7XR2HK42W2CS2DJ":{"id":"trt_W587HXS4FVJ7XR2HK42W2CS2DJ","kind":"trait","bakedName":"InlineTypographyRender18","curName":"InlineTypographyRender18","renames":[],"owner":"workspace"},"trt_WP20VQ9327HH3N2KPA4A8BQ50X":{"id":"trt_WP20VQ9327HH3N2KPA4A8BQ50X","kind":"trait","bakedName":"InlineStatusDotRender11","curName":"InlineStatusDotRender11","renames":[],"owner":"workspace"},"trt_WQ1AP2KAAQN5BMJTM3GGCVBH96":{"id":"trt_WQ1AP2KAAQN5BMJTM3GGCVBH96","kind":"trait","bakedName":"InlineTypographyRender21","curName":"InlineTypographyRender21","renames":[],"owner":"workspace"},"trt_XBQSBJGV7HDKRGPGQX5147QFX2":{"id":"trt_XBQSBJGV7HDKRGPGQX5147QFX2","kind":"trait","bakedName":"InlineIconRender24","curName":"InlineIconRender24","renames":[],"owner":"workspace"},"trt_XZ4FHJYJX29EHEFKZABN4FM2PS":{"id":"trt_XZ4FHJYJX29EHEFKZABN4FM2PS","kind":"trait","bakedName":"InlineEmptyStateRender34","curName":"InlineEmptyStateRender34","renames":[],"owner":"workspace"},"trt_Y4B77KP5M62T3C806ETTBE0JPH":{"id":"trt_Y4B77KP5M62T3C806ETTBE0JPH","kind":"trait","bakedName":"InlineEmptyStateRender23","curName":"InlineEmptyStateRender23","renames":[],"owner":"workspace"},"trt_YJ2YS8XJWQSEBR55CEWKZP5QPS":{"id":"trt_YJ2YS8XJWQSEBR55CEWKZP5QPS","kind":"trait","bakedName":"InlineDividerRender27","curName":"InlineDividerRender27","renames":[],"owner":"workspace"},"trt_YMETG7V75MKJTDA7WYCPPVED6K":{"id":"trt_YMETG7V75MKJTDA7WYCPPVED6K","kind":"trait","bakedName":"InlineTypographyRender10","curName":"InlineTypographyRender10","renames":[],"owner":"workspace"},"trt_YWJ0GSD0YGGF857XQSV4FVSG0N":{"id":"trt_YWJ0GSD0YGGF857XQSV4FVSG0N","kind":"trait","bakedName":"InlineIconRender5","curName":"InlineIconRender5","renames":[],"owner":"workspace"}}}}
@@ -1 +1 @@
1
- {"name":"std-calendar-sync","version":"1.0.0","description":"std-calendar-sync — two-way Google Calendar synchronization engine. PUSH: a 15-minute cron scan (and the user-addressable SYNC_NOW) walks `targetEntity` rows whose `externalEventId` marker is blank and creates a remote event per row through calendar.createEvent, reading the summary/start/end via the configured field mapping (`titleField`/`startField`/`endField`/`durationMinutes` fallback/`locationField`/`descriptionField`) — so ANY event-shaped host entity pushes, provided it declares the two marker columns `externalEventId : string` and `syncedAt : number` (the remindedAt precedent). PULL: `CAL_REMOTE_CHANGED` (delivered by the shared /api/hooks/google-calendar ingress from a calendar.watch channel) or the same cycle after a clean push lists remote events (incremental via the in-memory sync token; a restart falls back to a full window list) and upserts each into the atom's own canonical `CalendarEvent` store, matched by `externalEventId` — pulls land in the canonical store, NOT the arbitrary target, because persist keys are static in the language; bind calendar UI to `CalendarEvent` to surface remote events. Conflict detection (local-newer-than-remote) needs a local-modified marker convention and is a recorded gap, not a decorative state. Composes with std-notify-on-event via CAL_SYNCED / CAL_SYNC_FAILED.","orbitals":[{"name":"CalendarSyncOrbital","id":"orb_JVEDBNWYREFC7E3KBEP6TCV2EM","entity":{"name":"CalendarSyncRun","id":"ent_BBJ8G1E8FM47TEYNDWSN7KDCW3","collection":"calendarSyncState","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"syncToken","type":"string","default":"","intrinsic":true,"description":"Scratch: Google incremental-sync token from the last listEvents; in-memory per instance — a restart falls back to a full list.","synonyms":"sync cursor, next token"},{"name":"lastSyncedAt","type":"number","default":0,"intrinsic":true,"description":"When the last full push+pull cycle completed; 0 = never.","synonyms":"last sync time"},{"name":"headId","type":"string","default":"","intrinsic":true,"description":"Scratch: id of the target row the push loop is currently exporting.","synonyms":"cursor, current row"},{"name":"pending","type":"array","default":[],"items":{"type":"object","properties":{"end":{"name":"end","type":"string","required":false},"id":{"name":"id","type":"string","required":false},"description":{"name":"description","type":"string","required":false},"updated":{"name":"updated","type":"string","required":false},"summary":{"name":"summary","type":"string","required":false},"location":{"name":"location","type":"string","required":false},"start":{"name":"start","type":"string","required":false},"status":{"name":"status","type":"string","required":false}}},"intrinsic":true,"description":"Scratch: remote events remaining in the current pull-upsert loop.","synonyms":"pull queue, remaining events"},{"name":"lastError","type":"string","default":"","intrinsic":true,"description":"Last sync failure detail; blank = none.","synonyms":"sync error, failure"}]},"auxiliaryEntities":[{"name":"CalendarEvent","id":"ent_JN8MWGQZN3ZTHSY34SB25HYY18","collection":"calendarEvents","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"title","type":"string","default":"","description":"Event title/summary.","synonyms":"summary, name, subject"},{"name":"startsAt","type":"string","default":"","description":"ISO start (dateTime, or YYYY-MM-DD for all-day).","synonyms":"start, begins, from"},{"name":"endsAt","type":"string","default":"","description":"ISO end (dateTime, or YYYY-MM-DD for all-day).","synonyms":"end, finishes, until"},{"name":"location","type":"string","default":"","description":"Event location.","synonyms":"place, where, venue"},{"name":"description","type":"string","default":"","description":"Event description/notes.","synonyms":"notes, details, body"},{"name":"status","type":"string","default":"","description":"Remote status (confirmed/tentative/cancelled).","synonyms":"state, confirmation"},{"name":"externalEventId","type":"string","default":"","description":"Google Calendar event id this row mirrors; the pull-upsert match key.","synonyms":"remote id, google id, calendar event id"},{"name":"syncedAt","type":"number","default":0,"description":"When this row last synced with the remote calendar; 0 = never.","synonyms":"last sync, synced"}]}],"traits":[{"name":"CalendarSync","id":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3","effectRow":[{"kind":"call-service","resource":"calendar.createEvent"},{"kind":"call-service","resource":"calendar.listEvents"},{"kind":"emit","resource":"CAL_SYNCED"},{"kind":"emit","resource":"PULL_NEXT"},{"kind":"fetch","resource":"@config.targetEntity","resolved":false},{"kind":"fetch","resource":"@config.targetEntity","resolved":false,"site":"tick"},{"kind":"fetch","resource":"CalendarEvent"},{"kind":"persist","resource":"@config.targetEntity","resolved":false},{"kind":"persist","resource":"CalendarEvent"},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.headId"},{"kind":"set","resource":"@entity.lastError"},{"kind":"set","resource":"@entity.lastSyncedAt"},{"kind":"set","resource":"@entity.pending"},{"kind":"set","resource":"@entity.syncToken"},{"kind":"ticks","site":"tick"}],"category":"lifecycle","linkedEntity":"CalendarSyncRun","linkedEntityId":"ent_BBJ8G1E8FM47TEYNDWSN7KDCW3","entityRefIds":{"CalendarEvent":"ent_JN8MWGQZN3ZTHSY34SB25HYY18","CalendarSyncRun":"ent_BBJ8G1E8FM47TEYNDWSN7KDCW3"},"emits":[{"event":"CAL_SYNCED","eventId":"evt_WSBVHMD8MEMA77ZR0G6A4TZXWE","description":"A full push+pull cycle completed; wire to std-notify-on-event or a status surface.","scope":"external","payloadSchema":[{"name":"syncedAt","type":"number"}]},{"event":"CAL_SYNC_FAILED","eventId":"evt_FSD25GSMY1TF0XE4513A4AMQ91","description":"A calendar service call / fetch / persist failed — lastError carries the detail and the cycle stops until the next trigger.","tier":"secondary","payloadSchema":[{"name":"error","type":"string","required":true}]},{"event":"PUSH_ROWS_LOADED","eventId":"evt_H30M4SN1XKGYSW6KSGNWMTQYSW","description":"Target rows with a blank externalEventId marker — the remaining local→remote export queue.","tier":"secondary","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"externalEventId","type":"string"}],"entity":"TargetRow"}]},{"event":"CAL_EVENT_CREATED","eventId":"evt_0KSC67AD496J4WKJ7VYCX1Z1NJ","description":"calendar.createEvent result, flattened onto the payload by the call-service effect executor.","tier":"secondary","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"status","type":"string","required":true},{"name":"htmlLink","type":"string","required":true}]},{"event":"PUSH_STEPPED","eventId":"evt_664ZQJARVKCDSP56NRHWBXNWCR","description":"Target row stamped with its new externalEventId; drives the next push pass.","tier":"secondary","payloadSchema":[{"name":"id","type":"string","required":true}]},{"event":"CAL_REMOTE_LISTED","eventId":"evt_M3KSGVJDSH6WRXKJSKWXRK0MMC","description":"calendar.listEvents result — the remote change set for the pull-upsert loop.","tier":"secondary","payloadSchema":[{"name":"events","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"summary","type":"string"},{"name":"description","type":"string"},{"name":"location","type":"string"},{"name":"start","type":"string"},{"name":"end","type":"string"},{"name":"status","type":"string"},{"name":"updated","type":"string"}],"entity":"RemoteEvent"},{"name":"nextSyncToken","type":"string"}]},{"event":"PULL_TARGET_LOADED","eventId":"evt_CT8ACCH85ZM2ZVJRW9HN9VD1RE","description":"CalendarEvent rows loaded for externalEventId matching in the pull-upsert.","tier":"secondary","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"externalEventId","type":"string"}],"entity":"TargetRow"}]},{"event":"PULL_STEPPED","eventId":"evt_83ZJ93GVY2DZ1189MRSPGKQ9PG","description":"One remote event upserted into the CalendarEvent store; drives the next pull pass.","tier":"secondary","payloadSchema":[{"name":"id","type":"string","required":true}]},{"event":"PULL_NEXT","eventId":"evt_EGZ8T7JZF1FQGNVSDFN58VZXY8","description":"Pull loop control: how many remote events remain in the queue.","tier":"secondary","payloadSchema":[{"name":"remaining","type":"number"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"pushing"},{"name":"pulling"}],"events":[{"key":"INIT","id":"evt_CME89HTTCKD69GHB5P7J3GP4WM","name":"Initialize"},{"key":"SYNC_NOW","id":"evt_726KDTBVKSXSWTZNCQWF9KTX8J","name":"Sync Now","listened":true},{"key":"CAL_REMOTE_CHANGED","id":"evt_4JPC77RZJBFS5GZX6622XQ8CYD","name":"Cal Remote Changed","payloadSchema":[{"name":"channelId","type":"string"},{"name":"resourceId","type":"string"},{"name":"resourceState","type":"string"}],"listened":true},{"key":"PUSH_ROWS_LOADED","id":"evt_H30M4SN1XKGYSW6KSGNWMTQYSW","name":"Push Rows Loaded","description":"Target rows with a blank externalEventId marker — the remaining local→remote export queue.","tier":"secondary","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"externalEventId","type":"string"}]}],"listened":true},{"key":"CAL_REMOTE_LISTED","id":"evt_M3KSGVJDSH6WRXKJSKWXRK0MMC","name":"Cal Remote Listed","description":"calendar.listEvents result — the remote change set for the pull-upsert loop.","tier":"secondary","payloadSchema":[{"name":"events","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"summary","type":"string"},{"name":"description","type":"string"},{"name":"location","type":"string"},{"name":"start","type":"string"},{"name":"end","type":"string"},{"name":"status","type":"string"},{"name":"updated","type":"string"}]},{"name":"nextSyncToken","type":"string"}],"listened":true},{"key":"CAL_SYNC_FAILED","id":"evt_FSD25GSMY1TF0XE4513A4AMQ91","name":"Cal Sync Failed","description":"A calendar service call / fetch / persist failed — lastError carries the detail and the cycle stops until the next trigger.","tier":"secondary","payloadSchema":[{"name":"error","type":"string","required":true}]},{"key":"CAL_EVENT_CREATED","id":"evt_0KSC67AD496J4WKJ7VYCX1Z1NJ","name":"Cal Event Created","description":"calendar.createEvent result, flattened onto the payload by the call-service effect executor.","tier":"secondary","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"status","type":"string","required":true},{"name":"htmlLink","type":"string","required":true}],"listened":true},{"key":"PUSH_STEPPED","id":"evt_664ZQJARVKCDSP56NRHWBXNWCR","name":"Push Stepped","description":"Target row stamped with its new externalEventId; drives the next push pass.","tier":"secondary","payloadSchema":[{"name":"id","type":"string","required":true}],"listened":true},{"key":"PULL_TARGET_LOADED","id":"evt_CT8ACCH85ZM2ZVJRW9HN9VD1RE","name":"Pull Target Loaded","description":"CalendarEvent rows loaded for externalEventId matching in the pull-upsert.","tier":"secondary","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"externalEventId","type":"string"}]}],"listened":true},{"key":"PULL_STEPPED","id":"evt_83ZJ93GVY2DZ1189MRSPGKQ9PG","name":"Pull Stepped","description":"One remote event upserted into the CalendarEvent store; drives the next pull pass.","tier":"secondary","payloadSchema":[{"name":"id","type":"string","required":true}],"listened":true},{"key":"PULL_NEXT","id":"evt_EGZ8T7JZF1FQGNVSDFN58VZXY8","name":"Pull Next","description":"Pull loop control: how many remote events remain in the queue.","tier":"secondary","payloadSchema":[{"name":"remaining","type":"number"}],"listened":true},{"key":"CAL_SYNCED","id":"evt_WSBVHMD8MEMA77ZR0G6A4TZXWE","name":"Cal Synced","description":"A full push+pull cycle completed; wire to std-notify-on-event or a status surface.","payloadSchema":[{"name":"syncedAt","type":"number"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_CME89HTTCKD69GHB5P7J3GP4WM"},{"from":"idle","to":"idle","event":"SYNC_NOW","eventId":"evt_726KDTBVKSXSWTZNCQWF9KTX8J","guard":"@config.enabled","effects":[["fetch","@config.targetEntity",{"emit":{"failure":"CAL_SYNC_FAILED","success":"PUSH_ROWS_LOADED"},"filter":["=",["object/get","@entity","externalEventId"],""]}]]},{"from":"idle","to":"idle","event":"CAL_REMOTE_CHANGED","eventId":"evt_4JPC77RZJBFS5GZX6622XQ8CYD","guard":"@config.enabled","effects":[["call-service","calendar","listEvents",{"calendarId":"@config.calendarId","syncToken":"@entity.syncToken"},{"emit":{"failure":"CAL_SYNC_FAILED","success":"CAL_REMOTE_LISTED"}}]]},{"from":"idle","to":"pushing","event":"PUSH_ROWS_LOADED","eventId":"evt_H30M4SN1XKGYSW6KSGNWMTQYSW","guard":["and","@config.enabled",[">",["array/len","@payload.data"],0]],"effects":[["set","@entity.headId",["object/get",["array/first","@payload.data"],"id"]],["call-service","calendar","createEvent",{"calendarId":"@config.calendarId","summary":["object/get",["array/first","@payload.data"],"@config.titleField"],"description":["if",["=","@config.descriptionField",""],"",["object/get",["array/first","@payload.data"],"@config.descriptionField"]],"location":["if",["=","@config.locationField",""],"",["object/get",["array/first","@payload.data"],"@config.locationField"]],"start":["object/get",["array/first","@payload.data"],"@config.startField"],"end":["if",["=","@config.endField",""],"",["object/get",["array/first","@payload.data"],"@config.endField"]],"durationMinutes":["if",["=","@config.durationField",""],"@config.durationMinutes",["object/get",["array/first","@payload.data"],"@config.durationField"]]},{"emit":{"failure":"CAL_SYNC_FAILED","success":"CAL_EVENT_CREATED"}}]]},{"from":"idle","to":"idle","event":"PUSH_ROWS_LOADED","eventId":"evt_H30M4SN1XKGYSW6KSGNWMTQYSW","guard":["=",["array/len","@payload.data"],0],"effects":[["call-service","calendar","listEvents",{"calendarId":"@config.calendarId","syncToken":"@entity.syncToken"},{"emit":{"failure":"CAL_SYNC_FAILED","success":"CAL_REMOTE_LISTED"}}]]},{"from":"idle","to":"pulling","event":"CAL_REMOTE_LISTED","eventId":"evt_M3KSGVJDSH6WRXKJSKWXRK0MMC","guard":[">",["array/len","@payload.events"],0],"effects":[["set","@entity.pending","@payload.events"],["set","@entity.syncToken",["str/default","@payload.nextSyncToken",""]],["fetch","CalendarEvent",{"emit":{"failure":"CAL_SYNC_FAILED","success":"PULL_TARGET_LOADED"}}]]},{"from":"idle","to":"idle","event":"CAL_REMOTE_LISTED","eventId":"evt_M3KSGVJDSH6WRXKJSKWXRK0MMC","guard":["=",["array/len","@payload.events"],0],"effects":[["set","@entity.syncToken",["str/default","@payload.nextSyncToken",""]],["set","@entity.lastSyncedAt","@now"],["emit","CAL_SYNCED",{"syncedAt":"@entity.lastSyncedAt"}]]},{"from":"idle","to":"idle","event":"CAL_SYNC_FAILED","eventId":"evt_FSD25GSMY1TF0XE4513A4AMQ91","effects":[["set","@entity.lastError","@payload.error"],["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't sync the calendar — ","@payload.error"],"dismissible":true}]]},{"from":"pushing","to":"pushing","event":"CAL_EVENT_CREATED","eventId":"evt_0KSC67AD496J4WKJ7VYCX1Z1NJ","effects":[["persist","update","@config.targetEntity",{"id":"@entity.headId","externalEventId":"@payload.id","syncedAt":"@now"},{"emit":{"failure":"CAL_SYNC_FAILED","success":"PUSH_STEPPED"}}]]},{"from":"pushing","to":"pushing","event":"PUSH_STEPPED","eventId":"evt_664ZQJARVKCDSP56NRHWBXNWCR","effects":[["fetch","@config.targetEntity",{"emit":{"failure":"CAL_SYNC_FAILED","success":"PUSH_ROWS_LOADED"},"filter":["=",["object/get","@entity","externalEventId"],""]}]]},{"from":"pushing","to":"pushing","event":"PUSH_ROWS_LOADED","eventId":"evt_H30M4SN1XKGYSW6KSGNWMTQYSW","guard":[">",["array/len","@payload.data"],0],"effects":[["set","@entity.headId",["object/get",["array/first","@payload.data"],"id"]],["call-service","calendar","createEvent",{"calendarId":"@config.calendarId","summary":["object/get",["array/first","@payload.data"],"@config.titleField"],"description":["if",["=","@config.descriptionField",""],"",["object/get",["array/first","@payload.data"],"@config.descriptionField"]],"location":["if",["=","@config.locationField",""],"",["object/get",["array/first","@payload.data"],"@config.locationField"]],"start":["object/get",["array/first","@payload.data"],"@config.startField"],"end":["if",["=","@config.endField",""],"",["object/get",["array/first","@payload.data"],"@config.endField"]],"durationMinutes":["if",["=","@config.durationField",""],"@config.durationMinutes",["object/get",["array/first","@payload.data"],"@config.durationField"]]},{"emit":{"failure":"CAL_SYNC_FAILED","success":"CAL_EVENT_CREATED"}}]]},{"from":"pushing","to":"idle","event":"PUSH_ROWS_LOADED","eventId":"evt_H30M4SN1XKGYSW6KSGNWMTQYSW","guard":["=",["array/len","@payload.data"],0],"effects":[["call-service","calendar","listEvents",{"calendarId":"@config.calendarId","syncToken":"@entity.syncToken"},{"emit":{"failure":"CAL_SYNC_FAILED","success":"CAL_REMOTE_LISTED"}}]]},{"from":"pushing","to":"idle","event":"CAL_SYNC_FAILED","eventId":"evt_FSD25GSMY1TF0XE4513A4AMQ91","effects":[["set","@entity.lastError","@payload.error"],["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't sync the calendar — ","@payload.error"],"dismissible":true}]]},{"from":"pulling","to":"idle","event":"INIT","eventId":"evt_CME89HTTCKD69GHB5P7J3GP4WM"},{"from":"pulling","to":"pulling","event":"PULL_TARGET_LOADED","eventId":"evt_CT8ACCH85ZM2ZVJRW9HN9VD1RE","effects":[["set","@entity.headId",["object/get",["array/first","@entity.pending"],"id"]],["if",["=",["array/len",["array/filter","@payload.data",["fn","r",["=",["object/get","@r","externalEventId"],"@entity.headId"]]]],0],["persist","create","CalendarEvent",{"title":["object/get",["array/first","@entity.pending"],"summary"],"startsAt":["object/get",["array/first","@entity.pending"],"start"],"endsAt":["object/get",["array/first","@entity.pending"],"end"],"location":["object/get",["array/first","@entity.pending"],"location"],"description":["object/get",["array/first","@entity.pending"],"description"],"status":["object/get",["array/first","@entity.pending"],"status"],"externalEventId":"@entity.headId","syncedAt":"@now"},{"emit":{"failure":"CAL_SYNC_FAILED","success":"PULL_STEPPED"}}],["persist","update","CalendarEvent",{"id":["object/get",["array/first",["array/filter","@payload.data",["fn","r",["=",["object/get","@r","externalEventId"],"@entity.headId"]]]],"id"],"title":["object/get",["array/first","@entity.pending"],"summary"],"startsAt":["object/get",["array/first","@entity.pending"],"start"],"endsAt":["object/get",["array/first","@entity.pending"],"end"],"location":["object/get",["array/first","@entity.pending"],"location"],"description":["object/get",["array/first","@entity.pending"],"description"],"status":["object/get",["array/first","@entity.pending"],"status"],"syncedAt":"@now"},{"emit":{"failure":"CAL_SYNC_FAILED","success":"PULL_STEPPED"}}]]]},{"from":"pulling","to":"pulling","event":"PULL_STEPPED","eventId":"evt_83ZJ93GVY2DZ1189MRSPGKQ9PG","effects":[["set","@entity.pending",["array/drop","@entity.pending",1]],["emit","PULL_NEXT",{"remaining":["array/len","@entity.pending"]}]]},{"from":"pulling","to":"pulling","event":"PULL_NEXT","eventId":"evt_EGZ8T7JZF1FQGNVSDFN58VZXY8","guard":[">","@payload.remaining",0],"effects":[["fetch","CalendarEvent",{"emit":{"failure":"CAL_SYNC_FAILED","success":"PULL_TARGET_LOADED"}}]]},{"from":"pulling","to":"idle","event":"PULL_NEXT","eventId":"evt_EGZ8T7JZF1FQGNVSDFN58VZXY8","guard":["=","@payload.remaining",0],"effects":[["set","@entity.lastSyncedAt","@now"],["emit","CAL_SYNCED",{"syncedAt":"@entity.lastSyncedAt"}]]},{"from":"pulling","to":"idle","event":"CAL_SYNC_FAILED","eventId":"evt_FSD25GSMY1TF0XE4513A4AMQ91","effects":[["set","@entity.lastError","@payload.error"],["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't sync the calendar — ","@payload.error"],"dismissible":true}]]}]},"ticks":[{"name":"syncCycle","interval":"*/15 * * * *","effects":[["fetch","@config.targetEntity",{"emit":{"failure":"CAL_SYNC_FAILED","success":"PUSH_ROWS_LOADED"},"filter":["=",["object/get","@entity","externalEventId"],""]}]],"runsInBackground":true}],"config":{"endField":{"type":"string","default":"endsAt","label":"End field","description":"Target-entity field holding the ISO end. Blank = derive the end from `durationMinutes` instead (the corpus carries all four event shapes).","synonyms":"end date field, finishes field","tier":"internal"},"calendarId":{"type":"string","default":"","label":"Calendar id","description":"Google calendar to sync with; blank = the service's default (GOOGLE_CALENDAR_ID env, else primary).","synonyms":"google calendar id, target calendar","tier":"infra"},"durationField":{"type":"string","default":"","label":"Duration field","description":"Target-entity field holding the per-row duration in minutes (e.g. ClassSession.durationMinutes). Takes precedence over the fixed `durationMinutes` when set; ignored when `endField` is set. Field precedence: endField > durationField > durationMinutes — the corpus carries all these event shapes.","synonyms":"minutes field, length field, per-row duration","tier":"internal"},"enabled":{"type":"boolean","default":false,"label":"Sync with Google Calendar","description":"Push local records to Google Calendar and pull remote events into the CalendarEvent store. Off by default; needs the calendar service credentials (GOOGLE_CALENDAR_SA_KEY).","synonyms":"enable, calendar sync, google calendar, two-way sync, sync events, connect calendar","tier":"infra"},"durationMinutes":{"type":"number","default":60,"label":"Duration (minutes)","description":"Fixed event length used when both `endField` and `durationField` are blank; the calendar service computes the timezone-correct end.","synonyms":"length, event duration, minutes","tier":"internal"},"startField":{"type":"string","default":"startsAt","label":"Start field","description":"Target-entity field holding the ISO start (dateTime, or YYYY-MM-DD for all-day).","synonyms":"start date field, begins field, scheduledAt field","tier":"internal"},"locationField":{"type":"string","default":"","label":"Location field","description":"Target-entity field holding the location; blank = none.","synonyms":"place field, venue field","tier":"internal"},"titleField":{"type":"string","default":"title","label":"Title field","description":"Target-entity field holding the event title.","synonyms":"summary field, name field","tier":"internal"},"descriptionField":{"type":"string","default":"","label":"Description field","description":"Target-entity field holding the description/notes; blank = none.","synonyms":"notes field, details field","tier":"internal"},"targetEntity":{"type":"entity","default":"CalendarEvent","label":"Entity to push","description":"Event-shaped entity whose rows export to Google Calendar. MUST declare the marker columns `externalEventId : string = \"\"` and `syncedAt : number = 0` (stamped by the push loop). Defaults to the atom's own CalendarEvent store so the standalone validates; rebind per composition.","synonyms":"entity to sync, source entity, record type, appointments entity, sessions entity","tier":"internal","refId":"ent_JN8MWGQZN3ZTHSY34SB25HYY18"}},"scope":"instance"}],"pages":[{"name":"CalendarSyncPage","id":"pag_S5X76EXF8PQMBDEQBX9MH1G82P","path":"/calendar-sync","traits":[{"ref":"CalendarSync","refId":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"}]}],"types":{"RemoteEvent":[{"name":"id","type":"string"},{"name":"summary","type":"string"},{"name":"description","type":"string"},{"name":"location","type":"string"},{"name":"start","type":"string"},{"name":"end","type":"string"},{"name":"status","type":"string"},{"name":"updated","type":"string"}],"TargetRow":[{"name":"id","type":"string"},{"name":"externalEventId","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_BBJ8G1E8FM47TEYNDWSN7KDCW3":{"id":"ent_BBJ8G1E8FM47TEYNDWSN7KDCW3","kind":"entity","bakedName":"CalendarSyncRun","curName":"CalendarSyncRun","renames":[],"owner":"workspace"},"ent_JN8MWGQZN3ZTHSY34SB25HYY18":{"id":"ent_JN8MWGQZN3ZTHSY34SB25HYY18","kind":"entity","bakedName":"CalendarEvent","curName":"CalendarEvent","renames":[],"owner":"workspace"},"evt_0KSC67AD496J4WKJ7VYCX1Z1NJ":{"id":"evt_0KSC67AD496J4WKJ7VYCX1Z1NJ","kind":"event","bakedName":"CAL_EVENT_CREATED","curName":"CAL_EVENT_CREATED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_4JPC77RZJBFS5GZX6622XQ8CYD":{"id":"evt_4JPC77RZJBFS5GZX6622XQ8CYD","kind":"event","bakedName":"CAL_REMOTE_CHANGED","curName":"CAL_REMOTE_CHANGED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_664ZQJARVKCDSP56NRHWBXNWCR":{"id":"evt_664ZQJARVKCDSP56NRHWBXNWCR","kind":"event","bakedName":"PUSH_STEPPED","curName":"PUSH_STEPPED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_726KDTBVKSXSWTZNCQWF9KTX8J":{"id":"evt_726KDTBVKSXSWTZNCQWF9KTX8J","kind":"event","bakedName":"SYNC_NOW","curName":"SYNC_NOW","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_83ZJ93GVY2DZ1189MRSPGKQ9PG":{"id":"evt_83ZJ93GVY2DZ1189MRSPGKQ9PG","kind":"event","bakedName":"PULL_STEPPED","curName":"PULL_STEPPED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_CME89HTTCKD69GHB5P7J3GP4WM":{"id":"evt_CME89HTTCKD69GHB5P7J3GP4WM","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_CT8ACCH85ZM2ZVJRW9HN9VD1RE":{"id":"evt_CT8ACCH85ZM2ZVJRW9HN9VD1RE","kind":"event","bakedName":"PULL_TARGET_LOADED","curName":"PULL_TARGET_LOADED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_EGZ8T7JZF1FQGNVSDFN58VZXY8":{"id":"evt_EGZ8T7JZF1FQGNVSDFN58VZXY8","kind":"event","bakedName":"PULL_NEXT","curName":"PULL_NEXT","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_FSD25GSMY1TF0XE4513A4AMQ91":{"id":"evt_FSD25GSMY1TF0XE4513A4AMQ91","kind":"event","bakedName":"CAL_SYNC_FAILED","curName":"CAL_SYNC_FAILED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_H30M4SN1XKGYSW6KSGNWMTQYSW":{"id":"evt_H30M4SN1XKGYSW6KSGNWMTQYSW","kind":"event","bakedName":"PUSH_ROWS_LOADED","curName":"PUSH_ROWS_LOADED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_M3KSGVJDSH6WRXKJSKWXRK0MMC":{"id":"evt_M3KSGVJDSH6WRXKJSKWXRK0MMC","kind":"event","bakedName":"CAL_REMOTE_LISTED","curName":"CAL_REMOTE_LISTED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_WSBVHMD8MEMA77ZR0G6A4TZXWE":{"id":"evt_WSBVHMD8MEMA77ZR0G6A4TZXWE","kind":"event","bakedName":"CAL_SYNCED","curName":"CAL_SYNCED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"orb_JVEDBNWYREFC7E3KBEP6TCV2EM":{"id":"orb_JVEDBNWYREFC7E3KBEP6TCV2EM","kind":"orbital","bakedName":"CalendarSyncOrbital","curName":"CalendarSyncOrbital","renames":[],"owner":"workspace"},"pag_S5X76EXF8PQMBDEQBX9MH1G82P":{"id":"pag_S5X76EXF8PQMBDEQBX9MH1G82P","kind":"page","bakedName":"CalendarSyncPage","curName":"CalendarSyncPage","renames":[],"owner":"workspace"},"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3":{"id":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3","kind":"trait","bakedName":"CalendarSync","curName":"CalendarSync","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-calendar-sync","version":"1.0.0","description":"std-calendar-sync — two-way Google Calendar synchronization engine. PUSH: a 15-minute cron scan (and the user-addressable SYNC_NOW) walks `targetEntity` rows whose `externalEventId` marker is blank and creates a remote event per row through calendar.createEvent, reading the summary/start/end via the configured field mapping (`titleField`/`startField`/`endField`/`durationMinutes` fallback/`locationField`/`descriptionField`) — so ANY event-shaped host entity pushes, provided it declares the two marker columns `externalEventId : string` and `syncedAt : number` (the remindedAt precedent). PULL: `CAL_REMOTE_CHANGED` (delivered by the shared /api/hooks/google-calendar ingress from a calendar.watch channel) or the same cycle after a clean push lists remote events (incremental via the in-memory sync token; a restart falls back to a full window list) and upserts each into the atom's own canonical `CalendarEvent` store, matched by `externalEventId` — pulls land in the canonical store, NOT the arbitrary target, because persist keys are static in the language; bind calendar UI to `CalendarEvent` to surface remote events. Conflict detection (local-newer-than-remote) needs a local-modified marker convention and is a recorded gap, not a decorative state. Composes with std-notify-on-event via CAL_SYNCED / CAL_SYNC_FAILED.","orbitals":[{"name":"CalendarSyncOrbital","id":"orb_JVEDBNWYREFC7E3KBEP6TCV2EM","entity":{"name":"CalendarSyncRun","id":"ent_BBJ8G1E8FM47TEYNDWSN7KDCW3","collection":"calendarSyncState","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"syncToken","type":"string","default":"","intrinsic":true,"description":"Scratch: Google incremental-sync token from the last listEvents; in-memory per instance — a restart falls back to a full list.","synonyms":"sync cursor, next token"},{"name":"lastSyncedAt","type":"number","default":0,"intrinsic":true,"description":"When the last full push+pull cycle completed; 0 = never.","synonyms":"last sync time"},{"name":"headId","type":"string","default":"","intrinsic":true,"description":"Scratch: id of the target row the push loop is currently exporting.","synonyms":"cursor, current row"},{"name":"pending","type":"array","default":[],"items":{"type":"object","properties":{"description":{"name":"description","type":"string","required":false},"id":{"name":"id","type":"string","required":false},"location":{"name":"location","type":"string","required":false},"status":{"name":"status","type":"string","required":false},"summary":{"name":"summary","type":"string","required":false},"end":{"name":"end","type":"string","required":false},"updated":{"name":"updated","type":"string","required":false},"start":{"name":"start","type":"string","required":false}}},"intrinsic":true,"description":"Scratch: remote events remaining in the current pull-upsert loop.","synonyms":"pull queue, remaining events"},{"name":"lastError","type":"string","default":"","intrinsic":true,"description":"Last sync failure detail; blank = none.","synonyms":"sync error, failure"}]},"auxiliaryEntities":[{"name":"CalendarEvent","id":"ent_JN8MWGQZN3ZTHSY34SB25HYY18","collection":"calendarEvents","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"title","type":"string","default":"","description":"Event title/summary.","synonyms":"summary, name, subject"},{"name":"startsAt","type":"string","default":"","description":"ISO start (dateTime, or YYYY-MM-DD for all-day).","synonyms":"start, begins, from"},{"name":"endsAt","type":"string","default":"","description":"ISO end (dateTime, or YYYY-MM-DD for all-day).","synonyms":"end, finishes, until"},{"name":"location","type":"string","default":"","description":"Event location.","synonyms":"place, where, venue"},{"name":"description","type":"string","default":"","description":"Event description/notes.","synonyms":"notes, details, body"},{"name":"status","type":"string","default":"","description":"Remote status (confirmed/tentative/cancelled).","synonyms":"state, confirmation"},{"name":"externalEventId","type":"string","default":"","description":"Google Calendar event id this row mirrors; the pull-upsert match key.","synonyms":"remote id, google id, calendar event id"},{"name":"syncedAt","type":"number","default":0,"description":"When this row last synced with the remote calendar; 0 = never.","synonyms":"last sync, synced"}]}],"traits":[{"name":"CalendarSync","id":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3","effectRow":[{"kind":"call-service","resource":"calendar.createEvent"},{"kind":"call-service","resource":"calendar.listEvents"},{"kind":"emit","resource":"CAL_SYNCED"},{"kind":"emit","resource":"PULL_NEXT"},{"kind":"fetch","resource":"@config.targetEntity","resolved":false},{"kind":"fetch","resource":"@config.targetEntity","resolved":false,"site":"tick"},{"kind":"fetch","resource":"CalendarEvent"},{"kind":"persist","resource":"@config.targetEntity","resolved":false},{"kind":"persist","resource":"CalendarEvent"},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.headId"},{"kind":"set","resource":"@entity.lastError"},{"kind":"set","resource":"@entity.lastSyncedAt"},{"kind":"set","resource":"@entity.pending"},{"kind":"set","resource":"@entity.syncToken"},{"kind":"ticks","site":"tick"}],"category":"lifecycle","linkedEntity":"CalendarSyncRun","linkedEntityId":"ent_BBJ8G1E8FM47TEYNDWSN7KDCW3","entityRefIds":{"CalendarEvent":"ent_JN8MWGQZN3ZTHSY34SB25HYY18","CalendarSyncRun":"ent_BBJ8G1E8FM47TEYNDWSN7KDCW3"},"emits":[{"event":"CAL_SYNCED","eventId":"evt_WSBVHMD8MEMA77ZR0G6A4TZXWE","description":"A full push+pull cycle completed; wire to std-notify-on-event or a status surface.","scope":"external","payloadSchema":[{"name":"syncedAt","type":"number"}]},{"event":"CAL_SYNC_FAILED","eventId":"evt_FSD25GSMY1TF0XE4513A4AMQ91","description":"A calendar service call / fetch / persist failed — lastError carries the detail and the cycle stops until the next trigger.","tier":"secondary","payloadSchema":[{"name":"error","type":"string","required":true}]},{"event":"PUSH_ROWS_LOADED","eventId":"evt_H30M4SN1XKGYSW6KSGNWMTQYSW","description":"Target rows with a blank externalEventId marker — the remaining local→remote export queue.","tier":"secondary","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"externalEventId","type":"string"}],"entity":"TargetRow"}]},{"event":"CAL_EVENT_CREATED","eventId":"evt_0KSC67AD496J4WKJ7VYCX1Z1NJ","description":"calendar.createEvent result, flattened onto the payload by the call-service effect executor.","tier":"secondary","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"status","type":"string","required":true},{"name":"htmlLink","type":"string","required":true}]},{"event":"PUSH_STEPPED","eventId":"evt_664ZQJARVKCDSP56NRHWBXNWCR","description":"Target row stamped with its new externalEventId; drives the next push pass.","tier":"secondary","payloadSchema":[{"name":"id","type":"string","required":true}]},{"event":"CAL_REMOTE_LISTED","eventId":"evt_M3KSGVJDSH6WRXKJSKWXRK0MMC","description":"calendar.listEvents result — the remote change set for the pull-upsert loop.","tier":"secondary","payloadSchema":[{"name":"events","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"summary","type":"string"},{"name":"description","type":"string"},{"name":"location","type":"string"},{"name":"start","type":"string"},{"name":"end","type":"string"},{"name":"status","type":"string"},{"name":"updated","type":"string"}],"entity":"RemoteEvent"},{"name":"nextSyncToken","type":"string"}]},{"event":"PULL_TARGET_LOADED","eventId":"evt_CT8ACCH85ZM2ZVJRW9HN9VD1RE","description":"CalendarEvent rows loaded for externalEventId matching in the pull-upsert.","tier":"secondary","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"externalEventId","type":"string"}],"entity":"TargetRow"}]},{"event":"PULL_STEPPED","eventId":"evt_83ZJ93GVY2DZ1189MRSPGKQ9PG","description":"One remote event upserted into the CalendarEvent store; drives the next pull pass.","tier":"secondary","payloadSchema":[{"name":"id","type":"string","required":true}]},{"event":"PULL_NEXT","eventId":"evt_EGZ8T7JZF1FQGNVSDFN58VZXY8","description":"Pull loop control: how many remote events remain in the queue.","tier":"secondary","payloadSchema":[{"name":"remaining","type":"number"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"pushing"},{"name":"pulling"}],"events":[{"key":"INIT","id":"evt_CME89HTTCKD69GHB5P7J3GP4WM","name":"Initialize"},{"key":"SYNC_NOW","id":"evt_726KDTBVKSXSWTZNCQWF9KTX8J","name":"Sync Now","listened":true},{"key":"CAL_REMOTE_CHANGED","id":"evt_4JPC77RZJBFS5GZX6622XQ8CYD","name":"Cal Remote Changed","payloadSchema":[{"name":"channelId","type":"string"},{"name":"resourceId","type":"string"},{"name":"resourceState","type":"string"}],"listened":true},{"key":"PUSH_ROWS_LOADED","id":"evt_H30M4SN1XKGYSW6KSGNWMTQYSW","name":"Push Rows Loaded","description":"Target rows with a blank externalEventId marker — the remaining local→remote export queue.","tier":"secondary","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"externalEventId","type":"string"}]}],"listened":true},{"key":"CAL_REMOTE_LISTED","id":"evt_M3KSGVJDSH6WRXKJSKWXRK0MMC","name":"Cal Remote Listed","description":"calendar.listEvents result — the remote change set for the pull-upsert loop.","tier":"secondary","payloadSchema":[{"name":"events","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"summary","type":"string"},{"name":"description","type":"string"},{"name":"location","type":"string"},{"name":"start","type":"string"},{"name":"end","type":"string"},{"name":"status","type":"string"},{"name":"updated","type":"string"}]},{"name":"nextSyncToken","type":"string"}],"listened":true},{"key":"CAL_SYNC_FAILED","id":"evt_FSD25GSMY1TF0XE4513A4AMQ91","name":"Cal Sync Failed","description":"A calendar service call / fetch / persist failed — lastError carries the detail and the cycle stops until the next trigger.","tier":"secondary","payloadSchema":[{"name":"error","type":"string","required":true}]},{"key":"CAL_EVENT_CREATED","id":"evt_0KSC67AD496J4WKJ7VYCX1Z1NJ","name":"Cal Event Created","description":"calendar.createEvent result, flattened onto the payload by the call-service effect executor.","tier":"secondary","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"status","type":"string","required":true},{"name":"htmlLink","type":"string","required":true}],"listened":true},{"key":"PUSH_STEPPED","id":"evt_664ZQJARVKCDSP56NRHWBXNWCR","name":"Push Stepped","description":"Target row stamped with its new externalEventId; drives the next push pass.","tier":"secondary","payloadSchema":[{"name":"id","type":"string","required":true}],"listened":true},{"key":"PULL_TARGET_LOADED","id":"evt_CT8ACCH85ZM2ZVJRW9HN9VD1RE","name":"Pull Target Loaded","description":"CalendarEvent rows loaded for externalEventId matching in the pull-upsert.","tier":"secondary","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string"},{"name":"externalEventId","type":"string"}]}],"listened":true},{"key":"PULL_STEPPED","id":"evt_83ZJ93GVY2DZ1189MRSPGKQ9PG","name":"Pull Stepped","description":"One remote event upserted into the CalendarEvent store; drives the next pull pass.","tier":"secondary","payloadSchema":[{"name":"id","type":"string","required":true}],"listened":true},{"key":"PULL_NEXT","id":"evt_EGZ8T7JZF1FQGNVSDFN58VZXY8","name":"Pull Next","description":"Pull loop control: how many remote events remain in the queue.","tier":"secondary","payloadSchema":[{"name":"remaining","type":"number"}],"listened":true},{"key":"CAL_SYNCED","id":"evt_WSBVHMD8MEMA77ZR0G6A4TZXWE","name":"Cal Synced","description":"A full push+pull cycle completed; wire to std-notify-on-event or a status surface.","payloadSchema":[{"name":"syncedAt","type":"number"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_CME89HTTCKD69GHB5P7J3GP4WM"},{"from":"idle","to":"idle","event":"SYNC_NOW","eventId":"evt_726KDTBVKSXSWTZNCQWF9KTX8J","guard":"@config.enabled","effects":[["fetch","@config.targetEntity",{"emit":{"failure":"CAL_SYNC_FAILED","success":"PUSH_ROWS_LOADED"},"filter":["=",["object/get","@entity","externalEventId"],""]}]]},{"from":"idle","to":"idle","event":"CAL_REMOTE_CHANGED","eventId":"evt_4JPC77RZJBFS5GZX6622XQ8CYD","guard":"@config.enabled","effects":[["call-service","calendar","listEvents",{"calendarId":"@config.calendarId","syncToken":"@entity.syncToken"},{"emit":{"failure":"CAL_SYNC_FAILED","success":"CAL_REMOTE_LISTED"}}]]},{"from":"idle","to":"pushing","event":"PUSH_ROWS_LOADED","eventId":"evt_H30M4SN1XKGYSW6KSGNWMTQYSW","guard":["and","@config.enabled",[">",["array/len","@payload.data"],0]],"effects":[["set","@entity.headId",["object/get",["array/first","@payload.data"],"id"]],["call-service","calendar","createEvent",{"calendarId":"@config.calendarId","summary":["object/get",["array/first","@payload.data"],"@config.titleField"],"description":["if",["=","@config.descriptionField",""],"",["object/get",["array/first","@payload.data"],"@config.descriptionField"]],"location":["if",["=","@config.locationField",""],"",["object/get",["array/first","@payload.data"],"@config.locationField"]],"start":["object/get",["array/first","@payload.data"],"@config.startField"],"end":["if",["=","@config.endField",""],"",["object/get",["array/first","@payload.data"],"@config.endField"]],"durationMinutes":["if",["=","@config.durationField",""],"@config.durationMinutes",["object/get",["array/first","@payload.data"],"@config.durationField"]]},{"emit":{"failure":"CAL_SYNC_FAILED","success":"CAL_EVENT_CREATED"}}]]},{"from":"idle","to":"idle","event":"PUSH_ROWS_LOADED","eventId":"evt_H30M4SN1XKGYSW6KSGNWMTQYSW","guard":["=",["array/len","@payload.data"],0],"effects":[["call-service","calendar","listEvents",{"calendarId":"@config.calendarId","syncToken":"@entity.syncToken"},{"emit":{"failure":"CAL_SYNC_FAILED","success":"CAL_REMOTE_LISTED"}}]]},{"from":"idle","to":"pulling","event":"CAL_REMOTE_LISTED","eventId":"evt_M3KSGVJDSH6WRXKJSKWXRK0MMC","guard":[">",["array/len","@payload.events"],0],"effects":[["set","@entity.pending","@payload.events"],["set","@entity.syncToken",["str/default","@payload.nextSyncToken",""]],["fetch","CalendarEvent",{"emit":{"failure":"CAL_SYNC_FAILED","success":"PULL_TARGET_LOADED"}}]]},{"from":"idle","to":"idle","event":"CAL_REMOTE_LISTED","eventId":"evt_M3KSGVJDSH6WRXKJSKWXRK0MMC","guard":["=",["array/len","@payload.events"],0],"effects":[["set","@entity.syncToken",["str/default","@payload.nextSyncToken",""]],["set","@entity.lastSyncedAt","@now"],["emit","CAL_SYNCED",{"syncedAt":"@entity.lastSyncedAt"}]]},{"from":"idle","to":"idle","event":"CAL_SYNC_FAILED","eventId":"evt_FSD25GSMY1TF0XE4513A4AMQ91","effects":[["set","@entity.lastError","@payload.error"],["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't sync the calendar — ","@payload.error"],"dismissible":true}]]},{"from":"pushing","to":"pushing","event":"CAL_EVENT_CREATED","eventId":"evt_0KSC67AD496J4WKJ7VYCX1Z1NJ","effects":[["persist","update","@config.targetEntity",{"id":"@entity.headId","externalEventId":"@payload.id","syncedAt":"@now"},{"emit":{"failure":"CAL_SYNC_FAILED","success":"PUSH_STEPPED"}}]]},{"from":"pushing","to":"pushing","event":"PUSH_STEPPED","eventId":"evt_664ZQJARVKCDSP56NRHWBXNWCR","effects":[["fetch","@config.targetEntity",{"emit":{"failure":"CAL_SYNC_FAILED","success":"PUSH_ROWS_LOADED"},"filter":["=",["object/get","@entity","externalEventId"],""]}]]},{"from":"pushing","to":"pushing","event":"PUSH_ROWS_LOADED","eventId":"evt_H30M4SN1XKGYSW6KSGNWMTQYSW","guard":[">",["array/len","@payload.data"],0],"effects":[["set","@entity.headId",["object/get",["array/first","@payload.data"],"id"]],["call-service","calendar","createEvent",{"calendarId":"@config.calendarId","summary":["object/get",["array/first","@payload.data"],"@config.titleField"],"description":["if",["=","@config.descriptionField",""],"",["object/get",["array/first","@payload.data"],"@config.descriptionField"]],"location":["if",["=","@config.locationField",""],"",["object/get",["array/first","@payload.data"],"@config.locationField"]],"start":["object/get",["array/first","@payload.data"],"@config.startField"],"end":["if",["=","@config.endField",""],"",["object/get",["array/first","@payload.data"],"@config.endField"]],"durationMinutes":["if",["=","@config.durationField",""],"@config.durationMinutes",["object/get",["array/first","@payload.data"],"@config.durationField"]]},{"emit":{"failure":"CAL_SYNC_FAILED","success":"CAL_EVENT_CREATED"}}]]},{"from":"pushing","to":"idle","event":"PUSH_ROWS_LOADED","eventId":"evt_H30M4SN1XKGYSW6KSGNWMTQYSW","guard":["=",["array/len","@payload.data"],0],"effects":[["call-service","calendar","listEvents",{"calendarId":"@config.calendarId","syncToken":"@entity.syncToken"},{"emit":{"failure":"CAL_SYNC_FAILED","success":"CAL_REMOTE_LISTED"}}]]},{"from":"pushing","to":"idle","event":"CAL_SYNC_FAILED","eventId":"evt_FSD25GSMY1TF0XE4513A4AMQ91","effects":[["set","@entity.lastError","@payload.error"],["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't sync the calendar — ","@payload.error"],"dismissible":true}]]},{"from":"pulling","to":"idle","event":"INIT","eventId":"evt_CME89HTTCKD69GHB5P7J3GP4WM"},{"from":"pulling","to":"pulling","event":"PULL_TARGET_LOADED","eventId":"evt_CT8ACCH85ZM2ZVJRW9HN9VD1RE","effects":[["set","@entity.headId",["object/get",["array/first","@entity.pending"],"id"]],["if",["=",["array/len",["array/filter","@payload.data",["fn","r",["=",["object/get","@r","externalEventId"],"@entity.headId"]]]],0],["persist","create","CalendarEvent",{"title":["object/get",["array/first","@entity.pending"],"summary"],"startsAt":["object/get",["array/first","@entity.pending"],"start"],"endsAt":["object/get",["array/first","@entity.pending"],"end"],"location":["object/get",["array/first","@entity.pending"],"location"],"description":["object/get",["array/first","@entity.pending"],"description"],"status":["object/get",["array/first","@entity.pending"],"status"],"externalEventId":"@entity.headId","syncedAt":"@now"},{"emit":{"failure":"CAL_SYNC_FAILED","success":"PULL_STEPPED"}}],["persist","update","CalendarEvent",{"id":["object/get",["array/first",["array/filter","@payload.data",["fn","r",["=",["object/get","@r","externalEventId"],"@entity.headId"]]]],"id"],"title":["object/get",["array/first","@entity.pending"],"summary"],"startsAt":["object/get",["array/first","@entity.pending"],"start"],"endsAt":["object/get",["array/first","@entity.pending"],"end"],"location":["object/get",["array/first","@entity.pending"],"location"],"description":["object/get",["array/first","@entity.pending"],"description"],"status":["object/get",["array/first","@entity.pending"],"status"],"syncedAt":"@now"},{"emit":{"failure":"CAL_SYNC_FAILED","success":"PULL_STEPPED"}}]]]},{"from":"pulling","to":"pulling","event":"PULL_STEPPED","eventId":"evt_83ZJ93GVY2DZ1189MRSPGKQ9PG","effects":[["set","@entity.pending",["array/drop","@entity.pending",1]],["emit","PULL_NEXT",{"remaining":["array/len","@entity.pending"]}]]},{"from":"pulling","to":"pulling","event":"PULL_NEXT","eventId":"evt_EGZ8T7JZF1FQGNVSDFN58VZXY8","guard":[">","@payload.remaining",0],"effects":[["fetch","CalendarEvent",{"emit":{"failure":"CAL_SYNC_FAILED","success":"PULL_TARGET_LOADED"}}]]},{"from":"pulling","to":"idle","event":"PULL_NEXT","eventId":"evt_EGZ8T7JZF1FQGNVSDFN58VZXY8","guard":["=","@payload.remaining",0],"effects":[["set","@entity.lastSyncedAt","@now"],["emit","CAL_SYNCED",{"syncedAt":"@entity.lastSyncedAt"}]]},{"from":"pulling","to":"idle","event":"CAL_SYNC_FAILED","eventId":"evt_FSD25GSMY1TF0XE4513A4AMQ91","effects":[["set","@entity.lastError","@payload.error"],["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't sync the calendar — ","@payload.error"],"dismissible":true}]]}]},"ticks":[{"name":"syncCycle","interval":"*/15 * * * *","effects":[["fetch","@config.targetEntity",{"emit":{"failure":"CAL_SYNC_FAILED","success":"PUSH_ROWS_LOADED"},"filter":["=",["object/get","@entity","externalEventId"],""]}]],"runsInBackground":true}],"config":{"locationField":{"type":"string","default":"","label":"Location field","description":"Target-entity field holding the location; blank = none.","synonyms":"place field, venue field","tier":"internal"},"calendarId":{"type":"string","default":"","label":"Calendar id","description":"Google calendar to sync with; blank = the service's default (GOOGLE_CALENDAR_ID env, else primary).","synonyms":"google calendar id, target calendar","tier":"infra"},"descriptionField":{"type":"string","default":"","label":"Description field","description":"Target-entity field holding the description/notes; blank = none.","synonyms":"notes field, details field","tier":"internal"},"startField":{"type":"string","default":"startsAt","label":"Start field","description":"Target-entity field holding the ISO start (dateTime, or YYYY-MM-DD for all-day).","synonyms":"start date field, begins field, scheduledAt field","tier":"internal"},"titleField":{"type":"string","default":"title","label":"Title field","description":"Target-entity field holding the event title.","synonyms":"summary field, name field","tier":"internal"},"enabled":{"type":"boolean","default":false,"label":"Sync with Google Calendar","description":"Push local records to Google Calendar and pull remote events into the CalendarEvent store. Off by default; needs the calendar service credentials (GOOGLE_CALENDAR_SA_KEY).","synonyms":"enable, calendar sync, google calendar, two-way sync, sync events, connect calendar","tier":"infra"},"targetEntity":{"type":"entity","default":"CalendarEvent","label":"Entity to push","description":"Event-shaped entity whose rows export to Google Calendar. MUST declare the marker columns `externalEventId : string = \"\"` and `syncedAt : number = 0` (stamped by the push loop). Defaults to the atom's own CalendarEvent store so the standalone validates; rebind per composition.","synonyms":"entity to sync, source entity, record type, appointments entity, sessions entity","tier":"internal","refId":"ent_JN8MWGQZN3ZTHSY34SB25HYY18"},"durationMinutes":{"type":"number","default":60,"label":"Duration (minutes)","description":"Fixed event length used when both `endField` and `durationField` are blank; the calendar service computes the timezone-correct end.","synonyms":"length, event duration, minutes","tier":"internal"},"endField":{"type":"string","default":"endsAt","label":"End field","description":"Target-entity field holding the ISO end. Blank = derive the end from `durationMinutes` instead (the corpus carries all four event shapes).","synonyms":"end date field, finishes field","tier":"internal"},"durationField":{"type":"string","default":"","label":"Duration field","description":"Target-entity field holding the per-row duration in minutes (e.g. ClassSession.durationMinutes). Takes precedence over the fixed `durationMinutes` when set; ignored when `endField` is set. Field precedence: endField > durationField > durationMinutes — the corpus carries all these event shapes.","synonyms":"minutes field, length field, per-row duration","tier":"internal"}},"scope":"instance"}],"pages":[{"name":"CalendarSyncPage","id":"pag_S5X76EXF8PQMBDEQBX9MH1G82P","path":"/calendar-sync","traits":[{"ref":"CalendarSync","refId":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"}]}],"types":{"RemoteEvent":[{"name":"id","type":"string"},{"name":"summary","type":"string"},{"name":"description","type":"string"},{"name":"location","type":"string"},{"name":"start","type":"string"},{"name":"end","type":"string"},{"name":"status","type":"string"},{"name":"updated","type":"string"}],"TargetRow":[{"name":"id","type":"string"},{"name":"externalEventId","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_BBJ8G1E8FM47TEYNDWSN7KDCW3":{"id":"ent_BBJ8G1E8FM47TEYNDWSN7KDCW3","kind":"entity","bakedName":"CalendarSyncRun","curName":"CalendarSyncRun","renames":[],"owner":"workspace"},"ent_JN8MWGQZN3ZTHSY34SB25HYY18":{"id":"ent_JN8MWGQZN3ZTHSY34SB25HYY18","kind":"entity","bakedName":"CalendarEvent","curName":"CalendarEvent","renames":[],"owner":"workspace"},"evt_0KSC67AD496J4WKJ7VYCX1Z1NJ":{"id":"evt_0KSC67AD496J4WKJ7VYCX1Z1NJ","kind":"event","bakedName":"CAL_EVENT_CREATED","curName":"CAL_EVENT_CREATED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_4JPC77RZJBFS5GZX6622XQ8CYD":{"id":"evt_4JPC77RZJBFS5GZX6622XQ8CYD","kind":"event","bakedName":"CAL_REMOTE_CHANGED","curName":"CAL_REMOTE_CHANGED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_664ZQJARVKCDSP56NRHWBXNWCR":{"id":"evt_664ZQJARVKCDSP56NRHWBXNWCR","kind":"event","bakedName":"PUSH_STEPPED","curName":"PUSH_STEPPED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_726KDTBVKSXSWTZNCQWF9KTX8J":{"id":"evt_726KDTBVKSXSWTZNCQWF9KTX8J","kind":"event","bakedName":"SYNC_NOW","curName":"SYNC_NOW","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_83ZJ93GVY2DZ1189MRSPGKQ9PG":{"id":"evt_83ZJ93GVY2DZ1189MRSPGKQ9PG","kind":"event","bakedName":"PULL_STEPPED","curName":"PULL_STEPPED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_CME89HTTCKD69GHB5P7J3GP4WM":{"id":"evt_CME89HTTCKD69GHB5P7J3GP4WM","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_CT8ACCH85ZM2ZVJRW9HN9VD1RE":{"id":"evt_CT8ACCH85ZM2ZVJRW9HN9VD1RE","kind":"event","bakedName":"PULL_TARGET_LOADED","curName":"PULL_TARGET_LOADED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_EGZ8T7JZF1FQGNVSDFN58VZXY8":{"id":"evt_EGZ8T7JZF1FQGNVSDFN58VZXY8","kind":"event","bakedName":"PULL_NEXT","curName":"PULL_NEXT","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_FSD25GSMY1TF0XE4513A4AMQ91":{"id":"evt_FSD25GSMY1TF0XE4513A4AMQ91","kind":"event","bakedName":"CAL_SYNC_FAILED","curName":"CAL_SYNC_FAILED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_H30M4SN1XKGYSW6KSGNWMTQYSW":{"id":"evt_H30M4SN1XKGYSW6KSGNWMTQYSW","kind":"event","bakedName":"PUSH_ROWS_LOADED","curName":"PUSH_ROWS_LOADED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_M3KSGVJDSH6WRXKJSKWXRK0MMC":{"id":"evt_M3KSGVJDSH6WRXKJSKWXRK0MMC","kind":"event","bakedName":"CAL_REMOTE_LISTED","curName":"CAL_REMOTE_LISTED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"evt_WSBVHMD8MEMA77ZR0G6A4TZXWE":{"id":"evt_WSBVHMD8MEMA77ZR0G6A4TZXWE","kind":"event","bakedName":"CAL_SYNCED","curName":"CAL_SYNCED","renames":[],"owner":"workspace","parent":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3"},"orb_JVEDBNWYREFC7E3KBEP6TCV2EM":{"id":"orb_JVEDBNWYREFC7E3KBEP6TCV2EM","kind":"orbital","bakedName":"CalendarSyncOrbital","curName":"CalendarSyncOrbital","renames":[],"owner":"workspace"},"pag_S5X76EXF8PQMBDEQBX9MH1G82P":{"id":"pag_S5X76EXF8PQMBDEQBX9MH1G82P","kind":"page","bakedName":"CalendarSyncPage","curName":"CalendarSyncPage","renames":[],"owner":"workspace"},"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3":{"id":"trt_QGY2WQ2W6YE3FEXV0ZZPPYD0H3","kind":"trait","bakedName":"CalendarSync","curName":"CalendarSync","renames":[],"owner":"workspace"}}}}
@@ -1 +1 @@
1
- {"name":"std-cascade-on-delete","version":"1.1.0","description":"std-cascade-on-delete — relational `owns` cascade. Listens for a parent-deleted sentinel (`ParentDeleted` — rename via traitOverrides.events to the consumer's actual parent-deleted event), then deletes every dependent row whose `foreignKeyField` points at the deleted parent — via a self-driving loop (delete the head of the matching set, re-fetch until none remain). Emits `CascadeRowDeleted` per row and `CascadeCompleted` when done.","orbitals":[{"name":"CascadeOnDeleteOrbital","id":"orb_D4DPZ02Q2TBHDE16QV9SYBXERT","entity":{"name":"CascadeLog","id":"ent_G8T9KK8S9WCMYB133NP70C5R23","collection":"cascade_logs","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"parentId","type":"string","default":"","description":"Identifier of the deleted parent the cascade is clearing dependents for.","synonyms":"parent, source, origin"},{"name":"parentEntity","type":"string","default":"","description":"Identifies the parent entity of the cascade.","synonyms":"related entity, source entity, parent"},{"name":"rowCount","type":"number","default":0,"description":"The number of rows deleted by the cascade.","synonyms":"count, size, quantity"},{"name":"headId","type":"string","default":"","intrinsic":true,"description":"Scratch: id of the dependent row the loop is currently deleting.","synonyms":"current id, cursor"}]},"traits":[{"name":"CascadeOnDeleteGate","id":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH","effectRow":[{"kind":"emit","resource":"CascadeCompleted"},{"kind":"emit","resource":"CascadeRowDeleted"},{"kind":"fetch","resource":"@config.dependentEntity","resolved":false},{"kind":"persist","resource":"@config.dependentEntity","resolved":false},{"kind":"persist","resource":"CascadeLog"},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.headId"},{"kind":"set","resource":"@entity.parentEntity"},{"kind":"set","resource":"@entity.parentId"},{"kind":"set","resource":"@entity.rowCount"}],"category":"lifecycle","capabilities":["cascade-delete"],"linkedEntity":"CascadeLog","linkedEntityId":"ent_G8T9KK8S9WCMYB133NP70C5R23","entityRefIds":{"CascadeLog":"ent_G8T9KK8S9WCMYB133NP70C5R23"},"emits":[{"event":"CascadeRowDeleted","eventId":"evt_2TRR0FFSZMWZTCT83RVF6QGA6K","scope":"external","payloadSchema":[{"name":"id","type":"string"}]},{"event":"CascadeCompleted","eventId":"evt_MSQKCZ3FX0QYG16NGN5WHCX9TK","scope":"external","payloadSchema":[{"name":"parentId","type":"string"}]},{"event":"DepsLoaded","eventId":"evt_1FDRVKGGE7873M4S3T5K5MDV1N","payloadSchema":[{"name":"data","type":"[@entity(dependentEntity)]"}]},{"event":"CascadeStepped","eventId":"evt_YZ8CRKAWS2ECH64R9DJ1MCQ3SZ","payloadSchema":[{"name":"id","type":"string"}]},{"event":"CascadeFailed","eventId":"evt_3A5ES6964YK2FBP47WQZ5BYW80","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"scanning"}],"events":[{"key":"INIT","id":"evt_YNQPSQ84VS2DWTTQ399TA3MXSX","name":"Initialize"},{"key":"ParentDeleted","id":"evt_PA7JTN80A9054RCJCVZYHN4RBY","name":"Parent deleted","payloadSchema":[{"name":"data","type":"@entity(parentEntity)"}],"listened":true},{"key":"DepsLoaded","id":"evt_1FDRVKGGE7873M4S3T5K5MDV1N","name":"Deps loaded","payloadSchema":[{"name":"data","type":"[@entity(dependentEntity)]"}],"listened":true},{"key":"CascadeStepped","id":"evt_YZ8CRKAWS2ECH64R9DJ1MCQ3SZ","name":"Cascade stepped","payloadSchema":[{"name":"id","type":"string"}],"listened":true},{"key":"CascadeFailed","id":"evt_3A5ES6964YK2FBP47WQZ5BYW80","name":"Cascade failed","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"CascadeRowDeleted","id":"evt_2TRR0FFSZMWZTCT83RVF6QGA6K","name":"Cascade row deleted","payloadSchema":[{"name":"id","type":"string"}]},{"key":"CascadeCompleted","id":"evt_MSQKCZ3FX0QYG16NGN5WHCX9TK","name":"Cascade completed","payloadSchema":[{"name":"parentId","type":"string"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_YNQPSQ84VS2DWTTQ399TA3MXSX"},{"from":"idle","to":"scanning","event":"ParentDeleted","eventId":"evt_PA7JTN80A9054RCJCVZYHN4RBY","guard":"@config.enabled","effects":[["set","@entity.parentId","@payload.data.id"],["set","@entity.parentEntity","@config.parentEntity"],["fetch","@config.dependentEntity",{"emit":{"failure":"CascadeFailed","success":"DepsLoaded"}}]]},{"from":"scanning","to":"scanning","event":"DepsLoaded","eventId":"evt_1FDRVKGGE7873M4S3T5K5MDV1N","guard":[">",["array/len",["array/filter","@payload.data",["fn","row",["=",["object/get","@row","@config.foreignKeyField"],"@entity.parentId"]]]],0],"effects":[["set","@entity.headId",["object/get",["array/first",["array/filter","@payload.data",["fn","row",["=",["object/get","@row","@config.foreignKeyField"],"@entity.parentId"]]]],"id"]],["emit","CascadeRowDeleted",{"id":"@entity.headId"}],["persist","delete","@config.dependentEntity","@entity.headId",{"emit":{"failure":"CascadeFailed","success":"CascadeStepped"}}]]},{"from":"scanning","to":"idle","event":"DepsLoaded","eventId":"evt_1FDRVKGGE7873M4S3T5K5MDV1N","guard":["=",["array/len",["array/filter","@payload.data",["fn","row",["=",["object/get","@row","@config.foreignKeyField"],"@entity.parentId"]]]],0],"effects":[["emit","CascadeCompleted",{"parentId":"@entity.parentId"}],["persist","create","CascadeLog",{"parentId":"@entity.parentId","parentEntity":"@entity.parentEntity","rowCount":"@entity.rowCount"}]]},{"from":"scanning","to":"scanning","event":"CascadeStepped","eventId":"evt_YZ8CRKAWS2ECH64R9DJ1MCQ3SZ","effects":[["set","@entity.rowCount",["+","@entity.rowCount",1]],["fetch","@config.dependentEntity",{"emit":{"failure":"CascadeFailed","success":"DepsLoaded"}}]]},{"from":"scanning","to":"idle","event":"CascadeFailed","eventId":"evt_3A5ES6964YK2FBP47WQZ5BYW80","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't cascade the delete — ","@payload.error"],"dismissible":true}]]}]},"config":{"dependentEntity":{"type":"entity","default":"CascadeLog","label":"Dependent entity","description":"Entity holding rows that point at the parent (compose one cascade trait per dependent type). Defaults to the atom's own log so the standalone validates; rebind per composition.","tier":"internal","refId":"ent_G8T9KK8S9WCMYB133NP70C5R23"},"enabled":{"type":"boolean","default":false,"label":"Delete related records too","description":"When a record is deleted, also delete the records that belong to it. Off by default.","synonyms":"enable, turn on, enforce, require, activate, apply, switch on, cascade delete, delete children, on delete cascade, cascade on delete, remove related, soft delete cascade, dependent deletes, integrity cascade","tier":"infra"},"foreignKeyField":{"type":"string","default":"parentId","label":"Foreign-key field","description":"Field on dependent rows that holds the parent's id.","tier":"internal"},"parentEntity":{"type":"entity","default":"","label":"Parent entity","description":"Entity whose deletion triggers the cascade.","tier":"internal"}},"scope":"instance"}],"pages":[{"name":"CascadeOnDeletePage","id":"pag_G5EKSQJ5FJ2QS2ZHRK796G8ZKF","path":"/cascade-on-delete","traits":[{"ref":"CascadeOnDeleteGate","refId":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"}]}]}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_G8T9KK8S9WCMYB133NP70C5R23":{"id":"ent_G8T9KK8S9WCMYB133NP70C5R23","kind":"entity","bakedName":"CascadeLog","curName":"CascadeLog","renames":[],"owner":"workspace"},"evt_1FDRVKGGE7873M4S3T5K5MDV1N":{"id":"evt_1FDRVKGGE7873M4S3T5K5MDV1N","kind":"event","bakedName":"DepsLoaded","curName":"DepsLoaded","renames":[],"owner":"workspace","parent":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"},"evt_2TRR0FFSZMWZTCT83RVF6QGA6K":{"id":"evt_2TRR0FFSZMWZTCT83RVF6QGA6K","kind":"event","bakedName":"CascadeRowDeleted","curName":"CascadeRowDeleted","renames":[],"owner":"workspace","parent":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"},"evt_3A5ES6964YK2FBP47WQZ5BYW80":{"id":"evt_3A5ES6964YK2FBP47WQZ5BYW80","kind":"event","bakedName":"CascadeFailed","curName":"CascadeFailed","renames":[],"owner":"workspace","parent":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"},"evt_MSQKCZ3FX0QYG16NGN5WHCX9TK":{"id":"evt_MSQKCZ3FX0QYG16NGN5WHCX9TK","kind":"event","bakedName":"CascadeCompleted","curName":"CascadeCompleted","renames":[],"owner":"workspace","parent":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"},"evt_PA7JTN80A9054RCJCVZYHN4RBY":{"id":"evt_PA7JTN80A9054RCJCVZYHN4RBY","kind":"event","bakedName":"ParentDeleted","curName":"ParentDeleted","renames":[],"owner":"workspace","parent":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"},"evt_YNQPSQ84VS2DWTTQ399TA3MXSX":{"id":"evt_YNQPSQ84VS2DWTTQ399TA3MXSX","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"},"evt_YZ8CRKAWS2ECH64R9DJ1MCQ3SZ":{"id":"evt_YZ8CRKAWS2ECH64R9DJ1MCQ3SZ","kind":"event","bakedName":"CascadeStepped","curName":"CascadeStepped","renames":[],"owner":"workspace","parent":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"},"orb_D4DPZ02Q2TBHDE16QV9SYBXERT":{"id":"orb_D4DPZ02Q2TBHDE16QV9SYBXERT","kind":"orbital","bakedName":"CascadeOnDeleteOrbital","curName":"CascadeOnDeleteOrbital","renames":[],"owner":"workspace"},"pag_G5EKSQJ5FJ2QS2ZHRK796G8ZKF":{"id":"pag_G5EKSQJ5FJ2QS2ZHRK796G8ZKF","kind":"page","bakedName":"CascadeOnDeletePage","curName":"CascadeOnDeletePage","renames":[],"owner":"workspace"},"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH":{"id":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH","kind":"trait","bakedName":"CascadeOnDeleteGate","curName":"CascadeOnDeleteGate","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-cascade-on-delete","version":"1.1.0","description":"std-cascade-on-delete — relational `owns` cascade. Listens for a parent-deleted sentinel (`ParentDeleted` — rename via traitOverrides.events to the consumer's actual parent-deleted event), then deletes every dependent row whose `foreignKeyField` points at the deleted parent — via a self-driving loop (delete the head of the matching set, re-fetch until none remain). Emits `CascadeRowDeleted` per row and `CascadeCompleted` when done.","orbitals":[{"name":"CascadeOnDeleteOrbital","id":"orb_D4DPZ02Q2TBHDE16QV9SYBXERT","entity":{"name":"CascadeLog","id":"ent_G8T9KK8S9WCMYB133NP70C5R23","collection":"cascade_logs","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"parentId","type":"string","default":"","description":"Identifier of the deleted parent the cascade is clearing dependents for.","synonyms":"parent, source, origin"},{"name":"parentEntity","type":"string","default":"","description":"Identifies the parent entity of the cascade.","synonyms":"related entity, source entity, parent"},{"name":"rowCount","type":"number","default":0,"description":"The number of rows deleted by the cascade.","synonyms":"count, size, quantity"},{"name":"headId","type":"string","default":"","intrinsic":true,"description":"Scratch: id of the dependent row the loop is currently deleting.","synonyms":"current id, cursor"}]},"traits":[{"name":"CascadeOnDeleteGate","id":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH","effectRow":[{"kind":"emit","resource":"CascadeCompleted"},{"kind":"emit","resource":"CascadeRowDeleted"},{"kind":"fetch","resource":"@config.dependentEntity","resolved":false},{"kind":"persist","resource":"@config.dependentEntity","resolved":false},{"kind":"persist","resource":"CascadeLog"},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.headId"},{"kind":"set","resource":"@entity.parentEntity"},{"kind":"set","resource":"@entity.parentId"},{"kind":"set","resource":"@entity.rowCount"}],"category":"lifecycle","capabilities":["cascade-delete"],"linkedEntity":"CascadeLog","linkedEntityId":"ent_G8T9KK8S9WCMYB133NP70C5R23","entityRefIds":{"CascadeLog":"ent_G8T9KK8S9WCMYB133NP70C5R23"},"emits":[{"event":"CascadeRowDeleted","eventId":"evt_2TRR0FFSZMWZTCT83RVF6QGA6K","scope":"external","payloadSchema":[{"name":"id","type":"string"}]},{"event":"CascadeCompleted","eventId":"evt_MSQKCZ3FX0QYG16NGN5WHCX9TK","scope":"external","payloadSchema":[{"name":"parentId","type":"string"}]},{"event":"DepsLoaded","eventId":"evt_1FDRVKGGE7873M4S3T5K5MDV1N","payloadSchema":[{"name":"data","type":"[@entity(dependentEntity)]"}]},{"event":"CascadeStepped","eventId":"evt_YZ8CRKAWS2ECH64R9DJ1MCQ3SZ","payloadSchema":[{"name":"id","type":"string"}]},{"event":"CascadeFailed","eventId":"evt_3A5ES6964YK2FBP47WQZ5BYW80","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"scanning"}],"events":[{"key":"INIT","id":"evt_YNQPSQ84VS2DWTTQ399TA3MXSX","name":"Initialize"},{"key":"ParentDeleted","id":"evt_PA7JTN80A9054RCJCVZYHN4RBY","name":"Parent deleted","payloadSchema":[{"name":"data","type":"@entity(parentEntity)"}],"listened":true},{"key":"DepsLoaded","id":"evt_1FDRVKGGE7873M4S3T5K5MDV1N","name":"Deps loaded","payloadSchema":[{"name":"data","type":"[@entity(dependentEntity)]"}],"listened":true},{"key":"CascadeStepped","id":"evt_YZ8CRKAWS2ECH64R9DJ1MCQ3SZ","name":"Cascade stepped","payloadSchema":[{"name":"id","type":"string"}],"listened":true},{"key":"CascadeFailed","id":"evt_3A5ES6964YK2FBP47WQZ5BYW80","name":"Cascade failed","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"CascadeRowDeleted","id":"evt_2TRR0FFSZMWZTCT83RVF6QGA6K","name":"Cascade row deleted","payloadSchema":[{"name":"id","type":"string"}]},{"key":"CascadeCompleted","id":"evt_MSQKCZ3FX0QYG16NGN5WHCX9TK","name":"Cascade completed","payloadSchema":[{"name":"parentId","type":"string"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_YNQPSQ84VS2DWTTQ399TA3MXSX"},{"from":"idle","to":"scanning","event":"ParentDeleted","eventId":"evt_PA7JTN80A9054RCJCVZYHN4RBY","guard":"@config.enabled","effects":[["set","@entity.parentId","@payload.data.id"],["set","@entity.parentEntity","@config.parentEntity"],["fetch","@config.dependentEntity",{"emit":{"failure":"CascadeFailed","success":"DepsLoaded"}}]]},{"from":"scanning","to":"scanning","event":"DepsLoaded","eventId":"evt_1FDRVKGGE7873M4S3T5K5MDV1N","guard":[">",["array/len",["array/filter","@payload.data",["fn","row",["=",["object/get","@row","@config.foreignKeyField"],"@entity.parentId"]]]],0],"effects":[["set","@entity.headId",["object/get",["array/first",["array/filter","@payload.data",["fn","row",["=",["object/get","@row","@config.foreignKeyField"],"@entity.parentId"]]]],"id"]],["emit","CascadeRowDeleted",{"id":"@entity.headId"}],["persist","delete","@config.dependentEntity","@entity.headId",{"emit":{"failure":"CascadeFailed","success":"CascadeStepped"}}]]},{"from":"scanning","to":"idle","event":"DepsLoaded","eventId":"evt_1FDRVKGGE7873M4S3T5K5MDV1N","guard":["=",["array/len",["array/filter","@payload.data",["fn","row",["=",["object/get","@row","@config.foreignKeyField"],"@entity.parentId"]]]],0],"effects":[["emit","CascadeCompleted",{"parentId":"@entity.parentId"}],["persist","create","CascadeLog",{"parentId":"@entity.parentId","parentEntity":"@entity.parentEntity","rowCount":"@entity.rowCount"}]]},{"from":"scanning","to":"scanning","event":"CascadeStepped","eventId":"evt_YZ8CRKAWS2ECH64R9DJ1MCQ3SZ","effects":[["set","@entity.rowCount",["+","@entity.rowCount",1]],["fetch","@config.dependentEntity",{"emit":{"failure":"CascadeFailed","success":"DepsLoaded"}}]]},{"from":"scanning","to":"idle","event":"CascadeFailed","eventId":"evt_3A5ES6964YK2FBP47WQZ5BYW80","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't cascade the delete — ","@payload.error"],"dismissible":true}]]}]},"config":{"enabled":{"type":"boolean","default":false,"label":"Delete related records too","description":"When a record is deleted, also delete the records that belong to it. Off by default.","synonyms":"enable, turn on, enforce, require, activate, apply, switch on, cascade delete, delete children, on delete cascade, cascade on delete, remove related, soft delete cascade, dependent deletes, integrity cascade","tier":"infra"},"dependentEntity":{"type":"entity","default":"CascadeLog","label":"Dependent entity","description":"Entity holding rows that point at the parent (compose one cascade trait per dependent type). Defaults to the atom's own log so the standalone validates; rebind per composition.","tier":"internal","refId":"ent_G8T9KK8S9WCMYB133NP70C5R23"},"parentEntity":{"type":"entity","default":"","label":"Parent entity","description":"Entity whose deletion triggers the cascade.","tier":"internal"},"foreignKeyField":{"type":"string","default":"parentId","label":"Foreign-key field","description":"Field on dependent rows that holds the parent's id.","tier":"internal"}},"scope":"instance"}],"pages":[{"name":"CascadeOnDeletePage","id":"pag_G5EKSQJ5FJ2QS2ZHRK796G8ZKF","path":"/cascade-on-delete","traits":[{"ref":"CascadeOnDeleteGate","refId":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"}]}]}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_G8T9KK8S9WCMYB133NP70C5R23":{"id":"ent_G8T9KK8S9WCMYB133NP70C5R23","kind":"entity","bakedName":"CascadeLog","curName":"CascadeLog","renames":[],"owner":"workspace"},"evt_1FDRVKGGE7873M4S3T5K5MDV1N":{"id":"evt_1FDRVKGGE7873M4S3T5K5MDV1N","kind":"event","bakedName":"DepsLoaded","curName":"DepsLoaded","renames":[],"owner":"workspace","parent":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"},"evt_2TRR0FFSZMWZTCT83RVF6QGA6K":{"id":"evt_2TRR0FFSZMWZTCT83RVF6QGA6K","kind":"event","bakedName":"CascadeRowDeleted","curName":"CascadeRowDeleted","renames":[],"owner":"workspace","parent":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"},"evt_3A5ES6964YK2FBP47WQZ5BYW80":{"id":"evt_3A5ES6964YK2FBP47WQZ5BYW80","kind":"event","bakedName":"CascadeFailed","curName":"CascadeFailed","renames":[],"owner":"workspace","parent":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"},"evt_MSQKCZ3FX0QYG16NGN5WHCX9TK":{"id":"evt_MSQKCZ3FX0QYG16NGN5WHCX9TK","kind":"event","bakedName":"CascadeCompleted","curName":"CascadeCompleted","renames":[],"owner":"workspace","parent":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"},"evt_PA7JTN80A9054RCJCVZYHN4RBY":{"id":"evt_PA7JTN80A9054RCJCVZYHN4RBY","kind":"event","bakedName":"ParentDeleted","curName":"ParentDeleted","renames":[],"owner":"workspace","parent":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"},"evt_YNQPSQ84VS2DWTTQ399TA3MXSX":{"id":"evt_YNQPSQ84VS2DWTTQ399TA3MXSX","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"},"evt_YZ8CRKAWS2ECH64R9DJ1MCQ3SZ":{"id":"evt_YZ8CRKAWS2ECH64R9DJ1MCQ3SZ","kind":"event","bakedName":"CascadeStepped","curName":"CascadeStepped","renames":[],"owner":"workspace","parent":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH"},"orb_D4DPZ02Q2TBHDE16QV9SYBXERT":{"id":"orb_D4DPZ02Q2TBHDE16QV9SYBXERT","kind":"orbital","bakedName":"CascadeOnDeleteOrbital","curName":"CascadeOnDeleteOrbital","renames":[],"owner":"workspace"},"pag_G5EKSQJ5FJ2QS2ZHRK796G8ZKF":{"id":"pag_G5EKSQJ5FJ2QS2ZHRK796G8ZKF","kind":"page","bakedName":"CascadeOnDeletePage","curName":"CascadeOnDeletePage","renames":[],"owner":"workspace"},"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH":{"id":"trt_7VJZZ2K7WQKYBMFAD5ES6XCKKH","kind":"trait","bakedName":"CascadeOnDeleteGate","curName":"CascadeOnDeleteGate","renames":[],"owner":"workspace"}}}}