@agent-native/core 0.97.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/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +32 -0
- package/corpus/core/docs/content/authentication.mdx +3 -3
- package/corpus/core/docs/content/doctor.mdx +170 -0
- package/corpus/core/docs/content/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/ar-SA/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/ar-SA/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/ar-SA/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/ar-SA/security.mdx +2 -0
- package/corpus/core/docs/content/locales/de-DE/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/de-DE/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/de-DE/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/de-DE/security.mdx +2 -0
- package/corpus/core/docs/content/locales/es-ES/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/es-ES/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/es-ES/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/es-ES/security.mdx +2 -0
- package/corpus/core/docs/content/locales/fr-FR/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/fr-FR/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/fr-FR/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/fr-FR/security.mdx +2 -0
- package/corpus/core/docs/content/locales/hi-IN/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/hi-IN/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/hi-IN/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/hi-IN/security.mdx +2 -0
- package/corpus/core/docs/content/locales/ja-JP/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/ja-JP/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/ja-JP/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/ja-JP/security.mdx +2 -0
- package/corpus/core/docs/content/locales/ko-KR/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/ko-KR/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/ko-KR/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/ko-KR/security.mdx +2 -0
- package/corpus/core/docs/content/locales/pt-BR/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/pt-BR/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/pt-BR/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/pt-BR/security.mdx +2 -0
- package/corpus/core/docs/content/locales/zh-CN/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-CN/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/zh-CN/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-CN/security.mdx +2 -0
- package/corpus/core/docs/content/locales/zh-TW/authentication.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-TW/external-agents.mdx +8 -7
- package/corpus/core/docs/content/locales/zh-TW/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-TW/security.mdx +2 -0
- package/corpus/core/docs/content/mcp-protocol.mdx +1 -1
- package/corpus/core/docs/content/security.mdx +2 -0
- package/corpus/core/package.json +5 -1
- package/corpus/core/scripts/finalize-build.mjs +63 -3
- package/corpus/core/scripts/materialize-source-corpus.mjs +101 -15
- package/corpus/core/src/action.ts +42 -0
- 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/cli/doctor.ts +9 -3
- 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/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/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/secrets/storage.ts +67 -3
- 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 +364 -4182
- package/corpus/core/src/server/agent-teams.ts +26 -3
- package/corpus/core/src/server/auth.ts +55 -57
- package/corpus/core/src/server/credential-provider.ts +22 -25
- package/corpus/core/src/server/edge.ts +1 -0
- package/corpus/core/src/server/onboarding-html.ts +1 -16
- package/corpus/core/src/server/realtime-voice.ts +40 -5
- package/corpus/core/src/server/request-origin.ts +6 -2
- package/corpus/core/src/server/ssr-handler.ts +55 -2
- 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/workspace-core/.agents/skills/authentication/SKILL.md +27 -29
- 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/src/server/index.ts +4 -2
- package/corpus/core/src/testing.ts +26 -0
- package/corpus/core/src/triggers/dispatcher.ts +23 -2
- 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/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/rename-analysis.ts +8 -2
- package/corpus/templates/analytics/actions/rename-dashboard.ts +8 -7
- 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-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/seeds/dashboards/agent-native-templates-first-party.json +339 -1
- 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 +289 -20
- 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/brain/.agents/skills/frontend-design/SKILL.md +1 -1
- 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/chat/.agents/skills/frontend-design/SKILL.md +1 -1
- 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-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/src/overlay.css +34 -5
- package/corpus/templates/clips/chrome-extension/src/styles.css +2 -2
- package/corpus/templates/clips/desktop/src/styles.css +71 -26
- package/corpus/templates/content/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/content/actions/move-document.ts +34 -18
- 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 +225 -1435
- 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/sidebar/DocumentSidebar.tsx +11 -2
- package/corpus/templates/content/app/global.css +19 -19
- 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-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/server/lib/public-documents.ts +47 -10
- package/corpus/templates/content/server/routes/api/comments/[id].patch.ts +24 -24
- package/corpus/templates/design/.agents/skills/frontend-design/SKILL.md +1 -1
- 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/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-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/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/forms/.agents/skills/frontend-design/SKILL.md +1 -1
- package/corpus/templates/forms/app/components/layout/Sidebar.tsx +3 -3
- package/corpus/templates/forms/app/root.tsx +34 -8
- 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/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/layout/AppLayout.tsx +113 -104
- package/corpus/templates/mail/app/root.tsx +8 -10
- 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/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/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-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/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/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/editor/EditorSidebar.tsx +1 -1
- package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +1 -1
- package/corpus/templates/slides/app/components/editor/GenerateSlidesDialog.tsx +2 -2
- 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 +9 -0
- 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/DesignSystems.tsx +23 -2
- package/corpus/templates/slides/app/pages/Index.tsx +29 -1
- 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/server/routes/api/comments/[id].delete.ts +29 -48
- package/corpus/templates/slides/server/routes/api/comments/[id].patch.ts +29 -65
- 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/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/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +7 -3
- package/dist/cli/doctor.js.map +1 -1
- 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/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/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +36 -14
- package/dist/deploy/build.js.map +1 -1
- 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/progress/routes.d.ts +1 -1
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- 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 +61 -3
- package/dist/secrets/storage.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 +173 -3005
- 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/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/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/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/realtime-voice.d.ts +3 -0
- package/dist/server/realtime-voice.d.ts.map +1 -1
- package/dist/server/realtime-voice.js +29 -5
- package/dist/server/realtime-voice.js.map +1 -1
- package/dist/server/request-origin.d.ts.map +1 -1
- package/dist/server/request-origin.js +6 -3
- package/dist/server/request-origin.js.map +1 -1
- 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/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/workspace-core/.agents/skills/authentication/SKILL.md +27 -29
- 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/src/server/index.ts +4 -2
- 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/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/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/authentication.mdx +3 -3
- package/docs/content/doctor.mdx +170 -0
- package/docs/content/external-agents.mdx +8 -7
- package/docs/content/locales/ar-SA/authentication.mdx +2 -2
- package/docs/content/locales/ar-SA/external-agents.mdx +8 -7
- package/docs/content/locales/ar-SA/mcp-protocol.mdx +1 -1
- package/docs/content/locales/ar-SA/security.mdx +2 -0
- package/docs/content/locales/de-DE/authentication.mdx +1 -1
- package/docs/content/locales/de-DE/external-agents.mdx +8 -7
- package/docs/content/locales/de-DE/mcp-protocol.mdx +1 -1
- package/docs/content/locales/de-DE/security.mdx +2 -0
- package/docs/content/locales/es-ES/authentication.mdx +2 -2
- package/docs/content/locales/es-ES/external-agents.mdx +8 -7
- package/docs/content/locales/es-ES/mcp-protocol.mdx +1 -1
- package/docs/content/locales/es-ES/security.mdx +2 -0
- package/docs/content/locales/fr-FR/authentication.mdx +1 -1
- package/docs/content/locales/fr-FR/external-agents.mdx +8 -7
- package/docs/content/locales/fr-FR/mcp-protocol.mdx +1 -1
- package/docs/content/locales/fr-FR/security.mdx +2 -0
- package/docs/content/locales/hi-IN/authentication.mdx +2 -2
- package/docs/content/locales/hi-IN/external-agents.mdx +8 -7
- package/docs/content/locales/hi-IN/mcp-protocol.mdx +1 -1
- package/docs/content/locales/hi-IN/security.mdx +2 -0
- package/docs/content/locales/ja-JP/authentication.mdx +2 -2
- package/docs/content/locales/ja-JP/external-agents.mdx +8 -7
- package/docs/content/locales/ja-JP/mcp-protocol.mdx +1 -1
- package/docs/content/locales/ja-JP/security.mdx +2 -0
- package/docs/content/locales/ko-KR/authentication.mdx +2 -2
- package/docs/content/locales/ko-KR/external-agents.mdx +8 -7
- package/docs/content/locales/ko-KR/mcp-protocol.mdx +1 -1
- package/docs/content/locales/ko-KR/security.mdx +2 -0
- package/docs/content/locales/pt-BR/authentication.mdx +2 -2
- package/docs/content/locales/pt-BR/external-agents.mdx +8 -7
- package/docs/content/locales/pt-BR/mcp-protocol.mdx +1 -1
- package/docs/content/locales/pt-BR/security.mdx +2 -0
- package/docs/content/locales/zh-CN/authentication.mdx +2 -2
- package/docs/content/locales/zh-CN/external-agents.mdx +8 -7
- package/docs/content/locales/zh-CN/mcp-protocol.mdx +1 -1
- package/docs/content/locales/zh-CN/security.mdx +2 -0
- package/docs/content/locales/zh-TW/authentication.mdx +2 -2
- package/docs/content/locales/zh-TW/external-agents.mdx +8 -7
- package/docs/content/locales/zh-TW/mcp-protocol.mdx +1 -1
- package/docs/content/locales/zh-TW/security.mdx +2 -0
- package/docs/content/mcp-protocol.mdx +1 -1
- package/docs/content/security.mdx +2 -0
- package/package.json +6 -2
- 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/workspace-core/.agents/skills/authentication/SKILL.md +27 -29
- 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/src/server/index.ts +4 -2
- 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/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,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";
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
export const LOCAL_FILES_REFERENCE_MD = `# Local-files privacy mode — single source of truth
|
|
2
|
+
|
|
3
|
+
This file is the canonical contract for fully local, no-database planning and
|
|
4
|
+
recaps. It is shared word for word by \`/visual-plan\` and \`/visual-recap\`. Read it
|
|
5
|
+
in full before using local-files mode; do not call any hosted Plan tool for a
|
|
6
|
+
local plan/recap except the schema-only block-catalog lookup described below.
|
|
7
|
+
|
|
8
|
+
<!-- SHARED-CORE:local-files START -->
|
|
9
|
+
|
|
10
|
+
**When to use it.** Use local-files privacy mode when the user explicitly asks
|
|
11
|
+
for no DB writes, no hosted Plan database writes, no Plan MCP publish, fully local
|
|
12
|
+
files, offline/private work, or repo-owned/source-controlled artifacts, or when
|
|
13
|
+
\`AGENT_NATIVE_PLANS_MODE=local-files\` is set. Also use it when a user or repo
|
|
14
|
+
policy says the work must stay under their own brand, domain, source control, or
|
|
15
|
+
infrastructure. In this mode the plan/recap data must never be sent to the Plan
|
|
16
|
+
MCP server or the Plan app action surface. This is the only exception to the
|
|
17
|
+
always-publish rule in \`references/connection.md\`.
|
|
18
|
+
|
|
19
|
+
The local-files contract:
|
|
20
|
+
|
|
21
|
+
- **Read context locally.** Read source, diff, and stat context from local files
|
|
22
|
+
and shell commands only. For recaps, the
|
|
23
|
+
\`npx @agent-native/core@latest recap collect-diff\`, \`scan\`, and
|
|
24
|
+
\`build-prompt --local-files\` helpers are safe — they operate on local files and
|
|
25
|
+
do not write to the Plan database.
|
|
26
|
+
- **Fetch the block catalog first** (it sends no plan content). Use the MCP
|
|
27
|
+
\`get-plan-blocks\` tool if it is already available, or run
|
|
28
|
+
\`npx @agent-native/core@latest plan blocks --out plan-blocks.md\` and read that
|
|
29
|
+
file before authoring MDX; it calls the public no-auth \`get-plan-blocks\` route.
|
|
30
|
+
Use \`--format schema\` when you need exact nested fields. If network access is
|
|
31
|
+
unavailable, use the bundled \`references/*.md\` and rely on \`plan local check\` to
|
|
32
|
+
catch invalid tags. Copy the catalog examples verbatim for the fields the
|
|
33
|
+
registry table cannot encode: \`checklist\` items need \`id\` and \`label\`;
|
|
34
|
+
\`question-form\` questions need \`id\`, \`title\`, and \`mode\`, and each option needs
|
|
35
|
+
\`id\` and \`label\`; and \`Code\` / \`AnnotatedCode\` / \`Diff\` are whitespace-sensitive
|
|
36
|
+
— encode multiline code as JSON string attributes such as \`code={"const x =\\n y"}\`
|
|
37
|
+
(a static template literal is accepted only when it has no \`\${...}\`
|
|
38
|
+
interpolation). \`plan local check\` is a quick OFFLINE lint (a subset of the
|
|
39
|
+
renderer schema), so a green \`check\` does not guarantee the plan renders;
|
|
40
|
+
\`plan local verify\` is the authoritative validation against the real renderer
|
|
41
|
+
schema.
|
|
42
|
+
- **Write a local MDX folder.** Use \`plans/<slug>/\` to check the artifact into the
|
|
43
|
+
repo, or a repo-ignored/temporary folder such as \`.agent-native/plans/<slug>/\`
|
|
44
|
+
or \`/tmp/agent-native-plans/<slug>/\` when it should not be checked in. The
|
|
45
|
+
folder holds \`plan.mdx\`, optional \`canvas.mdx\`, optional \`prototype.mdx\`, and
|
|
46
|
+
optional \`.plan-state.json\`. For a recap, set \`kind: "recap"\` and
|
|
47
|
+
\`localOnly: true\` in the frontmatter/state. Use that exact folder as
|
|
48
|
+
\`<plan-dir>\` in every command below.
|
|
49
|
+
- **Check, then serve.** Run
|
|
50
|
+
\`npx @agent-native/core@latest plan local check --dir <plan-dir>\` before any
|
|
51
|
+
preview, then
|
|
52
|
+
\`npx @agent-native/core@latest plan local serve --dir <plan-dir> --kind <plan|recap> --open\`
|
|
53
|
+
(use \`--kind plan\` for plans, \`--kind recap\` for recaps). Report the local
|
|
54
|
+
bridge URL from stdout or \`<plan-dir>/.plan-url\`; treat \`.plan-url\` as a local
|
|
55
|
+
token file and do not commit it. The URL opens the hosted Plan UI but reads from
|
|
56
|
+
the localhost bridge on this machine, so it is not shareable across machines. On
|
|
57
|
+
macOS \`--open\` prefers Chromium browsers; if Safari opens, switch to
|
|
58
|
+
Chrome/Chromium because Safari can block the hosted HTTPS page from fetching the
|
|
59
|
+
HTTP localhost bridge. If the Plan app itself is running locally with the same
|
|
60
|
+
\`PLAN_LOCAL_DIR\`, the \`/local-plans/<slug>\` route is also valid. In a truly
|
|
61
|
+
offline environment, hand off the \`<plan-dir>\` path after \`plan local check\` and
|
|
62
|
+
note that interactive preview requires network access to the hosted Plan UI or a
|
|
63
|
+
running local Plan app.
|
|
64
|
+
- **Headless verify.** Run
|
|
65
|
+
\`npx @agent-native/core@latest plan local verify --dir <plan-dir> --kind <plan|recap>\`.
|
|
66
|
+
It starts the bridge, checks the private-network preflight and JSON payload, AND
|
|
67
|
+
validates the content against the real renderer schema via the Plan app's
|
|
68
|
+
\`validate-local-plan-source\` action. A non-\`ok\` result with
|
|
69
|
+
\`validation.valid: false\` lists the renderer's exact schema-path issues (e.g.
|
|
70
|
+
\`blocks[1].data.tabs[0]...\`); fix those before handing off. If \`validation.ran\`
|
|
71
|
+
is \`false\`, the Plan app did not expose the validate endpoint (older/unreachable
|
|
72
|
+
deploy) — point \`--app-url\` at a current Plan app (e.g. a local
|
|
73
|
+
\`http://localhost:8096\`) for the authoritative check. If the browser hangs on
|
|
74
|
+
"Loading plan", fetch the \`bridgeUrl\` from the verify/serve JSON to read the
|
|
75
|
+
concrete validation error.
|
|
76
|
+
- **Never call hosted tools for that plan/recap.** Do not call
|
|
77
|
+
\`create-visual-plan\`, \`create-ui-plan\`, \`create-prototype-plan\`,
|
|
78
|
+
\`create-plan-design\`, \`create-visual-recap\`, \`create-visual-questions\`,
|
|
79
|
+
\`import-visual-plan-source\`, \`update-visual-plan\`, \`patch-visual-plan-source\`,
|
|
80
|
+
\`get-plan-feedback\`, \`export-visual-plan\`, \`set-resource-visibility\`, or any
|
|
81
|
+
other hosted Plan tool — except the schema-only block-catalog lookup above.
|
|
82
|
+
- **Feedback is file/chat feedback.** Update the MDX files directly, rerun
|
|
83
|
+
\`plan local check\`, and rerun \`serve\` or \`verify\` when that preview path is
|
|
84
|
+
available. Summarize the new local URL when one exists; otherwise summarize the
|
|
85
|
+
checked \`<plan-dir>\` path. Hosted comments, sharing, screenshots, history, usage
|
|
86
|
+
attachment, and publish/export receipts are unavailable until the user
|
|
87
|
+
explicitly opts into publishing.
|
|
88
|
+
|
|
89
|
+
Local-files mode only prevents plan/recap content from reaching the Agent-Native
|
|
90
|
+
Plan database. It does not by itself make the coding agent's language model local;
|
|
91
|
+
for that stronger boundary the host agent/model must also be local or otherwise
|
|
92
|
+
approved by the user.
|
|
93
|
+
|
|
94
|
+
<!-- SHARED-CORE:local-files END -->
|
|
95
|
+
`;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Setup/auth block for the `/visual-plan` skill. Interpolated into
|
|
3
|
+
* `VISUAL_PLANS_SKILL_MD` below so the install + one-step authenticate
|
|
4
|
+
* instructions are single-sourced. The materialized SKILL.md copies under
|
|
5
|
+
* `templates/plan/.agents/skills/*`, top-level `skills/*`, and
|
|
6
|
+
* `.agents/skills/*` are guarded byte-identical by `skills.sync.spec.ts`.
|
|
7
|
+
*/
|
|
8
|
+
export const PLAN_SETUP_AUTH_MD = `## Setup & Authentication
|
|
9
|
+
|
|
10
|
+
There are two ways into Plans.
|
|
11
|
+
|
|
12
|
+
**Coding agent (CLI).** Install once with the Agent-Native CLI. The command
|
|
13
|
+
installs the Plans skills, registers the hosted Plans MCP connector, and runs
|
|
14
|
+
auth/setup for the selected local client(s) in the same step (a one-time browser
|
|
15
|
+
sign-in at setup — this is intended), so the first tool call in that client does
|
|
16
|
+
not hit an OAuth wall:
|
|
17
|
+
|
|
18
|
+
\`\`\`bash
|
|
19
|
+
npx @agent-native/core@latest skills add visual-plans
|
|
20
|
+
\`\`\`
|
|
21
|
+
|
|
22
|
+
After that, \`/visual-plan\`, \`/visual-recap\`, and \`/visualize-repo\` are the
|
|
23
|
+
installed slash commands. If you only need one command, use
|
|
24
|
+
\`skills add visual-plan\`, \`skills add visual-recap\`, or
|
|
25
|
+
\`skills add visualize-repo\` instead. The other planning modes
|
|
26
|
+
(\`create-ui-plan\`, \`create-prototype-plan\`, \`create-plan-design\`,
|
|
27
|
+
\`create-visual-questions\`) are MCP tools reachable from \`/visual-plan\`, not
|
|
28
|
+
separate slash commands. Pass \`--no-connect\` to register the connector without
|
|
29
|
+
authenticating, then run
|
|
30
|
+
\`npx @agent-native/core@latest connect https://plan.agent-native.com --client all\`
|
|
31
|
+
whenever you are ready, or choose a narrower \`--client\`. Auth and MCP tool
|
|
32
|
+
loading are per client config/session.
|
|
33
|
+
|
|
34
|
+
**Local-only / text installs.** If the user wants no sharing and all local files,
|
|
35
|
+
install with \`--mode local-files\`:
|
|
36
|
+
|
|
37
|
+
\`\`\`bash
|
|
38
|
+
npx @agent-native/core@latest skills add visual-plans --mode local-files
|
|
39
|
+
\`\`\`
|
|
40
|
+
|
|
41
|
+
This mode does not register the Plan MCP connector. Before authoring structured
|
|
42
|
+
MDX, fetch the no-auth, schema-only block catalog with
|
|
43
|
+
\`npx @agent-native/core@latest plan blocks --out plan-blocks.md\`, read that file,
|
|
44
|
+
write the MDX folder locally, run \`plan local check\`, then run \`plan local serve\`.
|
|
45
|
+
For repo-wide visual docs, run
|
|
46
|
+
\`npx @agent-native/core@latest visualize-repo --open\` to create/update
|
|
47
|
+
\`agent-native.json\`, seed \`.agent-native/visual-docs/repo-overview\`, and open
|
|
48
|
+
the local bridge.
|
|
49
|
+
Plain text skill
|
|
50
|
+
installs (Vercel Skills CLI, copied GitHub files, etc.) can follow that same
|
|
51
|
+
local flow if \`@agent-native/core\` is available. Text alone cannot register
|
|
52
|
+
MCP tools; hosted/shareable Plans still need the Agent-Native CLI
|
|
53
|
+
install/reconnect step above.
|
|
54
|
+
|
|
55
|
+
**Browser (people you share with).** Open the Plans editor and create & edit
|
|
56
|
+
with no sign-up — you work as a guest. Sign in only when you want to save or
|
|
57
|
+
share; signing in claims the plans you made as a guest into your account.
|
|
58
|
+
|
|
59
|
+
Sharing and commenting require an account: public/shared plans are viewable by
|
|
60
|
+
anyone with the link, but commenting on them needs an agent-native account.
|
|
61
|
+
|
|
62
|
+
For no-account, no-DB plan storage, use local-files mode and the local bridge
|
|
63
|
+
command. The optional \`plan blocks\` lookup reads only public schema metadata.
|
|
64
|
+
If network access is unavailable, use the bundled references and a local Plan
|
|
65
|
+
app/runtime for validation.
|
|
66
|
+
|
|
67
|
+
If a Plans tool returns \`needs auth\`, \`Unauthorized\`, or \`Session terminated\`,
|
|
68
|
+
do not keep retrying the tool. Stop and give the user the reconnect step for the
|
|
69
|
+
client they are using: Codex/Codex Desktop should run
|
|
70
|
+
\`npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --client codex\`
|
|
71
|
+
and start a new Codex session; Claude Code should run \`/mcp\` and choose
|
|
72
|
+
Authenticate/Reconnect for the plan connector, or run the reconnect command with
|
|
73
|
+
\`--client claude-code\` and restart Claude. To refresh every local client config
|
|
74
|
+
that already has the Plan entry, use \`--client all\`, then restart/reload each
|
|
75
|
+
client. Reconnect re-authenticates WITHOUT reinstalling and finds the entry by
|
|
76
|
+
URL regardless of connector name. Never reinstall from scratch just to fix auth.
|
|
77
|
+
Continue once the connector is available.
|
|
78
|
+
|
|
79
|
+
Hosted default: connect \`https://plan.agent-native.com/_agent-native/mcp\`. Do
|
|
80
|
+
not put shared secrets in skill files.`;
|