@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,157 +1,121 @@
1
1
  {
2
- "description": "Wraps session/read-spec + session/write-spec + session/read-history — orbital session data.",
2
+ "description": "std-agent-session — the persisted conversation with an in-app assistant. Owns AgentMessage rows (role, content, ownerId stamped with the real @user, createdAt). SEND stores the user's message, reloads the thread and emits CONVERSE with the whole conversation, oldest first, for std-agent-tool-loop to answer; REPLIED stores the assistant's reply and redraws; REPLY_FAILED redraws the conversation (the tool loop shows the error). Rows are meant to be private to their owner: owner-scoped access needs an [identity] roster, so the binding organism declares the @read/@create scoping on AgentMessage — this generic atom cannot.",
3
3
  "ledger": {
4
4
  "entries": {
5
- "ent_01KXG04EKX39PHPB9ADMKRXVVH": {
6
- "bakedName": "AgentSession",
7
- "curName": "AgentSession",
8
- "id": "ent_01KXG04EKX39PHPB9ADMKRXVVH",
5
+ "ent_01M3TYMQH8YF6HGJJVC3GRECJP": {
6
+ "bakedName": "AgentMessage",
7
+ "curName": "AgentMessage",
8
+ "id": "ent_01M3TYMQH8YF6HGJJVC3GRECJP",
9
9
  "kind": "entity",
10
10
  "owner": "workspace",
11
11
  "renames": []
12
12
  },
13
- "evt_01KXG04EKX125KV7F4JQRFF8BC": {
14
- "bakedName": "SPEC_READ",
15
- "curName": "SPEC_READ",
16
- "id": "evt_01KXG04EKX125KV7F4JQRFF8BC",
17
- "kind": "event",
18
- "owner": "workspace",
19
- "parent": "trt_01KXG04EKX2J2G30B1BZS1XX5K",
20
- "renames": []
21
- },
22
- "evt_01KXG04EKX1MSK9YFKZ9BEVMMM": {
23
- "bakedName": "SPEC_LOAD_FAILED",
24
- "curName": "SPEC_LOAD_FAILED",
25
- "id": "evt_01KXG04EKX1MSK9YFKZ9BEVMMM",
26
- "kind": "event",
27
- "owner": "workspace",
28
- "parent": "trt_01KXG04EKXM2CWDTW7V6A103HS",
29
- "renames": []
30
- },
31
- "evt_01KXG04EKX1WXPHFMS8PDEP3V9": {
32
- "bakedName": "HISTORY_LOADED",
33
- "curName": "HISTORY_LOADED",
34
- "id": "evt_01KXG04EKX1WXPHFMS8PDEP3V9",
35
- "kind": "event",
36
- "owner": "workspace",
37
- "parent": "trt_01KXG04EKXM2CWDTW7V6A103HS",
38
- "renames": []
39
- },
40
- "evt_01KXG04EKX22QYT3DTH7TFSBM3": {
13
+ "evt_01M3TYMQH81AV51TX8HBD3BVVY": {
41
14
  "bakedName": "INIT",
42
15
  "curName": "INIT",
43
- "id": "evt_01KXG04EKX22QYT3DTH7TFSBM3",
44
- "kind": "event",
45
- "owner": "workspace",
46
- "parent": "trt_01KXG04EKX2J2G30B1BZS1XX5K",
47
- "renames": []
48
- },
49
- "evt_01KXG04EKX2TZBYC9HCBBPQS7G": {
50
- "bakedName": "HISTORY_LOAD_FAILED",
51
- "curName": "HISTORY_LOAD_FAILED",
52
- "id": "evt_01KXG04EKX2TZBYC9HCBBPQS7G",
16
+ "id": "evt_01M3TYMQH81AV51TX8HBD3BVVY",
53
17
  "kind": "event",
54
18
  "owner": "workspace",
55
- "parent": "trt_01KXG04EKXM2CWDTW7V6A103HS",
19
+ "parent": "trt_01M3TYMQH8QP9883EWJYRT49M8",
56
20
  "renames": []
57
21
  },
58
- "evt_01KXG04EKX3EQVVA8QMNATFKHD": {
59
- "bakedName": "RESET",
60
- "curName": "RESET",
61
- "id": "evt_01KXG04EKX3EQVVA8QMNATFKHD",
22
+ "evt_01M3TYMQH844NH7EYEBPA4XVG6": {
23
+ "bakedName": "REPLY_FAILED",
24
+ "curName": "REPLY_FAILED",
25
+ "id": "evt_01M3TYMQH844NH7EYEBPA4XVG6",
62
26
  "kind": "event",
63
27
  "owner": "workspace",
64
- "parent": "trt_01KXG04EKX2J2G30B1BZS1XX5K",
28
+ "parent": "trt_01M3TYMQH8QP9883EWJYRT49M8",
65
29
  "renames": []
66
30
  },
67
- "evt_01KXG04EKX3H1EN73B8HMFXN1P": {
68
- "bakedName": "SPEC_LOADED",
69
- "curName": "SPEC_LOADED",
70
- "id": "evt_01KXG04EKX3H1EN73B8HMFXN1P",
31
+ "evt_01M3TYMQH87CAV0ETMWW6P6W6P": {
32
+ "bakedName": "SEND",
33
+ "curName": "SEND",
34
+ "id": "evt_01M3TYMQH87CAV0ETMWW6P6W6P",
71
35
  "kind": "event",
72
36
  "owner": "workspace",
73
- "parent": "trt_01KXG04EKXM2CWDTW7V6A103HS",
37
+ "parent": "trt_01M3TYMQH8QP9883EWJYRT49M8",
74
38
  "renames": []
75
39
  },
76
- "evt_01KXG04EKX5A8JT97Q39HC4E4K": {
77
- "bakedName": "SPEC_READ",
78
- "curName": "SPEC_READ",
79
- "id": "evt_01KXG04EKX5A8JT97Q39HC4E4K",
40
+ "evt_01M3TYMQH87K7NK4H6DHKPYPM6": {
41
+ "bakedName": "AgentMessagesLoaded",
42
+ "curName": "AgentMessagesLoaded",
43
+ "id": "evt_01M3TYMQH87K7NK4H6DHKPYPM6",
80
44
  "kind": "event",
81
45
  "owner": "workspace",
82
- "parent": "trt_01KXG04EKXM2CWDTW7V6A103HS",
46
+ "parent": "trt_01M3TYMQH8QP9883EWJYRT49M8",
83
47
  "renames": []
84
48
  },
85
- "evt_01KXG04EKX5ASR4H9E1B20EQD4": {
86
- "bakedName": "RESET",
87
- "curName": "RESET",
88
- "id": "evt_01KXG04EKX5ASR4H9E1B20EQD4",
49
+ "evt_01M3TYMQH8ACSRY02P4HWBHJWV": {
50
+ "bakedName": "AgentMessageSaved",
51
+ "curName": "AgentMessageSaved",
52
+ "id": "evt_01M3TYMQH8ACSRY02P4HWBHJWV",
89
53
  "kind": "event",
90
54
  "owner": "workspace",
91
- "parent": "trt_01KXG04EKXJY0PEPEH24A09MN2",
55
+ "parent": "trt_01M3TYMQH8QP9883EWJYRT49M8",
92
56
  "renames": []
93
57
  },
94
- "evt_01KXG04EKX5K2E6MVGTQ98DVX8": {
95
- "bakedName": "INIT",
96
- "curName": "INIT",
97
- "id": "evt_01KXG04EKX5K2E6MVGTQ98DVX8",
58
+ "evt_01M3TYMQH8BHTWREJV617WFH68": {
59
+ "bakedName": "AgentMessagesLoadFailed",
60
+ "curName": "AgentMessagesLoadFailed",
61
+ "id": "evt_01M3TYMQH8BHTWREJV617WFH68",
98
62
  "kind": "event",
99
63
  "owner": "workspace",
100
- "parent": "trt_01KXG04EKXJY0PEPEH24A09MN2",
64
+ "parent": "trt_01M3TYMQH8QP9883EWJYRT49M8",
101
65
  "renames": []
102
66
  },
103
- "evt_01KXG04EKX8WQZEZJ0A6XFEAFH": {
104
- "bakedName": "RESET",
105
- "curName": "RESET",
106
- "id": "evt_01KXG04EKX8WQZEZJ0A6XFEAFH",
67
+ "evt_01M3TYMQH8CEE16439Z6N25V08": {
68
+ "bakedName": "AgentMessageSaveFailed",
69
+ "curName": "AgentMessageSaveFailed",
70
+ "id": "evt_01M3TYMQH8CEE16439Z6N25V08",
107
71
  "kind": "event",
108
72
  "owner": "workspace",
109
- "parent": "trt_01KXG04EKXM2CWDTW7V6A103HS",
73
+ "parent": "trt_01M3TYMQH8QP9883EWJYRT49M8",
110
74
  "renames": []
111
75
  },
112
- "evt_01KXG04EKXADQDWCRA4DFQ1FTC": {
113
- "bakedName": "READ_SPEC",
114
- "curName": "READ_SPEC",
115
- "id": "evt_01KXG04EKXADQDWCRA4DFQ1FTC",
76
+ "evt_01M3TYMQH8CS3YHB2R90D5J678": {
77
+ "bakedName": "CONVERSE",
78
+ "curName": "CONVERSE",
79
+ "id": "evt_01M3TYMQH8CS3YHB2R90D5J678",
116
80
  "kind": "event",
117
81
  "owner": "workspace",
118
- "parent": "trt_01KXG04EKXM2CWDTW7V6A103HS",
82
+ "parent": "trt_01M3TYMQH8QP9883EWJYRT49M8",
119
83
  "renames": []
120
84
  },
121
- "evt_01KXG04EKXGEKJBQ6QMY8GWE40": {
122
- "bakedName": "SPEC_WRITTEN",
123
- "curName": "SPEC_WRITTEN",
124
- "id": "evt_01KXG04EKXGEKJBQ6QMY8GWE40",
85
+ "evt_01M3TYMQH8H65NTWP1KYX7WM6C": {
86
+ "bakedName": "AgentConversationLoaded",
87
+ "curName": "AgentConversationLoaded",
88
+ "id": "evt_01M3TYMQH8H65NTWP1KYX7WM6C",
125
89
  "kind": "event",
126
90
  "owner": "workspace",
127
- "parent": "trt_01KXG04EKXJY0PEPEH24A09MN2",
91
+ "parent": "trt_01M3TYMQH8QP9883EWJYRT49M8",
128
92
  "renames": []
129
93
  },
130
- "evt_01KXG04EKXGYJ1FH125MS53CJ6": {
131
- "bakedName": "INIT",
132
- "curName": "INIT",
133
- "id": "evt_01KXG04EKXGYJ1FH125MS53CJ6",
94
+ "evt_01M3TYMQH8HHGS90VQR6Y0RK1K": {
95
+ "bakedName": "EDIT_MESSAGE",
96
+ "curName": "EDIT_MESSAGE",
97
+ "id": "evt_01M3TYMQH8HHGS90VQR6Y0RK1K",
134
98
  "kind": "event",
135
99
  "owner": "workspace",
136
- "parent": "trt_01KXG04EKXM2CWDTW7V6A103HS",
100
+ "parent": "trt_01M3TYMQH8QP9883EWJYRT49M8",
137
101
  "renames": []
138
102
  },
139
- "evt_01KXG04EKXQ3012NS749R8GSQS": {
140
- "bakedName": "WRITE_SPEC",
141
- "curName": "WRITE_SPEC",
142
- "id": "evt_01KXG04EKXQ3012NS749R8GSQS",
103
+ "evt_01M3TYMQH8PJZ22902FWBBMMK4": {
104
+ "bakedName": "REPLIED",
105
+ "curName": "REPLIED",
106
+ "id": "evt_01M3TYMQH8PJZ22902FWBBMMK4",
143
107
  "kind": "event",
144
108
  "owner": "workspace",
145
- "parent": "trt_01KXG04EKXJY0PEPEH24A09MN2",
109
+ "parent": "trt_01M3TYMQH8QP9883EWJYRT49M8",
146
110
  "renames": []
147
111
  },
148
- "evt_01KXG04EKXQ3CQQP3ZEY0K9CZD": {
149
- "bakedName": "SPEC_WRITTEN",
150
- "curName": "SPEC_WRITTEN",
151
- "id": "evt_01KXG04EKXQ3CQQP3ZEY0K9CZD",
112
+ "evt_01M3TYMQH8RCRDSVZ3DQ6DZ2YF": {
113
+ "bakedName": "SEND_DRAFT",
114
+ "curName": "SEND_DRAFT",
115
+ "id": "evt_01M3TYMQH8RCRDSVZ3DQ6DZ2YF",
152
116
  "kind": "event",
153
117
  "owner": "workspace",
154
- "parent": "trt_01KXG04EKX2J2G30B1BZS1XX5K",
118
+ "parent": "trt_01M3TYMQH8QP9883EWJYRT49M8",
155
119
  "renames": []
156
120
  },
157
121
  "orb_01KXG04EKXYAHSWY6RJPZ81FXF": {
@@ -170,26 +134,10 @@
170
134
  "owner": "workspace",
171
135
  "renames": []
172
136
  },
173
- "trt_01KXG04EKX2J2G30B1BZS1XX5K": {
174
- "bakedName": "SessionListener",
175
- "curName": "SessionListener",
176
- "id": "trt_01KXG04EKX2J2G30B1BZS1XX5K",
177
- "kind": "trait",
178
- "owner": "workspace",
179
- "renames": []
180
- },
181
- "trt_01KXG04EKXJY0PEPEH24A09MN2": {
182
- "bakedName": "SessionWriter",
183
- "curName": "SessionWriter",
184
- "id": "trt_01KXG04EKXJY0PEPEH24A09MN2",
185
- "kind": "trait",
186
- "owner": "workspace",
187
- "renames": []
188
- },
189
- "trt_01KXG04EKXM2CWDTW7V6A103HS": {
190
- "bakedName": "SessionReader",
191
- "curName": "SessionReader",
192
- "id": "trt_01KXG04EKXM2CWDTW7V6A103HS",
137
+ "trt_01M3TYMQH8QP9883EWJYRT49M8": {
138
+ "bakedName": "AgentThread",
139
+ "curName": "AgentThread",
140
+ "id": "trt_01M3TYMQH8QP9883EWJYRT49M8",
193
141
  "kind": "trait",
194
142
  "owner": "workspace",
195
143
  "renames": []
@@ -201,78 +149,56 @@
201
149
  "orbitals": [
202
150
  {
203
151
  "entity": {
152
+ "collection": "agentMessages",
204
153
  "fields": [
205
154
  {
206
- "default": "",
207
- "name": "orbitalName",
155
+ "name": "id",
156
+ "required": true,
208
157
  "type": "string"
209
158
  },
210
159
  {
211
- "default": {},
212
- "name": "spec",
213
- "properties": {
214
- "deltaPrompt": {
215
- "name": "deltaPrompt",
216
- "required": true,
217
- "type": "string"
218
- },
219
- "method": {
220
- "name": "method",
221
- "required": true,
222
- "type": "string"
223
- },
224
- "orbitalName": {
225
- "name": "orbitalName",
226
- "required": false,
227
- "type": "string"
228
- },
229
- "organism": {
230
- "name": "organism",
231
- "required": true,
232
- "type": "string"
233
- }
234
- },
235
- "type": "object"
236
- },
237
- {
238
- "default": [],
239
- "items": {
240
- "properties": {
241
- "content": {
242
- "name": "content",
243
- "required": true,
244
- "type": "string"
245
- },
246
- "role": {
247
- "name": "role",
248
- "required": true,
249
- "type": "string"
250
- },
251
- "timestamp": {
252
- "name": "timestamp",
253
- "required": false,
254
- "type": "number"
255
- }
256
- },
257
- "type": "object"
258
- },
259
- "name": "history",
260
- "type": "array"
160
+ "description": "Whose conversation this message belongs to (the real @user). The binding organism scopes @read to it.",
161
+ "name": "ownerId",
162
+ "required": true,
163
+ "synonyms": "user, owner, account",
164
+ "type": "string"
261
165
  },
262
166
  {
263
- "default": "idle",
264
- "name": "status",
167
+ "default": "user",
168
+ "description": "Who said it.",
169
+ "name": "role",
170
+ "synonyms": "speaker, author",
265
171
  "type": "string",
266
172
  "values": [
267
- "idle",
268
- "read",
269
- "written"
173
+ "user",
174
+ "assistant"
270
175
  ]
176
+ },
177
+ {
178
+ "description": "What was said.",
179
+ "name": "content",
180
+ "required": true,
181
+ "synonyms": "text, message, body",
182
+ "type": "string"
183
+ },
184
+ {
185
+ "default": 0.0,
186
+ "description": "When it was said (ms).",
187
+ "name": "createdAt",
188
+ "synonyms": "time, timestamp",
189
+ "type": "number"
190
+ },
191
+ {
192
+ "default": "",
193
+ "description": "The message being typed.",
194
+ "intrinsic": true,
195
+ "name": "draft",
196
+ "type": "string"
271
197
  }
272
198
  ],
273
- "id": "ent_01KXG04EKX39PHPB9ADMKRXVVH",
274
- "name": "AgentSession",
275
- "persistence": "runtime"
199
+ "id": "ent_01M3TYMQH8YF6HGJJVC3GRECJP",
200
+ "name": "AgentMessage",
201
+ "persistence": "persistent"
276
202
  },
277
203
  "id": "orb_01KXG04EKXYAHSWY6RJPZ81FXF",
278
204
  "name": "AgentSessionOrbital",
@@ -283,89 +209,122 @@
283
209
  "path": "/agent-session",
284
210
  "traits": [
285
211
  {
286
- "ref": "SessionReader",
287
- "refId": "trt_01KXG04EKXM2CWDTW7V6A103HS"
288
- },
289
- {
290
- "ref": "SessionWriter",
291
- "refId": "trt_01KXG04EKXJY0PEPEH24A09MN2"
292
- },
293
- {
294
- "ref": "SessionListener",
295
- "refId": "trt_01KXG04EKX2J2G30B1BZS1XX5K"
212
+ "ref": "AgentThread",
213
+ "refId": "trt_01M3TYMQH8QP9883EWJYRT49M8"
296
214
  }
297
215
  ]
298
216
  }
299
217
  ],
300
218
  "traits": [
301
219
  {
302
- "category": "lifecycle",
303
- "effectRow": [
304
- {
305
- "kind": "emit",
306
- "resource": "SPEC_READ"
220
+ "category": "interaction",
221
+ "config": {
222
+ "links": {
223
+ "default": [],
224
+ "description": "Related pages (e.g. the run history), shown under the title.",
225
+ "items": {
226
+ "properties": {
227
+ "href": {
228
+ "name": "href",
229
+ "required": true,
230
+ "type": "string"
231
+ },
232
+ "label": {
233
+ "name": "label",
234
+ "required": true,
235
+ "type": "string"
236
+ }
237
+ },
238
+ "type": "object"
239
+ },
240
+ "label": "Links above the conversation",
241
+ "tier": "presentation",
242
+ "type": "[AgentLink]"
307
243
  },
308
- {
309
- "kind": "session/read-history"
244
+ "placeholder": {
245
+ "default": "Ask the assistant…",
246
+ "label": "Message placeholder",
247
+ "tier": "presentation",
248
+ "type": "string"
310
249
  },
250
+ "title": {
251
+ "default": "Assistant",
252
+ "description": "Heading above the conversation.",
253
+ "label": "Title",
254
+ "tier": "presentation",
255
+ "type": "string"
256
+ }
257
+ },
258
+ "effectRow": [
311
259
  {
312
- "kind": "session/read-spec"
260
+ "kind": "emit",
261
+ "resource": "CONVERSE"
313
262
  },
314
263
  {
315
- "kind": "set",
316
- "resource": "@entity.history"
264
+ "kind": "fetch",
265
+ "resource": "AgentMessage"
317
266
  },
318
267
  {
319
- "kind": "set",
320
- "resource": "@entity.orbitalName"
268
+ "kind": "persist",
269
+ "resource": "AgentMessage"
321
270
  },
322
271
  {
323
- "kind": "set",
324
- "resource": "@entity.spec"
272
+ "kind": "render-ui",
273
+ "resource": "main"
325
274
  },
326
275
  {
327
276
  "kind": "set",
328
- "resource": "@entity.status"
277
+ "resource": "@entity.draft"
329
278
  }
330
279
  ],
331
280
  "emits": [
332
281
  {
333
- "event": "SPEC_READ",
334
- "eventId": "evt_01KXG04EKX5A8JT97Q39HC4E4K",
282
+ "description": "The conversation to answer, oldest first; the last turn is the request.",
283
+ "event": "CONVERSE",
284
+ "eventId": "evt_01M3TYMQH8CS3YHB2R90D5J678",
335
285
  "payloadSchema": [
336
286
  {
337
- "name": "spec",
287
+ "entity": "AgentChatMessage",
288
+ "name": "messages",
338
289
  "properties": [
339
290
  {
340
- "name": "orbitalName",
291
+ "name": "role",
341
292
  "type": "string"
342
293
  },
343
294
  {
344
- "name": "organism",
295
+ "name": "content",
345
296
  "required": true,
346
297
  "type": "string"
347
- },
298
+ }
299
+ ],
300
+ "required": true,
301
+ "type": "[object]"
302
+ }
303
+ ],
304
+ "scope": "external",
305
+ "synonyms": "ask, converse, request",
306
+ "tier": "domain"
307
+ },
308
+ {
309
+ "event": "AgentConversationLoaded",
310
+ "eventId": "evt_01M3TYMQH8H65NTWP1KYX7WM6C",
311
+ "payloadSchema": [
312
+ {
313
+ "entity": "AgentMessage",
314
+ "name": "data",
315
+ "properties": [
348
316
  {
349
- "name": "method",
317
+ "name": "id",
350
318
  "required": true,
351
319
  "type": "string"
352
320
  },
353
321
  {
354
- "name": "deltaPrompt",
322
+ "name": "ownerId",
355
323
  "required": true,
356
324
  "type": "string"
357
- }
358
- ],
359
- "required": true,
360
- "type": "object"
361
- },
362
- {
363
- "entity": "HistoryEntry",
364
- "name": "history",
365
- "properties": [
325
+ },
366
326
  {
367
327
  "name": "role",
368
- "required": true,
369
328
  "type": "string"
370
329
  },
371
330
  {
@@ -374,58 +333,41 @@
374
333
  "type": "string"
375
334
  },
376
335
  {
377
- "name": "timestamp",
336
+ "name": "createdAt",
378
337
  "type": "number"
338
+ },
339
+ {
340
+ "name": "draft",
341
+ "type": "string"
379
342
  }
380
343
  ],
381
- "required": true,
382
344
  "type": "[object]"
383
345
  }
384
- ]
346
+ ],
347
+ "scope": "internal",
348
+ "tier": "internal"
385
349
  },
386
350
  {
387
- "event": "SPEC_LOADED",
388
- "eventId": "evt_01KXG04EKX3H1EN73B8HMFXN1P",
351
+ "description": "The conversation finished loading.",
352
+ "event": "AgentMessagesLoaded",
353
+ "eventId": "evt_01M3TYMQH87K7NK4H6DHKPYPM6",
389
354
  "payloadSchema": [
390
355
  {
391
- "name": "result",
356
+ "entity": "AgentMessage",
357
+ "name": "data",
392
358
  "properties": [
393
359
  {
394
- "name": "orbitalName",
395
- "type": "string"
396
- },
397
- {
398
- "name": "organism",
360
+ "name": "id",
399
361
  "required": true,
400
362
  "type": "string"
401
363
  },
402
364
  {
403
- "name": "method",
365
+ "name": "ownerId",
404
366
  "required": true,
405
367
  "type": "string"
406
368
  },
407
- {
408
- "name": "deltaPrompt",
409
- "required": true,
410
- "type": "string"
411
- }
412
- ],
413
- "required": true,
414
- "type": "object"
415
- }
416
- ]
417
- },
418
- {
419
- "event": "HISTORY_LOADED",
420
- "eventId": "evt_01KXG04EKX1WXPHFMS8PDEP3V9",
421
- "payloadSchema": [
422
- {
423
- "entity": "HistoryEntry",
424
- "name": "result",
425
- "properties": [
426
369
  {
427
370
  "name": "role",
428
- "required": true,
429
371
  "type": "string"
430
372
  },
431
373
  {
@@ -434,755 +376,876 @@
434
376
  "type": "string"
435
377
  },
436
378
  {
437
- "name": "timestamp",
379
+ "name": "createdAt",
438
380
  "type": "number"
381
+ },
382
+ {
383
+ "name": "draft",
384
+ "type": "string"
439
385
  }
440
386
  ],
441
- "required": true,
442
387
  "type": "[object]"
443
388
  }
444
- ]
389
+ ],
390
+ "tier": "internal"
391
+ },
392
+ {
393
+ "event": "AgentMessagesLoadFailed",
394
+ "eventId": "evt_01M3TYMQH8BHTWREJV617WFH68",
395
+ "payloadSchema": [
396
+ {
397
+ "name": "error",
398
+ "type": "string"
399
+ },
400
+ {
401
+ "name": "code",
402
+ "type": "string"
403
+ }
404
+ ],
405
+ "tier": "internal"
406
+ },
407
+ {
408
+ "description": "A message persisted — payload is the created AgentMessage row itself.",
409
+ "event": "AgentMessageSaved",
410
+ "eventId": "evt_01M3TYMQH8ACSRY02P4HWBHJWV",
411
+ "payloadEntity": "AgentMessage",
412
+ "payloadSchema": [
413
+ {
414
+ "name": "id",
415
+ "required": true,
416
+ "type": "string"
417
+ },
418
+ {
419
+ "name": "ownerId",
420
+ "required": true,
421
+ "type": "string"
422
+ },
423
+ {
424
+ "name": "role",
425
+ "type": "string"
426
+ },
427
+ {
428
+ "name": "content",
429
+ "required": true,
430
+ "type": "string"
431
+ },
432
+ {
433
+ "name": "createdAt",
434
+ "type": "number"
435
+ },
436
+ {
437
+ "name": "draft",
438
+ "type": "string"
439
+ }
440
+ ],
441
+ "scope": "internal",
442
+ "tier": "internal"
443
+ },
444
+ {
445
+ "event": "AgentMessageSaveFailed",
446
+ "eventId": "evt_01M3TYMQH8CEE16439Z6N25V08",
447
+ "payloadSchema": [
448
+ {
449
+ "name": "error",
450
+ "type": "string"
451
+ },
452
+ {
453
+ "name": "code",
454
+ "type": "string"
455
+ }
456
+ ],
457
+ "tier": "internal"
458
+ },
459
+ {
460
+ "description": "The message being typed changed.",
461
+ "event": "EDIT_MESSAGE",
462
+ "eventId": "evt_01M3TYMQH8HHGS90VQR6Y0RK1K",
463
+ "payloadSchema": [
464
+ {
465
+ "name": "value",
466
+ "required": true,
467
+ "type": "string"
468
+ }
469
+ ],
470
+ "tier": "presentation"
471
+ },
472
+ {
473
+ "description": "Send the typed message.",
474
+ "event": "SEND_DRAFT",
475
+ "eventId": "evt_01M3TYMQH8RCRDSVZ3DQ6DZ2YF",
476
+ "synonyms": "send, ask, submit",
477
+ "tier": "domain"
445
478
  }
446
479
  ],
480
+ "entityContract": {
481
+ "provides": [
482
+ "draft"
483
+ ],
484
+ "requires": []
485
+ },
486
+ "entityRebindable": true,
447
487
  "entityRefIds": {
448
- "AgentSession": "ent_01KXG04EKX39PHPB9ADMKRXVVH"
488
+ "AgentMessage": "ent_01M3TYMQH8YF6HGJJVC3GRECJP"
449
489
  },
450
- "id": "trt_01KXG04EKXM2CWDTW7V6A103HS",
451
- "linkedEntity": "AgentSession",
452
- "linkedEntityId": "ent_01KXG04EKX39PHPB9ADMKRXVVH",
453
- "name": "SessionReader",
454
- "scope": "instance",
490
+ "id": "trt_01M3TYMQH8QP9883EWJYRT49M8",
491
+ "linkedEntity": "AgentMessage",
492
+ "linkedEntityId": "ent_01M3TYMQH8YF6HGJJVC3GRECJP",
493
+ "name": "AgentThread",
494
+ "scope": "collection",
455
495
  "stateMachine": {
456
496
  "events": [
457
497
  {
458
- "id": "evt_01KXG04EKXGYJ1FH125MS53CJ6",
498
+ "id": "evt_01M3TYMQH81AV51TX8HBD3BVVY",
459
499
  "key": "INIT",
460
500
  "name": "Initialize"
461
501
  },
462
502
  {
463
- "id": "evt_01KXG04EKXADQDWCRA4DFQ1FTC",
464
- "key": "READ_SPEC",
465
- "name": "Read Spec",
466
- "payloadSchema": [
467
- {
468
- "name": "orbitalName",
469
- "required": true,
470
- "type": "string"
471
- }
472
- ]
473
- },
474
- {
475
- "id": "evt_01KXG04EKX3H1EN73B8HMFXN1P",
476
- "key": "SPEC_LOADED",
477
- "name": "Spec Loaded",
503
+ "description": "The conversation finished loading.",
504
+ "id": "evt_01M3TYMQH87K7NK4H6DHKPYPM6",
505
+ "key": "AgentMessagesLoaded",
506
+ "name": "AgentMessage s loaded",
478
507
  "payloadSchema": [
479
508
  {
480
- "name": "result",
509
+ "entity": "AgentMessage",
510
+ "name": "data",
481
511
  "properties": [
482
512
  {
483
- "name": "orbitalName",
513
+ "name": "id",
514
+ "required": true,
484
515
  "type": "string"
485
516
  },
486
517
  {
487
- "name": "organism",
518
+ "name": "ownerId",
488
519
  "required": true,
489
520
  "type": "string"
490
521
  },
491
522
  {
492
- "name": "method",
493
- "required": true,
523
+ "name": "role",
494
524
  "type": "string"
495
525
  },
496
526
  {
497
- "name": "deltaPrompt",
527
+ "name": "content",
498
528
  "required": true,
499
529
  "type": "string"
530
+ },
531
+ {
532
+ "name": "createdAt",
533
+ "type": "number"
534
+ },
535
+ {
536
+ "name": "draft",
537
+ "type": "string"
500
538
  }
501
539
  ],
540
+ "type": "[object]"
541
+ }
542
+ ],
543
+ "tier": "internal"
544
+ },
545
+ {
546
+ "id": "evt_01M3TYMQH8BHTWREJV617WFH68",
547
+ "key": "AgentMessagesLoadFailed",
548
+ "name": "AgentMessage s load failed",
549
+ "payloadSchema": [
550
+ {
551
+ "name": "error",
552
+ "type": "string"
553
+ },
554
+ {
555
+ "name": "code",
556
+ "type": "string"
557
+ }
558
+ ],
559
+ "tier": "internal"
560
+ },
561
+ {
562
+ "description": "The message being typed changed.",
563
+ "id": "evt_01M3TYMQH8HHGS90VQR6Y0RK1K",
564
+ "key": "EDIT_MESSAGE",
565
+ "name": "Edit Message",
566
+ "payloadSchema": [
567
+ {
568
+ "name": "value",
502
569
  "required": true,
503
- "type": "object"
570
+ "type": "string"
504
571
  }
505
- ]
572
+ ],
573
+ "tier": "presentation"
506
574
  },
507
575
  {
508
- "id": "evt_01KXG04EKX1MSK9YFKZ9BEVMMM",
509
- "key": "SPEC_LOAD_FAILED",
510
- "name": "Spec Load Failed"
576
+ "description": "Send the typed message.",
577
+ "id": "evt_01M3TYMQH8RCRDSVZ3DQ6DZ2YF",
578
+ "key": "SEND_DRAFT",
579
+ "name": "Send Draft",
580
+ "synonyms": "send, ask, submit",
581
+ "tier": "domain"
511
582
  },
512
583
  {
513
- "id": "evt_01KXG04EKX1WXPHFMS8PDEP3V9",
514
- "key": "HISTORY_LOADED",
515
- "name": "History Loaded",
584
+ "description": "Ask the assistant something.",
585
+ "id": "evt_01M3TYMQH87CAV0ETMWW6P6W6P",
586
+ "key": "SEND",
587
+ "name": "Send",
516
588
  "payloadSchema": [
517
589
  {
518
- "entity": "HistoryEntry",
519
- "name": "result",
520
- "properties": [
521
- {
522
- "name": "role",
523
- "required": true,
524
- "type": "string"
525
- },
526
- {
527
- "name": "content",
528
- "required": true,
529
- "type": "string"
530
- },
531
- {
532
- "name": "timestamp",
533
- "type": "number"
534
- }
535
- ],
590
+ "name": "message",
536
591
  "required": true,
537
- "type": "[object]"
592
+ "type": "string"
538
593
  }
539
- ]
594
+ ],
595
+ "synonyms": "ask, message, chat"
540
596
  },
541
597
  {
542
- "id": "evt_01KXG04EKX2TZBYC9HCBBPQS7G",
543
- "key": "HISTORY_LOAD_FAILED",
544
- "name": "History Load Failed"
598
+ "description": "The assistant answered.",
599
+ "id": "evt_01M3TYMQH8PJZ22902FWBBMMK4",
600
+ "key": "REPLIED",
601
+ "name": "Replied",
602
+ "payloadSchema": [
603
+ {
604
+ "name": "reply",
605
+ "required": true,
606
+ "type": "string"
607
+ }
608
+ ]
545
609
  },
546
610
  {
547
- "id": "evt_01KXG04EKX8WQZEZJ0A6XFEAFH",
548
- "key": "RESET",
549
- "name": "Reset"
611
+ "description": "The assistant could not answer.",
612
+ "id": "evt_01M3TYMQH844NH7EYEBPA4XVG6",
613
+ "key": "REPLY_FAILED",
614
+ "name": "Reply Failed",
615
+ "payloadSchema": [
616
+ {
617
+ "name": "error",
618
+ "required": true,
619
+ "type": "string"
620
+ }
621
+ ]
550
622
  },
551
623
  {
552
- "id": "evt_01KXG04EKX5A8JT97Q39HC4E4K",
553
- "key": "SPEC_READ",
554
- "name": "Spec Read",
624
+ "description": "A message persisted — payload is the created AgentMessage row itself.",
625
+ "id": "evt_01M3TYMQH8ACSRY02P4HWBHJWV",
626
+ "key": "AgentMessageSaved",
627
+ "name": "AgentMessage saved",
628
+ "payloadEntity": "AgentMessage",
555
629
  "payloadSchema": [
556
630
  {
557
- "name": "spec",
631
+ "name": "id",
632
+ "required": true,
633
+ "type": "string"
634
+ },
635
+ {
636
+ "name": "ownerId",
637
+ "required": true,
638
+ "type": "string"
639
+ },
640
+ {
641
+ "name": "role",
642
+ "type": "string"
643
+ },
644
+ {
645
+ "name": "content",
646
+ "required": true,
647
+ "type": "string"
648
+ },
649
+ {
650
+ "name": "createdAt",
651
+ "type": "number"
652
+ },
653
+ {
654
+ "name": "draft",
655
+ "type": "string"
656
+ }
657
+ ],
658
+ "tier": "internal"
659
+ },
660
+ {
661
+ "id": "evt_01M3TYMQH8H65NTWP1KYX7WM6C",
662
+ "key": "AgentConversationLoaded",
663
+ "name": "Agent conversation loaded",
664
+ "payloadSchema": [
665
+ {
666
+ "entity": "AgentMessage",
667
+ "name": "data",
558
668
  "properties": [
559
669
  {
560
- "name": "orbitalName",
670
+ "name": "id",
671
+ "required": true,
561
672
  "type": "string"
562
673
  },
563
674
  {
564
- "name": "organism",
675
+ "name": "ownerId",
565
676
  "required": true,
566
677
  "type": "string"
567
678
  },
568
679
  {
569
- "name": "method",
570
- "required": true,
680
+ "name": "role",
571
681
  "type": "string"
572
682
  },
573
683
  {
574
- "name": "deltaPrompt",
684
+ "name": "content",
575
685
  "required": true,
576
686
  "type": "string"
687
+ },
688
+ {
689
+ "name": "createdAt",
690
+ "type": "number"
691
+ },
692
+ {
693
+ "name": "draft",
694
+ "type": "string"
577
695
  }
578
696
  ],
579
- "required": true,
580
- "type": "object"
697
+ "type": "[object]"
698
+ }
699
+ ],
700
+ "tier": "internal"
701
+ },
702
+ {
703
+ "id": "evt_01M3TYMQH8CEE16439Z6N25V08",
704
+ "key": "AgentMessageSaveFailed",
705
+ "name": "AgentMessage save failed",
706
+ "payloadSchema": [
707
+ {
708
+ "name": "error",
709
+ "type": "string"
581
710
  },
582
711
  {
583
- "entity": "HistoryEntry",
584
- "name": "history",
712
+ "name": "code",
713
+ "type": "string"
714
+ }
715
+ ],
716
+ "tier": "internal"
717
+ },
718
+ {
719
+ "description": "The conversation to answer, oldest first; the last turn is the request.",
720
+ "id": "evt_01M3TYMQH8CS3YHB2R90D5J678",
721
+ "key": "CONVERSE",
722
+ "name": "Converse",
723
+ "payloadSchema": [
724
+ {
725
+ "entity": "AgentChatMessage",
726
+ "name": "messages",
585
727
  "properties": [
586
728
  {
587
729
  "name": "role",
588
- "required": true,
589
730
  "type": "string"
590
731
  },
591
732
  {
592
733
  "name": "content",
593
734
  "required": true,
594
735
  "type": "string"
595
- },
596
- {
597
- "name": "timestamp",
598
- "type": "number"
599
736
  }
600
737
  ],
601
738
  "required": true,
602
739
  "type": "[object]"
603
740
  }
604
- ]
741
+ ],
742
+ "synonyms": "ask, converse, request",
743
+ "tier": "domain"
605
744
  }
606
745
  ],
607
746
  "states": [
608
747
  {
609
748
  "isInitial": true,
610
- "name": "idle"
611
- },
612
- {
613
- "name": "reading"
749
+ "name": "loading"
614
750
  },
615
751
  {
616
- "name": "loadingHistory"
752
+ "name": "chatting"
617
753
  },
618
754
  {
619
- "name": "read"
755
+ "name": "waiting"
620
756
  }
621
757
  ],
622
758
  "transitions": [
623
759
  {
624
760
  "effects": [
625
761
  [
626
- "set",
627
- "@entity.orbitalName",
628
- ""
629
- ],
630
- [
631
- "set",
632
- "@entity.spec",
633
- {}
634
- ],
635
- [
636
- "set",
637
- "@entity.history",
638
- []
762
+ "fetch",
763
+ "AgentMessage",
764
+ {
765
+ "emit": {
766
+ "failure": "AgentMessagesLoadFailed",
767
+ "success": "AgentMessagesLoaded"
768
+ }
769
+ }
639
770
  ],
640
771
  [
641
- "set",
642
- "@entity.status",
643
- "idle"
772
+ "render-ui",
773
+ "main",
774
+ {
775
+ "children": [
776
+ {
777
+ "type": "skeleton",
778
+ "variant": "header"
779
+ },
780
+ {
781
+ "rows": 6.0,
782
+ "type": "skeleton",
783
+ "variant": "list"
784
+ }
785
+ ],
786
+ "direction": "vertical",
787
+ "gap": "lg",
788
+ "type": "stack"
789
+ }
644
790
  ]
645
791
  ],
646
792
  "event": "INIT",
647
- "eventId": "evt_01KXG04EKXGYJ1FH125MS53CJ6",
648
- "from": "idle",
649
- "to": "idle"
793
+ "eventId": "evt_01M3TYMQH81AV51TX8HBD3BVVY",
794
+ "from": "loading",
795
+ "to": "loading"
650
796
  },
651
797
  {
652
798
  "effects": [
653
799
  [
654
- "set",
655
- "@entity.orbitalName",
656
- "@payload.orbitalName"
657
- ],
658
- [
659
- "session/read-spec",
660
- "@entity.orbitalName",
800
+ "render-ui",
801
+ "main",
661
802
  {
662
- "emit": {
663
- "failure": "SPEC_LOAD_FAILED",
664
- "success": "SPEC_LOADED"
665
- }
803
+ "children": [
804
+ {
805
+ "content": "@config.title",
806
+ "type": "typography",
807
+ "variant": "h4"
808
+ },
809
+ {
810
+ "children": [
811
+ "array/map",
812
+ "@config.links",
813
+ [
814
+ "fn",
815
+ "item",
816
+ {
817
+ "href": "@item.href",
818
+ "label": "@item.label",
819
+ "type": "button",
820
+ "variant": "ghost"
821
+ }
822
+ ]
823
+ ],
824
+ "direction": "horizontal",
825
+ "gap": "sm",
826
+ "type": "stack"
827
+ },
828
+ {
829
+ "entity": [
830
+ "array/sort",
831
+ "@payload.data",
832
+ "createdAt",
833
+ "asc"
834
+ ],
835
+ "fields": [],
836
+ "gap": "sm",
837
+ "renderItem": [
838
+ "fn",
839
+ "item",
840
+ {
841
+ "children": [
842
+ {
843
+ "label": "@item.role",
844
+ "size": "sm",
845
+ "type": "badge",
846
+ "variant": "neutral"
847
+ },
848
+ {
849
+ "content": "@item.content",
850
+ "type": "typography",
851
+ "variant": "body"
852
+ }
853
+ ],
854
+ "direction": "vertical",
855
+ "gap": "xs",
856
+ "type": "stack"
857
+ }
858
+ ],
859
+ "type": "data-list"
860
+ },
861
+ {
862
+ "children": [
863
+ {
864
+ "aria-label": "Message",
865
+ "onChange": "EDIT_MESSAGE",
866
+ "placeholder": "@config.placeholder",
867
+ "type": "textarea"
868
+ },
869
+ {
870
+ "action": "SEND_DRAFT",
871
+ "icon": "send",
872
+ "label": "Send",
873
+ "type": "button",
874
+ "variant": "primary"
875
+ }
876
+ ],
877
+ "direction": "horizontal",
878
+ "gap": "sm",
879
+ "type": "stack"
880
+ }
881
+ ],
882
+ "direction": "vertical",
883
+ "gap": "md",
884
+ "type": "stack"
666
885
  }
667
886
  ]
668
887
  ],
669
- "event": "READ_SPEC",
670
- "eventId": "evt_01KXG04EKXADQDWCRA4DFQ1FTC",
671
- "from": "idle",
672
- "to": "reading"
888
+ "event": "AgentMessagesLoaded",
889
+ "eventId": "evt_01M3TYMQH87K7NK4H6DHKPYPM6",
890
+ "from": "loading",
891
+ "to": "chatting"
673
892
  },
674
893
  {
675
894
  "effects": [
676
895
  [
677
- "set",
678
- "@entity.spec",
679
- "@payload.result"
680
- ],
681
- [
682
- "session/read-history",
683
- "@entity.orbitalName",
896
+ "render-ui",
897
+ "main",
684
898
  {
685
- "emit": {
686
- "failure": "HISTORY_LOAD_FAILED",
687
- "success": "HISTORY_LOADED"
688
- }
899
+ "message": "@payload.error",
900
+ "type": "alert",
901
+ "variant": "error"
689
902
  }
690
903
  ]
691
904
  ],
692
- "event": "SPEC_LOADED",
693
- "eventId": "evt_01KXG04EKX3H1EN73B8HMFXN1P",
694
- "from": "reading",
695
- "to": "loadingHistory"
905
+ "event": "AgentMessagesLoadFailed",
906
+ "eventId": "evt_01M3TYMQH8BHTWREJV617WFH68",
907
+ "from": "loading",
908
+ "to": "chatting"
696
909
  },
697
910
  {
698
911
  "effects": [
699
912
  [
700
- "set",
701
- "@entity.status",
702
- "idle"
703
- ]
704
- ],
705
- "event": "SPEC_LOAD_FAILED",
706
- "eventId": "evt_01KXG04EKX1MSK9YFKZ9BEVMMM",
707
- "from": "reading",
708
- "to": "idle"
709
- },
710
- {
711
- "effects": [
712
- [
713
- "set",
714
- "@entity.history",
715
- "@payload.result"
716
- ],
717
- [
718
- "set",
719
- "@entity.status",
720
- "read"
913
+ "fetch",
914
+ "AgentMessage",
915
+ {
916
+ "emit": {
917
+ "failure": "AgentMessagesLoadFailed",
918
+ "success": "AgentMessagesLoaded"
919
+ }
920
+ }
721
921
  ],
722
922
  [
723
- "emit",
724
- "SPEC_READ",
923
+ "render-ui",
924
+ "main",
725
925
  {
726
- "history": "@entity.history",
727
- "spec": "@entity.spec"
926
+ "children": [
927
+ {
928
+ "type": "skeleton",
929
+ "variant": "header"
930
+ },
931
+ {
932
+ "rows": 6.0,
933
+ "type": "skeleton",
934
+ "variant": "list"
935
+ }
936
+ ],
937
+ "direction": "vertical",
938
+ "gap": "lg",
939
+ "type": "stack"
728
940
  }
729
941
  ]
730
942
  ],
731
- "event": "HISTORY_LOADED",
732
- "eventId": "evt_01KXG04EKX1WXPHFMS8PDEP3V9",
733
- "from": "loadingHistory",
734
- "to": "read"
943
+ "event": "INIT",
944
+ "eventId": "evt_01M3TYMQH81AV51TX8HBD3BVVY",
945
+ "from": "chatting",
946
+ "to": "loading"
735
947
  },
736
948
  {
737
949
  "effects": [
738
950
  [
739
951
  "set",
740
- "@entity.status",
741
- "idle"
952
+ "@entity.draft",
953
+ "@payload.value"
742
954
  ]
743
955
  ],
744
- "event": "HISTORY_LOAD_FAILED",
745
- "eventId": "evt_01KXG04EKX2TZBYC9HCBBPQS7G",
746
- "from": "loadingHistory",
747
- "to": "idle"
956
+ "event": "EDIT_MESSAGE",
957
+ "eventId": "evt_01M3TYMQH8HHGS90VQR6Y0RK1K",
958
+ "from": "chatting",
959
+ "to": "chatting"
748
960
  },
749
961
  {
750
962
  "effects": [
751
963
  [
752
- "set",
753
- "@entity.status",
754
- "read"
755
- ]
756
- ],
757
- "event": "INIT",
758
- "eventId": "evt_01KXG04EKXGYJ1FH125MS53CJ6",
759
- "from": "read",
760
- "to": "read"
761
- },
762
- {
763
- "effects": [
764
- [
765
- "set",
766
- "@entity.spec",
767
- {}
768
- ],
769
- [
770
- "set",
771
- "@entity.history",
772
- []
964
+ "persist",
965
+ "create",
966
+ "AgentMessage",
967
+ {
968
+ "content": "@entity.draft",
969
+ "createdAt": "@now",
970
+ "ownerId": "@user.id",
971
+ "role": "user"
972
+ },
973
+ {
974
+ "emit": {
975
+ "failure": "AgentMessageSaveFailed",
976
+ "success": "AgentMessageSaved"
977
+ }
978
+ }
773
979
  ],
774
980
  [
775
981
  "set",
776
- "@entity.status",
777
- "idle"
982
+ "@entity.draft",
983
+ ""
778
984
  ]
779
985
  ],
780
- "event": "RESET",
781
- "eventId": "evt_01KXG04EKX8WQZEZJ0A6XFEAFH",
782
- "from": "read",
783
- "to": "idle"
784
- }
785
- ]
786
- }
787
- },
788
- {
789
- "category": "lifecycle",
790
- "effectRow": [
791
- {
792
- "kind": "emit",
793
- "resource": "SPEC_WRITTEN"
794
- },
795
- {
796
- "kind": "session/write-spec"
797
- },
798
- {
799
- "kind": "set",
800
- "resource": "@entity.orbitalName"
801
- },
802
- {
803
- "kind": "set",
804
- "resource": "@entity.spec"
805
- },
806
- {
807
- "kind": "set",
808
- "resource": "@entity.status"
809
- }
810
- ],
811
- "emits": [
812
- {
813
- "event": "SPEC_WRITTEN",
814
- "eventId": "evt_01KXG04EKXGEKJBQ6QMY8GWE40",
815
- "payloadSchema": [
816
- {
817
- "name": "orbitalName",
818
- "required": true,
819
- "type": "string"
820
- }
821
- ]
822
- }
823
- ],
824
- "entityRefIds": {
825
- "AgentSession": "ent_01KXG04EKX39PHPB9ADMKRXVVH"
826
- },
827
- "id": "trt_01KXG04EKXJY0PEPEH24A09MN2",
828
- "linkedEntity": "AgentSession",
829
- "linkedEntityId": "ent_01KXG04EKX39PHPB9ADMKRXVVH",
830
- "name": "SessionWriter",
831
- "scope": "instance",
832
- "stateMachine": {
833
- "events": [
834
- {
835
- "id": "evt_01KXG04EKX5K2E6MVGTQ98DVX8",
836
- "key": "INIT",
837
- "name": "Initialize"
838
- },
839
- {
840
- "id": "evt_01KXG04EKXQ3012NS749R8GSQS",
841
- "key": "WRITE_SPEC",
842
- "name": "Write Spec",
843
- "payloadSchema": [
844
- {
845
- "name": "orbitalName",
846
- "required": true,
847
- "type": "string"
848
- },
849
- {
850
- "name": "spec",
851
- "properties": [
852
- {
853
- "name": "orbitalName",
854
- "type": "string"
855
- },
856
- {
857
- "name": "organism",
858
- "required": true,
859
- "type": "string"
860
- },
861
- {
862
- "name": "method",
863
- "required": true,
864
- "type": "string"
865
- },
866
- {
867
- "name": "deltaPrompt",
868
- "required": true,
869
- "type": "string"
870
- }
986
+ "event": "SEND_DRAFT",
987
+ "eventId": "evt_01M3TYMQH8RCRDSVZ3DQ6DZ2YF",
988
+ "from": "chatting",
989
+ "guard": [
990
+ "not",
991
+ [
992
+ "=",
993
+ [
994
+ "str/default",
995
+ "@entity.draft",
996
+ ""
871
997
  ],
872
- "required": true,
873
- "type": "object"
874
- }
875
- ]
876
- },
877
- {
878
- "id": "evt_01KXG04EKX5ASR4H9E1B20EQD4",
879
- "key": "RESET",
880
- "name": "Reset"
881
- },
882
- {
883
- "id": "evt_01KXG04EKXGEKJBQ6QMY8GWE40",
884
- "key": "SPEC_WRITTEN",
885
- "name": "Spec Written",
886
- "payloadSchema": [
887
- {
888
- "name": "orbitalName",
889
- "required": true,
890
- "type": "string"
891
- }
892
- ]
893
- }
894
- ],
895
- "states": [
896
- {
897
- "isInitial": true,
898
- "name": "idle"
998
+ ""
999
+ ]
1000
+ ],
1001
+ "to": "waiting"
899
1002
  },
900
- {
901
- "name": "written"
902
- }
903
- ],
904
- "transitions": [
905
1003
  {
906
1004
  "effects": [
907
1005
  [
908
- "set",
909
- "@entity.orbitalName",
910
- ""
911
- ],
912
- [
913
- "set",
914
- "@entity.spec",
915
- {}
916
- ],
1006
+ "persist",
1007
+ "create",
1008
+ "AgentMessage",
1009
+ {
1010
+ "content": "@payload.message",
1011
+ "createdAt": "@now",
1012
+ "ownerId": "@user.id",
1013
+ "role": "user"
1014
+ },
1015
+ {
1016
+ "emit": {
1017
+ "failure": "AgentMessageSaveFailed",
1018
+ "success": "AgentMessageSaved"
1019
+ }
1020
+ }
1021
+ ]
1022
+ ],
1023
+ "event": "SEND",
1024
+ "eventId": "evt_01M3TYMQH87CAV0ETMWW6P6W6P",
1025
+ "from": "chatting",
1026
+ "guard": [
1027
+ "not",
917
1028
  [
918
- "set",
919
- "@entity.status",
920
- "idle"
1029
+ "=",
1030
+ [
1031
+ "str/default",
1032
+ "@payload.message",
1033
+ ""
1034
+ ],
1035
+ ""
921
1036
  ]
922
1037
  ],
923
- "event": "INIT",
924
- "eventId": "evt_01KXG04EKX5K2E6MVGTQ98DVX8",
925
- "from": "idle",
926
- "to": "idle"
1038
+ "to": "waiting"
927
1039
  },
928
1040
  {
929
1041
  "effects": [
930
1042
  [
931
- "set",
932
- "@entity.orbitalName",
933
- "@payload.orbitalName"
934
- ],
935
- [
936
- "set",
937
- "@entity.spec",
938
- "@payload.spec"
939
- ],
940
- [
941
- "session/write-spec",
942
- "@entity.orbitalName",
943
- "@entity.spec"
944
- ],
945
- [
946
- "set",
947
- "@entity.status",
948
- "written"
1043
+ "persist",
1044
+ "create",
1045
+ "AgentMessage",
1046
+ {
1047
+ "content": "@payload.reply",
1048
+ "createdAt": "@now",
1049
+ "ownerId": "@user.id",
1050
+ "role": "assistant"
1051
+ }
949
1052
  ],
950
1053
  [
951
- "emit",
952
- "SPEC_WRITTEN",
1054
+ "fetch",
1055
+ "AgentMessage",
953
1056
  {
954
- "orbitalName": "@entity.orbitalName"
1057
+ "emit": {
1058
+ "failure": "AgentMessagesLoadFailed",
1059
+ "success": "AgentMessagesLoaded"
1060
+ }
955
1061
  }
956
1062
  ]
957
1063
  ],
958
- "event": "WRITE_SPEC",
959
- "eventId": "evt_01KXG04EKXQ3012NS749R8GSQS",
960
- "from": "idle",
961
- "to": "written"
1064
+ "event": "REPLIED",
1065
+ "eventId": "evt_01M3TYMQH8PJZ22902FWBBMMK4",
1066
+ "from": "chatting",
1067
+ "to": "loading"
962
1068
  },
963
1069
  {
964
1070
  "effects": [
965
1071
  [
966
- "set",
967
- "@entity.status",
968
- "written"
1072
+ "fetch",
1073
+ "AgentMessage",
1074
+ {
1075
+ "emit": {
1076
+ "failure": "AgentMessagesLoadFailed",
1077
+ "success": "AgentMessagesLoaded"
1078
+ }
1079
+ }
969
1080
  ]
970
1081
  ],
971
- "event": "INIT",
972
- "eventId": "evt_01KXG04EKX5K2E6MVGTQ98DVX8",
973
- "from": "written",
974
- "to": "written"
1082
+ "event": "REPLY_FAILED",
1083
+ "eventId": "evt_01M3TYMQH844NH7EYEBPA4XVG6",
1084
+ "from": "chatting",
1085
+ "to": "loading"
975
1086
  },
976
1087
  {
977
1088
  "effects": [
978
1089
  [
979
- "set",
980
- "@entity.spec",
981
- {}
1090
+ "fetch",
1091
+ "AgentMessage",
1092
+ {
1093
+ "emit": {
1094
+ "failure": "AgentMessagesLoadFailed",
1095
+ "success": "AgentConversationLoaded"
1096
+ }
1097
+ }
982
1098
  ],
983
1099
  [
984
- "set",
985
- "@entity.status",
986
- "idle"
987
- ]
988
- ],
989
- "event": "RESET",
990
- "eventId": "evt_01KXG04EKX5ASR4H9E1B20EQD4",
991
- "from": "written",
992
- "to": "idle"
993
- }
994
- ]
995
- }
996
- },
997
- {
998
- "category": "lifecycle",
999
- "effectRow": [
1000
- {
1001
- "kind": "set",
1002
- "resource": "@entity.status"
1003
- }
1004
- ],
1005
- "entityRefIds": {
1006
- "AgentSession": "ent_01KXG04EKX39PHPB9ADMKRXVVH"
1007
- },
1008
- "id": "trt_01KXG04EKX2J2G30B1BZS1XX5K",
1009
- "linkedEntity": "AgentSession",
1010
- "linkedEntityId": "ent_01KXG04EKX39PHPB9ADMKRXVVH",
1011
- "listens": [
1012
- {
1013
- "event": "SPEC_READ",
1014
- "eventId": "evt_01KXG04EKX5A8JT97Q39HC4E4K",
1015
- "source": {
1016
- "kind": "trait",
1017
- "trait": "SessionReader",
1018
- "traitId": "trt_01KXG04EKXM2CWDTW7V6A103HS"
1019
- },
1020
- "triggers": "SPEC_READ",
1021
- "triggersId": "evt_01KXG04EKX125KV7F4JQRFF8BC"
1022
- },
1023
- {
1024
- "event": "SPEC_WRITTEN",
1025
- "eventId": "evt_01KXG04EKXGEKJBQ6QMY8GWE40",
1026
- "source": {
1027
- "kind": "trait",
1028
- "trait": "SessionWriter",
1029
- "traitId": "trt_01KXG04EKXJY0PEPEH24A09MN2"
1030
- },
1031
- "triggers": "SPEC_WRITTEN",
1032
- "triggersId": "evt_01KXG04EKXQ3CQQP3ZEY0K9CZD"
1033
- }
1034
- ],
1035
- "name": "SessionListener",
1036
- "scope": "instance",
1037
- "stateMachine": {
1038
- "events": [
1039
- {
1040
- "id": "evt_01KXG04EKX22QYT3DTH7TFSBM3",
1041
- "key": "INIT",
1042
- "name": "Initialize"
1043
- },
1044
- {
1045
- "id": "evt_01KXG04EKX125KV7F4JQRFF8BC",
1046
- "key": "SPEC_READ",
1047
- "name": "Spec Read"
1048
- },
1049
- {
1050
- "id": "evt_01KXG04EKXQ3CQQP3ZEY0K9CZD",
1051
- "key": "SPEC_WRITTEN",
1052
- "name": "Spec Written"
1053
- },
1054
- {
1055
- "id": "evt_01KXG04EKX3EQVVA8QMNATFKHD",
1056
- "key": "RESET",
1057
- "name": "Reset"
1058
- }
1059
- ],
1060
- "states": [
1061
- {
1062
- "isInitial": true,
1063
- "name": "waiting"
1064
- },
1065
- {
1066
- "name": "active"
1067
- }
1068
- ],
1069
- "transitions": [
1070
- {
1071
- "effects": [
1072
- [
1073
- "set",
1074
- "@entity.status",
1075
- "idle"
1100
+ "render-ui",
1101
+ "main",
1102
+ {
1103
+ "size": "sm",
1104
+ "type": "spinner"
1105
+ }
1076
1106
  ]
1077
1107
  ],
1078
- "event": "INIT",
1079
- "eventId": "evt_01KXG04EKX22QYT3DTH7TFSBM3",
1108
+ "event": "AgentMessageSaved",
1109
+ "eventId": "evt_01M3TYMQH8ACSRY02P4HWBHJWV",
1080
1110
  "from": "waiting",
1081
1111
  "to": "waiting"
1082
1112
  },
1083
1113
  {
1084
1114
  "effects": [
1085
1115
  [
1086
- "set",
1087
- "@entity.status",
1088
- "read"
1116
+ "emit",
1117
+ "CONVERSE",
1118
+ {
1119
+ "messages": [
1120
+ "array/map",
1121
+ [
1122
+ "array/sort",
1123
+ "@payload.data",
1124
+ "createdAt",
1125
+ "asc"
1126
+ ],
1127
+ [
1128
+ "fn",
1129
+ "item",
1130
+ {
1131
+ "content": "@item.content",
1132
+ "role": "@item.role"
1133
+ }
1134
+ ]
1135
+ ]
1136
+ }
1089
1137
  ]
1090
1138
  ],
1091
- "event": "SPEC_READ",
1092
- "eventId": "evt_01KXG04EKX125KV7F4JQRFF8BC",
1139
+ "event": "AgentConversationLoaded",
1140
+ "eventId": "evt_01M3TYMQH8H65NTWP1KYX7WM6C",
1093
1141
  "from": "waiting",
1094
- "to": "active"
1142
+ "to": "waiting"
1095
1143
  },
1096
1144
  {
1097
1145
  "effects": [
1098
1146
  [
1099
- "set",
1100
- "@entity.status",
1101
- "written"
1147
+ "persist",
1148
+ "create",
1149
+ "AgentMessage",
1150
+ {
1151
+ "content": "@payload.reply",
1152
+ "createdAt": "@now",
1153
+ "ownerId": "@user.id",
1154
+ "role": "assistant"
1155
+ }
1156
+ ],
1157
+ [
1158
+ "fetch",
1159
+ "AgentMessage",
1160
+ {
1161
+ "emit": {
1162
+ "failure": "AgentMessagesLoadFailed",
1163
+ "success": "AgentMessagesLoaded"
1164
+ }
1165
+ }
1102
1166
  ]
1103
1167
  ],
1104
- "event": "SPEC_WRITTEN",
1105
- "eventId": "evt_01KXG04EKXQ3CQQP3ZEY0K9CZD",
1168
+ "event": "REPLIED",
1169
+ "eventId": "evt_01M3TYMQH8PJZ22902FWBBMMK4",
1106
1170
  "from": "waiting",
1107
- "to": "active"
1171
+ "to": "loading"
1108
1172
  },
1109
1173
  {
1110
1174
  "effects": [
1111
1175
  [
1112
- "set",
1113
- "@entity.status",
1114
- "idle"
1176
+ "fetch",
1177
+ "AgentMessage",
1178
+ {
1179
+ "emit": {
1180
+ "failure": "AgentMessagesLoadFailed",
1181
+ "success": "AgentMessagesLoaded"
1182
+ }
1183
+ }
1115
1184
  ]
1116
1185
  ],
1117
- "event": "RESET",
1118
- "eventId": "evt_01KXG04EKX3EQVVA8QMNATFKHD",
1186
+ "event": "REPLY_FAILED",
1187
+ "eventId": "evt_01M3TYMQH844NH7EYEBPA4XVG6",
1119
1188
  "from": "waiting",
1120
- "to": "waiting"
1189
+ "to": "loading"
1121
1190
  },
1122
1191
  {
1123
1192
  "effects": [
1124
1193
  [
1125
- "set",
1126
- "@entity.status",
1127
- "idle"
1194
+ "render-ui",
1195
+ "main",
1196
+ {
1197
+ "message": "@payload.error",
1198
+ "type": "alert",
1199
+ "variant": "error"
1200
+ }
1128
1201
  ]
1129
1202
  ],
1130
- "event": "INIT",
1131
- "eventId": "evt_01KXG04EKX22QYT3DTH7TFSBM3",
1132
- "from": "active",
1133
- "to": "active"
1203
+ "event": "AgentMessageSaveFailed",
1204
+ "eventId": "evt_01M3TYMQH8CEE16439Z6N25V08",
1205
+ "from": "waiting",
1206
+ "to": "chatting"
1134
1207
  },
1135
1208
  {
1136
1209
  "effects": [
1137
1210
  [
1138
- "set",
1139
- "@entity.status",
1140
- "idle"
1211
+ "render-ui",
1212
+ "main",
1213
+ {
1214
+ "message": "@payload.error",
1215
+ "type": "alert",
1216
+ "variant": "error"
1217
+ }
1141
1218
  ]
1142
1219
  ],
1143
- "event": "RESET",
1144
- "eventId": "evt_01KXG04EKX3EQVVA8QMNATFKHD",
1145
- "from": "active",
1146
- "to": "waiting"
1220
+ "event": "AgentMessagesLoadFailed",
1221
+ "eventId": "evt_01M3TYMQH8BHTWREJV617WFH68",
1222
+ "from": "waiting",
1223
+ "to": "chatting"
1147
1224
  }
1148
1225
  ]
1149
1226
  }
1150
1227
  }
1151
1228
  ],
1152
1229
  "types": {
1153
- "HistoryEntry": [
1230
+ "AgentChatMessage": [
1154
1231
  {
1155
1232
  "name": "role",
1156
- "required": true,
1157
1233
  "type": "string"
1158
1234
  },
1159
1235
  {
1160
1236
  "name": "content",
1161
1237
  "required": true,
1162
1238
  "type": "string"
1163
- },
1164
- {
1165
- "name": "timestamp",
1166
- "type": "number"
1167
1239
  }
1168
1240
  ],
1169
- "OrbitalSpec": [
1170
- {
1171
- "name": "orbitalName",
1172
- "type": "string"
1173
- },
1174
- {
1175
- "name": "organism",
1176
- "required": true,
1177
- "type": "string"
1178
- },
1241
+ "AgentLink": [
1179
1242
  {
1180
- "name": "method",
1243
+ "name": "label",
1181
1244
  "required": true,
1182
1245
  "type": "string"
1183
1246
  },
1184
1247
  {
1185
- "name": "deltaPrompt",
1248
+ "name": "href",
1186
1249
  "required": true,
1187
1250
  "type": "string"
1188
1251
  }
@@ -1191,5 +1254,5 @@
1191
1254
  }
1192
1255
  ],
1193
1256
  "schemaVersion": 1,
1194
- "version": "1.0.0"
1257
+ "version": "2.0.0"
1195
1258
  }