@agent-native/core 0.80.7 → 0.80.9

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 (302) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +18 -0
  3. package/corpus/core/docs/content/locales/ar-SA/template-design.mdx +6 -0
  4. package/corpus/core/docs/content/locales/de-DE/template-design.mdx +8 -0
  5. package/corpus/core/docs/content/locales/es-ES/template-design.mdx +10 -2
  6. package/corpus/core/docs/content/locales/fr-FR/template-design.mdx +10 -2
  7. package/corpus/core/docs/content/locales/hi-IN/template-design.mdx +7 -0
  8. package/corpus/core/docs/content/locales/ja-JP/template-design.mdx +7 -0
  9. package/corpus/core/docs/content/locales/ko-KR/template-design.mdx +7 -0
  10. package/corpus/core/docs/content/locales/pt-BR/template-design.mdx +9 -2
  11. package/corpus/core/docs/content/locales/zh-CN/template-design.mdx +6 -0
  12. package/corpus/core/docs/content/locales/zh-TW/template-design.mdx +6 -0
  13. package/corpus/core/docs/content/template-design.mdx +9 -2
  14. package/corpus/core/package.json +1 -1
  15. package/corpus/core/src/cli/mcp.ts +10 -0
  16. package/corpus/core/src/cli/skills.ts +58 -12
  17. package/corpus/core/src/client/AssistantChat.tsx +70 -27
  18. package/corpus/core/src/client/analytics.ts +3 -1
  19. package/corpus/core/src/client/error-format.ts +25 -0
  20. package/corpus/core/src/client/extensions/ExtensionViewer.tsx +13 -11
  21. package/corpus/core/src/client/guided-questions.tsx +32 -4
  22. package/corpus/core/src/client/onboarding/OnboardingPanel.tsx +33 -1
  23. package/corpus/core/src/client/resources/BuiltinCapabilityDetail.tsx +8 -0
  24. package/corpus/core/src/client/resources/use-builtin-capabilities.ts +4 -2
  25. package/corpus/core/src/client/session-replay.ts +34 -0
  26. package/corpus/core/src/client/sharing/ShareButton.tsx +106 -21
  27. package/corpus/core/src/coding-tools/index.ts +1 -1
  28. package/corpus/core/src/mcp/index.ts +2 -0
  29. package/corpus/core/src/mcp/screen-memory-stdio.ts +290 -0
  30. package/corpus/core/src/mcp-client/builtin-capabilities.ts +13 -1
  31. package/corpus/core/src/mcp-client/index.ts +9 -0
  32. package/corpus/core/src/mcp-client/screen-memory-local.ts +461 -0
  33. package/corpus/core/src/onboarding/types.ts +7 -0
  34. package/corpus/core/src/server/agent-chat-plugin.ts +25 -0
  35. package/corpus/core/src/server/agents-bundle.ts +35 -7
  36. package/corpus/core/src/styles/agent-native.css +5 -0
  37. package/corpus/core/src/templates/default/app/global.css +35 -35
  38. package/corpus/templates/analytics/AGENTS.md +6 -0
  39. package/corpus/templates/analytics/actions/github-repo-files.ts +9 -0
  40. package/corpus/templates/analytics/app/components/layout/Layout.tsx +4 -4
  41. package/corpus/templates/analytics/app/global.css +144 -40
  42. package/corpus/templates/analytics/app/pages/adhoc/explorer/index.tsx +1 -1
  43. package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/ChartCard.tsx +1 -1
  44. package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +1 -1
  45. package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +4 -4
  46. package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +9 -9
  47. package/corpus/templates/analytics/changelog/2026-06-29-agents-can-search-and-read-connected-github-repositories-whe.md +6 -0
  48. package/corpus/templates/analytics/changelog/2026-06-29-sessions-and-explorer-layouts-adapt-when-the-agent-sidebar-is.md +6 -0
  49. package/corpus/templates/assets/app/components/layout/Layout.tsx +3 -1
  50. package/corpus/templates/assets/app/components/library/LibraryPresetGrid.tsx +1 -1
  51. package/corpus/templates/assets/app/global.css +99 -35
  52. package/corpus/templates/assets/app/routes/asset.$id.tsx +2 -2
  53. package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +4 -4
  54. package/corpus/templates/assets/app/routes/library.tsx +4 -4
  55. package/corpus/templates/assets/changelog/2026-06-29-asset-library-and-detail-layouts-adapt-when-the-agent-sidebar.md +6 -0
  56. package/corpus/templates/brain/app/components/layout/Layout.tsx +1 -1
  57. package/corpus/templates/brain/app/global.css +63 -35
  58. package/corpus/templates/brain/app/routes/search.tsx +1 -1
  59. package/corpus/templates/brain/app/routes/settings.tsx +1 -1
  60. package/corpus/templates/brain/app/routes/sources.tsx +2 -2
  61. package/corpus/templates/brain/changelog/2026-06-29-search-settings-and-source-layouts-adapt-when-the-agent-sidebar.md +6 -0
  62. package/corpus/templates/calendar/app/components/calendar/EventDetailPanel.tsx +4 -4
  63. package/corpus/templates/calendar/app/components/calendar/FindTimePanel.tsx +3 -2
  64. package/corpus/templates/calendar/app/components/layout/AppLayout.tsx +4 -2
  65. package/corpus/templates/calendar/app/global.css +69 -35
  66. package/corpus/templates/calendar/changelog/2026-06-29-event-and-find-time-layouts-adapt-when-the-agent-sidebar-is.md +6 -0
  67. package/corpus/templates/chat/app/components/layout/Layout.tsx +1 -1
  68. package/corpus/templates/chat/app/global.css +35 -35
  69. package/corpus/templates/chat/changelog/2026-06-29-chat-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
  70. package/corpus/templates/clips/AGENTS.md +13 -0
  71. package/corpus/templates/clips/actions/get-screen-memory-status.ts +12 -0
  72. package/corpus/templates/clips/actions/query-screen-memory-context.ts +29 -0
  73. package/corpus/templates/clips/actions/view-screen.ts +2 -2
  74. package/corpus/templates/clips/app/components/library/library-layout.tsx +1 -1
  75. package/corpus/templates/clips/app/global.css +47 -35
  76. package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +3 -3
  77. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +45 -18
  78. package/corpus/templates/clips/changelog/2026-06-29-meeting-detail-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
  79. package/corpus/templates/clips/changelog/2026-06-29-screen-memory-keeps-a-local-rolling-screen-buffer-for-agent-context.md +5 -0
  80. package/corpus/templates/clips/changelog/2026-06-29-video-chat-is-easier-to-find-on-recording-pages-and-s3-setup.md +6 -0
  81. package/corpus/templates/clips/chrome-extension/src/styles.css +39 -39
  82. package/corpus/templates/clips/desktop/src/app.tsx +290 -1
  83. package/corpus/templates/clips/desktop/src/shared/config.ts +83 -0
  84. package/corpus/templates/clips/desktop/src/styles.css +67 -52
  85. package/corpus/templates/clips/desktop/src-tauri/src/config.rs +50 -0
  86. package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +17 -0
  87. package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +13 -13
  88. package/corpus/templates/clips/desktop/src-tauri/src/screen_memory.rs +990 -0
  89. package/corpus/templates/clips/server/plugins/onboarding.ts +2 -0
  90. package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +69 -16
  91. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +3 -3
  92. package/corpus/templates/content/app/components/layout/Layout.tsx +1 -1
  93. package/corpus/templates/content/app/global.css +29 -15
  94. package/corpus/templates/content/changelog/2026-06-29-database-gallery-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
  95. package/corpus/templates/content/changelog/2026-06-29-read-only-pages-no-longer-try-to-autosave-or-open-editor-onl.md +6 -0
  96. package/corpus/templates/design/.agents/skills/design-generation/SKILL.md +25 -20
  97. package/corpus/templates/design/.agents/skills/design-systems/SKILL.md +8 -0
  98. package/corpus/templates/design/.agents/skills/export-handoff/SKILL.md +8 -0
  99. package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +13 -0
  100. package/corpus/templates/design/AGENTS.md +24 -14
  101. package/corpus/templates/design/CODE_NATIVE_DESIGN_STUDIO_IMPLEMENTATION_PLAN.md +1054 -0
  102. package/corpus/templates/design/actions/apply-visual-edit.ts +24 -4
  103. package/corpus/templates/design/actions/edit-design.ts +6 -3
  104. package/corpus/templates/design/actions/export-coding-handoff.ts +12 -4
  105. package/corpus/templates/design/actions/generate-design.ts +6 -21
  106. package/corpus/templates/design/actions/generate-screens.ts +48 -5
  107. package/corpus/templates/design/actions/get-design.ts +1 -0
  108. package/corpus/templates/design/actions/present-design-variants.ts +355 -30
  109. package/corpus/templates/design/actions/update-design.ts +47 -10
  110. package/corpus/templates/design/actions/update-file.ts +33 -8
  111. package/corpus/templates/design/actions/view-screen.ts +89 -31
  112. package/corpus/templates/design/app/components/design/DesignCanvas.tsx +389 -71
  113. package/corpus/templates/design/app/components/design/DesignEditorSkeleton.tsx +1 -1
  114. package/corpus/templates/design/app/components/design/EditPanel.tsx +596 -95
  115. package/corpus/templates/design/app/components/design/LayersPanel.tsx +428 -221
  116. package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +1197 -228
  117. package/corpus/templates/design/app/components/design/QuestionFlow.tsx +94 -217
  118. package/corpus/templates/design/app/components/design/TweaksPanel.tsx +28 -14
  119. package/corpus/templates/design/app/components/design/index.ts +0 -1
  120. package/corpus/templates/design/app/components/design/inspector/AutoLayoutMatrix.tsx +228 -170
  121. package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +140 -13
  122. package/corpus/templates/design/app/components/design/inspector/ExportSettingsPanel.tsx +39 -8
  123. package/corpus/templates/design/app/components/design/inspector/GradientEditor.tsx +4 -2
  124. package/corpus/templates/design/app/components/design/inspector/ImageFillControls.tsx +75 -5
  125. package/corpus/templates/design/app/components/design/inspector/ScrubInput.tsx +37 -12
  126. package/corpus/templates/design/app/components/design/inspector/index.ts +1 -0
  127. package/corpus/templates/design/app/components/design/inspector/scrub-input-utils.ts +17 -4
  128. package/corpus/templates/design/app/components/design/types.ts +9 -0
  129. package/corpus/templates/design/app/components/layout/Layout.tsx +23 -5
  130. package/corpus/templates/design/app/components/visual-editor/DrawOverlay.tsx +448 -259
  131. package/corpus/templates/design/app/global.css +77 -49
  132. package/corpus/templates/design/app/hooks/use-question-flow.ts +2 -2
  133. package/corpus/templates/design/app/hooks/useDesignHotkeys.ts +8 -1
  134. package/corpus/templates/design/app/i18n/zh-TW.ts +4 -0
  135. package/corpus/templates/design/app/i18n-data.ts +55 -3
  136. package/corpus/templates/design/app/pages/DesignEditor.tsx +2783 -658
  137. package/corpus/templates/design/app/root.tsx +1 -1
  138. package/corpus/templates/design/changelog/2026-06-29-agent-edits-to-a-design-are-no-longer-occasionally-dropped-o.md +6 -0
  139. package/corpus/templates/design/changelog/2026-06-29-box-shadow-and-gradient-colors-keep-named-css-colors-like-re.md +6 -0
  140. package/corpus/templates/design/changelog/2026-06-29-containers-no-longer-block-selecting-nested-elements-and-nor.md +6 -0
  141. package/corpus/templates/design/changelog/2026-06-29-cut-cmd-ctrl-x-now-removes-the-selected-element-to-the-clipb.md +6 -0
  142. package/corpus/templates/design/changelog/2026-06-29-deleting-with-multiple-layers-selected-in-the-layers-panel-n.md +6 -0
  143. package/corpus/templates/design/changelog/2026-06-29-design-agents-now-generate-and-refine-variants-from-stronger.md +6 -0
  144. package/corpus/templates/design/changelog/2026-06-29-design-inspector-controls-now-match-figmas-softer-dark-chrome.md +6 -0
  145. package/corpus/templates/design/changelog/2026-06-29-design-questions-now-appear-as-a-cleaner-canvas-intake-with-.md +6 -0
  146. package/corpus/templates/design/changelog/2026-06-29-design-variant-directions-now-appear-as-board-screens-with-chat-buttons.md +5 -0
  147. package/corpus/templates/design/changelog/2026-06-29-duplicating-a-screen-now-gives-the-copy-its-own-layer-ids-so.md +6 -0
  148. package/corpus/templates/design/changelog/2026-06-29-element-selection-no-longer-snaps-back-to-the-previous-layer.md +6 -0
  149. package/corpus/templates/design/changelog/2026-06-29-frame-resize-measurements-now-stay-beside-the-cursor-while-d.md +6 -0
  150. package/corpus/templates/design/changelog/2026-06-29-hiding-and-re-showing-a-gradient-fill-now-preserves-each-sto.md +6 -0
  151. package/corpus/templates/design/changelog/2026-06-29-inspector-number-fields-have-cleaner-tooltips-and-draggable-.md +6 -0
  152. package/corpus/templates/design/changelog/2026-06-29-layer-locking-layer-nesting-generated-question-intake-and-im.md +6 -0
  153. package/corpus/templates/design/changelog/2026-06-29-layer-names-in-the-sidebar-can-scroll-horizontally-instead-o.md +6 -0
  154. package/corpus/templates/design/changelog/2026-06-29-layer-nesting-in-the-sidebar-now-uses-tighter-spacing-so-nam.md +6 -0
  155. package/corpus/templates/design/changelog/2026-06-29-layers-no-longer-repeat-document-wrapper-rows-when-a-screen-.md +6 -0
  156. package/corpus/templates/design/changelog/2026-06-29-overview-previews-now-keep-element-hover-and-selection-tied-.md +6 -0
  157. package/corpus/templates/design/changelog/2026-06-29-picking-a-design-direction-now-submits-to-the-agent-right-aw.md +6 -0
  158. package/corpus/templates/design/changelog/2026-06-29-pressing-escape-now-cancels-a-stuck-screen-drag-in-the-overv.md +6 -0
  159. package/corpus/templates/design/changelog/2026-06-29-screen-overview-is-easier-to-find-and-named-screens-open-dir.md +6 -0
  160. package/corpus/templates/design/changelog/2026-06-29-screen-overview-only-highlights-screens-when-the-frame-or-ti.md +6 -0
  161. package/corpus/templates/design/changelog/2026-06-29-screen-overview-previews-now-resize-to-match-the-selected-de.md +6 -0
  162. package/corpus/templates/design/changelog/2026-06-29-screen-overview-selection-now-uses-a-pointer-cursor-instead-.md +6 -0
  163. package/corpus/templates/design/changelog/2026-06-29-screen-overview-selection-outlines-now-stay-locked-to-the-se.md +6 -0
  164. package/corpus/templates/design/changelog/2026-06-29-screen-overview-zoom-now-reports-real-screen-scale-separatel.md +6 -0
  165. package/corpus/templates/design/changelog/2026-06-29-screen-overview-zooming-feels-smoother-and-selection-outline.md +6 -0
  166. package/corpus/templates/design/changelog/2026-06-29-screen-overview-zooming-now-stays-on-the-overview-canvas-ins.md +6 -0
  167. package/corpus/templates/design/changelog/2026-06-29-selecting-a-nested-layer-from-all-screens-now-keeps-you-in-a.md +6 -0
  168. package/corpus/templates/design/changelog/2026-06-29-share-now-groups-link-sharing-exports-and-agent-handoff.md +6 -0
  169. package/corpus/templates/design/changelog/2026-06-29-style-changes-that-set-several-properties-at-once-fixed-size.md +6 -0
  170. package/corpus/templates/design/changelog/2026-06-29-the-design-editor-loading-skeleton-now-uses-a-softer-charcoa.md +6 -0
  171. package/corpus/templates/design/changelog/2026-06-29-the-device-preview-menu-now-sits-next-to-the-preview-button-.md +6 -0
  172. package/corpus/templates/design/changelog/2026-06-29-the-editor-no-longer-crashes-when-a-screen-ends-up-with-dupl.md +6 -0
  173. package/corpus/templates/design/changelog/2026-06-29-the-inspector-stays-read-only-while-an-empty-design-is-still.md +6 -0
  174. package/corpus/templates/design/changelog/2026-06-29-the-missing-design-view-now-matches-the-rest-of-the-editor-c.md +6 -0
  175. package/corpus/templates/design/changelog/2026-06-29-the-pen-tool-icon-and-tool-option-menus-better-match-the-edi.md +6 -0
  176. package/corpus/templates/design/changelog/2026-06-29-typography-controls-now-keep-the-font-name-visible-and-move-.md +6 -0
  177. package/corpus/templates/design/e2e/README.md +4 -3
  178. package/corpus/templates/design/e2e/global-setup.ts +24 -23
  179. package/corpus/templates/design/e2e/helpers.ts +122 -11
  180. package/corpus/templates/design/playwright.config.ts +19 -4
  181. package/corpus/templates/design/server/lib/coding-handoff.ts +126 -2
  182. package/corpus/templates/design/server/plugins/core-routes.ts +1 -2
  183. package/corpus/templates/design/server/routes/api/design-handoff/[id].zip.get.ts +86 -0
  184. package/corpus/templates/design/shared/code-layer.ts +125 -22
  185. package/corpus/templates/design/shared/color-utils.ts +159 -0
  186. package/corpus/templates/design/shared/generation-session.ts +42 -0
  187. package/corpus/templates/dispatch/app/global.css +79 -35
  188. package/corpus/templates/dispatch/app/routes/integrations.tsx +8 -7
  189. package/corpus/templates/dispatch/changelog/2026-06-29-integration-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
  190. package/corpus/templates/forms/app/components/layout/Layout.tsx +6 -2
  191. package/corpus/templates/forms/app/global.css +64 -35
  192. package/corpus/templates/forms/app/pages/FormsListPage.tsx +2 -2
  193. package/corpus/templates/forms/app/pages/ResponseInsightsPage.tsx +3 -3
  194. package/corpus/templates/forms/changelog/2026-06-29-form-list-and-insight-layouts-adapt-when-the-agent-sidebar.md +6 -0
  195. package/corpus/templates/macros/app/components/layout/AppLayout.tsx +3 -1
  196. package/corpus/templates/macros/app/global.css +25 -9
  197. package/corpus/templates/macros/changelog/2026-06-29-macro-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
  198. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +6 -2
  199. package/corpus/templates/mail/app/global.css +42 -36
  200. package/corpus/templates/mail/app/pages/InboxPage.tsx +1 -1
  201. package/corpus/templates/mail/changelog/2026-06-29-the-contact-panel-now-adapts-to-the-available-mail-pane-width.md +6 -0
  202. package/corpus/templates/plan/app/components/layout/Layout.tsx +3 -1
  203. package/corpus/templates/plan/app/components/plan/DocumentArea.tsx +6 -7
  204. package/corpus/templates/plan/app/global.css +74 -42
  205. package/corpus/templates/plan/changelog/2026-06-29-plan-document-blocks-adapt-to-the-available-document-width.md +6 -0
  206. package/corpus/templates/plan/changelog/2026-06-29-plan-titles-and-summaries-can-be-edited-inline-without-focus.md +6 -0
  207. package/corpus/templates/slides/app/components/layout/Layout.tsx +3 -1
  208. package/corpus/templates/slides/app/global.css +49 -33
  209. package/corpus/templates/slides/changelog/2026-06-29-slide-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
  210. package/corpus/templates/videos/app/components/layout/Layout.tsx +3 -1
  211. package/corpus/templates/videos/app/global.css +35 -35
  212. package/corpus/templates/videos/changelog/2026-06-29-video-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
  213. package/dist/cli/mcp.d.ts.map +1 -1
  214. package/dist/cli/mcp.js +10 -0
  215. package/dist/cli/mcp.js.map +1 -1
  216. package/dist/cli/skills.d.ts.map +1 -1
  217. package/dist/cli/skills.js +58 -12
  218. package/dist/cli/skills.js.map +1 -1
  219. package/dist/client/AssistantChat.d.ts.map +1 -1
  220. package/dist/client/AssistantChat.js +54 -24
  221. package/dist/client/AssistantChat.js.map +1 -1
  222. package/dist/client/analytics.d.ts.map +1 -1
  223. package/dist/client/analytics.js +2 -1
  224. package/dist/client/analytics.js.map +1 -1
  225. package/dist/client/error-format.d.ts.map +1 -1
  226. package/dist/client/error-format.js +17 -0
  227. package/dist/client/error-format.js.map +1 -1
  228. package/dist/client/extensions/ExtensionViewer.d.ts.map +1 -1
  229. package/dist/client/extensions/ExtensionViewer.js +3 -4
  230. package/dist/client/extensions/ExtensionViewer.js.map +1 -1
  231. package/dist/client/guided-questions.d.ts +4 -0
  232. package/dist/client/guided-questions.d.ts.map +1 -1
  233. package/dist/client/guided-questions.js +16 -7
  234. package/dist/client/guided-questions.js.map +1 -1
  235. package/dist/client/onboarding/OnboardingPanel.js +26 -1
  236. package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
  237. package/dist/client/resources/BuiltinCapabilityDetail.d.ts.map +1 -1
  238. package/dist/client/resources/BuiltinCapabilityDetail.js +1 -1
  239. package/dist/client/resources/BuiltinCapabilityDetail.js.map +1 -1
  240. package/dist/client/resources/use-builtin-capabilities.d.ts +1 -1
  241. package/dist/client/resources/use-builtin-capabilities.d.ts.map +1 -1
  242. package/dist/client/resources/use-builtin-capabilities.js +2 -1
  243. package/dist/client/resources/use-builtin-capabilities.js.map +1 -1
  244. package/dist/client/session-replay.d.ts.map +1 -1
  245. package/dist/client/session-replay.js +31 -0
  246. package/dist/client/session-replay.js.map +1 -1
  247. package/dist/client/sharing/ShareButton.d.ts +14 -0
  248. package/dist/client/sharing/ShareButton.d.ts.map +1 -1
  249. package/dist/client/sharing/ShareButton.js +36 -7
  250. package/dist/client/sharing/ShareButton.js.map +1 -1
  251. package/dist/coding-tools/index.js +1 -1
  252. package/dist/coding-tools/index.js.map +1 -1
  253. package/dist/collab/routes.d.ts +1 -1
  254. package/dist/mcp/index.d.ts +2 -0
  255. package/dist/mcp/index.d.ts.map +1 -1
  256. package/dist/mcp/index.js +1 -0
  257. package/dist/mcp/index.js.map +1 -1
  258. package/dist/mcp/screen-memory-stdio.d.ts +6 -0
  259. package/dist/mcp/screen-memory-stdio.d.ts.map +1 -0
  260. package/dist/mcp/screen-memory-stdio.js +213 -0
  261. package/dist/mcp/screen-memory-stdio.js.map +1 -0
  262. package/dist/mcp-client/builtin-capabilities.d.ts +1 -1
  263. package/dist/mcp-client/builtin-capabilities.d.ts.map +1 -1
  264. package/dist/mcp-client/builtin-capabilities.js +10 -0
  265. package/dist/mcp-client/builtin-capabilities.js.map +1 -1
  266. package/dist/mcp-client/index.d.ts +1 -0
  267. package/dist/mcp-client/index.d.ts.map +1 -1
  268. package/dist/mcp-client/index.js +1 -0
  269. package/dist/mcp-client/index.js.map +1 -1
  270. package/dist/mcp-client/screen-memory-local.d.ts +61 -0
  271. package/dist/mcp-client/screen-memory-local.d.ts.map +1 -0
  272. package/dist/mcp-client/screen-memory-local.js +336 -0
  273. package/dist/mcp-client/screen-memory-local.js.map +1 -0
  274. package/dist/onboarding/types.d.ts +7 -0
  275. package/dist/onboarding/types.d.ts.map +1 -1
  276. package/dist/onboarding/types.js.map +1 -1
  277. package/dist/resources/handlers.d.ts +2 -2
  278. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  279. package/dist/server/agent-chat-plugin.js +26 -0
  280. package/dist/server/agent-chat-plugin.js.map +1 -1
  281. package/dist/server/agents-bundle.d.ts.map +1 -1
  282. package/dist/server/agents-bundle.js +22 -7
  283. package/dist/server/agents-bundle.js.map +1 -1
  284. package/dist/server/transcribe-voice.d.ts +1 -1
  285. package/dist/styles/agent-native.css +5 -0
  286. package/dist/templates/default/app/global.css +35 -35
  287. package/docs/content/locales/ar-SA/template-design.mdx +6 -0
  288. package/docs/content/locales/de-DE/template-design.mdx +8 -0
  289. package/docs/content/locales/es-ES/template-design.mdx +10 -2
  290. package/docs/content/locales/fr-FR/template-design.mdx +10 -2
  291. package/docs/content/locales/hi-IN/template-design.mdx +7 -0
  292. package/docs/content/locales/ja-JP/template-design.mdx +7 -0
  293. package/docs/content/locales/ko-KR/template-design.mdx +7 -0
  294. package/docs/content/locales/pt-BR/template-design.mdx +9 -2
  295. package/docs/content/locales/zh-CN/template-design.mdx +6 -0
  296. package/docs/content/locales/zh-TW/template-design.mdx +6 -0
  297. package/docs/content/template-design.mdx +9 -2
  298. package/package.json +1 -1
  299. package/src/templates/default/app/global.css +35 -35
  300. package/corpus/templates/design/app/components/design/VariantGrid.tsx +0 -189
  301. package/corpus/templates/design/app/components/design/VariantHandoffCard.tsx +0 -115
  302. package/corpus/templates/design/app/hooks/use-variant-flow.ts +0 -258
