@agent-native/core 0.96.0 → 0.98.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1241) hide show
  1. package/README.md +6 -0
  2. package/corpus/README.md +2 -2
  3. package/corpus/core/CHANGELOG.md +71 -0
  4. package/corpus/core/docs/content/audit-log.mdx +2 -1
  5. package/corpus/core/docs/content/authentication.mdx +3 -3
  6. package/corpus/core/docs/content/automations.mdx +7 -7
  7. package/corpus/core/docs/content/creating-templates.mdx +1 -1
  8. package/corpus/core/docs/content/doctor.mdx +170 -0
  9. package/corpus/core/docs/content/external-agents.mdx +8 -7
  10. package/corpus/core/docs/content/internationalization.mdx +2 -1
  11. package/corpus/core/docs/content/locales/ar-SA/audit-log.mdx +2 -1
  12. package/corpus/core/docs/content/locales/ar-SA/authentication.mdx +2 -2
  13. package/corpus/core/docs/content/locales/ar-SA/automations.mdx +7 -7
  14. package/corpus/core/docs/content/locales/ar-SA/external-agents.mdx +8 -7
  15. package/corpus/core/docs/content/locales/ar-SA/getting-started.mdx +7 -1
  16. package/corpus/core/docs/content/locales/ar-SA/internationalization.mdx +1 -1
  17. package/corpus/core/docs/content/locales/ar-SA/mcp-protocol.mdx +1 -1
  18. package/corpus/core/docs/content/locales/ar-SA/package-lifecycle.mdx +19 -0
  19. package/corpus/core/docs/content/locales/ar-SA/sandbox-adapters.mdx +18 -7
  20. package/corpus/core/docs/content/locales/ar-SA/security.mdx +10 -0
  21. package/corpus/core/docs/content/locales/de-DE/audit-log.mdx +2 -1
  22. package/corpus/core/docs/content/locales/de-DE/authentication.mdx +1 -1
  23. package/corpus/core/docs/content/locales/de-DE/automations.mdx +7 -7
  24. package/corpus/core/docs/content/locales/de-DE/external-agents.mdx +8 -7
  25. package/corpus/core/docs/content/locales/de-DE/getting-started.mdx +7 -1
  26. package/corpus/core/docs/content/locales/de-DE/internationalization.mdx +1 -1
  27. package/corpus/core/docs/content/locales/de-DE/mcp-protocol.mdx +1 -1
  28. package/corpus/core/docs/content/locales/de-DE/package-lifecycle.mdx +22 -0
  29. package/corpus/core/docs/content/locales/de-DE/sandbox-adapters.mdx +18 -7
  30. package/corpus/core/docs/content/locales/de-DE/security.mdx +10 -0
  31. package/corpus/core/docs/content/locales/es-ES/audit-log.mdx +2 -1
  32. package/corpus/core/docs/content/locales/es-ES/authentication.mdx +2 -2
  33. package/corpus/core/docs/content/locales/es-ES/automations.mdx +7 -7
  34. package/corpus/core/docs/content/locales/es-ES/external-agents.mdx +8 -7
  35. package/corpus/core/docs/content/locales/es-ES/getting-started.mdx +7 -1
  36. package/corpus/core/docs/content/locales/es-ES/internationalization.mdx +1 -1
  37. package/corpus/core/docs/content/locales/es-ES/mcp-protocol.mdx +1 -1
  38. package/corpus/core/docs/content/locales/es-ES/package-lifecycle.mdx +22 -0
  39. package/corpus/core/docs/content/locales/es-ES/sandbox-adapters.mdx +18 -7
  40. package/corpus/core/docs/content/locales/es-ES/security.mdx +10 -0
  41. package/corpus/core/docs/content/locales/fr-FR/audit-log.mdx +2 -1
  42. package/corpus/core/docs/content/locales/fr-FR/authentication.mdx +1 -1
  43. package/corpus/core/docs/content/locales/fr-FR/automations.mdx +7 -7
  44. package/corpus/core/docs/content/locales/fr-FR/external-agents.mdx +8 -7
  45. package/corpus/core/docs/content/locales/fr-FR/getting-started.mdx +7 -1
  46. package/corpus/core/docs/content/locales/fr-FR/internationalization.mdx +1 -1
  47. package/corpus/core/docs/content/locales/fr-FR/mcp-protocol.mdx +1 -1
  48. package/corpus/core/docs/content/locales/fr-FR/package-lifecycle.mdx +21 -0
  49. package/corpus/core/docs/content/locales/fr-FR/sandbox-adapters.mdx +19 -8
  50. package/corpus/core/docs/content/locales/fr-FR/security.mdx +10 -0
  51. package/corpus/core/docs/content/locales/hi-IN/audit-log.mdx +2 -1
  52. package/corpus/core/docs/content/locales/hi-IN/authentication.mdx +2 -2
  53. package/corpus/core/docs/content/locales/hi-IN/automations.mdx +7 -7
  54. package/corpus/core/docs/content/locales/hi-IN/external-agents.mdx +8 -7
  55. package/corpus/core/docs/content/locales/hi-IN/getting-started.mdx +7 -1
  56. package/corpus/core/docs/content/locales/hi-IN/internationalization.mdx +1 -1
  57. package/corpus/core/docs/content/locales/hi-IN/mcp-protocol.mdx +1 -1
  58. package/corpus/core/docs/content/locales/hi-IN/package-lifecycle.mdx +20 -0
  59. package/corpus/core/docs/content/locales/hi-IN/sandbox-adapters.mdx +18 -7
  60. package/corpus/core/docs/content/locales/hi-IN/security.mdx +10 -0
  61. package/corpus/core/docs/content/locales/ja-JP/audit-log.mdx +2 -1
  62. package/corpus/core/docs/content/locales/ja-JP/authentication.mdx +2 -2
  63. package/corpus/core/docs/content/locales/ja-JP/automations.mdx +7 -7
  64. package/corpus/core/docs/content/locales/ja-JP/external-agents.mdx +8 -7
  65. package/corpus/core/docs/content/locales/ja-JP/getting-started.mdx +7 -1
  66. package/corpus/core/docs/content/locales/ja-JP/internationalization.mdx +1 -1
  67. package/corpus/core/docs/content/locales/ja-JP/mcp-protocol.mdx +1 -1
  68. package/corpus/core/docs/content/locales/ja-JP/package-lifecycle.mdx +21 -0
  69. package/corpus/core/docs/content/locales/ja-JP/sandbox-adapters.mdx +17 -6
  70. package/corpus/core/docs/content/locales/ja-JP/security.mdx +10 -0
  71. package/corpus/core/docs/content/locales/ko-KR/audit-log.mdx +2 -1
  72. package/corpus/core/docs/content/locales/ko-KR/authentication.mdx +2 -2
  73. package/corpus/core/docs/content/locales/ko-KR/automations.mdx +7 -7
  74. package/corpus/core/docs/content/locales/ko-KR/external-agents.mdx +8 -7
  75. package/corpus/core/docs/content/locales/ko-KR/getting-started.mdx +7 -1
  76. package/corpus/core/docs/content/locales/ko-KR/internationalization.mdx +1 -1
  77. package/corpus/core/docs/content/locales/ko-KR/mcp-protocol.mdx +1 -1
  78. package/corpus/core/docs/content/locales/ko-KR/package-lifecycle.mdx +20 -0
  79. package/corpus/core/docs/content/locales/ko-KR/sandbox-adapters.mdx +17 -6
  80. package/corpus/core/docs/content/locales/ko-KR/security.mdx +10 -0
  81. package/corpus/core/docs/content/locales/pt-BR/audit-log.mdx +2 -1
  82. package/corpus/core/docs/content/locales/pt-BR/authentication.mdx +2 -2
  83. package/corpus/core/docs/content/locales/pt-BR/automations.mdx +7 -7
  84. package/corpus/core/docs/content/locales/pt-BR/external-agents.mdx +8 -7
  85. package/corpus/core/docs/content/locales/pt-BR/getting-started.mdx +7 -1
  86. package/corpus/core/docs/content/locales/pt-BR/internationalization.mdx +1 -1
  87. package/corpus/core/docs/content/locales/pt-BR/mcp-protocol.mdx +1 -1
  88. package/corpus/core/docs/content/locales/pt-BR/package-lifecycle.mdx +21 -0
  89. package/corpus/core/docs/content/locales/pt-BR/sandbox-adapters.mdx +18 -7
  90. package/corpus/core/docs/content/locales/pt-BR/security.mdx +10 -0
  91. package/corpus/core/docs/content/locales/zh-CN/audit-log.mdx +2 -1
  92. package/corpus/core/docs/content/locales/zh-CN/authentication.mdx +2 -2
  93. package/corpus/core/docs/content/locales/zh-CN/automations.mdx +7 -7
  94. package/corpus/core/docs/content/locales/zh-CN/external-agents.mdx +8 -7
  95. package/corpus/core/docs/content/locales/zh-CN/getting-started.mdx +6 -4
  96. package/corpus/core/docs/content/locales/zh-CN/internationalization.mdx +1 -1
  97. package/corpus/core/docs/content/locales/zh-CN/mcp-protocol.mdx +1 -1
  98. package/corpus/core/docs/content/locales/zh-CN/package-lifecycle.mdx +19 -0
  99. package/corpus/core/docs/content/locales/zh-CN/sandbox-adapters.mdx +17 -6
  100. package/corpus/core/docs/content/locales/zh-CN/security.mdx +10 -0
  101. package/corpus/core/docs/content/locales/zh-TW/audit-log.mdx +2 -1
  102. package/corpus/core/docs/content/locales/zh-TW/authentication.mdx +2 -2
  103. package/corpus/core/docs/content/locales/zh-TW/automations.mdx +7 -7
  104. package/corpus/core/docs/content/locales/zh-TW/external-agents.mdx +8 -7
  105. package/corpus/core/docs/content/locales/zh-TW/getting-started.mdx +6 -4
  106. package/corpus/core/docs/content/locales/zh-TW/internationalization.mdx +1 -1
  107. package/corpus/core/docs/content/locales/zh-TW/mcp-protocol.mdx +1 -1
  108. package/corpus/core/docs/content/locales/zh-TW/package-lifecycle.mdx +19 -0
  109. package/corpus/core/docs/content/locales/zh-TW/sandbox-adapters.mdx +18 -7
  110. package/corpus/core/docs/content/locales/zh-TW/security.mdx +10 -0
  111. package/corpus/core/docs/content/mcp-protocol.mdx +1 -1
  112. package/corpus/core/docs/content/package-lifecycle.mdx +51 -0
  113. package/corpus/core/docs/content/sandbox-adapters.mdx +16 -5
  114. package/corpus/core/docs/content/security.mdx +2 -0
  115. package/corpus/core/package.json +13 -2
  116. package/corpus/core/scripts/finalize-build.mjs +63 -3
  117. package/corpus/core/scripts/materialize-source-corpus.mjs +101 -15
  118. package/corpus/core/src/a2a/auth-policy.ts +33 -0
  119. package/corpus/core/src/action.ts +42 -0
  120. package/corpus/core/src/agent/durable-background.ts +15 -7
  121. package/corpus/core/src/agent/engine/builder-engine.ts +3 -0
  122. package/corpus/core/src/agent/engine/context-directives-transform.ts +69 -0
  123. package/corpus/core/src/agent/engine/continuation-dispatch-retry.ts +168 -0
  124. package/corpus/core/src/agent/engine/tool-call-journal-seed.ts +85 -0
  125. package/corpus/core/src/agent/production-agent.ts +129 -244
  126. package/corpus/core/src/agent/run-store.ts +13 -4
  127. package/corpus/core/src/audit/actions/export-audit-events.ts +162 -0
  128. package/corpus/core/src/audit/store.ts +8 -3
  129. package/corpus/core/src/audit/types.ts +3 -0
  130. package/corpus/core/src/cli/doctor.ts +402 -0
  131. package/corpus/core/src/cli/index.ts +56 -0
  132. package/corpus/core/src/cli/info.ts +3 -3
  133. package/corpus/core/src/cli/package-lifecycle.ts +821 -0
  134. package/corpus/core/src/cli/plan-local.ts +10 -2
  135. package/corpus/core/src/cli/skills-content/assets-skill.ts +83 -0
  136. package/corpus/core/src/cli/skills-content/canvas.ts +153 -0
  137. package/corpus/core/src/cli/skills-content/connection.ts +52 -0
  138. package/corpus/core/src/cli/skills-content/content-skill.ts +109 -0
  139. package/corpus/core/src/cli/skills-content/design-exploration-skill.ts +118 -0
  140. package/corpus/core/src/cli/skills-content/design-visual-edit-skill.ts +228 -0
  141. package/corpus/core/src/cli/skills-content/document-quality.ts +196 -0
  142. package/corpus/core/src/cli/skills-content/exemplar.ts +69 -0
  143. package/corpus/core/src/cli/skills-content/help.ts +77 -0
  144. package/corpus/core/src/cli/skills-content/index.ts +22 -0
  145. package/corpus/core/src/cli/skills-content/local-files.ts +95 -0
  146. package/corpus/core/src/cli/skills-content/plan-setup-auth.ts +80 -0
  147. package/corpus/core/src/cli/skills-content/visual-plan-skill.ts +470 -0
  148. package/corpus/core/src/cli/skills-content/visual-recap-skill.ts +547 -0
  149. package/corpus/core/src/cli/skills-content/visualize-repo-skill.ts +93 -0
  150. package/corpus/core/src/cli/skills-content/wireframe.ts +349 -0
  151. package/corpus/core/src/cli/skills.ts +27 -2733
  152. package/corpus/core/src/client/AgentPanel.tsx +6 -5
  153. package/corpus/core/src/client/CommandMenu.tsx +16 -5
  154. package/corpus/core/src/client/FeedbackButton.tsx +2 -2
  155. package/corpus/core/src/client/agent-chat-adapter.ts +9 -9
  156. package/corpus/core/src/client/app-providers.tsx +18 -5
  157. package/corpus/core/src/client/chat/tool-call-display.tsx +3 -3
  158. package/corpus/core/src/client/composer/PastedTextChip.tsx +1 -1
  159. package/corpus/core/src/client/composer/RealtimeVoiceMode.tsx +143 -45
  160. package/corpus/core/src/client/composer/TiptapComposer.tsx +1 -1
  161. package/corpus/core/src/client/composer/VoiceButton.tsx +21 -5
  162. package/corpus/core/src/client/composer/useRealtimeVoiceMode.tsx +107 -10
  163. package/corpus/core/src/client/context-xray/ContextXRayPanel.tsx +5 -2
  164. package/corpus/core/src/client/extensions/ExtensionEditor.tsx +37 -4
  165. package/corpus/core/src/client/extensions/ExtensionQueryErrorState.tsx +47 -0
  166. package/corpus/core/src/client/extensions/ExtensionSlot.tsx +39 -10
  167. package/corpus/core/src/client/extensions/ExtensionViewer.tsx +44 -6
  168. package/corpus/core/src/client/extensions/ExtensionsListPage.tsx +12 -3
  169. package/corpus/core/src/client/extensions/ExtensionsSidebarSection.tsx +49 -11
  170. package/corpus/core/src/client/index.ts +0 -13
  171. package/corpus/core/src/client/progress/RunsTray.tsx +10 -3
  172. package/corpus/core/src/client/settings/SettingsTabsPage.tsx +7 -0
  173. package/corpus/core/src/client/settings/useBuilderStatus.ts +6 -0
  174. package/corpus/core/src/client/tool-cells/EditCell.tsx +19 -16
  175. package/corpus/core/src/client/tool-cells/FilesChangedSummary.tsx +26 -23
  176. package/corpus/core/src/client/tool-cells/WriteCell.tsx +19 -16
  177. package/corpus/core/src/client/visual-style-controls.tsx +1 -1
  178. package/corpus/core/src/deploy/build.ts +36 -14
  179. package/corpus/core/src/guards/db-tool-scoping.ts +129 -0
  180. package/corpus/core/src/guards/index.ts +23 -0
  181. package/corpus/core/src/guards/no-drizzle-push.ts +116 -0
  182. package/corpus/core/src/guards/no-env-credentials.ts +229 -0
  183. package/corpus/core/src/guards/no-env-mutation.ts +114 -0
  184. package/corpus/core/src/guards/no-localhost-fallback.ts +124 -0
  185. package/corpus/core/src/guards/no-unscoped-credentials.ts +227 -0
  186. package/corpus/core/src/guards/no-unscoped-queries.ts +834 -0
  187. package/corpus/core/src/guards/scan-utils.ts +105 -0
  188. package/corpus/core/src/guards/types.ts +30 -0
  189. package/corpus/core/src/integrations/google-docs-poller.ts +23 -2
  190. package/corpus/core/src/integrations/plugin.ts +10 -0
  191. package/corpus/core/src/integrations/webhook-handler.ts +27 -2
  192. package/corpus/core/src/jobs/scheduler.ts +28 -2
  193. package/corpus/core/src/localization/default-messages.ts +8 -1
  194. package/corpus/core/src/mcp/oauth-token.ts +6 -1
  195. package/corpus/core/src/observability/routes.ts +36 -0
  196. package/corpus/core/src/observability/sentiment.ts +261 -0
  197. package/corpus/core/src/observability/store.ts +23 -0
  198. package/corpus/core/src/observability/traces.ts +49 -63
  199. package/corpus/core/src/observability/tracking-identity.ts +55 -0
  200. package/corpus/core/src/observability/types.ts +13 -0
  201. package/corpus/core/src/org/accept-pending.ts +9 -1
  202. package/corpus/core/src/org/migrations.ts +41 -0
  203. package/corpus/core/src/package-lifecycle/index.ts +1 -0
  204. package/corpus/core/src/package-lifecycle/manifest.ts +120 -0
  205. package/corpus/core/src/provider-api/custom-registry.ts +56 -0
  206. package/corpus/core/src/provider-api/index.ts +2 -0
  207. package/corpus/core/src/secrets/storage.ts +114 -30
  208. package/corpus/core/src/server/action-discovery.ts +4 -0
  209. package/corpus/core/src/server/agent-chat/action-filters-a2a.ts +199 -0
  210. package/corpus/core/src/server/agent-chat/browser-team-tools.ts +510 -0
  211. package/corpus/core/src/server/agent-chat/context-tools.ts +595 -0
  212. package/corpus/core/src/server/agent-chat/framework-prompts.ts +470 -0
  213. package/corpus/core/src/server/agent-chat/lazy-fs.ts +11 -0
  214. package/corpus/core/src/server/agent-chat/mcp-glue.ts +91 -0
  215. package/corpus/core/src/server/agent-chat/plugin-options.ts +350 -0
  216. package/corpus/core/src/server/agent-chat/process-run-failure.ts +62 -0
  217. package/corpus/core/src/server/agent-chat/prompt-resources.ts +688 -0
  218. package/corpus/core/src/server/agent-chat/recurring-jobs-runtime.ts +80 -0
  219. package/corpus/core/src/server/agent-chat/request-surface.ts +71 -0
  220. package/corpus/core/src/server/agent-chat/run-code-tools.ts +67 -0
  221. package/corpus/core/src/server/agent-chat/script-entries.ts +779 -0
  222. package/corpus/core/src/server/agent-chat/shared-thread.ts +301 -0
  223. package/corpus/core/src/server/agent-chat/skill-frontmatter.ts +41 -0
  224. package/corpus/core/src/server/agent-chat-plugin.ts +403 -4179
  225. package/corpus/core/src/server/agent-teams.ts +26 -3
  226. package/corpus/core/src/server/auth.ts +55 -57
  227. package/corpus/core/src/server/core-routes-plugin.ts +30 -14
  228. package/corpus/core/src/server/credential-provider.ts +22 -25
  229. package/corpus/core/src/server/csrf.ts +24 -5
  230. package/corpus/core/src/server/edge.ts +1 -0
  231. package/corpus/core/src/server/framework-request-handler.ts +34 -0
  232. package/corpus/core/src/server/google-realtime-session.ts +1 -36
  233. package/corpus/core/src/server/onboarding-html.ts +1 -16
  234. package/corpus/core/src/server/poll.ts +24 -2
  235. package/corpus/core/src/server/realtime-voice.ts +49 -5
  236. package/corpus/core/src/server/request-origin.ts +67 -0
  237. package/corpus/core/src/server/ssr-handler.ts +55 -2
  238. package/corpus/core/src/server/transcribe-voice.ts +1 -50
  239. package/corpus/core/src/sharing/access.ts +155 -11
  240. package/corpus/core/src/sharing/registry.ts +7 -0
  241. package/corpus/core/src/styles/agent-native.css +15 -14
  242. package/corpus/core/src/templates/default/.agents/skills/frontend-design/SKILL.md +1 -1
  243. package/corpus/core/src/templates/default/app/i18n/ar-SA.ts +6 -0
  244. package/corpus/core/src/templates/default/app/i18n/de-DE.ts +6 -0
  245. package/corpus/core/src/templates/default/app/i18n/en-US.ts +6 -0
  246. package/corpus/core/src/templates/default/app/i18n/es-ES.ts +6 -0
  247. package/corpus/core/src/templates/default/app/i18n/fr-FR.ts +6 -0
  248. package/corpus/core/src/templates/default/app/i18n/hi-IN.ts +6 -0
  249. package/corpus/core/src/templates/default/app/i18n/ja-JP.ts +6 -0
  250. package/corpus/core/src/templates/default/app/i18n/ko-KR.ts +6 -0
  251. package/corpus/core/src/templates/default/app/i18n/pt-BR.ts +6 -0
  252. package/corpus/core/src/templates/default/app/i18n/zh-CN.ts +6 -0
  253. package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +6 -0
  254. package/corpus/core/src/templates/default/package.json +2 -2
  255. package/corpus/core/src/templates/headless/package.json +0 -1
  256. package/corpus/core/src/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
  257. package/corpus/core/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +27 -29
  258. package/corpus/core/src/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
  259. package/corpus/core/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +2 -1
  260. package/corpus/core/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +1 -1
  261. package/corpus/core/src/templates/workspace-core/.agents/skills/observability/SKILL.md +32 -0
  262. package/corpus/core/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +25 -0
  263. package/corpus/core/src/templates/workspace-core/package.json +0 -1
  264. package/corpus/core/src/templates/workspace-core/src/server/index.ts +4 -2
  265. package/corpus/core/src/templates/workspace-root/package.json +0 -1
  266. package/corpus/core/src/testing.ts +26 -0
  267. package/corpus/core/src/triggers/actions.ts +11 -3
  268. package/corpus/core/src/triggers/dispatcher.ts +23 -2
  269. package/corpus/core/src/triggers/types.ts +7 -1
  270. package/corpus/core/src/vite/client.ts +126 -2
  271. package/corpus/core/tsconfig.cli.json +1 -1
  272. package/corpus/core/tsconfig.json +5 -1
  273. package/corpus/templates/analytics/.agents/skills/bigquery/SKILL.md +2 -2
  274. package/corpus/templates/analytics/.agents/skills/frontend-design/SKILL.md +1 -1
  275. package/corpus/templates/analytics/AGENTS.md +19 -6
  276. package/corpus/templates/analytics/actions/compose-dashboard.ts +65 -37
  277. package/corpus/templates/analytics/actions/install-dashboard-template.ts +79 -43
  278. package/corpus/templates/analytics/actions/list-explorer-dashboards.ts +3 -3
  279. package/corpus/templates/analytics/actions/list-sql-dashboards.ts +8 -3
  280. package/corpus/templates/analytics/actions/mutate-dashboard.ts +73 -24
  281. package/corpus/templates/analytics/actions/rename-analysis.ts +8 -2
  282. package/corpus/templates/analytics/actions/rename-dashboard.ts +8 -7
  283. package/corpus/templates/analytics/actions/reorder-dashboard-panels.ts +16 -13
  284. package/corpus/templates/analytics/actions/update-dashboard.ts +53 -42
  285. package/corpus/templates/analytics/actions/view-screen.ts +4 -23
  286. package/corpus/templates/analytics/app/components/ResourceLoadError.tsx +42 -0
  287. package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +85 -70
  288. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +107 -89
  289. package/corpus/templates/analytics/app/components/layout/SidebarLoadError.tsx +24 -0
  290. package/corpus/templates/analytics/app/hooks/use-dashboard-views.ts +15 -5
  291. package/corpus/templates/analytics/app/i18n/zh-TW.ts +4 -0
  292. package/corpus/templates/analytics/app/i18n-data.ts +40 -0
  293. package/corpus/templates/analytics/app/pages/Settings.tsx +6 -2
  294. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/SqlPreview.tsx +36 -20
  295. package/corpus/templates/analytics/app/pages/adhoc/explorer/index.tsx +34 -20
  296. package/corpus/templates/analytics/app/pages/adhoc/explorer/use-explorer-config.ts +42 -41
  297. package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +43 -36
  298. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/ViewsMenu.tsx +11 -2
  299. package/corpus/templates/analytics/app/root.tsx +13 -1
  300. package/corpus/templates/analytics/app/routes/_index.tsx +14 -2
  301. package/corpus/templates/analytics/changelog/2026-07-03-agent-llm-observability-dashboard.md +1 -1
  302. package/corpus/templates/analytics/changelog/2026-07-10-dashboard-edits-from-the-agent-and-the-ui-at-the-same-time-n.md +6 -0
  303. package/corpus/templates/analytics/changelog/2026-07-10-timed-out-bigquery-jobs-are-now-cancelled-so-they-stop-consu.md +6 -0
  304. package/corpus/templates/analytics/changelog/2026-07-11-agent-feedback-sentiment-dashboard.md +6 -0
  305. package/corpus/templates/analytics/changelog/2026-07-11-analytics-chats-now-start-faster-by-loading-metric-definitio.md +6 -0
  306. package/corpus/templates/analytics/changelog/2026-07-11-command-and-sql-previews-now-respond-without-lag.md +6 -0
  307. package/corpus/templates/analytics/changelog/2026-07-11-command-search-now-reports-loading-failures-and-lets-you-ret.md +6 -0
  308. package/corpus/templates/analytics/changelog/2026-07-11-dashboard-navigation-now-loads-faster-and-reports-request-fa.md +6 -0
  309. package/corpus/templates/analytics/changelog/2026-07-11-inferred-message-sentiment-dashboard.md +6 -0
  310. package/corpus/templates/analytics/changelog/2026-07-11-microphone-settings-from-realtime-voice-mode-now-open-the-vo.md +6 -0
  311. package/corpus/templates/analytics/changelog/2026-07-11-more-dashboard-edit-paths-are-now-safe-against-simultaneous-.md +6 -0
  312. package/corpus/templates/analytics/changelog/2026-07-11-renaming-a-dashboard-is-now-safe-against-simultaneous-agent-.md +6 -0
  313. package/corpus/templates/analytics/changelog/2026-07-11-renaming-an-analysis-is-now-safe-against-simultaneous-edits.md +6 -0
  314. package/corpus/templates/analytics/changelog/2026-07-11-workspace-mounted-analytics-now-opens-ask-reliably-and-route.md +6 -0
  315. package/corpus/templates/analytics/docs/schemas/first-party-analytics.md +37 -3
  316. package/corpus/templates/analytics/package.json +1 -2
  317. package/corpus/templates/analytics/seeds/dashboards/agent-native-templates-first-party.json +339 -1
  318. package/corpus/templates/analytics/server/lib/bigquery.ts +3 -2
  319. package/corpus/templates/analytics/server/lib/dashboard-catalog.ts +1 -24
  320. package/corpus/templates/analytics/server/lib/dashboard-seeds.ts +0 -5
  321. package/corpus/templates/analytics/server/lib/dashboards-store.ts +443 -31
  322. package/corpus/templates/analytics/server/lib/data-dictionary-context.ts +106 -34
  323. package/corpus/templates/analytics/server/lib/demo-dashboards.ts +4 -1
  324. package/corpus/templates/analytics/server/plugins/agent-chat.ts +11 -39
  325. package/corpus/templates/assets/.agents/skills/frontend-design/SKILL.md +1 -1
  326. package/corpus/templates/assets/app/components/create/RecentDraftsSection.tsx +30 -4
  327. package/corpus/templates/assets/app/routes/library.tsx +49 -5
  328. package/corpus/templates/assets/changelog/2026-07-11-library-load-failures-now-show-a-retry-action.md +6 -0
  329. package/corpus/templates/assets/package.json +1 -2
  330. package/corpus/templates/brain/.agents/skills/frontend-design/SKILL.md +1 -1
  331. package/corpus/templates/brain/package.json +1 -2
  332. package/corpus/templates/calendar/.agents/skills/frontend-design/SKILL.md +1 -1
  333. package/corpus/templates/calendar/.env.example +5 -0
  334. package/corpus/templates/calendar/app/components/calendar/EventCard.tsx +2 -2
  335. package/corpus/templates/calendar/app/i18n/zh-TW.ts +2 -0
  336. package/corpus/templates/calendar/app/i18n-data.ts +20 -0
  337. package/corpus/templates/calendar/app/pages/BookingLinksPage.tsx +37 -1
  338. package/corpus/templates/calendar/app/pages/BookingsList.tsx +20 -3
  339. package/corpus/templates/calendar/changelog/2026-07-11-booking-load-failures-now-show-a-retry-action.md +6 -0
  340. package/corpus/templates/calendar/changelog/2026-07-11-event-cards-give-subtle-press-feedback-and-smoother-hover.md +6 -0
  341. package/corpus/templates/calendar/package.json +1 -2
  342. package/corpus/templates/chat/.agents/skills/frontend-design/SKILL.md +1 -1
  343. package/corpus/templates/chat/package.json +1 -2
  344. package/corpus/templates/clips/.agents/skills/frontend-design/SKILL.md +1 -1
  345. package/corpus/templates/clips/actions/decline-invite.ts +8 -0
  346. package/corpus/templates/clips/app/components/library/folder-tree.tsx +209 -187
  347. package/corpus/templates/clips/app/components/meetings/meeting-card.tsx +2 -2
  348. package/corpus/templates/clips/app/components/player/reactions-tray.tsx +17 -5
  349. package/corpus/templates/clips/app/components/player/scrubber.tsx +5 -3
  350. package/corpus/templates/clips/app/components/recorder/pre-record-panel.tsx +2 -2
  351. package/corpus/templates/clips/app/components/workspace/insights-hub.tsx +119 -95
  352. package/corpus/templates/clips/app/global.css +45 -0
  353. package/corpus/templates/clips/app/root.tsx +4 -0
  354. package/corpus/templates/clips/app/routes/_app.notifications.tsx +23 -2
  355. package/corpus/templates/clips/app/routes/_app.trash.tsx +24 -2
  356. package/corpus/templates/clips/changelog/2026-07-10-atomic-view-tracking.md +6 -0
  357. package/corpus/templates/clips/changelog/2026-07-11-controls-and-folders-now-move-more-smoothly.md +6 -0
  358. package/corpus/templates/clips/changelog/2026-07-11-declining-an-invitation-now-requires-being-its-recipient.md +6 -0
  359. package/corpus/templates/clips/changelog/2026-07-11-recording-overlays-are-lighter-weight-and-no-longer-cause-pa.md +6 -0
  360. package/corpus/templates/clips/changelog/2026-07-11-workspace-load-failures-now-show-a-retry-action.md +6 -0
  361. package/corpus/templates/clips/chrome-extension/package.json +3 -2
  362. package/corpus/templates/clips/chrome-extension/src/overlay.css +34 -5
  363. package/corpus/templates/clips/chrome-extension/src/styles.css +2 -2
  364. package/corpus/templates/clips/desktop/package.json +6 -4
  365. package/corpus/templates/clips/desktop/src/lib/recorder.ts +26 -13
  366. package/corpus/templates/clips/desktop/src/lib/voice-dictation.ts +4 -1
  367. package/corpus/templates/clips/desktop/src/styles.css +71 -26
  368. package/corpus/templates/clips/package.json +1 -2
  369. package/corpus/templates/clips/server/db/schema.ts +29 -17
  370. package/corpus/templates/clips/server/plugins/db.ts +8 -0
  371. package/corpus/templates/clips/server/routes/api/view-event.post.ts +260 -105
  372. package/corpus/templates/content/.agents/skills/frontend-design/SKILL.md +1 -1
  373. package/corpus/templates/content/.agents/skills/notion-integration/SKILL.md +16 -0
  374. package/corpus/templates/content/AGENTS.md +72 -62
  375. package/corpus/templates/content/actions/_content-database-source-adapters.ts +84 -0
  376. package/corpus/templates/content/actions/_database-source-utils.ts +206 -96
  377. package/corpus/templates/content/actions/_notion-database-source-adapter.ts +216 -0
  378. package/corpus/templates/content/actions/_position-utils.ts +76 -0
  379. package/corpus/templates/content/actions/_property-utils.ts +31 -20
  380. package/corpus/templates/content/actions/add-database-item.ts +52 -39
  381. package/corpus/templates/content/actions/attach-content-database-source.ts +95 -11
  382. package/corpus/templates/content/actions/change-content-database-source-role.ts +24 -1
  383. package/corpus/templates/content/actions/configure-document-property.ts +36 -27
  384. package/corpus/templates/content/actions/create-content-database.ts +40 -30
  385. package/corpus/templates/content/actions/create-document.ts +39 -32
  386. package/corpus/templates/content/actions/duplicate-document-property.ts +37 -28
  387. package/corpus/templates/content/actions/list-notion-database-sources.ts +80 -0
  388. package/corpus/templates/content/actions/move-document.ts +93 -61
  389. package/corpus/templates/content/actions/refresh-content-database-source.ts +42 -3
  390. package/corpus/templates/content/actions/share-local-file-document.ts +36 -27
  391. package/corpus/templates/content/actions/suggest-source-join-key.ts +39 -16
  392. package/corpus/templates/content/app/components/QueryErrorState.tsx +39 -0
  393. package/corpus/templates/content/app/components/editor/LinkHoverPreview.tsx +1 -1
  394. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +323 -1467
  395. package/corpus/templates/content/app/components/editor/database/GalleryView.tsx +368 -0
  396. package/corpus/templates/content/app/components/editor/database/ListView.tsx +353 -0
  397. package/corpus/templates/content/app/components/editor/database/TimelineView.tsx +580 -0
  398. package/corpus/templates/content/app/components/editor/database/settings.tsx +1 -1
  399. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +11 -2
  400. package/corpus/templates/content/app/global.css +19 -19
  401. package/corpus/templates/content/app/hooks/use-content-database.ts +18 -1
  402. package/corpus/templates/content/app/i18n/zh-TW.ts +4 -0
  403. package/corpus/templates/content/app/i18n-data.ts +40 -0
  404. package/corpus/templates/content/app/root.tsx +2 -2
  405. package/corpus/templates/content/app/routes/_app._index.tsx +11 -1
  406. package/corpus/templates/content/changelog/2026-07-10-failed-row-creation-and-source-attach-now-show-an-error-inst.md +6 -0
  407. package/corpus/templates/content/changelog/2026-07-10-items-added-at-the-same-time-no-longer-end-up-with-identical.md +6 -0
  408. package/corpus/templates/content/changelog/2026-07-10-notion-databases-can-add-read-only-details-to-content-tables.md +6 -0
  409. package/corpus/templates/content/changelog/2026-07-11-document-load-failures-now-show-a-retry-action.md +6 -0
  410. package/corpus/templates/content/changelog/2026-07-11-editor-toggle-feedback-now-feels-more-responsive.md +6 -0
  411. package/corpus/templates/content/changelog/2026-07-11-moving-documents-at-the-same-time-no-longer-scrambles-their-.md +6 -0
  412. package/corpus/templates/content/changelog/2026-07-11-public-document-chats-now-start-faster-while-keeping-full-do.md +6 -0
  413. package/corpus/templates/content/changelog/2026-07-11-reopening-a-comment-now-uses-consistent-permissions-everywhe.md +6 -0
  414. package/corpus/templates/content/changelog/2026-07-11-sidebar-resizing-now-tracks-your-cursor-instantly-instead-of.md +6 -0
  415. package/corpus/templates/content/package.json +1 -2
  416. package/corpus/templates/content/parity/matrix.md +25 -25
  417. package/corpus/templates/content/parity/matrix.ts +1 -0
  418. package/corpus/templates/content/server/lib/public-documents.ts +47 -10
  419. package/corpus/templates/content/server/routes/api/comments/[id].patch.ts +24 -24
  420. package/corpus/templates/content/server/routes/api/documents/[id]/move.patch.ts +43 -26
  421. package/corpus/templates/content/shared/api.ts +16 -1
  422. package/corpus/templates/design/.agents/skills/frontend-design/SKILL.md +1 -1
  423. package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +8 -4
  424. package/corpus/templates/design/AGENTS.md +12 -2
  425. package/corpus/templates/design/DEVELOPING.md +10 -6
  426. package/corpus/templates/design/actions/apply-visual-edit.ts +191 -6
  427. package/corpus/templates/design/actions/duplicate-design.ts +31 -25
  428. package/corpus/templates/design/app/components/QueryErrorState.tsx +24 -0
  429. package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +1 -1
  430. package/corpus/templates/design/app/components/design/DesignImportPanel.tsx +5 -2
  431. package/corpus/templates/design/app/components/design/EditPanel.tsx +326 -319
  432. package/corpus/templates/design/app/components/design/LayersPanel.tsx +198 -193
  433. package/corpus/templates/design/app/components/design/edit-panel/panel-primitives.tsx +11 -4
  434. package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +1 -1
  435. package/corpus/templates/design/app/components/layout/Layout.tsx +1 -1
  436. package/corpus/templates/design/app/pages/DesignSystems.tsx +7 -1
  437. package/corpus/templates/design/app/pages/Index.tsx +14 -2
  438. package/corpus/templates/design/app/pages/Present.tsx +16 -3
  439. package/corpus/templates/design/app/pages/Templates.tsx +10 -4
  440. package/corpus/templates/design/app/pages/design-editor/canvas-primitive-insert.ts +484 -0
  441. package/corpus/templates/design/app/pages/design-editor/clone-and-pen-edit.ts +378 -0
  442. package/corpus/templates/design/app/pages/design-editor/design-data-geometry-utils.ts +138 -0
  443. package/corpus/templates/design/app/pages/design-editor/dom-utils.ts +15 -0
  444. package/corpus/templates/design/app/pages/design-editor/generation-prompt-directives.ts +180 -0
  445. package/corpus/templates/design/app/pages/design-editor/html-layer-positioning.ts +226 -0
  446. package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +5 -1
  447. package/corpus/templates/design/app/pages/design-editor/png-export-render.ts +348 -0
  448. package/corpus/templates/design/app/pages/design-editor/screen-command-utils.ts +160 -0
  449. package/corpus/templates/design/app/pages/design-editor/text-edit-utils.ts +238 -0
  450. package/corpus/templates/design/app/pages/design-editor/tool-state.ts +23 -1
  451. package/corpus/templates/design/app/pages/design-editor/types.ts +25 -0
  452. package/corpus/templates/design/app/root.tsx +10 -1
  453. package/corpus/templates/design/changelog/2026-07-10-duplicating-a-design-can-no-longer-produce-a-copy-with-missi.md +6 -0
  454. package/corpus/templates/design/changelog/2026-07-10-local-visual-edits-can-now-save-safe-leaf-text-class-and.md +6 -0
  455. package/corpus/templates/design/changelog/2026-07-11-canvas-context-menus-now-open-without-motion-jitter.md +6 -0
  456. package/corpus/templates/design/changelog/2026-07-11-design-load-failures-now-show-a-retry-action.md +6 -0
  457. package/corpus/templates/design/changelog/2026-07-11-inspector-tooltips-appear-instantly-as-you-sweep-across-icon.md +6 -0
  458. package/corpus/templates/design/package.json +1 -1
  459. package/corpus/templates/design/shared/local-jsx-visual-edit.ts +388 -0
  460. package/corpus/templates/dispatch/.agents/skills/frontend-design/SKILL.md +1 -1
  461. package/corpus/templates/dispatch/app/i18n/zh-TW.ts +10 -0
  462. package/corpus/templates/dispatch/app/i18n-data.ts +123 -0
  463. package/corpus/templates/dispatch/app/routes/integrations.tsx +163 -144
  464. package/corpus/templates/dispatch/changelog/2026-07-11-dispatch-mcp-connections-now-start-with-safer-app-access-and.md +6 -0
  465. package/corpus/templates/dispatch/changelog/2026-07-11-overview-and-chat-now-share-a-cleaner-more-stable-flow.md +6 -0
  466. package/corpus/templates/dispatch/changelog/2026-07-11-query-errors-now-show-a-retry-option.md +6 -0
  467. package/corpus/templates/dispatch/package.json +1 -2
  468. package/corpus/templates/forms/.agents/skills/frontend-design/SKILL.md +1 -1
  469. package/corpus/templates/forms/actions/patch-form-fields.ts +82 -44
  470. package/corpus/templates/forms/app/components/layout/Sidebar.tsx +3 -3
  471. package/corpus/templates/forms/app/root.tsx +34 -8
  472. package/corpus/templates/forms/changelog/2026-07-10-simultaneous-edits-to-different-form-fields-no-longer-overwr.md +6 -0
  473. package/corpus/templates/forms/package.json +1 -2
  474. package/corpus/templates/macros/.agents/skills/frontend-design/SKILL.md +1 -1
  475. package/corpus/templates/macros/app/components/DailyProgress.tsx +25 -5
  476. package/corpus/templates/macros/app/components/QueryErrorState.tsx +31 -0
  477. package/corpus/templates/macros/app/components/WeightTracker.tsx +5 -1
  478. package/corpus/templates/macros/app/components/ui/button.tsx +1 -1
  479. package/corpus/templates/macros/app/components/ui/progress.tsx +1 -1
  480. package/corpus/templates/macros/app/components/ui/tabs.tsx +1 -1
  481. package/corpus/templates/macros/app/i18n/ar-SA.ts +2 -0
  482. package/corpus/templates/macros/app/i18n/de-DE.ts +2 -0
  483. package/corpus/templates/macros/app/i18n/en-US.ts +2 -0
  484. package/corpus/templates/macros/app/i18n/es-ES.ts +2 -0
  485. package/corpus/templates/macros/app/i18n/fr-FR.ts +2 -0
  486. package/corpus/templates/macros/app/i18n/hi-IN.ts +2 -0
  487. package/corpus/templates/macros/app/i18n/ja-JP.ts +2 -0
  488. package/corpus/templates/macros/app/i18n/ko-KR.ts +2 -0
  489. package/corpus/templates/macros/app/i18n/pt-BR.ts +2 -0
  490. package/corpus/templates/macros/app/i18n/zh-CN.ts +2 -0
  491. package/corpus/templates/macros/app/i18n/zh-TW.ts +2 -0
  492. package/corpus/templates/macros/app/routes/_index.tsx +22 -12
  493. package/corpus/templates/macros/app/routes/analytics.tsx +31 -10
  494. package/corpus/templates/macros/changelog/2026-07-11-daily-tracking-now-loads-and-updates-more-quickly.md +6 -0
  495. package/corpus/templates/macros/changelog/2026-07-11-data-load-failures-now-show-a-clear-error-with-a-retry-actio.md +6 -0
  496. package/corpus/templates/macros/package.json +1 -2
  497. package/corpus/templates/mail/.agents/skills/frontend-design/SKILL.md +1 -1
  498. package/corpus/templates/mail/.env.example +16 -11
  499. package/corpus/templates/mail/actions/list-emails.ts +39 -35
  500. package/corpus/templates/mail/app/components/email/ComposeModal.tsx +58 -6
  501. package/corpus/templates/mail/app/components/email/EmailListItem.tsx +35 -2
  502. package/corpus/templates/mail/app/components/email/EmailThread.tsx +3 -1
  503. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +113 -104
  504. package/corpus/templates/mail/app/root.tsx +8 -10
  505. package/corpus/templates/mail/changelog/2026-07-10-fixed-calendar-rsvp-buttons-in-emails-firing-duplicate-respo.md +6 -0
  506. package/corpus/templates/mail/changelog/2026-07-11-compose-and-navigation-motion-now-feel-faster-and-smoother.md +6 -0
  507. package/corpus/templates/mail/changelog/2026-07-11-swipe-to-archive-or-snooze-now-responds-to-quick-flicks-not-.md +6 -0
  508. package/corpus/templates/mail/changelog/2026-07-11-the-assistant-now-sees-the-same-inbox-you-do-snoozed-mail-st.md +6 -0
  509. package/corpus/templates/mail/package.json +1 -2
  510. package/corpus/templates/mail/server/handlers/emails.ts +25 -69
  511. package/corpus/templates/mail/server/lib/list-inbox-emails.ts +169 -0
  512. package/corpus/templates/plan/.agents/skills/frontend-design/SKILL.md +1 -1
  513. package/corpus/templates/plan/.env.example +4 -0
  514. package/corpus/templates/plan/actions/create-plan-design.ts +89 -81
  515. package/corpus/templates/plan/actions/create-prototype-plan.ts +72 -59
  516. package/corpus/templates/plan/actions/create-ui-plan.ts +70 -55
  517. package/corpus/templates/plan/actions/create-visual-plan.ts +65 -51
  518. package/corpus/templates/plan/actions/restore-plan-version.ts +126 -96
  519. package/corpus/templates/plan/actions/update-local-plan-folder.ts +43 -30
  520. package/corpus/templates/plan/actions/update-visual-plan.ts +81 -64
  521. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +17 -0
  522. package/corpus/templates/plan/app/components/ui/tabs.tsx +1 -1
  523. package/corpus/templates/plan/app/i18n/ar-SA.ts +10 -0
  524. package/corpus/templates/plan/app/i18n/de-DE.ts +10 -0
  525. package/corpus/templates/plan/app/i18n/en-US.ts +10 -0
  526. package/corpus/templates/plan/app/i18n/es-ES.ts +10 -0
  527. package/corpus/templates/plan/app/i18n/fr-FR.ts +10 -0
  528. package/corpus/templates/plan/app/i18n/hi-IN.ts +10 -0
  529. package/corpus/templates/plan/app/i18n/ja-JP.ts +10 -0
  530. package/corpus/templates/plan/app/i18n/ko-KR.ts +10 -0
  531. package/corpus/templates/plan/app/i18n/pt-BR.ts +10 -0
  532. package/corpus/templates/plan/app/i18n/zh-CN.ts +10 -0
  533. package/corpus/templates/plan/app/i18n/zh-TW.ts +10 -0
  534. package/corpus/templates/plan/app/lib/plan-local-bridge.ts +80 -1
  535. package/corpus/templates/plan/app/pages/PlansPage.tsx +152 -4
  536. package/corpus/templates/plan/app/root.tsx +11 -0
  537. package/corpus/templates/plan/changelog/2026-07-10-restoring-a-plan-version-can-no-longer-leave-a-plan-half-res.md +6 -0
  538. package/corpus/templates/plan/changelog/2026-07-11-local-plans-now-explain-and-recover-from-browser-permission-.md +6 -0
  539. package/corpus/templates/plan/changelog/2026-07-11-plan-edits-now-save-atomically-and-can-no-longer-partially-a.md +6 -0
  540. package/corpus/templates/plan/changelog/2026-07-11-plan-lists-now-show-a-clear-error-with-a-retry-action-when-t.md +6 -0
  541. package/corpus/templates/plan/package.json +1 -2
  542. package/corpus/templates/plan/server/plans.ts +9 -2
  543. package/corpus/templates/plan/shared/plan-content.ts +546 -260
  544. package/corpus/templates/slides/.agents/skills/frontend-design/SKILL.md +1 -1
  545. package/corpus/templates/slides/actions/delete-slide-comment.ts +49 -0
  546. package/corpus/templates/slides/actions/list-decks.ts +28 -0
  547. package/corpus/templates/slides/actions/update-slide-comment.ts +93 -0
  548. package/corpus/templates/slides/actions/view-screen.ts +14 -6
  549. package/corpus/templates/slides/app/components/comments/SlideCommentsPanel.tsx +33 -10
  550. package/corpus/templates/slides/app/components/deck/MermaidRenderer.tsx +41 -26
  551. package/corpus/templates/slides/app/components/design-system/DesignSystemSetup.tsx +4 -8
  552. package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +3 -5
  553. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +5 -9
  554. package/corpus/templates/slides/app/components/editor/ExportMenu.tsx +5 -12
  555. package/corpus/templates/slides/app/components/editor/GenerateSlidesDialog.tsx +2 -2
  556. package/corpus/templates/slides/app/components/editor/HistoryPanel.tsx +3 -6
  557. package/corpus/templates/slides/app/components/editor/ImageDropPromptPopover.tsx +3 -6
  558. package/corpus/templates/slides/app/components/editor/PromptDialog.tsx +2 -5
  559. package/corpus/templates/slides/app/components/presentation/PresentationView.tsx +4 -2
  560. package/corpus/templates/slides/app/components/visual-editor/CanvasCommentPins.tsx +4 -3
  561. package/corpus/templates/slides/app/context/DeckContext.tsx +56 -4
  562. package/corpus/templates/slides/app/i18n/ar-SA.ts +6 -0
  563. package/corpus/templates/slides/app/i18n/de-DE.ts +6 -0
  564. package/corpus/templates/slides/app/i18n/en-US.ts +6 -0
  565. package/corpus/templates/slides/app/i18n/es-ES.ts +6 -0
  566. package/corpus/templates/slides/app/i18n/fr-FR.ts +6 -0
  567. package/corpus/templates/slides/app/i18n/hi-IN.ts +6 -0
  568. package/corpus/templates/slides/app/i18n/ja-JP.ts +6 -0
  569. package/corpus/templates/slides/app/i18n/ko-KR.ts +6 -0
  570. package/corpus/templates/slides/app/i18n/pt-BR.ts +6 -0
  571. package/corpus/templates/slides/app/i18n/zh-CN.ts +5 -0
  572. package/corpus/templates/slides/app/i18n/zh-TW.ts +5 -0
  573. package/corpus/templates/slides/app/pages/DeckEditor.tsx +11 -30
  574. package/corpus/templates/slides/app/pages/DesignSystems.tsx +23 -2
  575. package/corpus/templates/slides/app/pages/Index.tsx +31 -4
  576. package/corpus/templates/slides/app/root.tsx +0 -5
  577. package/corpus/templates/slides/changelog/2026-07-10-deck-lists-load-much-faster-and-no-longer-re-download-slide-.md +6 -0
  578. package/corpus/templates/slides/changelog/2026-07-11-comment-load-failures-now-show-a-retry-action-instead-of-say.md +6 -0
  579. package/corpus/templates/slides/changelog/2026-07-11-comment-pins-now-clear-with-a-faster-smoother-confirmation.md +6 -0
  580. package/corpus/templates/slides/changelog/2026-07-11-deck-and-design-system-load-failures-now-show-a-retry-action.md +6 -0
  581. package/corpus/templates/slides/changelog/2026-07-11-editor-toggles-and-toolbar-menus-now-animate-smoothly.md +6 -0
  582. package/corpus/templates/slides/changelog/2026-07-11-the-assistant-can-now-resolve-reopen-and-delete-slide-commen.md +6 -0
  583. package/corpus/templates/slides/changelog/2026-07-11-viewing-slides-no-longer-loads-every-deck-s-full-contents-in.md +6 -0
  584. package/corpus/templates/slides/package.json +1 -2
  585. package/corpus/templates/slides/server/routes/api/comments/[id].delete.ts +29 -48
  586. package/corpus/templates/slides/server/routes/api/comments/[id].patch.ts +29 -65
  587. package/dist/a2a/auth-policy.d.ts +19 -0
  588. package/dist/a2a/auth-policy.d.ts.map +1 -1
  589. package/dist/a2a/auth-policy.js +32 -0
  590. package/dist/a2a/auth-policy.js.map +1 -1
  591. package/dist/action.d.ts +23 -0
  592. package/dist/action.d.ts.map +1 -1
  593. package/dist/action.js +13 -0
  594. package/dist/action.js.map +1 -1
  595. package/dist/agent/durable-background.d.ts +8 -5
  596. package/dist/agent/durable-background.d.ts.map +1 -1
  597. package/dist/agent/durable-background.js +15 -8
  598. package/dist/agent/durable-background.js.map +1 -1
  599. package/dist/agent/engine/builder-engine.d.ts.map +1 -1
  600. package/dist/agent/engine/builder-engine.js +3 -0
  601. package/dist/agent/engine/builder-engine.js.map +1 -1
  602. package/dist/agent/engine/context-directives-transform.d.ts +25 -0
  603. package/dist/agent/engine/context-directives-transform.d.ts.map +1 -0
  604. package/dist/agent/engine/context-directives-transform.js +53 -0
  605. package/dist/agent/engine/context-directives-transform.js.map +1 -0
  606. package/dist/agent/engine/continuation-dispatch-retry.d.ts +40 -0
  607. package/dist/agent/engine/continuation-dispatch-retry.d.ts.map +1 -0
  608. package/dist/agent/engine/continuation-dispatch-retry.js +109 -0
  609. package/dist/agent/engine/continuation-dispatch-retry.js.map +1 -0
  610. package/dist/agent/engine/tool-call-journal-seed.d.ts +46 -0
  611. package/dist/agent/engine/tool-call-journal-seed.d.ts.map +1 -0
  612. package/dist/agent/engine/tool-call-journal-seed.js +60 -0
  613. package/dist/agent/engine/tool-call-journal-seed.js.map +1 -0
  614. package/dist/agent/production-agent.d.ts +7 -0
  615. package/dist/agent/production-agent.d.ts.map +1 -1
  616. package/dist/agent/production-agent.js +102 -222
  617. package/dist/agent/production-agent.js.map +1 -1
  618. package/dist/agent/run-store.d.ts.map +1 -1
  619. package/dist/agent/run-store.js +9 -4
  620. package/dist/agent/run-store.js.map +1 -1
  621. package/dist/audit/actions/export-audit-events.d.ts +27 -0
  622. package/dist/audit/actions/export-audit-events.d.ts.map +1 -0
  623. package/dist/audit/actions/export-audit-events.js +144 -0
  624. package/dist/audit/actions/export-audit-events.js.map +1 -0
  625. package/dist/audit/store.d.ts +1 -0
  626. package/dist/audit/store.d.ts.map +1 -1
  627. package/dist/audit/store.js +8 -3
  628. package/dist/audit/store.js.map +1 -1
  629. package/dist/audit/types.d.ts +3 -0
  630. package/dist/audit/types.d.ts.map +1 -1
  631. package/dist/audit/types.js.map +1 -1
  632. package/dist/cli/doctor.d.ts +83 -0
  633. package/dist/cli/doctor.d.ts.map +1 -0
  634. package/dist/cli/doctor.js +281 -0
  635. package/dist/cli/doctor.js.map +1 -0
  636. package/dist/cli/index.js +50 -0
  637. package/dist/cli/index.js.map +1 -1
  638. package/dist/cli/info.js +3 -3
  639. package/dist/cli/info.js.map +1 -1
  640. package/dist/cli/package-lifecycle.d.ts +50 -0
  641. package/dist/cli/package-lifecycle.d.ts.map +1 -0
  642. package/dist/cli/package-lifecycle.js +560 -0
  643. package/dist/cli/package-lifecycle.js.map +1 -0
  644. package/dist/cli/plan-local.d.ts.map +1 -1
  645. package/dist/cli/plan-local.js +8 -2
  646. package/dist/cli/plan-local.js.map +1 -1
  647. package/dist/cli/skills-content/assets-skill.d.ts +2 -0
  648. package/dist/cli/skills-content/assets-skill.d.ts.map +1 -0
  649. package/dist/cli/skills-content/assets-skill.js +84 -0
  650. package/dist/cli/skills-content/assets-skill.js.map +1 -0
  651. package/dist/cli/skills-content/canvas.d.ts +4 -0
  652. package/dist/cli/skills-content/canvas.d.ts.map +1 -0
  653. package/dist/cli/skills-content/canvas.js +152 -0
  654. package/dist/cli/skills-content/canvas.js.map +1 -0
  655. package/dist/cli/skills-content/connection.d.ts +2 -0
  656. package/dist/cli/skills-content/connection.d.ts.map +1 -0
  657. package/dist/cli/skills-content/connection.js +53 -0
  658. package/dist/cli/skills-content/connection.js.map +1 -0
  659. package/dist/cli/skills-content/content-skill.d.ts +2 -0
  660. package/dist/cli/skills-content/content-skill.d.ts.map +1 -0
  661. package/dist/cli/skills-content/content-skill.js +110 -0
  662. package/dist/cli/skills-content/content-skill.js.map +1 -0
  663. package/dist/cli/skills-content/design-exploration-skill.d.ts +2 -0
  664. package/dist/cli/skills-content/design-exploration-skill.d.ts.map +1 -0
  665. package/dist/cli/skills-content/design-exploration-skill.js +119 -0
  666. package/dist/cli/skills-content/design-exploration-skill.js.map +1 -0
  667. package/dist/cli/skills-content/design-visual-edit-skill.d.ts +2 -0
  668. package/dist/cli/skills-content/design-visual-edit-skill.d.ts.map +1 -0
  669. package/dist/cli/skills-content/design-visual-edit-skill.js +229 -0
  670. package/dist/cli/skills-content/design-visual-edit-skill.js.map +1 -0
  671. package/dist/cli/skills-content/document-quality.d.ts +4 -0
  672. package/dist/cli/skills-content/document-quality.d.ts.map +1 -0
  673. package/dist/cli/skills-content/document-quality.js +195 -0
  674. package/dist/cli/skills-content/document-quality.js.map +1 -0
  675. package/dist/cli/skills-content/exemplar.d.ts +4 -0
  676. package/dist/cli/skills-content/exemplar.d.ts.map +1 -0
  677. package/dist/cli/skills-content/exemplar.js +68 -0
  678. package/dist/cli/skills-content/exemplar.js.map +1 -0
  679. package/dist/cli/skills-content/help.d.ts +2 -0
  680. package/dist/cli/skills-content/help.d.ts.map +1 -0
  681. package/dist/cli/skills-content/help.js +78 -0
  682. package/dist/cli/skills-content/help.js.map +1 -0
  683. package/dist/cli/skills-content/index.d.ts +23 -0
  684. package/dist/cli/skills-content/index.d.ts.map +1 -0
  685. package/dist/cli/skills-content/index.js +23 -0
  686. package/dist/cli/skills-content/index.js.map +1 -0
  687. package/dist/cli/skills-content/local-files.d.ts +2 -0
  688. package/dist/cli/skills-content/local-files.d.ts.map +1 -0
  689. package/dist/cli/skills-content/local-files.js +96 -0
  690. package/dist/cli/skills-content/local-files.js.map +1 -0
  691. package/dist/cli/skills-content/plan-setup-auth.d.ts +9 -0
  692. package/dist/cli/skills-content/plan-setup-auth.d.ts.map +1 -0
  693. package/dist/cli/skills-content/plan-setup-auth.js +81 -0
  694. package/dist/cli/skills-content/plan-setup-auth.js.map +1 -0
  695. package/dist/cli/skills-content/visual-plan-skill.d.ts +2 -0
  696. package/dist/cli/skills-content/visual-plan-skill.d.ts.map +1 -0
  697. package/dist/cli/skills-content/visual-plan-skill.js +471 -0
  698. package/dist/cli/skills-content/visual-plan-skill.js.map +1 -0
  699. package/dist/cli/skills-content/visual-recap-skill.d.ts +2 -0
  700. package/dist/cli/skills-content/visual-recap-skill.d.ts.map +1 -0
  701. package/dist/cli/skills-content/visual-recap-skill.js +548 -0
  702. package/dist/cli/skills-content/visual-recap-skill.js.map +1 -0
  703. package/dist/cli/skills-content/visualize-repo-skill.d.ts +2 -0
  704. package/dist/cli/skills-content/visualize-repo-skill.d.ts.map +1 -0
  705. package/dist/cli/skills-content/visualize-repo-skill.js +94 -0
  706. package/dist/cli/skills-content/visualize-repo-skill.js.map +1 -0
  707. package/dist/cli/skills-content/wireframe.d.ts +4 -0
  708. package/dist/cli/skills-content/wireframe.d.ts.map +1 -0
  709. package/dist/cli/skills-content/wireframe.js +347 -0
  710. package/dist/cli/skills-content/wireframe.js.map +1 -0
  711. package/dist/cli/skills.d.ts +2 -10
  712. package/dist/cli/skills.d.ts.map +1 -1
  713. package/dist/cli/skills.js +2 -2710
  714. package/dist/cli/skills.js.map +1 -1
  715. package/dist/client/AgentPanel.d.ts.map +1 -1
  716. package/dist/client/AgentPanel.js +4 -2
  717. package/dist/client/AgentPanel.js.map +1 -1
  718. package/dist/client/CommandMenu.d.ts.map +1 -1
  719. package/dist/client/CommandMenu.js +15 -3
  720. package/dist/client/CommandMenu.js.map +1 -1
  721. package/dist/client/FeedbackButton.js +2 -2
  722. package/dist/client/FeedbackButton.js.map +1 -1
  723. package/dist/client/agent-chat-adapter.js +7 -3
  724. package/dist/client/agent-chat-adapter.js.map +1 -1
  725. package/dist/client/app-providers.d.ts +13 -5
  726. package/dist/client/app-providers.d.ts.map +1 -1
  727. package/dist/client/app-providers.js +9 -6
  728. package/dist/client/app-providers.js.map +1 -1
  729. package/dist/client/chat/tool-call-display.d.ts +4 -0
  730. package/dist/client/chat/tool-call-display.d.ts.map +1 -1
  731. package/dist/client/chat/tool-call-display.js +3 -3
  732. package/dist/client/chat/tool-call-display.js.map +1 -1
  733. package/dist/client/composer/PastedTextChip.js +1 -1
  734. package/dist/client/composer/PastedTextChip.js.map +1 -1
  735. package/dist/client/composer/RealtimeVoiceMode.d.ts +3 -1
  736. package/dist/client/composer/RealtimeVoiceMode.d.ts.map +1 -1
  737. package/dist/client/composer/RealtimeVoiceMode.js +35 -14
  738. package/dist/client/composer/RealtimeVoiceMode.js.map +1 -1
  739. package/dist/client/composer/TiptapComposer.js +1 -1
  740. package/dist/client/composer/TiptapComposer.js.map +1 -1
  741. package/dist/client/composer/VoiceButton.d.ts +2 -0
  742. package/dist/client/composer/VoiceButton.d.ts.map +1 -1
  743. package/dist/client/composer/VoiceButton.js +9 -3
  744. package/dist/client/composer/VoiceButton.js.map +1 -1
  745. package/dist/client/composer/useRealtimeVoiceMode.d.ts +5 -0
  746. package/dist/client/composer/useRealtimeVoiceMode.d.ts.map +1 -1
  747. package/dist/client/composer/useRealtimeVoiceMode.js +91 -12
  748. package/dist/client/composer/useRealtimeVoiceMode.js.map +1 -1
  749. package/dist/client/context-xray/ContextXRayPanel.d.ts.map +1 -1
  750. package/dist/client/context-xray/ContextXRayPanel.js +4 -1
  751. package/dist/client/context-xray/ContextXRayPanel.js.map +1 -1
  752. package/dist/client/extensions/ExtensionEditor.d.ts.map +1 -1
  753. package/dist/client/extensions/ExtensionEditor.js +15 -5
  754. package/dist/client/extensions/ExtensionEditor.js.map +1 -1
  755. package/dist/client/extensions/ExtensionQueryErrorState.d.ts +8 -0
  756. package/dist/client/extensions/ExtensionQueryErrorState.d.ts.map +1 -0
  757. package/dist/client/extensions/ExtensionQueryErrorState.js +11 -0
  758. package/dist/client/extensions/ExtensionQueryErrorState.js.map +1 -0
  759. package/dist/client/extensions/ExtensionSlot.d.ts.map +1 -1
  760. package/dist/client/extensions/ExtensionSlot.js +17 -7
  761. package/dist/client/extensions/ExtensionSlot.js.map +1 -1
  762. package/dist/client/extensions/ExtensionViewer.d.ts.map +1 -1
  763. package/dist/client/extensions/ExtensionViewer.js +17 -7
  764. package/dist/client/extensions/ExtensionViewer.js.map +1 -1
  765. package/dist/client/extensions/ExtensionsListPage.d.ts.map +1 -1
  766. package/dist/client/extensions/ExtensionsListPage.js +5 -3
  767. package/dist/client/extensions/ExtensionsListPage.js.map +1 -1
  768. package/dist/client/extensions/ExtensionsSidebarSection.d.ts.map +1 -1
  769. package/dist/client/extensions/ExtensionsSidebarSection.js +21 -8
  770. package/dist/client/extensions/ExtensionsSidebarSection.js.map +1 -1
  771. package/dist/client/index.d.ts +0 -2
  772. package/dist/client/index.d.ts.map +1 -1
  773. package/dist/client/index.js +0 -5
  774. package/dist/client/index.js.map +1 -1
  775. package/dist/client/progress/RunsTray.d.ts.map +1 -1
  776. package/dist/client/progress/RunsTray.js +7 -3
  777. package/dist/client/progress/RunsTray.js.map +1 -1
  778. package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
  779. package/dist/client/settings/SettingsTabsPage.js +4 -0
  780. package/dist/client/settings/SettingsTabsPage.js.map +1 -1
  781. package/dist/client/settings/useBuilderStatus.d.ts +2 -0
  782. package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
  783. package/dist/client/settings/useBuilderStatus.js +4 -0
  784. package/dist/client/settings/useBuilderStatus.js.map +1 -1
  785. package/dist/client/tool-cells/EditCell.d.ts.map +1 -1
  786. package/dist/client/tool-cells/EditCell.js +2 -1
  787. package/dist/client/tool-cells/EditCell.js.map +1 -1
  788. package/dist/client/tool-cells/FilesChangedSummary.d.ts.map +1 -1
  789. package/dist/client/tool-cells/FilesChangedSummary.js +2 -1
  790. package/dist/client/tool-cells/FilesChangedSummary.js.map +1 -1
  791. package/dist/client/tool-cells/WriteCell.d.ts.map +1 -1
  792. package/dist/client/tool-cells/WriteCell.js +2 -1
  793. package/dist/client/tool-cells/WriteCell.js.map +1 -1
  794. package/dist/client/visual-style-controls.js +1 -1
  795. package/dist/client/visual-style-controls.js.map +1 -1
  796. package/dist/collab/routes.d.ts +1 -1
  797. package/dist/collab/struct-routes.d.ts +1 -1
  798. package/dist/deploy/build.d.ts.map +1 -1
  799. package/dist/deploy/build.js +36 -14
  800. package/dist/deploy/build.js.map +1 -1
  801. package/dist/guards/db-tool-scoping.d.ts +38 -0
  802. package/dist/guards/db-tool-scoping.d.ts.map +1 -0
  803. package/dist/guards/db-tool-scoping.js +114 -0
  804. package/dist/guards/db-tool-scoping.js.map +1 -0
  805. package/dist/guards/index.d.ts +23 -0
  806. package/dist/guards/index.d.ts.map +1 -0
  807. package/dist/guards/index.js +19 -0
  808. package/dist/guards/index.js.map +1 -0
  809. package/dist/guards/no-drizzle-push.d.ts +14 -0
  810. package/dist/guards/no-drizzle-push.d.ts.map +1 -0
  811. package/dist/guards/no-drizzle-push.js +97 -0
  812. package/dist/guards/no-drizzle-push.js.map +1 -0
  813. package/dist/guards/no-env-credentials.d.ts +36 -0
  814. package/dist/guards/no-env-credentials.d.ts.map +1 -0
  815. package/dist/guards/no-env-credentials.js +204 -0
  816. package/dist/guards/no-env-credentials.js.map +1 -0
  817. package/dist/guards/no-env-mutation.d.ts +23 -0
  818. package/dist/guards/no-env-mutation.d.ts.map +1 -0
  819. package/dist/guards/no-env-mutation.js +90 -0
  820. package/dist/guards/no-env-mutation.js.map +1 -0
  821. package/dist/guards/no-localhost-fallback.d.ts +30 -0
  822. package/dist/guards/no-localhost-fallback.d.ts.map +1 -0
  823. package/dist/guards/no-localhost-fallback.js +105 -0
  824. package/dist/guards/no-localhost-fallback.js.map +1 -0
  825. package/dist/guards/no-unscoped-credentials.d.ts +28 -0
  826. package/dist/guards/no-unscoped-credentials.d.ts.map +1 -0
  827. package/dist/guards/no-unscoped-credentials.js +199 -0
  828. package/dist/guards/no-unscoped-credentials.js.map +1 -0
  829. package/dist/guards/no-unscoped-queries.d.ts +32 -0
  830. package/dist/guards/no-unscoped-queries.d.ts.map +1 -0
  831. package/dist/guards/no-unscoped-queries.js +720 -0
  832. package/dist/guards/no-unscoped-queries.js.map +1 -0
  833. package/dist/guards/scan-utils.d.ts +28 -0
  834. package/dist/guards/scan-utils.d.ts.map +1 -0
  835. package/dist/guards/scan-utils.js +92 -0
  836. package/dist/guards/scan-utils.js.map +1 -0
  837. package/dist/guards/types.d.ts +28 -0
  838. package/dist/guards/types.d.ts.map +1 -0
  839. package/dist/guards/types.js +11 -0
  840. package/dist/guards/types.js.map +1 -0
  841. package/dist/integrations/google-docs-poller.d.ts +7 -0
  842. package/dist/integrations/google-docs-poller.d.ts.map +1 -1
  843. package/dist/integrations/google-docs-poller.js +13 -3
  844. package/dist/integrations/google-docs-poller.js.map +1 -1
  845. package/dist/integrations/plugin.d.ts.map +1 -1
  846. package/dist/integrations/plugin.js +10 -0
  847. package/dist/integrations/plugin.js.map +1 -1
  848. package/dist/integrations/webhook-handler.d.ts +11 -0
  849. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  850. package/dist/integrations/webhook-handler.js +16 -4
  851. package/dist/integrations/webhook-handler.js.map +1 -1
  852. package/dist/jobs/scheduler.d.ts +12 -0
  853. package/dist/jobs/scheduler.d.ts.map +1 -1
  854. package/dist/jobs/scheduler.js +13 -3
  855. package/dist/jobs/scheduler.js.map +1 -1
  856. package/dist/localization/default-messages.d.ts +7 -0
  857. package/dist/localization/default-messages.d.ts.map +1 -1
  858. package/dist/localization/default-messages.js +8 -1
  859. package/dist/localization/default-messages.js.map +1 -1
  860. package/dist/mcp/oauth-token.d.ts +1 -1
  861. package/dist/mcp/oauth-token.d.ts.map +1 -1
  862. package/dist/mcp/oauth-token.js +6 -1
  863. package/dist/mcp/oauth-token.js.map +1 -1
  864. package/dist/notifications/routes.d.ts +2 -2
  865. package/dist/observability/routes.d.ts.map +1 -1
  866. package/dist/observability/routes.js +32 -0
  867. package/dist/observability/routes.js.map +1 -1
  868. package/dist/observability/sentiment.d.ts +42 -0
  869. package/dist/observability/sentiment.d.ts.map +1 -0
  870. package/dist/observability/sentiment.js +196 -0
  871. package/dist/observability/sentiment.js.map +1 -0
  872. package/dist/observability/store.d.ts +5 -0
  873. package/dist/observability/store.d.ts.map +1 -1
  874. package/dist/observability/store.js +17 -0
  875. package/dist/observability/store.js.map +1 -1
  876. package/dist/observability/traces.d.ts +2 -0
  877. package/dist/observability/traces.d.ts.map +1 -1
  878. package/dist/observability/traces.js +42 -57
  879. package/dist/observability/traces.js.map +1 -1
  880. package/dist/observability/tracking-identity.d.ts +3 -0
  881. package/dist/observability/tracking-identity.d.ts.map +1 -0
  882. package/dist/observability/tracking-identity.js +51 -0
  883. package/dist/observability/tracking-identity.js.map +1 -0
  884. package/dist/observability/types.d.ts +10 -0
  885. package/dist/observability/types.d.ts.map +1 -1
  886. package/dist/observability/types.js +3 -0
  887. package/dist/observability/types.js.map +1 -1
  888. package/dist/org/accept-pending.d.ts.map +1 -1
  889. package/dist/org/accept-pending.js +9 -1
  890. package/dist/org/accept-pending.js.map +1 -1
  891. package/dist/org/migrations.d.ts +7 -2
  892. package/dist/org/migrations.d.ts.map +1 -1
  893. package/dist/org/migrations.js +41 -0
  894. package/dist/org/migrations.js.map +1 -1
  895. package/dist/package-lifecycle/index.d.ts +2 -0
  896. package/dist/package-lifecycle/index.d.ts.map +1 -0
  897. package/dist/package-lifecycle/index.js +2 -0
  898. package/dist/package-lifecycle/index.js.map +1 -0
  899. package/dist/package-lifecycle/manifest.d.ts +24 -0
  900. package/dist/package-lifecycle/manifest.d.ts.map +1 -0
  901. package/dist/package-lifecycle/manifest.js +81 -0
  902. package/dist/package-lifecycle/manifest.js.map +1 -0
  903. package/dist/provider-api/corpus-jobs.d.ts +2 -2
  904. package/dist/provider-api/custom-registry.d.ts +32 -1
  905. package/dist/provider-api/custom-registry.d.ts.map +1 -1
  906. package/dist/provider-api/custom-registry.js +41 -1
  907. package/dist/provider-api/custom-registry.js.map +1 -1
  908. package/dist/provider-api/index.d.ts +1 -1
  909. package/dist/provider-api/index.d.ts.map +1 -1
  910. package/dist/provider-api/index.js +1 -1
  911. package/dist/provider-api/index.js.map +1 -1
  912. package/dist/resources/handlers.d.ts +1 -1
  913. package/dist/secrets/storage.d.ts +6 -0
  914. package/dist/secrets/storage.d.ts.map +1 -1
  915. package/dist/secrets/storage.js +105 -29
  916. package/dist/secrets/storage.js.map +1 -1
  917. package/dist/server/action-discovery.d.ts.map +1 -1
  918. package/dist/server/action-discovery.js +4 -0
  919. package/dist/server/action-discovery.js.map +1 -1
  920. package/dist/server/agent-chat/action-filters-a2a.d.ts +50 -0
  921. package/dist/server/agent-chat/action-filters-a2a.d.ts.map +1 -0
  922. package/dist/server/agent-chat/action-filters-a2a.js +127 -0
  923. package/dist/server/agent-chat/action-filters-a2a.js.map +1 -0
  924. package/dist/server/agent-chat/browser-team-tools.d.ts +21 -0
  925. package/dist/server/agent-chat/browser-team-tools.d.ts.map +1 -0
  926. package/dist/server/agent-chat/browser-team-tools.js +417 -0
  927. package/dist/server/agent-chat/browser-team-tools.js.map +1 -0
  928. package/dist/server/agent-chat/context-tools.d.ts +33 -0
  929. package/dist/server/agent-chat/context-tools.d.ts.map +1 -0
  930. package/dist/server/agent-chat/context-tools.js +520 -0
  931. package/dist/server/agent-chat/context-tools.js.map +1 -0
  932. package/dist/server/agent-chat/framework-prompts.d.ts +65 -0
  933. package/dist/server/agent-chat/framework-prompts.d.ts.map +1 -0
  934. package/dist/server/agent-chat/framework-prompts.js +403 -0
  935. package/dist/server/agent-chat/framework-prompts.js.map +1 -0
  936. package/dist/server/agent-chat/lazy-fs.d.ts +2 -0
  937. package/dist/server/agent-chat/lazy-fs.d.ts.map +1 -0
  938. package/dist/server/agent-chat/lazy-fs.js +11 -0
  939. package/dist/server/agent-chat/lazy-fs.js.map +1 -0
  940. package/dist/server/agent-chat/mcp-glue.d.ts +9 -0
  941. package/dist/server/agent-chat/mcp-glue.d.ts.map +1 -0
  942. package/dist/server/agent-chat/mcp-glue.js +63 -0
  943. package/dist/server/agent-chat/mcp-glue.js.map +1 -0
  944. package/dist/server/agent-chat/plugin-options.d.ts +322 -0
  945. package/dist/server/agent-chat/plugin-options.d.ts.map +1 -0
  946. package/dist/server/agent-chat/plugin-options.js +2 -0
  947. package/dist/server/agent-chat/plugin-options.js.map +1 -0
  948. package/dist/server/agent-chat/process-run-failure.d.ts +12 -0
  949. package/dist/server/agent-chat/process-run-failure.d.ts.map +1 -0
  950. package/dist/server/agent-chat/process-run-failure.js +24 -0
  951. package/dist/server/agent-chat/process-run-failure.js.map +1 -0
  952. package/dist/server/agent-chat/prompt-resources.d.ts +28 -0
  953. package/dist/server/agent-chat/prompt-resources.d.ts.map +1 -0
  954. package/dist/server/agent-chat/prompt-resources.js +514 -0
  955. package/dist/server/agent-chat/prompt-resources.js.map +1 -0
  956. package/dist/server/agent-chat/recurring-jobs-runtime.d.ts +5 -0
  957. package/dist/server/agent-chat/recurring-jobs-runtime.d.ts.map +1 -0
  958. package/dist/server/agent-chat/recurring-jobs-runtime.js +53 -0
  959. package/dist/server/agent-chat/recurring-jobs-runtime.js.map +1 -0
  960. package/dist/server/agent-chat/request-surface.d.ts +8 -0
  961. package/dist/server/agent-chat/request-surface.d.ts.map +1 -0
  962. package/dist/server/agent-chat/request-surface.js +56 -0
  963. package/dist/server/agent-chat/request-surface.js.map +1 -0
  964. package/dist/server/agent-chat/run-code-tools.d.ts +17 -0
  965. package/dist/server/agent-chat/run-code-tools.d.ts.map +1 -0
  966. package/dist/server/agent-chat/run-code-tools.js +55 -0
  967. package/dist/server/agent-chat/run-code-tools.js.map +1 -0
  968. package/dist/server/agent-chat/script-entries.d.ts +47 -0
  969. package/dist/server/agent-chat/script-entries.d.ts.map +1 -0
  970. package/dist/server/agent-chat/script-entries.js +633 -0
  971. package/dist/server/agent-chat/script-entries.js.map +1 -0
  972. package/dist/server/agent-chat/shared-thread.d.ts +33 -0
  973. package/dist/server/agent-chat/shared-thread.d.ts.map +1 -0
  974. package/dist/server/agent-chat/shared-thread.js +242 -0
  975. package/dist/server/agent-chat/shared-thread.js.map +1 -0
  976. package/dist/server/agent-chat/skill-frontmatter.d.ts +7 -0
  977. package/dist/server/agent-chat/skill-frontmatter.d.ts.map +1 -0
  978. package/dist/server/agent-chat/skill-frontmatter.js +26 -0
  979. package/dist/server/agent-chat/skill-frontmatter.js.map +1 -0
  980. package/dist/server/agent-chat-plugin.d.ts +45 -486
  981. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  982. package/dist/server/agent-chat-plugin.js +217 -3015
  983. package/dist/server/agent-chat-plugin.js.map +1 -1
  984. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  985. package/dist/server/agent-teams.d.ts +10 -0
  986. package/dist/server/agent-teams.d.ts.map +1 -1
  987. package/dist/server/agent-teams.js +13 -3
  988. package/dist/server/agent-teams.js.map +1 -1
  989. package/dist/server/auth.d.ts.map +1 -1
  990. package/dist/server/auth.js +50 -52
  991. package/dist/server/auth.js.map +1 -1
  992. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  993. package/dist/server/core-routes-plugin.js +23 -12
  994. package/dist/server/core-routes-plugin.js.map +1 -1
  995. package/dist/server/credential-provider.d.ts.map +1 -1
  996. package/dist/server/credential-provider.js +22 -21
  997. package/dist/server/credential-provider.js.map +1 -1
  998. package/dist/server/csrf.d.ts.map +1 -1
  999. package/dist/server/csrf.js +18 -5
  1000. package/dist/server/csrf.js.map +1 -1
  1001. package/dist/server/edge.d.ts +1 -0
  1002. package/dist/server/edge.d.ts.map +1 -1
  1003. package/dist/server/edge.js +1 -0
  1004. package/dist/server/edge.js.map +1 -1
  1005. package/dist/server/framework-request-handler.d.ts.map +1 -1
  1006. package/dist/server/framework-request-handler.js +34 -0
  1007. package/dist/server/framework-request-handler.js.map +1 -1
  1008. package/dist/server/google-realtime-session.d.ts.map +1 -1
  1009. package/dist/server/google-realtime-session.js +2 -34
  1010. package/dist/server/google-realtime-session.js.map +1 -1
  1011. package/dist/server/onboarding-html.d.ts.map +1 -1
  1012. package/dist/server/onboarding-html.js +1 -16
  1013. package/dist/server/onboarding-html.js.map +1 -1
  1014. package/dist/server/poll.d.ts.map +1 -1
  1015. package/dist/server/poll.js +24 -2
  1016. package/dist/server/poll.js.map +1 -1
  1017. package/dist/server/realtime-voice.d.ts +3 -0
  1018. package/dist/server/realtime-voice.d.ts.map +1 -1
  1019. package/dist/server/realtime-voice.js +38 -5
  1020. package/dist/server/realtime-voice.js.map +1 -1
  1021. package/dist/server/request-origin.d.ts +10 -0
  1022. package/dist/server/request-origin.d.ts.map +1 -0
  1023. package/dist/server/request-origin.js +63 -0
  1024. package/dist/server/request-origin.js.map +1 -0
  1025. package/dist/server/ssr-handler.d.ts.map +1 -1
  1026. package/dist/server/ssr-handler.js +47 -2
  1027. package/dist/server/ssr-handler.js.map +1 -1
  1028. package/dist/server/transcribe-voice.d.ts.map +1 -1
  1029. package/dist/server/transcribe-voice.js +2 -48
  1030. package/dist/server/transcribe-voice.js.map +1 -1
  1031. package/dist/sharing/access.d.ts +63 -3
  1032. package/dist/sharing/access.d.ts.map +1 -1
  1033. package/dist/sharing/access.js +53 -15
  1034. package/dist/sharing/access.js.map +1 -1
  1035. package/dist/sharing/registry.d.ts +7 -0
  1036. package/dist/sharing/registry.d.ts.map +1 -1
  1037. package/dist/sharing/registry.js.map +1 -1
  1038. package/dist/styles/agent-native.css +15 -14
  1039. package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +1 -1
  1040. package/dist/templates/default/app/i18n/ar-SA.ts +6 -0
  1041. package/dist/templates/default/app/i18n/de-DE.ts +6 -0
  1042. package/dist/templates/default/app/i18n/en-US.ts +6 -0
  1043. package/dist/templates/default/app/i18n/es-ES.ts +6 -0
  1044. package/dist/templates/default/app/i18n/fr-FR.ts +6 -0
  1045. package/dist/templates/default/app/i18n/hi-IN.ts +6 -0
  1046. package/dist/templates/default/app/i18n/ja-JP.ts +6 -0
  1047. package/dist/templates/default/app/i18n/ko-KR.ts +6 -0
  1048. package/dist/templates/default/app/i18n/pt-BR.ts +6 -0
  1049. package/dist/templates/default/app/i18n/zh-CN.ts +6 -0
  1050. package/dist/templates/default/app/i18n/zh-TW.ts +6 -0
  1051. package/dist/templates/default/package.json +2 -2
  1052. package/dist/templates/headless/package.json +0 -1
  1053. package/dist/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
  1054. package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +27 -29
  1055. package/dist/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
  1056. package/dist/templates/workspace-core/.agents/skills/external-agents/SKILL.md +2 -1
  1057. package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +1 -1
  1058. package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +32 -0
  1059. package/dist/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +25 -0
  1060. package/dist/templates/workspace-core/package.json +0 -1
  1061. package/dist/templates/workspace-core/src/server/index.ts +4 -2
  1062. package/dist/templates/workspace-root/package.json +0 -1
  1063. package/dist/testing.d.ts +16 -0
  1064. package/dist/testing.d.ts.map +1 -0
  1065. package/dist/testing.js +16 -0
  1066. package/dist/testing.js.map +1 -0
  1067. package/dist/triggers/actions.d.ts.map +1 -1
  1068. package/dist/triggers/actions.js +8 -3
  1069. package/dist/triggers/actions.js.map +1 -1
  1070. package/dist/triggers/dispatcher.d.ts +7 -0
  1071. package/dist/triggers/dispatcher.d.ts.map +1 -1
  1072. package/dist/triggers/dispatcher.js +13 -3
  1073. package/dist/triggers/dispatcher.js.map +1 -1
  1074. package/dist/triggers/types.d.ts +7 -1
  1075. package/dist/triggers/types.d.ts.map +1 -1
  1076. package/dist/triggers/types.js.map +1 -1
  1077. package/dist/vite/client.d.ts +16 -1
  1078. package/dist/vite/client.d.ts.map +1 -1
  1079. package/dist/vite/client.js +105 -2
  1080. package/dist/vite/client.js.map +1 -1
  1081. package/docs/content/audit-log.mdx +2 -1
  1082. package/docs/content/authentication.mdx +3 -3
  1083. package/docs/content/automations.mdx +7 -7
  1084. package/docs/content/creating-templates.mdx +1 -1
  1085. package/docs/content/doctor.mdx +170 -0
  1086. package/docs/content/external-agents.mdx +8 -7
  1087. package/docs/content/internationalization.mdx +2 -1
  1088. package/docs/content/locales/ar-SA/audit-log.mdx +2 -1
  1089. package/docs/content/locales/ar-SA/authentication.mdx +2 -2
  1090. package/docs/content/locales/ar-SA/automations.mdx +7 -7
  1091. package/docs/content/locales/ar-SA/external-agents.mdx +8 -7
  1092. package/docs/content/locales/ar-SA/getting-started.mdx +7 -1
  1093. package/docs/content/locales/ar-SA/internationalization.mdx +1 -1
  1094. package/docs/content/locales/ar-SA/mcp-protocol.mdx +1 -1
  1095. package/docs/content/locales/ar-SA/package-lifecycle.mdx +19 -0
  1096. package/docs/content/locales/ar-SA/sandbox-adapters.mdx +18 -7
  1097. package/docs/content/locales/ar-SA/security.mdx +10 -0
  1098. package/docs/content/locales/de-DE/audit-log.mdx +2 -1
  1099. package/docs/content/locales/de-DE/authentication.mdx +1 -1
  1100. package/docs/content/locales/de-DE/automations.mdx +7 -7
  1101. package/docs/content/locales/de-DE/external-agents.mdx +8 -7
  1102. package/docs/content/locales/de-DE/getting-started.mdx +7 -1
  1103. package/docs/content/locales/de-DE/internationalization.mdx +1 -1
  1104. package/docs/content/locales/de-DE/mcp-protocol.mdx +1 -1
  1105. package/docs/content/locales/de-DE/package-lifecycle.mdx +22 -0
  1106. package/docs/content/locales/de-DE/sandbox-adapters.mdx +18 -7
  1107. package/docs/content/locales/de-DE/security.mdx +10 -0
  1108. package/docs/content/locales/es-ES/audit-log.mdx +2 -1
  1109. package/docs/content/locales/es-ES/authentication.mdx +2 -2
  1110. package/docs/content/locales/es-ES/automations.mdx +7 -7
  1111. package/docs/content/locales/es-ES/external-agents.mdx +8 -7
  1112. package/docs/content/locales/es-ES/getting-started.mdx +7 -1
  1113. package/docs/content/locales/es-ES/internationalization.mdx +1 -1
  1114. package/docs/content/locales/es-ES/mcp-protocol.mdx +1 -1
  1115. package/docs/content/locales/es-ES/package-lifecycle.mdx +22 -0
  1116. package/docs/content/locales/es-ES/sandbox-adapters.mdx +18 -7
  1117. package/docs/content/locales/es-ES/security.mdx +10 -0
  1118. package/docs/content/locales/fr-FR/audit-log.mdx +2 -1
  1119. package/docs/content/locales/fr-FR/authentication.mdx +1 -1
  1120. package/docs/content/locales/fr-FR/automations.mdx +7 -7
  1121. package/docs/content/locales/fr-FR/external-agents.mdx +8 -7
  1122. package/docs/content/locales/fr-FR/getting-started.mdx +7 -1
  1123. package/docs/content/locales/fr-FR/internationalization.mdx +1 -1
  1124. package/docs/content/locales/fr-FR/mcp-protocol.mdx +1 -1
  1125. package/docs/content/locales/fr-FR/package-lifecycle.mdx +21 -0
  1126. package/docs/content/locales/fr-FR/sandbox-adapters.mdx +19 -8
  1127. package/docs/content/locales/fr-FR/security.mdx +10 -0
  1128. package/docs/content/locales/hi-IN/audit-log.mdx +2 -1
  1129. package/docs/content/locales/hi-IN/authentication.mdx +2 -2
  1130. package/docs/content/locales/hi-IN/automations.mdx +7 -7
  1131. package/docs/content/locales/hi-IN/external-agents.mdx +8 -7
  1132. package/docs/content/locales/hi-IN/getting-started.mdx +7 -1
  1133. package/docs/content/locales/hi-IN/internationalization.mdx +1 -1
  1134. package/docs/content/locales/hi-IN/mcp-protocol.mdx +1 -1
  1135. package/docs/content/locales/hi-IN/package-lifecycle.mdx +20 -0
  1136. package/docs/content/locales/hi-IN/sandbox-adapters.mdx +18 -7
  1137. package/docs/content/locales/hi-IN/security.mdx +10 -0
  1138. package/docs/content/locales/ja-JP/audit-log.mdx +2 -1
  1139. package/docs/content/locales/ja-JP/authentication.mdx +2 -2
  1140. package/docs/content/locales/ja-JP/automations.mdx +7 -7
  1141. package/docs/content/locales/ja-JP/external-agents.mdx +8 -7
  1142. package/docs/content/locales/ja-JP/getting-started.mdx +7 -1
  1143. package/docs/content/locales/ja-JP/internationalization.mdx +1 -1
  1144. package/docs/content/locales/ja-JP/mcp-protocol.mdx +1 -1
  1145. package/docs/content/locales/ja-JP/package-lifecycle.mdx +21 -0
  1146. package/docs/content/locales/ja-JP/sandbox-adapters.mdx +17 -6
  1147. package/docs/content/locales/ja-JP/security.mdx +10 -0
  1148. package/docs/content/locales/ko-KR/audit-log.mdx +2 -1
  1149. package/docs/content/locales/ko-KR/authentication.mdx +2 -2
  1150. package/docs/content/locales/ko-KR/automations.mdx +7 -7
  1151. package/docs/content/locales/ko-KR/external-agents.mdx +8 -7
  1152. package/docs/content/locales/ko-KR/getting-started.mdx +7 -1
  1153. package/docs/content/locales/ko-KR/internationalization.mdx +1 -1
  1154. package/docs/content/locales/ko-KR/mcp-protocol.mdx +1 -1
  1155. package/docs/content/locales/ko-KR/package-lifecycle.mdx +20 -0
  1156. package/docs/content/locales/ko-KR/sandbox-adapters.mdx +17 -6
  1157. package/docs/content/locales/ko-KR/security.mdx +10 -0
  1158. package/docs/content/locales/pt-BR/audit-log.mdx +2 -1
  1159. package/docs/content/locales/pt-BR/authentication.mdx +2 -2
  1160. package/docs/content/locales/pt-BR/automations.mdx +7 -7
  1161. package/docs/content/locales/pt-BR/external-agents.mdx +8 -7
  1162. package/docs/content/locales/pt-BR/getting-started.mdx +7 -1
  1163. package/docs/content/locales/pt-BR/internationalization.mdx +1 -1
  1164. package/docs/content/locales/pt-BR/mcp-protocol.mdx +1 -1
  1165. package/docs/content/locales/pt-BR/package-lifecycle.mdx +21 -0
  1166. package/docs/content/locales/pt-BR/sandbox-adapters.mdx +18 -7
  1167. package/docs/content/locales/pt-BR/security.mdx +10 -0
  1168. package/docs/content/locales/zh-CN/audit-log.mdx +2 -1
  1169. package/docs/content/locales/zh-CN/authentication.mdx +2 -2
  1170. package/docs/content/locales/zh-CN/automations.mdx +7 -7
  1171. package/docs/content/locales/zh-CN/external-agents.mdx +8 -7
  1172. package/docs/content/locales/zh-CN/getting-started.mdx +6 -4
  1173. package/docs/content/locales/zh-CN/internationalization.mdx +1 -1
  1174. package/docs/content/locales/zh-CN/mcp-protocol.mdx +1 -1
  1175. package/docs/content/locales/zh-CN/package-lifecycle.mdx +19 -0
  1176. package/docs/content/locales/zh-CN/sandbox-adapters.mdx +17 -6
  1177. package/docs/content/locales/zh-CN/security.mdx +10 -0
  1178. package/docs/content/locales/zh-TW/audit-log.mdx +2 -1
  1179. package/docs/content/locales/zh-TW/authentication.mdx +2 -2
  1180. package/docs/content/locales/zh-TW/automations.mdx +7 -7
  1181. package/docs/content/locales/zh-TW/external-agents.mdx +8 -7
  1182. package/docs/content/locales/zh-TW/getting-started.mdx +6 -4
  1183. package/docs/content/locales/zh-TW/internationalization.mdx +1 -1
  1184. package/docs/content/locales/zh-TW/mcp-protocol.mdx +1 -1
  1185. package/docs/content/locales/zh-TW/package-lifecycle.mdx +19 -0
  1186. package/docs/content/locales/zh-TW/sandbox-adapters.mdx +18 -7
  1187. package/docs/content/locales/zh-TW/security.mdx +10 -0
  1188. package/docs/content/mcp-protocol.mdx +1 -1
  1189. package/docs/content/package-lifecycle.mdx +51 -0
  1190. package/docs/content/sandbox-adapters.mdx +16 -5
  1191. package/docs/content/security.mdx +2 -0
  1192. package/package.json +14 -3
  1193. package/src/templates/default/.agents/skills/frontend-design/SKILL.md +1 -1
  1194. package/src/templates/default/app/i18n/ar-SA.ts +6 -0
  1195. package/src/templates/default/app/i18n/de-DE.ts +6 -0
  1196. package/src/templates/default/app/i18n/en-US.ts +6 -0
  1197. package/src/templates/default/app/i18n/es-ES.ts +6 -0
  1198. package/src/templates/default/app/i18n/fr-FR.ts +6 -0
  1199. package/src/templates/default/app/i18n/hi-IN.ts +6 -0
  1200. package/src/templates/default/app/i18n/ja-JP.ts +6 -0
  1201. package/src/templates/default/app/i18n/ko-KR.ts +6 -0
  1202. package/src/templates/default/app/i18n/pt-BR.ts +6 -0
  1203. package/src/templates/default/app/i18n/zh-CN.ts +6 -0
  1204. package/src/templates/default/app/i18n/zh-TW.ts +6 -0
  1205. package/src/templates/default/package.json +2 -2
  1206. package/src/templates/headless/package.json +0 -1
  1207. package/src/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
  1208. package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +27 -29
  1209. package/src/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
  1210. package/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +2 -1
  1211. package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +1 -1
  1212. package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +32 -0
  1213. package/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +25 -0
  1214. package/src/templates/workspace-core/package.json +0 -1
  1215. package/src/templates/workspace-core/src/server/index.ts +4 -2
  1216. package/src/templates/workspace-root/package.json +0 -1
  1217. package/corpus/core/src/client/ProductionAgentPanel.tsx +0 -9
  1218. package/corpus/core/src/client/auth-redirect-url.ts +0 -23
  1219. package/corpus/core/src/client/useProductionAgent.ts +0 -253
  1220. package/corpus/core/src/shared/auth-redirect-url.ts +0 -1
  1221. package/corpus/templates/analytics/app/pages/Index.tsx +0 -16
  1222. package/corpus/templates/analytics/seeds/dashboards/agent-observability-llm.json +0 -173
  1223. package/corpus/templates/slides/app/components/ui/toast.tsx +0 -1
  1224. package/corpus/templates/slides/app/components/ui/toaster.tsx +0 -1
  1225. package/corpus/templates/slides/app/hooks/use-toast.ts +0 -1
  1226. package/dist/client/ProductionAgentPanel.d.ts +0 -6
  1227. package/dist/client/ProductionAgentPanel.d.ts.map +0 -1
  1228. package/dist/client/ProductionAgentPanel.js +0 -6
  1229. package/dist/client/ProductionAgentPanel.js.map +0 -1
  1230. package/dist/client/auth-redirect-url.d.ts +0 -2
  1231. package/dist/client/auth-redirect-url.d.ts.map +0 -1
  1232. package/dist/client/auth-redirect-url.js +0 -19
  1233. package/dist/client/auth-redirect-url.js.map +0 -1
  1234. package/dist/client/useProductionAgent.d.ts +0 -24
  1235. package/dist/client/useProductionAgent.d.ts.map +0 -1
  1236. package/dist/client/useProductionAgent.js +0 -179
  1237. package/dist/client/useProductionAgent.js.map +0 -1
  1238. package/dist/shared/auth-redirect-url.d.ts +0 -2
  1239. package/dist/shared/auth-redirect-url.d.ts.map +0 -1
  1240. package/dist/shared/auth-redirect-url.js +0 -2
  1241. package/dist/shared/auth-redirect-url.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ export declare const ASSETS_SKILL_MD = "---\nname: assets\ndescription: >-\n Use Assets for image or video generation requests, brand-safe media,\n human picker UI, search/list/export actions, and cross-app asset selection.\n Prefer this over generic image tools when installed.\nmetadata:\n visibility: exported\n---\n\n# Assets\n\nUse the Assets app when a workflow needs reusable brand media, a human picker,\nor generated image/video assets that another app can reference by ID and URL.\nWhen this skill is available, route plain image-generation requests here instead\nof using a generic image generator.\n\n## Choose The Path\n\n- Use `open-asset-picker` when a person should browse, search, generate, and\n select an asset in UI. Pass `mediaType: \"image\"` by default, or\n `mediaType: \"video\"` for video libraries. When the user asks to create a\n specific image and choose the best option, pass `prompt`,\n `autoGenerate: true`, and `count: 3` so the picker opens with candidates\n to preview and select.\n- Use unattended actions when the agent already knows what to do:\n `search-assets`, `list-assets`, `generate-image`,\n `generate-image-batch`, `generate-video`,\n `refresh-generation-run`, and `export-asset`.\n- Use browser/deep-link fallback when the host cannot render MCP Apps inline.\n Surface the returned picker link. If it opens in a normal browser tab, have\n the user select an asset there and paste back the copied handoff summary.\n Treat Codex, Claude Code, and Claude Desktop Code as link-out hosts; do not\n promise inline MCP App rendering there.\n If the skill instructions are available but the MCP tool namespace has not\n appeared yet, use the Assets browser fallback URL shape instead of switching\n to a generic generator:\n `https://assets.agent-native.com/library?mediaType=image&prompt=...&autoGenerate=1&count=3`.\n When reporting the final selected image in Codex or Claude Code, include the\n asset link and, if an inline preview is important, download the selected\n `previewUrl`/`downloadUrl` to a local temp image and embed that absolute\n local path. Remote CDN markdown images can fail to render in code-editor chat\n surfaces.\n\n## Image And Video Workflows\n\n1. Pick or match the library with `list-libraries` or `match-library`.\n2. For images, call `generate-image` or `generate-image-batch`. Image\n actions are synchronous: one batch call should return the finished image\n candidates, so do not poll or regenerate unless a returned slot failed.\n3. For videos, call `generate-video` and poll `refresh-generation-run`\n until the run completes.\n4. Preserve returned `assetId`, `runId`, `previewUrl`, `downloadUrl`,\n media type, and dimensions so the caller can attach or embed the result.\n\n## Cross-App Use\n\n- Hosted default: connect `https://assets.agent-native.com/_agent-native/mcp`.\n Do not put shared secrets in skill files.\n- For CLI/code-editor clients, keep any `npx @agent-native/core@latest connect` command\n running until browser authorization finishes. Stopping it early can leave the\n browser approved but the local MCP config unwritten. Restart or reload the\n agent client after installing or connecting if Assets tools do not appear in\n the live session.\n- Local customization: use `npx @agent-native/core@latest app-skill launch --local` from an\n Assets app-skill manifest, or pass `--into <path>` for editable source.\n- Do not call image/video providers directly from another app. Assets owns\n generation, picker UI, search/list/export, and asset context.\n- If an Assets tool call returns `Session terminated`, `needs auth`, or\n another connector/session error, do not keep retrying the tool. Stop and give\n the user the reconnect step: in Claude Code run `/mcp` and choose\n Authenticate/Reconnect for the Assets connector; from any terminal run\n `npx -y @agent-native/core@latest reconnect https://assets.agent-native.com` \u2014 this\n re-authenticates WITHOUT reinstalling. Never reinstall from scratch just to fix\n auth. Continue once the connector is available.\n- Do not hand-roll MCP HTTP requests with curl from the agent session. Use the\n host-exposed Assets tools after restart/reload, or use the returned\n browser/deep-link fallback.\n- If a batch image generation request times out in browser fallback, retry with\n `count: 1` only after telling the user the multi-candidate request timed out.\n- If you inspect local MCP config, redact `Authorization`, `http_headers`,\n and token values. Never paste bearer tokens into chat or logs.\n";
