@agent-native/core 0.97.0 → 0.98.1

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 (1019) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +56 -0
  3. package/corpus/core/docs/content/authentication.mdx +3 -3
  4. package/corpus/core/docs/content/doctor.mdx +170 -0
  5. package/corpus/core/docs/content/external-agents.mdx +8 -7
  6. package/corpus/core/docs/content/locales/ar-SA/authentication.mdx +2 -2
  7. package/corpus/core/docs/content/locales/ar-SA/external-agents.mdx +8 -7
  8. package/corpus/core/docs/content/locales/ar-SA/mcp-protocol.mdx +1 -1
  9. package/corpus/core/docs/content/locales/ar-SA/security.mdx +2 -0
  10. package/corpus/core/docs/content/locales/de-DE/authentication.mdx +1 -1
  11. package/corpus/core/docs/content/locales/de-DE/external-agents.mdx +8 -7
  12. package/corpus/core/docs/content/locales/de-DE/mcp-protocol.mdx +1 -1
  13. package/corpus/core/docs/content/locales/de-DE/security.mdx +2 -0
  14. package/corpus/core/docs/content/locales/es-ES/authentication.mdx +2 -2
  15. package/corpus/core/docs/content/locales/es-ES/external-agents.mdx +8 -7
  16. package/corpus/core/docs/content/locales/es-ES/mcp-protocol.mdx +1 -1
  17. package/corpus/core/docs/content/locales/es-ES/security.mdx +2 -0
  18. package/corpus/core/docs/content/locales/fr-FR/authentication.mdx +1 -1
  19. package/corpus/core/docs/content/locales/fr-FR/external-agents.mdx +8 -7
  20. package/corpus/core/docs/content/locales/fr-FR/mcp-protocol.mdx +1 -1
  21. package/corpus/core/docs/content/locales/fr-FR/security.mdx +2 -0
  22. package/corpus/core/docs/content/locales/hi-IN/authentication.mdx +2 -2
  23. package/corpus/core/docs/content/locales/hi-IN/external-agents.mdx +8 -7
  24. package/corpus/core/docs/content/locales/hi-IN/mcp-protocol.mdx +1 -1
  25. package/corpus/core/docs/content/locales/hi-IN/security.mdx +2 -0
  26. package/corpus/core/docs/content/locales/ja-JP/authentication.mdx +2 -2
  27. package/corpus/core/docs/content/locales/ja-JP/external-agents.mdx +8 -7
  28. package/corpus/core/docs/content/locales/ja-JP/mcp-protocol.mdx +1 -1
  29. package/corpus/core/docs/content/locales/ja-JP/security.mdx +2 -0
  30. package/corpus/core/docs/content/locales/ko-KR/authentication.mdx +2 -2
  31. package/corpus/core/docs/content/locales/ko-KR/external-agents.mdx +8 -7
  32. package/corpus/core/docs/content/locales/ko-KR/mcp-protocol.mdx +1 -1
  33. package/corpus/core/docs/content/locales/ko-KR/security.mdx +2 -0
  34. package/corpus/core/docs/content/locales/pt-BR/authentication.mdx +2 -2
  35. package/corpus/core/docs/content/locales/pt-BR/external-agents.mdx +8 -7
  36. package/corpus/core/docs/content/locales/pt-BR/mcp-protocol.mdx +1 -1
  37. package/corpus/core/docs/content/locales/pt-BR/security.mdx +2 -0
  38. package/corpus/core/docs/content/locales/zh-CN/authentication.mdx +2 -2
  39. package/corpus/core/docs/content/locales/zh-CN/external-agents.mdx +8 -7
  40. package/corpus/core/docs/content/locales/zh-CN/mcp-protocol.mdx +1 -1
  41. package/corpus/core/docs/content/locales/zh-CN/security.mdx +2 -0
  42. package/corpus/core/docs/content/locales/zh-TW/authentication.mdx +2 -2
  43. package/corpus/core/docs/content/locales/zh-TW/external-agents.mdx +8 -7
  44. package/corpus/core/docs/content/locales/zh-TW/mcp-protocol.mdx +1 -1
  45. package/corpus/core/docs/content/locales/zh-TW/security.mdx +2 -0
  46. package/corpus/core/docs/content/mcp-protocol.mdx +1 -1
  47. package/corpus/core/docs/content/security.mdx +2 -0
  48. package/corpus/core/package.json +6 -2
  49. package/corpus/core/scripts/finalize-build.mjs +63 -3
  50. package/corpus/core/scripts/materialize-source-corpus.mjs +101 -15
  51. package/corpus/core/src/action-change-marker.ts +8 -1
  52. package/corpus/core/src/action.ts +42 -0
  53. package/corpus/core/src/agent/engine/builder-engine.ts +3 -0
  54. package/corpus/core/src/agent/engine/context-directives-transform.ts +69 -0
  55. package/corpus/core/src/agent/engine/continuation-dispatch-retry.ts +168 -0
  56. package/corpus/core/src/agent/engine/tool-call-journal-seed.ts +85 -0
  57. package/corpus/core/src/agent/production-agent.ts +129 -244
  58. package/corpus/core/src/changelog/parse.ts +8 -3
  59. package/corpus/core/src/cli/doctor.ts +9 -3
  60. package/corpus/core/src/cli/plan-local.ts +10 -2
  61. package/corpus/core/src/cli/skills-content/assets-skill.ts +83 -0
  62. package/corpus/core/src/cli/skills-content/canvas.ts +153 -0
  63. package/corpus/core/src/cli/skills-content/connection.ts +52 -0
  64. package/corpus/core/src/cli/skills-content/content-skill.ts +109 -0
  65. package/corpus/core/src/cli/skills-content/design-exploration-skill.ts +118 -0
  66. package/corpus/core/src/cli/skills-content/design-visual-edit-skill.ts +228 -0
  67. package/corpus/core/src/cli/skills-content/document-quality.ts +196 -0
  68. package/corpus/core/src/cli/skills-content/exemplar.ts +69 -0
  69. package/corpus/core/src/cli/skills-content/help.ts +77 -0
  70. package/corpus/core/src/cli/skills-content/index.ts +22 -0
  71. package/corpus/core/src/cli/skills-content/local-files.ts +95 -0
  72. package/corpus/core/src/cli/skills-content/plan-setup-auth.ts +80 -0
  73. package/corpus/core/src/cli/skills-content/visual-plan-skill.ts +470 -0
  74. package/corpus/core/src/cli/skills-content/visual-recap-skill.ts +547 -0
  75. package/corpus/core/src/cli/skills-content/visualize-repo-skill.ts +93 -0
  76. package/corpus/core/src/cli/skills-content/wireframe.ts +349 -0
  77. package/corpus/core/src/cli/skills.ts +27 -2733
  78. package/corpus/core/src/client/AgentPanel.tsx +8 -8
  79. package/corpus/core/src/client/AssistantChat.tsx +83 -39
  80. package/corpus/core/src/client/CommandMenu.tsx +16 -5
  81. package/corpus/core/src/client/FeedbackButton.tsx +2 -2
  82. package/corpus/core/src/client/analytics.ts +29 -0
  83. package/corpus/core/src/client/app-providers.tsx +18 -5
  84. package/corpus/core/src/client/blocks/library/wireframe-kit.tsx +16 -2
  85. package/corpus/core/src/client/chat/tool-call-display.tsx +3 -3
  86. package/corpus/core/src/client/chat-model-groups.ts +28 -0
  87. package/corpus/core/src/client/composer/PastedTextChip.tsx +1 -1
  88. package/corpus/core/src/client/composer/RealtimeVoiceMode.tsx +523 -68
  89. package/corpus/core/src/client/composer/TiptapComposer.tsx +47 -30
  90. package/corpus/core/src/client/composer/VoiceButton.tsx +22 -5
  91. package/corpus/core/src/client/composer/index.ts +5 -0
  92. package/corpus/core/src/client/composer/useRealtimeVoiceMode.tsx +1271 -35
  93. package/corpus/core/src/client/context-xray/ContextXRayPanel.tsx +5 -2
  94. package/corpus/core/src/client/extensions/ExtensionEditor.tsx +37 -4
  95. package/corpus/core/src/client/extensions/ExtensionQueryErrorState.tsx +47 -0
  96. package/corpus/core/src/client/extensions/ExtensionSlot.tsx +39 -10
  97. package/corpus/core/src/client/extensions/ExtensionViewer.tsx +44 -6
  98. package/corpus/core/src/client/extensions/ExtensionsListPage.tsx +12 -3
  99. package/corpus/core/src/client/extensions/ExtensionsSidebarSection.tsx +49 -11
  100. package/corpus/core/src/client/index.ts +5 -13
  101. package/corpus/core/src/client/progress/RunsTray.tsx +23 -4
  102. package/corpus/core/src/client/settings/SecretsSection.tsx +387 -266
  103. package/corpus/core/src/client/settings/SettingsPanel.tsx +117 -38
  104. package/corpus/core/src/client/settings/SettingsTabsPage.tsx +7 -0
  105. package/corpus/core/src/client/settings/useBuilderStatus.ts +6 -0
  106. package/corpus/core/src/client/tool-cells/EditCell.tsx +19 -16
  107. package/corpus/core/src/client/tool-cells/FilesChangedSummary.tsx +26 -23
  108. package/corpus/core/src/client/tool-cells/WriteCell.tsx +19 -16
  109. package/corpus/core/src/client/use-action.ts +12 -0
  110. package/corpus/core/src/client/use-agent-chat-home-handoff.ts +8 -1
  111. package/corpus/core/src/client/use-agent-engine-configured.ts +17 -3
  112. package/corpus/core/src/client/use-db-sync.ts +84 -34
  113. package/corpus/core/src/client/use-pausing-interval.ts +14 -4
  114. package/corpus/core/src/client/visual-style-controls.tsx +1 -1
  115. package/corpus/core/src/deploy/build.ts +36 -14
  116. package/corpus/core/src/integrations/google-docs-poller.ts +23 -2
  117. package/corpus/core/src/integrations/plugin.ts +10 -0
  118. package/corpus/core/src/integrations/scope-store.ts +1 -1
  119. package/corpus/core/src/integrations/usage-budget-store.ts +1 -1
  120. package/corpus/core/src/integrations/webhook-handler.ts +27 -2
  121. package/corpus/core/src/jobs/scheduler.ts +28 -2
  122. package/corpus/core/src/localization/default-messages.ts +51 -1
  123. package/corpus/core/src/mcp/oauth-token.ts +6 -1
  124. package/corpus/core/src/mcp-client/workspace-servers.ts +4 -4
  125. package/corpus/core/src/observability/routes.ts +36 -0
  126. package/corpus/core/src/observability/sentiment.ts +261 -0
  127. package/corpus/core/src/observability/store.ts +23 -0
  128. package/corpus/core/src/observability/traces.ts +49 -63
  129. package/corpus/core/src/observability/tracking-identity.ts +55 -0
  130. package/corpus/core/src/observability/types.ts +13 -0
  131. package/corpus/core/src/secrets/crypto.ts +28 -8
  132. package/corpus/core/src/secrets/storage.ts +67 -3
  133. package/corpus/core/src/server/action-change.ts +5 -1
  134. package/corpus/core/src/server/action-routes.ts +8 -0
  135. package/corpus/core/src/server/agent-chat/action-filters-a2a.ts +199 -0
  136. package/corpus/core/src/server/agent-chat/browser-team-tools.ts +510 -0
  137. package/corpus/core/src/server/agent-chat/context-tools.ts +595 -0
  138. package/corpus/core/src/server/agent-chat/framework-prompts.ts +470 -0
  139. package/corpus/core/src/server/agent-chat/lazy-fs.ts +11 -0
  140. package/corpus/core/src/server/agent-chat/mcp-glue.ts +91 -0
  141. package/corpus/core/src/server/agent-chat/plugin-options.ts +350 -0
  142. package/corpus/core/src/server/agent-chat/process-run-failure.ts +62 -0
  143. package/corpus/core/src/server/agent-chat/prompt-resources.ts +688 -0
  144. package/corpus/core/src/server/agent-chat/recurring-jobs-runtime.ts +80 -0
  145. package/corpus/core/src/server/agent-chat/request-surface.ts +71 -0
  146. package/corpus/core/src/server/agent-chat/run-code-tools.ts +67 -0
  147. package/corpus/core/src/server/agent-chat/script-entries.ts +779 -0
  148. package/corpus/core/src/server/agent-chat/shared-thread.ts +301 -0
  149. package/corpus/core/src/server/agent-chat/skill-frontmatter.ts +41 -0
  150. package/corpus/core/src/server/agent-chat-plugin.ts +364 -4182
  151. package/corpus/core/src/server/agent-teams.ts +26 -3
  152. package/corpus/core/src/server/auth.ts +55 -57
  153. package/corpus/core/src/server/credential-provider.ts +22 -25
  154. package/corpus/core/src/server/edge.ts +1 -0
  155. package/corpus/core/src/server/onboarding-html.ts +1 -16
  156. package/corpus/core/src/server/poll.ts +1 -0
  157. package/corpus/core/src/server/realtime-voice.ts +335 -14
  158. package/corpus/core/src/server/request-origin.ts +6 -2
  159. package/corpus/core/src/server/ssr-handler.ts +55 -2
  160. package/corpus/core/src/sharing/access.ts +155 -11
  161. package/corpus/core/src/sharing/registry.ts +7 -0
  162. package/corpus/core/src/styles/agent-native.css +17 -16
  163. package/corpus/core/src/templates/default/.agents/skills/frontend-design/SKILL.md +1 -1
  164. package/corpus/core/src/templates/default/.agents/skills/real-time-sync/SKILL.md +2 -2
  165. package/corpus/core/src/templates/default/app/i18n/ar-SA.ts +6 -0
  166. package/corpus/core/src/templates/default/app/i18n/de-DE.ts +6 -0
  167. package/corpus/core/src/templates/default/app/i18n/en-US.ts +6 -0
  168. package/corpus/core/src/templates/default/app/i18n/es-ES.ts +6 -0
  169. package/corpus/core/src/templates/default/app/i18n/fr-FR.ts +6 -0
  170. package/corpus/core/src/templates/default/app/i18n/hi-IN.ts +6 -0
  171. package/corpus/core/src/templates/default/app/i18n/ja-JP.ts +6 -0
  172. package/corpus/core/src/templates/default/app/i18n/ko-KR.ts +6 -0
  173. package/corpus/core/src/templates/default/app/i18n/pt-BR.ts +6 -0
  174. package/corpus/core/src/templates/default/app/i18n/zh-CN.ts +6 -0
  175. package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +6 -0
  176. package/corpus/core/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +27 -29
  177. package/corpus/core/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +2 -1
  178. package/corpus/core/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +1 -1
  179. package/corpus/core/src/templates/workspace-core/.agents/skills/observability/SKILL.md +32 -0
  180. package/corpus/core/src/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +2 -2
  181. package/corpus/core/src/templates/workspace-core/.agents/skills/secrets/SKILL.md +7 -3
  182. package/corpus/core/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +39 -9
  183. package/corpus/core/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +25 -0
  184. package/corpus/core/src/templates/workspace-core/src/server/index.ts +4 -2
  185. package/corpus/core/src/testing.ts +26 -0
  186. package/corpus/core/src/triggers/dispatcher.ts +23 -2
  187. package/corpus/core/src/vite/client.ts +135 -3
  188. package/corpus/core/tsconfig.cli.json +1 -1
  189. package/corpus/core/tsconfig.json +5 -1
  190. package/corpus/templates/analytics/.agents/skills/bigquery/SKILL.md +2 -2
  191. package/corpus/templates/analytics/.agents/skills/frontend-design/SKILL.md +1 -1
  192. package/corpus/templates/analytics/.agents/skills/real-time-sync/SKILL.md +2 -2
  193. package/corpus/templates/analytics/.agents/skills/session-replay/SKILL.md +10 -5
  194. package/corpus/templates/analytics/AGENTS.md +15 -6
  195. package/corpus/templates/analytics/actions/install-dashboard-template.ts +79 -43
  196. package/corpus/templates/analytics/actions/list-explorer-dashboards.ts +3 -3
  197. package/corpus/templates/analytics/actions/list-sql-dashboards.ts +8 -3
  198. package/corpus/templates/analytics/actions/navigate.ts +59 -5
  199. package/corpus/templates/analytics/actions/rename-analysis.ts +8 -2
  200. package/corpus/templates/analytics/actions/rename-dashboard.ts +8 -7
  201. package/corpus/templates/analytics/actions/view-screen.ts +7 -29
  202. package/corpus/templates/analytics/app/components/ProviderCorpusJobNotifier.tsx +20 -3
  203. package/corpus/templates/analytics/app/components/ResourceLoadError.tsx +42 -0
  204. package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +2 -1
  205. package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +85 -70
  206. package/corpus/templates/analytics/app/components/layout/Header.tsx +1 -1
  207. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +128 -95
  208. package/corpus/templates/analytics/app/components/layout/SidebarLoadError.tsx +24 -0
  209. package/corpus/templates/analytics/app/global.css +19 -20
  210. package/corpus/templates/analytics/app/hooks/use-dashboard-views.ts +15 -5
  211. package/corpus/templates/analytics/app/i18n/zh-TW.ts +4 -0
  212. package/corpus/templates/analytics/app/i18n-data.ts +40 -0
  213. package/corpus/templates/analytics/app/lib/provider-corpus-job-sync.ts +26 -0
  214. package/corpus/templates/analytics/app/pages/Settings.tsx +41 -343
  215. package/corpus/templates/analytics/app/pages/adhoc/explorer/components/SqlPreview.tsx +36 -20
  216. package/corpus/templates/analytics/app/pages/adhoc/explorer/index.tsx +34 -20
  217. package/corpus/templates/analytics/app/pages/adhoc/explorer/use-explorer-config.ts +42 -41
  218. package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +43 -36
  219. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/ViewsMenu.tsx +11 -2
  220. package/corpus/templates/analytics/app/pages/monitoring/ErrorsPanel.tsx +38 -7
  221. package/corpus/templates/analytics/app/pages/monitoring/MonitoringPage.tsx +1 -1
  222. package/corpus/templates/analytics/app/pages/monitoring/errors/i18n.ts +3 -0
  223. package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +333 -272
  224. package/corpus/templates/analytics/app/pages/sessions/SessionDevToolsPanel.tsx +72 -17
  225. package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +297 -108
  226. package/corpus/templates/analytics/app/root.tsx +40 -8
  227. package/corpus/templates/analytics/app/routes/_index.tsx +14 -2
  228. package/corpus/templates/analytics/changelog/2026-06-24-first-party-signup-and-pageview-panels-now-honor-dashboard-filters.md +2 -1
  229. package/corpus/templates/analytics/changelog/2026-06-25-referrer-dashboard-panels-show-external-domains.md +2 -1
  230. package/corpus/templates/analytics/changelog/2026-07-03-agent-llm-observability-dashboard.md +1 -1
  231. package/corpus/templates/analytics/changelog/2026-07-06-mobile-chat-header-is-more-compact-and-the-menu-button-opens-navigation.md +1 -0
  232. package/corpus/templates/analytics/changelog/2026-07-08-dashboard-history-and-chat-context.md +1 -0
  233. package/corpus/templates/analytics/changelog/2026-07-08-settings-are-cleaner-searchable-and-alerts-have-their-own-tab.md +1 -0
  234. package/corpus/templates/analytics/changelog/2026-07-08-sidebar-sections-stay-collapsed-until-opened.md +1 -0
  235. package/corpus/templates/analytics/changelog/2026-07-11-agent-feedback-sentiment-dashboard.md +6 -0
  236. package/corpus/templates/analytics/changelog/2026-07-11-analytics-chats-now-start-faster-by-loading-metric-definitio.md +6 -0
  237. package/corpus/templates/analytics/changelog/2026-07-11-analytics-no-longer-repeatedly-restarts-background-requests-.md +6 -0
  238. package/corpus/templates/analytics/changelog/2026-07-11-analytics-only-asks-for-replay-storage-when-you-enable-sessi.md +6 -0
  239. package/corpus/templates/analytics/changelog/2026-07-11-charts-now-show-their-loading-skeleton-while-refreshing.md +6 -0
  240. package/corpus/templates/analytics/changelog/2026-07-11-command-and-sql-previews-now-respond-without-lag.md +6 -0
  241. package/corpus/templates/analytics/changelog/2026-07-11-command-search-now-reports-loading-failures-and-lets-you-ret.md +6 -0
  242. package/corpus/templates/analytics/changelog/2026-07-11-dashboard-navigation-now-loads-faster-and-reports-request-fa.md +6 -0
  243. package/corpus/templates/analytics/changelog/2026-07-11-inferred-message-sentiment-dashboard.md +6 -0
  244. package/corpus/templates/analytics/changelog/2026-07-11-microphone-settings-from-realtime-voice-mode-now-open-the-vo.md +6 -0
  245. package/corpus/templates/analytics/changelog/2026-07-11-more-dashboard-edit-paths-are-now-safe-against-simultaneous-.md +6 -0
  246. package/corpus/templates/analytics/changelog/2026-07-11-realtime-voice-now-shows-a-clear-connection-indicator-comple.md +6 -0
  247. package/corpus/templates/analytics/changelog/2026-07-11-renaming-a-dashboard-is-now-safe-against-simultaneous-agent-.md +6 -0
  248. package/corpus/templates/analytics/changelog/2026-07-11-renaming-an-analysis-is-now-safe-against-simultaneous-edits.md +6 -0
  249. package/corpus/templates/analytics/changelog/2026-07-11-replay-event-counts-stay-hidden-until-recordings-finish-load.md +6 -0
  250. package/corpus/templates/analytics/changelog/2026-07-11-replay-storage-key-mismatches-show-actionable-setup-guidance.md +6 -0
  251. package/corpus/templates/analytics/changelog/2026-07-11-replay-timelines-group-continuous-scrolling-and-dev-tools-co.md +6 -0
  252. package/corpus/templates/analytics/changelog/2026-07-11-session-filters-now-stay-compact-in-a-settings-menu-at-mediu.md +6 -0
  253. package/corpus/templates/analytics/changelog/2026-07-11-session-replay-console-errors-now-link-to-matching-issues-or.md +6 -0
  254. package/corpus/templates/analytics/changelog/2026-07-11-session-replays-load-large-recordings-faster-and-surface-fai.md +6 -0
  255. package/corpus/templates/analytics/changelog/2026-07-11-session-replays-preserve-recorded-styles-and-viewport-layout.md +6 -0
  256. package/corpus/templates/analytics/changelog/2026-07-11-session-replays-stay-centered-instead-of-clipping-wide-recor.md +6 -0
  257. package/corpus/templates/analytics/changelog/2026-07-11-workspace-mounted-analytics-now-opens-ask-reliably-and-route.md +6 -0
  258. package/corpus/templates/analytics/docs/schemas/first-party-analytics.md +37 -3
  259. package/corpus/templates/analytics/package.json +1 -1
  260. package/corpus/templates/analytics/seeds/dashboards/agent-native-templates-first-party.json +37 -1
  261. package/corpus/templates/analytics/server/handlers/session-replay.ts +57 -0
  262. package/corpus/templates/analytics/server/lib/dashboard-catalog.ts +1 -24
  263. package/corpus/templates/analytics/server/lib/dashboard-seeds.ts +0 -5
  264. package/corpus/templates/analytics/server/lib/dashboards-store.ts +289 -20
  265. package/corpus/templates/analytics/server/lib/data-dictionary-context.ts +106 -34
  266. package/corpus/templates/analytics/server/lib/demo-dashboards.ts +20 -4
  267. package/corpus/templates/analytics/server/lib/session-replay-agent-context.ts +12 -0
  268. package/corpus/templates/analytics/server/lib/session-replay.ts +208 -2
  269. package/corpus/templates/analytics/server/plugins/agent-chat.ts +11 -39
  270. package/corpus/templates/analytics/server/plugins/onboarding.ts +7 -79
  271. package/corpus/templates/analytics/server/routes/api/session-replay/recordings/[recordingId]/chunks.get.ts +1 -0
  272. package/corpus/templates/assets/.agents/skills/frontend-design/SKILL.md +1 -1
  273. package/corpus/templates/assets/.agents/skills/real-time-sync/SKILL.md +2 -2
  274. package/corpus/templates/assets/app/components/create/RecentDraftsSection.tsx +30 -4
  275. package/corpus/templates/assets/app/global.css +4 -4
  276. package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +0 -1
  277. package/corpus/templates/assets/app/routes/library.tsx +49 -6
  278. package/corpus/templates/assets/changelog/2026-07-11-library-load-failures-now-show-a-retry-action.md +6 -0
  279. package/corpus/templates/brain/.agents/skills/frontend-design/SKILL.md +1 -1
  280. package/corpus/templates/brain/.agents/skills/real-time-sync/SKILL.md +2 -2
  281. package/corpus/templates/brain/app/global.css +5 -5
  282. package/corpus/templates/brain/app/root.tsx +0 -3
  283. package/corpus/templates/calendar/.agents/skills/frontend-design/SKILL.md +1 -1
  284. package/corpus/templates/calendar/.agents/skills/real-time-sync/SKILL.md +2 -2
  285. package/corpus/templates/calendar/.env.example +5 -0
  286. package/corpus/templates/calendar/app/components/calendar/EventCard.tsx +2 -2
  287. package/corpus/templates/calendar/app/i18n/zh-TW.ts +2 -0
  288. package/corpus/templates/calendar/app/i18n-data.ts +20 -0
  289. package/corpus/templates/calendar/app/pages/BookingLinksPage.tsx +37 -1
  290. package/corpus/templates/calendar/app/pages/BookingsList.tsx +20 -3
  291. package/corpus/templates/calendar/app/root.tsx +1 -0
  292. package/corpus/templates/calendar/changelog/2026-07-11-booking-load-failures-now-show-a-retry-action.md +6 -0
  293. package/corpus/templates/calendar/changelog/2026-07-11-event-cards-give-subtle-press-feedback-and-smoother-hover.md +6 -0
  294. package/corpus/templates/chat/.agents/skills/frontend-design/SKILL.md +1 -1
  295. package/corpus/templates/chat/.agents/skills/real-time-sync/SKILL.md +2 -2
  296. package/corpus/templates/clips/.agents/skills/frontend-design/SKILL.md +1 -1
  297. package/corpus/templates/clips/actions/decline-invite.ts +8 -0
  298. package/corpus/templates/clips/app/components/library/folder-tree.tsx +209 -187
  299. package/corpus/templates/clips/app/components/meetings/meeting-card.tsx +2 -2
  300. package/corpus/templates/clips/app/components/player/reactions-tray.tsx +17 -5
  301. package/corpus/templates/clips/app/components/player/scrubber.tsx +5 -3
  302. package/corpus/templates/clips/app/components/recorder/pre-record-panel.tsx +2 -2
  303. package/corpus/templates/clips/app/components/workspace/insights-hub.tsx +119 -95
  304. package/corpus/templates/clips/app/global.css +45 -0
  305. package/corpus/templates/clips/app/hooks/use-auto-title.ts +74 -8
  306. package/corpus/templates/clips/app/hooks/use-library.ts +12 -25
  307. package/corpus/templates/clips/app/root.tsx +4 -0
  308. package/corpus/templates/clips/app/routes/_app.notifications.tsx +23 -2
  309. package/corpus/templates/clips/app/routes/_app.settings._index.tsx +20 -22
  310. package/corpus/templates/clips/app/routes/_app.trash.tsx +24 -2
  311. package/corpus/templates/clips/changelog/2026-07-11-controls-and-folders-now-move-more-smoothly.md +6 -0
  312. package/corpus/templates/clips/changelog/2026-07-11-declining-an-invitation-now-requires-being-its-recipient.md +6 -0
  313. package/corpus/templates/clips/changelog/2026-07-11-generated-titles-no-longer-cause-continuous-background-refreshes.md +6 -0
  314. package/corpus/templates/clips/changelog/2026-07-11-recording-overlays-are-lighter-weight-and-no-longer-cause-pa.md +6 -0
  315. package/corpus/templates/clips/changelog/2026-07-11-s3-storage-setup-stays-collapsed-until-you-choose-it-as-the-.md +6 -0
  316. package/corpus/templates/clips/changelog/2026-07-11-workspace-load-failures-now-show-a-retry-action.md +6 -0
  317. package/corpus/templates/clips/chrome-extension/src/overlay.css +34 -5
  318. package/corpus/templates/clips/chrome-extension/src/styles.css +2 -2
  319. package/corpus/templates/clips/desktop/src/styles.css +71 -26
  320. package/corpus/templates/content/.agents/skills/frontend-design/SKILL.md +1 -1
  321. package/corpus/templates/content/.agents/skills/real-time-sync/SKILL.md +2 -2
  322. package/corpus/templates/content/actions/move-document.ts +34 -18
  323. package/corpus/templates/content/app/components/QueryErrorState.tsx +39 -0
  324. package/corpus/templates/content/app/components/editor/LinkHoverPreview.tsx +1 -1
  325. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +225 -1435
  326. package/corpus/templates/content/app/components/editor/database/GalleryView.tsx +368 -0
  327. package/corpus/templates/content/app/components/editor/database/ListView.tsx +353 -0
  328. package/corpus/templates/content/app/components/editor/database/TimelineView.tsx +580 -0
  329. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +11 -2
  330. package/corpus/templates/content/app/global.css +19 -19
  331. package/corpus/templates/content/app/hooks/use-comments.ts +0 -1
  332. package/corpus/templates/content/app/root.tsx +2 -2
  333. package/corpus/templates/content/app/routes/_app._index.tsx +11 -1
  334. package/corpus/templates/content/changelog/2026-07-11-comments-now-update-from-live-collaboration-events-without-c.md +6 -0
  335. package/corpus/templates/content/changelog/2026-07-11-document-load-failures-now-show-a-retry-action.md +6 -0
  336. package/corpus/templates/content/changelog/2026-07-11-editor-toggle-feedback-now-feels-more-responsive.md +6 -0
  337. package/corpus/templates/content/changelog/2026-07-11-moving-documents-at-the-same-time-no-longer-scrambles-their-.md +6 -0
  338. package/corpus/templates/content/changelog/2026-07-11-public-document-chats-now-start-faster-while-keeping-full-do.md +6 -0
  339. package/corpus/templates/content/changelog/2026-07-11-reopening-a-comment-now-uses-consistent-permissions-everywhe.md +6 -0
  340. package/corpus/templates/content/changelog/2026-07-11-sidebar-resizing-now-tracks-your-cursor-instantly-instead-of.md +6 -0
  341. package/corpus/templates/content/server/lib/public-documents.ts +47 -10
  342. package/corpus/templates/content/server/routes/api/comments/[id].patch.ts +24 -24
  343. package/corpus/templates/design/.agents/skills/frontend-design/SKILL.md +1 -1
  344. package/corpus/templates/design/app/components/QueryErrorState.tsx +24 -0
  345. package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +1 -1
  346. package/corpus/templates/design/app/components/design/DesignImportPanel.tsx +5 -2
  347. package/corpus/templates/design/app/components/design/EditPanel.tsx +326 -319
  348. package/corpus/templates/design/app/components/design/LayersPanel.tsx +198 -193
  349. package/corpus/templates/design/app/components/design/edit-panel/panel-primitives.tsx +11 -4
  350. package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +1 -1
  351. package/corpus/templates/design/app/components/layout/Header.tsx +1 -1
  352. package/corpus/templates/design/app/components/layout/Layout.tsx +1 -1
  353. package/corpus/templates/design/app/pages/DesignSystems.tsx +7 -1
  354. package/corpus/templates/design/app/pages/Index.tsx +14 -2
  355. package/corpus/templates/design/app/pages/Present.tsx +16 -3
  356. package/corpus/templates/design/app/pages/Templates.tsx +10 -4
  357. package/corpus/templates/design/app/pages/design-editor/canvas-primitive-insert.ts +484 -0
  358. package/corpus/templates/design/app/pages/design-editor/clone-and-pen-edit.ts +378 -0
  359. package/corpus/templates/design/app/pages/design-editor/design-data-geometry-utils.ts +138 -0
  360. package/corpus/templates/design/app/pages/design-editor/dom-utils.ts +15 -0
  361. package/corpus/templates/design/app/pages/design-editor/generation-prompt-directives.ts +180 -0
  362. package/corpus/templates/design/app/pages/design-editor/html-layer-positioning.ts +226 -0
  363. package/corpus/templates/design/app/pages/design-editor/png-export-render.ts +348 -0
  364. package/corpus/templates/design/app/pages/design-editor/screen-command-utils.ts +160 -0
  365. package/corpus/templates/design/app/pages/design-editor/text-edit-utils.ts +238 -0
  366. package/corpus/templates/design/app/pages/design-editor/tool-state.ts +23 -1
  367. package/corpus/templates/design/app/pages/design-editor/types.ts +25 -0
  368. package/corpus/templates/design/app/root.tsx +10 -1
  369. package/corpus/templates/design/changelog/2026-07-11-canvas-context-menus-now-open-without-motion-jitter.md +6 -0
  370. package/corpus/templates/design/changelog/2026-07-11-design-load-failures-now-show-a-retry-action.md +6 -0
  371. package/corpus/templates/design/changelog/2026-07-11-inspector-tooltips-appear-instantly-as-you-sweep-across-icon.md +6 -0
  372. package/corpus/templates/dispatch/.agents/skills/frontend-design/SKILL.md +1 -1
  373. package/corpus/templates/dispatch/app/i18n/zh-TW.ts +10 -0
  374. package/corpus/templates/dispatch/app/i18n-data.ts +123 -0
  375. package/corpus/templates/dispatch/app/routes/integrations.tsx +163 -144
  376. package/corpus/templates/dispatch/changelog/2026-07-11-dispatch-mcp-connections-now-start-with-safer-app-access-and.md +6 -0
  377. package/corpus/templates/dispatch/changelog/2026-07-11-overview-and-chat-now-share-a-cleaner-more-stable-flow.md +6 -0
  378. package/corpus/templates/dispatch/changelog/2026-07-11-query-errors-now-show-a-retry-option.md +6 -0
  379. package/corpus/templates/forms/.agents/skills/frontend-design/SKILL.md +1 -1
  380. package/corpus/templates/forms/.agents/skills/real-time-sync/SKILL.md +2 -2
  381. package/corpus/templates/forms/app/components/layout/Sidebar.tsx +3 -3
  382. package/corpus/templates/forms/app/root.tsx +34 -8
  383. package/corpus/templates/macros/.agents/skills/frontend-design/SKILL.md +1 -1
  384. package/corpus/templates/macros/app/components/DailyProgress.tsx +25 -5
  385. package/corpus/templates/macros/app/components/QueryErrorState.tsx +31 -0
  386. package/corpus/templates/macros/app/components/WeightTracker.tsx +5 -1
  387. package/corpus/templates/macros/app/components/layout/AppLayout.tsx +1 -2
  388. package/corpus/templates/macros/app/components/ui/button.tsx +1 -1
  389. package/corpus/templates/macros/app/components/ui/progress.tsx +1 -1
  390. package/corpus/templates/macros/app/components/ui/tabs.tsx +1 -1
  391. package/corpus/templates/macros/app/i18n/ar-SA.ts +2 -0
  392. package/corpus/templates/macros/app/i18n/de-DE.ts +2 -0
  393. package/corpus/templates/macros/app/i18n/en-US.ts +2 -0
  394. package/corpus/templates/macros/app/i18n/es-ES.ts +2 -0
  395. package/corpus/templates/macros/app/i18n/fr-FR.ts +2 -0
  396. package/corpus/templates/macros/app/i18n/hi-IN.ts +2 -0
  397. package/corpus/templates/macros/app/i18n/ja-JP.ts +2 -0
  398. package/corpus/templates/macros/app/i18n/ko-KR.ts +2 -0
  399. package/corpus/templates/macros/app/i18n/pt-BR.ts +2 -0
  400. package/corpus/templates/macros/app/i18n/zh-CN.ts +2 -0
  401. package/corpus/templates/macros/app/i18n/zh-TW.ts +2 -0
  402. package/corpus/templates/macros/app/root.tsx +0 -3
  403. package/corpus/templates/macros/app/routes/_index.tsx +22 -12
  404. package/corpus/templates/macros/app/routes/analytics.tsx +31 -10
  405. package/corpus/templates/macros/changelog/2026-07-11-daily-tracking-now-loads-and-updates-more-quickly.md +6 -0
  406. package/corpus/templates/macros/changelog/2026-07-11-data-load-failures-now-show-a-clear-error-with-a-retry-actio.md +6 -0
  407. package/corpus/templates/mail/.agents/skills/frontend-design/SKILL.md +1 -1
  408. package/corpus/templates/mail/.agents/skills/real-time-sync/SKILL.md +2 -2
  409. package/corpus/templates/mail/.env.example +16 -11
  410. package/corpus/templates/mail/actions/list-emails.ts +39 -35
  411. package/corpus/templates/mail/app/components/email/ComposeModal.tsx +58 -6
  412. package/corpus/templates/mail/app/components/email/EmailListItem.tsx +35 -2
  413. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +113 -104
  414. package/corpus/templates/mail/app/hooks/use-compose-state.ts +1 -0
  415. package/corpus/templates/mail/app/root.tsx +9 -22
  416. package/corpus/templates/mail/changelog/2026-07-11-compose-and-navigation-motion-now-feel-faster-and-smoother.md +6 -0
  417. package/corpus/templates/mail/changelog/2026-07-11-swipe-to-archive-or-snooze-now-responds-to-quick-flicks-not-.md +6 -0
  418. package/corpus/templates/mail/changelog/2026-07-11-the-assistant-now-sees-the-same-inbox-you-do-snoozed-mail-st.md +6 -0
  419. package/corpus/templates/mail/server/handlers/emails.ts +25 -69
  420. package/corpus/templates/mail/server/lib/list-inbox-emails.ts +169 -0
  421. package/corpus/templates/plan/.agents/skills/frontend-design/SKILL.md +1 -1
  422. package/corpus/templates/plan/.agents/skills/real-time-sync/SKILL.md +2 -2
  423. package/corpus/templates/plan/.env.example +4 -0
  424. package/corpus/templates/plan/actions/create-plan-design.ts +89 -81
  425. package/corpus/templates/plan/actions/create-prototype-plan.ts +72 -59
  426. package/corpus/templates/plan/actions/create-ui-plan.ts +70 -55
  427. package/corpus/templates/plan/actions/create-visual-plan.ts +65 -51
  428. package/corpus/templates/plan/actions/update-local-plan-folder.ts +43 -30
  429. package/corpus/templates/plan/actions/update-visual-plan.ts +81 -64
  430. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +17 -0
  431. package/corpus/templates/plan/app/components/ui/tabs.tsx +1 -1
  432. package/corpus/templates/plan/app/hooks/use-navigation-state.ts +5 -2
  433. package/corpus/templates/plan/app/hooks/use-plans.ts +6 -13
  434. package/corpus/templates/plan/app/i18n/ar-SA.ts +10 -0
  435. package/corpus/templates/plan/app/i18n/de-DE.ts +10 -0
  436. package/corpus/templates/plan/app/i18n/en-US.ts +10 -0
  437. package/corpus/templates/plan/app/i18n/es-ES.ts +10 -0
  438. package/corpus/templates/plan/app/i18n/fr-FR.ts +10 -0
  439. package/corpus/templates/plan/app/i18n/hi-IN.ts +10 -0
  440. package/corpus/templates/plan/app/i18n/ja-JP.ts +10 -0
  441. package/corpus/templates/plan/app/i18n/ko-KR.ts +10 -0
  442. package/corpus/templates/plan/app/i18n/pt-BR.ts +10 -0
  443. package/corpus/templates/plan/app/i18n/zh-CN.ts +10 -0
  444. package/corpus/templates/plan/app/i18n/zh-TW.ts +10 -0
  445. package/corpus/templates/plan/app/lib/plan-local-bridge.ts +80 -1
  446. package/corpus/templates/plan/app/pages/PlansPage.tsx +157 -31
  447. package/corpus/templates/plan/app/root.tsx +11 -0
  448. package/corpus/templates/plan/changelog/2026-07-11-local-plans-now-explain-and-recover-from-browser-permission-.md +6 -0
  449. package/corpus/templates/plan/changelog/2026-07-11-plan-edits-now-save-atomically-and-can-no-longer-partially-a.md +6 -0
  450. package/corpus/templates/plan/changelog/2026-07-11-plan-lists-now-show-a-clear-error-with-a-retry-action-when-t.md +6 -0
  451. package/corpus/templates/plan/changelog/2026-07-11-plan-refreshes-only-when-content-changes.md +6 -0
  452. package/corpus/templates/plan/shared/plan-content.ts +546 -260
  453. package/corpus/templates/slides/.agents/skills/frontend-design/SKILL.md +1 -1
  454. package/corpus/templates/slides/actions/delete-slide-comment.ts +49 -0
  455. package/corpus/templates/slides/actions/update-slide-comment.ts +93 -0
  456. package/corpus/templates/slides/actions/view-screen.ts +14 -6
  457. package/corpus/templates/slides/app/components/comments/SlideCommentsPanel.tsx +37 -11
  458. package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +1 -1
  459. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +2 -2
  460. package/corpus/templates/slides/app/components/editor/GenerateSlidesDialog.tsx +2 -2
  461. package/corpus/templates/slides/app/components/layout/Header.tsx +1 -1
  462. package/corpus/templates/slides/app/components/presentation/PresentationView.tsx +4 -2
  463. package/corpus/templates/slides/app/components/visual-editor/CanvasCommentPins.tsx +4 -3
  464. package/corpus/templates/slides/app/context/DeckContext.tsx +10 -0
  465. package/corpus/templates/slides/app/hooks/use-slide-comments.ts +7 -31
  466. package/corpus/templates/slides/app/i18n/ar-SA.ts +6 -0
  467. package/corpus/templates/slides/app/i18n/de-DE.ts +6 -0
  468. package/corpus/templates/slides/app/i18n/en-US.ts +6 -0
  469. package/corpus/templates/slides/app/i18n/es-ES.ts +6 -0
  470. package/corpus/templates/slides/app/i18n/fr-FR.ts +6 -0
  471. package/corpus/templates/slides/app/i18n/hi-IN.ts +6 -0
  472. package/corpus/templates/slides/app/i18n/ja-JP.ts +6 -0
  473. package/corpus/templates/slides/app/i18n/ko-KR.ts +6 -0
  474. package/corpus/templates/slides/app/i18n/pt-BR.ts +6 -0
  475. package/corpus/templates/slides/app/i18n/zh-CN.ts +5 -0
  476. package/corpus/templates/slides/app/i18n/zh-TW.ts +5 -0
  477. package/corpus/templates/slides/app/pages/DesignSystems.tsx +23 -2
  478. package/corpus/templates/slides/app/pages/Index.tsx +29 -1
  479. package/corpus/templates/slides/changelog/2026-07-11-comment-load-failures-now-show-a-retry-action-instead-of-say.md +6 -0
  480. package/corpus/templates/slides/changelog/2026-07-11-comment-pins-now-clear-with-a-faster-smoother-confirmation.md +6 -0
  481. package/corpus/templates/slides/changelog/2026-07-11-comments-now-update-from-live-collaboration-events-without-c.md +6 -0
  482. package/corpus/templates/slides/changelog/2026-07-11-deck-and-design-system-load-failures-now-show-a-retry-action.md +6 -0
  483. package/corpus/templates/slides/changelog/2026-07-11-editor-toggles-and-toolbar-menus-now-animate-smoothly.md +6 -0
  484. package/corpus/templates/slides/changelog/2026-07-11-the-assistant-can-now-resolve-reopen-and-delete-slide-commen.md +6 -0
  485. package/corpus/templates/slides/changelog/2026-07-11-viewing-slides-no-longer-loads-every-deck-s-full-contents-in.md +6 -0
  486. package/corpus/templates/slides/server/routes/api/comments/[id].delete.ts +29 -48
  487. package/corpus/templates/slides/server/routes/api/comments/[id].patch.ts +29 -65
  488. package/dist/action-change-marker.d.ts +1 -0
  489. package/dist/action-change-marker.d.ts.map +1 -1
  490. package/dist/action-change-marker.js +7 -1
  491. package/dist/action-change-marker.js.map +1 -1
  492. package/dist/action.d.ts +23 -0
  493. package/dist/action.d.ts.map +1 -1
  494. package/dist/action.js +13 -0
  495. package/dist/action.js.map +1 -1
  496. package/dist/agent/engine/builder-engine.d.ts.map +1 -1
  497. package/dist/agent/engine/builder-engine.js +3 -0
  498. package/dist/agent/engine/builder-engine.js.map +1 -1
  499. package/dist/agent/engine/context-directives-transform.d.ts +25 -0
  500. package/dist/agent/engine/context-directives-transform.d.ts.map +1 -0
  501. package/dist/agent/engine/context-directives-transform.js +53 -0
  502. package/dist/agent/engine/context-directives-transform.js.map +1 -0
  503. package/dist/agent/engine/continuation-dispatch-retry.d.ts +40 -0
  504. package/dist/agent/engine/continuation-dispatch-retry.d.ts.map +1 -0
  505. package/dist/agent/engine/continuation-dispatch-retry.js +109 -0
  506. package/dist/agent/engine/continuation-dispatch-retry.js.map +1 -0
  507. package/dist/agent/engine/tool-call-journal-seed.d.ts +46 -0
  508. package/dist/agent/engine/tool-call-journal-seed.d.ts.map +1 -0
  509. package/dist/agent/engine/tool-call-journal-seed.js +60 -0
  510. package/dist/agent/engine/tool-call-journal-seed.js.map +1 -0
  511. package/dist/agent/production-agent.d.ts +7 -0
  512. package/dist/agent/production-agent.d.ts.map +1 -1
  513. package/dist/agent/production-agent.js +102 -222
  514. package/dist/agent/production-agent.js.map +1 -1
  515. package/dist/changelog/parse.d.ts +4 -2
  516. package/dist/changelog/parse.d.ts.map +1 -1
  517. package/dist/changelog/parse.js +5 -3
  518. package/dist/changelog/parse.js.map +1 -1
  519. package/dist/cli/doctor.d.ts.map +1 -1
  520. package/dist/cli/doctor.js +7 -3
  521. package/dist/cli/doctor.js.map +1 -1
  522. package/dist/cli/plan-local.d.ts.map +1 -1
  523. package/dist/cli/plan-local.js +8 -2
  524. package/dist/cli/plan-local.js.map +1 -1
  525. package/dist/cli/skills-content/assets-skill.d.ts +2 -0
  526. package/dist/cli/skills-content/assets-skill.d.ts.map +1 -0
  527. package/dist/cli/skills-content/assets-skill.js +84 -0
  528. package/dist/cli/skills-content/assets-skill.js.map +1 -0
  529. package/dist/cli/skills-content/canvas.d.ts +4 -0
  530. package/dist/cli/skills-content/canvas.d.ts.map +1 -0
  531. package/dist/cli/skills-content/canvas.js +152 -0
  532. package/dist/cli/skills-content/canvas.js.map +1 -0
  533. package/dist/cli/skills-content/connection.d.ts +2 -0
  534. package/dist/cli/skills-content/connection.d.ts.map +1 -0
  535. package/dist/cli/skills-content/connection.js +53 -0
  536. package/dist/cli/skills-content/connection.js.map +1 -0
  537. package/dist/cli/skills-content/content-skill.d.ts +2 -0
  538. package/dist/cli/skills-content/content-skill.d.ts.map +1 -0
  539. package/dist/cli/skills-content/content-skill.js +110 -0
  540. package/dist/cli/skills-content/content-skill.js.map +1 -0
  541. package/dist/cli/skills-content/design-exploration-skill.d.ts +2 -0
  542. package/dist/cli/skills-content/design-exploration-skill.d.ts.map +1 -0
  543. package/dist/cli/skills-content/design-exploration-skill.js +119 -0
  544. package/dist/cli/skills-content/design-exploration-skill.js.map +1 -0
  545. package/dist/cli/skills-content/design-visual-edit-skill.d.ts +2 -0
  546. package/dist/cli/skills-content/design-visual-edit-skill.d.ts.map +1 -0
  547. package/dist/cli/skills-content/design-visual-edit-skill.js +229 -0
  548. package/dist/cli/skills-content/design-visual-edit-skill.js.map +1 -0
  549. package/dist/cli/skills-content/document-quality.d.ts +4 -0
  550. package/dist/cli/skills-content/document-quality.d.ts.map +1 -0
  551. package/dist/cli/skills-content/document-quality.js +195 -0
  552. package/dist/cli/skills-content/document-quality.js.map +1 -0
  553. package/dist/cli/skills-content/exemplar.d.ts +4 -0
  554. package/dist/cli/skills-content/exemplar.d.ts.map +1 -0
  555. package/dist/cli/skills-content/exemplar.js +68 -0
  556. package/dist/cli/skills-content/exemplar.js.map +1 -0
  557. package/dist/cli/skills-content/help.d.ts +2 -0
  558. package/dist/cli/skills-content/help.d.ts.map +1 -0
  559. package/dist/cli/skills-content/help.js +78 -0
  560. package/dist/cli/skills-content/help.js.map +1 -0
  561. package/dist/cli/skills-content/index.d.ts +23 -0
  562. package/dist/cli/skills-content/index.d.ts.map +1 -0
  563. package/dist/cli/skills-content/index.js +23 -0
  564. package/dist/cli/skills-content/index.js.map +1 -0
  565. package/dist/cli/skills-content/local-files.d.ts +2 -0
  566. package/dist/cli/skills-content/local-files.d.ts.map +1 -0
  567. package/dist/cli/skills-content/local-files.js +96 -0
  568. package/dist/cli/skills-content/local-files.js.map +1 -0
  569. package/dist/cli/skills-content/plan-setup-auth.d.ts +9 -0
  570. package/dist/cli/skills-content/plan-setup-auth.d.ts.map +1 -0
  571. package/dist/cli/skills-content/plan-setup-auth.js +81 -0
  572. package/dist/cli/skills-content/plan-setup-auth.js.map +1 -0
  573. package/dist/cli/skills-content/visual-plan-skill.d.ts +2 -0
  574. package/dist/cli/skills-content/visual-plan-skill.d.ts.map +1 -0
  575. package/dist/cli/skills-content/visual-plan-skill.js +471 -0
  576. package/dist/cli/skills-content/visual-plan-skill.js.map +1 -0
  577. package/dist/cli/skills-content/visual-recap-skill.d.ts +2 -0
  578. package/dist/cli/skills-content/visual-recap-skill.d.ts.map +1 -0
  579. package/dist/cli/skills-content/visual-recap-skill.js +548 -0
  580. package/dist/cli/skills-content/visual-recap-skill.js.map +1 -0
  581. package/dist/cli/skills-content/visualize-repo-skill.d.ts +2 -0
  582. package/dist/cli/skills-content/visualize-repo-skill.d.ts.map +1 -0
  583. package/dist/cli/skills-content/visualize-repo-skill.js +94 -0
  584. package/dist/cli/skills-content/visualize-repo-skill.js.map +1 -0
  585. package/dist/cli/skills-content/wireframe.d.ts +4 -0
  586. package/dist/cli/skills-content/wireframe.d.ts.map +1 -0
  587. package/dist/cli/skills-content/wireframe.js +347 -0
  588. package/dist/cli/skills-content/wireframe.js.map +1 -0
  589. package/dist/cli/skills.d.ts +2 -10
  590. package/dist/cli/skills.d.ts.map +1 -1
  591. package/dist/cli/skills.js +2 -2710
  592. package/dist/cli/skills.js.map +1 -1
  593. package/dist/client/AgentPanel.d.ts.map +1 -1
  594. package/dist/client/AgentPanel.js +6 -5
  595. package/dist/client/AgentPanel.js.map +1 -1
  596. package/dist/client/AssistantChat.d.ts +7 -0
  597. package/dist/client/AssistantChat.d.ts.map +1 -1
  598. package/dist/client/AssistantChat.js +62 -40
  599. package/dist/client/AssistantChat.js.map +1 -1
  600. package/dist/client/CommandMenu.d.ts.map +1 -1
  601. package/dist/client/CommandMenu.js +15 -3
  602. package/dist/client/CommandMenu.js.map +1 -1
  603. package/dist/client/FeedbackButton.js +2 -2
  604. package/dist/client/FeedbackButton.js.map +1 -1
  605. package/dist/client/analytics.d.ts.map +1 -1
  606. package/dist/client/analytics.js +26 -0
  607. package/dist/client/analytics.js.map +1 -1
  608. package/dist/client/app-providers.d.ts +13 -5
  609. package/dist/client/app-providers.d.ts.map +1 -1
  610. package/dist/client/app-providers.js +9 -6
  611. package/dist/client/app-providers.js.map +1 -1
  612. package/dist/client/blocks/library/wireframe-kit.d.ts +2 -0
  613. package/dist/client/blocks/library/wireframe-kit.d.ts.map +1 -1
  614. package/dist/client/blocks/library/wireframe-kit.js +9 -2
  615. package/dist/client/blocks/library/wireframe-kit.js.map +1 -1
  616. package/dist/client/chat/tool-call-display.d.ts +4 -0
  617. package/dist/client/chat/tool-call-display.d.ts.map +1 -1
  618. package/dist/client/chat/tool-call-display.js +3 -3
  619. package/dist/client/chat/tool-call-display.js.map +1 -1
  620. package/dist/client/chat-model-groups.d.ts.map +1 -1
  621. package/dist/client/chat-model-groups.js +24 -0
  622. package/dist/client/chat-model-groups.js.map +1 -1
  623. package/dist/client/composer/PastedTextChip.js +1 -1
  624. package/dist/client/composer/PastedTextChip.js.map +1 -1
  625. package/dist/client/composer/RealtimeVoiceMode.d.ts +40 -2
  626. package/dist/client/composer/RealtimeVoiceMode.d.ts.map +1 -1
  627. package/dist/client/composer/RealtimeVoiceMode.js +186 -35
  628. package/dist/client/composer/RealtimeVoiceMode.js.map +1 -1
  629. package/dist/client/composer/TiptapComposer.d.ts +4 -0
  630. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  631. package/dist/client/composer/TiptapComposer.js +48 -30
  632. package/dist/client/composer/TiptapComposer.js.map +1 -1
  633. package/dist/client/composer/VoiceButton.d.ts +2 -0
  634. package/dist/client/composer/VoiceButton.d.ts.map +1 -1
  635. package/dist/client/composer/VoiceButton.js +9 -3
  636. package/dist/client/composer/VoiceButton.js.map +1 -1
  637. package/dist/client/composer/index.d.ts +2 -2
  638. package/dist/client/composer/index.d.ts.map +1 -1
  639. package/dist/client/composer/index.js +1 -1
  640. package/dist/client/composer/index.js.map +1 -1
  641. package/dist/client/composer/useRealtimeVoiceMode.d.ts +104 -2
  642. package/dist/client/composer/useRealtimeVoiceMode.d.ts.map +1 -1
  643. package/dist/client/composer/useRealtimeVoiceMode.js +1015 -35
  644. package/dist/client/composer/useRealtimeVoiceMode.js.map +1 -1
  645. package/dist/client/context-xray/ContextXRayPanel.d.ts.map +1 -1
  646. package/dist/client/context-xray/ContextXRayPanel.js +4 -1
  647. package/dist/client/context-xray/ContextXRayPanel.js.map +1 -1
  648. package/dist/client/extensions/ExtensionEditor.d.ts.map +1 -1
  649. package/dist/client/extensions/ExtensionEditor.js +15 -5
  650. package/dist/client/extensions/ExtensionEditor.js.map +1 -1
  651. package/dist/client/extensions/ExtensionQueryErrorState.d.ts +8 -0
  652. package/dist/client/extensions/ExtensionQueryErrorState.d.ts.map +1 -0
  653. package/dist/client/extensions/ExtensionQueryErrorState.js +11 -0
  654. package/dist/client/extensions/ExtensionQueryErrorState.js.map +1 -0
  655. package/dist/client/extensions/ExtensionSlot.d.ts.map +1 -1
  656. package/dist/client/extensions/ExtensionSlot.js +17 -7
  657. package/dist/client/extensions/ExtensionSlot.js.map +1 -1
  658. package/dist/client/extensions/ExtensionViewer.d.ts.map +1 -1
  659. package/dist/client/extensions/ExtensionViewer.js +17 -7
  660. package/dist/client/extensions/ExtensionViewer.js.map +1 -1
  661. package/dist/client/extensions/ExtensionsListPage.d.ts.map +1 -1
  662. package/dist/client/extensions/ExtensionsListPage.js +5 -3
  663. package/dist/client/extensions/ExtensionsListPage.js.map +1 -1
  664. package/dist/client/extensions/ExtensionsSidebarSection.d.ts.map +1 -1
  665. package/dist/client/extensions/ExtensionsSidebarSection.js +21 -8
  666. package/dist/client/extensions/ExtensionsSidebarSection.js.map +1 -1
  667. package/dist/client/index.d.ts +1 -3
  668. package/dist/client/index.d.ts.map +1 -1
  669. package/dist/client/index.js +1 -6
  670. package/dist/client/index.js.map +1 -1
  671. package/dist/client/progress/RunsTray.d.ts.map +1 -1
  672. package/dist/client/progress/RunsTray.js +17 -4
  673. package/dist/client/progress/RunsTray.js.map +1 -1
  674. package/dist/client/settings/SecretsSection.d.ts +2 -3
  675. package/dist/client/settings/SecretsSection.d.ts.map +1 -1
  676. package/dist/client/settings/SecretsSection.js +46 -22
  677. package/dist/client/settings/SecretsSection.js.map +1 -1
  678. package/dist/client/settings/SettingsPanel.d.ts +9 -0
  679. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  680. package/dist/client/settings/SettingsPanel.js +46 -12
  681. package/dist/client/settings/SettingsPanel.js.map +1 -1
  682. package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
  683. package/dist/client/settings/SettingsTabsPage.js +4 -0
  684. package/dist/client/settings/SettingsTabsPage.js.map +1 -1
  685. package/dist/client/settings/useBuilderStatus.d.ts +2 -0
  686. package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
  687. package/dist/client/settings/useBuilderStatus.js +4 -0
  688. package/dist/client/settings/useBuilderStatus.js.map +1 -1
  689. package/dist/client/tool-cells/EditCell.d.ts.map +1 -1
  690. package/dist/client/tool-cells/EditCell.js +2 -1
  691. package/dist/client/tool-cells/EditCell.js.map +1 -1
  692. package/dist/client/tool-cells/FilesChangedSummary.d.ts.map +1 -1
  693. package/dist/client/tool-cells/FilesChangedSummary.js +2 -1
  694. package/dist/client/tool-cells/FilesChangedSummary.js.map +1 -1
  695. package/dist/client/tool-cells/WriteCell.d.ts.map +1 -1
  696. package/dist/client/tool-cells/WriteCell.js +2 -1
  697. package/dist/client/tool-cells/WriteCell.js.map +1 -1
  698. package/dist/client/use-action.d.ts +2 -0
  699. package/dist/client/use-action.d.ts.map +1 -1
  700. package/dist/client/use-action.js +10 -0
  701. package/dist/client/use-action.js.map +1 -1
  702. package/dist/client/use-agent-chat-home-handoff.d.ts +2 -0
  703. package/dist/client/use-agent-chat-home-handoff.d.ts.map +1 -1
  704. package/dist/client/use-agent-chat-home-handoff.js +7 -1
  705. package/dist/client/use-agent-chat-home-handoff.js.map +1 -1
  706. package/dist/client/use-agent-engine-configured.d.ts.map +1 -1
  707. package/dist/client/use-agent-engine-configured.js +17 -3
  708. package/dist/client/use-agent-engine-configured.js.map +1 -1
  709. package/dist/client/use-db-sync.d.ts +8 -2
  710. package/dist/client/use-db-sync.d.ts.map +1 -1
  711. package/dist/client/use-db-sync.js +57 -32
  712. package/dist/client/use-db-sync.js.map +1 -1
  713. package/dist/client/use-pausing-interval.d.ts.map +1 -1
  714. package/dist/client/use-pausing-interval.js +16 -4
  715. package/dist/client/use-pausing-interval.js.map +1 -1
  716. package/dist/client/visual-style-controls.js +1 -1
  717. package/dist/client/visual-style-controls.js.map +1 -1
  718. package/dist/collab/routes.d.ts +1 -1
  719. package/dist/deploy/build.d.ts.map +1 -1
  720. package/dist/deploy/build.js +36 -14
  721. package/dist/deploy/build.js.map +1 -1
  722. package/dist/integrations/google-docs-poller.d.ts +7 -0
  723. package/dist/integrations/google-docs-poller.d.ts.map +1 -1
  724. package/dist/integrations/google-docs-poller.js +13 -3
  725. package/dist/integrations/google-docs-poller.js.map +1 -1
  726. package/dist/integrations/plugin.d.ts.map +1 -1
  727. package/dist/integrations/plugin.js +10 -0
  728. package/dist/integrations/plugin.js.map +1 -1
  729. package/dist/integrations/scope-store.js +1 -1
  730. package/dist/integrations/scope-store.js.map +1 -1
  731. package/dist/integrations/usage-budget-store.js +1 -1
  732. package/dist/integrations/usage-budget-store.js.map +1 -1
  733. package/dist/integrations/webhook-handler.d.ts +11 -0
  734. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  735. package/dist/integrations/webhook-handler.js +16 -4
  736. package/dist/integrations/webhook-handler.js.map +1 -1
  737. package/dist/jobs/scheduler.d.ts +12 -0
  738. package/dist/jobs/scheduler.d.ts.map +1 -1
  739. package/dist/jobs/scheduler.js +13 -3
  740. package/dist/jobs/scheduler.js.map +1 -1
  741. package/dist/localization/default-messages.d.ts +47 -0
  742. package/dist/localization/default-messages.d.ts.map +1 -1
  743. package/dist/localization/default-messages.js +48 -1
  744. package/dist/localization/default-messages.js.map +1 -1
  745. package/dist/mcp/oauth-token.d.ts +1 -1
  746. package/dist/mcp/oauth-token.d.ts.map +1 -1
  747. package/dist/mcp/oauth-token.js +6 -1
  748. package/dist/mcp/oauth-token.js.map +1 -1
  749. package/dist/mcp-client/workspace-servers.js +4 -4
  750. package/dist/mcp-client/workspace-servers.js.map +1 -1
  751. package/dist/notifications/routes.d.ts +2 -2
  752. package/dist/observability/routes.d.ts +5 -5
  753. package/dist/observability/routes.d.ts.map +1 -1
  754. package/dist/observability/routes.js +32 -0
  755. package/dist/observability/routes.js.map +1 -1
  756. package/dist/observability/sentiment.d.ts +42 -0
  757. package/dist/observability/sentiment.d.ts.map +1 -0
  758. package/dist/observability/sentiment.js +196 -0
  759. package/dist/observability/sentiment.js.map +1 -0
  760. package/dist/observability/store.d.ts +5 -0
  761. package/dist/observability/store.d.ts.map +1 -1
  762. package/dist/observability/store.js +17 -0
  763. package/dist/observability/store.js.map +1 -1
  764. package/dist/observability/traces.d.ts +2 -0
  765. package/dist/observability/traces.d.ts.map +1 -1
  766. package/dist/observability/traces.js +42 -57
  767. package/dist/observability/traces.js.map +1 -1
  768. package/dist/observability/tracking-identity.d.ts +3 -0
  769. package/dist/observability/tracking-identity.d.ts.map +1 -0
  770. package/dist/observability/tracking-identity.js +51 -0
  771. package/dist/observability/tracking-identity.js.map +1 -0
  772. package/dist/observability/types.d.ts +10 -0
  773. package/dist/observability/types.d.ts.map +1 -1
  774. package/dist/observability/types.js +3 -0
  775. package/dist/observability/types.js.map +1 -1
  776. package/dist/progress/routes.d.ts +1 -1
  777. package/dist/resources/handlers.d.ts +1 -1
  778. package/dist/secrets/crypto.d.ts +7 -6
  779. package/dist/secrets/crypto.d.ts.map +1 -1
  780. package/dist/secrets/crypto.js +30 -11
  781. package/dist/secrets/crypto.js.map +1 -1
  782. package/dist/secrets/routes.d.ts +9 -9
  783. package/dist/secrets/storage.d.ts +6 -0
  784. package/dist/secrets/storage.d.ts.map +1 -1
  785. package/dist/secrets/storage.js +61 -3
  786. package/dist/secrets/storage.js.map +1 -1
  787. package/dist/server/action-change.d.ts +1 -0
  788. package/dist/server/action-change.d.ts.map +1 -1
  789. package/dist/server/action-change.js +4 -1
  790. package/dist/server/action-change.js.map +1 -1
  791. package/dist/server/action-routes.d.ts.map +1 -1
  792. package/dist/server/action-routes.js +5 -0
  793. package/dist/server/action-routes.js.map +1 -1
  794. package/dist/server/agent-chat/action-filters-a2a.d.ts +50 -0
  795. package/dist/server/agent-chat/action-filters-a2a.d.ts.map +1 -0
  796. package/dist/server/agent-chat/action-filters-a2a.js +127 -0
  797. package/dist/server/agent-chat/action-filters-a2a.js.map +1 -0
  798. package/dist/server/agent-chat/browser-team-tools.d.ts +21 -0
  799. package/dist/server/agent-chat/browser-team-tools.d.ts.map +1 -0
  800. package/dist/server/agent-chat/browser-team-tools.js +417 -0
  801. package/dist/server/agent-chat/browser-team-tools.js.map +1 -0
  802. package/dist/server/agent-chat/context-tools.d.ts +33 -0
  803. package/dist/server/agent-chat/context-tools.d.ts.map +1 -0
  804. package/dist/server/agent-chat/context-tools.js +520 -0
  805. package/dist/server/agent-chat/context-tools.js.map +1 -0
  806. package/dist/server/agent-chat/framework-prompts.d.ts +65 -0
  807. package/dist/server/agent-chat/framework-prompts.d.ts.map +1 -0
  808. package/dist/server/agent-chat/framework-prompts.js +403 -0
  809. package/dist/server/agent-chat/framework-prompts.js.map +1 -0
  810. package/dist/server/agent-chat/lazy-fs.d.ts +2 -0
  811. package/dist/server/agent-chat/lazy-fs.d.ts.map +1 -0
  812. package/dist/server/agent-chat/lazy-fs.js +11 -0
  813. package/dist/server/agent-chat/lazy-fs.js.map +1 -0
  814. package/dist/server/agent-chat/mcp-glue.d.ts +9 -0
  815. package/dist/server/agent-chat/mcp-glue.d.ts.map +1 -0
  816. package/dist/server/agent-chat/mcp-glue.js +63 -0
  817. package/dist/server/agent-chat/mcp-glue.js.map +1 -0
  818. package/dist/server/agent-chat/plugin-options.d.ts +322 -0
  819. package/dist/server/agent-chat/plugin-options.d.ts.map +1 -0
  820. package/dist/server/agent-chat/plugin-options.js +2 -0
  821. package/dist/server/agent-chat/plugin-options.js.map +1 -0
  822. package/dist/server/agent-chat/process-run-failure.d.ts +12 -0
  823. package/dist/server/agent-chat/process-run-failure.d.ts.map +1 -0
  824. package/dist/server/agent-chat/process-run-failure.js +24 -0
  825. package/dist/server/agent-chat/process-run-failure.js.map +1 -0
  826. package/dist/server/agent-chat/prompt-resources.d.ts +28 -0
  827. package/dist/server/agent-chat/prompt-resources.d.ts.map +1 -0
  828. package/dist/server/agent-chat/prompt-resources.js +514 -0
  829. package/dist/server/agent-chat/prompt-resources.js.map +1 -0
  830. package/dist/server/agent-chat/recurring-jobs-runtime.d.ts +5 -0
  831. package/dist/server/agent-chat/recurring-jobs-runtime.d.ts.map +1 -0
  832. package/dist/server/agent-chat/recurring-jobs-runtime.js +53 -0
  833. package/dist/server/agent-chat/recurring-jobs-runtime.js.map +1 -0
  834. package/dist/server/agent-chat/request-surface.d.ts +8 -0
  835. package/dist/server/agent-chat/request-surface.d.ts.map +1 -0
  836. package/dist/server/agent-chat/request-surface.js +56 -0
  837. package/dist/server/agent-chat/request-surface.js.map +1 -0
  838. package/dist/server/agent-chat/run-code-tools.d.ts +17 -0
  839. package/dist/server/agent-chat/run-code-tools.d.ts.map +1 -0
  840. package/dist/server/agent-chat/run-code-tools.js +55 -0
  841. package/dist/server/agent-chat/run-code-tools.js.map +1 -0
  842. package/dist/server/agent-chat/script-entries.d.ts +47 -0
  843. package/dist/server/agent-chat/script-entries.d.ts.map +1 -0
  844. package/dist/server/agent-chat/script-entries.js +633 -0
  845. package/dist/server/agent-chat/script-entries.js.map +1 -0
  846. package/dist/server/agent-chat/shared-thread.d.ts +33 -0
  847. package/dist/server/agent-chat/shared-thread.d.ts.map +1 -0
  848. package/dist/server/agent-chat/shared-thread.js +242 -0
  849. package/dist/server/agent-chat/shared-thread.js.map +1 -0
  850. package/dist/server/agent-chat/skill-frontmatter.d.ts +7 -0
  851. package/dist/server/agent-chat/skill-frontmatter.d.ts.map +1 -0
  852. package/dist/server/agent-chat/skill-frontmatter.js +26 -0
  853. package/dist/server/agent-chat/skill-frontmatter.js.map +1 -0
  854. package/dist/server/agent-chat-plugin.d.ts +45 -486
  855. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  856. package/dist/server/agent-chat-plugin.js +173 -3005
  857. package/dist/server/agent-chat-plugin.js.map +1 -1
  858. package/dist/server/agent-teams.d.ts +10 -0
  859. package/dist/server/agent-teams.d.ts.map +1 -1
  860. package/dist/server/agent-teams.js +13 -3
  861. package/dist/server/agent-teams.js.map +1 -1
  862. package/dist/server/auth.d.ts.map +1 -1
  863. package/dist/server/auth.js +50 -52
  864. package/dist/server/auth.js.map +1 -1
  865. package/dist/server/credential-provider.d.ts.map +1 -1
  866. package/dist/server/credential-provider.js +22 -21
  867. package/dist/server/credential-provider.js.map +1 -1
  868. package/dist/server/edge.d.ts +1 -0
  869. package/dist/server/edge.d.ts.map +1 -1
  870. package/dist/server/edge.js +1 -0
  871. package/dist/server/edge.js.map +1 -1
  872. package/dist/server/onboarding-html.d.ts.map +1 -1
  873. package/dist/server/onboarding-html.js +1 -16
  874. package/dist/server/onboarding-html.js.map +1 -1
  875. package/dist/server/poll.d.ts.map +1 -1
  876. package/dist/server/poll.js +1 -0
  877. package/dist/server/poll.js.map +1 -1
  878. package/dist/server/realtime-voice.d.ts +10 -0
  879. package/dist/server/realtime-voice.d.ts.map +1 -1
  880. package/dist/server/realtime-voice.js +249 -15
  881. package/dist/server/realtime-voice.js.map +1 -1
  882. package/dist/server/request-origin.d.ts.map +1 -1
  883. package/dist/server/request-origin.js +6 -3
  884. package/dist/server/request-origin.js.map +1 -1
  885. package/dist/server/ssr-handler.d.ts.map +1 -1
  886. package/dist/server/ssr-handler.js +47 -2
  887. package/dist/server/ssr-handler.js.map +1 -1
  888. package/dist/sharing/access.d.ts +63 -3
  889. package/dist/sharing/access.d.ts.map +1 -1
  890. package/dist/sharing/access.js +53 -15
  891. package/dist/sharing/access.js.map +1 -1
  892. package/dist/sharing/registry.d.ts +7 -0
  893. package/dist/sharing/registry.d.ts.map +1 -1
  894. package/dist/sharing/registry.js.map +1 -1
  895. package/dist/styles/agent-native.css +17 -16
  896. package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +1 -1
  897. package/dist/templates/default/.agents/skills/real-time-sync/SKILL.md +2 -2
  898. package/dist/templates/default/app/i18n/ar-SA.ts +6 -0
  899. package/dist/templates/default/app/i18n/de-DE.ts +6 -0
  900. package/dist/templates/default/app/i18n/en-US.ts +6 -0
  901. package/dist/templates/default/app/i18n/es-ES.ts +6 -0
  902. package/dist/templates/default/app/i18n/fr-FR.ts +6 -0
  903. package/dist/templates/default/app/i18n/hi-IN.ts +6 -0
  904. package/dist/templates/default/app/i18n/ja-JP.ts +6 -0
  905. package/dist/templates/default/app/i18n/ko-KR.ts +6 -0
  906. package/dist/templates/default/app/i18n/pt-BR.ts +6 -0
  907. package/dist/templates/default/app/i18n/zh-CN.ts +6 -0
  908. package/dist/templates/default/app/i18n/zh-TW.ts +6 -0
  909. package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +27 -29
  910. package/dist/templates/workspace-core/.agents/skills/external-agents/SKILL.md +2 -1
  911. package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +1 -1
  912. package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +32 -0
  913. package/dist/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +2 -2
  914. package/dist/templates/workspace-core/.agents/skills/secrets/SKILL.md +7 -3
  915. package/dist/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +39 -9
  916. package/dist/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +25 -0
  917. package/dist/templates/workspace-core/src/server/index.ts +4 -2
  918. package/dist/testing.d.ts +16 -0
  919. package/dist/testing.d.ts.map +1 -0
  920. package/dist/testing.js +16 -0
  921. package/dist/testing.js.map +1 -0
  922. package/dist/triggers/dispatcher.d.ts +7 -0
  923. package/dist/triggers/dispatcher.d.ts.map +1 -1
  924. package/dist/triggers/dispatcher.js +13 -3
  925. package/dist/triggers/dispatcher.js.map +1 -1
  926. package/dist/vite/client.d.ts +16 -1
  927. package/dist/vite/client.d.ts.map +1 -1
  928. package/dist/vite/client.js +111 -3
  929. package/dist/vite/client.js.map +1 -1
  930. package/docs/content/authentication.mdx +3 -3
  931. package/docs/content/doctor.mdx +170 -0
  932. package/docs/content/external-agents.mdx +8 -7
  933. package/docs/content/locales/ar-SA/authentication.mdx +2 -2
  934. package/docs/content/locales/ar-SA/external-agents.mdx +8 -7
  935. package/docs/content/locales/ar-SA/mcp-protocol.mdx +1 -1
  936. package/docs/content/locales/ar-SA/security.mdx +2 -0
  937. package/docs/content/locales/de-DE/authentication.mdx +1 -1
  938. package/docs/content/locales/de-DE/external-agents.mdx +8 -7
  939. package/docs/content/locales/de-DE/mcp-protocol.mdx +1 -1
  940. package/docs/content/locales/de-DE/security.mdx +2 -0
  941. package/docs/content/locales/es-ES/authentication.mdx +2 -2
  942. package/docs/content/locales/es-ES/external-agents.mdx +8 -7
  943. package/docs/content/locales/es-ES/mcp-protocol.mdx +1 -1
  944. package/docs/content/locales/es-ES/security.mdx +2 -0
  945. package/docs/content/locales/fr-FR/authentication.mdx +1 -1
  946. package/docs/content/locales/fr-FR/external-agents.mdx +8 -7
  947. package/docs/content/locales/fr-FR/mcp-protocol.mdx +1 -1
  948. package/docs/content/locales/fr-FR/security.mdx +2 -0
  949. package/docs/content/locales/hi-IN/authentication.mdx +2 -2
  950. package/docs/content/locales/hi-IN/external-agents.mdx +8 -7
  951. package/docs/content/locales/hi-IN/mcp-protocol.mdx +1 -1
  952. package/docs/content/locales/hi-IN/security.mdx +2 -0
  953. package/docs/content/locales/ja-JP/authentication.mdx +2 -2
  954. package/docs/content/locales/ja-JP/external-agents.mdx +8 -7
  955. package/docs/content/locales/ja-JP/mcp-protocol.mdx +1 -1
  956. package/docs/content/locales/ja-JP/security.mdx +2 -0
  957. package/docs/content/locales/ko-KR/authentication.mdx +2 -2
  958. package/docs/content/locales/ko-KR/external-agents.mdx +8 -7
  959. package/docs/content/locales/ko-KR/mcp-protocol.mdx +1 -1
  960. package/docs/content/locales/ko-KR/security.mdx +2 -0
  961. package/docs/content/locales/pt-BR/authentication.mdx +2 -2
  962. package/docs/content/locales/pt-BR/external-agents.mdx +8 -7
  963. package/docs/content/locales/pt-BR/mcp-protocol.mdx +1 -1
  964. package/docs/content/locales/pt-BR/security.mdx +2 -0
  965. package/docs/content/locales/zh-CN/authentication.mdx +2 -2
  966. package/docs/content/locales/zh-CN/external-agents.mdx +8 -7
  967. package/docs/content/locales/zh-CN/mcp-protocol.mdx +1 -1
  968. package/docs/content/locales/zh-CN/security.mdx +2 -0
  969. package/docs/content/locales/zh-TW/authentication.mdx +2 -2
  970. package/docs/content/locales/zh-TW/external-agents.mdx +8 -7
  971. package/docs/content/locales/zh-TW/mcp-protocol.mdx +1 -1
  972. package/docs/content/locales/zh-TW/security.mdx +2 -0
  973. package/docs/content/mcp-protocol.mdx +1 -1
  974. package/docs/content/security.mdx +2 -0
  975. package/package.json +7 -3
  976. package/src/templates/default/.agents/skills/frontend-design/SKILL.md +1 -1
  977. package/src/templates/default/.agents/skills/real-time-sync/SKILL.md +2 -2
  978. package/src/templates/default/app/i18n/ar-SA.ts +6 -0
  979. package/src/templates/default/app/i18n/de-DE.ts +6 -0
  980. package/src/templates/default/app/i18n/en-US.ts +6 -0
  981. package/src/templates/default/app/i18n/es-ES.ts +6 -0
  982. package/src/templates/default/app/i18n/fr-FR.ts +6 -0
  983. package/src/templates/default/app/i18n/hi-IN.ts +6 -0
  984. package/src/templates/default/app/i18n/ja-JP.ts +6 -0
  985. package/src/templates/default/app/i18n/ko-KR.ts +6 -0
  986. package/src/templates/default/app/i18n/pt-BR.ts +6 -0
  987. package/src/templates/default/app/i18n/zh-CN.ts +6 -0
  988. package/src/templates/default/app/i18n/zh-TW.ts +6 -0
  989. package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +27 -29
  990. package/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +2 -1
  991. package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +1 -1
  992. package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +32 -0
  993. package/src/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +2 -2
  994. package/src/templates/workspace-core/.agents/skills/secrets/SKILL.md +7 -3
  995. package/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +39 -9
  996. package/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +25 -0
  997. package/src/templates/workspace-core/src/server/index.ts +4 -2
  998. package/corpus/core/src/client/ProductionAgentPanel.tsx +0 -9
  999. package/corpus/core/src/client/auth-redirect-url.ts +0 -23
  1000. package/corpus/core/src/client/useProductionAgent.ts +0 -253
  1001. package/corpus/core/src/shared/auth-redirect-url.ts +0 -1
  1002. package/corpus/templates/analytics/app/pages/Index.tsx +0 -16
  1003. package/corpus/templates/analytics/seeds/dashboards/agent-observability-llm.json +0 -173
  1004. package/dist/client/ProductionAgentPanel.d.ts +0 -6
  1005. package/dist/client/ProductionAgentPanel.d.ts.map +0 -1
  1006. package/dist/client/ProductionAgentPanel.js +0 -6
  1007. package/dist/client/ProductionAgentPanel.js.map +0 -1
  1008. package/dist/client/auth-redirect-url.d.ts +0 -2
  1009. package/dist/client/auth-redirect-url.d.ts.map +0 -1
  1010. package/dist/client/auth-redirect-url.js +0 -19
  1011. package/dist/client/auth-redirect-url.js.map +0 -1
  1012. package/dist/client/useProductionAgent.d.ts +0 -24
  1013. package/dist/client/useProductionAgent.d.ts.map +0 -1
  1014. package/dist/client/useProductionAgent.js +0 -179
  1015. package/dist/client/useProductionAgent.js.map +0 -1
  1016. package/dist/shared/auth-redirect-url.d.ts +0 -2
  1017. package/dist/shared/auth-redirect-url.d.ts.map +0 -1
  1018. package/dist/shared/auth-redirect-url.js +0 -2
  1019. package/dist/shared/auth-redirect-url.js.map +0 -1