@@ -38,6 +38,7 @@ export interface DesignGenerationSession {
38
38
  prompt: string;
39
39
  contextRefs: string[];
40
40
  frames: DesignGenerationFrame[];
41
+ startedAt: string;
41
42
  }
42
43
 
43
44
  export interface AgentCanvasPresence {
@@ -60,3 +61,44 @@ export function clampGenerationProgress(progress: number | undefined): number {
60
61
  if (!Number.isFinite(progress)) return 0;
61
62
  return Math.max(0, Math.min(1, progress ?? 0));
62
63
  }
64
+
65
+ export function updateGenerationSessionWithSavedFiles(
66
+ session: DesignGenerationSession,
67
+ savedFilenames: Iterable<string>,
68
+ ): DesignGenerationSession {
69
+ const saved = new Set(
70
+ Array.from(savedFilenames).filter(
71
+ (filename): filename is string =>
72
+ typeof filename === "string" && !!filename,
73
+ ),
74
+ );
75
+ if (saved.size === 0) return session;
76
+
77
+ let changed = false;
78
+ const frames = session.frames.map((frame) => {
79
+ if (
80
+ !frame.filename ||
81
+ !saved.has(frame.filename) ||
82
+ frame.status === "done"
83
+ ) {
84
+ return frame;
85
+ }
86
+ changed = true;
87
+ return {
88
+ ...frame,
89
+ status: "done" as const,
90
+ step: "Saved",
91
+ progress: 1,
92
+ };
93
+ });
94
+
95
+ if (!changed) return session;
96
+
97
+ return {
98
+ ...session,
99
+ status: frames.every((frame) => frame.status === "done")
100
+ ? "done"
101
+ : "generating",
102
+ frames,
103
+ };
104
+ }
@@ -9,63 +9,63 @@
9
9
 
10
10
  :root {
11
11
  --background: 0 0% 100%;
12
- --foreground: 220 10% 10%;
12
+ --foreground: 0 0% 10%;
13
13
  --card: 0 0% 100%;
14
- --card-foreground: 220 10% 10%;
14
+ --card-foreground: 0 0% 10%;
15
15
  --popover: 0 0% 100%;
16
- --popover-foreground: 220 10% 10%;
17
- --primary: 220 10% 15%;
16
+ --popover-foreground: 0 0% 10%;
17
+ --primary: 0 0% 15%;
18
18
  --primary-foreground: 0 0% 100%;
19
- --secondary: 220 10% 95%;
20
- --secondary-foreground: 220 10% 15%;
21
- --muted: 220 10% 95%;
22
- --muted-foreground: 220 5% 45%;
23
- --accent: 220 10% 95%;
24
- --accent-foreground: 220 10% 15%;
19
+ --secondary: 0 0% 95%;
20
+ --secondary-foreground: 0 0% 15%;
21
+ --muted: 0 0% 95%;
22
+ --muted-foreground: 0 0% 45%;
23
+ --accent: 0 0% 95%;
24
+ --accent-foreground: 0 0% 15%;
25
25
  --destructive: 0 84% 60%;
26
26
  --destructive-foreground: 0 0% 98%;
27
- --border: 220 10% 90%;
28
- --input: 220 10% 90%;
29
- --ring: 220 10% 40%;
27
+ --border: 0 0% 90%;
28
+ --input: 0 0% 90%;
29
+ --ring: 0 0% 40%;
30
30
  --radius: 0.5rem;
31
- --sidebar-background: 220 10% 97%;
32
- --sidebar-foreground: 220 5% 45%;
33
- --sidebar-primary: 220 10% 15%;
31
+ --sidebar-background: 0 0% 97%;
32
+ --sidebar-foreground: 0 0% 45%;
33
+ --sidebar-primary: 0 0% 15%;
34
34
  --sidebar-primary-foreground: 0 0% 100%;
35
- --sidebar-accent: 220 10% 95%;
36
- --sidebar-accent-foreground: 220 10% 15%;
37
- --sidebar-border: 220 10% 90%;
38
- --sidebar-ring: 220 10% 40%;
35
+ --sidebar-accent: 0 0% 95%;
36
+ --sidebar-accent-foreground: 0 0% 15%;
37
+ --sidebar-border: 0 0% 90%;
38
+ --sidebar-ring: 0 0% 40%;
39
39
  }
40
40
 
41
41
  .dark {
42
- --background: 220 6% 6%;
42
+ --background: 0 0% 13%;
43
43
  --foreground: 0 0% 90%;
44
- --card: 220 5% 6%;
44
+ --card: 0 0% 15%;
45
45
  --card-foreground: 0 0% 90%;
46
- --popover: 220 5% 6%;
46
+ --popover: 0 0% 15%;
47
47
  --popover-foreground: 0 0% 90%;
48
48
  --primary: 0 0% 75%;
49
- --primary-foreground: 220 6% 6%;
50
- --secondary: 220 4% 12%;
49
+ --primary-foreground: 0 0% 10%;
50
+ --secondary: 0 0% 18%;
51
51
  --secondary-foreground: 0 0% 90%;
52
- --muted: 220 4% 10%;
53
- --muted-foreground: 220 4% 60%;
54
- --accent: 220 4% 13%;
52
+ --muted: 0 0% 16%;
53
+ --muted-foreground: 0 0% 60%;
54
+ --accent: 0 0% 18%;
55
55
  --accent-foreground: 0 0% 90%;
56
56
  --destructive: 0 63% 51%;
57
57
  --destructive-foreground: 0 0% 98%;
58
- --border: 220 4% 14%;
59
- --input: 220 4% 14%;
58
+ --border: 0 0% 24%;
59
+ --input: 0 0% 24%;
60
60
  --ring: 0 0% 60%;
61
61
  --radius: 0.5rem;
62
- --sidebar-background: 220 6% 4%;
63
- --sidebar-foreground: 220 4% 60%;
62
+ --sidebar-background: 0 0% 10%;
63
+ --sidebar-foreground: 0 0% 60%;
64
64
  --sidebar-primary: 0 0% 75%;
65
- --sidebar-primary-foreground: 220 6% 6%;
66
- --sidebar-accent: 220 4% 10%;
65
+ --sidebar-primary-foreground: 0 0% 10%;
66
+ --sidebar-accent: 0 0% 16%;
67
67
  --sidebar-accent-foreground: 0 0% 90%;
68
- --sidebar-border: 220 4% 10%;
68
+ --sidebar-border: 0 0% 20%;
69
69
  --sidebar-ring: 0 0% 60%;
70
70
  }
71
71
 
@@ -77,6 +77,50 @@
77
77
  }
