@almadar/std 16.237.0 → 16.238.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 (574) hide show
  1. package/behaviors/behaviors-registry.json +56939 -2084
  2. package/behaviors/lolo/agent/atoms/std-agent-context.lolo +65 -134
  3. package/behaviors/lolo/agent/atoms/std-agent-memory.lolo +162 -112
  4. package/behaviors/lolo/agent/atoms/std-agent-session.lolo +239 -115
  5. package/behaviors/lolo/agent/atoms/std-agent-tool-loop.lolo +96 -90
  6. package/behaviors/lolo/agent/atoms/std-agent-trace.lolo +133 -40
  7. package/behaviors/lolo/agent/organisms/std-agent-assistant.lolo +137 -0
  8. package/behaviors/lolo/infra/atoms/std-cache-aside.lolo +4 -17
  9. package/behaviors/lolo/infra/atoms/std-notification-preferences.lolo +21 -13
  10. package/behaviors/lolo/ui/avl/atoms/ui-avl-glyph.lolo +90 -0
  11. package/behaviors/lolo/ui/avl/atoms/ui-avl-state-machine.lolo +90 -0
  12. package/behaviors/lolo/ui/avl/atoms/ui-behavior-view.lolo +80 -0
  13. package/behaviors/lolo/ui/avl/atoms/ui-module-card.lolo +80 -0
  14. package/behaviors/lolo/ui/core/atoms/std-billable-hour.lolo +12 -21
  15. package/behaviors/lolo/ui/core/atoms/std-board.lolo +5 -32
  16. package/behaviors/lolo/ui/core/atoms/std-book-reader.lolo +19 -11
  17. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +10 -2
  18. package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +4 -16
  19. package/behaviors/lolo/ui/core/atoms/std-detail-layout.lolo +3 -1
  20. package/behaviors/lolo/ui/core/atoms/std-esign-flow.lolo +21 -13
  21. package/behaviors/lolo/ui/core/atoms/std-esign-request.lolo +12 -2
  22. package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +12 -10
  23. package/behaviors/lolo/ui/core/atoms/std-file-store.lolo +27 -71
  24. package/behaviors/lolo/ui/core/atoms/std-gantt-schedule.lolo +21 -13
  25. package/behaviors/lolo/ui/core/atoms/std-image-upload-multi.lolo +6 -20
  26. package/behaviors/lolo/ui/core/atoms/std-list.lolo +21 -13
  27. package/behaviors/lolo/ui/core/atoms/std-multi-party-flow.lolo +28 -14
  28. package/behaviors/lolo/ui/core/atoms/std-prose.lolo +7 -1
  29. package/behaviors/lolo/ui/core/atoms/std-rating-review.lolo +23 -8
  30. package/behaviors/lolo/ui/core/atoms/std-record-detail.lolo +126 -18
  31. package/behaviors/lolo/ui/core/atoms/std-recurrence.lolo +24 -20
  32. package/behaviors/lolo/ui/core/atoms/std-related.lolo +36 -25
  33. package/behaviors/lolo/ui/core/atoms/std-saved-search.lolo +14 -21
  34. package/behaviors/lolo/ui/core/atoms/std-scoped-list.lolo +143 -0
  35. package/behaviors/lolo/ui/core/atoms/std-selection.lolo +27 -14
  36. package/behaviors/lolo/ui/core/atoms/std-signature-capture.lolo +1 -13
  37. package/behaviors/lolo/ui/core/atoms/std-slide-deck.lolo +2 -2
  38. package/behaviors/lolo/ui/core/atoms/std-step-flow.lolo +4 -16
  39. package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +24 -80
  40. package/behaviors/lolo/ui/core/atoms/std-thread.lolo +92 -31
  41. package/behaviors/lolo/ui/core/atoms/std-tree.lolo +18 -22
  42. package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +36 -82
  43. package/behaviors/lolo/ui/core/atoms/std-vote.lolo +2 -39
  44. package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +20 -10
  45. package/behaviors/lolo/ui/core/atoms/ui-animated-graphic.lolo +90 -0
  46. package/behaviors/lolo/ui/core/atoms/ui-animated-reveal.lolo +90 -0
  47. package/behaviors/lolo/ui/core/atoms/ui-aside.lolo +90 -0
  48. package/behaviors/lolo/ui/core/atoms/ui-atlas-image.lolo +16 -0
  49. package/behaviors/lolo/ui/core/atoms/ui-atlas-panel.lolo +16 -0
  50. package/behaviors/lolo/ui/core/atoms/ui-avatar.lolo +91 -1
  51. package/behaviors/lolo/ui/core/atoms/ui-badge.lolo +90 -0
  52. package/behaviors/lolo/ui/core/atoms/ui-box.lolo +98 -13
  53. package/behaviors/lolo/ui/core/atoms/ui-button.lolo +90 -0
  54. package/behaviors/lolo/ui/core/atoms/ui-card.lolo +91 -1
  55. package/behaviors/lolo/ui/core/atoms/ui-center.lolo +90 -0
  56. package/behaviors/lolo/ui/core/atoms/ui-checkbox.lolo +112 -0
  57. package/behaviors/lolo/ui/core/atoms/ui-confetti-effect.lolo +90 -0
  58. package/behaviors/lolo/ui/core/atoms/ui-day-cell.lolo +90 -0
  59. package/behaviors/lolo/ui/core/atoms/ui-dialog.lolo +90 -0
  60. package/behaviors/lolo/ui/core/atoms/ui-divider.lolo +90 -0
  61. package/behaviors/lolo/ui/core/atoms/ui-filter-pill.lolo +90 -0
  62. package/behaviors/lolo/ui/core/atoms/ui-flip-container.lolo +90 -0
  63. package/behaviors/lolo/ui/core/atoms/ui-game-icon.lolo +90 -0
  64. package/behaviors/lolo/ui/core/atoms/ui-hstack.lolo +90 -10
  65. package/behaviors/lolo/ui/core/atoms/ui-icon.lolo +90 -0
  66. package/behaviors/lolo/ui/core/atoms/ui-image.lolo +90 -0
  67. package/behaviors/lolo/ui/core/atoms/ui-infinite-scroll-sentinel.lolo +90 -0
  68. package/behaviors/lolo/ui/core/atoms/ui-input.lolo +11 -1
  69. package/behaviors/lolo/ui/core/atoms/ui-label.lolo +91 -1
  70. package/behaviors/lolo/ui/core/atoms/ui-law-reference-tooltip.lolo +90 -0
  71. package/behaviors/lolo/ui/core/atoms/ui-overlay.lolo +90 -0
  72. package/behaviors/lolo/ui/core/atoms/ui-pattern-tile.lolo +90 -0
  73. package/behaviors/lolo/ui/core/atoms/ui-presence.lolo +90 -0
  74. package/behaviors/lolo/ui/core/atoms/ui-progress-bar.lolo +91 -1
  75. package/behaviors/lolo/ui/core/atoms/ui-radio.lolo +106 -0
  76. package/behaviors/lolo/ui/core/atoms/ui-range-slider.lolo +122 -0
  77. package/behaviors/lolo/ui/core/atoms/ui-section-header.lolo +90 -0
  78. package/behaviors/lolo/ui/core/atoms/ui-select.lolo +95 -0
  79. package/behaviors/lolo/ui/core/atoms/ui-spacer.lolo +90 -0
  80. package/behaviors/lolo/ui/core/atoms/ui-sparkline.lolo +90 -0
  81. package/behaviors/lolo/ui/core/atoms/ui-spinner.lolo +90 -0
  82. package/behaviors/lolo/ui/core/atoms/ui-stack.lolo +90 -10
  83. package/behaviors/lolo/ui/core/atoms/ui-status-dot.lolo +90 -0
  84. package/behaviors/lolo/ui/core/atoms/ui-svg-branch.lolo +90 -0
  85. package/behaviors/lolo/ui/core/atoms/ui-svg-connection.lolo +90 -0
  86. package/behaviors/lolo/ui/core/atoms/ui-svg-flow.lolo +90 -0
  87. package/behaviors/lolo/ui/core/atoms/ui-svg-grid.lolo +90 -0
  88. package/behaviors/lolo/ui/core/atoms/ui-svg-lobe.lolo +90 -0
  89. package/behaviors/lolo/ui/core/atoms/ui-svg-mesh.lolo +90 -0
  90. package/behaviors/lolo/ui/core/atoms/ui-svg-morph.lolo +90 -0
  91. package/behaviors/lolo/ui/core/atoms/ui-svg-node.lolo +90 -0
  92. package/behaviors/lolo/ui/core/atoms/ui-svg-pulse.lolo +90 -0
  93. package/behaviors/lolo/ui/core/atoms/ui-svg-ring.lolo +90 -0
  94. package/behaviors/lolo/ui/core/atoms/ui-svg-shield.lolo +90 -0
  95. package/behaviors/lolo/ui/core/atoms/ui-svg-stack.lolo +90 -0
  96. package/behaviors/lolo/ui/core/atoms/ui-switch.lolo +106 -0
  97. package/behaviors/lolo/ui/core/atoms/ui-text-highlight.lolo +122 -0
  98. package/behaviors/lolo/ui/core/atoms/ui-textarea.lolo +100 -0
  99. package/behaviors/lolo/ui/core/atoms/ui-theme-toggle.lolo +90 -0
  100. package/behaviors/lolo/ui/core/atoms/ui-time-slot-cell.lolo +106 -0
  101. package/behaviors/lolo/ui/core/atoms/ui-trend-indicator.lolo +91 -1
  102. package/behaviors/lolo/ui/core/atoms/ui-typewriter-text.lolo +90 -0
  103. package/behaviors/lolo/ui/core/atoms/ui-typography.lolo +96 -11
  104. package/behaviors/lolo/ui/core/atoms/ui-vstack.lolo +90 -10
  105. package/behaviors/lolo/ui/core/molecules/ui-accordion.lolo +90 -0
  106. package/behaviors/lolo/ui/core/molecules/ui-activation-block.lolo +90 -0
  107. package/behaviors/lolo/ui/core/molecules/ui-alert.lolo +90 -0
  108. package/behaviors/lolo/ui/core/molecules/ui-animated-counter.lolo +90 -0
  109. package/behaviors/lolo/ui/core/molecules/ui-bloom-quiz-block.lolo +90 -0
  110. package/behaviors/lolo/ui/core/molecules/ui-branching-logic-builder.lolo +90 -0
  111. package/behaviors/lolo/ui/core/molecules/ui-breadcrumb.lolo +90 -0
  112. package/behaviors/lolo/ui/core/molecules/ui-calendar-grid.lolo +122 -0
  113. package/behaviors/lolo/ui/core/molecules/ui-carousel.lolo +90 -0
  114. package/behaviors/lolo/ui/core/molecules/ui-change-list.lolo +90 -0
  115. package/behaviors/lolo/ui/core/molecules/ui-chart-legend.lolo +90 -0
  116. package/behaviors/lolo/ui/core/molecules/ui-chart.lolo +93 -3
  117. package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +202 -0
  118. package/behaviors/lolo/ui/core/molecules/ui-command-palette.lolo +106 -0
  119. package/behaviors/lolo/ui/core/molecules/ui-commit-row.lolo +123 -1
  120. package/behaviors/lolo/ui/core/molecules/ui-confirm-dialog.lolo +90 -0
  121. package/behaviors/lolo/ui/core/molecules/ui-connection-block.lolo +90 -0
  122. package/behaviors/lolo/ui/core/molecules/ui-container.lolo +92 -2
  123. package/behaviors/lolo/ui/core/molecules/ui-content-renderer.lolo +97 -7
  124. package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +125 -2
  125. package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +126 -3
  126. package/behaviors/lolo/ui/core/molecules/ui-date-range-picker.lolo +106 -0
  127. package/behaviors/lolo/ui/core/molecules/ui-date-range-selector.lolo +90 -0
  128. package/behaviors/lolo/ui/core/molecules/ui-doc-breadcrumb.lolo +90 -0
  129. package/behaviors/lolo/ui/core/molecules/ui-doc-pagination.lolo +90 -0
  130. package/behaviors/lolo/ui/core/molecules/ui-doc-search.lolo +90 -0
  131. package/behaviors/lolo/ui/core/molecules/ui-doc-sidebar.lolo +90 -0
  132. package/behaviors/lolo/ui/core/molecules/ui-doc-toc.lolo +90 -0
  133. package/behaviors/lolo/ui/core/molecules/ui-document-details.lolo +138 -0
  134. package/behaviors/lolo/ui/core/molecules/ui-document-panel.lolo +122 -0
  135. package/behaviors/lolo/ui/core/molecules/ui-document-viewer.lolo +90 -0
  136. package/behaviors/lolo/ui/core/molecules/ui-drawer.lolo +90 -0
  137. package/behaviors/lolo/ui/core/molecules/ui-edge-decoration.lolo +10 -0
  138. package/behaviors/lolo/ui/core/molecules/ui-emoji-picker.lolo +90 -0
  139. package/behaviors/lolo/ui/core/molecules/ui-empty-state.lolo +91 -1
  140. package/behaviors/lolo/ui/core/molecules/ui-error-boundary.lolo +10 -0
  141. package/behaviors/lolo/ui/core/molecules/ui-error-state.lolo +90 -0
  142. package/behaviors/lolo/ui/core/molecules/ui-feature-card.lolo +90 -0
  143. package/behaviors/lolo/ui/core/molecules/ui-feature-grid.lolo +90 -0
  144. package/behaviors/lolo/ui/core/molecules/ui-file-tree.lolo +90 -0
  145. package/behaviors/lolo/ui/core/molecules/ui-filter-group.lolo +122 -0
  146. package/behaviors/lolo/ui/core/molecules/ui-flex.lolo +90 -0
  147. package/behaviors/lolo/ui/core/molecules/ui-flip-card.lolo +90 -0
  148. package/behaviors/lolo/ui/core/molecules/ui-floating-action-button.lolo +91 -1
  149. package/behaviors/lolo/ui/core/molecules/ui-floating-toolbar.lolo +90 -0
  150. package/behaviors/lolo/ui/core/molecules/ui-form-actions.lolo +90 -0
  151. package/behaviors/lolo/ui/core/molecules/ui-form-field.lolo +90 -0
  152. package/behaviors/lolo/ui/core/molecules/ui-form-layout.lolo +96 -6
  153. package/behaviors/lolo/ui/core/molecules/ui-form-section-header.lolo +90 -0
  154. package/behaviors/lolo/ui/core/molecules/ui-fx-overlay.lolo +90 -0
  155. package/behaviors/lolo/ui/core/molecules/ui-gantt.lolo +122 -0
  156. package/behaviors/lolo/ui/core/molecules/ui-geometric-pattern.lolo +10 -0
  157. package/behaviors/lolo/ui/core/molecules/ui-gradient-divider.lolo +90 -0
  158. package/behaviors/lolo/ui/core/molecules/ui-graph-canvas.lolo +95 -0
  159. package/behaviors/lolo/ui/core/molecules/ui-graph-view.lolo +90 -0
  160. package/behaviors/lolo/ui/core/molecules/ui-grid.lolo +95 -5
  161. package/behaviors/lolo/ui/core/molecules/ui-header.lolo +90 -0
  162. package/behaviors/lolo/ui/core/molecules/ui-icon-button.lolo +90 -0
  163. package/behaviors/lolo/ui/core/molecules/ui-import-preview-tree.lolo +90 -0
  164. package/behaviors/lolo/ui/core/molecules/ui-import-progress.lolo +90 -0
  165. package/behaviors/lolo/ui/core/molecules/ui-import-source-picker.lolo +90 -0
  166. package/behaviors/lolo/ui/core/molecules/ui-input-group.lolo +91 -1
  167. package/behaviors/lolo/ui/core/molecules/ui-jazari-state-machine.lolo +90 -0
  168. package/behaviors/lolo/ui/core/molecules/ui-lightbox.lolo +90 -0
  169. package/behaviors/lolo/ui/core/molecules/ui-likert-scale.lolo +90 -0
  170. package/behaviors/lolo/ui/core/molecules/ui-line-chart.lolo +90 -0
  171. package/behaviors/lolo/ui/core/molecules/ui-loading-state.lolo +90 -0
  172. package/behaviors/lolo/ui/core/molecules/ui-map-view.lolo +90 -0
  173. package/behaviors/lolo/ui/core/molecules/ui-markdown-content.lolo +90 -0
  174. package/behaviors/lolo/ui/core/molecules/ui-matrix-question.lolo +90 -0
  175. package/behaviors/lolo/ui/core/molecules/ui-menu.lolo +90 -0
  176. package/behaviors/lolo/ui/core/molecules/ui-meter.lolo +90 -0
  177. package/behaviors/lolo/ui/core/molecules/ui-modal.lolo +90 -0
  178. package/behaviors/lolo/ui/core/molecules/ui-navigation.lolo +90 -0
  179. package/behaviors/lolo/ui/core/molecules/ui-notification.lolo +91 -1
  180. package/behaviors/lolo/ui/core/molecules/ui-number-stepper.lolo +122 -0
  181. package/behaviors/lolo/ui/core/molecules/ui-option-constraint-group.lolo +90 -0
  182. package/behaviors/lolo/ui/core/molecules/ui-orbital-visualization.lolo +90 -0
  183. package/behaviors/lolo/ui/core/molecules/ui-page-header.lolo +90 -0
  184. package/behaviors/lolo/ui/core/molecules/ui-page-transition.lolo +90 -0
  185. package/behaviors/lolo/ui/core/molecules/ui-pagination.lolo +106 -0
  186. package/behaviors/lolo/ui/core/molecules/ui-popover.lolo +106 -0
  187. package/behaviors/lolo/ui/core/molecules/ui-positioned-canvas.lolo +122 -0
  188. package/behaviors/lolo/ui/core/molecules/ui-progress-dots.lolo +90 -0
  189. package/behaviors/lolo/ui/core/molecules/ui-pull-to-refresh.lolo +90 -0
  190. package/behaviors/lolo/ui/core/molecules/ui-qr-scanner.lolo +90 -0
  191. package/behaviors/lolo/ui/core/molecules/ui-quiz-block.lolo +90 -0
  192. package/behaviors/lolo/ui/core/molecules/ui-reflection-block.lolo +90 -0
  193. package/behaviors/lolo/ui/core/molecules/ui-relation-select.lolo +106 -0
  194. package/behaviors/lolo/ui/core/molecules/ui-repeatable-form-section.lolo +90 -0
  195. package/behaviors/lolo/ui/core/molecules/ui-reply-tree.lolo +122 -0
  196. package/behaviors/lolo/ui/core/molecules/ui-rich-text-editor.lolo +106 -0
  197. package/behaviors/lolo/ui/core/molecules/ui-scaled-diagram.lolo +90 -0
  198. package/behaviors/lolo/ui/core/molecules/ui-search-input.lolo +106 -0
  199. package/behaviors/lolo/ui/core/molecules/ui-section.lolo +90 -0
  200. package/behaviors/lolo/ui/core/molecules/ui-side-panel.lolo +90 -0
  201. package/behaviors/lolo/ui/core/molecules/ui-sidebar.lolo +106 -0
  202. package/behaviors/lolo/ui/core/molecules/ui-signature-pad.lolo +90 -0
  203. package/behaviors/lolo/ui/core/molecules/ui-simple-grid.lolo +90 -0
  204. package/behaviors/lolo/ui/core/molecules/ui-skeleton.lolo +93 -3
  205. package/behaviors/lolo/ui/core/molecules/ui-social-proof.lolo +90 -0
  206. package/behaviors/lolo/ui/core/molecules/ui-sortable-list.lolo +122 -0
  207. package/behaviors/lolo/ui/core/molecules/ui-split.lolo +90 -0
  208. package/behaviors/lolo/ui/core/molecules/ui-star-rating.lolo +122 -0
  209. package/behaviors/lolo/ui/core/molecules/ui-stat-display.lolo +90 -0
  210. package/behaviors/lolo/ui/core/molecules/ui-swipeable-row.lolo +138 -0
  211. package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +124 -1
  212. package/behaviors/lolo/ui/core/molecules/ui-tabs.lolo +90 -0
  213. package/behaviors/lolo/ui/core/molecules/ui-tag-input.lolo +90 -0
  214. package/behaviors/lolo/ui/core/molecules/ui-tooltip.lolo +90 -0
  215. package/behaviors/lolo/ui/core/molecules/ui-top-nav-item.lolo +90 -0
  216. package/behaviors/lolo/ui/core/molecules/ui-upload-drop-zone.lolo +90 -0
  217. package/behaviors/lolo/ui/core/molecules/ui-version-diff.lolo +90 -0
  218. package/behaviors/lolo/ui/core/molecules/ui-violation-alert.lolo +91 -1
  219. package/behaviors/lolo/ui/core/molecules/ui-vote-stack.lolo +91 -1
  220. package/behaviors/lolo/ui/core/molecules/ui-wizard-container.lolo +90 -0
  221. package/behaviors/lolo/ui/core/molecules/ui-wizard-navigation.lolo +138 -0
  222. package/behaviors/lolo/ui/core/molecules/ui-wizard-progress.lolo +90 -0
  223. package/behaviors/lolo/ui/core/organisms/ui-chat-bar.lolo +91 -1
  224. package/behaviors/lolo/ui/core/organisms/ui-code-runner-panel.lolo +90 -0
  225. package/behaviors/lolo/ui/core/organisms/ui-dashboard-grid.lolo +91 -1
  226. package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +336 -4
  227. package/behaviors/lolo/ui/core/organisms/ui-dock-layout.lolo +90 -0
  228. package/behaviors/lolo/ui/core/organisms/ui-drawer-slot.lolo +10 -0
  229. package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +127 -4
  230. package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +127 -4
  231. package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +127 -3
  232. package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +139 -1
  233. package/behaviors/lolo/ui/core/organisms/ui-form.lolo +139 -1
  234. package/behaviors/lolo/ui/core/organisms/ui-master-detail-layout.lolo +90 -0
  235. package/behaviors/lolo/ui/core/organisms/ui-master-detail.lolo +123 -1
  236. package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +123 -1
  237. package/behaviors/lolo/ui/core/organisms/ui-modal-slot.lolo +10 -0
  238. package/behaviors/lolo/ui/core/organisms/ui-runtime-debugger.lolo +90 -0
  239. package/behaviors/lolo/ui/core/organisms/ui-segment-renderer.lolo +90 -0
  240. package/behaviors/lolo/ui/core/organisms/ui-split-pane.lolo +106 -0
  241. package/behaviors/lolo/ui/core/organisms/ui-stat-card.lolo +124 -2
  242. package/behaviors/lolo/ui/core/organisms/ui-state-machine-view.lolo +92 -2
  243. package/behaviors/lolo/ui/core/organisms/ui-subagent-trace-panel.lolo +91 -1
  244. package/behaviors/lolo/ui/core/organisms/ui-tabbed-container.lolo +90 -0
  245. package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +122 -0
  246. package/behaviors/lolo/ui/core/organisms/ui-toast-slot.lolo +91 -1
  247. package/behaviors/lolo/ui/core/templates/ui-auth-layout.lolo +80 -0
  248. package/behaviors/lolo/ui/core/templates/ui-counter-template.lolo +91 -1
  249. package/behaviors/lolo/ui/core/templates/ui-generic-app-template.lolo +90 -0
  250. package/behaviors/lolo/ui/game/atoms/ui-action-palette.lolo +90 -0
  251. package/behaviors/lolo/ui/game/atoms/ui-action-tile.lolo +91 -1
  252. package/behaviors/lolo/ui/game/atoms/ui-canvas-2d.lolo +95 -0
  253. package/behaviors/lolo/ui/game/atoms/ui-canvas.lolo +91 -1
  254. package/behaviors/lolo/ui/game/atoms/ui-choice-button.lolo +90 -0
  255. package/behaviors/lolo/ui/game/atoms/ui-control-button.lolo +90 -0
  256. package/behaviors/lolo/ui/game/atoms/ui-control-grid.lolo +90 -0
  257. package/behaviors/lolo/ui/game/atoms/ui-dialogue-bubble.lolo +90 -0
  258. package/behaviors/lolo/ui/game/atoms/ui-draw-mesh.lolo +1 -1
  259. package/behaviors/lolo/ui/game/atoms/ui-draw-shape.lolo +2 -2
  260. package/behaviors/lolo/ui/game/atoms/ui-draw-sprite.lolo +1 -1
  261. package/behaviors/lolo/ui/game/atoms/ui-draw-text.lolo +3 -3
  262. package/behaviors/lolo/ui/game/atoms/ui-game-audio-toggle.lolo +90 -0
  263. package/behaviors/lolo/ui/game/atoms/ui-game-hud.lolo +90 -0
  264. package/behaviors/lolo/ui/game/atoms/ui-game-menu.lolo +90 -0
  265. package/behaviors/lolo/ui/game/atoms/ui-health-bar.lolo +90 -0
  266. package/behaviors/lolo/ui/game/atoms/ui-score-display.lolo +90 -0
  267. package/behaviors/lolo/ui/game/atoms/ui-sequence-bar.lolo +90 -0
  268. package/behaviors/lolo/ui/game/atoms/ui-stat-badge.lolo +90 -0
  269. package/behaviors/lolo/ui/game/atoms/ui-state-graph.lolo +90 -0
  270. package/behaviors/lolo/ui/game/atoms/ui-state-json-view.lolo +90 -0
  271. package/behaviors/lolo/ui/game/atoms/ui-trait-slot.lolo +123 -1
  272. package/behaviors/lolo/ui/learning/atoms/ui-algo-graph-canvas.lolo +90 -0
  273. package/behaviors/lolo/ui/learning/atoms/ui-algorithm-canvas.lolo +106 -0
  274. package/behaviors/lolo/ui/learning/atoms/ui-biology-canvas.lolo +106 -0
  275. package/behaviors/lolo/ui/learning/atoms/ui-chemistry-canvas.lolo +106 -0
  276. package/behaviors/lolo/ui/learning/atoms/ui-learning-canvas.lolo +112 -0
  277. package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +106 -0
  278. package/behaviors/lolo/ui/learning/atoms/ui-physics-canvas.lolo +106 -0
  279. package/behaviors/lolo-behavior-contracts.json +1 -1
  280. package/behaviors/registry/agent/atoms/std-agent-context.orb +299 -826
  281. package/behaviors/registry/agent/atoms/std-agent-memory.orb +858 -643
  282. package/behaviors/registry/agent/atoms/std-agent-session.orb +833 -770
  283. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +505 -707
  284. package/behaviors/registry/agent/atoms/std-agent-trace.orb +680 -195
  285. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +594 -0
  286. package/behaviors/registry/factory-signatures.json +1 -1
  287. package/behaviors/registry/infra/atoms/std-cache-aside.orb +172 -299
  288. package/behaviors/registry/infra/atoms/std-notification-preferences.orb +48 -14
  289. package/behaviors/registry/ui/avl/atoms/ui-avl-glyph.orb +236 -0
  290. package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +236 -0
  291. package/behaviors/registry/ui/avl/atoms/ui-behavior-view.orb +215 -0
  292. package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +215 -0
  293. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +26 -18
  294. package/behaviors/registry/ui/core/atoms/std-board.orb +10 -34
  295. package/behaviors/registry/ui/core/atoms/std-book-reader.orb +32 -13
  296. package/behaviors/registry/ui/core/atoms/std-browse.orb +108 -12
  297. package/behaviors/registry/ui/core/atoms/std-calendar.orb +8 -19
  298. package/behaviors/registry/ui/core/atoms/std-detail-layout.orb +3 -1
  299. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +48 -11
  300. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +28 -4
  301. package/behaviors/registry/ui/core/atoms/std-event-log.orb +42 -14
  302. package/behaviors/registry/ui/core/atoms/std-file-store.orb +56 -58
  303. package/behaviors/registry/ui/core/atoms/std-gantt-schedule.orb +44 -11
  304. package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +12 -16
  305. package/behaviors/registry/ui/core/atoms/std-list.orb +48 -11
  306. package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +91 -14
  307. package/behaviors/registry/ui/core/atoms/std-prose.orb +14 -1
  308. package/behaviors/registry/ui/core/atoms/std-rating-review.orb +79 -8
  309. package/behaviors/registry/ui/core/atoms/std-record-detail.orb +622 -66
  310. package/behaviors/registry/ui/core/atoms/std-recurrence.orb +108 -28
  311. package/behaviors/registry/ui/core/atoms/std-related.orb +82 -21
  312. package/behaviors/registry/ui/core/atoms/std-saved-search.orb +28 -18
  313. package/behaviors/registry/ui/core/atoms/std-scoped-list.orb +993 -0
  314. package/behaviors/registry/ui/core/atoms/std-selection.orb +62 -12
  315. package/behaviors/registry/ui/core/atoms/std-signature-capture.orb +2 -16
  316. package/behaviors/registry/ui/core/atoms/std-slide-deck.orb +2 -0
  317. package/behaviors/registry/ui/core/atoms/std-step-flow.orb +8 -8
  318. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +48 -64
  319. package/behaviors/registry/ui/core/atoms/std-thread.orb +863 -141
  320. package/behaviors/registry/ui/core/atoms/std-tree.orb +40 -18
  321. package/behaviors/registry/ui/core/atoms/std-version-history.orb +76 -68
  322. package/behaviors/registry/ui/core/atoms/std-vote.orb +4 -54
  323. package/behaviors/registry/ui/core/atoms/std-wizard.orb +70 -10
  324. package/behaviors/registry/ui/core/atoms/ui-animated-graphic.orb +236 -0
  325. package/behaviors/registry/ui/core/atoms/ui-animated-reveal.orb +236 -0
  326. package/behaviors/registry/ui/core/atoms/ui-aside.orb +236 -0
  327. package/behaviors/registry/ui/core/atoms/ui-atlas-image.orb +29 -0
  328. package/behaviors/registry/ui/core/atoms/ui-atlas-panel.orb +29 -0
  329. package/behaviors/registry/ui/core/atoms/ui-avatar.orb +236 -1
  330. package/behaviors/registry/ui/core/atoms/ui-badge.orb +236 -0
  331. package/behaviors/registry/ui/core/atoms/ui-box.orb +231 -10
  332. package/behaviors/registry/ui/core/atoms/ui-button.orb +236 -0
  333. package/behaviors/registry/ui/core/atoms/ui-card.orb +236 -1
  334. package/behaviors/registry/ui/core/atoms/ui-center.orb +236 -0
  335. package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +260 -0
  336. package/behaviors/registry/ui/core/atoms/ui-confetti-effect.orb +236 -0
  337. package/behaviors/registry/ui/core/atoms/ui-day-cell.orb +236 -0
  338. package/behaviors/registry/ui/core/atoms/ui-dialog.orb +236 -0
  339. package/behaviors/registry/ui/core/atoms/ui-divider.orb +236 -0
  340. package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +236 -0
  341. package/behaviors/registry/ui/core/atoms/ui-flip-container.orb +236 -0
  342. package/behaviors/registry/ui/core/atoms/ui-game-icon.orb +236 -0
  343. package/behaviors/registry/ui/core/atoms/ui-hstack.orb +225 -3
  344. package/behaviors/registry/ui/core/atoms/ui-icon.orb +236 -0
  345. package/behaviors/registry/ui/core/atoms/ui-image.orb +236 -0
  346. package/behaviors/registry/ui/core/atoms/ui-infinite-scroll-sentinel.orb +236 -0
  347. package/behaviors/registry/ui/core/atoms/ui-input.orb +21 -1
  348. package/behaviors/registry/ui/core/atoms/ui-label.orb +237 -1
  349. package/behaviors/registry/ui/core/atoms/ui-law-reference-tooltip.orb +236 -0
  350. package/behaviors/registry/ui/core/atoms/ui-overlay.orb +236 -0
  351. package/behaviors/registry/ui/core/atoms/ui-pattern-tile.orb +236 -0
  352. package/behaviors/registry/ui/core/atoms/ui-presence.orb +236 -0
  353. package/behaviors/registry/ui/core/atoms/ui-progress-bar.orb +236 -1
  354. package/behaviors/registry/ui/core/atoms/ui-radio.orb +252 -0
  355. package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +268 -0
  356. package/behaviors/registry/ui/core/atoms/ui-section-header.orb +236 -0
  357. package/behaviors/registry/ui/core/atoms/ui-select.orb +243 -0
  358. package/behaviors/registry/ui/core/atoms/ui-spacer.orb +236 -0
  359. package/behaviors/registry/ui/core/atoms/ui-sparkline.orb +236 -0
  360. package/behaviors/registry/ui/core/atoms/ui-spinner.orb +236 -0
  361. package/behaviors/registry/ui/core/atoms/ui-stack.orb +225 -3
  362. package/behaviors/registry/ui/core/atoms/ui-status-dot.orb +236 -0
  363. package/behaviors/registry/ui/core/atoms/ui-svg-branch.orb +236 -0
  364. package/behaviors/registry/ui/core/atoms/ui-svg-connection.orb +236 -0
  365. package/behaviors/registry/ui/core/atoms/ui-svg-flow.orb +236 -0
  366. package/behaviors/registry/ui/core/atoms/ui-svg-grid.orb +236 -0
  367. package/behaviors/registry/ui/core/atoms/ui-svg-lobe.orb +236 -0
  368. package/behaviors/registry/ui/core/atoms/ui-svg-mesh.orb +236 -0
  369. package/behaviors/registry/ui/core/atoms/ui-svg-morph.orb +236 -0
  370. package/behaviors/registry/ui/core/atoms/ui-svg-node.orb +236 -0
  371. package/behaviors/registry/ui/core/atoms/ui-svg-pulse.orb +236 -0
  372. package/behaviors/registry/ui/core/atoms/ui-svg-ring.orb +236 -0
  373. package/behaviors/registry/ui/core/atoms/ui-svg-shield.orb +236 -0
  374. package/behaviors/registry/ui/core/atoms/ui-svg-stack.orb +236 -0
  375. package/behaviors/registry/ui/core/atoms/ui-switch.orb +252 -0
  376. package/behaviors/registry/ui/core/atoms/ui-text-highlight.orb +268 -0
  377. package/behaviors/registry/ui/core/atoms/ui-textarea.orb +250 -0
  378. package/behaviors/registry/ui/core/atoms/ui-theme-toggle.orb +236 -0
  379. package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +252 -0
  380. package/behaviors/registry/ui/core/atoms/ui-trend-indicator.orb +236 -1
  381. package/behaviors/registry/ui/core/atoms/ui-typewriter-text.orb +236 -0
  382. package/behaviors/registry/ui/core/atoms/ui-typography.orb +231 -8
  383. package/behaviors/registry/ui/core/atoms/ui-vstack.orb +225 -3
  384. package/behaviors/registry/ui/core/molecules/ui-accordion.orb +236 -0
  385. package/behaviors/registry/ui/core/molecules/ui-activation-block.orb +236 -0
  386. package/behaviors/registry/ui/core/molecules/ui-alert.orb +236 -0
  387. package/behaviors/registry/ui/core/molecules/ui-animated-counter.orb +236 -0
  388. package/behaviors/registry/ui/core/molecules/ui-bloom-quiz-block.orb +236 -0
  389. package/behaviors/registry/ui/core/molecules/ui-branching-logic-builder.orb +236 -0
  390. package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +236 -0
  391. package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +268 -0
  392. package/behaviors/registry/ui/core/molecules/ui-carousel.orb +236 -0
  393. package/behaviors/registry/ui/core/molecules/ui-change-list.orb +236 -0
  394. package/behaviors/registry/ui/core/molecules/ui-chart-legend.orb +236 -0
  395. package/behaviors/registry/ui/core/molecules/ui-chart.orb +236 -3
  396. package/behaviors/registry/ui/core/molecules/ui-code-block.orb +348 -0
  397. package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +252 -0
  398. package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +268 -1
  399. package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +236 -0
  400. package/behaviors/registry/ui/core/molecules/ui-connection-block.orb +236 -0
  401. package/behaviors/registry/ui/core/molecules/ui-container.orb +236 -2
  402. package/behaviors/registry/ui/core/molecules/ui-content-renderer.orb +241 -7
  403. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +279 -0
  404. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +279 -1
  405. package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +252 -0
  406. package/behaviors/registry/ui/core/molecules/ui-date-range-selector.orb +236 -0
  407. package/behaviors/registry/ui/core/molecules/ui-doc-breadcrumb.orb +236 -0
  408. package/behaviors/registry/ui/core/molecules/ui-doc-pagination.orb +236 -0
  409. package/behaviors/registry/ui/core/molecules/ui-doc-search.orb +236 -0
  410. package/behaviors/registry/ui/core/molecules/ui-doc-sidebar.orb +236 -0
  411. package/behaviors/registry/ui/core/molecules/ui-doc-toc.orb +236 -0
  412. package/behaviors/registry/ui/core/molecules/ui-document-details.orb +284 -0
  413. package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +268 -0
  414. package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +236 -0
  415. package/behaviors/registry/ui/core/molecules/ui-drawer.orb +236 -0
  416. package/behaviors/registry/ui/core/molecules/ui-edge-decoration.orb +21 -0
  417. package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +236 -0
  418. package/behaviors/registry/ui/core/molecules/ui-empty-state.orb +236 -1
  419. package/behaviors/registry/ui/core/molecules/ui-error-boundary.orb +21 -0
  420. package/behaviors/registry/ui/core/molecules/ui-error-state.orb +236 -0
  421. package/behaviors/registry/ui/core/molecules/ui-feature-card.orb +236 -0
  422. package/behaviors/registry/ui/core/molecules/ui-feature-grid.orb +236 -0
  423. package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +236 -0
  424. package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +268 -0
  425. package/behaviors/registry/ui/core/molecules/ui-flex.orb +236 -0
  426. package/behaviors/registry/ui/core/molecules/ui-flip-card.orb +236 -0
  427. package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +236 -1
  428. package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +236 -0
  429. package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +236 -0
  430. package/behaviors/registry/ui/core/molecules/ui-form-field.orb +236 -0
  431. package/behaviors/registry/ui/core/molecules/ui-form-layout.orb +241 -6
  432. package/behaviors/registry/ui/core/molecules/ui-form-section-header.orb +236 -0
  433. package/behaviors/registry/ui/core/molecules/ui-fx-overlay.orb +236 -0
  434. package/behaviors/registry/ui/core/molecules/ui-gantt.orb +268 -0
  435. package/behaviors/registry/ui/core/molecules/ui-geometric-pattern.orb +21 -0
  436. package/behaviors/registry/ui/core/molecules/ui-gradient-divider.orb +236 -0
  437. package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +243 -0
  438. package/behaviors/registry/ui/core/molecules/ui-graph-view.orb +236 -0
  439. package/behaviors/registry/ui/core/molecules/ui-grid.orb +236 -5
  440. package/behaviors/registry/ui/core/molecules/ui-header.orb +236 -0
  441. package/behaviors/registry/ui/core/molecules/ui-icon-button.orb +236 -0
  442. package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +236 -0
  443. package/behaviors/registry/ui/core/molecules/ui-import-progress.orb +236 -0
  444. package/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +236 -0
  445. package/behaviors/registry/ui/core/molecules/ui-input-group.orb +236 -1
  446. package/behaviors/registry/ui/core/molecules/ui-jazari-state-machine.orb +236 -0
  447. package/behaviors/registry/ui/core/molecules/ui-lightbox.orb +236 -0
  448. package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +236 -0
  449. package/behaviors/registry/ui/core/molecules/ui-line-chart.orb +236 -0
  450. package/behaviors/registry/ui/core/molecules/ui-loading-state.orb +236 -0
  451. package/behaviors/registry/ui/core/molecules/ui-map-view.orb +236 -0
  452. package/behaviors/registry/ui/core/molecules/ui-markdown-content.orb +236 -0
  453. package/behaviors/registry/ui/core/molecules/ui-matrix-question.orb +236 -0
  454. package/behaviors/registry/ui/core/molecules/ui-menu.orb +236 -0
  455. package/behaviors/registry/ui/core/molecules/ui-meter.orb +236 -0
  456. package/behaviors/registry/ui/core/molecules/ui-modal.orb +236 -0
  457. package/behaviors/registry/ui/core/molecules/ui-navigation.orb +236 -0
  458. package/behaviors/registry/ui/core/molecules/ui-notification.orb +237 -1
  459. package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +268 -0
  460. package/behaviors/registry/ui/core/molecules/ui-option-constraint-group.orb +236 -0
  461. package/behaviors/registry/ui/core/molecules/ui-orbital-visualization.orb +236 -0
  462. package/behaviors/registry/ui/core/molecules/ui-page-header.orb +236 -0
  463. package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +236 -0
  464. package/behaviors/registry/ui/core/molecules/ui-pagination.orb +252 -0
  465. package/behaviors/registry/ui/core/molecules/ui-popover.orb +252 -0
  466. package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +268 -0
  467. package/behaviors/registry/ui/core/molecules/ui-progress-dots.orb +236 -0
  468. package/behaviors/registry/ui/core/molecules/ui-pull-to-refresh.orb +236 -0
  469. package/behaviors/registry/ui/core/molecules/ui-qr-scanner.orb +236 -0
  470. package/behaviors/registry/ui/core/molecules/ui-quiz-block.orb +236 -0
  471. package/behaviors/registry/ui/core/molecules/ui-reflection-block.orb +236 -0
  472. package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +252 -0
  473. package/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +236 -0
  474. package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +268 -0
  475. package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +252 -0
  476. package/behaviors/registry/ui/core/molecules/ui-scaled-diagram.orb +236 -0
  477. package/behaviors/registry/ui/core/molecules/ui-search-input.orb +252 -0
  478. package/behaviors/registry/ui/core/molecules/ui-section.orb +236 -0
  479. package/behaviors/registry/ui/core/molecules/ui-side-panel.orb +236 -0
  480. package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +252 -0
  481. package/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +236 -0
  482. package/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +236 -0
  483. package/behaviors/registry/ui/core/molecules/ui-skeleton.orb +242 -2
  484. package/behaviors/registry/ui/core/molecules/ui-social-proof.orb +236 -0
  485. package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +268 -0
  486. package/behaviors/registry/ui/core/molecules/ui-split.orb +236 -0
  487. package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +268 -0
  488. package/behaviors/registry/ui/core/molecules/ui-stat-display.orb +236 -0
  489. package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +284 -0
  490. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +277 -1
  491. package/behaviors/registry/ui/core/molecules/ui-tabs.orb +236 -0
  492. package/behaviors/registry/ui/core/molecules/ui-tag-input.orb +236 -0
  493. package/behaviors/registry/ui/core/molecules/ui-tooltip.orb +236 -0
  494. package/behaviors/registry/ui/core/molecules/ui-top-nav-item.orb +236 -0
  495. package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +236 -0
  496. package/behaviors/registry/ui/core/molecules/ui-version-diff.orb +236 -0
  497. package/behaviors/registry/ui/core/molecules/ui-violation-alert.orb +236 -1
  498. package/behaviors/registry/ui/core/molecules/ui-vote-stack.orb +236 -1
  499. package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +236 -0
  500. package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +284 -0
  501. package/behaviors/registry/ui/core/molecules/ui-wizard-progress.orb +236 -0
  502. package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +236 -1
  503. package/behaviors/registry/ui/core/organisms/ui-code-runner-panel.orb +236 -0
  504. package/behaviors/registry/ui/core/organisms/ui-dashboard-grid.orb +236 -1
  505. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +1167 -22
  506. package/behaviors/registry/ui/core/organisms/ui-dock-layout.orb +236 -0
  507. package/behaviors/registry/ui/core/organisms/ui-drawer-slot.orb +21 -0
  508. package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +280 -2
  509. package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +279 -3
  510. package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +289 -1
  511. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +284 -1
  512. package/behaviors/registry/ui/core/organisms/ui-form.orb +284 -1
  513. package/behaviors/registry/ui/core/organisms/ui-master-detail-layout.orb +236 -0
  514. package/behaviors/registry/ui/core/organisms/ui-master-detail.orb +268 -1
  515. package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +268 -1
  516. package/behaviors/registry/ui/core/organisms/ui-modal-slot.orb +21 -0
  517. package/behaviors/registry/ui/core/organisms/ui-runtime-debugger.orb +236 -0
  518. package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +236 -0
  519. package/behaviors/registry/ui/core/organisms/ui-split-pane.orb +252 -0
  520. package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +268 -2
  521. package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +236 -2
  522. package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +236 -1
  523. package/behaviors/registry/ui/core/organisms/ui-tabbed-container.orb +236 -0
  524. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +268 -0
  525. package/behaviors/registry/ui/core/organisms/ui-toast-slot.orb +236 -1
  526. package/behaviors/registry/ui/core/templates/ui-auth-layout.orb +215 -0
  527. package/behaviors/registry/ui/core/templates/ui-counter-template.orb +236 -1
  528. package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +236 -0
  529. package/behaviors/registry/ui/game/atoms/ui-action-palette.orb +236 -0
  530. package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +236 -1
  531. package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +243 -0
  532. package/behaviors/registry/ui/game/atoms/ui-canvas.orb +236 -1
  533. package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +236 -0
  534. package/behaviors/registry/ui/game/atoms/ui-control-button.orb +236 -0
  535. package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +236 -0
  536. package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +236 -0
  537. package/behaviors/registry/ui/game/atoms/ui-draw-mesh.orb +0 -1
  538. package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +0 -2
  539. package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +0 -1
  540. package/behaviors/registry/ui/game/atoms/ui-draw-text.orb +0 -3
  541. package/behaviors/registry/ui/game/atoms/ui-game-audio-toggle.orb +236 -0
  542. package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +236 -0
  543. package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +236 -0
  544. package/behaviors/registry/ui/game/atoms/ui-health-bar.orb +236 -0
  545. package/behaviors/registry/ui/game/atoms/ui-score-display.orb +236 -0
  546. package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +236 -0
  547. package/behaviors/registry/ui/game/atoms/ui-stat-badge.orb +236 -0
  548. package/behaviors/registry/ui/game/atoms/ui-state-graph.orb +236 -0
  549. package/behaviors/registry/ui/game/atoms/ui-state-json-view.orb +236 -0
  550. package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +268 -1
  551. package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +236 -0
  552. package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +252 -0
  553. package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +252 -0
  554. package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +252 -0
  555. package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +260 -0
  556. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +252 -0
  557. package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +252 -0
  558. package/dist/behaviors/exports-reader.js +14291 -7304
  559. package/dist/behaviors/functions/index.d.ts +4188 -339
  560. package/dist/behaviors/functions/index.js +14261 -7266
  561. package/dist/behaviors/index.d.ts +1 -1
  562. package/dist/behaviors/index.js +14292 -7305
  563. package/dist/behaviors/query.js +14291 -7304
  564. package/dist/behaviors-embeddings.hash.json +3 -3
  565. package/dist/behaviors-embeddings.json +23 -19
  566. package/dist/behaviors-registry.json +56939 -2084
  567. package/dist/index.d.ts +1 -1
  568. package/dist/index.js +14292 -7305
  569. package/dist/knob-embeddings.hash.json +3 -3
  570. package/dist/knob-embeddings.json +14821 -245
  571. package/dist/registry/factory-signatures.json +1 -1
  572. package/package.json +3 -3
  573. package/behaviors/lolo/agent/organisms/std-agent-rabit.lolo +0 -301
  574. package/behaviors/registry/agent/organisms/std-agent-rabit.orb +0 -2181
