@agent-native/core 0.96.0 → 0.98.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/README.md +6 -0
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +71 -0
- package/corpus/core/docs/content/audit-log.mdx +2 -1
- package/corpus/core/docs/content/authentication.mdx +3 -3
- package/corpus/core/docs/content/automations.mdx +7 -7
- package/corpus/core/docs/content/creating-templates.mdx +1 -1
- package/corpus/core/docs/content/doctor.mdx +170 -0
- package/corpus/core/docs/content/external-agents.mdx +8 -7
- package/corpus/core/docs/content/internationalization.mdx +2 -1
- package/corpus/core/docs/content/locales/ar-SA/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/ar-SA/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/ar-SA/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/ar-SA/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/ar-SA/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/ar-SA/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/ar-SA/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/ar-SA/package-lifecycle.mdx +19 -0
- package/corpus/core/docs/content/locales/ar-SA/sandbox-adapters.mdx +18 -7
- package/corpus/core/docs/content/locales/ar-SA/security.mdx +10 -0
- package/corpus/core/docs/content/locales/de-DE/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/de-DE/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/de-DE/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/de-DE/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/de-DE/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/de-DE/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/de-DE/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/de-DE/package-lifecycle.mdx +22 -0
- package/corpus/core/docs/content/locales/de-DE/sandbox-adapters.mdx +18 -7
- package/corpus/core/docs/content/locales/de-DE/security.mdx +10 -0
- package/corpus/core/docs/content/locales/es-ES/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/es-ES/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/es-ES/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/es-ES/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/es-ES/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/es-ES/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/es-ES/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/es-ES/package-lifecycle.mdx +22 -0
- package/corpus/core/docs/content/locales/es-ES/sandbox-adapters.mdx +18 -7
- package/corpus/core/docs/content/locales/es-ES/security.mdx +10 -0
- package/corpus/core/docs/content/locales/fr-FR/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/fr-FR/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/fr-FR/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/fr-FR/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/fr-FR/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/fr-FR/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/fr-FR/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/fr-FR/package-lifecycle.mdx +21 -0
- package/corpus/core/docs/content/locales/fr-FR/sandbox-adapters.mdx +19 -8
- package/corpus/core/docs/content/locales/fr-FR/security.mdx +10 -0
- package/corpus/core/docs/content/locales/hi-IN/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/hi-IN/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/hi-IN/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/hi-IN/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/hi-IN/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/hi-IN/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/hi-IN/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/hi-IN/package-lifecycle.mdx +20 -0
- package/corpus/core/docs/content/locales/hi-IN/sandbox-adapters.mdx +18 -7
- package/corpus/core/docs/content/locales/hi-IN/security.mdx +10 -0
- package/corpus/core/docs/content/locales/ja-JP/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/ja-JP/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/ja-JP/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/ja-JP/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/ja-JP/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/ja-JP/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/ja-JP/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/ja-JP/package-lifecycle.mdx +21 -0
- package/corpus/core/docs/content/locales/ja-JP/sandbox-adapters.mdx +17 -6
- package/corpus/core/docs/content/locales/ja-JP/security.mdx +10 -0
- package/corpus/core/docs/content/locales/ko-KR/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/ko-KR/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/ko-KR/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/ko-KR/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/ko-KR/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/ko-KR/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/ko-KR/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/ko-KR/package-lifecycle.mdx +20 -0
- package/corpus/core/docs/content/locales/ko-KR/sandbox-adapters.mdx +17 -6
- package/corpus/core/docs/content/locales/ko-KR/security.mdx +10 -0
- package/corpus/core/docs/content/locales/pt-BR/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/pt-BR/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/pt-BR/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/pt-BR/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/pt-BR/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/pt-BR/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/pt-BR/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/pt-BR/package-lifecycle.mdx +21 -0
- package/corpus/core/docs/content/locales/pt-BR/sandbox-adapters.mdx +18 -7
- package/corpus/core/docs/content/locales/pt-BR/security.mdx +10 -0
- package/corpus/core/docs/content/locales/zh-CN/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/zh-CN/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-CN/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/zh-CN/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/zh-CN/getting-started.mdx +6 -4
- package/corpus/core/docs/content/locales/zh-CN/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-CN/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-CN/package-lifecycle.mdx +19 -0
- package/corpus/core/docs/content/locales/zh-CN/sandbox-adapters.mdx +17 -6
- package/corpus/core/docs/content/locales/zh-CN/security.mdx +10 -0
- package/corpus/core/docs/content/locales/zh-TW/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/zh-TW/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-TW/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/zh-TW/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/zh-TW/getting-started.mdx +6 -4
- package/corpus/core/docs/content/locales/zh-TW/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-TW/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-TW/package-lifecycle.mdx +19 -0
- package/corpus/core/docs/content/locales/zh-TW/sandbox-adapters.mdx +18 -7
- package/corpus/core/docs/content/locales/zh-TW/security.mdx +10 -0
- package/corpus/core/docs/content/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/package-lifecycle.mdx +51 -0
- package/corpus/core/docs/content/sandbox-adapters.mdx +16 -5
- package/corpus/core/docs/content/security.mdx +2 -0
- package/corpus/core/package.json +13 -2
- package/corpus/core/scripts/finalize-build.mjs +63 -3
- package/corpus/core/scripts/materialize-source-corpus.mjs +101 -15
- package/corpus/core/src/a2a/auth-policy.ts +33 -0
- package/corpus/core/src/action.ts +42 -0
- package/corpus/core/src/agent/durable-background.ts +15 -7
- package/corpus/core/src/agent/engine/builder-engine.ts +3 -0
- package/corpus/core/src/agent/engine/context-directives-transform.ts +69 -0
- package/corpus/core/src/agent/engine/continuation-dispatch-retry.ts +168 -0
- package/corpus/core/src/agent/engine/tool-call-journal-seed.ts +85 -0
- package/corpus/core/src/agent/production-agent.ts +129 -244
- package/corpus/core/src/agent/run-store.ts +13 -4
- package/corpus/core/src/audit/actions/export-audit-events.ts +162 -0
- package/corpus/core/src/audit/store.ts +8 -3
- package/corpus/core/src/audit/types.ts +3 -0
- package/corpus/core/src/cli/doctor.ts +402 -0
- package/corpus/core/src/cli/index.ts +56 -0
- package/corpus/core/src/cli/info.ts +3 -3
- package/corpus/core/src/cli/package-lifecycle.ts +821 -0
- package/corpus/core/src/cli/plan-local.ts +10 -2
- package/corpus/core/src/cli/skills-content/assets-skill.ts +83 -0
- package/corpus/core/src/cli/skills-content/canvas.ts +153 -0
- package/corpus/core/src/cli/skills-content/connection.ts +52 -0
- package/corpus/core/src/cli/skills-content/content-skill.ts +109 -0
- package/corpus/core/src/cli/skills-content/design-exploration-skill.ts +118 -0
- package/corpus/core/src/cli/skills-content/design-visual-edit-skill.ts +228 -0
- package/corpus/core/src/cli/skills-content/document-quality.ts +196 -0
- package/corpus/core/src/cli/skills-content/exemplar.ts +69 -0
- package/corpus/core/src/cli/skills-content/help.ts +77 -0
- package/corpus/core/src/cli/skills-content/index.ts +22 -0
- package/corpus/core/src/cli/skills-content/local-files.ts +95 -0
- package/corpus/core/src/cli/skills-content/plan-setup-auth.ts +80 -0
- package/corpus/core/src/cli/skills-content/visual-plan-skill.ts +470 -0
- package/corpus/core/src/cli/skills-content/visual-recap-skill.ts +547 -0
- package/corpus/core/src/cli/skills-content/visualize-repo-skill.ts +93 -0
- package/corpus/core/src/cli/skills-content/wireframe.ts +349 -0
- package/corpus/core/src/cli/skills.ts +27 -2733
- package/corpus/core/src/client/AgentPanel.tsx +6 -5
- package/corpus/core/src/client/CommandMenu.tsx +16 -5
- package/corpus/core/src/client/FeedbackButton.tsx +2 -2
- package/corpus/core/src/client/agent-chat-adapter.ts +9 -9
- package/corpus/core/src/client/app-providers.tsx +18 -5
- package/corpus/core/src/client/chat/tool-call-display.tsx +3 -3
- package/corpus/core/src/client/composer/PastedTextChip.tsx +1 -1
- package/corpus/core/src/client/composer/RealtimeVoiceMode.tsx +143 -45
- package/corpus/core/src/client/composer/TiptapComposer.tsx +1 -1
- package/corpus/core/src/client/composer/VoiceButton.tsx +21 -5
- package/corpus/core/src/client/composer/useRealtimeVoiceMode.tsx +107 -10
- package/corpus/core/src/client/context-xray/ContextXRayPanel.tsx +5 -2
- package/corpus/core/src/client/extensions/ExtensionEditor.tsx +37 -4
- package/corpus/core/src/client/extensions/ExtensionQueryErrorState.tsx +47 -0
- package/corpus/core/src/client/extensions/ExtensionSlot.tsx +39 -10
- package/corpus/core/src/client/extensions/ExtensionViewer.tsx +44 -6
- package/corpus/core/src/client/extensions/ExtensionsListPage.tsx +12 -3
- package/corpus/core/src/client/extensions/ExtensionsSidebarSection.tsx +49 -11
- package/corpus/core/src/client/index.ts +0 -13
- package/corpus/core/src/client/progress/RunsTray.tsx +10 -3
- package/corpus/core/src/client/settings/SettingsTabsPage.tsx +7 -0
- package/corpus/core/src/client/settings/useBuilderStatus.ts +6 -0
- package/corpus/core/src/client/tool-cells/EditCell.tsx +19 -16
- package/corpus/core/src/client/tool-cells/FilesChangedSummary.tsx +26 -23
- package/corpus/core/src/client/tool-cells/WriteCell.tsx +19 -16
- package/corpus/core/src/client/visual-style-controls.tsx +1 -1
- package/corpus/core/src/deploy/build.ts +36 -14
- package/corpus/core/src/guards/db-tool-scoping.ts +129 -0
- package/corpus/core/src/guards/index.ts +23 -0
- package/corpus/core/src/guards/no-drizzle-push.ts +116 -0
- package/corpus/core/src/guards/no-env-credentials.ts +229 -0
- package/corpus/core/src/guards/no-env-mutation.ts +114 -0
- package/corpus/core/src/guards/no-localhost-fallback.ts +124 -0
- package/corpus/core/src/guards/no-unscoped-credentials.ts +227 -0
- package/corpus/core/src/guards/no-unscoped-queries.ts +834 -0
- package/corpus/core/src/guards/scan-utils.ts +105 -0
- package/corpus/core/src/guards/types.ts +30 -0
- package/corpus/core/src/integrations/google-docs-poller.ts +23 -2
- package/corpus/core/src/integrations/plugin.ts +10 -0
- package/corpus/core/src/integrations/webhook-handler.ts +27 -2
- package/corpus/core/src/jobs/scheduler.ts +28 -2
- package/corpus/core/src/localization/default-messages.ts +8 -1
- package/corpus/core/src/mcp/oauth-token.ts +6 -1
- package/corpus/core/src/observability/routes.ts +36 -0
- package/corpus/core/src/observability/sentiment.ts +261 -0
- package/corpus/core/src/observability/store.ts +23 -0
- package/corpus/core/src/observability/traces.ts +49 -63
- package/corpus/core/src/observability/tracking-identity.ts +55 -0
- package/corpus/core/src/observability/types.ts +13 -0
- package/corpus/core/src/org/accept-pending.ts +9 -1
- package/corpus/core/src/org/migrations.ts +41 -0
- package/corpus/core/src/package-lifecycle/index.ts +1 -0
- package/corpus/core/src/package-lifecycle/manifest.ts +120 -0
- package/corpus/core/src/provider-api/custom-registry.ts +56 -0
- package/corpus/core/src/provider-api/index.ts +2 -0
- package/corpus/core/src/secrets/storage.ts +114 -30
- package/corpus/core/src/server/action-discovery.ts +4 -0
- package/corpus/core/src/server/agent-chat/action-filters-a2a.ts +199 -0
- package/corpus/core/src/server/agent-chat/browser-team-tools.ts +510 -0
- package/corpus/core/src/server/agent-chat/context-tools.ts +595 -0
- package/corpus/core/src/server/agent-chat/framework-prompts.ts +470 -0
- package/corpus/core/src/server/agent-chat/lazy-fs.ts +11 -0
- package/corpus/core/src/server/agent-chat/mcp-glue.ts +91 -0
- package/corpus/core/src/server/agent-chat/plugin-options.ts +350 -0
- package/corpus/core/src/server/agent-chat/process-run-failure.ts +62 -0
- package/corpus/core/src/server/agent-chat/prompt-resources.ts +688 -0
- package/corpus/core/src/server/agent-chat/recurring-jobs-runtime.ts +80 -0
- package/corpus/core/src/server/agent-chat/request-surface.ts +71 -0
- package/corpus/core/src/server/agent-chat/run-code-tools.ts +67 -0
- package/corpus/core/src/server/agent-chat/script-entries.ts +779 -0
- package/corpus/core/src/server/agent-chat/shared-thread.ts +301 -0
- package/corpus/core/src/server/agent-chat/skill-frontmatter.ts +41 -0
- package/corpus/core/src/server/agent-chat-plugin.ts +403 -4179
- package/corpus/core/src/server/agent-teams.ts +26 -3
- package/corpus/core/src/server/auth.ts +55 -57
- package/corpus/core/src/server/core-routes-plugin.ts +30 -14
- package/corpus/core/src/server/credential-provider.ts +22 -25
- package/corpus/core/src/server/csrf.ts +24 -5
- package/corpus/core/src/server/edge.ts +1 -0
- package/corpus/core/src/server/framework-request-handler.ts +34 -0
- package/corpus/core/src/server/google-realtime-session.ts +1 -36
- package/corpus/core/src/server/onboarding-html.ts +1 -16
- package/corpus/core/src/server/poll.ts +24 -2
- package/corpus/core/src/server/realtime-voice.ts +49 -5
- package/corpus/core/src/server/request-origin.ts +67 -0
- package/corpus/core/src/server/ssr-handler.ts +55 -2
- package/corpus/core/src/server/transcribe-voice.ts +1 -50
- package/corpus/core/src/sharing/access.ts +155 -11
- package/corpus/core/src/sharing/registry.ts +7 -0
- package/corpus/core/src/styles/agent-native.css +15 -14
- package/corpus/core/src/templates/default/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/core/src/templates/default/app/i18n/ar-SA.ts +6 -0
- package/corpus/core/src/templates/default/app/i18n/de-DE.ts +6 -0
- package/corpus/core/src/templates/default/app/i18n/en-US.ts +6 -0
- package/corpus/core/src/templates/default/app/i18n/es-ES.ts +6 -0
- package/corpus/core/src/templates/default/app/i18n/fr-FR.ts +6 -0
- package/corpus/core/src/templates/default/app/i18n/hi-IN.ts +6 -0
- package/corpus/core/src/templates/default/app/i18n/ja-JP.ts +6 -0
- package/corpus/core/src/templates/default/app/i18n/ko-KR.ts +6 -0
- package/corpus/core/src/templates/default/app/i18n/pt-BR.ts +6 -0
- package/corpus/core/src/templates/default/app/i18n/zh-CN.ts +6 -0
- package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +6 -0
- package/corpus/core/src/templates/default/package.json +2 -2
- package/corpus/core/src/templates/headless/package.json +0 -1
- package/corpus/core/src/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +27 -29
- package/corpus/core/src/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
- package/corpus/core/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +2 -1
- package/corpus/core/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/core/src/templates/workspace-core/.agents/skills/observability/SKILL.md +32 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +25 -0
- package/corpus/core/src/templates/workspace-core/package.json +0 -1
- package/corpus/core/src/templates/workspace-core/src/server/index.ts +4 -2
- package/corpus/core/src/templates/workspace-root/package.json +0 -1
- package/corpus/core/src/testing.ts +26 -0
- package/corpus/core/src/triggers/actions.ts +11 -3
- package/corpus/core/src/triggers/dispatcher.ts +23 -2
- package/corpus/core/src/triggers/types.ts +7 -1
- package/corpus/core/src/vite/client.ts +126 -2
- package/corpus/core/tsconfig.cli.json +1 -1
- package/corpus/core/tsconfig.json +5 -1
- package/corpus/templates/analytics/.agents/skills/bigquery/SKILL.md +2 -2
- package/corpus/templates/analytics/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/analytics/AGENTS.md +19 -6
- package/corpus/templates/analytics/actions/compose-dashboard.ts +65 -37
- package/corpus/templates/analytics/actions/install-dashboard-template.ts +79 -43
- package/corpus/templates/analytics/actions/list-explorer-dashboards.ts +3 -3
- package/corpus/templates/analytics/actions/list-sql-dashboards.ts +8 -3
- package/corpus/templates/analytics/actions/mutate-dashboard.ts +73 -24
- package/corpus/templates/analytics/actions/rename-analysis.ts +8 -2
- package/corpus/templates/analytics/actions/rename-dashboard.ts +8 -7
- package/corpus/templates/analytics/actions/reorder-dashboard-panels.ts +16 -13
- package/corpus/templates/analytics/actions/update-dashboard.ts +53 -42
- package/corpus/templates/analytics/actions/view-screen.ts +4 -23
- package/corpus/templates/analytics/app/components/ResourceLoadError.tsx +42 -0
- package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +85 -70
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +107 -89
- package/corpus/templates/analytics/app/components/layout/SidebarLoadError.tsx +24 -0
- package/corpus/templates/analytics/app/hooks/use-dashboard-views.ts +15 -5
- package/corpus/templates/analytics/app/i18n/zh-TW.ts +4 -0
- package/corpus/templates/analytics/app/i18n-data.ts +40 -0
- package/corpus/templates/analytics/app/pages/Settings.tsx +6 -2
- package/corpus/templates/analytics/app/pages/adhoc/explorer/components/SqlPreview.tsx +36 -20
- package/corpus/templates/analytics/app/pages/adhoc/explorer/index.tsx +34 -20
- package/corpus/templates/analytics/app/pages/adhoc/explorer/use-explorer-config.ts +42 -41
- package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +43 -36
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/ViewsMenu.tsx +11 -2
- package/corpus/templates/analytics/app/root.tsx +13 -1
- package/corpus/templates/analytics/app/routes/_index.tsx +14 -2
- package/corpus/templates/analytics/changelog/2026-07-03-agent-llm-observability-dashboard.md +1 -1
- package/corpus/templates/analytics/changelog/2026-07-10-dashboard-edits-from-the-agent-and-the-ui-at-the-same-time-n.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-10-timed-out-bigquery-jobs-are-now-cancelled-so-they-stop-consu.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-11-agent-feedback-sentiment-dashboard.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-11-analytics-chats-now-start-faster-by-loading-metric-definitio.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-11-command-and-sql-previews-now-respond-without-lag.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-11-command-search-now-reports-loading-failures-and-lets-you-ret.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-11-dashboard-navigation-now-loads-faster-and-reports-request-fa.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-11-inferred-message-sentiment-dashboard.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-11-microphone-settings-from-realtime-voice-mode-now-open-the-vo.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-11-more-dashboard-edit-paths-are-now-safe-against-simultaneous-.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-11-renaming-a-dashboard-is-now-safe-against-simultaneous-agent-.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-11-renaming-an-analysis-is-now-safe-against-simultaneous-edits.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-11-workspace-mounted-analytics-now-opens-ask-reliably-and-route.md +6 -0
- package/corpus/templates/analytics/docs/schemas/first-party-analytics.md +37 -3
- package/corpus/templates/analytics/package.json +1 -2
- package/corpus/templates/analytics/seeds/dashboards/agent-native-templates-first-party.json +339 -1
- package/corpus/templates/analytics/server/lib/bigquery.ts +3 -2
- package/corpus/templates/analytics/server/lib/dashboard-catalog.ts +1 -24
- package/corpus/templates/analytics/server/lib/dashboard-seeds.ts +0 -5
- package/corpus/templates/analytics/server/lib/dashboards-store.ts +443 -31
- package/corpus/templates/analytics/server/lib/data-dictionary-context.ts +106 -34
- package/corpus/templates/analytics/server/lib/demo-dashboards.ts +4 -1
- package/corpus/templates/analytics/server/plugins/agent-chat.ts +11 -39
- package/corpus/templates/assets/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/assets/app/components/create/RecentDraftsSection.tsx +30 -4
- package/corpus/templates/assets/app/routes/library.tsx +49 -5
- package/corpus/templates/assets/changelog/2026-07-11-library-load-failures-now-show-a-retry-action.md +6 -0
- package/corpus/templates/assets/package.json +1 -2
- package/corpus/templates/brain/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/brain/package.json +1 -2
- package/corpus/templates/calendar/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/calendar/.env.example +5 -0
- package/corpus/templates/calendar/app/components/calendar/EventCard.tsx +2 -2
- package/corpus/templates/calendar/app/i18n/zh-TW.ts +2 -0
- package/corpus/templates/calendar/app/i18n-data.ts +20 -0
- package/corpus/templates/calendar/app/pages/BookingLinksPage.tsx +37 -1
- package/corpus/templates/calendar/app/pages/BookingsList.tsx +20 -3
- package/corpus/templates/calendar/changelog/2026-07-11-booking-load-failures-now-show-a-retry-action.md +6 -0
- package/corpus/templates/calendar/changelog/2026-07-11-event-cards-give-subtle-press-feedback-and-smoother-hover.md +6 -0
- package/corpus/templates/calendar/package.json +1 -2
- package/corpus/templates/chat/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/chat/package.json +1 -2
- package/corpus/templates/clips/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/clips/actions/decline-invite.ts +8 -0
- package/corpus/templates/clips/app/components/library/folder-tree.tsx +209 -187
- package/corpus/templates/clips/app/components/meetings/meeting-card.tsx +2 -2
- package/corpus/templates/clips/app/components/player/reactions-tray.tsx +17 -5
- package/corpus/templates/clips/app/components/player/scrubber.tsx +5 -3
- package/corpus/templates/clips/app/components/recorder/pre-record-panel.tsx +2 -2
- package/corpus/templates/clips/app/components/workspace/insights-hub.tsx +119 -95
- package/corpus/templates/clips/app/global.css +45 -0
- package/corpus/templates/clips/app/root.tsx +4 -0
- package/corpus/templates/clips/app/routes/_app.notifications.tsx +23 -2
- package/corpus/templates/clips/app/routes/_app.trash.tsx +24 -2
- package/corpus/templates/clips/changelog/2026-07-10-atomic-view-tracking.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-11-controls-and-folders-now-move-more-smoothly.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-11-declining-an-invitation-now-requires-being-its-recipient.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-11-recording-overlays-are-lighter-weight-and-no-longer-cause-pa.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-11-workspace-load-failures-now-show-a-retry-action.md +6 -0
- package/corpus/templates/clips/chrome-extension/package.json +3 -2
- package/corpus/templates/clips/chrome-extension/src/overlay.css +34 -5
- package/corpus/templates/clips/chrome-extension/src/styles.css +2 -2
- package/corpus/templates/clips/desktop/package.json +6 -4
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +26 -13
- package/corpus/templates/clips/desktop/src/lib/voice-dictation.ts +4 -1
- package/corpus/templates/clips/desktop/src/styles.css +71 -26
- package/corpus/templates/clips/package.json +1 -2
- package/corpus/templates/clips/server/db/schema.ts +29 -17
- package/corpus/templates/clips/server/plugins/db.ts +8 -0
- package/corpus/templates/clips/server/routes/api/view-event.post.ts +260 -105
- package/corpus/templates/content/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/content/.agents/skills/notion-integration/SKILL.md +16 -0
- package/corpus/templates/content/AGENTS.md +72 -62
- package/corpus/templates/content/actions/_content-database-source-adapters.ts +84 -0
- package/corpus/templates/content/actions/_database-source-utils.ts +206 -96
- package/corpus/templates/content/actions/_notion-database-source-adapter.ts +216 -0
- package/corpus/templates/content/actions/_position-utils.ts +76 -0
- package/corpus/templates/content/actions/_property-utils.ts +31 -20
- package/corpus/templates/content/actions/add-database-item.ts +52 -39
- package/corpus/templates/content/actions/attach-content-database-source.ts +95 -11
- package/corpus/templates/content/actions/change-content-database-source-role.ts +24 -1
- package/corpus/templates/content/actions/configure-document-property.ts +36 -27
- package/corpus/templates/content/actions/create-content-database.ts +40 -30
- package/corpus/templates/content/actions/create-document.ts +39 -32
- package/corpus/templates/content/actions/duplicate-document-property.ts +37 -28
- package/corpus/templates/content/actions/list-notion-database-sources.ts +80 -0
- package/corpus/templates/content/actions/move-document.ts +93 -61
- package/corpus/templates/content/actions/refresh-content-database-source.ts +42 -3
- package/corpus/templates/content/actions/share-local-file-document.ts +36 -27
- package/corpus/templates/content/actions/suggest-source-join-key.ts +39 -16
- package/corpus/templates/content/app/components/QueryErrorState.tsx +39 -0
- package/corpus/templates/content/app/components/editor/LinkHoverPreview.tsx +1 -1
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +323 -1467
- package/corpus/templates/content/app/components/editor/database/GalleryView.tsx +368 -0
- package/corpus/templates/content/app/components/editor/database/ListView.tsx +353 -0
- package/corpus/templates/content/app/components/editor/database/TimelineView.tsx +580 -0
- package/corpus/templates/content/app/components/editor/database/settings.tsx +1 -1
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +11 -2
- package/corpus/templates/content/app/global.css +19 -19
- package/corpus/templates/content/app/hooks/use-content-database.ts +18 -1
- package/corpus/templates/content/app/i18n/zh-TW.ts +4 -0
- package/corpus/templates/content/app/i18n-data.ts +40 -0
- package/corpus/templates/content/app/root.tsx +2 -2
- package/corpus/templates/content/app/routes/_app._index.tsx +11 -1
- package/corpus/templates/content/changelog/2026-07-10-failed-row-creation-and-source-attach-now-show-an-error-inst.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-items-added-at-the-same-time-no-longer-end-up-with-identical.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-notion-databases-can-add-read-only-details-to-content-tables.md +6 -0
- package/corpus/templates/content/changelog/2026-07-11-document-load-failures-now-show-a-retry-action.md +6 -0
- package/corpus/templates/content/changelog/2026-07-11-editor-toggle-feedback-now-feels-more-responsive.md +6 -0
- package/corpus/templates/content/changelog/2026-07-11-moving-documents-at-the-same-time-no-longer-scrambles-their-.md +6 -0
- package/corpus/templates/content/changelog/2026-07-11-public-document-chats-now-start-faster-while-keeping-full-do.md +6 -0
- package/corpus/templates/content/changelog/2026-07-11-reopening-a-comment-now-uses-consistent-permissions-everywhe.md +6 -0
- package/corpus/templates/content/changelog/2026-07-11-sidebar-resizing-now-tracks-your-cursor-instantly-instead-of.md +6 -0
- package/corpus/templates/content/package.json +1 -2
- package/corpus/templates/content/parity/matrix.md +25 -25
- package/corpus/templates/content/parity/matrix.ts +1 -0
- package/corpus/templates/content/server/lib/public-documents.ts +47 -10
- package/corpus/templates/content/server/routes/api/comments/[id].patch.ts +24 -24
- package/corpus/templates/content/server/routes/api/documents/[id]/move.patch.ts +43 -26
- package/corpus/templates/content/shared/api.ts +16 -1
- package/corpus/templates/design/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +8 -4
- package/corpus/templates/design/AGENTS.md +12 -2
- package/corpus/templates/design/DEVELOPING.md +10 -6
- package/corpus/templates/design/actions/apply-visual-edit.ts +191 -6
- package/corpus/templates/design/actions/duplicate-design.ts +31 -25
- package/corpus/templates/design/app/components/QueryErrorState.tsx +24 -0
- package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +1 -1
- package/corpus/templates/design/app/components/design/DesignImportPanel.tsx +5 -2
- package/corpus/templates/design/app/components/design/EditPanel.tsx +326 -319
- package/corpus/templates/design/app/components/design/LayersPanel.tsx +198 -193
- package/corpus/templates/design/app/components/design/edit-panel/panel-primitives.tsx +11 -4
- package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +1 -1
- package/corpus/templates/design/app/components/layout/Layout.tsx +1 -1
- package/corpus/templates/design/app/pages/DesignSystems.tsx +7 -1
- package/corpus/templates/design/app/pages/Index.tsx +14 -2
- package/corpus/templates/design/app/pages/Present.tsx +16 -3
- package/corpus/templates/design/app/pages/Templates.tsx +10 -4
- package/corpus/templates/design/app/pages/design-editor/canvas-primitive-insert.ts +484 -0
- package/corpus/templates/design/app/pages/design-editor/clone-and-pen-edit.ts +378 -0
- package/corpus/templates/design/app/pages/design-editor/design-data-geometry-utils.ts +138 -0
- package/corpus/templates/design/app/pages/design-editor/dom-utils.ts +15 -0
- package/corpus/templates/design/app/pages/design-editor/generation-prompt-directives.ts +180 -0
- package/corpus/templates/design/app/pages/design-editor/html-layer-positioning.ts +226 -0
- package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +5 -1
- package/corpus/templates/design/app/pages/design-editor/png-export-render.ts +348 -0
- package/corpus/templates/design/app/pages/design-editor/screen-command-utils.ts +160 -0
- package/corpus/templates/design/app/pages/design-editor/text-edit-utils.ts +238 -0
- package/corpus/templates/design/app/pages/design-editor/tool-state.ts +23 -1
- package/corpus/templates/design/app/pages/design-editor/types.ts +25 -0
- package/corpus/templates/design/app/root.tsx +10 -1
- package/corpus/templates/design/changelog/2026-07-10-duplicating-a-design-can-no-longer-produce-a-copy-with-missi.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-local-visual-edits-can-now-save-safe-leaf-text-class-and.md +6 -0
- package/corpus/templates/design/changelog/2026-07-11-canvas-context-menus-now-open-without-motion-jitter.md +6 -0
- package/corpus/templates/design/changelog/2026-07-11-design-load-failures-now-show-a-retry-action.md +6 -0
- package/corpus/templates/design/changelog/2026-07-11-inspector-tooltips-appear-instantly-as-you-sweep-across-icon.md +6 -0
- package/corpus/templates/design/package.json +1 -1
- package/corpus/templates/design/shared/local-jsx-visual-edit.ts +388 -0
- package/corpus/templates/dispatch/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/dispatch/app/i18n/zh-TW.ts +10 -0
- package/corpus/templates/dispatch/app/i18n-data.ts +123 -0
- package/corpus/templates/dispatch/app/routes/integrations.tsx +163 -144
- package/corpus/templates/dispatch/changelog/2026-07-11-dispatch-mcp-connections-now-start-with-safer-app-access-and.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-07-11-overview-and-chat-now-share-a-cleaner-more-stable-flow.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-07-11-query-errors-now-show-a-retry-option.md +6 -0
- package/corpus/templates/dispatch/package.json +1 -2
- package/corpus/templates/forms/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/forms/actions/patch-form-fields.ts +82 -44
- package/corpus/templates/forms/app/components/layout/Sidebar.tsx +3 -3
- package/corpus/templates/forms/app/root.tsx +34 -8
- package/corpus/templates/forms/changelog/2026-07-10-simultaneous-edits-to-different-form-fields-no-longer-overwr.md +6 -0
- package/corpus/templates/forms/package.json +1 -2
- package/corpus/templates/macros/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/macros/app/components/DailyProgress.tsx +25 -5
- package/corpus/templates/macros/app/components/QueryErrorState.tsx +31 -0
- package/corpus/templates/macros/app/components/WeightTracker.tsx +5 -1
- package/corpus/templates/macros/app/components/ui/button.tsx +1 -1
- package/corpus/templates/macros/app/components/ui/progress.tsx +1 -1
- package/corpus/templates/macros/app/components/ui/tabs.tsx +1 -1
- package/corpus/templates/macros/app/i18n/ar-SA.ts +2 -0
- package/corpus/templates/macros/app/i18n/de-DE.ts +2 -0
- package/corpus/templates/macros/app/i18n/en-US.ts +2 -0
- package/corpus/templates/macros/app/i18n/es-ES.ts +2 -0
- package/corpus/templates/macros/app/i18n/fr-FR.ts +2 -0
- package/corpus/templates/macros/app/i18n/hi-IN.ts +2 -0
- package/corpus/templates/macros/app/i18n/ja-JP.ts +2 -0
- package/corpus/templates/macros/app/i18n/ko-KR.ts +2 -0
- package/corpus/templates/macros/app/i18n/pt-BR.ts +2 -0
- package/corpus/templates/macros/app/i18n/zh-CN.ts +2 -0
- package/corpus/templates/macros/app/i18n/zh-TW.ts +2 -0
- package/corpus/templates/macros/app/routes/_index.tsx +22 -12
- package/corpus/templates/macros/app/routes/analytics.tsx +31 -10
- package/corpus/templates/macros/changelog/2026-07-11-daily-tracking-now-loads-and-updates-more-quickly.md +6 -0
- package/corpus/templates/macros/changelog/2026-07-11-data-load-failures-now-show-a-clear-error-with-a-retry-actio.md +6 -0
- package/corpus/templates/macros/package.json +1 -2
- package/corpus/templates/mail/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/mail/.env.example +16 -11
- package/corpus/templates/mail/actions/list-emails.ts +39 -35
- package/corpus/templates/mail/app/components/email/ComposeModal.tsx +58 -6
- package/corpus/templates/mail/app/components/email/EmailListItem.tsx +35 -2
- package/corpus/templates/mail/app/components/email/EmailThread.tsx +3 -1
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +113 -104
- package/corpus/templates/mail/app/root.tsx +8 -10
- package/corpus/templates/mail/changelog/2026-07-10-fixed-calendar-rsvp-buttons-in-emails-firing-duplicate-respo.md +6 -0
- package/corpus/templates/mail/changelog/2026-07-11-compose-and-navigation-motion-now-feel-faster-and-smoother.md +6 -0
- package/corpus/templates/mail/changelog/2026-07-11-swipe-to-archive-or-snooze-now-responds-to-quick-flicks-not-.md +6 -0
- package/corpus/templates/mail/changelog/2026-07-11-the-assistant-now-sees-the-same-inbox-you-do-snoozed-mail-st.md +6 -0
- package/corpus/templates/mail/package.json +1 -2
- package/corpus/templates/mail/server/handlers/emails.ts +25 -69
- package/corpus/templates/mail/server/lib/list-inbox-emails.ts +169 -0
- package/corpus/templates/plan/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/plan/.env.example +4 -0
- package/corpus/templates/plan/actions/create-plan-design.ts +89 -81
- package/corpus/templates/plan/actions/create-prototype-plan.ts +72 -59
- package/corpus/templates/plan/actions/create-ui-plan.ts +70 -55
- package/corpus/templates/plan/actions/create-visual-plan.ts +65 -51
- package/corpus/templates/plan/actions/restore-plan-version.ts +126 -96
- package/corpus/templates/plan/actions/update-local-plan-folder.ts +43 -30
- package/corpus/templates/plan/actions/update-visual-plan.ts +81 -64
- package/corpus/templates/plan/app/components/layout/Sidebar.tsx +17 -0
- package/corpus/templates/plan/app/components/ui/tabs.tsx +1 -1
- package/corpus/templates/plan/app/i18n/ar-SA.ts +10 -0
- package/corpus/templates/plan/app/i18n/de-DE.ts +10 -0
- package/corpus/templates/plan/app/i18n/en-US.ts +10 -0
- package/corpus/templates/plan/app/i18n/es-ES.ts +10 -0
- package/corpus/templates/plan/app/i18n/fr-FR.ts +10 -0
- package/corpus/templates/plan/app/i18n/hi-IN.ts +10 -0
- package/corpus/templates/plan/app/i18n/ja-JP.ts +10 -0
- package/corpus/templates/plan/app/i18n/ko-KR.ts +10 -0
- package/corpus/templates/plan/app/i18n/pt-BR.ts +10 -0
- package/corpus/templates/plan/app/i18n/zh-CN.ts +10 -0
- package/corpus/templates/plan/app/i18n/zh-TW.ts +10 -0
- package/corpus/templates/plan/app/lib/plan-local-bridge.ts +80 -1
- package/corpus/templates/plan/app/pages/PlansPage.tsx +152 -4
- package/corpus/templates/plan/app/root.tsx +11 -0
- package/corpus/templates/plan/changelog/2026-07-10-restoring-a-plan-version-can-no-longer-leave-a-plan-half-res.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-11-local-plans-now-explain-and-recover-from-browser-permission-.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-11-plan-edits-now-save-atomically-and-can-no-longer-partially-a.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-11-plan-lists-now-show-a-clear-error-with-a-retry-action-when-t.md +6 -0
- package/corpus/templates/plan/package.json +1 -2
- package/corpus/templates/plan/server/plans.ts +9 -2
- package/corpus/templates/plan/shared/plan-content.ts +546 -260
- package/corpus/templates/slides/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/slides/actions/delete-slide-comment.ts +49 -0
- package/corpus/templates/slides/actions/list-decks.ts +28 -0
- package/corpus/templates/slides/actions/update-slide-comment.ts +93 -0
- package/corpus/templates/slides/actions/view-screen.ts +14 -6
- package/corpus/templates/slides/app/components/comments/SlideCommentsPanel.tsx +33 -10
- package/corpus/templates/slides/app/components/deck/MermaidRenderer.tsx +41 -26
- package/corpus/templates/slides/app/components/design-system/DesignSystemSetup.tsx +4 -8
- package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +3 -5
- package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +5 -9
- package/corpus/templates/slides/app/components/editor/ExportMenu.tsx +5 -12
- package/corpus/templates/slides/app/components/editor/GenerateSlidesDialog.tsx +2 -2
- package/corpus/templates/slides/app/components/editor/HistoryPanel.tsx +3 -6
- package/corpus/templates/slides/app/components/editor/ImageDropPromptPopover.tsx +3 -6
- package/corpus/templates/slides/app/components/editor/PromptDialog.tsx +2 -5
- package/corpus/templates/slides/app/components/presentation/PresentationView.tsx +4 -2
- package/corpus/templates/slides/app/components/visual-editor/CanvasCommentPins.tsx +4 -3
- package/corpus/templates/slides/app/context/DeckContext.tsx +56 -4
- package/corpus/templates/slides/app/i18n/ar-SA.ts +6 -0
- package/corpus/templates/slides/app/i18n/de-DE.ts +6 -0
- package/corpus/templates/slides/app/i18n/en-US.ts +6 -0
- package/corpus/templates/slides/app/i18n/es-ES.ts +6 -0
- package/corpus/templates/slides/app/i18n/fr-FR.ts +6 -0
- package/corpus/templates/slides/app/i18n/hi-IN.ts +6 -0
- package/corpus/templates/slides/app/i18n/ja-JP.ts +6 -0
- package/corpus/templates/slides/app/i18n/ko-KR.ts +6 -0
- package/corpus/templates/slides/app/i18n/pt-BR.ts +6 -0
- package/corpus/templates/slides/app/i18n/zh-CN.ts +5 -0
- package/corpus/templates/slides/app/i18n/zh-TW.ts +5 -0
- package/corpus/templates/slides/app/pages/DeckEditor.tsx +11 -30
- package/corpus/templates/slides/app/pages/DesignSystems.tsx +23 -2
- package/corpus/templates/slides/app/pages/Index.tsx +31 -4
- package/corpus/templates/slides/app/root.tsx +0 -5
- package/corpus/templates/slides/changelog/2026-07-10-deck-lists-load-much-faster-and-no-longer-re-download-slide-.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-11-comment-load-failures-now-show-a-retry-action-instead-of-say.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-11-comment-pins-now-clear-with-a-faster-smoother-confirmation.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-11-deck-and-design-system-load-failures-now-show-a-retry-action.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-11-editor-toggles-and-toolbar-menus-now-animate-smoothly.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-11-the-assistant-can-now-resolve-reopen-and-delete-slide-commen.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-11-viewing-slides-no-longer-loads-every-deck-s-full-contents-in.md +6 -0
- package/corpus/templates/slides/package.json +1 -2
- package/corpus/templates/slides/server/routes/api/comments/[id].delete.ts +29 -48
- package/corpus/templates/slides/server/routes/api/comments/[id].patch.ts +29 -65
- package/dist/a2a/auth-policy.d.ts +19 -0
- package/dist/a2a/auth-policy.d.ts.map +1 -1
- package/dist/a2a/auth-policy.js +32 -0
- package/dist/a2a/auth-policy.js.map +1 -1
- package/dist/action.d.ts +23 -0
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js +13 -0
- package/dist/action.js.map +1 -1
- package/dist/agent/durable-background.d.ts +8 -5
- package/dist/agent/durable-background.d.ts.map +1 -1
- package/dist/agent/durable-background.js +15 -8
- package/dist/agent/durable-background.js.map +1 -1
- package/dist/agent/engine/builder-engine.d.ts.map +1 -1
- package/dist/agent/engine/builder-engine.js +3 -0
- package/dist/agent/engine/builder-engine.js.map +1 -1
- package/dist/agent/engine/context-directives-transform.d.ts +25 -0
- package/dist/agent/engine/context-directives-transform.d.ts.map +1 -0
- package/dist/agent/engine/context-directives-transform.js +53 -0
- package/dist/agent/engine/context-directives-transform.js.map +1 -0
- package/dist/agent/engine/continuation-dispatch-retry.d.ts +40 -0
- package/dist/agent/engine/continuation-dispatch-retry.d.ts.map +1 -0
- package/dist/agent/engine/continuation-dispatch-retry.js +109 -0
- package/dist/agent/engine/continuation-dispatch-retry.js.map +1 -0
- package/dist/agent/engine/tool-call-journal-seed.d.ts +46 -0
- package/dist/agent/engine/tool-call-journal-seed.d.ts.map +1 -0
- package/dist/agent/engine/tool-call-journal-seed.js +60 -0
- package/dist/agent/engine/tool-call-journal-seed.js.map +1 -0
- package/dist/agent/production-agent.d.ts +7 -0
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +102 -222
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-store.d.ts.map +1 -1
- package/dist/agent/run-store.js +9 -4
- package/dist/agent/run-store.js.map +1 -1
- package/dist/audit/actions/export-audit-events.d.ts +27 -0
- package/dist/audit/actions/export-audit-events.d.ts.map +1 -0
- package/dist/audit/actions/export-audit-events.js +144 -0
- package/dist/audit/actions/export-audit-events.js.map +1 -0
- package/dist/audit/store.d.ts +1 -0
- package/dist/audit/store.d.ts.map +1 -1
- package/dist/audit/store.js +8 -3
- package/dist/audit/store.js.map +1 -1
- package/dist/audit/types.d.ts +3 -0
- package/dist/audit/types.d.ts.map +1 -1
- package/dist/audit/types.js.map +1 -1
- package/dist/cli/doctor.d.ts +83 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +281 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/index.js +50 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/info.js +3 -3
- package/dist/cli/info.js.map +1 -1
- package/dist/cli/package-lifecycle.d.ts +50 -0
- package/dist/cli/package-lifecycle.d.ts.map +1 -0
- package/dist/cli/package-lifecycle.js +560 -0
- package/dist/cli/package-lifecycle.js.map +1 -0
- package/dist/cli/plan-local.d.ts.map +1 -1
- package/dist/cli/plan-local.js +8 -2
- package/dist/cli/plan-local.js.map +1 -1
- package/dist/cli/skills-content/assets-skill.d.ts +2 -0
- package/dist/cli/skills-content/assets-skill.d.ts.map +1 -0
- package/dist/cli/skills-content/assets-skill.js +84 -0
- package/dist/cli/skills-content/assets-skill.js.map +1 -0
- package/dist/cli/skills-content/canvas.d.ts +4 -0
- package/dist/cli/skills-content/canvas.d.ts.map +1 -0
- package/dist/cli/skills-content/canvas.js +152 -0
- package/dist/cli/skills-content/canvas.js.map +1 -0
- package/dist/cli/skills-content/connection.d.ts +2 -0
- package/dist/cli/skills-content/connection.d.ts.map +1 -0
- package/dist/cli/skills-content/connection.js +53 -0
- package/dist/cli/skills-content/connection.js.map +1 -0
- package/dist/cli/skills-content/content-skill.d.ts +2 -0
- package/dist/cli/skills-content/content-skill.d.ts.map +1 -0
- package/dist/cli/skills-content/content-skill.js +110 -0
- package/dist/cli/skills-content/content-skill.js.map +1 -0
- package/dist/cli/skills-content/design-exploration-skill.d.ts +2 -0
- package/dist/cli/skills-content/design-exploration-skill.d.ts.map +1 -0
- package/dist/cli/skills-content/design-exploration-skill.js +119 -0
- package/dist/cli/skills-content/design-exploration-skill.js.map +1 -0
- package/dist/cli/skills-content/design-visual-edit-skill.d.ts +2 -0
- package/dist/cli/skills-content/design-visual-edit-skill.d.ts.map +1 -0
- package/dist/cli/skills-content/design-visual-edit-skill.js +229 -0
- package/dist/cli/skills-content/design-visual-edit-skill.js.map +1 -0
- package/dist/cli/skills-content/document-quality.d.ts +4 -0
- package/dist/cli/skills-content/document-quality.d.ts.map +1 -0
- package/dist/cli/skills-content/document-quality.js +195 -0
- package/dist/cli/skills-content/document-quality.js.map +1 -0
- package/dist/cli/skills-content/exemplar.d.ts +4 -0
- package/dist/cli/skills-content/exemplar.d.ts.map +1 -0
- package/dist/cli/skills-content/exemplar.js +68 -0
- package/dist/cli/skills-content/exemplar.js.map +1 -0
- package/dist/cli/skills-content/help.d.ts +2 -0
- package/dist/cli/skills-content/help.d.ts.map +1 -0
- package/dist/cli/skills-content/help.js +78 -0
- package/dist/cli/skills-content/help.js.map +1 -0
- package/dist/cli/skills-content/index.d.ts +23 -0
- package/dist/cli/skills-content/index.d.ts.map +1 -0
- package/dist/cli/skills-content/index.js +23 -0
- package/dist/cli/skills-content/index.js.map +1 -0
- package/dist/cli/skills-content/local-files.d.ts +2 -0
- package/dist/cli/skills-content/local-files.d.ts.map +1 -0
- package/dist/cli/skills-content/local-files.js +96 -0
- package/dist/cli/skills-content/local-files.js.map +1 -0
- package/dist/cli/skills-content/plan-setup-auth.d.ts +9 -0
- package/dist/cli/skills-content/plan-setup-auth.d.ts.map +1 -0
- package/dist/cli/skills-content/plan-setup-auth.js +81 -0
- package/dist/cli/skills-content/plan-setup-auth.js.map +1 -0
- package/dist/cli/skills-content/visual-plan-skill.d.ts +2 -0
- package/dist/cli/skills-content/visual-plan-skill.d.ts.map +1 -0
- package/dist/cli/skills-content/visual-plan-skill.js +471 -0
- package/dist/cli/skills-content/visual-plan-skill.js.map +1 -0
- package/dist/cli/skills-content/visual-recap-skill.d.ts +2 -0
- package/dist/cli/skills-content/visual-recap-skill.d.ts.map +1 -0
- package/dist/cli/skills-content/visual-recap-skill.js +548 -0
- package/dist/cli/skills-content/visual-recap-skill.js.map +1 -0
- package/dist/cli/skills-content/visualize-repo-skill.d.ts +2 -0
- package/dist/cli/skills-content/visualize-repo-skill.d.ts.map +1 -0
- package/dist/cli/skills-content/visualize-repo-skill.js +94 -0
- package/dist/cli/skills-content/visualize-repo-skill.js.map +1 -0
- package/dist/cli/skills-content/wireframe.d.ts +4 -0
- package/dist/cli/skills-content/wireframe.d.ts.map +1 -0
- package/dist/cli/skills-content/wireframe.js +347 -0
- package/dist/cli/skills-content/wireframe.js.map +1 -0
- package/dist/cli/skills.d.ts +2 -10
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +2 -2710
- package/dist/cli/skills.js.map +1 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +4 -2
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/CommandMenu.d.ts.map +1 -1
- package/dist/client/CommandMenu.js +15 -3
- package/dist/client/CommandMenu.js.map +1 -1
- package/dist/client/FeedbackButton.js +2 -2
- package/dist/client/FeedbackButton.js.map +1 -1
- package/dist/client/agent-chat-adapter.js +7 -3
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/app-providers.d.ts +13 -5
- package/dist/client/app-providers.d.ts.map +1 -1
- package/dist/client/app-providers.js +9 -6
- package/dist/client/app-providers.js.map +1 -1
- package/dist/client/chat/tool-call-display.d.ts +4 -0
- package/dist/client/chat/tool-call-display.d.ts.map +1 -1
- package/dist/client/chat/tool-call-display.js +3 -3
- package/dist/client/chat/tool-call-display.js.map +1 -1
- package/dist/client/composer/PastedTextChip.js +1 -1
- package/dist/client/composer/PastedTextChip.js.map +1 -1
- package/dist/client/composer/RealtimeVoiceMode.d.ts +3 -1
- package/dist/client/composer/RealtimeVoiceMode.d.ts.map +1 -1
- package/dist/client/composer/RealtimeVoiceMode.js +35 -14
- package/dist/client/composer/RealtimeVoiceMode.js.map +1 -1
- package/dist/client/composer/TiptapComposer.js +1 -1
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/composer/VoiceButton.d.ts +2 -0
- package/dist/client/composer/VoiceButton.d.ts.map +1 -1
- package/dist/client/composer/VoiceButton.js +9 -3
- package/dist/client/composer/VoiceButton.js.map +1 -1
- package/dist/client/composer/useRealtimeVoiceMode.d.ts +5 -0
- package/dist/client/composer/useRealtimeVoiceMode.d.ts.map +1 -1
- package/dist/client/composer/useRealtimeVoiceMode.js +91 -12
- package/dist/client/composer/useRealtimeVoiceMode.js.map +1 -1
- package/dist/client/context-xray/ContextXRayPanel.d.ts.map +1 -1
- package/dist/client/context-xray/ContextXRayPanel.js +4 -1
- package/dist/client/context-xray/ContextXRayPanel.js.map +1 -1
- package/dist/client/extensions/ExtensionEditor.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionEditor.js +15 -5
- package/dist/client/extensions/ExtensionEditor.js.map +1 -1
- package/dist/client/extensions/ExtensionQueryErrorState.d.ts +8 -0
- package/dist/client/extensions/ExtensionQueryErrorState.d.ts.map +1 -0
- package/dist/client/extensions/ExtensionQueryErrorState.js +11 -0
- package/dist/client/extensions/ExtensionQueryErrorState.js.map +1 -0
- package/dist/client/extensions/ExtensionSlot.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionSlot.js +17 -7
- package/dist/client/extensions/ExtensionSlot.js.map +1 -1
- package/dist/client/extensions/ExtensionViewer.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionViewer.js +17 -7
- package/dist/client/extensions/ExtensionViewer.js.map +1 -1
- package/dist/client/extensions/ExtensionsListPage.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionsListPage.js +5 -3
- package/dist/client/extensions/ExtensionsListPage.js.map +1 -1
- package/dist/client/extensions/ExtensionsSidebarSection.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionsSidebarSection.js +21 -8
- package/dist/client/extensions/ExtensionsSidebarSection.js.map +1 -1
- package/dist/client/index.d.ts +0 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +0 -5
- package/dist/client/index.js.map +1 -1
- package/dist/client/progress/RunsTray.d.ts.map +1 -1
- package/dist/client/progress/RunsTray.js +7 -3
- package/dist/client/progress/RunsTray.js.map +1 -1
- package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
- package/dist/client/settings/SettingsTabsPage.js +4 -0
- package/dist/client/settings/SettingsTabsPage.js.map +1 -1
- package/dist/client/settings/useBuilderStatus.d.ts +2 -0
- package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
- package/dist/client/settings/useBuilderStatus.js +4 -0
- package/dist/client/settings/useBuilderStatus.js.map +1 -1
- package/dist/client/tool-cells/EditCell.d.ts.map +1 -1
- package/dist/client/tool-cells/EditCell.js +2 -1
- package/dist/client/tool-cells/EditCell.js.map +1 -1
- package/dist/client/tool-cells/FilesChangedSummary.d.ts.map +1 -1
- package/dist/client/tool-cells/FilesChangedSummary.js +2 -1
- package/dist/client/tool-cells/FilesChangedSummary.js.map +1 -1
- package/dist/client/tool-cells/WriteCell.d.ts.map +1 -1
- package/dist/client/tool-cells/WriteCell.js +2 -1
- package/dist/client/tool-cells/WriteCell.js.map +1 -1
- package/dist/client/visual-style-controls.js +1 -1
- package/dist/client/visual-style-controls.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +36 -14
- package/dist/deploy/build.js.map +1 -1
- package/dist/guards/db-tool-scoping.d.ts +38 -0
- package/dist/guards/db-tool-scoping.d.ts.map +1 -0
- package/dist/guards/db-tool-scoping.js +114 -0
- package/dist/guards/db-tool-scoping.js.map +1 -0
- package/dist/guards/index.d.ts +23 -0
- package/dist/guards/index.d.ts.map +1 -0
- package/dist/guards/index.js +19 -0
- package/dist/guards/index.js.map +1 -0
- package/dist/guards/no-drizzle-push.d.ts +14 -0
- package/dist/guards/no-drizzle-push.d.ts.map +1 -0
- package/dist/guards/no-drizzle-push.js +97 -0
- package/dist/guards/no-drizzle-push.js.map +1 -0
- package/dist/guards/no-env-credentials.d.ts +36 -0
- package/dist/guards/no-env-credentials.d.ts.map +1 -0
- package/dist/guards/no-env-credentials.js +204 -0
- package/dist/guards/no-env-credentials.js.map +1 -0
- package/dist/guards/no-env-mutation.d.ts +23 -0
- package/dist/guards/no-env-mutation.d.ts.map +1 -0
- package/dist/guards/no-env-mutation.js +90 -0
- package/dist/guards/no-env-mutation.js.map +1 -0
- package/dist/guards/no-localhost-fallback.d.ts +30 -0
- package/dist/guards/no-localhost-fallback.d.ts.map +1 -0
- package/dist/guards/no-localhost-fallback.js +105 -0
- package/dist/guards/no-localhost-fallback.js.map +1 -0
- package/dist/guards/no-unscoped-credentials.d.ts +28 -0
- package/dist/guards/no-unscoped-credentials.d.ts.map +1 -0
- package/dist/guards/no-unscoped-credentials.js +199 -0
- package/dist/guards/no-unscoped-credentials.js.map +1 -0
- package/dist/guards/no-unscoped-queries.d.ts +32 -0
- package/dist/guards/no-unscoped-queries.d.ts.map +1 -0
- package/dist/guards/no-unscoped-queries.js +720 -0
- package/dist/guards/no-unscoped-queries.js.map +1 -0
- package/dist/guards/scan-utils.d.ts +28 -0
- package/dist/guards/scan-utils.d.ts.map +1 -0
- package/dist/guards/scan-utils.js +92 -0
- package/dist/guards/scan-utils.js.map +1 -0
- package/dist/guards/types.d.ts +28 -0
- package/dist/guards/types.d.ts.map +1 -0
- package/dist/guards/types.js +11 -0
- package/dist/guards/types.js.map +1 -0
- package/dist/integrations/google-docs-poller.d.ts +7 -0
- package/dist/integrations/google-docs-poller.d.ts.map +1 -1
- package/dist/integrations/google-docs-poller.js +13 -3
- package/dist/integrations/google-docs-poller.js.map +1 -1
- package/dist/integrations/plugin.d.ts.map +1 -1
- package/dist/integrations/plugin.js +10 -0
- package/dist/integrations/plugin.js.map +1 -1
- package/dist/integrations/webhook-handler.d.ts +11 -0
- package/dist/integrations/webhook-handler.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.js +16 -4
- package/dist/integrations/webhook-handler.js.map +1 -1
- package/dist/jobs/scheduler.d.ts +12 -0
- package/dist/jobs/scheduler.d.ts.map +1 -1
- package/dist/jobs/scheduler.js +13 -3
- package/dist/jobs/scheduler.js.map +1 -1
- package/dist/localization/default-messages.d.ts +7 -0
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +8 -1
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/mcp/oauth-token.d.ts +1 -1
- package/dist/mcp/oauth-token.d.ts.map +1 -1
- package/dist/mcp/oauth-token.js +6 -1
- package/dist/mcp/oauth-token.js.map +1 -1
- package/dist/notifications/routes.d.ts +2 -2
- package/dist/observability/routes.d.ts.map +1 -1
- package/dist/observability/routes.js +32 -0
- package/dist/observability/routes.js.map +1 -1
- package/dist/observability/sentiment.d.ts +42 -0
- package/dist/observability/sentiment.d.ts.map +1 -0
- package/dist/observability/sentiment.js +196 -0
- package/dist/observability/sentiment.js.map +1 -0
- package/dist/observability/store.d.ts +5 -0
- package/dist/observability/store.d.ts.map +1 -1
- package/dist/observability/store.js +17 -0
- package/dist/observability/store.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 +42 -57
- package/dist/observability/traces.js.map +1 -1
- package/dist/observability/tracking-identity.d.ts +3 -0
- package/dist/observability/tracking-identity.d.ts.map +1 -0
- package/dist/observability/tracking-identity.js +51 -0
- package/dist/observability/tracking-identity.js.map +1 -0
- package/dist/observability/types.d.ts +10 -0
- package/dist/observability/types.d.ts.map +1 -1
- package/dist/observability/types.js +3 -0
- package/dist/observability/types.js.map +1 -1
- package/dist/org/accept-pending.d.ts.map +1 -1
- package/dist/org/accept-pending.js +9 -1
- package/dist/org/accept-pending.js.map +1 -1
- package/dist/org/migrations.d.ts +7 -2
- package/dist/org/migrations.d.ts.map +1 -1
- package/dist/org/migrations.js +41 -0
- package/dist/org/migrations.js.map +1 -1
- package/dist/package-lifecycle/index.d.ts +2 -0
- package/dist/package-lifecycle/index.d.ts.map +1 -0
- package/dist/package-lifecycle/index.js +2 -0
- package/dist/package-lifecycle/index.js.map +1 -0
- package/dist/package-lifecycle/manifest.d.ts +24 -0
- package/dist/package-lifecycle/manifest.d.ts.map +1 -0
- package/dist/package-lifecycle/manifest.js +81 -0
- package/dist/package-lifecycle/manifest.js.map +1 -0
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/provider-api/custom-registry.d.ts +32 -1
- package/dist/provider-api/custom-registry.d.ts.map +1 -1
- package/dist/provider-api/custom-registry.js +41 -1
- package/dist/provider-api/custom-registry.js.map +1 -1
- package/dist/provider-api/index.d.ts +1 -1
- package/dist/provider-api/index.d.ts.map +1 -1
- package/dist/provider-api/index.js +1 -1
- package/dist/provider-api/index.js.map +1 -1
- package/dist/resources/handlers.d.ts +1 -1
- package/dist/secrets/storage.d.ts +6 -0
- package/dist/secrets/storage.d.ts.map +1 -1
- package/dist/secrets/storage.js +105 -29
- package/dist/secrets/storage.js.map +1 -1
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +4 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/agent-chat/action-filters-a2a.d.ts +50 -0
- package/dist/server/agent-chat/action-filters-a2a.d.ts.map +1 -0
- package/dist/server/agent-chat/action-filters-a2a.js +127 -0
- package/dist/server/agent-chat/action-filters-a2a.js.map +1 -0
- package/dist/server/agent-chat/browser-team-tools.d.ts +21 -0
- package/dist/server/agent-chat/browser-team-tools.d.ts.map +1 -0
- package/dist/server/agent-chat/browser-team-tools.js +417 -0
- package/dist/server/agent-chat/browser-team-tools.js.map +1 -0
- package/dist/server/agent-chat/context-tools.d.ts +33 -0
- package/dist/server/agent-chat/context-tools.d.ts.map +1 -0
- package/dist/server/agent-chat/context-tools.js +520 -0
- package/dist/server/agent-chat/context-tools.js.map +1 -0
- package/dist/server/agent-chat/framework-prompts.d.ts +65 -0
- package/dist/server/agent-chat/framework-prompts.d.ts.map +1 -0
- package/dist/server/agent-chat/framework-prompts.js +403 -0
- package/dist/server/agent-chat/framework-prompts.js.map +1 -0
- package/dist/server/agent-chat/lazy-fs.d.ts +2 -0
- package/dist/server/agent-chat/lazy-fs.d.ts.map +1 -0
- package/dist/server/agent-chat/lazy-fs.js +11 -0
- package/dist/server/agent-chat/lazy-fs.js.map +1 -0
- package/dist/server/agent-chat/mcp-glue.d.ts +9 -0
- package/dist/server/agent-chat/mcp-glue.d.ts.map +1 -0
- package/dist/server/agent-chat/mcp-glue.js +63 -0
- package/dist/server/agent-chat/mcp-glue.js.map +1 -0
- package/dist/server/agent-chat/plugin-options.d.ts +322 -0
- package/dist/server/agent-chat/plugin-options.d.ts.map +1 -0
- package/dist/server/agent-chat/plugin-options.js +2 -0
- package/dist/server/agent-chat/plugin-options.js.map +1 -0
- package/dist/server/agent-chat/process-run-failure.d.ts +12 -0
- package/dist/server/agent-chat/process-run-failure.d.ts.map +1 -0
- package/dist/server/agent-chat/process-run-failure.js +24 -0
- package/dist/server/agent-chat/process-run-failure.js.map +1 -0
- package/dist/server/agent-chat/prompt-resources.d.ts +28 -0
- package/dist/server/agent-chat/prompt-resources.d.ts.map +1 -0
- package/dist/server/agent-chat/prompt-resources.js +514 -0
- package/dist/server/agent-chat/prompt-resources.js.map +1 -0
- package/dist/server/agent-chat/recurring-jobs-runtime.d.ts +5 -0
- package/dist/server/agent-chat/recurring-jobs-runtime.d.ts.map +1 -0
- package/dist/server/agent-chat/recurring-jobs-runtime.js +53 -0
- package/dist/server/agent-chat/recurring-jobs-runtime.js.map +1 -0
- package/dist/server/agent-chat/request-surface.d.ts +8 -0
- package/dist/server/agent-chat/request-surface.d.ts.map +1 -0
- package/dist/server/agent-chat/request-surface.js +56 -0
- package/dist/server/agent-chat/request-surface.js.map +1 -0
- package/dist/server/agent-chat/run-code-tools.d.ts +17 -0
- package/dist/server/agent-chat/run-code-tools.d.ts.map +1 -0
- package/dist/server/agent-chat/run-code-tools.js +55 -0
- package/dist/server/agent-chat/run-code-tools.js.map +1 -0
- package/dist/server/agent-chat/script-entries.d.ts +47 -0
- package/dist/server/agent-chat/script-entries.d.ts.map +1 -0
- package/dist/server/agent-chat/script-entries.js +633 -0
- package/dist/server/agent-chat/script-entries.js.map +1 -0
- package/dist/server/agent-chat/shared-thread.d.ts +33 -0
- package/dist/server/agent-chat/shared-thread.d.ts.map +1 -0
- package/dist/server/agent-chat/shared-thread.js +242 -0
- package/dist/server/agent-chat/shared-thread.js.map +1 -0
- package/dist/server/agent-chat/skill-frontmatter.d.ts +7 -0
- package/dist/server/agent-chat/skill-frontmatter.d.ts.map +1 -0
- package/dist/server/agent-chat/skill-frontmatter.js +26 -0
- package/dist/server/agent-chat/skill-frontmatter.js.map +1 -0
- package/dist/server/agent-chat-plugin.d.ts +45 -486
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +217 -3015
- 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/agent-teams.d.ts +10 -0
- package/dist/server/agent-teams.d.ts.map +1 -1
- package/dist/server/agent-teams.js +13 -3
- package/dist/server/agent-teams.js.map +1 -1
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +50 -52
- package/dist/server/auth.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +23 -12
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/credential-provider.d.ts.map +1 -1
- package/dist/server/credential-provider.js +22 -21
- package/dist/server/credential-provider.js.map +1 -1
- package/dist/server/csrf.d.ts.map +1 -1
- package/dist/server/csrf.js +18 -5
- package/dist/server/csrf.js.map +1 -1
- package/dist/server/edge.d.ts +1 -0
- package/dist/server/edge.d.ts.map +1 -1
- package/dist/server/edge.js +1 -0
- package/dist/server/edge.js.map +1 -1
- package/dist/server/framework-request-handler.d.ts.map +1 -1
- package/dist/server/framework-request-handler.js +34 -0
- package/dist/server/framework-request-handler.js.map +1 -1
- package/dist/server/google-realtime-session.d.ts.map +1 -1
- package/dist/server/google-realtime-session.js +2 -34
- package/dist/server/google-realtime-session.js.map +1 -1
- package/dist/server/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +1 -16
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/server/poll.d.ts.map +1 -1
- package/dist/server/poll.js +24 -2
- package/dist/server/poll.js.map +1 -1
- package/dist/server/realtime-voice.d.ts +3 -0
- package/dist/server/realtime-voice.d.ts.map +1 -1
- package/dist/server/realtime-voice.js +38 -5
- package/dist/server/realtime-voice.js.map +1 -1
- package/dist/server/request-origin.d.ts +10 -0
- package/dist/server/request-origin.d.ts.map +1 -0
- package/dist/server/request-origin.js +63 -0
- package/dist/server/request-origin.js.map +1 -0
- package/dist/server/ssr-handler.d.ts.map +1 -1
- package/dist/server/ssr-handler.js +47 -2
- package/dist/server/ssr-handler.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts.map +1 -1
- package/dist/server/transcribe-voice.js +2 -48
- package/dist/server/transcribe-voice.js.map +1 -1
- package/dist/sharing/access.d.ts +63 -3
- package/dist/sharing/access.d.ts.map +1 -1
- package/dist/sharing/access.js +53 -15
- package/dist/sharing/access.js.map +1 -1
- package/dist/sharing/registry.d.ts +7 -0
- package/dist/sharing/registry.d.ts.map +1 -1
- package/dist/sharing/registry.js.map +1 -1
- package/dist/styles/agent-native.css +15 -14
- package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +1 -1
- package/dist/templates/default/app/i18n/ar-SA.ts +6 -0
- package/dist/templates/default/app/i18n/de-DE.ts +6 -0
- package/dist/templates/default/app/i18n/en-US.ts +6 -0
- package/dist/templates/default/app/i18n/es-ES.ts +6 -0
- package/dist/templates/default/app/i18n/fr-FR.ts +6 -0
- package/dist/templates/default/app/i18n/hi-IN.ts +6 -0
- package/dist/templates/default/app/i18n/ja-JP.ts +6 -0
- package/dist/templates/default/app/i18n/ko-KR.ts +6 -0
- package/dist/templates/default/app/i18n/pt-BR.ts +6 -0
- package/dist/templates/default/app/i18n/zh-CN.ts +6 -0
- package/dist/templates/default/app/i18n/zh-TW.ts +6 -0
- package/dist/templates/default/package.json +2 -2
- package/dist/templates/headless/package.json +0 -1
- package/dist/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
- package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +27 -29
- package/dist/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
- package/dist/templates/workspace-core/.agents/skills/external-agents/SKILL.md +2 -1
- package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +1 -1
- package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +32 -0
- package/dist/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +25 -0
- package/dist/templates/workspace-core/package.json +0 -1
- package/dist/templates/workspace-core/src/server/index.ts +4 -2
- package/dist/templates/workspace-root/package.json +0 -1
- package/dist/testing.d.ts +16 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +16 -0
- package/dist/testing.js.map +1 -0
- package/dist/triggers/actions.d.ts.map +1 -1
- package/dist/triggers/actions.js +8 -3
- package/dist/triggers/actions.js.map +1 -1
- package/dist/triggers/dispatcher.d.ts +7 -0
- package/dist/triggers/dispatcher.d.ts.map +1 -1
- package/dist/triggers/dispatcher.js +13 -3
- package/dist/triggers/dispatcher.js.map +1 -1
- package/dist/triggers/types.d.ts +7 -1
- package/dist/triggers/types.d.ts.map +1 -1
- package/dist/triggers/types.js.map +1 -1
- package/dist/vite/client.d.ts +16 -1
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +105 -2
- package/dist/vite/client.js.map +1 -1
- package/docs/content/audit-log.mdx +2 -1
- package/docs/content/authentication.mdx +3 -3
- package/docs/content/automations.mdx +7 -7
- package/docs/content/creating-templates.mdx +1 -1
- package/docs/content/doctor.mdx +170 -0
- package/docs/content/external-agents.mdx +8 -7
- package/docs/content/internationalization.mdx +2 -1
- package/docs/content/locales/ar-SA/audit-log.mdx +2 -1
- package/docs/content/locales/ar-SA/authentication.mdx +2 -2
- package/docs/content/locales/ar-SA/automations.mdx +7 -7
- package/docs/content/locales/ar-SA/external-agents.mdx +8 -7
- package/docs/content/locales/ar-SA/getting-started.mdx +7 -1
- package/docs/content/locales/ar-SA/internationalization.mdx +1 -1
- package/docs/content/locales/ar-SA/mcp-protocol.mdx +1 -1
- package/docs/content/locales/ar-SA/package-lifecycle.mdx +19 -0
- package/docs/content/locales/ar-SA/sandbox-adapters.mdx +18 -7
- package/docs/content/locales/ar-SA/security.mdx +10 -0
- package/docs/content/locales/de-DE/audit-log.mdx +2 -1
- package/docs/content/locales/de-DE/authentication.mdx +1 -1
- package/docs/content/locales/de-DE/automations.mdx +7 -7
- package/docs/content/locales/de-DE/external-agents.mdx +8 -7
- package/docs/content/locales/de-DE/getting-started.mdx +7 -1
- package/docs/content/locales/de-DE/internationalization.mdx +1 -1
- package/docs/content/locales/de-DE/mcp-protocol.mdx +1 -1
- package/docs/content/locales/de-DE/package-lifecycle.mdx +22 -0
- package/docs/content/locales/de-DE/sandbox-adapters.mdx +18 -7
- package/docs/content/locales/de-DE/security.mdx +10 -0
- package/docs/content/locales/es-ES/audit-log.mdx +2 -1
- package/docs/content/locales/es-ES/authentication.mdx +2 -2
- package/docs/content/locales/es-ES/automations.mdx +7 -7
- package/docs/content/locales/es-ES/external-agents.mdx +8 -7
- package/docs/content/locales/es-ES/getting-started.mdx +7 -1
- package/docs/content/locales/es-ES/internationalization.mdx +1 -1
- package/docs/content/locales/es-ES/mcp-protocol.mdx +1 -1
- package/docs/content/locales/es-ES/package-lifecycle.mdx +22 -0
- package/docs/content/locales/es-ES/sandbox-adapters.mdx +18 -7
- package/docs/content/locales/es-ES/security.mdx +10 -0
- package/docs/content/locales/fr-FR/audit-log.mdx +2 -1
- package/docs/content/locales/fr-FR/authentication.mdx +1 -1
- package/docs/content/locales/fr-FR/automations.mdx +7 -7
- package/docs/content/locales/fr-FR/external-agents.mdx +8 -7
- package/docs/content/locales/fr-FR/getting-started.mdx +7 -1
- package/docs/content/locales/fr-FR/internationalization.mdx +1 -1
- package/docs/content/locales/fr-FR/mcp-protocol.mdx +1 -1
- package/docs/content/locales/fr-FR/package-lifecycle.mdx +21 -0
- package/docs/content/locales/fr-FR/sandbox-adapters.mdx +19 -8
- package/docs/content/locales/fr-FR/security.mdx +10 -0
- package/docs/content/locales/hi-IN/audit-log.mdx +2 -1
- package/docs/content/locales/hi-IN/authentication.mdx +2 -2
- package/docs/content/locales/hi-IN/automations.mdx +7 -7
- package/docs/content/locales/hi-IN/external-agents.mdx +8 -7
- package/docs/content/locales/hi-IN/getting-started.mdx +7 -1
- package/docs/content/locales/hi-IN/internationalization.mdx +1 -1
- package/docs/content/locales/hi-IN/mcp-protocol.mdx +1 -1
- package/docs/content/locales/hi-IN/package-lifecycle.mdx +20 -0
- package/docs/content/locales/hi-IN/sandbox-adapters.mdx +18 -7
- package/docs/content/locales/hi-IN/security.mdx +10 -0
- package/docs/content/locales/ja-JP/audit-log.mdx +2 -1
- package/docs/content/locales/ja-JP/authentication.mdx +2 -2
- package/docs/content/locales/ja-JP/automations.mdx +7 -7
- package/docs/content/locales/ja-JP/external-agents.mdx +8 -7
- package/docs/content/locales/ja-JP/getting-started.mdx +7 -1
- package/docs/content/locales/ja-JP/internationalization.mdx +1 -1
- package/docs/content/locales/ja-JP/mcp-protocol.mdx +1 -1
- package/docs/content/locales/ja-JP/package-lifecycle.mdx +21 -0
- package/docs/content/locales/ja-JP/sandbox-adapters.mdx +17 -6
- package/docs/content/locales/ja-JP/security.mdx +10 -0
- package/docs/content/locales/ko-KR/audit-log.mdx +2 -1
- package/docs/content/locales/ko-KR/authentication.mdx +2 -2
- package/docs/content/locales/ko-KR/automations.mdx +7 -7
- package/docs/content/locales/ko-KR/external-agents.mdx +8 -7
- package/docs/content/locales/ko-KR/getting-started.mdx +7 -1
- package/docs/content/locales/ko-KR/internationalization.mdx +1 -1
- package/docs/content/locales/ko-KR/mcp-protocol.mdx +1 -1
- package/docs/content/locales/ko-KR/package-lifecycle.mdx +20 -0
- package/docs/content/locales/ko-KR/sandbox-adapters.mdx +17 -6
- package/docs/content/locales/ko-KR/security.mdx +10 -0
- package/docs/content/locales/pt-BR/audit-log.mdx +2 -1
- package/docs/content/locales/pt-BR/authentication.mdx +2 -2
- package/docs/content/locales/pt-BR/automations.mdx +7 -7
- package/docs/content/locales/pt-BR/external-agents.mdx +8 -7
- package/docs/content/locales/pt-BR/getting-started.mdx +7 -1
- package/docs/content/locales/pt-BR/internationalization.mdx +1 -1
- package/docs/content/locales/pt-BR/mcp-protocol.mdx +1 -1
- package/docs/content/locales/pt-BR/package-lifecycle.mdx +21 -0
- package/docs/content/locales/pt-BR/sandbox-adapters.mdx +18 -7
- package/docs/content/locales/pt-BR/security.mdx +10 -0
- package/docs/content/locales/zh-CN/audit-log.mdx +2 -1
- package/docs/content/locales/zh-CN/authentication.mdx +2 -2
- package/docs/content/locales/zh-CN/automations.mdx +7 -7
- package/docs/content/locales/zh-CN/external-agents.mdx +8 -7
- package/docs/content/locales/zh-CN/getting-started.mdx +6 -4
- package/docs/content/locales/zh-CN/internationalization.mdx +1 -1
- package/docs/content/locales/zh-CN/mcp-protocol.mdx +1 -1
- package/docs/content/locales/zh-CN/package-lifecycle.mdx +19 -0
- package/docs/content/locales/zh-CN/sandbox-adapters.mdx +17 -6
- package/docs/content/locales/zh-CN/security.mdx +10 -0
- package/docs/content/locales/zh-TW/audit-log.mdx +2 -1
- package/docs/content/locales/zh-TW/authentication.mdx +2 -2
- package/docs/content/locales/zh-TW/automations.mdx +7 -7
- package/docs/content/locales/zh-TW/external-agents.mdx +8 -7
- package/docs/content/locales/zh-TW/getting-started.mdx +6 -4
- package/docs/content/locales/zh-TW/internationalization.mdx +1 -1
- package/docs/content/locales/zh-TW/mcp-protocol.mdx +1 -1
- package/docs/content/locales/zh-TW/package-lifecycle.mdx +19 -0
- package/docs/content/locales/zh-TW/sandbox-adapters.mdx +18 -7
- package/docs/content/locales/zh-TW/security.mdx +10 -0
- package/docs/content/mcp-protocol.mdx +1 -1
- package/docs/content/package-lifecycle.mdx +51 -0
- package/docs/content/sandbox-adapters.mdx +16 -5
- package/docs/content/security.mdx +2 -0
- package/package.json +14 -3
- package/src/templates/default/.agents/skills/frontend-design/SKILL.md +1 -1
- package/src/templates/default/app/i18n/ar-SA.ts +6 -0
- package/src/templates/default/app/i18n/de-DE.ts +6 -0
- package/src/templates/default/app/i18n/en-US.ts +6 -0
- package/src/templates/default/app/i18n/es-ES.ts +6 -0
- package/src/templates/default/app/i18n/fr-FR.ts +6 -0
- package/src/templates/default/app/i18n/hi-IN.ts +6 -0
- package/src/templates/default/app/i18n/ja-JP.ts +6 -0
- package/src/templates/default/app/i18n/ko-KR.ts +6 -0
- package/src/templates/default/app/i18n/pt-BR.ts +6 -0
- package/src/templates/default/app/i18n/zh-CN.ts +6 -0
- package/src/templates/default/app/i18n/zh-TW.ts +6 -0
- package/src/templates/default/package.json +2 -2
- package/src/templates/headless/package.json +0 -1
- package/src/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
- package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +27 -29
- package/src/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
- package/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +2 -1
- package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +1 -1
- package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +32 -0
- package/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +25 -0
- package/src/templates/workspace-core/package.json +0 -1
- package/src/templates/workspace-core/src/server/index.ts +4 -2
- package/src/templates/workspace-root/package.json +0 -1
- package/corpus/core/src/client/ProductionAgentPanel.tsx +0 -9
- package/corpus/core/src/client/auth-redirect-url.ts +0 -23
- package/corpus/core/src/client/useProductionAgent.ts +0 -253
- package/corpus/core/src/shared/auth-redirect-url.ts +0 -1
- package/corpus/templates/analytics/app/pages/Index.tsx +0 -16
- package/corpus/templates/analytics/seeds/dashboards/agent-observability-llm.json +0 -173
- package/corpus/templates/slides/app/components/ui/toast.tsx +0 -1
- package/corpus/templates/slides/app/components/ui/toaster.tsx +0 -1
- package/corpus/templates/slides/app/hooks/use-toast.ts +0 -1
- package/dist/client/ProductionAgentPanel.d.ts +0 -6
- package/dist/client/ProductionAgentPanel.d.ts.map +0 -1
- package/dist/client/ProductionAgentPanel.js +0 -6
- package/dist/client/ProductionAgentPanel.js.map +0 -1
- package/dist/client/auth-redirect-url.d.ts +0 -2
- package/dist/client/auth-redirect-url.d.ts.map +0 -1
- package/dist/client/auth-redirect-url.js +0 -19
- package/dist/client/auth-redirect-url.js.map +0 -1
- package/dist/client/useProductionAgent.d.ts +0 -24
- package/dist/client/useProductionAgent.d.ts.map +0 -1
- package/dist/client/useProductionAgent.js +0 -179
- package/dist/client/useProductionAgent.js.map +0 -1
- package/dist/shared/auth-redirect-url.d.ts +0 -2
- package/dist/shared/auth-redirect-url.d.ts.map +0 -1
- package/dist/shared/auth-redirect-url.js +0 -2
- package/dist/shared/auth-redirect-url.js.map +0 -1
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
export const DESIGN_VISUAL_EDIT_SKILL_MD = `---
|
|
2
|
+
name: visual-edit
|
|
3
|
+
description: >-
|
|
4
|
+
Open a running local app in Design overview mode as URL-backed iframe screens
|
|
5
|
+
for visual editing, flow review, duplication, and route-state exploration.
|
|
6
|
+
Use when the user asks to inspect, compare, or edit a real local app visually
|
|
7
|
+
in Design.
|
|
8
|
+
metadata:
|
|
9
|
+
visibility: exported
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Visual Edit
|
|
13
|
+
|
|
14
|
+
Use \`/visual-edit\` when the user wants to inspect or edit a real local app
|
|
15
|
+
visually instead of generating standalone Alpine HTML. The source of truth is
|
|
16
|
+
the running localhost app plus its route URLs. Design shows those routes as
|
|
17
|
+
iframe-backed screens on the infinite canvas.
|
|
18
|
+
|
|
19
|
+
## Core Model
|
|
20
|
+
|
|
21
|
+
- Each screen is a URL-backed iframe, not copied HTML.
|
|
22
|
+
- Each screen keeps URL metadata: \`connectionId\`, \`routeId\`, \`path\`,
|
|
23
|
+
\`url\`, \`bridgeUrl\`, title, and viewport size.
|
|
24
|
+
- Start in Design's screen overview mode. In overview, screens are static
|
|
25
|
+
design frames; full-screen focus is for scrolling and app interaction.
|
|
26
|
+
- Alt-drag duplicates a screen. For localhost screens, duplication copies the
|
|
27
|
+
iframe frame and URL metadata; change the copy's path/query for a new state.
|
|
28
|
+
- Flow visualization is multiple URL states: \`/checkout?step=shipping\`,
|
|
29
|
+
\`/checkout?step=payment\`, \`/checkout?step=done\`, etc.
|
|
30
|
+
- When the user gives a named flow or numbered screen list, preserve that order
|
|
31
|
+
and create one screen per URL/path. Shorthand like
|
|
32
|
+
\`localhost:1234/onboarding/1\` means
|
|
33
|
+
\`http://localhost:1234/onboarding/1\`.
|
|
34
|
+
|
|
35
|
+
## Review Quality
|
|
36
|
+
|
|
37
|
+
- Treat the running app as the truth. Preserve its component language, tokens,
|
|
38
|
+
route state, and real content unless the user explicitly asks for a new visual
|
|
39
|
+
direction.
|
|
40
|
+
- Use multiple URL states to reveal meaningful UX moments: empty/loading/error
|
|
41
|
+
states, focused panels, modals, responsive breakpoints, and completed flow
|
|
42
|
+
steps when those matter to the review.
|
|
43
|
+
- For visual edits, compare before/after at the relevant viewport sizes and
|
|
44
|
+
check key hover/focus/scroll states when the app exposes them.
|
|
45
|
+
|
|
46
|
+
## Account And Sharing Model
|
|
47
|
+
|
|
48
|
+
- The \`/visual-edit\` entry route can open before the viewer signs in. Public
|
|
49
|
+
\`/design/:id\` editor links can also render read-only public designs without a
|
|
50
|
+
session.
|
|
51
|
+
- Prefer links returned by Design actions or \`/_agent-native/open\` deep links.
|
|
52
|
+
Do not surface URLs with \`_session=\` tokens. Query sessions are only a
|
|
53
|
+
fallback after normal cookie resolution, so an existing browser session can
|
|
54
|
+
still open the design as a different user and show "Design not found".
|
|
55
|
+
- Do not attempt anonymous write actions. Bridge registration, design creation,
|
|
56
|
+
screen placement, generation, saving, and sharing are account-backed. If a
|
|
57
|
+
signed-out visitor wants to save or share, send them through the framework
|
|
58
|
+
sign-in return flow, then save or copy the design into that account before
|
|
59
|
+
opening the share dialog.
|
|
60
|
+
|
|
61
|
+
## Required Local Bridge
|
|
62
|
+
|
|
63
|
+
The live-edit bridge is unlocked by a shared secret (the "bridge token") that
|
|
64
|
+
must match on two sides: the local bridge process, and the user's connection row
|
|
65
|
+
in Design (which the browser reads to authorize \`/live-edit-bridge\`,
|
|
66
|
+
\`/read-file\`, \`/write-file\`). Get them to match by letting the
|
|
67
|
+
**authenticated** \`open-visual-edit\` action mint the token, then starting the
|
|
68
|
+
bridge with it. This is the only ordering that works for the remote-MCP flow —
|
|
69
|
+
the bridge cannot push its own token to the server without a CLI auth token, so
|
|
70
|
+
the server mints instead and the bridge adopts.
|
|
71
|
+
|
|
72
|
+
From the target app repo, make sure its dev server is running, then:
|
|
73
|
+
|
|
74
|
+
**1. Discover routes without starting a durable bridge** (one-shot, exits):
|
|
75
|
+
|
|
76
|
+
\`\`\`bash
|
|
77
|
+
npx @agent-native/core@latest design connect --url http://localhost:5173 --root . --json
|
|
78
|
+
\`\`\`
|
|
79
|
+
|
|
80
|
+
This prints the manifest (routes + capabilities). Parse it to build
|
|
81
|
+
\`routeManifest\` for the next step. (Skip this if the user already gave explicit
|
|
82
|
+
paths/URLs to place.)
|
|
83
|
+
|
|
84
|
+
**2. Call \`open-visual-edit\`** (see Action Flow below) with NO \`bridgeToken\`.
|
|
85
|
+
The server mints one, stores it on the user's connection row, copies it into the
|
|
86
|
+
placed screens' metadata, and returns it to you as \`bridgeToken\`. Capture it.
|
|
87
|
+
|
|
88
|
+
**3. Start the persistent bridge adopting that token** (single line; prefer the
|
|
89
|
+
env var so the secret does not appear in \`ps\`):
|
|
90
|
+
|
|
91
|
+
\`\`\`bash
|
|
92
|
+
AGENT_NATIVE_BRIDGE_TOKEN="<bridgeToken from step 2>" npx @agent-native/core@latest design connect --url http://localhost:5173 --root . --daemon
|
|
93
|
+
\`\`\`
|
|
94
|
+
|
|
95
|
+
(Equivalently, pass \`--bridge-token <token>\`.) This starts a detached bridge on
|
|
96
|
+
\`http://127.0.0.1:7331\`, adopts the server-minted token — so bridge and row
|
|
97
|
+
agree and live-edit authorizes with no self-registration — and stays alive after
|
|
98
|
+
the command exits.
|
|
99
|
+
|
|
100
|
+
For a manual health/manifest check on the running bridge:
|
|
101
|
+
|
|
102
|
+
\`\`\`bash
|
|
103
|
+
curl http://127.0.0.1:7331/manifest.json
|
|
104
|
+
\`\`\`
|
|
105
|
+
|
|
106
|
+
Only use \`--json\` for the step-1 route probe. Never use \`--json\`, \`--once\`,
|
|
107
|
+
or \`--dry-run\` for the durable step-3 bridge: they print the manifest and exit,
|
|
108
|
+
so Design falls back to a non-editable live iframe.
|
|
109
|
+
|
|
110
|
+
## Action Flow
|
|
111
|
+
|
|
112
|
+
Prefer the single authenticated \`open-visual-edit\` action. It registers or
|
|
113
|
+
refreshes the localhost bridge connection, mints and stores the bridge token,
|
|
114
|
+
creates or reuses a Design project, places URL-backed screens, stores the active
|
|
115
|
+
visual-edit context, and navigates to overview mode in one call. This avoids
|
|
116
|
+
creating a private design under a synthetic CLI user and then handing the browser
|
|
117
|
+
a tokenized URL that may be shadowed by an existing session.
|
|
118
|
+
|
|
119
|
+
Call it BEFORE starting the durable bridge (step 3 above): it does not contact
|
|
120
|
+
the bridge, so the bridge need not be running yet, and you need its returned
|
|
121
|
+
\`bridgeToken\` to start the bridge with a matching secret. Omit \`bridgeToken\`
|
|
122
|
+
on the call so the server mints one.
|
|
123
|
+
|
|
124
|
+
\`\`\`bash
|
|
125
|
+
pnpm action open-visual-edit '{
|
|
126
|
+
"title": "Docs homepage visual edit",
|
|
127
|
+
"devServerUrl": "http://localhost:5173",
|
|
128
|
+
"bridgeUrl": "http://127.0.0.1:7331",
|
|
129
|
+
"rootPath": "/absolute/path/to/app",
|
|
130
|
+
"routeManifest": { "...": "from /manifest.json" },
|
|
131
|
+
"paths": ["/", "/pricing", "/checkout?step=payment"]
|
|
132
|
+
}'
|
|
133
|
+
\`\`\`
|
|
134
|
+
|
|
135
|
+
The action returns \`designId\`, \`connectionId\`, \`bridgeToken\`, \`screens\`,
|
|
136
|
+
\`urlPath\`, and \`openUrl\`. Keep \`designId\`/\`connectionId\` in the chat context
|
|
137
|
+
for follow-ups, and pass \`bridgeToken\` to \`design connect\` (step 3) to start
|
|
138
|
+
the bridge. On follow-up calls reusing an existing \`connectionId\`, the same
|
|
139
|
+
token is returned (it is minted once and reused), so the running bridge stays
|
|
140
|
+
valid.
|
|
141
|
+
|
|
142
|
+
For a numbered flow the user describes in chat, keep the labels and order:
|
|
143
|
+
|
|
144
|
+
\`\`\`bash
|
|
145
|
+
pnpm action open-visual-edit '{
|
|
146
|
+
"designId": "<existing-design-id>",
|
|
147
|
+
"connectionId": "<existing-connection-id>",
|
|
148
|
+
"devServerUrl": "http://localhost:1234",
|
|
149
|
+
"routes": [
|
|
150
|
+
{ "url": "localhost:1234/onboarding/1", "title": "Screen 1" },
|
|
151
|
+
{ "url": "localhost:1234/onboarding/2", "title": "Screen 2" },
|
|
152
|
+
{ "url": "localhost:1234/onboarding/3", "title": "Screen 3" }
|
|
153
|
+
]
|
|
154
|
+
}'
|
|
155
|
+
\`\`\`
|
|
156
|
+
|
|
157
|
+
For responsive follow-ups, call \`open-visual-edit\` again with the same
|
|
158
|
+
\`designId\` and \`connectionId\`, plus explicit viewport dimensions:
|
|
159
|
+
|
|
160
|
+
\`\`\`bash
|
|
161
|
+
pnpm action open-visual-edit '{
|
|
162
|
+
"designId": "<existing-design-id>",
|
|
163
|
+
"connectionId": "<existing-connection-id>",
|
|
164
|
+
"devServerUrl": "http://localhost:5173",
|
|
165
|
+
"paths": ["/"],
|
|
166
|
+
"defaultWidth": 390,
|
|
167
|
+
"defaultHeight": 844,
|
|
168
|
+
"startX": 1600,
|
|
169
|
+
"startY": 0
|
|
170
|
+
}'
|
|
171
|
+
\`\`\`
|
|
172
|
+
|
|
173
|
+
If no \`routes\` or \`paths\` are supplied, \`open-visual-edit\` uses every route
|
|
174
|
+
from the localhost manifest.
|
|
175
|
+
|
|
176
|
+
Fallback, only when \`open-visual-edit\` is unavailable:
|
|
177
|
+
|
|
178
|
+
1. Register or refresh the bridge with \`connect-localhost\`, passing the
|
|
179
|
+
\`/manifest.json\` result as \`routeManifest\` and \`capabilities\`.
|
|
180
|
+
2. Create or reuse a Design project with \`create-design\`.
|
|
181
|
+
3. Place URL-backed screens with \`add-localhost-screens\`.
|
|
182
|
+
4. Navigate to overview mode with \`navigate\`.
|
|
183
|
+
|
|
184
|
+
## Open The Design Surface
|
|
185
|
+
|
|
186
|
+
- Use the \`link\`, \`deepLink\`, or MCP App embed returned by Design actions so
|
|
187
|
+
the user sees the canvas. In Codex Desktop or VS Code, prefer opening that
|
|
188
|
+
Design URL in the available preview/webview panel; otherwise surface the
|
|
189
|
+
"Open design" link.
|
|
190
|
+
- Return or open the \`openUrl\` / action link, not a hand-built
|
|
191
|
+
\`/design/:id?_session=...\` URL.
|
|
192
|
+
- If the user is working in VS Code, the Agent Native extension can open the
|
|
193
|
+
same URL via
|
|
194
|
+
\`vscode://builder.agent-native/open?url=<encoded-design-url>\`. Its
|
|
195
|
+
\`Agent Native: Open Design Canvas\` command also starts the local bridge and
|
|
196
|
+
opens hosted Design in the VS Code side panel.
|
|
197
|
+
- After \`add-localhost-screens\`, confirm the Design editor is in overview mode
|
|
198
|
+
with the requested URL-backed frames visible. Do not stop at "screens added"
|
|
199
|
+
when the user asked to inspect or edit visually.
|
|
200
|
+
|
|
201
|
+
## Editing URLs
|
|
202
|
+
|
|
203
|
+
Keep localhost screens as URL files plus \`screenMetadata[fileId]\`. Do not
|
|
204
|
+
replace them with copied \`srcdoc\` HTML unless the user explicitly asks for a
|
|
205
|
+
frozen snapshot. To change a state, rerun \`add-localhost-screens\` with the new
|
|
206
|
+
path/query or duplicate the screen and update the copy's URL metadata.
|
|
207
|
+
|
|
208
|
+
## React Source Writeback
|
|
209
|
+
|
|
210
|
+
- Use compiler/debug provenance (project-relative file, line, column,
|
|
211
|
+
component, and runtime multiplicity) to locate React/TSX source. Treat it as
|
|
212
|
+
evidence, not as permission for a generic AST structural transform.
|
|
213
|
+
- Reparenting, grouping/ungrouping, wrappers, dynamic expressions, repeated
|
|
214
|
+
\`.map()\` instances, shared components, and cross-file changes go through the
|
|
215
|
+
coding agent with exact subject/target anchors and their runtime
|
|
216
|
+
relationship.
|
|
217
|
+
- Before each write, read the file and pass its exact \`versionHash\` to
|
|
218
|
+
\`write-local-file\` with \`requireExpectedVersionHash: true\`; on conflict,
|
|
219
|
+
re-read and re-plan. Keep the optimistic preview until HMR/runtime confirms
|
|
220
|
+
the result. Human write consent remains mandatory and agents cannot grant it.
|
|
221
|
+
|
|
222
|
+
## Verification
|
|
223
|
+
|
|
224
|
+
- \`list-localhost-connections\` returns the expected connection and routes.
|
|
225
|
+
- The Design editor opens in overview mode.
|
|
226
|
+
- Every requested screen renders the intended localhost URL.
|
|
227
|
+
- Alt-dragging a screen copies the URL-backed frame, not an inline HTML clone.
|
|
228
|
+
`;
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
export const DOCUMENT_QUALITY_CORE = `<!-- SHARED-CORE:document-quality START -->
|
|
2
|
+
|
|
3
|
+
**The document is a serious technical plan, not marketing.** Write it the way a
|
|
4
|
+
strong Claude or Codex implementation plan reads: outcome-first, prose-first,
|
|
5
|
+
self-contained, and specific. State the objective and what "done" means, the
|
|
6
|
+
scope and non-goals, the proposed approach with the key decisions and their
|
|
7
|
+
rationale, ordered steps that name real files, symbols, actions, and data
|
|
8
|
+
shapes, the risks, and a closing verification step (tests, build, or a checkable
|
|
9
|
+
behavior). Replace vague prose with specifics; never ship a step like "make it
|
|
10
|
+
work." No hero art, gradients, logos, nav bars, slogans, value props, giant
|
|
11
|
+
landing-page headings, or marketing cards unless the user explicitly asks.
|
|
12
|
+
|
|
13
|
+
**Every published plan must stand alone.** Even when the agent is revising an
|
|
14
|
+
existing plan, the output is a plan to do the work, not a changelog of the
|
|
15
|
+
conversation. Do not write phrases like "preserve the previous plan", "do not
|
|
16
|
+
drop the old idea", "as discussed above", "this revision", "unlike the prior
|
|
17
|
+
version", or "correction from the earlier plan". Fold the right decisions into
|
|
18
|
+
the plan as normal objective, architecture, scope, and roadmap prose. A reviewer
|
|
19
|
+
who opens the plan from a link with no chat history should understand it. Avoid
|
|
20
|
+
negative framing that only makes sense against absent context ("not the old
|
|
21
|
+
mode", "not just X") unless the contrast is defined in the plan and genuinely
|
|
22
|
+
helps; state the positive model directly.
|
|
23
|
+
|
|
24
|
+
**Make abstract plans instantly legible.** If the idea is broad, strategic, or
|
|
25
|
+
intended for a third-party reviewer, put one concrete product snapshot near the
|
|
26
|
+
top before dense architecture, mode tables, manifests, or roadmaps. For
|
|
27
|
+
UI-capable concepts, that snapshot is usually a top-canvas app state plus a
|
|
28
|
+
short paragraph that says what the user sees and what changes under the hood.
|
|
29
|
+
Then put mechanics, data flow, sync boundaries, and implementation detail in
|
|
30
|
+
separate diagrams or document sections.
|
|
31
|
+
|
|
32
|
+
**Preserve the user's level of abstraction.** A motivating use case is not
|
|
33
|
+
automatically the architecture. When the prompt describes a broader framework,
|
|
34
|
+
product mode, or reusable primitive, separate the reusable core from specific
|
|
35
|
+
apps, providers, customers, scripts, or launch examples. Use the concrete
|
|
36
|
+
example to make the plan understandable, then make clear which parts are core,
|
|
37
|
+
which are app-specific adapters, and which are future examples.
|
|
38
|
+
|
|
39
|
+
**When top visuals exist, they and the document never duplicate each other.**
|
|
40
|
+
For UI work, the UI story lives in the top visual surface: canvas artboards for
|
|
41
|
+
static inspection, plus prototype tabs when the flow should be functional. The
|
|
42
|
+
document carries the technical depth the visuals cannot show — concrete
|
|
43
|
+
file/symbol maps, API and data contracts, code snippets, migration or
|
|
44
|
+
implementation phases, risks, and validation. For architecture/code reviews,
|
|
45
|
+
invert that: the document is the visual surface, and each recommendation
|
|
46
|
+
carries its own nearby inline \`diagram\` / \`data-model\` block plus file
|
|
47
|
+
evidence (the \`diagram\` bullet below owns how to author those diagrams).
|
|
48
|
+
Repeat a wireframe in the document only for a genuinely new detail view or
|
|
49
|
+
comparison. Skip the visual surface entirely for non-visual work and write a
|
|
50
|
+
clean rich document. For a simple binary UI visual choice, show the two
|
|
51
|
+
directions in the canvas only; do not repeat the same options as body
|
|
52
|
+
wireframes or prose. Put the actual choice in the bottom "Open Questions" form.
|
|
53
|
+
|
|
54
|
+
**Use the right block, and make it carry substance.** For the authoritative,
|
|
55
|
+
machine-checked list of block types and their data schemas, call \`get-plan-blocks\`
|
|
56
|
+
— it returns the live registry vocabulary (type, MDX tag, placement, key fields)
|
|
57
|
+
so you never emit a block the editor cannot render or round-trip:
|
|
58
|
+
|
|
59
|
+
- \`rich-text\` for plan prose with real bold/italic/code/links and nested lists.
|
|
60
|
+
- \`annotated-code\` for the file map: when a load-bearing file is worth
|
|
61
|
+
highlighting, prefer the annotated walkthrough over a bare \`code\` block — carry
|
|
62
|
+
the real, syntax-highlighted code AND anchor short margin notes to the lines
|
|
63
|
+
that actually change (the new action, the changed schema, the wiring point), so
|
|
64
|
+
the reader sees what matters and why instead of code for code's sake. Each
|
|
65
|
+
annotation is \`{ lines: "12" | "12-18"; label?; note }\`; keep a few high-signal
|
|
66
|
+
notes per file, not one per line. Highlight only the files worth reading; never
|
|
67
|
+
an exhaustive list of every touched file, and never a prose-only description of
|
|
68
|
+
a file. Drop to a plain \`code\` block only for a throwaway snippet with nothing
|
|
69
|
+
to call out. When more than one file matters, group the blocks in a vertical
|
|
70
|
+
\`tabs\` block (the standard tab primitive) rather than a bespoke container. If
|
|
71
|
+
the exact code is unknown, show the smallest plausible planned shape or a
|
|
72
|
+
commented stub naming what to fill in. (\`code-tabs\` and \`implementation-map\`
|
|
73
|
+
are legacy: their renderers stay for old plans, but do not author new ones.)
|
|
74
|
+
- For a decision: if the reviewer must still pick between a genuinely-open
|
|
75
|
+
either/or, put it in the bottom Open Questions \`question-form\` as a \`single\`
|
|
76
|
+
question — one option per real alternative, each with a short detail and
|
|
77
|
+
\`recommended: true\` on the one you would choose; do not also restate the same
|
|
78
|
+
choice elsewhere. If you have already committed to an approach, state it as
|
|
79
|
+
settled prose or a \`callout\` with \`tone="decision"\`, optionally with a
|
|
80
|
+
\`columns\` block for a side-by-side comparison of the options you weighed — not
|
|
81
|
+
as a confusing mid-document form for a question you have already answered.
|
|
82
|
+
- \`columns\` for side-by-side before/after or current/target comparisons where
|
|
83
|
+
each side needs real nested blocks; label the columns clearly and avoid
|
|
84
|
+
stacking comparison blocks vertically when parallel reading is the point.
|
|
85
|
+
- \`diagram\` for two-dimensional architecture, dependency, data-flow, or state
|
|
86
|
+
relationships, only when it clarifies something real. Prefer standard
|
|
87
|
+
two-dimensional layouts — paired before/after panels, layered diagrams,
|
|
88
|
+
swimlanes, dependency maps, matrices, or grouped regions; do not default to
|
|
89
|
+
left-to-right chains, and use a line only when the relationship is truly a
|
|
90
|
+
sequence. Do not use a body \`diagram\` as the primary artifact for a requested
|
|
91
|
+
product canvas, light storyboard, UI flow, screen flow, or wireframe; those
|
|
92
|
+
belong in the top canvas as artboards with \`Screen\` wireframes first. Use
|
|
93
|
+
diagrams below that canvas only for architecture, data flow, or implementation
|
|
94
|
+
mechanics. For architecture/code
|
|
95
|
+
diagrams, prefer \`data.html\` / \`data.css\` with semantic HTML and inline SVG so
|
|
96
|
+
the diagram can use panels, layers, matrices, arrows, annotations, and
|
|
97
|
+
responsive layout directly. Author diagram HTML with renderer-owned primitives
|
|
98
|
+
like \`.diagram-panel\`, \`.diagram-card\`, \`.diagram-node\`, \`.diagram-box\`,
|
|
99
|
+
\`.diagram-pill\`, \`.diagram-muted\`, and \`[data-rough]\`; they map to the plan's
|
|
100
|
+
Tailwind theme variables through \`--wf-ink\`, \`--wf-muted\`, \`--wf-line\`,
|
|
101
|
+
\`--wf-paper\`, \`--wf-card\`, \`--wf-accent\`, \`--wf-accent-soft\`, \`--wf-warn\`, and
|
|
102
|
+
\`--wf-ok\`, and switch to Excalifont plus rough.js outlines in sketchy mode. Do not
|
|
103
|
+
set \`font-family\` and do not hard-code hex, rgb, or hsl colors in diagram HTML
|
|
104
|
+
or CSS. Choose the outer \`frame\` intentionally: use \`show\` when the diagram
|
|
105
|
+
stands alone in a recap, comparison, or prose section; use \`hide\` when the
|
|
106
|
+
diagram sits inside docs chrome, columns, tabs, cards, a canvas surface, or
|
|
107
|
+
already has visible \`.diagram-panel\` / \`.diagram-box\` structure. Leave room
|
|
108
|
+
for the sketch font: keep labels short, give nodes generous width, and place
|
|
109
|
+
boundary/annotation labels in unused space instead of over nodes; labels must
|
|
110
|
+
not overlap nodes, connectors, or each other. For small text/SVG changes to an
|
|
111
|
+
existing HTML diagram, use \`patch-diagram-html\` with a unique
|
|
112
|
+
\`find\`/\`replace\` snippet instead of resending the whole \`data.html\` string.
|
|
113
|
+
Use legacy \`nodes\` / \`edges\` only for small previews or truly
|
|
114
|
+
sequential flows. In architecture/code plans, prefer a repeated section rhythm:
|
|
115
|
+
recommendation title, confidence and category badges, code-path evidence, a
|
|
116
|
+
local before/after or current/target spatial diagram, then concise
|
|
117
|
+
Problem/Solution/Why text.
|
|
118
|
+
- \`tabs\` for multiple states, directions, or comparisons. A tab that reveals
|
|
119
|
+
only prose usually means the plan is under-specified — include a relevant
|
|
120
|
+
visual unless the tab is intentionally document-only.
|
|
121
|
+
- \`table\`, \`checklist\`, \`callout\` for scannable structure.
|
|
122
|
+
|
|
123
|
+
**Open questions live at the bottom as a form when answers would change the
|
|
124
|
+
plan.** Surface answerable unresolved decisions in a final \`question-form\`
|
|
125
|
+
block titled "Open Questions" so the renderer presents it as a distinct section.
|
|
126
|
+
That bottom form is the ONLY place that enumerates the open questions: never add
|
|
127
|
+
a second "Open Questions" heading, list, or recap of the same questions earlier
|
|
128
|
+
in the document. A one-line pointer in the overview prose ("a few decisions are
|
|
129
|
+
still open — see Open Questions below") is fine, but do not reproduce the
|
|
130
|
+
question list or a parallel questions/decisions section above it.
|
|
131
|
+
Use \`single\` or \`multi\` for clear choices, \`freeform\` for constraints,
|
|
132
|
+
\`recommended: true\` for the default you would pick, and option \`wireframe\` /
|
|
133
|
+
\`diagram\` previews only when the options are not already visible in the top
|
|
134
|
+
canvas. \`single\` and \`multi\` questions always render a write-in field so a
|
|
135
|
+
reviewer can answer with a custom option — never add an explicit "Other" option
|
|
136
|
+
yourself; set \`allowOther: false\` only when a free-text answer makes no sense.
|
|
137
|
+
Keep non-answerable assumptions or risks as concise \`callout\` blocks in
|
|
138
|
+
the relevant section. Never bury a questions/decisions wall inside the plan
|
|
139
|
+
narrative, and never ask the same question twice.
|
|
140
|
+
|
|
141
|
+
For complex plans, do not end without an open-question audit. If architecture,
|
|
142
|
+
scope, UX, data shape, rollout, provider mapping, or ownership still depends on
|
|
143
|
+
a choice, either commit to a recommendation with rationale or add it to the
|
|
144
|
+
bottom form with a recommended default. A complex plan with no open questions is
|
|
145
|
+
fine only when every meaningful decision has been explicitly made.
|
|
146
|
+
|
|
147
|
+
**Verification must exercise the real workflow.** The final verification section
|
|
148
|
+
should go beyond typecheck/unit tests when the plan changes UI, local files,
|
|
149
|
+
sync, providers, browser behavior, or multi-app flows. Include at least one
|
|
150
|
+
end-to-end smoke that matches the user journey, such as a fresh repo/folder,
|
|
151
|
+
real manifest or data fixture, browser interaction, save/sync action, and an
|
|
152
|
+
on-disk or database assertion. Name the command or manual browser path when it
|
|
153
|
+
is known.
|
|
154
|
+
|
|
155
|
+
**\`custom-html\` is a bounded escape hatch only** — a single complete fragment
|
|
156
|
+
inside a block, never \`html\`/\`head\`/\`body\`/\`script\` tags, never a generic
|
|
157
|
+
placeholder, density demo, or proof that custom HTML works. Prefer the native
|
|
158
|
+
blocks for normal plans. For architecture/code reviews, use \`diagram\`
|
|
159
|
+
\`data.html\` / \`data.css\` for rich local HTML/SVG diagrams instead of
|
|
160
|
+
\`custom-html\`. For UI/product work, \`custom-html\` is never the primary home for a
|
|
161
|
+
requested mockup, UI state, or visual comparison. If UI fidelity requires
|
|
162
|
+
HTML/CSS, image capture, or real React/CSS, the product fix is canvas support
|
|
163
|
+
for that artifact type, not moving the mockup into the document.
|
|
164
|
+
When \`custom-html\` is genuinely needed, author it against the sandbox-provided
|
|
165
|
+
theme tokens (\`--wf-paper\`, \`--wf-card\`, \`--wf-ink\`, \`--wf-muted\`,
|
|
166
|
+
\`--wf-line\`, \`--wf-radius\`, and the matching \`--plan-*\` aliases). Do not hardcode
|
|
167
|
+
hex/rgb/hsl light palettes such as white cards with dark ink; the same fragment
|
|
168
|
+
must read in dark mode without a plan-specific patch.
|
|
169
|
+
|
|
170
|
+
**Before handoff, open the plan and check it.** Fix overlap, excessive
|
|
171
|
+
whitespace, clipped fragments, misleading inactive controls, poor contrast, and
|
|
172
|
+
unreadable diagrams before asking for approval. Check the top canvas in the
|
|
173
|
+
current Plan theme, especially dark mode: white mockup panels, low-contrast
|
|
174
|
+
muted text, or invisible controls are defects. If a frame only works in one
|
|
175
|
+
theme, rewrite the HTML with \`--wf-*\` tokens and semantic helper classes before
|
|
176
|
+
surfacing the plan.
|
|
177
|
+
|
|
178
|
+
<!-- SHARED-CORE:document-quality END -->`;
|
|
179
|
+
|
|
180
|
+
export const DOCUMENT_QUALITY_REFERENCE_MD = `# Plan document quality — single source of truth
|
|
181
|
+
|
|
182
|
+
This file is the canonical quality bar for the plan document below the canvas:
|
|
183
|
+
how it reads, which blocks to use, how open questions are surfaced, and the
|
|
184
|
+
pre-handoff check. Read it in full before authoring the plan document; it is the
|
|
185
|
+
quality bar. Do not write the document from memory or paraphrase these rules per
|
|
186
|
+
mode.
|
|
187
|
+
|
|
188
|
+
${DOCUMENT_QUALITY_CORE}
|
|
189
|
+
`;
|
|
190
|
+
|
|
191
|
+
export const DOCUMENT_QUALITY_REFERENCE_POINTER = `The document is a serious technical plan, not marketing: outcome-first,
|
|
192
|
+
prose-first, self-contained, built from the right native blocks, with open
|
|
193
|
+
questions in a single bottom \`question-form\` and a pre-handoff visual check.
|
|
194
|
+
Before authoring the plan document, READ \`references/document-quality.md\` in this
|
|
195
|
+
skill directory — it is the single source of truth for the document quality bar.
|
|
196
|
+
Do not write the document from memory.`;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export const EXEMPLAR_CORE = `<!-- SHARED-CORE:exemplar START -->
|
|
2
|
+
|
|
3
|
+
**GOOD.** A UI-first plan for a todo app: a canvas with a \`desktop\` artboard whose
|
|
4
|
+
\`data.html\` is a real flex layout — a sidebar of links (\`Inbox 12\`, \`Today 4\`,
|
|
5
|
+
\`Done\`), a main column with an \`<h1>Today</h1>\`, accent \`.wf-pill\`s for the
|
|
6
|
+
filters, a muted section label \`OVERDUE\`, and \`.wf-card\` task rows carrying real
|
|
7
|
+
titles, due dates, and a primary \`button.primary\` — styled only through bare
|
|
8
|
+
elements, helper classes, and \`--wf-*\` tokens, so the renderer applies the
|
|
9
|
+
correct desktop footprint, theme, and one subtle whole-frame wobble. Plain-text
|
|
10
|
+
designer notes sit spaced off the frame, pointing only at the controls that need
|
|
11
|
+
explanation. Below it, a Claude/Codex-grade document: objective and
|
|
12
|
+
done-criteria, a few \`code\` blocks (grouped in a vertical \`tabs\` block when
|
|
13
|
+
more than one) showing the real shape of the load-bearing files, a \`callout\`
|
|
14
|
+
with \`tone="decision"\` stating the chosen approach with a \`columns\` block
|
|
15
|
+
weighing the two real options behind it,
|
|
16
|
+
and a validation step — none of it repeating the canvas. If the task also
|
|
17
|
+
changes a multi-step completion flow, the same top area includes a Prototype tab
|
|
18
|
+
whose screens use the same labels and states as the canvas artboards, with
|
|
19
|
+
\`data-goto\` controls for the sequence. This is the bar.
|
|
20
|
+
|
|
21
|
+
**GOOD.** A broad product-architecture plan opens with a plain recommendation
|
|
22
|
+
and one concrete app state before the abstraction. The first canvas artboard is
|
|
23
|
+
pure product UI that matches the current app shell; nearby notes explain the
|
|
24
|
+
user-visible delta. A separate diagram below shows the mechanics, such as file
|
|
25
|
+
or data flow. The document then separates the reusable core from app/provider
|
|
26
|
+
adapters and examples, covers contracts, folder or schema shape, sync
|
|
27
|
+
boundaries, roadmap, non-goals, a bottom Open Questions form for unresolved
|
|
28
|
+
decisions, and a verification section with at least one realistic end-to-end
|
|
29
|
+
smoke. A reviewer who was not in the chat gets the idea from the top snapshot
|
|
30
|
+
before reading the technical plan.
|
|
31
|
+
|
|
32
|
+
**GOOD.** A \`/visual-plan\` for a backend architecture review: no top canvas.
|
|
33
|
+
The document opens with context and a legend, then repeats recommendation cards:
|
|
34
|
+
title, confidence/category badges, a monospace grid of real file paths, one
|
|
35
|
+
inline two-dimensional before/after or layered architecture diagram, and terse
|
|
36
|
+
Problem/Solution/Why bullets using the codebase's vocabulary. The diagram uses
|
|
37
|
+
space to show boundaries, layers, and ownership; it is not a default
|
|
38
|
+
left-to-right chain. The plan ends with a top recommendation and a bottom
|
|
39
|
+
question-form only if the next architecture direction is genuinely open. This is
|
|
40
|
+
better than a top canvas because each diagram is local to the claim it supports.
|
|
41
|
+
|
|
42
|
+
**BAD.** A \`data.html\` with hard-coded hex colors, a \`font-family\`, or fixed
|
|
43
|
+
pixel width/height; gray placeholder bars "insinuating" text on a non-skeleton
|
|
44
|
+
frame; a forced desktop + mobile pair for a popover; floating bordered
|
|
45
|
+
annotation cards hugging the frames; a fresh hand-authored kit-tree \`screen\`
|
|
46
|
+
instead of \`html\`; a multi-step UI flow with only static frames and no prototype
|
|
47
|
+
tab; a mockup escaped into a document \`custom-html\` block; and a marketing-style
|
|
48
|
+
document with a hero heading and value props that just restates what the canvas
|
|
49
|
+
already shows. Also bad: an architecture-only plan forced into a top canvas of
|
|
50
|
+
labeled boxes with overlapping text, where the actual code evidence and
|
|
51
|
+
recommendations live elsewhere; a product wireframe that mixes a real screen
|
|
52
|
+
with repo names, file-contract arrows, architecture explanations, or a made-up
|
|
53
|
+
permanent inspector; and a plan that describes itself as a revision of a prior
|
|
54
|
+
conversation instead of a standalone proposal. Never produce this.
|
|
55
|
+
|
|
56
|
+
<!-- SHARED-CORE:exemplar END -->`;
|
|
57
|
+
|
|
58
|
+
export const EXEMPLAR_REFERENCE_MD = `# Good vs. bad exemplar — single source of truth
|
|
59
|
+
|
|
60
|
+
This file is the canonical worked example of a great plan (and the anti-patterns
|
|
61
|
+
to avoid). Read it alongside the document-quality and canvas references before
|
|
62
|
+
authoring a plan; it is the bar these plans must clear.
|
|
63
|
+
|
|
64
|
+
${EXEMPLAR_CORE}
|
|
65
|
+
`;
|
|
66
|
+
|
|
67
|
+
export const EXEMPLAR_REFERENCE_POINTER = `For a worked example of the bar — a great UI-first plan and \`/visual-plan\`, plus
|
|
68
|
+
the anti-patterns to avoid — READ \`references/exemplar.md\` in this skill
|
|
69
|
+
directory before authoring a plan.`;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export const HELP = `npx @agent-native/core@latest skills
|
|
2
|
+
|
|
3
|
+
Usage:
|
|
4
|
+
npx @agent-native/core@latest skills list
|
|
5
|
+
npx @agent-native/core@latest skills status [assets|content|design-exploration|visual-edit|visual-plan|visual-recap|visualize-repo|context-xray|scaffold] [--client codex|claude-code|pi|all] [--scope user|project] [--json]
|
|
6
|
+
npx @agent-native/core@latest skills update [assets|content|design-exploration|visual-edit|visual-plan|visual-recap|visualize-repo|context-xray|scaffold] [--client codex|claude-code|pi|all] [--scope user|project] [--dry-run] [--json]
|
|
7
|
+
npx @agent-native/core@latest skills add assets|content|design-exploration|visual-edit|visual-plan|visual-recap|visualize-repo|context-xray [--client codex|claude-code|cowork|cursor|opencode|github-copilot|all] [--scope user|project] [--mode hosted|local-files|self-hosted] [--mcp-url <url>] [--no-connect] [--with-github-action] [--yes] [--dry-run] [--json]
|
|
8
|
+
npx @agent-native/core@latest skills add <manifest-or-app-dir|skill-repo> [--skill <name>] [--client ...] [--yes]
|
|
9
|
+
|
|
10
|
+
Examples:
|
|
11
|
+
npx @agent-native/core@latest skills add assets
|
|
12
|
+
npx @agent-native/core@latest skills add content --mode local-files
|
|
13
|
+
npx @agent-native/core@latest skills add design-exploration
|
|
14
|
+
npx @agent-native/core@latest skills add visual-edit
|
|
15
|
+
npx @agent-native/core@latest skills add visual-plan
|
|
16
|
+
npx @agent-native/core@latest skills add visual-recap
|
|
17
|
+
npx @agent-native/core@latest skills add visualize-repo
|
|
18
|
+
npx @agent-native/core@latest skills add visual-recap --with-github-action
|
|
19
|
+
npx @agent-native/core@latest skills add visual-plan --mode local-files
|
|
20
|
+
npx @agent-native/core@latest skills add visual-plan --mode self-hosted --mcp-url https://my-plan-app.example.com
|
|
21
|
+
npx @agent-native/core@latest skills status visual-plan
|
|
22
|
+
npx @agent-native/core@latest skills update visual-plan
|
|
23
|
+
npx @agent-native/core@latest skills update scaffold --project
|
|
24
|
+
npx @agent-native/core@latest skills add visual-plan --no-connect
|
|
25
|
+
npx @agent-native/core@latest skills add context-xray --client all
|
|
26
|
+
npx @agent-native/core@latest skills add assets --client claude-code
|
|
27
|
+
npx @agent-native/core@latest skills add assets --mcp-url https://my-app.ngrok-free.dev
|
|
28
|
+
npx @agent-native/core@latest skills add ./dist/assets-skill --client codex
|
|
29
|
+
npx @agent-native/core@latest skills add BuilderIO/skills --client codex --scope project
|
|
30
|
+
npx @agent-native/core@latest skills add BuilderIO/skills --with-github-action
|
|
31
|
+
|
|
32
|
+
The add command installs the SKILL.md instructions, registers the app-backed
|
|
33
|
+
MCP connector, and then authenticates it in one step so you do not hit an OAuth
|
|
34
|
+
wall on the first tool call. Hosted installs can configure Claude Code, Codex,
|
|
35
|
+
Claude Cowork, Cursor, OpenCode, and GitHub Copilot / VS Code; local-files
|
|
36
|
+
instruction installs target the shared .agents skill path used by Codex, Pi,
|
|
37
|
+
Cursor, OpenCode, Copilot, and similar agents, plus Claude Code's native skill
|
|
38
|
+
path when selected. Pass --client to narrow it. Authentication reuses
|
|
39
|
+
"npx @agent-native/core@latest connect": OAuth-capable clients (Claude Code,
|
|
40
|
+
Cursor, OpenCode, GitHub Copilot / VS Code) get URL-only entries and authenticate
|
|
41
|
+
inside that host, while Codex / Cowork run the browser device-code flow. In a
|
|
42
|
+
non-interactive shell or CI the auth step is skipped and the exact
|
|
43
|
+
"npx @agent-native/core@latest connect <url> --client all" command is printed instead.
|
|
44
|
+
|
|
45
|
+
Running "npx @agent-native/skills@latest add ..." uses this same shared install
|
|
46
|
+
flow with the broader BuilderIO skills catalog enabled. Pass --no-connect to
|
|
47
|
+
register MCP where possible without authenticating (leave auth to the host or run
|
|
48
|
+
"npx @agent-native/core@latest connect" later). Pass --mcp-url to register that connector against
|
|
49
|
+
a custom origin (an ngrok tunnel, a local dev server, or a self-hosted
|
|
50
|
+
deployment) instead of the built-in hosted default — a bare origin gets the
|
|
51
|
+
standard /_agent-native/mcp path appended. Use app-skill pack for marketplace
|
|
52
|
+
bundles and custom adapter output.
|
|
53
|
+
|
|
54
|
+
When installing visual-plan, visual-recap, or visualize-repo interactively, the
|
|
55
|
+
CLI asks where Plans artifacts should live: hosted Plans for shareable
|
|
56
|
+
links/comments, local files for "No sharing, all local.", or a
|
|
57
|
+
self-hosted/custom Plan app URL.
|
|
58
|
+
Pass --mode to choose directly. Local-files mode skips MCP registration and
|
|
59
|
+
auth and installs instructions that default to a no-auth block catalog fetch,
|
|
60
|
+
MDX folders, and the localhost bridge viewer.
|
|
61
|
+
|
|
62
|
+
When installing content with --mode local-files, the CLI installs Content
|
|
63
|
+
instructions and writes or updates agent-native.json with repo-backed Markdown /
|
|
64
|
+
MDX roots for docs, blog, content, and resources. Use a local Content app, Agent
|
|
65
|
+
Native Desktop, or another trusted local bridge for Content actions to read and
|
|
66
|
+
write those files.
|
|
67
|
+
|
|
68
|
+
When installing visual-recap interactively, the CLI offers to add the optional PR
|
|
69
|
+
Visual Recap GitHub Action. Pass --with-github-action to write it directly, then
|
|
70
|
+
run "npx @agent-native/core@latest recap setup" / "npx @agent-native/core@latest recap doctor" to configure and
|
|
71
|
+
verify GitHub Actions. Docs: https://www.agent-native.com/docs/pr-visual-recap.
|
|
72
|
+
|
|
73
|
+
The status/update commands inspect copied Agent Native skill folders and refresh
|
|
74
|
+
their instruction files from the current @agent-native/core package. In generated
|
|
75
|
+
apps/workspaces, "skills update scaffold --project" refreshes the framework
|
|
76
|
+
skills copied into the scaffold and repairs AGENTS.md / CLAUDE.md and
|
|
77
|
+
.agents/skills / .claude/skills compatibility links.`;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Barrel for the large embedded-markdown string constants used by
|
|
3
|
+
* `agent-native skills` (SKILL.md bodies, shared reference docs, and the CLI
|
|
4
|
+
* help text). Split out of `skills.ts` so that file can lead with real CLI
|
|
5
|
+
* logic instead of ~3,000 lines of data. Content is purely relocated here —
|
|
6
|
+
* no bytes were changed.
|
|
7
|
+
*/
|
|
8
|
+
export * from "./help.js";
|
|
9
|
+
export * from "./assets-skill.js";
|
|
10
|
+
export * from "./content-skill.js";
|
|
11
|
+
export * from "./design-exploration-skill.js";
|
|
12
|
+
export * from "./design-visual-edit-skill.js";
|
|
13
|
+
export * from "./plan-setup-auth.js";
|
|
14
|
+
export * from "./wireframe.js";
|
|
15
|
+
export * from "./canvas.js";
|
|
16
|
+
export * from "./document-quality.js";
|
|
17
|
+
export * from "./exemplar.js";
|
|
18
|
+
export * from "./connection.js";
|
|
19
|
+
export * from "./local-files.js";
|
|
20
|
+
export * from "./visual-plan-skill.js";
|
|
21
|
+
export * from "./visual-recap-skill.js";
|
|
22
|
+
export * from "./visualize-repo-skill.js";
|