@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.
- package/behaviors/behaviors-registry.json +56939 -2084
- 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-cache-aside.lolo +4 -17
- package/behaviors/lolo/infra/atoms/std-notification-preferences.lolo +21 -13
- 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 +10 -2
- 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 +12 -10
- package/behaviors/lolo/ui/core/atoms/std-file-store.lolo +27 -71
- package/behaviors/lolo/ui/core/atoms/std-gantt-schedule.lolo +21 -13
- package/behaviors/lolo/ui/core/atoms/std-image-upload-multi.lolo +6 -20
- package/behaviors/lolo/ui/core/atoms/std-list.lolo +21 -13
- package/behaviors/lolo/ui/core/atoms/std-multi-party-flow.lolo +28 -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 +126 -18
- package/behaviors/lolo/ui/core/atoms/std-recurrence.lolo +24 -20
- package/behaviors/lolo/ui/core/atoms/std-related.lolo +36 -25
- package/behaviors/lolo/ui/core/atoms/std-saved-search.lolo +14 -21
- package/behaviors/lolo/ui/core/atoms/std-scoped-list.lolo +143 -0
- package/behaviors/lolo/ui/core/atoms/std-selection.lolo +27 -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 +36 -82
- 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 +106 -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 -11
- 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 +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-animated-counter.lolo +90 -0
- 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 +106 -0
- 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 +125 -2
- package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +126 -3
- package/behaviors/lolo/ui/core/molecules/ui-date-range-picker.lolo +106 -0
- 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 +138 -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 +90 -0
- 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 +90 -0
- 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 +122 -0
- 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 +90 -0
- 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 +90 -0
- 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 +90 -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 +124 -1
- 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 +336 -4
- 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 +127 -4
- package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +127 -4
- package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +127 -3
- package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +139 -1
- package/behaviors/lolo/ui/core/organisms/ui-form.lolo +139 -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 +123 -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 +124 -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 +122 -0
- package/behaviors/lolo/ui/core/organisms/ui-toast-slot.lolo +91 -1
- package/behaviors/lolo/ui/core/templates/ui-auth-layout.lolo +80 -0
- package/behaviors/lolo/ui/core/templates/ui-counter-template.lolo +91 -1
- package/behaviors/lolo/ui/core/templates/ui-generic-app-template.lolo +90 -0
- 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 +90 -0
- 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 +90 -0
- 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 +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-health-bar.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-score-display.lolo +90 -0
- 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-cache-aside.orb +172 -299
- package/behaviors/registry/infra/atoms/std-notification-preferences.orb +48 -14
- 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 +108 -12
- 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 +42 -14
- package/behaviors/registry/ui/core/atoms/std-file-store.orb +56 -58
- package/behaviors/registry/ui/core/atoms/std-gantt-schedule.orb +44 -11
- package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +12 -16
- package/behaviors/registry/ui/core/atoms/std-list.orb +48 -11
- package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +91 -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 +622 -66
- package/behaviors/registry/ui/core/atoms/std-recurrence.orb +108 -28
- package/behaviors/registry/ui/core/atoms/std-related.orb +82 -21
- package/behaviors/registry/ui/core/atoms/std-saved-search.orb +28 -18
- package/behaviors/registry/ui/core/atoms/std-scoped-list.orb +993 -0
- package/behaviors/registry/ui/core/atoms/std-selection.orb +62 -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 +76 -68
- 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 +252 -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 +231 -8
- 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 +236 -0
- package/behaviors/registry/ui/core/molecules/ui-animated-counter.orb +236 -0
- 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 +252 -0
- 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 +279 -0
- package/behaviors/registry/ui/core/molecules/ui-data-list.orb +279 -1
- package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +252 -0
- 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 +284 -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 -0
- 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 -0
- 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 +268 -0
- 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 +236 -0
- 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 +236 -0
- 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 +236 -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 +277 -1
- 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 +1167 -22
- 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 +280 -2
- package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +279 -3
- package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +289 -1
- package/behaviors/registry/ui/core/organisms/ui-form-section.orb +284 -1
- package/behaviors/registry/ui/core/organisms/ui-form.orb +284 -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 +268 -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 +268 -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 +268 -0
- package/behaviors/registry/ui/core/organisms/ui-toast-slot.orb +236 -1
- package/behaviors/registry/ui/core/templates/ui-auth-layout.orb +215 -0
- package/behaviors/registry/ui/core/templates/ui-counter-template.orb +236 -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 +236 -0
- 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 +236 -0
- 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 +236 -0
- package/behaviors/registry/ui/game/atoms/ui-health-bar.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-score-display.orb +236 -0
- 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 +14291 -7304
- package/dist/behaviors/functions/index.d.ts +4188 -339
- package/dist/behaviors/functions/index.js +14261 -7266
- package/dist/behaviors/index.d.ts +1 -1
- package/dist/behaviors/index.js +14292 -7305
- package/dist/behaviors/query.js +14291 -7304
- package/dist/behaviors-embeddings.hash.json +3 -3
- package/dist/behaviors-embeddings.json +23 -19
- package/dist/behaviors-registry.json +56939 -2084
- package/dist/index.d.ts +1 -1
- package/dist/index.js +14292 -7305
- package/dist/knob-embeddings.hash.json +3 -3
- package/dist/knob-embeddings.json +14821 -245
- package/dist/registry/factory-signatures.json +1 -1
- package/package.json +3 -3
- package/behaviors/lolo/agent/organisms/std-agent-rabit.lolo +0 -301
- package/behaviors/registry/agent/organisms/std-agent-rabit.orb +0 -2181
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app std-thread "1.3.0"
|
|
2
|
-
"std-thread — forum-style nested replies with collapse. Owns ThreadPost (persistent). INIT fetches, scoped by @config.threadRootId when set (blank = every root, the default). REPLY persists a child post under @payload.parentId, stamped with the real @user identity. A consumer that mounts this as page comments forwards its own document-opened signal to SET_THREAD_ROOT { rootId }, which stamps @entity.replyRootId (scratch — the persisted threadRootId column is written only by the reply persist create) and refetches filtered by the payload; a plain INIT re-entry now also falls back through @entity.replyRootId before @config.threadRootId, so it stays scoped to the last SET_THREAD_ROOT instead of re-widening — only the after-create/after-select refetches still scope directly off their own event payload. Layer 3 variants override `bodyContent` to deliver chat-bubble, email-threaded, or linear-comments UX while inheriting the same trait, state machine, emits, and listens. A non-empty sectionTitle switches the default bodyContent into titled-comments mode: header + post list + a standalone composer button (without it an empty thread has no REPLY emitter at all — the affordance only existed per-row)."
|
|
2
|
+
"std-thread — forum-style nested replies with collapse. Owns ThreadPost (persistent). INIT fetches, scoped by @config.threadRootId when set (blank = every root, the default). The list holds top-level posts, each with its replies nested (one level). REPLY persists a child post under @payload.parentId in the same thread root, stamped with the real @user identity, and adds it to the parent's replies and replyCount. A consumer that mounts this as page comments forwards its own document-opened signal to SET_THREAD_ROOT { rootId }, which stamps @entity.replyRootId (scratch — the persisted threadRootId column is written only by the reply persist create) and refetches filtered by the payload; a plain INIT re-entry now also falls back through @entity.replyRootId before @config.threadRootId, so it stays scoped to the last SET_THREAD_ROOT instead of re-widening — only the after-create/after-select refetches still scope directly off their own event payload. Layer 3 variants override `bodyContent` to deliver chat-bubble, email-threaded, or linear-comments UX while inheriting the same trait, state machine, emits, and listens. A non-empty sectionTitle switches the default bodyContent into titled-comments mode: header + post list + a standalone composer button (without it an empty thread has no REPLY emitter at all — the affordance only existed per-row)."
|
|
3
3
|
type ItemAction = { label : string!, event : event, icon : string, roles : [string], when : SExpr }
|
|
4
4
|
orbital ThreadPostOrbital {
|
|
5
5
|
uses RoleGate from "std/behaviors/std-role-gate"
|
|
@@ -20,18 +20,18 @@ orbital ThreadPostOrbital {
|
|
|
20
20
|
|
|
21
21
|
type ThreadPostLoadFailed = Event { error : string, code : string } "Fired when the thread-post collection fails to load"
|
|
22
22
|
|
|
23
|
-
;;
|
|
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 {
|
|
@@ -34,17 +34,10 @@ orbital RevisionOrbital {
|
|
|
34
34
|
emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
|
|
35
35
|
})
|
|
36
36
|
(render-ui main {
|
|
37
|
-
align: center
|
|
38
|
-
children: [{ type: spinner }, {
|
|
39
|
-
color: muted
|
|
40
|
-
content: "Loading version history…"
|
|
41
|
-
type: typography
|
|
42
|
-
variant: caption
|
|
43
|
-
}]
|
|
44
|
-
className: py-12
|
|
45
|
-
direction: vertical
|
|
46
|
-
gap: md
|
|
47
37
|
type: stack
|
|
38
|
+
direction: vertical
|
|
39
|
+
gap: lg
|
|
40
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
48
41
|
})
|
|
49
42
|
RevisionLoaded -> browsing
|
|
50
43
|
(set @entity.revisions (array/sort ?data "versionNumber" "desc"))
|
|
@@ -103,17 +96,10 @@ orbital RevisionOrbital {
|
|
|
103
96
|
emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
|
|
104
97
|
})
|
|
105
98
|
(render-ui main {
|
|
106
|
-
align: center
|
|
107
|
-
children: [{ type: spinner }, {
|
|
108
|
-
color: muted
|
|
109
|
-
content: "Loading version history…"
|
|
110
|
-
type: typography
|
|
111
|
-
variant: caption
|
|
112
|
-
}]
|
|
113
|
-
className: py-12
|
|
114
|
-
direction: vertical
|
|
115
|
-
gap: md
|
|
116
99
|
type: stack
|
|
100
|
+
direction: vertical
|
|
101
|
+
gap: lg
|
|
102
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
117
103
|
})
|
|
118
104
|
}
|
|
119
105
|
|
|
@@ -125,17 +111,10 @@ orbital RevisionOrbital {
|
|
|
125
111
|
emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
|
|
126
112
|
})
|
|
127
113
|
(render-ui main {
|
|
128
|
-
align: center
|
|
129
|
-
children: [{ type: spinner }, {
|
|
130
|
-
color: muted
|
|
131
|
-
content: "Loading version history…"
|
|
132
|
-
type: typography
|
|
133
|
-
variant: caption
|
|
134
|
-
}]
|
|
135
|
-
className: py-12
|
|
136
|
-
direction: vertical
|
|
137
|
-
gap: md
|
|
138
114
|
type: stack
|
|
115
|
+
direction: vertical
|
|
116
|
+
gap: lg
|
|
117
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
139
118
|
})
|
|
140
119
|
OPEN_REVISION -> viewing_single
|
|
141
120
|
(set @entity.id ?row.id)
|
|
@@ -288,17 +267,10 @@ orbital RevisionOrbital {
|
|
|
288
267
|
emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
|
|
289
268
|
})
|
|
290
269
|
(render-ui main {
|
|
291
|
-
align: center
|
|
292
|
-
children: [{ type: spinner }, {
|
|
293
|
-
color: muted
|
|
294
|
-
content: "Loading version history…"
|
|
295
|
-
type: typography
|
|
296
|
-
variant: caption
|
|
297
|
-
}]
|
|
298
|
-
className: py-12
|
|
299
|
-
direction: vertical
|
|
300
|
-
gap: md
|
|
301
270
|
type: stack
|
|
271
|
+
direction: vertical
|
|
272
|
+
gap: lg
|
|
273
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
302
274
|
})
|
|
303
275
|
}
|
|
304
276
|
|
|
@@ -309,17 +281,10 @@ orbital RevisionOrbital {
|
|
|
309
281
|
emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
|
|
310
282
|
})
|
|
311
283
|
(render-ui main {
|
|
312
|
-
align: center
|
|
313
|
-
children: [{ type: spinner }, {
|
|
314
|
-
color: muted
|
|
315
|
-
content: "Loading version history…"
|
|
316
|
-
type: typography
|
|
317
|
-
variant: caption
|
|
318
|
-
}]
|
|
319
|
-
className: py-12
|
|
320
|
-
direction: vertical
|
|
321
|
-
gap: md
|
|
322
284
|
type: stack
|
|
285
|
+
direction: vertical
|
|
286
|
+
gap: lg
|
|
287
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
323
288
|
})
|
|
324
289
|
COMPARE -> comparing
|
|
325
290
|
(set @entity.id ?id)
|
|
@@ -389,17 +354,10 @@ orbital RevisionOrbital {
|
|
|
389
354
|
emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
|
|
390
355
|
})
|
|
391
356
|
(render-ui main {
|
|
392
|
-
align: center
|
|
393
|
-
children: [{ type: spinner }, {
|
|
394
|
-
color: muted
|
|
395
|
-
content: "Loading version history…"
|
|
396
|
-
type: typography
|
|
397
|
-
variant: caption
|
|
398
|
-
}]
|
|
399
|
-
className: py-12
|
|
400
|
-
direction: vertical
|
|
401
|
-
gap: md
|
|
402
357
|
type: stack
|
|
358
|
+
direction: vertical
|
|
359
|
+
gap: lg
|
|
360
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
403
361
|
})
|
|
404
362
|
}
|
|
405
363
|
|
|
@@ -410,17 +368,10 @@ orbital RevisionOrbital {
|
|
|
410
368
|
emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
|
|
411
369
|
})
|
|
412
370
|
(render-ui main {
|
|
413
|
-
align: center
|
|
414
|
-
children: [{ type: spinner }, {
|
|
415
|
-
color: muted
|
|
416
|
-
content: "Loading version history…"
|
|
417
|
-
type: typography
|
|
418
|
-
variant: caption
|
|
419
|
-
}]
|
|
420
|
-
className: py-12
|
|
421
|
-
direction: vertical
|
|
422
|
-
gap: md
|
|
423
371
|
type: stack
|
|
372
|
+
direction: vertical
|
|
373
|
+
gap: lg
|
|
374
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
424
375
|
})
|
|
425
376
|
ROLLBACK -> loading
|
|
426
377
|
(emit RevisionRolledBack { row: ?row })
|
|
@@ -449,17 +400,10 @@ orbital RevisionOrbital {
|
|
|
449
400
|
emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
|
|
450
401
|
})
|
|
451
402
|
(render-ui main {
|
|
452
|
-
align: center
|
|
453
|
-
children: [{ type: spinner }, {
|
|
454
|
-
color: muted
|
|
455
|
-
content: "Loading version history…"
|
|
456
|
-
type: typography
|
|
457
|
-
variant: caption
|
|
458
|
-
}]
|
|
459
|
-
className: py-12
|
|
460
|
-
direction: vertical
|
|
461
|
-
gap: md
|
|
462
403
|
type: stack
|
|
404
|
+
direction: vertical
|
|
405
|
+
gap: lg
|
|
406
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
463
407
|
})
|
|
464
408
|
}
|
|
465
409
|
|
|
@@ -470,14 +414,24 @@ orbital RevisionOrbital {
|
|
|
470
414
|
filter: (or ["=", @config.scopeField, ""] ["=", (str/default ?id ""), ""] ["=", (object/get @entity @config.scopeField), ?id])
|
|
471
415
|
emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
|
|
472
416
|
})
|
|
473
|
-
(render-ui main {
|
|
417
|
+
(render-ui main {
|
|
418
|
+
type: stack
|
|
419
|
+
direction: vertical
|
|
420
|
+
gap: lg
|
|
421
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
422
|
+
})
|
|
474
423
|
SHOW_HISTORY -> loading
|
|
475
424
|
(set @entity.scopeKey ?key)
|
|
476
425
|
(fetch Revision {
|
|
477
426
|
filter: ["=", (object/get @entity @config.scopeField), ?key]
|
|
478
427
|
emit: { failure: RevisionLoadFailed, success: RevisionLoaded }
|
|
479
428
|
})
|
|
480
|
-
(render-ui main {
|
|
429
|
+
(render-ui main {
|
|
430
|
+
type: stack
|
|
431
|
+
direction: vertical
|
|
432
|
+
gap: lg
|
|
433
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
434
|
+
})
|
|
481
435
|
}
|
|
482
436
|
|
|
483
437
|
emits {
|
|
@@ -25,19 +25,7 @@ orbital VoteOrbital {
|
|
|
25
25
|
(fetch Vote {
|
|
26
26
|
emit: { failure: VoteLoadFailed, success: VoteLoaded }
|
|
27
27
|
})
|
|
28
|
-
(render-ui main {
|
|
29
|
-
align: center
|
|
30
|
-
children: [{ type: spinner }, {
|
|
31
|
-
color: muted
|
|
32
|
-
content: "Loading votes…"
|
|
33
|
-
type: typography
|
|
34
|
-
variant: caption
|
|
35
|
-
}]
|
|
36
|
-
className: py-12
|
|
37
|
-
direction: vertical
|
|
38
|
-
gap: md
|
|
39
|
-
type: stack
|
|
40
|
-
})
|
|
28
|
+
(render-ui main { type: skeleton, variant: card })
|
|
41
29
|
VoteLoaded -> idle
|
|
42
30
|
(render-ui main {
|
|
43
31
|
count: 0
|
|
@@ -62,19 +50,6 @@ orbital VoteOrbital {
|
|
|
62
50
|
(persist update Vote (object/set ?data targetId ?targetId) {
|
|
63
51
|
emit: { failure: VoteCastFailed, success: VoteCasted }
|
|
64
52
|
})
|
|
65
|
-
(render-ui main {
|
|
66
|
-
align: center
|
|
67
|
-
children: [{ type: spinner }, {
|
|
68
|
-
color: muted
|
|
69
|
-
content: "Recording your vote…"
|
|
70
|
-
type: typography
|
|
71
|
-
variant: caption
|
|
72
|
-
}]
|
|
73
|
-
className: py-12
|
|
74
|
-
direction: vertical
|
|
75
|
-
gap: md
|
|
76
|
-
type: stack
|
|
77
|
-
})
|
|
78
53
|
VOTE -> voting when ["=", ?next, @entity.direction]
|
|
79
54
|
(set @entity.direction none)
|
|
80
55
|
(set @entity.targetId ?targetId)
|
|
@@ -143,19 +118,7 @@ orbital VoteOrbital {
|
|
|
143
118
|
(fetch Vote {
|
|
144
119
|
emit: { failure: VoteLoadFailed, success: VoteLoaded }
|
|
145
120
|
})
|
|
146
|
-
(render-ui main {
|
|
147
|
-
align: center
|
|
148
|
-
children: [{ type: spinner }, {
|
|
149
|
-
color: muted
|
|
150
|
-
content: "Loading votes…"
|
|
151
|
-
type: typography
|
|
152
|
-
variant: caption
|
|
153
|
-
}]
|
|
154
|
-
className: py-12
|
|
155
|
-
direction: vertical
|
|
156
|
-
gap: md
|
|
157
|
-
type: stack
|
|
158
|
-
})
|
|
121
|
+
(render-ui main { type: skeleton, variant: card })
|
|
159
122
|
}
|
|
160
123
|
|
|
161
124
|
emits {
|
|
@@ -45,8 +45,10 @@ orbital WizardOrbital {
|
|
|
45
45
|
emit: { failure: WizardLoadFailed, success: WizardLoaded }
|
|
46
46
|
})
|
|
47
47
|
(render-ui main {
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
type: stack
|
|
49
|
+
direction: vertical
|
|
50
|
+
gap: lg
|
|
51
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: form, fields: 3 }]
|
|
50
52
|
})
|
|
51
53
|
WizardLoaded -> running
|
|
52
54
|
(set @entity.currentStepIndex 0)
|
|
@@ -164,8 +166,10 @@ orbital WizardOrbital {
|
|
|
164
166
|
emit: { failure: WizardLoadFailed, success: WizardLoaded }
|
|
165
167
|
})
|
|
166
168
|
(render-ui main {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
+
type: stack
|
|
170
|
+
direction: vertical
|
|
171
|
+
gap: lg
|
|
172
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: form, fields: 3 }]
|
|
169
173
|
})
|
|
170
174
|
WizardSaveFailed -> error
|
|
171
175
|
(set @entity.errorMessage ?error)
|
|
@@ -487,8 +491,10 @@ orbital WizardOrbital {
|
|
|
487
491
|
emit: { failure: WizardLoadFailed, success: WizardLoaded }
|
|
488
492
|
})
|
|
489
493
|
(render-ui main {
|
|
490
|
-
|
|
491
|
-
|
|
494
|
+
type: stack
|
|
495
|
+
direction: vertical
|
|
496
|
+
gap: lg
|
|
497
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: form, fields: 3 }]
|
|
492
498
|
})
|
|
493
499
|
}
|
|
494
500
|
|
|
@@ -500,16 +506,20 @@ orbital WizardOrbital {
|
|
|
500
506
|
emit: { failure: WizardLoadFailed, success: WizardLoaded }
|
|
501
507
|
})
|
|
502
508
|
(render-ui main {
|
|
503
|
-
|
|
504
|
-
|
|
509
|
+
type: stack
|
|
510
|
+
direction: vertical
|
|
511
|
+
gap: lg
|
|
512
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: form, fields: 3 }]
|
|
505
513
|
})
|
|
506
514
|
}
|
|
507
515
|
|
|
508
516
|
state error {
|
|
509
517
|
INIT -> loading
|
|
510
518
|
(render-ui main {
|
|
511
|
-
|
|
512
|
-
|
|
519
|
+
type: stack
|
|
520
|
+
direction: vertical
|
|
521
|
+
gap: lg
|
|
522
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: form, fields: 3 }]
|
|
513
523
|
})
|
|
514
524
|
}
|
|
515
525
|
|