@agent-native/core 0.122.3 → 0.123.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/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +544 -0
- package/corpus/core/docs/content/actions.mdx +33 -20
- package/corpus/core/docs/content/agent-mentions.mdx +30 -19
- package/corpus/core/docs/content/agent-native-toolkit.mdx +8 -6
- package/corpus/core/docs/content/agent-resources.mdx +11 -0
- package/corpus/core/docs/content/agent-surfaces.mdx +41 -30
- package/corpus/core/docs/content/audit-log.mdx +78 -0
- package/corpus/core/docs/content/authentication.mdx +7 -5
- package/corpus/core/docs/content/automations.mdx +15 -9
- package/corpus/core/docs/content/client.mdx +11 -11
- package/corpus/core/docs/content/cloneable-saas.mdx +7 -1
- package/corpus/core/docs/content/code-agents-ui.mdx +9 -1
- package/corpus/core/docs/content/components.mdx +7 -0
- package/corpus/core/docs/content/context-awareness.mdx +1 -0
- package/corpus/core/docs/content/creating-templates.mdx +9 -1
- package/corpus/core/docs/content/custom-design-system.mdx +8 -0
- package/corpus/core/docs/content/data-programs.mdx +6 -0
- package/corpus/core/docs/content/deployment.mdx +2 -0
- package/corpus/core/docs/content/doctor.mdx +5 -3
- package/corpus/core/docs/content/extensions.mdx +26 -0
- package/corpus/core/docs/content/external-agents-catalog.mdx +533 -0
- package/corpus/core/docs/content/external-agents.mdx +20 -514
- package/corpus/core/docs/content/faq.mdx +2 -2
- package/corpus/core/docs/content/file-uploads.mdx +44 -0
- package/corpus/core/docs/content/frames.mdx +2 -2
- package/corpus/core/docs/content/generative-ui.mdx +8 -0
- package/corpus/core/docs/content/getting-started.mdx +45 -17
- package/corpus/core/docs/content/human-approval.mdx +9 -0
- package/corpus/core/docs/content/integrations.mdx +4 -3
- package/corpus/core/docs/content/internationalization.mdx +4 -11
- package/corpus/core/docs/content/key-concepts.mdx +1 -1
- package/corpus/core/docs/content/local-file-mode.mdx +5 -0
- package/corpus/core/docs/content/mcp-apps.mdx +2 -1
- package/corpus/core/docs/content/mcp-clients.mdx +32 -1
- package/corpus/core/docs/content/mcp-protocol.mdx +4 -3
- package/corpus/core/docs/content/messaging-internals.mdx +328 -0
- package/corpus/core/docs/content/messaging-recipes.mdx +194 -0
- package/corpus/core/docs/content/messaging.mdx +9 -307
- package/corpus/core/docs/content/multi-app-workspace.mdx +1 -1
- package/corpus/core/docs/content/multi-tenancy.mdx +1 -0
- package/corpus/core/docs/content/native-chat-ui.mdx +8 -0
- package/corpus/core/docs/content/notifications.mdx +18 -20
- package/corpus/core/docs/content/observability.mdx +1 -0
- package/corpus/core/docs/content/onboarding.mdx +20 -6
- package/corpus/core/docs/content/organizations-teams-permissions.mdx +99 -124
- package/corpus/core/docs/content/package-lifecycle.mdx +19 -7
- package/corpus/core/docs/content/progress.mdx +11 -0
- package/corpus/core/docs/content/real-time-collaboration.mdx +44 -3
- package/corpus/core/docs/content/recurring-jobs.mdx +14 -1
- package/corpus/core/docs/content/security.mdx +5 -2
- package/corpus/core/docs/content/server.mdx +2 -1
- package/corpus/core/docs/content/sharing.mdx +22 -3
- package/corpus/core/docs/content/skills-guide.mdx +62 -19
- package/corpus/core/docs/content/syncing-template-changes.mdx +9 -0
- package/corpus/core/docs/content/template-analytics-connectors.mdx +75 -0
- package/corpus/core/docs/content/template-analytics-dashboards.mdx +106 -0
- package/corpus/core/docs/content/template-analytics-developers.mdx +287 -0
- package/corpus/core/docs/content/template-analytics-monitoring-and-sessions.mdx +109 -0
- package/corpus/core/docs/content/template-analytics.mdx +21 -263
- package/corpus/core/docs/content/template-assets-developers.mdx +456 -0
- package/corpus/core/docs/content/template-assets-generation.mdx +147 -0
- package/corpus/core/docs/content/template-assets-integrations.mdx +319 -0
- package/corpus/core/docs/content/template-assets-presets.mdx +185 -0
- package/corpus/core/docs/content/template-assets.mdx +12 -562
- package/corpus/core/docs/content/template-brain-agent.mdx +103 -0
- package/corpus/core/docs/content/template-brain-developers.mdx +379 -0
- package/corpus/core/docs/content/template-brain-knowledge.mdx +50 -0
- package/corpus/core/docs/content/template-brain-sources.mdx +163 -0
- package/corpus/core/docs/content/template-brain.mdx +30 -390
- package/corpus/core/docs/content/template-calendar-agent.mdx +133 -0
- package/corpus/core/docs/content/template-calendar-booking-links.mdx +73 -0
- package/corpus/core/docs/content/template-calendar-developers.mdx +366 -0
- package/corpus/core/docs/content/template-calendar-scheduling.mdx +128 -0
- package/corpus/core/docs/content/template-calendar.mdx +13 -260
- package/corpus/core/docs/content/template-chat-developers.mdx +88 -0
- package/corpus/core/docs/content/template-chat-first-edits.mdx +145 -0
- package/corpus/core/docs/content/template-chat.mdx +12 -77
- package/corpus/core/docs/content/template-clips-ai-and-editing.mdx +114 -0
- package/corpus/core/docs/content/template-clips-capture-everywhere.mdx +120 -0
- package/corpus/core/docs/content/template-clips-developers.mdx +373 -0
- package/corpus/core/docs/content/template-clips-sharing-and-teams.mdx +182 -0
- package/corpus/core/docs/content/template-clips.mdx +19 -508
- package/corpus/core/docs/content/template-content-databases.mdx +406 -0
- package/corpus/core/docs/content/template-content-developers.mdx +364 -0
- package/corpus/core/docs/content/template-content-editing.mdx +60 -0
- package/corpus/core/docs/content/template-content-sync.mdx +149 -0
- package/corpus/core/docs/content/template-content.mdx +21 -561
- package/corpus/core/docs/content/template-design-brand-and-figma.mdx +150 -0
- package/corpus/core/docs/content/template-design-collaboration-and-full-apps.mdx +125 -0
- package/corpus/core/docs/content/template-design-developers.mdx +358 -0
- package/corpus/core/docs/content/template-design-quality-and-components.mdx +95 -0
- package/corpus/core/docs/content/template-design.mdx +20 -344
- package/corpus/core/docs/content/template-dispatch-developers.mdx +121 -0
- package/corpus/core/docs/content/template-dispatch-messaging-routing.mdx +114 -0
- package/corpus/core/docs/content/template-dispatch-operations.mdx +160 -0
- package/corpus/core/docs/content/template-dispatch-vault-integrations.mdx +316 -0
- package/corpus/core/docs/content/template-dispatch.mdx +24 -283
- package/corpus/core/docs/content/template-forms-building-publishing.mdx +135 -0
- package/corpus/core/docs/content/template-forms-developers.mdx +195 -0
- package/corpus/core/docs/content/template-forms-responses.mdx +120 -0
- package/corpus/core/docs/content/template-forms.mdx +21 -230
- package/corpus/core/docs/content/template-mail-agent.mdx +114 -0
- package/corpus/core/docs/content/template-mail-developers.mdx +356 -0
- package/corpus/core/docs/content/template-mail-drafts-and-queue.mdx +103 -0
- package/corpus/core/docs/content/template-mail-inbox.mdx +118 -0
- package/corpus/core/docs/content/template-mail.mdx +23 -274
- package/corpus/core/docs/content/template-plan-automations.mdx +213 -0
- package/corpus/core/docs/content/template-plan-developers.mdx +703 -0
- package/corpus/core/docs/content/template-plan-local-and-desktop.mdx +236 -0
- package/corpus/core/docs/content/template-plan-review-workflow.mdx +180 -0
- package/corpus/core/docs/content/template-plan.mdx +60 -910
- package/corpus/core/docs/content/template-slides-agent.mdx +102 -0
- package/corpus/core/docs/content/template-slides-design-and-media.mdx +94 -0
- package/corpus/core/docs/content/template-slides-developers.mdx +488 -0
- package/corpus/core/docs/content/template-slides-editing.mdx +56 -0
- package/corpus/core/docs/content/template-slides.mdx +20 -362
- package/corpus/core/docs/content/toolkit-capability-packages.mdx +38 -13
- package/corpus/core/docs/content/toolkit-context-knowledge.mdx +49 -9
- package/corpus/core/docs/content/toolkit-editors-canvases.mdx +72 -10
- package/corpus/core/docs/content/toolkit-resources.mdx +16 -0
- package/corpus/core/docs/content/toolkit-settings.mdx +3 -3
- package/corpus/core/docs/content/toolkit-sharing.mdx +5 -7
- package/corpus/core/docs/content/using-your-agent.mdx +25 -2
- package/corpus/core/docs/content/voice-input.mdx +11 -7
- package/corpus/core/docs/content/what-is-agent-native.mdx +1 -0
- package/corpus/core/docs/content/workspace-connections.mdx +21 -11
- package/corpus/core/docs/content/workspace-management.mdx +1 -1
- package/corpus/core/package.json +1 -3
- package/corpus/core/src/a2a/client.ts +4 -2
- package/corpus/core/src/agent/action-warnings.ts +103 -0
- package/corpus/core/src/agent/durable-background.ts +42 -5
- package/corpus/core/src/agent/engine/ai-sdk-engine.ts +58 -6
- package/corpus/core/src/agent/engine/anthropic-engine.ts +51 -8
- package/corpus/core/src/agent/engine/builder-engine.ts +56 -18
- package/corpus/core/src/agent/engine/continuation-dispatch-retry.ts +10 -9
- package/corpus/core/src/agent/engine/credential-errors.ts +11 -0
- package/corpus/core/src/agent/engine/error-detail.ts +39 -0
- package/corpus/core/src/agent/engine/prompt-cache.ts +44 -0
- package/corpus/core/src/agent/engine/registry.ts +22 -30
- package/corpus/core/src/agent/engine/tool-call-journal-seed.ts +2 -1
- package/corpus/core/src/agent/engine/translate-anthropic.ts +99 -0
- package/corpus/core/src/agent/loop-settings.ts +94 -7
- package/corpus/core/src/agent/production-agent.ts +667 -157
- package/corpus/core/src/agent/run-loop-with-resume.ts +27 -1
- package/corpus/core/src/agent/run-manager.ts +229 -39
- package/corpus/core/src/agent/run-store.ts +397 -64
- package/corpus/core/src/agent/thread-data-builder.ts +5 -1
- package/corpus/core/src/agent/types.ts +23 -6
- package/corpus/core/src/application-state/script-helpers.ts +5 -2
- package/corpus/core/src/cli/agents.ts +69 -1
- package/corpus/core/src/cli/app-skill.ts +1 -1
- package/corpus/core/src/cli/code-agent-executor.ts +7 -3
- package/corpus/core/src/cli/design-connect.ts +82 -8
- package/corpus/core/src/cli/index.ts +2 -1
- package/corpus/core/src/cli/mcp.ts +13 -3
- package/corpus/core/src/cli/skills-content/design-visual-edit-skill.ts +169 -24
- package/corpus/core/src/cli/skills-content/rewind-skill.ts +36 -4
- package/corpus/core/src/cli/skills.ts +250 -37
- package/corpus/core/src/cli/telemetry-routing.ts +57 -0
- package/corpus/core/src/cli/telemetry.ts +3 -3
- package/corpus/core/src/client/AssistantChat.tsx +623 -607
- package/corpus/core/src/client/agent-chat-adapter.ts +176 -29
- package/corpus/core/src/client/chat/message-components.tsx +13 -0
- package/corpus/core/src/client/embed-auth.ts +3 -1
- package/corpus/core/src/client/integrations/IntegrationCard.tsx +41 -24
- package/corpus/core/src/client/integrations/IntegrationsPanel.tsx +37 -21
- package/corpus/core/src/client/integrations/webhook-url.ts +29 -0
- package/corpus/core/src/client/org/OrgSwitcher.tsx +41 -27
- package/corpus/core/src/client/org/RequireActiveOrg.tsx +7 -0
- package/corpus/core/src/client/org/TeamPage.tsx +144 -14
- package/corpus/core/src/client/org/hooks.ts +27 -0
- package/corpus/core/src/client/org/index.ts +2 -0
- package/corpus/core/src/client/require-session.tsx +40 -29
- package/corpus/core/src/client/session-replay.ts +1 -1
- package/corpus/core/src/client/settings/DemoModeSection.tsx +0 -5
- package/corpus/core/src/client/settings/SecretsSection.tsx +47 -42
- package/corpus/core/src/client/settings/VoiceTranscriptionSection.tsx +0 -5
- package/corpus/core/src/client/sse-event-processor.ts +83 -8
- package/corpus/core/src/client/use-action.ts +22 -13
- package/corpus/core/src/client/use-agent-engine-configured.ts +36 -4
- package/corpus/core/src/client/use-db-sync.ts +21 -1
- package/corpus/core/src/credentials/index.ts +124 -2
- package/corpus/core/src/deploy/build.ts +93 -30
- package/corpus/core/src/deploy/workspace-deploy.ts +21 -16
- package/corpus/core/src/guards/no-localhost-fallback.ts +76 -14
- package/corpus/core/src/integrations/google-docs-poller.ts +19 -12
- package/corpus/core/src/integrations/webhook-handler.ts +56 -33
- package/corpus/core/src/jobs/scheduler.ts +57 -23
- package/corpus/core/src/localization/default-messages.ts +23 -1
- package/corpus/core/src/mcp/screen-memory-stdio.ts +21 -2
- package/corpus/core/src/observability/evals.ts +7 -8
- package/corpus/core/src/observability/traces.ts +2 -0
- package/corpus/core/src/org/accept-pending.ts +2 -2
- package/corpus/core/src/org/active-org.ts +73 -0
- package/corpus/core/src/org/auto-join-domain.ts +7 -2
- package/corpus/core/src/org/context.ts +169 -66
- package/corpus/core/src/org/handlers.ts +148 -10
- package/corpus/core/src/org/plugin.ts +8 -1
- package/corpus/core/src/org/types.ts +6 -1
- package/corpus/core/src/provider-api/index.ts +6 -1
- package/corpus/core/src/resources/handlers.ts +2 -6
- package/corpus/core/src/resources/script-helpers.ts +2 -1
- package/corpus/core/src/scripts/chat/search-chats.ts +5 -2
- package/corpus/core/src/scripts/describe-workspace-apps.ts +59 -0
- package/corpus/core/src/scripts/resources/delete-memory.ts +5 -2
- package/corpus/core/src/scripts/resources/delete.ts +5 -2
- package/corpus/core/src/scripts/resources/effective.ts +5 -2
- package/corpus/core/src/scripts/resources/list.ts +5 -2
- package/corpus/core/src/scripts/resources/read.ts +5 -2
- package/corpus/core/src/scripts/resources/save-memory.ts +5 -2
- package/corpus/core/src/scripts/resources/write.ts +5 -2
- package/corpus/core/src/server/agent-capabilities.ts +147 -0
- package/corpus/core/src/server/agent-chat/framework-prompts.ts +11 -13
- package/corpus/core/src/server/agent-chat/prompt-resources.ts +183 -57
- package/corpus/core/src/server/agent-chat/script-entries.ts +20 -7
- package/corpus/core/src/server/agent-chat-plugin.ts +27 -0
- package/corpus/core/src/server/auth.ts +38 -32
- package/corpus/core/src/server/core-routes-plugin.ts +229 -179
- package/corpus/core/src/server/credential-provider.ts +196 -44
- package/corpus/core/src/server/embed-session.ts +10 -0
- package/corpus/core/src/server/framework-request-handler.ts +43 -0
- package/corpus/core/src/server/google-auth-plugin.ts +13 -450
- package/corpus/core/src/server/index.ts +4 -1
- package/corpus/core/src/server/onboarding-html.ts +20 -56
- package/corpus/core/src/server/open-route.ts +6 -1
- package/corpus/core/src/server/poll.ts +1 -1
- package/corpus/core/src/server/prompts/framework-core-compact.ts +5 -5
- package/corpus/core/src/server/prompts/framework-core.ts +7 -9
- package/corpus/core/src/server/prompts/shared-rules.ts +20 -9
- package/corpus/core/src/server/request-context.ts +58 -2
- package/corpus/core/src/server/scoped-key-storage.ts +1 -1
- package/corpus/core/src/settings/org-settings.ts +9 -0
- package/corpus/core/src/settings/store.ts +29 -0
- package/corpus/core/src/shared/index.ts +13 -0
- package/corpus/core/src/shared/sign-in-journey.ts +331 -0
- package/corpus/core/src/styles/agent-native.css +8 -0
- package/corpus/core/src/templates/chat/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/core/src/templates/chat/.agents/skills/adding-a-feature/SKILL.md +2 -0
- package/corpus/core/src/templates/chat/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/core/src/templates/chat/.agents/skills/security/SKILL.md +2 -0
- package/corpus/core/src/templates/chat/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/core/src/templates/chat/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/core/src/templates/chat/AGENTS.md +8 -0
- package/corpus/core/src/templates/chat/app/entry.client.tsx +3 -0
- package/corpus/core/src/templates/chat/changelog/2026-07-24-borderless-secondary-surfaces.md +6 -0
- package/corpus/core/src/templates/chat/changelog/2026-07-24-sidebar-footer-controls-follow-a-consistent-order.md +6 -0
- package/corpus/core/src/templates/chat/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/corpus/core/src/templates/default/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/core/src/templates/default/.agents/skills/adding-a-feature/SKILL.md +2 -0
- package/corpus/core/src/templates/default/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/core/src/templates/default/.agents/skills/security/SKILL.md +2 -0
- package/corpus/core/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/core/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/core/src/templates/default/AGENTS.md +68 -195
- package/corpus/core/src/templates/default/app/entry.client.tsx +3 -0
- package/corpus/core/src/templates/default/app/i18n/ar-SA.ts +8 -0
- package/corpus/core/src/templates/default/app/i18n/de-DE.ts +8 -0
- package/corpus/core/src/templates/default/app/i18n/en-US.ts +8 -0
- package/corpus/core/src/templates/default/app/i18n/es-ES.ts +8 -0
- package/corpus/core/src/templates/default/app/i18n/fr-FR.ts +8 -0
- package/corpus/core/src/templates/default/app/i18n/hi-IN.ts +8 -0
- package/corpus/core/src/templates/default/app/i18n/ja-JP.ts +8 -0
- package/corpus/core/src/templates/default/app/i18n/ko-KR.ts +8 -0
- package/corpus/core/src/templates/default/app/i18n/pt-BR.ts +8 -0
- package/corpus/core/src/templates/default/app/i18n/zh-CN.ts +8 -0
- package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +8 -0
- package/corpus/core/src/templates/headless/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/core/src/templates/workspace-core/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/core/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +2 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/adding-workspace-apps/SKILL.md +100 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +2 -1
- package/corpus/core/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +28 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +14 -1
- package/corpus/core/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/core/src/templates/workspace-core/.agents/skills/qa/SKILL.md +6 -3
- package/corpus/core/src/templates/workspace-core/.agents/skills/security/SKILL.md +2 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/core/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/core/src/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +91 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +60 -0
- package/corpus/core/src/templates/workspace-core/AGENTS.md +62 -124
- package/corpus/core/src/templates/workspace-root/AGENTS.md +6 -1
- package/corpus/core/src/triggers/dispatcher.ts +28 -17
- package/corpus/core/src/vite/client.ts +20 -8
- package/corpus/templates/analytics/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/templates/analytics/.agents/skills/dashboard-management/SKILL.md +41 -1
- package/corpus/templates/analytics/.agents/skills/dashboard-ops/SKILL.md +50 -22
- package/corpus/templates/analytics/.agents/skills/data-querying/SKILL.md +1 -1
- package/corpus/templates/analytics/.agents/skills/data-querying/references/inline-chart-embeds.md +8 -0
- package/corpus/templates/analytics/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/templates/analytics/.agents/skills/security/SKILL.md +2 -0
- package/corpus/templates/analytics/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/templates/analytics/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/templates/analytics/.agents/skills/sharing/SKILL.md +228 -0
- package/corpus/templates/analytics/.builder/skills/charts/SKILL.md +2 -2
- package/corpus/templates/analytics/actions/delete-dashboard-view.ts +24 -0
- package/corpus/templates/analytics/actions/delete-user-pref.ts +22 -0
- package/corpus/templates/analytics/actions/generate-chart.ts +8 -245
- package/corpus/templates/analytics/actions/get-theme.ts +27 -0
- package/corpus/templates/analytics/actions/get-user-pref.ts +22 -0
- package/corpus/templates/analytics/actions/list-dashboard-views.ts +25 -0
- package/corpus/templates/analytics/actions/save-dashboard-view.ts +33 -0
- package/corpus/templates/analytics/actions/set-theme.ts +22 -0
- package/corpus/templates/analytics/actions/set-user-pref.ts +24 -0
- package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +134 -27
- package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +2 -9
- package/corpus/templates/analytics/app/components/layout/Layout.tsx +0 -17
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +10 -5
- package/corpus/templates/analytics/app/hooks/use-dashboard-views.ts +22 -52
- package/corpus/templates/analytics/app/hooks/use-user-pref.ts +21 -31
- package/corpus/templates/analytics/app/i18n-data.ts +10 -0
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/PanelEditorDialog.tsx +2 -1
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/dual-axis.ts +73 -0
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +8 -27
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/report-panel-window.ts +0 -57
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/types.ts +8 -0
- package/corpus/templates/analytics/app/root.tsx +0 -28
- package/corpus/templates/analytics/changelog/2026-07-26-error-issues-now-group-by-message-as-well-as-stack-frame-and.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-26-line-area-and-bar-dashboard-panels-can-plot-series-on-a-seco.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-26-scheduled-dashboard-email-reports-now-arrive-complete-and-re.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-26-session-replays-now-detect-rage-clicks-so-the-rage-click-fil.md +6 -0
- package/corpus/templates/analytics/docs/error-capture.md +8 -4
- package/corpus/templates/analytics/package.json +1 -2
- package/corpus/templates/analytics/scripts/preview-dashboard-report.ts +221 -0
- package/corpus/templates/analytics/server/jobs/dashboard-report.ts +39 -32
- package/corpus/templates/analytics/server/lib/dashboard-report-render.ts +1168 -0
- package/corpus/templates/analytics/server/lib/dashboard-report.ts +111 -1358
- package/corpus/templates/analytics/server/lib/error-capture.ts +32 -15
- package/corpus/templates/analytics/server/lib/report-chart-svg.ts +901 -0
- package/corpus/templates/analytics/server/lib/session-replay.ts +77 -1
- package/corpus/templates/analytics/shared/dashboard-report-timeouts.ts +3 -4
- package/corpus/templates/assets/.agents/skills/a2a-assets/SKILL.md +28 -0
- package/corpus/templates/assets/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/templates/assets/.agents/skills/assets-navigation/SKILL.md +46 -0
- package/corpus/templates/assets/.agents/skills/creative-context/SKILL.md +12 -0
- package/corpus/templates/assets/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/templates/assets/.agents/skills/image-generation/SKILL.md +28 -0
- package/corpus/templates/assets/.agents/skills/library-management/SKILL.md +9 -0
- package/corpus/templates/assets/.agents/skills/logo-composite/SKILL.md +11 -0
- package/corpus/templates/assets/.agents/skills/security/SKILL.md +2 -0
- package/corpus/templates/assets/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/templates/assets/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/templates/assets/.agents/skills/sharing/SKILL.md +228 -0
- package/corpus/templates/assets/AGENTS.md +58 -125
- package/corpus/templates/assets/actions/variant-slots.ts +8 -4
- package/corpus/templates/assets/app/entry.client.tsx +3 -0
- package/corpus/templates/assets/package.json +0 -2
- package/corpus/templates/brain/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/templates/brain/.agents/skills/adding-a-feature/SKILL.md +2 -0
- package/corpus/templates/brain/.agents/skills/brain/SKILL.md +78 -4
- package/corpus/templates/brain/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/templates/brain/.agents/skills/ingestion-and-connectors/SKILL.md +15 -3
- package/corpus/templates/brain/.agents/skills/security/SKILL.md +2 -0
- package/corpus/templates/brain/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/templates/brain/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/templates/brain/.agents/skills/sharing/SKILL.md +228 -0
- package/corpus/templates/brain/.agents/skills/storing-data/SKILL.md +178 -0
- package/corpus/templates/brain/AGENTS.md +73 -119
- package/corpus/templates/brain/app/entry.client.tsx +3 -0
- package/corpus/templates/calendar/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/templates/calendar/.agents/skills/event-management/SKILL.md +56 -3
- package/corpus/templates/calendar/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/templates/calendar/.agents/skills/security/SKILL.md +2 -0
- package/corpus/templates/calendar/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/templates/calendar/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/templates/calendar/.agents/skills/sharing/SKILL.md +228 -0
- package/corpus/templates/calendar/AGENTS.md +22 -45
- package/corpus/templates/calendar/app/entry.client.tsx +3 -0
- package/corpus/templates/calendar/server/handlers/events.ts +0 -364
- package/corpus/templates/chat/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/templates/chat/.agents/skills/adding-a-feature/SKILL.md +2 -0
- package/corpus/templates/chat/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/templates/chat/.agents/skills/security/SKILL.md +2 -0
- package/corpus/templates/chat/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/templates/chat/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/templates/chat/.agents/skills/sharing/SKILL.md +228 -0
- package/corpus/templates/chat/.agents/skills/storing-data/SKILL.md +178 -0
- package/corpus/templates/chat/AGENTS.md +8 -0
- package/corpus/templates/chat/app/entry.client.tsx +3 -0
- package/corpus/templates/clips/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/templates/clips/.agents/skills/ai-video-tools/SKILL.md +42 -0
- package/corpus/templates/clips/.agents/skills/brain-export/SKILL.md +59 -0
- package/corpus/templates/clips/.agents/skills/bug-reports/SKILL.md +37 -0
- package/corpus/templates/clips/.agents/skills/crm-call-evidence/SKILL.md +41 -0
- package/corpus/templates/clips/.agents/skills/dictate/SKILL.md +4 -0
- package/corpus/templates/clips/.agents/skills/external-integrations/SKILL.md +45 -0
- package/corpus/templates/clips/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/templates/clips/.agents/skills/meetings/SKILL.md +9 -0
- package/corpus/templates/clips/.agents/skills/recording/SKILL.md +45 -0
- package/corpus/templates/clips/.agents/skills/screen-memory/SKILL.md +43 -0
- package/corpus/templates/clips/.agents/skills/security/SKILL.md +2 -0
- package/corpus/templates/clips/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/templates/clips/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/templates/clips/.agents/skills/video-sharing/SKILL.md +38 -1
- package/corpus/templates/clips/AGENTS.md +82 -224
- package/corpus/templates/clips/actions/create-recording.ts +4 -0
- package/corpus/templates/clips/app/components/player/sign-in-prompt-dialog.tsx +6 -10
- package/corpus/templates/clips/app/routes/invite.$token.tsx +6 -5
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +4 -5
- package/corpus/templates/clips/app/routes/share.$shareId.tsx +8 -8
- package/corpus/templates/clips/changelog/2026-07-26-long-agent-chat-turns-now-finish-instead-of-stopping-partway.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-26-recordings-no-longer-get-stuck-on-uploading-uploads-now-hold.md +6 -0
- package/corpus/templates/clips/server/db/schema.ts +3 -0
- package/corpus/templates/clips/server/jobs/brain-export.ts +4 -0
- package/corpus/templates/clips/server/lib/recording-upload-state.ts +0 -52
- package/corpus/templates/clips/server/lib/upload-lease.ts +241 -0
- package/corpus/templates/clips/server/plugins/agent-chat.ts +4 -0
- package/corpus/templates/clips/server/plugins/db.ts +18 -347
- package/corpus/templates/clips/server/routes/api/clips/brain-export/run.post.ts +7 -1
- package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/chunk.post.ts +123 -126
- package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/reset-chunks.post.ts +4 -0
- package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/resume.get.ts +118 -0
- package/corpus/templates/clips/server/routes/api/uploads/reap.post.ts +69 -0
- package/corpus/templates/content/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/templates/content/.agents/skills/content/SKILL.md +4 -0
- package/corpus/templates/content/.agents/skills/creative-context/SKILL.md +8 -0
- package/corpus/templates/content/.agents/skills/document-editing/SKILL.md +55 -0
- package/corpus/templates/content/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/templates/content/.agents/skills/notion-integration/SKILL.md +12 -1
- package/corpus/templates/content/.agents/skills/security/SKILL.md +2 -0
- package/corpus/templates/content/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/templates/content/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/templates/content/.agents/skills/sharing/SKILL.md +228 -0
- package/corpus/templates/content/AGENTS.md +63 -131
- package/corpus/templates/content/app/routes/_app.tsx +4 -4
- package/corpus/templates/content/server/routes/api/notion/callback.get.ts +6 -24
- package/corpus/templates/design/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/templates/design/.agents/skills/design-generation/SKILL.md +16 -0
- package/corpus/templates/design/.agents/skills/design-systems/SKILL.md +15 -0
- package/corpus/templates/design/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/templates/design/.agents/skills/full-app-build/SKILL.md +12 -0
- package/corpus/templates/design/.agents/skills/security/SKILL.md +2 -0
- package/corpus/templates/design/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/templates/design/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/templates/design/.agents/skills/sharing/SKILL.md +228 -0
- package/corpus/templates/design/.agents/skills/storing-data/SKILL.md +178 -0
- package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +201 -102
- package/corpus/templates/design/AGENTS.md +58 -71
- package/corpus/templates/design/actions/open-visual-edit.ts +111 -2
- package/corpus/templates/design/app/components/design/AddLocalhostScreenDialog.tsx +236 -0
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +1 -1
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +2 -2
- package/corpus/templates/design/app/entry.client.tsx +3 -0
- package/corpus/templates/design/app/i18n-data.ts +180 -0
- package/corpus/templates/design/app/pages/Present.tsx +6 -9
- package/corpus/templates/design/app/pages/VisualEdit.tsx +4 -7
- package/corpus/templates/design/app/pages/design-editor/design-data-geometry-utils.ts +20 -0
- package/corpus/templates/dispatch/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/templates/dispatch/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/templates/dispatch/.agents/skills/security/SKILL.md +2 -0
- package/corpus/templates/dispatch/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/templates/dispatch/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/templates/dispatch/.agents/skills/sharing/SKILL.md +228 -0
- package/corpus/templates/dispatch/.agents/skills/storing-data/SKILL.md +178 -0
- package/corpus/templates/dispatch/app/entry.client.tsx +3 -0
- package/corpus/templates/dispatch/server/plugins/identity-sso.ts +27 -16
- package/corpus/templates/forms/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/templates/forms/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/templates/forms/.agents/skills/security/SKILL.md +2 -0
- package/corpus/templates/forms/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/templates/forms/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/templates/forms/.agents/skills/sharing/SKILL.md +228 -0
- package/corpus/templates/forms/DEVELOPING.md +1 -1
- package/corpus/templates/forms/app/entry.client.tsx +3 -0
- package/corpus/templates/forms/app/pages/FormsListPage.tsx +3 -5
- package/corpus/templates/forms/app/routes/_app.tsx +4 -4
- package/corpus/templates/macros/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/templates/macros/.agents/skills/security/SKILL.md +2 -0
- package/corpus/templates/macros/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/templates/macros/.agents/skills/sharing/SKILL.md +228 -0
- package/corpus/templates/macros/.agents/skills/storing-data/SKILL.md +178 -0
- package/corpus/templates/macros/app/entry.client.tsx +3 -0
- package/corpus/templates/mail/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/templates/mail/.agents/skills/contacts-and-crm/SKILL.md +10 -0
- package/corpus/templates/mail/.agents/skills/draft-queue/SKILL.md +3 -0
- package/corpus/templates/mail/.agents/skills/email-drafts/SKILL.md +26 -2
- package/corpus/templates/mail/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/templates/mail/.agents/skills/inbox-automations/SKILL.md +37 -0
- package/corpus/templates/mail/.agents/skills/inbox-reads-and-triage/SKILL.md +58 -0
- package/corpus/templates/mail/.agents/skills/mail-backends/SKILL.md +33 -0
- package/corpus/templates/mail/.agents/skills/provider-api-scans/SKILL.md +39 -0
- package/corpus/templates/mail/.agents/skills/security/SKILL.md +2 -0
- package/corpus/templates/mail/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/templates/mail/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/templates/mail/.agents/skills/sharing/SKILL.md +228 -0
- package/corpus/templates/mail/AGENTS.md +74 -143
- package/corpus/templates/mail/actions/create-alias.ts +36 -0
- package/corpus/templates/mail/actions/create-automation.ts +28 -0
- package/corpus/templates/mail/actions/create-scheduled-job.ts +45 -0
- package/corpus/templates/mail/actions/delete-alias.ts +26 -0
- package/corpus/templates/mail/actions/delete-automation.ts +21 -0
- package/corpus/templates/mail/actions/get-automation-settings.ts +32 -0
- package/corpus/templates/mail/actions/get-mail-preferences.ts +18 -0
- package/corpus/templates/mail/actions/list-aliases.ts +17 -0
- package/corpus/templates/mail/actions/list-automations.ts +18 -0
- package/corpus/templates/mail/actions/list-scheduled-jobs.ts +18 -0
- package/corpus/templates/mail/actions/update-alias.ts +37 -0
- package/corpus/templates/mail/actions/update-automation-settings.ts +33 -0
- package/corpus/templates/mail/actions/update-automation.ts +33 -0
- package/corpus/templates/mail/actions/update-mail-preferences.ts +68 -0
- package/corpus/templates/mail/actions/update-scheduled-job.ts +25 -0
- package/corpus/templates/mail/app/entry.client.tsx +3 -0
- package/corpus/templates/mail/app/hooks/use-aliases.ts +6 -36
- package/corpus/templates/mail/app/hooks/use-automations.ts +9 -16
- package/corpus/templates/mail/app/hooks/use-emails.ts +6 -5
- package/corpus/templates/mail/app/hooks/use-scheduled-jobs.ts +12 -15
- package/corpus/templates/mail/app/pages/SettingsPage.tsx +15 -9
- package/corpus/templates/mail/server/handlers/automations.ts +5 -142
- package/corpus/templates/mail/server/handlers/emails.ts +1 -56
- package/corpus/templates/mail/server/handlers/scheduled-jobs.ts +0 -134
- package/corpus/templates/mail/server/lib/aliases.ts +18 -0
- package/corpus/templates/mail/server/lib/automations.ts +104 -0
- package/corpus/templates/mail/server/lib/jobs.ts +34 -0
- package/corpus/templates/mail/server/lib/mail-settings.ts +43 -0
- package/corpus/templates/mail/shared/automation-schema.ts +10 -0
- package/corpus/templates/plan/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/templates/plan/.agents/skills/adding-a-feature/SKILL.md +2 -0
- package/corpus/templates/plan/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/templates/plan/.agents/skills/plan-authoring-flow/SKILL.md +98 -0
- package/corpus/templates/plan/.agents/skills/plan-browser-editing/SKILL.md +42 -0
- package/corpus/templates/plan/.agents/skills/plan-comments-and-feedback/SKILL.md +68 -0
- package/corpus/templates/plan/.agents/skills/plan-events/SKILL.md +22 -0
- package/corpus/templates/plan/.agents/skills/plan-hosted-writes/SKILL.md +42 -0
- package/corpus/templates/plan/.agents/skills/plan-local-codebase-chat/SKILL.md +38 -0
- package/corpus/templates/plan/.agents/skills/plan-review-recaps/SKILL.md +25 -0
- package/corpus/templates/plan/.agents/skills/plan-source-sync/SKILL.md +68 -0
- package/corpus/templates/plan/.agents/skills/plan-version-history/SKILL.md +25 -0
- package/corpus/templates/plan/.agents/skills/security/SKILL.md +2 -0
- package/corpus/templates/plan/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/templates/plan/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/templates/plan/.agents/skills/sharing/SKILL.md +228 -0
- package/corpus/templates/plan/.agents/skills/storing-data/SKILL.md +178 -0
- package/corpus/templates/plan/AGENTS.md +64 -296
- package/corpus/templates/plan/app/components/layout/Sidebar.tsx +9 -8
- package/corpus/templates/plan/app/pages/PlansPage.tsx +5 -10
- package/corpus/templates/slides/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/templates/slides/.agents/skills/deck-management/SKILL.md +7 -7
- package/corpus/templates/slides/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/templates/slides/.agents/skills/security/SKILL.md +2 -0
- package/corpus/templates/slides/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/templates/slides/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/templates/slides/.agents/skills/sharing/SKILL.md +228 -0
- package/corpus/templates/slides/.agents/skills/slide-editing/SKILL.md +3 -2
- package/corpus/templates/slides/.agents/skills/storing-data/SKILL.md +178 -0
- package/corpus/templates/slides/DEVELOPING.md +3 -3
- package/corpus/templates/slides/actions/_deck-write.ts +52 -0
- package/corpus/templates/slides/actions/add-deck.ts +73 -0
- package/corpus/templates/slides/actions/delete-deck.ts +60 -0
- package/corpus/templates/slides/actions/get-deck.ts +3 -1
- package/corpus/templates/slides/actions/save-deck.ts +144 -0
- package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +27 -20
- package/corpus/templates/slides/app/context/DeckContext.tsx +173 -100
- package/corpus/templates/slides/app/pages/Index.tsx +3 -6
- package/corpus/templates/slides/app/routes/slide.tsx +16 -12
- package/corpus/templates/slides/changelog/2026-07-26-a-newly-created-deck-now-appears-in-the-deck-list-right-away.md +6 -0
- package/corpus/templates/slides/server/handlers/decks.ts +2 -378
- package/corpus/templates/tasks/.agents/skills/action-reference/SKILL.md +47 -0
- package/corpus/templates/tasks/.agents/skills/actions/SKILL.md +19 -1
- package/corpus/templates/tasks/.agents/skills/adding-a-feature/SKILL.md +2 -0
- package/corpus/templates/tasks/.agents/skills/change-summary/SKILL.md +19 -1
- package/corpus/templates/tasks/.agents/skills/custom-fields/SKILL.md +63 -0
- package/corpus/templates/tasks/.agents/skills/frontend-design/SKILL.md +20 -6
- package/corpus/templates/tasks/.agents/skills/security/SKILL.md +2 -0
- package/corpus/templates/tasks/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/corpus/templates/tasks/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/corpus/templates/tasks/.agents/skills/sharing/SKILL.md +228 -0
- package/corpus/templates/tasks/.agents/skills/store-conventions/SKILL.md +45 -0
- package/corpus/templates/tasks/.agents/skills/storing-data/SKILL.md +178 -0
- package/corpus/templates/tasks/.agents/skills/task-inbox-workflow/SKILL.md +66 -0
- package/corpus/templates/tasks/AGENTS.md +48 -113
- package/corpus/templates/tasks/app/entry.client.tsx +3 -0
- package/corpus/toolkit/CHANGELOG.md +12 -0
- package/corpus/toolkit/package.json +1 -1
- package/corpus/toolkit/src/composer/PromptComposer.tsx +23 -20
- package/dist/a2a/client.d.ts +3 -1
- package/dist/a2a/client.d.ts.map +1 -1
- package/dist/a2a/client.js +4 -2
- package/dist/a2a/client.js.map +1 -1
- package/dist/agent/action-warnings.d.ts +27 -0
- package/dist/agent/action-warnings.d.ts.map +1 -0
- package/dist/agent/action-warnings.js +73 -0
- package/dist/agent/action-warnings.js.map +1 -0
- package/dist/agent/durable-background.d.ts +8 -0
- package/dist/agent/durable-background.d.ts.map +1 -1
- package/dist/agent/durable-background.js +37 -5
- package/dist/agent/durable-background.js.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.js +47 -6
- package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
- package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
- package/dist/agent/engine/anthropic-engine.js +41 -9
- package/dist/agent/engine/anthropic-engine.js.map +1 -1
- package/dist/agent/engine/builder-engine.d.ts.map +1 -1
- package/dist/agent/engine/builder-engine.js +46 -19
- package/dist/agent/engine/builder-engine.js.map +1 -1
- package/dist/agent/engine/continuation-dispatch-retry.d.ts.map +1 -1
- package/dist/agent/engine/continuation-dispatch-retry.js +11 -9
- package/dist/agent/engine/continuation-dispatch-retry.js.map +1 -1
- package/dist/agent/engine/credential-errors.d.ts +6 -0
- package/dist/agent/engine/credential-errors.d.ts.map +1 -1
- package/dist/agent/engine/credential-errors.js +10 -0
- package/dist/agent/engine/credential-errors.js.map +1 -1
- package/dist/agent/engine/error-detail.d.ts +2 -0
- package/dist/agent/engine/error-detail.d.ts.map +1 -0
- package/dist/agent/engine/error-detail.js +37 -0
- package/dist/agent/engine/error-detail.js.map +1 -0
- package/dist/agent/engine/prompt-cache.d.ts +34 -0
- package/dist/agent/engine/prompt-cache.d.ts.map +1 -0
- package/dist/agent/engine/prompt-cache.js +39 -0
- package/dist/agent/engine/prompt-cache.js.map +1 -0
- package/dist/agent/engine/registry.d.ts.map +1 -1
- package/dist/agent/engine/registry.js +23 -33
- package/dist/agent/engine/registry.js.map +1 -1
- package/dist/agent/engine/tool-call-journal-seed.d.ts +1 -1
- package/dist/agent/engine/tool-call-journal-seed.d.ts.map +1 -1
- package/dist/agent/engine/tool-call-journal-seed.js +2 -2
- package/dist/agent/engine/tool-call-journal-seed.js.map +1 -1
- package/dist/agent/engine/translate-anthropic.d.ts +28 -0
- package/dist/agent/engine/translate-anthropic.d.ts.map +1 -1
- package/dist/agent/engine/translate-anthropic.js +75 -0
- package/dist/agent/engine/translate-anthropic.js.map +1 -1
- package/dist/agent/loop-settings.d.ts +35 -2
- package/dist/agent/loop-settings.d.ts.map +1 -1
- package/dist/agent/loop-settings.js +71 -8
- package/dist/agent/loop-settings.js.map +1 -1
- package/dist/agent/production-agent.d.ts +105 -20
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +516 -123
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-loop-with-resume.d.ts.map +1 -1
- package/dist/agent/run-loop-with-resume.js +24 -2
- package/dist/agent/run-loop-with-resume.js.map +1 -1
- package/dist/agent/run-manager.d.ts +52 -9
- package/dist/agent/run-manager.d.ts.map +1 -1
- package/dist/agent/run-manager.js +191 -36
- package/dist/agent/run-manager.js.map +1 -1
- package/dist/agent/run-store.d.ts +87 -14
- package/dist/agent/run-store.d.ts.map +1 -1
- package/dist/agent/run-store.js +331 -59
- package/dist/agent/run-store.js.map +1 -1
- package/dist/agent/thread-data-builder.d.ts.map +1 -1
- package/dist/agent/thread-data-builder.js +6 -1
- package/dist/agent/thread-data-builder.js.map +1 -1
- package/dist/agent/types.d.ts +18 -6
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js +9 -5
- package/dist/agent/types.js.map +1 -1
- package/dist/application-state/script-helpers.d.ts.map +1 -1
- package/dist/application-state/script-helpers.js +2 -2
- package/dist/application-state/script-helpers.js.map +1 -1
- package/dist/cli/agents.d.ts +2 -0
- package/dist/cli/agents.d.ts.map +1 -1
- package/dist/cli/agents.js +48 -1
- package/dist/cli/agents.js.map +1 -1
- package/dist/cli/app-skill.js +1 -1
- package/dist/cli/app-skill.js.map +1 -1
- package/dist/cli/code-agent-executor.d.ts.map +1 -1
- package/dist/cli/code-agent-executor.js +3 -3
- package/dist/cli/code-agent-executor.js.map +1 -1
- package/dist/cli/design-connect.d.ts.map +1 -1
- package/dist/cli/design-connect.js +73 -8
- package/dist/cli/design-connect.js.map +1 -1
- package/dist/cli/index.js +3 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp.d.ts.map +1 -1
- package/dist/cli/mcp.js +12 -3
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli/skills-content/design-visual-edit-skill.d.ts +1 -1
- package/dist/cli/skills-content/design-visual-edit-skill.d.ts.map +1 -1
- package/dist/cli/skills-content/design-visual-edit-skill.js +169 -24
- package/dist/cli/skills-content/design-visual-edit-skill.js.map +1 -1
- package/dist/cli/skills-content/rewind-skill.d.ts +1 -1
- package/dist/cli/skills-content/rewind-skill.d.ts.map +1 -1
- package/dist/cli/skills-content/rewind-skill.js +36 -4
- package/dist/cli/skills-content/rewind-skill.js.map +1 -1
- package/dist/cli/skills.d.ts +2 -0
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +191 -40
- package/dist/cli/skills.js.map +1 -1
- package/dist/cli/telemetry-routing.d.ts +2 -0
- package/dist/cli/telemetry-routing.d.ts.map +1 -0
- package/dist/cli/telemetry-routing.js +54 -0
- package/dist/cli/telemetry-routing.js.map +1 -0
- package/dist/cli/telemetry.js +3 -3
- package/dist/cli/telemetry.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +135 -125
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts +17 -0
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +141 -31
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/chat/message-components.d.ts +9 -1
- package/dist/client/chat/message-components.d.ts.map +1 -1
- package/dist/client/chat/message-components.js +12 -1
- package/dist/client/chat/message-components.js.map +1 -1
- package/dist/client/embed-auth.d.ts.map +1 -1
- package/dist/client/embed-auth.js +3 -1
- package/dist/client/embed-auth.js.map +1 -1
- package/dist/client/integrations/IntegrationCard.d.ts.map +1 -1
- package/dist/client/integrations/IntegrationCard.js +9 -4
- package/dist/client/integrations/IntegrationCard.js.map +1 -1
- package/dist/client/integrations/IntegrationsPanel.d.ts.map +1 -1
- package/dist/client/integrations/IntegrationsPanel.js +13 -7
- package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
- package/dist/client/integrations/webhook-url.d.ts +7 -0
- package/dist/client/integrations/webhook-url.d.ts.map +1 -0
- package/dist/client/integrations/webhook-url.js +32 -0
- package/dist/client/integrations/webhook-url.js.map +1 -0
- package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
- package/dist/client/org/OrgSwitcher.js +13 -11
- package/dist/client/org/OrgSwitcher.js.map +1 -1
- package/dist/client/org/RequireActiveOrg.d.ts.map +1 -1
- package/dist/client/org/RequireActiveOrg.js +2 -2
- package/dist/client/org/RequireActiveOrg.js.map +1 -1
- package/dist/client/org/TeamPage.d.ts.map +1 -1
- package/dist/client/org/TeamPage.js +52 -13
- package/dist/client/org/TeamPage.js.map +1 -1
- package/dist/client/org/hooks.d.ts +9 -0
- package/dist/client/org/hooks.d.ts.map +1 -1
- package/dist/client/org/hooks.js +24 -0
- package/dist/client/org/hooks.js.map +1 -1
- package/dist/client/org/index.d.ts +1 -1
- package/dist/client/org/index.d.ts.map +1 -1
- package/dist/client/org/index.js +1 -1
- package/dist/client/org/index.js.map +1 -1
- package/dist/client/require-session.d.ts +12 -17
- package/dist/client/require-session.d.ts.map +1 -1
- package/dist/client/require-session.js +36 -23
- package/dist/client/require-session.js.map +1 -1
- package/dist/client/session-replay.js +1 -1
- package/dist/client/session-replay.js.map +1 -1
- package/dist/client/settings/DemoModeSection.d.ts +0 -1
- package/dist/client/settings/DemoModeSection.d.ts.map +1 -1
- package/dist/client/settings/DemoModeSection.js +0 -4
- package/dist/client/settings/DemoModeSection.js.map +1 -1
- package/dist/client/settings/SecretsSection.d.ts.map +1 -1
- package/dist/client/settings/SecretsSection.js +12 -8
- package/dist/client/settings/SecretsSection.js.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.d.ts +0 -1
- package/dist/client/settings/VoiceTranscriptionSection.d.ts.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.js +1 -4
- package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
- package/dist/client/sse-event-processor.d.ts +33 -1
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +83 -8
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/client/use-action.d.ts.map +1 -1
- package/dist/client/use-action.js +23 -14
- package/dist/client/use-action.js.map +1 -1
- package/dist/client/use-agent-engine-configured.d.ts +9 -3
- package/dist/client/use-agent-engine-configured.d.ts.map +1 -1
- package/dist/client/use-agent-engine-configured.js +30 -3
- package/dist/client/use-agent-engine-configured.js.map +1 -1
- package/dist/client/use-db-sync.d.ts +3 -0
- package/dist/client/use-db-sync.d.ts.map +1 -1
- package/dist/client/use-db-sync.js +18 -1
- package/dist/client/use-db-sync.js.map +1 -1
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/credentials/index.d.ts +29 -1
- package/dist/credentials/index.d.ts.map +1 -1
- package/dist/credentials/index.js +111 -2
- package/dist/credentials/index.js.map +1 -1
- package/dist/deploy/build.d.ts +14 -3
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +81 -24
- package/dist/deploy/build.js.map +1 -1
- package/dist/deploy/workspace-deploy.d.ts +15 -0
- package/dist/deploy/workspace-deploy.d.ts.map +1 -1
- package/dist/deploy/workspace-deploy.js +19 -18
- package/dist/deploy/workspace-deploy.js.map +1 -1
- package/dist/file-upload/actions/upload-image.d.ts +3 -3
- package/dist/guards/no-localhost-fallback.d.ts +7 -0
- package/dist/guards/no-localhost-fallback.d.ts.map +1 -1
- package/dist/guards/no-localhost-fallback.js +75 -16
- package/dist/guards/no-localhost-fallback.js.map +1 -1
- package/dist/integrations/google-docs-poller.d.ts.map +1 -1
- package/dist/integrations/google-docs-poller.js +8 -3
- package/dist/integrations/google-docs-poller.js.map +1 -1
- package/dist/integrations/webhook-handler.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.js +22 -4
- package/dist/integrations/webhook-handler.js.map +1 -1
- package/dist/jobs/scheduler.d.ts +17 -0
- package/dist/jobs/scheduler.d.ts.map +1 -1
- package/dist/jobs/scheduler.js +60 -33
- package/dist/jobs/scheduler.js.map +1 -1
- package/dist/localization/default-messages.d.ts +17 -1
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +17 -1
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/mcp/screen-memory-stdio.d.ts +2 -0
- package/dist/mcp/screen-memory-stdio.d.ts.map +1 -1
- package/dist/mcp/screen-memory-stdio.js +12 -2
- package/dist/mcp/screen-memory-stdio.js.map +1 -1
- package/dist/notifications/routes.d.ts +1 -1
- package/dist/observability/evals.d.ts.map +1 -1
- package/dist/observability/evals.js +7 -10
- package/dist/observability/evals.js.map +1 -1
- package/dist/observability/traces.d.ts +2 -0
- package/dist/observability/traces.d.ts.map +1 -1
- package/dist/observability/traces.js.map +1 -1
- package/dist/org/accept-pending.js +2 -2
- package/dist/org/accept-pending.js.map +1 -1
- package/dist/org/active-org.d.ts +16 -0
- package/dist/org/active-org.d.ts.map +1 -0
- package/dist/org/active-org.js +57 -0
- package/dist/org/active-org.js.map +1 -0
- package/dist/org/auto-join-domain.d.ts.map +1 -1
- package/dist/org/auto-join-domain.js +3 -2
- package/dist/org/auto-join-domain.js.map +1 -1
- package/dist/org/context.d.ts +19 -1
- package/dist/org/context.d.ts.map +1 -1
- package/dist/org/context.js +159 -71
- package/dist/org/context.js.map +1 -1
- package/dist/org/handlers.d.ts +24 -1
- package/dist/org/handlers.d.ts.map +1 -1
- package/dist/org/handlers.js +129 -10
- package/dist/org/handlers.js.map +1 -1
- package/dist/org/plugin.d.ts +2 -0
- package/dist/org/plugin.d.ts.map +1 -1
- package/dist/org/plugin.js +9 -2
- package/dist/org/plugin.js.map +1 -1
- package/dist/org/types.d.ts +6 -1
- package/dist/org/types.d.ts.map +1 -1
- package/dist/org/types.js.map +1 -1
- package/dist/provider-api/actions/custom-provider-registration.d.ts +9 -9
- package/dist/provider-api/actions/provider-api.d.ts +11 -11
- package/dist/provider-api/index.d.ts.map +1 -1
- package/dist/provider-api/index.js +3 -2
- package/dist/provider-api/index.js.map +1 -1
- package/dist/resources/handlers.d.ts.map +1 -1
- package/dist/resources/handlers.js +2 -7
- package/dist/resources/handlers.js.map +1 -1
- package/dist/resources/script-helpers.d.ts.map +1 -1
- package/dist/resources/script-helpers.js +2 -2
- package/dist/resources/script-helpers.js.map +1 -1
- package/dist/scripts/chat/search-chats.d.ts.map +1 -1
- package/dist/scripts/chat/search-chats.js +2 -2
- package/dist/scripts/chat/search-chats.js.map +1 -1
- package/dist/scripts/describe-workspace-apps.d.ts +4 -0
- package/dist/scripts/describe-workspace-apps.d.ts.map +1 -0
- package/dist/scripts/describe-workspace-apps.js +34 -0
- package/dist/scripts/describe-workspace-apps.js.map +1 -0
- package/dist/scripts/resources/delete-memory.d.ts.map +1 -1
- package/dist/scripts/resources/delete-memory.js +2 -2
- package/dist/scripts/resources/delete-memory.js.map +1 -1
- package/dist/scripts/resources/delete.d.ts.map +1 -1
- package/dist/scripts/resources/delete.js +2 -2
- package/dist/scripts/resources/delete.js.map +1 -1
- package/dist/scripts/resources/effective.d.ts.map +1 -1
- package/dist/scripts/resources/effective.js +2 -2
- package/dist/scripts/resources/effective.js.map +1 -1
- package/dist/scripts/resources/list.d.ts.map +1 -1
- package/dist/scripts/resources/list.js +2 -2
- package/dist/scripts/resources/list.js.map +1 -1
- package/dist/scripts/resources/read.d.ts.map +1 -1
- package/dist/scripts/resources/read.js +2 -2
- package/dist/scripts/resources/read.js.map +1 -1
- package/dist/scripts/resources/save-memory.d.ts.map +1 -1
- package/dist/scripts/resources/save-memory.js +2 -2
- package/dist/scripts/resources/save-memory.js.map +1 -1
- package/dist/scripts/resources/write.d.ts.map +1 -1
- package/dist/scripts/resources/write.js +2 -2
- package/dist/scripts/resources/write.js.map +1 -1
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/agent-capabilities.d.ts +21 -0
- package/dist/server/agent-capabilities.d.ts.map +1 -0
- package/dist/server/agent-capabilities.js +106 -0
- package/dist/server/agent-capabilities.js.map +1 -0
- package/dist/server/agent-chat/framework-prompts.d.ts.map +1 -1
- package/dist/server/agent-chat/framework-prompts.js +11 -13
- package/dist/server/agent-chat/framework-prompts.js.map +1 -1
- package/dist/server/agent-chat/prompt-resources.d.ts +32 -0
- package/dist/server/agent-chat/prompt-resources.d.ts.map +1 -1
- package/dist/server/agent-chat/prompt-resources.js +117 -56
- package/dist/server/agent-chat/prompt-resources.js.map +1 -1
- package/dist/server/agent-chat/script-entries.d.ts.map +1 -1
- package/dist/server/agent-chat/script-entries.js +18 -8
- package/dist/server/agent-chat/script-entries.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +27 -1
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/auth.d.ts +9 -9
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +32 -33
- package/dist/server/auth.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts +45 -0
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +162 -139
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/credential-provider.d.ts +35 -2
- package/dist/server/credential-provider.d.ts.map +1 -1
- package/dist/server/credential-provider.js +155 -40
- package/dist/server/credential-provider.js.map +1 -1
- package/dist/server/embed-session.d.ts.map +1 -1
- package/dist/server/embed-session.js +10 -0
- package/dist/server/embed-session.js.map +1 -1
- package/dist/server/framework-request-handler.d.ts.map +1 -1
- package/dist/server/framework-request-handler.js +38 -0
- package/dist/server/framework-request-handler.js.map +1 -1
- package/dist/server/google-auth-plugin.d.ts.map +1 -1
- package/dist/server/google-auth-plugin.js +12 -444
- package/dist/server/google-auth-plugin.js.map +1 -1
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +20 -56
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/server/open-route.d.ts.map +1 -1
- package/dist/server/open-route.js +6 -1
- package/dist/server/open-route.js.map +1 -1
- package/dist/server/poll.js +1 -1
- package/dist/server/poll.js.map +1 -1
- package/dist/server/prompts/framework-core-compact.d.ts.map +1 -1
- package/dist/server/prompts/framework-core-compact.js +5 -6
- package/dist/server/prompts/framework-core-compact.js.map +1 -1
- package/dist/server/prompts/framework-core.d.ts.map +1 -1
- package/dist/server/prompts/framework-core.js +7 -10
- package/dist/server/prompts/framework-core.js.map +1 -1
- package/dist/server/prompts/shared-rules.d.ts +20 -2
- package/dist/server/prompts/shared-rules.d.ts.map +1 -1
- package/dist/server/prompts/shared-rules.js +20 -10
- package/dist/server/prompts/shared-rules.js.map +1 -1
- package/dist/server/request-context.d.ts +26 -1
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/request-context.js +52 -2
- package/dist/server/request-context.js.map +1 -1
- package/dist/server/scoped-key-storage.js +1 -1
- package/dist/server/scoped-key-storage.js.map +1 -1
- package/dist/settings/org-settings.d.ts +2 -0
- package/dist/settings/org-settings.d.ts.map +1 -1
- package/dist/settings/org-settings.js +5 -1
- package/dist/settings/org-settings.js.map +1 -1
- package/dist/settings/store.d.ts +6 -0
- package/dist/settings/store.d.ts.map +1 -1
- package/dist/settings/store.js +25 -0
- package/dist/settings/store.js.map +1 -1
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/sign-in-journey.d.ts +102 -0
- package/dist/shared/sign-in-journey.d.ts.map +1 -0
- package/dist/shared/sign-in-journey.js +269 -0
- package/dist/shared/sign-in-journey.js.map +1 -0
- package/dist/styles/agent-native.css +8 -0
- package/dist/templates/chat/.agents/skills/actions/SKILL.md +19 -1
- package/dist/templates/chat/.agents/skills/adding-a-feature/SKILL.md +2 -0
- package/dist/templates/chat/.agents/skills/frontend-design/SKILL.md +20 -6
- package/dist/templates/chat/.agents/skills/security/SKILL.md +2 -0
- package/dist/templates/chat/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/dist/templates/chat/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/dist/templates/chat/.agents/skills/sharing/SKILL.md +228 -0
- package/dist/templates/chat/.agents/skills/storing-data/SKILL.md +178 -0
- package/dist/templates/chat/AGENTS.md +8 -0
- package/dist/templates/chat/app/entry.client.tsx +3 -0
- package/dist/templates/default/.agents/skills/actions/SKILL.md +19 -1
- package/dist/templates/default/.agents/skills/adding-a-feature/SKILL.md +2 -0
- package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +20 -6
- package/dist/templates/default/.agents/skills/security/SKILL.md +2 -0
- package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/dist/templates/default/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/dist/templates/default/AGENTS.md +68 -195
- package/dist/templates/default/app/entry.client.tsx +3 -0
- package/dist/templates/default/app/i18n/ar-SA.ts +8 -0
- package/dist/templates/default/app/i18n/de-DE.ts +8 -0
- package/dist/templates/default/app/i18n/en-US.ts +8 -0
- package/dist/templates/default/app/i18n/es-ES.ts +8 -0
- package/dist/templates/default/app/i18n/fr-FR.ts +8 -0
- package/dist/templates/default/app/i18n/hi-IN.ts +8 -0
- package/dist/templates/default/app/i18n/ja-JP.ts +8 -0
- package/dist/templates/default/app/i18n/ko-KR.ts +8 -0
- package/dist/templates/default/app/i18n/pt-BR.ts +8 -0
- package/dist/templates/default/app/i18n/zh-CN.ts +8 -0
- package/dist/templates/default/app/i18n/zh-TW.ts +8 -0
- package/dist/templates/headless/.agents/skills/actions/SKILL.md +19 -1
- package/dist/templates/workspace-core/.agents/skills/actions/SKILL.md +19 -1
- package/dist/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +2 -0
- package/dist/templates/workspace-core/.agents/skills/adding-workspace-apps/SKILL.md +100 -0
- package/dist/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +2 -1
- package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +28 -0
- package/dist/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +14 -1
- package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +20 -6
- package/dist/templates/workspace-core/.agents/skills/qa/SKILL.md +6 -3
- package/dist/templates/workspace-core/.agents/skills/security/SKILL.md +2 -0
- package/dist/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/dist/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/dist/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +91 -0
- package/dist/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +60 -0
- package/dist/templates/workspace-core/AGENTS.md +62 -124
- package/dist/templates/workspace-root/AGENTS.md +6 -1
- package/dist/triggers/dispatcher.d.ts.map +1 -1
- package/dist/triggers/dispatcher.js +10 -3
- package/dist/triggers/dispatcher.js.map +1 -1
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +18 -8
- package/dist/vite/client.js.map +1 -1
- package/docs/content/actions.mdx +33 -20
- package/docs/content/agent-mentions.mdx +30 -19
- package/docs/content/agent-native-toolkit.mdx +8 -6
- package/docs/content/agent-resources.mdx +11 -0
- package/docs/content/agent-surfaces.mdx +41 -30
- package/docs/content/audit-log.mdx +78 -0
- package/docs/content/authentication.mdx +7 -5
- package/docs/content/automations.mdx +15 -9
- package/docs/content/client.mdx +11 -11
- package/docs/content/cloneable-saas.mdx +7 -1
- package/docs/content/code-agents-ui.mdx +9 -1
- package/docs/content/components.mdx +7 -0
- package/docs/content/context-awareness.mdx +1 -0
- package/docs/content/creating-templates.mdx +9 -1
- package/docs/content/custom-design-system.mdx +8 -0
- package/docs/content/data-programs.mdx +6 -0
- package/docs/content/deployment.mdx +2 -0
- package/docs/content/doctor.mdx +5 -3
- package/docs/content/extensions.mdx +26 -0
- package/docs/content/external-agents-catalog.mdx +533 -0
- package/docs/content/external-agents.mdx +20 -514
- package/docs/content/faq.mdx +2 -2
- package/docs/content/file-uploads.mdx +44 -0
- package/docs/content/frames.mdx +2 -2
- package/docs/content/generative-ui.mdx +8 -0
- package/docs/content/getting-started.mdx +45 -17
- package/docs/content/human-approval.mdx +9 -0
- package/docs/content/integrations.mdx +4 -3
- package/docs/content/internationalization.mdx +4 -11
- package/docs/content/key-concepts.mdx +1 -1
- package/docs/content/local-file-mode.mdx +5 -0
- package/docs/content/mcp-apps.mdx +2 -1
- package/docs/content/mcp-clients.mdx +32 -1
- package/docs/content/mcp-protocol.mdx +4 -3
- package/docs/content/messaging-internals.mdx +328 -0
- package/docs/content/messaging-recipes.mdx +194 -0
- package/docs/content/messaging.mdx +9 -307
- package/docs/content/multi-app-workspace.mdx +1 -1
- package/docs/content/multi-tenancy.mdx +1 -0
- package/docs/content/native-chat-ui.mdx +8 -0
- package/docs/content/notifications.mdx +18 -20
- package/docs/content/observability.mdx +1 -0
- package/docs/content/onboarding.mdx +20 -6
- package/docs/content/organizations-teams-permissions.mdx +99 -124
- package/docs/content/package-lifecycle.mdx +19 -7
- package/docs/content/progress.mdx +11 -0
- package/docs/content/real-time-collaboration.mdx +44 -3
- package/docs/content/recurring-jobs.mdx +14 -1
- package/docs/content/security.mdx +5 -2
- package/docs/content/server.mdx +2 -1
- package/docs/content/sharing.mdx +22 -3
- package/docs/content/skills-guide.mdx +62 -19
- package/docs/content/syncing-template-changes.mdx +9 -0
- package/docs/content/template-analytics-connectors.mdx +75 -0
- package/docs/content/template-analytics-dashboards.mdx +106 -0
- package/docs/content/template-analytics-developers.mdx +287 -0
- package/docs/content/template-analytics-monitoring-and-sessions.mdx +109 -0
- package/docs/content/template-analytics.mdx +21 -263
- package/docs/content/template-assets-developers.mdx +456 -0
- package/docs/content/template-assets-generation.mdx +147 -0
- package/docs/content/template-assets-integrations.mdx +319 -0
- package/docs/content/template-assets-presets.mdx +185 -0
- package/docs/content/template-assets.mdx +12 -562
- package/docs/content/template-brain-agent.mdx +103 -0
- package/docs/content/template-brain-developers.mdx +379 -0
- package/docs/content/template-brain-knowledge.mdx +50 -0
- package/docs/content/template-brain-sources.mdx +163 -0
- package/docs/content/template-brain.mdx +30 -390
- package/docs/content/template-calendar-agent.mdx +133 -0
- package/docs/content/template-calendar-booking-links.mdx +73 -0
- package/docs/content/template-calendar-developers.mdx +366 -0
- package/docs/content/template-calendar-scheduling.mdx +128 -0
- package/docs/content/template-calendar.mdx +13 -260
- package/docs/content/template-chat-developers.mdx +88 -0
- package/docs/content/template-chat-first-edits.mdx +145 -0
- package/docs/content/template-chat.mdx +12 -77
- package/docs/content/template-clips-ai-and-editing.mdx +114 -0
- package/docs/content/template-clips-capture-everywhere.mdx +120 -0
- package/docs/content/template-clips-developers.mdx +373 -0
- package/docs/content/template-clips-sharing-and-teams.mdx +182 -0
- package/docs/content/template-clips.mdx +19 -508
- package/docs/content/template-content-databases.mdx +406 -0
- package/docs/content/template-content-developers.mdx +364 -0
- package/docs/content/template-content-editing.mdx +60 -0
- package/docs/content/template-content-sync.mdx +149 -0
- package/docs/content/template-content.mdx +21 -561
- package/docs/content/template-design-brand-and-figma.mdx +150 -0
- package/docs/content/template-design-collaboration-and-full-apps.mdx +125 -0
- package/docs/content/template-design-developers.mdx +358 -0
- package/docs/content/template-design-quality-and-components.mdx +95 -0
- package/docs/content/template-design.mdx +20 -344
- package/docs/content/template-dispatch-developers.mdx +121 -0
- package/docs/content/template-dispatch-messaging-routing.mdx +114 -0
- package/docs/content/template-dispatch-operations.mdx +160 -0
- package/docs/content/template-dispatch-vault-integrations.mdx +316 -0
- package/docs/content/template-dispatch.mdx +24 -283
- package/docs/content/template-forms-building-publishing.mdx +135 -0
- package/docs/content/template-forms-developers.mdx +195 -0
- package/docs/content/template-forms-responses.mdx +120 -0
- package/docs/content/template-forms.mdx +21 -230
- package/docs/content/template-mail-agent.mdx +114 -0
- package/docs/content/template-mail-developers.mdx +356 -0
- package/docs/content/template-mail-drafts-and-queue.mdx +103 -0
- package/docs/content/template-mail-inbox.mdx +118 -0
- package/docs/content/template-mail.mdx +23 -274
- package/docs/content/template-plan-automations.mdx +213 -0
- package/docs/content/template-plan-developers.mdx +703 -0
- package/docs/content/template-plan-local-and-desktop.mdx +236 -0
- package/docs/content/template-plan-review-workflow.mdx +180 -0
- package/docs/content/template-plan.mdx +60 -910
- package/docs/content/template-slides-agent.mdx +102 -0
- package/docs/content/template-slides-design-and-media.mdx +94 -0
- package/docs/content/template-slides-developers.mdx +488 -0
- package/docs/content/template-slides-editing.mdx +56 -0
- package/docs/content/template-slides.mdx +20 -362
- package/docs/content/toolkit-capability-packages.mdx +38 -13
- package/docs/content/toolkit-context-knowledge.mdx +49 -9
- package/docs/content/toolkit-editors-canvases.mdx +72 -10
- package/docs/content/toolkit-resources.mdx +16 -0
- package/docs/content/toolkit-settings.mdx +3 -3
- package/docs/content/toolkit-sharing.mdx +5 -7
- package/docs/content/using-your-agent.mdx +25 -2
- package/docs/content/voice-input.mdx +11 -7
- package/docs/content/what-is-agent-native.mdx +1 -0
- package/docs/content/workspace-connections.mdx +21 -11
- package/docs/content/workspace-management.mdx +1 -1
- package/package.json +2 -4
- package/src/a2a/client.ts +4 -2
- package/src/agent/action-warnings.ts +103 -0
- package/src/agent/durable-background.ts +42 -5
- package/src/agent/engine/ai-sdk-engine.ts +58 -6
- package/src/agent/engine/anthropic-engine.ts +51 -8
- package/src/agent/engine/builder-engine.ts +56 -18
- package/src/agent/engine/continuation-dispatch-retry.ts +10 -9
- package/src/agent/engine/credential-errors.ts +11 -0
- package/src/agent/engine/error-detail.ts +39 -0
- package/src/agent/engine/prompt-cache.ts +44 -0
- package/src/agent/engine/registry.ts +22 -30
- package/src/agent/engine/tool-call-journal-seed.ts +2 -1
- package/src/agent/engine/translate-anthropic.ts +99 -0
- package/src/agent/loop-settings.ts +94 -7
- package/src/agent/production-agent.ts +667 -157
- package/src/agent/run-loop-with-resume.ts +27 -1
- package/src/agent/run-manager.ts +229 -39
- package/src/agent/run-store.ts +397 -64
- package/src/agent/thread-data-builder.ts +5 -1
- package/src/agent/types.ts +23 -6
- package/src/application-state/script-helpers.ts +5 -2
- package/src/cli/agents.ts +69 -1
- package/src/cli/app-skill.ts +1 -1
- package/src/cli/code-agent-executor.ts +7 -3
- package/src/cli/design-connect.ts +82 -8
- package/src/cli/index.ts +2 -1
- package/src/cli/mcp.ts +13 -3
- package/src/cli/skills-content/design-visual-edit-skill.ts +169 -24
- package/src/cli/skills-content/rewind-skill.ts +36 -4
- package/src/cli/skills.ts +250 -37
- package/src/cli/telemetry-routing.ts +57 -0
- package/src/cli/telemetry.ts +3 -3
- package/src/client/AssistantChat.tsx +623 -607
- package/src/client/agent-chat-adapter.ts +176 -29
- package/src/client/chat/message-components.tsx +13 -0
- package/src/client/embed-auth.ts +3 -1
- package/src/client/integrations/IntegrationCard.tsx +41 -24
- package/src/client/integrations/IntegrationsPanel.tsx +37 -21
- package/src/client/integrations/webhook-url.ts +29 -0
- package/src/client/org/OrgSwitcher.tsx +41 -27
- package/src/client/org/RequireActiveOrg.tsx +7 -0
- package/src/client/org/TeamPage.tsx +144 -14
- package/src/client/org/hooks.ts +27 -0
- package/src/client/org/index.ts +2 -0
- package/src/client/require-session.tsx +40 -29
- package/src/client/session-replay.ts +1 -1
- package/src/client/settings/DemoModeSection.tsx +0 -5
- package/src/client/settings/SecretsSection.tsx +47 -42
- package/src/client/settings/VoiceTranscriptionSection.tsx +0 -5
- package/src/client/sse-event-processor.ts +83 -8
- package/src/client/use-action.ts +22 -13
- package/src/client/use-agent-engine-configured.ts +36 -4
- package/src/client/use-db-sync.ts +21 -1
- package/src/credentials/index.ts +124 -2
- package/src/deploy/build.ts +93 -30
- package/src/deploy/workspace-deploy.ts +21 -16
- package/src/guards/no-localhost-fallback.ts +76 -14
- package/src/integrations/google-docs-poller.ts +19 -12
- package/src/integrations/webhook-handler.ts +56 -33
- package/src/jobs/scheduler.ts +57 -23
- package/src/localization/default-messages.ts +23 -1
- package/src/mcp/screen-memory-stdio.ts +21 -2
- package/src/observability/evals.ts +7 -8
- package/src/observability/traces.ts +2 -0
- package/src/org/accept-pending.ts +2 -2
- package/src/org/active-org.ts +73 -0
- package/src/org/auto-join-domain.ts +7 -2
- package/src/org/context.ts +169 -66
- package/src/org/handlers.ts +148 -10
- package/src/org/plugin.ts +8 -1
- package/src/org/types.ts +6 -1
- package/src/provider-api/index.ts +6 -1
- package/src/resources/handlers.ts +2 -6
- package/src/resources/script-helpers.ts +2 -1
- package/src/scripts/chat/search-chats.ts +5 -2
- package/src/scripts/describe-workspace-apps.ts +59 -0
- package/src/scripts/resources/delete-memory.ts +5 -2
- package/src/scripts/resources/delete.ts +5 -2
- package/src/scripts/resources/effective.ts +5 -2
- package/src/scripts/resources/list.ts +5 -2
- package/src/scripts/resources/read.ts +5 -2
- package/src/scripts/resources/save-memory.ts +5 -2
- package/src/scripts/resources/write.ts +5 -2
- package/src/server/__snapshots__/agent-chat-plugin.surface.spec.ts.snap +11 -31
- package/src/server/agent-capabilities.ts +147 -0
- package/src/server/agent-chat/framework-prompts.ts +11 -13
- package/src/server/agent-chat/prompt-resources.ts +183 -57
- package/src/server/agent-chat/script-entries.ts +20 -7
- package/src/server/agent-chat-plugin.ts +27 -0
- package/src/server/auth.ts +38 -32
- package/src/server/core-routes-plugin.ts +229 -179
- package/src/server/credential-provider.ts +196 -44
- package/src/server/embed-session.ts +10 -0
- package/src/server/framework-request-handler.ts +43 -0
- package/src/server/google-auth-plugin.ts +13 -450
- package/src/server/index.ts +4 -1
- package/src/server/onboarding-html.ts +20 -56
- package/src/server/open-route.ts +6 -1
- package/src/server/poll.ts +1 -1
- package/src/server/prompts/framework-core-compact.ts +5 -5
- package/src/server/prompts/framework-core.ts +7 -9
- package/src/server/prompts/shared-rules.ts +20 -9
- package/src/server/request-context.ts +58 -2
- package/src/server/scoped-key-storage.ts +1 -1
- package/src/settings/org-settings.ts +9 -0
- package/src/settings/store.ts +29 -0
- package/src/shared/index.ts +13 -0
- package/src/shared/sign-in-journey.ts +331 -0
- package/src/styles/agent-native.css +8 -0
- package/src/templates/chat/.agents/skills/actions/SKILL.md +19 -1
- package/src/templates/chat/.agents/skills/adding-a-feature/SKILL.md +2 -0
- package/src/templates/chat/.agents/skills/frontend-design/SKILL.md +20 -6
- package/src/templates/chat/.agents/skills/security/SKILL.md +2 -0
- package/src/templates/chat/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/src/templates/chat/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/src/templates/chat/.agents/skills/sharing/SKILL.md +228 -0
- package/src/templates/chat/.agents/skills/storing-data/SKILL.md +178 -0
- package/src/templates/chat/AGENTS.md +8 -0
- package/src/templates/chat/app/entry.client.tsx +3 -0
- package/src/templates/default/.agents/skills/actions/SKILL.md +19 -1
- package/src/templates/default/.agents/skills/adding-a-feature/SKILL.md +2 -0
- package/src/templates/default/.agents/skills/frontend-design/SKILL.md +20 -6
- package/src/templates/default/.agents/skills/security/SKILL.md +2 -0
- package/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/src/templates/default/AGENTS.md +68 -195
- package/src/templates/default/app/entry.client.tsx +3 -0
- package/src/templates/default/app/i18n/ar-SA.ts +8 -0
- package/src/templates/default/app/i18n/de-DE.ts +8 -0
- package/src/templates/default/app/i18n/en-US.ts +8 -0
- package/src/templates/default/app/i18n/es-ES.ts +8 -0
- package/src/templates/default/app/i18n/fr-FR.ts +8 -0
- package/src/templates/default/app/i18n/hi-IN.ts +8 -0
- package/src/templates/default/app/i18n/ja-JP.ts +8 -0
- package/src/templates/default/app/i18n/ko-KR.ts +8 -0
- package/src/templates/default/app/i18n/pt-BR.ts +8 -0
- package/src/templates/default/app/i18n/zh-CN.ts +8 -0
- package/src/templates/default/app/i18n/zh-TW.ts +8 -0
- package/src/templates/headless/.agents/skills/actions/SKILL.md +19 -1
- package/src/templates/workspace-core/.agents/skills/actions/SKILL.md +19 -1
- package/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +2 -0
- package/src/templates/workspace-core/.agents/skills/adding-workspace-apps/SKILL.md +100 -0
- package/src/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +2 -1
- package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +28 -0
- package/src/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +14 -1
- package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +20 -6
- package/src/templates/workspace-core/.agents/skills/qa/SKILL.md +6 -3
- package/src/templates/workspace-core/.agents/skills/security/SKILL.md +2 -0
- package/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +4 -3
- package/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +7 -3
- package/src/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +91 -0
- package/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +60 -0
- package/src/templates/workspace-core/AGENTS.md +62 -124
- package/src/templates/workspace-root/AGENTS.md +6 -1
- package/src/triggers/dispatcher.ts +28 -17
- package/src/vite/client.ts +20 -8
- package/corpus/core/src/client/components/MissingKeyCard.tsx +0 -61
- package/corpus/core/src/client/extensions/agent-native-extension-runtime.ts +0 -495
- package/corpus/core/src/client/settings/BackgroundAgentSection.tsx +0 -193
- package/corpus/core/src/client/settings/BrowserSection.tsx +0 -110
- package/corpus/templates/analytics/app/components/InlineMetric.tsx +0 -31
- package/corpus/templates/analytics/app/components/auth/LoginScreen.tsx +0 -4
- package/corpus/templates/analytics/app/components/dashboard/CumulativeNetChart.tsx +0 -128
- package/corpus/templates/analytics/app/components/dashboard/DataTable.tsx +0 -264
- package/corpus/templates/analytics/app/components/dashboard/RecentActivity.tsx +0 -84
- package/corpus/templates/analytics/app/components/dashboard/RevenueChart.tsx +0 -92
- package/corpus/templates/analytics/app/components/dashboard/RevenueComparisonChart.tsx +0 -154
- package/corpus/templates/analytics/app/components/dashboard/StatsCard.tsx +0 -49
- package/corpus/templates/analytics/app/components/dashboard/TimeSeriesChart.tsx +0 -120
- package/corpus/templates/analytics/server/handlers/dashboard-views.ts +0 -85
- package/corpus/templates/analytics/server/handlers/user-prefs.ts +0 -58
- package/corpus/templates/analytics/server/routes/api/dashboard-views/[dashboardId]/[viewId].delete.ts +0 -1
- package/corpus/templates/analytics/server/routes/api/dashboard-views/[dashboardId].get.ts +0 -1
- package/corpus/templates/analytics/server/routes/api/dashboard-views/[dashboardId].post.ts +0 -1
- package/corpus/templates/analytics/server/routes/api/theme.get.ts +0 -17
- package/corpus/templates/analytics/server/routes/api/theme.post.ts +0 -15
- package/corpus/templates/analytics/server/routes/api/user-prefs/[key].delete.ts +0 -1
- package/corpus/templates/analytics/server/routes/api/user-prefs/[key].get.ts +0 -1
- package/corpus/templates/analytics/server/routes/api/user-prefs/[key].put.ts +0 -1
- package/corpus/templates/assets/app/components/library/CreateLibraryDialog.tsx +0 -156
- package/corpus/templates/assets/app/components/library/LibraryCard.tsx +0 -213
- package/corpus/templates/calendar/app/components/calendar/GoogleSyncButton.tsx +0 -49
- package/corpus/templates/calendar/server/routes/api/events/[id].delete.ts +0 -1
- package/corpus/templates/calendar/server/routes/api/events/[id].get.ts +0 -1
- package/corpus/templates/calendar/server/routes/api/events/[id].put.ts +0 -1
- package/corpus/templates/content/app/components/layout/AppLayout.tsx +0 -9
- package/corpus/templates/content/server/routes/api/comments/[id].delete.ts +0 -69
- package/corpus/templates/content/server/routes/api/comments/[id].patch.ts +0 -109
- package/corpus/templates/content/server/routes/api/documents/[id]/versions.get.ts +0 -53
- package/corpus/templates/design/app/components/design/code-workbench/ActivityBar.tsx +0 -85
- package/corpus/templates/design/app/components/design-system/DesignSystemCard.tsx +0 -129
- package/corpus/templates/forms/app/components/layout/AppLayout.tsx +0 -9
- package/corpus/templates/mail/app/components/email/SnoozePopover.tsx +0 -213
- package/corpus/templates/mail/server/handlers/aliases.ts +0 -98
- package/corpus/templates/mail/server/routes/api/aliases/[id].delete.ts +0 -1
- package/corpus/templates/mail/server/routes/api/aliases/[id].patch.ts +0 -1
- package/corpus/templates/mail/server/routes/api/aliases/index.get.ts +0 -1
- package/corpus/templates/mail/server/routes/api/aliases/index.post.ts +0 -1
- package/corpus/templates/mail/server/routes/api/automations/[id].delete.ts +0 -1
- package/corpus/templates/mail/server/routes/api/automations/[id].patch.ts +0 -1
- package/corpus/templates/mail/server/routes/api/automations/index.get.ts +0 -1
- package/corpus/templates/mail/server/routes/api/automations/index.post.ts +0 -1
- package/corpus/templates/mail/server/routes/api/automations/settings.get.ts +0 -22
- package/corpus/templates/mail/server/routes/api/automations/settings.put.ts +0 -25
- package/corpus/templates/mail/server/routes/api/scheduled-jobs/[id].delete.ts +0 -1
- package/corpus/templates/mail/server/routes/api/scheduled-jobs/[id].patch.ts +0 -1
- package/corpus/templates/mail/server/routes/api/scheduled-jobs/index.get.ts +0 -1
- package/corpus/templates/mail/server/routes/api/scheduled-jobs/index.post.ts +0 -1
- package/corpus/templates/mail/server/routes/api/settings.get.ts +0 -1
- package/corpus/templates/mail/server/routes/api/settings.patch.ts +0 -1
- package/corpus/templates/slides/app/components/deck/BuilderLogo.tsx +0 -22
- package/corpus/templates/slides/app/components/design-system/DesignSystemPreview.tsx +0 -176
- package/corpus/templates/slides/app/components/editor/GenerateSlidesDialog.tsx +0 -244
- package/corpus/templates/slides/app/components/editor/ImportButton.tsx +0 -84
- package/corpus/templates/slides/server/routes/api/comments/[id].delete.ts +0 -43
- package/corpus/templates/slides/server/routes/api/comments/[id].patch.ts +0 -50
- package/corpus/templates/slides/server/routes/api/decks/[id].delete.ts +0 -1
- package/corpus/templates/slides/server/routes/api/decks/[id].get.ts +0 -1
- package/corpus/templates/slides/server/routes/api/decks/[id].put.ts +0 -1
- package/corpus/templates/slides/server/routes/api/decks/index.get.ts +0 -1
- package/corpus/templates/slides/server/routes/api/decks/index.post.ts +0 -1
- package/dist/client/components/MissingKeyCard.d.ts +0 -7
- package/dist/client/components/MissingKeyCard.d.ts.map +0 -1
- package/dist/client/components/MissingKeyCard.js +0 -32
- package/dist/client/components/MissingKeyCard.js.map +0 -1
- package/dist/client/extensions/agent-native-extension-runtime.d.ts +0 -69
- package/dist/client/extensions/agent-native-extension-runtime.d.ts.map +0 -1
- package/dist/client/extensions/agent-native-extension-runtime.js +0 -348
- package/dist/client/extensions/agent-native-extension-runtime.js.map +0 -1
- package/dist/client/settings/BackgroundAgentSection.d.ts +0 -2
- package/dist/client/settings/BackgroundAgentSection.d.ts.map +0 -1
- package/dist/client/settings/BackgroundAgentSection.js +0 -68
- package/dist/client/settings/BackgroundAgentSection.js.map +0 -1
- package/dist/client/settings/BrowserSection.d.ts +0 -2
- package/dist/client/settings/BrowserSection.d.ts.map +0 -1
- package/dist/client/settings/BrowserSection.js +0 -40
- package/dist/client/settings/BrowserSection.js.map +0 -1
- package/dist/templates/chat/.react-router/types/+server-build.d.ts +0 -18
- package/dist/templates/chat/.react-router/types/app/+types/root.ts +0 -68
- package/src/client/components/MissingKeyCard.tsx +0 -61
- package/src/client/extensions/agent-native-extension-runtime.ts +0 -495
- package/src/client/settings/BackgroundAgentSection.tsx +0 -193
- package/src/client/settings/BrowserSection.tsx +0 -110
- package/src/templates/chat/.react-router/types/+server-build.d.ts +0 -18
- package/src/templates/chat/.react-router/types/app/+types/root.ts +0 -68
|
@@ -11,7 +11,7 @@ description: "Agent-Native Plans turns your coding agent's plan into a structure
|
|
|
11
11
|
adds the `/visual-plan`, `/visual-recap`, and `/visualize-repo` skills plus
|
|
12
12
|
the hosted Plan connector to your coding agent — see
|
|
13
13
|
[Plan plugin & marketplace](/docs/plan-plugin) for the plugin and marketplace
|
|
14
|
-
routes. Forking the Plan template (covered under [
|
|
14
|
+
routes. Forking the Plan template (covered under [Extending Plan](/docs/template-plan-developers))
|
|
15
15
|
is the secondary path, for self-hosting or building on Plan itself.
|
|
16
16
|
|
|
17
17
|
</Callout>
|
|
@@ -110,70 +110,27 @@ There are two ways into Plans:
|
|
|
110
110
|
|
|
111
111
|
## Install the skill {#install}
|
|
112
112
|
|
|
113
|
-
Use the Agent-Native CLI. This
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
hit an OAuth wall:
|
|
113
|
+
Use the Agent-Native CLI. This installs the Plans skill instructions, registers
|
|
114
|
+
the hosted Plans MCP connector, **and** runs the client-specific auth flow in
|
|
115
|
+
one step, so your first tool call does not hit an OAuth wall:
|
|
117
116
|
|
|
118
117
|
```bash
|
|
119
118
|
npx @agent-native/core@latest skills add visual-plan
|
|
120
119
|
```
|
|
121
120
|
|
|
122
|
-
The command installs three commands
|
|
123
|
-
`/visualize-repo
|
|
121
|
+
The command installs three commands — `/visual-plan`, `/visual-recap`, and
|
|
122
|
+
`/visualize-repo` — plus the `plan` MCP connector at
|
|
123
|
+
`https://plan.agent-native.com/mcp`. Authentication is a one-time browser
|
|
124
|
+
sign-in at setup; this is intended, and it is what lets the agent persist and
|
|
125
|
+
share the plans it generates.
|
|
124
126
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
- **OAuth-capable hosts** (Claude Code) get a URL-only MCP entry plus a prompt to
|
|
134
|
-
run `/mcp` and choose **Authenticate**.
|
|
135
|
-
- **Codex / Cowork** run a short browser device-code flow: the CLI prints a code,
|
|
136
|
-
opens the verification page, and writes the connector once you approve.
|
|
137
|
-
- In a **non-interactive shell or CI**, the auth step is skipped and the exact
|
|
138
|
-
command to run later is printed for you.
|
|
139
|
-
|
|
140
|
-
By default the CLI targets every supported local client it can configure. Pass
|
|
141
|
-
`--client codex`, `--client claude-code`, or another specific client when you
|
|
142
|
-
want to narrow setup to one host:
|
|
143
|
-
|
|
144
|
-
```bash
|
|
145
|
-
npx @agent-native/core@latest skills add visual-plan
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
Pass `--no-connect` to register the connector without authenticating, then run
|
|
149
|
-
`npx @agent-native/core@latest connect https://plan.agent-native.com --client all`
|
|
150
|
-
whenever you are ready, or choose a narrower `--client`:
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
npx @agent-native/core@latest skills add visual-plan --no-connect
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
To auto-generate a recap on **every pull request**, pass `--with-github-action`.
|
|
157
|
-
This writes a GitHub Action that runs the `visual-recap` skill on each PR and
|
|
158
|
-
posts an interactive recap plan with an inline screenshot as a sticky comment —
|
|
159
|
-
see [PR Visual Recap](/docs/pr-visual-recap).
|
|
160
|
-
|
|
161
|
-
```bash
|
|
162
|
-
npx @agent-native/core@latest skills add visual-plan --with-github-action
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
After the workflow is written, run `npx @agent-native/core@latest recap setup` to configure
|
|
166
|
-
GitHub Actions secrets/variables where possible and `npx @agent-native/core@latest recap doctor`
|
|
167
|
-
to verify the repo is ready.
|
|
168
|
-
|
|
169
|
-
If you only want the portable instruction file through the open Skills CLI, use:
|
|
170
|
-
|
|
171
|
-
```bash
|
|
172
|
-
npx skills@latest add BuilderIO/agent-native --skill visual-plan
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
That installs the skill instructions only. It does not register the hosted MCP
|
|
176
|
-
connector, so use the Agent-Native CLI path when you want the one-command setup.
|
|
127
|
+
For the full flag reference (`--client`, `--mode`, `--mcp-url`, `--no-connect`,
|
|
128
|
+
`--with-github-action`), the plugin/marketplace install routes for Claude Code
|
|
129
|
+
and Codex, and the bare-instructions fallback, see
|
|
130
|
+
[Plan plugin & marketplace → Install routes](/docs/plan-plugin#install). To
|
|
131
|
+
auto-generate a recap on every pull request, that same page's
|
|
132
|
+
`--with-github-action` flag writes the GitHub Action described in
|
|
133
|
+
[PR Visual Recap](/docs/pr-visual-recap).
|
|
177
134
|
|
|
178
135
|
<Callout tone="info">
|
|
179
136
|
|
|
@@ -188,18 +145,11 @@ improve — see [Plan plugin & marketplace](/docs/plan-plugin).
|
|
|
188
145
|
|
|
189
146
|
If you live in VS Code, install the
|
|
190
147
|
[Agent-Native Plans extension](https://marketplace.visualstudio.com/items?itemName=Builder.agent-native)
|
|
191
|
-
to open the same Plan review surface in a side panel instead of
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
vscode://builder.agent-native/open?url=<encoded-plan-url>
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
The extension handles that URI, opens the decoded Plan URL in a VS Code webview,
|
|
200
|
-
and includes a command to run the existing Agent Native MCP connect flow for VS
|
|
201
|
-
Code / GitHub Copilot. This is especially useful from Claude Code or another
|
|
202
|
-
coding-agent workflow where the plan should stay next to the files being edited.
|
|
148
|
+
to open the same Plan review surface in a side panel instead of a separate
|
|
149
|
+
browser tab. The extension handles the `vscode://builder.agent-native/open`
|
|
150
|
+
handoff URL that Plan tools return alongside the normal web link, and it
|
|
151
|
+
includes a command to run the Agent Native MCP connect flow for VS Code /
|
|
152
|
+
GitHub Copilot.
|
|
203
153
|
|
|
204
154
|
## Use it from your coding agent
|
|
205
155
|
|
|
@@ -248,13 +198,17 @@ the diff or plan and the model you choose.
|
|
|
248
198
|
- **Comment directly on the plan.** Pin feedback to text, images, wireframes, or
|
|
249
199
|
canvas locations; choose whether the comment is for the agent or a human
|
|
250
200
|
reviewer; @mention teammates with inline chips; and resolve comments as the
|
|
251
|
-
plan evolves.
|
|
201
|
+
plan evolves. See [Reviewing and Commenting on Plans](/docs/template-plan-review-workflow)
|
|
202
|
+
for the full comment and sharing model.
|
|
252
203
|
- **Hand feedback to the agent clearly.** Text comments attach to the nearest
|
|
253
204
|
prose block, visual comments include exact target metadata, and browser
|
|
254
205
|
handoff includes focused screenshots for a small set of visual/canvas comment
|
|
255
206
|
locations instead of one hard-to-read giant image.
|
|
256
207
|
- **Export the result.** Keep an HTML, Markdown, or JSON receipt of the plan
|
|
257
208
|
when you need a source-control-friendly handoff.
|
|
209
|
+
- **Keep plan content private.** Use local-files mode to write plans to a local
|
|
210
|
+
MDX folder instead of the hosted database — see
|
|
211
|
+
[Local-Files Mode and Desktop Sync](/docs/template-plan-local-and-desktop).
|
|
258
212
|
|
|
259
213
|
## Editing in the browser as a guest {#guest}
|
|
260
214
|
|
|
@@ -270,188 +224,45 @@ editor toolbar or slash menu, and Plans autosaves the underlying markdown. Revie
|
|
|
270
224
|
annotation mode temporarily turns text sections read-only so clicks can pin
|
|
271
225
|
feedback; leave review mode to keep editing prose.
|
|
272
226
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
Sharing and commenting are the workflows that need an account:
|
|
276
|
-
|
|
277
|
-
- **Viewing** a public or shared plan works for anyone with the link — no account
|
|
278
|
-
required.
|
|
279
|
-
- **Commenting** on a shared plan requires an agent-native account.
|
|
280
|
-
- **Sharing** a plan (publishing it to a link, private sharing, reviewer access,
|
|
281
|
-
cross-device or team review) requires signing in. Google sign-in appears when
|
|
282
|
-
the standard Google OAuth env vars are configured.
|
|
283
|
-
|
|
284
|
-
The hosted Plans connector lives at `https://plan.agent-native.com/mcp`.
|
|
285
|
-
Never put shared secrets in skill files.
|
|
286
|
-
|
|
287
|
-
## Local-files privacy mode {#local-files}
|
|
288
|
-
|
|
289
|
-
For privacy-focused work, ask for local-files mode:
|
|
290
|
-
|
|
291
|
-
```text
|
|
292
|
-
Use /visual-plan in local-files mode. Do not write this plan to the Plan DB.
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
or set the convention for your agent environment:
|
|
296
|
-
|
|
297
|
-
```bash
|
|
298
|
-
export AGENT_NATIVE_PLANS_MODE=local-files
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
In this mode the agent writes a local MDX folder and must not call the hosted
|
|
302
|
-
Plan MCP tools. Use a repo folder such as `plans/<slug>/` when you want the plan
|
|
303
|
-
checked in with the code. Use a temp or ignored folder, such as
|
|
304
|
-
`/tmp/agent-native-plans/<slug>/` or `.agent-native/plans/<slug>/`, when the
|
|
305
|
-
plan should stay out of git. The folder contains:
|
|
306
|
-
|
|
307
|
-
- `plan.mdx`
|
|
308
|
-
- optional `canvas.mdx`
|
|
309
|
-
- optional `prototype.mdx`
|
|
310
|
-
- optional `.plan-state.json`
|
|
311
|
-
|
|
312
|
-
After writing the folder, the agent starts a tiny localhost bridge and opens the
|
|
313
|
-
hosted Plan UI against that local-only source:
|
|
314
|
-
|
|
315
|
-
```bash
|
|
316
|
-
npx @agent-native/core@latest plan local check --dir plans/<slug>
|
|
317
|
-
npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan --open
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
The bridge URL looks like
|
|
321
|
-
`https://plan.agent-native.com/local-plans/local-<opaque-id>#bridge=http://127.0.0.1:...`.
|
|
322
|
-
The page is the normal Plan viewer, but the browser fetches `plan.mdx`,
|
|
323
|
-
`canvas.mdx`, `prototype.mdx`, `.plan-state.json`, and local image assets from
|
|
324
|
-
the localhost bridge. Plan content is not written to the hosted database and is
|
|
325
|
-
not sent through hosted Plan actions. Keep the bridge process running while you
|
|
326
|
-
review; the URL is local to your machine and is not a shareable team link. The
|
|
327
|
-
serve command writes the open URL to `.plan-url` by default so coding agents can
|
|
328
|
-
capture it without scraping long-running stdout; treat that file as local-only
|
|
329
|
-
because the URL contains the bridge token, and do not commit it.
|
|
330
|
-
|
|
331
|
-
On macOS, `--open` prefers Chrome/Chromium because Safari can block the hosted
|
|
332
|
-
HTTPS Plan page from fetching an HTTP localhost bridge. For headless
|
|
333
|
-
troubleshooting, run:
|
|
334
|
-
|
|
335
|
-
```bash
|
|
336
|
-
npx @agent-native/core@latest plan local verify --dir plans/<slug> --kind plan
|
|
337
|
-
```
|
|
338
|
-
|
|
339
|
-
`verify` starts the bridge, checks the private-network preflight and JSON
|
|
340
|
-
payload, prints diagnostics, and exits.
|
|
341
|
-
|
|
342
|
-
If you run the Plan app locally with the same `PLAN_LOCAL_DIR`, you can also
|
|
343
|
-
open the editable app route:
|
|
344
|
-
|
|
345
|
-
```text
|
|
346
|
-
http://localhost:<port>/local-plans/<slug>
|
|
347
|
-
```
|
|
348
|
-
|
|
349
|
-
For repo-backed folders, the direct local route can carry the repo-relative
|
|
350
|
-
folder path so browser edits keep writing to that folder:
|
|
351
|
-
|
|
352
|
-
```text
|
|
353
|
-
http://localhost:<port>/local-plans/<slug>?path=plans%2F<slug>
|
|
354
|
-
```
|
|
355
|
-
|
|
356
|
-
The Plan app uses `apps.plan.roots[0].path` in `agent-native.json` as the
|
|
357
|
-
default repo location for promoted local plans, falling back to `plans/`:
|
|
358
|
-
|
|
359
|
-
```json
|
|
360
|
-
{
|
|
361
|
-
"version": 1,
|
|
362
|
-
"apps": {
|
|
363
|
-
"plan": {
|
|
364
|
-
"mode": "local-files",
|
|
365
|
-
"roots": [{ "name": "Plans", "path": "plans", "kind": "plans" }]
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
```
|
|
370
|
-
|
|
371
|
-
Direct local Plan routes include a menu action to save a temporary local folder
|
|
372
|
-
into that repo location. After promotion, the page reopens with `?path=...` and
|
|
373
|
-
continues autosaving MDX edits to the repo folder.
|
|
374
|
-
|
|
375
|
-
Local-files mode prevents plan or recap content from going to the Agent-Native
|
|
376
|
-
Plan database. It also disables hosted sharing, browser comments, plan history,
|
|
377
|
-
and publish/export receipts until you explicitly opt into publishing. To move a
|
|
378
|
-
local plan into the hosted database, call `publish-visual-plan` with the local
|
|
379
|
-
MDX folder path; this uploads the plan, assigns it a hosted ID, enables sharing
|
|
380
|
-
and commenting, and returns the hosted URL. Local-files mode does not
|
|
381
|
-
automatically make your coding agent's LLM local; choose a local or approved
|
|
382
|
-
model if that privacy boundary matters too.
|
|
383
|
-
|
|
384
|
-
## Repo visual docs {#visualize-repo}
|
|
385
|
-
|
|
386
|
-
Use `/visualize-repo` when you want a durable visual documentation layer for a
|
|
387
|
-
codebase instead of a one-off plan or recap. It creates or opens a local Plan
|
|
388
|
-
MDX workspace, updates `agent-native.json` with an `apps.visualize-repo`
|
|
389
|
-
local-files section, and serves the docs through the same localhost bridge:
|
|
390
|
-
|
|
391
|
-
```bash
|
|
392
|
-
npx @agent-native/core@latest visualize-repo --open
|
|
393
|
-
```
|
|
394
|
-
|
|
395
|
-
If no `agent-native.json` exists, the command bootstraps one and recommends a
|
|
396
|
-
small starter set from the repo structure, such as `actions/`,
|
|
397
|
-
`app/components/`, `app/pages/`, `server/db/schema.ts`, `src/`, `packages/`,
|
|
398
|
-
`templates/`, `docs/`, or `content/`. You can target specific source anchors:
|
|
399
|
-
|
|
400
|
-
```bash
|
|
401
|
-
npx @agent-native/core@latest visualize-repo \
|
|
402
|
-
--target actions/webhooks.ts \
|
|
403
|
-
--target server/db/schema.ts \
|
|
404
|
-
--target app/components/PromptComposer.tsx
|
|
405
|
-
```
|
|
406
|
-
|
|
407
|
-
The starter folder lives at `.agent-native/visual-docs/repo-overview` by
|
|
408
|
-
default. Comments stay local in `comments.json`, so reviewers can mark sections
|
|
409
|
-
for a coding agent and the agent can update both code and MDX in the same
|
|
410
|
-
change. Run `visualize-repo check` for local lint, and `visualize-repo verify`
|
|
411
|
-
when you want the Plan renderer schema to validate the MDX.
|
|
227
|
+
<Callout tone="info">
|
|
412
228
|
|
|
413
|
-
|
|
229
|
+
**Guest vs. signed-in, at a glance**
|
|
414
230
|
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
231
|
+
- **As a guest** you can open a shared link, create a new plan, edit prose,
|
|
232
|
+
and use review annotation mode — no account needed.
|
|
233
|
+
- **Signing in** additionally lets you save your own plans permanently, publish
|
|
234
|
+
a plan to a shareable link, grant viewer/editor/admin access to others, post
|
|
235
|
+
comments that notify people by email, and delete or restore plans you own.
|
|
419
236
|
|
|
420
|
-
|
|
421
|
-
then:
|
|
237
|
+
</Callout>
|
|
422
238
|
|
|
423
|
-
|
|
424
|
-
- **Sync to local folder** — write `plan.mdx`, optional `canvas.mdx`,
|
|
425
|
-
optional `prototype.mdx`, optional `.plan-state.json`, and image assets.
|
|
426
|
-
- **Import local edits** — read the folder and apply it through
|
|
427
|
-
`import-visual-plan-source` with the plan's current update timestamp.
|
|
428
|
-
- **Auto-sync changes** — keep exporting the hosted plan's latest source after
|
|
429
|
-
edits made in the app.
|
|
239
|
+
## Requesting access to a private plan {#request-access}
|
|
430
240
|
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
241
|
+
If someone opens a plan link they do not have permission to view, Plans does
|
|
242
|
+
not just show a dead end. The page tells them the plan is private and offers a
|
|
243
|
+
**Request access** action. Requesting access:
|
|
434
244
|
|
|
435
|
-
|
|
245
|
+
- Requires being signed in (a guest is prompted to sign in first).
|
|
246
|
+
- Records the request against the plan and, when the deployment has email
|
|
247
|
+
configured, sends the plan owner a message with the requester's name and a
|
|
248
|
+
link to open the plan and share it back if approved.
|
|
249
|
+
- Is safe to click more than once — Plans checks whether you already have
|
|
250
|
+
access first, and a second request from the same person does not spam the
|
|
251
|
+
owner with duplicate emails.
|
|
436
252
|
|
|
437
|
-
|
|
438
|
-
|
|
253
|
+
If the plan's visibility is set to **org** rather than fully private, and your
|
|
254
|
+
account already has a pending invitation to that organization or an email
|
|
255
|
+
domain that matches it, Plans offers to join the organization directly instead
|
|
256
|
+
of sending a request.
|
|
439
257
|
|
|
440
|
-
|
|
441
|
-
views/direct links stop working, and removes public access by making the row
|
|
442
|
-
private. The SQL rows are retained so the owner can restore the plan later.
|
|
443
|
-
- **Restore** is available from the **Deleted** tab for soft-deleted plans.
|
|
444
|
-
- **Permanent delete** removes the hosted plan row and plan-scoped comments,
|
|
445
|
-
sections, activity events, version snapshots, share grants, abuse reports, and
|
|
446
|
-
SQL asset records. The UI requires typing `DELETE <plan-id>` before the final
|
|
447
|
-
button enables.
|
|
258
|
+
## Recovering from auth errors {#auth-errors}
|
|
448
259
|
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
260
|
+
If a Plans tool ever returns `needs auth`, `Unauthorized`, or `Session
|
|
261
|
+
terminated`, do not keep retrying it. Authenticate the connector with
|
|
262
|
+
`npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --client codex`
|
|
263
|
+
for Codex, or re-run `/mcp` → **Authenticate** in an OAuth-capable host. Start a
|
|
264
|
+
new Codex thread or restart/reload the relevant client before expecting the tool
|
|
265
|
+
registry to update.
|
|
455
266
|
|
|
456
267
|
## Useful prompts
|
|
457
268
|
|
|
@@ -463,674 +274,13 @@ touch local files.
|
|
|
463
274
|
- "Use `/visual-recap` in local-files mode so no recap content is written to the Plan DB."
|
|
464
275
|
- "Run `/visualize-repo` and start with our public API actions and schema."
|
|
465
276
|
|
|
466
|
-
## Recovering from auth errors {#auth-errors}
|
|
467
|
-
|
|
468
|
-
If a Plans tool ever returns `needs auth`, `Unauthorized`, or `Session
|
|
469
|
-
terminated`, do not keep retrying it. Authenticate the connector with
|
|
470
|
-
`npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --client codex`
|
|
471
|
-
for Codex, or re-run `/mcp` → **Authenticate** in an OAuth-capable host. Start a
|
|
472
|
-
new Codex thread or restart/reload the relevant client before expecting the tool
|
|
473
|
-
registry to update.
|
|
474
|
-
|
|
475
|
-
## For developers
|
|
476
|
-
|
|
477
|
-
The rest of this doc is for anyone forking or self-hosting the Plans template.
|
|
478
|
-
Most users should install the skill with the CLI instead of scaffolding the app.
|
|
479
|
-
|
|
480
|
-
### Quick start
|
|
481
|
-
|
|
482
|
-
```bash
|
|
483
|
-
npx @agent-native/core@latest create my-plans --standalone --template plan
|
|
484
|
-
cd my-plans
|
|
485
|
-
pnpm install
|
|
486
|
-
pnpm dev
|
|
487
|
-
```
|
|
488
|
-
|
|
489
|
-
The hosted app-backed skill uses:
|
|
490
|
-
|
|
491
|
-
- App: `https://plan.agent-native.com`
|
|
492
|
-
- MCP: `https://plan.agent-native.com/mcp`
|
|
493
|
-
|
|
494
|
-
The local template is useful when you are developing Plans itself, testing local persistence, or running a fully self-hosted review surface.
|
|
495
|
-
|
|
496
|
-
### Data model
|
|
497
|
-
|
|
498
|
-
Schema lives in `templates/plan/server/db/schema.ts`. Core tables:
|
|
499
|
-
|
|
500
|
-
| Table | What it holds |
|
|
501
|
-
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
502
|
-
| `plans` | Each plan or recap — `title`, `brief`, `kind` (plan/recap), `status`, `source`, `html`/`markdown`/`content`, `hosted_plan_id/url`, usage stats, `source_url`, `deleted_at`/`deleted_by` |
|
|
503
|
-
| `plan_sections` | Ordered sections within a plan — `type`, `title`, `body`, `html`, `sort_order`, `created_by` |
|
|
504
|
-
| `plan_comments` | Threaded comments — `kind`, `status`, `anchor`, `message`, `resolution_target`, `mentions_json`, `resolved_by` |
|
|
505
|
-
| `plan_events` | Audit log of agent/human events on a plan |
|
|
506
|
-
| `plan_versions` | Point-in-time snapshots for version history |
|
|
507
|
-
| `plan_shares` | Per-principal share grants (viewer / editor / admin) |
|
|
508
|
-
| `plan_guest_mints` | Rate-limit records for guest session issuance |
|
|
509
|
-
| `plan_assets` | Inline image assets stored as base64 (fallback when no upload provider) |
|
|
510
|
-
|
|
511
|
-
<DataModel
|
|
512
|
-
id="doc-block-1dtds8f"
|
|
513
|
-
title="Plan data model"
|
|
514
|
-
summary="One plan row owns ordered sections plus comments, events, versions, shares, and inline assets."
|
|
515
|
-
entities={[
|
|
516
|
-
{
|
|
517
|
-
id: "plans",
|
|
518
|
-
name: "plans",
|
|
519
|
-
note: "each plan or recap",
|
|
520
|
-
fields: [
|
|
521
|
-
{
|
|
522
|
-
name: "id",
|
|
523
|
-
type: "text",
|
|
524
|
-
pk: true,
|
|
525
|
-
},
|
|
526
|
-
{
|
|
527
|
-
name: "title",
|
|
528
|
-
type: "text",
|
|
529
|
-
},
|
|
530
|
-
{
|
|
531
|
-
name: "brief",
|
|
532
|
-
type: "text",
|
|
533
|
-
nullable: true,
|
|
534
|
-
},
|
|
535
|
-
{
|
|
536
|
-
name: "kind",
|
|
537
|
-
type: "enum",
|
|
538
|
-
note: "plan | recap",
|
|
539
|
-
},
|
|
540
|
-
{
|
|
541
|
-
name: "status",
|
|
542
|
-
type: "text",
|
|
543
|
-
},
|
|
544
|
-
{
|
|
545
|
-
name: "source",
|
|
546
|
-
type: "text",
|
|
547
|
-
nullable: true,
|
|
548
|
-
},
|
|
549
|
-
{
|
|
550
|
-
name: "hosted_plan_id",
|
|
551
|
-
type: "text",
|
|
552
|
-
nullable: true,
|
|
553
|
-
note: "hosted_plan_url paired",
|
|
554
|
-
},
|
|
555
|
-
{
|
|
556
|
-
name: "source_url",
|
|
557
|
-
type: "text",
|
|
558
|
-
nullable: true,
|
|
559
|
-
},
|
|
560
|
-
{
|
|
561
|
-
name: "deleted_at",
|
|
562
|
-
type: "timestamp",
|
|
563
|
-
nullable: true,
|
|
564
|
-
note: "soft delete; deleted_by paired",
|
|
565
|
-
},
|
|
566
|
-
],
|
|
567
|
-
},
|
|
568
|
-
{
|
|
569
|
-
id: "plan_sections",
|
|
570
|
-
name: "plan_sections",
|
|
571
|
-
note: "ordered sections within a plan",
|
|
572
|
-
fields: [
|
|
573
|
-
{
|
|
574
|
-
name: "id",
|
|
575
|
-
type: "text",
|
|
576
|
-
pk: true,
|
|
577
|
-
},
|
|
578
|
-
{
|
|
579
|
-
name: "plan_id",
|
|
580
|
-
type: "text",
|
|
581
|
-
fk: "plans.id",
|
|
582
|
-
},
|
|
583
|
-
{
|
|
584
|
-
name: "type",
|
|
585
|
-
type: "text",
|
|
586
|
-
},
|
|
587
|
-
{
|
|
588
|
-
name: "title",
|
|
589
|
-
type: "text",
|
|
590
|
-
nullable: true,
|
|
591
|
-
},
|
|
592
|
-
{
|
|
593
|
-
name: "body",
|
|
594
|
-
type: "text",
|
|
595
|
-
nullable: true,
|
|
596
|
-
},
|
|
597
|
-
{
|
|
598
|
-
name: "html",
|
|
599
|
-
type: "text",
|
|
600
|
-
nullable: true,
|
|
601
|
-
},
|
|
602
|
-
{
|
|
603
|
-
name: "sort_order",
|
|
604
|
-
type: "integer",
|
|
605
|
-
},
|
|
606
|
-
{
|
|
607
|
-
name: "created_by",
|
|
608
|
-
type: "text",
|
|
609
|
-
nullable: true,
|
|
610
|
-
},
|
|
611
|
-
],
|
|
612
|
-
},
|
|
613
|
-
{
|
|
614
|
-
id: "plan_comments",
|
|
615
|
-
name: "plan_comments",
|
|
616
|
-
note: "threaded comments",
|
|
617
|
-
fields: [
|
|
618
|
-
{
|
|
619
|
-
name: "id",
|
|
620
|
-
type: "text",
|
|
621
|
-
pk: true,
|
|
622
|
-
},
|
|
623
|
-
{
|
|
624
|
-
name: "plan_id",
|
|
625
|
-
type: "text",
|
|
626
|
-
fk: "plans.id",
|
|
627
|
-
},
|
|
628
|
-
{
|
|
629
|
-
name: "kind",
|
|
630
|
-
type: "text",
|
|
631
|
-
},
|
|
632
|
-
{
|
|
633
|
-
name: "status",
|
|
634
|
-
type: "text",
|
|
635
|
-
},
|
|
636
|
-
{
|
|
637
|
-
name: "anchor",
|
|
638
|
-
type: "json",
|
|
639
|
-
nullable: true,
|
|
640
|
-
},
|
|
641
|
-
{
|
|
642
|
-
name: "message",
|
|
643
|
-
type: "text",
|
|
644
|
-
},
|
|
645
|
-
{
|
|
646
|
-
name: "resolution_target",
|
|
647
|
-
type: "text",
|
|
648
|
-
nullable: true,
|
|
649
|
-
note: "agent | human | null",
|
|
650
|
-
},
|
|
651
|
-
{
|
|
652
|
-
name: "mentions_json",
|
|
653
|
-
type: "json",
|
|
654
|
-
nullable: true,
|
|
655
|
-
},
|
|
656
|
-
{
|
|
657
|
-
name: "resolved_by",
|
|
658
|
-
type: "text",
|
|
659
|
-
nullable: true,
|
|
660
|
-
},
|
|
661
|
-
],
|
|
662
|
-
},
|
|
663
|
-
{
|
|
664
|
-
id: "plan_events",
|
|
665
|
-
name: "plan_events",
|
|
666
|
-
note: "audit log of agent/human events",
|
|
667
|
-
fields: [
|
|
668
|
-
{
|
|
669
|
-
name: "id",
|
|
670
|
-
type: "text",
|
|
671
|
-
pk: true,
|
|
672
|
-
},
|
|
673
|
-
{
|
|
674
|
-
name: "plan_id",
|
|
675
|
-
type: "text",
|
|
676
|
-
fk: "plans.id",
|
|
677
|
-
},
|
|
678
|
-
],
|
|
679
|
-
},
|
|
680
|
-
{
|
|
681
|
-
id: "plan_versions",
|
|
682
|
-
name: "plan_versions",
|
|
683
|
-
note: "point-in-time snapshots",
|
|
684
|
-
fields: [
|
|
685
|
-
{
|
|
686
|
-
name: "id",
|
|
687
|
-
type: "text",
|
|
688
|
-
pk: true,
|
|
689
|
-
},
|
|
690
|
-
{
|
|
691
|
-
name: "plan_id",
|
|
692
|
-
type: "text",
|
|
693
|
-
fk: "plans.id",
|
|
694
|
-
},
|
|
695
|
-
],
|
|
696
|
-
},
|
|
697
|
-
{
|
|
698
|
-
id: "plan_shares",
|
|
699
|
-
name: "plan_shares",
|
|
700
|
-
note: "per-principal grants",
|
|
701
|
-
fields: [
|
|
702
|
-
{
|
|
703
|
-
name: "id",
|
|
704
|
-
type: "text",
|
|
705
|
-
pk: true,
|
|
706
|
-
},
|
|
707
|
-
{
|
|
708
|
-
name: "plan_id",
|
|
709
|
-
type: "text",
|
|
710
|
-
fk: "plans.id",
|
|
711
|
-
},
|
|
712
|
-
{
|
|
713
|
-
name: "role",
|
|
714
|
-
type: "enum",
|
|
715
|
-
note: "viewer | editor | admin",
|
|
716
|
-
},
|
|
717
|
-
],
|
|
718
|
-
},
|
|
719
|
-
{
|
|
720
|
-
id: "plan_guest_mints",
|
|
721
|
-
name: "plan_guest_mints",
|
|
722
|
-
note: "rate-limit records for guest session issuance",
|
|
723
|
-
fields: [
|
|
724
|
-
{
|
|
725
|
-
name: "id",
|
|
726
|
-
type: "text",
|
|
727
|
-
pk: true,
|
|
728
|
-
},
|
|
729
|
-
],
|
|
730
|
-
},
|
|
731
|
-
{
|
|
732
|
-
id: "plan_assets",
|
|
733
|
-
name: "plan_assets",
|
|
734
|
-
note: "inline image assets as base64",
|
|
735
|
-
fields: [
|
|
736
|
-
{
|
|
737
|
-
name: "id",
|
|
738
|
-
type: "text",
|
|
739
|
-
pk: true,
|
|
740
|
-
},
|
|
741
|
-
{
|
|
742
|
-
name: "plan_id",
|
|
743
|
-
type: "text",
|
|
744
|
-
fk: "plans.id",
|
|
745
|
-
},
|
|
746
|
-
],
|
|
747
|
-
},
|
|
748
|
-
]}
|
|
749
|
-
relations={[
|
|
750
|
-
{
|
|
751
|
-
from: "plans",
|
|
752
|
-
to: "plan_sections",
|
|
753
|
-
kind: "1-n",
|
|
754
|
-
label: "has sections",
|
|
755
|
-
},
|
|
756
|
-
{
|
|
757
|
-
from: "plans",
|
|
758
|
-
to: "plan_comments",
|
|
759
|
-
kind: "1-n",
|
|
760
|
-
label: "has comments",
|
|
761
|
-
},
|
|
762
|
-
{
|
|
763
|
-
from: "plans",
|
|
764
|
-
to: "plan_events",
|
|
765
|
-
kind: "1-n",
|
|
766
|
-
label: "has events",
|
|
767
|
-
},
|
|
768
|
-
{
|
|
769
|
-
from: "plans",
|
|
770
|
-
to: "plan_versions",
|
|
771
|
-
kind: "1-n",
|
|
772
|
-
label: "has versions",
|
|
773
|
-
},
|
|
774
|
-
{
|
|
775
|
-
from: "plans",
|
|
776
|
-
to: "plan_shares",
|
|
777
|
-
kind: "1-n",
|
|
778
|
-
label: "has shares",
|
|
779
|
-
},
|
|
780
|
-
{
|
|
781
|
-
from: "plans",
|
|
782
|
-
to: "plan_assets",
|
|
783
|
-
kind: "1-n",
|
|
784
|
-
label: "has assets",
|
|
785
|
-
},
|
|
786
|
-
]}
|
|
787
|
-
/>
|
|
788
|
-
|
|
789
|
-
### Key actions
|
|
790
|
-
|
|
791
|
-
Actions in `templates/plan/actions/`:
|
|
792
|
-
|
|
793
|
-
- **Creation** — `create-visual-plan`, `create-visual-recap`, `create-ui-plan`, `create-prototype-plan`, `create-plan-design`, `create-visual-questions`
|
|
794
|
-
- **Reading & editing** — `get-visual-plan`, `update-visual-plan`, `list-visual-plans`, `import-visual-plan-source`, `patch-visual-plan-source`, `read-visual-plan-source`, `export-visual-plan`
|
|
795
|
-
- **Lifecycle** — `delete-visual-plan` for owner-only soft delete, restore, and typed-confirmation permanent delete
|
|
796
|
-
- **Publishing & sharing** — `publish-visual-plan`
|
|
797
|
-
- **Versions** — `list-plan-versions`, `get-plan-version`, `restore-plan-version`
|
|
798
|
-
- **Comments & feedback** — `get-plan-feedback`, `reply-to-plan-comment`, `resolve-plan-comment`, `consume-plan-feedback`, `delete-plan-comment`
|
|
799
|
-
- **Prototype** — `convert-visual-plan-to-prototype`, `create-prototype-plan`
|
|
800
|
-
- **Context & navigation** — `view-screen`, `navigate`
|
|
801
|
-
|
|
802
|
-
### Custom MDX blocks {#custom-mdx-blocks}
|
|
803
|
-
|
|
804
|
-
Plans source files are MDX, but the app does not render arbitrary imported JSX
|
|
805
|
-
components. A custom MDX tag must be registered as a Plan block so the server can
|
|
806
|
-
parse and serialize it, the browser can render and edit it, and the agent can
|
|
807
|
-
see it in the block vocabulary returned by `get-plan-blocks`.
|
|
808
|
-
|
|
809
|
-
A registered block has three surfaces:
|
|
810
|
-
|
|
811
|
-
- A React-free schema and MDX config, safe for server and agent code.
|
|
812
|
-
- A normalized runtime type/schema entry in `shared/plan-content.ts`.
|
|
813
|
-
- A browser block spec with `Read` and optional `Edit` React components.
|
|
814
|
-
|
|
815
|
-
Keep the block `type` and MDX `tag` stable. The `type` is stored in normalized
|
|
816
|
-
plan JSON; the `tag` is the component name in `plan.mdx`. The registry handles
|
|
817
|
-
the base MDX attributes `id`, `title`, `summary`, and `editable`, so do not
|
|
818
|
-
repeat them in `toAttrs`.
|
|
819
|
-
|
|
820
|
-
1. Add a shared config for the data shape and MDX round trip.
|
|
821
|
-
|
|
822
|
-
```ts filename="templates/plan/shared/risk-card.config.ts"
|
|
823
|
-
import { z } from "zod";
|
|
824
|
-
import {
|
|
825
|
-
markdown,
|
|
826
|
-
type BlockMdxConfig,
|
|
827
|
-
} from "@agent-native/core/blocks/server";
|
|
828
|
-
|
|
829
|
-
export type RiskCardSeverity = "low" | "medium" | "high";
|
|
830
|
-
|
|
831
|
-
export interface RiskCardData {
|
|
832
|
-
severity?: RiskCardSeverity;
|
|
833
|
-
body: string;
|
|
834
|
-
}
|
|
835
|
-
|
|
836
|
-
const severities = new Set(["low", "medium", "high"]);
|
|
837
|
-
|
|
838
|
-
export const riskCardSchema = z.object({
|
|
839
|
-
severity: z.enum(["low", "medium", "high"]).optional(),
|
|
840
|
-
body: markdown(z.string().trim().min(1).max(10_000)),
|
|
841
|
-
}) as z.ZodType<RiskCardData>;
|
|
842
|
-
|
|
843
|
-
export const riskCardMdx: BlockMdxConfig<RiskCardData> = {
|
|
844
|
-
tag: "RiskCard",
|
|
845
|
-
childrenField: "body",
|
|
846
|
-
toAttrs: (data) => ({
|
|
847
|
-
severity: data.severity,
|
|
848
|
-
}),
|
|
849
|
-
fromAttrs: (attrs, children) => {
|
|
850
|
-
const severity = attrs.string("severity");
|
|
851
|
-
|
|
852
|
-
return {
|
|
853
|
-
severity: severities.has(severity ?? "")
|
|
854
|
-
? (severity as RiskCardSeverity)
|
|
855
|
-
: undefined,
|
|
856
|
-
body: children,
|
|
857
|
-
};
|
|
858
|
-
},
|
|
859
|
-
};
|
|
860
|
-
```
|
|
861
|
-
|
|
862
|
-
2. Extend the normalized Plan content model in
|
|
863
|
-
`templates/plan/shared/plan-content.ts`.
|
|
864
|
-
|
|
865
|
-
Add the new `type` to `PlanBlockType`, add a matching block interface to the
|
|
866
|
-
`PlanBlock` union, and add the same data shape to `planBlockSchema`. This keeps
|
|
867
|
-
database saves, source imports, and `update-block` patches validating the custom
|
|
868
|
-
block instead of rejecting it as an unknown type.
|
|
869
|
-
|
|
870
|
-
3. Register the React-free server spec in
|
|
871
|
-
`templates/plan/shared/plan-block-registry.ts`.
|
|
872
|
-
|
|
873
|
-
```ts filename="templates/plan/shared/plan-block-registry.ts"
|
|
874
|
-
import {
|
|
875
|
-
BlockRegistry,
|
|
876
|
-
defineBlock,
|
|
877
|
-
registerLibraryBlockConfigs,
|
|
878
|
-
registerBlocks,
|
|
879
|
-
} from "@agent-native/core/blocks/server";
|
|
880
|
-
import {
|
|
881
|
-
riskCardMdx,
|
|
882
|
-
riskCardSchema,
|
|
883
|
-
type RiskCardData,
|
|
884
|
-
} from "./risk-card.config.js";
|
|
885
|
-
|
|
886
|
-
const ServerReadStub = () => null;
|
|
887
|
-
|
|
888
|
-
const riskCardServerBlock = defineBlock<RiskCardData>({
|
|
889
|
-
type: "risk-card",
|
|
890
|
-
schema: riskCardSchema,
|
|
891
|
-
mdx: riskCardMdx,
|
|
892
|
-
Read: ServerReadStub,
|
|
893
|
-
placement: ["block"],
|
|
894
|
-
label: "Risk card",
|
|
895
|
-
description: "A markdown risk note with a low, medium, or high severity.",
|
|
896
|
-
});
|
|
897
|
-
|
|
898
|
-
export function registerPlanBlocks(registry: BlockRegistry): void {
|
|
899
|
-
registerLibraryBlockConfigs(registry, {
|
|
900
|
-
overrides: PLAN_SERVER_LIBRARY_OVERRIDES,
|
|
901
|
-
});
|
|
902
|
-
registerBlocks(registry, [riskCardServerBlock]);
|
|
903
|
-
}
|
|
904
|
-
```
|
|
905
|
-
|
|
906
|
-
4. Register the browser spec in
|
|
907
|
-
`templates/plan/app/components/plan/planBlocks.tsx`.
|
|
908
|
-
|
|
909
|
-
```tsx filename="templates/plan/app/components/plan/planBlocks.tsx"
|
|
910
|
-
import {
|
|
911
|
-
defineBlock,
|
|
912
|
-
registerLibraryBlocks,
|
|
913
|
-
registerBlocks,
|
|
914
|
-
type BlockReadProps,
|
|
915
|
-
} from "@agent-native/core/blocks";
|
|
916
|
-
import {
|
|
917
|
-
riskCardMdx,
|
|
918
|
-
riskCardSchema,
|
|
919
|
-
type RiskCardData,
|
|
920
|
-
} from "@shared/risk-card.config";
|
|
921
|
-
|
|
922
|
-
function RiskCardBlock({ data, blockId, ctx }: BlockReadProps<RiskCardData>) {
|
|
923
|
-
return (
|
|
924
|
-
<section
|
|
925
|
-
className="rounded-md border border-border bg-card p-4"
|
|
926
|
-
data-block-id={blockId}
|
|
927
|
-
data-severity={data.severity}
|
|
928
|
-
>
|
|
929
|
-
<div className="mb-2 text-xs font-semibold uppercase text-muted-foreground">
|
|
930
|
-
{data.severity ?? "risk"}
|
|
931
|
-
</div>
|
|
932
|
-
{ctx.renderMarkdown?.(data.body) ?? (
|
|
933
|
-
<p className="whitespace-pre-wrap text-sm">{data.body}</p>
|
|
934
|
-
)}
|
|
935
|
-
</section>
|
|
936
|
-
);
|
|
937
|
-
}
|
|
938
|
-
|
|
939
|
-
const riskCardBlock = defineBlock<RiskCardData>({
|
|
940
|
-
type: "risk-card",
|
|
941
|
-
schema: riskCardSchema,
|
|
942
|
-
mdx: riskCardMdx,
|
|
943
|
-
Read: RiskCardBlock,
|
|
944
|
-
placement: ["block"],
|
|
945
|
-
editSurface: "panel",
|
|
946
|
-
label: "Risk card",
|
|
947
|
-
description: "A markdown risk note with a low, medium, or high severity.",
|
|
948
|
-
empty: () => ({ severity: "medium", body: "Describe the risk." }),
|
|
949
|
-
});
|
|
950
|
-
|
|
951
|
-
registerLibraryBlocks(planBlockRegistry, {
|
|
952
|
-
overrides: PLAN_LIBRARY_OVERRIDES,
|
|
953
|
-
});
|
|
954
|
-
registerBlocks(planBlockRegistry, [riskCardBlock]);
|
|
955
|
-
```
|
|
956
|
-
|
|
957
|
-
With that in place, Plan MDX can use:
|
|
958
|
-
|
|
959
|
-
```mdx
|
|
960
|
-
<RiskCard id="risk-auth" severity="high">
|
|
961
|
-
|
|
962
|
-
Token refresh failures can strand active reviewer sessions.
|
|
963
|
-
|
|
964
|
-
</RiskCard>
|
|
965
|
-
```
|
|
966
|
-
|
|
967
|
-
The server registry makes this source importable/exportable, and the client
|
|
968
|
-
registry makes it render in `PlanBlockView`. If the block should be generated by
|
|
969
|
-
agents, keep `label`, `description`, `placement`, and `empty` precise; those
|
|
970
|
-
fields flow into the live block vocabulary.
|
|
971
|
-
|
|
972
|
-
When overriding an existing block, register the override after the shared
|
|
973
|
-
library registration. Last registration wins for both `type` and MDX `tag`.
|
|
974
|
-
|
|
975
|
-
After adding a block, run focused Plan tests:
|
|
976
|
-
|
|
977
|
-
```bash
|
|
978
|
-
pnpm --filter plan test -- plan-mdx plan-block-registry
|
|
979
|
-
```
|
|
980
|
-
|
|
981
|
-
### Route map
|
|
982
|
-
|
|
983
|
-
- `app/routes/plans.$id.tsx` — plan editor / review surface
|
|
984
|
-
- `app/routes/plans._index.tsx` — plan list
|
|
985
|
-
- `app/routes/share.$token.tsx` — public / shared plan view
|
|
986
|
-
- `app/routes/local-plans.$slug.tsx` — local-files mode preview
|
|
987
|
-
|
|
988
|
-
### Local mode (advanced, offline) {#local-mode}
|
|
989
|
-
|
|
990
|
-
For fully offline, no-account use, you can run the Plans app locally and point it at local MDX folders. For the stricter no-DB path, use [local-files privacy mode](#local-files), which reads from MDX folders instead of creating local SQL rows. Local mode is a separate, advanced path — not the default hosted flow.
|
|
991
|
-
|
|
992
|
-
## Events and notifications {#events}
|
|
993
|
-
|
|
994
|
-
The Plan template emits four events on the framework event bus. Any automation
|
|
995
|
-
can subscribe to them — no custom integration code needed.
|
|
996
|
-
|
|
997
|
-
### Event reference {#event-reference}
|
|
998
|
-
|
|
999
|
-
#### `plan.created`
|
|
1000
|
-
|
|
1001
|
-
Fires when a new visual plan or recap is created.
|
|
1002
|
-
|
|
1003
|
-
| Field | Type | Description |
|
|
1004
|
-
| ----------- | --------------------- | ---------------------------------------- |
|
|
1005
|
-
| `planId` | string | Unique plan identifier |
|
|
1006
|
-
| `title` | string | Plan title |
|
|
1007
|
-
| `kind` | `"plan"` \| `"recap"` | Whether this is a plan or a recap |
|
|
1008
|
-
| `status` | string | Initial status (e.g. `"review"`) |
|
|
1009
|
-
| `path` | string | App-relative path (e.g. `/plans/plan-…`) |
|
|
1010
|
-
| `createdBy` | string | Always `"agent"` for plan creation |
|
|
1011
|
-
|
|
1012
|
-
#### `plan.commented`
|
|
1013
|
-
|
|
1014
|
-
Fires when one or more comments are added to a plan.
|
|
1015
|
-
|
|
1016
|
-
| Field | Type | Description |
|
|
1017
|
-
| ------------------ | -------------------------------- | ----------------------------------------------------------- |
|
|
1018
|
-
| `planId` | string | Plan identifier |
|
|
1019
|
-
| `title` | string | Plan title |
|
|
1020
|
-
| `kind` | `"plan"` \| `"recap"` | Plan or recap |
|
|
1021
|
-
| `commentIds` | string[] | IDs of the new comments |
|
|
1022
|
-
| `commentCount` | number | Number of new comments in this batch |
|
|
1023
|
-
| `resolutionTarget` | `"agent"` \| `"human"` \| `null` | Dominant target — `"agent"` if any comment targets an agent |
|
|
1024
|
-
| `excerpt` | string | First 200 characters of the first comment |
|
|
1025
|
-
| `author` | string \| null | Email of the commenter, if known |
|
|
1026
|
-
| `path` | string | App-relative path |
|
|
1027
|
-
|
|
1028
|
-
#### `plan.published`
|
|
1029
|
-
|
|
1030
|
-
Fires when a local plan is published (or re-published) to a hosted shareable URL.
|
|
1031
|
-
|
|
1032
|
-
| Field | Type | Description |
|
|
1033
|
-
| --------------------- | --------------------- | ---------------------------------- |
|
|
1034
|
-
| `planId` | string | Local plan identifier |
|
|
1035
|
-
| `title` | string | Plan title |
|
|
1036
|
-
| `kind` | `"plan"` \| `"recap"` | Plan or recap |
|
|
1037
|
-
| `hostedPlanId` | string | Hosted plan identifier |
|
|
1038
|
-
| `url` | string | Full public URL of the hosted plan |
|
|
1039
|
-
| `requestedVisibility` | string | `"public"`, `"private"`, etc. |
|
|
1040
|
-
|
|
1041
|
-
#### `plan.status.changed`
|
|
1042
|
-
|
|
1043
|
-
Fires when a plan's status changes (e.g. `review` → `approved`).
|
|
1044
|
-
|
|
1045
|
-
| Field | Type | Description |
|
|
1046
|
-
| ----------- | --------------------- | ---------------------------------- |
|
|
1047
|
-
| `planId` | string | Plan identifier |
|
|
1048
|
-
| `title` | string | Plan title |
|
|
1049
|
-
| `kind` | `"plan"` \| `"recap"` | Plan or recap |
|
|
1050
|
-
| `oldStatus` | string \| null | Previous status |
|
|
1051
|
-
| `newStatus` | string | New status |
|
|
1052
|
-
| `changedBy` | string \| null | Email of the person who changed it |
|
|
1053
|
-
| `path` | string | App-relative path |
|
|
1054
|
-
|
|
1055
|
-
### Automation recipes {#automation-recipes}
|
|
1056
|
-
|
|
1057
|
-
These automations are created by asking the plan agent — no code changes needed.
|
|
1058
|
-
The agent calls `manage-automations` with `action=define`, writes a
|
|
1059
|
-
`jobs/<name>.md` resource, and the event subscription starts immediately.
|
|
1060
|
-
|
|
1061
|
-
#### Notify via webhook when someone comments on a plan
|
|
1062
|
-
|
|
1063
|
-
Ask the plan agent:
|
|
1064
|
-
|
|
1065
|
-
> "When someone adds a human comment on a plan, POST a message to my webhook."
|
|
1066
|
-
|
|
1067
|
-
The agent creates an automation like this:
|
|
1068
|
-
|
|
1069
|
-
```yaml
|
|
1070
|
-
---
|
|
1071
|
-
triggerType: event
|
|
1072
|
-
event: plan.commented
|
|
1073
|
-
condition: "resolutionTarget is human or resolutionTarget is null"
|
|
1074
|
-
mode: agentic
|
|
1075
|
-
domain: plan
|
|
1076
|
-
enabled: true
|
|
1077
|
-
---
|
|
1078
|
-
Send a POST request to ${keys.NOTIFY_WEBHOOK} with a JSON body containing:
|
|
1079
|
-
- "title": the plan title from the event payload
|
|
1080
|
-
- "excerpt": the comment excerpt from the event payload
|
|
1081
|
-
- "url": the base app URL concatenated with the path field from the event payload
|
|
1082
|
-
- "author": the author field from the event payload (may be null)
|
|
1083
|
-
```
|
|
1084
|
-
|
|
1085
|
-
Before the automation can fire you need to add the webhook URL as an ad-hoc key:
|
|
1086
|
-
|
|
1087
|
-
1. Go to **Settings → Keys** and add a key named `NOTIFY_WEBHOOK` with your
|
|
1088
|
-
webhook URL (e.g. a Slack incoming webhook, a generic HTTP endpoint, or any
|
|
1089
|
-
notification service URL).
|
|
1090
|
-
2. Optionally set a URL allowlist on the key to restrict which origins it can
|
|
1091
|
-
POST to.
|
|
1092
|
-
|
|
1093
|
-
The `web-request` tool resolves `${keys.NOTIFY_WEBHOOK}` server-side before
|
|
1094
|
-
sending — the raw URL never appears in the agent's context.
|
|
1095
|
-
|
|
1096
|
-
**To target Slack specifically:** set `NOTIFY_WEBHOOK` to your Slack incoming
|
|
1097
|
-
webhook URL
|
|
1098
|
-
(`https://hooks.slack.com/services/…`). The automation body above already
|
|
1099
|
-
produces a payload Slack's incoming webhook accepts via the `text` or `blocks`
|
|
1100
|
-
fields — ask the agent to format the body as a Slack message if you want richer
|
|
1101
|
-
formatting.
|
|
1102
|
-
|
|
1103
|
-
#### Wake the coding agent when feedback targets it
|
|
1104
|
-
|
|
1105
|
-
For feedback directed at the coding agent (`resolutionTarget === "agent"`), ask:
|
|
1106
|
-
|
|
1107
|
-
> "When a plan comment targets the agent, run my coding agent with the plan
|
|
1108
|
-
> excerpt as context."
|
|
1109
|
-
|
|
1110
|
-
```yaml
|
|
1111
|
-
---
|
|
1112
|
-
triggerType: event
|
|
1113
|
-
event: plan.commented
|
|
1114
|
-
condition: "resolutionTarget is agent"
|
|
1115
|
-
mode: agentic
|
|
1116
|
-
domain: plan
|
|
1117
|
-
enabled: true
|
|
1118
|
-
---
|
|
1119
|
-
|
|
1120
|
-
Use the manage-notifications action or web-request tool to alert the coding agent
|
|
1121
|
-
that new agent-targeted feedback has arrived on plan ${planId}: "${excerpt}".
|
|
1122
|
-
Include the plan path so the agent can navigate directly to it.
|
|
1123
|
-
```
|
|
1124
|
-
|
|
1125
|
-
Because the automation runs a full agent loop (`mode: agentic`), it can call
|
|
1126
|
-
`web-request`, send notifications, or invoke any action the agent has access to.
|
|
1127
|
-
The exact delivery mechanism depends on what notification channels you have
|
|
1128
|
-
configured — the agent picks the best available one.
|
|
1129
|
-
|
|
1130
277
|
## What's next
|
|
1131
278
|
|
|
279
|
+
- [**Reviewing and Commenting on Plans**](/docs/template-plan-review-workflow) — comment types, resolving feedback, sharing, and deleting plans
|
|
280
|
+
- [**Local-Files Mode and Desktop Sync**](/docs/template-plan-local-and-desktop) — keep plan content off the hosted database, or mirror it to a folder
|
|
281
|
+
- [**Events and Automations**](/docs/template-plan-automations) — the plan event bus and automation recipes
|
|
282
|
+
- [**Extending Plan**](/docs/template-plan-developers) — data model, actions, and custom MDX blocks for forking or self-hosting Plan
|
|
1132
283
|
- [**PR Visual Recap**](/docs/pr-visual-recap) — run `/visual-recap` automatically on every pull request
|
|
1133
|
-
- [**Automations**](/docs/automations) — event-triggered and scheduled automations
|
|
1134
284
|
- [**Plan plugin & marketplace**](/docs/plan-plugin) — install the Plan skills as a Claude Code or Codex plugin
|
|
1135
285
|
- [**Skills**](/docs/skills-guide) — how Agent-Native installs skills
|
|
1136
286
|
- [**MCP Clients**](/docs/mcp-clients) — configuring hosted MCP connectors
|