@@ -1,5 +1,5 @@
1
1
  app std-thread "1.3.0"
2
- "std-thread — forum-style nested replies with collapse. Owns ThreadPost (persistent). INIT fetches, scoped by @config.threadRootId when set (blank = every root, the default). REPLY persists a child post under @payload.parentId, stamped with the real @user identity. A consumer that mounts this as page comments forwards its own document-opened signal to SET_THREAD_ROOT { rootId }, which stamps @entity.replyRootId (scratch — the persisted threadRootId column is written only by the reply persist create) and refetches filtered by the payload; a plain INIT re-entry now also falls back through @entity.replyRootId before @config.threadRootId, so it stays scoped to the last SET_THREAD_ROOT instead of re-widening — only the after-create/after-select refetches still scope directly off their own event payload. Layer 3 variants override `bodyContent` to deliver chat-bubble, email-threaded, or linear-comments UX while inheriting the same trait, state machine, emits, and listens. A non-empty sectionTitle switches the default bodyContent into titled-comments mode: header + post list + a standalone composer button (without it an empty thread has no REPLY emitter at all — the affordance only existed per-row)."
2
+ "std-thread — forum-style nested replies with collapse. Owns ThreadPost (persistent). INIT fetches, scoped by @config.threadRootId when set (blank = every root, the default). The list holds top-level posts, each with its replies nested (one level). REPLY persists a child post under @payload.parentId in the same thread root, stamped with the real @user identity, and adds it to the parent's replies and replyCount. A consumer that mounts this as page comments forwards its own document-opened signal to SET_THREAD_ROOT { rootId }, which stamps @entity.replyRootId (scratch — the persisted threadRootId column is written only by the reply persist create) and refetches filtered by the payload; a plain INIT re-entry now also falls back through @entity.replyRootId before @config.threadRootId, so it stays scoped to the last SET_THREAD_ROOT instead of re-widening — only the after-create/after-select refetches still scope directly off their own event payload. Layer 3 variants override `bodyContent` to deliver chat-bubble, email-threaded, or linear-comments UX while inheriting the same trait, state machine, emits, and listens. A non-empty sectionTitle switches the default bodyContent into titled-comments mode: header + post list + a standalone composer button (without it an empty thread has no REPLY emitter at all — the affordance only existed per-row)."
3
3
  type ItemAction = { label : string!, event : event, icon : string, roles : [string], when : SExpr }
