@almadar/std 16.236.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.
- package/behaviors/behaviors-registry.json +57874 -1895
- package/behaviors/lolo/agent/atoms/std-agent-context.lolo +65 -134
- package/behaviors/lolo/agent/atoms/std-agent-memory.lolo +162 -112
- package/behaviors/lolo/agent/atoms/std-agent-session.lolo +239 -115
- package/behaviors/lolo/agent/atoms/std-agent-tool-loop.lolo +96 -90
- package/behaviors/lolo/agent/atoms/std-agent-trace.lolo +133 -40
- package/behaviors/lolo/agent/organisms/std-agent-assistant.lolo +137 -0
- package/behaviors/lolo/infra/atoms/std-approval-gate.lolo +7 -0
- package/behaviors/lolo/infra/atoms/std-cache-aside.lolo +4 -17
- package/behaviors/lolo/infra/atoms/std-migration-job.lolo +2 -2
- package/behaviors/lolo/infra/atoms/std-notification-preferences.lolo +26 -13
- package/behaviors/lolo/infra/atoms/std-permission-matrix.lolo +5 -0
- package/behaviors/lolo/ui/avl/atoms/ui-avl-glyph.lolo +90 -0
- package/behaviors/lolo/ui/avl/atoms/ui-avl-state-machine.lolo +90 -0
- package/behaviors/lolo/ui/avl/atoms/ui-behavior-view.lolo +80 -0
- package/behaviors/lolo/ui/avl/atoms/ui-module-card.lolo +80 -0
- package/behaviors/lolo/ui/core/atoms/std-billable-hour.lolo +12 -21
- package/behaviors/lolo/ui/core/atoms/std-board.lolo +5 -32
- package/behaviors/lolo/ui/core/atoms/std-book-reader.lolo +19 -11
- package/behaviors/lolo/ui/core/atoms/std-browse.lolo +42 -7
- package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +4 -16
- package/behaviors/lolo/ui/core/atoms/std-detail-layout.lolo +3 -1
- package/behaviors/lolo/ui/core/atoms/std-esign-flow.lolo +21 -13
- package/behaviors/lolo/ui/core/atoms/std-esign-request.lolo +12 -2
- package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +44 -10
- package/behaviors/lolo/ui/core/atoms/std-file-store.lolo +35 -72
- package/behaviors/lolo/ui/core/atoms/std-gantt-schedule.lolo +29 -14
- package/behaviors/lolo/ui/core/atoms/std-image-upload-multi.lolo +8 -22
- package/behaviors/lolo/ui/core/atoms/std-list.lolo +28 -13
- package/behaviors/lolo/ui/core/atoms/std-multi-party-flow.lolo +52 -14
- package/behaviors/lolo/ui/core/atoms/std-prose.lolo +7 -1
- package/behaviors/lolo/ui/core/atoms/std-rating-review.lolo +23 -8
- package/behaviors/lolo/ui/core/atoms/std-record-detail.lolo +139 -19
- package/behaviors/lolo/ui/core/atoms/std-recurrence.lolo +28 -20
- package/behaviors/lolo/ui/core/atoms/std-related.lolo +36 -25
- package/behaviors/lolo/ui/core/atoms/std-saved-search.lolo +20 -21
- package/behaviors/lolo/ui/core/atoms/std-scoped-list.lolo +143 -0
- package/behaviors/lolo/ui/core/atoms/std-selection.lolo +34 -14
- package/behaviors/lolo/ui/core/atoms/std-signature-capture.lolo +1 -13
- package/behaviors/lolo/ui/core/atoms/std-slide-deck.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/std-step-flow.lolo +4 -16
- package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +24 -80
- package/behaviors/lolo/ui/core/atoms/std-thread.lolo +92 -31
- package/behaviors/lolo/ui/core/atoms/std-tree.lolo +18 -22
- package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +43 -83
- package/behaviors/lolo/ui/core/atoms/std-vote.lolo +2 -39
- package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +20 -10
- package/behaviors/lolo/ui/core/atoms/ui-animated-graphic.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-animated-reveal.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-aside.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-atlas-image.lolo +16 -0
- package/behaviors/lolo/ui/core/atoms/ui-atlas-panel.lolo +16 -0
- package/behaviors/lolo/ui/core/atoms/ui-avatar.lolo +91 -1
- package/behaviors/lolo/ui/core/atoms/ui-badge.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-box.lolo +98 -13
- package/behaviors/lolo/ui/core/atoms/ui-button.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-card.lolo +91 -1
- package/behaviors/lolo/ui/core/atoms/ui-center.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-checkbox.lolo +112 -0
- package/behaviors/lolo/ui/core/atoms/ui-confetti-effect.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-day-cell.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-dialog.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-divider.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-filter-pill.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-flip-container.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-game-icon.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-hstack.lolo +90 -10
- package/behaviors/lolo/ui/core/atoms/ui-icon.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-image.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-infinite-scroll-sentinel.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-input.lolo +11 -1
- package/behaviors/lolo/ui/core/atoms/ui-label.lolo +91 -1
- package/behaviors/lolo/ui/core/atoms/ui-law-reference-tooltip.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-overlay.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-pattern-tile.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-presence.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-progress-bar.lolo +91 -1
- package/behaviors/lolo/ui/core/atoms/ui-radio.lolo +106 -0
- package/behaviors/lolo/ui/core/atoms/ui-range-slider.lolo +122 -0
- package/behaviors/lolo/ui/core/atoms/ui-section-header.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-select.lolo +95 -0
- package/behaviors/lolo/ui/core/atoms/ui-spacer.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-sparkline.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-spinner.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-stack.lolo +90 -10
- package/behaviors/lolo/ui/core/atoms/ui-status-dot.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-branch.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-connection.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-flow.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-grid.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-lobe.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-mesh.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-morph.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-node.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-pulse.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-ring.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-shield.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-stack.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-switch.lolo +106 -0
- package/behaviors/lolo/ui/core/atoms/ui-text-highlight.lolo +122 -0
- package/behaviors/lolo/ui/core/atoms/ui-textarea.lolo +100 -0
- package/behaviors/lolo/ui/core/atoms/ui-theme-toggle.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-time-slot-cell.lolo +142 -0
- package/behaviors/lolo/ui/core/atoms/ui-trend-indicator.lolo +91 -1
- package/behaviors/lolo/ui/core/atoms/ui-typewriter-text.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-typography.lolo +96 -6
- package/behaviors/lolo/ui/core/atoms/ui-vstack.lolo +90 -10
- package/behaviors/lolo/ui/core/molecules/ui-accordion.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-activation-block.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-alert.lolo +95 -0
- package/behaviors/lolo/ui/core/molecules/ui-animated-counter.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-bloom-quiz-block.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-branching-logic-builder.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-breadcrumb.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-calendar-grid.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-carousel.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-change-list.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-chart-legend.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-chart.lolo +93 -3
- package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +202 -0
- package/behaviors/lolo/ui/core/molecules/ui-command-palette.lolo +110 -4
- package/behaviors/lolo/ui/core/molecules/ui-commit-row.lolo +123 -1
- package/behaviors/lolo/ui/core/molecules/ui-confirm-dialog.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-connection-block.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-container.lolo +92 -2
- package/behaviors/lolo/ui/core/molecules/ui-content-renderer.lolo +97 -7
- package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +144 -4
- package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +132 -3
- package/behaviors/lolo/ui/core/molecules/ui-date-range-picker.lolo +109 -3
- package/behaviors/lolo/ui/core/molecules/ui-date-range-selector.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-doc-breadcrumb.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-doc-pagination.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-doc-search.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-doc-sidebar.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-doc-toc.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-document-details.lolo +139 -0
- package/behaviors/lolo/ui/core/molecules/ui-document-panel.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-document-viewer.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-drawer.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-edge-decoration.lolo +10 -0
- package/behaviors/lolo/ui/core/molecules/ui-emoji-picker.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-empty-state.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-error-boundary.lolo +10 -0
- package/behaviors/lolo/ui/core/molecules/ui-error-state.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-feature-card.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-feature-grid.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-file-tree.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-filter-group.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-flex.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-flip-card.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-floating-action-button.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-floating-toolbar.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-form-actions.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-form-field.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-form-layout.lolo +96 -6
- package/behaviors/lolo/ui/core/molecules/ui-form-section-header.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-fx-overlay.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-gantt.lolo +131 -1
- package/behaviors/lolo/ui/core/molecules/ui-geometric-pattern.lolo +10 -0
- package/behaviors/lolo/ui/core/molecules/ui-gradient-divider.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-graph-canvas.lolo +95 -0
- package/behaviors/lolo/ui/core/molecules/ui-graph-view.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-grid.lolo +95 -5
- package/behaviors/lolo/ui/core/molecules/ui-header.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-icon-button.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-import-preview-tree.lolo +93 -2
- package/behaviors/lolo/ui/core/molecules/ui-import-progress.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-import-source-picker.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-input-group.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-jazari-state-machine.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-lightbox.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-likert-scale.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-line-chart.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-loading-state.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-map-view.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-markdown-content.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-matrix-question.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-menu.lolo +91 -0
- package/behaviors/lolo/ui/core/molecules/ui-meter.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-modal.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-navigation.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-notification.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-number-stepper.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-option-constraint-group.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-orbital-visualization.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-page-header.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-page-transition.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-pagination.lolo +106 -0
- package/behaviors/lolo/ui/core/molecules/ui-popover.lolo +106 -0
- package/behaviors/lolo/ui/core/molecules/ui-positioned-canvas.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-progress-dots.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-pull-to-refresh.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-qr-scanner.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-quiz-block.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-reflection-block.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-relation-select.lolo +106 -0
- package/behaviors/lolo/ui/core/molecules/ui-repeatable-form-section.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-reply-tree.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-rich-text-editor.lolo +106 -0
- package/behaviors/lolo/ui/core/molecules/ui-scaled-diagram.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-search-input.lolo +106 -0
- package/behaviors/lolo/ui/core/molecules/ui-section.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-side-panel.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-sidebar.lolo +106 -0
- package/behaviors/lolo/ui/core/molecules/ui-signature-pad.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-simple-grid.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-skeleton.lolo +93 -3
- package/behaviors/lolo/ui/core/molecules/ui-social-proof.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-sortable-list.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-split.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-star-rating.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-stat-display.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-swipeable-row.lolo +138 -0
- package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +140 -3
- package/behaviors/lolo/ui/core/molecules/ui-tabs.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-tag-input.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-tooltip.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-top-nav-item.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-upload-drop-zone.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-version-diff.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-violation-alert.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-vote-stack.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-wizard-container.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-wizard-navigation.lolo +138 -0
- package/behaviors/lolo/ui/core/molecules/ui-wizard-progress.lolo +90 -0
- package/behaviors/lolo/ui/core/organisms/ui-chat-bar.lolo +91 -1
- package/behaviors/lolo/ui/core/organisms/ui-code-runner-panel.lolo +90 -0
- package/behaviors/lolo/ui/core/organisms/ui-dashboard-grid.lolo +91 -1
- package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +355 -6
- package/behaviors/lolo/ui/core/organisms/ui-dock-layout.lolo +90 -0
- package/behaviors/lolo/ui/core/organisms/ui-drawer-slot.lolo +10 -0
- package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +152 -8
- package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +162 -7
- package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +142 -1
- package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +141 -1
- package/behaviors/lolo/ui/core/organisms/ui-form.lolo +141 -1
- package/behaviors/lolo/ui/core/organisms/ui-master-detail-layout.lolo +90 -0
- package/behaviors/lolo/ui/core/organisms/ui-master-detail.lolo +123 -1
- package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +137 -1
- package/behaviors/lolo/ui/core/organisms/ui-modal-slot.lolo +10 -0
- package/behaviors/lolo/ui/core/organisms/ui-runtime-debugger.lolo +90 -0
- package/behaviors/lolo/ui/core/organisms/ui-segment-renderer.lolo +90 -0
- package/behaviors/lolo/ui/core/organisms/ui-split-pane.lolo +106 -0
- package/behaviors/lolo/ui/core/organisms/ui-stat-card.lolo +130 -2
- package/behaviors/lolo/ui/core/organisms/ui-state-machine-view.lolo +92 -2
- package/behaviors/lolo/ui/core/organisms/ui-subagent-trace-panel.lolo +91 -1
- package/behaviors/lolo/ui/core/organisms/ui-tabbed-container.lolo +90 -0
- package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +152 -2
- package/behaviors/lolo/ui/core/organisms/ui-toast-slot.lolo +91 -1
- package/behaviors/lolo/ui/core/templates/ui-auth-layout.lolo +81 -1
- package/behaviors/lolo/ui/core/templates/ui-counter-template.lolo +92 -2
- package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +1 -1
- package/behaviors/lolo/ui/core/templates/ui-generic-app-template.lolo +90 -0
- package/behaviors/lolo/ui/game/.hand-authored.json +2 -2
- package/behaviors/lolo/ui/game/atoms/ui-action-palette.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-action-tile.lolo +91 -1
- package/behaviors/lolo/ui/game/atoms/ui-canvas-2d.lolo +95 -0
- package/behaviors/lolo/ui/game/atoms/ui-canvas.lolo +91 -1
- package/behaviors/lolo/ui/game/atoms/ui-choice-button.lolo +91 -1
- package/behaviors/lolo/ui/game/atoms/ui-control-button.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-control-grid.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-dialogue-bubble.lolo +92 -2
- package/behaviors/lolo/ui/game/atoms/ui-draw-mesh.lolo +1 -1
- package/behaviors/lolo/ui/game/atoms/ui-draw-shape.lolo +2 -2
- package/behaviors/lolo/ui/game/atoms/ui-draw-sprite.lolo +1 -1
- package/behaviors/lolo/ui/game/atoms/ui-draw-text.lolo +3 -3
- package/behaviors/lolo/ui/game/atoms/ui-game-audio-toggle.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-game-hud.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-game-menu.lolo +91 -1
- package/behaviors/lolo/ui/game/atoms/ui-health-bar.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-score-display.lolo +91 -1
- package/behaviors/lolo/ui/game/atoms/ui-sequence-bar.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-stat-badge.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-state-graph.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-state-json-view.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-trait-slot.lolo +123 -1
- package/behaviors/lolo/ui/learning/atoms/ui-algo-graph-canvas.lolo +90 -0
- package/behaviors/lolo/ui/learning/atoms/ui-algorithm-canvas.lolo +106 -0
- package/behaviors/lolo/ui/learning/atoms/ui-biology-canvas.lolo +106 -0
- package/behaviors/lolo/ui/learning/atoms/ui-chemistry-canvas.lolo +106 -0
- package/behaviors/lolo/ui/learning/atoms/ui-learning-canvas.lolo +112 -0
- package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +106 -0
- package/behaviors/lolo/ui/learning/atoms/ui-physics-canvas.lolo +106 -0
- package/behaviors/lolo-behavior-contracts.json +1 -1
- package/behaviors/registry/agent/atoms/std-agent-context.orb +299 -826
- package/behaviors/registry/agent/atoms/std-agent-memory.orb +858 -643
- package/behaviors/registry/agent/atoms/std-agent-session.orb +833 -770
- package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +505 -707
- package/behaviors/registry/agent/atoms/std-agent-trace.orb +680 -195
- package/behaviors/registry/agent/organisms/std-agent-assistant.orb +594 -0
- package/behaviors/registry/factory-signatures.json +1 -1
- package/behaviors/registry/infra/atoms/std-approval-gate.orb +70 -0
- package/behaviors/registry/infra/atoms/std-cache-aside.orb +172 -299
- package/behaviors/registry/infra/atoms/std-migration-job.orb +26 -1
- package/behaviors/registry/infra/atoms/std-notification-preferences.orb +57 -14
- package/behaviors/registry/infra/atoms/std-permission-matrix.orb +9 -0
- package/behaviors/registry/ui/avl/atoms/ui-avl-glyph.orb +236 -0
- package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +236 -0
- package/behaviors/registry/ui/avl/atoms/ui-behavior-view.orb +215 -0
- package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +215 -0
- package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +26 -18
- package/behaviors/registry/ui/core/atoms/std-board.orb +10 -34
- package/behaviors/registry/ui/core/atoms/std-book-reader.orb +32 -13
- package/behaviors/registry/ui/core/atoms/std-browse.orb +312 -20
- package/behaviors/registry/ui/core/atoms/std-calendar.orb +8 -19
- package/behaviors/registry/ui/core/atoms/std-detail-layout.orb +3 -1
- package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +48 -11
- package/behaviors/registry/ui/core/atoms/std-esign-request.orb +28 -4
- package/behaviors/registry/ui/core/atoms/std-event-log.orb +86 -14
- package/behaviors/registry/ui/core/atoms/std-file-store.orb +68 -59
- package/behaviors/registry/ui/core/atoms/std-gantt-schedule.orb +69 -12
- package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +16 -16
- package/behaviors/registry/ui/core/atoms/std-list.orb +59 -11
- package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +115 -14
- package/behaviors/registry/ui/core/atoms/std-prose.orb +14 -1
- package/behaviors/registry/ui/core/atoms/std-rating-review.orb +79 -8
- package/behaviors/registry/ui/core/atoms/std-record-detail.orb +693 -69
- package/behaviors/registry/ui/core/atoms/std-recurrence.orb +112 -28
- package/behaviors/registry/ui/core/atoms/std-related.orb +82 -21
- package/behaviors/registry/ui/core/atoms/std-saved-search.orb +82 -18
- package/behaviors/registry/ui/core/atoms/std-scoped-list.orb +993 -0
- package/behaviors/registry/ui/core/atoms/std-selection.orb +101 -12
- package/behaviors/registry/ui/core/atoms/std-signature-capture.orb +2 -16
- package/behaviors/registry/ui/core/atoms/std-slide-deck.orb +2 -0
- package/behaviors/registry/ui/core/atoms/std-step-flow.orb +8 -8
- package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +48 -64
- package/behaviors/registry/ui/core/atoms/std-thread.orb +863 -141
- package/behaviors/registry/ui/core/atoms/std-tree.orb +40 -18
- package/behaviors/registry/ui/core/atoms/std-version-history.orb +87 -69
- package/behaviors/registry/ui/core/atoms/std-vote.orb +4 -54
- package/behaviors/registry/ui/core/atoms/std-wizard.orb +70 -10
- package/behaviors/registry/ui/core/atoms/ui-animated-graphic.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-animated-reveal.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-aside.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-atlas-image.orb +29 -0
- package/behaviors/registry/ui/core/atoms/ui-atlas-panel.orb +29 -0
- package/behaviors/registry/ui/core/atoms/ui-avatar.orb +236 -1
- package/behaviors/registry/ui/core/atoms/ui-badge.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-box.orb +231 -10
- package/behaviors/registry/ui/core/atoms/ui-button.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-card.orb +236 -1
- package/behaviors/registry/ui/core/atoms/ui-center.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +260 -0
- package/behaviors/registry/ui/core/atoms/ui-confetti-effect.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-day-cell.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-dialog.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-divider.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-flip-container.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-game-icon.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-hstack.orb +225 -3
- package/behaviors/registry/ui/core/atoms/ui-icon.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-image.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-infinite-scroll-sentinel.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-input.orb +21 -1
- package/behaviors/registry/ui/core/atoms/ui-label.orb +237 -1
- package/behaviors/registry/ui/core/atoms/ui-law-reference-tooltip.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-overlay.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-pattern-tile.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-presence.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-progress-bar.orb +236 -1
- package/behaviors/registry/ui/core/atoms/ui-radio.orb +252 -0
- package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +268 -0
- package/behaviors/registry/ui/core/atoms/ui-section-header.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-select.orb +243 -0
- package/behaviors/registry/ui/core/atoms/ui-spacer.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-sparkline.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-spinner.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-stack.orb +225 -3
- package/behaviors/registry/ui/core/atoms/ui-status-dot.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-branch.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-connection.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-flow.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-grid.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-lobe.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-mesh.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-morph.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-node.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-pulse.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-ring.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-shield.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-stack.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-switch.orb +252 -0
- package/behaviors/registry/ui/core/atoms/ui-text-highlight.orb +268 -0
- package/behaviors/registry/ui/core/atoms/ui-textarea.orb +250 -0
- package/behaviors/registry/ui/core/atoms/ui-theme-toggle.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +384 -0
- package/behaviors/registry/ui/core/atoms/ui-trend-indicator.orb +236 -1
- package/behaviors/registry/ui/core/atoms/ui-typewriter-text.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-typography.orb +236 -6
- package/behaviors/registry/ui/core/atoms/ui-vstack.orb +225 -3
- package/behaviors/registry/ui/core/molecules/ui-accordion.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-activation-block.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-alert.orb +243 -0
- package/behaviors/registry/ui/core/molecules/ui-animated-counter.orb +237 -1
- package/behaviors/registry/ui/core/molecules/ui-bloom-quiz-block.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-branching-logic-builder.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-carousel.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-change-list.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-chart-legend.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-chart.orb +236 -3
- package/behaviors/registry/ui/core/molecules/ui-code-block.orb +348 -0
- package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +254 -4
- package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +268 -1
- package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-connection-block.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-container.orb +236 -2
- package/behaviors/registry/ui/core/molecules/ui-content-renderer.orb +241 -7
- package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +387 -2
- package/behaviors/registry/ui/core/molecules/ui-data-list.orb +351 -1
- package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +253 -3
- package/behaviors/registry/ui/core/molecules/ui-date-range-selector.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-doc-breadcrumb.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-doc-pagination.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-doc-search.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-doc-sidebar.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-doc-toc.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-document-details.orb +296 -0
- package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-drawer.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-edge-decoration.orb +21 -0
- package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +236 -1
- package/behaviors/registry/ui/core/molecules/ui-empty-state.orb +236 -1
- package/behaviors/registry/ui/core/molecules/ui-error-boundary.orb +21 -0
- package/behaviors/registry/ui/core/molecules/ui-error-state.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-feature-card.orb +236 -1
- package/behaviors/registry/ui/core/molecules/ui-feature-grid.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-flex.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-flip-card.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +236 -1
- package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-form-field.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-form-layout.orb +241 -6
- package/behaviors/registry/ui/core/molecules/ui-form-section-header.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-fx-overlay.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-gantt.orb +296 -1
- package/behaviors/registry/ui/core/molecules/ui-geometric-pattern.orb +21 -0
- package/behaviors/registry/ui/core/molecules/ui-gradient-divider.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +243 -0
- package/behaviors/registry/ui/core/molecules/ui-graph-view.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-grid.orb +236 -5
- package/behaviors/registry/ui/core/molecules/ui-header.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-icon-button.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +245 -2
- package/behaviors/registry/ui/core/molecules/ui-import-progress.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-input-group.orb +236 -1
- package/behaviors/registry/ui/core/molecules/ui-jazari-state-machine.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-lightbox.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +237 -1
- package/behaviors/registry/ui/core/molecules/ui-line-chart.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-loading-state.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-map-view.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-markdown-content.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-matrix-question.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-menu.orb +253 -0
- package/behaviors/registry/ui/core/molecules/ui-meter.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-modal.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-navigation.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-notification.orb +237 -1
- package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-option-constraint-group.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-orbital-visualization.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-page-header.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-pagination.orb +252 -0
- package/behaviors/registry/ui/core/molecules/ui-popover.orb +252 -0
- package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-progress-dots.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-pull-to-refresh.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-qr-scanner.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-quiz-block.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-reflection-block.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +252 -0
- package/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +252 -0
- package/behaviors/registry/ui/core/molecules/ui-scaled-diagram.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-search-input.orb +252 -0
- package/behaviors/registry/ui/core/molecules/ui-section.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-side-panel.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +252 -0
- package/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-skeleton.orb +242 -2
- package/behaviors/registry/ui/core/molecules/ui-social-proof.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-split.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-stat-display.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +284 -0
- package/behaviors/registry/ui/core/molecules/ui-table-view.orb +425 -3
- package/behaviors/registry/ui/core/molecules/ui-tabs.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-tag-input.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-tooltip.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-top-nav-item.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-version-diff.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-violation-alert.orb +236 -1
- package/behaviors/registry/ui/core/molecules/ui-vote-stack.orb +236 -1
- package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +284 -0
- package/behaviors/registry/ui/core/molecules/ui-wizard-progress.orb +236 -0
- package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +236 -1
- package/behaviors/registry/ui/core/organisms/ui-code-runner-panel.orb +236 -0
- package/behaviors/registry/ui/core/organisms/ui-dashboard-grid.orb +236 -1
- package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +1281 -16
- package/behaviors/registry/ui/core/organisms/ui-dock-layout.orb +236 -0
- package/behaviors/registry/ui/core/organisms/ui-drawer-slot.orb +21 -0
- package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +489 -27
- package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +444 -19
- package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +410 -0
- package/behaviors/registry/ui/core/organisms/ui-form-section.orb +312 -1
- package/behaviors/registry/ui/core/organisms/ui-form.orb +312 -1
- package/behaviors/registry/ui/core/organisms/ui-master-detail-layout.orb +236 -0
- package/behaviors/registry/ui/core/organisms/ui-master-detail.orb +268 -1
- package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +288 -1
- package/behaviors/registry/ui/core/organisms/ui-modal-slot.orb +21 -0
- package/behaviors/registry/ui/core/organisms/ui-runtime-debugger.orb +236 -0
- package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +236 -0
- package/behaviors/registry/ui/core/organisms/ui-split-pane.orb +252 -0
- package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +326 -2
- package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +236 -2
- package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +236 -1
- package/behaviors/registry/ui/core/organisms/ui-tabbed-container.orb +236 -0
- package/behaviors/registry/ui/core/organisms/ui-timeline.orb +306 -5
- package/behaviors/registry/ui/core/organisms/ui-toast-slot.orb +236 -1
- package/behaviors/registry/ui/core/templates/ui-auth-layout.orb +215 -1
- package/behaviors/registry/ui/core/templates/ui-counter-template.orb +236 -2
- package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +0 -1
- package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-action-palette.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +236 -1
- package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +243 -0
- package/behaviors/registry/ui/game/atoms/ui-canvas.orb +236 -1
- package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +237 -1
- package/behaviors/registry/ui/game/atoms/ui-control-button.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +237 -2
- package/behaviors/registry/ui/game/atoms/ui-draw-mesh.orb +0 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +0 -2
- package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +0 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-text.orb +0 -3
- package/behaviors/registry/ui/game/atoms/ui-game-audio-toggle.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +237 -1
- package/behaviors/registry/ui/game/atoms/ui-health-bar.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-score-display.orb +236 -1
- package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-stat-badge.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-state-graph.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-state-json-view.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +268 -1
- package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +236 -0
- package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +252 -0
- package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +252 -0
- package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +252 -0
- package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +260 -0
- package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +252 -0
- package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +252 -0
- package/dist/behaviors/exports-reader.js +15164 -7081
- package/dist/behaviors/functions/index.d.ts +4293 -362
- package/dist/behaviors/functions/index.js +15134 -7043
- package/dist/behaviors/index.d.ts +1 -1
- package/dist/behaviors/index.js +15165 -7082
- package/dist/behaviors/query.js +15164 -7081
- package/dist/behaviors-embeddings.hash.json +3 -3
- package/dist/behaviors-embeddings.json +37 -33
- package/dist/behaviors-registry.json +57874 -1895
- package/dist/index.d.ts +1 -1
- package/dist/index.js +15165 -7082
- package/dist/knob-embeddings.hash.json +3 -3
- package/dist/knob-embeddings.json +14971 -255
- package/dist/registry/factory-signatures.json +1 -1
- package/package.json +4 -4
- package/behaviors/lolo/agent/organisms/std-agent-rabit.lolo +0 -301
- package/behaviors/registry/agent/organisms/std-agent-rabit.orb +0 -2181
|
@@ -38,17 +38,10 @@ orbital TagTaxonomyOrbital {
|
|
|
38
38
|
emit: { failure: TagLoadFailed, success: TagLoaded }
|
|
39
39
|
})
|
|
40
40
|
(render-ui main {
|
|
41
|
-
align: center
|
|
42
|
-
children: [{ type: spinner }, {
|
|
43
|
-
color: muted
|
|
44
|
-
content: "Loading…"
|
|
45
|
-
type: typography
|
|
46
|
-
variant: caption
|
|
47
|
-
}]
|
|
48
|
-
className: py-12
|
|
49
|
-
direction: vertical
|
|
50
|
-
gap: md
|
|
51
41
|
type: stack
|
|
42
|
+
direction: vertical
|
|
43
|
+
gap: lg
|
|
44
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
52
45
|
})
|
|
53
46
|
TagLoaded -> browsing
|
|
54
47
|
(render-ui main {
|
|
@@ -150,17 +143,10 @@ orbital TagTaxonomyOrbital {
|
|
|
150
143
|
emit: { failure: TagLoadFailed, success: TagLoaded }
|
|
151
144
|
})
|
|
152
145
|
(render-ui main {
|
|
153
|
-
align: center
|
|
154
|
-
children: [{ type: spinner }, {
|
|
155
|
-
color: muted
|
|
156
|
-
content: "Loading…"
|
|
157
|
-
type: typography
|
|
158
|
-
variant: caption
|
|
159
|
-
}]
|
|
160
|
-
className: py-12
|
|
161
|
-
direction: vertical
|
|
162
|
-
gap: md
|
|
163
146
|
type: stack
|
|
147
|
+
direction: vertical
|
|
148
|
+
gap: lg
|
|
149
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
164
150
|
})
|
|
165
151
|
SELECT_TAG -> editing
|
|
166
152
|
(set @entity.id ?tagId)
|
|
@@ -171,17 +157,10 @@ orbital TagTaxonomyOrbital {
|
|
|
171
157
|
emit: { failure: TagLoadFailed, success: TagLoaded }
|
|
172
158
|
})
|
|
173
159
|
(render-ui main {
|
|
174
|
-
align: center
|
|
175
|
-
children: [{ type: spinner }, {
|
|
176
|
-
color: muted
|
|
177
|
-
content: "Loading…"
|
|
178
|
-
type: typography
|
|
179
|
-
variant: caption
|
|
180
|
-
}]
|
|
181
|
-
className: py-12
|
|
182
|
-
direction: vertical
|
|
183
|
-
gap: md
|
|
184
160
|
type: stack
|
|
161
|
+
direction: vertical
|
|
162
|
+
gap: lg
|
|
163
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
185
164
|
})
|
|
186
165
|
SHOW_ROOT -> loading
|
|
187
166
|
(set @entity.id "")
|
|
@@ -191,17 +170,10 @@ orbital TagTaxonomyOrbital {
|
|
|
191
170
|
emit: { failure: TagLoadFailed, success: TagLoaded }
|
|
192
171
|
})
|
|
193
172
|
(render-ui main {
|
|
194
|
-
align: center
|
|
195
|
-
children: [{ type: spinner }, {
|
|
196
|
-
color: muted
|
|
197
|
-
content: "Loading…"
|
|
198
|
-
type: typography
|
|
199
|
-
variant: caption
|
|
200
|
-
}]
|
|
201
|
-
className: py-12
|
|
202
|
-
direction: vertical
|
|
203
|
-
gap: md
|
|
204
173
|
type: stack
|
|
174
|
+
direction: vertical
|
|
175
|
+
gap: lg
|
|
176
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
205
177
|
})
|
|
206
178
|
TagLoaded -> browsing
|
|
207
179
|
(render-ui main {
|
|
@@ -331,33 +303,19 @@ orbital TagTaxonomyOrbital {
|
|
|
331
303
|
CANCEL_TAG -> loading
|
|
332
304
|
(render-ui modal null)
|
|
333
305
|
(render-ui main {
|
|
334
|
-
align: center
|
|
335
|
-
children: [{ type: spinner }, {
|
|
336
|
-
color: muted
|
|
337
|
-
content: "Loading…"
|
|
338
|
-
type: typography
|
|
339
|
-
variant: caption
|
|
340
|
-
}]
|
|
341
|
-
className: py-12
|
|
342
|
-
direction: vertical
|
|
343
|
-
gap: md
|
|
344
306
|
type: stack
|
|
307
|
+
direction: vertical
|
|
308
|
+
gap: lg
|
|
309
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
345
310
|
})
|
|
346
311
|
(emit LEVEL_RELOAD { tagId: @entity.id })
|
|
347
312
|
CLOSE -> loading
|
|
348
313
|
(render-ui modal null)
|
|
349
314
|
(render-ui main {
|
|
350
|
-
align: center
|
|
351
|
-
children: [{ type: spinner }, {
|
|
352
|
-
color: muted
|
|
353
|
-
content: "Loading…"
|
|
354
|
-
type: typography
|
|
355
|
-
variant: caption
|
|
356
|
-
}]
|
|
357
|
-
className: py-12
|
|
358
|
-
direction: vertical
|
|
359
|
-
gap: md
|
|
360
315
|
type: stack
|
|
316
|
+
direction: vertical
|
|
317
|
+
gap: lg
|
|
318
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
361
319
|
})
|
|
362
320
|
(emit LEVEL_RELOAD { tagId: @entity.id })
|
|
363
321
|
;; Refetch the level the new tag landed on — its own parentId names it.
|
|
@@ -397,17 +355,10 @@ orbital TagTaxonomyOrbital {
|
|
|
397
355
|
emit: { failure: TagLoadFailed, success: TagLoaded }
|
|
398
356
|
})
|
|
399
357
|
(render-ui main {
|
|
400
|
-
align: center
|
|
401
|
-
children: [{ type: spinner }, {
|
|
402
|
-
color: muted
|
|
403
|
-
content: "Loading…"
|
|
404
|
-
type: typography
|
|
405
|
-
variant: caption
|
|
406
|
-
}]
|
|
407
|
-
className: py-12
|
|
408
|
-
direction: vertical
|
|
409
|
-
gap: md
|
|
410
358
|
type: stack
|
|
359
|
+
direction: vertical
|
|
360
|
+
gap: lg
|
|
361
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
411
362
|
})
|
|
412
363
|
SELECT_TAG -> editing
|
|
413
364
|
(set @entity.id ?tagId)
|
|
@@ -516,17 +467,10 @@ orbital TagTaxonomyOrbital {
|
|
|
516
467
|
emit: { failure: TagLoadFailed, success: TagLoaded }
|
|
517
468
|
})
|
|
518
469
|
(render-ui main {
|
|
519
|
-
align: center
|
|
520
|
-
children: [{ type: spinner }, {
|
|
521
|
-
color: muted
|
|
522
|
-
content: "Loading…"
|
|
523
|
-
type: typography
|
|
524
|
-
variant: caption
|
|
525
|
-
}]
|
|
526
|
-
className: py-12
|
|
527
|
-
direction: vertical
|
|
528
|
-
gap: md
|
|
529
470
|
type: stack
|
|
471
|
+
direction: vertical
|
|
472
|
+
gap: lg
|
|
473
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
530
474
|
})
|
|
531
475
|
}
|
|
532
476
|
|
|
@@ -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
|
-
;;
|
|
24
|
-
;;
|
|
25
|
-
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|