@almadar/std 16.252.0 → 16.253.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-suggestions.lolo +16 -2
- package/behaviors/lolo/ui/learning/atoms/std-learn-generate.lolo +6 -4
- package/behaviors/registry/agent/atoms/std-agent-context.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-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/organisms/std-agent-assistant.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-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-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-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 +1 -1
- package/dist/behaviors-embeddings.json +1 -1
- package/dist/knob-embeddings.hash.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"std-agent-suggestions","version":"1.0.0","description":"std-agent-suggestions — an agent that proactively proposes things to the signed-in person, who accepts or dismisses each one. The agent proposes through one declared input, PROPOSE_SUGGESTION (its @description is the tool text): a kind, a title, a body that gives its reasoning, an optional action (a name the app routes) with a payload, an optional href, and a subject (what it is about). A suggestion's signature is kind:action:subject; a signature that was ever proposed to this person, accepted or dismissed included, is never stored again (SUGGESTION_DUPLICATE), and no more than `maxPending` wait at once (SUGGESTION_LIMIT_REACHED). `kinds` and `actions`, when listed, are the only values accepted (SUGGESTION_REJECTED). The agent runs on its own: any trait emitting SUGGESTIONS_TRIGGERED (or an app event routed into AgentSuggestionTrigger's TRIGGERED by re-binding that trait in the import body with `omit { AgentSuggestionTrigger }` and its own `listens`) asks for a run, and once `cooldownMinutes` have passed since this person's last run a second std-agent-tool-loop answers `prompt` with `tools` as the signed-in person — `quiet`, so it streams no live steps and toasts no failure, and its reply and failure are renamed PROACTIVE_REPLIED / PROACTIVE_FAILED so they never reach the assistant's chat. AgentSuggestionInbox lists the pending suggestions with Accept and Dismiss and an empty state that offers to look again (SUGGESTIONS_ANALYZE_REQUESTED). Accept stores accepted, emits SUGGESTION_ACCEPTED { action, payload, href, … } for the app to route (and navigates to `href` when the suggestion has one); Dismiss stores dismissed and emits SUGGESTION_DISMISSED. The inbox renders into `panelSlot`: `main` inline (the content of a std-panel-launcher), or `modal`/`drawer` opened with OPEN and closed with CLOSE (set std-app-layout's notificationClickEvent, or a topBarActions event, to SUGGESTIONS_OPEN_REQUESTED). Import the orbital once per app: `orbital Suggestions = Suggest.orbitals.AgentSuggestionsOrbital { entity MySuggestion entities { AgentSuggestionRun: MySuggestionRun } config { … } }`, retargeting the records onto owner-scoped entities (`ownerId` a relation to your [identity] roster, with @read/@create/@update); a suggestion's proposer, inbox and trigger read only the rows whose ownerId is the signed-in person. PROPOSE_SUGGESTION's refusals (SUGGESTION_DUPLICATE, SUGGESTION_LIMIT_REACHED, SUGGESTION_REJECTED) are the agent's tool response; no trait listens to them. Suggestion kinds, actions and prompts are the app's vocabulary, declared in config.","orbitals":[{"name":"AgentSuggestionsOrbital","id":"orb_B71HVN07773KKV0899YDS0WFWR","uses":[{"from":"std/behaviors/std-agent-tool-loop","as":"Loop"}],"entity":{"name":"AgentSuggestionsHost","id":"ent_498EAE38CJM69F9R1Y7TBBVNYQ","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"name":"AgentSuggestionProposer","id":"trt_7M6JWPTYVXFDYJSF1EE8A2B506","entityRebindable":true,"entityContract":{"requires":[],"provides":["pendingProposal"]},"effectRow":[{"kind":"emit","resource":"SUGGESTION_DUPLICATE"},{"kind":"emit","resource":"SUGGESTION_LIMIT_REACHED"},{"kind":"emit","resource":"SUGGESTION_REJECTED"},{"kind":"fetch","resource":"AgentSuggestion"},{"kind":"persist","resource":"AgentSuggestion"},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.pendingProposal"}],"category":"lifecycle","linkedEntity":"AgentSuggestion","emits":[{"event":"SUGGESTION_ADDED","eventId":"evt_T6G9FR53Q5HVJKMYQB6QSGVACH","description":"A suggestion was stored for the person — payload is the created AgentSuggestion row itself.","synonyms":"proposed, suggested, new suggestion","tier":"domain","scope":"external"},{"event":"SUGGESTION_DUPLICATE","eventId":"evt_89GN3HZV9GXMREK6E8V4J7VD5Y","description":"This signature was already proposed to the person (pending, accepted or dismissed), so nothing was stored.","synonyms":"already proposed, repeat, seen before","tier":"domain","scope":"external","payloadSchema":[{"name":"signature","type":"string","required":true}]},{"event":"SUGGESTION_LIMIT_REACHED","eventId":"evt_PZ7K185WDXY6YTA8851C7YMQYV","description":"The person already has the most pending suggestions allowed, so nothing was stored.","synonyms":"too many, queue full, cap","tier":"domain","scope":"external","payloadSchema":[{"name":"maxPending","type":"number","required":true}]},{"event":"SUGGESTION_REJECTED","eventId":"evt_WBWVT7NB30NHG86577D3K5PD6H","description":"The proposal was refused (a kind or action not allowed, or it could not be checked or stored); the reason says why.","synonyms":"refused, invalid, not allowed","tier":"domain","scope":"external","payloadSchema":[{"name":"reason","type":"string","required":true}]},{"event":"SuggestionsForPropose","eventId":"evt_ZMBNEFNX4YYJF57R7M4A3W9J52","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"entity":"SuggestionRow"}]},{"event":"SuggestionCheckFailed","eventId":"evt_Q82ZNY2AAQ55BJ3ZRNQWHPFKX6","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"SuggestionSaveFailed","eventId":"evt_5HADSAPPDNB6TP1NGFGV1E1MZR","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"ready","isInitial":true}],"events":[{"key":"INIT","id":"evt_1KRQ7CZ258H2MC009DT1GDFD64","name":"Initialize"},{"key":"PROPOSE_SUGGESTION","id":"evt_8PM5W6DZP5ZV2HZ1V340Z3BP6C","name":"Propose Suggestion","description":"Propose something to the signed-in person: a kind, a title, a body that gives the reason, an optional action with its payload, an optional href, and the subject it is about (an id or slug). A proposal whose kind, action and subject were already proposed to this person is refused, whatever became of the first; so is one past the pending limit.","synonyms":"suggest, recommend, propose, offer","payloadSchema":[{"name":"kind","type":"string","required":true},{"name":"title","type":"string","required":true},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"subject","type":"string","required":true},{"name":"payload","type":"Map<string,string>"}],"external":true,"listened":true},{"key":"SuggestionsForPropose","id":"evt_ZMBNEFNX4YYJF57R7M4A3W9J52","name":"Suggestions for propose","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}]}]},{"key":"SuggestionCheckFailed","id":"evt_Q82ZNY2AAQ55BJ3ZRNQWHPFKX6","name":"Suggestion check failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"key":"SuggestionSaveFailed","id":"evt_5HADSAPPDNB6TP1NGFGV1E1MZR","name":"Suggestion save failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"key":"SUGGESTION_ADDED","id":"evt_T6G9FR53Q5HVJKMYQB6QSGVACH","name":"Suggestion Added","description":"A suggestion was stored for the person — payload is the created AgentSuggestion row itself.","synonyms":"proposed, suggested, new suggestion","tier":"domain"},{"key":"SUGGESTION_DUPLICATE","id":"evt_89GN3HZV9GXMREK6E8V4J7VD5Y","name":"Suggestion Duplicate","description":"This signature was already proposed to the person (pending, accepted or dismissed), so nothing was stored.","synonyms":"already proposed, repeat, seen before","tier":"domain","payloadSchema":[{"name":"signature","type":"string","required":true}]},{"key":"SUGGESTION_LIMIT_REACHED","id":"evt_PZ7K185WDXY6YTA8851C7YMQYV","name":"Suggestion Limit Reached","description":"The person already has the most pending suggestions allowed, so nothing was stored.","synonyms":"too many, queue full, cap","tier":"domain","payloadSchema":[{"name":"maxPending","type":"number","required":true}]},{"key":"SUGGESTION_REJECTED","id":"evt_WBWVT7NB30NHG86577D3K5PD6H","name":"Suggestion Rejected","description":"The proposal was refused (a kind or action not allowed, or it could not be checked or stored); the reason says why.","synonyms":"refused, invalid, not allowed","tier":"domain","payloadSchema":[{"name":"reason","type":"string","required":true}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_1KRQ7CZ258H2MC009DT1GDFD64"},{"from":"ready","to":"ready","event":"PROPOSE_SUGGESTION","eventId":"evt_8PM5W6DZP5ZV2HZ1V340Z3BP6C","guard":["and",[">",["array/len","@config.allowedKinds"],0],["not",["array/includes","@config.allowedKinds","@payload.kind"]]],"effects":[["emit","SUGGESTION_REJECTED",{"reason":["str/concat","Unknown kind \"","@payload.kind","\". Allowed kinds: ",["str/join","@config.allowedKinds",", "]]}]]},{"from":"ready","to":"ready","event":"PROPOSE_SUGGESTION","eventId":"evt_8PM5W6DZP5ZV2HZ1V340Z3BP6C","guard":["and",["or",["=",["array/len","@config.allowedKinds"],0],["array/includes","@config.allowedKinds","@payload.kind"]],[">",["array/len","@config.allowedActions"],0],["not",["array/includes","@config.allowedActions",["str/default","@payload.action",""]]]],"effects":[["emit","SUGGESTION_REJECTED",{"reason":["str/concat","Unknown action \"",["str/default","@payload.action",""],"\". Allowed actions: ",["str/join","@config.allowedActions",", "]]}]]},{"from":"ready","to":"ready","event":"PROPOSE_SUGGESTION","eventId":"evt_8PM5W6DZP5ZV2HZ1V340Z3BP6C","guard":["and",["or",["=",["array/len","@config.allowedKinds"],0],["array/includes","@config.allowedKinds","@payload.kind"]],["or",["=",["array/len","@config.allowedActions"],0],["array/includes","@config.allowedActions",["str/default","@payload.action",""]]]],"effects":[["set","@entity.pendingProposal",{"kind":"@payload.kind","title":"@payload.title","body":["str/default","@payload.body",""],"action":["str/default","@payload.action",""],"href":["str/default","@payload.href",""],"subject":"@payload.subject","signature":["str/concat","@payload.kind",":",["str/default","@payload.action",""],":","@payload.subject"],"payload":["if","@payload.payload","@payload.payload",{}]}],["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionCheckFailed","success":"SuggestionsForPropose"}}]]},{"from":"ready","to":"ready","event":"SuggestionsForPropose","eventId":"evt_ZMBNEFNX4YYJF57R7M4A3W9J52","guard":["array/some","@payload.data",["fn","item",["=","@item.signature","@entity.pendingProposal.signature"]]],"effects":[["emit","SUGGESTION_DUPLICATE",{"signature":"@entity.pendingProposal.signature"}]]},{"from":"ready","to":"ready","event":"SuggestionsForPropose","eventId":"evt_ZMBNEFNX4YYJF57R7M4A3W9J52","guard":["and",["not",["array/some","@payload.data",["fn","item",["=","@item.signature","@entity.pendingProposal.signature"]]]],[">=",["array/count","@payload.data",["fn","item",["=","@item.status","pending"]]],"@config.pendingLimit"]],"effects":[["emit","SUGGESTION_LIMIT_REACHED",{"maxPending":"@config.pendingLimit"}]]},{"from":"ready","to":"ready","event":"SuggestionsForPropose","eventId":"evt_ZMBNEFNX4YYJF57R7M4A3W9J52","guard":["and",["not",["array/some","@payload.data",["fn","item",["=","@item.signature","@entity.pendingProposal.signature"]]]],["<",["array/count","@payload.data",["fn","item",["=","@item.status","pending"]]],"@config.pendingLimit"]],"effects":[["persist","create","AgentSuggestion",{"ownerId":"@user.id","kind":"@entity.pendingProposal.kind","title":"@entity.pendingProposal.title","body":"@entity.pendingProposal.body","action":"@entity.pendingProposal.action","href":"@entity.pendingProposal.href","payload":"@entity.pendingProposal.payload","subject":"@entity.pendingProposal.subject","signature":"@entity.pendingProposal.signature","status":"pending","createdAt":"@now"},{"emit":{"failure":"SuggestionSaveFailed","success":"SUGGESTION_ADDED"}}]]},{"from":"ready","to":"ready","event":"SuggestionCheckFailed","eventId":"evt_Q82ZNY2AAQ55BJ3ZRNQWHPFKX6","effects":[["emit","SUGGESTION_REJECTED",{"reason":["str/concat","Could not check earlier suggestions: ","@payload.error"]}],["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"warning"}]]},{"from":"ready","to":"ready","event":"SuggestionSaveFailed","eventId":"evt_5HADSAPPDNB6TP1NGFGV1E1MZR","effects":[["emit","SUGGESTION_REJECTED",{"reason":["str/concat","Could not store the suggestion: ","@payload.error"]}],["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"warning"}]]}]},"config":{"allowedActions":{"type":"[string]","default":"@config.actions","label":"Which actions may a suggestion carry?","description":"When listed, any other action is refused. Empty accepts any.","synonyms":"allowed actions, commands, events","tier":"domain","items":{"type":"string"}},"allowedKinds":{"type":"[string]","default":"@config.kinds","label":"Which kinds may be proposed?","description":"When listed, any other kind is refused. Empty accepts any.","synonyms":"types, categories, allowed kinds","tier":"domain","items":{"type":"string"}},"pendingLimit":{"type":"number","default":"@config.maxPending","label":"How many suggestions may wait at once?","description":"A proposal is refused (SUGGESTION_LIMIT_REACHED) while this many are pending.","synonyms":"limit, cap, queue size","tier":"policy"}},"scope":"instance"},{"name":"AgentSuggestionInbox","id":"trt_FXHHN7TQGWBRECCFB225QQJ1SN","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"emit","resource":"SUGGESTIONS_ANALYZE_REQUESTED"},{"kind":"emit","resource":"SUGGESTION_ACCEPTED"},{"kind":"emit","resource":"SUGGESTION_DISMISSED"},{"kind":"fetch","resource":"AgentSuggestion"},{"kind":"navigate","resource":"@payload.href"},{"kind":"persist","resource":"AgentSuggestion"},{"kind":"render-ui","resource":"@config.inboxSlot","resolved":false},{"kind":"render-ui","resource":"toast"}],"category":"interaction","linkedEntity":"AgentSuggestion","emits":[{"event":"SUGGESTION_ACCEPTED","eventId":"evt_BKBGM34JN19AGJR82K4K460Y79","description":"The person accepted a suggestion; the app routes `action` with `payload` (a suggestion with an href has already navigated there).","synonyms":"accepted, approved, taken up, do it","tier":"domain","scope":"external","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"subject","type":"string"},{"name":"payload","type":"Map<string,string>"}]},{"event":"SUGGESTION_DISMISSED","eventId":"evt_8YBG03BYZVZFXSRDQM6NGB3A3Y","description":"The person dismissed a suggestion; its signature is never proposed to them again.","synonyms":"dismissed, rejected, declined, no thanks","tier":"domain","scope":"external","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string"},{"name":"action","type":"string"},{"name":"subject","type":"string"}]},{"event":"SUGGESTIONS_ANALYZE_REQUESTED","eventId":"evt_WBQ50Z23C81P400NCZ6Z68DKPB","description":"The person asked the agent to look for suggestions again.","synonyms":"look again, refresh suggestions, analyze","tier":"domain","scope":"external"},{"event":"SuggestionsLoaded","eventId":"evt_8P2A9PHY6FZ37Q7D7DFZWYK8YZ","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"entity":"SuggestionRow"}]},{"event":"SuggestionsLoadFailed","eventId":"evt_NP2P8TSAV6NDK1CGKM3TDJVG1Y","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"SuggestionResolveFailed","eventId":"evt_SHGAG0XBRANW56KZ6JMJ9K0F07","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"SuggestionForAccept","eventId":"evt_1BMQFYW4TV2DDWQ1QGFAKA8984","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"entity":"SuggestionRow"}]},{"event":"SuggestionForDismiss","eventId":"evt_DVJ0ZMXC9KP4SK4M23VC5N8250","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"entity":"SuggestionRow"}]},{"event":"SuggestionAccepted","eventId":"evt_8AQP84NBG3NR1ZTNSRPQ6KFXPY","description":"Fired after a suggestion is stored as accepted","tier":"internal","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"payloadEntity":"SuggestionRow"},{"event":"SuggestionDismissed","eventId":"evt_Z4H34Z18RXMCEWWJH6G88C5SYY","description":"Fired after a suggestion is stored as dismissed","tier":"internal","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"payloadEntity":"SuggestionRow"}],"listens":[{"event":"SUGGESTION_ADDED","eventId":"evt_T6G9FR53Q5HVJKMYQB6QSGVACH","triggers":"REFRESH","triggersId":"evt_AF1F4TD86XM3ETR1YG8C0NQGPV","source":{"kind":"trait","trait":"AgentSuggestionProposer","traitId":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"}},{"event":"SUGGESTION_RUN_DONE","eventId":"evt_FC984KDPN7VAKZ8P2C535G883G","triggers":"REFRESH","triggersId":"evt_AF1F4TD86XM3ETR1YG8C0NQGPV","source":{"kind":"trait","trait":"AgentSuggestionRunner","traitId":"trt_WD2954H123GH1GJAJEQ5J6E59W"}},{"event":"SUGGESTION_RUN_FAILED","eventId":"evt_B08GD9S6J6K938RECSWDSYJF3Q","triggers":"REFRESH","triggersId":"evt_AF1F4TD86XM3ETR1YG8C0NQGPV","source":{"kind":"trait","trait":"AgentSuggestionRunner","traitId":"trt_WD2954H123GH1GJAJEQ5J6E59W"}},{"event":"SUGGESTIONS_OPEN_REQUESTED","triggers":"OPEN","triggersId":"evt_DXJDDYTFAH7N8V148AB7EF33YN","source":{"kind":"any"}}],"stateMachine":{"states":[{"name":"closed","isInitial":true},{"name":"open"}],"events":[{"key":"INIT","id":"evt_NKXJ4R1ZW9ZY4VRBWAXJGAYA89","name":"Initialize"},{"key":"OPEN","id":"evt_DXJDDYTFAH7N8V148AB7EF33YN","name":"Open","description":"Show the suggestions inbox. SUGGESTIONS_OPEN_REQUESTED from any trait arrives here.","synonyms":"show suggestions, open bell, view suggestions","tier":"presentation","listened":true},{"key":"SuggestionsLoaded","id":"evt_8P2A9PHY6FZ37Q7D7DFZWYK8YZ","name":"Suggestions loaded","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}]}]},{"key":"SuggestionsLoadFailed","id":"evt_NP2P8TSAV6NDK1CGKM3TDJVG1Y","name":"Suggestions load failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"key":"SuggestionResolveFailed","id":"evt_SHGAG0XBRANW56KZ6JMJ9K0F07","name":"Suggestion resolve failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"key":"REFRESH","id":"evt_AF1F4TD86XM3ETR1YG8C0NQGPV","name":"Refresh","description":"Reload the pending suggestions.","listened":true},{"key":"ANALYZE","id":"evt_22R2X65SV7WXKVYM3FGMYE2DE2","name":"Analyze","description":"Ask the agent to look for suggestions again.","tier":"presentation","listened":true},{"key":"ACCEPT","id":"evt_8XR32ETR7WC3Y9978P56KYCF36","name":"Accept","description":"Accept this suggestion.","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true}],"listened":true},{"key":"SuggestionForAccept","id":"evt_1BMQFYW4TV2DDWQ1QGFAKA8984","name":"Suggestion for accept","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}]}]},{"key":"SuggestionAccepted","id":"evt_8AQP84NBG3NR1ZTNSRPQ6KFXPY","name":"Suggestion accepted","tier":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"payloadEntity":"SuggestionRow"},{"key":"DISMISS","id":"evt_NV8DG2JD296H4PY99ESXKCDM7G","name":"Dismiss","description":"Dismiss this suggestion.","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true}],"listened":true},{"key":"SuggestionForDismiss","id":"evt_DVJ0ZMXC9KP4SK4M23VC5N8250","name":"Suggestion for dismiss","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}]}]},{"key":"SuggestionDismissed","id":"evt_Z4H34Z18RXMCEWWJH6G88C5SYY","name":"Suggestion dismissed","tier":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"payloadEntity":"SuggestionRow"},{"key":"CLOSE","id":"evt_677VKRQE7CQ3P6GPM4G4Q6Q8QT","name":"Close","description":"Hide the suggestions inbox.","synonyms":"close, hide, dismiss panel","tier":"presentation","listened":true},{"key":"SUGGESTION_ACCEPTED","id":"evt_BKBGM34JN19AGJR82K4K460Y79","name":"Suggestion Accepted","description":"The person accepted a suggestion; the app routes `action` with `payload` (a suggestion with an href has already navigated there).","synonyms":"accepted, approved, taken up, do it","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"subject","type":"string"},{"name":"payload","type":"Map<string,string>"}]},{"key":"SUGGESTION_DISMISSED","id":"evt_8YBG03BYZVZFXSRDQM6NGB3A3Y","name":"Suggestion Dismissed","description":"The person dismissed a suggestion; its signature is never proposed to them again.","synonyms":"dismissed, rejected, declined, no thanks","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string"},{"name":"action","type":"string"},{"name":"subject","type":"string"}]},{"key":"SUGGESTIONS_ANALYZE_REQUESTED","id":"evt_WBQ50Z23C81P400NCZ6Z68DKPB","name":"Suggestions Analyze Requested","description":"The person asked the agent to look for suggestions again.","synonyms":"look again, refresh suggestions, analyze","tier":"domain"}],"transitions":[{"from":"closed","to":"open","event":"INIT","eventId":"evt_NKXJ4R1ZW9ZY4VRBWAXJGAYA89","guard":"@config.showOnMount","effects":[["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}]]},{"from":"closed","to":"closed","event":"INIT","eventId":"evt_NKXJ4R1ZW9ZY4VRBWAXJGAYA89","guard":["not","@config.showOnMount"],"effects":[["render-ui","@config.inboxSlot",null]]},{"from":"closed","to":"open","event":"OPEN","eventId":"evt_DXJDDYTFAH7N8V148AB7EF33YN","effects":[["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}]]},{"from":"open","to":"open","event":"INIT","eventId":"evt_NKXJ4R1ZW9ZY4VRBWAXJGAYA89","guard":"@config.showOnMount","effects":[["render-ui","@config.inboxSlot",null],["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}]]},{"from":"open","to":"closed","event":"INIT","eventId":"evt_NKXJ4R1ZW9ZY4VRBWAXJGAYA89","guard":["not","@config.showOnMount"],"effects":[["render-ui","@config.inboxSlot",null]]},{"from":"open","to":"open","event":"SuggestionsLoaded","eventId":"evt_8P2A9PHY6FZ37Q7D7DFZWYK8YZ","effects":[["render-ui","@config.inboxSlot",{"children":[{"align":"center","children":[{"align":"center","children":[{"name":"@config.headingIcon","size":"lg","type":"icon"},{"content":"@config.heading","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},["if",["not",["=","@config.inboxSlot","main"]],{"action":"CLOSE","icon":"x","label":"@config.closeButtonLabel","type":"button","variant":"ghost"},null]],"direction":"horizontal","gap":"sm","justify":"between","type":"stack"},{"type":"divider"},{"emptyAction":{"label":"@config.lookAgainLabel","event":"ANALYZE"},"emptyDescription":"@config.emptyHint","emptyTitle":"@config.emptyHeading","entity":["array/sort",["array/filter","@payload.data",["fn","item",["=","@item.status","pending"]]],"createdAt","desc"],"fields":[{"label":"Kind","name":"kind","variant":"badge"},{"label":"Suggestion","name":"title","variant":"h4"},{"label":"Why","name":"body","variant":"body"}],"gap":"sm","itemActions":[{"event":"ACCEPT","icon":"check","label":"@config.approveLabel","variant":"primary"},{"event":"DISMISS","icon":"x","label":"@config.declineLabel","variant":"ghost"}],"type":"data-list","variant":"card"},["if",["not",["=","@config.historyLink",""]],{"href":"@config.historyLink","label":"@config.historyLinkLabel","size":"sm","type":"button","variant":"ghost"},null]],"className":"max-h-[60vh] overflow-y-auto","direction":"vertical","gap":"md","type":"stack"}]]},{"from":"open","to":"open","event":"SuggestionsLoadFailed","eventId":"evt_NP2P8TSAV6NDK1CGKM3TDJVG1Y","effects":[["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"open","to":"open","event":"SuggestionResolveFailed","eventId":"evt_SHGAG0XBRANW56KZ6JMJ9K0F07","effects":[["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"open","to":"open","event":"REFRESH","eventId":"evt_AF1F4TD86XM3ETR1YG8C0NQGPV","effects":[["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}]]},{"from":"open","to":"open","event":"OPEN","eventId":"evt_DXJDDYTFAH7N8V148AB7EF33YN","effects":[["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}]]},{"from":"open","to":"open","event":"ANALYZE","eventId":"evt_22R2X65SV7WXKVYM3FGMYE2DE2","effects":[["emit","SUGGESTIONS_ANALYZE_REQUESTED",{}]]},{"from":"open","to":"open","event":"ACCEPT","eventId":"evt_8XR32ETR7WC3Y9978P56KYCF36","effects":[["fetch","AgentSuggestion",{"emit":{"failure":"SuggestionResolveFailed","success":"SuggestionForAccept"},"filter":["=",["object/get","@entity","id"],"@payload.id"]}]]},{"from":"open","to":"open","event":"SuggestionForAccept","eventId":"evt_1BMQFYW4TV2DDWQ1QGFAKA8984","guard":["and",[">",["array/len","@payload.data"],0],["=",["object/get",["array/first","@payload.data"],"status"],"pending"]],"effects":[["persist","update","AgentSuggestion",{"id":["object/get",["array/first","@payload.data"],"id"],"ownerId":["object/get",["array/first","@payload.data"],"ownerId"],"kind":["object/get",["array/first","@payload.data"],"kind"],"title":["object/get",["array/first","@payload.data"],"title"],"body":["object/get",["array/first","@payload.data"],"body"],"action":["object/get",["array/first","@payload.data"],"action"],"href":["object/get",["array/first","@payload.data"],"href"],"payload":["object/get",["array/first","@payload.data"],"payload"],"subject":["object/get",["array/first","@payload.data"],"subject"],"signature":["object/get",["array/first","@payload.data"],"signature"],"status":"accepted","createdAt":["object/get",["array/first","@payload.data"],"createdAt"],"resolvedAt":"@now"},{"emit":{"failure":"SuggestionResolveFailed","success":"SuggestionAccepted"}}]]},{"from":"open","to":"open","event":"SuggestionAccepted","eventId":"evt_8AQP84NBG3NR1ZTNSRPQ6KFXPY","guard":["=",["str/default","@payload.href",""],""],"effects":[["emit","SUGGESTION_ACCEPTED",{"id":"@payload.id","kind":"@payload.kind","action":"@payload.action","href":"@payload.href","subject":"@payload.subject","payload":"@payload.payload"}],["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}]]},{"from":"open","to":"open","event":"SuggestionAccepted","eventId":"evt_8AQP84NBG3NR1ZTNSRPQ6KFXPY","guard":["not",["=",["str/default","@payload.href",""],""]],"effects":[["emit","SUGGESTION_ACCEPTED",{"id":"@payload.id","kind":"@payload.kind","action":"@payload.action","href":"@payload.href","subject":"@payload.subject","payload":"@payload.payload"}],["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}],["navigate","@payload.href"]]},{"from":"open","to":"open","event":"DISMISS","eventId":"evt_NV8DG2JD296H4PY99ESXKCDM7G","effects":[["fetch","AgentSuggestion",{"emit":{"failure":"SuggestionResolveFailed","success":"SuggestionForDismiss"},"filter":["=",["object/get","@entity","id"],"@payload.id"]}]]},{"from":"open","to":"open","event":"SuggestionForDismiss","eventId":"evt_DVJ0ZMXC9KP4SK4M23VC5N8250","guard":["and",[">",["array/len","@payload.data"],0],["=",["object/get",["array/first","@payload.data"],"status"],"pending"]],"effects":[["persist","update","AgentSuggestion",{"id":["object/get",["array/first","@payload.data"],"id"],"ownerId":["object/get",["array/first","@payload.data"],"ownerId"],"kind":["object/get",["array/first","@payload.data"],"kind"],"title":["object/get",["array/first","@payload.data"],"title"],"body":["object/get",["array/first","@payload.data"],"body"],"action":["object/get",["array/first","@payload.data"],"action"],"href":["object/get",["array/first","@payload.data"],"href"],"payload":["object/get",["array/first","@payload.data"],"payload"],"subject":["object/get",["array/first","@payload.data"],"subject"],"signature":["object/get",["array/first","@payload.data"],"signature"],"status":"dismissed","createdAt":["object/get",["array/first","@payload.data"],"createdAt"],"resolvedAt":"@now"},{"emit":{"failure":"SuggestionResolveFailed","success":"SuggestionDismissed"}}]]},{"from":"open","to":"open","event":"SuggestionDismissed","eventId":"evt_Z4H34Z18RXMCEWWJH6G88C5SYY","effects":[["emit","SUGGESTION_DISMISSED",{"id":"@payload.id","kind":"@payload.kind","action":"@payload.action","subject":"@payload.subject"}],["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}]]},{"from":"open","to":"closed","event":"CLOSE","eventId":"evt_677VKRQE7CQ3P6GPM4G4Q6Q8QT","effects":[["render-ui","@config.inboxSlot",null]]}]},"config":{"emptyHeading":{"type":"string","default":"@config.emptyTitle","label":"What shows when nothing is pending?","synonyms":"empty state, no suggestions","tier":"presentation"},"inboxSlot":{"type":"slot","default":"@config.panelSlot","label":"Where the inbox renders","description":"`main` inline; `modal` or `drawer` for an overlay opened with OPEN.","tier":"internal"},"headingIcon":{"type":"string","default":"@config.icon","label":"Inbox icon","description":"Lucide icon name shown beside the heading.","synonyms":"header icon","tier":"presentation"},"showOnMount":{"type":"boolean","default":"@config.startOpen","label":"Show the inbox as soon as it mounts?","description":"Off for an overlay that waits for OPEN.","tier":"presentation"},"declineLabel":{"type":"string","default":"@config.dismissLabel","label":"Dismiss button label","synonyms":"reject, no thanks, hide","tier":"presentation"},"emptyHint":{"type":"string","default":"@config.emptyDescription","label":"Hint under the empty heading","tier":"presentation"},"closeButtonLabel":{"type":"string","default":"@config.closeLabel","label":"Close button label","synonyms":"back, hide","tier":"presentation"},"lookAgainLabel":{"type":"string","default":"@config.analyzeLabel","label":"Look-again button label","description":"The empty inbox's button, which asks the agent to look again.","synonyms":"refresh, find suggestions, analyze","tier":"presentation"},"heading":{"type":"string","default":"@config.title","label":"Inbox heading","description":"Heading at the top of the inbox.","synonyms":"panel title, suggestions title","tier":"presentation"},"approveLabel":{"type":"string","default":"@config.acceptLabel","label":"Accept button label","synonyms":"approve, yes, do it","tier":"presentation"},"historyLinkLabel":{"type":"string","default":"@config.historyLabel","label":"Past-suggestions link label","synonyms":"history, archive, earlier suggestions","tier":"presentation"},"historyLink":{"type":"string","default":"@config.historyHref","label":"Past-suggestions page","description":"Where accepted and dismissed suggestions are listed; empty hides the link.","tier":"presentation"}},"scope":"collection"},{"name":"AgentSuggestionTrigger","id":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"emit","resource":"SUGGESTION_RUN_ALLOWED"},{"kind":"fetch","resource":"AgentSuggestionRun"},{"kind":"render-ui","resource":"toast"}],"category":"lifecycle","linkedEntity":"AgentSuggestionRun","emits":[{"event":"SUGGESTION_RUN_ALLOWED","eventId":"evt_H9758APD5D6JPGK0TWCYNMWEVQ","description":"A trigger arrived and the cooldown has passed, so the agent is asked to look.","synonyms":"run allowed, cooldown passed","tier":"domain","scope":"external"},{"event":"RunsForTrigger","eventId":"evt_NV4QRZV6PHKB8MAT4EN6SP7YW7","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"ranAt","type":"number"}],"entity":"RunRow"}]},{"event":"RunsLoadFailed","eventId":"evt_D5M9WED9Y4MZ2FDZJXM7EKVABQ","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"listens":[{"event":"SUGGESTIONS_TRIGGERED","triggers":"TRIGGERED","triggersId":"evt_H2AJZXEYYNFFAJ1E2WS596K143","source":{"kind":"any"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true}],"events":[{"key":"INIT","id":"evt_098J2ZTZ0NFGARBY2AYG5KS1W2","name":"Initialize"},{"key":"TRIGGERED","id":"evt_H2AJZXEYYNFFAJ1E2WS596K143","name":"Triggered","description":"Something happened that is a reason to look for suggestions. SUGGESTIONS_TRIGGERED from any trait arrives here; an app routes its own events with `listens { Source.EVENT -> TRIGGERED }` on a re-bound AgentSuggestionTrigger.","synonyms":"trigger, start analysis, look for suggestions","tier":"domain","listened":true},{"key":"RunsForTrigger","id":"evt_NV4QRZV6PHKB8MAT4EN6SP7YW7","name":"Runs for trigger","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"ranAt","type":"number"}]}]},{"key":"RunsLoadFailed","id":"evt_D5M9WED9Y4MZ2FDZJXM7EKVABQ","name":"Runs load failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"key":"SUGGESTION_RUN_ALLOWED","id":"evt_H9758APD5D6JPGK0TWCYNMWEVQ","name":"Suggestion Run Allowed","description":"A trigger arrived and the cooldown has passed, so the agent is asked to look.","synonyms":"run allowed, cooldown passed","tier":"domain"}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_098J2ZTZ0NFGARBY2AYG5KS1W2"},{"from":"ready","to":"ready","event":"TRIGGERED","eventId":"evt_H2AJZXEYYNFFAJ1E2WS596K143","effects":[["fetch","AgentSuggestionRun",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"RunsLoadFailed","success":"RunsForTrigger"}}]]},{"from":"ready","to":"ready","event":"RunsForTrigger","eventId":"evt_NV4QRZV6PHKB8MAT4EN6SP7YW7","guard":[">=",["-","@now",["if",["=",["array/len","@payload.data"],0],0,["array/max","@payload.data","ranAt"]]],["*","@config.gapMinutes",60000]],"effects":[["emit","SUGGESTION_RUN_ALLOWED",{}]]},{"from":"ready","to":"ready","event":"RunsForTrigger","eventId":"evt_NV4QRZV6PHKB8MAT4EN6SP7YW7","guard":["<",["-","@now",["if",["=",["array/len","@payload.data"],0],0,["array/max","@payload.data","ranAt"]]],["*","@config.gapMinutes",60000]]},{"from":"ready","to":"ready","event":"RunsLoadFailed","eventId":"evt_D5M9WED9Y4MZ2FDZJXM7EKVABQ","effects":[["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"warning"}]]}]},"config":{"gapMinutes":{"type":"number","default":"@config.cooldownMinutes","label":"Minutes between proactive runs","description":"A trigger starts a run only when this long has passed since the person's last run.","synonyms":"throttle, rate limit, interval, frequency","tier":"policy"}},"scope":"instance"},{"name":"AgentSuggestionRunner","id":"trt_WD2954H123GH1GJAJEQ5J6E59W","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"emit","resource":"SUGGESTION_RUN_DONE"},{"kind":"emit","resource":"SUGGESTION_RUN_FAILED"},{"kind":"emit","resource":"SUGGESTION_RUN_STARTED"},{"kind":"persist","resource":"AgentSuggestionRun"},{"kind":"render-ui","resource":"toast"}],"category":"lifecycle","linkedEntity":"AgentSuggestionRun","emits":[{"event":"SUGGESTION_RUN_STARTED","eventId":"evt_76XCHK2HMA8T52YHKZYK6YNSZY","description":"The agent was asked to look for suggestions.","synonyms":"analysis started, looking","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"}]},{"event":"SUGGESTION_RUN_DONE","eventId":"evt_FC984KDPN7VAKZ8P2C535G883G","description":"The agent finished looking; any suggestions it made are in the inbox.","synonyms":"analysis done, finished","tier":"domain","scope":"external"},{"event":"SUGGESTION_RUN_FAILED","eventId":"evt_B08GD9S6J6K938RECSWDSYJF3Q","description":"The agent could not finish looking (no toast; the inbox simply has nothing new).","synonyms":"analysis failed, error","tier":"domain","scope":"external","payloadSchema":[{"name":"error","type":"string"}]},{"event":"RunRecorded","eventId":"evt_JFH0JHEQ9YBMZ8T6Q5BHKM2SWF","description":"Fired after a run is recorded","tier":"internal","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"ranAt","type":"number"}],"payloadEntity":"RunRow"},{"event":"RunRecordFailed","eventId":"evt_TCY868Y0SC0CP5R39ANHKBNTH5","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"listens":[{"event":"SUGGESTION_RUN_ALLOWED","eventId":"evt_H9758APD5D6JPGK0TWCYNMWEVQ","triggers":"START","triggersId":"evt_3QVTBX8ZCWFPE37NJM8HXJF60Y","source":{"kind":"trait","trait":"AgentSuggestionTrigger","traitId":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV"}},{"event":"SUGGESTIONS_ANALYZE_REQUESTED","eventId":"evt_WBQ50Z23C81P400NCZ6Z68DKPB","triggers":"START","triggersId":"evt_3QVTBX8ZCWFPE37NJM8HXJF60Y","source":{"kind":"trait","trait":"AgentSuggestionInbox","traitId":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"}},{"event":"PROACTIVE_REPLIED","triggers":"LOOP_REPLIED","triggersId":"evt_AJKKEFZB7HNKRHXWTV0E0HNV5T","source":{"kind":"trait","trait":"AgentSuggestionLoop","traitId":"trt_8XWNVD310RGGC4426F000RK9BF"}},{"event":"PROACTIVE_FAILED","triggers":"LOOP_FAILED","triggersId":"evt_YV0S43TBCE5P7AV2S1ENSYYZAT","source":{"kind":"trait","trait":"AgentSuggestionLoop","traitId":"trt_8XWNVD310RGGC4426F000RK9BF"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true},{"name":"starting"},{"name":"analyzing"}],"events":[{"key":"INIT","id":"evt_FN3PWA62T61D31W9DV3VZRWQYE","name":"Initialize"},{"key":"START","id":"evt_3QVTBX8ZCWFPE37NJM8HXJF60Y","name":"Start","description":"Ask the agent to look for suggestions now.","listened":true},{"key":"RunRecorded","id":"evt_JFH0JHEQ9YBMZ8T6Q5BHKM2SWF","name":"Run recorded","tier":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"ranAt","type":"number"}],"payloadEntity":"RunRow"},{"key":"RunRecordFailed","id":"evt_TCY868Y0SC0CP5R39ANHKBNTH5","name":"Run record failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"key":"LOOP_REPLIED","id":"evt_AJKKEFZB7HNKRHXWTV0E0HNV5T","name":"Loop Replied","description":"The agent answered.","payloadSchema":[{"name":"reply","type":"string"}],"listened":true},{"key":"LOOP_FAILED","id":"evt_YV0S43TBCE5P7AV2S1ENSYYZAT","name":"Loop Failed","description":"The agent could not answer.","payloadSchema":[{"name":"error","type":"string"}],"listened":true},{"key":"SUGGESTION_RUN_STARTED","id":"evt_76XCHK2HMA8T52YHKZYK6YNSZY","name":"Suggestion Run Started","description":"The agent was asked to look for suggestions.","synonyms":"analysis started, looking","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"}]},{"key":"SUGGESTION_RUN_DONE","id":"evt_FC984KDPN7VAKZ8P2C535G883G","name":"Suggestion Run Done","description":"The agent finished looking; any suggestions it made are in the inbox.","synonyms":"analysis done, finished","tier":"domain"},{"key":"SUGGESTION_RUN_FAILED","id":"evt_B08GD9S6J6K938RECSWDSYJF3Q","name":"Suggestion Run Failed","description":"The agent could not finish looking (no toast; the inbox simply has nothing new).","synonyms":"analysis failed, error","tier":"domain","payloadSchema":[{"name":"error","type":"string"}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_FN3PWA62T61D31W9DV3VZRWQYE"},{"from":"ready","to":"starting","event":"START","eventId":"evt_3QVTBX8ZCWFPE37NJM8HXJF60Y","effects":[["persist","create","AgentSuggestionRun",{"ownerId":"@user.id","ranAt":"@now"},{"emit":{"failure":"RunRecordFailed","success":"RunRecorded"}}]]},{"from":"starting","to":"ready","event":"INIT","eventId":"evt_FN3PWA62T61D31W9DV3VZRWQYE"},{"from":"starting","to":"analyzing","event":"RunRecorded","eventId":"evt_JFH0JHEQ9YBMZ8T6Q5BHKM2SWF","effects":[["emit","SUGGESTION_RUN_STARTED",{"messages":[{"role":"user","content":"@config.request"}]}]]},{"from":"starting","to":"ready","event":"RunRecordFailed","eventId":"evt_TCY868Y0SC0CP5R39ANHKBNTH5","effects":[["emit","SUGGESTION_RUN_FAILED",{"error":"@payload.error"}],["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"warning"}]]},{"from":"analyzing","to":"ready","event":"INIT","eventId":"evt_FN3PWA62T61D31W9DV3VZRWQYE"},{"from":"analyzing","to":"ready","event":"LOOP_REPLIED","eventId":"evt_AJKKEFZB7HNKRHXWTV0E0HNV5T","effects":[["emit","SUGGESTION_RUN_DONE",{}]]},{"from":"analyzing","to":"ready","event":"LOOP_FAILED","eventId":"evt_YV0S43TBCE5P7AV2S1ENSYYZAT","effects":[["emit","SUGGESTION_RUN_FAILED",{"error":"@payload.error"}]]}]},"config":{"request":{"type":"string","default":"@config.prompt","label":"What does the agent look into?","description":"The request each proactive run answers.","synonyms":"task, goal, question, brief","tier":"domain"}},"scope":"instance"},{"ref":"Loop.traits.AgentToolLoop","id":"trt_8XWNVD310RGGC4426F000RK9BF","name":"AgentSuggestionLoop","config":{"tools":{"type":"unknown","default":"@config.tools"},"quiet":{"type":"unknown","default":true},"cancelKey":{"type":"unknown","default":"agent-suggestions"},"maxSteps":{"type":"unknown","default":"@config.maxSteps"},"instructions":{"type":"unknown","default":"@config.instructions"}},"events":{"ASSISTANT_REPLY_FAILED":"PROACTIVE_FAILED","ASSISTANT_REPLIED":"PROACTIVE_REPLIED"},"listens":[{"event":"SUGGESTION_RUN_STARTED","triggers":"CONVERSE","source":{"kind":"trait","trait":"AgentSuggestionRunner"}}]}],"pages":[{"name":"AgentSuggestionsPage","id":"pag_01XJK476XBKENPA6MKZJXH239S","path":"/agent-suggestions","traits":[{"ref":"AgentSuggestionInbox","refId":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},{"ref":"AgentSuggestionProposer","refId":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},{"ref":"AgentSuggestionTrigger","refId":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV"},{"ref":"AgentSuggestionRunner","refId":"trt_WD2954H123GH1GJAJEQ5J6E59W"},{"ref":"AgentSuggestionLoop","refId":"trt_8XWNVD310RGGC4426F000RK9BF"}]}],"config":{"emptyDescription":{"type":"string","default":"","label":"Empty inbox hint","tier":"presentation"},"emptyTitle":{"type":"string","default":"No suggestions right now","label":"Empty inbox title","tier":"presentation"},"actions":{"type":"[string]","default":[],"label":"Which actions may a suggestion carry?","description":"When listed, a proposal carrying any other action, or none, is refused (SUGGESTION_REJECTED). Empty accepts any action.","tier":"domain","items":{"type":"string"}},"analyzeLabel":{"type":"string","default":"Look for suggestions","label":"Look-again button","description":"Shown in the empty inbox; asks the agent to look again.","tier":"presentation"},"panelSlot":{"type":"slot","default":"main","label":"Where the inbox renders","description":"`main` for the content of a launcher or page; `modal` or `drawer` for an overlay opened with OPEN (a notification bell).","tier":"presentation"},"prompt":{"type":"string","default":"Look at what I have been doing and propose what I could do next, one suggestion at a time.","label":"What does the agent look into?","description":"The request each proactive run answers.","tier":"domain"},"maxSteps":{"type":"number","default":8,"label":"Model round-trips per run","tier":"policy"},"title":{"type":"string","default":"Suggestions","label":"Inbox heading","tier":"presentation"},"closeLabel":{"type":"string","default":"Close","label":"Close button","tier":"presentation"},"acceptLabel":{"type":"string","default":"Accept","label":"Accept button","tier":"presentation"},"maxPending":{"type":"number","default":5,"label":"How many suggestions may wait at once?","description":"A proposal is refused (SUGGESTION_LIMIT_REACHED) while this many are pending. 0 refuses every proposal.","tier":"policy"},"kinds":{"type":"[string]","default":[],"label":"Which kinds may be proposed?","description":"When listed, a proposal of any other kind is refused (SUGGESTION_REJECTED). Empty accepts any kind.","tier":"domain","items":{"type":"string"}},"dismissLabel":{"type":"string","default":"Dismiss","label":"Dismiss button","tier":"presentation"},"cooldownMinutes":{"type":"number","default":60,"label":"Minutes between proactive runs","description":"A trigger starts a run only when this long has passed since the person's last run. 0 runs on every trigger.","tier":"policy"},"historyLabel":{"type":"string","default":"Past suggestions","label":"Past-suggestions link","tier":"presentation"},"instructions":{"type":"string","default":"You propose next steps to the signed-in person. Look things up with the tools, then call the proposal tool once for each suggestion worth making, with the reason in its body. When a proposal is refused as a duplicate or the pending limit is reached, do not propose again. Propose nothing when nothing is worth suggesting.","label":"How should the agent behave?","description":"Standing instructions sent with every proactive run.","tier":"domain"},"historyHref":{"type":"string","default":"/agent-suggestions/history","label":"Where past suggestions are listed","description":"The page the inbox links to for accepted and dismissed suggestions; empty hides the link. The history page of an app that imports this orbital is its own page over its retargeted entity.","tier":"presentation"},"startOpen":{"type":"boolean","default":true,"label":"Show the inbox as soon as it mounts?","description":"Off for an overlay that waits for OPEN.","tier":"presentation"},"tools":{"type":"[AgentTool]","default":[{"event":"AgentSuggestionProposer.PROPOSE_SUGGESTION"}],"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 the proposal input addressed by its local orbital name (`{ event: Suggestions.AgentSuggestionProposer.PROPOSE_SUGGESTION }`), which the agent can never propose without.","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"]}}}}}},"icon":{"type":"string","default":"lightbulb","label":"Inbox icon","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}],"RunRow":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"ranAt","type":"number"}],"SuggestionProposal":[{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"payload","type":"Map<string,string>"}],"SuggestionRow":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}]}},{"name":"AgentSuggestionRecordsOrbital","id":"orb_GPVW3XA0TM0DA31Q3XV7J7DPM8","entity":{"name":"AgentSuggestion","id":"ent_GPKXFQKCW3PE1VAMM9H91E00NG","collection":"agentSuggestions","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true,"description":"Whom this is proposed to (the real @user). The binding organism scopes @read/@create/@update to it.","synonyms":"user, owner, account"},{"name":"kind","type":"string","default":"","description":"What sort of suggestion this is; the app's own vocabulary.","synonyms":"type, category"},{"name":"title","type":"string","default":"","description":"The suggestion in a line.","synonyms":"headline, name"},{"name":"body","type":"string","default":"","description":"Why the agent proposes it.","synonyms":"reasoning, reason, description, explanation"},{"name":"action","type":"string","default":"","description":"What accepting it does: a name the app routes from SUGGESTION_ACCEPTED.","synonyms":"event, command"},{"name":"href","type":"string","default":"","description":"A page accepting it opens; empty for none.","synonyms":"link, url, route"},{"name":"payload","type":"object","default":{},"items":{"type":"string"},"description":"What the action needs.","synonyms":"params, arguments, data"},{"name":"subject","type":"string","default":"","description":"What the suggestion is about (an id or slug).","synonyms":"target, topic"},{"name":"signature","type":"string","default":"","description":"kind:action:subject. One signature is proposed to a person at most once, whatever became of it.","synonyms":"dedup key, fingerprint"},{"name":"status","type":"string","default":"pending","values":["pending","accepted","dismissed"],"description":"Where the suggestion stands."},{"name":"createdAt","type":"number","default":0,"description":"When it was proposed (ms).","synonyms":"time, timestamp"},{"name":"resolvedAt","type":"number","default":0,"description":"When it was accepted or dismissed (ms)."},{"name":"pendingProposal","type":"object","default":{"kind":"","title":"","body":"","action":"","href":"","subject":"","signature":"","payload":{}},"properties":{"title":{"name":"title","type":"string","required":false},"signature":{"name":"signature","type":"string","required":false},"payload":{"name":"payload","type":"object","required":false,"items":{"type":"string"}},"subject":{"name":"subject","type":"string","required":false},"action":{"name":"action","type":"string","required":false},"href":{"name":"href","type":"string","required":false},"body":{"name":"body","type":"string","required":false},"kind":{"name":"kind","type":"string","required":false}},"intrinsic":true,"description":"The proposal being checked for a duplicate."}]},"auxiliaryEntities":[{"name":"AgentSuggestionRun","id":"ent_YP2ECQ075J3JS6F6WSHNP6571S","collection":"agentSuggestionRuns","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true,"description":"Whose run this was (the real @user). The binding organism scopes @read/@create to it.","synonyms":"user, owner, account"},{"name":"ranAt","type":"number","default":0,"description":"When the agent was last asked to look (ms).","synonyms":"time, started"}]}],"traits":[{"name":"AgentSuggestionHistory","id":"trt_Q07QNVE6V13DGXCYZSXQNA3093","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"fetch","resource":"AgentSuggestion"},{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"AgentSuggestion","linkedEntityId":"ent_GPKXFQKCW3PE1VAMM9H91E00NG","entityRefIds":{"AgentSuggestion":"ent_GPKXFQKCW3PE1VAMM9H91E00NG"},"emits":[{"event":"SuggestionsLoaded","eventId":"evt_YMVESNACQJ6BSCANJB4XYW2FV2","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"entity":"SuggestionRow"}]},{"event":"SuggestionsLoadFailed","eventId":"evt_7735B929274H3MHMWD9A96JJCZ","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"browsing","isInitial":true}],"events":[{"key":"INIT","id":"evt_J6M3VDCRVRCDWC4WK1WHBP3S8G","name":"Initialize"},{"key":"SuggestionsLoaded","id":"evt_YMVESNACQJ6BSCANJB4XYW2FV2","name":"Suggestions loaded","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"entity":"SuggestionRow"}]},{"key":"SuggestionsLoadFailed","id":"evt_7735B929274H3MHMWD9A96JJCZ","name":"Suggestions load failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"transitions":[{"from":"browsing","to":"browsing","event":"INIT","eventId":"evt_J6M3VDCRVRCDWC4WK1WHBP3S8G","effects":[["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"list","rows":6}]]},{"from":"browsing","to":"browsing","event":"SuggestionsLoaded","eventId":"evt_YMVESNACQJ6BSCANJB4XYW2FV2","effects":[["render-ui","main",{"emptyTitle":"@config.emptyHeading","entity":["array/sort","@payload.data","createdAt","desc"],"fields":[{"label":"Status","name":"status","variant":"badge"},{"label":"Suggestion","name":"title","variant":"h4"},{"label":"Why","name":"body","variant":"body"}],"gap":"sm","type":"data-list","variant":"card"}]]},{"from":"browsing","to":"browsing","event":"SuggestionsLoadFailed","eventId":"evt_7735B929274H3MHMWD9A96JJCZ","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]}]},"config":{"emptyHeading":{"type":"string","default":"Nothing suggested yet","label":"What shows when nothing was ever suggested?","tier":"presentation"}},"scope":"collection"}],"pages":[{"name":"AgentSuggestionHistoryPage","id":"pag_9QESZJPF9V7MXYSD6NAMNWKVDN","path":"/agent-suggestions/history","traits":[{"ref":"AgentSuggestionHistory","refId":"trt_Q07QNVE6V13DGXCYZSXQNA3093"}]}],"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}],"RunRow":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"ranAt","type":"number"}],"SuggestionProposal":[{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"payload","type":"Map<string,string>"}],"SuggestionRow":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_498EAE38CJM69F9R1Y7TBBVNYQ":{"id":"ent_498EAE38CJM69F9R1Y7TBBVNYQ","kind":"entity","bakedName":"AgentSuggestionsHost","curName":"AgentSuggestionsHost","renames":[],"owner":"workspace"},"ent_GPKXFQKCW3PE1VAMM9H91E00NG":{"id":"ent_GPKXFQKCW3PE1VAMM9H91E00NG","kind":"entity","bakedName":"AgentSuggestion","curName":"AgentSuggestion","renames":[],"owner":"workspace"},"ent_YP2ECQ075J3JS6F6WSHNP6571S":{"id":"ent_YP2ECQ075J3JS6F6WSHNP6571S","kind":"entity","bakedName":"AgentSuggestionRun","curName":"AgentSuggestionRun","renames":[],"owner":"workspace"},"evt_098J2ZTZ0NFGARBY2AYG5KS1W2":{"id":"evt_098J2ZTZ0NFGARBY2AYG5KS1W2","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV"},"evt_1BMQFYW4TV2DDWQ1QGFAKA8984":{"id":"evt_1BMQFYW4TV2DDWQ1QGFAKA8984","kind":"event","bakedName":"SuggestionForAccept","curName":"SuggestionForAccept","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_1KRQ7CZ258H2MC009DT1GDFD64":{"id":"evt_1KRQ7CZ258H2MC009DT1GDFD64","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_22R2X65SV7WXKVYM3FGMYE2DE2":{"id":"evt_22R2X65SV7WXKVYM3FGMYE2DE2","kind":"event","bakedName":"ANALYZE","curName":"ANALYZE","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_3QVTBX8ZCWFPE37NJM8HXJF60Y":{"id":"evt_3QVTBX8ZCWFPE37NJM8HXJF60Y","kind":"event","bakedName":"START","curName":"START","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_5HADSAPPDNB6TP1NGFGV1E1MZR":{"id":"evt_5HADSAPPDNB6TP1NGFGV1E1MZR","kind":"event","bakedName":"SuggestionSaveFailed","curName":"SuggestionSaveFailed","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_677VKRQE7CQ3P6GPM4G4Q6Q8QT":{"id":"evt_677VKRQE7CQ3P6GPM4G4Q6Q8QT","kind":"event","bakedName":"CLOSE","curName":"CLOSE","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_76XCHK2HMA8T52YHKZYK6YNSZY":{"id":"evt_76XCHK2HMA8T52YHKZYK6YNSZY","kind":"event","bakedName":"SUGGESTION_RUN_STARTED","curName":"SUGGESTION_RUN_STARTED","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_7735B929274H3MHMWD9A96JJCZ":{"id":"evt_7735B929274H3MHMWD9A96JJCZ","kind":"event","bakedName":"SuggestionsLoadFailed","curName":"SuggestionsLoadFailed","renames":[],"owner":"workspace","parent":"trt_Q07QNVE6V13DGXCYZSXQNA3093"},"evt_89GN3HZV9GXMREK6E8V4J7VD5Y":{"id":"evt_89GN3HZV9GXMREK6E8V4J7VD5Y","kind":"event","bakedName":"SUGGESTION_DUPLICATE","curName":"SUGGESTION_DUPLICATE","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_8AQP84NBG3NR1ZTNSRPQ6KFXPY":{"id":"evt_8AQP84NBG3NR1ZTNSRPQ6KFXPY","kind":"event","bakedName":"SuggestionAccepted","curName":"SuggestionAccepted","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_8P2A9PHY6FZ37Q7D7DFZWYK8YZ":{"id":"evt_8P2A9PHY6FZ37Q7D7DFZWYK8YZ","kind":"event","bakedName":"SuggestionsLoaded","curName":"SuggestionsLoaded","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_8PM5W6DZP5ZV2HZ1V340Z3BP6C":{"id":"evt_8PM5W6DZP5ZV2HZ1V340Z3BP6C","kind":"event","bakedName":"PROPOSE_SUGGESTION","curName":"PROPOSE_SUGGESTION","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_8XR32ETR7WC3Y9978P56KYCF36":{"id":"evt_8XR32ETR7WC3Y9978P56KYCF36","kind":"event","bakedName":"ACCEPT","curName":"ACCEPT","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_8YBG03BYZVZFXSRDQM6NGB3A3Y":{"id":"evt_8YBG03BYZVZFXSRDQM6NGB3A3Y","kind":"event","bakedName":"SUGGESTION_DISMISSED","curName":"SUGGESTION_DISMISSED","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_AF1F4TD86XM3ETR1YG8C0NQGPV":{"id":"evt_AF1F4TD86XM3ETR1YG8C0NQGPV","kind":"event","bakedName":"REFRESH","curName":"REFRESH","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_AJKKEFZB7HNKRHXWTV0E0HNV5T":{"id":"evt_AJKKEFZB7HNKRHXWTV0E0HNV5T","kind":"event","bakedName":"LOOP_REPLIED","curName":"LOOP_REPLIED","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_B08GD9S6J6K938RECSWDSYJF3Q":{"id":"evt_B08GD9S6J6K938RECSWDSYJF3Q","kind":"event","bakedName":"SUGGESTION_RUN_FAILED","curName":"SUGGESTION_RUN_FAILED","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_BKBGM34JN19AGJR82K4K460Y79":{"id":"evt_BKBGM34JN19AGJR82K4K460Y79","kind":"event","bakedName":"SUGGESTION_ACCEPTED","curName":"SUGGESTION_ACCEPTED","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_D5M9WED9Y4MZ2FDZJXM7EKVABQ":{"id":"evt_D5M9WED9Y4MZ2FDZJXM7EKVABQ","kind":"event","bakedName":"RunsLoadFailed","curName":"RunsLoadFailed","renames":[],"owner":"workspace","parent":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV"},"evt_DVJ0ZMXC9KP4SK4M23VC5N8250":{"id":"evt_DVJ0ZMXC9KP4SK4M23VC5N8250","kind":"event","bakedName":"SuggestionForDismiss","curName":"SuggestionForDismiss","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_DXJDDYTFAH7N8V148AB7EF33YN":{"id":"evt_DXJDDYTFAH7N8V148AB7EF33YN","kind":"event","bakedName":"OPEN","curName":"OPEN","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_FC984KDPN7VAKZ8P2C535G883G":{"id":"evt_FC984KDPN7VAKZ8P2C535G883G","kind":"event","bakedName":"SUGGESTION_RUN_DONE","curName":"SUGGESTION_RUN_DONE","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_FN3PWA62T61D31W9DV3VZRWQYE":{"id":"evt_FN3PWA62T61D31W9DV3VZRWQYE","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_H2AJZXEYYNFFAJ1E2WS596K143":{"id":"evt_H2AJZXEYYNFFAJ1E2WS596K143","kind":"event","bakedName":"TRIGGERED","curName":"TRIGGERED","renames":[],"owner":"workspace","parent":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV"},"evt_H9758APD5D6JPGK0TWCYNMWEVQ":{"id":"evt_H9758APD5D6JPGK0TWCYNMWEVQ","kind":"event","bakedName":"SUGGESTION_RUN_ALLOWED","curName":"SUGGESTION_RUN_ALLOWED","renames":[],"owner":"workspace","parent":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV"},"evt_J6M3VDCRVRCDWC4WK1WHBP3S8G":{"id":"evt_J6M3VDCRVRCDWC4WK1WHBP3S8G","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_Q07QNVE6V13DGXCYZSXQNA3093"},"evt_JFH0JHEQ9YBMZ8T6Q5BHKM2SWF":{"id":"evt_JFH0JHEQ9YBMZ8T6Q5BHKM2SWF","kind":"event","bakedName":"RunRecorded","curName":"RunRecorded","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_NKXJ4R1ZW9ZY4VRBWAXJGAYA89":{"id":"evt_NKXJ4R1ZW9ZY4VRBWAXJGAYA89","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_NP2P8TSAV6NDK1CGKM3TDJVG1Y":{"id":"evt_NP2P8TSAV6NDK1CGKM3TDJVG1Y","kind":"event","bakedName":"SuggestionsLoadFailed","curName":"SuggestionsLoadFailed","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_NV4QRZV6PHKB8MAT4EN6SP7YW7":{"id":"evt_NV4QRZV6PHKB8MAT4EN6SP7YW7","kind":"event","bakedName":"RunsForTrigger","curName":"RunsForTrigger","renames":[],"owner":"workspace","parent":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV"},"evt_NV8DG2JD296H4PY99ESXKCDM7G":{"id":"evt_NV8DG2JD296H4PY99ESXKCDM7G","kind":"event","bakedName":"DISMISS","curName":"DISMISS","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_PZ7K185WDXY6YTA8851C7YMQYV":{"id":"evt_PZ7K185WDXY6YTA8851C7YMQYV","kind":"event","bakedName":"SUGGESTION_LIMIT_REACHED","curName":"SUGGESTION_LIMIT_REACHED","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_Q82ZNY2AAQ55BJ3ZRNQWHPFKX6":{"id":"evt_Q82ZNY2AAQ55BJ3ZRNQWHPFKX6","kind":"event","bakedName":"SuggestionCheckFailed","curName":"SuggestionCheckFailed","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_SHGAG0XBRANW56KZ6JMJ9K0F07":{"id":"evt_SHGAG0XBRANW56KZ6JMJ9K0F07","kind":"event","bakedName":"SuggestionResolveFailed","curName":"SuggestionResolveFailed","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_T6G9FR53Q5HVJKMYQB6QSGVACH":{"id":"evt_T6G9FR53Q5HVJKMYQB6QSGVACH","kind":"event","bakedName":"SUGGESTION_ADDED","curName":"SUGGESTION_ADDED","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_TCY868Y0SC0CP5R39ANHKBNTH5":{"id":"evt_TCY868Y0SC0CP5R39ANHKBNTH5","kind":"event","bakedName":"RunRecordFailed","curName":"RunRecordFailed","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_WBQ50Z23C81P400NCZ6Z68DKPB":{"id":"evt_WBQ50Z23C81P400NCZ6Z68DKPB","kind":"event","bakedName":"SUGGESTIONS_ANALYZE_REQUESTED","curName":"SUGGESTIONS_ANALYZE_REQUESTED","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_WBWVT7NB30NHG86577D3K5PD6H":{"id":"evt_WBWVT7NB30NHG86577D3K5PD6H","kind":"event","bakedName":"SUGGESTION_REJECTED","curName":"SUGGESTION_REJECTED","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_YMVESNACQJ6BSCANJB4XYW2FV2":{"id":"evt_YMVESNACQJ6BSCANJB4XYW2FV2","kind":"event","bakedName":"SuggestionsLoaded","curName":"SuggestionsLoaded","renames":[],"owner":"workspace","parent":"trt_Q07QNVE6V13DGXCYZSXQNA3093"},"evt_YV0S43TBCE5P7AV2S1ENSYYZAT":{"id":"evt_YV0S43TBCE5P7AV2S1ENSYYZAT","kind":"event","bakedName":"LOOP_FAILED","curName":"LOOP_FAILED","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_Z4H34Z18RXMCEWWJH6G88C5SYY":{"id":"evt_Z4H34Z18RXMCEWWJH6G88C5SYY","kind":"event","bakedName":"SuggestionDismissed","curName":"SuggestionDismissed","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_ZMBNEFNX4YYJF57R7M4A3W9J52":{"id":"evt_ZMBNEFNX4YYJF57R7M4A3W9J52","kind":"event","bakedName":"SuggestionsForPropose","curName":"SuggestionsForPropose","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"orb_B71HVN07773KKV0899YDS0WFWR":{"id":"orb_B71HVN07773KKV0899YDS0WFWR","kind":"orbital","bakedName":"AgentSuggestionsOrbital","curName":"AgentSuggestionsOrbital","renames":[],"owner":"workspace"},"orb_GPVW3XA0TM0DA31Q3XV7J7DPM8":{"id":"orb_GPVW3XA0TM0DA31Q3XV7J7DPM8","kind":"orbital","bakedName":"AgentSuggestionRecordsOrbital","curName":"AgentSuggestionRecordsOrbital","renames":[],"owner":"workspace"},"pag_01XJK476XBKENPA6MKZJXH239S":{"id":"pag_01XJK476XBKENPA6MKZJXH239S","kind":"page","bakedName":"AgentSuggestionsPage","curName":"AgentSuggestionsPage","renames":[],"owner":"workspace"},"pag_9QESZJPF9V7MXYSD6NAMNWKVDN":{"id":"pag_9QESZJPF9V7MXYSD6NAMNWKVDN","kind":"page","bakedName":"AgentSuggestionHistoryPage","curName":"AgentSuggestionHistoryPage","renames":[],"owner":"workspace"},"trt_4S0W3THZWJZY9ATTB53AQ8H3XV":{"id":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV","kind":"trait","bakedName":"AgentSuggestionTrigger","curName":"AgentSuggestionTrigger","renames":[],"owner":"workspace"},"trt_7M6JWPTYVXFDYJSF1EE8A2B506":{"id":"trt_7M6JWPTYVXFDYJSF1EE8A2B506","kind":"trait","bakedName":"AgentSuggestionProposer","curName":"AgentSuggestionProposer","renames":[],"owner":"workspace"},"trt_8XWNVD310RGGC4426F000RK9BF":{"id":"trt_8XWNVD310RGGC4426F000RK9BF","kind":"trait","bakedName":"AgentSuggestionLoop","curName":"AgentSuggestionLoop","renames":[],"owner":"workspace"},"trt_FXHHN7TQGWBRECCFB225QQJ1SN":{"id":"trt_FXHHN7TQGWBRECCFB225QQJ1SN","kind":"trait","bakedName":"AgentSuggestionInbox","curName":"AgentSuggestionInbox","renames":[],"owner":"workspace"},"trt_Q07QNVE6V13DGXCYZSXQNA3093":{"id":"trt_Q07QNVE6V13DGXCYZSXQNA3093","kind":"trait","bakedName":"AgentSuggestionHistory","curName":"AgentSuggestionHistory","renames":[],"owner":"workspace"},"trt_WD2954H123GH1GJAJEQ5J6E59W":{"id":"trt_WD2954H123GH1GJAJEQ5J6E59W","kind":"trait","bakedName":"AgentSuggestionRunner","curName":"AgentSuggestionRunner","renames":[],"owner":"workspace"}}}}
|
|
1
|
+
{"name":"std-agent-suggestions","version":"1.0.0","description":"std-agent-suggestions — an agent that proactively proposes things to the signed-in person, who accepts or dismisses each one. The agent proposes through one declared input, PROPOSE_SUGGESTION (its @description is the tool text): a kind, a title, a body that gives its reasoning, an optional action (a name the app routes) with a payload, an optional href, and a subject (what it is about). A suggestion's signature is kind:action:subject; a signature that was ever proposed to this person, accepted or dismissed included, is never stored again (SUGGESTION_DUPLICATE), and no more than `maxPending` wait at once (SUGGESTION_LIMIT_REACHED). `kinds` and `actions`, when listed, are the only values accepted (SUGGESTION_REJECTED). The agent runs on its own: any trait emitting SUGGESTIONS_TRIGGERED (or an app event routed into AgentSuggestionTrigger's TRIGGERED by re-binding that trait in the import body with `omit { AgentSuggestionTrigger }` and its own `listens`) asks for a run, and once `cooldownMinutes` have passed since this person's last run a second std-agent-tool-loop answers `prompt` with `tools` as the signed-in person — `quiet`, so it streams no live steps and toasts no failure, and its reply and failure are renamed PROACTIVE_REPLIED / PROACTIVE_FAILED so they never reach the assistant's chat. AgentSuggestionInbox lists the pending suggestions with Accept and Dismiss and an empty state that offers to look again (SUGGESTIONS_ANALYZE_REQUESTED). Accept stores accepted, emits SUGGESTION_ACCEPTED { action, payload, href, … } for the app to route (and navigates to `href` when the suggestion has one); Dismiss stores dismissed and emits SUGGESTION_DISMISSED. The inbox renders into `panelSlot`: `main` inline (the content of a std-panel-launcher), or `modal`/`drawer` opened with OPEN and closed with CLOSE (set std-app-layout's notificationClickEvent, or a topBarActions event, to SUGGESTIONS_OPEN_REQUESTED). Import the orbital once per app: `orbital Suggestions = Suggest.orbitals.AgentSuggestionsOrbital { entity MySuggestion entities { AgentSuggestionRun: MySuggestionRun } config { … } }`, retargeting the records onto owner-scoped entities (`ownerId` a relation to your [identity] roster, with @read/@create/@update); a suggestion's proposer, inbox and trigger read only the rows whose ownerId is the signed-in person. PROPOSE_SUGGESTION's refusals (SUGGESTION_DUPLICATE, SUGGESTION_LIMIT_REACHED, SUGGESTION_REJECTED) are the agent's tool response; no trait listens to them. Suggestion kinds, actions and prompts are the app's vocabulary, declared in config.","orbitals":[{"name":"AgentSuggestionsOrbital","id":"orb_B71HVN07773KKV0899YDS0WFWR","uses":[{"from":"std/behaviors/std-agent-tool-loop","as":"Loop"}],"entity":{"name":"AgentSuggestionsHost","id":"ent_498EAE38CJM69F9R1Y7TBBVNYQ","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"name":"AgentSuggestionProposer","id":"trt_7M6JWPTYVXFDYJSF1EE8A2B506","entityRebindable":true,"entityContract":{"requires":[],"provides":["pendingProposal"]},"effectRow":[{"kind":"emit","resource":"SUGGESTION_DUPLICATE"},{"kind":"emit","resource":"SUGGESTION_LIMIT_REACHED"},{"kind":"emit","resource":"SUGGESTION_REJECTED"},{"kind":"fetch","resource":"AgentSuggestion"},{"kind":"persist","resource":"AgentSuggestion"},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.pendingProposal"}],"category":"lifecycle","linkedEntity":"AgentSuggestion","emits":[{"event":"SUGGESTION_ADDED","eventId":"evt_T6G9FR53Q5HVJKMYQB6QSGVACH","description":"A suggestion was stored for the person — payload is the created AgentSuggestion row itself.","synonyms":"proposed, suggested, new suggestion","tier":"domain","scope":"external","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string"},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}]},{"event":"SUGGESTION_DUPLICATE","eventId":"evt_89GN3HZV9GXMREK6E8V4J7VD5Y","description":"This signature was already proposed to the person (pending, accepted or dismissed), so nothing was stored.","synonyms":"already proposed, repeat, seen before","tier":"domain","scope":"external","payloadSchema":[{"name":"signature","type":"string","required":true}]},{"event":"SUGGESTION_LIMIT_REACHED","eventId":"evt_PZ7K185WDXY6YTA8851C7YMQYV","description":"The person already has the most pending suggestions allowed, so nothing was stored.","synonyms":"too many, queue full, cap","tier":"domain","scope":"external","payloadSchema":[{"name":"maxPending","type":"number","required":true}]},{"event":"SUGGESTION_REJECTED","eventId":"evt_WBWVT7NB30NHG86577D3K5PD6H","description":"The proposal was refused (a kind or action not allowed, or it could not be checked or stored); the reason says why.","synonyms":"refused, invalid, not allowed","tier":"domain","scope":"external","payloadSchema":[{"name":"reason","type":"string","required":true}]},{"event":"SuggestionsForPropose","eventId":"evt_ZMBNEFNX4YYJF57R7M4A3W9J52","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"entity":"SuggestionRow"}]},{"event":"SuggestionCheckFailed","eventId":"evt_Q82ZNY2AAQ55BJ3ZRNQWHPFKX6","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"SuggestionSaveFailed","eventId":"evt_5HADSAPPDNB6TP1NGFGV1E1MZR","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"ready","isInitial":true}],"events":[{"key":"INIT","id":"evt_1KRQ7CZ258H2MC009DT1GDFD64","name":"Initialize"},{"key":"PROPOSE_SUGGESTION","id":"evt_8PM5W6DZP5ZV2HZ1V340Z3BP6C","name":"Propose Suggestion","description":"Propose something to the signed-in person: a kind, a title, a body that gives the reason, an optional action with its payload, an optional href, and the subject it is about (an id or slug). A proposal whose kind, action and subject were already proposed to this person is refused, whatever became of the first; so is one past the pending limit.","synonyms":"suggest, recommend, propose, offer","payloadSchema":[{"name":"kind","type":"string","required":true},{"name":"title","type":"string","required":true},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"subject","type":"string","required":true},{"name":"payload","type":"Map<string,string>"}],"external":true,"listened":true},{"key":"SuggestionsForPropose","id":"evt_ZMBNEFNX4YYJF57R7M4A3W9J52","name":"Suggestions for propose","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}]}]},{"key":"SuggestionCheckFailed","id":"evt_Q82ZNY2AAQ55BJ3ZRNQWHPFKX6","name":"Suggestion check failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"key":"SuggestionSaveFailed","id":"evt_5HADSAPPDNB6TP1NGFGV1E1MZR","name":"Suggestion save failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"key":"SUGGESTION_ADDED","id":"evt_T6G9FR53Q5HVJKMYQB6QSGVACH","name":"Suggestion Added","description":"A suggestion was stored for the person — payload is the created AgentSuggestion row itself.","synonyms":"proposed, suggested, new suggestion","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string"},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}]},{"key":"SUGGESTION_DUPLICATE","id":"evt_89GN3HZV9GXMREK6E8V4J7VD5Y","name":"Suggestion Duplicate","description":"This signature was already proposed to the person (pending, accepted or dismissed), so nothing was stored.","synonyms":"already proposed, repeat, seen before","tier":"domain","payloadSchema":[{"name":"signature","type":"string","required":true}]},{"key":"SUGGESTION_LIMIT_REACHED","id":"evt_PZ7K185WDXY6YTA8851C7YMQYV","name":"Suggestion Limit Reached","description":"The person already has the most pending suggestions allowed, so nothing was stored.","synonyms":"too many, queue full, cap","tier":"domain","payloadSchema":[{"name":"maxPending","type":"number","required":true}]},{"key":"SUGGESTION_REJECTED","id":"evt_WBWVT7NB30NHG86577D3K5PD6H","name":"Suggestion Rejected","description":"The proposal was refused (a kind or action not allowed, or it could not be checked or stored); the reason says why.","synonyms":"refused, invalid, not allowed","tier":"domain","payloadSchema":[{"name":"reason","type":"string","required":true}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_1KRQ7CZ258H2MC009DT1GDFD64"},{"from":"ready","to":"ready","event":"PROPOSE_SUGGESTION","eventId":"evt_8PM5W6DZP5ZV2HZ1V340Z3BP6C","guard":["and",[">",["array/len","@config.allowedKinds"],0],["not",["array/includes","@config.allowedKinds","@payload.kind"]]],"effects":[["emit","SUGGESTION_REJECTED",{"reason":["str/concat","Unknown kind \"","@payload.kind","\". Allowed kinds: ",["str/join","@config.allowedKinds",", "]]}]]},{"from":"ready","to":"ready","event":"PROPOSE_SUGGESTION","eventId":"evt_8PM5W6DZP5ZV2HZ1V340Z3BP6C","guard":["and",["or",["=",["array/len","@config.allowedKinds"],0],["array/includes","@config.allowedKinds","@payload.kind"]],[">",["array/len","@config.allowedActions"],0],["not",["array/includes","@config.allowedActions",["str/default","@payload.action",""]]]],"effects":[["emit","SUGGESTION_REJECTED",{"reason":["str/concat","Unknown action \"",["str/default","@payload.action",""],"\". Allowed actions: ",["str/join","@config.allowedActions",", "]]}]]},{"from":"ready","to":"ready","event":"PROPOSE_SUGGESTION","eventId":"evt_8PM5W6DZP5ZV2HZ1V340Z3BP6C","guard":["and",["or",["=",["array/len","@config.allowedKinds"],0],["array/includes","@config.allowedKinds","@payload.kind"]],["or",["=",["array/len","@config.allowedActions"],0],["array/includes","@config.allowedActions",["str/default","@payload.action",""]]]],"effects":[["set","@entity.pendingProposal",{"kind":"@payload.kind","title":"@payload.title","body":["str/default","@payload.body",""],"action":["str/default","@payload.action",""],"href":["str/default","@payload.href",""],"subject":"@payload.subject","signature":["str/concat","@payload.kind",":",["str/default","@payload.action",""],":","@payload.subject"],"payload":["if",["==","@payload.payload",null],{},"@payload.payload"]}],["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionCheckFailed","success":"SuggestionsForPropose"}}]]},{"from":"ready","to":"ready","event":"SuggestionsForPropose","eventId":"evt_ZMBNEFNX4YYJF57R7M4A3W9J52","guard":["array/some","@payload.data",["fn","item",["=","@item.signature","@entity.pendingProposal.signature"]]],"effects":[["emit","SUGGESTION_DUPLICATE",{"signature":"@entity.pendingProposal.signature"}]]},{"from":"ready","to":"ready","event":"SuggestionsForPropose","eventId":"evt_ZMBNEFNX4YYJF57R7M4A3W9J52","guard":["and",["not",["array/some","@payload.data",["fn","item",["=","@item.signature","@entity.pendingProposal.signature"]]]],[">=",["array/count","@payload.data",["fn","item",["=","@item.status","pending"]]],"@config.pendingLimit"]],"effects":[["emit","SUGGESTION_LIMIT_REACHED",{"maxPending":"@config.pendingLimit"}]]},{"from":"ready","to":"ready","event":"SuggestionsForPropose","eventId":"evt_ZMBNEFNX4YYJF57R7M4A3W9J52","guard":["and",["not",["array/some","@payload.data",["fn","item",["=","@item.signature","@entity.pendingProposal.signature"]]]],["<",["array/count","@payload.data",["fn","item",["=","@item.status","pending"]]],"@config.pendingLimit"]],"effects":[["persist","create","AgentSuggestion",{"ownerId":"@user.id","kind":"@entity.pendingProposal.kind","title":"@entity.pendingProposal.title","body":"@entity.pendingProposal.body","action":"@entity.pendingProposal.action","href":"@entity.pendingProposal.href","payload":"@entity.pendingProposal.payload","subject":"@entity.pendingProposal.subject","signature":"@entity.pendingProposal.signature","status":"pending","createdAt":"@now"},{"emit":{"failure":"SuggestionSaveFailed","success":"SUGGESTION_ADDED"}}]]},{"from":"ready","to":"ready","event":"SuggestionCheckFailed","eventId":"evt_Q82ZNY2AAQ55BJ3ZRNQWHPFKX6","effects":[["emit","SUGGESTION_REJECTED",{"reason":["str/concat","Could not check earlier suggestions: ","@payload.error"]}],["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"warning"}]]},{"from":"ready","to":"ready","event":"SuggestionSaveFailed","eventId":"evt_5HADSAPPDNB6TP1NGFGV1E1MZR","effects":[["emit","SUGGESTION_REJECTED",{"reason":["str/concat","Could not store the suggestion: ","@payload.error"]}],["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"warning"}]]}]},"config":{"allowedKinds":{"type":"[string]","default":"@config.kinds","label":"Which kinds may be proposed?","description":"When listed, any other kind is refused. Empty accepts any.","synonyms":"types, categories, allowed kinds","tier":"domain","items":{"type":"string"}},"allowedActions":{"type":"[string]","default":"@config.actions","label":"Which actions may a suggestion carry?","description":"When listed, any other action is refused. Empty accepts any.","synonyms":"allowed actions, commands, events","tier":"domain","items":{"type":"string"}},"pendingLimit":{"type":"number","default":"@config.maxPending","label":"How many suggestions may wait at once?","description":"A proposal is refused (SUGGESTION_LIMIT_REACHED) while this many are pending.","synonyms":"limit, cap, queue size","tier":"policy"}},"scope":"instance"},{"name":"AgentSuggestionInbox","id":"trt_FXHHN7TQGWBRECCFB225QQJ1SN","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"emit","resource":"SUGGESTIONS_ANALYZE_REQUESTED"},{"kind":"emit","resource":"SUGGESTION_ACCEPTED"},{"kind":"emit","resource":"SUGGESTION_DISMISSED"},{"kind":"fetch","resource":"AgentSuggestion"},{"kind":"navigate","resource":"@payload.href"},{"kind":"persist","resource":"AgentSuggestion"},{"kind":"render-ui","resource":"@config.inboxSlot","resolved":false},{"kind":"render-ui","resource":"toast"}],"category":"interaction","linkedEntity":"AgentSuggestion","emits":[{"event":"SUGGESTION_ACCEPTED","eventId":"evt_BKBGM34JN19AGJR82K4K460Y79","description":"The person accepted a suggestion; the app routes `action` with `payload` (a suggestion with an href has already navigated there).","synonyms":"accepted, approved, taken up, do it","tier":"domain","scope":"external","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"subject","type":"string"},{"name":"payload","type":"Map<string,string>"}]},{"event":"SUGGESTION_DISMISSED","eventId":"evt_8YBG03BYZVZFXSRDQM6NGB3A3Y","description":"The person dismissed a suggestion; its signature is never proposed to them again.","synonyms":"dismissed, rejected, declined, no thanks","tier":"domain","scope":"external","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string"},{"name":"action","type":"string"},{"name":"subject","type":"string"}]},{"event":"SUGGESTIONS_ANALYZE_REQUESTED","eventId":"evt_WBQ50Z23C81P400NCZ6Z68DKPB","description":"The person asked the agent to look for suggestions again.","synonyms":"look again, refresh suggestions, analyze","tier":"domain","scope":"external"},{"event":"SuggestionsLoaded","eventId":"evt_8P2A9PHY6FZ37Q7D7DFZWYK8YZ","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"entity":"SuggestionRow"}]},{"event":"SuggestionsLoadFailed","eventId":"evt_NP2P8TSAV6NDK1CGKM3TDJVG1Y","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"SuggestionResolveFailed","eventId":"evt_SHGAG0XBRANW56KZ6JMJ9K0F07","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"SuggestionForAccept","eventId":"evt_1BMQFYW4TV2DDWQ1QGFAKA8984","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"entity":"SuggestionRow"}]},{"event":"SuggestionForDismiss","eventId":"evt_DVJ0ZMXC9KP4SK4M23VC5N8250","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"entity":"SuggestionRow"}]},{"event":"SuggestionAccepted","eventId":"evt_8AQP84NBG3NR1ZTNSRPQ6KFXPY","description":"Fired after a suggestion is stored as accepted","tier":"internal","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"payloadEntity":"SuggestionRow"},{"event":"SuggestionDismissed","eventId":"evt_Z4H34Z18RXMCEWWJH6G88C5SYY","description":"Fired after a suggestion is stored as dismissed","tier":"internal","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"payloadEntity":"SuggestionRow"}],"listens":[{"event":"SUGGESTION_ADDED","eventId":"evt_T6G9FR53Q5HVJKMYQB6QSGVACH","triggers":"REFRESH","triggersId":"evt_AF1F4TD86XM3ETR1YG8C0NQGPV","source":{"kind":"trait","trait":"AgentSuggestionProposer","traitId":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"}},{"event":"SUGGESTION_RUN_DONE","eventId":"evt_FC984KDPN7VAKZ8P2C535G883G","triggers":"REFRESH","triggersId":"evt_AF1F4TD86XM3ETR1YG8C0NQGPV","source":{"kind":"trait","trait":"AgentSuggestionRunner","traitId":"trt_WD2954H123GH1GJAJEQ5J6E59W"}},{"event":"SUGGESTION_RUN_FAILED","eventId":"evt_B08GD9S6J6K938RECSWDSYJF3Q","triggers":"REFRESH","triggersId":"evt_AF1F4TD86XM3ETR1YG8C0NQGPV","source":{"kind":"trait","trait":"AgentSuggestionRunner","traitId":"trt_WD2954H123GH1GJAJEQ5J6E59W"}},{"event":"SUGGESTIONS_OPEN_REQUESTED","triggers":"OPEN","triggersId":"evt_DXJDDYTFAH7N8V148AB7EF33YN","source":{"kind":"any"}}],"stateMachine":{"states":[{"name":"closed","isInitial":true},{"name":"open"}],"events":[{"key":"INIT","id":"evt_NKXJ4R1ZW9ZY4VRBWAXJGAYA89","name":"Initialize"},{"key":"OPEN","id":"evt_DXJDDYTFAH7N8V148AB7EF33YN","name":"Open","description":"Show the suggestions inbox. SUGGESTIONS_OPEN_REQUESTED from any trait arrives here.","synonyms":"show suggestions, open bell, view suggestions","tier":"presentation","listened":true},{"key":"SuggestionsLoaded","id":"evt_8P2A9PHY6FZ37Q7D7DFZWYK8YZ","name":"Suggestions loaded","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}]}]},{"key":"SuggestionsLoadFailed","id":"evt_NP2P8TSAV6NDK1CGKM3TDJVG1Y","name":"Suggestions load failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"key":"SuggestionResolveFailed","id":"evt_SHGAG0XBRANW56KZ6JMJ9K0F07","name":"Suggestion resolve failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"key":"REFRESH","id":"evt_AF1F4TD86XM3ETR1YG8C0NQGPV","name":"Refresh","description":"Reload the pending suggestions.","listened":true},{"key":"ANALYZE","id":"evt_22R2X65SV7WXKVYM3FGMYE2DE2","name":"Analyze","description":"Ask the agent to look for suggestions again.","tier":"presentation","listened":true},{"key":"ACCEPT","id":"evt_8XR32ETR7WC3Y9978P56KYCF36","name":"Accept","description":"Accept this suggestion.","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true}],"listened":true},{"key":"SuggestionForAccept","id":"evt_1BMQFYW4TV2DDWQ1QGFAKA8984","name":"Suggestion for accept","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}]}]},{"key":"SuggestionAccepted","id":"evt_8AQP84NBG3NR1ZTNSRPQ6KFXPY","name":"Suggestion accepted","tier":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"payloadEntity":"SuggestionRow"},{"key":"DISMISS","id":"evt_NV8DG2JD296H4PY99ESXKCDM7G","name":"Dismiss","description":"Dismiss this suggestion.","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true}],"listened":true},{"key":"SuggestionForDismiss","id":"evt_DVJ0ZMXC9KP4SK4M23VC5N8250","name":"Suggestion for dismiss","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}]}]},{"key":"SuggestionDismissed","id":"evt_Z4H34Z18RXMCEWWJH6G88C5SYY","name":"Suggestion dismissed","tier":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"payloadEntity":"SuggestionRow"},{"key":"CLOSE","id":"evt_677VKRQE7CQ3P6GPM4G4Q6Q8QT","name":"Close","description":"Hide the suggestions inbox.","synonyms":"close, hide, dismiss panel","tier":"presentation","listened":true},{"key":"SUGGESTION_ACCEPTED","id":"evt_BKBGM34JN19AGJR82K4K460Y79","name":"Suggestion Accepted","description":"The person accepted a suggestion; the app routes `action` with `payload` (a suggestion with an href has already navigated there).","synonyms":"accepted, approved, taken up, do it","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"subject","type":"string"},{"name":"payload","type":"Map<string,string>"}]},{"key":"SUGGESTION_DISMISSED","id":"evt_8YBG03BYZVZFXSRDQM6NGB3A3Y","name":"Suggestion Dismissed","description":"The person dismissed a suggestion; its signature is never proposed to them again.","synonyms":"dismissed, rejected, declined, no thanks","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string"},{"name":"action","type":"string"},{"name":"subject","type":"string"}]},{"key":"SUGGESTIONS_ANALYZE_REQUESTED","id":"evt_WBQ50Z23C81P400NCZ6Z68DKPB","name":"Suggestions Analyze Requested","description":"The person asked the agent to look for suggestions again.","synonyms":"look again, refresh suggestions, analyze","tier":"domain"}],"transitions":[{"from":"closed","to":"open","event":"INIT","eventId":"evt_NKXJ4R1ZW9ZY4VRBWAXJGAYA89","guard":"@config.showOnMount","effects":[["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}]]},{"from":"closed","to":"closed","event":"INIT","eventId":"evt_NKXJ4R1ZW9ZY4VRBWAXJGAYA89","guard":["not","@config.showOnMount"],"effects":[["render-ui","@config.inboxSlot",null]]},{"from":"closed","to":"open","event":"OPEN","eventId":"evt_DXJDDYTFAH7N8V148AB7EF33YN","effects":[["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}]]},{"from":"open","to":"open","event":"INIT","eventId":"evt_NKXJ4R1ZW9ZY4VRBWAXJGAYA89","guard":"@config.showOnMount","effects":[["render-ui","@config.inboxSlot",null],["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}]]},{"from":"open","to":"closed","event":"INIT","eventId":"evt_NKXJ4R1ZW9ZY4VRBWAXJGAYA89","guard":["not","@config.showOnMount"],"effects":[["render-ui","@config.inboxSlot",null]]},{"from":"open","to":"open","event":"SuggestionsLoaded","eventId":"evt_8P2A9PHY6FZ37Q7D7DFZWYK8YZ","effects":[["render-ui","@config.inboxSlot",{"children":[{"align":"center","children":[{"align":"center","children":[{"name":"@config.headingIcon","size":"lg","type":"icon"},{"content":"@config.heading","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},["if",["not",["=","@config.inboxSlot","main"]],{"action":"CLOSE","icon":"x","label":"@config.closeButtonLabel","type":"button","variant":"ghost"},null]],"direction":"horizontal","gap":"sm","justify":"between","type":"stack"},{"type":"divider"},{"emptyAction":{"label":"@config.lookAgainLabel","event":"ANALYZE"},"emptyDescription":"@config.emptyHint","emptyTitle":"@config.emptyHeading","entity":["array/sort",["array/filter","@payload.data",["fn","item",["=","@item.status","pending"]]],"createdAt","desc"],"fields":[{"label":"Kind","name":"kind","variant":"badge"},{"label":"Suggestion","name":"title","variant":"h4"},{"label":"Why","name":"body","variant":"body"}],"gap":"sm","itemActions":[{"event":"ACCEPT","icon":"check","label":"@config.approveLabel","variant":"primary"},{"event":"DISMISS","icon":"x","label":"@config.declineLabel","variant":"ghost"}],"type":"data-list","variant":"card"},["if",["not",["=","@config.historyLink",""]],{"href":"@config.historyLink","label":"@config.historyLinkLabel","size":"sm","type":"button","variant":"ghost"},null]],"className":"max-h-[60vh] overflow-y-auto","direction":"vertical","gap":"md","type":"stack"}]]},{"from":"open","to":"open","event":"SuggestionsLoadFailed","eventId":"evt_NP2P8TSAV6NDK1CGKM3TDJVG1Y","effects":[["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"open","to":"open","event":"SuggestionResolveFailed","eventId":"evt_SHGAG0XBRANW56KZ6JMJ9K0F07","effects":[["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"open","to":"open","event":"REFRESH","eventId":"evt_AF1F4TD86XM3ETR1YG8C0NQGPV","effects":[["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}]]},{"from":"open","to":"open","event":"OPEN","eventId":"evt_DXJDDYTFAH7N8V148AB7EF33YN","effects":[["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}]]},{"from":"open","to":"open","event":"ANALYZE","eventId":"evt_22R2X65SV7WXKVYM3FGMYE2DE2","effects":[["emit","SUGGESTIONS_ANALYZE_REQUESTED",{}]]},{"from":"open","to":"open","event":"ACCEPT","eventId":"evt_8XR32ETR7WC3Y9978P56KYCF36","effects":[["fetch","AgentSuggestion",{"emit":{"failure":"SuggestionResolveFailed","success":"SuggestionForAccept"},"filter":["=",["object/get","@entity","id"],"@payload.id"]}]]},{"from":"open","to":"open","event":"SuggestionForAccept","eventId":"evt_1BMQFYW4TV2DDWQ1QGFAKA8984","guard":["and",[">",["array/len","@payload.data"],0],["=",["object/get",["array/first","@payload.data"],"status"],"pending"]],"effects":[["persist","update","AgentSuggestion",{"id":["object/get",["array/first","@payload.data"],"id"],"ownerId":["object/get",["array/first","@payload.data"],"ownerId"],"kind":["object/get",["array/first","@payload.data"],"kind"],"title":["object/get",["array/first","@payload.data"],"title"],"body":["object/get",["array/first","@payload.data"],"body"],"action":["object/get",["array/first","@payload.data"],"action"],"href":["object/get",["array/first","@payload.data"],"href"],"payload":["object/get",["array/first","@payload.data"],"payload"],"subject":["object/get",["array/first","@payload.data"],"subject"],"signature":["object/get",["array/first","@payload.data"],"signature"],"status":"accepted","createdAt":["object/get",["array/first","@payload.data"],"createdAt"],"resolvedAt":"@now"},{"emit":{"failure":"SuggestionResolveFailed","success":"SuggestionAccepted"}}]]},{"from":"open","to":"open","event":"SuggestionAccepted","eventId":"evt_8AQP84NBG3NR1ZTNSRPQ6KFXPY","guard":["=",["str/default","@payload.href",""],""],"effects":[["emit","SUGGESTION_ACCEPTED",{"id":"@payload.id","kind":"@payload.kind","action":"@payload.action","href":"@payload.href","subject":"@payload.subject","payload":"@payload.payload"}],["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}]]},{"from":"open","to":"open","event":"SuggestionAccepted","eventId":"evt_8AQP84NBG3NR1ZTNSRPQ6KFXPY","guard":["not",["=",["str/default","@payload.href",""],""]],"effects":[["emit","SUGGESTION_ACCEPTED",{"id":"@payload.id","kind":"@payload.kind","action":"@payload.action","href":"@payload.href","subject":"@payload.subject","payload":"@payload.payload"}],["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}],["navigate","@payload.href"]]},{"from":"open","to":"open","event":"DISMISS","eventId":"evt_NV8DG2JD296H4PY99ESXKCDM7G","effects":[["fetch","AgentSuggestion",{"emit":{"failure":"SuggestionResolveFailed","success":"SuggestionForDismiss"},"filter":["=",["object/get","@entity","id"],"@payload.id"]}]]},{"from":"open","to":"open","event":"SuggestionForDismiss","eventId":"evt_DVJ0ZMXC9KP4SK4M23VC5N8250","guard":["and",[">",["array/len","@payload.data"],0],["=",["object/get",["array/first","@payload.data"],"status"],"pending"]],"effects":[["persist","update","AgentSuggestion",{"id":["object/get",["array/first","@payload.data"],"id"],"ownerId":["object/get",["array/first","@payload.data"],"ownerId"],"kind":["object/get",["array/first","@payload.data"],"kind"],"title":["object/get",["array/first","@payload.data"],"title"],"body":["object/get",["array/first","@payload.data"],"body"],"action":["object/get",["array/first","@payload.data"],"action"],"href":["object/get",["array/first","@payload.data"],"href"],"payload":["object/get",["array/first","@payload.data"],"payload"],"subject":["object/get",["array/first","@payload.data"],"subject"],"signature":["object/get",["array/first","@payload.data"],"signature"],"status":"dismissed","createdAt":["object/get",["array/first","@payload.data"],"createdAt"],"resolvedAt":"@now"},{"emit":{"failure":"SuggestionResolveFailed","success":"SuggestionDismissed"}}]]},{"from":"open","to":"open","event":"SuggestionDismissed","eventId":"evt_Z4H34Z18RXMCEWWJH6G88C5SYY","effects":[["emit","SUGGESTION_DISMISSED",{"id":"@payload.id","kind":"@payload.kind","action":"@payload.action","subject":"@payload.subject"}],["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}]]},{"from":"open","to":"closed","event":"CLOSE","eventId":"evt_677VKRQE7CQ3P6GPM4G4Q6Q8QT","effects":[["render-ui","@config.inboxSlot",null]]}]},"config":{"emptyHint":{"type":"string","default":"@config.emptyDescription","label":"Hint under the empty heading","tier":"presentation"},"lookAgainLabel":{"type":"string","default":"@config.analyzeLabel","label":"Look-again button label","description":"The empty inbox's button, which asks the agent to look again.","synonyms":"refresh, find suggestions, analyze","tier":"presentation"},"inboxSlot":{"type":"slot","default":"@config.panelSlot","label":"Where the inbox renders","description":"`main` inline; `modal` or `drawer` for an overlay opened with OPEN.","tier":"internal"},"historyLink":{"type":"string","default":"@config.historyHref","label":"Past-suggestions page","description":"Where accepted and dismissed suggestions are listed; empty hides the link.","tier":"presentation"},"emptyHeading":{"type":"string","default":"@config.emptyTitle","label":"What shows when nothing is pending?","synonyms":"empty state, no suggestions","tier":"presentation"},"heading":{"type":"string","default":"@config.title","label":"Inbox heading","description":"Heading at the top of the inbox.","synonyms":"panel title, suggestions title","tier":"presentation"},"closeButtonLabel":{"type":"string","default":"@config.closeLabel","label":"Close button label","synonyms":"back, hide","tier":"presentation"},"showOnMount":{"type":"boolean","default":"@config.startOpen","label":"Show the inbox as soon as it mounts?","description":"Off for an overlay that waits for OPEN.","tier":"presentation"},"declineLabel":{"type":"string","default":"@config.dismissLabel","label":"Dismiss button label","synonyms":"reject, no thanks, hide","tier":"presentation"},"headingIcon":{"type":"string","default":"@config.icon","label":"Inbox icon","description":"Lucide icon name shown beside the heading.","synonyms":"header icon","tier":"presentation"},"historyLinkLabel":{"type":"string","default":"@config.historyLabel","label":"Past-suggestions link label","synonyms":"history, archive, earlier suggestions","tier":"presentation"},"approveLabel":{"type":"string","default":"@config.acceptLabel","label":"Accept button label","synonyms":"approve, yes, do it","tier":"presentation"}},"scope":"collection"},{"name":"AgentSuggestionTrigger","id":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"emit","resource":"SUGGESTION_RUN_ALLOWED"},{"kind":"fetch","resource":"AgentSuggestionRun"},{"kind":"render-ui","resource":"toast"}],"category":"lifecycle","linkedEntity":"AgentSuggestionRun","emits":[{"event":"SUGGESTION_RUN_ALLOWED","eventId":"evt_H9758APD5D6JPGK0TWCYNMWEVQ","description":"A trigger arrived and the cooldown has passed, so the agent is asked to look.","synonyms":"run allowed, cooldown passed","tier":"domain","scope":"external"},{"event":"RunsForTrigger","eventId":"evt_NV4QRZV6PHKB8MAT4EN6SP7YW7","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"ranAt","type":"number"}],"entity":"RunRow"}]},{"event":"RunsLoadFailed","eventId":"evt_D5M9WED9Y4MZ2FDZJXM7EKVABQ","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"listens":[{"event":"SUGGESTIONS_TRIGGERED","triggers":"TRIGGERED","triggersId":"evt_H2AJZXEYYNFFAJ1E2WS596K143","source":{"kind":"any"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true}],"events":[{"key":"INIT","id":"evt_098J2ZTZ0NFGARBY2AYG5KS1W2","name":"Initialize"},{"key":"TRIGGERED","id":"evt_H2AJZXEYYNFFAJ1E2WS596K143","name":"Triggered","description":"Something happened that is a reason to look for suggestions. SUGGESTIONS_TRIGGERED from any trait arrives here; an app routes its own events with `listens { Source.EVENT -> TRIGGERED }` on a re-bound AgentSuggestionTrigger.","synonyms":"trigger, start analysis, look for suggestions","tier":"domain","listened":true},{"key":"RunsForTrigger","id":"evt_NV4QRZV6PHKB8MAT4EN6SP7YW7","name":"Runs for trigger","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"ranAt","type":"number"}]}]},{"key":"RunsLoadFailed","id":"evt_D5M9WED9Y4MZ2FDZJXM7EKVABQ","name":"Runs load failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"key":"SUGGESTION_RUN_ALLOWED","id":"evt_H9758APD5D6JPGK0TWCYNMWEVQ","name":"Suggestion Run Allowed","description":"A trigger arrived and the cooldown has passed, so the agent is asked to look.","synonyms":"run allowed, cooldown passed","tier":"domain"}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_098J2ZTZ0NFGARBY2AYG5KS1W2"},{"from":"ready","to":"ready","event":"TRIGGERED","eventId":"evt_H2AJZXEYYNFFAJ1E2WS596K143","effects":[["fetch","AgentSuggestionRun",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"RunsLoadFailed","success":"RunsForTrigger"}}]]},{"from":"ready","to":"ready","event":"RunsForTrigger","eventId":"evt_NV4QRZV6PHKB8MAT4EN6SP7YW7","guard":[">=",["-","@now",["if",["=",["array/len","@payload.data"],0],0,["array/max","@payload.data","ranAt"]]],["*","@config.gapMinutes",60000]],"effects":[["emit","SUGGESTION_RUN_ALLOWED",{}]]},{"from":"ready","to":"ready","event":"RunsForTrigger","eventId":"evt_NV4QRZV6PHKB8MAT4EN6SP7YW7","guard":["<",["-","@now",["if",["=",["array/len","@payload.data"],0],0,["array/max","@payload.data","ranAt"]]],["*","@config.gapMinutes",60000]]},{"from":"ready","to":"ready","event":"RunsLoadFailed","eventId":"evt_D5M9WED9Y4MZ2FDZJXM7EKVABQ","effects":[["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"warning"}]]}]},"config":{"gapMinutes":{"type":"number","default":"@config.cooldownMinutes","label":"Minutes between proactive runs","description":"A trigger starts a run only when this long has passed since the person's last run.","synonyms":"throttle, rate limit, interval, frequency","tier":"policy"}},"scope":"instance"},{"name":"AgentSuggestionRunner","id":"trt_WD2954H123GH1GJAJEQ5J6E59W","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"emit","resource":"SUGGESTION_RUN_DONE"},{"kind":"emit","resource":"SUGGESTION_RUN_FAILED"},{"kind":"emit","resource":"SUGGESTION_RUN_STARTED"},{"kind":"persist","resource":"AgentSuggestionRun"},{"kind":"render-ui","resource":"toast"}],"category":"lifecycle","linkedEntity":"AgentSuggestionRun","emits":[{"event":"SUGGESTION_RUN_STARTED","eventId":"evt_76XCHK2HMA8T52YHKZYK6YNSZY","description":"The agent was asked to look for suggestions.","synonyms":"analysis started, looking","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"}]},{"event":"SUGGESTION_RUN_DONE","eventId":"evt_FC984KDPN7VAKZ8P2C535G883G","description":"The agent finished looking; any suggestions it made are in the inbox.","synonyms":"analysis done, finished","tier":"domain","scope":"external"},{"event":"SUGGESTION_RUN_FAILED","eventId":"evt_B08GD9S6J6K938RECSWDSYJF3Q","description":"The agent could not finish looking (no toast; the inbox simply has nothing new).","synonyms":"analysis failed, error","tier":"domain","scope":"external","payloadSchema":[{"name":"error","type":"string"}]},{"event":"RunRecorded","eventId":"evt_JFH0JHEQ9YBMZ8T6Q5BHKM2SWF","description":"Fired after a run is recorded","tier":"internal","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"ranAt","type":"number"}],"payloadEntity":"RunRow"},{"event":"RunRecordFailed","eventId":"evt_TCY868Y0SC0CP5R39ANHKBNTH5","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"listens":[{"event":"SUGGESTION_RUN_ALLOWED","eventId":"evt_H9758APD5D6JPGK0TWCYNMWEVQ","triggers":"START","triggersId":"evt_3QVTBX8ZCWFPE37NJM8HXJF60Y","source":{"kind":"trait","trait":"AgentSuggestionTrigger","traitId":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV"}},{"event":"SUGGESTIONS_ANALYZE_REQUESTED","eventId":"evt_WBQ50Z23C81P400NCZ6Z68DKPB","triggers":"START","triggersId":"evt_3QVTBX8ZCWFPE37NJM8HXJF60Y","source":{"kind":"trait","trait":"AgentSuggestionInbox","traitId":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"}},{"event":"PROACTIVE_REPLIED","triggers":"LOOP_REPLIED","triggersId":"evt_AJKKEFZB7HNKRHXWTV0E0HNV5T","source":{"kind":"trait","trait":"AgentSuggestionLoop","traitId":"trt_8XWNVD310RGGC4426F000RK9BF"}},{"event":"PROACTIVE_FAILED","triggers":"LOOP_FAILED","triggersId":"evt_YV0S43TBCE5P7AV2S1ENSYYZAT","source":{"kind":"trait","trait":"AgentSuggestionLoop","traitId":"trt_8XWNVD310RGGC4426F000RK9BF"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true},{"name":"starting"},{"name":"analyzing"}],"events":[{"key":"INIT","id":"evt_FN3PWA62T61D31W9DV3VZRWQYE","name":"Initialize"},{"key":"START","id":"evt_3QVTBX8ZCWFPE37NJM8HXJF60Y","name":"Start","description":"Ask the agent to look for suggestions now.","listened":true},{"key":"RunRecorded","id":"evt_JFH0JHEQ9YBMZ8T6Q5BHKM2SWF","name":"Run recorded","tier":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"ranAt","type":"number"}],"payloadEntity":"RunRow"},{"key":"RunRecordFailed","id":"evt_TCY868Y0SC0CP5R39ANHKBNTH5","name":"Run record failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"key":"LOOP_REPLIED","id":"evt_AJKKEFZB7HNKRHXWTV0E0HNV5T","name":"Loop Replied","description":"The agent answered.","payloadSchema":[{"name":"reply","type":"string"}],"listened":true},{"key":"LOOP_FAILED","id":"evt_YV0S43TBCE5P7AV2S1ENSYYZAT","name":"Loop Failed","description":"The agent could not answer.","payloadSchema":[{"name":"error","type":"string"}],"listened":true},{"key":"SUGGESTION_RUN_STARTED","id":"evt_76XCHK2HMA8T52YHKZYK6YNSZY","name":"Suggestion Run Started","description":"The agent was asked to look for suggestions.","synonyms":"analysis started, looking","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"}]},{"key":"SUGGESTION_RUN_DONE","id":"evt_FC984KDPN7VAKZ8P2C535G883G","name":"Suggestion Run Done","description":"The agent finished looking; any suggestions it made are in the inbox.","synonyms":"analysis done, finished","tier":"domain"},{"key":"SUGGESTION_RUN_FAILED","id":"evt_B08GD9S6J6K938RECSWDSYJF3Q","name":"Suggestion Run Failed","description":"The agent could not finish looking (no toast; the inbox simply has nothing new).","synonyms":"analysis failed, error","tier":"domain","payloadSchema":[{"name":"error","type":"string"}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_FN3PWA62T61D31W9DV3VZRWQYE"},{"from":"ready","to":"starting","event":"START","eventId":"evt_3QVTBX8ZCWFPE37NJM8HXJF60Y","effects":[["persist","create","AgentSuggestionRun",{"ownerId":"@user.id","ranAt":"@now"},{"emit":{"failure":"RunRecordFailed","success":"RunRecorded"}}]]},{"from":"starting","to":"ready","event":"INIT","eventId":"evt_FN3PWA62T61D31W9DV3VZRWQYE"},{"from":"starting","to":"analyzing","event":"RunRecorded","eventId":"evt_JFH0JHEQ9YBMZ8T6Q5BHKM2SWF","effects":[["emit","SUGGESTION_RUN_STARTED",{"messages":[{"role":"user","content":"@config.request"}]}]]},{"from":"starting","to":"ready","event":"RunRecordFailed","eventId":"evt_TCY868Y0SC0CP5R39ANHKBNTH5","effects":[["emit","SUGGESTION_RUN_FAILED",{"error":"@payload.error"}],["render-ui","toast",{"message":"@payload.error","type":"alert","variant":"warning"}]]},{"from":"analyzing","to":"ready","event":"INIT","eventId":"evt_FN3PWA62T61D31W9DV3VZRWQYE"},{"from":"analyzing","to":"ready","event":"LOOP_REPLIED","eventId":"evt_AJKKEFZB7HNKRHXWTV0E0HNV5T","effects":[["emit","SUGGESTION_RUN_DONE",{}]]},{"from":"analyzing","to":"ready","event":"LOOP_FAILED","eventId":"evt_YV0S43TBCE5P7AV2S1ENSYYZAT","effects":[["emit","SUGGESTION_RUN_FAILED",{"error":"@payload.error"}]]}]},"config":{"request":{"type":"string","default":"@config.prompt","label":"What does the agent look into?","description":"The request each proactive run answers.","synonyms":"task, goal, question, brief","tier":"domain"}},"scope":"instance"},{"ref":"Loop.traits.AgentToolLoop","id":"trt_8XWNVD310RGGC4426F000RK9BF","name":"AgentSuggestionLoop","config":{"tools":{"type":"unknown","default":"@config.tools"},"quiet":{"type":"unknown","default":true},"cancelKey":{"type":"unknown","default":"agent-suggestions"},"maxSteps":{"type":"unknown","default":"@config.maxSteps"},"instructions":{"type":"unknown","default":"@config.instructions"}},"events":{"ASSISTANT_REPLY_FAILED":"PROACTIVE_FAILED","ASSISTANT_REPLIED":"PROACTIVE_REPLIED"},"listens":[{"event":"SUGGESTION_RUN_STARTED","triggers":"CONVERSE","source":{"kind":"trait","trait":"AgentSuggestionRunner"}}]}],"pages":[{"name":"AgentSuggestionsPage","id":"pag_01XJK476XBKENPA6MKZJXH239S","path":"/agent-suggestions","traits":[{"ref":"AgentSuggestionInbox","refId":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},{"ref":"AgentSuggestionProposer","refId":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},{"ref":"AgentSuggestionTrigger","refId":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV"},{"ref":"AgentSuggestionRunner","refId":"trt_WD2954H123GH1GJAJEQ5J6E59W"},{"ref":"AgentSuggestionLoop","refId":"trt_8XWNVD310RGGC4426F000RK9BF"}]}],"config":{"kinds":{"type":"[string]","default":[],"label":"Which kinds may be proposed?","description":"When listed, a proposal of any other kind is refused (SUGGESTION_REJECTED). Empty accepts any kind.","tier":"domain","items":{"type":"string"}},"title":{"type":"string","default":"Suggestions","label":"Inbox heading","tier":"presentation"},"maxPending":{"type":"number","default":5,"label":"How many suggestions may wait at once?","description":"A proposal is refused (SUGGESTION_LIMIT_REACHED) while this many are pending. 0 refuses every proposal.","tier":"policy"},"prompt":{"type":"string","default":"Look at what I have been doing and propose what I could do next, one suggestion at a time.","label":"What does the agent look into?","description":"The request each proactive run answers.","tier":"domain"},"historyLabel":{"type":"string","default":"Past suggestions","label":"Past-suggestions link","tier":"presentation"},"dismissLabel":{"type":"string","default":"Dismiss","label":"Dismiss button","tier":"presentation"},"startOpen":{"type":"boolean","default":true,"label":"Show the inbox as soon as it mounts?","description":"Off for an overlay that waits for OPEN.","tier":"presentation"},"maxSteps":{"type":"number","default":8,"label":"Model round-trips per run","tier":"policy"},"closeLabel":{"type":"string","default":"Close","label":"Close button","tier":"presentation"},"cooldownMinutes":{"type":"number","default":60,"label":"Minutes between proactive runs","description":"A trigger starts a run only when this long has passed since the person's last run. 0 runs on every trigger.","tier":"policy"},"analyzeLabel":{"type":"string","default":"Look for suggestions","label":"Look-again button","description":"Shown in the empty inbox; asks the agent to look again.","tier":"presentation"},"acceptLabel":{"type":"string","default":"Accept","label":"Accept button","tier":"presentation"},"tools":{"type":"[AgentTool]","default":[{"event":"AgentSuggestionProposer.PROPOSE_SUGGESTION"}],"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 the proposal input addressed by its local orbital name (`{ event: Suggestions.AgentSuggestionProposer.PROPOSE_SUGGESTION }`), which the agent can never propose without.","tier":"domain","items":{"type":"union","values":["AgentToolScope","AgentToolInput","AgentToolRead"],"properties":{"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"]}}},"AgentToolInput":{"name":"AgentToolInput","type":"object","properties":{"event":{"name":"event","type":"EventAddress","required":true}}}}}},"icon":{"type":"string","default":"lightbulb","label":"Inbox icon","tier":"presentation"},"instructions":{"type":"string","default":"You propose next steps to the signed-in person. Look things up with the tools, then call the proposal tool once for each suggestion worth making, with the reason in its body. When a proposal is refused as a duplicate or the pending limit is reached, do not propose again. Propose nothing when nothing is worth suggesting.","label":"How should the agent behave?","description":"Standing instructions sent with every proactive run.","tier":"domain"},"actions":{"type":"[string]","default":[],"label":"Which actions may a suggestion carry?","description":"When listed, a proposal carrying any other action, or none, is refused (SUGGESTION_REJECTED). Empty accepts any action.","tier":"domain","items":{"type":"string"}},"emptyTitle":{"type":"string","default":"No suggestions right now","label":"Empty inbox title","tier":"presentation"},"historyHref":{"type":"string","default":"/agent-suggestions/history","label":"Where past suggestions are listed","description":"The page the inbox links to for accepted and dismissed suggestions; empty hides the link. The history page of an app that imports this orbital is its own page over its retargeted entity.","tier":"presentation"},"emptyDescription":{"type":"string","default":"","label":"Empty inbox hint","tier":"presentation"},"panelSlot":{"type":"slot","default":"main","label":"Where the inbox renders","description":"`main` for the content of a launcher or page; `modal` or `drawer` for an overlay opened with OPEN (a notification bell).","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}],"RunRow":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"ranAt","type":"number"}],"SuggestionProposal":[{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"payload","type":"Map<string,string>"}],"SuggestionRow":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}]}},{"name":"AgentSuggestionRecordsOrbital","id":"orb_GPVW3XA0TM0DA31Q3XV7J7DPM8","entity":{"name":"AgentSuggestion","id":"ent_GPKXFQKCW3PE1VAMM9H91E00NG","collection":"agentSuggestions","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true,"description":"Whom this is proposed to (the real @user). The binding organism scopes @read/@create/@update to it.","synonyms":"user, owner, account"},{"name":"kind","type":"string","default":"","description":"What sort of suggestion this is; the app's own vocabulary.","synonyms":"type, category"},{"name":"title","type":"string","default":"","description":"The suggestion in a line.","synonyms":"headline, name"},{"name":"body","type":"string","default":"","description":"Why the agent proposes it.","synonyms":"reasoning, reason, description, explanation"},{"name":"action","type":"string","default":"","description":"What accepting it does: a name the app routes from SUGGESTION_ACCEPTED.","synonyms":"event, command"},{"name":"href","type":"string","default":"","description":"A page accepting it opens; empty for none.","synonyms":"link, url, route"},{"name":"payload","type":"object","default":{},"items":{"type":"string"},"description":"What the action needs.","synonyms":"params, arguments, data"},{"name":"subject","type":"string","default":"","description":"What the suggestion is about (an id or slug).","synonyms":"target, topic"},{"name":"signature","type":"string","default":"","description":"kind:action:subject. One signature is proposed to a person at most once, whatever became of it.","synonyms":"dedup key, fingerprint"},{"name":"status","type":"string","default":"pending","values":["pending","accepted","dismissed"],"description":"Where the suggestion stands."},{"name":"createdAt","type":"number","default":0,"description":"When it was proposed (ms).","synonyms":"time, timestamp"},{"name":"resolvedAt","type":"number","default":0,"description":"When it was accepted or dismissed (ms)."},{"name":"pendingProposal","type":"object","default":{"kind":"","title":"","body":"","action":"","href":"","subject":"","signature":"","payload":{}},"properties":{"subject":{"name":"subject","type":"string","required":false},"title":{"name":"title","type":"string","required":false},"payload":{"name":"payload","type":"object","required":false,"items":{"type":"string"}},"body":{"name":"body","type":"string","required":false},"href":{"name":"href","type":"string","required":false},"action":{"name":"action","type":"string","required":false},"signature":{"name":"signature","type":"string","required":false},"kind":{"name":"kind","type":"string","required":false}},"intrinsic":true,"description":"The proposal being checked for a duplicate."}]},"auxiliaryEntities":[{"name":"AgentSuggestionRun","id":"ent_YP2ECQ075J3JS6F6WSHNP6571S","collection":"agentSuggestionRuns","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true,"description":"Whose run this was (the real @user). The binding organism scopes @read/@create to it.","synonyms":"user, owner, account"},{"name":"ranAt","type":"number","default":0,"description":"When the agent was last asked to look (ms).","synonyms":"time, started"}]}],"traits":[{"name":"AgentSuggestionHistory","id":"trt_Q07QNVE6V13DGXCYZSXQNA3093","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"fetch","resource":"AgentSuggestion"},{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"AgentSuggestion","linkedEntityId":"ent_GPKXFQKCW3PE1VAMM9H91E00NG","entityRefIds":{"AgentSuggestion":"ent_GPKXFQKCW3PE1VAMM9H91E00NG"},"emits":[{"event":"SuggestionsLoaded","eventId":"evt_YMVESNACQJ6BSCANJB4XYW2FV2","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"entity":"SuggestionRow"}]},{"event":"SuggestionsLoadFailed","eventId":"evt_7735B929274H3MHMWD9A96JJCZ","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"browsing","isInitial":true}],"events":[{"key":"INIT","id":"evt_J6M3VDCRVRCDWC4WK1WHBP3S8G","name":"Initialize"},{"key":"SuggestionsLoaded","id":"evt_YMVESNACQJ6BSCANJB4XYW2FV2","name":"Suggestions loaded","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}],"entity":"SuggestionRow"}]},{"key":"SuggestionsLoadFailed","id":"evt_7735B929274H3MHMWD9A96JJCZ","name":"Suggestions load failed","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"transitions":[{"from":"browsing","to":"browsing","event":"INIT","eventId":"evt_J6M3VDCRVRCDWC4WK1WHBP3S8G","effects":[["fetch","AgentSuggestion",{"filter":["=",["object/get","@entity","ownerId"],"@user.id"],"emit":{"failure":"SuggestionsLoadFailed","success":"SuggestionsLoaded"}}],["render-ui","main",{"type":"skeleton","variant":"list","rows":6}]]},{"from":"browsing","to":"browsing","event":"SuggestionsLoaded","eventId":"evt_YMVESNACQJ6BSCANJB4XYW2FV2","effects":[["render-ui","main",{"emptyTitle":"@config.emptyHeading","entity":["array/sort","@payload.data","createdAt","desc"],"fields":[{"label":"Status","name":"status","variant":"badge"},{"label":"Suggestion","name":"title","variant":"h4"},{"label":"Why","name":"body","variant":"body"}],"gap":"sm","type":"data-list","variant":"card"}]]},{"from":"browsing","to":"browsing","event":"SuggestionsLoadFailed","eventId":"evt_7735B929274H3MHMWD9A96JJCZ","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]}]},"config":{"emptyHeading":{"type":"string","default":"Nothing suggested yet","label":"What shows when nothing was ever suggested?","tier":"presentation"}},"scope":"collection"}],"pages":[{"name":"AgentSuggestionHistoryPage","id":"pag_9QESZJPF9V7MXYSD6NAMNWKVDN","path":"/agent-suggestions/history","traits":[{"ref":"AgentSuggestionHistory","refId":"trt_Q07QNVE6V13DGXCYZSXQNA3093"}]}],"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}],"RunRow":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"ranAt","type":"number"}],"SuggestionProposal":[{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"payload","type":"Map<string,string>"}],"SuggestionRow":[{"name":"id","type":"string","required":true},{"name":"ownerId","type":"string","required":true},{"name":"kind","type":"string"},{"name":"title","type":"string"},{"name":"body","type":"string"},{"name":"action","type":"string"},{"name":"href","type":"string"},{"name":"payload","type":"Map<string,string>"},{"name":"subject","type":"string"},{"name":"signature","type":"string"},{"name":"status","type":"string","values":["pending","accepted","dismissed"]},{"name":"createdAt","type":"number"},{"name":"resolvedAt","type":"number"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_498EAE38CJM69F9R1Y7TBBVNYQ":{"id":"ent_498EAE38CJM69F9R1Y7TBBVNYQ","kind":"entity","bakedName":"AgentSuggestionsHost","curName":"AgentSuggestionsHost","renames":[],"owner":"workspace"},"ent_GPKXFQKCW3PE1VAMM9H91E00NG":{"id":"ent_GPKXFQKCW3PE1VAMM9H91E00NG","kind":"entity","bakedName":"AgentSuggestion","curName":"AgentSuggestion","renames":[],"owner":"workspace"},"ent_YP2ECQ075J3JS6F6WSHNP6571S":{"id":"ent_YP2ECQ075J3JS6F6WSHNP6571S","kind":"entity","bakedName":"AgentSuggestionRun","curName":"AgentSuggestionRun","renames":[],"owner":"workspace"},"evt_098J2ZTZ0NFGARBY2AYG5KS1W2":{"id":"evt_098J2ZTZ0NFGARBY2AYG5KS1W2","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV"},"evt_1BMQFYW4TV2DDWQ1QGFAKA8984":{"id":"evt_1BMQFYW4TV2DDWQ1QGFAKA8984","kind":"event","bakedName":"SuggestionForAccept","curName":"SuggestionForAccept","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_1KRQ7CZ258H2MC009DT1GDFD64":{"id":"evt_1KRQ7CZ258H2MC009DT1GDFD64","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_22R2X65SV7WXKVYM3FGMYE2DE2":{"id":"evt_22R2X65SV7WXKVYM3FGMYE2DE2","kind":"event","bakedName":"ANALYZE","curName":"ANALYZE","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_3QVTBX8ZCWFPE37NJM8HXJF60Y":{"id":"evt_3QVTBX8ZCWFPE37NJM8HXJF60Y","kind":"event","bakedName":"START","curName":"START","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_5HADSAPPDNB6TP1NGFGV1E1MZR":{"id":"evt_5HADSAPPDNB6TP1NGFGV1E1MZR","kind":"event","bakedName":"SuggestionSaveFailed","curName":"SuggestionSaveFailed","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_677VKRQE7CQ3P6GPM4G4Q6Q8QT":{"id":"evt_677VKRQE7CQ3P6GPM4G4Q6Q8QT","kind":"event","bakedName":"CLOSE","curName":"CLOSE","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_76XCHK2HMA8T52YHKZYK6YNSZY":{"id":"evt_76XCHK2HMA8T52YHKZYK6YNSZY","kind":"event","bakedName":"SUGGESTION_RUN_STARTED","curName":"SUGGESTION_RUN_STARTED","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_7735B929274H3MHMWD9A96JJCZ":{"id":"evt_7735B929274H3MHMWD9A96JJCZ","kind":"event","bakedName":"SuggestionsLoadFailed","curName":"SuggestionsLoadFailed","renames":[],"owner":"workspace","parent":"trt_Q07QNVE6V13DGXCYZSXQNA3093"},"evt_89GN3HZV9GXMREK6E8V4J7VD5Y":{"id":"evt_89GN3HZV9GXMREK6E8V4J7VD5Y","kind":"event","bakedName":"SUGGESTION_DUPLICATE","curName":"SUGGESTION_DUPLICATE","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_8AQP84NBG3NR1ZTNSRPQ6KFXPY":{"id":"evt_8AQP84NBG3NR1ZTNSRPQ6KFXPY","kind":"event","bakedName":"SuggestionAccepted","curName":"SuggestionAccepted","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_8P2A9PHY6FZ37Q7D7DFZWYK8YZ":{"id":"evt_8P2A9PHY6FZ37Q7D7DFZWYK8YZ","kind":"event","bakedName":"SuggestionsLoaded","curName":"SuggestionsLoaded","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_8PM5W6DZP5ZV2HZ1V340Z3BP6C":{"id":"evt_8PM5W6DZP5ZV2HZ1V340Z3BP6C","kind":"event","bakedName":"PROPOSE_SUGGESTION","curName":"PROPOSE_SUGGESTION","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_8XR32ETR7WC3Y9978P56KYCF36":{"id":"evt_8XR32ETR7WC3Y9978P56KYCF36","kind":"event","bakedName":"ACCEPT","curName":"ACCEPT","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_8YBG03BYZVZFXSRDQM6NGB3A3Y":{"id":"evt_8YBG03BYZVZFXSRDQM6NGB3A3Y","kind":"event","bakedName":"SUGGESTION_DISMISSED","curName":"SUGGESTION_DISMISSED","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_AF1F4TD86XM3ETR1YG8C0NQGPV":{"id":"evt_AF1F4TD86XM3ETR1YG8C0NQGPV","kind":"event","bakedName":"REFRESH","curName":"REFRESH","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_AJKKEFZB7HNKRHXWTV0E0HNV5T":{"id":"evt_AJKKEFZB7HNKRHXWTV0E0HNV5T","kind":"event","bakedName":"LOOP_REPLIED","curName":"LOOP_REPLIED","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_B08GD9S6J6K938RECSWDSYJF3Q":{"id":"evt_B08GD9S6J6K938RECSWDSYJF3Q","kind":"event","bakedName":"SUGGESTION_RUN_FAILED","curName":"SUGGESTION_RUN_FAILED","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_BKBGM34JN19AGJR82K4K460Y79":{"id":"evt_BKBGM34JN19AGJR82K4K460Y79","kind":"event","bakedName":"SUGGESTION_ACCEPTED","curName":"SUGGESTION_ACCEPTED","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_D5M9WED9Y4MZ2FDZJXM7EKVABQ":{"id":"evt_D5M9WED9Y4MZ2FDZJXM7EKVABQ","kind":"event","bakedName":"RunsLoadFailed","curName":"RunsLoadFailed","renames":[],"owner":"workspace","parent":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV"},"evt_DVJ0ZMXC9KP4SK4M23VC5N8250":{"id":"evt_DVJ0ZMXC9KP4SK4M23VC5N8250","kind":"event","bakedName":"SuggestionForDismiss","curName":"SuggestionForDismiss","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_DXJDDYTFAH7N8V148AB7EF33YN":{"id":"evt_DXJDDYTFAH7N8V148AB7EF33YN","kind":"event","bakedName":"OPEN","curName":"OPEN","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_FC984KDPN7VAKZ8P2C535G883G":{"id":"evt_FC984KDPN7VAKZ8P2C535G883G","kind":"event","bakedName":"SUGGESTION_RUN_DONE","curName":"SUGGESTION_RUN_DONE","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_FN3PWA62T61D31W9DV3VZRWQYE":{"id":"evt_FN3PWA62T61D31W9DV3VZRWQYE","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_H2AJZXEYYNFFAJ1E2WS596K143":{"id":"evt_H2AJZXEYYNFFAJ1E2WS596K143","kind":"event","bakedName":"TRIGGERED","curName":"TRIGGERED","renames":[],"owner":"workspace","parent":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV"},"evt_H9758APD5D6JPGK0TWCYNMWEVQ":{"id":"evt_H9758APD5D6JPGK0TWCYNMWEVQ","kind":"event","bakedName":"SUGGESTION_RUN_ALLOWED","curName":"SUGGESTION_RUN_ALLOWED","renames":[],"owner":"workspace","parent":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV"},"evt_J6M3VDCRVRCDWC4WK1WHBP3S8G":{"id":"evt_J6M3VDCRVRCDWC4WK1WHBP3S8G","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_Q07QNVE6V13DGXCYZSXQNA3093"},"evt_JFH0JHEQ9YBMZ8T6Q5BHKM2SWF":{"id":"evt_JFH0JHEQ9YBMZ8T6Q5BHKM2SWF","kind":"event","bakedName":"RunRecorded","curName":"RunRecorded","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_NKXJ4R1ZW9ZY4VRBWAXJGAYA89":{"id":"evt_NKXJ4R1ZW9ZY4VRBWAXJGAYA89","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_NP2P8TSAV6NDK1CGKM3TDJVG1Y":{"id":"evt_NP2P8TSAV6NDK1CGKM3TDJVG1Y","kind":"event","bakedName":"SuggestionsLoadFailed","curName":"SuggestionsLoadFailed","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_NV4QRZV6PHKB8MAT4EN6SP7YW7":{"id":"evt_NV4QRZV6PHKB8MAT4EN6SP7YW7","kind":"event","bakedName":"RunsForTrigger","curName":"RunsForTrigger","renames":[],"owner":"workspace","parent":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV"},"evt_NV8DG2JD296H4PY99ESXKCDM7G":{"id":"evt_NV8DG2JD296H4PY99ESXKCDM7G","kind":"event","bakedName":"DISMISS","curName":"DISMISS","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_PZ7K185WDXY6YTA8851C7YMQYV":{"id":"evt_PZ7K185WDXY6YTA8851C7YMQYV","kind":"event","bakedName":"SUGGESTION_LIMIT_REACHED","curName":"SUGGESTION_LIMIT_REACHED","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_Q82ZNY2AAQ55BJ3ZRNQWHPFKX6":{"id":"evt_Q82ZNY2AAQ55BJ3ZRNQWHPFKX6","kind":"event","bakedName":"SuggestionCheckFailed","curName":"SuggestionCheckFailed","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_SHGAG0XBRANW56KZ6JMJ9K0F07":{"id":"evt_SHGAG0XBRANW56KZ6JMJ9K0F07","kind":"event","bakedName":"SuggestionResolveFailed","curName":"SuggestionResolveFailed","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_T6G9FR53Q5HVJKMYQB6QSGVACH":{"id":"evt_T6G9FR53Q5HVJKMYQB6QSGVACH","kind":"event","bakedName":"SUGGESTION_ADDED","curName":"SUGGESTION_ADDED","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_TCY868Y0SC0CP5R39ANHKBNTH5":{"id":"evt_TCY868Y0SC0CP5R39ANHKBNTH5","kind":"event","bakedName":"RunRecordFailed","curName":"RunRecordFailed","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_WBQ50Z23C81P400NCZ6Z68DKPB":{"id":"evt_WBQ50Z23C81P400NCZ6Z68DKPB","kind":"event","bakedName":"SUGGESTIONS_ANALYZE_REQUESTED","curName":"SUGGESTIONS_ANALYZE_REQUESTED","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_WBWVT7NB30NHG86577D3K5PD6H":{"id":"evt_WBWVT7NB30NHG86577D3K5PD6H","kind":"event","bakedName":"SUGGESTION_REJECTED","curName":"SUGGESTION_REJECTED","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"evt_YMVESNACQJ6BSCANJB4XYW2FV2":{"id":"evt_YMVESNACQJ6BSCANJB4XYW2FV2","kind":"event","bakedName":"SuggestionsLoaded","curName":"SuggestionsLoaded","renames":[],"owner":"workspace","parent":"trt_Q07QNVE6V13DGXCYZSXQNA3093"},"evt_YV0S43TBCE5P7AV2S1ENSYYZAT":{"id":"evt_YV0S43TBCE5P7AV2S1ENSYYZAT","kind":"event","bakedName":"LOOP_FAILED","curName":"LOOP_FAILED","renames":[],"owner":"workspace","parent":"trt_WD2954H123GH1GJAJEQ5J6E59W"},"evt_Z4H34Z18RXMCEWWJH6G88C5SYY":{"id":"evt_Z4H34Z18RXMCEWWJH6G88C5SYY","kind":"event","bakedName":"SuggestionDismissed","curName":"SuggestionDismissed","renames":[],"owner":"workspace","parent":"trt_FXHHN7TQGWBRECCFB225QQJ1SN"},"evt_ZMBNEFNX4YYJF57R7M4A3W9J52":{"id":"evt_ZMBNEFNX4YYJF57R7M4A3W9J52","kind":"event","bakedName":"SuggestionsForPropose","curName":"SuggestionsForPropose","renames":[],"owner":"workspace","parent":"trt_7M6JWPTYVXFDYJSF1EE8A2B506"},"orb_B71HVN07773KKV0899YDS0WFWR":{"id":"orb_B71HVN07773KKV0899YDS0WFWR","kind":"orbital","bakedName":"AgentSuggestionsOrbital","curName":"AgentSuggestionsOrbital","renames":[],"owner":"workspace"},"orb_GPVW3XA0TM0DA31Q3XV7J7DPM8":{"id":"orb_GPVW3XA0TM0DA31Q3XV7J7DPM8","kind":"orbital","bakedName":"AgentSuggestionRecordsOrbital","curName":"AgentSuggestionRecordsOrbital","renames":[],"owner":"workspace"},"pag_01XJK476XBKENPA6MKZJXH239S":{"id":"pag_01XJK476XBKENPA6MKZJXH239S","kind":"page","bakedName":"AgentSuggestionsPage","curName":"AgentSuggestionsPage","renames":[],"owner":"workspace"},"pag_9QESZJPF9V7MXYSD6NAMNWKVDN":{"id":"pag_9QESZJPF9V7MXYSD6NAMNWKVDN","kind":"page","bakedName":"AgentSuggestionHistoryPage","curName":"AgentSuggestionHistoryPage","renames":[],"owner":"workspace"},"trt_4S0W3THZWJZY9ATTB53AQ8H3XV":{"id":"trt_4S0W3THZWJZY9ATTB53AQ8H3XV","kind":"trait","bakedName":"AgentSuggestionTrigger","curName":"AgentSuggestionTrigger","renames":[],"owner":"workspace"},"trt_7M6JWPTYVXFDYJSF1EE8A2B506":{"id":"trt_7M6JWPTYVXFDYJSF1EE8A2B506","kind":"trait","bakedName":"AgentSuggestionProposer","curName":"AgentSuggestionProposer","renames":[],"owner":"workspace"},"trt_8XWNVD310RGGC4426F000RK9BF":{"id":"trt_8XWNVD310RGGC4426F000RK9BF","kind":"trait","bakedName":"AgentSuggestionLoop","curName":"AgentSuggestionLoop","renames":[],"owner":"workspace"},"trt_FXHHN7TQGWBRECCFB225QQJ1SN":{"id":"trt_FXHHN7TQGWBRECCFB225QQJ1SN","kind":"trait","bakedName":"AgentSuggestionInbox","curName":"AgentSuggestionInbox","renames":[],"owner":"workspace"},"trt_Q07QNVE6V13DGXCYZSXQNA3093":{"id":"trt_Q07QNVE6V13DGXCYZSXQNA3093","kind":"trait","bakedName":"AgentSuggestionHistory","curName":"AgentSuggestionHistory","renames":[],"owner":"workspace"},"trt_WD2954H123GH1GJAJEQ5J6E59W":{"id":"trt_WD2954H123GH1GJAJEQ5J6E59W","kind":"trait","bakedName":"AgentSuggestionRunner","curName":"AgentSuggestionRunner","renames":[],"owner":"workspace"}}}}
|