@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.
Files changed (844) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +32 -0
  3. package/corpus/core/docs/content/authentication.mdx +3 -3
  4. package/corpus/core/docs/content/doctor.mdx +170 -0
  5. package/corpus/core/docs/content/external-agents.mdx +8 -7
  6. package/corpus/core/docs/content/locales/ar-SA/authentication.mdx +2 -2
  7. package/corpus/core/docs/content/locales/ar-SA/external-agents.mdx +8 -7
  8. package/corpus/core/docs/content/locales/ar-SA/mcp-protocol.mdx +1 -1
  9. package/corpus/core/docs/content/locales/ar-SA/security.mdx +2 -0
  10. package/corpus/core/docs/content/locales/de-DE/authentication.mdx +1 -1
  11. package/corpus/core/docs/content/locales/de-DE/external-agents.mdx +8 -7
  12. package/corpus/core/docs/content/locales/de-DE/mcp-protocol.mdx +1 -1
  13. package/corpus/core/docs/content/locales/de-DE/security.mdx +2 -0
  14. package/corpus/core/docs/content/locales/es-ES/authentication.mdx +2 -2
  15. package/corpus/core/docs/content/locales/es-ES/external-agents.mdx +8 -7
  16. package/corpus/core/docs/content/locales/es-ES/mcp-protocol.mdx +1 -1
  17. package/corpus/core/docs/content/locales/es-ES/security.mdx +2 -0
  18. package/corpus/core/docs/content/locales/fr-FR/authentication.mdx +1 -1
  19. package/corpus/core/docs/content/locales/fr-FR/external-agents.mdx +8 -7
  20. package/corpus/core/docs/content/locales/fr-FR/mcp-protocol.mdx +1 -1
  21. package/corpus/core/docs/content/locales/fr-FR/security.mdx +2 -0
  22. package/corpus/core/docs/content/locales/hi-IN/authentication.mdx +2 -2
  23. package/corpus/core/docs/content/locales/hi-IN/external-agents.mdx +8 -7
  24. package/corpus/core/docs/content/locales/hi-IN/mcp-protocol.mdx +1 -1
  25. package/corpus/core/docs/content/locales/hi-IN/security.mdx +2 -0
  26. package/corpus/core/docs/content/locales/ja-JP/authentication.mdx +2 -2
  27. package/corpus/core/docs/content/locales/ja-JP/external-agents.mdx +8 -7
  28. package/corpus/core/docs/content/locales/ja-JP/mcp-protocol.mdx +1 -1
  29. package/corpus/core/docs/content/locales/ja-JP/security.mdx +2 -0
  30. package/corpus/core/docs/content/locales/ko-KR/authentication.mdx +2 -2
  31. package/corpus/core/docs/content/locales/ko-KR/external-agents.mdx +8 -7
  32. package/corpus/core/docs/content/locales/ko-KR/mcp-protocol.mdx +1 -1
  33. package/corpus/core/docs/content/locales/ko-KR/security.mdx +2 -0
  34. package/corpus/core/docs/content/locales/pt-BR/authentication.mdx +2 -2
  35. package/corpus/core/docs/content/locales/pt-BR/external-agents.mdx +8 -7
  36. package/corpus/core/docs/content/locales/pt-BR/mcp-protocol.mdx +1 -1
  37. package/corpus/core/docs/content/locales/pt-BR/security.mdx +2 -0
  38. package/corpus/core/docs/content/locales/zh-CN/authentication.mdx +2 -2
  39. package/corpus/core/docs/content/locales/zh-CN/external-agents.mdx +8 -7
  40. package/corpus/core/docs/content/locales/zh-CN/mcp-protocol.mdx +1 -1
  41. package/corpus/core/docs/content/locales/zh-CN/security.mdx +2 -0
  42. package/corpus/core/docs/content/locales/zh-TW/authentication.mdx +2 -2
  43. package/corpus/core/docs/content/locales/zh-TW/external-agents.mdx +8 -7
  44. package/corpus/core/docs/content/locales/zh-TW/mcp-protocol.mdx +1 -1
  45. package/corpus/core/docs/content/locales/zh-TW/security.mdx +2 -0
  46. package/corpus/core/docs/content/mcp-protocol.mdx +1 -1
  47. package/corpus/core/docs/content/security.mdx +2 -0
  48. package/corpus/core/package.json +5 -1
  49. package/corpus/core/scripts/finalize-build.mjs +63 -3
  50. package/corpus/core/scripts/materialize-source-corpus.mjs +101 -15
  51. package/corpus/core/src/action.ts +42 -0
  52. package/corpus/core/src/agent/engine/builder-engine.ts +3 -0
  53. package/corpus/core/src/agent/engine/context-directives-transform.ts +69 -0
  54. package/corpus/core/src/agent/engine/continuation-dispatch-retry.ts +168 -0
  55. package/corpus/core/src/agent/engine/tool-call-journal-seed.ts +85 -0
  56. package/corpus/core/src/agent/production-agent.ts +129 -244
  57. package/corpus/core/src/cli/doctor.ts +9 -3
  58. package/corpus/core/src/cli/plan-local.ts +10 -2
  59. package/corpus/core/src/cli/skills-content/assets-skill.ts +83 -0
  60. package/corpus/core/src/cli/skills-content/canvas.ts +153 -0
  61. package/corpus/core/src/cli/skills-content/connection.ts +52 -0
  62. package/corpus/core/src/cli/skills-content/content-skill.ts +109 -0
  63. package/corpus/core/src/cli/skills-content/design-exploration-skill.ts +118 -0
  64. package/corpus/core/src/cli/skills-content/design-visual-edit-skill.ts +228 -0
  65. package/corpus/core/src/cli/skills-content/document-quality.ts +196 -0
  66. package/corpus/core/src/cli/skills-content/exemplar.ts +69 -0
  67. package/corpus/core/src/cli/skills-content/help.ts +77 -0
  68. package/corpus/core/src/cli/skills-content/index.ts +22 -0
  69. package/corpus/core/src/cli/skills-content/local-files.ts +95 -0
  70. package/corpus/core/src/cli/skills-content/plan-setup-auth.ts +80 -0
  71. package/corpus/core/src/cli/skills-content/visual-plan-skill.ts +470 -0
  72. package/corpus/core/src/cli/skills-content/visual-recap-skill.ts +547 -0
  73. package/corpus/core/src/cli/skills-content/visualize-repo-skill.ts +93 -0
  74. package/corpus/core/src/cli/skills-content/wireframe.ts +349 -0
  75. package/corpus/core/src/cli/skills.ts +27 -2733
  76. package/corpus/core/src/client/AgentPanel.tsx +6 -5
  77. package/corpus/core/src/client/CommandMenu.tsx +16 -5
  78. package/corpus/core/src/client/FeedbackButton.tsx +2 -2
  79. package/corpus/core/src/client/app-providers.tsx +18 -5
  80. package/corpus/core/src/client/chat/tool-call-display.tsx +3 -3
  81. package/corpus/core/src/client/composer/PastedTextChip.tsx +1 -1
  82. package/corpus/core/src/client/composer/RealtimeVoiceMode.tsx +143 -45
  83. package/corpus/core/src/client/composer/TiptapComposer.tsx +1 -1
  84. package/corpus/core/src/client/composer/VoiceButton.tsx +21 -5
  85. package/corpus/core/src/client/composer/useRealtimeVoiceMode.tsx +107 -10
  86. package/corpus/core/src/client/context-xray/ContextXRayPanel.tsx +5 -2
  87. package/corpus/core/src/client/extensions/ExtensionEditor.tsx +37 -4
  88. package/corpus/core/src/client/extensions/ExtensionQueryErrorState.tsx +47 -0
  89. package/corpus/core/src/client/extensions/ExtensionSlot.tsx +39 -10
  90. package/corpus/core/src/client/extensions/ExtensionViewer.tsx +44 -6
  91. package/corpus/core/src/client/extensions/ExtensionsListPage.tsx +12 -3
  92. package/corpus/core/src/client/extensions/ExtensionsSidebarSection.tsx +49 -11
  93. package/corpus/core/src/client/index.ts +0 -13
  94. package/corpus/core/src/client/progress/RunsTray.tsx +10 -3
  95. package/corpus/core/src/client/settings/SettingsTabsPage.tsx +7 -0
  96. package/corpus/core/src/client/settings/useBuilderStatus.ts +6 -0
  97. package/corpus/core/src/client/tool-cells/EditCell.tsx +19 -16
  98. package/corpus/core/src/client/tool-cells/FilesChangedSummary.tsx +26 -23
  99. package/corpus/core/src/client/tool-cells/WriteCell.tsx +19 -16
  100. package/corpus/core/src/client/visual-style-controls.tsx +1 -1
  101. package/corpus/core/src/deploy/build.ts +36 -14
  102. package/corpus/core/src/integrations/google-docs-poller.ts +23 -2
  103. package/corpus/core/src/integrations/plugin.ts +10 -0
  104. package/corpus/core/src/integrations/webhook-handler.ts +27 -2
  105. package/corpus/core/src/jobs/scheduler.ts +28 -2
  106. package/corpus/core/src/localization/default-messages.ts +8 -1
  107. package/corpus/core/src/mcp/oauth-token.ts +6 -1
  108. package/corpus/core/src/observability/routes.ts +36 -0
  109. package/corpus/core/src/observability/sentiment.ts +261 -0
  110. package/corpus/core/src/observability/store.ts +23 -0
  111. package/corpus/core/src/observability/traces.ts +49 -63
  112. package/corpus/core/src/observability/tracking-identity.ts +55 -0
  113. package/corpus/core/src/observability/types.ts +13 -0
  114. package/corpus/core/src/secrets/storage.ts +67 -3
  115. package/corpus/core/src/server/agent-chat/action-filters-a2a.ts +199 -0
  116. package/corpus/core/src/server/agent-chat/browser-team-tools.ts +510 -0
  117. package/corpus/core/src/server/agent-chat/context-tools.ts +595 -0
  118. package/corpus/core/src/server/agent-chat/framework-prompts.ts +470 -0
  119. package/corpus/core/src/server/agent-chat/lazy-fs.ts +11 -0
  120. package/corpus/core/src/server/agent-chat/mcp-glue.ts +91 -0
  121. package/corpus/core/src/server/agent-chat/plugin-options.ts +350 -0
  122. package/corpus/core/src/server/agent-chat/process-run-failure.ts +62 -0
  123. package/corpus/core/src/server/agent-chat/prompt-resources.ts +688 -0
  124. package/corpus/core/src/server/agent-chat/recurring-jobs-runtime.ts +80 -0
  125. package/corpus/core/src/server/agent-chat/request-surface.ts +71 -0
  126. package/corpus/core/src/server/agent-chat/run-code-tools.ts +67 -0
  127. package/corpus/core/src/server/agent-chat/script-entries.ts +779 -0
  128. package/corpus/core/src/server/agent-chat/shared-thread.ts +301 -0
  129. package/corpus/core/src/server/agent-chat/skill-frontmatter.ts +41 -0
  130. package/corpus/core/src/server/agent-chat-plugin.ts +364 -4182
  131. package/corpus/core/src/server/agent-teams.ts +26 -3
  132. package/corpus/core/src/server/auth.ts +55 -57
  133. package/corpus/core/src/server/credential-provider.ts +22 -25
  134. package/corpus/core/src/server/edge.ts +1 -0
  135. package/corpus/core/src/server/onboarding-html.ts +1 -16
  136. package/corpus/core/src/server/realtime-voice.ts +40 -5
  137. package/corpus/core/src/server/request-origin.ts +6 -2
  138. package/corpus/core/src/server/ssr-handler.ts +55 -2
  139. package/corpus/core/src/sharing/access.ts +155 -11
  140. package/corpus/core/src/sharing/registry.ts +7 -0
  141. package/corpus/core/src/styles/agent-native.css +15 -14
  142. package/corpus/core/src/templates/default/.agents/skills/frontend-design/SKILL.md +1 -1
  143. package/corpus/core/src/templates/default/app/i18n/ar-SA.ts +6 -0
  144. package/corpus/core/src/templates/default/app/i18n/de-DE.ts +6 -0
  145. package/corpus/core/src/templates/default/app/i18n/en-US.ts +6 -0
  146. package/corpus/core/src/templates/default/app/i18n/es-ES.ts +6 -0
  147. package/corpus/core/src/templates/default/app/i18n/fr-FR.ts +6 -0
  148. package/corpus/core/src/templates/default/app/i18n/hi-IN.ts +6 -0
  149. package/corpus/core/src/templates/default/app/i18n/ja-JP.ts +6 -0
  150. package/corpus/core/src/templates/default/app/i18n/ko-KR.ts +6 -0
  151. package/corpus/core/src/templates/default/app/i18n/pt-BR.ts +6 -0
  152. package/corpus/core/src/templates/default/app/i18n/zh-CN.ts +6 -0
  153. package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +6 -0
  154. package/corpus/core/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +27 -29
  155. package/corpus/core/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +2 -1
  156. package/corpus/core/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +1 -1
  157. package/corpus/core/src/templates/workspace-core/.agents/skills/observability/SKILL.md +32 -0
  158. package/corpus/core/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +25 -0
  159. package/corpus/core/src/templates/workspace-core/src/server/index.ts +4 -2
  160. package/corpus/core/src/testing.ts +26 -0
  161. package/corpus/core/src/triggers/dispatcher.ts +23 -2
  162. package/corpus/core/src/vite/client.ts +126 -2
  163. package/corpus/core/tsconfig.cli.json +1 -1
  164. package/corpus/core/tsconfig.json +5 -1
  165. package/corpus/templates/analytics/.agents/skills/bigquery/SKILL.md +2 -2
  166. package/corpus/templates/analytics/.agents/skills/frontend-design/SKILL.md +1 -1
  167. package/corpus/templates/analytics/AGENTS.md +19 -6
  168. package/corpus/templates/analytics/actions/install-dashboard-template.ts +79 -43
  169. package/corpus/templates/analytics/actions/list-explorer-dashboards.ts +3 -3
  170. package/corpus/templates/analytics/actions/list-sql-dashboards.ts +8 -3
  171. package/corpus/templates/analytics/actions/rename-analysis.ts +8 -2
  172. package/corpus/templates/analytics/actions/rename-dashboard.ts +8 -7
  173. package/corpus/templates/analytics/actions/view-screen.ts +4 -23
  174. package/corpus/templates/analytics/app/components/ResourceLoadError.tsx +42 -0
  175. package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +85 -70
  176. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +107 -89
  177. package/corpus/templates/analytics/app/components/layout/SidebarLoadError.tsx +24 -0
  178. package/corpus/templates/analytics/app/hooks/use-dashboard-views.ts +15 -5
  179. package/corpus/templates/analytics/app/i18n/zh-TW.ts +4 -0
  180. package/corpus/templates/analytics/app/i18n-data.ts +40 -0
  181. package/corpus/templates/analytics/app/pages/Settings.tsx +6 -2
  182. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/SqlPreview.tsx +36 -20
  183. package/corpus/templates/analytics/app/pages/adhoc/explorer/index.tsx +34 -20
  184. package/corpus/templates/analytics/app/pages/adhoc/explorer/use-explorer-config.ts +42 -41
  185. package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +43 -36
  186. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/ViewsMenu.tsx +11 -2
  187. package/corpus/templates/analytics/app/root.tsx +13 -1
  188. package/corpus/templates/analytics/app/routes/_index.tsx +14 -2
  189. package/corpus/templates/analytics/changelog/2026-07-03-agent-llm-observability-dashboard.md +1 -1
  190. package/corpus/templates/analytics/changelog/2026-07-11-agent-feedback-sentiment-dashboard.md +6 -0
  191. package/corpus/templates/analytics/changelog/2026-07-11-analytics-chats-now-start-faster-by-loading-metric-definitio.md +6 -0
  192. package/corpus/templates/analytics/changelog/2026-07-11-command-and-sql-previews-now-respond-without-lag.md +6 -0
  193. package/corpus/templates/analytics/changelog/2026-07-11-command-search-now-reports-loading-failures-and-lets-you-ret.md +6 -0
  194. package/corpus/templates/analytics/changelog/2026-07-11-dashboard-navigation-now-loads-faster-and-reports-request-fa.md +6 -0
  195. package/corpus/templates/analytics/changelog/2026-07-11-inferred-message-sentiment-dashboard.md +6 -0
  196. package/corpus/templates/analytics/changelog/2026-07-11-microphone-settings-from-realtime-voice-mode-now-open-the-vo.md +6 -0
  197. package/corpus/templates/analytics/changelog/2026-07-11-more-dashboard-edit-paths-are-now-safe-against-simultaneous-.md +6 -0
  198. package/corpus/templates/analytics/changelog/2026-07-11-renaming-a-dashboard-is-now-safe-against-simultaneous-agent-.md +6 -0
  199. package/corpus/templates/analytics/changelog/2026-07-11-renaming-an-analysis-is-now-safe-against-simultaneous-edits.md +6 -0
  200. package/corpus/templates/analytics/changelog/2026-07-11-workspace-mounted-analytics-now-opens-ask-reliably-and-route.md +6 -0
  201. package/corpus/templates/analytics/docs/schemas/first-party-analytics.md +37 -3
  202. package/corpus/templates/analytics/seeds/dashboards/agent-native-templates-first-party.json +339 -1
  203. package/corpus/templates/analytics/server/lib/dashboard-catalog.ts +1 -24
  204. package/corpus/templates/analytics/server/lib/dashboard-seeds.ts +0 -5
  205. package/corpus/templates/analytics/server/lib/dashboards-store.ts +289 -20
  206. package/corpus/templates/analytics/server/lib/data-dictionary-context.ts +106 -34
  207. package/corpus/templates/analytics/server/lib/demo-dashboards.ts +4 -1
  208. package/corpus/templates/analytics/server/plugins/agent-chat.ts +11 -39
  209. package/corpus/templates/assets/.agents/skills/frontend-design/SKILL.md +1 -1
  210. package/corpus/templates/assets/app/components/create/RecentDraftsSection.tsx +30 -4
  211. package/corpus/templates/assets/app/routes/library.tsx +49 -5
  212. package/corpus/templates/assets/changelog/2026-07-11-library-load-failures-now-show-a-retry-action.md +6 -0
  213. package/corpus/templates/brain/.agents/skills/frontend-design/SKILL.md +1 -1
  214. package/corpus/templates/calendar/.agents/skills/frontend-design/SKILL.md +1 -1
  215. package/corpus/templates/calendar/.env.example +5 -0
  216. package/corpus/templates/calendar/app/components/calendar/EventCard.tsx +2 -2
  217. package/corpus/templates/calendar/app/i18n/zh-TW.ts +2 -0
  218. package/corpus/templates/calendar/app/i18n-data.ts +20 -0
  219. package/corpus/templates/calendar/app/pages/BookingLinksPage.tsx +37 -1
  220. package/corpus/templates/calendar/app/pages/BookingsList.tsx +20 -3
  221. package/corpus/templates/calendar/changelog/2026-07-11-booking-load-failures-now-show-a-retry-action.md +6 -0
  222. package/corpus/templates/calendar/changelog/2026-07-11-event-cards-give-subtle-press-feedback-and-smoother-hover.md +6 -0
  223. package/corpus/templates/chat/.agents/skills/frontend-design/SKILL.md +1 -1
  224. package/corpus/templates/clips/.agents/skills/frontend-design/SKILL.md +1 -1
  225. package/corpus/templates/clips/actions/decline-invite.ts +8 -0
  226. package/corpus/templates/clips/app/components/library/folder-tree.tsx +209 -187
  227. package/corpus/templates/clips/app/components/meetings/meeting-card.tsx +2 -2
  228. package/corpus/templates/clips/app/components/player/reactions-tray.tsx +17 -5
  229. package/corpus/templates/clips/app/components/player/scrubber.tsx +5 -3
  230. package/corpus/templates/clips/app/components/recorder/pre-record-panel.tsx +2 -2
  231. package/corpus/templates/clips/app/components/workspace/insights-hub.tsx +119 -95
  232. package/corpus/templates/clips/app/global.css +45 -0
  233. package/corpus/templates/clips/app/root.tsx +4 -0
  234. package/corpus/templates/clips/app/routes/_app.notifications.tsx +23 -2
  235. package/corpus/templates/clips/app/routes/_app.trash.tsx +24 -2
  236. package/corpus/templates/clips/changelog/2026-07-11-controls-and-folders-now-move-more-smoothly.md +6 -0
  237. package/corpus/templates/clips/changelog/2026-07-11-declining-an-invitation-now-requires-being-its-recipient.md +6 -0
  238. package/corpus/templates/clips/changelog/2026-07-11-recording-overlays-are-lighter-weight-and-no-longer-cause-pa.md +6 -0
  239. package/corpus/templates/clips/changelog/2026-07-11-workspace-load-failures-now-show-a-retry-action.md +6 -0
  240. package/corpus/templates/clips/chrome-extension/src/overlay.css +34 -5
  241. package/corpus/templates/clips/chrome-extension/src/styles.css +2 -2
  242. package/corpus/templates/clips/desktop/src/styles.css +71 -26
  243. package/corpus/templates/content/.agents/skills/frontend-design/SKILL.md +1 -1
  244. package/corpus/templates/content/actions/move-document.ts +34 -18
  245. package/corpus/templates/content/app/components/QueryErrorState.tsx +39 -0
  246. package/corpus/templates/content/app/components/editor/LinkHoverPreview.tsx +1 -1
  247. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +225 -1435
  248. package/corpus/templates/content/app/components/editor/database/GalleryView.tsx +368 -0
  249. package/corpus/templates/content/app/components/editor/database/ListView.tsx +353 -0
  250. package/corpus/templates/content/app/components/editor/database/TimelineView.tsx +580 -0
  251. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +11 -2
  252. package/corpus/templates/content/app/global.css +19 -19
  253. package/corpus/templates/content/app/root.tsx +2 -2
  254. package/corpus/templates/content/app/routes/_app._index.tsx +11 -1
  255. package/corpus/templates/content/changelog/2026-07-11-document-load-failures-now-show-a-retry-action.md +6 -0
  256. package/corpus/templates/content/changelog/2026-07-11-editor-toggle-feedback-now-feels-more-responsive.md +6 -0
  257. package/corpus/templates/content/changelog/2026-07-11-moving-documents-at-the-same-time-no-longer-scrambles-their-.md +6 -0
  258. package/corpus/templates/content/changelog/2026-07-11-public-document-chats-now-start-faster-while-keeping-full-do.md +6 -0
  259. package/corpus/templates/content/changelog/2026-07-11-reopening-a-comment-now-uses-consistent-permissions-everywhe.md +6 -0
  260. package/corpus/templates/content/changelog/2026-07-11-sidebar-resizing-now-tracks-your-cursor-instantly-instead-of.md +6 -0
  261. package/corpus/templates/content/server/lib/public-documents.ts +47 -10
  262. package/corpus/templates/content/server/routes/api/comments/[id].patch.ts +24 -24
  263. package/corpus/templates/design/.agents/skills/frontend-design/SKILL.md +1 -1
  264. package/corpus/templates/design/app/components/QueryErrorState.tsx +24 -0
  265. package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +1 -1
  266. package/corpus/templates/design/app/components/design/DesignImportPanel.tsx +5 -2
  267. package/corpus/templates/design/app/components/design/EditPanel.tsx +326 -319
  268. package/corpus/templates/design/app/components/design/LayersPanel.tsx +198 -193
  269. package/corpus/templates/design/app/components/design/edit-panel/panel-primitives.tsx +11 -4
  270. package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +1 -1
  271. package/corpus/templates/design/app/components/layout/Layout.tsx +1 -1
  272. package/corpus/templates/design/app/pages/DesignSystems.tsx +7 -1
  273. package/corpus/templates/design/app/pages/Index.tsx +14 -2
  274. package/corpus/templates/design/app/pages/Present.tsx +16 -3
  275. package/corpus/templates/design/app/pages/Templates.tsx +10 -4
  276. package/corpus/templates/design/app/pages/design-editor/canvas-primitive-insert.ts +484 -0
  277. package/corpus/templates/design/app/pages/design-editor/clone-and-pen-edit.ts +378 -0
  278. package/corpus/templates/design/app/pages/design-editor/design-data-geometry-utils.ts +138 -0
  279. package/corpus/templates/design/app/pages/design-editor/dom-utils.ts +15 -0
  280. package/corpus/templates/design/app/pages/design-editor/generation-prompt-directives.ts +180 -0
  281. package/corpus/templates/design/app/pages/design-editor/html-layer-positioning.ts +226 -0
  282. package/corpus/templates/design/app/pages/design-editor/png-export-render.ts +348 -0
  283. package/corpus/templates/design/app/pages/design-editor/screen-command-utils.ts +160 -0
  284. package/corpus/templates/design/app/pages/design-editor/text-edit-utils.ts +238 -0
  285. package/corpus/templates/design/app/pages/design-editor/tool-state.ts +23 -1
  286. package/corpus/templates/design/app/pages/design-editor/types.ts +25 -0
  287. package/corpus/templates/design/app/root.tsx +10 -1
  288. package/corpus/templates/design/changelog/2026-07-11-canvas-context-menus-now-open-without-motion-jitter.md +6 -0
  289. package/corpus/templates/design/changelog/2026-07-11-design-load-failures-now-show-a-retry-action.md +6 -0
  290. package/corpus/templates/design/changelog/2026-07-11-inspector-tooltips-appear-instantly-as-you-sweep-across-icon.md +6 -0
  291. package/corpus/templates/dispatch/.agents/skills/frontend-design/SKILL.md +1 -1
  292. package/corpus/templates/dispatch/app/i18n/zh-TW.ts +10 -0
  293. package/corpus/templates/dispatch/app/i18n-data.ts +123 -0
  294. package/corpus/templates/dispatch/app/routes/integrations.tsx +163 -144
  295. package/corpus/templates/dispatch/changelog/2026-07-11-dispatch-mcp-connections-now-start-with-safer-app-access-and.md +6 -0
  296. package/corpus/templates/dispatch/changelog/2026-07-11-overview-and-chat-now-share-a-cleaner-more-stable-flow.md +6 -0
  297. package/corpus/templates/dispatch/changelog/2026-07-11-query-errors-now-show-a-retry-option.md +6 -0
  298. package/corpus/templates/forms/.agents/skills/frontend-design/SKILL.md +1 -1
  299. package/corpus/templates/forms/app/components/layout/Sidebar.tsx +3 -3
  300. package/corpus/templates/forms/app/root.tsx +34 -8
  301. package/corpus/templates/macros/.agents/skills/frontend-design/SKILL.md +1 -1
  302. package/corpus/templates/macros/app/components/DailyProgress.tsx +25 -5
  303. package/corpus/templates/macros/app/components/QueryErrorState.tsx +31 -0
  304. package/corpus/templates/macros/app/components/WeightTracker.tsx +5 -1
  305. package/corpus/templates/macros/app/components/ui/button.tsx +1 -1
  306. package/corpus/templates/macros/app/components/ui/progress.tsx +1 -1
  307. package/corpus/templates/macros/app/components/ui/tabs.tsx +1 -1
  308. package/corpus/templates/macros/app/i18n/ar-SA.ts +2 -0
  309. package/corpus/templates/macros/app/i18n/de-DE.ts +2 -0
  310. package/corpus/templates/macros/app/i18n/en-US.ts +2 -0
  311. package/corpus/templates/macros/app/i18n/es-ES.ts +2 -0
  312. package/corpus/templates/macros/app/i18n/fr-FR.ts +2 -0
  313. package/corpus/templates/macros/app/i18n/hi-IN.ts +2 -0
  314. package/corpus/templates/macros/app/i18n/ja-JP.ts +2 -0
  315. package/corpus/templates/macros/app/i18n/ko-KR.ts +2 -0
  316. package/corpus/templates/macros/app/i18n/pt-BR.ts +2 -0
  317. package/corpus/templates/macros/app/i18n/zh-CN.ts +2 -0
  318. package/corpus/templates/macros/app/i18n/zh-TW.ts +2 -0
  319. package/corpus/templates/macros/app/routes/_index.tsx +22 -12
  320. package/corpus/templates/macros/app/routes/analytics.tsx +31 -10
  321. package/corpus/templates/macros/changelog/2026-07-11-daily-tracking-now-loads-and-updates-more-quickly.md +6 -0
  322. package/corpus/templates/macros/changelog/2026-07-11-data-load-failures-now-show-a-clear-error-with-a-retry-actio.md +6 -0
  323. package/corpus/templates/mail/.agents/skills/frontend-design/SKILL.md +1 -1
  324. package/corpus/templates/mail/.env.example +16 -11
  325. package/corpus/templates/mail/actions/list-emails.ts +39 -35
  326. package/corpus/templates/mail/app/components/email/ComposeModal.tsx +58 -6
  327. package/corpus/templates/mail/app/components/email/EmailListItem.tsx +35 -2
  328. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +113 -104
  329. package/corpus/templates/mail/app/root.tsx +8 -10
  330. package/corpus/templates/mail/changelog/2026-07-11-compose-and-navigation-motion-now-feel-faster-and-smoother.md +6 -0
  331. package/corpus/templates/mail/changelog/2026-07-11-swipe-to-archive-or-snooze-now-responds-to-quick-flicks-not-.md +6 -0
  332. package/corpus/templates/mail/changelog/2026-07-11-the-assistant-now-sees-the-same-inbox-you-do-snoozed-mail-st.md +6 -0
  333. package/corpus/templates/mail/server/handlers/emails.ts +25 -69
  334. package/corpus/templates/mail/server/lib/list-inbox-emails.ts +169 -0
  335. package/corpus/templates/plan/.agents/skills/frontend-design/SKILL.md +1 -1
  336. package/corpus/templates/plan/.env.example +4 -0
  337. package/corpus/templates/plan/actions/create-plan-design.ts +89 -81
  338. package/corpus/templates/plan/actions/create-prototype-plan.ts +72 -59
  339. package/corpus/templates/plan/actions/create-ui-plan.ts +70 -55
  340. package/corpus/templates/plan/actions/create-visual-plan.ts +65 -51
  341. package/corpus/templates/plan/actions/update-local-plan-folder.ts +43 -30
  342. package/corpus/templates/plan/actions/update-visual-plan.ts +81 -64
  343. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +17 -0
  344. package/corpus/templates/plan/app/components/ui/tabs.tsx +1 -1
  345. package/corpus/templates/plan/app/i18n/ar-SA.ts +10 -0
  346. package/corpus/templates/plan/app/i18n/de-DE.ts +10 -0
  347. package/corpus/templates/plan/app/i18n/en-US.ts +10 -0
  348. package/corpus/templates/plan/app/i18n/es-ES.ts +10 -0
  349. package/corpus/templates/plan/app/i18n/fr-FR.ts +10 -0
  350. package/corpus/templates/plan/app/i18n/hi-IN.ts +10 -0
  351. package/corpus/templates/plan/app/i18n/ja-JP.ts +10 -0
  352. package/corpus/templates/plan/app/i18n/ko-KR.ts +10 -0
  353. package/corpus/templates/plan/app/i18n/pt-BR.ts +10 -0
  354. package/corpus/templates/plan/app/i18n/zh-CN.ts +10 -0
  355. package/corpus/templates/plan/app/i18n/zh-TW.ts +10 -0
  356. package/corpus/templates/plan/app/lib/plan-local-bridge.ts +80 -1
  357. package/corpus/templates/plan/app/pages/PlansPage.tsx +152 -4
  358. package/corpus/templates/plan/app/root.tsx +11 -0
  359. package/corpus/templates/plan/changelog/2026-07-11-local-plans-now-explain-and-recover-from-browser-permission-.md +6 -0
  360. package/corpus/templates/plan/changelog/2026-07-11-plan-edits-now-save-atomically-and-can-no-longer-partially-a.md +6 -0
  361. package/corpus/templates/plan/changelog/2026-07-11-plan-lists-now-show-a-clear-error-with-a-retry-action-when-t.md +6 -0
  362. package/corpus/templates/plan/shared/plan-content.ts +546 -260
  363. package/corpus/templates/slides/.agents/skills/frontend-design/SKILL.md +1 -1
  364. package/corpus/templates/slides/actions/delete-slide-comment.ts +49 -0
  365. package/corpus/templates/slides/actions/update-slide-comment.ts +93 -0
  366. package/corpus/templates/slides/actions/view-screen.ts +14 -6
  367. package/corpus/templates/slides/app/components/comments/SlideCommentsPanel.tsx +33 -10
  368. package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +1 -1
  369. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +1 -1
  370. package/corpus/templates/slides/app/components/editor/GenerateSlidesDialog.tsx +2 -2
  371. package/corpus/templates/slides/app/components/presentation/PresentationView.tsx +4 -2
  372. package/corpus/templates/slides/app/components/visual-editor/CanvasCommentPins.tsx +4 -3
  373. package/corpus/templates/slides/app/context/DeckContext.tsx +9 -0
  374. package/corpus/templates/slides/app/i18n/ar-SA.ts +6 -0
  375. package/corpus/templates/slides/app/i18n/de-DE.ts +6 -0
  376. package/corpus/templates/slides/app/i18n/en-US.ts +6 -0
  377. package/corpus/templates/slides/app/i18n/es-ES.ts +6 -0
  378. package/corpus/templates/slides/app/i18n/fr-FR.ts +6 -0
  379. package/corpus/templates/slides/app/i18n/hi-IN.ts +6 -0
  380. package/corpus/templates/slides/app/i18n/ja-JP.ts +6 -0
  381. package/corpus/templates/slides/app/i18n/ko-KR.ts +6 -0
  382. package/corpus/templates/slides/app/i18n/pt-BR.ts +6 -0
  383. package/corpus/templates/slides/app/i18n/zh-CN.ts +5 -0
  384. package/corpus/templates/slides/app/i18n/zh-TW.ts +5 -0
  385. package/corpus/templates/slides/app/pages/DesignSystems.tsx +23 -2
  386. package/corpus/templates/slides/app/pages/Index.tsx +29 -1
  387. package/corpus/templates/slides/changelog/2026-07-11-comment-load-failures-now-show-a-retry-action-instead-of-say.md +6 -0
  388. package/corpus/templates/slides/changelog/2026-07-11-comment-pins-now-clear-with-a-faster-smoother-confirmation.md +6 -0
  389. package/corpus/templates/slides/changelog/2026-07-11-deck-and-design-system-load-failures-now-show-a-retry-action.md +6 -0
  390. package/corpus/templates/slides/changelog/2026-07-11-editor-toggles-and-toolbar-menus-now-animate-smoothly.md +6 -0
  391. package/corpus/templates/slides/changelog/2026-07-11-the-assistant-can-now-resolve-reopen-and-delete-slide-commen.md +6 -0
  392. package/corpus/templates/slides/changelog/2026-07-11-viewing-slides-no-longer-loads-every-deck-s-full-contents-in.md +6 -0
  393. package/corpus/templates/slides/server/routes/api/comments/[id].delete.ts +29 -48
  394. package/corpus/templates/slides/server/routes/api/comments/[id].patch.ts +29 -65
  395. package/dist/action.d.ts +23 -0
  396. package/dist/action.d.ts.map +1 -1
  397. package/dist/action.js +13 -0
  398. package/dist/action.js.map +1 -1
  399. package/dist/agent/engine/builder-engine.d.ts.map +1 -1
  400. package/dist/agent/engine/builder-engine.js +3 -0
  401. package/dist/agent/engine/builder-engine.js.map +1 -1
  402. package/dist/agent/engine/context-directives-transform.d.ts +25 -0
  403. package/dist/agent/engine/context-directives-transform.d.ts.map +1 -0
  404. package/dist/agent/engine/context-directives-transform.js +53 -0
  405. package/dist/agent/engine/context-directives-transform.js.map +1 -0
  406. package/dist/agent/engine/continuation-dispatch-retry.d.ts +40 -0
  407. package/dist/agent/engine/continuation-dispatch-retry.d.ts.map +1 -0
  408. package/dist/agent/engine/continuation-dispatch-retry.js +109 -0
  409. package/dist/agent/engine/continuation-dispatch-retry.js.map +1 -0
  410. package/dist/agent/engine/tool-call-journal-seed.d.ts +46 -0
  411. package/dist/agent/engine/tool-call-journal-seed.d.ts.map +1 -0
  412. package/dist/agent/engine/tool-call-journal-seed.js +60 -0
  413. package/dist/agent/engine/tool-call-journal-seed.js.map +1 -0
  414. package/dist/agent/production-agent.d.ts +7 -0
  415. package/dist/agent/production-agent.d.ts.map +1 -1
  416. package/dist/agent/production-agent.js +102 -222
  417. package/dist/agent/production-agent.js.map +1 -1
  418. package/dist/cli/doctor.d.ts.map +1 -1
  419. package/dist/cli/doctor.js +7 -3
  420. package/dist/cli/doctor.js.map +1 -1
  421. package/dist/cli/plan-local.d.ts.map +1 -1
  422. package/dist/cli/plan-local.js +8 -2
  423. package/dist/cli/plan-local.js.map +1 -1
  424. package/dist/cli/skills-content/assets-skill.d.ts +2 -0
  425. package/dist/cli/skills-content/assets-skill.d.ts.map +1 -0
  426. package/dist/cli/skills-content/assets-skill.js +84 -0
  427. package/dist/cli/skills-content/assets-skill.js.map +1 -0
  428. package/dist/cli/skills-content/canvas.d.ts +4 -0
  429. package/dist/cli/skills-content/canvas.d.ts.map +1 -0
  430. package/dist/cli/skills-content/canvas.js +152 -0
  431. package/dist/cli/skills-content/canvas.js.map +1 -0
  432. package/dist/cli/skills-content/connection.d.ts +2 -0
  433. package/dist/cli/skills-content/connection.d.ts.map +1 -0
  434. package/dist/cli/skills-content/connection.js +53 -0
  435. package/dist/cli/skills-content/connection.js.map +1 -0
  436. package/dist/cli/skills-content/content-skill.d.ts +2 -0
  437. package/dist/cli/skills-content/content-skill.d.ts.map +1 -0
  438. package/dist/cli/skills-content/content-skill.js +110 -0
  439. package/dist/cli/skills-content/content-skill.js.map +1 -0
  440. package/dist/cli/skills-content/design-exploration-skill.d.ts +2 -0
  441. package/dist/cli/skills-content/design-exploration-skill.d.ts.map +1 -0
  442. package/dist/cli/skills-content/design-exploration-skill.js +119 -0
  443. package/dist/cli/skills-content/design-exploration-skill.js.map +1 -0
  444. package/dist/cli/skills-content/design-visual-edit-skill.d.ts +2 -0
  445. package/dist/cli/skills-content/design-visual-edit-skill.d.ts.map +1 -0
  446. package/dist/cli/skills-content/design-visual-edit-skill.js +229 -0
  447. package/dist/cli/skills-content/design-visual-edit-skill.js.map +1 -0
  448. package/dist/cli/skills-content/document-quality.d.ts +4 -0
  449. package/dist/cli/skills-content/document-quality.d.ts.map +1 -0
  450. package/dist/cli/skills-content/document-quality.js +195 -0
  451. package/dist/cli/skills-content/document-quality.js.map +1 -0
  452. package/dist/cli/skills-content/exemplar.d.ts +4 -0
  453. package/dist/cli/skills-content/exemplar.d.ts.map +1 -0
  454. package/dist/cli/skills-content/exemplar.js +68 -0
  455. package/dist/cli/skills-content/exemplar.js.map +1 -0
  456. package/dist/cli/skills-content/help.d.ts +2 -0
  457. package/dist/cli/skills-content/help.d.ts.map +1 -0
  458. package/dist/cli/skills-content/help.js +78 -0
  459. package/dist/cli/skills-content/help.js.map +1 -0
  460. package/dist/cli/skills-content/index.d.ts +23 -0
  461. package/dist/cli/skills-content/index.d.ts.map +1 -0
  462. package/dist/cli/skills-content/index.js +23 -0
  463. package/dist/cli/skills-content/index.js.map +1 -0
  464. package/dist/cli/skills-content/local-files.d.ts +2 -0
  465. package/dist/cli/skills-content/local-files.d.ts.map +1 -0
  466. package/dist/cli/skills-content/local-files.js +96 -0
  467. package/dist/cli/skills-content/local-files.js.map +1 -0
  468. package/dist/cli/skills-content/plan-setup-auth.d.ts +9 -0
  469. package/dist/cli/skills-content/plan-setup-auth.d.ts.map +1 -0
  470. package/dist/cli/skills-content/plan-setup-auth.js +81 -0
  471. package/dist/cli/skills-content/plan-setup-auth.js.map +1 -0
  472. package/dist/cli/skills-content/visual-plan-skill.d.ts +2 -0
  473. package/dist/cli/skills-content/visual-plan-skill.d.ts.map +1 -0
  474. package/dist/cli/skills-content/visual-plan-skill.js +471 -0
  475. package/dist/cli/skills-content/visual-plan-skill.js.map +1 -0
  476. package/dist/cli/skills-content/visual-recap-skill.d.ts +2 -0
  477. package/dist/cli/skills-content/visual-recap-skill.d.ts.map +1 -0
  478. package/dist/cli/skills-content/visual-recap-skill.js +548 -0
  479. package/dist/cli/skills-content/visual-recap-skill.js.map +1 -0
  480. package/dist/cli/skills-content/visualize-repo-skill.d.ts +2 -0
  481. package/dist/cli/skills-content/visualize-repo-skill.d.ts.map +1 -0
  482. package/dist/cli/skills-content/visualize-repo-skill.js +94 -0
  483. package/dist/cli/skills-content/visualize-repo-skill.js.map +1 -0
  484. package/dist/cli/skills-content/wireframe.d.ts +4 -0
  485. package/dist/cli/skills-content/wireframe.d.ts.map +1 -0
  486. package/dist/cli/skills-content/wireframe.js +347 -0
  487. package/dist/cli/skills-content/wireframe.js.map +1 -0
  488. package/dist/cli/skills.d.ts +2 -10
  489. package/dist/cli/skills.d.ts.map +1 -1
  490. package/dist/cli/skills.js +2 -2710
  491. package/dist/cli/skills.js.map +1 -1
  492. package/dist/client/AgentPanel.d.ts.map +1 -1
  493. package/dist/client/AgentPanel.js +4 -2
  494. package/dist/client/AgentPanel.js.map +1 -1
  495. package/dist/client/CommandMenu.d.ts.map +1 -1
  496. package/dist/client/CommandMenu.js +15 -3
  497. package/dist/client/CommandMenu.js.map +1 -1
  498. package/dist/client/FeedbackButton.js +2 -2
  499. package/dist/client/FeedbackButton.js.map +1 -1
  500. package/dist/client/app-providers.d.ts +13 -5
  501. package/dist/client/app-providers.d.ts.map +1 -1
  502. package/dist/client/app-providers.js +9 -6
  503. package/dist/client/app-providers.js.map +1 -1
  504. package/dist/client/chat/tool-call-display.d.ts +4 -0
  505. package/dist/client/chat/tool-call-display.d.ts.map +1 -1
  506. package/dist/client/chat/tool-call-display.js +3 -3
  507. package/dist/client/chat/tool-call-display.js.map +1 -1
  508. package/dist/client/composer/PastedTextChip.js +1 -1
  509. package/dist/client/composer/PastedTextChip.js.map +1 -1
  510. package/dist/client/composer/RealtimeVoiceMode.d.ts +3 -1
  511. package/dist/client/composer/RealtimeVoiceMode.d.ts.map +1 -1
  512. package/dist/client/composer/RealtimeVoiceMode.js +35 -14
  513. package/dist/client/composer/RealtimeVoiceMode.js.map +1 -1
  514. package/dist/client/composer/TiptapComposer.js +1 -1
  515. package/dist/client/composer/TiptapComposer.js.map +1 -1
  516. package/dist/client/composer/VoiceButton.d.ts +2 -0
  517. package/dist/client/composer/VoiceButton.d.ts.map +1 -1
  518. package/dist/client/composer/VoiceButton.js +9 -3
  519. package/dist/client/composer/VoiceButton.js.map +1 -1
  520. package/dist/client/composer/useRealtimeVoiceMode.d.ts +5 -0
  521. package/dist/client/composer/useRealtimeVoiceMode.d.ts.map +1 -1
  522. package/dist/client/composer/useRealtimeVoiceMode.js +91 -12
  523. package/dist/client/composer/useRealtimeVoiceMode.js.map +1 -1
  524. package/dist/client/context-xray/ContextXRayPanel.d.ts.map +1 -1
  525. package/dist/client/context-xray/ContextXRayPanel.js +4 -1
  526. package/dist/client/context-xray/ContextXRayPanel.js.map +1 -1
  527. package/dist/client/extensions/ExtensionEditor.d.ts.map +1 -1
  528. package/dist/client/extensions/ExtensionEditor.js +15 -5
  529. package/dist/client/extensions/ExtensionEditor.js.map +1 -1
  530. package/dist/client/extensions/ExtensionQueryErrorState.d.ts +8 -0
  531. package/dist/client/extensions/ExtensionQueryErrorState.d.ts.map +1 -0
  532. package/dist/client/extensions/ExtensionQueryErrorState.js +11 -0
  533. package/dist/client/extensions/ExtensionQueryErrorState.js.map +1 -0
  534. package/dist/client/extensions/ExtensionSlot.d.ts.map +1 -1
  535. package/dist/client/extensions/ExtensionSlot.js +17 -7
  536. package/dist/client/extensions/ExtensionSlot.js.map +1 -1
  537. package/dist/client/extensions/ExtensionViewer.d.ts.map +1 -1
  538. package/dist/client/extensions/ExtensionViewer.js +17 -7
  539. package/dist/client/extensions/ExtensionViewer.js.map +1 -1
  540. package/dist/client/extensions/ExtensionsListPage.d.ts.map +1 -1
  541. package/dist/client/extensions/ExtensionsListPage.js +5 -3
  542. package/dist/client/extensions/ExtensionsListPage.js.map +1 -1
  543. package/dist/client/extensions/ExtensionsSidebarSection.d.ts.map +1 -1
  544. package/dist/client/extensions/ExtensionsSidebarSection.js +21 -8
  545. package/dist/client/extensions/ExtensionsSidebarSection.js.map +1 -1
  546. package/dist/client/index.d.ts +0 -2
  547. package/dist/client/index.d.ts.map +1 -1
  548. package/dist/client/index.js +0 -5
  549. package/dist/client/index.js.map +1 -1
  550. package/dist/client/progress/RunsTray.d.ts.map +1 -1
  551. package/dist/client/progress/RunsTray.js +7 -3
  552. package/dist/client/progress/RunsTray.js.map +1 -1
  553. package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
  554. package/dist/client/settings/SettingsTabsPage.js +4 -0
  555. package/dist/client/settings/SettingsTabsPage.js.map +1 -1
  556. package/dist/client/settings/useBuilderStatus.d.ts +2 -0
  557. package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
  558. package/dist/client/settings/useBuilderStatus.js +4 -0
  559. package/dist/client/settings/useBuilderStatus.js.map +1 -1
  560. package/dist/client/tool-cells/EditCell.d.ts.map +1 -1
  561. package/dist/client/tool-cells/EditCell.js +2 -1
  562. package/dist/client/tool-cells/EditCell.js.map +1 -1
  563. package/dist/client/tool-cells/FilesChangedSummary.d.ts.map +1 -1
  564. package/dist/client/tool-cells/FilesChangedSummary.js +2 -1
  565. package/dist/client/tool-cells/FilesChangedSummary.js.map +1 -1
  566. package/dist/client/tool-cells/WriteCell.d.ts.map +1 -1
  567. package/dist/client/tool-cells/WriteCell.js +2 -1
  568. package/dist/client/tool-cells/WriteCell.js.map +1 -1
  569. package/dist/client/visual-style-controls.js +1 -1
  570. package/dist/client/visual-style-controls.js.map +1 -1
  571. package/dist/collab/routes.d.ts +1 -1
  572. package/dist/deploy/build.d.ts.map +1 -1
  573. package/dist/deploy/build.js +36 -14
  574. package/dist/deploy/build.js.map +1 -1
  575. package/dist/integrations/google-docs-poller.d.ts +7 -0
  576. package/dist/integrations/google-docs-poller.d.ts.map +1 -1
  577. package/dist/integrations/google-docs-poller.js +13 -3
  578. package/dist/integrations/google-docs-poller.js.map +1 -1
  579. package/dist/integrations/plugin.d.ts.map +1 -1
  580. package/dist/integrations/plugin.js +10 -0
  581. package/dist/integrations/plugin.js.map +1 -1
  582. package/dist/integrations/webhook-handler.d.ts +11 -0
  583. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  584. package/dist/integrations/webhook-handler.js +16 -4
  585. package/dist/integrations/webhook-handler.js.map +1 -1
  586. package/dist/jobs/scheduler.d.ts +12 -0
  587. package/dist/jobs/scheduler.d.ts.map +1 -1
  588. package/dist/jobs/scheduler.js +13 -3
  589. package/dist/jobs/scheduler.js.map +1 -1
  590. package/dist/localization/default-messages.d.ts +7 -0
  591. package/dist/localization/default-messages.d.ts.map +1 -1
  592. package/dist/localization/default-messages.js +8 -1
  593. package/dist/localization/default-messages.js.map +1 -1
  594. package/dist/mcp/oauth-token.d.ts +1 -1
  595. package/dist/mcp/oauth-token.d.ts.map +1 -1
  596. package/dist/mcp/oauth-token.js +6 -1
  597. package/dist/mcp/oauth-token.js.map +1 -1
  598. package/dist/notifications/routes.d.ts +2 -2
  599. package/dist/observability/routes.d.ts.map +1 -1
  600. package/dist/observability/routes.js +32 -0
  601. package/dist/observability/routes.js.map +1 -1
  602. package/dist/observability/sentiment.d.ts +42 -0
  603. package/dist/observability/sentiment.d.ts.map +1 -0
  604. package/dist/observability/sentiment.js +196 -0
  605. package/dist/observability/sentiment.js.map +1 -0
  606. package/dist/observability/store.d.ts +5 -0
  607. package/dist/observability/store.d.ts.map +1 -1
  608. package/dist/observability/store.js +17 -0
  609. package/dist/observability/store.js.map +1 -1
  610. package/dist/observability/traces.d.ts +2 -0
  611. package/dist/observability/traces.d.ts.map +1 -1
  612. package/dist/observability/traces.js +42 -57
  613. package/dist/observability/traces.js.map +1 -1
  614. package/dist/observability/tracking-identity.d.ts +3 -0
  615. package/dist/observability/tracking-identity.d.ts.map +1 -0
  616. package/dist/observability/tracking-identity.js +51 -0
  617. package/dist/observability/tracking-identity.js.map +1 -0
  618. package/dist/observability/types.d.ts +10 -0
  619. package/dist/observability/types.d.ts.map +1 -1
  620. package/dist/observability/types.js +3 -0
  621. package/dist/observability/types.js.map +1 -1
  622. package/dist/progress/routes.d.ts +1 -1
  623. package/dist/provider-api/corpus-jobs.d.ts +2 -2
  624. package/dist/resources/handlers.d.ts +1 -1
  625. package/dist/secrets/storage.d.ts +6 -0
  626. package/dist/secrets/storage.d.ts.map +1 -1
  627. package/dist/secrets/storage.js +61 -3
  628. package/dist/secrets/storage.js.map +1 -1
  629. package/dist/server/agent-chat/action-filters-a2a.d.ts +50 -0
  630. package/dist/server/agent-chat/action-filters-a2a.d.ts.map +1 -0
  631. package/dist/server/agent-chat/action-filters-a2a.js +127 -0
  632. package/dist/server/agent-chat/action-filters-a2a.js.map +1 -0
  633. package/dist/server/agent-chat/browser-team-tools.d.ts +21 -0
  634. package/dist/server/agent-chat/browser-team-tools.d.ts.map +1 -0
  635. package/dist/server/agent-chat/browser-team-tools.js +417 -0
  636. package/dist/server/agent-chat/browser-team-tools.js.map +1 -0
  637. package/dist/server/agent-chat/context-tools.d.ts +33 -0
  638. package/dist/server/agent-chat/context-tools.d.ts.map +1 -0
  639. package/dist/server/agent-chat/context-tools.js +520 -0
  640. package/dist/server/agent-chat/context-tools.js.map +1 -0
  641. package/dist/server/agent-chat/framework-prompts.d.ts +65 -0
  642. package/dist/server/agent-chat/framework-prompts.d.ts.map +1 -0
  643. package/dist/server/agent-chat/framework-prompts.js +403 -0
  644. package/dist/server/agent-chat/framework-prompts.js.map +1 -0
  645. package/dist/server/agent-chat/lazy-fs.d.ts +2 -0
  646. package/dist/server/agent-chat/lazy-fs.d.ts.map +1 -0
  647. package/dist/server/agent-chat/lazy-fs.js +11 -0
  648. package/dist/server/agent-chat/lazy-fs.js.map +1 -0
  649. package/dist/server/agent-chat/mcp-glue.d.ts +9 -0
  650. package/dist/server/agent-chat/mcp-glue.d.ts.map +1 -0
  651. package/dist/server/agent-chat/mcp-glue.js +63 -0
  652. package/dist/server/agent-chat/mcp-glue.js.map +1 -0
  653. package/dist/server/agent-chat/plugin-options.d.ts +322 -0
  654. package/dist/server/agent-chat/plugin-options.d.ts.map +1 -0
  655. package/dist/server/agent-chat/plugin-options.js +2 -0
  656. package/dist/server/agent-chat/plugin-options.js.map +1 -0
  657. package/dist/server/agent-chat/process-run-failure.d.ts +12 -0
  658. package/dist/server/agent-chat/process-run-failure.d.ts.map +1 -0
  659. package/dist/server/agent-chat/process-run-failure.js +24 -0
  660. package/dist/server/agent-chat/process-run-failure.js.map +1 -0
  661. package/dist/server/agent-chat/prompt-resources.d.ts +28 -0
  662. package/dist/server/agent-chat/prompt-resources.d.ts.map +1 -0
  663. package/dist/server/agent-chat/prompt-resources.js +514 -0
  664. package/dist/server/agent-chat/prompt-resources.js.map +1 -0
  665. package/dist/server/agent-chat/recurring-jobs-runtime.d.ts +5 -0
  666. package/dist/server/agent-chat/recurring-jobs-runtime.d.ts.map +1 -0
  667. package/dist/server/agent-chat/recurring-jobs-runtime.js +53 -0
  668. package/dist/server/agent-chat/recurring-jobs-runtime.js.map +1 -0
  669. package/dist/server/agent-chat/request-surface.d.ts +8 -0
  670. package/dist/server/agent-chat/request-surface.d.ts.map +1 -0
  671. package/dist/server/agent-chat/request-surface.js +56 -0
  672. package/dist/server/agent-chat/request-surface.js.map +1 -0
  673. package/dist/server/agent-chat/run-code-tools.d.ts +17 -0
  674. package/dist/server/agent-chat/run-code-tools.d.ts.map +1 -0
  675. package/dist/server/agent-chat/run-code-tools.js +55 -0
  676. package/dist/server/agent-chat/run-code-tools.js.map +1 -0
  677. package/dist/server/agent-chat/script-entries.d.ts +47 -0
  678. package/dist/server/agent-chat/script-entries.d.ts.map +1 -0
  679. package/dist/server/agent-chat/script-entries.js +633 -0
  680. package/dist/server/agent-chat/script-entries.js.map +1 -0
  681. package/dist/server/agent-chat/shared-thread.d.ts +33 -0
  682. package/dist/server/agent-chat/shared-thread.d.ts.map +1 -0
  683. package/dist/server/agent-chat/shared-thread.js +242 -0
  684. package/dist/server/agent-chat/shared-thread.js.map +1 -0
  685. package/dist/server/agent-chat/skill-frontmatter.d.ts +7 -0
  686. package/dist/server/agent-chat/skill-frontmatter.d.ts.map +1 -0
  687. package/dist/server/agent-chat/skill-frontmatter.js +26 -0
  688. package/dist/server/agent-chat/skill-frontmatter.js.map +1 -0
  689. package/dist/server/agent-chat-plugin.d.ts +45 -486
  690. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  691. package/dist/server/agent-chat-plugin.js +173 -3005
  692. package/dist/server/agent-chat-plugin.js.map +1 -1
  693. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  694. package/dist/server/agent-teams.d.ts +10 -0
  695. package/dist/server/agent-teams.d.ts.map +1 -1
  696. package/dist/server/agent-teams.js +13 -3
  697. package/dist/server/agent-teams.js.map +1 -1
  698. package/dist/server/auth.d.ts.map +1 -1
  699. package/dist/server/auth.js +50 -52
  700. package/dist/server/auth.js.map +1 -1
  701. package/dist/server/credential-provider.d.ts.map +1 -1
  702. package/dist/server/credential-provider.js +22 -21
  703. package/dist/server/credential-provider.js.map +1 -1
  704. package/dist/server/edge.d.ts +1 -0
  705. package/dist/server/edge.d.ts.map +1 -1
  706. package/dist/server/edge.js +1 -0
  707. package/dist/server/edge.js.map +1 -1
  708. package/dist/server/onboarding-html.d.ts.map +1 -1
  709. package/dist/server/onboarding-html.js +1 -16
  710. package/dist/server/onboarding-html.js.map +1 -1
  711. package/dist/server/realtime-voice.d.ts +3 -0
  712. package/dist/server/realtime-voice.d.ts.map +1 -1
  713. package/dist/server/realtime-voice.js +29 -5
  714. package/dist/server/realtime-voice.js.map +1 -1
  715. package/dist/server/request-origin.d.ts.map +1 -1
  716. package/dist/server/request-origin.js +6 -3
  717. package/dist/server/request-origin.js.map +1 -1
  718. package/dist/server/ssr-handler.d.ts.map +1 -1
  719. package/dist/server/ssr-handler.js +47 -2
  720. package/dist/server/ssr-handler.js.map +1 -1
  721. package/dist/sharing/access.d.ts +63 -3
  722. package/dist/sharing/access.d.ts.map +1 -1
  723. package/dist/sharing/access.js +53 -15
  724. package/dist/sharing/access.js.map +1 -1
  725. package/dist/sharing/registry.d.ts +7 -0
  726. package/dist/sharing/registry.d.ts.map +1 -1
  727. package/dist/sharing/registry.js.map +1 -1
  728. package/dist/styles/agent-native.css +15 -14
  729. package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +1 -1
  730. package/dist/templates/default/app/i18n/ar-SA.ts +6 -0
  731. package/dist/templates/default/app/i18n/de-DE.ts +6 -0
  732. package/dist/templates/default/app/i18n/en-US.ts +6 -0
  733. package/dist/templates/default/app/i18n/es-ES.ts +6 -0
  734. package/dist/templates/default/app/i18n/fr-FR.ts +6 -0
  735. package/dist/templates/default/app/i18n/hi-IN.ts +6 -0
  736. package/dist/templates/default/app/i18n/ja-JP.ts +6 -0
  737. package/dist/templates/default/app/i18n/ko-KR.ts +6 -0
  738. package/dist/templates/default/app/i18n/pt-BR.ts +6 -0
  739. package/dist/templates/default/app/i18n/zh-CN.ts +6 -0
  740. package/dist/templates/default/app/i18n/zh-TW.ts +6 -0
  741. package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +27 -29
  742. package/dist/templates/workspace-core/.agents/skills/external-agents/SKILL.md +2 -1
  743. package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +1 -1
  744. package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +32 -0
  745. package/dist/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +25 -0
  746. package/dist/templates/workspace-core/src/server/index.ts +4 -2
  747. package/dist/testing.d.ts +16 -0
  748. package/dist/testing.d.ts.map +1 -0
  749. package/dist/testing.js +16 -0
  750. package/dist/testing.js.map +1 -0
  751. package/dist/triggers/dispatcher.d.ts +7 -0
  752. package/dist/triggers/dispatcher.d.ts.map +1 -1
  753. package/dist/triggers/dispatcher.js +13 -3
  754. package/dist/triggers/dispatcher.js.map +1 -1
  755. package/dist/vite/client.d.ts +16 -1
  756. package/dist/vite/client.d.ts.map +1 -1
  757. package/dist/vite/client.js +105 -2
  758. package/dist/vite/client.js.map +1 -1
  759. package/docs/content/authentication.mdx +3 -3
  760. package/docs/content/doctor.mdx +170 -0
  761. package/docs/content/external-agents.mdx +8 -7
  762. package/docs/content/locales/ar-SA/authentication.mdx +2 -2
  763. package/docs/content/locales/ar-SA/external-agents.mdx +8 -7
  764. package/docs/content/locales/ar-SA/mcp-protocol.mdx +1 -1
  765. package/docs/content/locales/ar-SA/security.mdx +2 -0
  766. package/docs/content/locales/de-DE/authentication.mdx +1 -1
  767. package/docs/content/locales/de-DE/external-agents.mdx +8 -7
  768. package/docs/content/locales/de-DE/mcp-protocol.mdx +1 -1
  769. package/docs/content/locales/de-DE/security.mdx +2 -0
  770. package/docs/content/locales/es-ES/authentication.mdx +2 -2
  771. package/docs/content/locales/es-ES/external-agents.mdx +8 -7
  772. package/docs/content/locales/es-ES/mcp-protocol.mdx +1 -1
  773. package/docs/content/locales/es-ES/security.mdx +2 -0
  774. package/docs/content/locales/fr-FR/authentication.mdx +1 -1
  775. package/docs/content/locales/fr-FR/external-agents.mdx +8 -7
  776. package/docs/content/locales/fr-FR/mcp-protocol.mdx +1 -1
  777. package/docs/content/locales/fr-FR/security.mdx +2 -0
  778. package/docs/content/locales/hi-IN/authentication.mdx +2 -2
  779. package/docs/content/locales/hi-IN/external-agents.mdx +8 -7
  780. package/docs/content/locales/hi-IN/mcp-protocol.mdx +1 -1
  781. package/docs/content/locales/hi-IN/security.mdx +2 -0
  782. package/docs/content/locales/ja-JP/authentication.mdx +2 -2
  783. package/docs/content/locales/ja-JP/external-agents.mdx +8 -7
  784. package/docs/content/locales/ja-JP/mcp-protocol.mdx +1 -1
  785. package/docs/content/locales/ja-JP/security.mdx +2 -0
  786. package/docs/content/locales/ko-KR/authentication.mdx +2 -2
  787. package/docs/content/locales/ko-KR/external-agents.mdx +8 -7
  788. package/docs/content/locales/ko-KR/mcp-protocol.mdx +1 -1
  789. package/docs/content/locales/ko-KR/security.mdx +2 -0
  790. package/docs/content/locales/pt-BR/authentication.mdx +2 -2
  791. package/docs/content/locales/pt-BR/external-agents.mdx +8 -7
  792. package/docs/content/locales/pt-BR/mcp-protocol.mdx +1 -1
  793. package/docs/content/locales/pt-BR/security.mdx +2 -0
  794. package/docs/content/locales/zh-CN/authentication.mdx +2 -2
  795. package/docs/content/locales/zh-CN/external-agents.mdx +8 -7
  796. package/docs/content/locales/zh-CN/mcp-protocol.mdx +1 -1
  797. package/docs/content/locales/zh-CN/security.mdx +2 -0
  798. package/docs/content/locales/zh-TW/authentication.mdx +2 -2
  799. package/docs/content/locales/zh-TW/external-agents.mdx +8 -7
  800. package/docs/content/locales/zh-TW/mcp-protocol.mdx +1 -1
  801. package/docs/content/locales/zh-TW/security.mdx +2 -0
  802. package/docs/content/mcp-protocol.mdx +1 -1
  803. package/docs/content/security.mdx +2 -0
  804. package/package.json +6 -2
  805. package/src/templates/default/.agents/skills/frontend-design/SKILL.md +1 -1
  806. package/src/templates/default/app/i18n/ar-SA.ts +6 -0
  807. package/src/templates/default/app/i18n/de-DE.ts +6 -0
  808. package/src/templates/default/app/i18n/en-US.ts +6 -0
  809. package/src/templates/default/app/i18n/es-ES.ts +6 -0
  810. package/src/templates/default/app/i18n/fr-FR.ts +6 -0
  811. package/src/templates/default/app/i18n/hi-IN.ts +6 -0
  812. package/src/templates/default/app/i18n/ja-JP.ts +6 -0
  813. package/src/templates/default/app/i18n/ko-KR.ts +6 -0
  814. package/src/templates/default/app/i18n/pt-BR.ts +6 -0
  815. package/src/templates/default/app/i18n/zh-CN.ts +6 -0
  816. package/src/templates/default/app/i18n/zh-TW.ts +6 -0
  817. package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +27 -29
  818. package/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +2 -1
  819. package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +1 -1
  820. package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +32 -0
  821. package/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +25 -0
  822. package/src/templates/workspace-core/src/server/index.ts +4 -2
  823. package/corpus/core/src/client/ProductionAgentPanel.tsx +0 -9
  824. package/corpus/core/src/client/auth-redirect-url.ts +0 -23
  825. package/corpus/core/src/client/useProductionAgent.ts +0 -253
  826. package/corpus/core/src/shared/auth-redirect-url.ts +0 -1
  827. package/corpus/templates/analytics/app/pages/Index.tsx +0 -16
  828. package/corpus/templates/analytics/seeds/dashboards/agent-observability-llm.json +0 -173
  829. package/dist/client/ProductionAgentPanel.d.ts +0 -6
  830. package/dist/client/ProductionAgentPanel.d.ts.map +0 -1
  831. package/dist/client/ProductionAgentPanel.js +0 -6
  832. package/dist/client/ProductionAgentPanel.js.map +0 -1
  833. package/dist/client/auth-redirect-url.d.ts +0 -2
  834. package/dist/client/auth-redirect-url.d.ts.map +0 -1
  835. package/dist/client/auth-redirect-url.js +0 -19
  836. package/dist/client/auth-redirect-url.js.map +0 -1
  837. package/dist/client/useProductionAgent.d.ts +0 -24
  838. package/dist/client/useProductionAgent.d.ts.map +0 -1
  839. package/dist/client/useProductionAgent.js +0 -179
  840. package/dist/client/useProductionAgent.js.map +0 -1
  841. package/dist/shared/auth-redirect-url.d.ts +0 -2
  842. package/dist/shared/auth-redirect-url.d.ts.map +0 -1
  843. package/dist/shared/auth-redirect-url.js +0 -2
  844. 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.`;