@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-migration-job","version":"1.0.0","description":"std-migration-job — one import run of external data into the host system, modeled as a persistent MigrationJob row with a lifecycle state machine: idle → fetching → mapping → reviewing → committing → done | failed. All source access goes through the migration service (call-service \"migration\" listDocuments / fetchDocument / commit) — the atom never talks to a source directly, and the host-injected service handler resolves credentials from the connectionRef knob (a reference, never the secret). Once documents are listed the atom asks the migration service to stage them (call-service \"migration\" stage — the source's stored profile replayed with no commit), whose result arrives as MIGRATION_STAGED with stats and the staged units/skipped/validationErrors rows; a host that stages through an agent may send MIGRATION_STAGED itself — when the rows are supplied, reviewing renders an ImportPreviewTree so the user can see what will commit before approving. The user approves (MIGRATION_APPROVED) and only then does commit run. Terminal runs persist the job row for provenance. Rebind the entity to a host-owned job entity via linkedEntity; target, connectionRef and reviewSlot are config knobs.","orbitals":[{"name":"MigrationJobOrbital","id":"orb_YHM7Q0X7G4KR278KBFASTN31P1","entity":{"name":"MigrationJob","id":"ent_ZTV9S5HBS4NWJ6J5HS07BV53S8","collection":"migration_jobs","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"source","type":"object","default":{},"properties":{"event":{"name":"event","type":"string","required":false},"id":{"name":"id","type":"string","required":true},"kind":{"name":"kind","type":"string","required":true},"label":{"name":"label","type":"string","required":true}},"description":"ImportSource descriptor of the run (kind + options), supplied by the host."},{"name":"files","type":"array","default":[],"items":{"type":"object","properties":{"type":{"name":"type","type":"string","required":false},"lastModified":{"name":"lastModified","type":"number","required":false},"name":{"name":"name","type":"string","required":false},"size":{"name":"size","type":"number","required":false}}},"description":"Client-side file metadata for upload sources (name/size/type/lastModified)."},{"name":"target","type":"string","default":"","description":"Name of the host entity this import writes into."},{"name":"status","type":"string","default":"idle","values":["idle","fetching","mapping","reviewing","committing","done","failed"],"description":"Lifecycle position of the run."},{"name":"documents","type":"array","default":[],"items":{"type":"object","items":{"type":"union","values":["string","number","boolean"],"properties":{"boolean":{"name":"boolean","type":"boolean"},"number":{"name":"number","type":"number"},"string":{"name":"string","type":"string"}}}},"description":"Document metadata listed from the source — migration.listDocuments service result, never destructured by the atom."},{"name":"document","type":"object","default":{},"items":{"type":"union","values":["string","number","boolean"],"properties":{"number":{"name":"number","type":"number"},"boolean":{"name":"boolean","type":"boolean"},"string":{"name":"string","type":"string"}}},"description":"Most recently fetched document content — migration.fetchDocument service result, never destructured by the atom."},{"name":"stats","type":"object","default":{},"properties":{"committed":{"name":"committed","type":"number","required":false},"failed":{"name":"failed","type":"array","required":false,"items":{"type":"object","properties":{"ref":{"name":"ref","type":"string","required":true},"reason":{"name":"reason","type":"string","required":true}}}}},"description":"Staged/committed/failed/skipped counts — merged from host staging and migration.commit service results, never destructured by the atom."},{"name":"units","type":"array","default":[],"items":{"type":"object","properties":{"ref":{"name":"ref","type":"string","required":true},"title":{"name":"title","type":"string","required":false},"parentRef":{"name":"parentRef","type":"string","required":false},"targetEntity":{"name":"targetEntity","type":"string","required":true},"fields":{"name":"fields","type":"object","required":false,"items":{"type":"union","values":["string","number","boolean"],"properties":{"string":{"name":"string","type":"string"},"number":{"name":"number","type":"number"},"boolean":{"name":"boolean","type":"boolean"}}}}}},"description":"Staged ImportUnits ready for review (ref/targetEntity/title/fields/parentRef), when the host stages the full rows rather than aggregate stats only.","synonyms":"staged units, preview rows, import rows, staged rows"},{"name":"skipped","type":"array","default":[],"items":{"type":"object","properties":{"reason":{"name":"reason","type":"string","required":true},"ref":{"name":"ref","type":"string","required":true}}},"description":"Source elements skipped during staging with a reason each, when the host stages the full rows rather than aggregate stats only.","synonyms":"skipped rows, skipped elements, staging skips"},{"name":"validationErrors","type":"array","default":[],"items":{"type":"object","properties":{"ref":{"name":"ref","type":"string","required":true},"code":{"name":"code","type":"string","required":true},"message":{"name":"message","type":"string","required":true},"field":{"name":"field","type":"string","required":false}}},"description":"Validation errors surfaced during staging, when the host stages the full rows rather than aggregate stats only.","synonyms":"staging errors, validation issues, import errors"},{"name":"error","type":"string","default":"","description":"Failure detail when status is failed."},{"name":"createdAt","type":"number","default":0,"description":"Run start timestamp."}]},"traits":[{"name":"MigrationJobLifecycle","id":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX","entityRebindable":true,"entityContract":{"requires":[],"provides":["document","documents","error","files","skipped","source","stats","status","target","units","validationErrors"]},"effectRow":[{"kind":"call-service","resource":"migration.commit"},{"kind":"call-service","resource":"migration.fetchDocument"},{"kind":"call-service","resource":"migration.listDocuments"},{"kind":"call-service","resource":"migration.stage"},{"kind":"emit","resource":"MIGRATION_COMPLETED"},{"kind":"emit","resource":"MIGRATION_DOCUMENT"},{"kind":"emit","resource":"MIGRATION_FAILED"},{"kind":"emit","resource":"MIGRATION_FETCHED"},{"kind":"emit","resource":"MIGRATION_REVIEW_READY"},{"kind":"persist","resource":"MigrationJob"},{"kind":"render-ui","resource":"@config.reviewSlot","resolved":false},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.createdAt"},{"kind":"set","resource":"@entity.document"},{"kind":"set","resource":"@entity.documents"},{"kind":"set","resource":"@entity.error"},{"kind":"set","resource":"@entity.files"},{"kind":"set","resource":"@entity.skipped"},{"kind":"set","resource":"@entity.source"},{"kind":"set","resource":"@entity.stats"},{"kind":"set","resource":"@entity.status"},{"kind":"set","resource":"@entity.target"},{"kind":"set","resource":"@entity.units"},{"kind":"set","resource":"@entity.validationErrors"}],"category":"lifecycle","linkedEntity":"MigrationJob","linkedEntityId":"ent_ZTV9S5HBS4NWJ6J5HS07BV53S8","entityRefIds":{"MigrationJob":"ent_ZTV9S5HBS4NWJ6J5HS07BV53S8"},"emits":[{"event":"DOCUMENTS_LISTED","eventId":"evt_E8ZTXDHHMART55BGBMVD1HHC1R","description":"migration.listDocuments service result, flattened onto the payload by the call-service effect executor","tier":"secondary","payloadSchema":[{"name":"documents","type":"[Map<string,ImportFieldValue>]","required":true}]},{"event":"MIGRATION_STAGED","eventId":"evt_ZJH5A8HR97W4KTVB6S5ER6TMGE","description":"migration.stage service result, flattened onto the payload by the call-service effect executor","tier":"secondary","payloadSchema":[{"name":"stats","type":"object","required":true,"properties":[{"name":"committed","type":"number"},{"name":"failed","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]}]},{"name":"units","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"targetEntity","type":"string","required":true},{"name":"title","type":"string"},{"name":"fields","type":"Map<string,ImportFieldValue>"},{"name":"parentRef","type":"string"}],"entity":"ImportUnit"},{"name":"skipped","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}],"entity":"ImportSkip"},{"name":"validationErrors","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"code","type":"string","required":true},{"name":"field","type":"string"},{"name":"message","type":"string","required":true}],"entity":"ImportValidationError"}]},{"event":"DOCUMENT_FETCHED","eventId":"evt_2FCF3B3CTJPD9CT7YZ0VXEWM73","description":"migration.fetchDocument service result, flattened onto the payload by the call-service effect executor","tier":"secondary","payloadSchema":[{"name":"document","type":"Map<string,ImportFieldValue>","required":true}]},{"event":"COMMITTED","eventId":"evt_2NPAZXMSBBCNNQBPEMEAYESKQC","description":"migration.commit service result — committed count plus per-unit failures","tier":"secondary","payloadSchema":[{"name":"committed","type":"number","required":true},{"name":"failed","type":"[object]","required":true,"properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}],"entity":"ImportFailure"}]},{"event":"MIGRATION_CALL_FAILED","eventId":"evt_109MF8NFERQQCFXGDNFN18HBD8","description":"migration service call failure signal — lands the run in failed, never a silent swallow","tier":"secondary","payloadSchema":[{"name":"error","type":"string","required":true}]},{"event":"MIGRATION_FETCHED","eventId":"evt_DCGX4Z97TGKX85RS87PBSKNRQH","description":"Source documents are listed and the run is ready for staging (deterministic pipeline or agent)","synonyms":"import fetched, source listed, documents ready","tier":"domain","scope":"external","payloadSchema":[{"name":"documents","type":"[Map<string,ImportFieldValue>]","required":true}]},{"event":"MIGRATION_DOCUMENT","eventId":"evt_VWR68FJ7B13NGQTCAMRBMNCFY7","description":"A single fetched document's content, for the host staging layer to map into target units","synonyms":"document loaded, content fetched","tier":"domain","scope":"external","payloadSchema":[{"name":"document","type":"Map<string,ImportFieldValue>","required":true}]},{"event":"MIGRATION_REVIEW_READY","eventId":"evt_TMRWKEMQV3BXHRZT8B3D5TGGES","description":"Staging is complete; the preview is ready for the approval gate. units/skipped/validationErrors forward the full staged rows when the host staged them, for a review-before-commit UI; stats-only hosts leave them empty.","synonyms":"preview ready, staging complete, review import","tier":"domain","scope":"external","payloadSchema":[{"name":"stats","type":"object","required":true,"properties":[{"name":"committed","type":"number"},{"name":"failed","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]}]},{"name":"units","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"targetEntity","type":"string","required":true},{"name":"title","type":"string"},{"name":"fields","type":"Map<string,ImportFieldValue>"},{"name":"parentRef","type":"string"}],"entity":"ImportUnit"},{"name":"skipped","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}],"entity":"ImportSkip"},{"name":"validationErrors","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"code","type":"string","required":true},{"name":"field","type":"string"},{"name":"message","type":"string","required":true}],"entity":"ImportValidationError"}]},{"event":"MIGRATION_COMPLETED","eventId":"evt_25QFYKWEXC7EPEKFVDJ2ECBQDH","description":"The commit drained through the host sink; stats carry committed and per-unit failed counts","synonyms":"import done, migration complete, data imported","tier":"domain","scope":"external","payloadSchema":[{"name":"stats","type":"object","required":true,"properties":[{"name":"committed","type":"number"},{"name":"failed","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]}]}]},{"event":"MIGRATION_FAILED","eventId":"evt_9WFY8JM7VS3XWP6NVXNAV1ETAZ","description":"The run failed; error carries the service-reported detail and the terminal job row was persisted","synonyms":"import failed, migration error","tier":"domain","scope":"external","payloadSchema":[{"name":"error","type":"string","required":true}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"fetching"},{"name":"mapping"},{"name":"reviewing"},{"name":"committing"},{"name":"done"},{"name":"failed"}],"events":[{"key":"INIT","id":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","name":"Initialize"},{"key":"MIGRATION_START","id":"evt_5169WSGD6P6KB8P2P5GFM2AYD6","name":"Migration Start","description":"Starts an import run. source is the ImportSource descriptor; files carries client file metadata for upload sources. Also reached via a sibling std-import's IMPORT_REQUESTED.","synonyms":"start import, run migration, import data","tier":"domain","payloadSchema":[{"name":"source","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string","required":true},{"name":"label","type":"string","required":true},{"name":"event","type":"string"}]},{"name":"files","type":"[object]","properties":[{"name":"name","type":"string"},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}]}],"listened":true},{"key":"DOCUMENTS_LISTED","id":"evt_E8ZTXDHHMART55BGBMVD1HHC1R","name":"Documents Listed","description":"migration.listDocuments service result, flattened onto the payload by the call-service effect executor","tier":"secondary","payloadSchema":[{"name":"documents","type":"[Map<string,ImportFieldValue>]","required":true}]},{"key":"MIGRATION_FETCHED","id":"evt_DCGX4Z97TGKX85RS87PBSKNRQH","name":"Migration Fetched","description":"Source documents are listed and the run is ready for staging (deterministic pipeline or agent)","synonyms":"import fetched, source listed, documents ready","tier":"domain","payloadSchema":[{"name":"documents","type":"[Map<string,ImportFieldValue>]","required":true}]},{"key":"MIGRATION_DOCUMENT","id":"evt_VWR68FJ7B13NGQTCAMRBMNCFY7","name":"Migration Document","description":"A single fetched document's content, for the host staging layer to map into target units","synonyms":"document loaded, content fetched","tier":"domain","payloadSchema":[{"name":"document","type":"Map<string,ImportFieldValue>","required":true}]},{"key":"MIGRATION_CALL_FAILED","id":"evt_109MF8NFERQQCFXGDNFN18HBD8","name":"Migration Call Failed","description":"migration service call failure signal — lands the run in failed, never a silent swallow","tier":"secondary","payloadSchema":[{"name":"error","type":"string","required":true}]},{"key":"FETCH_DOCUMENT","id":"evt_M9GXG9H76RKKC4WQYJGR43P191","name":"Fetch Document","description":"Fetch one document's full content from the source during staging","tier":"internal","payloadSchema":[{"name":"documentId","type":"string","required":true}],"listened":true},{"key":"DOCUMENT_FETCHED","id":"evt_2FCF3B3CTJPD9CT7YZ0VXEWM73","name":"Document Fetched","description":"migration.fetchDocument service result, flattened onto the payload by the call-service effect executor","tier":"secondary","payloadSchema":[{"name":"document","type":"Map<string,ImportFieldValue>","required":true}]},{"key":"MIGRATION_STAGED","id":"evt_ZJH5A8HR97W4KTVB6S5ER6TMGE","name":"Migration Staged","description":"migration.stage service result, flattened onto the payload by the call-service effect executor","tier":"secondary","payloadSchema":[{"name":"stats","type":"object","required":true,"properties":[{"name":"committed","type":"number"},{"name":"failed","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]}]},{"name":"units","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"targetEntity","type":"string","required":true},{"name":"title","type":"string"},{"name":"fields","type":"Map<string,ImportFieldValue>"},{"name":"parentRef","type":"string"}]},{"name":"skipped","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]},{"name":"validationErrors","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"code","type":"string","required":true},{"name":"field","type":"string"},{"name":"message","type":"string","required":true}]}],"listened":true},{"key":"MIGRATION_DISCARDED","id":"evt_N3MNS57B17NGKMP11EARGGNB12","name":"Migration Discarded","description":"The run was discarded before commit","tier":"internal","listened":true},{"key":"MIGRATION_APPROVED","id":"evt_74P8YD3SPXWVEMGRKHEQ4ATSDW","name":"Migration Approved","description":"The user approved the preview; units are the staged ImportUnits to commit through the host sink. Optional — the ImportPreviewTree's onConfirm fires with no payload, so commit falls back to the units already staged on the entity via MIGRATION_STAGED.","synonyms":"approve import, confirm migration","tier":"domain","payloadSchema":[{"name":"units","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"targetEntity","type":"string","required":true},{"name":"title","type":"string"},{"name":"fields","type":"Map<string,ImportFieldValue>"},{"name":"parentRef","type":"string"}]}],"listened":true},{"key":"MIGRATION_REJECTED","id":"evt_B5V527AY5WF2YA5PAV4NS9MP45","name":"Migration Rejected","description":"The user sent the preview back for more staging","tier":"internal","listened":true},{"key":"MIGRATION_REVIEW_READY","id":"evt_TMRWKEMQV3BXHRZT8B3D5TGGES","name":"Migration Review Ready","description":"Staging is complete; the preview is ready for the approval gate. units/skipped/validationErrors forward the full staged rows when the host staged them, for a review-before-commit UI; stats-only hosts leave them empty.","synonyms":"preview ready, staging complete, review import","tier":"domain","payloadSchema":[{"name":"stats","type":"object","required":true,"properties":[{"name":"committed","type":"number"},{"name":"failed","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]}]},{"name":"units","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"targetEntity","type":"string","required":true},{"name":"title","type":"string"},{"name":"fields","type":"Map<string,ImportFieldValue>"},{"name":"parentRef","type":"string"}],"entity":"ImportUnit"},{"name":"skipped","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}],"entity":"ImportSkip"},{"name":"validationErrors","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"code","type":"string","required":true},{"name":"field","type":"string"},{"name":"message","type":"string","required":true}],"entity":"ImportValidationError"}]},{"key":"CLOSE","id":"evt_J0D5J11FZ3QZHPWX62QTG0S4HF","name":"Close"},{"key":"COMMITTED","id":"evt_2NPAZXMSBBCNNQBPEMEAYESKQC","name":"Committed","description":"migration.commit service result — committed count plus per-unit failures","tier":"secondary","payloadSchema":[{"name":"committed","type":"number","required":true},{"name":"failed","type":"[object]","required":true,"properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}],"entity":"ImportFailure"}]},{"key":"RESET","id":"evt_9A4KXVJK0C9G6BHVR09MNTJJ2Q","name":"Reset","description":"Returns the job to idle from a terminal state","tier":"internal","listened":true},{"key":"MIGRATION_COMPLETED","id":"evt_25QFYKWEXC7EPEKFVDJ2ECBQDH","name":"Migration Completed","description":"The commit drained through the host sink; stats carry committed and per-unit failed counts","synonyms":"import done, migration complete, data imported","tier":"domain","payloadSchema":[{"name":"stats","type":"object","required":true,"properties":[{"name":"committed","type":"number"},{"name":"failed","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]}]}]},{"key":"MIGRATION_RETRY","id":"evt_WQBN6VY57H2KRW5T092WWFYQGP","name":"Migration Retry","description":"Re-runs the fetch after a failure, with the same source","tier":"internal","listened":true},{"key":"MIGRATION_FAILED","id":"evt_9WFY8JM7VS3XWP6NVXNAV1ETAZ","name":"Migration Failed","description":"The run failed; error carries the service-reported detail and the terminal job row was persisted","synonyms":"import failed, migration error","tier":"domain","payloadSchema":[{"name":"error","type":"string","required":true}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"idle","to":"fetching","event":"MIGRATION_START","eventId":"evt_5169WSGD6P6KB8P2P5GFM2AYD6","effects":[["set","@entity.source","@payload.source"],["set","@entity.files","@payload.files"],["set","@entity.target","@config.target"],["set","@entity.status","fetching"],["set","@entity.createdAt",["time/now"]],["call-service","migration","listDocuments",{"connectionRef":"@config.connectionRef","files":"@entity.files","source":"@entity.source"},{"emit":{"success":"DOCUMENTS_LISTED","failure":"MIGRATION_CALL_FAILED"}}]]},{"from":"fetching","to":"idle","event":"INIT","eventId":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"fetching","to":"mapping","event":"DOCUMENTS_LISTED","eventId":"evt_E8ZTXDHHMART55BGBMVD1HHC1R","effects":[["set","@entity.documents","@payload.documents"],["set","@entity.status","mapping"],["emit","MIGRATION_FETCHED",{"documents":"@entity.documents"}],["call-service","migration","stage",{"connectionRef":"@config.connectionRef","documents":"@entity.documents","source":"@entity.source"},{"emit":{"success":"MIGRATION_STAGED","failure":"MIGRATION_CALL_FAILED"}}]]},{"from":"fetching","to":"mapping","event":"MIGRATION_FETCHED","eventId":"evt_DCGX4Z97TGKX85RS87PBSKNRQH"},{"from":"fetching","to":"mapping","event":"MIGRATION_DOCUMENT","eventId":"evt_VWR68FJ7B13NGQTCAMRBMNCFY7"},{"from":"fetching","to":"failed","event":"MIGRATION_CALL_FAILED","eventId":"evt_109MF8NFERQQCFXGDNFN18HBD8","effects":[["set","@entity.error","@payload.error"],["set","@entity.status","failed"],["persist","create","MigrationJob",{"createdAt":"@entity.createdAt","error":"@entity.error","source":"@entity.source","stats":"@entity.stats","status":"@entity.status","target":"@entity.target"}],["emit","MIGRATION_FAILED",{"error":"@entity.error"}],["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't list the source documents — ","@payload.error"],"dismissible":true}]]},{"from":"mapping","to":"idle","event":"INIT","eventId":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"mapping","to":"mapping","event":"FETCH_DOCUMENT","eventId":"evt_M9GXG9H76RKKC4WQYJGR43P191","effects":[["call-service","migration","fetchDocument",{"connectionRef":"@config.connectionRef","documentId":"@payload.documentId","source":"@entity.source"},{"emit":{"success":"DOCUMENT_FETCHED","failure":"MIGRATION_CALL_FAILED"}}]]},{"from":"mapping","to":"mapping","event":"DOCUMENT_FETCHED","eventId":"evt_2FCF3B3CTJPD9CT7YZ0VXEWM73","effects":[["set","@entity.document","@payload.document"],["emit","MIGRATION_DOCUMENT",{"document":"@entity.document"}]]},{"from":"mapping","to":"reviewing","event":"MIGRATION_STAGED","eventId":"evt_ZJH5A8HR97W4KTVB6S5ER6TMGE","effects":[["set","@entity.stats","@payload.stats"],["set","@entity.units",["or","@payload.units",[]]],["set","@entity.skipped",["or","@payload.skipped",[]]],["set","@entity.validationErrors",["or","@payload.validationErrors",[]]],["set","@entity.status","reviewing"],["render-ui","@config.reviewSlot",{"cancelLabel":"Discard","confirmLabel":"Approve import","entityDisplay":{},"onCancel":"MIGRATION_DISCARDED","onConfirm":"MIGRATION_APPROVED","skipped":"@entity.skipped","type":"import-preview-tree","units":"@entity.units"}],["emit","MIGRATION_REVIEW_READY",{"stats":"@entity.stats","units":"@entity.units","skipped":"@entity.skipped","validationErrors":"@entity.validationErrors"}]]},{"from":"mapping","to":"idle","event":"MIGRATION_DISCARDED","eventId":"evt_N3MNS57B17NGKMP11EARGGNB12","effects":[["set","@entity.status","idle"],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"mapping","to":"failed","event":"MIGRATION_CALL_FAILED","eventId":"evt_109MF8NFERQQCFXGDNFN18HBD8","effects":[["set","@entity.error","@payload.error"],["set","@entity.status","failed"],["persist","create","MigrationJob",{"createdAt":"@entity.createdAt","error":"@entity.error","source":"@entity.source","stats":"@entity.stats","status":"@entity.status","target":"@entity.target"}],["emit","MIGRATION_FAILED",{"error":"@entity.error"}],["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't fetch the document — ","@payload.error"],"dismissible":true}]]},{"from":"reviewing","to":"idle","event":"INIT","eventId":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","effects":[["render-ui","@config.reviewSlot",null],["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"reviewing","to":"committing","event":"MIGRATION_APPROVED","eventId":"evt_74P8YD3SPXWVEMGRKHEQ4ATSDW","effects":[["set","@entity.status","committing"],["render-ui","@config.reviewSlot",null],["call-service","migration","commit",{"jobId":"@entity.id","units":["or","@payload.units","@entity.units"]},{"emit":{"success":"COMMITTED","failure":"MIGRATION_CALL_FAILED"}}]]},{"from":"reviewing","to":"mapping","event":"MIGRATION_REJECTED","eventId":"evt_B5V527AY5WF2YA5PAV4NS9MP45","effects":[["set","@entity.status","mapping"],["render-ui","@config.reviewSlot",null]]},{"from":"reviewing","to":"reviewing","event":"MIGRATION_REVIEW_READY","eventId":"evt_TMRWKEMQV3BXHRZT8B3D5TGGES"},{"from":"reviewing","to":"idle","event":"MIGRATION_DISCARDED","eventId":"evt_N3MNS57B17NGKMP11EARGGNB12","effects":[["set","@entity.status","idle"],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]],["render-ui","@config.reviewSlot",null]]},{"from":"reviewing","to":"idle","event":"CLOSE","eventId":"evt_J0D5J11FZ3QZHPWX62QTG0S4HF","effects":[["set","@entity.status","idle"],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]],["render-ui","@config.reviewSlot",null]]},{"from":"committing","to":"idle","event":"INIT","eventId":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"committing","to":"done","event":"COMMITTED","eventId":"evt_2NPAZXMSBBCNNQBPEMEAYESKQC","effects":[["set","@entity.stats",["object/merge","@entity.stats",{"committed":"@payload.committed","failed":"@payload.failed"}]],["set","@entity.status","done"],["persist","create","MigrationJob",{"createdAt":"@entity.createdAt","error":"","source":"@entity.source","stats":"@entity.stats","status":"@entity.status","target":"@entity.target"}],["emit","MIGRATION_COMPLETED",{"stats":"@entity.stats"}]]},{"from":"committing","to":"failed","event":"MIGRATION_CALL_FAILED","eventId":"evt_109MF8NFERQQCFXGDNFN18HBD8","effects":[["set","@entity.error","@payload.error"],["set","@entity.status","failed"],["persist","create","MigrationJob",{"createdAt":"@entity.createdAt","error":"@entity.error","source":"@entity.source","stats":"@entity.stats","status":"@entity.status","target":"@entity.target"}],["emit","MIGRATION_FAILED",{"error":"@entity.error"}],["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't commit the import — ","@payload.error"],"dismissible":true}]]},{"from":"done","to":"idle","event":"INIT","eventId":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"done","to":"idle","event":"RESET","eventId":"evt_9A4KXVJK0C9G6BHVR09MNTJJ2Q","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"done","to":"done","event":"MIGRATION_COMPLETED","eventId":"evt_25QFYKWEXC7EPEKFVDJ2ECBQDH"},{"from":"failed","to":"idle","event":"INIT","eventId":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"failed","to":"fetching","event":"MIGRATION_RETRY","eventId":"evt_WQBN6VY57H2KRW5T092WWFYQGP","effects":[["set","@entity.status","fetching"],["set","@entity.error",""],["call-service","migration","listDocuments",{"connectionRef":"@config.connectionRef","files":"@entity.files","source":"@entity.source"},{"emit":{"success":"DOCUMENTS_LISTED","failure":"MIGRATION_CALL_FAILED"}}]]},{"from":"failed","to":"idle","event":"RESET","eventId":"evt_9A4KXVJK0C9G6BHVR09MNTJJ2Q","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"failed","to":"failed","event":"MIGRATION_FAILED","eventId":"evt_9WFY8JM7VS3XWP6NVXNAV1ETAZ"}]},"config":{"target":{"type":"string","default":"","label":"Target entity","description":"Name of the host entity this import writes into (e.g. the organism's own entity). The migration service derives the full target descriptor from the running app's schema.","synonyms":"destination, import into, target type","tier":"domain"},"connectionRef":{"type":"secret","default":"","label":"Connection reference","description":"Secret-store / environment KEY holding the source credentials. The reference is stored; the secret itself never enters config, traces, or snapshots — the migration service resolves it at run time. (Typed `secret` — the config-field type that marks a credential reference; UI password-renders it and traces mask it.)","synonyms":"credential key, connection string reference, secret name","tier":"internal"},"reviewSlot":{"type":"slot","default":"modal","label":"Review slot","description":"UI slot the staged-import review renders into when the host stages the full units/skipped rows (not stats-only). Defaults to the modal overlay so a host that never places this trait on a page — or that only ever sends {stats} — stays effectively headless; the rendered tree's confirm/cancel wire to the atom's own MIGRATION_APPROVED/MIGRATION_DISCARDED events.","synonyms":"preview slot, review outlet, staging modal, import review slot","tier":"internal"}},"scope":"instance"}],"pages":[{"name":"MigrationJobPage","id":"pag_JEQWRXE3541JJ3NT7S070S7K9N","path":"/migration-job","traits":[{"ref":"MigrationJobLifecycle","refId":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"}]}],"types":{"ImportFailure":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}],"ImportFieldValue":[{"name":"","type":"union","properties":[{"name":"string","type":"string"},{"name":"number","type":"number"},{"name":"boolean","type":"boolean"}]}],"ImportSkip":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}],"ImportSourceOption":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string","required":true},{"name":"label","type":"string","required":true},{"name":"event","type":"string"}],"ImportUnit":[{"name":"ref","type":"string","required":true},{"name":"targetEntity","type":"string","required":true},{"name":"title","type":"string"},{"name":"fields","type":"Map<string,ImportFieldValue>"},{"name":"parentRef","type":"string"}],"ImportValidationError":[{"name":"ref","type":"string","required":true},{"name":"code","type":"string","required":true},{"name":"field","type":"string"},{"name":"message","type":"string","required":true}],"MigrationFile":[{"name":"name","type":"string"},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}],"MigrationStats":[{"name":"committed","type":"number"},{"name":"failed","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_ZTV9S5HBS4NWJ6J5HS07BV53S8":{"id":"ent_ZTV9S5HBS4NWJ6J5HS07BV53S8","kind":"entity","bakedName":"MigrationJob","curName":"MigrationJob","renames":[],"owner":"workspace"},"evt_109MF8NFERQQCFXGDNFN18HBD8":{"id":"evt_109MF8NFERQQCFXGDNFN18HBD8","kind":"event","bakedName":"MIGRATION_CALL_FAILED","curName":"MIGRATION_CALL_FAILED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_25QFYKWEXC7EPEKFVDJ2ECBQDH":{"id":"evt_25QFYKWEXC7EPEKFVDJ2ECBQDH","kind":"event","bakedName":"MIGRATION_COMPLETED","curName":"MIGRATION_COMPLETED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_2FCF3B3CTJPD9CT7YZ0VXEWM73":{"id":"evt_2FCF3B3CTJPD9CT7YZ0VXEWM73","kind":"event","bakedName":"DOCUMENT_FETCHED","curName":"DOCUMENT_FETCHED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_2NPAZXMSBBCNNQBPEMEAYESKQC":{"id":"evt_2NPAZXMSBBCNNQBPEMEAYESKQC","kind":"event","bakedName":"COMMITTED","curName":"COMMITTED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_5169WSGD6P6KB8P2P5GFM2AYD6":{"id":"evt_5169WSGD6P6KB8P2P5GFM2AYD6","kind":"event","bakedName":"MIGRATION_START","curName":"MIGRATION_START","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_6046B9ZP0NV0ATCNVCYFA2EXRS":{"id":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_74P8YD3SPXWVEMGRKHEQ4ATSDW":{"id":"evt_74P8YD3SPXWVEMGRKHEQ4ATSDW","kind":"event","bakedName":"MIGRATION_APPROVED","curName":"MIGRATION_APPROVED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_9A4KXVJK0C9G6BHVR09MNTJJ2Q":{"id":"evt_9A4KXVJK0C9G6BHVR09MNTJJ2Q","kind":"event","bakedName":"RESET","curName":"RESET","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_9WFY8JM7VS3XWP6NVXNAV1ETAZ":{"id":"evt_9WFY8JM7VS3XWP6NVXNAV1ETAZ","kind":"event","bakedName":"MIGRATION_FAILED","curName":"MIGRATION_FAILED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_B5V527AY5WF2YA5PAV4NS9MP45":{"id":"evt_B5V527AY5WF2YA5PAV4NS9MP45","kind":"event","bakedName":"MIGRATION_REJECTED","curName":"MIGRATION_REJECTED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_DCGX4Z97TGKX85RS87PBSKNRQH":{"id":"evt_DCGX4Z97TGKX85RS87PBSKNRQH","kind":"event","bakedName":"MIGRATION_FETCHED","curName":"MIGRATION_FETCHED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_E8ZTXDHHMART55BGBMVD1HHC1R":{"id":"evt_E8ZTXDHHMART55BGBMVD1HHC1R","kind":"event","bakedName":"DOCUMENTS_LISTED","curName":"DOCUMENTS_LISTED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_J0D5J11FZ3QZHPWX62QTG0S4HF":{"id":"evt_J0D5J11FZ3QZHPWX62QTG0S4HF","kind":"event","bakedName":"CLOSE","curName":"CLOSE","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_M9GXG9H76RKKC4WQYJGR43P191":{"id":"evt_M9GXG9H76RKKC4WQYJGR43P191","kind":"event","bakedName":"FETCH_DOCUMENT","curName":"FETCH_DOCUMENT","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_N3MNS57B17NGKMP11EARGGNB12":{"id":"evt_N3MNS57B17NGKMP11EARGGNB12","kind":"event","bakedName":"MIGRATION_DISCARDED","curName":"MIGRATION_DISCARDED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_TMRWKEMQV3BXHRZT8B3D5TGGES":{"id":"evt_TMRWKEMQV3BXHRZT8B3D5TGGES","kind":"event","bakedName":"MIGRATION_REVIEW_READY","curName":"MIGRATION_REVIEW_READY","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_VWR68FJ7B13NGQTCAMRBMNCFY7":{"id":"evt_VWR68FJ7B13NGQTCAMRBMNCFY7","kind":"event","bakedName":"MIGRATION_DOCUMENT","curName":"MIGRATION_DOCUMENT","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_WQBN6VY57H2KRW5T092WWFYQGP":{"id":"evt_WQBN6VY57H2KRW5T092WWFYQGP","kind":"event","bakedName":"MIGRATION_RETRY","curName":"MIGRATION_RETRY","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_ZJH5A8HR97W4KTVB6S5ER6TMGE":{"id":"evt_ZJH5A8HR97W4KTVB6S5ER6TMGE","kind":"event","bakedName":"MIGRATION_STAGED","curName":"MIGRATION_STAGED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"orb_YHM7Q0X7G4KR278KBFASTN31P1":{"id":"orb_YHM7Q0X7G4KR278KBFASTN31P1","kind":"orbital","bakedName":"MigrationJobOrbital","curName":"MigrationJobOrbital","renames":[],"owner":"workspace"},"pag_JEQWRXE3541JJ3NT7S070S7K9N":{"id":"pag_JEQWRXE3541JJ3NT7S070S7K9N","kind":"page","bakedName":"MigrationJobPage","curName":"MigrationJobPage","renames":[],"owner":"workspace"},"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX":{"id":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX","kind":"trait","bakedName":"MigrationJobLifecycle","curName":"MigrationJobLifecycle","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-migration-job","version":"1.0.0","description":"std-migration-job — one import run of external data into the host system, modeled as a persistent MigrationJob row with a lifecycle state machine: idle → fetching → mapping → reviewing → committing → done | failed. All source access goes through the migration service (call-service \"migration\" listDocuments / fetchDocument / commit) — the atom never talks to a source directly, and the host-injected service handler resolves credentials from the connectionRef knob (a reference, never the secret). Once documents are listed the atom asks the migration service to stage them (call-service \"migration\" stage — the source's stored profile replayed with no commit), whose result arrives as MIGRATION_STAGED with stats and the staged units/skipped/validationErrors rows; a host that stages through an agent may send MIGRATION_STAGED itself — when the rows are supplied, reviewing renders an ImportPreviewTree so the user can see what will commit before approving. The user approves (MIGRATION_APPROVED) and only then does commit run. Terminal runs persist the job row for provenance. Rebind the entity to a host-owned job entity via linkedEntity; target, connectionRef and reviewSlot are config knobs.","orbitals":[{"name":"MigrationJobOrbital","id":"orb_YHM7Q0X7G4KR278KBFASTN31P1","entity":{"name":"MigrationJob","id":"ent_ZTV9S5HBS4NWJ6J5HS07BV53S8","collection":"migration_jobs","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"source","type":"object","default":{},"properties":{"kind":{"name":"kind","type":"string","required":true},"label":{"name":"label","type":"string","required":true},"id":{"name":"id","type":"string","required":true},"event":{"name":"event","type":"string","required":false}},"description":"ImportSource descriptor of the run (kind + options), supplied by the host."},{"name":"files","type":"array","default":[],"items":{"type":"object","properties":{"lastModified":{"name":"lastModified","type":"number","required":false},"name":{"name":"name","type":"string","required":false},"size":{"name":"size","type":"number","required":false},"type":{"name":"type","type":"string","required":false}}},"description":"Client-side file metadata for upload sources (name/size/type/lastModified)."},{"name":"target","type":"string","default":"","description":"Name of the host entity this import writes into."},{"name":"status","type":"string","default":"idle","values":["idle","fetching","mapping","reviewing","committing","done","failed"],"description":"Lifecycle position of the run."},{"name":"documents","type":"array","default":[],"items":{"type":"object","items":{"type":"union","values":["string","number","boolean"],"properties":{"boolean":{"name":"boolean","type":"boolean"},"number":{"name":"number","type":"number"},"string":{"name":"string","type":"string"}}}},"description":"Document metadata listed from the source — migration.listDocuments service result, never destructured by the atom."},{"name":"document","type":"object","default":{},"items":{"type":"union","values":["string","number","boolean"],"properties":{"boolean":{"name":"boolean","type":"boolean"},"number":{"name":"number","type":"number"},"string":{"name":"string","type":"string"}}},"description":"Most recently fetched document content — migration.fetchDocument service result, never destructured by the atom."},{"name":"stats","type":"object","default":{},"properties":{"committed":{"name":"committed","type":"number","required":false},"failed":{"name":"failed","type":"array","required":false,"items":{"type":"object","properties":{"ref":{"name":"ref","type":"string","required":true},"reason":{"name":"reason","type":"string","required":true}}}}},"description":"Staged/committed/failed/skipped counts — merged from host staging and migration.commit service results, never destructured by the atom."},{"name":"units","type":"array","default":[],"items":{"type":"object","properties":{"parentRef":{"name":"parentRef","type":"string","required":false},"fields":{"name":"fields","type":"object","required":false,"items":{"type":"union","values":["string","number","boolean"],"properties":{"string":{"name":"string","type":"string"},"boolean":{"name":"boolean","type":"boolean"},"number":{"name":"number","type":"number"}}}},"targetEntity":{"name":"targetEntity","type":"string","required":true},"ref":{"name":"ref","type":"string","required":true},"title":{"name":"title","type":"string","required":false}}},"description":"Staged ImportUnits ready for review (ref/targetEntity/title/fields/parentRef), when the host stages the full rows rather than aggregate stats only.","synonyms":"staged units, preview rows, import rows, staged rows"},{"name":"skipped","type":"array","default":[],"items":{"type":"object","properties":{"reason":{"name":"reason","type":"string","required":true},"ref":{"name":"ref","type":"string","required":true}}},"description":"Source elements skipped during staging with a reason each, when the host stages the full rows rather than aggregate stats only.","synonyms":"skipped rows, skipped elements, staging skips"},{"name":"validationErrors","type":"array","default":[],"items":{"type":"object","properties":{"field":{"name":"field","type":"string","required":false},"ref":{"name":"ref","type":"string","required":true},"code":{"name":"code","type":"string","required":true},"message":{"name":"message","type":"string","required":true}}},"description":"Validation errors surfaced during staging, when the host stages the full rows rather than aggregate stats only.","synonyms":"staging errors, validation issues, import errors"},{"name":"error","type":"string","default":"","description":"Failure detail when status is failed."},{"name":"createdAt","type":"number","default":0,"description":"Run start timestamp."}]},"traits":[{"name":"MigrationJobLifecycle","id":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX","entityRebindable":true,"entityContract":{"requires":[],"provides":["document","documents","error","files","skipped","source","stats","status","target","units","validationErrors"]},"effectRow":[{"kind":"call-service","resource":"migration.commit"},{"kind":"call-service","resource":"migration.fetchDocument"},{"kind":"call-service","resource":"migration.listDocuments"},{"kind":"call-service","resource":"migration.stage"},{"kind":"emit","resource":"MIGRATION_COMPLETED"},{"kind":"emit","resource":"MIGRATION_DOCUMENT"},{"kind":"emit","resource":"MIGRATION_FAILED"},{"kind":"emit","resource":"MIGRATION_FETCHED"},{"kind":"emit","resource":"MIGRATION_REVIEW_READY"},{"kind":"persist","resource":"MigrationJob"},{"kind":"render-ui","resource":"@config.reviewSlot","resolved":false},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.createdAt"},{"kind":"set","resource":"@entity.document"},{"kind":"set","resource":"@entity.documents"},{"kind":"set","resource":"@entity.error"},{"kind":"set","resource":"@entity.files"},{"kind":"set","resource":"@entity.skipped"},{"kind":"set","resource":"@entity.source"},{"kind":"set","resource":"@entity.stats"},{"kind":"set","resource":"@entity.status"},{"kind":"set","resource":"@entity.target"},{"kind":"set","resource":"@entity.units"},{"kind":"set","resource":"@entity.validationErrors"}],"category":"lifecycle","linkedEntity":"MigrationJob","linkedEntityId":"ent_ZTV9S5HBS4NWJ6J5HS07BV53S8","entityRefIds":{"MigrationJob":"ent_ZTV9S5HBS4NWJ6J5HS07BV53S8"},"emits":[{"event":"DOCUMENTS_LISTED","eventId":"evt_E8ZTXDHHMART55BGBMVD1HHC1R","description":"migration.listDocuments service result, flattened onto the payload by the call-service effect executor","tier":"secondary","payloadSchema":[{"name":"documents","type":"[Map<string,ImportFieldValue>]","required":true}]},{"event":"MIGRATION_STAGED","eventId":"evt_ZJH5A8HR97W4KTVB6S5ER6TMGE","description":"migration.stage service result, flattened onto the payload by the call-service effect executor","tier":"secondary","payloadSchema":[{"name":"stats","type":"object","required":true,"properties":[{"name":"committed","type":"number"},{"name":"failed","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]}]},{"name":"units","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"targetEntity","type":"string","required":true},{"name":"title","type":"string"},{"name":"fields","type":"Map<string,ImportFieldValue>"},{"name":"parentRef","type":"string"}],"entity":"ImportUnit"},{"name":"skipped","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}],"entity":"ImportSkip"},{"name":"validationErrors","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"code","type":"string","required":true},{"name":"field","type":"string"},{"name":"message","type":"string","required":true}],"entity":"ImportValidationError"}]},{"event":"DOCUMENT_FETCHED","eventId":"evt_2FCF3B3CTJPD9CT7YZ0VXEWM73","description":"migration.fetchDocument service result, flattened onto the payload by the call-service effect executor","tier":"secondary","payloadSchema":[{"name":"document","type":"Map<string,ImportFieldValue>","required":true}]},{"event":"COMMITTED","eventId":"evt_2NPAZXMSBBCNNQBPEMEAYESKQC","description":"migration.commit service result — committed count plus per-unit failures","tier":"secondary","payloadSchema":[{"name":"committed","type":"number","required":true},{"name":"failed","type":"[object]","required":true,"properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}],"entity":"ImportFailure"}]},{"event":"MIGRATION_CALL_FAILED","eventId":"evt_109MF8NFERQQCFXGDNFN18HBD8","description":"migration service call failure signal — lands the run in failed, never a silent swallow","tier":"secondary","payloadSchema":[{"name":"error","type":"string","required":true}]},{"event":"MIGRATION_FETCHED","eventId":"evt_DCGX4Z97TGKX85RS87PBSKNRQH","description":"Source documents are listed and the run is ready for staging (deterministic pipeline or agent)","synonyms":"import fetched, source listed, documents ready","tier":"domain","scope":"external","payloadSchema":[{"name":"documents","type":"[Map<string,ImportFieldValue>]","required":true}]},{"event":"MIGRATION_DOCUMENT","eventId":"evt_VWR68FJ7B13NGQTCAMRBMNCFY7","description":"A single fetched document's content, for the host staging layer to map into target units","synonyms":"document loaded, content fetched","tier":"domain","scope":"external","payloadSchema":[{"name":"document","type":"Map<string,ImportFieldValue>","required":true}]},{"event":"MIGRATION_REVIEW_READY","eventId":"evt_TMRWKEMQV3BXHRZT8B3D5TGGES","description":"Staging is complete; the preview is ready for the approval gate. units/skipped/validationErrors forward the full staged rows when the host staged them, for a review-before-commit UI; stats-only hosts leave them empty.","synonyms":"preview ready, staging complete, review import","tier":"domain","scope":"external","payloadSchema":[{"name":"stats","type":"object","required":true,"properties":[{"name":"committed","type":"number"},{"name":"failed","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]}]},{"name":"units","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"targetEntity","type":"string","required":true},{"name":"title","type":"string"},{"name":"fields","type":"Map<string,ImportFieldValue>"},{"name":"parentRef","type":"string"}],"entity":"ImportUnit"},{"name":"skipped","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}],"entity":"ImportSkip"},{"name":"validationErrors","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"code","type":"string","required":true},{"name":"field","type":"string"},{"name":"message","type":"string","required":true}],"entity":"ImportValidationError"}]},{"event":"MIGRATION_COMPLETED","eventId":"evt_25QFYKWEXC7EPEKFVDJ2ECBQDH","description":"The commit drained through the host sink; stats carry committed and per-unit failed counts","synonyms":"import done, migration complete, data imported","tier":"domain","scope":"external","payloadSchema":[{"name":"stats","type":"object","required":true,"properties":[{"name":"committed","type":"number"},{"name":"failed","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]}]}]},{"event":"MIGRATION_FAILED","eventId":"evt_9WFY8JM7VS3XWP6NVXNAV1ETAZ","description":"The run failed; error carries the service-reported detail and the terminal job row was persisted","synonyms":"import failed, migration error","tier":"domain","scope":"external","payloadSchema":[{"name":"error","type":"string","required":true}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"fetching"},{"name":"mapping"},{"name":"reviewing"},{"name":"committing"},{"name":"done"},{"name":"failed"}],"events":[{"key":"INIT","id":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","name":"Initialize"},{"key":"MIGRATION_START","id":"evt_5169WSGD6P6KB8P2P5GFM2AYD6","name":"Migration Start","description":"Starts an import run. source is the ImportSource descriptor; files carries client file metadata for upload sources. Also reached via a sibling std-import's IMPORT_REQUESTED.","synonyms":"start import, run migration, import data","tier":"domain","payloadSchema":[{"name":"source","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string","required":true},{"name":"label","type":"string","required":true},{"name":"event","type":"string"}]},{"name":"files","type":"[object]","properties":[{"name":"name","type":"string"},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}]}],"listened":true},{"key":"DOCUMENTS_LISTED","id":"evt_E8ZTXDHHMART55BGBMVD1HHC1R","name":"Documents Listed","description":"migration.listDocuments service result, flattened onto the payload by the call-service effect executor","tier":"secondary","payloadSchema":[{"name":"documents","type":"[Map<string,ImportFieldValue>]","required":true}]},{"key":"MIGRATION_FETCHED","id":"evt_DCGX4Z97TGKX85RS87PBSKNRQH","name":"Migration Fetched","description":"Source documents are listed and the run is ready for staging (deterministic pipeline or agent)","synonyms":"import fetched, source listed, documents ready","tier":"domain","payloadSchema":[{"name":"documents","type":"[Map<string,ImportFieldValue>]","required":true}]},{"key":"MIGRATION_DOCUMENT","id":"evt_VWR68FJ7B13NGQTCAMRBMNCFY7","name":"Migration Document","description":"A single fetched document's content, for the host staging layer to map into target units","synonyms":"document loaded, content fetched","tier":"domain","payloadSchema":[{"name":"document","type":"Map<string,ImportFieldValue>","required":true}]},{"key":"MIGRATION_CALL_FAILED","id":"evt_109MF8NFERQQCFXGDNFN18HBD8","name":"Migration Call Failed","description":"migration service call failure signal — lands the run in failed, never a silent swallow","tier":"secondary","payloadSchema":[{"name":"error","type":"string","required":true}]},{"key":"FETCH_DOCUMENT","id":"evt_M9GXG9H76RKKC4WQYJGR43P191","name":"Fetch Document","description":"Fetch one document's full content from the source during staging","tier":"internal","payloadSchema":[{"name":"documentId","type":"string","required":true}],"listened":true},{"key":"DOCUMENT_FETCHED","id":"evt_2FCF3B3CTJPD9CT7YZ0VXEWM73","name":"Document Fetched","description":"migration.fetchDocument service result, flattened onto the payload by the call-service effect executor","tier":"secondary","payloadSchema":[{"name":"document","type":"Map<string,ImportFieldValue>","required":true}]},{"key":"MIGRATION_STAGED","id":"evt_ZJH5A8HR97W4KTVB6S5ER6TMGE","name":"Migration Staged","description":"migration.stage service result, flattened onto the payload by the call-service effect executor","tier":"secondary","payloadSchema":[{"name":"stats","type":"object","required":true,"properties":[{"name":"committed","type":"number"},{"name":"failed","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]}]},{"name":"units","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"targetEntity","type":"string","required":true},{"name":"title","type":"string"},{"name":"fields","type":"Map<string,ImportFieldValue>"},{"name":"parentRef","type":"string"}]},{"name":"skipped","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]},{"name":"validationErrors","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"code","type":"string","required":true},{"name":"field","type":"string"},{"name":"message","type":"string","required":true}]}],"listened":true},{"key":"MIGRATION_DISCARDED","id":"evt_N3MNS57B17NGKMP11EARGGNB12","name":"Migration Discarded","description":"The run was discarded before commit","tier":"internal","listened":true},{"key":"MIGRATION_APPROVED","id":"evt_74P8YD3SPXWVEMGRKHEQ4ATSDW","name":"Migration Approved","description":"The user approved the preview; units are the staged ImportUnits to commit through the host sink. Optional — the ImportPreviewTree's onConfirm fires with no payload, so commit falls back to the units already staged on the entity via MIGRATION_STAGED.","synonyms":"approve import, confirm migration","tier":"domain","payloadSchema":[{"name":"units","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"targetEntity","type":"string","required":true},{"name":"title","type":"string"},{"name":"fields","type":"Map<string,ImportFieldValue>"},{"name":"parentRef","type":"string"}]}],"listened":true},{"key":"MIGRATION_REJECTED","id":"evt_B5V527AY5WF2YA5PAV4NS9MP45","name":"Migration Rejected","description":"The user sent the preview back for more staging","tier":"internal","listened":true},{"key":"MIGRATION_REVIEW_READY","id":"evt_TMRWKEMQV3BXHRZT8B3D5TGGES","name":"Migration Review Ready","description":"Staging is complete; the preview is ready for the approval gate. units/skipped/validationErrors forward the full staged rows when the host staged them, for a review-before-commit UI; stats-only hosts leave them empty.","synonyms":"preview ready, staging complete, review import","tier":"domain","payloadSchema":[{"name":"stats","type":"object","required":true,"properties":[{"name":"committed","type":"number"},{"name":"failed","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]}]},{"name":"units","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"targetEntity","type":"string","required":true},{"name":"title","type":"string"},{"name":"fields","type":"Map<string,ImportFieldValue>"},{"name":"parentRef","type":"string"}],"entity":"ImportUnit"},{"name":"skipped","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}],"entity":"ImportSkip"},{"name":"validationErrors","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"code","type":"string","required":true},{"name":"field","type":"string"},{"name":"message","type":"string","required":true}],"entity":"ImportValidationError"}]},{"key":"CLOSE","id":"evt_J0D5J11FZ3QZHPWX62QTG0S4HF","name":"Close"},{"key":"COMMITTED","id":"evt_2NPAZXMSBBCNNQBPEMEAYESKQC","name":"Committed","description":"migration.commit service result — committed count plus per-unit failures","tier":"secondary","payloadSchema":[{"name":"committed","type":"number","required":true},{"name":"failed","type":"[object]","required":true,"properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}],"entity":"ImportFailure"}]},{"key":"RESET","id":"evt_9A4KXVJK0C9G6BHVR09MNTJJ2Q","name":"Reset","description":"Returns the job to idle from a terminal state","tier":"internal","listened":true},{"key":"MIGRATION_COMPLETED","id":"evt_25QFYKWEXC7EPEKFVDJ2ECBQDH","name":"Migration Completed","description":"The commit drained through the host sink; stats carry committed and per-unit failed counts","synonyms":"import done, migration complete, data imported","tier":"domain","payloadSchema":[{"name":"stats","type":"object","required":true,"properties":[{"name":"committed","type":"number"},{"name":"failed","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]}]}]},{"key":"MIGRATION_RETRY","id":"evt_WQBN6VY57H2KRW5T092WWFYQGP","name":"Migration Retry","description":"Re-runs the fetch after a failure, with the same source","tier":"internal","listened":true},{"key":"MIGRATION_FAILED","id":"evt_9WFY8JM7VS3XWP6NVXNAV1ETAZ","name":"Migration Failed","description":"The run failed; error carries the service-reported detail and the terminal job row was persisted","synonyms":"import failed, migration error","tier":"domain","payloadSchema":[{"name":"error","type":"string","required":true}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"idle","to":"fetching","event":"MIGRATION_START","eventId":"evt_5169WSGD6P6KB8P2P5GFM2AYD6","effects":[["set","@entity.source","@payload.source"],["set","@entity.files","@payload.files"],["set","@entity.target","@config.target"],["set","@entity.status","fetching"],["set","@entity.createdAt",["time/now"]],["call-service","migration","listDocuments",{"connectionRef":"@config.connectionRef","files":"@entity.files","source":"@entity.source"},{"emit":{"success":"DOCUMENTS_LISTED","failure":"MIGRATION_CALL_FAILED"}}]]},{"from":"fetching","to":"idle","event":"INIT","eventId":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"fetching","to":"mapping","event":"DOCUMENTS_LISTED","eventId":"evt_E8ZTXDHHMART55BGBMVD1HHC1R","effects":[["set","@entity.documents","@payload.documents"],["set","@entity.status","mapping"],["emit","MIGRATION_FETCHED",{"documents":"@entity.documents"}],["call-service","migration","stage",{"connectionRef":"@config.connectionRef","documents":"@entity.documents","source":"@entity.source"},{"emit":{"success":"MIGRATION_STAGED","failure":"MIGRATION_CALL_FAILED"}}]]},{"from":"fetching","to":"mapping","event":"MIGRATION_FETCHED","eventId":"evt_DCGX4Z97TGKX85RS87PBSKNRQH"},{"from":"fetching","to":"mapping","event":"MIGRATION_DOCUMENT","eventId":"evt_VWR68FJ7B13NGQTCAMRBMNCFY7"},{"from":"fetching","to":"failed","event":"MIGRATION_CALL_FAILED","eventId":"evt_109MF8NFERQQCFXGDNFN18HBD8","effects":[["set","@entity.error","@payload.error"],["set","@entity.status","failed"],["persist","create","MigrationJob",{"createdAt":"@entity.createdAt","error":"@entity.error","source":"@entity.source","stats":"@entity.stats","status":"@entity.status","target":"@entity.target"}],["emit","MIGRATION_FAILED",{"error":"@entity.error"}],["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't list the source documents — ","@payload.error"],"dismissible":true}]]},{"from":"mapping","to":"idle","event":"INIT","eventId":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"mapping","to":"mapping","event":"FETCH_DOCUMENT","eventId":"evt_M9GXG9H76RKKC4WQYJGR43P191","effects":[["call-service","migration","fetchDocument",{"connectionRef":"@config.connectionRef","documentId":"@payload.documentId","source":"@entity.source"},{"emit":{"success":"DOCUMENT_FETCHED","failure":"MIGRATION_CALL_FAILED"}}]]},{"from":"mapping","to":"mapping","event":"DOCUMENT_FETCHED","eventId":"evt_2FCF3B3CTJPD9CT7YZ0VXEWM73","effects":[["set","@entity.document","@payload.document"],["emit","MIGRATION_DOCUMENT",{"document":"@entity.document"}]]},{"from":"mapping","to":"reviewing","event":"MIGRATION_STAGED","eventId":"evt_ZJH5A8HR97W4KTVB6S5ER6TMGE","effects":[["set","@entity.stats","@payload.stats"],["set","@entity.units",["or","@payload.units",[]]],["set","@entity.skipped",["or","@payload.skipped",[]]],["set","@entity.validationErrors",["or","@payload.validationErrors",[]]],["set","@entity.status","reviewing"],["render-ui","@config.reviewSlot",{"cancelLabel":"Discard","confirmLabel":"Approve import","entityDisplay":{},"onCancel":"MIGRATION_DISCARDED","onConfirm":"MIGRATION_APPROVED","skipped":"@entity.skipped","type":"import-preview-tree","units":"@entity.units"}],["emit","MIGRATION_REVIEW_READY",{"stats":"@entity.stats","units":"@entity.units","skipped":"@entity.skipped","validationErrors":"@entity.validationErrors"}]]},{"from":"mapping","to":"idle","event":"MIGRATION_DISCARDED","eventId":"evt_N3MNS57B17NGKMP11EARGGNB12","effects":[["set","@entity.status","idle"],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"mapping","to":"failed","event":"MIGRATION_CALL_FAILED","eventId":"evt_109MF8NFERQQCFXGDNFN18HBD8","effects":[["set","@entity.error","@payload.error"],["set","@entity.status","failed"],["persist","create","MigrationJob",{"createdAt":"@entity.createdAt","error":"@entity.error","source":"@entity.source","stats":"@entity.stats","status":"@entity.status","target":"@entity.target"}],["emit","MIGRATION_FAILED",{"error":"@entity.error"}],["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't fetch the document — ","@payload.error"],"dismissible":true}]]},{"from":"reviewing","to":"idle","event":"INIT","eventId":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","effects":[["render-ui","@config.reviewSlot",null],["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"reviewing","to":"committing","event":"MIGRATION_APPROVED","eventId":"evt_74P8YD3SPXWVEMGRKHEQ4ATSDW","effects":[["set","@entity.status","committing"],["render-ui","@config.reviewSlot",null],["call-service","migration","commit",{"jobId":"@entity.id","units":["or","@payload.units","@entity.units"]},{"emit":{"success":"COMMITTED","failure":"MIGRATION_CALL_FAILED"}}]]},{"from":"reviewing","to":"mapping","event":"MIGRATION_REJECTED","eventId":"evt_B5V527AY5WF2YA5PAV4NS9MP45","effects":[["set","@entity.status","mapping"],["render-ui","@config.reviewSlot",null]]},{"from":"reviewing","to":"reviewing","event":"MIGRATION_REVIEW_READY","eventId":"evt_TMRWKEMQV3BXHRZT8B3D5TGGES"},{"from":"reviewing","to":"idle","event":"MIGRATION_DISCARDED","eventId":"evt_N3MNS57B17NGKMP11EARGGNB12","effects":[["set","@entity.status","idle"],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]],["render-ui","@config.reviewSlot",null]]},{"from":"reviewing","to":"idle","event":"CLOSE","eventId":"evt_J0D5J11FZ3QZHPWX62QTG0S4HF","effects":[["set","@entity.status","idle"],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]],["render-ui","@config.reviewSlot",null]]},{"from":"committing","to":"idle","event":"INIT","eventId":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"committing","to":"done","event":"COMMITTED","eventId":"evt_2NPAZXMSBBCNNQBPEMEAYESKQC","effects":[["set","@entity.stats",["object/merge","@entity.stats",{"committed":"@payload.committed","failed":"@payload.failed"}]],["set","@entity.status","done"],["persist","create","MigrationJob",{"createdAt":"@entity.createdAt","error":"","source":"@entity.source","stats":"@entity.stats","status":"@entity.status","target":"@entity.target"}],["emit","MIGRATION_COMPLETED",{"stats":"@entity.stats"}]]},{"from":"committing","to":"failed","event":"MIGRATION_CALL_FAILED","eventId":"evt_109MF8NFERQQCFXGDNFN18HBD8","effects":[["set","@entity.error","@payload.error"],["set","@entity.status","failed"],["persist","create","MigrationJob",{"createdAt":"@entity.createdAt","error":"@entity.error","source":"@entity.source","stats":"@entity.stats","status":"@entity.status","target":"@entity.target"}],["emit","MIGRATION_FAILED",{"error":"@entity.error"}],["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't commit the import — ","@payload.error"],"dismissible":true}]]},{"from":"done","to":"idle","event":"INIT","eventId":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"done","to":"idle","event":"RESET","eventId":"evt_9A4KXVJK0C9G6BHVR09MNTJJ2Q","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"done","to":"done","event":"MIGRATION_COMPLETED","eventId":"evt_25QFYKWEXC7EPEKFVDJ2ECBQDH"},{"from":"failed","to":"idle","event":"INIT","eventId":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"failed","to":"fetching","event":"MIGRATION_RETRY","eventId":"evt_WQBN6VY57H2KRW5T092WWFYQGP","effects":[["set","@entity.status","fetching"],["set","@entity.error",""],["call-service","migration","listDocuments",{"connectionRef":"@config.connectionRef","files":"@entity.files","source":"@entity.source"},{"emit":{"success":"DOCUMENTS_LISTED","failure":"MIGRATION_CALL_FAILED"}}]]},{"from":"failed","to":"idle","event":"RESET","eventId":"evt_9A4KXVJK0C9G6BHVR09MNTJJ2Q","effects":[["set","@entity.status","idle"],["set","@entity.error",""],["set","@entity.documents",[]],["set","@entity.document",{}],["set","@entity.stats",{}],["set","@entity.units",[]],["set","@entity.skipped",[]],["set","@entity.validationErrors",[]]]},{"from":"failed","to":"failed","event":"MIGRATION_FAILED","eventId":"evt_9WFY8JM7VS3XWP6NVXNAV1ETAZ"}]},"config":{"target":{"type":"string","default":"","label":"Target entity","description":"Name of the host entity this import writes into (e.g. the organism's own entity). The migration service derives the full target descriptor from the running app's schema.","synonyms":"destination, import into, target type","tier":"domain"},"connectionRef":{"type":"secret","default":"","label":"Connection reference","description":"Secret-store / environment KEY holding the source credentials. The reference is stored; the secret itself never enters config, traces, or snapshots — the migration service resolves it at run time. (Typed `secret` — the config-field type that marks a credential reference; UI password-renders it and traces mask it.)","synonyms":"credential key, connection string reference, secret name","tier":"internal"},"reviewSlot":{"type":"slot","default":"modal","label":"Review slot","description":"UI slot the staged-import review renders into when the host stages the full units/skipped rows (not stats-only). Defaults to the modal overlay so a host that never places this trait on a page — or that only ever sends {stats} — stays effectively headless; the rendered tree's confirm/cancel wire to the atom's own MIGRATION_APPROVED/MIGRATION_DISCARDED events.","synonyms":"preview slot, review outlet, staging modal, import review slot","tier":"internal"}},"scope":"instance"}],"pages":[{"name":"MigrationJobPage","id":"pag_JEQWRXE3541JJ3NT7S070S7K9N","path":"/migration-job","traits":[{"ref":"MigrationJobLifecycle","refId":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"}]}],"types":{"ImportFailure":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}],"ImportFieldValue":[{"name":"","type":"union","properties":[{"name":"string","type":"string"},{"name":"number","type":"number"},{"name":"boolean","type":"boolean"}]}],"ImportSkip":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}],"ImportSourceOption":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string","required":true},{"name":"label","type":"string","required":true},{"name":"event","type":"string"}],"ImportUnit":[{"name":"ref","type":"string","required":true},{"name":"targetEntity","type":"string","required":true},{"name":"title","type":"string"},{"name":"fields","type":"Map<string,ImportFieldValue>"},{"name":"parentRef","type":"string"}],"ImportValidationError":[{"name":"ref","type":"string","required":true},{"name":"code","type":"string","required":true},{"name":"field","type":"string"},{"name":"message","type":"string","required":true}],"MigrationFile":[{"name":"name","type":"string"},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}],"MigrationStats":[{"name":"committed","type":"number"},{"name":"failed","type":"[object]","properties":[{"name":"ref","type":"string","required":true},{"name":"reason","type":"string","required":true}]}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_ZTV9S5HBS4NWJ6J5HS07BV53S8":{"id":"ent_ZTV9S5HBS4NWJ6J5HS07BV53S8","kind":"entity","bakedName":"MigrationJob","curName":"MigrationJob","renames":[],"owner":"workspace"},"evt_109MF8NFERQQCFXGDNFN18HBD8":{"id":"evt_109MF8NFERQQCFXGDNFN18HBD8","kind":"event","bakedName":"MIGRATION_CALL_FAILED","curName":"MIGRATION_CALL_FAILED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_25QFYKWEXC7EPEKFVDJ2ECBQDH":{"id":"evt_25QFYKWEXC7EPEKFVDJ2ECBQDH","kind":"event","bakedName":"MIGRATION_COMPLETED","curName":"MIGRATION_COMPLETED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_2FCF3B3CTJPD9CT7YZ0VXEWM73":{"id":"evt_2FCF3B3CTJPD9CT7YZ0VXEWM73","kind":"event","bakedName":"DOCUMENT_FETCHED","curName":"DOCUMENT_FETCHED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_2NPAZXMSBBCNNQBPEMEAYESKQC":{"id":"evt_2NPAZXMSBBCNNQBPEMEAYESKQC","kind":"event","bakedName":"COMMITTED","curName":"COMMITTED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_5169WSGD6P6KB8P2P5GFM2AYD6":{"id":"evt_5169WSGD6P6KB8P2P5GFM2AYD6","kind":"event","bakedName":"MIGRATION_START","curName":"MIGRATION_START","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_6046B9ZP0NV0ATCNVCYFA2EXRS":{"id":"evt_6046B9ZP0NV0ATCNVCYFA2EXRS","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_74P8YD3SPXWVEMGRKHEQ4ATSDW":{"id":"evt_74P8YD3SPXWVEMGRKHEQ4ATSDW","kind":"event","bakedName":"MIGRATION_APPROVED","curName":"MIGRATION_APPROVED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_9A4KXVJK0C9G6BHVR09MNTJJ2Q":{"id":"evt_9A4KXVJK0C9G6BHVR09MNTJJ2Q","kind":"event","bakedName":"RESET","curName":"RESET","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_9WFY8JM7VS3XWP6NVXNAV1ETAZ":{"id":"evt_9WFY8JM7VS3XWP6NVXNAV1ETAZ","kind":"event","bakedName":"MIGRATION_FAILED","curName":"MIGRATION_FAILED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_B5V527AY5WF2YA5PAV4NS9MP45":{"id":"evt_B5V527AY5WF2YA5PAV4NS9MP45","kind":"event","bakedName":"MIGRATION_REJECTED","curName":"MIGRATION_REJECTED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_DCGX4Z97TGKX85RS87PBSKNRQH":{"id":"evt_DCGX4Z97TGKX85RS87PBSKNRQH","kind":"event","bakedName":"MIGRATION_FETCHED","curName":"MIGRATION_FETCHED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_E8ZTXDHHMART55BGBMVD1HHC1R":{"id":"evt_E8ZTXDHHMART55BGBMVD1HHC1R","kind":"event","bakedName":"DOCUMENTS_LISTED","curName":"DOCUMENTS_LISTED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_J0D5J11FZ3QZHPWX62QTG0S4HF":{"id":"evt_J0D5J11FZ3QZHPWX62QTG0S4HF","kind":"event","bakedName":"CLOSE","curName":"CLOSE","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_M9GXG9H76RKKC4WQYJGR43P191":{"id":"evt_M9GXG9H76RKKC4WQYJGR43P191","kind":"event","bakedName":"FETCH_DOCUMENT","curName":"FETCH_DOCUMENT","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_N3MNS57B17NGKMP11EARGGNB12":{"id":"evt_N3MNS57B17NGKMP11EARGGNB12","kind":"event","bakedName":"MIGRATION_DISCARDED","curName":"MIGRATION_DISCARDED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_TMRWKEMQV3BXHRZT8B3D5TGGES":{"id":"evt_TMRWKEMQV3BXHRZT8B3D5TGGES","kind":"event","bakedName":"MIGRATION_REVIEW_READY","curName":"MIGRATION_REVIEW_READY","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_VWR68FJ7B13NGQTCAMRBMNCFY7":{"id":"evt_VWR68FJ7B13NGQTCAMRBMNCFY7","kind":"event","bakedName":"MIGRATION_DOCUMENT","curName":"MIGRATION_DOCUMENT","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_WQBN6VY57H2KRW5T092WWFYQGP":{"id":"evt_WQBN6VY57H2KRW5T092WWFYQGP","kind":"event","bakedName":"MIGRATION_RETRY","curName":"MIGRATION_RETRY","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"evt_ZJH5A8HR97W4KTVB6S5ER6TMGE":{"id":"evt_ZJH5A8HR97W4KTVB6S5ER6TMGE","kind":"event","bakedName":"MIGRATION_STAGED","curName":"MIGRATION_STAGED","renames":[],"owner":"workspace","parent":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX"},"orb_YHM7Q0X7G4KR278KBFASTN31P1":{"id":"orb_YHM7Q0X7G4KR278KBFASTN31P1","kind":"orbital","bakedName":"MigrationJobOrbital","curName":"MigrationJobOrbital","renames":[],"owner":"workspace"},"pag_JEQWRXE3541JJ3NT7S070S7K9N":{"id":"pag_JEQWRXE3541JJ3NT7S070S7K9N","kind":"page","bakedName":"MigrationJobPage","curName":"MigrationJobPage","renames":[],"owner":"workspace"},"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX":{"id":"trt_V0B8WRGBBJ5NS664ZTJ4H0HPQX","kind":"trait","bakedName":"MigrationJobLifecycle","curName":"MigrationJobLifecycle","renames":[],"owner":"workspace"}}}}
@@ -1 +1 @@
1
- {"name":"std-mod-queue","version":"1.0.0","description":"std-mod-queue — moderation queue for content review. Owns a ModQueueItem entity (one row per flagged target) and a single review trait that loads pending items, renders them in a data-grid with Approve / Reject / Escalate actions, and persists the reviewer's verdict back to the row.","orbitals":[{"name":"ModQueueItemOrbital","id":"orb_DFMBNHMTJZD9FNAFW5SWKNY5T6","uses":[{"from":"std/behaviors/ui-spinner","as":"Spinner"},{"from":"std/behaviors/ui-typography","as":"Typography"},{"from":"std/behaviors/ui-icon","as":"Icon"},{"from":"std/behaviors/ui-button","as":"Button"},{"from":"std/behaviors/ui-divider","as":"Divider"},{"from":"std/behaviors/ui-alert","as":"Alert"}],"entity":{"name":"ModQueueItem","id":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","collection":"modqueueitems","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true,"description":"Unique identifier for the item being moderated.","synonyms":"item id, reference id, identifier"},{"name":"targetType","type":"string","required":true,"description":"Specifies the kind of item being moderated.","synonyms":"item type, content type, object type"},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"],"description":"The justification for flagging the content.","synonyms":"flag reason, justification, cause"},{"name":"flagCount","type":"number","description":"The number of times this item has been flagged.","synonyms":"flags, flag_count, count"},{"name":"status","type":"string","default":"pending","values":["pending","approved","rejected","escalated"],"description":"Current state of the moderation item.","synonyms":"state, condition, stage"},{"name":"reviewedBy","type":"string","description":"The user who performed the review action.","synonyms":"reviewer, reviewerId, assignedTo"},{"name":"reviewedAt","type":"datetime","description":"Timestamp indicating when the item was last reviewed.","synonyms":"review date, review time, last reviewed"},{"name":"notes","type":"string","description":"Free-text comments or observations related to the item.","synonyms":"comment, remark, observation, details"},{"name":"seedRow","type":"relation","relation":{"entity":"ModQueueItem","entityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","cardinality":"one"},"intrinsic":true,"description":"The row an edit-mode modal pre-fills from when its payload carries no row (a scalar-only action event still opens a fully seeded form)."}]},"traits":[{"ref":"Spinner.traits.SpinnerRender","id":"trt_GW4NC2ZC13P0HJ3WBPRQEKNH8H","name":"LoadingSpinner","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN"},{"ref":"Spinner.traits.SpinnerRender","id":"trt_FSA7GSSMG2T81CHZ3NX6M0034Z","name":"ErrorSpinner","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","config":{"size":{"type":"unknown","default":"sm"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_93RBGMA0H508JP99KXV59Q19KE","name":"LoadingText","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","config":{"color":{"type":"unknown","default":"muted"},"content":{"type":"unknown","default":"Loading moderation queue…"},"variant":{"type":"unknown","default":"caption"}}},{"ref":"Icon.traits.IconRender","id":"trt_JE6C4PBYJ3Z91MWGPVFP03QB6R","name":"ShieldAlertIcon","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","config":{"name":{"type":"unknown","default":"shield-alert"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_6X9QZAP7HJ3RS402J1K3821AK8","name":"ModQueueTitle","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","config":{"variant":{"type":"unknown","default":"h3"},"content":{"type":"unknown","default":"@config.title"}}},{"ref":"Button.traits.ButtonRender","id":"trt_8H7CQXPNCWAPE18MPNV37CQ6E0","name":"CloseButton","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","config":{"action":{"type":"unknown","default":"CLOSE"},"label":{"type":"unknown","default":"Close"},"icon":{"type":"unknown","default":"x"},"variant":{"type":"unknown","default":"ghost"}}},{"ref":"Divider.traits.DividerRender","id":"trt_JWXYCN0DW56Y2YW4T5DPCXRVEA","name":"ModQueueDivider","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN"},{"ref":"Alert.traits.AlertRender","id":"trt_PWGZZSDHP0RV01KQBZEBQXV2SK","name":"ErrorAlert","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","config":{"message":{"type":"unknown","default":"@payload.error"},"variant":{"type":"unknown","default":"error"}}},{"name":"ModQueueItemReview","id":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB","effectRow":[{"kind":"fetch","resource":"ModQueueItem"},{"kind":"persist","resource":"ModQueueItem"},{"kind":"render-ui","resource":"@config.reviewSlot","resolved":false},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.id"}],"category":"interaction","capabilities":["moderation"],"linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","entityRefIds":{"ModQueueItem":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN"},"traitEmbedIds":{"CloseButton":"trt_8H7CQXPNCWAPE18MPNV37CQ6E0","ShieldAlertIcon":"trt_JE6C4PBYJ3Z91MWGPVFP03QB6R","ModQueueTitle":"trt_6X9QZAP7HJ3RS402J1K3821AK8","ErrorAlert":"trt_PWGZZSDHP0RV01KQBZEBQXV2SK","ErrorSpinner":"trt_FSA7GSSMG2T81CHZ3NX6M0034Z","LoadingText":"trt_93RBGMA0H508JP99KXV59Q19KE","ModQueueDivider":"trt_JWXYCN0DW56Y2YW4T5DPCXRVEA","LoadingSpinner":"trt_GW4NC2ZC13P0HJ3WBPRQEKNH8H"},"emits":[{"event":"APPROVE","eventId":"evt_7AA5FR4TBVD5XMQK7EFFX9F309","description":"Signals that a moderation item has been approved.","synonyms":"accept, confirm, pass","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}]},{"event":"REJECT","eventId":"evt_47W3ERDMPSTBCY6Q8N7RW0GH23","description":"Signals that a moderation item has been rejected.","synonyms":"deny, dismiss, decline","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}]},{"event":"ESCALATE","eventId":"evt_FZN7M4DEV7QDKJA1V3KAK0DZXM","description":"Signals a flagged item requires further review.","synonyms":"flag, defer, elevate","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}]},{"event":"CLOSE","eventId":"evt_B5PY7T65QY2VZ88PRBE6Q2157H","description":"Dismisses the moderation queue overlay.","synonyms":"dismiss, hide, cancel, done","tier":"domain"},{"event":"ModQueueItemLoaded","eventId":"evt_7FH89FQ0G7G83RFDN6QJGSTNB1","description":"A new moderation item is ready for review.","synonyms":"loaded, fetched, available, ready","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}]},{"event":"ModQueueItemLoadFailed","eventId":"evt_1CVSCEQ787KM3N8ZSQ135J52GZ","description":"Indicates failure to load moderation queue items.","synonyms":"error, failure, problem, failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"ModQueueItemReviewed","eventId":"evt_HEKER7BN65TK2RTQR77C8FBCZP","description":"Signals a moderation queue item has been reviewed and a verdict recorded.","synonyms":"reviewed, processed, judged, completed","tier":"domain","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"payloadEntity":"ModQueueItem"},{"event":"ModQueueItemReviewFailed","eventId":"evt_6J8ERJFXJSYSCWC9A4FBBB1R82","description":"Indicates a failure to load or process a moderation queue item.","synonyms":"error, failure, problem, issue","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"loading"},{"name":"reviewing"},{"name":"error"}],"events":[{"key":"INIT","id":"evt_864PY0T5Y52Z2TDNJVCFVQGMZY","name":"Initialize"},{"key":"ModQueueItemLoaded","id":"evt_7FH89FQ0G7G83RFDN6QJGSTNB1","name":"ModQueueItem loaded","description":"A new moderation item is ready for review.","synonyms":"loaded, fetched, available, ready","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}],"listened":true},{"key":"ModQueueItemLoadFailed","id":"evt_1CVSCEQ787KM3N8ZSQ135J52GZ","name":"ModQueueItem load failed","description":"Indicates failure to load moderation queue items.","synonyms":"error, failure, problem, failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"OPEN","id":"evt_68G0QQJ8HA48NADXMJQNXX9P6Y","name":"Open","description":"Summons the moderation queue (host nav/affordance requests it).","synonyms":"open, show, review, view queue, moderation queue","tier":"domain","listened":true},{"key":"ModQueueItemReviewed","id":"evt_HEKER7BN65TK2RTQR77C8FBCZP","name":"ModQueueItem reviewed","description":"Signals a moderation queue item has been reviewed and a verdict recorded.","synonyms":"reviewed, processed, judged, completed","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"payloadEntity":"ModQueueItem","listened":true},{"key":"ModQueueItemReviewFailed","id":"evt_6J8ERJFXJSYSCWC9A4FBBB1R82","name":"ModQueueItem review failed","description":"Indicates a failure to load or process a moderation queue item.","synonyms":"error, failure, problem, issue","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"CLOSE","id":"evt_B5PY7T65QY2VZ88PRBE6Q2157H","name":"Close","description":"Dismisses the moderation queue overlay.","synonyms":"dismiss, hide, cancel, done","tier":"domain","listened":true},{"key":"APPROVE","id":"evt_7AA5FR4TBVD5XMQK7EFFX9F309","name":"Approve","description":"Signals that a moderation item has been approved.","synonyms":"accept, confirm, pass","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}],"listened":true},{"key":"REJECT","id":"evt_47W3ERDMPSTBCY6Q8N7RW0GH23","name":"Reject","description":"Signals that a moderation item has been rejected.","synonyms":"deny, dismiss, decline","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}],"listened":true},{"key":"ESCALATE","id":"evt_FZN7M4DEV7QDKJA1V3KAK0DZXM","name":"Escalate","description":"Signals a flagged item requires further review.","synonyms":"flag, defer, elevate","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}],"listened":true}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_864PY0T5Y52Z2TDNJVCFVQGMZY","effects":[["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"idle","to":"idle","event":"ModQueueItemLoaded","eventId":"evt_7FH89FQ0G7G83RFDN6QJGSTNB1"},{"from":"idle","to":"idle","event":"ModQueueItemLoadFailed","eventId":"evt_1CVSCEQ787KM3N8ZSQ135J52GZ","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't load the moderation queue — ","@payload.error"],"dismissible":true}]]},{"from":"idle","to":"loading","event":"OPEN","eventId":"evt_68G0QQJ8HA48NADXMJQNXX9P6Y","guard":"@config.enabled","effects":[["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}],["render-ui","@config.reviewSlot",{"align":"center","children":["@trait.LoadingSpinner","@trait.LoadingText"],"className":"py-12","direction":"vertical","gap":"md","type":"stack"}]]},{"from":"loading","to":"idle","event":"INIT","eventId":"evt_864PY0T5Y52Z2TDNJVCFVQGMZY","effects":[["render-ui","@config.reviewSlot",null],["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"loading","to":"loading","event":"ModQueueItemLoaded","eventId":"evt_7FH89FQ0G7G83RFDN6QJGSTNB1","guard":[">",["array/len",["array/filter","@payload.data",["fn","row",["and",["=",["object/get","@row","status"],"pending"],[">=",["object/get","@row","flagCount"],"@config.autoEscalateThreshold"]]]]],0],"effects":[["set","@entity.id",["object/get",["array/first",["array/filter","@payload.data",["fn","row",["and",["=",["object/get","@row","status"],"pending"],[">=",["object/get","@row","flagCount"],"@config.autoEscalateThreshold"]]]]],"id"]],["persist","update","ModQueueItem",{"id":"@entity.id","status":"escalated"},{"emit":{"failure":"ModQueueItemReviewFailed","success":"ModQueueItemReviewed"}}]]},{"from":"loading","to":"loading","event":"ModQueueItemReviewed","eventId":"evt_HEKER7BN65TK2RTQR77C8FBCZP","effects":[["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"loading","to":"error","event":"ModQueueItemReviewFailed","eventId":"evt_6J8ERJFXJSYSCWC9A4FBBB1R82","effects":[["render-ui","@config.reviewSlot",{"children":["@trait.ErrorAlert"],"type":"stack"}]]},{"from":"loading","to":"reviewing","event":"ModQueueItemLoaded","eventId":"evt_7FH89FQ0G7G83RFDN6QJGSTNB1","guard":["=",["array/len",["array/filter","@payload.data",["fn","row",["and",["=",["object/get","@row","status"],"pending"],[">=",["object/get","@row","flagCount"],"@config.autoEscalateThreshold"]]]]],0],"effects":[["render-ui","@config.reviewSlot",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldAlertIcon","@trait.ModQueueTitle"],"direction":"horizontal","gap":"sm","type":"stack"},"@trait.CloseButton"],"direction":"horizontal","gap":"sm","justify":"between","type":"stack"},"@trait.ModQueueDivider",{"cols":1,"entity":"@payload.data","fields":[{"label":"Type","name":"targetType","variant":"badge"},{"label":"Reason","name":"reason","variant":"caption"},{"label":"Flags","name":"flagCount","variant":"caption"},{"label":"Status","name":"status","variant":"badge"}],"gap":"sm","itemActions":["array/filter","@config.itemActions",["fn","action",["or",["=",["array/len",["object/get","@action","roles",[]]],0],["array/includes",["object/get","@action","roles",[]],"@config.viewerRole"]]]],"look":"@config.tableLook","type":"data-grid"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"loading","to":"error","event":"ModQueueItemLoadFailed","eventId":"evt_1CVSCEQ787KM3N8ZSQ135J52GZ","effects":[["render-ui","@config.reviewSlot",{"children":["@trait.ErrorAlert"],"type":"stack"}]]},{"from":"loading","to":"idle","event":"CLOSE","eventId":"evt_B5PY7T65QY2VZ88PRBE6Q2157H","effects":[["render-ui","@config.reviewSlot",null],["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"reviewing","to":"idle","event":"INIT","eventId":"evt_864PY0T5Y52Z2TDNJVCFVQGMZY","effects":[["render-ui","@config.reviewSlot",null],["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"reviewing","to":"reviewing","event":"APPROVE","eventId":"evt_7AA5FR4TBVD5XMQK7EFFX9F309","effects":[["persist","update","ModQueueItem",{"id":"@payload.row.id","status":"approved"},{"emit":{"failure":"ModQueueItemReviewFailed","success":"ModQueueItemReviewed"}}]]},{"from":"reviewing","to":"reviewing","event":"REJECT","eventId":"evt_47W3ERDMPSTBCY6Q8N7RW0GH23","effects":[["persist","update","ModQueueItem",{"id":"@payload.row.id","status":"rejected"},{"emit":{"failure":"ModQueueItemReviewFailed","success":"ModQueueItemReviewed"}}]]},{"from":"reviewing","to":"reviewing","event":"ESCALATE","eventId":"evt_FZN7M4DEV7QDKJA1V3KAK0DZXM","effects":[["persist","update","ModQueueItem",{"id":"@payload.row.id","status":"escalated"},{"emit":{"failure":"ModQueueItemReviewFailed","success":"ModQueueItemReviewed"}}]]},{"from":"reviewing","to":"loading","event":"ModQueueItemReviewed","eventId":"evt_HEKER7BN65TK2RTQR77C8FBCZP","effects":[["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"reviewing","to":"reviewing","event":"ModQueueItemReviewFailed","eventId":"evt_6J8ERJFXJSYSCWC9A4FBBB1R82","effects":[["render-ui","@config.reviewSlot",{"children":["@trait.ErrorAlert"],"type":"stack"}]]},{"from":"reviewing","to":"idle","event":"CLOSE","eventId":"evt_B5PY7T65QY2VZ88PRBE6Q2157H","effects":[["render-ui","@config.reviewSlot",null],["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"error","to":"idle","event":"INIT","eventId":"evt_864PY0T5Y52Z2TDNJVCFVQGMZY","effects":[["render-ui","@config.reviewSlot",null],["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"error","to":"loading","event":"OPEN","eventId":"evt_68G0QQJ8HA48NADXMJQNXX9P6Y","effects":[["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}],["render-ui","@config.reviewSlot",{"children":["@trait.ErrorSpinner"],"type":"stack"}]]},{"from":"error","to":"idle","event":"CLOSE","eventId":"evt_B5PY7T65QY2VZ88PRBE6Q2157H","effects":[["render-ui","@config.reviewSlot",null],["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]}]},"config":{"autoEscalateThreshold":{"type":"number","default":5,"label":"Auto-escalate at","description":"Flag count after which an item is auto-escalated to senior review","tier":"policy"},"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"]},"enabled":{"type":"boolean","default":false,"label":"Enable moderation queue","description":"Send submissions to a review queue before they go live. Off by default.","synonyms":"enable, turn on, enforce, require, activate, apply, switch on, moderation, moderation queue, content review queue, flag for review, content moderation, review flagged content, abuse review, spam queue, report queue","tier":"policy"},"viewerRole":{"type":"string","default":"","label":"Viewer's role","description":"The signed-in viewer's role that each action's `roles` is checked against. Bind it explicitly at the call site (e.g. `viewerRole: @user.role`) in an app whose identity carries a role; left empty, only actions with no `roles` show.","tier":"policy"},"itemActions":{"type":"[ItemAction]","default":[{"event":"APPROVE","icon":"check","label":"Approve","variant":"primary"},{"event":"REJECT","icon":"x","label":"Reject","variant":"danger"},{"event":"ESCALATE","icon":"alert-triangle","label":"Escalate","variant":"secondary"}],"label":"Row actions","description":"Actions offered on each row; give an item `roles` to show it only to those viewer roles.","tier":"presentation","items":{"type":"object","properties":{"roles":{"name":"roles","type":"array","required":false,"items":{"type":"string"}},"icon":{"name":"icon","type":"string","required":false},"when":{"name":"when","type":"SExpr","required":false},"variant":{"name":"variant","type":"string","required":false},"event":{"name":"event","type":"event","required":false},"label":{"name":"label","type":"string","required":true}}}},"title":{"type":"string","default":"Moderation Queue","label":"Section title","description":"Heading shown above the moderation queue","tier":"presentation"},"reviewSlot":{"type":"slot","default":"modal","label":"Review slot","description":"UI slot the moderation queue renders into. Defaults to the modal overlay so it never seizes the host's main content; summoned via OPEN, cleared via CLOSE.","tier":"internal"}},"scope":"collection"}],"pages":[{"name":"ModQueueItemReviewPage","id":"pag_ESNW6KMWG1E80NKZT5J9WWWVH3","path":"/modqueueitems/review","traits":[{"ref":"ModQueueItemReview","refId":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"}]}],"types":{"ItemAction":[{"name":"label","type":"string","required":true},{"name":"event","type":"event"},{"name":"variant","type":"string"},{"name":"icon","type":"string"},{"name":"roles","type":"[string]"},{"name":"when","type":"SExpr"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN":{"id":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","kind":"entity","bakedName":"ModQueueItem","curName":"ModQueueItem","renames":[],"owner":"workspace"},"evt_1CVSCEQ787KM3N8ZSQ135J52GZ":{"id":"evt_1CVSCEQ787KM3N8ZSQ135J52GZ","kind":"event","bakedName":"ModQueueItemLoadFailed","curName":"ModQueueItemLoadFailed","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_47W3ERDMPSTBCY6Q8N7RW0GH23":{"id":"evt_47W3ERDMPSTBCY6Q8N7RW0GH23","kind":"event","bakedName":"REJECT","curName":"REJECT","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_68G0QQJ8HA48NADXMJQNXX9P6Y":{"id":"evt_68G0QQJ8HA48NADXMJQNXX9P6Y","kind":"event","bakedName":"OPEN","curName":"OPEN","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_6J8ERJFXJSYSCWC9A4FBBB1R82":{"id":"evt_6J8ERJFXJSYSCWC9A4FBBB1R82","kind":"event","bakedName":"ModQueueItemReviewFailed","curName":"ModQueueItemReviewFailed","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_7AA5FR4TBVD5XMQK7EFFX9F309":{"id":"evt_7AA5FR4TBVD5XMQK7EFFX9F309","kind":"event","bakedName":"APPROVE","curName":"APPROVE","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_7FH89FQ0G7G83RFDN6QJGSTNB1":{"id":"evt_7FH89FQ0G7G83RFDN6QJGSTNB1","kind":"event","bakedName":"ModQueueItemLoaded","curName":"ModQueueItemLoaded","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_864PY0T5Y52Z2TDNJVCFVQGMZY":{"id":"evt_864PY0T5Y52Z2TDNJVCFVQGMZY","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_B5PY7T65QY2VZ88PRBE6Q2157H":{"id":"evt_B5PY7T65QY2VZ88PRBE6Q2157H","kind":"event","bakedName":"CLOSE","curName":"CLOSE","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_FZN7M4DEV7QDKJA1V3KAK0DZXM":{"id":"evt_FZN7M4DEV7QDKJA1V3KAK0DZXM","kind":"event","bakedName":"ESCALATE","curName":"ESCALATE","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_HEKER7BN65TK2RTQR77C8FBCZP":{"id":"evt_HEKER7BN65TK2RTQR77C8FBCZP","kind":"event","bakedName":"ModQueueItemReviewed","curName":"ModQueueItemReviewed","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"orb_DFMBNHMTJZD9FNAFW5SWKNY5T6":{"id":"orb_DFMBNHMTJZD9FNAFW5SWKNY5T6","kind":"orbital","bakedName":"ModQueueItemOrbital","curName":"ModQueueItemOrbital","renames":[],"owner":"workspace"},"pag_ESNW6KMWG1E80NKZT5J9WWWVH3":{"id":"pag_ESNW6KMWG1E80NKZT5J9WWWVH3","kind":"page","bakedName":"ModQueueItemReviewPage","curName":"ModQueueItemReviewPage","renames":[],"owner":"workspace"},"trt_2SWA8ZXMYATF55ZVDDKSCREMTB":{"id":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB","kind":"trait","bakedName":"ModQueueItemReview","curName":"ModQueueItemReview","renames":[],"owner":"workspace"},"trt_6X9QZAP7HJ3RS402J1K3821AK8":{"id":"trt_6X9QZAP7HJ3RS402J1K3821AK8","kind":"trait","bakedName":"ModQueueTitle","curName":"ModQueueTitle","renames":[],"owner":"workspace"},"trt_8H7CQXPNCWAPE18MPNV37CQ6E0":{"id":"trt_8H7CQXPNCWAPE18MPNV37CQ6E0","kind":"trait","bakedName":"CloseButton","curName":"CloseButton","renames":[],"owner":"workspace"},"trt_93RBGMA0H508JP99KXV59Q19KE":{"id":"trt_93RBGMA0H508JP99KXV59Q19KE","kind":"trait","bakedName":"LoadingText","curName":"LoadingText","renames":[],"owner":"workspace"},"trt_FSA7GSSMG2T81CHZ3NX6M0034Z":{"id":"trt_FSA7GSSMG2T81CHZ3NX6M0034Z","kind":"trait","bakedName":"ErrorSpinner","curName":"ErrorSpinner","renames":[],"owner":"workspace"},"trt_GW4NC2ZC13P0HJ3WBPRQEKNH8H":{"id":"trt_GW4NC2ZC13P0HJ3WBPRQEKNH8H","kind":"trait","bakedName":"LoadingSpinner","curName":"LoadingSpinner","renames":[],"owner":"workspace"},"trt_JE6C4PBYJ3Z91MWGPVFP03QB6R":{"id":"trt_JE6C4PBYJ3Z91MWGPVFP03QB6R","kind":"trait","bakedName":"ShieldAlertIcon","curName":"ShieldAlertIcon","renames":[],"owner":"workspace"},"trt_JWXYCN0DW56Y2YW4T5DPCXRVEA":{"id":"trt_JWXYCN0DW56Y2YW4T5DPCXRVEA","kind":"trait","bakedName":"ModQueueDivider","curName":"ModQueueDivider","renames":[],"owner":"workspace"},"trt_PWGZZSDHP0RV01KQBZEBQXV2SK":{"id":"trt_PWGZZSDHP0RV01KQBZEBQXV2SK","kind":"trait","bakedName":"ErrorAlert","curName":"ErrorAlert","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-mod-queue","version":"1.0.0","description":"std-mod-queue — moderation queue for content review. Owns a ModQueueItem entity (one row per flagged target) and a single review trait that loads pending items, renders them in a data-grid with Approve / Reject / Escalate actions, and persists the reviewer's verdict back to the row.","orbitals":[{"name":"ModQueueItemOrbital","id":"orb_DFMBNHMTJZD9FNAFW5SWKNY5T6","uses":[{"from":"std/behaviors/ui-spinner","as":"Spinner"},{"from":"std/behaviors/ui-typography","as":"Typography"},{"from":"std/behaviors/ui-icon","as":"Icon"},{"from":"std/behaviors/ui-button","as":"Button"},{"from":"std/behaviors/ui-divider","as":"Divider"},{"from":"std/behaviors/ui-alert","as":"Alert"}],"entity":{"name":"ModQueueItem","id":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","collection":"modqueueitems","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true,"description":"Unique identifier for the item being moderated.","synonyms":"item id, reference id, identifier"},{"name":"targetType","type":"string","required":true,"description":"Specifies the kind of item being moderated.","synonyms":"item type, content type, object type"},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"],"description":"The justification for flagging the content.","synonyms":"flag reason, justification, cause"},{"name":"flagCount","type":"number","description":"The number of times this item has been flagged.","synonyms":"flags, flag_count, count"},{"name":"status","type":"string","default":"pending","values":["pending","approved","rejected","escalated"],"description":"Current state of the moderation item.","synonyms":"state, condition, stage"},{"name":"reviewedBy","type":"string","description":"The user who performed the review action.","synonyms":"reviewer, reviewerId, assignedTo"},{"name":"reviewedAt","type":"datetime","description":"Timestamp indicating when the item was last reviewed.","synonyms":"review date, review time, last reviewed"},{"name":"notes","type":"string","description":"Free-text comments or observations related to the item.","synonyms":"comment, remark, observation, details"},{"name":"seedRow","type":"relation","relation":{"entity":"ModQueueItem","entityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","cardinality":"one"},"intrinsic":true,"description":"The row an edit-mode modal pre-fills from when its payload carries no row (a scalar-only action event still opens a fully seeded form)."}]},"traits":[{"ref":"Spinner.traits.SpinnerRender","id":"trt_GW4NC2ZC13P0HJ3WBPRQEKNH8H","name":"LoadingSpinner","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN"},{"ref":"Spinner.traits.SpinnerRender","id":"trt_FSA7GSSMG2T81CHZ3NX6M0034Z","name":"ErrorSpinner","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","config":{"size":{"type":"unknown","default":"sm"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_93RBGMA0H508JP99KXV59Q19KE","name":"LoadingText","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","config":{"variant":{"type":"unknown","default":"caption"},"color":{"type":"unknown","default":"muted"},"content":{"type":"unknown","default":"Loading moderation queue…"}}},{"ref":"Icon.traits.IconRender","id":"trt_JE6C4PBYJ3Z91MWGPVFP03QB6R","name":"ShieldAlertIcon","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","config":{"name":{"type":"unknown","default":"shield-alert"}}},{"ref":"Typography.traits.TypographyRender","id":"trt_6X9QZAP7HJ3RS402J1K3821AK8","name":"ModQueueTitle","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","config":{"variant":{"type":"unknown","default":"h3"},"content":{"type":"unknown","default":"@config.title"}}},{"ref":"Button.traits.ButtonRender","id":"trt_8H7CQXPNCWAPE18MPNV37CQ6E0","name":"CloseButton","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","config":{"variant":{"type":"unknown","default":"ghost"},"label":{"type":"unknown","default":"Close"},"action":{"type":"unknown","default":"CLOSE"},"icon":{"type":"unknown","default":"x"}}},{"ref":"Divider.traits.DividerRender","id":"trt_JWXYCN0DW56Y2YW4T5DPCXRVEA","name":"ModQueueDivider","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN"},{"ref":"Alert.traits.AlertRender","id":"trt_PWGZZSDHP0RV01KQBZEBQXV2SK","name":"ErrorAlert","linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","config":{"variant":{"type":"unknown","default":"error"},"message":{"type":"unknown","default":"@payload.error"}}},{"name":"ModQueueItemReview","id":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB","effectRow":[{"kind":"fetch","resource":"ModQueueItem"},{"kind":"persist","resource":"ModQueueItem"},{"kind":"render-ui","resource":"@config.reviewSlot","resolved":false},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.id"}],"category":"interaction","capabilities":["moderation"],"linkedEntity":"ModQueueItem","linkedEntityId":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","entityRefIds":{"ModQueueItem":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN"},"traitEmbedIds":{"CloseButton":"trt_8H7CQXPNCWAPE18MPNV37CQ6E0","ShieldAlertIcon":"trt_JE6C4PBYJ3Z91MWGPVFP03QB6R","LoadingSpinner":"trt_GW4NC2ZC13P0HJ3WBPRQEKNH8H","ErrorSpinner":"trt_FSA7GSSMG2T81CHZ3NX6M0034Z","LoadingText":"trt_93RBGMA0H508JP99KXV59Q19KE","ModQueueDivider":"trt_JWXYCN0DW56Y2YW4T5DPCXRVEA","ModQueueTitle":"trt_6X9QZAP7HJ3RS402J1K3821AK8","ErrorAlert":"trt_PWGZZSDHP0RV01KQBZEBQXV2SK"},"emits":[{"event":"APPROVE","eventId":"evt_7AA5FR4TBVD5XMQK7EFFX9F309","description":"Signals that a moderation item has been approved.","synonyms":"accept, confirm, pass","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}]},{"event":"REJECT","eventId":"evt_47W3ERDMPSTBCY6Q8N7RW0GH23","description":"Signals that a moderation item has been rejected.","synonyms":"deny, dismiss, decline","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}]},{"event":"ESCALATE","eventId":"evt_FZN7M4DEV7QDKJA1V3KAK0DZXM","description":"Signals a flagged item requires further review.","synonyms":"flag, defer, elevate","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}]},{"event":"CLOSE","eventId":"evt_B5PY7T65QY2VZ88PRBE6Q2157H","description":"Dismisses the moderation queue overlay.","synonyms":"dismiss, hide, cancel, done","tier":"domain"},{"event":"ModQueueItemLoaded","eventId":"evt_7FH89FQ0G7G83RFDN6QJGSTNB1","description":"A new moderation item is ready for review.","synonyms":"loaded, fetched, available, ready","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}]},{"event":"ModQueueItemLoadFailed","eventId":"evt_1CVSCEQ787KM3N8ZSQ135J52GZ","description":"Indicates failure to load moderation queue items.","synonyms":"error, failure, problem, failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"ModQueueItemReviewed","eventId":"evt_HEKER7BN65TK2RTQR77C8FBCZP","description":"Signals a moderation queue item has been reviewed and a verdict recorded.","synonyms":"reviewed, processed, judged, completed","tier":"domain","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"payloadEntity":"ModQueueItem"},{"event":"ModQueueItemReviewFailed","eventId":"evt_6J8ERJFXJSYSCWC9A4FBBB1R82","description":"Indicates a failure to load or process a moderation queue item.","synonyms":"error, failure, problem, issue","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"loading"},{"name":"reviewing"},{"name":"error"}],"events":[{"key":"INIT","id":"evt_864PY0T5Y52Z2TDNJVCFVQGMZY","name":"Initialize"},{"key":"ModQueueItemLoaded","id":"evt_7FH89FQ0G7G83RFDN6QJGSTNB1","name":"ModQueueItem loaded","description":"A new moderation item is ready for review.","synonyms":"loaded, fetched, available, ready","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}],"listened":true},{"key":"ModQueueItemLoadFailed","id":"evt_1CVSCEQ787KM3N8ZSQ135J52GZ","name":"ModQueueItem load failed","description":"Indicates failure to load moderation queue items.","synonyms":"error, failure, problem, failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"OPEN","id":"evt_68G0QQJ8HA48NADXMJQNXX9P6Y","name":"Open","description":"Summons the moderation queue (host nav/affordance requests it).","synonyms":"open, show, review, view queue, moderation queue","tier":"domain","listened":true},{"key":"ModQueueItemReviewed","id":"evt_HEKER7BN65TK2RTQR77C8FBCZP","name":"ModQueueItem reviewed","description":"Signals a moderation queue item has been reviewed and a verdict recorded.","synonyms":"reviewed, processed, judged, completed","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"payloadEntity":"ModQueueItem","listened":true},{"key":"ModQueueItemReviewFailed","id":"evt_6J8ERJFXJSYSCWC9A4FBBB1R82","name":"ModQueueItem review failed","description":"Indicates a failure to load or process a moderation queue item.","synonyms":"error, failure, problem, issue","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"CLOSE","id":"evt_B5PY7T65QY2VZ88PRBE6Q2157H","name":"Close","description":"Dismisses the moderation queue overlay.","synonyms":"dismiss, hide, cancel, done","tier":"domain","listened":true},{"key":"APPROVE","id":"evt_7AA5FR4TBVD5XMQK7EFFX9F309","name":"Approve","description":"Signals that a moderation item has been approved.","synonyms":"accept, confirm, pass","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}],"listened":true},{"key":"REJECT","id":"evt_47W3ERDMPSTBCY6Q8N7RW0GH23","name":"Reject","description":"Signals that a moderation item has been rejected.","synonyms":"deny, dismiss, decline","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}],"listened":true},{"key":"ESCALATE","id":"evt_FZN7M4DEV7QDKJA1V3KAK0DZXM","name":"Escalate","description":"Signals a flagged item requires further review.","synonyms":"flag, defer, elevate","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"targetId","type":"string","required":true},{"name":"targetType","type":"string","required":true},{"name":"reason","type":"string","values":["spam","abuse","off-topic","misinformation","nsfw","other"]},{"name":"flagCount","type":"number"},{"name":"status","type":"string","values":["pending","approved","rejected","escalated"]},{"name":"reviewedBy","type":"string"},{"name":"reviewedAt","type":"datetime"},{"name":"notes","type":"string"},{"name":"seedRow","type":"ModQueueItem"}],"entity":"ModQueueItem"}],"listened":true}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_864PY0T5Y52Z2TDNJVCFVQGMZY","effects":[["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"idle","to":"idle","event":"ModQueueItemLoaded","eventId":"evt_7FH89FQ0G7G83RFDN6QJGSTNB1"},{"from":"idle","to":"idle","event":"ModQueueItemLoadFailed","eventId":"evt_1CVSCEQ787KM3N8ZSQ135J52GZ","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't load the moderation queue — ","@payload.error"],"dismissible":true}]]},{"from":"idle","to":"loading","event":"OPEN","eventId":"evt_68G0QQJ8HA48NADXMJQNXX9P6Y","guard":"@config.enabled","effects":[["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}],["render-ui","@config.reviewSlot",{"align":"center","children":["@trait.LoadingSpinner","@trait.LoadingText"],"className":"py-12","direction":"vertical","gap":"md","type":"stack"}]]},{"from":"loading","to":"idle","event":"INIT","eventId":"evt_864PY0T5Y52Z2TDNJVCFVQGMZY","effects":[["render-ui","@config.reviewSlot",null],["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"loading","to":"loading","event":"ModQueueItemLoaded","eventId":"evt_7FH89FQ0G7G83RFDN6QJGSTNB1","guard":[">",["array/len",["array/filter","@payload.data",["fn","row",["and",["=",["object/get","@row","status"],"pending"],[">=",["object/get","@row","flagCount"],"@config.autoEscalateThreshold"]]]]],0],"effects":[["set","@entity.id",["object/get",["array/first",["array/filter","@payload.data",["fn","row",["and",["=",["object/get","@row","status"],"pending"],[">=",["object/get","@row","flagCount"],"@config.autoEscalateThreshold"]]]]],"id"]],["persist","update","ModQueueItem",{"id":"@entity.id","status":"escalated"},{"emit":{"failure":"ModQueueItemReviewFailed","success":"ModQueueItemReviewed"}}]]},{"from":"loading","to":"loading","event":"ModQueueItemReviewed","eventId":"evt_HEKER7BN65TK2RTQR77C8FBCZP","effects":[["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"loading","to":"error","event":"ModQueueItemReviewFailed","eventId":"evt_6J8ERJFXJSYSCWC9A4FBBB1R82","effects":[["render-ui","@config.reviewSlot",{"children":["@trait.ErrorAlert"],"type":"stack"}]]},{"from":"loading","to":"reviewing","event":"ModQueueItemLoaded","eventId":"evt_7FH89FQ0G7G83RFDN6QJGSTNB1","guard":["=",["array/len",["array/filter","@payload.data",["fn","row",["and",["=",["object/get","@row","status"],"pending"],[">=",["object/get","@row","flagCount"],"@config.autoEscalateThreshold"]]]]],0],"effects":[["render-ui","@config.reviewSlot",{"children":[{"align":"center","children":[{"align":"center","children":["@trait.ShieldAlertIcon","@trait.ModQueueTitle"],"direction":"horizontal","gap":"sm","type":"stack"},"@trait.CloseButton"],"direction":"horizontal","gap":"sm","justify":"between","type":"stack"},"@trait.ModQueueDivider",{"cols":1,"entity":"@payload.data","fields":[{"label":"Type","name":"targetType","variant":"badge"},{"label":"Reason","name":"reason","variant":"caption"},{"label":"Flags","name":"flagCount","variant":"caption"},{"label":"Status","name":"status","variant":"badge"}],"gap":"sm","itemActions":["array/filter","@config.itemActions",["fn","action",["or",["=",["array/len",["object/get","@action","roles",[]]],0],["array/includes",["object/get","@action","roles",[]],"@config.viewerRole"]]]],"look":"@config.tableLook","type":"data-grid"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"loading","to":"error","event":"ModQueueItemLoadFailed","eventId":"evt_1CVSCEQ787KM3N8ZSQ135J52GZ","effects":[["render-ui","@config.reviewSlot",{"children":["@trait.ErrorAlert"],"type":"stack"}]]},{"from":"loading","to":"idle","event":"CLOSE","eventId":"evt_B5PY7T65QY2VZ88PRBE6Q2157H","effects":[["render-ui","@config.reviewSlot",null],["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"reviewing","to":"idle","event":"INIT","eventId":"evt_864PY0T5Y52Z2TDNJVCFVQGMZY","effects":[["render-ui","@config.reviewSlot",null],["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"reviewing","to":"reviewing","event":"APPROVE","eventId":"evt_7AA5FR4TBVD5XMQK7EFFX9F309","effects":[["persist","update","ModQueueItem",{"id":"@payload.row.id","status":"approved"},{"emit":{"failure":"ModQueueItemReviewFailed","success":"ModQueueItemReviewed"}}]]},{"from":"reviewing","to":"reviewing","event":"REJECT","eventId":"evt_47W3ERDMPSTBCY6Q8N7RW0GH23","effects":[["persist","update","ModQueueItem",{"id":"@payload.row.id","status":"rejected"},{"emit":{"failure":"ModQueueItemReviewFailed","success":"ModQueueItemReviewed"}}]]},{"from":"reviewing","to":"reviewing","event":"ESCALATE","eventId":"evt_FZN7M4DEV7QDKJA1V3KAK0DZXM","effects":[["persist","update","ModQueueItem",{"id":"@payload.row.id","status":"escalated"},{"emit":{"failure":"ModQueueItemReviewFailed","success":"ModQueueItemReviewed"}}]]},{"from":"reviewing","to":"loading","event":"ModQueueItemReviewed","eventId":"evt_HEKER7BN65TK2RTQR77C8FBCZP","effects":[["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"reviewing","to":"reviewing","event":"ModQueueItemReviewFailed","eventId":"evt_6J8ERJFXJSYSCWC9A4FBBB1R82","effects":[["render-ui","@config.reviewSlot",{"children":["@trait.ErrorAlert"],"type":"stack"}]]},{"from":"reviewing","to":"idle","event":"CLOSE","eventId":"evt_B5PY7T65QY2VZ88PRBE6Q2157H","effects":[["render-ui","@config.reviewSlot",null],["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"error","to":"idle","event":"INIT","eventId":"evt_864PY0T5Y52Z2TDNJVCFVQGMZY","effects":[["render-ui","@config.reviewSlot",null],["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]},{"from":"error","to":"loading","event":"OPEN","eventId":"evt_68G0QQJ8HA48NADXMJQNXX9P6Y","effects":[["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}],["render-ui","@config.reviewSlot",{"children":["@trait.ErrorSpinner"],"type":"stack"}]]},{"from":"error","to":"idle","event":"CLOSE","eventId":"evt_B5PY7T65QY2VZ88PRBE6Q2157H","effects":[["render-ui","@config.reviewSlot",null],["fetch","ModQueueItem",{"emit":{"failure":"ModQueueItemLoadFailed","success":"ModQueueItemLoaded"}}]]}]},"config":{"itemActions":{"type":"[ItemAction]","default":[{"event":"APPROVE","icon":"check","label":"Approve","variant":"primary"},{"event":"REJECT","icon":"x","label":"Reject","variant":"danger"},{"event":"ESCALATE","icon":"alert-triangle","label":"Escalate","variant":"secondary"}],"label":"Row actions","description":"Actions offered on each row; give an item `roles` to show it only to those viewer roles.","tier":"presentation","items":{"type":"object","properties":{"variant":{"name":"variant","type":"string","required":false},"icon":{"name":"icon","type":"string","required":false},"label":{"name":"label","type":"string","required":true},"roles":{"name":"roles","type":"array","required":false,"items":{"type":"string"}},"when":{"name":"when","type":"SExpr","required":false},"event":{"name":"event","type":"event","required":false}}}},"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"]},"reviewSlot":{"type":"slot","default":"modal","label":"Review slot","description":"UI slot the moderation queue renders into. Defaults to the modal overlay so it never seizes the host's main content; summoned via OPEN, cleared via CLOSE.","tier":"internal"},"viewerRole":{"type":"string","default":"","label":"Viewer's role","description":"The signed-in viewer's role that each action's `roles` is checked against. Bind it explicitly at the call site (e.g. `viewerRole: @user.role`) in an app whose identity carries a role; left empty, only actions with no `roles` show.","tier":"policy"},"title":{"type":"string","default":"Moderation Queue","label":"Section title","description":"Heading shown above the moderation queue","tier":"presentation"},"enabled":{"type":"boolean","default":false,"label":"Enable moderation queue","description":"Send submissions to a review queue before they go live. Off by default.","synonyms":"enable, turn on, enforce, require, activate, apply, switch on, moderation, moderation queue, content review queue, flag for review, content moderation, review flagged content, abuse review, spam queue, report queue","tier":"policy"},"autoEscalateThreshold":{"type":"number","default":5,"label":"Auto-escalate at","description":"Flag count after which an item is auto-escalated to senior review","tier":"policy"}},"scope":"collection"}],"pages":[{"name":"ModQueueItemReviewPage","id":"pag_ESNW6KMWG1E80NKZT5J9WWWVH3","path":"/modqueueitems/review","traits":[{"ref":"ModQueueItemReview","refId":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"}]}],"types":{"ItemAction":[{"name":"label","type":"string","required":true},{"name":"event","type":"event"},{"name":"variant","type":"string"},{"name":"icon","type":"string"},{"name":"roles","type":"[string]"},{"name":"when","type":"SExpr"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN":{"id":"ent_HWMWAGJ6YJ3F913GGSENRBR0ZN","kind":"entity","bakedName":"ModQueueItem","curName":"ModQueueItem","renames":[],"owner":"workspace"},"evt_1CVSCEQ787KM3N8ZSQ135J52GZ":{"id":"evt_1CVSCEQ787KM3N8ZSQ135J52GZ","kind":"event","bakedName":"ModQueueItemLoadFailed","curName":"ModQueueItemLoadFailed","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_47W3ERDMPSTBCY6Q8N7RW0GH23":{"id":"evt_47W3ERDMPSTBCY6Q8N7RW0GH23","kind":"event","bakedName":"REJECT","curName":"REJECT","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_68G0QQJ8HA48NADXMJQNXX9P6Y":{"id":"evt_68G0QQJ8HA48NADXMJQNXX9P6Y","kind":"event","bakedName":"OPEN","curName":"OPEN","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_6J8ERJFXJSYSCWC9A4FBBB1R82":{"id":"evt_6J8ERJFXJSYSCWC9A4FBBB1R82","kind":"event","bakedName":"ModQueueItemReviewFailed","curName":"ModQueueItemReviewFailed","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_7AA5FR4TBVD5XMQK7EFFX9F309":{"id":"evt_7AA5FR4TBVD5XMQK7EFFX9F309","kind":"event","bakedName":"APPROVE","curName":"APPROVE","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_7FH89FQ0G7G83RFDN6QJGSTNB1":{"id":"evt_7FH89FQ0G7G83RFDN6QJGSTNB1","kind":"event","bakedName":"ModQueueItemLoaded","curName":"ModQueueItemLoaded","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_864PY0T5Y52Z2TDNJVCFVQGMZY":{"id":"evt_864PY0T5Y52Z2TDNJVCFVQGMZY","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_B5PY7T65QY2VZ88PRBE6Q2157H":{"id":"evt_B5PY7T65QY2VZ88PRBE6Q2157H","kind":"event","bakedName":"CLOSE","curName":"CLOSE","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_FZN7M4DEV7QDKJA1V3KAK0DZXM":{"id":"evt_FZN7M4DEV7QDKJA1V3KAK0DZXM","kind":"event","bakedName":"ESCALATE","curName":"ESCALATE","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"evt_HEKER7BN65TK2RTQR77C8FBCZP":{"id":"evt_HEKER7BN65TK2RTQR77C8FBCZP","kind":"event","bakedName":"ModQueueItemReviewed","curName":"ModQueueItemReviewed","renames":[],"owner":"workspace","parent":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB"},"orb_DFMBNHMTJZD9FNAFW5SWKNY5T6":{"id":"orb_DFMBNHMTJZD9FNAFW5SWKNY5T6","kind":"orbital","bakedName":"ModQueueItemOrbital","curName":"ModQueueItemOrbital","renames":[],"owner":"workspace"},"pag_ESNW6KMWG1E80NKZT5J9WWWVH3":{"id":"pag_ESNW6KMWG1E80NKZT5J9WWWVH3","kind":"page","bakedName":"ModQueueItemReviewPage","curName":"ModQueueItemReviewPage","renames":[],"owner":"workspace"},"trt_2SWA8ZXMYATF55ZVDDKSCREMTB":{"id":"trt_2SWA8ZXMYATF55ZVDDKSCREMTB","kind":"trait","bakedName":"ModQueueItemReview","curName":"ModQueueItemReview","renames":[],"owner":"workspace"},"trt_6X9QZAP7HJ3RS402J1K3821AK8":{"id":"trt_6X9QZAP7HJ3RS402J1K3821AK8","kind":"trait","bakedName":"ModQueueTitle","curName":"ModQueueTitle","renames":[],"owner":"workspace"},"trt_8H7CQXPNCWAPE18MPNV37CQ6E0":{"id":"trt_8H7CQXPNCWAPE18MPNV37CQ6E0","kind":"trait","bakedName":"CloseButton","curName":"CloseButton","renames":[],"owner":"workspace"},"trt_93RBGMA0H508JP99KXV59Q19KE":{"id":"trt_93RBGMA0H508JP99KXV59Q19KE","kind":"trait","bakedName":"LoadingText","curName":"LoadingText","renames":[],"owner":"workspace"},"trt_FSA7GSSMG2T81CHZ3NX6M0034Z":{"id":"trt_FSA7GSSMG2T81CHZ3NX6M0034Z","kind":"trait","bakedName":"ErrorSpinner","curName":"ErrorSpinner","renames":[],"owner":"workspace"},"trt_GW4NC2ZC13P0HJ3WBPRQEKNH8H":{"id":"trt_GW4NC2ZC13P0HJ3WBPRQEKNH8H","kind":"trait","bakedName":"LoadingSpinner","curName":"LoadingSpinner","renames":[],"owner":"workspace"},"trt_JE6C4PBYJ3Z91MWGPVFP03QB6R":{"id":"trt_JE6C4PBYJ3Z91MWGPVFP03QB6R","kind":"trait","bakedName":"ShieldAlertIcon","curName":"ShieldAlertIcon","renames":[],"owner":"workspace"},"trt_JWXYCN0DW56Y2YW4T5DPCXRVEA":{"id":"trt_JWXYCN0DW56Y2YW4T5DPCXRVEA","kind":"trait","bakedName":"ModQueueDivider","curName":"ModQueueDivider","renames":[],"owner":"workspace"},"trt_PWGZZSDHP0RV01KQBZEBQXV2SK":{"id":"trt_PWGZZSDHP0RV01KQBZEBQXV2SK","kind":"trait","bakedName":"ErrorAlert","curName":"ErrorAlert","renames":[],"owner":"workspace"}}}}