4
4
  orbital ThreadPostOrbital {
5
5
  uses RoleGate from "std/behaviors/std-role-gate"
@@ -20,18 +20,18 @@ orbital ThreadPostOrbital {
20
20
 
21
21
  type ThreadPostLoadFailed = Event { error : string, code : string } "Fired when the thread-post collection fails to load"
22
22
 
23
- ;; Bare entity alias, not { row: ThreadPost } — `persist create`'s success
24
- ;; emit is the created row itself (flat), matching @almadar/runtime's
25
- ;; EffectExecutor.ts (`successPayload = persisted ?? data`, emitted
26
- ;; directly) AND orbital-core's executor.rs (`executed_with_value(effect,
27
- ;; value)`), verified live 2026-08-30: a wrapped declaration validates and
28
- ;; compiles clean but silently returns undefined for every `?row.<field>`
29
- ;; access — no validator connects a persist-emit's declared shape to what
30
- ;; the effect that fires it actually produces.
31
- type ThreadPostCreated = Event ThreadPost "Fired after a new thread-post persists successfully"
23
+ ;; Flat, not { row: … }: `persist create`'s success emit is the stored row
24
+ ;; itself. Declared to the fields this atom reads back.
25
+ type ThreadPostCreated = Event { id : string!, threadRootId : string!, parentId : string } "Fired after a new thread-post persists successfully"
32
26
 
33
27
  type ThreadPostCreateFailed = Event { error : string, code : string } "Fired when a new thread-post fails to persist"
34
28
 
29
+ type ReplyParentLoaded = Event { data : ThreadPost! } "Fired when the post a new reply answers has loaded"
30
+
31
+ type ReplyParentLoadFailed = Event { error : string } "Fired when the post a new reply answers cannot be loaded"
32
+
33
+ type ReplyParentUpdated = Event ThreadPost "Fired after a new reply is added to its parent post's replies"
34
+
35
35
  type SetThreadRoot = Event { rootId : string! } "Fired to scope every ThreadPost fetch, and new-reply threadRootId stamping, to the descendants of one document root"
36
36
 
37
37
  entity ThreadPost [persistent: threadposts] {
@@ -49,6 +49,7 @@ orbital ThreadPostOrbital {
49
49
  replyDraft : string @intrinsic @description "Reply text being composed." = ""
50
50
  replyParentId : string @intrinsic @description "Post the reply being composed answers." = ""
51
51
  replyRootId : string @intrinsic @description "Thread root the reply being composed belongs to." = ""
52
+ lastReplyId : string @intrinsic @description "Reply just created, added to its parent post's replies." = ""
52
53
  }
53
54
 
54
55
  trait ThreadPostBrowse -> @rebindable ThreadPost [interaction, collection] {
@@ -58,10 +59,10 @@ orbital ThreadPostOrbital {
58
59
  INIT -> loading
59
60
  (fetch ThreadPost {
60
61
  emit: { failure: ThreadPostLoadFailed, success: ThreadPostLoaded }
61
- filter: (or ["=", (str/default @entity.replyRootId @config.threadRootId), ""] ["=", (object/get @entity threadRootId), (str/default @entity.replyRootId @config.threadRootId)])
62
+ filter: (and (or ["=", (str/default @entity.replyRootId @config.threadRootId), ""] ["=", (object/get @entity threadRootId), (str/default @entity.replyRootId @config.threadRootId)]) ["=", (str/default (object/get @entity parentId) ""), ""])
62
63
  include: (replies)
63
64
  })
64
- (render-ui main { size: sm, type: spinner })
65
+ (render-ui main { type: skeleton, variant: list, rows: 6 })
65
66
  ThreadPostLoaded -> browsing
66
67
  (render-ui main @config.bodyContent)
67
68
  ThreadPostLoadFailed -> error
@@ -74,20 +75,20 @@ orbital ThreadPostOrbital {
74
75
  (set @entity.replyRootId ?rootId)
75
76
  (fetch ThreadPost {
76
77
  emit: { failure: ThreadPostLoadFailed, success: ThreadPostLoaded }
77
- filter: (or ["=", ?rootId, ""] ["=", (object/get @entity threadRootId), ?rootId])
78
+ filter: (and (or ["=", ?rootId, ""] ["=", (object/get @entity threadRootId), ?rootId]) ["=", (str/default (object/get @entity parentId) ""), ""])
78
79
  include: (replies)
79
80
  })
80
- (render-ui main { size: sm, type: spinner })
81
+ (render-ui main { type: skeleton, variant: list, rows: 6 })
81
82
  }
82
83
 
83
84
  state browsing {
84
85
  INIT -> loading
85
86
  (fetch ThreadPost {
86
87
  emit: { failure: ThreadPostLoadFailed, success: ThreadPostLoaded }
87
- filter: (or ["=", (str/default @entity.replyRootId @config.threadRootId), ""] ["=", (object/get @entity threadRootId), (str/default @entity.replyRootId @config.threadRootId)])
88
+ filter: (and (or ["=", (str/default @entity.replyRootId @config.threadRootId), ""] ["=", (object/get @entity threadRootId), (str/default @entity.replyRootId @config.threadRootId)]) ["=", (str/default (object/get @entity parentId) ""), ""])
88
89
  include: (replies)
89
90
  })
90
- (render-ui main { size: sm, type: spinner })
91
+ (render-ui main { type: skeleton, variant: list, rows: 6 })
91
92
  ThreadPostLoaded -> browsing
92
93
  (render-ui main @config.bodyContent)
93
94
  ;; Inline reply: when the event already carries the composed text (e.g.
@@ -97,22 +98,23 @@ orbital ThreadPostOrbital {
97
98
  (persist create ThreadPost {
98
99
  authorId: @user.id
99
100
  authorName: @user.name
101
+ createdAt: @now
100
102
  content: ?content
101
103
  parentId: (str/default ?parentNodeId ?parentId)
102
- threadRootId: (str/default ?parentNodeId (str/default @entity.replyRootId (str/default @config.threadRootId root)))
104
+ threadRootId: (str/default @entity.replyRootId (str/default @config.threadRootId root))
103
105
  } {
104
106
  emit: { failure: ThreadPostCreateFailed, success: ThreadPostCreated }
105
107
  })
106
108
  ;; Reply with no text yet (e.g. an email "Reply" button) opens the composer.
107
109
  REPLY -> replying when ["=", (str/default ?content ""), ""]
108
110
  (set @entity.replyParentId (str/default ?parentNodeId ?parentId))
109
- (set @entity.replyRootId (str/default ?parentNodeId (str/default @entity.replyRootId (str/default @config.threadRootId root))))
110
111
  (render-ui main {
111
112
  children: [{
112
113
  content: "Write a reply"
113
114
  type: typography
114
115
  variant: h4
115
116
  }, {
117
+ aria-label: "Your reply"
116
118
  onChange: EDIT_REPLY
117
119
  placeholder: "Your reply…"
118
120
  type: textarea
@@ -145,12 +147,41 @@ orbital ThreadPostOrbital {
145
147
  ;; row's own scope, per the create effect's fallback chain) — NOT
146
148
  ;; ?row.threadRootId; ThreadPostCreated's payload is the created row
147
149
  ;; itself (see the type alias above), no `row` wrapper exists.
148
- ThreadPostCreated -> browsing
150
+ ThreadPostCreated -> browsing when (not ["=", (str/default ?parentId ""), ""])
149
151
  (set @entity.replyDraft "")
150
152
  (set @entity.replyParentId "")
153
+ (set @entity.lastReplyId ?id)
154
+ (fetch ThreadPost {
155
+ id: ?parentId
156
+ emit: { failure: ReplyParentLoadFailed, success: ReplyParentLoaded }
157
+ })
158
+ ThreadPostCreated -> browsing when ["=", (str/default ?parentId ""), ""]
159
+ (set @entity.replyDraft "")
160
+ (set @entity.replyParentId "")
161
+ (fetch ThreadPost {
162
+ emit: { failure: ThreadPostLoadFailed, success: ThreadPostLoaded }
163
+ filter: (and (or ["=", ?threadRootId, ""] ["=", (object/get @entity threadRootId), ?threadRootId]) ["=", (str/default (object/get @entity parentId) ""), ""])
164
+ include: (replies)
165
+ })
166
+ ReplyParentLoaded -> browsing
167
+ (persist update ThreadPost {
168
+ id: ?data.id
169
+ replies: (array/append (object/get ?data replies []) @entity.lastReplyId)
170
+ replyCount: (+ (object/get ?data replyCount 0) 1)
171
+ } {
172
+ emit: { failure: ThreadPostCreateFailed, success: ReplyParentUpdated }
173
+ })
174
+ ReplyParentLoadFailed -> browsing
175
+ (notify error (str/concat "Couldn't attach the reply to its post — " ?error))
176
+ (fetch ThreadPost {
177
+ emit: { failure: ThreadPostLoadFailed, success: ThreadPostLoaded }
178
+ filter: (and (or ["=", (str/default @entity.replyRootId @config.threadRootId), ""] ["=", (object/get @entity threadRootId), (str/default @entity.replyRootId @config.threadRootId)]) ["=", (str/default (object/get @entity parentId) ""), ""])
179
+ include: (replies)
180
+ })
181
+ ReplyParentUpdated -> browsing
151
182
  (fetch ThreadPost {
152
183
  emit: { failure: ThreadPostLoadFailed, success: ThreadPostLoaded }
153
- filter: (or ["=", ?threadRootId, ""] ["=", (object/get @entity threadRootId), ?threadRootId])
184
+ filter: (and (or ["=", ?threadRootId, ""] ["=", (object/get @entity threadRootId), ?threadRootId]) ["=", (str/default (object/get @entity parentId) ""), ""])
154
185
  include: (replies)
155
186
  })
156
187
  ;; SELECT's payload IS { id, row } (caller-constructed, unlike the
@@ -160,7 +191,7 @@ orbital ThreadPostOrbital {
160
191
  (set @entity.focusedRow ?row)
161
192
  (fetch ThreadPost {
162
193
  emit: { failure: ThreadPostLoadFailed, success: ThreadPostLoaded }
163
- filter: (or ["=", ?row.threadRootId, ""] ["=", (object/get @entity threadRootId), ?row.threadRootId])
194
+ filter: (and (or ["=", ?row.threadRootId, ""] ["=", (object/get @entity threadRootId), ?row.threadRootId]) ["=", (str/default (object/get @entity parentId) ""), ""])
164
195
  include: (replies)
165
196
  })
166
197
  ;; Inline composers (bodyContent overrides with their own textarea +
@@ -172,6 +203,7 @@ orbital ThreadPostOrbital {
172
203
  (persist create ThreadPost {
173
204
  authorId: @user.id
174
205
  authorName: @user.name
206
+ createdAt: @now
175
207
  content: @entity.replyDraft
176
208
  parentId: (str/default @entity.replyParentId "")
177
209
  threadRootId: (str/default @entity.replyRootId (str/default @config.threadRootId root))
@@ -201,10 +233,10 @@ orbital ThreadPostOrbital {
201
233
  (set @entity.replyRootId ?rootId)
202
234
  (fetch ThreadPost {
203
235
  emit: { failure: ThreadPostLoadFailed, success: ThreadPostLoaded }
204
- filter: (or ["=", ?rootId, ""] ["=", (object/get @entity threadRootId), ?rootId])
236
+ filter: (and (or ["=", ?rootId, ""] ["=", (object/get @entity threadRootId), ?rootId]) ["=", (str/default (object/get @entity parentId) ""), ""])
205
237
  include: (replies)
206
238
  })
207
- (render-ui main { size: sm, type: spinner })
239
+ (render-ui main { type: skeleton, variant: list, rows: 6 })
208
240
  }
209
241
 
210
242
  state replying {
@@ -214,6 +246,7 @@ orbital ThreadPostOrbital {
214
246
  (persist create ThreadPost {
215
247
  authorId: @user.id
216
248
  authorName: @user.name
249
+ createdAt: @now
217
250
  content: @entity.replyDraft
218
251
  parentId: (str/default @entity.replyParentId "")
219
252
  threadRootId: (str/default @entity.replyRootId (str/default @config.threadRootId root))
@@ -225,12 +258,20 @@ orbital ThreadPostOrbital {
225
258
  (set @entity.replyParentId "")
226
259
  ;; Scoped to the row just created (?threadRootId, flat) — see the twin
227
260
  ;; arm in `browsing` for why.
228
- ThreadPostCreated -> browsing
261
+ ThreadPostCreated -> browsing when (not ["=", (str/default ?parentId ""), ""])
262
+ (set @entity.replyDraft "")
263
+ (set @entity.replyParentId "")
264
+ (set @entity.lastReplyId ?id)
265
+ (fetch ThreadPost {
266
+ id: ?parentId
267
+ emit: { failure: ReplyParentLoadFailed, success: ReplyParentLoaded }
268
+ })
269
+ ThreadPostCreated -> browsing when ["=", (str/default ?parentId ""), ""]
229
270
  (set @entity.replyDraft "")
230
271
  (set @entity.replyParentId "")
231
272
  (fetch ThreadPost {
232
273
  emit: { failure: ThreadPostLoadFailed, success: ThreadPostLoaded }
233
- filter: (or ["=", ?threadRootId, ""] ["=", (object/get @entity threadRootId), ?threadRootId])
274
+ filter: (and (or ["=", ?threadRootId, ""] ["=", (object/get @entity threadRootId), ?threadRootId]) ["=", (str/default (object/get @entity parentId) ""), ""])
234
275
  include: (replies)
235
276
  })
236
277
  ThreadPostCreateFailed -> replying
@@ -243,28 +284,28 @@ orbital ThreadPostOrbital {
243
284
  (set @entity.replyRootId ?rootId)
244
285
  (fetch ThreadPost {
245
286
  emit: { failure: ThreadPostLoadFailed, success: ThreadPostLoaded }
246
- filter: (or ["=", ?rootId, ""] ["=", (object/get @entity threadRootId), ?rootId])
287
+ filter: (and (or ["=", ?rootId, ""] ["=", (object/get @entity threadRootId), ?rootId]) ["=", (str/default (object/get @entity parentId) ""), ""])
247
288
  include: (replies)
248
289
  })
249
- (render-ui main { size: sm, type: spinner })
290
+ (render-ui main { type: skeleton, variant: list, rows: 6 })
250
291
  }
251
292
 
252
293
  state error {
253
294
  INIT -> loading
254
295
  (fetch ThreadPost {
255
296
  emit: { failure: ThreadPostLoadFailed, success: ThreadPostLoaded }
256
- filter: (or ["=", (str/default @entity.replyRootId @config.threadRootId), ""] ["=", (object/get @entity threadRootId), (str/default @entity.replyRootId @config.threadRootId)])
297
+ filter: (and (or ["=", (str/default @entity.replyRootId @config.threadRootId), ""] ["=", (object/get @entity threadRootId), (str/default @entity.replyRootId @config.threadRootId)]) ["=", (str/default (object/get @entity parentId) ""), ""])
257
298
  include: (replies)
258
299
  })
259
- (render-ui main { size: sm, type: spinner })
300
+ (render-ui main { type: skeleton, variant: list, rows: 6 })
260
301
  SET_THREAD_ROOT -> loading
261
302
  (set @entity.replyRootId ?rootId)
262
303
  (fetch ThreadPost {
263
304
  emit: { failure: ThreadPostLoadFailed, success: ThreadPostLoaded }
264
- filter: (or ["=", ?rootId, ""] ["=", (object/get @entity threadRootId), ?rootId])
305
+ filter: (and (or ["=", ?rootId, ""] ["=", (object/get @entity threadRootId), ?rootId]) ["=", (str/default (object/get @entity parentId) ""), ""])
265
306
  include: (replies)
266
307
  })
267
- (render-ui main { size: sm, type: spinner })
308
+ (render-ui main { type: skeleton, variant: list, rows: 6 })
268
309
  }
269
310
 
270
311
  emits {
@@ -314,6 +355,16 @@ orbital ThreadPostOrbital {
314
355
  @description "A new post has been added to the thread — payload is the created ThreadPost row itself (flat: ?id, ?threadRootId, ?authorId, ?content, …), not wrapped under a row field."
315
356
  @synonyms "new post, added, created"
316
357
  @tier "domain"
358
+ ReplyParentLoaded -> internal {
359
+ data : ThreadPost!
360
+ }
361
+ @tier "internal"
362
+ ReplyParentUpdated -> internal
363
+ @tier "internal"
364
+ ReplyParentLoadFailed -> internal {
365
+ error : string
366
+ }
367
+ @tier "internal"
317
368
  ThreadPostCreateFailed {
318
369
  error : string
319
370
  code : string
@@ -377,6 +428,16 @@ orbital ThreadPostOrbital {
377
428
  @description "Indicates a failure to create a new thread post."
378
429
  @synonyms "error, failure, rejected, invalid"
379
430
  @tier "internal"
431
+ ReplyParentLoaded {
432
+ data : ThreadPost!
433
+ }
434
+ @tier "internal"
435
+ ReplyParentUpdated
436
+ @tier "internal"
437
+ ReplyParentLoadFailed {
438
+ error : string
439
+ }
440
+ @tier "internal"
380
441
  SET_THREAD_ROOT {
381
442
  rootId : string!
382
443
  }
@@ -28,17 +28,10 @@ orbital TreeNodeOrbital {
28
28
  emit: { failure: TreeNodeLoadFailed, success: TreeNodeLoaded }
29
29
  })
30
30
  (render-ui main {
31
- align: center
32
- children: [{ type: spinner }, {
33
- color: muted
34
- content: "Loading tree…"
35
- type: typography
36
- variant: caption
37
- }]
38
- className: py-12
39
- direction: vertical
40
- gap: md
41
31
  type: stack
32
+ direction: vertical
33
+ gap: lg
34
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
42
35
  })
43
36
  TreeNodeLoaded -> browsing
44
37
  (render-ui main {
@@ -152,17 +145,10 @@ orbital TreeNodeOrbital {
152
145
  emit: { failure: TreeNodeLoadFailed, success: TreeNodeLoaded }
153
146
  })
154
147
  (render-ui main {
155
- align: center
156
- children: [{ type: spinner }, {
157
- color: muted
158
- content: "Loading tree…"
159
- type: typography
160
- variant: caption
161
- }]
162
- className: py-12
163
- direction: vertical
164
- gap: md
165
148
  type: stack
149
+ direction: vertical
150
+ gap: lg
151
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
166
152
  })
167
153
  ;; REFETCH_* stays in `browsing` and DOES NOT replace the tree with a
168
154
  ;; spinner — search-as-you-type would otherwise unmount file-tree every
@@ -303,14 +289,24 @@ orbital TreeNodeOrbital {
303
289
  (fetch TreeNode {
304
290
  emit: { failure: TreeNodeLoadFailed, success: TreeNodeLoaded }
305
291
  })
306
- (render-ui main { type: spinner })
292
+ (render-ui main {
293
+ type: stack
294
+ direction: vertical
295
+ gap: lg
296
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
297
+ })
307
298
  ;; the error screen's Retry button: INIT is lifecycle-only and the bus never
308
299
  ;; delivers it, so the affordance must target a first-class user event
309
300
  RETRY -> loading
310
301
  (fetch TreeNode {
311
302
  emit: { failure: TreeNodeLoadFailed, success: TreeNodeLoaded }
312
303
  })
313
- (render-ui main { type: spinner })
304
+ (render-ui main {
305
+ type: stack
306
+ direction: vertical
307
+ gap: lg
308
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
309
+ })
314
310
  }
315
311
 
316
312
  emits {
@@ -34,17 +34,10 @@ orbital RevisionOrbital {
34
34
  emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
35
35
  })
36
36
  (render-ui main {
37
- align: center
38
- children: [{ type: spinner }, {
39
- color: muted
40
- content: "Loading version history…"
41
- type: typography
42
- variant: caption
43
- }]
44
- className: py-12
45
- direction: vertical
46
- gap: md
47
37
  type: stack
38
+ direction: vertical
39
+ gap: lg
40
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
48
41
  })
49
42
  RevisionLoaded -> browsing
50
43
  (set @entity.revisions (array/sort ?data "versionNumber" "desc"))
@@ -103,17 +96,10 @@ orbital RevisionOrbital {
103
96
  emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
104
97
  })
105
98
  (render-ui main {
106
- align: center
107
- children: [{ type: spinner }, {
108
- color: muted
109
- content: "Loading version history…"
110
- type: typography
111
- variant: caption
112
- }]
113
- className: py-12
114
- direction: vertical
115
- gap: md
116
99
  type: stack
100
+ direction: vertical
101
+ gap: lg
102
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
117
103
  })
118
104
  }
119
105
 
@@ -125,17 +111,10 @@ orbital RevisionOrbital {
125
111
  emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
126
112
  })
127
113
  (render-ui main {
128
- align: center
129
- children: [{ type: spinner }, {
130
- color: muted
131
- content: "Loading version history…"
132
- type: typography
133
- variant: caption
134
- }]
135
- className: py-12
136
- direction: vertical
137
- gap: md
138
114
  type: stack
115
+ direction: vertical
116
+ gap: lg
117
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
139
118
  })
140
119
  OPEN_REVISION -> viewing_single
141
120
  (set @entity.id ?row.id)
@@ -288,17 +267,10 @@ orbital RevisionOrbital {
288
267
  emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
289
268
  })
290
269
  (render-ui main {
291
- align: center
292
- children: [{ type: spinner }, {
293
- color: muted
294
- content: "Loading version history…"
295
- type: typography
296
- variant: caption
297
- }]
298
- className: py-12
299
- direction: vertical
300
- gap: md
301
270
  type: stack
271
+ direction: vertical
272
+ gap: lg
273
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
302
274
  })
303
275
  }
304
276
 
@@ -309,17 +281,10 @@ orbital RevisionOrbital {
309
281
  emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
310
282
  })
311
283
  (render-ui main {
312
- align: center
313
- children: [{ type: spinner }, {
314
- color: muted
315
- content: "Loading version history…"
316
- type: typography
317
- variant: caption
318
- }]
319
- className: py-12
320
- direction: vertical
321
- gap: md
322
284
  type: stack
285
+ direction: vertical
286
+ gap: lg
287
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
323
288
  })
324
289
  COMPARE -> comparing
325
290
  (set @entity.id ?id)
@@ -389,17 +354,10 @@ orbital RevisionOrbital {
389
354
  emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
390
355
  })
391
356
  (render-ui main {
392
- align: center
393
- children: [{ type: spinner }, {
394
- color: muted
395
- content: "Loading version history…"
396
- type: typography
397
- variant: caption
398
- }]
399
- className: py-12
400
- direction: vertical
401
- gap: md
402
357
  type: stack
358
+ direction: vertical
359
+ gap: lg
360
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
403
361
  })
404
362
  }
405
363
 
@@ -410,17 +368,10 @@ orbital RevisionOrbital {
410
368
  emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
411
369
  })
412
370
  (render-ui main {
413
- align: center
414
- children: [{ type: spinner }, {
415
- color: muted
416
- content: "Loading version history…"
417
- type: typography
418
- variant: caption
419
- }]
420
- className: py-12
421
- direction: vertical
422
- gap: md
423
371
  type: stack
372
+ direction: vertical
373
+ gap: lg
374
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
424
375
  })
425
376
  ROLLBACK -> loading
426
377
  (emit RevisionRolledBack { row: ?row })
@@ -449,17 +400,10 @@ orbital RevisionOrbital {
449
400
  emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
450
401
  })
451
402
  (render-ui main {
452
- align: center
453
- children: [{ type: spinner }, {
454
- color: muted
455
- content: "Loading version history…"
456
- type: typography
457
- variant: caption
458
- }]
459
- className: py-12
460
- direction: vertical
461
- gap: md
462
403
  type: stack
404
+ direction: vertical
405
+ gap: lg
406
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
463
407
  })
464
408
  }
465
409
 
@@ -470,14 +414,24 @@ orbital RevisionOrbital {
470
414
  filter: (or ["=", @config.scopeField, ""] ["=", (str/default ?id ""), ""] ["=", (object/get @entity @config.scopeField), ?id])
471
415
  emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
472
416
  })
473
- (render-ui main { size: sm, type: spinner })
417
+ (render-ui main {
418
+ type: stack
419
+ direction: vertical
420
+ gap: lg
421
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
422
+ })
474
423
  SHOW_HISTORY -> loading
475
424
  (set @entity.scopeKey ?key)
476
425
  (fetch Revision {
477
426
  filter: ["=", (object/get @entity @config.scopeField), ?key]
478
427
  emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
479
428
  })
480
- (render-ui main { size: sm, type: spinner })
429
+ (render-ui main {
430
+ type: stack
431
+ direction: vertical
432
+ gap: lg
433
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
434
+ })
481
435
  }
482
436
 
483
437
  emits {
@@ -25,19 +25,7 @@ orbital VoteOrbital {
25
25
  (fetch Vote {
26
26
  emit: { failure: VoteLoadFailed, success: VoteLoaded }
27
27
  })
28
- (render-ui main {
29
- align: center
30
- children: [{ type: spinner }, {
31
- color: muted
32
- content: "Loading votes…"
33
- type: typography
34
- variant: caption
35
- }]
36
- className: py-12
37
- direction: vertical
38
- gap: md
39
- type: stack
40
- })
28
+ (render-ui main { type: skeleton, variant: card })
41
29
  VoteLoaded -> idle
42
30
  (render-ui main {
43
31
  count: 0
@@ -62,19 +50,6 @@ orbital VoteOrbital {
62
50
  (persist update Vote (object/set ?data targetId ?targetId) {
63
51
  emit: { failure: VoteCastFailed, success: VoteCasted }
64
52
  })
65
- (render-ui main {
66
- align: center
67
- children: [{ type: spinner }, {
68
- color: muted
69
- content: "Recording your vote…"
70
- type: typography
71
- variant: caption
72
- }]
73
- className: py-12
74
- direction: vertical
75
- gap: md
76
- type: stack
77
- })
78
53
  VOTE -> voting when ["=", ?next, @entity.direction]
79
54
  (set @entity.direction none)
80
55
  (set @entity.targetId ?targetId)
@@ -143,19 +118,7 @@ orbital VoteOrbital {
143
118
  (fetch Vote {
144
119
  emit: { failure: VoteLoadFailed, success: VoteLoaded }
145
120
  })
146
- (render-ui main {
147
- align: center
148
- children: [{ type: spinner }, {
149
- color: muted
150
- content: "Loading votes…"
151
- type: typography
152
- variant: caption
153
- }]
154
- className: py-12
155
- direction: vertical
156
- gap: md
157
- type: stack
158
- })
121
+ (render-ui main { type: skeleton, variant: card })
159
122
  }
160
123
 
161
124
  emits {
@@ -45,8 +45,10 @@ orbital WizardOrbital {
45
45
  emit: { failure: WizardLoadFailed, success: WizardLoaded }
46
46
  })
47
47
  (render-ui main {
48
- title: "Loading wizard…"
49
- type: loading-state
48
+ type: stack
49
+ direction: vertical
50
+ gap: lg
51
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: form, fields: 3 }]
50
52
  })
51
53
  WizardLoaded -> running
52
54
  (set @entity.currentStepIndex 0)
@@ -164,8 +166,10 @@ orbital WizardOrbital {
164
166
  emit: { failure: WizardLoadFailed, success: WizardLoaded }
165
167
  })
166
168
  (render-ui main {
167
- title: "Refreshing…"
168
- type: loading-state
169
+ type: stack
170
+ direction: vertical
171
+ gap: lg
172
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: form, fields: 3 }]
169
173
  })
170
174
  WizardSaveFailed -> error
171
175
  (set @entity.errorMessage ?error)
@@ -487,8 +491,10 @@ orbital WizardOrbital {
487
491
  emit: { failure: WizardLoadFailed, success: WizardLoaded }
488
492
  })
489
493
  (render-ui main {
490
- title: "Restarting…"
491
- type: loading-state
494
+ type: stack
495
+ direction: vertical
496
+ gap: lg
497
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: form, fields: 3 }]
492
498
  })
493
499
  }
494
500
 
@@ -500,16 +506,20 @@ orbital WizardOrbital {
500
506
  emit: { failure: WizardLoadFailed, success: WizardLoaded }
501
507
  })
502
508
  (render-ui main {
503
- title: "Restarting…"
504
- type: loading-state
509
+ type: stack
510
+ direction: vertical
511
+ gap: lg
512
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: form, fields: 3 }]
505
513
  })
506
514
  }
507
515
 
508
516
  state error {
509
517
  INIT -> loading
510
518
  (render-ui main {
511
- title: "Retrying…"
512
- type: loading-state
519
+ type: stack
520
+ direction: vertical
521
+ gap: lg
522
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: form, fields: 3 }]
513
523
  })
514
524
  }
515
525