@agent-native/core 0.79.27 → 0.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +26 -0
  3. package/corpus/core/docs/content/locales/ar-SA/template-design.mdx +41 -0
  4. package/corpus/core/docs/content/locales/de-DE/template-design.mdx +51 -0
  5. package/corpus/core/docs/content/locales/es-ES/template-design.mdx +50 -0
  6. package/corpus/core/docs/content/locales/fr-FR/template-design.mdx +49 -0
  7. package/corpus/core/docs/content/locales/hi-IN/template-design.mdx +44 -0
  8. package/corpus/core/docs/content/locales/ja-JP/template-design.mdx +46 -0
  9. package/corpus/core/docs/content/locales/ko-KR/template-design.mdx +44 -0
  10. package/corpus/core/docs/content/locales/pt-BR/template-design.mdx +48 -0
  11. package/corpus/core/docs/content/locales/zh-CN/template-design.mdx +36 -0
  12. package/corpus/core/docs/content/locales/zh-TW/template-design.mdx +38 -0
  13. package/corpus/core/docs/content/template-design.mdx +45 -0
  14. package/corpus/core/package.json +2 -1
  15. package/corpus/core/src/agent/engine/index.ts +1 -0
  16. package/corpus/core/src/agent/engine/registry.ts +40 -0
  17. package/corpus/core/src/agent/production-agent.ts +6 -2
  18. package/corpus/core/src/cli/design-connect.ts +490 -0
  19. package/corpus/core/src/cli/index.ts +16 -0
  20. package/corpus/core/src/cli/skills.ts +126 -3
  21. package/corpus/core/src/client/AssistantChat.tsx +43 -7
  22. package/corpus/core/src/client/agent-chat.ts +27 -3
  23. package/corpus/core/src/client/blocks/library/MermaidBlock.tsx +1 -1
  24. package/corpus/core/src/client/blocks/library/diagram.tsx +2 -2
  25. package/corpus/core/src/client/blocks/library/wireframe.tsx +1 -1
  26. package/corpus/core/src/client/chat/message-components.tsx +1 -1
  27. package/corpus/core/src/client/chat-model-groups.ts +1 -2
  28. package/corpus/core/src/client/components/LiveCursorOverlay.tsx +33 -66
  29. package/corpus/core/src/client/composer/TiptapComposer.tsx +99 -24
  30. package/corpus/core/src/client/composer/useVoiceDictation.ts +429 -260
  31. package/corpus/core/src/client/frame-protocol.ts +17 -2
  32. package/corpus/core/src/client/rich-markdown-editor/RegistryBlockNode.tsx +2 -2
  33. package/corpus/core/src/client/sharing/ShareButton.tsx +20 -15
  34. package/corpus/core/src/client/use-agent-engine-configured.ts +80 -28
  35. package/corpus/core/src/server/transcribe-voice.ts +57 -22
  36. package/corpus/core/src/shared/mcp-embed-headers.ts +23 -1
  37. package/corpus/core/src/styles/agent-native.css +56 -7
  38. package/corpus/core/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +10 -0
  39. package/corpus/core/src/vite/client.ts +2 -0
  40. package/corpus/core/src/voice/index.ts +18 -0
  41. package/corpus/core/src/voice/voice-cleanup-prompt.ts +38 -0
  42. package/corpus/core/src/voice/voice-context.ts +217 -0
  43. package/corpus/core/src/voice/voice-replacements.ts +75 -0
  44. package/corpus/templates/analytics/AGENTS.md +4 -3
  45. package/corpus/templates/analytics/actions/list-session-recordings.ts +6 -1
  46. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +557 -400
  47. package/corpus/templates/analytics/app/global.css +0 -4
  48. package/corpus/templates/analytics/app/i18n/zh-TW.ts +2 -0
  49. package/corpus/templates/analytics/app/i18n-data.ts +20 -0
  50. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +33 -8
  51. package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +7 -0
  52. package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +7 -0
  53. package/corpus/templates/analytics/changelog/2026-06-28-ask-tab-now-matches-the-darker-app-background.md +6 -0
  54. package/corpus/templates/analytics/changelog/2026-06-28-dashboard-email-reports-now-use-cleaner-light-mode-snapshots.md +6 -0
  55. package/corpus/templates/analytics/changelog/2026-06-28-left-sidebar-collapses-into-an-animated-icon-rail.md +6 -0
  56. package/corpus/templates/analytics/changelog/2026-06-28-sessions-now-show-only-signed-in-recordings-with-playable-re.md +6 -0
  57. package/corpus/templates/analytics/seeds/dashboards/agent-native-templates-first-party.json +3 -3
  58. package/corpus/templates/analytics/server/lib/dashboard-report.ts +29 -7
  59. package/corpus/templates/analytics/server/lib/first-party-metric-catalog.ts +5 -2
  60. package/corpus/templates/analytics/server/lib/session-replay.ts +24 -4
  61. package/corpus/templates/assets/app/components/layout/Sidebar.tsx +4 -4
  62. package/corpus/templates/assets/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
  63. package/corpus/templates/brain/app/components/layout/Layout.tsx +29 -2
  64. package/corpus/templates/brain/app/components/layout/Sidebar.tsx +131 -42
  65. package/corpus/templates/brain/app/i18n/zh-TW.ts +2 -0
  66. package/corpus/templates/brain/app/i18n-data.ts +20 -0
  67. package/corpus/templates/brain/changelog/2026-06-28-left-sidebar-collapses-into-an-animated-icon-rail.md +6 -0
  68. package/corpus/templates/calendar/app/components/layout/AppLayout.tsx +29 -1
  69. package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +417 -299
  70. package/corpus/templates/calendar/app/i18n/zh-TW.ts +2 -0
  71. package/corpus/templates/calendar/app/i18n-data.ts +20 -0
  72. package/corpus/templates/calendar/changelog/2026-06-28-left-sidebar-collapses-into-an-animated-icon-rail.md +6 -0
  73. package/corpus/templates/chat/app/components/layout/Sidebar.tsx +6 -19
  74. package/corpus/templates/chat/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
  75. package/corpus/templates/clips/AGENTS.md +4 -0
  76. package/corpus/templates/clips/actions/cleanup-transcript.ts +39 -9
  77. package/corpus/templates/clips/actions/finalize-meeting.ts +81 -12
  78. package/corpus/templates/clips/actions/lib/agents-md-context.ts +4 -1
  79. package/corpus/templates/clips/app/components/library/library-layout.tsx +3 -3
  80. package/corpus/templates/clips/app/components/meetings/share-meeting-dialog.tsx +1 -1
  81. package/corpus/templates/clips/app/components/player/share-dialog.tsx +2 -2
  82. package/corpus/templates/clips/changelog/2026-06-28-left-sidebar-footer-controls-use-less-divider-chrome.md +6 -0
  83. package/corpus/templates/clips/desktop/src/lib/personal-vocabulary.ts +13 -8
  84. package/corpus/templates/clips/desktop/src/lib/voice-dictation.ts +60 -1
  85. package/corpus/templates/content/app/components/editor/DocumentDatabase.tsx +1 -1
  86. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +1 -1
  87. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +5 -5
  88. package/corpus/templates/content/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
  89. package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +137 -0
  90. package/corpus/templates/design/AGENTS.md +95 -5
  91. package/corpus/templates/design/DESIGN.md +82 -0
  92. package/corpus/templates/design/DEVELOPING.md +43 -0
  93. package/corpus/templates/design/actions/add-localhost-screens.ts +426 -0
  94. package/corpus/templates/design/actions/apply-shader.ts +277 -0
  95. package/corpus/templates/design/actions/apply-visual-edit.ts +303 -0
  96. package/corpus/templates/design/actions/connect-localhost.ts +183 -0
  97. package/corpus/templates/design/actions/edit-design.ts +195 -42
  98. package/corpus/templates/design/actions/generate-design.ts +71 -1
  99. package/corpus/templates/design/actions/generate-screens.ts +193 -0
  100. package/corpus/templates/design/actions/get-code-layer-projection.ts +191 -0
  101. package/corpus/templates/design/actions/get-shader.ts +119 -0
  102. package/corpus/templates/design/actions/list-localhost-connections.ts +95 -0
  103. package/corpus/templates/design/actions/navigate.ts +55 -2
  104. package/corpus/templates/design/actions/view-screen.ts +68 -1
  105. package/corpus/templates/design/agent-native.app-skill.json +10 -0
  106. package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +761 -0
  107. package/corpus/templates/design/app/components/design/DesignCanvas.tsx +2057 -103
  108. package/corpus/templates/design/app/components/design/DesignEditorSkeleton.tsx +74 -38
  109. package/corpus/templates/design/app/components/design/DesignExtensionsPanel.tsx +399 -0
  110. package/corpus/templates/design/app/components/design/EditPanel.tsx +3185 -439
  111. package/corpus/templates/design/app/components/design/LayersPanel.tsx +1124 -0
  112. package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +3116 -147
  113. package/corpus/templates/design/app/components/design/QuestionFlow.tsx +700 -13
  114. package/corpus/templates/design/app/components/design/TweaksPanel.tsx +107 -63
  115. package/corpus/templates/design/app/components/design/index.ts +0 -5
  116. package/corpus/templates/design/app/components/design/inspector/AlignmentMatrix.tsx +286 -0
  117. package/corpus/templates/design/app/components/design/inspector/AutoLayoutMatrix.tsx +699 -0
  118. package/corpus/templates/design/app/components/design/inspector/ConstraintsWidget.tsx +461 -0
  119. package/corpus/templates/design/app/components/design/inspector/ExportSettingsPanel.tsx +166 -0
  120. package/corpus/templates/design/app/components/design/inspector/FigmaColorPicker.tsx +1420 -0
  121. package/corpus/templates/design/app/components/design/inspector/SHADER_INTEGRATION.md +420 -0
  122. package/corpus/templates/design/app/components/design/inspector/ScrubInput.tsx +215 -0
  123. package/corpus/templates/design/app/components/design/inspector/ShaderControls.stories.tsx +71 -0
  124. package/corpus/templates/design/app/components/design/inspector/ShaderControls.tsx +518 -0
  125. package/corpus/templates/design/app/components/design/inspector/ShaderEffectRow.tsx +106 -0
  126. package/corpus/templates/design/app/components/design/inspector/figma-icons.tsx +361 -0
  127. package/corpus/templates/design/app/components/design/inspector/index.ts +60 -0
  128. package/corpus/templates/design/app/components/design/inspector/scrub-input-utils.ts +201 -0
  129. package/corpus/templates/design/app/components/design/types.ts +23 -0
  130. package/corpus/templates/design/app/components/layout/Layout.tsx +24 -13
  131. package/corpus/templates/design/app/components/layout/Sidebar.tsx +4 -4
  132. package/corpus/templates/design/app/components/visual-editor/CanvasCommentPins.tsx +474 -36
  133. package/corpus/templates/design/app/components/visual-editor/DrawOverlay.tsx +22 -5
  134. package/corpus/templates/design/app/components/visual-editor/SaveStatusIndicator.tsx +24 -11
  135. package/corpus/templates/design/app/global.css +121 -3
  136. package/corpus/templates/design/app/hooks/use-agent-generating.ts +4 -0
  137. package/corpus/templates/design/app/hooks/use-navigation-state.ts +130 -8
  138. package/corpus/templates/design/app/hooks/useDesignHotkeys.ts +329 -0
  139. package/corpus/templates/design/app/i18n/zh-TW.ts +264 -0
  140. package/corpus/templates/design/app/i18n-data.ts +2790 -1
  141. package/corpus/templates/design/app/pages/DesignEditor.tsx +5108 -851
  142. package/corpus/templates/design/changelog/2026-06-28-annotate-mode-now-combines-drawing-and-comment-pins-in-one-c.md +6 -0
  143. package/corpus/templates/design/changelog/2026-06-28-design-editor-panel-borders-are-cleaner-so-the-canvas-edge-s.md +6 -0
  144. package/corpus/templates/design/changelog/2026-06-28-drawing-prompts-now-reliably-open-and-submit-to-the-design-a.md +6 -0
  145. package/corpus/templates/design/changelog/2026-06-28-editor-app-menus-now-use-an-outline-agent-native-mark-with-b.md +6 -0
  146. package/corpus/templates/design/changelog/2026-06-28-figma-style-code-design-mode.md +6 -0
  147. package/corpus/templates/design/changelog/2026-06-28-layer-selection-now-updates-chat-context-without-opening-the.md +6 -0
  148. package/corpus/templates/design/changelog/2026-06-28-layer-selections-now-preserve-hidden-and-locked-canvas-state.md +6 -0
  149. package/corpus/templates/design/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
  150. package/corpus/templates/design/changelog/2026-06-28-live-cursors-now-keep-names-beside-a-cleaner-pointer-marker.md +6 -0
  151. package/corpus/templates/design/changelog/2026-06-28-mode-switching-now-lives-in-a-compact-bottom-right-icon-dock.md +6 -0
  152. package/corpus/templates/design/changelog/2026-06-28-screen-overview-now-handles-zooming-drawing-opening-and-dele.md +6 -0
  153. package/corpus/templates/design/changelog/2026-06-28-screen-overview-now-selects-screens-on-click-and-opens-them-.md +6 -0
  154. package/corpus/templates/design/changelog/2026-06-28-screen-overview-zooms-into-the-active-screen-with-smoother-e.md +6 -0
  155. package/corpus/templates/design/changelog/2026-06-28-selected-element-chips-in-chat-are-shorter-and-easier-to-sca.md +6 -0
  156. package/corpus/templates/design/changelog/2026-06-28-the-design-editor-toolbar-is-more-compact-and-the-app-menu-m.md +6 -0
  157. package/corpus/templates/design/changelog/2026-06-28-tweaks-now-live-at-the-top-of-the-design-sidebar-instead-of-.md +6 -0
  158. package/corpus/templates/design/changelog/2026-06-28-tweaks-now-live-in-the-right-inspector-beside-the-design-tab.md +6 -0
  159. package/corpus/templates/design/changelog/2026-06-29-active-sidebar-rows-use-soft-highlights.md +6 -0
  160. package/corpus/templates/design/changelog/2026-06-29-agents-can-now-open-screen-overview-focus-screens-and-add.md +6 -0
  161. package/corpus/templates/design/changelog/2026-06-29-design-agents-now-edit-broad-copy-changes-more-reliably.md +6 -0
  162. package/corpus/templates/design/changelog/2026-06-29-design-editor-extensions-now-run-inline-beside-the-artboard.md +6 -0
  163. package/corpus/templates/design/changelog/2026-06-29-sidebars-use-darker-chrome-and-chat-warns-immediately.md +6 -0
  164. package/corpus/templates/design/changelog/2026-06-29-visual-edit-can-open-localhost-routes-as-url-backed-screens.md +6 -0
  165. package/corpus/templates/design/package.json +1 -0
  166. package/corpus/templates/design/server/db/schema.ts +26 -0
  167. package/corpus/templates/design/server/lib/design-snapshot.ts +1 -1
  168. package/corpus/templates/design/server/plugins/agent-chat.ts +3 -0
  169. package/corpus/templates/design/shared/api.ts +27 -0
  170. package/corpus/templates/design/shared/canvas-frames.ts +103 -0
  171. package/corpus/templates/design/shared/canvas-math.ts +1058 -0
  172. package/corpus/templates/design/shared/code-layer.ts +2212 -0
  173. package/corpus/templates/design/shared/color-utils.ts +180 -0
  174. package/corpus/templates/design/shared/generation-session.ts +61 -0
  175. package/corpus/templates/design/shared/shader-presets.ts +782 -0
  176. package/corpus/templates/design/shared/shader-safety.ts +137 -0
  177. package/corpus/templates/design/shared/source-mode.ts +237 -0
  178. package/corpus/templates/forms/app/components/layout/Sidebar.tsx +149 -6
  179. package/corpus/templates/forms/app/i18n/ar-SA.ts +2 -0
  180. package/corpus/templates/forms/app/i18n/de-DE.ts +2 -0
  181. package/corpus/templates/forms/app/i18n/en-US.ts +2 -0
  182. package/corpus/templates/forms/app/i18n/es-ES.ts +2 -0
  183. package/corpus/templates/forms/app/i18n/fr-FR.ts +2 -0
  184. package/corpus/templates/forms/app/i18n/hi-IN.ts +2 -0
  185. package/corpus/templates/forms/app/i18n/ja-JP.ts +2 -0
  186. package/corpus/templates/forms/app/i18n/ko-KR.ts +2 -0
  187. package/corpus/templates/forms/app/i18n/pt-BR.ts +2 -0
  188. package/corpus/templates/forms/app/i18n/zh-CN.ts +2 -0
  189. package/corpus/templates/forms/app/i18n/zh-TW.ts +2 -0
  190. package/corpus/templates/forms/changelog/2026-06-28-left-sidebar-collapses-into-an-animated-icon-rail.md +6 -0
  191. package/corpus/templates/macros/app/components/layout/AppLayout.tsx +2 -2
  192. package/corpus/templates/macros/changelog/2026-06-28-left-sidebar-footer-controls-use-less-divider-chrome.md +6 -0
  193. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +408 -247
  194. package/corpus/templates/mail/app/i18n/ar-SA.ts +4 -0
  195. package/corpus/templates/mail/app/i18n/de-DE.ts +4 -0
  196. package/corpus/templates/mail/app/i18n/en-US.ts +4 -0
  197. package/corpus/templates/mail/app/i18n/es-ES.ts +4 -0
  198. package/corpus/templates/mail/app/i18n/fr-FR.ts +4 -0
  199. package/corpus/templates/mail/app/i18n/hi-IN.ts +4 -0
  200. package/corpus/templates/mail/app/i18n/ja-JP.ts +4 -0
  201. package/corpus/templates/mail/app/i18n/ko-KR.ts +4 -0
  202. package/corpus/templates/mail/app/i18n/pt-BR.ts +4 -0
  203. package/corpus/templates/mail/app/i18n/zh-CN.ts +4 -0
  204. package/corpus/templates/mail/app/i18n/zh-TW.ts +4 -0
  205. package/corpus/templates/mail/changelog/2026-06-28-pinned-sidebar-collapses-into-an-animated-icon-rail.md +6 -0
  206. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +6 -8
  207. package/corpus/templates/plan/app/components/plan/wireframe/Wireframe.tsx +1 -1
  208. package/corpus/templates/plan/app/global.css +61 -78
  209. package/corpus/templates/plan/app/pages/PlansPage.tsx +8 -0
  210. package/corpus/templates/plan/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
  211. package/corpus/templates/plan/changelog/2026-06-28-plans-use-the-shared-neutral-light-and-dark-theme.md +6 -0
  212. package/corpus/templates/plan/changelog/2026-06-28-sending-open-feedback-from-a-plan-now-opens-the-inline-plan-.md +6 -0
  213. package/corpus/templates/slides/app/components/layout/Sidebar.tsx +5 -5
  214. package/corpus/templates/slides/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
  215. package/corpus/templates/videos/app/components/Sidebar.tsx +2 -2
  216. package/corpus/templates/videos/app/components/layout/Layout.tsx +29 -2
  217. package/corpus/templates/videos/app/components/layout/NavSidebar.tsx +113 -30
  218. package/corpus/templates/videos/app/i18n/ar-SA.ts +2 -0
  219. package/corpus/templates/videos/app/i18n/de-DE.ts +2 -0
  220. package/corpus/templates/videos/app/i18n/en-US.ts +2 -0
  221. package/corpus/templates/videos/app/i18n/es-ES.ts +2 -0
  222. package/corpus/templates/videos/app/i18n/fr-FR.ts +2 -0
  223. package/corpus/templates/videos/app/i18n/hi-IN.ts +2 -0
  224. package/corpus/templates/videos/app/i18n/ja-JP.ts +2 -0
  225. package/corpus/templates/videos/app/i18n/ko-KR.ts +2 -0
  226. package/corpus/templates/videos/app/i18n/pt-BR.ts +2 -0
  227. package/corpus/templates/videos/app/i18n/zh-CN.ts +2 -0
  228. package/corpus/templates/videos/app/i18n/zh-TW.ts +2 -0
  229. package/corpus/templates/videos/changelog/2026-06-28-left-sidebar-collapses-into-an-animated-icon-rail.md +6 -0
  230. package/dist/agent/engine/index.d.ts +1 -1
  231. package/dist/agent/engine/index.d.ts.map +1 -1
  232. package/dist/agent/engine/index.js +1 -1
  233. package/dist/agent/engine/index.js.map +1 -1
  234. package/dist/agent/engine/registry.d.ts +9 -0
  235. package/dist/agent/engine/registry.d.ts.map +1 -1
  236. package/dist/agent/engine/registry.js +37 -0
  237. package/dist/agent/engine/registry.js.map +1 -1
  238. package/dist/agent/production-agent.d.ts.map +1 -1
  239. package/dist/agent/production-agent.js +4 -3
  240. package/dist/agent/production-agent.js.map +1 -1
  241. package/dist/cli/design-connect.d.ts +52 -0
  242. package/dist/cli/design-connect.d.ts.map +1 -0
  243. package/dist/cli/design-connect.js +409 -0
  244. package/dist/cli/design-connect.js.map +1 -0
  245. package/dist/cli/index.js +15 -0
  246. package/dist/cli/index.js.map +1 -1
  247. package/dist/cli/skills.d.ts +3 -0
  248. package/dist/cli/skills.d.ts.map +1 -1
  249. package/dist/cli/skills.js +121 -3
  250. package/dist/cli/skills.js.map +1 -1
  251. package/dist/client/AssistantChat.d.ts.map +1 -1
  252. package/dist/client/AssistantChat.js +38 -8
  253. package/dist/client/AssistantChat.js.map +1 -1
  254. package/dist/client/agent-chat.d.ts +6 -0
  255. package/dist/client/agent-chat.d.ts.map +1 -1
  256. package/dist/client/agent-chat.js +17 -3
  257. package/dist/client/agent-chat.js.map +1 -1
  258. package/dist/client/blocks/library/MermaidBlock.js +1 -1
  259. package/dist/client/blocks/library/MermaidBlock.js.map +1 -1
  260. package/dist/client/blocks/library/diagram.js +1 -1
  261. package/dist/client/blocks/library/diagram.js.map +1 -1
  262. package/dist/client/blocks/library/wireframe.js +1 -1
  263. package/dist/client/blocks/library/wireframe.js.map +1 -1
  264. package/dist/client/chat/message-components.js +1 -1
  265. package/dist/client/chat/message-components.js.map +1 -1
  266. package/dist/client/chat-model-groups.d.ts.map +1 -1
  267. package/dist/client/chat-model-groups.js +1 -2
  268. package/dist/client/chat-model-groups.js.map +1 -1
  269. package/dist/client/components/LiveCursorOverlay.d.ts +1 -2
  270. package/dist/client/components/LiveCursorOverlay.d.ts.map +1 -1
  271. package/dist/client/components/LiveCursorOverlay.js +19 -40
  272. package/dist/client/components/LiveCursorOverlay.js.map +1 -1
  273. package/dist/client/composer/TiptapComposer.d.ts +3 -1
  274. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  275. package/dist/client/composer/TiptapComposer.js +86 -24
  276. package/dist/client/composer/TiptapComposer.js.map +1 -1
  277. package/dist/client/composer/useVoiceDictation.d.ts +9 -0
  278. package/dist/client/composer/useVoiceDictation.d.ts.map +1 -1
  279. package/dist/client/composer/useVoiceDictation.js +154 -32
  280. package/dist/client/composer/useVoiceDictation.js.map +1 -1
  281. package/dist/client/frame-protocol.d.ts +17 -2
  282. package/dist/client/frame-protocol.d.ts.map +1 -1
  283. package/dist/client/frame-protocol.js.map +1 -1
  284. package/dist/client/rich-markdown-editor/RegistryBlockNode.js +2 -2
  285. package/dist/client/rich-markdown-editor/RegistryBlockNode.js.map +1 -1
  286. package/dist/client/sharing/ShareButton.d.ts +2 -0
  287. package/dist/client/sharing/ShareButton.d.ts.map +1 -1
  288. package/dist/client/sharing/ShareButton.js +7 -6
  289. package/dist/client/sharing/ShareButton.js.map +1 -1
  290. package/dist/client/use-agent-engine-configured.d.ts +5 -0
  291. package/dist/client/use-agent-engine-configured.d.ts.map +1 -1
  292. package/dist/client/use-agent-engine-configured.js +51 -25
  293. package/dist/client/use-agent-engine-configured.js.map +1 -1
  294. package/dist/collab/awareness.d.ts +2 -2
  295. package/dist/collab/awareness.d.ts.map +1 -1
  296. package/dist/collab/routes.d.ts +1 -1
  297. package/dist/file-upload/actions/upload-image.d.ts +2 -2
  298. package/dist/notifications/routes.d.ts +3 -3
  299. package/dist/observability/routes.d.ts +8 -8
  300. package/dist/progress/routes.d.ts +1 -1
  301. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  302. package/dist/server/transcribe-voice.d.ts.map +1 -1
  303. package/dist/server/transcribe-voice.js +40 -24
  304. package/dist/server/transcribe-voice.js.map +1 -1
  305. package/dist/shared/mcp-embed-headers.d.ts +1 -0
  306. package/dist/shared/mcp-embed-headers.d.ts.map +1 -1
  307. package/dist/shared/mcp-embed-headers.js +20 -1
  308. package/dist/shared/mcp-embed-headers.js.map +1 -1
  309. package/dist/styles/agent-native.css +56 -7
  310. package/dist/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +10 -0
  311. package/dist/vite/client.d.ts.map +1 -1
  312. package/dist/vite/client.js +2 -0
  313. package/dist/vite/client.js.map +1 -1
  314. package/dist/voice/index.d.ts +5 -0
  315. package/dist/voice/index.d.ts.map +1 -0
  316. package/dist/voice/index.js +4 -0
  317. package/dist/voice/index.js.map +1 -0
  318. package/dist/voice/voice-cleanup-prompt.d.ts +6 -0
  319. package/dist/voice/voice-cleanup-prompt.d.ts.map +1 -0
  320. package/dist/voice/voice-cleanup-prompt.js +26 -0
  321. package/dist/voice/voice-cleanup-prompt.js.map +1 -0
  322. package/dist/voice/voice-context.d.ts +25 -0
  323. package/dist/voice/voice-context.d.ts.map +1 -0
  324. package/dist/voice/voice-context.js +156 -0
  325. package/dist/voice/voice-context.js.map +1 -0
  326. package/dist/voice/voice-replacements.d.ts +4 -0
  327. package/dist/voice/voice-replacements.d.ts.map +1 -0
  328. package/dist/voice/voice-replacements.js +52 -0
  329. package/dist/voice/voice-replacements.js.map +1 -0
  330. package/docs/content/locales/ar-SA/template-design.mdx +41 -0
  331. package/docs/content/locales/de-DE/template-design.mdx +51 -0
  332. package/docs/content/locales/es-ES/template-design.mdx +50 -0
  333. package/docs/content/locales/fr-FR/template-design.mdx +49 -0
  334. package/docs/content/locales/hi-IN/template-design.mdx +44 -0
  335. package/docs/content/locales/ja-JP/template-design.mdx +46 -0
  336. package/docs/content/locales/ko-KR/template-design.mdx +44 -0
  337. package/docs/content/locales/pt-BR/template-design.mdx +48 -0
  338. package/docs/content/locales/zh-CN/template-design.mdx +36 -0
  339. package/docs/content/locales/zh-TW/template-design.mdx +38 -0
  340. package/docs/content/template-design.mdx +45 -0
  341. package/package.json +2 -1
  342. package/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +10 -0
  343. package/corpus/templates/design/app/components/design/DesignToolbar.tsx +0 -339
  344. package/corpus/templates/design/app/components/design/PresentMode.tsx +0 -68
  345. package/corpus/templates/design/app/components/design/ViewportTabs.tsx +0 -149
  346. package/corpus/templates/design/app/components/design/ZoomControls.tsx +0 -157