@@ -0,0 +1,547 @@
1
+ export const VISUAL_RECAP_SKILL_MD = `---
2
+ name: visual-recap
3
+ description: >-
4
+ Turn a PR, branch, commit, or git diff into an interactive visual recap with
5
+ diagrams, file maps, API/schema summaries, annotated diffs, and focused review
6
+ notes.
7
+ metadata:
8
+ visibility: exported
9
+ ---
10
+
11
+ # Visual Recap
12
+
13
+ \`/visual-recap\` creates a visual plan built **from** a diff, not toward one. It
14
+ is the reverse of forward planning: instead of describing the change you are
15
+ about to make, you describe the change that was just made, at a higher altitude
16
+ than line-by-line review. The same plan data model serves both directions —
17
+ schema, API, file, and architecture changes become the same \`data-model\`,
18
+ \`api-endpoint\`, \`file-tree\`, and \`diagram\` blocks a forward plan would use, only
19
+ now they summarize work that exists. A reviewer scans the shape of the change
20
+ before spending attention on the literal lines.
21
+
22
+ ## Publish As An Agent-Native Plan — Never Inline
23
+
24
+ The deliverable is ALWAYS a published Agent-Native Plan, created with
25
+ \`create-visual-recap\` on the Plan MCP connector — NEVER inline chat content (not
26
+ Markdown prose, an ASCII sketch, a table, a fenced "wireframe", or a "here's the
27
+ recap" summary). A recap's entire value is the hosted, interactive, annotatable
28
+ plan; an inline summary is not a degraded recap, it is the thing a recap
29
+ replaces. If the \`plan\` (or legacy \`agent-native-plans\`) tools are not visible,
30
+ discover them through the host's \`tool_search\` first; if they are still missing,
31
+ STOP and give the user the client-specific reconnect step rather than improvising
32
+ an inline recap. Before publishing, or whenever a connector or auth error
33
+ appears, READ \`references/connection.md\` in this skill directory — it is the
34
+ single source of truth for the never-inline rule, connector discovery, and the
35
+ per-client reconnect steps. Local-files privacy mode (below) is the one
36
+ exception.
37
+
38
+ ## Local-Files Privacy Mode — read \`references/local-files.md\`
39
+
40
+ When the user wants no hosted Plan database writes — no DB writes, no Plan MCP
41
+ publish, fully local/offline/private recaps, or \`AGENT_NATIVE_PLANS_MODE=local-files\`
42
+ — do not call any hosted Plan tool except the schema-only \`get-plan-blocks\`
43
+ catalog lookup. Read the diff with the local \`recap collect-diff\` / \`scan\` /
44
+ \`build-prompt --local-files\` helpers, author a local MDX folder (set
45
+ \`kind: "recap"\` and \`localOnly: true\`), and preview it with \`plan local check\`,
46
+ \`plan local serve --kind recap\`, and \`plan local verify --kind recap\`. Before
47
+ using local-files mode, READ \`references/local-files.md\` in this skill directory
48
+ — it is the single source of truth for the full contract.
49
+
50
+ ## When To Use
51
+
52
+ Build a recap when a PR or commit is large, multi-file, or touches schema, API
53
+ contracts, or architecture, and a reviewer would benefit from seeing the change
54
+ mapped to structured blocks before reading the raw diff. A GitHub Action can
55
+ generate one automatically from a PR diff; an agent can generate one on request
56
+ ("recap this PR", "show me what this branch changed"). Skip it for small,
57
+ single-file, or obvious diffs — a recap is review overhead, and a tiny change
58
+ reviews faster as plain diff.
59
+
60
+ ## Recap The Whole Work Unit
61
+
62
+ When \`/visual-recap\` is invoked in a chat thread after work has already happened,
63
+ the default scope is the whole current work unit/thread, not only the most recent
64
+ user message, tool action, or follow-up fix. Gather the thread-owned changes
65
+ across the conversation: original implementation work, later bug fixes, UI
66
+ follow-ups, tests, changesets, skill/instruction updates, generated plan/source
67
+ artifacts, and any local import/linking fixes needed to make the recap open.
68
+
69
+ Use the current diff plus conversation context to separate thread-owned changes
70
+ from unrelated dirty work that existed before the thread. Exclude unrelated
71
+ pre-existing edits. If the scope is genuinely ambiguous and cannot be inferred,
72
+ state the assumption or ask a concise question before publishing.
73
+
74
+ When updating an existing recap after feedback, revise the recap so it still
75
+ covers the whole thread/work unit plus the new correction. Do not replace a broad
76
+ recap with a narrow recap of only the latest feedback unless the user explicitly
77
+ asks for that narrower scope.
78
+
79
+ ## Keep The Recap Body Lean
80
+
81
+ Do not add boilerplate intro, disclaimer, provenance, or summary prose blocks to
82
+ the generated plan body. In particular, do not create a \`rich-text\` block just to
83
+ say the recap is an aid, that the reviewer should still review the diff, how many
84
+ files changed, or which ref/working tree generated the recap. The plan title,
85
+ brief, and \`file-tree\` (which carries the per-file change stats) already carry
86
+ that context.
87
+
88
+ Only add prose blocks when they tell the reviewer something specific about the
89
+ change that the structured blocks do not: the objective, a real compatibility
90
+ risk, an important decision visible in the diff, or a grounded review note.
91
+
92
+ ## Recaps Must Be Substantial
93
+
94
+ Lean is not the same as thin. A recap is not a single wireframe plus one
95
+ sentence — that under-serves the reviewer as much as boilerplate prose over-serves
96
+ them. Alongside the visual/structural headline (wireframes, \`data-model\`,
97
+ \`api-endpoint\`, \`diagram\`), a substantial recap also carries the implementation
98
+ evidence:
99
+
100
+ - A short surface/state inventory before authoring: list the changed routes,
101
+ components, popovers/dialogs, role/access states, empty/error states, and
102
+ shared abstractions visible in the diff. The final recap must either represent
103
+ each meaningful item with a block or intentionally omit it because it is tiny,
104
+ redundant, or not user-visible.
105
+ - A \`file-tree\` of the changed files with each entry's \`change\` flag, so the
106
+ reviewer sees the footprint of the work at a glance.
107
+ - The split \`diff\` of the KEY changed files, grouped under a \`## Key changes\`
108
+ \`rich-text\` heading in a single horizontal \`tabs\` block (the default
109
+ orientation, one file per tab), with a one-line \`summary\` and a few
110
+ \`annotations\` on each — so the reviewer can drop from the high-altitude shape
111
+ straight into the load-bearing code. Use horizontal file tabs, not a vertical
112
+ side rail, so the selected file has enough width for the side-by-side diff.
113
+
114
+ Skip the diff appendix only for a genuinely tiny change that reviews faster as
115
+ plain diff (see "When To Use"); for any change worth recapping, the file-tree and
116
+ key-change diffs belong in the plan.
117
+
118
+ ## Canonical Shape And Budgets
119
+
120
+ A strong recap follows one skeleton, top to bottom:
121
+
122
+ 1. UI-impact headline — wireframes first, when the diff changed rendered UI.
123
+ 2. Short outcome narrative (\`rich-text\`): what changed and why, 1-3 paragraphs.
124
+ 3. \`data-model\` / \`api-endpoint\` blocks for schema and contract changes.
125
+ 4. \`file-tree\` of the changed files with \`change\` flags.
126
+ 5. \`## Key changes\` — one horizontal \`tabs\` block of \`diff\` / \`annotated-code\`.
127
+
128
+ Budgets that keep the recap reviewable:
129
+
130
+ - 3-8 key-change tabs. Fewer than 3 on a large change under-serves the
131
+ reviewer; more than 8 stops being a summary.
132
+ - Keep each diff/annotated-code excerpt focused — prefer under ~150 lines per
133
+ tab; summarize or link the rest of a long file instead of dumping it.
134
+ - Title at most ~70 characters; brief 1-3 sentences.
135
+
136
+ **GOOD.** A 25-file auth change: Before/After wireframes of the login surface,
137
+ a two-paragraph narrative, a diff-aware \`data-model\` of the sessions table, an
138
+ \`api-endpoint\` for the new refresh route, a \`file-tree\` with change flags, and
139
+ \`## Key changes\` with five focused tabs, each with a one-line \`summary\` and a
140
+ few annotations on the load-bearing hunks.
141
+
142
+ **BAD.** One giant unsegmented diff dump with no summaries or annotations; or a
143
+ sparse three-block recap of a 40-file change (one wireframe, one sentence, one
144
+ file list) that forces the reviewer back into the raw diff anyway.
145
+
146
+ ## UI Impact Needs Wireframes
147
+
148
+ When the diff changes rendered UI, layout, density, visual state, interaction
149
+ affordances, navigation, controls, menus, dialogs, or design tokens, the recap
150
+ MUST include one or more wireframes. Prose and file diffs are not a substitute
151
+ for showing what changed visually.
152
+
153
+ Before choosing wireframes, make a UI coverage pass from the diff:
154
+
155
+ - Identify the entry surface where the change appears, such as a page header,
156
+ list row, toolbar, route shell, or menu trigger.
157
+ - Identify the interaction surface that opens or changes, such as a popover,
158
+ dialog, tab, sheet, dropdown, inline editor, or toast.
159
+ - Identify the resulting destination or persistent state, such as a public page,
160
+ read-only view, empty state, error state, loading state, permission-denied
161
+ state, or saved/shared state.
162
+ - Identify access or role variants when permissions change. Owner/admin/editor
163
+ versus viewer/non-manager differences are visual behavior and need a compact
164
+ matrix, paired wireframes, or clearly labeled state sequence.
165
+
166
+ For UI-heavy PRs, a single before/after of the entry surface is not enough.
167
+ Show the changed entry point, the main changed interaction surface, and the
168
+ resulting/destination state. Add more states when the diff adds tabs, role-based
169
+ controls, public/private visibility, invite/manage flows, destructive controls,
170
+ or empty/error branches.
171
+
172
+ Choose the smallest visual surface that makes the review clear:
173
+
174
+ - Use a \`Before\` / \`After\` wireframe pair when the reviewer benefits from direct
175
+ comparison, such as a removed or added control, a changed state, layout
176
+ density, ordering, navigation, or a visible component replacement.
177
+ \`references/wireframe.md\` owns how to lay that pair out (columns vs.
178
+ vertical stack by geometry).
179
+ - Use an after-only wireframe when the change is purely additive or the "before"
180
+ state would only show absence without adding review value.
181
+ - Use more than two wireframes when the UI change is flow-dependent, responsive,
182
+ or stateful; show the meaningful states in order instead of forcing a single
183
+ before/after pair.
184
+ - For tiny surfaces like menus, popovers, dialogs, toasts, or panels, use the
185
+ matching \`surface\` (\`popover\`, \`panel\`, etc.) and show the focused sub-surface.
186
+ Do not redraw a full page unless placement in the page is itself part of the
187
+ change.
188
+
189
+ Ground each wireframe in the changed UI behavior, component names, file paths,
190
+ and diff-visible labels/states. If exact pixels are inferred rather than
191
+ captured, say so in the wireframe caption or a concise annotation. For
192
+ local/manual recaps, import or update the plan source that holds the wireframes
193
+ so the rendered recap opens with the UI visual available.
194
+
195
+ ## Wireframe Quality — read \`references/wireframe.md\`
196
+
197
+ UI recap/plan wireframes must meet a strict quality bar — full-width chrome,
198
+ pinned bottom bars, real product content, before/after comparability, the right
199
+ \`surface\` preset, \`--wf-*\` tokens instead of hex, and no \`<html>\`/\`<style>\`/font
200
+ tags. Before authoring ANY wireframe / \`<Screen>\` / \`WireframeBlock\`, READ
201
+ \`references/wireframe.md\` in this skill directory — it is the single source of
202
+ truth for HTML wireframe quality, shared word for word with \`/visual-plan\`
203
+ and \`/visual-recap\`. Do not author wireframes from memory.
204
+
205
+ Use the standard \`WireframeBlock\` / \`<Screen>\` format so the Plan viewer owns the
206
+ surface frame, theme, and sketchy/clean toggle. HTML wireframes are appropriate
207
+ when placement precision matters, especially popovers, menus, dialogs, and dense
208
+ forms. For HTML
209
+ wireframes, keep \`renderMode\` unset or \`wireframe\` unless a design-only editable
210
+ mockup is explicitly required, because \`renderMode="design"\` disables the
211
+ sketchy rough overlay.
212
+
213
+ When a browser tool is available, render a UI-impact recap in the Plan viewer
214
+ and visually inspect it at the current theme before sharing. If any label,
215
+ annotation, toolbar, or wireframe content overlaps another element, fix the MDX
216
+ and re-import before reporting the link. A text-match screenshot is not enough;
217
+ visually inspect the captured image. When no browser is available (for example
218
+ a headless CI agent), state that in the recap handoff instead.
219
+
220
+ ## Top Canvas Recaps — read \`../visual-plan/references/canvas.md\`
221
+
222
+ When a recap includes a top canvas, storyboard, or flow view, READ
223
+ \`../visual-plan/references/canvas.md\` before authoring \`canvas.mdx\`. Recap
224
+ canvas artboards must use the same HTML wireframe path as good document-body
225
+ wireframes: \`<Screen surface="..." html={...} />\` with a semantic HTML fragment.
226
+ Do not author fresh kit-tree children such as \`<FrameScreen>\`, \`<Card>\`,
227
+ \`<Row>\`, \`<Title>\`, or \`<Btn>\` inside canvas \`<Screen>\` tags. Those components
228
+ are legacy compatibility markup for old plans; in new canvas storyboards they
229
+ can produce cramped or overlapping layouts even when the inline body wireframe
230
+ looks good. If a canvas mockup looks worse than the same screen below the fold,
231
+ assume it used the legacy kit path and replace it with an HTML screen.
232
+
233
+ ## Open And Report The Recap
234
+
235
+ In local-files privacy mode, run \`plan local check\` first, then report the local
236
+ bridge URL from
237
+ \`npx @agent-native/core@latest plan local serve --dir <plan-dir> --kind recap --open\`
238
+ or from \`<plan-dir>/.plan-url\`. It opens the hosted Plan UI but reads from the
239
+ localhost bridge on this machine, so it is not shareable across machines. If the
240
+ Plan app itself is running locally with the same \`PLAN_LOCAL_DIR\`, the
241
+ \`/local-plans/<slug>\` route is also valid. Do not invent a hosted database URL
242
+ and do not publish just to get an absolute Plan link.
243
+
244
+ After creating the recap, link the reviewer to the rendered plan with an
245
+ **absolute URL on the origin whose database actually holds the plan**. That
246
+ origin is the Plan MCP server you just created the recap through — NOT whatever
247
+ dev server you happen to know is running. The create tool returns the correct
248
+ link; report THAT. Never make the primary link a local \`plan.mdx\` file, a local
249
+ mirror folder, or a relative path such as \`/plans/<id>\`.
250
+
251
+ When the recap is posted to a PR for a private repo, the plan link is not a
252
+ public URL. Make the PR comment/handoff copy explicit: reviewers may need to
253
+ sign in to Agent-Native Plans with an account that has access to the owning
254
+ organization before the link loads. Use wording like: "Private repo recap:
255
+ sign in with access to this org if the plan does not open." Do not imply the
256
+ link is broken or public when access is gated by repo/org visibility.
257
+
258
+ A recap lives only in the database of the MCP that created it. A separately
259
+ running local dev server (e.g. \`http://localhost:8081\`) has its OWN database and
260
+ will NOT contain a recap created through the hosted MCP, so a hand-built
261
+ \`localhost\` link returns "Plan not found". This is the most common recap
262
+ mistake — do not guess an origin you have not confirmed shares the MCP's data.
263
+
264
+ Resolve the URL in this order:
265
+
266
+ 1. Use the absolute URL the create tool RETURNS — \`openLink.webUrl\`, else the
267
+ \`visualUrl\` in the returned \`plan.mdx\` frontmatter, else \`url\`/\`path\`
268
+ resolved against the MCP server's own origin (for the hosted MCP that is
269
+ \`https://plan.agent-native.com\`). This always points at the database that has
270
+ the plan.
271
+ 2. Use a \`localhost\`/dev origin ONLY when the recap was created through a Plan
272
+ MCP bound to that same origin — i.e. that MCP's url is
273
+ \`http://localhost:<port>/_agent-native/mcp\`. Creating through the hosted MCP
274
+ and linking to localhost is the exact mismatch that 404s.
275
+ 3. If only a plan id is available, build the MCP origin's absolute URL
276
+ (hosted: \`https://plan.agent-native.com/plans/<id>\`) and say it was inferred.
277
+
278
+ If the user wants to review on localhost but the recap was created through the
279
+ hosted MCP, say so plainly: the local dev server cannot see it. To view a recap
280
+ on localhost (e.g. to exercise un-deployed local renderer changes), they must
281
+ connect a LOCAL Plan MCP (\`http://localhost:<port>/_agent-native/mcp\`) and
282
+ re-create the recap through it so it lands in the local database; offer to do
283
+ that rather than handing over a localhost URL that will not resolve.
284
+
285
+ When running in Codex and the Browser/in-app side browser tools are available,
286
+ open the returned absolute recap URL there automatically after creation. Still
287
+ include the same absolute URL in the final response. Local mirror files like
288
+ \`plans/<slug>/plan.mdx\` may be mentioned only as secondary source-control
289
+ artifacts, not as the main way to open the recap.
290
+
291
+ ## Diff → Block Mapping
292
+
293
+ Map each kind of change to the block that carries it, derived mechanically from
294
+ the actual diff. The names below are the CONCEPTUAL block types, not the JSX
295
+ tags — resolve every conceptual name to its exact tag + prop schema with the
296
+ \`get-plan-blocks\` tool (see "Block reference" below) before authoring.
297
+
298
+ - **Schema / migration change** → \`data-model\` for the resulting entities,
299
+ fields, and relations. Flag what moved per field/entity with
300
+ \`change: "added" | "modified" | "removed" | "renamed"\`, and for a changed type
301
+ set \`was\` to the prior value (e.g. the old column type) — grounded in the real
302
+ migration diff. That diff-aware \`data-model\` is the headline; reach for a split
303
+ \`diff\` of the literal SQL only when the exact statement still matters, not by
304
+ default.
305
+ - **API / action / route change** → \`api-endpoint\` with the method, path,
306
+ params, request, and responses as they are after the change. Flag each changed
307
+ param/response with \`change\` (and \`was\` on a param whose type/shape changed),
308
+ and set \`change\` on the endpoint root for a wholly added or removed route. Mark
309
+ removed endpoints with \`deprecated: true\` and explain in prose.
310
+ Keep multiple API endpoints in the normal single-column document flow unless
311
+ they are an explicit before/after contract comparison.
312
+ Author each request/response example as a SINGLE valid JSON value — one
313
+ top-level object or array, parseable on its own — so it renders in the
314
+ collapsible JSON explorer. Do not put \`//\` or \`/* */\` comments, prose,
315
+ trailing commas, or two or more concatenated top-level objects inside one
316
+ example; a non-parseable body falls back to flat text and loses the explorer.
317
+ When an endpoint has several distinct message shapes (for example separate
318
+ websocket frame types, or a success body versus an error body), give each its
319
+ OWN example with its own label rather than cramming them into one body.
320
+ - **Compatibility-sensitive change** → short \`rich-text\` notes beside the
321
+ relevant \`data-model\` / \`api-endpoint\` block. Name the changed field,
322
+ endpoint, or behavior and mark whether it is breaking, risky, or non-breaking;
323
+ pair that note with a split \`diff\` for the literal lines.
324
+ - **Any meaningful code hunk** → \`diff\` with \`mode: "split"\`, carrying the real
325
+ \`before\` / \`after\` text and the \`filename\` / \`language\`. Split mode is the
326
+ default for recap code review because before/after legibility is the point;
327
+ use \`mode: "unified"\` only for a genuinely narrow standalone hunk where
328
+ side-by-side would hide the code. Give every \`diff\` a one-line \`summary\`
329
+ saying what the hunk changes and why; it renders as a description above the
330
+ code so the reviewer reads intent first. Never leave a diff unlabeled.
331
+ For the KEY changed files, attach \`annotations\` to the \`diff\` so the recap
332
+ calls out what each important hunk does — this is the headline affordance for
333
+ annotating the key files updated. Each annotation anchors to the AFTER-side
334
+ line numbers by default (set \`side: "before"\` to point at removed lines). Keep
335
+ it to a few high-signal notes per file, not one per line.
336
+ When several key files each need a substantial diff, introduce the group with a
337
+ \`rich-text\` heading block whose markdown is \`## Key changes\`, then place the
338
+ \`diff\` blocks under it in a reusable \`tabs\` block with horizontal orientation
339
+ (the default — omit \`orientation\`) so the selected file's split diff gets the
340
+ full document width. Let that heading label the section — do NOT also set a
341
+ \`title\` on the \`tabs\` block. Keep each tab label to the file path or a short
342
+ basename plus directory hint.
343
+ The renderer's wide document layout is intentionally allowlisted: \`diff\`,
344
+ \`annotated-code\`, vertical \`tabs\`, and \`tabs\` containing diff-like children
345
+ break out wider than prose. Do not put API endpoints, OpenAPI specs, data
346
+ models, JSON explorers, wireframes, question forms, or custom HTML into tabs
347
+ merely to make them wide.
348
+ If the recap ends with more than one supporting diff, that trailing diff
349
+ appendix should be one horizontal \`tabs\` block under its own \`## Key changes\`
350
+ heading, not a stack of separate \`diff\` blocks.
351
+ - **Brand-new file or a substantial added block with no meaningful "before"** →
352
+ \`annotated-code\` rather than a one-sided split \`diff\`. Carry the real new code
353
+ with its \`filename\` / \`language\` and anchor a few high-signal notes to the lines
354
+ that matter so the reviewer reads what the new code does, not code for code's
355
+ sake. Keep split \`diff\` for true before/after hunks where the removed lines
356
+ still carry meaning, and group several annotated walkthroughs in a horizontal
357
+ \`tabs\` block the same way diffs are grouped.
358
+ - **Files added / removed / renamed** → \`file-tree\` with each entry's \`change\`
359
+ flag (\`added\`, \`removed\`, \`modified\`, \`renamed\`) and a short \`note\`; attach a
360
+ \`snippet\` only when one tells the reviewer something the path does not.
361
+ - **Rendered UI / interaction change** → one or more wireframes showing the
362
+ visible UI delta before the reviewer reads code. Use \`Before\` / \`After\`
363
+ wireframes when the comparison clarifies the change; otherwise use after-only
364
+ or a short state/flow sequence. Use realistic UI surfaces: for a popover
365
+ change, show a popover with its title row, top-right actions, options/fields,
366
+ tabs, selected/disabled states, people/lists/rows, and any opened prompt/menu
367
+ anchored to the correct trigger. If a route was added, show the route body and
368
+ the unavailable/empty state when the diff implements one. If permissions
369
+ changed, show what managers can do and what viewers/non-managers see instead.
370
+ Keep the body lean: the wireframe carries the UI story, while the file tree
371
+ and \`diff\` blocks carry implementation evidence.
372
+ - **Architecture or data-flow shift** → \`diagram\` with \`data.html\` / \`data.css\`
373
+ as a two-panel before/after, layered, or swimlane layout, or \`mermaid\` for a
374
+ quick graph. Use two-dimensional layouts; do not reduce a structural change to
375
+ a left-to-right chain. Do not use \`diagram\` as a stand-in for rendered UI
376
+ controls; UI changes need \`wireframe\` blocks.
377
+ Author diagram HTML/CSS with the renderer-owned \`.diagram-*\` primitives
378
+ (\`.diagram-panel\`, \`.diagram-node\`, \`.diagram-pill\`, \`[data-rough]\`, …) and
379
+ the same \`--wf-*\` theme tokens \`references/wireframe.md\` defines — never
380
+ \`font-family\`, hex, rgb/hsl literals, or one-off dark/light palettes. Choose
381
+ the outer \`frame\` intentionally: recap diagrams usually benefit from
382
+ \`frame: "show"\` when they stand alone, but use \`frame: "hide"\` when columns,
383
+ tabs, a card, or the diagram's own panels already provide the boundary.
384
+ - **Outcome-first narrative** → \`rich-text\` for the "what changed and why" prose:
385
+ the objective the diff served, the key decisions visible in it, and the risks a
386
+ reviewer should weigh. This is the only place the model writes freely.
387
+
388
+ ## Block reference — call \`get-plan-blocks\`, do not memorize tags
389
+
390
+ The conceptual block names above (\`api-endpoint\`, \`data-model\`, \`json-explorer\`,
391
+ \`tabs\`, …) are NOT the JSX tags you author with, and the exact tags, required
392
+ fields, and prop shapes change as the block library evolves. Do not author from
393
+ memorized tags — they drift and silently produce a wrong tag (\`ApiEndpoint\`
394
+ instead of \`Endpoint\`, \`JsonExplorer\` instead of \`Json\`, \`Tabs\` instead of
395
+ \`TabsBlock\`) that errors on import.
396
+
397
+ **Before writing any structured plan content, fetch/read the block catalog.** In
398
+ hosted or self-hosted mode, call \`get-plan-blocks\` on the Plan MCP connector
399
+ (\`plan\` or legacy \`agent-native-plans\`). If no Plan tools are visible yet in a
400
+ lazy-loading client, search/load them through the host's tool discovery surface
401
+ first (\`tool_search\` when available). In local-files mode, or when the skill was
402
+ installed as plain text and no MCP tools are registered after discovery, run
403
+ \`npx @agent-native/core@latest plan blocks --out plan-blocks.md\` and read that
404
+ file first. The CLI command calls the public no-auth \`get-plan-blocks\` route and
405
+ sends no plan/recap content. If network access is unavailable, use the bundled
406
+ references and validate with \`plan local check\`; run \`plan local serve\` only
407
+ when the hosted Plan UI is reachable or a local Plan app is already running.
408
+
409
+ The catalog returns the authoritative, always-current block vocabulary generated
410
+ live from the app's own block registry — the same config the renderer and MDX
411
+ round-trip use — so it can never be stale even if this SKILL.md is an old
412
+ installed copy:
413
+
414
+ - \`get-plan-blocks\` (default \`format: "reference"\`) → a compact table of every
415
+ block's runtime \`type\`, exact MDX \`<Tag>\`, placement, and key data fields.
416
+ This is your map from each conceptual name above to its real tag and props.
417
+ - \`get-plan-blocks\` with \`format: "schema"\` → the full per-block JSON Schema
418
+ plus a worked example for each block, when you need exact field types,
419
+ enums, or nesting (e.g. \`Diff.annotations\`, \`Endpoint.params[].in\`,
420
+ \`DataModel.entities[].fields[]\`).
421
+
422
+ Author the recap source against the tags and schemas that call returns. The
423
+ complete set of valid block-level tags is whatever \`get-plan-blocks\` lists;
424
+ any other capitalized tag at the block level is rejected on import with an
425
+ "Unknown plan block" / "did you mean" error. Lowercase HTML tags inside
426
+ \`rich-text\`/markdown prose (\`<div>\`, \`<span>\`, \`<code>\`, \`<br>\`, …) are always
427
+ fine — only capitalized component-style block tags are validated.
428
+
429
+ A few recap-specific authoring rules the registry table cannot encode:
430
+
431
+ - Every structured block takes a REQUIRED \`id\` (unique across the whole plan)
432
+ plus the shared optional \`summary\` / \`editable\` envelope. Ordinary top-level
433
+ Markdown prose imports as rich-text automatically; use \`<RichText id="...">\`
434
+ only when prose needs explicit metadata or a preserved referenced block id.
435
+ - Every capitalized block component must be self-closing (\`<Diagram ... />\`) or
436
+ explicitly closed around children (\`<RichText ...>...</RichText>\`). Never
437
+ leave a bare opening tag like \`<RichText ...>\` in a paragraph; MDX treats it
438
+ as unclosed JSX and import fails before the recap can render.
439
+ - Code-bearing blocks (\`Code\`, \`AnnotatedCode\`, and \`Diff\`) are
440
+ whitespace-sensitive. Prefer the exact MDX form from the \`get-plan-blocks\`
441
+ examples / source exporter, where multiline code is encoded as JSON string
442
+ attributes such as \`code={"const x =\\n y"}\`. Static template literals are
443
+ accepted only when they are static strings with no \`\${...}\` interpolation.
444
+ - \`Endpoint\`: prose \`description\` is the MDX **children** (body between the
445
+ tags), not an attribute; for a WebSocket upgrade use \`method="GET"\`. Each
446
+ request/response \`example\` is a JSON **string** (the renderer parses it into
447
+ the JSON explorer), so keep it a single parseable JSON value.
448
+ - \`TabsBlock\`: the whole \`tabs\` array (including nested child blocks) is ONE
449
+ JSON \`tabs={[…]}\` prop — there is NO nested \`<Tab>\` element.
450
+ - \`WireframeBlock\`: its body is a single \`<Screen surface ... html=… />\` subtree
451
+ (nested MDX, not a flat prop); \`html\` must be a single-quoted string or static
452
+ template literal, never a dynamic \`html={someVar}\` expression. See
453
+ \`references/wireframe.md\` for the HTML rules.
454
+ - \`Diagram\`: the whole payload is one \`data={{ html?, css?, nodes?, edges?, … }}\`
455
+ attribute and requires either \`html\` or at least one node; \`Mermaid\` is its
456
+ own separate block (\`source\` text), not a \`Diagram\` prop.
457
+
458
+ ## Before / After Is The Headline
459
+
460
+ The recap's center of gravity is the before/after comparison. For document-body
461
+ comparisons there are two primitives, and they cover the whole need together:
462
+
463
+ - **\`columns\`** — the side-by-side container, for **structured** comparisons.
464
+ Use two columns labeled \`Before\` and \`After\`, each holding a block (commonly a
465
+ \`data-model\`, \`api-endpoint\`, or \`rich-text\`), so the reviewer reads the old
466
+ shape against the new shape in one glance. This is the right primitive for
467
+ "the schema went from X to Y" or "the endpoint contract changed like this."
468
+ Do not use \`columns\` simply to compact or group a list of API endpoints.
469
+ - **\`diff\`** — for **code**. It renders the literal removed and added lines. Use
470
+ it for the actual hunks. Use split mode by default for recap code review;
471
+ reserve \`mode: "unified"\` for genuinely narrow standalone hunks where
472
+ side-by-side would hide the code. Key-file diff groups should use horizontal
473
+ tabs so split diffs get the full document width.
474
+
475
+ For UI diffs, wireframes are the visual comparison primitive. Use before/after
476
+ wireframes when the comparison clarifies the change; use after-only or a state
477
+ sequence when that better matches the change. The visual headline must show
478
+ exact placement, realistic chrome, and adequate padding before any abstract
479
+ explanation. Do not stop at the first visible affordance when the diff adds a
480
+ flow; show the entry point, the opened surface, and the resulting state or page
481
+ so the reviewer can trace the actual user path. \`references/wireframe.md\` owns
482
+ the before/after layout choice —
483
+ the \`columns\` renderer keeps narrow surfaces side by side and auto-stacks wide
484
+ \`desktop\`/\`browser\` frames vertically; never hand-build a side-by-side
485
+ wireframe layout in \`custom-html\`. For document-body
486
+ comparisons, there is no other multi-column primitive — \`columns\` plus the
487
+ \`diff\` block are the whole comparison vocabulary. Do not hand-build side-by-side
488
+ layouts in \`custom-html\`, and do not stack two \`data-model\` blocks vertically
489
+ and call it a comparison when \`columns\` exists to put them side by side.
490
+
491
+ ## Grounding Rule
492
+
493
+ Structured blocks are **true by construction** only if they are derived from the
494
+ actual changed lines. The \`diff\`, \`data-model\`, \`api-endpoint\`, and \`file-tree\`
495
+ blocks MUST be built mechanically from the real diff — real paths, real fields,
496
+ real method/path, real before/after text — never inferred, rounded, or invented.
497
+ The model writes only the prose: the "why", the narrative, the risk read. A
498
+ confidently wrong recap is dangerous in a review context, because a reviewer who
499
+ trusts the summary may skip the very line the summary got wrong. When the diff
500
+ does not contain a fact, leave it out rather than guess; mark anything the model
501
+ inferred (not extracted) as inferred in prose.
502
+
503
+ ## Security
504
+
505
+ - **Gate visibility.** Recaps of a private repo are org/login-gated — set the
506
+ plan's visibility to the owning org or login, never auto-public. A recap can
507
+ expose unreleased schema, internal endpoints, and architecture; treat it like
508
+ the source it summarizes. Any PR comment or handoff that links to the recap
509
+ must say that private-repo recaps require signing in with access to the owning
510
+ org if the link does not load.
511
+ - **Never transcribe secrets.** A diff can contain API keys, tokens, webhook
512
+ URLs, signing secrets, \`.env\` values, or credential-looking literals. Do not
513
+ copy any of these into a \`diff\`, \`file-tree\` snippet, \`api-endpoint\`, or prose
514
+ block — redact them (\`sk-•••\`, \`<redacted>\`). This mirrors the repo's
515
+ hardcoded-secret rule: obviously fake placeholders only, never the real value,
516
+ in any block, caption, or note.
517
+
518
+ ## Bidirectional Loop
519
+
520
+ In hosted mode, because a recap is a real, editable plan, the same review loop
521
+ as forward plans applies: a reviewer can annotate any block, and the coding
522
+ agent reads \`get-plan-feedback\` to drive fixes back into the code — annotation →
523
+ agent → diff, the same close-the-loop flow forward plans use. After a reviewer
524
+ annotates a block, call \`get-plan-feedback\` to read the structured feedback,
525
+ then either update the recap with \`create-visual-recap\` (passing the existing
526
+ \`planId\` to replace it in place) or apply targeted changes with
527
+ \`update-visual-plan\`. The loop is live and wired. In local-files privacy mode,
528
+ do not call those hosted tools; read review notes from chat or local files, edit
529
+ \`<plan-dir>/*.mdx\` directly, and rerun \`plan local check\`, \`serve\`, or \`verify\`
530
+ for \`<plan-dir>\`. The one thing not yet automatic is PR-comment-triggered
531
+ re-runs: the GitHub Action creates an initial recap per PR, but it does not yet
532
+ re-run automatically when new review feedback is posted in GitHub — that
533
+ auto-re-run is the remaining fast-follow.
534
+
535
+ ## Related Skills
536
+
537
+ - **visual-plan** — the canonical command and the source of the shared Wireframe
538
+ & Canvas and Document Quality cores; a recap follows the same block discipline
539
+ in reverse.
540
+ - **comment anchors** — recap comments use the same anchor rules as forward
541
+ plans; see "Interpreting comment anchors" in the visual-plan skill for
542
+ coordinate frames, wireframe node ids, text-quote resolution, detached
543
+ threads, routing via \`resolutionTarget\`, and two-axis consumed/resolved state.
544
+ - **security** — data scoping, secret handling, and the hardcoded-secret rule the
545
+ recap's redaction and visibility gating mirror.
546
+ - **sharing** — org/login-gated visibility for the plan that holds the recap.
547
+ `;
@@ -0,0 +1,93 @@
1
+ export const VISUALIZE_REPO_SKILL_MD = `---
2
+ name: visualize-repo
3
+ description: >-
4
+ Open or create a repo-native visual documentation workspace backed by local
5
+ Plan MDX files. Use when the user asks to visualize a repository, create
6
+ durable visual docs for APIs/components/models/flows, launch a visual repo
7
+ viewer, review repo docs like a visual IDE, or collect Plan comments that
8
+ should become coding-agent changes.
9
+ metadata:
10
+ visibility: exported
11
+ ---
12
+
13
+ # Visualize Repo
14
+
15
+ \`/visualize-repo\` opens a local, source-controlled visual documentation layer
16
+ for a repository. It is for durable repo understanding, not a one-off plan:
17
+ components can have wireframes, APIs can have specs, models can have schema
18
+ views, and reviewers can comment on those docs before sending work to a coding
19
+ agent.
20
+
21
+ ## Default Command
22
+
23
+ Run the Agent-Native CLI from the repo root:
24
+
25
+ \`\`\`bash
26
+ npx @agent-native/core@latest visualize-repo --open
27
+ \`\`\`
28
+
29
+ Useful variants:
30
+
31
+ \`\`\`bash
32
+ npx @agent-native/core@latest visualize-repo init
33
+ npx @agent-native/core@latest visualize-repo --target actions --target server/db/schema.ts
34
+ npx @agent-native/core@latest visualize-repo check
35
+ npx @agent-native/core@latest visualize-repo verify
36
+ npx @agent-native/core@latest visualize-repo --no-open
37
+ \`\`\`
38
+
39
+ The command writes or updates \`agent-native.json\` with an
40
+ \`apps.visualize-repo\` local-files section, creates a starter MDX folder at
41
+ \`.agent-native/visual-docs/repo-overview\`, then serves it through the Plan
42
+ local bridge. The hosted Plan UI can render the review surface, but the plan
43
+ source stays in local files and bridge comments stay in \`comments.json\`.
44
+
45
+ ## When There Is No Manifest
46
+
47
+ If \`agent-native.json\` does not exist, let the CLI bootstrap one. It scans for
48
+ high-value starting points such as \`actions/\`, \`app/components/\`,
49
+ \`app/pages/\`, \`server/db/schema.ts\`, \`src/\`, \`packages/\`, \`templates/\`,
50
+ \`docs/\`, and \`content/\`. Keep the first run targeted. Prefer 5-20 visualized
51
+ nodes over a generated wall of repo prose.
52
+
53
+ Use explicit targets when the user already knows the important surface:
54
+
55
+ \`\`\`bash
56
+ npx @agent-native/core@latest visualize-repo \\
57
+ --target actions/webhooks.ts \\
58
+ --target server/db/schema.ts \\
59
+ --target app/components/PromptComposer.tsx
60
+ \`\`\`
61
+
62
+ ## Agent Workflow
63
+
64
+ 1. Inspect \`agent-native.json\` and the generated \`plan.mdx\`.
65
+ 2. Read the source anchors listed for each target before changing the visual
66
+ docs.
67
+ 3. Add only the visual blocks that earn their keep: \`api-endpoint\` for stable
68
+ APIs, \`data-model\` for durable schema, \`wireframe\` for user-facing
69
+ components/flows, \`diagram\` for architecture, and \`annotated-code\` for
70
+ load-bearing implementation.
71
+ 4. Run \`npx @agent-native/core@latest visualize-repo check\` after editing MDX.
72
+ 5. Use \`verify\` before handoff when renderer correctness matters.
73
+
74
+ When acting on comments, treat local \`comments.json\` as the feedback inbox.
75
+ Agent-targeted comments should become code changes plus matching MDX updates so
76
+ the visual docs and executable code stay in sync.
77
+
78
+ ## Privacy Boundary
79
+
80
+ \`visualize-repo check\` is local/offline lint. \`visualize-repo --open\` starts a
81
+ localhost bridge and opens the Plan UI against local files; it does not publish
82
+ the plan to hosted storage and performs no hosted Plan database writes.
83
+ \`visualize-repo verify\` may send the MDX folder to the Plan app's public
84
+ validation action so the real renderer schema can check it. For no hosted
85
+ content egress, pass \`--app-url\` pointing at a local Plan app or skip
86
+ \`verify\` and rely on \`check\`.
87
+
88
+ Do not call hosted Plan write tools for this workflow unless the user explicitly
89
+ asks to publish or share the docs. Avoid \`create-visual-plan\`,
90
+ \`update-visual-plan\`, \`import-visual-plan-source\`, \`patch-visual-plan-source\`,
91
+ and \`get-plan-feedback\` for local repo docs; edit the MDX files directly and
92
+ use the local bridge.
93
+ `;