2
+ //# sourceMappingURL=assets-skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets-skill.d.ts","sourceRoot":"","sources":["../../../src/cli/skills-content/assets-skill.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,m9IAkF3B,CAAC"}
@@ -0,0 +1,84 @@
1
+ export const ASSETS_SKILL_MD = `---
2
+ name: assets
3
+ description: >-
4
+ Use Assets for image or video generation requests, brand-safe media,
5
+ human picker UI, search/list/export actions, and cross-app asset selection.
6
+ Prefer this over generic image tools when installed.
7
+ metadata:
8
+ visibility: exported
9
+ ---
10
+
11
+ # Assets
12
+
13
+ Use the Assets app when a workflow needs reusable brand media, a human picker,
14
+ or generated image/video assets that another app can reference by ID and URL.
15
+ When this skill is available, route plain image-generation requests here instead
16
+ of using a generic image generator.
17
+
18
+ ## Choose The Path
19
+
20
+ - Use \`open-asset-picker\` when a person should browse, search, generate, and
21
+ select an asset in UI. Pass \`mediaType: "image"\` by default, or
22
+ \`mediaType: "video"\` for video libraries. When the user asks to create a
23
+ specific image and choose the best option, pass \`prompt\`,
24
+ \`autoGenerate: true\`, and \`count: 3\` so the picker opens with candidates
25
+ to preview and select.
26
+ - Use unattended actions when the agent already knows what to do:
27
+ \`search-assets\`, \`list-assets\`, \`generate-image\`,
28
+ \`generate-image-batch\`, \`generate-video\`,
29
+ \`refresh-generation-run\`, and \`export-asset\`.
30
+ - Use browser/deep-link fallback when the host cannot render MCP Apps inline.
31
+ Surface the returned picker link. If it opens in a normal browser tab, have
32
+ the user select an asset there and paste back the copied handoff summary.
33
+ Treat Codex, Claude Code, and Claude Desktop Code as link-out hosts; do not
34
+ promise inline MCP App rendering there.
35
+ If the skill instructions are available but the MCP tool namespace has not
36
+ appeared yet, use the Assets browser fallback URL shape instead of switching
37
+ to a generic generator:
38
+ \`https://assets.agent-native.com/library?mediaType=image&prompt=...&autoGenerate=1&count=3\`.
39
+ When reporting the final selected image in Codex or Claude Code, include the
40
+ asset link and, if an inline preview is important, download the selected
41
+ \`previewUrl\`/\`downloadUrl\` to a local temp image and embed that absolute
42
+ local path. Remote CDN markdown images can fail to render in code-editor chat
43
+ surfaces.
44
+
45
+ ## Image And Video Workflows
46
+
47
+ 1. Pick or match the library with \`list-libraries\` or \`match-library\`.
48
+ 2. For images, call \`generate-image\` or \`generate-image-batch\`. Image
49
+ actions are synchronous: one batch call should return the finished image
50
+ candidates, so do not poll or regenerate unless a returned slot failed.
51
+ 3. For videos, call \`generate-video\` and poll \`refresh-generation-run\`
52
+ until the run completes.
53
+ 4. Preserve returned \`assetId\`, \`runId\`, \`previewUrl\`, \`downloadUrl\`,
54
+ media type, and dimensions so the caller can attach or embed the result.
55
+
56
+ ## Cross-App Use
57
+
58
+ - Hosted default: connect \`https://assets.agent-native.com/_agent-native/mcp\`.
59
+ Do not put shared secrets in skill files.
60
+ - For CLI/code-editor clients, keep any \`npx @agent-native/core@latest connect\` command
61
+ running until browser authorization finishes. Stopping it early can leave the
62
+ browser approved but the local MCP config unwritten. Restart or reload the
63
+ agent client after installing or connecting if Assets tools do not appear in
64
+ the live session.
65
+ - Local customization: use \`npx @agent-native/core@latest app-skill launch --local\` from an
66
+ Assets app-skill manifest, or pass \`--into <path>\` for editable source.
67
+ - Do not call image/video providers directly from another app. Assets owns
68
+ generation, picker UI, search/list/export, and asset context.
69
+ - If an Assets tool call returns \`Session terminated\`, \`needs auth\`, or
70
+ another connector/session error, do not keep retrying the tool. Stop and give
71
+ the user the reconnect step: in Claude Code run \`/mcp\` and choose
72
+ Authenticate/Reconnect for the Assets connector; from any terminal run
73
+ \`npx -y @agent-native/core@latest reconnect https://assets.agent-native.com\` — this
74
+ re-authenticates WITHOUT reinstalling. Never reinstall from scratch just to fix
75
+ auth. Continue once the connector is available.
76
+ - Do not hand-roll MCP HTTP requests with curl from the agent session. Use the
77
+ host-exposed Assets tools after restart/reload, or use the returned
78
+ browser/deep-link fallback.
79
+ - If a batch image generation request times out in browser fallback, retry with
80
+ \`count: 1\` only after telling the user the multi-candidate request timed out.
81
+ - If you inspect local MCP config, redact \`Authorization\`, \`http_headers\`,
82
+ and token values. Never paste bearer tokens into chat or logs.
83
+ `;
84
+ //# sourceMappingURL=assets-skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets-skill.js","sourceRoot":"","sources":["../../../src/cli/skills-content/assets-skill.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkF9B,CAAC","sourcesContent":["export const ASSETS_SKILL_MD = `---\nname: assets\ndescription: >-\n Use Assets for image or video generation requests, brand-safe media,\n human picker UI, search/list/export actions, and cross-app asset selection.\n Prefer this over generic image tools when installed.\nmetadata:\n visibility: exported\n---\n\n# Assets\n\nUse the Assets app when a workflow needs reusable brand media, a human picker,\nor generated image/video assets that another app can reference by ID and URL.\nWhen this skill is available, route plain image-generation requests here instead\nof using a generic image generator.\n\n## Choose The Path\n\n- Use \\`open-asset-picker\\` when a person should browse, search, generate, and\n select an asset in UI. Pass \\`mediaType: \"image\"\\` by default, or\n \\`mediaType: \"video\"\\` for video libraries. When the user asks to create a\n specific image and choose the best option, pass \\`prompt\\`,\n \\`autoGenerate: true\\`, and \\`count: 3\\` so the picker opens with candidates\n to preview and select.\n- Use unattended actions when the agent already knows what to do:\n \\`search-assets\\`, \\`list-assets\\`, \\`generate-image\\`,\n \\`generate-image-batch\\`, \\`generate-video\\`,\n \\`refresh-generation-run\\`, and \\`export-asset\\`.\n- Use browser/deep-link fallback when the host cannot render MCP Apps inline.\n Surface the returned picker link. If it opens in a normal browser tab, have\n the user select an asset there and paste back the copied handoff summary.\n Treat Codex, Claude Code, and Claude Desktop Code as link-out hosts; do not\n promise inline MCP App rendering there.\n If the skill instructions are available but the MCP tool namespace has not\n appeared yet, use the Assets browser fallback URL shape instead of switching\n to a generic generator:\n \\`https://assets.agent-native.com/library?mediaType=image&prompt=...&autoGenerate=1&count=3\\`.\n When reporting the final selected image in Codex or Claude Code, include the\n asset link and, if an inline preview is important, download the selected\n \\`previewUrl\\`/\\`downloadUrl\\` to a local temp image and embed that absolute\n local path. Remote CDN markdown images can fail to render in code-editor chat\n surfaces.\n\n## Image And Video Workflows\n\n1. Pick or match the library with \\`list-libraries\\` or \\`match-library\\`.\n2. For images, call \\`generate-image\\` or \\`generate-image-batch\\`. Image\n actions are synchronous: one batch call should return the finished image\n candidates, so do not poll or regenerate unless a returned slot failed.\n3. For videos, call \\`generate-video\\` and poll \\`refresh-generation-run\\`\n until the run completes.\n4. Preserve returned \\`assetId\\`, \\`runId\\`, \\`previewUrl\\`, \\`downloadUrl\\`,\n media type, and dimensions so the caller can attach or embed the result.\n\n## Cross-App Use\n\n- Hosted default: connect \\`https://assets.agent-native.com/_agent-native/mcp\\`.\n Do not put shared secrets in skill files.\n- For CLI/code-editor clients, keep any \\`npx @agent-native/core@latest connect\\` command\n running until browser authorization finishes. Stopping it early can leave the\n browser approved but the local MCP config unwritten. Restart or reload the\n agent client after installing or connecting if Assets tools do not appear in\n the live session.\n- Local customization: use \\`npx @agent-native/core@latest app-skill launch --local\\` from an\n Assets app-skill manifest, or pass \\`--into <path>\\` for editable source.\n- Do not call image/video providers directly from another app. Assets owns\n generation, picker UI, search/list/export, and asset context.\n- If an Assets tool call returns \\`Session terminated\\`, \\`needs auth\\`, or\n another connector/session error, do not keep retrying the tool. Stop and give\n the user the reconnect step: in Claude Code run \\`/mcp\\` and choose\n Authenticate/Reconnect for the Assets connector; from any terminal run\n \\`npx -y @agent-native/core@latest reconnect https://assets.agent-native.com\\` — this\n re-authenticates WITHOUT reinstalling. Never reinstall from scratch just to fix\n auth. Continue once the connector is available.\n- Do not hand-roll MCP HTTP requests with curl from the agent session. Use the\n host-exposed Assets tools after restart/reload, or use the returned\n browser/deep-link fallback.\n- If a batch image generation request times out in browser fallback, retry with\n \\`count: 1\\` only after telling the user the multi-candidate request timed out.\n- If you inspect local MCP config, redact \\`Authorization\\`, \\`http_headers\\`,\n and token values. Never paste bearer tokens into chat or logs.\n`;\n"]}
@@ -0,0 +1,4 @@
1
+ export declare const CANVAS_SURFACE_CORE = "<!-- SHARED-CORE:canvas-surface START -->\n\n**The coordinate rule.** The `surface` locks each artboard's footprint and\naspect \u2014 never set artboard width/height and never use coordinates inside the\nwireframe HTML; board-level artboard `x`/`y` IS allowed when it creates clear\nlanes. Let canvas auto-placement handle simple one-row boards.\n\n**Lay out mixed canvases in lanes.** When a canvas contains broad browser /\ndesktop frames plus compact `mobile`, `popover`, or `panel` surfaces, do not put\neverything in one horizontal strip. Use board-level artboard `x`/`y` to reserve\nlanes with generous empty space: main flow on one row, compact surfaces in their\nown column or row, and loading/error states in a lower row. Keep at least 96px\nbetween rendered artboard rectangles plus room for annotation gutters; when a\nbroad browser/desktop frame sits beside a compact panel/popover, leave at least\n160px so frame borders, labels, and hover controls never touch. Connect only\nneighboring steps; never draw a long connector that skips across unrelated\nframes. Connector labels must sit in open canvas space. If the label would touch\nor cross either artboard, remove the label and explain the transition with a\nnearby annotation instead. Before handoff, inspect the top canvas at default zoom\nand move any frame whose label, connector, or annotation crosses another frame.\n\n**Board-unit spacing defaults.** The canvas coordinate system uses approximately 2 board units per screen pixel. `browser` frames occupy roughly 700 \u00D7 600 board units; `desktop` frames roughly 900 \u00D7 700 board units. Apply these minimum x/y gaps when placing frames explicitly \u2014 any less and frames will touch or overlap:\n\n- x-gap between `browser` frames: **\u2265 1100** (700-unit frame + 400-unit gutter)\n- x-gap between `desktop` frames: **\u2265 1300** (900-unit frame + 400-unit gutter)\n- y-gap between rows of any surface: **\u2265 1400** (includes frame height + section header + buffer)\n\nWhen in doubt, use larger values \u2014 the canvas auto-zooms to fit everything.\n\n**Canvas annotations are designer notes on the artboard.** When a top canvas is\npresent, sprinkle design-review notes near the frames they explain: a short\nheading, supporting text, and bullets \u2014 plain text layers, never bordered or\nshadowed cards, and never a box around a frame. The renderer spaces notes away\nfrom frames, so place each note by the frame it describes. Use an arrow only to\npoint at one specific control or transition; for a broad frame-level note, write\ntext beside the frame with no connector. Connectors are for real sequences only \u2014\nnever fake \"Step 1 \u2192 Step 2\" lines between independent states.\n\n**Do not create overlapping annotations.** Anchor each ordinary note to the\nframe it explains with `targetId` + `placement` (top/right/bottom/left), and\nomit `type` or use `type: \"note\"`. The renderer parks notes in a gutter beside\nthe frame and lays them out automatically. Do not use `type: \"callout\"`,\n`type: \"text\"`, `type: \"arrow\"`, x/y, or points for ordinary notes; those are\nfreeform review-markup layers and must be reserved for intentional markup in\nopen canvas space. Reserve arrows for a note that must point at one specific\ncontrol inside a frame; a note that simply sits beside its frame needs no arrow.\n\n**Patching.** Edit one wireframe, canvas annotation, diagram, or block with targeted `contentPatches`\n(for example `patch-wireframe-html`, `patch-diagram-html`, `update-block`,\n`replace-blocks`, `update-canvas-annotation`) rather\nthan regenerating the whole plan. `contentPatches` are part of the public MCP\naction schema, so Claude Code, Codex, Cursor, and other hosts can make surgical\nedits. If an agent is working from exported source files, use\n`read-visual-plan-source` / `patch-visual-plan-source`: `plan.mdx` holds\nfrontmatter plus markdown/document blocks, `canvas.mdx` holds\n`<DesignBoard>/<Section>/<Artboard>/<Screen>/<Annotation>/<Connector>`, and the\npatch action normalizes the MDX back into the same JSON runtime model. JSON is\nthe canonical runtime shape; MDX is the repo-friendly authoring/export surface.\nIn the browser, humans edit `rich-text` prose inline; agents should still use\n`update-rich-text` content patches or source patches for prose, and use\ncomments/structured patches for canvas, artboard, wireframe, and diagram edits.\nNever send a partial top-level `content` object as a shortcut to add a canvas,\nframe, or block: `content` is a full structured replacement, so omitted blocks\nor surfaces can disappear. If a full replacement is truly unavoidable, read the\ncomplete source/JSON first, include every existing block and surface in the new\npayload, and verify the source/export immediately after the update.\n\n**Never emit a titled artboard with no interior wireframe content.** Every artboard\nyou place on the canvas must carry an `html` wireframe or reference a wireframe\nblock via `blockId`; when using `blockId`, the referenced `wireframe` /\n`legacy-wireframe` block must remain in the plan. If you remove a duplicate\nwireframe from the document body, first move its `data` inline onto the\ncorresponding `content.canvas.frames[*].wireframe` / `legacyWireframe`. A\nlabel-only frame or a frame pointing at a deleted block renders empty and is\nrejected at parse time. If you only have a title, write it as a section header or\nannotation, not an empty artboard.\n\n**UI mockups belong in the top visual review area.** Static UI/product visuals\nlive on the canvas; multi-step UI flows get both canvas wireframes and a\nprototype. When the user asks for a mockup, UI state, loading state, layout,\nscreen, or visual comparison, make the canvas the primary home for that static\nvisual. When the user asks for a prototype or the plan contains a sequence the\nreviewer must feel, keep the canvas artboards and add `content.prototype` so the\ntop surface shows Wireframes / Prototype tabs. Architecture/code diagrams stay\ninline in the document (the SKILL.md Visual Surface Choice section owns that\nrule) unless the user explicitly asks for a spatial board. Document blocks\ncan explain, compare, or map implementation, but they should not host the\nprimary UI mockup or prototype just because `custom-html`, screenshots, or prose\nare easier to produce. If the canvas/prototype surface cannot represent the\nrequested UI fidelity, still keep the closest top-surface representation and\ncall out or extend the needed renderer capability. A skeleton/loading mockup\nalso lives in a canvas artboard \u2014 never move a mockup out of the canvas.\n\n**Storyboards are canvas artifacts, not document diagrams.** When the requested\noutput is a product flow, onboarding journey, \"light storyboard\", or canvas\nwireframe, author the flow as multiple top-canvas artboards with real screen\ncontent and neighboring connectors. Keep document-body `diagram` blocks for\narchitecture and mechanics that are not themselves user-visible screens. A\nstoryboard made from a single inline HTML diagram is the wrong surface.\n\nFor abstract product concepts, use the canvas to create the first \"I get it\"\nmoment: one real app state near the top showing how the concept appears to a\nuser, followed by separate annotations or diagrams for mechanics. Do not make\nthe first artboard a hybrid of app UI and architecture notes; the app screen\nshould be inspectable as product UI on its own.\n\n**Legacy kit tree.** Older plans set a `screen` array of `{ el, ...props }` kit\nnodes instead of `html`; the renderer still accepts and displays it so saved\nplans round-trip, but new plans emit `html`. Do not author fresh kit-tree\nscreens, and do not put nested kit components such as `<FrameScreen>`, `<Card>`,\n`<Row>`, `<Title>`, or `<Btn>` inside a canvas `<Screen>`. A new canvas artboard\nwith kit-tree children is a defect: replace it with\n`<Screen surface=\"...\" html={...} />` using the HTML wireframe rules. The HTML\npath is the one that gets the renderer-owned surface sizing, theme tokens,\nsketch/clean toggle, and safe text layout used by good document-body\nwireframes. Likewise, old or imported plans may carry coordinate-based regions\nor free-float x/y on notes; those are legacy escape hatches the renderer still\nshows but you must never produce. The gutter parks notes by `targetId` +\n`placement`, and the coordinate rule at the top of this file governs all\nnew-plan placement.\n\n<!-- SHARED-CORE:canvas-surface END -->";
2
+ export declare const CANVAS_REFERENCE_MD = "# Canvas & artboard placement \u2014 single source of truth\n\nThis file is the canonical guide for how the visual-plan canvas works: artboard\nplacement, lane layout, annotations, patching, and the legacy kit tree. Read it\nin full before authoring or editing any canvas/artboard content; do not author\ncanvas layouts from memory or paraphrase these rules per mode.\n\n<!-- SHARED-CORE:canvas-surface START -->\n\n**The coordinate rule.** The `surface` locks each artboard's footprint and\naspect \u2014 never set artboard width/height and never use coordinates inside the\nwireframe HTML; board-level artboard `x`/`y` IS allowed when it creates clear\nlanes. Let canvas auto-placement handle simple one-row boards.\n\n**Lay out mixed canvases in lanes.** When a canvas contains broad browser /\ndesktop frames plus compact `mobile`, `popover`, or `panel` surfaces, do not put\neverything in one horizontal strip. Use board-level artboard `x`/`y` to reserve\nlanes with generous empty space: main flow on one row, compact surfaces in their\nown column or row, and loading/error states in a lower row. Keep at least 96px\nbetween rendered artboard rectangles plus room for annotation gutters; when a\nbroad browser/desktop frame sits beside a compact panel/popover, leave at least\n160px so frame borders, labels, and hover controls never touch. Connect only\nneighboring steps; never draw a long connector that skips across unrelated\nframes. Connector labels must sit in open canvas space. If the label would touch\nor cross either artboard, remove the label and explain the transition with a\nnearby annotation instead. Before handoff, inspect the top canvas at default zoom\nand move any frame whose label, connector, or annotation crosses another frame.\n\n**Board-unit spacing defaults.** The canvas coordinate system uses approximately 2 board units per screen pixel. `browser` frames occupy roughly 700 \u00D7 600 board units; `desktop` frames roughly 900 \u00D7 700 board units. Apply these minimum x/y gaps when placing frames explicitly \u2014 any less and frames will touch or overlap:\n\n- x-gap between `browser` frames: **\u2265 1100** (700-unit frame + 400-unit gutter)\n- x-gap between `desktop` frames: **\u2265 1300** (900-unit frame + 400-unit gutter)\n- y-gap between rows of any surface: **\u2265 1400** (includes frame height + section header + buffer)\n\nWhen in doubt, use larger values \u2014 the canvas auto-zooms to fit everything.\n\n**Canvas annotations are designer notes on the artboard.** When a top canvas is\npresent, sprinkle design-review notes near the frames they explain: a short\nheading, supporting text, and bullets \u2014 plain text layers, never bordered or\nshadowed cards, and never a box around a frame. The renderer spaces notes away\nfrom frames, so place each note by the frame it describes. Use an arrow only to\npoint at one specific control or transition; for a broad frame-level note, write\ntext beside the frame with no connector. Connectors are for real sequences only \u2014\nnever fake \"Step 1 \u2192 Step 2\" lines between independent states.\n\n**Do not create overlapping annotations.** Anchor each ordinary note to the\nframe it explains with `targetId` + `placement` (top/right/bottom/left), and\nomit `type` or use `type: \"note\"`. The renderer parks notes in a gutter beside\nthe frame and lays them out automatically. Do not use `type: \"callout\"`,\n`type: \"text\"`, `type: \"arrow\"`, x/y, or points for ordinary notes; those are\nfreeform review-markup layers and must be reserved for intentional markup in\nopen canvas space. Reserve arrows for a note that must point at one specific\ncontrol inside a frame; a note that simply sits beside its frame needs no arrow.\n\n**Patching.** Edit one wireframe, canvas annotation, diagram, or block with targeted `contentPatches`\n(for example `patch-wireframe-html`, `patch-diagram-html`, `update-block`,\n`replace-blocks`, `update-canvas-annotation`) rather\nthan regenerating the whole plan. `contentPatches` are part of the public MCP\naction schema, so Claude Code, Codex, Cursor, and other hosts can make surgical\nedits. If an agent is working from exported source files, use\n`read-visual-plan-source` / `patch-visual-plan-source`: `plan.mdx` holds\nfrontmatter plus markdown/document blocks, `canvas.mdx` holds\n`<DesignBoard>/<Section>/<Artboard>/<Screen>/<Annotation>/<Connector>`, and the\npatch action normalizes the MDX back into the same JSON runtime model. JSON is\nthe canonical runtime shape; MDX is the repo-friendly authoring/export surface.\nIn the browser, humans edit `rich-text` prose inline; agents should still use\n`update-rich-text` content patches or source patches for prose, and use\ncomments/structured patches for canvas, artboard, wireframe, and diagram edits.\nNever send a partial top-level `content` object as a shortcut to add a canvas,\nframe, or block: `content` is a full structured replacement, so omitted blocks\nor surfaces can disappear. If a full replacement is truly unavoidable, read the\ncomplete source/JSON first, include every existing block and surface in the new\npayload, and verify the source/export immediately after the update.\n\n**Never emit a titled artboard with no interior wireframe content.** Every artboard\nyou place on the canvas must carry an `html` wireframe or reference a wireframe\nblock via `blockId`; when using `blockId`, the referenced `wireframe` /\n`legacy-wireframe` block must remain in the plan. If you remove a duplicate\nwireframe from the document body, first move its `data` inline onto the\ncorresponding `content.canvas.frames[*].wireframe` / `legacyWireframe`. A\nlabel-only frame or a frame pointing at a deleted block renders empty and is\nrejected at parse time. If you only have a title, write it as a section header or\nannotation, not an empty artboard.\n\n**UI mockups belong in the top visual review area.** Static UI/product visuals\nlive on the canvas; multi-step UI flows get both canvas wireframes and a\nprototype. When the user asks for a mockup, UI state, loading state, layout,\nscreen, or visual comparison, make the canvas the primary home for that static\nvisual. When the user asks for a prototype or the plan contains a sequence the\nreviewer must feel, keep the canvas artboards and add `content.prototype` so the\ntop surface shows Wireframes / Prototype tabs. Architecture/code diagrams stay\ninline in the document (the SKILL.md Visual Surface Choice section owns that\nrule) unless the user explicitly asks for a spatial board. Document blocks\ncan explain, compare, or map implementation, but they should not host the\nprimary UI mockup or prototype just because `custom-html`, screenshots, or prose\nare easier to produce. If the canvas/prototype surface cannot represent the\nrequested UI fidelity, still keep the closest top-surface representation and\ncall out or extend the needed renderer capability. A skeleton/loading mockup\nalso lives in a canvas artboard \u2014 never move a mockup out of the canvas.\n\n**Storyboards are canvas artifacts, not document diagrams.** When the requested\noutput is a product flow, onboarding journey, \"light storyboard\", or canvas\nwireframe, author the flow as multiple top-canvas artboards with real screen\ncontent and neighboring connectors. Keep document-body `diagram` blocks for\narchitecture and mechanics that are not themselves user-visible screens. A\nstoryboard made from a single inline HTML diagram is the wrong surface.\n\nFor abstract product concepts, use the canvas to create the first \"I get it\"\nmoment: one real app state near the top showing how the concept appears to a\nuser, followed by separate annotations or diagrams for mechanics. Do not make\nthe first artboard a hybrid of app UI and architecture notes; the app screen\nshould be inspectable as product UI on its own.\n\n**Legacy kit tree.** Older plans set a `screen` array of `{ el, ...props }` kit\nnodes instead of `html`; the renderer still accepts and displays it so saved\nplans round-trip, but new plans emit `html`. Do not author fresh kit-tree\nscreens, and do not put nested kit components such as `<FrameScreen>`, `<Card>`,\n`<Row>`, `<Title>`, or `<Btn>` inside a canvas `<Screen>`. A new canvas artboard\nwith kit-tree children is a defect: replace it with\n`<Screen surface=\"...\" html={...} />` using the HTML wireframe rules. The HTML\npath is the one that gets the renderer-owned surface sizing, theme tokens,\nsketch/clean toggle, and safe text layout used by good document-body\nwireframes. Likewise, old or imported plans may carry coordinate-based regions\nor free-float x/y on notes; those are legacy escape hatches the renderer still\nshows but you must never produce. The gutter parks notes by `targetId` +\n`placement`, and the coordinate rule at the top of this file governs all\nnew-plan placement.\n\n<!-- SHARED-CORE:canvas-surface END -->\n";
3
+ export declare const CANVAS_REFERENCE_POINTER = "The canvas is the single source of truth for static UI mockups: the `surface`\nlocks each artboard's footprint, mixed surfaces lay out\nin lanes, annotations are plain-text designer notes anchored by\n`targetId`/`placement`, and edits are surgical `contentPatches`. Before\nauthoring or editing ANY canvas, artboard, or annotation, READ\n`references/canvas.md` in this skill directory \u2014 it is the single source of truth\nfor canvas/artboard mechanics. Do not author canvas layouts from memory.";
4
+ //# sourceMappingURL=canvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../../src/cli/skills-content/canvas.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,m3QAyHQ,CAAC;AASzC,eAAO,MAAM,mBAAmB,wuRAQ/B,CAAC;AAMF,eAAO,MAAM,wBAAwB,ufAMoC,CAAC"}
@@ -0,0 +1,152 @@
1
+ // Canvas/artboard placement mechanics. Used only by visual-plan modes
2
+ // (visual-recap renders standalone wireframes, not a canvas).
3
+ export const CANVAS_SURFACE_CORE = `<!-- SHARED-CORE:canvas-surface START -->
4
+
5
+ **The coordinate rule.** The \`surface\` locks each artboard's footprint and
6
+ aspect — never set artboard width/height and never use coordinates inside the
7
+ wireframe HTML; board-level artboard \`x\`/\`y\` IS allowed when it creates clear
8
+ lanes. Let canvas auto-placement handle simple one-row boards.
9
+
10
+ **Lay out mixed canvases in lanes.** When a canvas contains broad browser /
11
+ desktop frames plus compact \`mobile\`, \`popover\`, or \`panel\` surfaces, do not put
12
+ everything in one horizontal strip. Use board-level artboard \`x\`/\`y\` to reserve
13
+ lanes with generous empty space: main flow on one row, compact surfaces in their
14
+ own column or row, and loading/error states in a lower row. Keep at least 96px
15
+ between rendered artboard rectangles plus room for annotation gutters; when a
16
+ broad browser/desktop frame sits beside a compact panel/popover, leave at least
17
+ 160px so frame borders, labels, and hover controls never touch. Connect only
18
+ neighboring steps; never draw a long connector that skips across unrelated
19
+ frames. Connector labels must sit in open canvas space. If the label would touch
20
+ or cross either artboard, remove the label and explain the transition with a
21
+ nearby annotation instead. Before handoff, inspect the top canvas at default zoom
22
+ and move any frame whose label, connector, or annotation crosses another frame.
23
+
24
+ **Board-unit spacing defaults.** The canvas coordinate system uses approximately 2 board units per screen pixel. \`browser\` frames occupy roughly 700 × 600 board units; \`desktop\` frames roughly 900 × 700 board units. Apply these minimum x/y gaps when placing frames explicitly — any less and frames will touch or overlap:
25
+
26
+ - x-gap between \`browser\` frames: **≥ 1100** (700-unit frame + 400-unit gutter)
27
+ - x-gap between \`desktop\` frames: **≥ 1300** (900-unit frame + 400-unit gutter)
28
+ - y-gap between rows of any surface: **≥ 1400** (includes frame height + section header + buffer)
29
+
30
+ When in doubt, use larger values — the canvas auto-zooms to fit everything.
31
+
32
+ **Canvas annotations are designer notes on the artboard.** When a top canvas is
33
+ present, sprinkle design-review notes near the frames they explain: a short
34
+ heading, supporting text, and bullets — plain text layers, never bordered or
35
+ shadowed cards, and never a box around a frame. The renderer spaces notes away
36
+ from frames, so place each note by the frame it describes. Use an arrow only to
37
+ point at one specific control or transition; for a broad frame-level note, write
38
+ text beside the frame with no connector. Connectors are for real sequences only —
39
+ never fake "Step 1 → Step 2" lines between independent states.
40
+
41
+ **Do not create overlapping annotations.** Anchor each ordinary note to the
42
+ frame it explains with \`targetId\` + \`placement\` (top/right/bottom/left), and
43
+ omit \`type\` or use \`type: "note"\`. The renderer parks notes in a gutter beside
44
+ the frame and lays them out automatically. Do not use \`type: "callout"\`,
45
+ \`type: "text"\`, \`type: "arrow"\`, x/y, or points for ordinary notes; those are
46
+ freeform review-markup layers and must be reserved for intentional markup in
47
+ open canvas space. Reserve arrows for a note that must point at one specific
48
+ control inside a frame; a note that simply sits beside its frame needs no arrow.
49
+
50
+ **Patching.** Edit one wireframe, canvas annotation, diagram, or block with targeted \`contentPatches\`
51
+ (for example \`patch-wireframe-html\`, \`patch-diagram-html\`, \`update-block\`,
52
+ \`replace-blocks\`, \`update-canvas-annotation\`) rather
53
+ than regenerating the whole plan. \`contentPatches\` are part of the public MCP
54
+ action schema, so Claude Code, Codex, Cursor, and other hosts can make surgical
55
+ edits. If an agent is working from exported source files, use
56
+ \`read-visual-plan-source\` / \`patch-visual-plan-source\`: \`plan.mdx\` holds
57
+ frontmatter plus markdown/document blocks, \`canvas.mdx\` holds
58
+ \`<DesignBoard>/<Section>/<Artboard>/<Screen>/<Annotation>/<Connector>\`, and the
59
+ patch action normalizes the MDX back into the same JSON runtime model. JSON is
60
+ the canonical runtime shape; MDX is the repo-friendly authoring/export surface.
61
+ In the browser, humans edit \`rich-text\` prose inline; agents should still use
62
+ \`update-rich-text\` content patches or source patches for prose, and use
63
+ comments/structured patches for canvas, artboard, wireframe, and diagram edits.
64
+ Never send a partial top-level \`content\` object as a shortcut to add a canvas,
65
+ frame, or block: \`content\` is a full structured replacement, so omitted blocks
66
+ or surfaces can disappear. If a full replacement is truly unavoidable, read the
67
+ complete source/JSON first, include every existing block and surface in the new
68
+ payload, and verify the source/export immediately after the update.
69
+
70
+ **Never emit a titled artboard with no interior wireframe content.** Every artboard
71
+ you place on the canvas must carry an \`html\` wireframe or reference a wireframe
72
+ block via \`blockId\`; when using \`blockId\`, the referenced \`wireframe\` /
73
+ \`legacy-wireframe\` block must remain in the plan. If you remove a duplicate
74
+ wireframe from the document body, first move its \`data\` inline onto the
75
+ corresponding \`content.canvas.frames[*].wireframe\` / \`legacyWireframe\`. A
76
+ label-only frame or a frame pointing at a deleted block renders empty and is
77
+ rejected at parse time. If you only have a title, write it as a section header or
78
+ annotation, not an empty artboard.
79
+
80
+ **UI mockups belong in the top visual review area.** Static UI/product visuals
81
+ live on the canvas; multi-step UI flows get both canvas wireframes and a
82
+ prototype. When the user asks for a mockup, UI state, loading state, layout,
83
+ screen, or visual comparison, make the canvas the primary home for that static
84
+ visual. When the user asks for a prototype or the plan contains a sequence the
85
+ reviewer must feel, keep the canvas artboards and add \`content.prototype\` so the
86
+ top surface shows Wireframes / Prototype tabs. Architecture/code diagrams stay
87
+ inline in the document (the SKILL.md Visual Surface Choice section owns that
88
+ rule) unless the user explicitly asks for a spatial board. Document blocks
89
+ can explain, compare, or map implementation, but they should not host the
90
+ primary UI mockup or prototype just because \`custom-html\`, screenshots, or prose
91
+ are easier to produce. If the canvas/prototype surface cannot represent the
92
+ requested UI fidelity, still keep the closest top-surface representation and
93
+ call out or extend the needed renderer capability. A skeleton/loading mockup
94
+ also lives in a canvas artboard — never move a mockup out of the canvas.
95
+
96
+ **Storyboards are canvas artifacts, not document diagrams.** When the requested
97
+ output is a product flow, onboarding journey, "light storyboard", or canvas
98
+ wireframe, author the flow as multiple top-canvas artboards with real screen
99
+ content and neighboring connectors. Keep document-body \`diagram\` blocks for
100
+ architecture and mechanics that are not themselves user-visible screens. A
101
+ storyboard made from a single inline HTML diagram is the wrong surface.
102
+
103
+ For abstract product concepts, use the canvas to create the first "I get it"
104
+ moment: one real app state near the top showing how the concept appears to a
105
+ user, followed by separate annotations or diagrams for mechanics. Do not make
106
+ the first artboard a hybrid of app UI and architecture notes; the app screen
107
+ should be inspectable as product UI on its own.
108
+
109
+ **Legacy kit tree.** Older plans set a \`screen\` array of \`{ el, ...props }\` kit
110
+ nodes instead of \`html\`; the renderer still accepts and displays it so saved
111
+ plans round-trip, but new plans emit \`html\`. Do not author fresh kit-tree
112
+ screens, and do not put nested kit components such as \`<FrameScreen>\`, \`<Card>\`,
113
+ \`<Row>\`, \`<Title>\`, or \`<Btn>\` inside a canvas \`<Screen>\`. A new canvas artboard
114
+ with kit-tree children is a defect: replace it with
115
+ \`<Screen surface="..." html={...} />\` using the HTML wireframe rules. The HTML
116
+ path is the one that gets the renderer-owned surface sizing, theme tokens,
117
+ sketch/clean toggle, and safe text layout used by good document-body
118
+ wireframes. Likewise, old or imported plans may carry coordinate-based regions
119
+ or free-float x/y on notes; those are legacy escape hatches the renderer still
120
+ shows but you must never produce. The gutter parks notes by \`targetId\` +
121
+ \`placement\`, and the coordinate rule at the top of this file governs all
122
+ new-plan placement.
123
+
124
+ <!-- SHARED-CORE:canvas-surface END -->`;
125
+ // Progressive-disclosure reference files. Like `WIREFRAME_REFERENCE_MD`, each of
126
+ // the canvas / document-quality / exemplar cores is the single source of truth
127
+ // for its topic and is materialized verbatim into a sibling `references/*.md`
128
+ // file in the visual-plan skill dir instead of being interpolated inline into
129
+ // the SKILL.md body. The body carries only the matching `*_REFERENCE_POINTER`.
130
+ // Keeping each reference body byte-identical to its core (markers included) lets
131
+ // the sync guard assert the on-disk copies never drift from the constant.
132
+ export const CANVAS_REFERENCE_MD = `# Canvas & artboard placement — single source of truth
133
+
134
+ This file is the canonical guide for how the visual-plan canvas works: artboard
135
+ placement, lane layout, annotations, patching, and the legacy kit tree. Read it
136
+ in full before authoring or editing any canvas/artboard content; do not author
137
+ canvas layouts from memory or paraphrase these rules per mode.
138
+
139
+ ${CANVAS_SURFACE_CORE}
140
+ `;
141
+ // Short pointers that replace the inline canvas / document-quality / exemplar
142
+ // cores in the SKILL.md body. Authoring detail lives in the sibling reference
143
+ // files so the SKILL.md stays lean (progressive disclosure); the agent loads the
144
+ // detail on demand.
145
+ export const CANVAS_REFERENCE_POINTER = `The canvas is the single source of truth for static UI mockups: the \`surface\`
146
+ locks each artboard's footprint, mixed surfaces lay out
147
+ in lanes, annotations are plain-text designer notes anchored by
148
+ \`targetId\`/\`placement\`, and edits are surgical \`contentPatches\`. Before
149
+ authoring or editing ANY canvas, artboard, or annotation, READ
150
+ \`references/canvas.md\` in this skill directory — it is the single source of truth
151
+ for canvas/artboard mechanics. Do not author canvas layouts from memory.`;
152
+ //# sourceMappingURL=canvas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../src/cli/skills-content/canvas.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAyHK,CAAC;AAEzC,iFAAiF;AACjF,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,+EAA+E;AAC/E,iFAAiF;AACjF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;EAOjC,mBAAmB;CACpB,CAAC;AAEF,8EAA8E;AAC9E,8EAA8E;AAC9E,iFAAiF;AACjF,oBAAoB;AACpB,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;yEAMiC,CAAC","sourcesContent":["// Canvas/artboard placement mechanics. Used only by visual-plan modes\n// (visual-recap renders standalone wireframes, not a canvas).\nexport const CANVAS_SURFACE_CORE = `<!-- SHARED-CORE:canvas-surface START -->\n\n**The coordinate rule.** The \\`surface\\` locks each artboard's footprint and\naspect — never set artboard width/height and never use coordinates inside the\nwireframe HTML; board-level artboard \\`x\\`/\\`y\\` IS allowed when it creates clear\nlanes. Let canvas auto-placement handle simple one-row boards.\n\n**Lay out mixed canvases in lanes.** When a canvas contains broad browser /\ndesktop frames plus compact \\`mobile\\`, \\`popover\\`, or \\`panel\\` surfaces, do not put\neverything in one horizontal strip. Use board-level artboard \\`x\\`/\\`y\\` to reserve\nlanes with generous empty space: main flow on one row, compact surfaces in their\nown column or row, and loading/error states in a lower row. Keep at least 96px\nbetween rendered artboard rectangles plus room for annotation gutters; when a\nbroad browser/desktop frame sits beside a compact panel/popover, leave at least\n160px so frame borders, labels, and hover controls never touch. Connect only\nneighboring steps; never draw a long connector that skips across unrelated\nframes. Connector labels must sit in open canvas space. If the label would touch\nor cross either artboard, remove the label and explain the transition with a\nnearby annotation instead. Before handoff, inspect the top canvas at default zoom\nand move any frame whose label, connector, or annotation crosses another frame.\n\n**Board-unit spacing defaults.** The canvas coordinate system uses approximately 2 board units per screen pixel. \\`browser\\` frames occupy roughly 700 × 600 board units; \\`desktop\\` frames roughly 900 × 700 board units. Apply these minimum x/y gaps when placing frames explicitly — any less and frames will touch or overlap:\n\n- x-gap between \\`browser\\` frames: **≥ 1100** (700-unit frame + 400-unit gutter)\n- x-gap between \\`desktop\\` frames: **≥ 1300** (900-unit frame + 400-unit gutter)\n- y-gap between rows of any surface: **≥ 1400** (includes frame height + section header + buffer)\n\nWhen in doubt, use larger values — the canvas auto-zooms to fit everything.\n\n**Canvas annotations are designer notes on the artboard.** When a top canvas is\npresent, sprinkle design-review notes near the frames they explain: a short\nheading, supporting text, and bullets — plain text layers, never bordered or\nshadowed cards, and never a box around a frame. The renderer spaces notes away\nfrom frames, so place each note by the frame it describes. Use an arrow only to\npoint at one specific control or transition; for a broad frame-level note, write\ntext beside the frame with no connector. Connectors are for real sequences only —\nnever fake \"Step 1 → Step 2\" lines between independent states.\n\n**Do not create overlapping annotations.** Anchor each ordinary note to the\nframe it explains with \\`targetId\\` + \\`placement\\` (top/right/bottom/left), and\nomit \\`type\\` or use \\`type: \"note\"\\`. The renderer parks notes in a gutter beside\nthe frame and lays them out automatically. Do not use \\`type: \"callout\"\\`,\n\\`type: \"text\"\\`, \\`type: \"arrow\"\\`, x/y, or points for ordinary notes; those are\nfreeform review-markup layers and must be reserved for intentional markup in\nopen canvas space. Reserve arrows for a note that must point at one specific\ncontrol inside a frame; a note that simply sits beside its frame needs no arrow.\n\n**Patching.** Edit one wireframe, canvas annotation, diagram, or block with targeted \\`contentPatches\\`\n(for example \\`patch-wireframe-html\\`, \\`patch-diagram-html\\`, \\`update-block\\`,\n\\`replace-blocks\\`, \\`update-canvas-annotation\\`) rather\nthan regenerating the whole plan. \\`contentPatches\\` are part of the public MCP\naction schema, so Claude Code, Codex, Cursor, and other hosts can make surgical\nedits. If an agent is working from exported source files, use\n\\`read-visual-plan-source\\` / \\`patch-visual-plan-source\\`: \\`plan.mdx\\` holds\nfrontmatter plus markdown/document blocks, \\`canvas.mdx\\` holds\n\\`<DesignBoard>/<Section>/<Artboard>/<Screen>/<Annotation>/<Connector>\\`, and the\npatch action normalizes the MDX back into the same JSON runtime model. JSON is\nthe canonical runtime shape; MDX is the repo-friendly authoring/export surface.\nIn the browser, humans edit \\`rich-text\\` prose inline; agents should still use\n\\`update-rich-text\\` content patches or source patches for prose, and use\ncomments/structured patches for canvas, artboard, wireframe, and diagram edits.\nNever send a partial top-level \\`content\\` object as a shortcut to add a canvas,\nframe, or block: \\`content\\` is a full structured replacement, so omitted blocks\nor surfaces can disappear. If a full replacement is truly unavoidable, read the\ncomplete source/JSON first, include every existing block and surface in the new\npayload, and verify the source/export immediately after the update.\n\n**Never emit a titled artboard with no interior wireframe content.** Every artboard\nyou place on the canvas must carry an \\`html\\` wireframe or reference a wireframe\nblock via \\`blockId\\`; when using \\`blockId\\`, the referenced \\`wireframe\\` /\n\\`legacy-wireframe\\` block must remain in the plan. If you remove a duplicate\nwireframe from the document body, first move its \\`data\\` inline onto the\ncorresponding \\`content.canvas.frames[*].wireframe\\` / \\`legacyWireframe\\`. A\nlabel-only frame or a frame pointing at a deleted block renders empty and is\nrejected at parse time. If you only have a title, write it as a section header or\nannotation, not an empty artboard.\n\n**UI mockups belong in the top visual review area.** Static UI/product visuals\nlive on the canvas; multi-step UI flows get both canvas wireframes and a\nprototype. When the user asks for a mockup, UI state, loading state, layout,\nscreen, or visual comparison, make the canvas the primary home for that static\nvisual. When the user asks for a prototype or the plan contains a sequence the\nreviewer must feel, keep the canvas artboards and add \\`content.prototype\\` so the\ntop surface shows Wireframes / Prototype tabs. Architecture/code diagrams stay\ninline in the document (the SKILL.md Visual Surface Choice section owns that\nrule) unless the user explicitly asks for a spatial board. Document blocks\ncan explain, compare, or map implementation, but they should not host the\nprimary UI mockup or prototype just because \\`custom-html\\`, screenshots, or prose\nare easier to produce. If the canvas/prototype surface cannot represent the\nrequested UI fidelity, still keep the closest top-surface representation and\ncall out or extend the needed renderer capability. A skeleton/loading mockup\nalso lives in a canvas artboard — never move a mockup out of the canvas.\n\n**Storyboards are canvas artifacts, not document diagrams.** When the requested\noutput is a product flow, onboarding journey, \"light storyboard\", or canvas\nwireframe, author the flow as multiple top-canvas artboards with real screen\ncontent and neighboring connectors. Keep document-body \\`diagram\\` blocks for\narchitecture and mechanics that are not themselves user-visible screens. A\nstoryboard made from a single inline HTML diagram is the wrong surface.\n\nFor abstract product concepts, use the canvas to create the first \"I get it\"\nmoment: one real app state near the top showing how the concept appears to a\nuser, followed by separate annotations or diagrams for mechanics. Do not make\nthe first artboard a hybrid of app UI and architecture notes; the app screen\nshould be inspectable as product UI on its own.\n\n**Legacy kit tree.** Older plans set a \\`screen\\` array of \\`{ el, ...props }\\` kit\nnodes instead of \\`html\\`; the renderer still accepts and displays it so saved\nplans round-trip, but new plans emit \\`html\\`. Do not author fresh kit-tree\nscreens, and do not put nested kit components such as \\`<FrameScreen>\\`, \\`<Card>\\`,\n\\`<Row>\\`, \\`<Title>\\`, or \\`<Btn>\\` inside a canvas \\`<Screen>\\`. A new canvas artboard\nwith kit-tree children is a defect: replace it with\n\\`<Screen surface=\"...\" html={...} />\\` using the HTML wireframe rules. The HTML\npath is the one that gets the renderer-owned surface sizing, theme tokens,\nsketch/clean toggle, and safe text layout used by good document-body\nwireframes. Likewise, old or imported plans may carry coordinate-based regions\nor free-float x/y on notes; those are legacy escape hatches the renderer still\nshows but you must never produce. The gutter parks notes by \\`targetId\\` +\n\\`placement\\`, and the coordinate rule at the top of this file governs all\nnew-plan placement.\n\n<!-- SHARED-CORE:canvas-surface END -->`;\n\n// Progressive-disclosure reference files. Like `WIREFRAME_REFERENCE_MD`, each of\n// the canvas / document-quality / exemplar cores is the single source of truth\n// for its topic and is materialized verbatim into a sibling `references/*.md`\n// file in the visual-plan skill dir instead of being interpolated inline into\n// the SKILL.md body. The body carries only the matching `*_REFERENCE_POINTER`.\n// Keeping each reference body byte-identical to its core (markers included) lets\n// the sync guard assert the on-disk copies never drift from the constant.\nexport const CANVAS_REFERENCE_MD = `# Canvas & artboard placement — single source of truth\n\nThis file is the canonical guide for how the visual-plan canvas works: artboard\nplacement, lane layout, annotations, patching, and the legacy kit tree. Read it\nin full before authoring or editing any canvas/artboard content; do not author\ncanvas layouts from memory or paraphrase these rules per mode.\n\n${CANVAS_SURFACE_CORE}\n`;\n\n// Short pointers that replace the inline canvas / document-quality / exemplar\n// cores in the SKILL.md body. Authoring detail lives in the sibling reference\n// files so the SKILL.md stays lean (progressive disclosure); the agent loads the\n// detail on demand.\nexport const CANVAS_REFERENCE_POINTER = `The canvas is the single source of truth for static UI mockups: the \\`surface\\`\nlocks each artboard's footprint, mixed surfaces lay out\nin lanes, annotations are plain-text designer notes anchored by\n\\`targetId\\`/\\`placement\\`, and edits are surgical \\`contentPatches\\`. Before\nauthoring or editing ANY canvas, artboard, or annotation, READ\n\\`references/canvas.md\\` in this skill directory — it is the single source of truth\nfor canvas/artboard mechanics. Do not author canvas layouts from memory.`;\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const CONNECTION_REFERENCE_MD = "# Connecting & publishing \u2014 single source of truth\n\nThis file is the canonical rule for the never-inline deliverable, finding the\nPlan MCP connector, and restoring it when its tools are missing. It is shared\nword for word by `/visual-plan` and `/visual-recap`. Read it when you are about\nto publish, or whenever a connector or auth error appears; do not improvise an\ninline fallback from memory.\n\n<!-- SHARED-CORE:connection START -->\n\n**The deliverable is ALWAYS a published Agent-Native Plan, never inline chat\ncontent.** Do not hand the plan or recap to the user as Markdown prose, an ASCII\nsketch, a table, a fenced \"wireframe\", or a \"here's the summary\" paragraph. The\nentire value is the hosted, interactive, annotatable Plan; an inline summary is\nthe thing a Plan replaces, not a degraded version of one. The only supported\noutput is to publish through the Plan MCP connector and return its absolute URL.\nLocal-files privacy mode (`references/local-files.md`) is the one exception.\n\n**The connector is usually the `plan` server**, but older installed agents may\nexpose the same hosted connector as `agent-native-plans` \u2014 both names are valid,\nso never report the connector as missing just because it is named\n`agent-native-plans` instead of `plan`. Some clients also lazy-load connector\ntools through a deferred tool registry instead of showing the namespace upfront.\nBefore declaring the connector missing, search/load tools with the host's\ndiscovery surface (`tool_search` when available) for `create_visual_plan`,\n`create_visual_recap`, or `get_plan_blocks`, then use the tools it exposes.\n\n**If the tools are still missing after discovery, do NOT fall back to inline\noutput.** The usual cause is a connector that did not finish connecting this\nsession (it registers zero tools), NOT necessarily an auth problem \u2014 so do not\nassume the user must re-authenticate. Stop and give the user the exact restore\nstep for their current client:\n\n- **Codex / Codex Desktop:** run\n `npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --client codex`\n and start a new Codex session.\n- **Claude Code:** run `/mcp` and choose Authenticate/Reconnect, or run the same\n reconnect command with `--client claude-code` and restart Claude.\n\nThe same applies when a Plan tool returns `needs auth`, `Unauthorized`, or\n`Session terminated`: stop retrying the tool and give the reconnect step instead.\n\nAuth is stored per client config/session, so one client's reconnect does not make\nanother running client load tools. `--client all` refreshes every local client\nconfig that already has the Plan entry, but each running client still has to\nreload its MCP tools afterward. Reconnect re-authenticates WITHOUT reinstalling\nand finds the entry by URL regardless of connector name \u2014 never reinstall from\nscratch just to fix auth. Publish once the tool is reachable. Falling back to\ninline content is a defect, not a degraded mode.\n\n<!-- SHARED-CORE:connection END -->\n";
2
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/cli/skills-content/connection.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,4+FAmDnC,CAAC"}
@@ -0,0 +1,53 @@
1
+ export const CONNECTION_REFERENCE_MD = `# Connecting & publishing — single source of truth
2
+
3
+ This file is the canonical rule for the never-inline deliverable, finding the
4
+ Plan MCP connector, and restoring it when its tools are missing. It is shared
5
+ word for word by \`/visual-plan\` and \`/visual-recap\`. Read it when you are about
6
+ to publish, or whenever a connector or auth error appears; do not improvise an
7
+ inline fallback from memory.
8
+
9
+ <!-- SHARED-CORE:connection START -->
10
+
11
+ **The deliverable is ALWAYS a published Agent-Native Plan, never inline chat
12
+ content.** Do not hand the plan or recap to the user as Markdown prose, an ASCII
13
+ sketch, a table, a fenced "wireframe", or a "here's the summary" paragraph. The
14
+ entire value is the hosted, interactive, annotatable Plan; an inline summary is
15
+ the thing a Plan replaces, not a degraded version of one. The only supported
16
+ output is to publish through the Plan MCP connector and return its absolute URL.
17
+ Local-files privacy mode (\`references/local-files.md\`) is the one exception.
18
+
19
+ **The connector is usually the \`plan\` server**, but older installed agents may
20
+ expose the same hosted connector as \`agent-native-plans\` — both names are valid,
21
+ so never report the connector as missing just because it is named
22
+ \`agent-native-plans\` instead of \`plan\`. Some clients also lazy-load connector
23
+ tools through a deferred tool registry instead of showing the namespace upfront.
24
+ Before declaring the connector missing, search/load tools with the host's
25
+ discovery surface (\`tool_search\` when available) for \`create_visual_plan\`,
26
+ \`create_visual_recap\`, or \`get_plan_blocks\`, then use the tools it exposes.
27
+
28
+ **If the tools are still missing after discovery, do NOT fall back to inline
29
+ output.** The usual cause is a connector that did not finish connecting this
30
+ session (it registers zero tools), NOT necessarily an auth problem — so do not
31
+ assume the user must re-authenticate. Stop and give the user the exact restore
32
+ step for their current client:
33
+
34
+ - **Codex / Codex Desktop:** run
35
+ \`npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --client codex\`
36
+ and start a new Codex session.
37
+ - **Claude Code:** run \`/mcp\` and choose Authenticate/Reconnect, or run the same
38
+ reconnect command with \`--client claude-code\` and restart Claude.
39
+
40
+ The same applies when a Plan tool returns \`needs auth\`, \`Unauthorized\`, or
41
+ \`Session terminated\`: stop retrying the tool and give the reconnect step instead.
42
+
43
+ Auth is stored per client config/session, so one client's reconnect does not make
44
+ another running client load tools. \`--client all\` refreshes every local client
45
+ config that already has the Plan entry, but each running client still has to
46
+ reload its MCP tools afterward. Reconnect re-authenticates WITHOUT reinstalling
47
+ and finds the entry by URL regardless of connector name — never reinstall from
48
+ scratch just to fix auth. Publish once the tool is reachable. Falling back to
49
+ inline content is a defect, not a degraded mode.
50
+
51
+ <!-- SHARED-CORE:connection END -->
52
+ `;
53
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/cli/skills-content/connection.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDtC,CAAC","sourcesContent":["export const CONNECTION_REFERENCE_MD = `# Connecting & publishing — single source of truth\n\nThis file is the canonical rule for the never-inline deliverable, finding the\nPlan MCP connector, and restoring it when its tools are missing. It is shared\nword for word by \\`/visual-plan\\` and \\`/visual-recap\\`. Read it when you are about\nto publish, or whenever a connector or auth error appears; do not improvise an\ninline fallback from memory.\n\n<!-- SHARED-CORE:connection START -->\n\n**The deliverable is ALWAYS a published Agent-Native Plan, never inline chat\ncontent.** Do not hand the plan or recap to the user as Markdown prose, an ASCII\nsketch, a table, a fenced \"wireframe\", or a \"here's the summary\" paragraph. The\nentire value is the hosted, interactive, annotatable Plan; an inline summary is\nthe thing a Plan replaces, not a degraded version of one. The only supported\noutput is to publish through the Plan MCP connector and return its absolute URL.\nLocal-files privacy mode (\\`references/local-files.md\\`) is the one exception.\n\n**The connector is usually the \\`plan\\` server**, but older installed agents may\nexpose the same hosted connector as \\`agent-native-plans\\` — both names are valid,\nso never report the connector as missing just because it is named\n\\`agent-native-plans\\` instead of \\`plan\\`. Some clients also lazy-load connector\ntools through a deferred tool registry instead of showing the namespace upfront.\nBefore declaring the connector missing, search/load tools with the host's\ndiscovery surface (\\`tool_search\\` when available) for \\`create_visual_plan\\`,\n\\`create_visual_recap\\`, or \\`get_plan_blocks\\`, then use the tools it exposes.\n\n**If the tools are still missing after discovery, do NOT fall back to inline\noutput.** The usual cause is a connector that did not finish connecting this\nsession (it registers zero tools), NOT necessarily an auth problem — so do not\nassume the user must re-authenticate. Stop and give the user the exact restore\nstep for their current client:\n\n- **Codex / Codex Desktop:** run\n \\`npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --client codex\\`\n and start a new Codex session.\n- **Claude Code:** run \\`/mcp\\` and choose Authenticate/Reconnect, or run the same\n reconnect command with \\`--client claude-code\\` and restart Claude.\n\nThe same applies when a Plan tool returns \\`needs auth\\`, \\`Unauthorized\\`, or\n\\`Session terminated\\`: stop retrying the tool and give the reconnect step instead.\n\nAuth is stored per client config/session, so one client's reconnect does not make\nanother running client load tools. \\`--client all\\` refreshes every local client\nconfig that already has the Plan entry, but each running client still has to\nreload its MCP tools afterward. Reconnect re-authenticates WITHOUT reinstalling\nand finds the entry by URL regardless of connector name — never reinstall from\nscratch just to fix auth. Publish once the tool is reachable. Falling back to\ninline content is a defect, not a degraded mode.\n\n<!-- SHARED-CORE:connection END -->\n`;\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const CONTENT_SKILL_MD = "---\nname: content\ndescription: >-\n Use Content for repo-backed Markdown/MDX docs, blogs, resources, rich\n document editing, local components, shareable copies, and Content local-file\n workspaces. Prefer Content actions over raw filesystem writes when available.\nmetadata:\n visibility: exported\n---\n\n# Content\n\nUse the Content app when a workflow is about authoring, editing, reviewing, or\npublishing Markdown/MDX documents: docs sites, blogs, resource libraries,\nmarketing pages, internal notes, and local MDX components. Content gives the\nagent a document tree, a rich editor, normal document actions, and optional\nlocal-file source of truth.\n\n## Choose The Path\n\n- Use Content actions when the Content MCP/action tools are available:\n `list-documents`, `search-documents`, `get-document`,\n `pull-document`, `create-document`, `edit-document`,\n `update-document`, `delete-document`, `share-local-file-document`,\n `list-local-component-files`, and `write-local-component-file`.\n- Use `pull-document` or `get-document` before editing a page. Use\n `edit-document` for precise find/replace changes and `update-document`\n for full rewrites or new content.\n- In Local File Mode, Content actions read and write the repo files declared in\n `agent-native.json`; SQL remains cache/history/search glue, not the source of\n truth for those pages.\n- If Content tools are not visible and no local Content app or Desktop bridge is\n running, treat this skill as repo-editing guidance. Edit configured\n `.md`/`.mdx` files directly, preserve frontmatter and MDX imports, and tell\n the user the Content action surface was not available.\n\n## Action Examples\n\nPrefer JSON input for action calls:\n\n```bash\npnpm action list-documents\npnpm action get-document '{\"id\":\"local-file:...\"}'\npnpm action edit-document '{\"id\":\"local-file:...\",\"find\":\"old copy\",\"replace\":\"new copy\"}'\npnpm action update-document '{\"id\":\"local-file:...\",\"content\":\"# Updated\\n\\nBody\"}'\npnpm action share-local-file-document '{\"id\":\"local-file:...\"}'\n```\n\nRun `refresh-list` after create/update/delete operations when you need the\nopen Content UI sidebar to repaint immediately.\n\n## Local File Mode\n\nInstall into an existing repo with:\n\n```bash\nnpx @agent-native/core@latest skills add content --mode local-files --scope project\n```\n\nThe installer copies this skill and writes or updates `agent-native.json` with\nContent roots for `docs/`, `blog/`, `content/`, and `resources/`, plus a\n`components/` folder for local MDX components. A typical manifest looks like:\n\n```json\n{\n \"version\": 1,\n \"apps\": {\n \"content\": {\n \"mode\": \"local-files\",\n \"roots\": [\n { \"name\": \"Docs\", \"path\": \"docs\", \"kind\": \"docs\", \"extensions\": [\".md\", \".mdx\"] },\n { \"name\": \"Blog\", \"path\": \"blog\", \"kind\": \"blog\", \"extensions\": [\".md\", \".mdx\"] },\n { \"name\": \"Content\", \"path\": \"content\", \"kind\": \"content\", \"extensions\": [\".md\", \".mdx\"] },\n { \"name\": \"Resources\", \"path\": \"resources\", \"kind\": \"resources\", \"extensions\": [\".md\", \".mdx\"] }\n ],\n \"components\": \"components\",\n \"extensions\": \"extensions\",\n \"hide\": [\"**/_*.md\", \"**/_*.mdx\"]\n }\n }\n}\n```\n\nLocal File Mode does not make the host language model local, and the hosted\nContent app cannot read private repo files by itself. File access requires a\nlocal Content app, Agent Native Desktop, or another trusted local bridge.\n\n## MDX And Components\n\n- Preserve frontmatter keys you do not understand. Preserve MDX imports,\n exports, JSX, and expression props unless the user explicitly asks to change\n them.\n- Use local components from the configured `components` folder. Components\n should be PascalCase exports from `.tsx` files; simple editable input metadata\n can live next to them as `ComponentNameInputs`.\n- Use `list-local-component-files` and `write-local-component-file` for\n component source changes when Content tools are available. Otherwise edit the\n component files directly like normal repo source.\n\n## Boundaries\n\n- Moving, renaming, and reordering local-file pages are not first-class Content\n UI operations yet. Use normal file operations when the user asks for those,\n then let Content rediscover the file tree.\n- Do not push/pull Notion, Builder.io, or other provider-backed content unless\n the user explicitly asks for provider sync.\n- Do not paste secrets, private provider data, or credential-looking values into\n docs, generated pages, frontmatter, examples, or local components.\n";
2
+ //# sourceMappingURL=content-skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-skill.d.ts","sourceRoot":"","sources":["../../../src/cli/skills-content/content-skill.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,omJA4G5B,CAAC"}
@@ -0,0 +1,110 @@
1
+ export const CONTENT_SKILL_MD = `---
2
+ name: content
3
+ description: >-
4
+ Use Content for repo-backed Markdown/MDX docs, blogs, resources, rich
5
+ document editing, local components, shareable copies, and Content local-file
6
+ workspaces. Prefer Content actions over raw filesystem writes when available.
7
+ metadata:
8
+ visibility: exported
9
+ ---
10
+
11
+ # Content
12
+
13
+ Use the Content app when a workflow is about authoring, editing, reviewing, or
14
+ publishing Markdown/MDX documents: docs sites, blogs, resource libraries,
15
+ marketing pages, internal notes, and local MDX components. Content gives the
16
+ agent a document tree, a rich editor, normal document actions, and optional
17
+ local-file source of truth.
18
+
19
+ ## Choose The Path
20
+
21
+ - Use Content actions when the Content MCP/action tools are available:
22
+ \`list-documents\`, \`search-documents\`, \`get-document\`,
23
+ \`pull-document\`, \`create-document\`, \`edit-document\`,
24
+ \`update-document\`, \`delete-document\`, \`share-local-file-document\`,
25
+ \`list-local-component-files\`, and \`write-local-component-file\`.
26
+ - Use \`pull-document\` or \`get-document\` before editing a page. Use
27
+ \`edit-document\` for precise find/replace changes and \`update-document\`
28
+ for full rewrites or new content.
29
+ - In Local File Mode, Content actions read and write the repo files declared in
30
+ \`agent-native.json\`; SQL remains cache/history/search glue, not the source of
31
+ truth for those pages.
32
+ - If Content tools are not visible and no local Content app or Desktop bridge is
33
+ running, treat this skill as repo-editing guidance. Edit configured
34
+ \`.md\`/\`.mdx\` files directly, preserve frontmatter and MDX imports, and tell
35
+ the user the Content action surface was not available.
36
+
37
+ ## Action Examples
38
+
39
+ Prefer JSON input for action calls:
40
+
41
+ \`\`\`bash
42
+ pnpm action list-documents
43
+ pnpm action get-document '{"id":"local-file:..."}'
44
+ pnpm action edit-document '{"id":"local-file:...","find":"old copy","replace":"new copy"}'
45
+ pnpm action update-document '{"id":"local-file:...","content":"# Updated\\n\\nBody"}'
46
+ pnpm action share-local-file-document '{"id":"local-file:..."}'
47
+ \`\`\`
48
+
49
+ Run \`refresh-list\` after create/update/delete operations when you need the
50
+ open Content UI sidebar to repaint immediately.
51
+
52
+ ## Local File Mode
53
+
54
+ Install into an existing repo with:
55
+
56
+ \`\`\`bash
57
+ npx @agent-native/core@latest skills add content --mode local-files --scope project
58
+ \`\`\`
59
+
60
+ The installer copies this skill and writes or updates \`agent-native.json\` with
61
+ Content roots for \`docs/\`, \`blog/\`, \`content/\`, and \`resources/\`, plus a
62
+ \`components/\` folder for local MDX components. A typical manifest looks like:
63
+
64
+ \`\`\`json
65
+ {
66
+ "version": 1,
67
+ "apps": {
68
+ "content": {
69
+ "mode": "local-files",
70
+ "roots": [
71
+ { "name": "Docs", "path": "docs", "kind": "docs", "extensions": [".md", ".mdx"] },
72
+ { "name": "Blog", "path": "blog", "kind": "blog", "extensions": [".md", ".mdx"] },
73
+ { "name": "Content", "path": "content", "kind": "content", "extensions": [".md", ".mdx"] },
74
+ { "name": "Resources", "path": "resources", "kind": "resources", "extensions": [".md", ".mdx"] }
75
+ ],
76
+ "components": "components",
77
+ "extensions": "extensions",
78
+ "hide": ["**/_*.md", "**/_*.mdx"]
79
+ }
80
+ }
81
+ }
82
+ \`\`\`
83
+
84
+ Local File Mode does not make the host language model local, and the hosted
85
+ Content app cannot read private repo files by itself. File access requires a
86
+ local Content app, Agent Native Desktop, or another trusted local bridge.
87
+
88
+ ## MDX And Components
89
+
90
+ - Preserve frontmatter keys you do not understand. Preserve MDX imports,
91
+ exports, JSX, and expression props unless the user explicitly asks to change
92
+ them.
93
+ - Use local components from the configured \`components\` folder. Components
94
+ should be PascalCase exports from \`.tsx\` files; simple editable input metadata
95
+ can live next to them as \`ComponentNameInputs\`.
96
+ - Use \`list-local-component-files\` and \`write-local-component-file\` for
97
+ component source changes when Content tools are available. Otherwise edit the
98
+ component files directly like normal repo source.
99
+
100
+ ## Boundaries
101
+
102
+ - Moving, renaming, and reordering local-file pages are not first-class Content
103
+ UI operations yet. Use normal file operations when the user asks for those,
104
+ then let Content rediscover the file tree.
105
+ - Do not push/pull Notion, Builder.io, or other provider-backed content unless
106
+ the user explicitly asks for provider sync.
107
+ - Do not paste secrets, private provider data, or credential-looking values into
108
+ docs, generated pages, frontmatter, examples, or local components.
109
+ `;
110
+ //# sourceMappingURL=content-skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-skill.js","sourceRoot":"","sources":["../../../src/cli/skills-content/content-skill.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4G/B,CAAC","sourcesContent":["export const CONTENT_SKILL_MD = `---\nname: content\ndescription: >-\n Use Content for repo-backed Markdown/MDX docs, blogs, resources, rich\n document editing, local components, shareable copies, and Content local-file\n workspaces. Prefer Content actions over raw filesystem writes when available.\nmetadata:\n visibility: exported\n---\n\n# Content\n\nUse the Content app when a workflow is about authoring, editing, reviewing, or\npublishing Markdown/MDX documents: docs sites, blogs, resource libraries,\nmarketing pages, internal notes, and local MDX components. Content gives the\nagent a document tree, a rich editor, normal document actions, and optional\nlocal-file source of truth.\n\n## Choose The Path\n\n- Use Content actions when the Content MCP/action tools are available:\n \\`list-documents\\`, \\`search-documents\\`, \\`get-document\\`,\n \\`pull-document\\`, \\`create-document\\`, \\`edit-document\\`,\n \\`update-document\\`, \\`delete-document\\`, \\`share-local-file-document\\`,\n \\`list-local-component-files\\`, and \\`write-local-component-file\\`.\n- Use \\`pull-document\\` or \\`get-document\\` before editing a page. Use\n \\`edit-document\\` for precise find/replace changes and \\`update-document\\`\n for full rewrites or new content.\n- In Local File Mode, Content actions read and write the repo files declared in\n \\`agent-native.json\\`; SQL remains cache/history/search glue, not the source of\n truth for those pages.\n- If Content tools are not visible and no local Content app or Desktop bridge is\n running, treat this skill as repo-editing guidance. Edit configured\n \\`.md\\`/\\`.mdx\\` files directly, preserve frontmatter and MDX imports, and tell\n the user the Content action surface was not available.\n\n## Action Examples\n\nPrefer JSON input for action calls:\n\n\\`\\`\\`bash\npnpm action list-documents\npnpm action get-document '{\"id\":\"local-file:...\"}'\npnpm action edit-document '{\"id\":\"local-file:...\",\"find\":\"old copy\",\"replace\":\"new copy\"}'\npnpm action update-document '{\"id\":\"local-file:...\",\"content\":\"# Updated\\\\n\\\\nBody\"}'\npnpm action share-local-file-document '{\"id\":\"local-file:...\"}'\n\\`\\`\\`\n\nRun \\`refresh-list\\` after create/update/delete operations when you need the\nopen Content UI sidebar to repaint immediately.\n\n## Local File Mode\n\nInstall into an existing repo with:\n\n\\`\\`\\`bash\nnpx @agent-native/core@latest skills add content --mode local-files --scope project\n\\`\\`\\`\n\nThe installer copies this skill and writes or updates \\`agent-native.json\\` with\nContent roots for \\`docs/\\`, \\`blog/\\`, \\`content/\\`, and \\`resources/\\`, plus a\n\\`components/\\` folder for local MDX components. A typical manifest looks like:\n\n\\`\\`\\`json\n{\n \"version\": 1,\n \"apps\": {\n \"content\": {\n \"mode\": \"local-files\",\n \"roots\": [\n { \"name\": \"Docs\", \"path\": \"docs\", \"kind\": \"docs\", \"extensions\": [\".md\", \".mdx\"] },\n { \"name\": \"Blog\", \"path\": \"blog\", \"kind\": \"blog\", \"extensions\": [\".md\", \".mdx\"] },\n { \"name\": \"Content\", \"path\": \"content\", \"kind\": \"content\", \"extensions\": [\".md\", \".mdx\"] },\n { \"name\": \"Resources\", \"path\": \"resources\", \"kind\": \"resources\", \"extensions\": [\".md\", \".mdx\"] }\n ],\n \"components\": \"components\",\n \"extensions\": \"extensions\",\n \"hide\": [\"**/_*.md\", \"**/_*.mdx\"]\n }\n }\n}\n\\`\\`\\`\n\nLocal File Mode does not make the host language model local, and the hosted\nContent app cannot read private repo files by itself. File access requires a\nlocal Content app, Agent Native Desktop, or another trusted local bridge.\n\n## MDX And Components\n\n- Preserve frontmatter keys you do not understand. Preserve MDX imports,\n exports, JSX, and expression props unless the user explicitly asks to change\n them.\n- Use local components from the configured \\`components\\` folder. Components\n should be PascalCase exports from \\`.tsx\\` files; simple editable input metadata\n can live next to them as \\`ComponentNameInputs\\`.\n- Use \\`list-local-component-files\\` and \\`write-local-component-file\\` for\n component source changes when Content tools are available. Otherwise edit the\n component files directly like normal repo source.\n\n## Boundaries\n\n- Moving, renaming, and reordering local-file pages are not first-class Content\n UI operations yet. Use normal file operations when the user asks for those,\n then let Content rediscover the file tree.\n- Do not push/pull Notion, Builder.io, or other provider-backed content unless\n the user explicitly asks for provider sync.\n- Do not paste secrets, private provider data, or credential-looking values into\n docs, generated pages, frontmatter, examples, or local components.\n`;\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const DESIGN_EXPLORATION_SKILL_MD = "---\nname: design-exploration\ndescription: >-\n Use Design for UI/UX exploration, side-by-side design directions,\n interactive prototype previews, user selection, iteration, and design-to-code\n handoff through the hosted Design MCP app.\nmetadata:\n visibility: exported\n---\n\n# Design Exploration\n\nUse the Design app when a workflow needs visual UI exploration, prototype\niteration, or a human-in-the-loop choice among design directions.\n\n## Choose The Path\n\n- Use `create-design` first to create a project shell. Do not report the\n design as ready until it has renderable HTML.\n- For open-ended UX exploration, generate distinct, compact, complete HTML\n directions (2-5, three by default) and call `present-design-variants`. Each\n direction should be one representative screen or directional snapshot, not a\n full app per variant. Design saves every option as a normal screen on the\n overview board and renders an inline chat choice with one button per screen\n name. After the user picks, delete the unchosen variant screens and continue\n from the kept screen by first calling `get-design-snapshot` with that\n screen's `fileId`, then calling `edit-design` on that same `fileId` in a\n bounded single-file pass. Use `mode: \"replace-file\"` when expanding the\n representative placeholder into the full chosen direction. Do not call\n `generate-design` after a variant pick.\n- If the chat choice buttons are not available in the host, ask the user to\n tell you the screen name they prefer. The variants are already real screens\n on the board, so do not ask them to paste HTML or copy a generated handoff\n summary.\n- For direct refinements to an already chosen direction, call\n `get-design-snapshot`, edit from the current tuned HTML, and use\n `edit-design` for surgical changes or `mode: \"replace-file\"` for a bounded\n selected-file replacement. Use `generate-design` for new files only.\n- Use `export-coding-handoff` when the user wants to implement the chosen\n design in a codebase.\n\n## Exploration Defaults\n\n1. Default to three variants unless the user asks for a different count\n (`present-design-variants` accepts 2-5; three is the sweet spot).\n2. Make variants structurally and stylistically distinct, not just color swaps.\n3. Each variant must be a compact, complete standalone HTML document that\n renders without a build step.\n4. For product UI redesigns, prefer cleaner hierarchy, progressive disclosure,\n and realistic controls over decorative mockups.\n5. After `present-design-variants`, wait for the user's pick before\n generating the next version. Keep the chosen screen, delete the other\n variant screens, call `get-design-snapshot` with `fileId` for the kept\n screen, then call `edit-design` on that same `fileId` in a bounded pass.\n Use `mode: \"replace-file\"` when expanding the representative placeholder\n into the full chosen direction. Do not call `generate-design` after a\n variant pick. Stop after the first successful `edit-design` save.\n\n## Design Quality Bar\n\nGeneric \"AI slop\" comes from letting one prompt set taste, explore, and emit code\nat once \u2014 so the model returns the training-average (Inter, an indigo/violet\ngradient, a centered hero, three rounded cards). The variant flow above exists to\nseparate those jobs; use it, and hold this bar:\n\n- Before generating, name the concrete audience, the screen's primary job, and\n the visual thesis. If the brief is vague, make a reasonable choice and state\n it instead of producing a generic dashboard/landing-page default.\n- Refuse the defaults, and pair every \"don't\" with a \"do\" (banning Inter alone\n just makes you reach for Roboto). Avoid Inter/Roboto/system fonts, the\n indigo/violet slop palette (`#6366F1`/`#8B5CF6`/`#A855F7`) and purple-on-white\n gradients, and centered-hero + three-icon-card layouts; instead pick a\n distinctive font pairing, one non-default palette family with a single decisive\n accent, and an asymmetric layout with a clear focal point.\n- Make each direction distinct in structure and behavior, not just palette.\n Give every variant one memorable signature choice, then keep the surrounding\n chrome disciplined. Even your creative picks converge (Space Grotesk\n everywhere) \u2014 vary deliberately so two directions never share a fingerprint.\n- For existing products, inspect the current screen, design system, tokens, and\n component language before inventing a new direction. Treat any drift back to a\n default as a missing token to pin, and vary layout per screen so on-brand does\n not become same-in-your-colors.\n- Treat copy, data, and imagery as design material. Use realistic domain\n content and first-party/generated assets when images matter; avoid lorem\n ipsum, vague SaaS filler, and decorative placeholder boxes.\n- Build to a quiet quality floor: responsive desktop/mobile layout, visible\n keyboard focus, useful loading/empty/error states for app UI, and reduced\n motion support when custom motion is present.\n- After broad generation or refinement, inspect the rendered Design surface or\n a screenshot-capable host before calling it ready. Fix obvious hierarchy,\n overflow, contrast, broken interaction, and placeholder-content issues first.\n\n## Cross-App Use\n\n- Hosted default: connect `https://design.agent-native.com/_agent-native/mcp`.\n Do not put shared secrets in skill files.\n- For CLI/code-editor clients, keep any `npx @agent-native/core@latest connect` command\n running until browser authorization finishes. Stopping it early can leave the\n browser approved but the local MCP config unwritten. Restart or reload the\n agent client after installing or connecting if Design tools do not appear in\n the live session.\n- Dispatch can expose Design alongside other apps. Use Design for UI/UX design\n tasks, Assets for image/media selection, Slides for decks, and so on.\n- Keep the loop visual: surface the inline MCP App or the returned \"Open\n design\" link instead of pasting large HTML blobs into chat.\n- If a Design tool call returns `Session terminated`, `needs auth`, or\n another connector/session error, do not keep retrying the tool. Stop and give\n the user the reconnect step: in Claude Code run `/mcp` and choose\n Authenticate/Reconnect for the Design connector; from any terminal run\n `npx -y @agent-native/core@latest reconnect https://design.agent-native.com` \u2014 this\n re-authenticates WITHOUT reinstalling. Never reinstall from scratch just to fix\n auth. Continue once the connector is available.\n- Do not hand-roll MCP HTTP requests with curl from the agent session. Use the\n host-exposed Design tools after restart/reload, or use the returned\n browser/deep-link fallback.\n- If you inspect local MCP config, redact `Authorization`, `http_headers`,\n and token values. Never paste bearer tokens into chat or logs.\n";
2
+ //# sourceMappingURL=design-exploration-skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design-exploration-skill.d.ts","sourceRoot":"","sources":["../../../src/cli/skills-content/design-exploration-skill.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,8yNAqHvC,CAAC"}