@@ -348,6 +348,50 @@ UI में रूट `templates/design/app/routes/` के अंतर्ग
348
348
 
349
349
  क्योंकि एक डिज़ाइन केवल स्टैंडअलोन HTML/JSX फ़ाइलें है, एजेंट उसी स्रोत को संपादित करता है जो iframe प्रस्तुत करता है और प्रत्येक निर्यात आता है - अनुवाद करने के लिए कोई अलग "AI मॉकअप" प्रारूप नहीं है। एक लिंक्ड डिज़ाइन सिस्टम टोकन की आपूर्ति करता है और एजेंट हर जेनरेशन पास पर `custom_instructions` का सम्मान करता है। पूर्वावलोकन में टेक्स्ट या एक क्षेत्र का चयन करें और एजेंट को ठीक उसी हिस्से पर केंद्रित करने के लिए Cmd+I दबाएं।
350
350
 
351
+ ### संपादक मॉडल
352
+
353
+ कई स्क्रीन वाले काम के लिए Design पहले overview खोलता है। generation या बड़े
354
+ updates के बाद editor screen overview खोलता है: एक infinite canvas जहां हर
355
+ screen एक static frame है जिसे select, move, resize, drop या duplicate किया जा
356
+ सकता है। जब किसी screen को focused scrolling या prototype interaction चाहिए, तो frame के full-view button का उपयोग करें।
357
+
358
+ Single-screen mode scrolling, prototype behavior से interact करने, और एक
359
+ rendered file के अंदर DOM/code layers edit करने के लिए है। Layers panel यही
360
+ model दिखाता है: screens top-level frames हैं, और active screen के नीचे nested
361
+ DOM/code layers होते हैं।
362
+
363
+ Stable layer names के लिए meaningful elements पर
364
+ `data-agent-native-layer-name` जोड़ें। Design semantic/text fallbacks से पहले
365
+ इसे उपयोग करता है और इसी attribute को edit करके layer renames persist कर सकता
366
+ है। Inline HTML text, classes, styles, attributes, source order, और छोटे
367
+ structural changes के लिए local code-layer edits support करता है; visual
368
+ code-layer edits आज केवल HTML files के लिए हैं। Localhost source mode local
369
+ route artboards register और resolve कर सकता है, लेकिन local file reads/writes
370
+ explicit permission controls harden होने तक bridge contract ही हैं।
371
+
372
+ ### Design संपादक एक्सटेंशन
373
+
374
+ संपादक में **Tweaks** के बाद एक **Extensions** इंस्पेक्टर टैब शामिल है। यह
375
+ Design-विशिष्ट plugin lane की तरह काम करता है: उपयोगकर्ता **+ Extension** पर
376
+ क्लिक करके एजेंट से एक्सटेंशन बनवा सकते हैं, या ऐसा एक्सटेंशन इंस्टॉल कर सकते
377
+ हैं जो `design.editor.inspector` slot घोषित करता है।
378
+
379
+ Design एक्सटेंशन मानक extension sandbox के माध्यम से artboard के बगल में inline
380
+ render होते हैं। host `window.slotContext` और `window.onSlotContext(...)`
381
+ updates में वर्तमान `designId`, सक्रिय फ़ाइल, screen list, selected screen ids,
382
+ selected element metadata, view mode, zoom, active tool, और tweak values भेजता
383
+ है। इससे एक्सटेंशन वर्तमान selection की जानकारी दिखा सकता है, style controls
384
+ दे सकता है, या खुले design के आसपास compact workflows बना सकता है।
385
+
386
+ Deterministic काम के लिए, एक्सटेंशन extension bridge के माध्यम से app actions
387
+ कॉल कर सकते हैं। AI-driven बदलावों के लिए, एक्सटेंशन से
388
+ `agentNative.chat.send(...)` कॉल करवाएं जिसमें selected element selector/source
389
+ id और मांगा गया बदलाव शामिल हो। एजेंट को पहले `view-screen` कॉल करना चाहिए,
390
+ फिर element style, class, text, या move changes के लिए `apply-visual-edit`, या
391
+ artboard placement changes के लिए `canvasFrames` के साथ `update-design` /
392
+ `generate-design` का उपयोग करना चाहिए। sandbox, persistent state, और bridge
393
+ APIs के लिए [Extensions](/docs/extensions#what-an-extension-can-do) देखें।
394
+
351
395
  ### इसे अनुकूलित करना
352
396
 
353
397
  डिज़ाइन एक पूर्ण, क्लोन करने योग्य टेम्पलेट है। कुछ व्यावहारिक विस्तार विचार:
@@ -350,6 +350,52 @@ UI のルートは `templates/design/app/routes/` の下にあります: `_index
350
350
 
351
351
  デザインは単なるスタンドアロンの HTML/JSX ファイルであるため、エージェントは iframe がレンダリングし、すべてのエクスポート元と同じソースを編集します。変換する個別の「AI モックアップ」形式はありません。リンクされた設計システムはトークンと `custom_instructions` を提供し、エージェントは世代パスごとにそれを尊重します。プレビューでテキストまたは領域を選択し、Cmd+I を押して、エージェントをその部分に正確に集中させます。
352
352
 
353
+ ### エディターモデル
354
+
355
+ Design は複数画面の作業では概要を最初に使います。生成後または大きな更
356
+ 新後、エディターは画面概要を開きます。これは無限キャンバスで、各画面は
357
+ 選択、移動、リサイズ、ドロップ、複製できる静的フレームです。集中スクロールやプロトタイプ操作が必要な画面では、フレームのフルビューボタンを使用します。
358
+
359
+ 単一画面モードは、スクロール、プロトタイプ動作とのインタラクション、1
360
+ つのレンダリング済みファイル内の DOM/コードレイヤー編集に使います。レ
361
+ イヤーパネルもこの分離を反映します。画面は最上位フレームで、アクティブ
362
+ 画面の下に DOM/コードレイヤーがネストされます。
363
+
364
+ 安定したレイヤー名には、意味のある要素に
365
+ `data-agent-native-layer-name` を追加します。Design はセマンティック/テ
366
+ キストのフォールバックより先にこれを使い、この属性を編集してレイヤー名
367
+ 変更を永続化できます。Inline HTML は、テキスト、class、style、attribute、
368
+ ソース順、小さな構造変更のローカルコードレイヤー編集をサポートします。
369
+ ビジュアルコードレイヤー編集は現在 HTML のみです。Localhost source mode
370
+ はローカル route artboard を登録・解決できますが、ローカルファイルの読
371
+ み書きは明示的な権限制御が強化されるまで bridge contract のままです。
372
+
373
+ ### Design エディター拡張機能
374
+
375
+ エディターには **Tweaks** の後に **Extensions** インスペクタータブがあり
376
+ ます。これは Design 専用のプラグインレーンのように機能します。ユーザー
377
+ は **+ Extension** をクリックしてエージェントに拡張機能を作成させるか、
378
+ `design.editor.inspector` スロットを宣言する拡張機能をインストールできま
379
+ す。
380
+
381
+ Design 拡張機能は、標準の拡張機能サンドボックスを通じてアートボードの
382
+ 横にインライン表示されます。ホストは `window.slotContext` と
383
+ `window.onSlotContext(...)` の更新として、現在の `designId`、アクティブ
384
+ なファイル、画面一覧、選択中の画面 ID、選択中の要素メタデータ、表示モー
385
+ ド、ズーム、アクティブツール、tweak 値を渡します。これにより、拡張機能
386
+ は現在の選択に関する情報を表示したり、スタイル操作を提供したり、開いて
387
+ いるデザインの周辺に小さなワークフローを構築したりできます。
388
+
389
+ 決定的な処理では、拡張機能は拡張機能ブリッジ経由で app actions を呼び
390
+ 出せます。AI 主導の変更では、選択中の要素 selector/source id と要求され
391
+ た変更を含めて `agentNative.chat.send(...)` を呼び出すようにします。エー
392
+ ジェントはまず `view-screen` を呼び出し、要素の style、class、text、move
393
+ 変更には `apply-visual-edit` を、アートボード配置の変更には `canvasFrames`
394
+ 付きの `update-design` / `generate-design` を使うべきです。サンドボックス、
395
+ 永続状態、ブリッジ API については
396
+ [Extensions](/docs/extensions#what-an-extension-can-do) を参照してくださ
397
+ い。
398
+
353
399
  ### カスタマイズ
354
400
 
355
401
  デザインは完全な複製可能なテンプレートです。いくつかの実践的な拡張アイデア:
@@ -348,6 +348,50 @@ UI의 경로는 `templates/design/app/routes/` 아래에 있습니다: `_index.t
348
348
 
349
349
  디자인은 독립형 HTML/JSX 파일이므로 에이전트는 iframe이 렌더링하고 모든 내보내기가 시작되는 동일한 소스를 편집합니다. 번역할 별도의 "AI 모형" 형식은 없습니다. 연결된 디자인 시스템은 에이전트가 모든 세대 패스에서 존중하는 토큰과 `custom_instructions`를 제공합니다. 미리보기에서 텍스트나 영역을 선택하고 Cmd+I를 눌러 상담사가 정확히 해당 부분에 집중하도록 합니다.
350
350
 
351
+ ### 편집기 모델
352
+
353
+ Design은 여러 화면 작업에서 overview를 우선합니다. 생성 또는 넓은 업데이트
354
+ 후 편집기는 screen overview를 엽니다. 이곳은 각 화면이 선택, 이동, 크기 조정,
355
+ 드롭, 복제 가능한 정적 frame으로 배치되는 infinite canvas입니다. frame을 두
356
+ 번 클릭하면 단일 화면에 집중합니다.
357
+
358
+ Single-screen mode는 스크롤, prototype behavior와의 상호작용, 하나의 렌더링된
359
+ 파일 안의 DOM/code layers 편집에 사용합니다. Layers panel도 같은 구조를
360
+ 반영합니다. screens는 top-level frames이고, active screen 아래에 nested
361
+ DOM/code layers가 표시됩니다.
362
+
363
+ 안정적인 layer name을 위해 의미 있는 요소에 `data-agent-native-layer-name`을
364
+ 추가하세요. Design은 semantic/text fallback보다 이것을 먼저 사용하며, 해당
365
+ attribute를 편집해 layer rename을 persist할 수 있습니다. Inline HTML은 text,
366
+ classes, styles, attributes, source order, 작은 structural changes에 대한 local
367
+ code-layer edits를 지원합니다. visual code-layer edits는 현재 HTML-only입니다.
368
+ Localhost source mode는 local route artboards를 register/resolve할 수 있지만,
369
+ local file reads/writes는 explicit permission controls가 harden될 때까지 bridge
370
+ contract로 남아 있습니다.
371
+
372
+ ### Design 편집기 확장
373
+
374
+ 편집기에는 **Tweaks** 뒤에 **Extensions** 검사기 탭이 있습니다. Design 전용
375
+ 플러그인 레인처럼 작동합니다. 사용자는 **+ Extension**을 클릭해 에이전트에게
376
+ 확장을 만들게 하거나 `design.editor.inspector` 슬롯을 선언한 확장을 설치할
377
+ 수 있습니다.
378
+
379
+ Design 확장은 표준 확장 sandbox를 통해 artboard 옆에 inline으로 렌더링됩니다.
380
+ 호스트는 현재 `designId`, 활성 파일, 화면 목록, 선택된 화면 id, 선택된 요소
381
+ 메타데이터, 보기 모드, zoom, 활성 도구, tweak 값을 `window.slotContext`와
382
+ `window.onSlotContext(...)` 업데이트로 전달합니다. 이를 통해 확장은 현재
383
+ selection 정보를 표시하고, 스타일 컨트롤을 제공하거나, 열린 디자인 주변의
384
+ 작은 워크플로를 만들 수 있습니다.
385
+
386
+ 결정적인 작업의 경우 확장은 extension bridge를 통해 app actions를 호출할 수
387
+ 있습니다. AI 기반 변경의 경우 선택된 요소 selector/source id와 요청한 변경을
388
+ 담아 `agentNative.chat.send(...)`를 호출하게 하세요. 에이전트는 먼저
389
+ `view-screen`을 호출한 다음 요소 style, class, text, move 변경에는
390
+ `apply-visual-edit`를, artboard placement 변경에는 `canvasFrames`와 함께
391
+ `update-design` / `generate-design`를 사용해야 합니다. sandbox, persistent
392
+ state, bridge APIs는 [Extensions](/docs/extensions#what-an-extension-can-do)를
393
+ 참조하세요.
394
+
351
395
  ### 맞춤 설정
352
396
 
353
397
  디자인은 완전하고 복제 가능한 템플릿입니다. 실용적인 확장 아이디어:
@@ -348,6 +348,54 @@ O agente sempre sabe o que você tem em aberto. O design atual, o arquivo aberto
348
348
 
349
349
  Como um design consiste apenas em arquivos HTML/JSX independentes, o agente edita a mesma fonte que o iframe renderiza e de onde vem cada exportação — não há um formato de "maquete de IA" separado para traduzir. Um sistema de design vinculado fornece tokens e `custom_instructions` que o agente homenageia em cada passagem de geração. Selecione o texto ou uma região na visualização e pressione Cmd+I para focar o agente exatamente nessa parte.
350
350
 
351
+ ### Modelo do editor
352
+
353
+ Design prioriza a visão geral para trabalhos com várias telas. Depois da
354
+ geração ou de atualizações amplas, o editor abre a visão geral de telas: uma
355
+ tela infinita onde cada tela é um frame estático que pode ser selecionado,
356
+ movido, redimensionado, solto ou duplicado. Use o botão de visualização completa
357
+ do frame quando uma tela precisar de rolagem focada ou interação de protótipo.
358
+
359
+ O modo de tela única serve para rolar, interagir com o comportamento do
360
+ protótipo e editar as camadas DOM/código dentro de um arquivo renderizado. O
361
+ painel de camadas reflete essa divisão: telas são frames de nível superior, com
362
+ camadas DOM/código aninhadas para a tela ativa.
363
+
364
+ Para nomes de camada estáveis, adicione `data-agent-native-layer-name` a
365
+ elementos importantes. O Design usa isso antes de fallbacks semânticos/de texto
366
+ e pode persistir renomeações editando esse atributo. HTML inline aceita edições
367
+ locais de camadas de código para texto, classes, estilos, atributos, ordem do
368
+ código-fonte e pequenas mudanças estruturais; edições visuais de camadas de
369
+ código são somente HTML hoje. O modo de fonte localhost pode registrar e
370
+ resolver artboards de rotas locais, mas leituras/escritas de arquivos locais
371
+ continuam sendo um contrato de bridge até que controles explícitos de permissão
372
+ sejam fortalecidos.
373
+
374
+ ### Extensões do editor de Design
375
+
376
+ O editor inclui uma aba de inspetor **Extensions** depois de **Tweaks**. Ela
377
+ funciona como uma faixa de plugins específica do Design: os usuários podem
378
+ clicar em **+ Extension** para pedir ao agente que crie uma extensão, ou
379
+ instalar uma extensão que declare o slot `design.editor.inspector`.
380
+
381
+ As extensões do Design são renderizadas inline ao lado do artboard pelo sandbox
382
+ padrão de extensões. O host passa atualizações de `window.slotContext` e
383
+ `window.onSlotContext(...)` com o `designId` atual, arquivo ativo, lista de
384
+ telas, ids de telas selecionadas, metadados do elemento selecionado, modo de
385
+ visualização, zoom, ferramenta ativa e valores de tweaks. Isso permite que uma
386
+ extensão mostre informações sobre a seleção atual, ofereça controles de estilo
387
+ ou crie fluxos compactos ao redor do design aberto.
388
+
389
+ Para trabalho determinístico, as extensões podem chamar ações do app pelo
390
+ bridge de extensões. Para mudanças guiadas por IA, faça a extensão chamar
391
+ `agentNative.chat.send(...)` com o seletor/id de origem do elemento selecionado
392
+ e a mudança solicitada. O agente deve chamar `view-screen` primeiro e depois
393
+ usar `apply-visual-edit` para mudanças de estilo, classe, texto ou movimento de
394
+ elementos, ou `update-design` / `generate-design` com `canvasFrames` para
395
+ mudanças de posicionamento do artboard. Veja
396
+ [Extensions](/docs/extensions#what-an-extension-can-do) para o sandbox, estado
397
+ persistente e APIs do bridge.
398
+
351
399
  ### Personalizando
352
400
 
353
401
  Design é um modelo completo e clonável. Algumas ideias práticas de extensão:
@@ -348,6 +348,42 @@ UI 中的路由位于 `templates/design/app/routes/` 下:`_index.tsx`(列表
348
348
 
349
349
  因为设计只是独立的 HTML/JSX 文件,所以代理编辑 iframe 渲染和每个导出来自的相同源 - 没有单独的“AI 模型”格式需要翻译。链接设计系统提供代币和代理在每一代通行证上兑现的 `custom_instructions`。在预览中选择文本或区域,然后按 Cmd+I 将代理集中在该部分上。
350
350
 
351
+ ### 编辑器模型
352
+
353
+ Design 对多屏工作采用概览优先。生成或进行大范围更新后,编辑器会打开屏幕
354
+ 概览:一个无限画布,其中每个屏幕都是可选择、移动、调整大小、拖放或复制的
355
+ 静态框架。需要聚焦滚动或原型交互时,请使用框架的完整视图按钮。
356
+
357
+ 单屏模式用于滚动、与原型行为交互,以及编辑一个已渲染文件内的 DOM/代码
358
+ 层。图层面板也反映这种分工:屏幕是顶层框架,活动屏幕下嵌套 DOM/代码层。
359
+
360
+ 为了获得稳定的图层名称,请在有意义的元素上添加
361
+ `data-agent-native-layer-name`。Design 会优先使用它,然后才使用语义/文本回
362
+ 退,并且可以通过编辑该属性来持久保存图层重命名。Inline HTML 支持本地代
363
+ 码层编辑,包括文本、class、style、attribute、源顺序和小型结构调整;可视
364
+ 代码层编辑目前仅支持 HTML。Localhost source mode 可以注册并解析本地路由
365
+ artboard,但本地文件读写仍是桥接合同,直到显式权限控制完成加固。
366
+
367
+ ### Design 编辑器扩展
368
+
369
+ 编辑器在 **Tweaks** 之后包含一个 **Extensions** 检查器标签。它像 Design
370
+ 专属的插件通道:用户可以点击 **+ Extension** 让代理创建扩展,也可以安装声
371
+ 明 `design.editor.inspector` slot 的扩展。
372
+
373
+ Design 扩展通过标准扩展 sandbox 内嵌渲染在 artboard 旁边。宿主会通过
374
+ `window.slotContext` 和 `window.onSlotContext(...)` 更新传入当前
375
+ `designId`、活动文件、屏幕列表、已选屏幕 id、已选元素元数据、视图模式、
376
+ 缩放、活动工具和 tweak 值。这样扩展就可以显示当前选择的信息、提供样式控
377
+ 件,或围绕打开的设计构建紧凑工作流。
378
+
379
+ 对于确定性的工作,扩展可以通过扩展桥调用 app actions。对于 AI 驱动的变
380
+ 更,让扩展调用 `agentNative.chat.send(...)`,并附带已选元素的 selector/source
381
+ id 和请求的更改。代理应先调用 `view-screen`,然后用 `apply-visual-edit`
382
+ 处理元素 style、class、text 或 move 更改,或用带 `canvasFrames` 的
383
+ `update-design` / `generate-design` 处理 artboard placement 更改。有关
384
+ sandbox、持久状态和桥接 API,请参阅
385
+ [Extensions](/docs/extensions#what-an-extension-can-do)。
386
+
351
387
  ### 自定义它
352
388
 
353
389
  设计是一个完整的、可克隆的模板。一些实用的扩展想法:
@@ -348,6 +348,44 @@ UI 中的路由位於 `templates/design/app/routes/` 下:`_index.tsx`(清單
348
348
 
349
349
  因為設計只是獨立的 HTML/JSX 檔案,所以代理編輯 iframe 渲染和每個匯出來自的相同來源 - 沒有單獨的“AI 模型”格式需要翻譯。連結設計系統提供代幣和代理在每一代通行證上兌現的 `custom_instructions`。在預覽中選取文字或區域,然後按 Cmd+I 將代理集中在該部分上。
350
350
 
351
+ ### 編輯器模型
352
+
353
+ Design 對多畫面工作採用概覽優先。產生或進行大範圍更新後,編輯器會開啟
354
+ 畫面概覽:一個無限畫布,其中每個畫面都是可選取、移動、調整大小、拖放或
355
+ 複製的靜態框架。需要聚焦捲動或原型互動時,請使用框架的完整檢視按鈕。
356
+
357
+ 單畫面模式用於捲動、與原型行為互動,以及編輯一個已渲染檔案內的 DOM/程
358
+ 式碼圖層。圖層面板也反映這種分工:畫面是頂層框架,作用中畫面下嵌套
359
+ DOM/程式碼圖層。
360
+
361
+ 若要取得穩定的圖層名稱,請在有意義的元素上加入
362
+ `data-agent-native-layer-name`。Design 會優先使用它,然後才使用語意/文字
363
+ 後備,並且可以透過編輯該屬性來持久保存圖層重新命名。Inline HTML 支援本
364
+ 機程式碼圖層編輯,包括文字、class、style、attribute、來源順序和小型結構
365
+ 調整;視覺程式碼圖層編輯目前僅支援 HTML。Localhost source mode 可以註冊
366
+ 並解析本機路由 artboard,但本機檔案讀寫仍是橋接合約,直到明確權限控制
367
+ 完成加固。
368
+
369
+ ### Design 編輯器擴充功能
370
+
371
+ 編輯器在 **Tweaks** 之後包含一個 **Extensions** 檢查器標籤。它像 Design
372
+ 專屬的外掛通道:使用者可以點擊 **+ Extension** 讓代理建立擴充功能,也可
373
+ 以安裝宣告 `design.editor.inspector` slot 的擴充功能。
374
+
375
+ Design 擴充功能會透過標準擴充 sandbox 內嵌渲染在 artboard 旁邊。host 會
376
+ 透過 `window.slotContext` 和 `window.onSlotContext(...)` 更新傳入目前的
377
+ `designId`、作用中檔案、畫面清單、已選畫面 id、已選元素中繼資料、檢視模
378
+ 式、縮放、作用中工具和 tweak 值。這讓擴充功能可以顯示目前選取項目的資
379
+ 訊、提供樣式控制,或圍繞開啟的設計建立精簡工作流程。
380
+
381
+ 對於確定性的工作,擴充功能可以透過擴充橋接呼叫 app actions。對於 AI 驅
382
+ 動的變更,讓擴充功能呼叫 `agentNative.chat.send(...)`,並附上已選元素的
383
+ selector/source id 和要求的變更。代理應先呼叫 `view-screen`,再用
384
+ `apply-visual-edit` 處理元素 style、class、text 或 move 變更,或用帶有
385
+ `canvasFrames` 的 `update-design` / `generate-design` 處理 artboard placement
386
+ 變更。關於 sandbox、持久狀態和橋接 API,請參閱
387
+ [Extensions](/docs/extensions#what-an-extension-can-do)。
388
+
351
389
  ### 自訂它
352
390
 
353
391
  設計是一個完整的、可克隆的範本。一些實用的擴充功能想法:
@@ -348,6 +348,51 @@ The agent always knows what you have open. The current design, the open file, th
348
348
 
349
349
  Because a design is just standalone HTML/JSX files, the agent edits the same source the iframe renders and every export comes from — there is no separate "AI mockup" format to translate. A linked design system supplies tokens and `custom_instructions` the agent honors on every generation pass. Select text or a region in the preview and hit Cmd+I to focus the agent on exactly that part.
350
350
 
351
+ ### Editor model
352
+
353
+ Design is overview-first for multi-screen work. After generation or broad
354
+ updates, the editor opens the screen overview: an infinite canvas where each
355
+ screen is a static frame you can select, move, resize, drop, or duplicate.
356
+ Use a frame's full-view button when one screen needs focused scrolling or
357
+ prototype interaction.
358
+
359
+ Single-screen mode is for scrolling, interacting with prototype behavior, and
360
+ editing the DOM/code layers inside one rendered file. The layers panel reflects
361
+ that split: screens are top-level frames, with nested DOM/code layers for the
362
+ active screen.
363
+
364
+ For stable layer names, add `data-agent-native-layer-name` to meaningful
365
+ elements. Design uses it before semantic/text fallbacks and can persist layer
366
+ renames by editing that attribute. Inline HTML supports local code-layer edits
367
+ for text, classes, styles, attributes, source order, and small structural
368
+ changes; visual code-layer edits are HTML-only today. Localhost source mode can
369
+ register and resolve local route artboards, but local file reads/writes remain a
370
+ bridge contract until explicit permission controls are hardened.
371
+
372
+ ### Design editor extensions
373
+
374
+ The editor includes an **Extensions** inspector tab after **Tweaks**. It works
375
+ like a Design-specific plugin lane: users can click **+ Extension** to ask the
376
+ agent to build an extension, or install an extension that declares the
377
+ `design.editor.inspector` slot.
378
+
379
+ Design extensions render inline beside the artboard through the standard
380
+ extension sandbox. The host passes `window.slotContext` and
381
+ `window.onSlotContext(...)` updates with the current `designId`, active file,
382
+ screen list, selected screen ids, selected element metadata, view mode, zoom,
383
+ active tool, and tweak values. That lets an extension show information about
384
+ the current selection, offer style controls, or build compact workflows around
385
+ the open design.
386
+
387
+ For deterministic work, extensions can call app actions through the extension
388
+ bridge. For AI-driven changes, have the extension call
389
+ `agentNative.chat.send(...)` with the selected element selector/source id and
390
+ requested change. The agent should call `view-screen` first, then use
391
+ `apply-visual-edit` for element style, class, text, or move changes, or
392
+ `update-design` / `generate-design` with `canvasFrames` for artboard placement
393
+ changes. See [Extensions](/docs/extensions#what-an-extension-can-do) for the
394
+ sandbox, persistent state, and bridge APIs.
395
+
351
396
  ### Customizing it
352
397
 
353
398
  Design is a complete, cloneable template. Some practical extension ideas:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.79.27",
3
+ "version": "0.80.0",
4
4
  "description": "Framework for agent-native application development — where AI agents and UI share SQL state, actions, and context",
5
5
  "homepage": "https://github.com/BuilderIO/agent-native#readme",
6
6
  "bugs": {
@@ -89,6 +89,7 @@
89
89
  "./embedding/react": "./dist/embedding/react.js",
90
90
  "./onboarding": "./dist/onboarding/index.js",
91
91
  "./shared": "./dist/shared/index.js",
92
+ "./voice": "./dist/voice/index.js",
92
93
  "./scripts": "./dist/scripts/index.js",
93
94
  "./application-state": "./dist/application-state/index.js",
94
95
  "./settings": "./dist/settings/index.js",
@@ -86,6 +86,7 @@ Default behavior:
86
86
  | `packages/core/src/client/transcription/use-live-transcription.ts` | Web Speech live-transcription hook for recordings |
87
87
  | `packages/core/src/server/transcribe-voice.ts` | Route handler (routes to Builder/Gemini/Groq/Whisper) |
88
88
  | `packages/core/src/transcription/builder-transcription.ts` | Builder proxy transcription client |
89
+ | `packages/core/src/voice/` | Shared voice context pack, prompt, and replacement helpers |
89
90
  | `packages/core/src/secrets/register-framework-secrets.ts` | Framework-level provider key registration |
90
91
 
91
92
  ## Key resolution (server)
@@ -114,6 +115,15 @@ provider. Gemini uses them in the transcription prompt, Builder receives them
114
115
  as transcription/cleanup instructions, and Whisper-compatible providers receive
115
116
  them as provider prompt/context.
116
117
 
118
+ Requests may also include a multipart `voiceContext` JSON field. Parse it with
119
+ `parseVoiceContextPack()` from `@agent-native/core/voice` and pass the resulting
120
+ context through `buildVoiceGuidanceBlock()`; do not hand-roll separate prompt
121
+ formats. The context pack is for bounded snippets, active references, route/page
122
+ metadata, and preferred vocabulary/replacements only. Browser-native and Google
123
+ realtime final text can POST `{ text, provider, instructions, voiceContext }` to
124
+ `/_agent-native/transcribe-voice` when AI cleanup is enabled; batch audio can
125
+ send the same `voiceContext` field with its audio upload.
126
+
117
127
  Never hardcode a shared key. Never log the value. Never echo it back to the
118
128
  client.
119
129