@almadar/std 16.253.0 → 16.254.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/lolo/agent/atoms/std-agent-pool.lolo +355 -0
- package/behaviors/lolo/agent/evals/eval-agent-builder.lolo +152 -0
- package/behaviors/lolo/agent/organisms/std-agent-builder.lolo +320 -26
- package/behaviors/lolo-behavior-contracts.json +1 -1
- package/behaviors/registry/agent/atoms/std-agent-context.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-fix-loop.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-memory.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-planner.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-pool.orb +1 -0
- package/behaviors/registry/agent/atoms/std-agent-proposal.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-session.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-suggestions.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-trace.orb +1 -1
- package/behaviors/registry/agent/evals/eval-agent-builder.orb +1 -0
- package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1 -1
- package/behaviors/registry/agent/organisms/std-agent-builder.orb +1 -1
- package/behaviors/registry/infra/atoms/std-analytics.orb +1 -1
- package/behaviors/registry/infra/atoms/std-approval-gate.orb +1 -1
- package/behaviors/registry/infra/atoms/std-audit-capture.orb +1 -1
- package/behaviors/registry/infra/atoms/std-cache-aside.orb +1 -1
- package/behaviors/registry/infra/atoms/std-calendar-sync.orb +1 -1
- package/behaviors/registry/infra/atoms/std-cascade-on-delete.orb +1 -1
- package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +1 -1
- package/behaviors/registry/infra/atoms/std-cross-reference.orb +1 -1
- package/behaviors/registry/infra/atoms/std-data-erasure.orb +1 -1
- package/behaviors/registry/infra/atoms/std-data-import.orb +1 -1
- package/behaviors/registry/infra/atoms/std-global-search.orb +1 -1
- package/behaviors/registry/infra/atoms/std-knowledge-loop.orb +1 -1
- package/behaviors/registry/infra/atoms/std-lifecycle.orb +1 -1
- package/behaviors/registry/infra/atoms/std-migration-job.orb +1 -1
- package/behaviors/registry/infra/atoms/std-mod-queue.orb +1 -1
- package/behaviors/registry/infra/atoms/std-notification-center.orb +1 -1
- package/behaviors/registry/infra/atoms/std-notification-preferences.orb +1 -1
- package/behaviors/registry/infra/atoms/std-notify-on-event.orb +1 -1
- package/behaviors/registry/infra/atoms/std-page-search.orb +1 -1
- package/behaviors/registry/infra/atoms/std-page-watch.orb +1 -1
- package/behaviors/registry/infra/atoms/std-permission-matrix.orb +1 -1
- package/behaviors/registry/infra/atoms/std-rate-limiter.orb +1 -1
- package/behaviors/registry/infra/atoms/std-reminder-scheduler.orb +1 -1
- package/behaviors/registry/infra/atoms/std-review-cycle.orb +1 -1
- package/behaviors/registry/infra/atoms/std-row-access-control.orb +1 -1
- package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +1 -1
- package/behaviors/registry/infra/organisms/std-status-lifecycle-control.orb +1 -1
- package/behaviors/registry/ml/atoms/std-data-collector.orb +1 -1
- package/behaviors/registry/ml/atoms/std-graph-builder.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-classify.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-infer.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-label-capture.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-lookup.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-posterior.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-similarity.orb +1 -1
- package/behaviors/registry/ml/atoms/std-tokenizer.orb +1 -1
- package/behaviors/registry/ml/atoms/std-weight-validator.orb +1 -1
- package/behaviors/registry/ml/organisms/std-escalating-decision.orb +1 -1
- package/behaviors/registry/ml/organisms/std-knowledge-tracing.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/std-avl-cosmic-zoom.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-avl-glyph.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-avl-transition-detail.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-avl-transition-explainer.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-behavior-view.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +1 -1
- package/behaviors/registry/ui/avl/organisms/ui-flow-canvas.orb +1 -1
- package/behaviors/registry/ui/avl/organisms/ui-layers-panel.orb +1 -1
- package/behaviors/registry/ui/avl/organisms/ui-orb-inspector.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-app-layout.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-app-search.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-behavior-catalog.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-behavior-tour.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-board.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-book-reader.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-browse.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-calendar.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-card-grid.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-confirmation.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-date-range.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-detail-layout.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-doc-page.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-esign-request.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-event-log.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-export.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-file-store.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-filter.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-gallery.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-gantt-schedule.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-geosearch.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-graphs.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-hero.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-home.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-import.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-language-picker.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-media-section.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-modal-editor.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-modal.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-notification-panel.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-panel-launcher.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-pricing.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-proof.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-prose.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-rating-review.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-record-detail.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-recurrence.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-related.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-role-gate.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-saved-search.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-scatter.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-scoped-list.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-selection.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-site-footer.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-site-header.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-slide-deck.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-stat-band.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-stats.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-step-flow.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-steps.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-tabs.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-thread.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-tree.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-version-history.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-wizard.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-workspace-layout.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-animated-graphic.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-animated-reveal.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-aside.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-atlas-image.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-atlas-panel.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-avatar.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-badge.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-box.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-button.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-card.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-center.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-conditional-wrapper.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-confetti-effect.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-day-cell.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-dialog.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-divider.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-flip-container.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-game-icon.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-hstack.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-icon.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-image.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-infinite-scroll-sentinel.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-input.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-label.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-law-reference-tooltip.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-overlay.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-pattern-tile.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-presence.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-progress-bar.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-radio.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-section-header.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-select.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-spacer.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-sparkline.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-spinner.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-stack.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-status-dot.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-branch.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-connection.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-flow.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-grid.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-lobe.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-mesh.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-morph.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-node.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-pulse.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-ring.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-shield.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-stack.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-switch.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-text-highlight.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-textarea.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-theme-toggle.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-trend-indicator.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-typewriter-text.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-typography.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-video-embed.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-vstack.orb +1 -1
- package/behaviors/registry/ui/core/molecules/std-stat-rows.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-accordion.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-activation-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-activity-rail.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-agent-activity-feed.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-agent-activity-row.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-agent-chat-feed.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-alert.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-animated-counter.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-bloom-quiz-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-branching-logic-builder.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-carousel.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-change-list.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-chart-legend.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-chart.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-code-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-connection-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-container.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-content-renderer.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-data-list.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-date-range-selector.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-doc-breadcrumb.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-doc-pagination.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-doc-search.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-doc-sidebar.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-doc-toc.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-document-details.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-drawer.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-edge-decoration.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-empty-state.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-error-boundary.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-error-state.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-feature-card.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-feature-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-flex.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-flip-card.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-form-field.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-form-layout.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-form-section-header.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-fx-overlay.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-gantt.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-geometric-pattern.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-gradient-divider.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-graph-view.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-header.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-icon-button.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-import-progress.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-input-group.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-jazari-state-machine.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-lightbox.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-line-chart.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-loading-state.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-map-view.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-markdown-content.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-matrix-question.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-menu.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-meter.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-modal.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-navigation.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-notification.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-option-constraint-group.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-orbital-visualization.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-page-header.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-pagination.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-popover.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-progress-dots.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-pull-to-refresh.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-qr-scanner.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-quiz-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-reflection-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-scaled-diagram.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-search-input.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-section.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-side-panel.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-skeleton.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-social-proof.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-split.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-stat-display.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-table-view.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-tabs.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-tag-input.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-tooltip.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-top-nav-item.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-version-diff.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-violation-alert.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-vote-stack.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-wizard-progress.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-code-runner-panel.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-dashboard-grid.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-dock-layout.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-drawer-slot.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-form-section.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-form.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-master-detail-layout.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-modal-slot.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-runtime-debugger.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-split-pane.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-tabbed-container.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-timeline.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-toast-slot.orb +1 -1
- package/behaviors/registry/ui/core/templates/ui-auth-layout.orb +1 -1
- package/behaviors/registry/ui/core/templates/ui-counter-template.orb +1 -1
- package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +1 -1
- package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-arcade-play.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-area-fill.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-audio-cue.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-camera-rig.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-chase-ai.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-choice-gate.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-coef-pad.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-curve-fog.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-dungeon-combat.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-fx-narrative.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-fx-trail.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-gate-lock.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-gather.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-gold.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-grid-tactics.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-hero-nav.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-lives.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-loop-lock.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-market-flow.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-motion-body.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-objective-reach.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-pad-lock.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-patience.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-patrol-hazard.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-pickup.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-platformer-body.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-production.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-score.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-tutorial-autodemo.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-tutorial-overlay.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-velocity-gate.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-xp.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-zone-card.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-action-palette.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-canvas.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-control-button.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-group.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-mesh.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-shape-layer.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-skinned-mesh.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-sprite-layer.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-text-layer.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-text.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-game-audio-cue.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-game-audio-toggle.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-health-bar.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-score-display.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-stat-badge.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-state-graph.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-state-json-view.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-timer-display.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +1 -1
- package/behaviors/registry/ui/game/templates/ui-game-shell.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-compare.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-fx-cues.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-generate.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-live-sim.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-measure.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-param-explorer.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-perturb.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-sample-accumulator.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-sandbox.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-sim-3d.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-slope-probe.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-trace-player.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +1 -1
- package/dist/behaviors-embeddings.hash.json +2 -2
- package/dist/behaviors-embeddings.json +1 -1
- package/dist/knob-embeddings.hash.json +2 -2
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"std-agent-pool","version":"1.0.0","description":"std-agent-pool — a shared pool of generated behaviors that every user of the app draws from. WRITE { value, name, kind, topic, hint, description } takes a behavior already built and validated (a `program/eval` result), keeps its source durably (`behavior/source` → `program/print` → the `storage` service; the provider is the deployment's), embeds its description (`llm embed`) and records a PoolEntry; any failure on the way leaves no entry (WRITE_FAILED). SEARCH { vector, kinds, exclude, take } ranks the live entries of this pool by cosine similarity to the vector, nudged by their quality, and answers POOL_FOUND with the best ones, no model call. SIGNAL { id, signal } counts a play, like, hide, right or wrong answer on an entry and retires it once it has been played enough and most of its outcomes are hides or wrong answers. The pool name, kinds, bucket and key prefix and the quality knobs are config, so the same mechanism serves any app that pools generated behaviors.","orbitals":[{"name":"AgentPoolOrbital","id":"orb_5VM0HK2SHKCRSZR1K9Q3HZSXK0","entity":{"name":"AgentPoolHost","id":"ent_7JT7D7KKKDSSPYQ0ZSRJVPQGQ0","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"pending","type":"object","default":{"name":"","kind":"","topic":"","hint":"","description":"","key":"","value":"none"},"properties":{"topic":{"name":"topic","type":"string","required":false},"kind":{"name":"kind","type":"string","required":false},"name":{"name":"name","type":"string","required":false},"value":{"name":"value","type":"behavior","required":false},"key":{"name":"key","type":"string","required":false},"description":{"name":"description","type":"string","required":false},"hint":{"name":"hint","type":"string","required":false}}},{"name":"signalOf","type":"string","default":""},{"name":"queryVector","type":"array","default":[],"items":{"type":"number"}},{"name":"queryKinds","type":"array","default":[],"items":{"type":"string"}},{"name":"queryExclude","type":"array","default":[],"items":{"type":"string"}},{"name":"queryTake","type":"number","default":10},{"name":"error","type":"string","default":""}]},"auxiliaryEntities":[{"name":"PoolEntry","id":"ent_1QVZ0KTBNQ5TVGZZXBAJFQWVY4","collection":"poolEntries","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"pool","type":"string","default":"","description":"The pool the entry belongs to."},{"name":"behavior","type":"string","default":"","description":"The pooled behavior's specifier, as `program/eval` wrote it.","synonyms":"specifier, program"},{"name":"value","type":"behavior","description":"The pooled behavior as a value, ready to embed."},{"name":"name","type":"string","default":"","description":"The pooled program's name."},{"name":"storageKey","type":"string","default":"","description":"Where its source is kept in the storage bucket."},{"name":"kind","type":"string","default":"","description":"The app's own kind of content (a game, a simulation…).","synonyms":"type, category"},{"name":"topic","type":"string","default":"","description":"What it is about.","synonyms":"subject"},{"name":"hint","type":"string","default":"","description":"One line telling a user how to use it.","synonyms":"how to play, instructions"},{"name":"description","type":"string","default":"","description":"The text its vector embeds."},{"name":"vector","type":"array","default":[],"items":{"type":"number"},"description":"The description's embedding."},{"name":"plays","type":"number","default":0},{"name":"likes","type":"number","default":0},{"name":"hides","type":"number","default":0},{"name":"right","type":"number","default":0},{"name":"wrong","type":"number","default":0},{"name":"retired","type":"boolean","default":false,"description":"Retired entries are never served."},{"name":"createdAt","type":"number","default":0}]}],"traits":[{"name":"AgentPoolWriter","id":"trt_KKRCF8VJBXS5YHB5A33G9KDHJW","effectRow":[{"kind":"behavior/source"},{"kind":"call-service","resource":"llm.embed"},{"kind":"call-service","resource":"storage.upload"},{"kind":"emit","resource":"WRITE_FAILED"},{"kind":"persist","resource":"PoolEntry"},{"kind":"program/print"},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.pending"}],"category":"lifecycle","linkedEntity":"AgentPoolHost","linkedEntityId":"ent_7JT7D7KKKDSSPYQ0ZSRJVPQGQ0","entityRefIds":{"AgentPoolHost":"ent_7JT7D7KKKDSSPYQ0ZSRJVPQGQ0","PoolEntry":"ent_1QVZ0KTBNQ5TVGZZXBAJFQWVY4"},"emits":[{"event":"POOL_WRITTEN","eventId":"evt_FTQWQPDDQ6PVK55NHT177NTZP0","description":"The behavior was validated, kept and indexed — payload is the created PoolEntry row.","tier":"domain","scope":"external"},{"event":"WRITE_FAILED","eventId":"evt_THKBFY2FAY7NF2X716CXDRX797","description":"The behavior was not pooled (invalid program, unknown kind, storage or embedding failure); no entry was recorded.","tier":"domain","scope":"external","payloadSchema":[{"name":"name","type":"string"},{"name":"error","type":"string","required":true}]},{"event":"SOURCED","eventId":"evt_01JPX4EFA07N00AMWYMPW29CE6","tier":"internal","payloadSchema":[{"name":"result","type":"SExpr","required":true}]},{"event":"PRINTED","eventId":"evt_CM9XDTCVAZDNFKBCVJ9BTJFZJ8","tier":"internal","payloadSchema":[{"name":"result","type":"string","required":true}]},{"event":"UPLOADED","eventId":"evt_8RAF54Y2VM1DTA1AHWMHQ1G5SC","tier":"internal","payloadSchema":[{"name":"key","type":"string"}]},{"event":"EMBEDDED","eventId":"evt_H0D48GMVG8DR424YPK9YPHB92K","tier":"internal","payloadSchema":[{"name":"embeddings","type":"[[number]]","required":true}]},{"event":"STEP_FAILED","eventId":"evt_EB0E34JT18D0M7G9GXT3HKFQKS","tier":"internal","payloadSchema":[{"name":"error","type":"string","required":true}]}],"stateMachine":{"states":[{"name":"ready","isInitial":true},{"name":"sourcing"},{"name":"keeping"},{"name":"indexing"}],"events":[{"key":"INIT","id":"evt_2XBCHFSPFNV7TRE5C607H5TVB4","name":"Initialize"},{"key":"WRITE","id":"evt_WNMKE3J6TA3D5F9JMKR9HW3KD2","name":"Write","description":"Pool a behavior that was just built and validated: its value, its name, its kind, what it is about, a one-line hint on how to use it and the description its vector embeds.","synonyms":"pool, save generated, keep behavior","payloadSchema":[{"name":"value","type":"behavior","required":true},{"name":"name","type":"string","required":true},{"name":"kind","type":"string","required":true},{"name":"topic","type":"string"},{"name":"hint","type":"string"},{"name":"description","type":"string","required":true}],"external":true,"listened":true},{"key":"SOURCED","id":"evt_01JPX4EFA07N00AMWYMPW29CE6","name":"Sourced","tier":"internal","payloadSchema":[{"name":"result","type":"SExpr","required":true}]},{"key":"STEP_FAILED","id":"evt_EB0E34JT18D0M7G9GXT3HKFQKS","name":"Step Failed","tier":"internal","payloadSchema":[{"name":"error","type":"string","required":true}]},{"key":"PRINTED","id":"evt_CM9XDTCVAZDNFKBCVJ9BTJFZJ8","name":"Printed","tier":"internal","payloadSchema":[{"name":"result","type":"string","required":true}]},{"key":"UPLOADED","id":"evt_8RAF54Y2VM1DTA1AHWMHQ1G5SC","name":"Uploaded","tier":"internal","payloadSchema":[{"name":"key","type":"string"}]},{"key":"EMBEDDED","id":"evt_H0D48GMVG8DR424YPK9YPHB92K","name":"Embedded","tier":"internal","payloadSchema":[{"name":"embeddings","type":"[[number]]","required":true}]},{"key":"POOL_WRITTEN","id":"evt_FTQWQPDDQ6PVK55NHT177NTZP0","name":"Pool Written","description":"The behavior was validated, kept and indexed — payload is the created PoolEntry row.","tier":"domain"},{"key":"WRITE_FAILED","id":"evt_THKBFY2FAY7NF2X716CXDRX797","name":"Write Failed","description":"The behavior was not pooled (invalid program, unknown kind, storage or embedding failure); no entry was recorded.","tier":"domain","payloadSchema":[{"name":"name","type":"string"},{"name":"error","type":"string","required":true}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_2XBCHFSPFNV7TRE5C607H5TVB4"},{"from":"ready","to":"ready","event":"WRITE","eventId":"evt_WNMKE3J6TA3D5F9JMKR9HW3KD2","guard":["and",[">",["array/len","@config.allowedKinds"],0],["not",["array/includes","@config.allowedKinds","@payload.kind"]]],"effects":[["emit","WRITE_FAILED",{"name":"@payload.name","error":["str/concat","Unknown kind \"","@payload.kind","\". Allowed kinds: ",["str/join","@config.allowedKinds",", "]]}]]},{"from":"ready","to":"sourcing","event":"WRITE","eventId":"evt_WNMKE3J6TA3D5F9JMKR9HW3KD2","guard":["or",["=",["array/len","@config.allowedKinds"],0],["array/includes","@config.allowedKinds","@payload.kind"]],"effects":[["set","@entity.pending",{"name":"@payload.name","kind":"@payload.kind","topic":["str/default","@payload.topic",""],"hint":["str/default","@payload.hint",""],"description":"@payload.description","key":["str/concat","@config.prefix","@config.poolName","/","@payload.name",".lolo"],"value":"@payload.value"}],["behavior/source","@payload.value",{"emit":{"failure":"STEP_FAILED","success":"SOURCED"}}]]},{"from":"sourcing","to":"ready","event":"INIT","eventId":"evt_2XBCHFSPFNV7TRE5C607H5TVB4"},{"from":"sourcing","to":"keeping","event":"SOURCED","eventId":"evt_01JPX4EFA07N00AMWYMPW29CE6","effects":[["program/print","@payload.result",{"emit":{"failure":"STEP_FAILED","success":"PRINTED"}}]]},{"from":"sourcing","to":"ready","event":"STEP_FAILED","eventId":"evt_EB0E34JT18D0M7G9GXT3HKFQKS","effects":[["emit","WRITE_FAILED",{"name":"@entity.pending.name","error":"@payload.error"}],["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"warning"}]]},{"from":"keeping","to":"ready","event":"INIT","eventId":"evt_2XBCHFSPFNV7TRE5C607H5TVB4"},{"from":"keeping","to":"keeping","event":"PRINTED","eventId":"evt_CM9XDTCVAZDNFKBCVJ9BTJFZJ8","effects":[["call-service","storage","upload",{"bucket":"@config.bucketName","key":"@entity.pending.key","content":"@payload.result","contentType":"text/plain"},{"emit":{"failure":"STEP_FAILED","success":"UPLOADED"}}]]},{"from":"keeping","to":"indexing","event":"UPLOADED","eventId":"evt_8RAF54Y2VM1DTA1AHWMHQ1G5SC","effects":[["call-service","llm","embed",{"texts":["@entity.pending.description"]},{"emit":{"failure":"STEP_FAILED","success":"EMBEDDED"}}]]},{"from":"keeping","to":"ready","event":"STEP_FAILED","eventId":"evt_EB0E34JT18D0M7G9GXT3HKFQKS","effects":[["emit","WRITE_FAILED",{"name":"@entity.pending.name","error":"@payload.error"}],["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"warning"}]]},{"from":"indexing","to":"ready","event":"INIT","eventId":"evt_2XBCHFSPFNV7TRE5C607H5TVB4"},{"from":"indexing","to":"indexing","event":"EMBEDDED","eventId":"evt_H0D48GMVG8DR424YPK9YPHB92K","guard":[">",["array/len","@payload.embeddings"],0],"effects":[["persist","create","PoolEntry",{"pool":"@config.poolName","behavior":["object/get","@entity.pending.value","behavior"],"value":"@entity.pending.value","name":"@entity.pending.name","storageKey":"@entity.pending.key","kind":"@entity.pending.kind","topic":"@entity.pending.topic","hint":"@entity.pending.hint","description":"@entity.pending.description","vector":["array/first","@payload.embeddings"],"createdAt":"@now"},{"emit":{"failure":"STEP_FAILED","success":"POOL_WRITTEN"}}]]},{"from":"indexing","to":"ready","event":"EMBEDDED","eventId":"evt_H0D48GMVG8DR424YPK9YPHB92K","guard":["=",["array/len","@payload.embeddings"],0],"effects":[["emit","WRITE_FAILED",{"name":"@entity.pending.name","error":"The model returned no embedding"}],["render-ui","toast",{"message":"The model returned no embedding","type":"alert","variant":"warning"}]]},{"from":"indexing","to":"ready","event":"POOL_WRITTEN","eventId":"evt_FTQWQPDDQ6PVK55NHT177NTZP0"},{"from":"indexing","to":"ready","event":"STEP_FAILED","eventId":"evt_EB0E34JT18D0M7G9GXT3HKFQKS","effects":[["emit","WRITE_FAILED",{"name":"@entity.pending.name","error":"@payload.error"}],["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"warning"}]]}]},"config":{"poolName":{"type":"string","default":"@config.pool","label":"Pool name","tier":"domain"},"prefix":{"type":"string","default":"@config.keyPrefix","label":"Storage key prefix","tier":"domain"},"allowedKinds":{"type":"[string]","default":"@config.kinds","label":"Kinds of behavior pooled","tier":"domain","items":{"type":"string"}},"bucketName":{"type":"string","default":"@config.bucket","label":"Storage bucket","tier":"domain"}},"scope":"instance"},{"name":"AgentPoolSearch","id":"trt_TEVVJPX8KTM9XABRF7X6GJHKCK","effectRow":[{"kind":"emit","resource":"POOL_FOUND"},{"kind":"fetch","resource":"PoolEntry"},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.queryExclude"},{"kind":"set","resource":"@entity.queryKinds"},{"kind":"set","resource":"@entity.queryTake"},{"kind":"set","resource":"@entity.queryVector"}],"category":"lifecycle","linkedEntity":"AgentPoolHost","linkedEntityId":"ent_7JT7D7KKKDSSPYQ0ZSRJVPQGQ0","entityRefIds":{"AgentPoolHost":"ent_7JT7D7KKKDSSPYQ0ZSRJVPQGQ0","PoolEntry":"ent_1QVZ0KTBNQ5TVGZZXBAJFQWVY4"},"emits":[{"event":"POOL_FOUND","eventId":"evt_MPQPQJ7QCYVPF366N0W9NX5YPZ","description":"The pool's best entries for the search, best first; empty when nothing fits or the pool could not be read.","tier":"domain","scope":"external","payloadSchema":[{"name":"hits","type":"[object]","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"behavior","type":"string","required":true},{"name":"value","type":"behavior","required":true},{"name":"name","type":"string"},{"name":"kind","type":"string"},{"name":"topic","type":"string"},{"name":"hint","type":"string"},{"name":"description","type":"string"},{"name":"score","type":"number","required":true}],"entity":"PoolHit"}]},{"event":"ENTRIES_LOADED","eventId":"evt_EZ1JTYPZCSFPCK440S6BYBKGPW","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"pool","type":"string"},{"name":"behavior","type":"string"},{"name":"value","type":"behavior"},{"name":"name","type":"string"},{"name":"storageKey","type":"string"},{"name":"kind","type":"string"},{"name":"topic","type":"string"},{"name":"hint","type":"string"},{"name":"description","type":"string"},{"name":"vector","type":"[number]"},{"name":"plays","type":"number"},{"name":"likes","type":"number"},{"name":"hides","type":"number"},{"name":"right","type":"number"},{"name":"wrong","type":"number"},{"name":"retired","type":"boolean"},{"name":"createdAt","type":"number"}],"entity":"PoolEntry"}]},{"event":"SEARCH_FAILED","eventId":"evt_67VXZ27KVYSXZ18GFFAP8JR2ZS","tier":"internal","payloadSchema":[{"name":"error","type":"string","required":true}]}],"stateMachine":{"states":[{"name":"ready","isInitial":true},{"name":"searching"}],"events":[{"key":"INIT","id":"evt_FFKTAGM2JJ19939DYGPCHK0A1C","name":"Initialize"},{"key":"SEARCH","id":"evt_5121ER80B705KPM4F28GCS25NT","name":"Search","description":"Rank this pool's live entries by meaning against the vector (an embedding of what is wanted): kinds narrows the kinds served, exclude lists behaviors already used, take caps the hits.","synonyms":"find in pool, retrieve, search pool","payloadSchema":[{"name":"vector","type":"[number]","required":true},{"name":"kinds","type":"[string]"},{"name":"exclude","type":"[string]"},{"name":"take","type":"number"}],"external":true,"listened":true},{"key":"ENTRIES_LOADED","id":"evt_EZ1JTYPZCSFPCK440S6BYBKGPW","name":"Entries Loaded","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"pool","type":"string"},{"name":"behavior","type":"string"},{"name":"value","type":"behavior"},{"name":"name","type":"string"},{"name":"storageKey","type":"string"},{"name":"kind","type":"string"},{"name":"topic","type":"string"},{"name":"hint","type":"string"},{"name":"description","type":"string"},{"name":"vector","type":"[number]"},{"name":"plays","type":"number"},{"name":"likes","type":"number"},{"name":"hides","type":"number"},{"name":"right","type":"number"},{"name":"wrong","type":"number"},{"name":"retired","type":"boolean"},{"name":"createdAt","type":"number"}],"entity":"PoolEntry"}]},{"key":"SEARCH_FAILED","id":"evt_67VXZ27KVYSXZ18GFFAP8JR2ZS","name":"Search Failed","tier":"internal","payloadSchema":[{"name":"error","type":"string","required":true}]},{"key":"POOL_FOUND","id":"evt_MPQPQJ7QCYVPF366N0W9NX5YPZ","name":"Pool Found","description":"The pool's best entries for the search, best first; empty when nothing fits or the pool could not be read.","tier":"domain","payloadSchema":[{"name":"hits","type":"[object]","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"behavior","type":"string","required":true},{"name":"value","type":"behavior","required":true},{"name":"name","type":"string"},{"name":"kind","type":"string"},{"name":"topic","type":"string"},{"name":"hint","type":"string"},{"name":"description","type":"string"},{"name":"score","type":"number","required":true}],"entity":"PoolHit"}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_FFKTAGM2JJ19939DYGPCHK0A1C"},{"from":"ready","to":"searching","event":"SEARCH","eventId":"evt_5121ER80B705KPM4F28GCS25NT","effects":[["fetch","PoolEntry",{"filter":["and",["=",["object/get","@entity","pool"],"@config.poolName"],["=",["object/get","@entity","retired"],false]],"emit":{"failure":"SEARCH_FAILED","success":"ENTRIES_LOADED"}}],["set","@entity.queryVector","@payload.vector"],["set","@entity.queryKinds",["if",["==","@payload.kinds",null],[],"@payload.kinds"]],["set","@entity.queryExclude",["if",["==","@payload.exclude",null],[],"@payload.exclude"]],["set","@entity.queryTake",["if",["==","@payload.take",null],10,"@payload.take"]]]},{"from":"searching","to":"ready","event":"INIT","eventId":"evt_FFKTAGM2JJ19939DYGPCHK0A1C"},{"from":"searching","to":"ready","event":"ENTRIES_LOADED","eventId":"evt_EZ1JTYPZCSFPCK440S6BYBKGPW","effects":[["emit","POOL_FOUND",{"hits":["array/take",["array/sort",["array/map",["array/filter","@payload.data",["fn","e",["and",["or",["=",["array/len","@entity.queryKinds"],0],["array/includes","@entity.queryKinds",["object/get","@e","kind",""]]],["not",["array/includes","@entity.queryExclude",["object/get","@e","behavior",""]]]]]],["fn","e",{"id":["object/get","@e","id"],"behavior":["object/get","@e","behavior",""],"value":["object/get","@e","value"],"name":["object/get","@e","name",""],"kind":["object/get","@e","kind",""],"topic":["object/get","@e","topic",""],"hint":["object/get","@e","hint",""],"description":["object/get","@e","description",""],"score":["+",["array/cosine",["object/get","@e","vector",[]],"@entity.queryVector"],["*","@config.weight",["/",["-",["+",["object/get","@e","likes",0],["object/get","@e","right",0]],["+",["object/get","@e","hides",0],["object/get","@e","wrong",0]]],["+",1,["object/get","@e","plays",0]]]]]}]],"score","desc"],"@entity.queryTake"]}]]},{"from":"searching","to":"ready","event":"SEARCH_FAILED","eventId":"evt_67VXZ27KVYSXZ18GFFAP8JR2ZS","effects":[["emit","POOL_FOUND",{"hits":[]}],["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"warning"}]]}]},"config":{"weight":{"type":"number","default":"@config.qualityWeight","label":"Quality weight","tier":"policy"},"poolName":{"type":"string","default":"@config.pool","label":"Pool name","tier":"domain"}},"scope":"instance"},{"name":"AgentPoolSignal","id":"trt_MNSZAP5AXCNEP9YESTNXW7AB5V","effectRow":[{"kind":"emit","resource":"SIGNAL_REFUSED"},{"kind":"fetch","resource":"PoolEntry"},{"kind":"persist","resource":"PoolEntry"},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.signalOf"}],"category":"lifecycle","linkedEntity":"AgentPoolHost","linkedEntityId":"ent_7JT7D7KKKDSSPYQ0ZSRJVPQGQ0","entityRefIds":{"AgentPoolHost":"ent_7JT7D7KKKDSSPYQ0ZSRJVPQGQ0","PoolEntry":"ent_1QVZ0KTBNQ5TVGZZXBAJFQWVY4"},"emits":[{"event":"SIGNAL_REFUSED","eventId":"evt_W48BW98EGX78ESQDQV4X37SWDM","description":"The signal was not counted (unknown signal, unknown entry, or the pool could not be read).","tier":"domain","scope":"external","payloadSchema":[{"name":"reason","type":"string","required":true}]},{"event":"ENTRY_LOADED","eventId":"evt_25AGN7AP1ZB0ZVFBY3W6TE9T83","tier":"internal","payloadSchema":[{"name":"data","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"pool","type":"string"},{"name":"behavior","type":"string"},{"name":"value","type":"behavior"},{"name":"name","type":"string"},{"name":"storageKey","type":"string"},{"name":"kind","type":"string"},{"name":"topic","type":"string"},{"name":"hint","type":"string"},{"name":"description","type":"string"},{"name":"vector","type":"[number]"},{"name":"plays","type":"number"},{"name":"likes","type":"number"},{"name":"hides","type":"number"},{"name":"right","type":"number"},{"name":"wrong","type":"number"},{"name":"retired","type":"boolean"},{"name":"createdAt","type":"number"}],"entity":"PoolEntry"}]},{"event":"SIGNAL_FAILED","eventId":"evt_ZE5RWASM65T32X13BF293APRVB","tier":"internal","payloadSchema":[{"name":"error","type":"string","required":true}]}],"stateMachine":{"states":[{"name":"ready","isInitial":true},{"name":"counting"}],"events":[{"key":"INIT","id":"evt_6SQ5W2NX3BYHNZC3SNGH99CHJJ","name":"Initialize"},{"key":"SIGNAL","id":"evt_NMH3818ZQNFVTT2VGZY3RPKJQG","name":"Signal","description":"Count one outcome on a pool entry: play (it was shown and used), like, hide, right or wrong (an answer it graded).","synonyms":"record outcome, rate, feedback","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"signal","type":"string","required":true}],"external":true,"listened":true},{"key":"ENTRY_LOADED","id":"evt_25AGN7AP1ZB0ZVFBY3W6TE9T83","name":"Entry Loaded","tier":"internal","payloadSchema":[{"name":"data","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"pool","type":"string"},{"name":"behavior","type":"string"},{"name":"value","type":"behavior"},{"name":"name","type":"string"},{"name":"storageKey","type":"string"},{"name":"kind","type":"string"},{"name":"topic","type":"string"},{"name":"hint","type":"string"},{"name":"description","type":"string"},{"name":"vector","type":"[number]"},{"name":"plays","type":"number"},{"name":"likes","type":"number"},{"name":"hides","type":"number"},{"name":"right","type":"number"},{"name":"wrong","type":"number"},{"name":"retired","type":"boolean"},{"name":"createdAt","type":"number"}],"entity":"PoolEntry"}]},{"key":"SIGNAL_FAILED","id":"evt_ZE5RWASM65T32X13BF293APRVB","name":"Signal Failed","tier":"internal","payloadSchema":[{"name":"error","type":"string","required":true}]},{"key":"SIGNAL_REFUSED","id":"evt_W48BW98EGX78ESQDQV4X37SWDM","name":"Signal Refused","description":"The signal was not counted (unknown signal, unknown entry, or the pool could not be read).","tier":"domain","payloadSchema":[{"name":"reason","type":"string","required":true}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_6SQ5W2NX3BYHNZC3SNGH99CHJJ"},{"from":"ready","to":"counting","event":"SIGNAL","eventId":"evt_NMH3818ZQNFVTT2VGZY3RPKJQG","guard":["array/includes",["play","like","hide","right","wrong"],"@payload.signal"],"effects":[["set","@entity.signalOf","@payload.signal"],["fetch","PoolEntry",{"id":"@payload.id","emit":{"failure":"SIGNAL_FAILED","success":"ENTRY_LOADED"}}]]},{"from":"ready","to":"ready","event":"SIGNAL","eventId":"evt_NMH3818ZQNFVTT2VGZY3RPKJQG","guard":["not",["array/includes",["play","like","hide","right","wrong"],"@payload.signal"]],"effects":[["emit","SIGNAL_REFUSED",{"reason":["str/concat","Unknown signal \"","@payload.signal","\""]}]]},{"from":"counting","to":"ready","event":"INIT","eventId":"evt_6SQ5W2NX3BYHNZC3SNGH99CHJJ"},{"from":"counting","to":"ready","event":"ENTRY_LOADED","eventId":"evt_25AGN7AP1ZB0ZVFBY3W6TE9T83","guard":["!=","@payload.data",null],"effects":[["let",[["e","@payload.data"]],["let",[["plays",["+",["object/get","@e","plays",0],["if",["=","@entity.signalOf","play"],1,0]]],["bad",["+",["+",["object/get","@e","hides",0],["object/get","@e","wrong",0]],["if",["or",["=","@entity.signalOf","hide"],["=","@entity.signalOf","wrong"]],1,0]]]],["persist","update","PoolEntry",{"id":["object/get","@e","id"],"plays":"@plays","likes":["+",["object/get","@e","likes",0],["if",["=","@entity.signalOf","like"],1,0]],"hides":["+",["object/get","@e","hides",0],["if",["=","@entity.signalOf","hide"],1,0]],"right":["+",["object/get","@e","right",0],["if",["=","@entity.signalOf","right"],1,0]],"wrong":["+",["object/get","@e","wrong",0],["if",["=","@entity.signalOf","wrong"],1,0]],"retired":["and",[">=","@plays","@config.minPlays"],[">=",["/","@bad",["math/max","@plays",1]],"@config.ratio"]]}]]]]},{"from":"counting","to":"ready","event":"ENTRY_LOADED","eventId":"evt_25AGN7AP1ZB0ZVFBY3W6TE9T83","guard":["==","@payload.data",null],"effects":[["emit","SIGNAL_REFUSED",{"reason":"No such pool entry"}]]},{"from":"counting","to":"ready","event":"SIGNAL_FAILED","eventId":"evt_ZE5RWASM65T32X13BF293APRVB","effects":[["emit","SIGNAL_REFUSED",{"reason":"@payload.error"}],["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"warning"}]]}]},"config":{"ratio":{"type":"number","default":"@config.retireRatio","label":"Share of hides and wrong answers that retires an entry","tier":"policy"},"minPlays":{"type":"number","default":"@config.retireAfter","label":"Plays before an entry can be retired","tier":"policy"}},"scope":"instance"}],"pages":[{"name":"AgentPoolPage","id":"pag_MX5FXE4JEY97F79MHWE1N3RCSQ","path":"/agent-pool","traits":[{"ref":"AgentPoolWriter","refId":"trt_KKRCF8VJBXS5YHB5A33G9KDHJW"},{"ref":"AgentPoolSearch","refId":"trt_TEVVJPX8KTM9XABRF7X6GJHKCK"},{"ref":"AgentPoolSignal","refId":"trt_MNSZAP5AXCNEP9YESTNXW7AB5V"}]}],"config":{"qualityWeight":{"type":"number","default":0.1,"label":"Quality weight","description":"How much an entry's track record moves its search score: score = similarity + weight × (likes + right − hides − wrong) / (1 + plays).","tier":"policy"},"keyPrefix":{"type":"string","default":"pool/","label":"Storage key prefix","description":"Every source is stored under `<keyPrefix><pool>/<name>.lolo`.","tier":"domain"},"pool":{"type":"string","default":"default","label":"Pool name","description":"The pool this orbital writes to and searches; entries of other pools are never served.","tier":"domain"},"retireAfter":{"type":"number","default":20,"label":"Plays before an entry can be retired","tier":"policy"},"retireRatio":{"type":"number","default":0.6,"label":"Share of hides and wrong answers that retires an entry","tier":"policy"},"bucket":{"type":"string","default":"","label":"Storage bucket","description":"The `storage` service bucket that keeps each pooled behavior's source. Empty uses the deployment's default bucket.","tier":"domain"},"kinds":{"type":"[string]","default":[],"label":"Kinds of behavior pooled","description":"When listed, a write of any other kind is refused. Empty accepts any kind.","tier":"domain","items":{"type":"string"}}},"types":{"PoolHit":[{"name":"id","type":"string","required":true},{"name":"behavior","type":"string","required":true},{"name":"value","type":"behavior","required":true},{"name":"name","type":"string"},{"name":"kind","type":"string"},{"name":"topic","type":"string"},{"name":"hint","type":"string"},{"name":"description","type":"string"},{"name":"score","type":"number","required":true}],"PoolUploaded":[{"name":"key","type":"string","required":true}],"PoolWrite":[{"name":"name","type":"string"},{"name":"kind","type":"string"},{"name":"topic","type":"string"},{"name":"hint","type":"string"},{"name":"description","type":"string"},{"name":"key","type":"string"},{"name":"value","type":"behavior"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_1QVZ0KTBNQ5TVGZZXBAJFQWVY4":{"id":"ent_1QVZ0KTBNQ5TVGZZXBAJFQWVY4","kind":"entity","bakedName":"PoolEntry","curName":"PoolEntry","renames":[],"owner":"workspace"},"ent_7JT7D7KKKDSSPYQ0ZSRJVPQGQ0":{"id":"ent_7JT7D7KKKDSSPYQ0ZSRJVPQGQ0","kind":"entity","bakedName":"AgentPoolHost","curName":"AgentPoolHost","renames":[],"owner":"workspace"},"evt_01JPX4EFA07N00AMWYMPW29CE6":{"id":"evt_01JPX4EFA07N00AMWYMPW29CE6","kind":"event","bakedName":"SOURCED","curName":"SOURCED","renames":[],"owner":"workspace","parent":"trt_KKRCF8VJBXS5YHB5A33G9KDHJW"},"evt_25AGN7AP1ZB0ZVFBY3W6TE9T83":{"id":"evt_25AGN7AP1ZB0ZVFBY3W6TE9T83","kind":"event","bakedName":"ENTRY_LOADED","curName":"ENTRY_LOADED","renames":[],"owner":"workspace","parent":"trt_MNSZAP5AXCNEP9YESTNXW7AB5V"},"evt_2XBCHFSPFNV7TRE5C607H5TVB4":{"id":"evt_2XBCHFSPFNV7TRE5C607H5TVB4","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_KKRCF8VJBXS5YHB5A33G9KDHJW"},"evt_5121ER80B705KPM4F28GCS25NT":{"id":"evt_5121ER80B705KPM4F28GCS25NT","kind":"event","bakedName":"SEARCH","curName":"SEARCH","renames":[],"owner":"workspace","parent":"trt_TEVVJPX8KTM9XABRF7X6GJHKCK"},"evt_67VXZ27KVYSXZ18GFFAP8JR2ZS":{"id":"evt_67VXZ27KVYSXZ18GFFAP8JR2ZS","kind":"event","bakedName":"SEARCH_FAILED","curName":"SEARCH_FAILED","renames":[],"owner":"workspace","parent":"trt_TEVVJPX8KTM9XABRF7X6GJHKCK"},"evt_6SQ5W2NX3BYHNZC3SNGH99CHJJ":{"id":"evt_6SQ5W2NX3BYHNZC3SNGH99CHJJ","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_MNSZAP5AXCNEP9YESTNXW7AB5V"},"evt_8RAF54Y2VM1DTA1AHWMHQ1G5SC":{"id":"evt_8RAF54Y2VM1DTA1AHWMHQ1G5SC","kind":"event","bakedName":"UPLOADED","curName":"UPLOADED","renames":[],"owner":"workspace","parent":"trt_KKRCF8VJBXS5YHB5A33G9KDHJW"},"evt_CM9XDTCVAZDNFKBCVJ9BTJFZJ8":{"id":"evt_CM9XDTCVAZDNFKBCVJ9BTJFZJ8","kind":"event","bakedName":"PRINTED","curName":"PRINTED","renames":[],"owner":"workspace","parent":"trt_KKRCF8VJBXS5YHB5A33G9KDHJW"},"evt_EB0E34JT18D0M7G9GXT3HKFQKS":{"id":"evt_EB0E34JT18D0M7G9GXT3HKFQKS","kind":"event","bakedName":"STEP_FAILED","curName":"STEP_FAILED","renames":[],"owner":"workspace","parent":"trt_KKRCF8VJBXS5YHB5A33G9KDHJW"},"evt_EZ1JTYPZCSFPCK440S6BYBKGPW":{"id":"evt_EZ1JTYPZCSFPCK440S6BYBKGPW","kind":"event","bakedName":"ENTRIES_LOADED","curName":"ENTRIES_LOADED","renames":[],"owner":"workspace","parent":"trt_TEVVJPX8KTM9XABRF7X6GJHKCK"},"evt_FFKTAGM2JJ19939DYGPCHK0A1C":{"id":"evt_FFKTAGM2JJ19939DYGPCHK0A1C","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_TEVVJPX8KTM9XABRF7X6GJHKCK"},"evt_FTQWQPDDQ6PVK55NHT177NTZP0":{"id":"evt_FTQWQPDDQ6PVK55NHT177NTZP0","kind":"event","bakedName":"POOL_WRITTEN","curName":"POOL_WRITTEN","renames":[],"owner":"workspace","parent":"trt_KKRCF8VJBXS5YHB5A33G9KDHJW"},"evt_H0D48GMVG8DR424YPK9YPHB92K":{"id":"evt_H0D48GMVG8DR424YPK9YPHB92K","kind":"event","bakedName":"EMBEDDED","curName":"EMBEDDED","renames":[],"owner":"workspace","parent":"trt_KKRCF8VJBXS5YHB5A33G9KDHJW"},"evt_MPQPQJ7QCYVPF366N0W9NX5YPZ":{"id":"evt_MPQPQJ7QCYVPF366N0W9NX5YPZ","kind":"event","bakedName":"POOL_FOUND","curName":"POOL_FOUND","renames":[],"owner":"workspace","parent":"trt_TEVVJPX8KTM9XABRF7X6GJHKCK"},"evt_NMH3818ZQNFVTT2VGZY3RPKJQG":{"id":"evt_NMH3818ZQNFVTT2VGZY3RPKJQG","kind":"event","bakedName":"SIGNAL","curName":"SIGNAL","renames":[],"owner":"workspace","parent":"trt_MNSZAP5AXCNEP9YESTNXW7AB5V"},"evt_THKBFY2FAY7NF2X716CXDRX797":{"id":"evt_THKBFY2FAY7NF2X716CXDRX797","kind":"event","bakedName":"WRITE_FAILED","curName":"WRITE_FAILED","renames":[],"owner":"workspace","parent":"trt_KKRCF8VJBXS5YHB5A33G9KDHJW"},"evt_W48BW98EGX78ESQDQV4X37SWDM":{"id":"evt_W48BW98EGX78ESQDQV4X37SWDM","kind":"event","bakedName":"SIGNAL_REFUSED","curName":"SIGNAL_REFUSED","renames":[],"owner":"workspace","parent":"trt_MNSZAP5AXCNEP9YESTNXW7AB5V"},"evt_WNMKE3J6TA3D5F9JMKR9HW3KD2":{"id":"evt_WNMKE3J6TA3D5F9JMKR9HW3KD2","kind":"event","bakedName":"WRITE","curName":"WRITE","renames":[],"owner":"workspace","parent":"trt_KKRCF8VJBXS5YHB5A33G9KDHJW"},"evt_ZE5RWASM65T32X13BF293APRVB":{"id":"evt_ZE5RWASM65T32X13BF293APRVB","kind":"event","bakedName":"SIGNAL_FAILED","curName":"SIGNAL_FAILED","renames":[],"owner":"workspace","parent":"trt_MNSZAP5AXCNEP9YESTNXW7AB5V"},"orb_5VM0HK2SHKCRSZR1K9Q3HZSXK0":{"id":"orb_5VM0HK2SHKCRSZR1K9Q3HZSXK0","kind":"orbital","bakedName":"AgentPoolOrbital","curName":"AgentPoolOrbital","renames":[],"owner":"workspace"},"pag_MX5FXE4JEY97F79MHWE1N3RCSQ":{"id":"pag_MX5FXE4JEY97F79MHWE1N3RCSQ","kind":"page","bakedName":"AgentPoolPage","curName":"AgentPoolPage","renames":[],"owner":"workspace"},"trt_KKRCF8VJBXS5YHB5A33G9KDHJW":{"id":"trt_KKRCF8VJBXS5YHB5A33G9KDHJW","kind":"trait","bakedName":"AgentPoolWriter","curName":"AgentPoolWriter","renames":[],"owner":"workspace"},"trt_MNSZAP5AXCNEP9YESTNXW7AB5V":{"id":"trt_MNSZAP5AXCNEP9YESTNXW7AB5V","kind":"trait","bakedName":"AgentPoolSignal","curName":"AgentPoolSignal","renames":[],"owner":"workspace"},"trt_TEVVJPX8KTM9XABRF7X6GJHKCK":{"id":"trt_TEVVJPX8KTM9XABRF7X6GJHKCK","kind":"trait","bakedName":"AgentPoolSearch","curName":"AgentPoolSearch","renames":[],"owner":"workspace"}}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"std-agent-proposal","version":"1.0.0","description":"std-agent-proposal — an agent that reads what the person hands over, works out a structured proposal, and commits nothing until they approve it. The app starts it with PROPOSAL_REQUESTED { input, context } (any trait emitting it, or the person typing into the start form when `showInputForm` is on). A second std-agent-tool-loop answers with `instructions`, `prompt` and `tools` as the signed-in person — `quiet`, its reply and failure renamed PROPOSAL_LOOP_REPLIED / PROPOSAL_LOOP_FAILED so they never reach the assistant's chat — and submits its proposal through one declared input, PROPOSE (its @description is the tool text): a summary and a list of items, each a flat map of scalar values the app names. The person reviews it (the summary, the items drawn with `itemPattern` and `itemFields`) and chooses: Approve emits PROPOSAL_APPROVED { proposal } for the app to commit (the app owns the commit; this atom writes nothing); Revise sends their written feedback back to the agent, which proposes again; Discard emits PROPOSAL_DISCARDED. Cancel while the agent works aborts its model call and emits PROPOSAL_CANCELLED. A run that fails, or ends without proposing, shows its error with Retry and Discard. The panel renders into `panelSlot`. Import the orbital once per app: `orbital Proposal = Proposal.orbitals.AgentProposalOrbital { config { instructions: \"…\", prompt: \"…\", itemFields: […] } }`, restating `tools` with PROPOSE addressed by its local orbital name (`{ event: Proposal.AgentProposalWorkflow.PROPOSE }`). Instructions, prompts, item fields and labels are the app's vocabulary, declared in config.","orbitals":[{"name":"AgentProposalOrbital","id":"orb_CG6T0B9JB3S5HVSTKK9C3STYB0","uses":[{"from":"std/behaviors/std-agent-tool-loop","as":"Loop"}],"entity":{"name":"AgentProposalRun","id":"ent_SX977PBHV7RXKVK8J4R49NG5KA","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"input","type":"string","default":"","description":"What the person handed over."},{"name":"context","type":"string","default":"","description":"Extra background the app handed over."},{"name":"request","type":"string","default":"","description":"The request the agent is answering, with any revision feedback."},{"name":"feedback","type":"string","default":"","description":"What the person asked to change."},{"name":"summary","type":"string","default":"","description":"The proposal in a few lines."},{"name":"items","type":"array","default":[],"items":{"type":"object","items":{"type":"string"}},"description":"The proposed items."},{"name":"error","type":"string","default":"","description":"Why the last run failed."}]},"traits":[{"name":"AgentProposalWorkflow","id":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16","effectRow":[{"kind":"emit","resource":"PROPOSAL_APPROVED"},{"kind":"emit","resource":"PROPOSAL_CANCELLED"},{"kind":"emit","resource":"PROPOSAL_DISCARDED"},{"kind":"emit","resource":"PROPOSAL_RUN_REQUESTED"},{"kind":"render-ui","resource":"@config.slot","resolved":false},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.context"},{"kind":"set","resource":"@entity.error"},{"kind":"set","resource":"@entity.feedback"},{"kind":"set","resource":"@entity.input"},{"kind":"set","resource":"@entity.items"},{"kind":"set","resource":"@entity.request"},{"kind":"set","resource":"@entity.summary"}],"category":"interaction","linkedEntity":"AgentProposalRun","linkedEntityId":"ent_SX977PBHV7RXKVK8J4R49NG5KA","entityRefIds":{"AgentProposalRun":"ent_SX977PBHV7RXKVK8J4R49NG5KA"},"emits":[{"event":"PROPOSAL_APPROVED","eventId":"evt_41MMPAK648K24FGJ509VCSFG06","description":"The person approved the proposal as it stands. The app commits it; nothing has been written.","synonyms":"approved, accepted, confirmed, go ahead, commit","tier":"domain","scope":"external","payloadSchema":[{"name":"proposal","type":"object","required":true,"properties":[{"name":"summary","type":"string"},{"name":"items","type":"[Map<string,string>]"}]}]},{"event":"PROPOSAL_DISCARDED","eventId":"evt_SXD0FF8WAWE5E1D3FMAA9E8Y7V","description":"The person discarded the proposal (or a failed run); nothing was committed.","synonyms":"rejected, dismissed, thrown away","tier":"domain","scope":"external"},{"event":"PROPOSAL_CANCELLED","eventId":"evt_XN9FFFX2FNH7TR9SMXG0V7VVF0","description":"The person cancelled while the agent was still working; its model call was aborted.","synonyms":"stopped, aborted","tier":"domain","scope":"external"},{"event":"PROPOSAL_RUN_REQUESTED","eventId":"evt_ZBB9J87V7GXKR8FP8ENNBTTH6N","description":"The agent was asked to work out (or revise) a proposal.","synonyms":"run started, working","tier":"domain","scope":"external","payloadSchema":[{"name":"messages","type":"[object]","required":true,"properties":[{"name":"role","type":"string","values":["user","assistant"]},{"name":"content","type":"string","required":true}],"entity":"AgentChatMessage"}]}],"listens":[{"event":"PROPOSAL_LOOP_REPLIED","eventId":"evt_H1PNAAWJP39B1RT3EVEW6VE1P8","triggers":"PROPOSAL_LOOP_REPLIED","triggersId":"evt_H1PNAAWJP39B1RT3EVEW6VE1P8","source":{"kind":"trait","trait":"AgentProposalLoop","traitId":"trt_6AJEXB7NRJTW95SK1CA0HG26XS"}},{"event":"PROPOSAL_LOOP_FAILED","eventId":"evt_SWV0J7VBYBNZ5JNP5KMRP5EGZN","triggers":"PROPOSAL_LOOP_FAILED","triggersId":"evt_SWV0J7VBYBNZ5JNP5KMRP5EGZN","source":{"kind":"trait","trait":"AgentProposalLoop","traitId":"trt_6AJEXB7NRJTW95SK1CA0HG26XS"}}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"working"},{"name":"review"},{"name":"failed"}],"events":[{"key":"PROPOSE","id":"evt_WTH7N12YPVFBDNM6B5KKNSSETQ","name":"Propose","description":"Submit the proposal for the person to review: a short summary and the list of proposed items, each a flat map of values. Call it once with everything; the person approves, asks for a revision, or discards it.","synonyms":"propose, submit proposal, draft","payloadSchema":[{"name":"summary","type":"string"},{"name":"items","type":"[Map<string,string>]","required":true}],"external":true,"listened":true},{"key":"INIT","id":"evt_P81352T2JP19BC6R19CF7TXE2Y","name":"Initialize"},{"key":"INPUT_CHANGED","id":"evt_S5SYAFCADB56NMB6K4TTTACJ61","name":"Input Changed","description":"The start form's text changed.","payloadSchema":[{"name":"value","type":"string"}],"listened":true},{"key":"CLOSE","id":"evt_Y9QHN3AH9B8MNSJWNGE0TNQHA3","name":"Close","description":"The overlay's own close control was used: cancels the agent's work while it runs, discards the proposal otherwise.","listened":true},{"key":"START_TYPED","id":"evt_6GW4VTXAR0NC0BG2F3MDNHG8S0","name":"Start Typed","description":"Start from the text typed into the start form.","listened":true},{"key":"PROPOSAL_REQUESTED","id":"evt_12ED7N41DG0PREF4R8BBKV0KN6","name":"Proposal Requested","description":"Work out a proposal from this: the documents or text the person handed over, and optional background.","synonyms":"start, propose, analyze, extract, begin","payloadSchema":[{"name":"input","type":"string","required":true},{"name":"context","type":"string"}],"listened":true},{"key":"PROPOSAL_LOOP_REPLIED","id":"evt_H1PNAAWJP39B1RT3EVEW6VE1P8","name":"Proposal Loop Replied","description":"The agent's run ended.","payloadSchema":[{"name":"reply","type":"string"}],"listened":true},{"key":"PROPOSAL_LOOP_FAILED","id":"evt_SWV0J7VBYBNZ5JNP5KMRP5EGZN","name":"Proposal Loop Failed","description":"The agent's run failed.","payloadSchema":[{"name":"error","type":"string"}],"listened":true},{"key":"CANCEL","id":"evt_5JVF739B04NG24R2RT40HWNJ7Y","name":"Cancel","description":"Cancel the agent's work.","listened":true},{"key":"FEEDBACK_CHANGED","id":"evt_CM90ZK7FE8QQ46T7NNNEHDBE23","name":"Feedback Changed","description":"The revision feedback changed.","payloadSchema":[{"name":"value","type":"string"}],"listened":true},{"key":"APPROVE","id":"evt_W9MBNQZYC4Z622PFHK8VQMHC3B","name":"Approve","description":"Approve the proposal.","listened":true},{"key":"REVISE","id":"evt_ZNDX8Q780KM09YYF80VCK4GMKQ","name":"Revise","description":"Ask for a revision with the written feedback.","listened":true},{"key":"DISCARD","id":"evt_8FKD5P8G2Z81FWSN3A45TMMXVD","name":"Discard","description":"Discard the proposal.","listened":true},{"key":"RETRY","id":"evt_JSQY9T0NSHAWRGSWPB26ZYBZFS","name":"Retry","description":"Run the agent again.","listened":true},{"key":"PROPOSAL_APPROVED","id":"evt_41MMPAK648K24FGJ509VCSFG06","name":"Proposal Approved","description":"The person approved the proposal as it stands. The app commits it; nothing has been written.","synonyms":"approved, accepted, confirmed, go ahead, commit","tier":"domain","payloadSchema":[{"name":"proposal","type":"object","required":true,"properties":[{"name":"summary","type":"string"},{"name":"items","type":"[Map<string,string>]"}]}]},{"key":"PROPOSAL_DISCARDED","id":"evt_SXD0FF8WAWE5E1D3FMAA9E8Y7V","name":"Proposal Discarded","description":"The person discarded the proposal (or a failed run); nothing was committed.","synonyms":"rejected, dismissed, thrown away","tier":"domain"},{"key":"PROPOSAL_CANCELLED","id":"evt_XN9FFFX2FNH7TR9SMXG0V7VVF0","name":"Proposal Cancelled","description":"The person cancelled while the agent was still working; its model call was aborted.","synonyms":"stopped, aborted","tier":"domain"},{"key":"PROPOSAL_RUN_REQUESTED","id":"evt_ZBB9J87V7GXKR8FP8ENNBTTH6N","name":"Proposal Run Requested","description":"The agent was asked to work out (or revise) a proposal.","synonyms":"run started, working","tier":"domain","payloadSchema":[{"name":"messages","type":"[object]","required":true,"properties":[{"name":"role","type":"string","values":["user","assistant"]},{"name":"content","type":"string","required":true}],"entity":"AgentChatMessage"}]}],"transitions":[{"from":"idle","to":"idle","event":"PROPOSE","eventId":"evt_WTH7N12YPVFBDNM6B5KKNSSETQ"},{"from":"idle","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":"@config.withInputForm","effects":[["render-ui","@config.slot",{"children":[{"align":"center","children":[{"name":"@config.headingIcon","size":"lg","type":"icon"},{"content":"@config.heading","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"type":"divider"},{"label":"@config.inputText","onChange":"INPUT_CHANGED","rows":6,"type":"textarea"},{"action":"START_TYPED","icon":"sparkles","label":"@config.startButton","type":"button","variant":"primary"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"idle","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":["not","@config.withInputForm"]},{"from":"idle","to":"idle","event":"INPUT_CHANGED","eventId":"evt_S5SYAFCADB56NMB6K4TTTACJ61","effects":[["set","@entity.input","@payload.value"]]},{"from":"idle","to":"idle","event":"CLOSE","eventId":"evt_Y9QHN3AH9B8MNSJWNGE0TNQHA3","effects":[["render-ui","@config.slot",null]]},{"from":"idle","to":"working","event":"START_TYPED","eventId":"evt_6GW4VTXAR0NC0BG2F3MDNHG8S0","guard":["!=",["str/default","@entity.input",""],""],"effects":[["set","@entity.context",""],["set","@entity.request",["str/concat","@config.framing","\n\n","@entity.input"]],["set","@entity.feedback",""],["emit","PROPOSAL_RUN_REQUESTED",{"messages":[{"role":"user","content":"@entity.request"}]}],["render-ui","@config.slot",{"children":[{"align":"center","children":[{"size":"sm","type":"spinner"},{"color":"muted","content":"@config.workingText","type":"typography","variant":"caption"}],"direction":"horizontal","gap":"sm","role":"status","type":"stack"},{"action":"CANCEL","icon":"x","label":"@config.cancelButton","type":"button","variant":"ghost"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"idle","to":"working","event":"PROPOSAL_REQUESTED","eventId":"evt_12ED7N41DG0PREF4R8BBKV0KN6","effects":[["set","@entity.input","@payload.input"],["set","@entity.context",["str/default","@payload.context",""]],["set","@entity.request",["if",["=",["str/default","@payload.context",""],""],["str/concat","@config.framing","\n\n","@payload.input"],["str/concat","@config.framing","\n\n","@payload.input","\n\nBackground:\n","@payload.context"]]],["set","@entity.feedback",""],["emit","PROPOSAL_RUN_REQUESTED",{"messages":[{"role":"user","content":"@entity.request"}]}],["render-ui","@config.slot",{"children":[{"align":"center","children":[{"size":"sm","type":"spinner"},{"color":"muted","content":"@config.workingText","type":"typography","variant":"caption"}],"direction":"horizontal","gap":"sm","role":"status","type":"stack"},{"action":"CANCEL","icon":"x","label":"@config.cancelButton","type":"button","variant":"ghost"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"working","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":"@config.withInputForm","effects":[["render-ui","@config.slot",null],["render-ui","@config.slot",{"children":[{"align":"center","children":[{"name":"@config.headingIcon","size":"lg","type":"icon"},{"content":"@config.heading","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"type":"divider"},{"label":"@config.inputText","onChange":"INPUT_CHANGED","rows":6,"type":"textarea"},{"action":"START_TYPED","icon":"sparkles","label":"@config.startButton","type":"button","variant":"primary"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"working","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":["not","@config.withInputForm"],"effects":[["render-ui","@config.slot",null]]},{"from":"working","to":"review","event":"PROPOSE","eventId":"evt_WTH7N12YPVFBDNM6B5KKNSSETQ","effects":[["set","@entity.summary",["str/default","@payload.summary",""]],["set","@entity.items","@payload.items"],["render-ui","@config.slot",{"children":[{"align":"center","children":[{"name":"@config.headingIcon","size":"lg","type":"icon"},{"content":"@config.heading","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"type":"divider"},{"content":"@config.summaryTitle","type":"typography","variant":"h4"},{"content":"@entity.summary","type":"typography","variant":"body"},{"content":"@config.itemsTitle","type":"typography","variant":"h4"},{"entity":"@entity.items","fields":"@config.fieldsForItems","gap":"sm","type":"@config.patternForItems"},{"type":"divider"},{"label":"@config.feedbackText","onChange":"FEEDBACK_CHANGED","rows":3,"type":"textarea"},{"align":"center","children":[{"action":"APPROVE","icon":"check","label":"@config.approveButton","type":"button","variant":"primary"},{"action":"REVISE","icon":"refresh-cw","label":"@config.reviseButton","type":"button","variant":"secondary"},{"action":"DISCARD","icon":"x","label":"@config.discardButton","type":"button","variant":"ghost"}],"direction":"horizontal","gap":"sm","type":"stack","wrap":true}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"working","to":"failed","event":"PROPOSAL_LOOP_REPLIED","eventId":"evt_H1PNAAWJP39B1RT3EVEW6VE1P8","effects":[["set","@entity.error","The agent finished without making a proposal."],["render-ui","@config.slot",{"children":[{"message":"@entity.error","type":"alert","variant":"error"},{"align":"center","children":[{"action":"RETRY","icon":"refresh-cw","label":"@config.retryButton","type":"button","variant":"primary"},{"action":"DISCARD","icon":"x","label":"@config.discardButton","type":"button","variant":"ghost"}],"direction":"horizontal","gap":"sm","type":"stack"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"working","to":"failed","event":"PROPOSAL_LOOP_FAILED","eventId":"evt_SWV0J7VBYBNZ5JNP5KMRP5EGZN","effects":[["set","@entity.error","@payload.error"],["render-ui","@config.slot",{"children":[{"message":"@entity.error","type":"alert","variant":"error"},{"align":"center","children":[{"action":"RETRY","icon":"refresh-cw","label":"@config.retryButton","type":"button","variant":"primary"},{"action":"DISCARD","icon":"x","label":"@config.discardButton","type":"button","variant":"ghost"}],"direction":"horizontal","gap":"sm","type":"stack"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"working","to":"idle","event":"CANCEL","eventId":"evt_5JVF739B04NG24R2RT40HWNJ7Y","guard":["==","@config.slot","main"],"effects":[["emit","PROPOSAL_CANCELLED",{}]]},{"from":"working","to":"idle","event":"CANCEL","eventId":"evt_5JVF739B04NG24R2RT40HWNJ7Y","guard":["!=","@config.slot","main"],"effects":[["emit","PROPOSAL_CANCELLED",{}],["render-ui","@config.slot",null]]},{"from":"working","to":"idle","event":"CLOSE","eventId":"evt_Y9QHN3AH9B8MNSJWNGE0TNQHA3","effects":[["emit","PROPOSAL_CANCELLED",{}],["render-ui","@config.slot",null]]},{"from":"review","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":"@config.withInputForm","effects":[["render-ui","@config.slot",null],["render-ui","@config.slot",{"children":[{"align":"center","children":[{"name":"@config.headingIcon","size":"lg","type":"icon"},{"content":"@config.heading","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"type":"divider"},{"label":"@config.inputText","onChange":"INPUT_CHANGED","rows":6,"type":"textarea"},{"action":"START_TYPED","icon":"sparkles","label":"@config.startButton","type":"button","variant":"primary"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"review","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":["not","@config.withInputForm"],"effects":[["render-ui","@config.slot",null]]},{"from":"review","to":"review","event":"FEEDBACK_CHANGED","eventId":"evt_CM90ZK7FE8QQ46T7NNNEHDBE23","effects":[["set","@entity.feedback","@payload.value"]]},{"from":"review","to":"review","event":"PROPOSE","eventId":"evt_WTH7N12YPVFBDNM6B5KKNSSETQ","effects":[["set","@entity.summary",["str/default","@payload.summary",""]],["set","@entity.items","@payload.items"]]},{"from":"review","to":"idle","event":"APPROVE","eventId":"evt_W9MBNQZYC4Z622PFHK8VQMHC3B","guard":["==","@config.slot","main"],"effects":[["emit","PROPOSAL_APPROVED",{"proposal":{"summary":"@entity.summary","items":"@entity.items"}}]]},{"from":"review","to":"idle","event":"APPROVE","eventId":"evt_W9MBNQZYC4Z622PFHK8VQMHC3B","guard":["!=","@config.slot","main"],"effects":[["emit","PROPOSAL_APPROVED",{"proposal":{"summary":"@entity.summary","items":"@entity.items"}}],["render-ui","@config.slot",null]]},{"from":"review","to":"working","event":"REVISE","eventId":"evt_ZNDX8Q780KM09YYF80VCK4GMKQ","guard":["!=",["str/default","@entity.feedback",""],""],"effects":[["set","@entity.request",["str/concat","@entity.request","\n\nYour earlier proposal:\n",["json/stringify",{"summary":"@entity.summary","items":"@entity.items"}],"\n\nRevise it: ","@entity.feedback"]],["emit","PROPOSAL_RUN_REQUESTED",{"messages":[{"role":"user","content":"@entity.request"}]}],["set","@entity.feedback",""]]},{"from":"review","to":"review","event":"REVISE","eventId":"evt_ZNDX8Q780KM09YYF80VCK4GMKQ","guard":["=",["str/default","@entity.feedback",""],""],"effects":[["render-ui","toast",{"type":"alert","variant":"warning","message":"Say what should change before asking for a revision.","dismissible":true}]]},{"from":"review","to":"idle","event":"DISCARD","eventId":"evt_8FKD5P8G2Z81FWSN3A45TMMXVD","guard":["==","@config.slot","main"],"effects":[["emit","PROPOSAL_DISCARDED",{}]]},{"from":"review","to":"idle","event":"DISCARD","eventId":"evt_8FKD5P8G2Z81FWSN3A45TMMXVD","guard":["!=","@config.slot","main"],"effects":[["emit","PROPOSAL_DISCARDED",{}],["render-ui","@config.slot",null]]},{"from":"review","to":"idle","event":"CLOSE","eventId":"evt_Y9QHN3AH9B8MNSJWNGE0TNQHA3","effects":[["emit","PROPOSAL_DISCARDED",{}],["render-ui","@config.slot",null]]},{"from":"failed","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":"@config.withInputForm","effects":[["render-ui","@config.slot",null],["render-ui","@config.slot",{"children":[{"align":"center","children":[{"name":"@config.headingIcon","size":"lg","type":"icon"},{"content":"@config.heading","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"type":"divider"},{"label":"@config.inputText","onChange":"INPUT_CHANGED","rows":6,"type":"textarea"},{"action":"START_TYPED","icon":"sparkles","label":"@config.startButton","type":"button","variant":"primary"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"failed","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":["not","@config.withInputForm"],"effects":[["render-ui","@config.slot",null]]},{"from":"failed","to":"working","event":"RETRY","eventId":"evt_JSQY9T0NSHAWRGSWPB26ZYBZFS","effects":[["emit","PROPOSAL_RUN_REQUESTED",{"messages":[{"role":"user","content":"@entity.request"}]}]]},{"from":"failed","to":"idle","event":"DISCARD","eventId":"evt_8FKD5P8G2Z81FWSN3A45TMMXVD","guard":["==","@config.slot","main"],"effects":[["emit","PROPOSAL_DISCARDED",{}]]},{"from":"failed","to":"idle","event":"DISCARD","eventId":"evt_8FKD5P8G2Z81FWSN3A45TMMXVD","guard":["!=","@config.slot","main"],"effects":[["emit","PROPOSAL_DISCARDED",{}],["render-ui","@config.slot",null]]},{"from":"failed","to":"idle","event":"CLOSE","eventId":"evt_Y9QHN3AH9B8MNSJWNGE0TNQHA3","effects":[["emit","PROPOSAL_DISCARDED",{}],["render-ui","@config.slot",null]]}]},"config":{"heading":{"type":"string","default":"@config.title","label":"Panel heading","tier":"presentation"},"fieldsForItems":{"type":"[ProposalField]","default":"@config.itemFields","label":"Which item values are shown?","tier":"domain","items":{"type":"object","properties":{"name":{"name":"name","type":"string","required":true},"label":{"name":"label","type":"string","required":false},"variant":{"name":"variant","type":"string","required":false}}}},"startButton":{"type":"string","default":"@config.startLabel","label":"Start button","tier":"presentation"},"retryButton":{"type":"string","default":"@config.retryLabel","label":"Retry button","tier":"presentation"},"headingIcon":{"type":"string","default":"@config.icon","label":"Panel icon","tier":"presentation"},"framing":{"type":"string","default":"@config.prompt","label":"What is the agent asked to do?","description":"The request that precedes the person's input.","synonyms":"task, goal, brief","tier":"domain"},"cancelButton":{"type":"string","default":"@config.cancelLabel","label":"Cancel button","tier":"presentation"},"withInputForm":{"type":"boolean","default":"@config.showInputForm","label":"Show a start form?","tier":"presentation"},"approveButton":{"type":"string","default":"@config.approveLabel","label":"Approve button","tier":"presentation"},"slot":{"type":"slot","default":"@config.panelSlot","label":"Where the panel renders","tier":"internal"},"workingText":{"type":"string","default":"@config.workingLabel","label":"While the agent works","tier":"presentation"},"reviseButton":{"type":"string","default":"@config.reviseLabel","label":"Revise button","tier":"presentation"},"summaryTitle":{"type":"string","default":"@config.summaryHeading","label":"Summary heading","tier":"presentation"},"feedbackText":{"type":"string","default":"@config.feedbackLabel","label":"Revision feedback label","tier":"presentation"},"itemsTitle":{"type":"string","default":"@config.itemsHeading","label":"Items heading","tier":"presentation"},"inputText":{"type":"string","default":"@config.inputLabel","label":"Start form label","tier":"presentation"},"discardButton":{"type":"string","default":"@config.discardLabel","label":"Discard button","tier":"presentation"},"patternForItems":{"type":"pattern","default":"@config.itemPattern","label":"How are the proposed items drawn?","tier":"presentation"}},"scope":"instance"},{"ref":"Loop.traits.AgentToolLoop","id":"trt_6AJEXB7NRJTW95SK1CA0HG26XS","name":"AgentProposalLoop","config":{"quiet":{"type":"unknown","default":true},"tools":{"type":"unknown","default":"@config.tools"},"maxSteps":{"type":"unknown","default":"@config.maxSteps"},"instructions":{"type":"unknown","default":"@config.instructions"},"cancelKey":{"type":"unknown","default":"agent-proposal"}},"events":{"ASSISTANT_REPLIED":"PROPOSAL_LOOP_REPLIED","ASSISTANT_REPLY_FAILED":"PROPOSAL_LOOP_FAILED"},"listens":[{"event":"PROPOSAL_RUN_REQUESTED","triggers":"CONVERSE","source":{"kind":"trait","trait":"AgentProposalWorkflow"}},{"event":"PROPOSAL_CANCELLED","triggers":"CANCEL","source":{"kind":"trait","trait":"AgentProposalWorkflow"}}]}],"pages":[{"name":"AgentProposalPage","id":"pag_AFFKDNBND4TPJ47PV9HFBC90RR","path":"/agent-proposal","traits":[{"ref":"AgentProposalWorkflow","refId":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},{"ref":"AgentProposalLoop","refId":"trt_6AJEXB7NRJTW95SK1CA0HG26XS"}]}],"config":{"itemPattern":{"type":"pattern","default":"data-list","label":"How are the proposed items drawn?","description":"The pattern the review renders the items with; it receives `entity` (the items) and `fields`.","synonyms":"item layout, list pattern, table","tier":"presentation"},"inputLabel":{"type":"string","default":"What should the agent work from?","label":"Start form label","tier":"presentation"},"summaryHeading":{"type":"string","default":"Summary","label":"Summary heading","tier":"presentation"},"discardLabel":{"type":"string","default":"Discard","label":"Discard button","tier":"presentation"},"tools":{"type":"[AgentTool]","default":[{"event":"AgentProposalWorkflow.PROPOSE"}],"label":"What may the agent do?","description":"The declared inputs it may fire and the entities it may read, as the signed-in person. An importing app restates the list with PROPOSE addressed by its local orbital name, which the agent can never propose without.","synonyms":"allowlist, abilities, permissions","tier":"domain","items":{"type":"union","values":["AgentToolScope","AgentToolInput","AgentToolRead"],"properties":{"AgentToolInput":{"name":"AgentToolInput","type":"object","properties":{"event":{"name":"event","type":"EventAddress","required":true}}},"AgentToolRead":{"name":"AgentToolRead","type":"object","properties":{"read":{"name":"read","type":"string","required":true}}},"AgentToolScope":{"name":"AgentToolScope","type":"object","properties":{"scope":{"name":"scope","type":"string","required":true,"values":["declared"]}}}}}},"maxSteps":{"type":"number","default":8,"label":"Model round-trips per run","tier":"policy"},"icon":{"type":"string","default":"sparkles","label":"Panel icon","tier":"presentation"},"panelSlot":{"type":"slot","default":"main","label":"Where the panel renders","description":"`main` for the content of a page or launcher; `modal` or `drawer` for an overlay.","tier":"presentation"},"feedbackLabel":{"type":"string","default":"What should change?","label":"Revision feedback label","tier":"presentation"},"workingLabel":{"type":"string","default":"Working out a proposal…","label":"While the agent works","tier":"presentation"},"cancelLabel":{"type":"string","default":"Cancel","label":"Cancel button","tier":"presentation"},"showInputForm":{"type":"boolean","default":true,"label":"Show a start form?","description":"On, the idle panel lets the person type what the agent works from. Off, the panel renders nothing until the app starts it with PROPOSAL_REQUESTED.","synonyms":"start form, input box, manual start","tier":"presentation"},"instructions":{"type":"string","default":"You turn what the person hands over into one structured proposal. Look things up with the tools if you need to, then call the proposal tool exactly once with a short summary and the list of items. Do not call it again unless asked to revise.","label":"How should the agent behave?","description":"Standing instructions sent with every run.","synonyms":"system prompt, persona, guidance","tier":"domain"},"itemFields":{"type":"[ProposalField]","default":[],"label":"Which item values are shown?","description":"The item keys to show, each `{ name, label, variant }`.","synonyms":"columns, fields, attributes","tier":"domain","items":{"type":"object","properties":{"variant":{"name":"variant","type":"string","required":false},"label":{"name":"label","type":"string","required":false},"name":{"name":"name","type":"string","required":true}}}},"reviseLabel":{"type":"string","default":"Revise","label":"Revise button","tier":"presentation"},"prompt":{"type":"string","default":"Work out a proposal from the following.","label":"What is the agent asked to do?","description":"The request that precedes the person's input in every run.","synonyms":"task, goal, brief, question","tier":"domain"},"itemsHeading":{"type":"string","default":"Items","label":"Items heading","tier":"presentation"},"retryLabel":{"type":"string","default":"Retry","label":"Retry button","tier":"presentation"},"title":{"type":"string","default":"Proposal","label":"Panel heading","tier":"presentation"},"startLabel":{"type":"string","default":"Propose","label":"Start button","tier":"presentation"},"approveLabel":{"type":"string","default":"Approve","label":"Approve button","tier":"presentation"}},"types":{"AgentChatMessage":[{"name":"role","type":"string","values":["user","assistant"]},{"name":"content","type":"string","required":true}],"AgentTool":[{"name":"","type":"union","properties":[{"name":"AgentToolScope","type":"object","properties":[{"name":"scope","type":"string","values":["declared"],"required":true}]},{"name":"AgentToolInput","type":"object","properties":[{"name":"event","type":"EventAddress","required":true}]},{"name":"AgentToolRead","type":"object","properties":[{"name":"read","type":"string","required":true}]}]}],"AgentToolInput":[{"name":"event","type":"EventAddress","required":true}],"AgentToolRead":[{"name":"read","type":"string","required":true}],"AgentToolScope":[{"name":"scope","type":"string","values":["declared"],"required":true}],"ProposalField":[{"name":"name","type":"string","required":true},{"name":"label","type":"string"},{"name":"variant","type":"string"}],"ProposalPayload":[{"name":"summary","type":"string"},{"name":"items","type":"[Map<string,string>]"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_SX977PBHV7RXKVK8J4R49NG5KA":{"id":"ent_SX977PBHV7RXKVK8J4R49NG5KA","kind":"entity","bakedName":"AgentProposalRun","curName":"AgentProposalRun","renames":[],"owner":"workspace"},"evt_12ED7N41DG0PREF4R8BBKV0KN6":{"id":"evt_12ED7N41DG0PREF4R8BBKV0KN6","kind":"event","bakedName":"PROPOSAL_REQUESTED","curName":"PROPOSAL_REQUESTED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_41MMPAK648K24FGJ509VCSFG06":{"id":"evt_41MMPAK648K24FGJ509VCSFG06","kind":"event","bakedName":"PROPOSAL_APPROVED","curName":"PROPOSAL_APPROVED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_5JVF739B04NG24R2RT40HWNJ7Y":{"id":"evt_5JVF739B04NG24R2RT40HWNJ7Y","kind":"event","bakedName":"CANCEL","curName":"CANCEL","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_6GW4VTXAR0NC0BG2F3MDNHG8S0":{"id":"evt_6GW4VTXAR0NC0BG2F3MDNHG8S0","kind":"event","bakedName":"START_TYPED","curName":"START_TYPED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_8FKD5P8G2Z81FWSN3A45TMMXVD":{"id":"evt_8FKD5P8G2Z81FWSN3A45TMMXVD","kind":"event","bakedName":"DISCARD","curName":"DISCARD","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_CM90ZK7FE8QQ46T7NNNEHDBE23":{"id":"evt_CM90ZK7FE8QQ46T7NNNEHDBE23","kind":"event","bakedName":"FEEDBACK_CHANGED","curName":"FEEDBACK_CHANGED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_H1PNAAWJP39B1RT3EVEW6VE1P8":{"id":"evt_H1PNAAWJP39B1RT3EVEW6VE1P8","kind":"event","bakedName":"PROPOSAL_LOOP_REPLIED","curName":"PROPOSAL_LOOP_REPLIED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_JSQY9T0NSHAWRGSWPB26ZYBZFS":{"id":"evt_JSQY9T0NSHAWRGSWPB26ZYBZFS","kind":"event","bakedName":"RETRY","curName":"RETRY","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_P81352T2JP19BC6R19CF7TXE2Y":{"id":"evt_P81352T2JP19BC6R19CF7TXE2Y","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_S5SYAFCADB56NMB6K4TTTACJ61":{"id":"evt_S5SYAFCADB56NMB6K4TTTACJ61","kind":"event","bakedName":"INPUT_CHANGED","curName":"INPUT_CHANGED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_SWV0J7VBYBNZ5JNP5KMRP5EGZN":{"id":"evt_SWV0J7VBYBNZ5JNP5KMRP5EGZN","kind":"event","bakedName":"PROPOSAL_LOOP_FAILED","curName":"PROPOSAL_LOOP_FAILED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_SXD0FF8WAWE5E1D3FMAA9E8Y7V":{"id":"evt_SXD0FF8WAWE5E1D3FMAA9E8Y7V","kind":"event","bakedName":"PROPOSAL_DISCARDED","curName":"PROPOSAL_DISCARDED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_W9MBNQZYC4Z622PFHK8VQMHC3B":{"id":"evt_W9MBNQZYC4Z622PFHK8VQMHC3B","kind":"event","bakedName":"APPROVE","curName":"APPROVE","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_WTH7N12YPVFBDNM6B5KKNSSETQ":{"id":"evt_WTH7N12YPVFBDNM6B5KKNSSETQ","kind":"event","bakedName":"PROPOSE","curName":"PROPOSE","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_XN9FFFX2FNH7TR9SMXG0V7VVF0":{"id":"evt_XN9FFFX2FNH7TR9SMXG0V7VVF0","kind":"event","bakedName":"PROPOSAL_CANCELLED","curName":"PROPOSAL_CANCELLED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_Y9QHN3AH9B8MNSJWNGE0TNQHA3":{"id":"evt_Y9QHN3AH9B8MNSJWNGE0TNQHA3","kind":"event","bakedName":"CLOSE","curName":"CLOSE","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_ZBB9J87V7GXKR8FP8ENNBTTH6N":{"id":"evt_ZBB9J87V7GXKR8FP8ENNBTTH6N","kind":"event","bakedName":"PROPOSAL_RUN_REQUESTED","curName":"PROPOSAL_RUN_REQUESTED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_ZNDX8Q780KM09YYF80VCK4GMKQ":{"id":"evt_ZNDX8Q780KM09YYF80VCK4GMKQ","kind":"event","bakedName":"REVISE","curName":"REVISE","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"orb_CG6T0B9JB3S5HVSTKK9C3STYB0":{"id":"orb_CG6T0B9JB3S5HVSTKK9C3STYB0","kind":"orbital","bakedName":"AgentProposalOrbital","curName":"AgentProposalOrbital","renames":[],"owner":"workspace"},"pag_AFFKDNBND4TPJ47PV9HFBC90RR":{"id":"pag_AFFKDNBND4TPJ47PV9HFBC90RR","kind":"page","bakedName":"AgentProposalPage","curName":"AgentProposalPage","renames":[],"owner":"workspace"},"trt_6AJEXB7NRJTW95SK1CA0HG26XS":{"id":"trt_6AJEXB7NRJTW95SK1CA0HG26XS","kind":"trait","bakedName":"AgentProposalLoop","curName":"AgentProposalLoop","renames":[],"owner":"workspace"},"trt_TM0BCGDDK1PSGTHYJMPQQBYN16":{"id":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16","kind":"trait","bakedName":"AgentProposalWorkflow","curName":"AgentProposalWorkflow","renames":[],"owner":"workspace"}}}}
|
|
1
|
+
{"name":"std-agent-proposal","version":"1.0.0","description":"std-agent-proposal — an agent that reads what the person hands over, works out a structured proposal, and commits nothing until they approve it. The app starts it with PROPOSAL_REQUESTED { input, context } (any trait emitting it, or the person typing into the start form when `showInputForm` is on). A second std-agent-tool-loop answers with `instructions`, `prompt` and `tools` as the signed-in person — `quiet`, its reply and failure renamed PROPOSAL_LOOP_REPLIED / PROPOSAL_LOOP_FAILED so they never reach the assistant's chat — and submits its proposal through one declared input, PROPOSE (its @description is the tool text): a summary and a list of items, each a flat map of scalar values the app names. The person reviews it (the summary, the items drawn with `itemPattern` and `itemFields`) and chooses: Approve emits PROPOSAL_APPROVED { proposal } for the app to commit (the app owns the commit; this atom writes nothing); Revise sends their written feedback back to the agent, which proposes again; Discard emits PROPOSAL_DISCARDED. Cancel while the agent works aborts its model call and emits PROPOSAL_CANCELLED. A run that fails, or ends without proposing, shows its error with Retry and Discard. The panel renders into `panelSlot`. Import the orbital once per app: `orbital Proposal = Proposal.orbitals.AgentProposalOrbital { config { instructions: \"…\", prompt: \"…\", itemFields: […] } }`, restating `tools` with PROPOSE addressed by its local orbital name (`{ event: Proposal.AgentProposalWorkflow.PROPOSE }`). Instructions, prompts, item fields and labels are the app's vocabulary, declared in config.","orbitals":[{"name":"AgentProposalOrbital","id":"orb_CG6T0B9JB3S5HVSTKK9C3STYB0","uses":[{"from":"std/behaviors/std-agent-tool-loop","as":"Loop"}],"entity":{"name":"AgentProposalRun","id":"ent_SX977PBHV7RXKVK8J4R49NG5KA","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"input","type":"string","default":"","description":"What the person handed over."},{"name":"context","type":"string","default":"","description":"Extra background the app handed over."},{"name":"request","type":"string","default":"","description":"The request the agent is answering, with any revision feedback."},{"name":"feedback","type":"string","default":"","description":"What the person asked to change."},{"name":"summary","type":"string","default":"","description":"The proposal in a few lines."},{"name":"items","type":"array","default":[],"items":{"type":"object","items":{"type":"string"}},"description":"The proposed items."},{"name":"error","type":"string","default":"","description":"Why the last run failed."}]},"traits":[{"name":"AgentProposalWorkflow","id":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16","effectRow":[{"kind":"emit","resource":"PROPOSAL_APPROVED"},{"kind":"emit","resource":"PROPOSAL_CANCELLED"},{"kind":"emit","resource":"PROPOSAL_DISCARDED"},{"kind":"emit","resource":"PROPOSAL_RUN_REQUESTED"},{"kind":"render-ui","resource":"@config.slot","resolved":false},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.context"},{"kind":"set","resource":"@entity.error"},{"kind":"set","resource":"@entity.feedback"},{"kind":"set","resource":"@entity.input"},{"kind":"set","resource":"@entity.items"},{"kind":"set","resource":"@entity.request"},{"kind":"set","resource":"@entity.summary"}],"category":"interaction","linkedEntity":"AgentProposalRun","linkedEntityId":"ent_SX977PBHV7RXKVK8J4R49NG5KA","entityRefIds":{"AgentProposalRun":"ent_SX977PBHV7RXKVK8J4R49NG5KA"},"emits":[{"event":"PROPOSAL_APPROVED","eventId":"evt_41MMPAK648K24FGJ509VCSFG06","description":"The person approved the proposal as it stands. The app commits it; nothing has been written.","synonyms":"approved, accepted, confirmed, go ahead, commit","tier":"domain","scope":"external","payloadSchema":[{"name":"proposal","type":"object","required":true,"properties":[{"name":"summary","type":"string"},{"name":"items","type":"[Map<string,string>]"}]}]},{"event":"PROPOSAL_DISCARDED","eventId":"evt_SXD0FF8WAWE5E1D3FMAA9E8Y7V","description":"The person discarded the proposal (or a failed run); nothing was committed.","synonyms":"rejected, dismissed, thrown away","tier":"domain","scope":"external"},{"event":"PROPOSAL_CANCELLED","eventId":"evt_XN9FFFX2FNH7TR9SMXG0V7VVF0","description":"The person cancelled while the agent was still working; its model call was aborted.","synonyms":"stopped, aborted","tier":"domain","scope":"external"},{"event":"PROPOSAL_RUN_REQUESTED","eventId":"evt_ZBB9J87V7GXKR8FP8ENNBTTH6N","description":"The agent was asked to work out (or revise) a proposal.","synonyms":"run started, working","tier":"domain","scope":"external","payloadSchema":[{"name":"messages","type":"[object]","required":true,"properties":[{"name":"role","type":"string","values":["user","assistant"]},{"name":"content","type":"string","required":true}],"entity":"AgentChatMessage"}]}],"listens":[{"event":"PROPOSAL_LOOP_REPLIED","eventId":"evt_H1PNAAWJP39B1RT3EVEW6VE1P8","triggers":"PROPOSAL_LOOP_REPLIED","triggersId":"evt_H1PNAAWJP39B1RT3EVEW6VE1P8","source":{"kind":"trait","trait":"AgentProposalLoop","traitId":"trt_6AJEXB7NRJTW95SK1CA0HG26XS"}},{"event":"PROPOSAL_LOOP_FAILED","eventId":"evt_SWV0J7VBYBNZ5JNP5KMRP5EGZN","triggers":"PROPOSAL_LOOP_FAILED","triggersId":"evt_SWV0J7VBYBNZ5JNP5KMRP5EGZN","source":{"kind":"trait","trait":"AgentProposalLoop","traitId":"trt_6AJEXB7NRJTW95SK1CA0HG26XS"}}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"working"},{"name":"review"},{"name":"failed"}],"events":[{"key":"PROPOSE","id":"evt_WTH7N12YPVFBDNM6B5KKNSSETQ","name":"Propose","description":"Submit the proposal for the person to review: a short summary and the list of proposed items, each a flat map of values. Call it once with everything; the person approves, asks for a revision, or discards it.","synonyms":"propose, submit proposal, draft","payloadSchema":[{"name":"summary","type":"string"},{"name":"items","type":"[Map<string,string>]","required":true}],"external":true,"listened":true},{"key":"INIT","id":"evt_P81352T2JP19BC6R19CF7TXE2Y","name":"Initialize"},{"key":"INPUT_CHANGED","id":"evt_S5SYAFCADB56NMB6K4TTTACJ61","name":"Input Changed","description":"The start form's text changed.","payloadSchema":[{"name":"value","type":"string"}],"listened":true},{"key":"CLOSE","id":"evt_Y9QHN3AH9B8MNSJWNGE0TNQHA3","name":"Close","description":"The overlay's own close control was used: cancels the agent's work while it runs, discards the proposal otherwise.","listened":true},{"key":"START_TYPED","id":"evt_6GW4VTXAR0NC0BG2F3MDNHG8S0","name":"Start Typed","description":"Start from the text typed into the start form.","listened":true},{"key":"PROPOSAL_REQUESTED","id":"evt_12ED7N41DG0PREF4R8BBKV0KN6","name":"Proposal Requested","description":"Work out a proposal from this: the documents or text the person handed over, and optional background.","synonyms":"start, propose, analyze, extract, begin","payloadSchema":[{"name":"input","type":"string","required":true},{"name":"context","type":"string"}],"listened":true},{"key":"PROPOSAL_LOOP_REPLIED","id":"evt_H1PNAAWJP39B1RT3EVEW6VE1P8","name":"Proposal Loop Replied","description":"The agent's run ended.","payloadSchema":[{"name":"reply","type":"string"}],"listened":true},{"key":"PROPOSAL_LOOP_FAILED","id":"evt_SWV0J7VBYBNZ5JNP5KMRP5EGZN","name":"Proposal Loop Failed","description":"The agent's run failed.","payloadSchema":[{"name":"error","type":"string"}],"listened":true},{"key":"CANCEL","id":"evt_5JVF739B04NG24R2RT40HWNJ7Y","name":"Cancel","description":"Cancel the agent's work.","listened":true},{"key":"FEEDBACK_CHANGED","id":"evt_CM90ZK7FE8QQ46T7NNNEHDBE23","name":"Feedback Changed","description":"The revision feedback changed.","payloadSchema":[{"name":"value","type":"string"}],"listened":true},{"key":"APPROVE","id":"evt_W9MBNQZYC4Z622PFHK8VQMHC3B","name":"Approve","description":"Approve the proposal.","listened":true},{"key":"REVISE","id":"evt_ZNDX8Q780KM09YYF80VCK4GMKQ","name":"Revise","description":"Ask for a revision with the written feedback.","listened":true},{"key":"DISCARD","id":"evt_8FKD5P8G2Z81FWSN3A45TMMXVD","name":"Discard","description":"Discard the proposal.","listened":true},{"key":"RETRY","id":"evt_JSQY9T0NSHAWRGSWPB26ZYBZFS","name":"Retry","description":"Run the agent again.","listened":true},{"key":"PROPOSAL_APPROVED","id":"evt_41MMPAK648K24FGJ509VCSFG06","name":"Proposal Approved","description":"The person approved the proposal as it stands. The app commits it; nothing has been written.","synonyms":"approved, accepted, confirmed, go ahead, commit","tier":"domain","payloadSchema":[{"name":"proposal","type":"object","required":true,"properties":[{"name":"summary","type":"string"},{"name":"items","type":"[Map<string,string>]"}]}]},{"key":"PROPOSAL_DISCARDED","id":"evt_SXD0FF8WAWE5E1D3FMAA9E8Y7V","name":"Proposal Discarded","description":"The person discarded the proposal (or a failed run); nothing was committed.","synonyms":"rejected, dismissed, thrown away","tier":"domain"},{"key":"PROPOSAL_CANCELLED","id":"evt_XN9FFFX2FNH7TR9SMXG0V7VVF0","name":"Proposal Cancelled","description":"The person cancelled while the agent was still working; its model call was aborted.","synonyms":"stopped, aborted","tier":"domain"},{"key":"PROPOSAL_RUN_REQUESTED","id":"evt_ZBB9J87V7GXKR8FP8ENNBTTH6N","name":"Proposal Run Requested","description":"The agent was asked to work out (or revise) a proposal.","synonyms":"run started, working","tier":"domain","payloadSchema":[{"name":"messages","type":"[object]","required":true,"properties":[{"name":"role","type":"string","values":["user","assistant"]},{"name":"content","type":"string","required":true}],"entity":"AgentChatMessage"}]}],"transitions":[{"from":"idle","to":"idle","event":"PROPOSE","eventId":"evt_WTH7N12YPVFBDNM6B5KKNSSETQ"},{"from":"idle","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":"@config.withInputForm","effects":[["render-ui","@config.slot",{"children":[{"align":"center","children":[{"name":"@config.headingIcon","size":"lg","type":"icon"},{"content":"@config.heading","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"type":"divider"},{"label":"@config.inputText","onChange":"INPUT_CHANGED","rows":6,"type":"textarea"},{"action":"START_TYPED","icon":"sparkles","label":"@config.startButton","type":"button","variant":"primary"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"idle","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":["not","@config.withInputForm"]},{"from":"idle","to":"idle","event":"INPUT_CHANGED","eventId":"evt_S5SYAFCADB56NMB6K4TTTACJ61","effects":[["set","@entity.input","@payload.value"]]},{"from":"idle","to":"idle","event":"CLOSE","eventId":"evt_Y9QHN3AH9B8MNSJWNGE0TNQHA3","effects":[["render-ui","@config.slot",null]]},{"from":"idle","to":"working","event":"START_TYPED","eventId":"evt_6GW4VTXAR0NC0BG2F3MDNHG8S0","guard":["!=",["str/default","@entity.input",""],""],"effects":[["set","@entity.context",""],["set","@entity.request",["str/concat","@config.framing","\n\n","@entity.input"]],["set","@entity.feedback",""],["emit","PROPOSAL_RUN_REQUESTED",{"messages":[{"role":"user","content":"@entity.request"}]}],["render-ui","@config.slot",{"children":[{"align":"center","children":[{"size":"sm","type":"spinner"},{"color":"muted","content":"@config.workingText","type":"typography","variant":"caption"}],"direction":"horizontal","gap":"sm","role":"status","type":"stack"},{"action":"CANCEL","icon":"x","label":"@config.cancelButton","type":"button","variant":"ghost"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"idle","to":"working","event":"PROPOSAL_REQUESTED","eventId":"evt_12ED7N41DG0PREF4R8BBKV0KN6","effects":[["set","@entity.input","@payload.input"],["set","@entity.context",["str/default","@payload.context",""]],["set","@entity.request",["if",["=",["str/default","@payload.context",""],""],["str/concat","@config.framing","\n\n","@payload.input"],["str/concat","@config.framing","\n\n","@payload.input","\n\nBackground:\n","@payload.context"]]],["set","@entity.feedback",""],["emit","PROPOSAL_RUN_REQUESTED",{"messages":[{"role":"user","content":"@entity.request"}]}],["render-ui","@config.slot",{"children":[{"align":"center","children":[{"size":"sm","type":"spinner"},{"color":"muted","content":"@config.workingText","type":"typography","variant":"caption"}],"direction":"horizontal","gap":"sm","role":"status","type":"stack"},{"action":"CANCEL","icon":"x","label":"@config.cancelButton","type":"button","variant":"ghost"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"working","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":"@config.withInputForm","effects":[["render-ui","@config.slot",null],["render-ui","@config.slot",{"children":[{"align":"center","children":[{"name":"@config.headingIcon","size":"lg","type":"icon"},{"content":"@config.heading","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"type":"divider"},{"label":"@config.inputText","onChange":"INPUT_CHANGED","rows":6,"type":"textarea"},{"action":"START_TYPED","icon":"sparkles","label":"@config.startButton","type":"button","variant":"primary"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"working","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":["not","@config.withInputForm"],"effects":[["render-ui","@config.slot",null]]},{"from":"working","to":"review","event":"PROPOSE","eventId":"evt_WTH7N12YPVFBDNM6B5KKNSSETQ","effects":[["set","@entity.summary",["str/default","@payload.summary",""]],["set","@entity.items","@payload.items"],["render-ui","@config.slot",{"children":[{"align":"center","children":[{"name":"@config.headingIcon","size":"lg","type":"icon"},{"content":"@config.heading","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"type":"divider"},{"content":"@config.summaryTitle","type":"typography","variant":"h4"},{"content":"@entity.summary","type":"typography","variant":"body"},{"content":"@config.itemsTitle","type":"typography","variant":"h4"},{"entity":"@entity.items","fields":"@config.fieldsForItems","gap":"sm","type":"@config.patternForItems"},{"type":"divider"},{"label":"@config.feedbackText","onChange":"FEEDBACK_CHANGED","rows":3,"type":"textarea"},{"align":"center","children":[{"action":"APPROVE","icon":"check","label":"@config.approveButton","type":"button","variant":"primary"},{"action":"REVISE","icon":"refresh-cw","label":"@config.reviseButton","type":"button","variant":"secondary"},{"action":"DISCARD","icon":"x","label":"@config.discardButton","type":"button","variant":"ghost"}],"direction":"horizontal","gap":"sm","type":"stack","wrap":true}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"working","to":"failed","event":"PROPOSAL_LOOP_REPLIED","eventId":"evt_H1PNAAWJP39B1RT3EVEW6VE1P8","effects":[["set","@entity.error","The agent finished without making a proposal."],["render-ui","@config.slot",{"children":[{"message":"@entity.error","type":"alert","variant":"error"},{"align":"center","children":[{"action":"RETRY","icon":"refresh-cw","label":"@config.retryButton","type":"button","variant":"primary"},{"action":"DISCARD","icon":"x","label":"@config.discardButton","type":"button","variant":"ghost"}],"direction":"horizontal","gap":"sm","type":"stack"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"working","to":"failed","event":"PROPOSAL_LOOP_FAILED","eventId":"evt_SWV0J7VBYBNZ5JNP5KMRP5EGZN","effects":[["set","@entity.error","@payload.error"],["render-ui","@config.slot",{"children":[{"message":"@entity.error","type":"alert","variant":"error"},{"align":"center","children":[{"action":"RETRY","icon":"refresh-cw","label":"@config.retryButton","type":"button","variant":"primary"},{"action":"DISCARD","icon":"x","label":"@config.discardButton","type":"button","variant":"ghost"}],"direction":"horizontal","gap":"sm","type":"stack"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"working","to":"idle","event":"CANCEL","eventId":"evt_5JVF739B04NG24R2RT40HWNJ7Y","guard":["==","@config.slot","main"],"effects":[["emit","PROPOSAL_CANCELLED",{}]]},{"from":"working","to":"idle","event":"CANCEL","eventId":"evt_5JVF739B04NG24R2RT40HWNJ7Y","guard":["!=","@config.slot","main"],"effects":[["emit","PROPOSAL_CANCELLED",{}],["render-ui","@config.slot",null]]},{"from":"working","to":"idle","event":"CLOSE","eventId":"evt_Y9QHN3AH9B8MNSJWNGE0TNQHA3","effects":[["emit","PROPOSAL_CANCELLED",{}],["render-ui","@config.slot",null]]},{"from":"review","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":"@config.withInputForm","effects":[["render-ui","@config.slot",null],["render-ui","@config.slot",{"children":[{"align":"center","children":[{"name":"@config.headingIcon","size":"lg","type":"icon"},{"content":"@config.heading","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"type":"divider"},{"label":"@config.inputText","onChange":"INPUT_CHANGED","rows":6,"type":"textarea"},{"action":"START_TYPED","icon":"sparkles","label":"@config.startButton","type":"button","variant":"primary"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"review","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":["not","@config.withInputForm"],"effects":[["render-ui","@config.slot",null]]},{"from":"review","to":"review","event":"FEEDBACK_CHANGED","eventId":"evt_CM90ZK7FE8QQ46T7NNNEHDBE23","effects":[["set","@entity.feedback","@payload.value"]]},{"from":"review","to":"review","event":"PROPOSE","eventId":"evt_WTH7N12YPVFBDNM6B5KKNSSETQ","effects":[["set","@entity.summary",["str/default","@payload.summary",""]],["set","@entity.items","@payload.items"]]},{"from":"review","to":"idle","event":"APPROVE","eventId":"evt_W9MBNQZYC4Z622PFHK8VQMHC3B","guard":["==","@config.slot","main"],"effects":[["emit","PROPOSAL_APPROVED",{"proposal":{"summary":"@entity.summary","items":"@entity.items"}}]]},{"from":"review","to":"idle","event":"APPROVE","eventId":"evt_W9MBNQZYC4Z622PFHK8VQMHC3B","guard":["!=","@config.slot","main"],"effects":[["emit","PROPOSAL_APPROVED",{"proposal":{"summary":"@entity.summary","items":"@entity.items"}}],["render-ui","@config.slot",null]]},{"from":"review","to":"working","event":"REVISE","eventId":"evt_ZNDX8Q780KM09YYF80VCK4GMKQ","guard":["!=",["str/default","@entity.feedback",""],""],"effects":[["set","@entity.request",["str/concat","@entity.request","\n\nYour earlier proposal:\n",["json/stringify",{"summary":"@entity.summary","items":"@entity.items"}],"\n\nRevise it: ","@entity.feedback"]],["emit","PROPOSAL_RUN_REQUESTED",{"messages":[{"role":"user","content":"@entity.request"}]}],["set","@entity.feedback",""]]},{"from":"review","to":"review","event":"REVISE","eventId":"evt_ZNDX8Q780KM09YYF80VCK4GMKQ","guard":["=",["str/default","@entity.feedback",""],""],"effects":[["render-ui","toast",{"type":"alert","variant":"warning","message":"Say what should change before asking for a revision.","dismissible":true}]]},{"from":"review","to":"idle","event":"DISCARD","eventId":"evt_8FKD5P8G2Z81FWSN3A45TMMXVD","guard":["==","@config.slot","main"],"effects":[["emit","PROPOSAL_DISCARDED",{}]]},{"from":"review","to":"idle","event":"DISCARD","eventId":"evt_8FKD5P8G2Z81FWSN3A45TMMXVD","guard":["!=","@config.slot","main"],"effects":[["emit","PROPOSAL_DISCARDED",{}],["render-ui","@config.slot",null]]},{"from":"review","to":"idle","event":"CLOSE","eventId":"evt_Y9QHN3AH9B8MNSJWNGE0TNQHA3","effects":[["emit","PROPOSAL_DISCARDED",{}],["render-ui","@config.slot",null]]},{"from":"failed","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":"@config.withInputForm","effects":[["render-ui","@config.slot",null],["render-ui","@config.slot",{"children":[{"align":"center","children":[{"name":"@config.headingIcon","size":"lg","type":"icon"},{"content":"@config.heading","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"type":"divider"},{"label":"@config.inputText","onChange":"INPUT_CHANGED","rows":6,"type":"textarea"},{"action":"START_TYPED","icon":"sparkles","label":"@config.startButton","type":"button","variant":"primary"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"failed","to":"idle","event":"INIT","eventId":"evt_P81352T2JP19BC6R19CF7TXE2Y","guard":["not","@config.withInputForm"],"effects":[["render-ui","@config.slot",null]]},{"from":"failed","to":"working","event":"RETRY","eventId":"evt_JSQY9T0NSHAWRGSWPB26ZYBZFS","effects":[["emit","PROPOSAL_RUN_REQUESTED",{"messages":[{"role":"user","content":"@entity.request"}]}]]},{"from":"failed","to":"idle","event":"DISCARD","eventId":"evt_8FKD5P8G2Z81FWSN3A45TMMXVD","guard":["==","@config.slot","main"],"effects":[["emit","PROPOSAL_DISCARDED",{}]]},{"from":"failed","to":"idle","event":"DISCARD","eventId":"evt_8FKD5P8G2Z81FWSN3A45TMMXVD","guard":["!=","@config.slot","main"],"effects":[["emit","PROPOSAL_DISCARDED",{}],["render-ui","@config.slot",null]]},{"from":"failed","to":"idle","event":"CLOSE","eventId":"evt_Y9QHN3AH9B8MNSJWNGE0TNQHA3","effects":[["emit","PROPOSAL_DISCARDED",{}],["render-ui","@config.slot",null]]}]},"config":{"summaryTitle":{"type":"string","default":"@config.summaryHeading","label":"Summary heading","tier":"presentation"},"feedbackText":{"type":"string","default":"@config.feedbackLabel","label":"Revision feedback label","tier":"presentation"},"approveButton":{"type":"string","default":"@config.approveLabel","label":"Approve button","tier":"presentation"},"retryButton":{"type":"string","default":"@config.retryLabel","label":"Retry button","tier":"presentation"},"heading":{"type":"string","default":"@config.title","label":"Panel heading","tier":"presentation"},"patternForItems":{"type":"pattern","default":"@config.itemPattern","label":"How are the proposed items drawn?","tier":"presentation"},"fieldsForItems":{"type":"[ProposalField]","default":"@config.itemFields","label":"Which item values are shown?","tier":"domain","items":{"type":"object","properties":{"name":{"name":"name","type":"string","required":true},"label":{"name":"label","type":"string","required":false},"variant":{"name":"variant","type":"string","required":false}}}},"reviseButton":{"type":"string","default":"@config.reviseLabel","label":"Revise button","tier":"presentation"},"startButton":{"type":"string","default":"@config.startLabel","label":"Start button","tier":"presentation"},"slot":{"type":"slot","default":"@config.panelSlot","label":"Where the panel renders","tier":"internal"},"headingIcon":{"type":"string","default":"@config.icon","label":"Panel icon","tier":"presentation"},"itemsTitle":{"type":"string","default":"@config.itemsHeading","label":"Items heading","tier":"presentation"},"inputText":{"type":"string","default":"@config.inputLabel","label":"Start form label","tier":"presentation"},"discardButton":{"type":"string","default":"@config.discardLabel","label":"Discard button","tier":"presentation"},"cancelButton":{"type":"string","default":"@config.cancelLabel","label":"Cancel button","tier":"presentation"},"framing":{"type":"string","default":"@config.prompt","label":"What is the agent asked to do?","description":"The request that precedes the person's input.","synonyms":"task, goal, brief","tier":"domain"},"withInputForm":{"type":"boolean","default":"@config.showInputForm","label":"Show a start form?","tier":"presentation"},"workingText":{"type":"string","default":"@config.workingLabel","label":"While the agent works","tier":"presentation"}},"scope":"instance"},{"ref":"Loop.traits.AgentToolLoop","id":"trt_6AJEXB7NRJTW95SK1CA0HG26XS","name":"AgentProposalLoop","config":{"quiet":{"type":"unknown","default":true},"cancelKey":{"type":"unknown","default":"agent-proposal"},"tools":{"type":"unknown","default":"@config.tools"},"instructions":{"type":"unknown","default":"@config.instructions"},"maxSteps":{"type":"unknown","default":"@config.maxSteps"}},"events":{"ASSISTANT_REPLIED":"PROPOSAL_LOOP_REPLIED","ASSISTANT_REPLY_FAILED":"PROPOSAL_LOOP_FAILED"},"listens":[{"event":"PROPOSAL_RUN_REQUESTED","triggers":"CONVERSE","source":{"kind":"trait","trait":"AgentProposalWorkflow"}},{"event":"PROPOSAL_CANCELLED","triggers":"CANCEL","source":{"kind":"trait","trait":"AgentProposalWorkflow"}}]}],"pages":[{"name":"AgentProposalPage","id":"pag_AFFKDNBND4TPJ47PV9HFBC90RR","path":"/agent-proposal","traits":[{"ref":"AgentProposalWorkflow","refId":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},{"ref":"AgentProposalLoop","refId":"trt_6AJEXB7NRJTW95SK1CA0HG26XS"}]}],"config":{"itemsHeading":{"type":"string","default":"Items","label":"Items heading","tier":"presentation"},"feedbackLabel":{"type":"string","default":"What should change?","label":"Revision feedback label","tier":"presentation"},"itemPattern":{"type":"pattern","default":"data-list","label":"How are the proposed items drawn?","description":"The pattern the review renders the items with; it receives `entity` (the items) and `fields`.","synonyms":"item layout, list pattern, table","tier":"presentation"},"itemFields":{"type":"[ProposalField]","default":[],"label":"Which item values are shown?","description":"The item keys to show, each `{ name, label, variant }`.","synonyms":"columns, fields, attributes","tier":"domain","items":{"type":"object","properties":{"variant":{"name":"variant","type":"string","required":false},"label":{"name":"label","type":"string","required":false},"name":{"name":"name","type":"string","required":true}}}},"panelSlot":{"type":"slot","default":"main","label":"Where the panel renders","description":"`main` for the content of a page or launcher; `modal` or `drawer` for an overlay.","tier":"presentation"},"instructions":{"type":"string","default":"You turn what the person hands over into one structured proposal. Look things up with the tools if you need to, then call the proposal tool exactly once with a short summary and the list of items. Do not call it again unless asked to revise.","label":"How should the agent behave?","description":"Standing instructions sent with every run.","synonyms":"system prompt, persona, guidance","tier":"domain"},"tools":{"type":"[AgentTool]","default":[{"event":"AgentProposalWorkflow.PROPOSE"}],"label":"What may the agent do?","description":"The declared inputs it may fire and the entities it may read, as the signed-in person. An importing app restates the list with PROPOSE addressed by its local orbital name, which the agent can never propose without.","synonyms":"allowlist, abilities, permissions","tier":"domain","items":{"type":"union","values":["AgentToolScope","AgentToolInput","AgentToolRead"],"properties":{"AgentToolScope":{"name":"AgentToolScope","type":"object","properties":{"scope":{"name":"scope","type":"string","required":true,"values":["declared"]}}},"AgentToolInput":{"name":"AgentToolInput","type":"object","properties":{"event":{"name":"event","type":"EventAddress","required":true}}},"AgentToolRead":{"name":"AgentToolRead","type":"object","properties":{"read":{"name":"read","type":"string","required":true}}}}}},"startLabel":{"type":"string","default":"Propose","label":"Start button","tier":"presentation"},"summaryHeading":{"type":"string","default":"Summary","label":"Summary heading","tier":"presentation"},"title":{"type":"string","default":"Proposal","label":"Panel heading","tier":"presentation"},"prompt":{"type":"string","default":"Work out a proposal from the following.","label":"What is the agent asked to do?","description":"The request that precedes the person's input in every run.","synonyms":"task, goal, brief, question","tier":"domain"},"reviseLabel":{"type":"string","default":"Revise","label":"Revise button","tier":"presentation"},"showInputForm":{"type":"boolean","default":true,"label":"Show a start form?","description":"On, the idle panel lets the person type what the agent works from. Off, the panel renders nothing until the app starts it with PROPOSAL_REQUESTED.","synonyms":"start form, input box, manual start","tier":"presentation"},"retryLabel":{"type":"string","default":"Retry","label":"Retry button","tier":"presentation"},"icon":{"type":"string","default":"sparkles","label":"Panel icon","tier":"presentation"},"cancelLabel":{"type":"string","default":"Cancel","label":"Cancel button","tier":"presentation"},"approveLabel":{"type":"string","default":"Approve","label":"Approve button","tier":"presentation"},"inputLabel":{"type":"string","default":"What should the agent work from?","label":"Start form label","tier":"presentation"},"discardLabel":{"type":"string","default":"Discard","label":"Discard button","tier":"presentation"},"maxSteps":{"type":"number","default":8,"label":"Model round-trips per run","tier":"policy"},"workingLabel":{"type":"string","default":"Working out a proposal…","label":"While the agent works","tier":"presentation"}},"types":{"AgentChatMessage":[{"name":"role","type":"string","values":["user","assistant"]},{"name":"content","type":"string","required":true}],"AgentTool":[{"name":"","type":"union","properties":[{"name":"AgentToolScope","type":"object","properties":[{"name":"scope","type":"string","values":["declared"],"required":true}]},{"name":"AgentToolInput","type":"object","properties":[{"name":"event","type":"EventAddress","required":true}]},{"name":"AgentToolRead","type":"object","properties":[{"name":"read","type":"string","required":true}]}]}],"AgentToolInput":[{"name":"event","type":"EventAddress","required":true}],"AgentToolRead":[{"name":"read","type":"string","required":true}],"AgentToolScope":[{"name":"scope","type":"string","values":["declared"],"required":true}],"ProposalField":[{"name":"name","type":"string","required":true},{"name":"label","type":"string"},{"name":"variant","type":"string"}],"ProposalPayload":[{"name":"summary","type":"string"},{"name":"items","type":"[Map<string,string>]"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_SX977PBHV7RXKVK8J4R49NG5KA":{"id":"ent_SX977PBHV7RXKVK8J4R49NG5KA","kind":"entity","bakedName":"AgentProposalRun","curName":"AgentProposalRun","renames":[],"owner":"workspace"},"evt_12ED7N41DG0PREF4R8BBKV0KN6":{"id":"evt_12ED7N41DG0PREF4R8BBKV0KN6","kind":"event","bakedName":"PROPOSAL_REQUESTED","curName":"PROPOSAL_REQUESTED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_41MMPAK648K24FGJ509VCSFG06":{"id":"evt_41MMPAK648K24FGJ509VCSFG06","kind":"event","bakedName":"PROPOSAL_APPROVED","curName":"PROPOSAL_APPROVED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_5JVF739B04NG24R2RT40HWNJ7Y":{"id":"evt_5JVF739B04NG24R2RT40HWNJ7Y","kind":"event","bakedName":"CANCEL","curName":"CANCEL","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_6GW4VTXAR0NC0BG2F3MDNHG8S0":{"id":"evt_6GW4VTXAR0NC0BG2F3MDNHG8S0","kind":"event","bakedName":"START_TYPED","curName":"START_TYPED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_8FKD5P8G2Z81FWSN3A45TMMXVD":{"id":"evt_8FKD5P8G2Z81FWSN3A45TMMXVD","kind":"event","bakedName":"DISCARD","curName":"DISCARD","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_CM90ZK7FE8QQ46T7NNNEHDBE23":{"id":"evt_CM90ZK7FE8QQ46T7NNNEHDBE23","kind":"event","bakedName":"FEEDBACK_CHANGED","curName":"FEEDBACK_CHANGED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_H1PNAAWJP39B1RT3EVEW6VE1P8":{"id":"evt_H1PNAAWJP39B1RT3EVEW6VE1P8","kind":"event","bakedName":"PROPOSAL_LOOP_REPLIED","curName":"PROPOSAL_LOOP_REPLIED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_JSQY9T0NSHAWRGSWPB26ZYBZFS":{"id":"evt_JSQY9T0NSHAWRGSWPB26ZYBZFS","kind":"event","bakedName":"RETRY","curName":"RETRY","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_P81352T2JP19BC6R19CF7TXE2Y":{"id":"evt_P81352T2JP19BC6R19CF7TXE2Y","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_S5SYAFCADB56NMB6K4TTTACJ61":{"id":"evt_S5SYAFCADB56NMB6K4TTTACJ61","kind":"event","bakedName":"INPUT_CHANGED","curName":"INPUT_CHANGED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_SWV0J7VBYBNZ5JNP5KMRP5EGZN":{"id":"evt_SWV0J7VBYBNZ5JNP5KMRP5EGZN","kind":"event","bakedName":"PROPOSAL_LOOP_FAILED","curName":"PROPOSAL_LOOP_FAILED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_SXD0FF8WAWE5E1D3FMAA9E8Y7V":{"id":"evt_SXD0FF8WAWE5E1D3FMAA9E8Y7V","kind":"event","bakedName":"PROPOSAL_DISCARDED","curName":"PROPOSAL_DISCARDED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_W9MBNQZYC4Z622PFHK8VQMHC3B":{"id":"evt_W9MBNQZYC4Z622PFHK8VQMHC3B","kind":"event","bakedName":"APPROVE","curName":"APPROVE","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_WTH7N12YPVFBDNM6B5KKNSSETQ":{"id":"evt_WTH7N12YPVFBDNM6B5KKNSSETQ","kind":"event","bakedName":"PROPOSE","curName":"PROPOSE","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_XN9FFFX2FNH7TR9SMXG0V7VVF0":{"id":"evt_XN9FFFX2FNH7TR9SMXG0V7VVF0","kind":"event","bakedName":"PROPOSAL_CANCELLED","curName":"PROPOSAL_CANCELLED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_Y9QHN3AH9B8MNSJWNGE0TNQHA3":{"id":"evt_Y9QHN3AH9B8MNSJWNGE0TNQHA3","kind":"event","bakedName":"CLOSE","curName":"CLOSE","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_ZBB9J87V7GXKR8FP8ENNBTTH6N":{"id":"evt_ZBB9J87V7GXKR8FP8ENNBTTH6N","kind":"event","bakedName":"PROPOSAL_RUN_REQUESTED","curName":"PROPOSAL_RUN_REQUESTED","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"evt_ZNDX8Q780KM09YYF80VCK4GMKQ":{"id":"evt_ZNDX8Q780KM09YYF80VCK4GMKQ","kind":"event","bakedName":"REVISE","curName":"REVISE","renames":[],"owner":"workspace","parent":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16"},"orb_CG6T0B9JB3S5HVSTKK9C3STYB0":{"id":"orb_CG6T0B9JB3S5HVSTKK9C3STYB0","kind":"orbital","bakedName":"AgentProposalOrbital","curName":"AgentProposalOrbital","renames":[],"owner":"workspace"},"pag_AFFKDNBND4TPJ47PV9HFBC90RR":{"id":"pag_AFFKDNBND4TPJ47PV9HFBC90RR","kind":"page","bakedName":"AgentProposalPage","curName":"AgentProposalPage","renames":[],"owner":"workspace"},"trt_6AJEXB7NRJTW95SK1CA0HG26XS":{"id":"trt_6AJEXB7NRJTW95SK1CA0HG26XS","kind":"trait","bakedName":"AgentProposalLoop","curName":"AgentProposalLoop","renames":[],"owner":"workspace"},"trt_TM0BCGDDK1PSGTHYJMPQQBYN16":{"id":"trt_TM0BCGDDK1PSGTHYJMPQQBYN16","kind":"trait","bakedName":"AgentProposalWorkflow","curName":"AgentProposalWorkflow","renames":[],"owner":"workspace"}}}}
|