78
78
  }
79
79
 
80
+ @container agent-native-main (min-width: 720px) {
81
+ .dispatch-connection-meta-grid,
82
+ .dispatch-integrations-summary-grid,
83
+ .dispatch-onboarding-steps-grid,
84
+ .dispatch-provider-grid {
85
+ grid-template-columns: repeat(2, minmax(0, 1fr));
86
+ }
87
+ }
88
+
89
+ @container agent-native-main (min-width: 900px) {
90
+ .dispatch-connection-card-grid {
91
+ grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
92
+ }
93
+
94
+ .dispatch-onboarding-grid {
95
+ grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.6fr);
96
+ align-items: center;
97
+ }
98
+ }
99
+
100
+ @container agent-native-main (min-width: 1080px) {
101
+ .dispatch-provider-grid {
102
+ grid-template-columns: repeat(3, minmax(0, 1fr));
103
+ }
104
+
105
+ .dispatch-connection-meta-grid {
106
+ grid-template-columns: repeat(4, minmax(0, 1fr));
107
+ }
108
+
109
+ .dispatch-integrations-summary-grid {
110
+ grid-template-columns: repeat(4, minmax(0, 1fr));
111
+ }
112
+
113
+ .dispatch-onboarding-steps-grid {
114
+ grid-template-columns: repeat(3, minmax(0, 1fr));
115
+ }
116
+ }
117
+
118
+ @container agent-native-main (min-width: 1240px) {
119
+ .dispatch-integrations-summary-grid[data-usage-tracked="true"] {
120
+ grid-template-columns: repeat(5, minmax(0, 1fr));
121
+ }
122
+ }
123
+
80
124
  ::-webkit-scrollbar {
81
125
  width: 5px;
82
126
  height: 5px;
@@ -828,7 +828,7 @@ function ConnectionRow({
828
828
  connection.status === "disabled";
829
829
  return (
830
830
  <article className="rounded-lg border bg-card shadow-sm">
831
- <div className="grid gap-4 p-4 lg:grid-cols-[minmax(0,1fr)_minmax(320px,0.9fr)]">
831
+ <div className="dispatch-connection-card-grid grid gap-4 p-4">
832
832
  <div className="min-w-0 space-y-3">
833
833
  <div className="flex flex-wrap items-start justify-between gap-3">
834
834
  <div className="flex min-w-0 items-start gap-3">
@@ -886,7 +886,7 @@ function ConnectionRow({
886
886
  </div>
887
887
  </div>
888
888
 
889
- <div className="grid gap-2 sm:grid-cols-2 xl:grid-cols-4">
889
+ <div className="dispatch-connection-meta-grid grid gap-2">
890
890
  <ConnectionMeta
891
891
  icon={IconKey}
892
892
  label={t("integrations.credentialRefs")}
@@ -2365,9 +2365,10 @@ export default function WorkspaceIntegrationsRoute() {
2365
2365
  >
2366
2366
  <div className="space-y-6">
2367
2367
  <section
2368
+ data-usage-tracked={usageTracked ? "true" : undefined}
2368
2369
  className={cx(
2369
- "grid gap-3 md:grid-cols-2",
2370
- usageTracked ? "xl:grid-cols-5" : "xl:grid-cols-4",
2370
+ "dispatch-integrations-summary-grid grid gap-3",
2371
+ usageTracked && "dispatch-integrations-summary-grid-tracked",
2371
2372
  )}
2372
2373
  >
2373
2374
  <SummaryCard
@@ -2452,7 +2453,7 @@ export default function WorkspaceIntegrationsRoute() {
2452
2453
  </p>
2453
2454
  </div>
2454
2455
  </div>
2455
- <div className="grid gap-3 md:grid-cols-2 xl:grid-cols-3">
2456
+ <div className="dispatch-provider-grid grid gap-3">
2456
2457
  {providers.map((provider) => (
2457
2458
  <ProviderCard
2458
2459
  key={provider.id}
@@ -2586,7 +2587,7 @@ function IntegrationOnboarding() {
2586
2587
 
2587
2588
  return (
2588
2589
  <section className="rounded-lg border bg-card px-4 py-3 shadow-sm">
2589
- <div className="grid gap-3 lg:grid-cols-[minmax(0,0.9fr)_minmax(0,1.6fr)] lg:items-center">
2590
+ <div className="dispatch-onboarding-grid grid gap-3">
2590
2591
  <div>
2591
2592
  <h2 className="text-sm font-semibold text-foreground">
2592
2593
  {t("integrations.onboardingTitle")}
@@ -2595,7 +2596,7 @@ function IntegrationOnboarding() {
2595
2596
  {t("integrations.onboardingDescription")}
2596
2597
  </p>
2597
2598
  </div>
2598
- <div className="grid gap-2 sm:grid-cols-3">
2599
+ <div className="dispatch-onboarding-steps-grid grid gap-2">
2599
2600
  {steps.map((step) => {
2600
2601
  const Icon = step.icon;
2601
2602
  return (
@@ -0,0 +1,6 @@
1
+ ---
2
+ type: fixed
3
+ date: 2026-06-29
4
+ ---
5
+
6
+ Integration layouts now adapt cleanly when the agent sidebar narrows the app.
@@ -80,7 +80,9 @@ export function Layout({ children }: LayoutProps) {
80
80
  <div className="agent-layout-main-surface flex min-w-0 flex-1 overflow-hidden">
81
81
  <div className="flex h-full flex-1 flex-col overflow-hidden">
82
82
  <InvitationBanner />
83
- <main className="flex-1 overflow-hidden">{children}</main>
83
+ <main className="agent-native-app-main flex-1 overflow-hidden">
84
+ {children}
85
+ </main>
84
86
  </div>
85
87
  </div>
86
88
  ) : (
@@ -103,7 +105,9 @@ export function Layout({ children }: LayoutProps) {
103
105
  <div className="flex h-full flex-1 flex-col overflow-hidden">
104
106
  {showHeader ? <Header /> : null}
105
107
  <InvitationBanner />
106
- <main className="flex-1 overflow-auto">{children}</main>
108
+ <main className="agent-native-app-main flex-1 overflow-auto">
109
+ {children}
110
+ </main>
107
111
  </div>
108
112
  </AgentSidebar>
109
113
  )}
@@ -8,64 +8,64 @@
8
8
 
9
9
  :root {
10
10
  --background: 0 0% 100%;
11
- --foreground: 220 10% 10%;
11
+ --foreground: 0 0% 10%;
12
12
  --card: 0 0% 100%;
13
- --card-foreground: 220 10% 10%;
13
+ --card-foreground: 0 0% 10%;
14
14
  --popover: 0 0% 100%;
15
- --popover-foreground: 220 10% 10%;
16
- --primary: 220 10% 15%;
15
+ --popover-foreground: 0 0% 10%;
16
+ --primary: 0 0% 15%;
17
17
  --primary-foreground: 0 0% 100%;
18
- --secondary: 220 10% 95%;
19
- --secondary-foreground: 220 10% 15%;
20
- --muted: 220 10% 95%;
21
- --muted-foreground: 220 5% 45%;
22
- --accent: 220 10% 95%;
23
- --accent-foreground: 220 10% 15%;
18
+ --secondary: 0 0% 95%;
19
+ --secondary-foreground: 0 0% 15%;
20
+ --muted: 0 0% 95%;
21
+ --muted-foreground: 0 0% 45%;
22
+ --accent: 0 0% 95%;
23
+ --accent-foreground: 0 0% 15%;
24
24
  --destructive: 0 84% 60%;
25
25
  --destructive-foreground: 0 0% 98%;
26
- --border: 220 10% 90%;
27
- --input: 220 10% 90%;
28
- --ring: 220 10% 40%;
26
+ --border: 0 0% 90%;
27
+ --input: 0 0% 90%;
28
+ --ring: 0 0% 40%;
29
29
  --radius: 0.5rem;
30
30
 
31
- --sidebar-background: 220 10% 97%;
32
- --sidebar-foreground: 220 5% 45%;
33
- --sidebar-primary: 220 10% 15%;
31
+ --sidebar-background: 0 0% 97%;
32
+ --sidebar-foreground: 0 0% 45%;
33
+ --sidebar-primary: 0 0% 15%;
34
34
  --sidebar-primary-foreground: 0 0% 100%;
35
- --sidebar-accent: 220 10% 95%;
36
- --sidebar-accent-foreground: 220 10% 15%;
37
- --sidebar-border: 220 10% 90%;
38
- --sidebar-ring: 220 10% 40%;
35
+ --sidebar-accent: 0 0% 95%;
36
+ --sidebar-accent-foreground: 0 0% 15%;
37
+ --sidebar-border: 0 0% 90%;
38
+ --sidebar-ring: 0 0% 40%;
39
39
  }
40
40
 
41
41
  .dark {
42
- --background: 220 6% 6%;
42
+ --background: 0 0% 13%;
43
43
  --foreground: 0 0% 90%;
44
- --card: 220 5% 6%;
44
+ --card: 0 0% 15%;
45
45
  --card-foreground: 0 0% 90%;
46
- --popover: 220 5% 6%;
46
+ --popover: 0 0% 15%;
47
47
  --popover-foreground: 0 0% 90%;
48
48
  --primary: 0 0% 75%;
49
- --primary-foreground: 220 6% 6%;
50
- --secondary: 220 4% 12%;
49
+ --primary-foreground: 0 0% 10%;
50
+ --secondary: 0 0% 18%;
51
51
  --secondary-foreground: 0 0% 90%;
52
- --muted: 220 4% 10%;
53
- --muted-foreground: 220 4% 60%;
54
- --accent: 220 4% 13%;
52
+ --muted: 0 0% 16%;
53
+ --muted-foreground: 0 0% 60%;
54
+ --accent: 0 0% 18%;
55
55
  --accent-foreground: 0 0% 90%;
56
56
  --destructive: 0 63% 51%;
57
57
  --destructive-foreground: 0 0% 98%;
58
- --border: 220 4% 14%;
59
- --input: 220 4% 14%;
58
+ --border: 0 0% 24%;
59
+ --input: 0 0% 24%;
60
60
  --ring: 0 0% 60%;
61
61
 
62
- --sidebar-background: 220 6% 4%;
63
- --sidebar-foreground: 220 4% 60%;
62
+ --sidebar-background: 0 0% 10%;
63
+ --sidebar-foreground: 0 0% 60%;
64
64
  --sidebar-primary: 0 0% 75%;
65
- --sidebar-primary-foreground: 220 6% 6%;
66
- --sidebar-accent: 220 4% 10%;
65
+ --sidebar-primary-foreground: 0 0% 10%;
66
+ --sidebar-accent: 0 0% 16%;
67
67
  --sidebar-accent-foreground: 0 0% 90%;
68
- --sidebar-border: 220 4% 10%;
68
+ --sidebar-border: 0 0% 20%;
69
69
  --sidebar-ring: 0 0% 60%;
70
70
  }
71
71
 
@@ -113,6 +113,35 @@
113
113
  filter: none;
114
114
  }
115
115
 
116
+ @container agent-native-main (min-width: 640px) {
117
+ .forms-response-metrics-grid {
118
+ grid-template-columns: repeat(2, minmax(0, 1fr));
119
+ }
120
+ }
121
+
122
+ @container agent-native-main (min-width: 720px) {
123
+ .forms-list-skeleton-row {
124
+ grid-template-columns: minmax(0, 1fr) 120px 120px 80px;
125
+ }
126
+
127
+ .forms-list-row {
128
+ grid-template-columns: minmax(0, 1fr) 110px 140px 88px 40px;
129
+ align-items: center;
130
+ }
131
+ }
132
+
133
+ @container agent-native-main (min-width: 960px) {
134
+ .forms-response-insights-grid {
135
+ grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
136
+ }
137
+ }
138
+
139
+ @container agent-native-main (min-width: 1180px) {
140
+ .forms-response-metrics-grid {
141
+ grid-template-columns: repeat(4, minmax(0, 1fr));
142
+ }
143
+ }
144
+
116
145
  .forms-ask-chat-panel
117
146
  [data-agent-empty-state="centered"]
118
147
  .agent-composer-area--hero {
@@ -273,7 +273,7 @@ export function FormsListPage() {
273
273
  {Array.from({ length: 6 }).map((_, i) => (
274
274
  <div
275
275
  key={i}
276
- className="grid gap-3 border-b border-border px-3 py-3 last:border-b-0 md:grid-cols-[minmax(0,1fr)_120px_120px_80px]"
276
+ className="forms-list-skeleton-row grid gap-3 border-b border-border px-3 py-3 last:border-b-0"
277
277
  >
278
278
  <div className="min-w-0 space-y-2">
279
279
  <Skeleton className="h-4 w-3/4" />
@@ -459,7 +459,7 @@ export function FormsListPage() {
459
459
  <div
460
460
  key={form.id}
461
461
  className={cn(
462
- "group grid cursor-pointer gap-3 border-b border-border px-3 py-3 last:border-b-0 md:grid-cols-[minmax(0,1fr)_110px_140px_88px_40px] md:items-center",
462
+ "forms-list-row group grid cursor-pointer gap-3 border-b border-border px-3 py-3 last:border-b-0",
463
463
  isArchive
464
464
  ? "opacity-80 hover:opacity-100 hover:bg-accent/25"
465
465
  : "hover:bg-accent/25",
@@ -119,7 +119,7 @@ function LoadingState() {
119
119
  return (
120
120
  <div className="space-y-4 p-4">
121
121
  <Skeleton className="h-10 w-72" />
122
- <div className="grid gap-3 sm:grid-cols-4">
122
+ <div className="forms-response-metrics-grid grid gap-3">
123
123
  {Array.from({ length: 4 }).map((_, index) => (
124
124
  <Skeleton key={index} className="h-20 rounded-md" />
125
125
  ))}
@@ -204,9 +204,9 @@ export function ResponseInsightsPage() {
204
204
  </Button>
205
205
  </header>
206
206
 
207
- <main className="grid gap-4 p-4 lg:grid-cols-[minmax(0,1fr)_minmax(360px,0.9fr)]">
207
+ <main className="forms-response-insights-grid grid gap-4 p-4">
208
208
  <section className="space-y-4">
209
- <div className="grid gap-3 sm:grid-cols-2 xl:grid-cols-4">
209
+ <div className="forms-response-metrics-grid grid gap-3">
210
210
  <Metric
211
211
  label="Responses"
212
212
  value={formatNumber(summary.responses)}
@@ -0,0 +1,6 @@
1
+ ---
2
+ type: fixed
3
+ date: 2026-06-29
4
+ ---
5
+
6
+ Form lists and response insights now adapt cleanly when the agent sidebar narrows the app.
@@ -163,7 +163,9 @@ export function AppLayout({ children }: { children: React.ReactNode }) {
163
163
  {/* Page content */}
164
164
  <div className="agent-layout-main-surface flex min-w-0 flex-1 flex-col overflow-hidden">
165
165
  <Header onOpenSidebar={() => setSidebarOpen(true)} />
166
- <main className="min-w-0 flex-1 overflow-y-auto">{children}</main>
166
+ <main className="agent-native-app-main min-w-0 flex-1 overflow-y-auto">
167
+ {children}
168
+ </main>
167
169
  </div>
168
170
  <SyncIndicator sidebarCollapsed={desktopSidebarCollapsed} />
169
171
  </div>
@@ -8,26 +8,34 @@
8
8
  @source "./**/*.{ts,tsx}";
9
9
 
10
10
  :root {
11
- --background: 0 0% 4%;
11
+ --background: 0 0% 13%;
12
12
  --foreground: 0 0% 98%;
13
- --card: 0 0% 6%;
13
+ --card: 0 0% 15%;
14
14
  --card-foreground: 0 0% 98%;
15
- --popover: 0 0% 6%;
15
+ --popover: 0 0% 15%;
16
16
  --popover-foreground: 0 0% 98%;
17
17
  --primary: 0 0% 98%;
18
- --primary-foreground: 0 0% 4%;
19
- --secondary: 0 0% 10%;
18
+ --primary-foreground: 0 0% 10%;
19
+ --secondary: 0 0% 18%;
20
20
  --secondary-foreground: 0 0% 96%;
21
- --muted: 0 0% 14%;
21
+ --muted: 0 0% 16%;
22
22
  --muted-foreground: 0 0% 50%;
23
- --accent: 0 0% 12%;
23
+ --accent: 0 0% 18%;
24
24
  --accent-foreground: 0 0% 98%;
25
25
  --destructive: 0 72% 51%;
26
26
  --destructive-foreground: 0 0% 98%;
27
- --border: 0 0% 14%;
28
- --input: 0 0% 14%;
27
+ --border: 0 0% 24%;
28
+ --input: 0 0% 24%;
29
29
  --ring: 0 0% 35%;
30
30
  --radius: 0.75rem;
31
+ --sidebar-background: 0 0% 10%;
32
+ --sidebar-foreground: 0 0% 50%;
33
+ --sidebar-primary: 0 0% 98%;
34
+ --sidebar-primary-foreground: 0 0% 10%;
35
+ --sidebar-accent: 0 0% 16%;
36
+ --sidebar-accent-foreground: 0 0% 98%;
37
+ --sidebar-border: 0 0% 20%;
38
+ --sidebar-ring: 0 0% 35%;
31
39
  }
32
40
 
33
41
  .light {
@@ -50,6 +58,14 @@
50
58
  --border: 0 0% 90%;
51
59
  --input: 0 0% 90%;
52
60
  --ring: 0 0% 20%;
61
+ --sidebar-background: 0 0% 98%;
62
+ --sidebar-foreground: 0 0% 45%;
63
+ --sidebar-primary: 0 0% 8%;
64
+ --sidebar-primary-foreground: 0 0% 100%;
65
+ --sidebar-accent: 0 0% 94%;
66
+ --sidebar-accent-foreground: 0 0% 8%;
67
+ --sidebar-border: 0 0% 90%;
68
+ --sidebar-ring: 0 0% 20%;
53
69
  }
54
70
 
55
71
  @layer base {
@@ -0,0 +1,6 @@
1
+ ---
2
+ type: improved
3
+ date: 2026-06-29
4
+ ---
5
+
6
+ Macro layouts adapt when the agent sidebar is open.
@@ -1798,7 +1798,9 @@ function AppLayoutInner({ children }: AppLayoutProps) {
1798
1798
  view !== "draft-queue" ? (
1799
1799
  <GoogleConnectBanner variant="hero" />
1800
1800
  ) : (
1801
- <main className="flex flex-1 overflow-hidden">{children}</main>
1801
+ <main className="agent-native-app-main flex flex-1 overflow-hidden">
1802
+ {children}
1803
+ </main>
1802
1804
  )}
1803
1805
  </div>
1804
1806
  </div>
@@ -2120,7 +2122,9 @@ function StandardLayout({ children }: AppLayoutProps) {
2120
2122
 
2121
2123
  <InvitationBanner />
2122
2124
 
2123
- <main className="flex flex-1 overflow-hidden">{children}</main>
2125
+ <main className="agent-native-app-main flex flex-1 overflow-hidden">
2126
+ {children}
2127
+ </main>
2124
2128
  </div>
2125
2129
  );
2126
2130
  }