@agent-native/core 0.165.3 → 0.167.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 (249) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/templates/analytics/.agents/skills/secrets/SKILL.md +5 -1
  3. package/corpus/templates/analytics/.agents/skills/workspace-conventions/SKILL.md +4 -1
  4. package/corpus/templates/analytics/CHANGELOG.md +740 -2
  5. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +93 -56
  6. package/corpus/templates/analytics/app/i18n-data.ts +23 -20
  7. package/corpus/templates/analytics/app/pages/Settings.tsx +0 -1
  8. package/corpus/templates/analytics/app/pages/adhoc/explorer/index.tsx +0 -1
  9. package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +1 -1
  10. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/SqlChartCard.tsx +2 -1
  11. package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +0 -1
  12. package/corpus/templates/analytics/server/lib/first-party-analytics-backend.ts +0 -32
  13. package/corpus/templates/analytics/server/lib/session-replay.ts +1 -5
  14. package/corpus/templates/assets/.agents/skills/secrets/SKILL.md +5 -1
  15. package/corpus/templates/assets/.agents/skills/workspace-conventions/SKILL.md +4 -1
  16. package/corpus/templates/assets/CHANGELOG.md +204 -2
  17. package/corpus/templates/assets/actions/navigate.ts +2 -2
  18. package/corpus/templates/assets/actions/save-generated-image.ts +0 -5
  19. package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +2 -262
  20. package/corpus/templates/assets/app/routes/library.tsx +1 -1
  21. package/corpus/templates/assets/app/routes/settings.tsx +0 -3
  22. package/corpus/templates/brain/.agents/skills/secrets/SKILL.md +5 -1
  23. package/corpus/templates/brain/.agents/skills/workspace-conventions/SKILL.md +4 -1
  24. package/corpus/templates/brain/CHANGELOG.md +145 -2
  25. package/corpus/templates/brain/actions/ask-brain.ts +0 -1
  26. package/corpus/templates/brain/actions/navigate.ts +2 -2
  27. package/corpus/templates/brain/app/routes/sources.tsx +0 -4
  28. package/corpus/templates/brain/server/lib/capture-sanitization.ts +0 -11
  29. package/corpus/templates/calendar/.agents/skills/secrets/SKILL.md +5 -1
  30. package/corpus/templates/calendar/.agents/skills/workspace-conventions/SKILL.md +4 -1
  31. package/corpus/templates/calendar/CHANGELOG.md +272 -2
  32. package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +0 -20
  33. package/corpus/templates/calendar/app/pages/CalendarView.tsx +0 -1
  34. package/corpus/templates/chat/.agents/skills/secrets/SKILL.md +5 -1
  35. package/corpus/templates/chat/.agents/skills/workspace-conventions/SKILL.md +4 -1
  36. package/corpus/templates/chat/CHANGELOG.md +89 -2
  37. package/corpus/templates/chat/actions/navigate.ts +2 -2
  38. package/corpus/templates/clips/.agents/skills/secrets/SKILL.md +5 -1
  39. package/corpus/templates/clips/.agents/skills/workspace-conventions/SKILL.md +4 -1
  40. package/corpus/templates/clips/CHANGELOG.md +865 -2
  41. package/corpus/templates/clips/actions/import-loom-recording.ts +16 -4
  42. package/corpus/templates/clips/actions/navigate.ts +2 -2
  43. package/corpus/templates/clips/app/components/editor/stitch-manager.tsx +0 -1
  44. package/corpus/templates/clips/app/components/library/space-dialogs.tsx +0 -1
  45. package/corpus/templates/clips/app/components/meetings/share-meeting-dialog.tsx +0 -1
  46. package/corpus/templates/clips/app/components/player/clips-share-trigger.tsx +17 -0
  47. package/corpus/templates/clips/app/components/player/delete-recording-menu.tsx +3 -3
  48. package/corpus/templates/clips/app/components/player/video-player.tsx +2 -2
  49. package/corpus/templates/clips/app/components/recorder/recorder-engine.ts +0 -1
  50. package/corpus/templates/clips/app/components/settings/ai-setup-section.tsx +0 -1
  51. package/corpus/templates/clips/app/global.css +31 -0
  52. package/corpus/templates/clips/app/hooks/use-playback-position.ts +0 -2
  53. package/corpus/templates/clips/app/lib/download-release-channel.ts +10 -0
  54. package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +1 -3
  55. package/corpus/templates/clips/app/routes/download.tsx +67 -44
  56. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +7 -12
  57. package/corpus/templates/clips/app/routes/record.tsx +6 -6
  58. package/corpus/templates/clips/app/routes/share.$shareId.tsx +26 -29
  59. package/corpus/templates/clips/changelog/2026-08-20-clip-viewer-share-actions.md +6 -0
  60. package/corpus/templates/clips/changelog/2026-08-20-preparing-recording-countdown-overlay.md +6 -0
  61. package/corpus/templates/clips/chrome-extension/src/background.ts +0 -13
  62. package/corpus/templates/clips/chrome-extension/src/overlay.ts +0 -1
  63. package/corpus/templates/clips/chrome-extension/src/popup.ts +0 -20
  64. package/corpus/templates/clips/desktop/src/app.tsx +6 -18
  65. package/corpus/templates/clips/desktop/src/hooks/useMediaDevices.ts +0 -1
  66. package/corpus/templates/clips/desktop/src/lib/recorder.ts +0 -8
  67. package/corpus/templates/clips/desktop/src/overlays/preparing.tsx +4 -6
  68. package/corpus/templates/clips/desktop/src/styles.css +18 -20
  69. package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +9 -17
  70. package/corpus/templates/content/.agents/skills/secrets/SKILL.md +5 -1
  71. package/corpus/templates/content/.agents/skills/workspace-conventions/SKILL.md +4 -1
  72. package/corpus/templates/content/CHANGELOG.md +503 -2
  73. package/corpus/templates/content/actions/_database-source-utils.ts +0 -3
  74. package/corpus/templates/content/actions/attach-content-database-source.ts +1 -4
  75. package/corpus/templates/content/actions/navigate.ts +2 -2
  76. package/corpus/templates/content/actions/prepare-builder-source-execution.ts +1 -1
  77. package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +0 -6
  78. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +0 -580
  79. package/corpus/templates/content/app/components/editor/database/FormView.tsx +2 -2
  80. package/corpus/templates/content/app/components/editor/database/filter-sort.ts +1 -1
  81. package/corpus/templates/content/app/components/editor/database/settings.tsx +0 -23
  82. package/corpus/templates/content/app/components/editor/database/sidebar.tsx +0 -1
  83. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +8 -304
  84. package/corpus/templates/content/app/hooks/use-documents.ts +0 -1
  85. package/corpus/templates/content/shared/api.ts +0 -1
  86. package/corpus/templates/content/shared/builder-mdx.ts +0 -1
  87. package/corpus/templates/content/shared/nfm.ts +1 -7
  88. package/corpus/templates/crm/.agents/skills/secrets/SKILL.md +5 -1
  89. package/corpus/templates/crm/.agents/skills/workspace-conventions/SKILL.md +4 -1
  90. package/corpus/templates/crm/CHANGELOG.md +31 -2
  91. package/corpus/templates/crm/actions/merge-crm-records.ts +0 -4
  92. package/corpus/templates/crm/app/components/crm/record/RecordLists.tsx +0 -1
  93. package/corpus/templates/crm/server/crm/hubspot-adapter.ts +0 -1
  94. package/corpus/templates/crm/server/crm/salesforce-adapter.ts +0 -1
  95. package/corpus/templates/crm/server/db/crm-store.ts +1 -1
  96. package/corpus/templates/design/.agents/skills/secrets/SKILL.md +5 -1
  97. package/corpus/templates/design/.agents/skills/workspace-conventions/SKILL.md +4 -1
  98. package/corpus/templates/design/.generated/bridge/editor-chrome.generated.ts +1 -14
  99. package/corpus/templates/design/AGENTS.md +2 -1
  100. package/corpus/templates/design/CHANGELOG.md +870 -2
  101. package/corpus/templates/design/actions/apply-component-prop-edit.ts +1 -5
  102. package/corpus/templates/design/actions/generate-design.ts +0 -1
  103. package/corpus/templates/design/actions/generate-screens.ts +5 -2
  104. package/corpus/templates/design/actions/go-to-main-component.ts +2 -2
  105. package/corpus/templates/design/actions/list-design-systems.ts +10 -0
  106. package/corpus/templates/design/actions/navigate.ts +2 -2
  107. package/corpus/templates/design/actions/open-component-source.ts +4 -4
  108. package/corpus/templates/design/actions/present-design-variants.ts +1 -2
  109. package/corpus/templates/design/actions/run-design-audit.ts +0 -22
  110. package/corpus/templates/design/actions/show-design-questions.ts +5 -2
  111. package/corpus/templates/design/app/components/design/DesignCanvas.tsx +19 -8
  112. package/corpus/templates/design/app/components/design/EditPanel.tsx +11 -183
  113. package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +21 -4
  114. package/corpus/templates/design/app/components/design/QuestionFlow.tsx +1 -5
  115. package/corpus/templates/design/app/components/design/bridge/codegen.ts +1 -1
  116. package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +10 -19
  117. package/corpus/templates/design/app/components/design/edit-panel/appearance-properties.tsx +1 -1
  118. package/corpus/templates/design/app/components/design/edit-panel/layout-properties.tsx +13 -3
  119. package/corpus/templates/design/app/components/design/edit-panel/panel-primitives.tsx +38 -32
  120. package/corpus/templates/design/app/components/design/edit-panel/position-layout-properties.tsx +1 -4
  121. package/corpus/templates/design/app/components/design/inspector/AlignmentMatrix.tsx +0 -4
  122. package/corpus/templates/design/app/components/design/inspector/AutoLayoutMatrix.tsx +15 -6
  123. package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +2 -2
  124. package/corpus/templates/design/app/components/visual-editor/NodeRewriteProposal.tsx +0 -1
  125. package/corpus/templates/design/app/components/visual-editor/ReviewCanvasPins.tsx +1 -1
  126. package/corpus/templates/design/app/i18n-data.ts +122 -0
  127. package/corpus/templates/design/app/lib/clipboard-content-lineage.ts +11 -1
  128. package/corpus/templates/design/app/pages/DesignEditor.tsx +50 -254
  129. package/corpus/templates/design/app/pages/DesignSystemSetup.tsx +163 -8
  130. package/corpus/templates/design/app/pages/Index.tsx +17 -0
  131. package/corpus/templates/design/app/pages/design-editor/canvas-primitive-insert.ts +44 -32
  132. package/corpus/templates/design/app/pages/design-editor/canvas-primitives.ts +10 -0
  133. package/corpus/templates/design/app/pages/design-editor/clone-and-pen-edit.ts +49 -3
  134. package/corpus/templates/design/app/pages/design-editor/clone-idrefs.ts +31 -0
  135. package/corpus/templates/design/app/pages/design-editor/code-layer-state.ts +28 -0
  136. package/corpus/templates/design/app/pages/design-editor/commands/add-auto-layout.ts +3 -3
  137. package/corpus/templates/design/app/pages/design-editor/commands/align-selection.ts +44 -14
  138. package/corpus/templates/design/app/pages/design-editor/commands/apply-local-content-update.ts +16 -5
  139. package/corpus/templates/design/app/pages/design-editor/commands/change-selected-z-index.ts +1 -1
  140. package/corpus/templates/design/app/pages/design-editor/commands/frame-selection.ts +1 -1
  141. package/corpus/templates/design/app/pages/design-editor/commands/group-selection.ts +1 -1
  142. package/corpus/templates/design/app/pages/design-editor/commands/nudge-selection.ts +1 -1
  143. package/corpus/templates/design/app/pages/design-editor/commands/paste-selection.ts +142 -17
  144. package/corpus/templates/design/app/pages/design-editor/commands/screen-visual-duplicate-change.ts +1 -0
  145. package/corpus/templates/design/app/pages/design-editor/commands/ungroup-selection.ts +1 -1
  146. package/corpus/templates/design/app/pages/design-editor/commands/visual-duplicate-change.ts +1 -0
  147. package/corpus/templates/design/app/pages/design-editor/cross-screen-text-color.ts +25 -9
  148. package/corpus/templates/design/app/pages/design-editor/editor-state.ts +1 -0
  149. package/corpus/templates/design/app/pages/design-editor/measure-child-rects.ts +83 -0
  150. package/corpus/templates/design/app/pages/design-editor/paste-placement.ts +66 -0
  151. package/corpus/templates/design/server/routes/[...page].get.ts +0 -1
  152. package/corpus/templates/design/shared/code-layer.ts +120 -70
  153. package/corpus/templates/design/shared/design-surface-index.ts +0 -1
  154. package/corpus/templates/design/shared/pen-path.ts +0 -4
  155. package/corpus/templates/dispatch/.agents/skills/secrets/SKILL.md +5 -1
  156. package/corpus/templates/dispatch/.agents/skills/workspace-conventions/SKILL.md +4 -1
  157. package/corpus/templates/dispatch/CHANGELOG.md +196 -2
  158. package/corpus/templates/dispatch/app/routes/integrations.tsx +0 -109
  159. package/corpus/templates/factory/.agents/skills/secrets/SKILL.md +5 -1
  160. package/corpus/templates/factory/.agents/skills/workspace-conventions/SKILL.md +4 -1
  161. package/corpus/templates/factory/CHANGELOG.md +121 -2
  162. package/corpus/templates/factory/actions/navigate.ts +2 -2
  163. package/corpus/templates/factory/app/components/factory/FactoryAuditView.tsx +0 -13
  164. package/corpus/templates/factory/app/routes/factory.tsx +0 -1
  165. package/corpus/templates/factory/server/factory-graph/store.ts +0 -1
  166. package/corpus/templates/forms/.agents/skills/secrets/SKILL.md +5 -1
  167. package/corpus/templates/forms/.agents/skills/workspace-conventions/SKILL.md +4 -1
  168. package/corpus/templates/forms/CHANGELOG.md +166 -2
  169. package/corpus/templates/macros/.agents/skills/secrets/SKILL.md +5 -1
  170. package/corpus/templates/macros/.agents/skills/workspace-conventions/SKILL.md +4 -1
  171. package/corpus/templates/macros/CHANGELOG.md +49 -2
  172. package/corpus/templates/macros/app/components/layout/AppLayout.tsx +0 -1
  173. package/corpus/templates/mail/.agents/skills/secrets/SKILL.md +5 -1
  174. package/corpus/templates/mail/.agents/skills/workspace-conventions/SKILL.md +4 -1
  175. package/corpus/templates/mail/CHANGELOG.md +201 -2
  176. package/corpus/templates/mail/app/components/email/EmailList.tsx +0 -1
  177. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +2 -2
  178. package/corpus/templates/mail/shared/markdown.ts +3 -0
  179. package/corpus/templates/plan/.agents/skills/secrets/SKILL.md +5 -1
  180. package/corpus/templates/plan/.agents/skills/workspace-conventions/SKILL.md +4 -1
  181. package/corpus/templates/plan/CHANGELOG.md +277 -2
  182. package/corpus/templates/slides/.agents/skills/secrets/SKILL.md +5 -1
  183. package/corpus/templates/slides/.agents/skills/workspace-conventions/SKILL.md +4 -1
  184. package/corpus/templates/slides/CHANGELOG.md +437 -2
  185. package/corpus/templates/slides/actions/add-slide.ts +0 -1
  186. package/corpus/templates/slides/actions/list-decks.ts +1 -1
  187. package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +1 -4
  188. package/corpus/templates/slides/app/components/editor/SlideContextToolbar.tsx +0 -1
  189. package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +1 -1
  190. package/corpus/templates/slides/app/pages/DeckEditor.tsx +1 -6
  191. package/corpus/templates/tasks/.agents/skills/secrets/SKILL.md +5 -1
  192. package/corpus/templates/tasks/.agents/skills/workspace-conventions/SKILL.md +4 -1
  193. package/corpus/templates/tasks/CHANGELOG.md +32 -2
  194. package/corpus/templates/tasks/app/components/layout/Layout.tsx +0 -1
  195. package/corpus/templates/tasks/app/hooks/use-visible-task-fields.ts +1 -4
  196. package/corpus/templates/tasks/server/custom-fields/store.ts +1 -6
  197. package/corpus/templates/tasks/shared/list-screen-snapshot.ts +2 -2
  198. package/dist/agent/engine/registry.js +27 -14
  199. package/dist/agent/index.d.ts +1 -1
  200. package/dist/agent/production-agent.d.ts +19 -6
  201. package/dist/agent/production-agent.js +57 -16
  202. package/dist/agent/types.d.ts +3 -0
  203. package/dist/changelog/parse.d.ts +3 -3
  204. package/dist/changelog/parse.js +35 -16
  205. package/dist/client/EnvironmentBadge.d.ts +1 -0
  206. package/dist/client/EnvironmentBadge.js +7 -0
  207. package/dist/collab/awareness.d.ts +2 -2
  208. package/dist/collab/routes.d.ts +1 -1
  209. package/dist/collab/struct-routes.d.ts +1 -1
  210. package/dist/config.d.ts +11 -0
  211. package/dist/config.js +248 -0
  212. package/dist/deploy/build.js +12 -1
  213. package/dist/index.d.ts +1 -1
  214. package/dist/notifications/routes.d.ts +3 -3
  215. package/dist/observability/routes.d.ts +6 -6
  216. package/dist/resources/handlers.d.ts +2 -2
  217. package/dist/secrets/routes.d.ts +9 -9
  218. package/dist/server/agent-chat/plugin-options.d.ts +3 -2
  219. package/dist/server/agent-chat-plugin.js +5 -2
  220. package/dist/server/index.d.ts +1 -1
  221. package/dist/server/realtime-token.d.ts +1 -1
  222. package/dist/server/transcribe-voice.d.ts +1 -1
  223. package/dist/templates/chat/.agents/skills/secrets/SKILL.md +5 -1
  224. package/dist/templates/chat/.agents/skills/workspace-conventions/SKILL.md +4 -1
  225. package/dist/templates/chat/CHANGELOG.md +89 -2
  226. package/dist/templates/chat/actions/navigate.ts +2 -2
  227. package/dist/templates/default/.agents/skills/secrets/SKILL.md +5 -1
  228. package/dist/templates/default/.agents/skills/workspace-conventions/SKILL.md +4 -1
  229. package/dist/templates/headless/.agents/skills/secrets/SKILL.md +5 -1
  230. package/dist/templates/workspace-core/.agents/skills/secrets/SKILL.md +5 -1
  231. package/dist/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +4 -1
  232. package/dist/vite/agent-native-config-loader.d.ts +1 -0
  233. package/dist/vite/agent-native-config-loader.js +3 -3
  234. package/dist/vite/agents-bundle-plugin.d.ts +1 -1
  235. package/dist/vite/agents-bundle-plugin.js +13 -1
  236. package/dist/vite/client.js +14 -14
  237. package/docs/content/agent-native-config.mdx +62 -11
  238. package/docs/content/agent-surfaces.mdx +6 -0
  239. package/docs/content/environment-variables.mdx +5 -2
  240. package/package.json +3 -3
  241. package/src/templates/chat/.agents/skills/secrets/SKILL.md +5 -1
  242. package/src/templates/chat/.agents/skills/workspace-conventions/SKILL.md +4 -1
  243. package/src/templates/chat/CHANGELOG.md +89 -2
  244. package/src/templates/chat/actions/navigate.ts +2 -2
  245. package/src/templates/default/.agents/skills/secrets/SKILL.md +5 -1
  246. package/src/templates/default/.agents/skills/workspace-conventions/SKILL.md +4 -1
  247. package/src/templates/headless/.agents/skills/secrets/SKILL.md +5 -1
  248. package/src/templates/workspace-core/.agents/skills/secrets/SKILL.md +5 -1
  249. package/src/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +4 -1
@@ -55,7 +55,10 @@ Preview before `--apply`, commit `agent-native.ejections.json`, and never edit
55
55
  ZIPs, screenshots, thumbnails, session replay chunks) in configured file/blob
56
56
  storage and persist only URLs, ids, or handles.
57
57
  - Store shared runtime configuration in the workspace root `.env`; use
58
- `apps/<app>/.env` only for app-specific overrides. Never hardcode API keys,
58
+ `apps/<app>/.env` only for app-specific overrides. For public app behavior,
59
+ prefer the default in `agent-native.config.ts` and use the deterministic
60
+ `AGENT_NATIVE_CONFIG_<UPPER_SNAKE_PATH>` alias only when a non-secret value
61
+ needs a deployment override. Never hardcode API keys,
59
62
  tokens, webhook URLs, signing secrets, private Builder/internal data, customer
60
63
  data, or credential-looking literals in source, docs, prompts, fixtures,
61
64
  application state, action responses, or generated app content. Use
@@ -3,8 +3,6 @@
3
3
  All notable user-facing changes to Agent-Native Mail are documented here. Open it any
4
4
  time from the command menu (Cmd+K → "What's new") or from Settings.
5
5
 
6
- Older updates live in [the changelog folder](./changelog/) and are included in the in-app "What's new" view.
7
-
8
6
  ## 2026-08-18
9
7
 
10
8
  ### Fixed
@@ -39,3 +37,204 @@ Older updates live in [the changelog folder](./changelog/) and are included in t
39
37
  ### Improved
40
38
 
41
39
  - Long-running mail requests now continue in the background instead of stopping at the foreground time limit.
40
+
41
+ ## 2026-08-03
42
+
43
+ ### Improved
44
+
45
+ - Inbox automations now prefer the lowest-cost Luna model when a Luna-capable provider is available.
46
+
47
+ ## 2026-07-29
48
+
49
+ ### Improved
50
+
51
+ - Sidebar footers now keep Feedback, Search, and Collapse together without a separate language shortcut.
52
+
53
+ ## 2026-07-25
54
+
55
+ ### Improved
56
+
57
+ - App branding now uses the product name without the Agent-Native prefix.
58
+ - Settings navigation now keeps Manage agent as a dedicated linked destination at the bottom.
59
+
60
+ ## 2026-07-24
61
+
62
+ ### Improved
63
+
64
+ - Secondary controls and dashboard surfaces now use quieter borderless styling.
65
+ - Sidebar utility controls now follow a consistent footer order.
66
+
67
+ ## 2026-07-23
68
+
69
+ ### Fixed
70
+
71
+ - Scheduled emails now send only once when multiple requests race.
72
+
73
+ ## 2026-07-22
74
+
75
+ ### Improved
76
+
77
+ - Manage agent navigation now uses the connected-nodes icon.
78
+
79
+ ### Fixed
80
+
81
+ - Email messages no longer flash with an unstyled page while loading
82
+
83
+ ## 2026-07-17
84
+
85
+ ### Fixed
86
+
87
+ - The agent chat sidebar stays closed until you open it or start a chat handoff.
88
+
89
+ ## 2026-07-16
90
+
91
+ ### Fixed
92
+
93
+ - Mail previews now expand to show the full message without an inner scrollbar
94
+
95
+ ## 2026-07-15
96
+
97
+ ### Fixed
98
+
99
+ - Unread inbox cleanup now completes reliably in one verified operation while preserving excluded conversations.
100
+
101
+ ## 2026-07-14
102
+
103
+ ### Added
104
+
105
+ - Connected agents can now securely upload local attachments, honor an exact send you explicitly authorized in chat, and otherwise pause real sends for browser approval.
106
+
107
+ ## 2026-07-13
108
+
109
+ ### Added
110
+
111
+ - Mail can now return a compact coverage-aware direct inventory across selected connected inboxes.
112
+ - New Agent page: see and manage your agent's context, files, connections, jobs, and external access in one place
113
+
114
+ ### Fixed
115
+
116
+ - Settings links now support opening in a new tab.
117
+
118
+ ## 2026-07-11
119
+
120
+ ### Improved
121
+
122
+ - Compose resizing and secondary-page navigation now move smoothly without sluggish layout animation.
123
+ - Swipe to archive or snooze now responds to quick flicks, not just long drags
124
+
125
+ ### Fixed
126
+
127
+ - The assistant now sees the same inbox you do — snoozed mail stays hidden and rate limits are handled gracefully
128
+
129
+ ## 2026-07-10
130
+
131
+ ### Improved
132
+
133
+ - Mail navigation now uses a clean, borderless drawer.
134
+ - Mail settings now group drafting, automation, and connected-service controls for quicker scanning.
135
+ - Slack intake settings now distinguish the legacy custom integration from the recommended workspace connection flow.
136
+
137
+ ### Fixed
138
+
139
+ - Email content backgrounds now blend cleanly with dark mode
140
+ - Fixed calendar RSVP buttons in emails firing duplicate responses after theme changes
141
+ - Organization settings now opens directly from the workspace menu.
142
+
143
+ ## 2026-07-08
144
+
145
+ ### Improved
146
+
147
+ - Rapid archive and mark-read now batch Gmail updates so the inbox stays snappy under rate limits
148
+ - Settings are redesigned with a consistent, edge-to-edge navigation and a search box that jumps straight to any setting.
149
+
150
+ ### Fixed
151
+
152
+ - Mail attachments in hosted environments now require file storage instead of falling back to database-stored file bytes.
153
+
154
+ ## 2026-07-06
155
+
156
+ ### Added
157
+
158
+ - Paste or drop images straight into the composer to send them inline
159
+ - Save reusable snippets and insert them from the compose slash menu
160
+
161
+ ### Improved
162
+
163
+ - Bulk archive, trash, star, and mark-read now complete in one fast batch
164
+ - Dark mode sidebars and notifications now use the softer gray Mail theme.
165
+ - Inbox automations pick up new mail faster
166
+ - Inbox lists stay fast as scheduled and snoozed mail accumulates
167
+ - Long inboxes scroll smoothly and stay fast as more mail loads
168
+ - Search shows instant matches from already-loaded mail while Gmail search runs
169
+
170
+ ### Fixed
171
+
172
+ - A queued draft can no longer be sent twice by simultaneous send attempts
173
+ - Scrolling older mail keeps loading correctly when no Gmail account is connected
174
+ - Sends now fail with a clear error instead of quietly missing attachments
175
+
176
+ ### Removed
177
+
178
+ - The mail header no longer shows the global notifications bell.
179
+
180
+ ## 2026-07-03
181
+
182
+ ### Improved
183
+
184
+ - Mail error screens now include a feedback button with debug context and a prefilled GitHub issue fallback.
185
+
186
+ ## 2026-06-30
187
+
188
+ ### Fixed
189
+
190
+ - Compose floating toolbars now use theme-aware colors in light and dark mode.
191
+
192
+ ## 2026-06-29
193
+
194
+ ### Fixed
195
+
196
+ - The contact panel now adapts to the available mail pane width when the agent sidebar is open.
197
+
198
+ ## 2026-06-28
199
+
200
+ ### Improved
201
+
202
+ - The pinned sidebar now collapses into an animated icon rail with quieter footer controls.
203
+
204
+ ## 2026-06-27
205
+
206
+ ### Fixed
207
+
208
+ - Traditional Chinese copy now uses Taiwan terminology and clearer technical wording.
209
+
210
+ ## 2026-06-26
211
+
212
+ ### Improved
213
+
214
+ - Mail avoids unnecessary message list reloads after background updates.
215
+
216
+ ## 2026-06-25
217
+
218
+ ### Improved
219
+
220
+ - Settings now open to General by default and use the standard blue active highlight.
221
+
222
+ ### Fixed
223
+
224
+ - Account avatars stay stable while Mail refreshes Google account status.
225
+ - Archive failures now explain when Gmail needs reconnecting, permission, or a retry.
226
+ - Archived conversations stay hidden while Gmail catches up, and failed archives now show an error.
227
+ - Background draft saves and thread prefetches no longer show as inbox crashes when Gmail returns a transient error.
228
+
229
+ ## 2026-06-24
230
+
231
+ ### Added
232
+
233
+ - Added a language picker and localized app chrome for supported languages.
234
+
235
+ ### Improved
236
+
237
+ - Interface language support now covers more Mail controls and email workflows.
238
+ - Settings now link directly to Agent settings for model, API key, automation, and voice preferences.
239
+
240
+ For the full list of updates, see the [changelog folder](./changelog/).
@@ -50,7 +50,6 @@ import {
50
50
  useLabels,
51
51
  useMoveEmail,
52
52
  unsuppressThread,
53
- type BulkEmailTarget,
54
53
  } from "@/hooks/use-emails";
55
54
  import { useKeyboardShortcuts } from "@/hooks/use-keyboard-shortcuts";
56
55
  import {
@@ -202,7 +202,7 @@ const collapsibleViews = [
202
202
 
203
203
  export function AppLayout({ children }: AppLayoutProps) {
204
204
  const location = useLocation();
205
- const isMobile = useIsMobile();
205
+
206
206
  const t = useT();
207
207
  if (BARE_ROUTES.has(location.pathname)) {
208
208
  return <>{children}</>;
@@ -245,7 +245,7 @@ function AppLayoutInner({ children }: AppLayoutProps) {
245
245
  targets: SnoozeTarget[];
246
246
  } | null>(null);
247
247
  const [searchFocused, setSearchFocused] = useState(false);
248
- const [searchQuery, setSearchQuery] = useState("");
248
+ const [, setSearchQuery] = useState("");
249
249
  const navigate = useNavigate();
250
250
  const location = useLocation();
251
251
  // Parse view and threadId from pathname since AppLayout is outside <Routes>
@@ -160,6 +160,9 @@ export function renderInlineMarkdown(markdown: string): string {
160
160
 
161
161
  export function extractMarkdownUrls(markdown: string): string[] {
162
162
  const urls = new Set<string>();
163
+ // Each pass rewrites what it matched so a later pattern cannot rematch it;
164
+ // only add() escapes, so the final string is deliberately never read.
165
+ // oxlint-disable-next-line no-unused-vars
163
166
  let text = decodeCommonHtmlEntities(normalizeMarkdownHardBreaks(markdown));
164
167
 
165
168
  const add = (rawUrl: string) => {
@@ -38,7 +38,11 @@ connection exists:
38
38
  register a `kind: "oauth"` entry so the shared UI renders Connect and the
39
39
  runtime owns status, refresh, and reauthorization.
40
40
  - **Deploy- or app-level configuration** - use deployment/runtime
41
- configuration, not a per-user secret row.
41
+ configuration, not a per-user secret row. For a non-secret public setting
42
+ already represented by `AgentNativeConfig`, put the default in
43
+ `agent-native.config.ts` and use its `AGENT_NATIVE_CONFIG_<PATH>` alias only
44
+ for a deployment override. Never put a credential or provider key in that
45
+ public namespace.
42
46
  - **Account, customer, manager, or other non-secret identifier** - store it as
43
47
  scoped connection metadata or app data, not as a masked secret field.
44
48
 
@@ -55,7 +55,10 @@ Preview before `--apply`, commit `agent-native.ejections.json`, and never edit
55
55
  ZIPs, screenshots, thumbnails, session replay chunks) in configured file/blob
56
56
  storage and persist only URLs, ids, or handles.
57
57
  - Store shared runtime configuration in the workspace root `.env`; use
58
- `apps/<app>/.env` only for app-specific overrides. Never hardcode API keys,
58
+ `apps/<app>/.env` only for app-specific overrides. For public app behavior,
59
+ prefer the default in `agent-native.config.ts` and use the deterministic
60
+ `AGENT_NATIVE_CONFIG_<UPPER_SNAKE_PATH>` alias only when a non-secret value
61
+ needs a deployment override. Never hardcode API keys,
59
62
  tokens, webhook URLs, signing secrets, private Builder/internal data, customer
60
63
  data, or credential-looking literals in source, docs, prompts, fixtures,
61
64
  application state, action responses, or generated app content. Use
@@ -3,8 +3,6 @@
3
3
  All notable user-facing changes to Agent-Native Plan are documented here. Open it any
4
4
  time from the command menu (Cmd+K → "What's new").
5
5
 
6
- Older updates live in [the changelog folder](./changelog/) and are included in the in-app "What's new" view.
7
-
8
6
  ## 2026-08-19
9
7
 
10
8
  ### Improved
@@ -39,3 +37,280 @@ Older updates live in [the changelog folder](./changelog/) and are included in t
39
37
  ### Improved
40
38
 
41
39
  - Inline help icons now stay visually balanced with nearby text
40
+
41
+ ## 2026-08-04
42
+
43
+ ### Improved
44
+
45
+ - Canvas zoom controls now explain the Command/Ctrl plus scroll shortcut
46
+ - Pinch to zoom is now supported on touchscreens in visual plan canvases
47
+
48
+ ## 2026-07-31
49
+
50
+ ### Improved
51
+
52
+ - Clicking the Agent Native logo now toggles the app sidebar.
53
+
54
+ ## 2026-07-30
55
+
56
+ ### Fixed
57
+
58
+ - Plan agents now recover interrupted edits with small targeted writes.
59
+
60
+ ## 2026-07-29
61
+
62
+ ### Improved
63
+
64
+ - Chat history now closes smoothly and stays ready when you return to Ask.
65
+ - Chat history stays visible when you return to Ask Plan.
66
+ - Sidebar footers now keep Feedback, Search, and Collapse together without a separate language shortcut.
67
+
68
+ ### Fixed
69
+
70
+ - Fixed Plan pages crashing when recent activity is unavailable.
71
+
72
+ ## 2026-07-25
73
+
74
+ ### Improved
75
+
76
+ - App branding now uses the product name without the Agent-Native prefix.
77
+ - Settings navigation now keeps Manage agent as a dedicated linked destination at the bottom.
78
+
79
+ ## 2026-07-24
80
+
81
+ ### Improved
82
+
83
+ - Secondary controls and dashboard surfaces now use quieter borderless styling.
84
+ - Sidebar utility controls now follow a consistent footer order.
85
+
86
+ ## 2026-07-23
87
+
88
+ ### Improved
89
+
90
+ - Ask Plan is now a clean full-page chat surface with better centering and quieter chat history.
91
+
92
+ ## 2026-07-22
93
+
94
+ ### Improved
95
+
96
+ - The sidebar footer now keeps Feedback and the collapse control on one compact row.
97
+ - Manage agent navigation now uses the connected-nodes icon.
98
+ - Recent chats now expand from a compact five-item list with New chat anchored at the bottom.
99
+
100
+ ### Fixed
101
+
102
+ - Full-page chat keeps the active conversation when moving to and from the sidebar.
103
+ - High-fidelity mockup requests now preserve branded CSS, use Design mode, and update existing plans in place.
104
+ - Recover stale pages after a deployment refresh automatically
105
+
106
+ ## 2026-07-20
107
+
108
+ ### Fixed
109
+
110
+ - Bridged local plans now load comments from the local workspace.
111
+
112
+ ## 2026-07-18
113
+
114
+ ### Improved
115
+
116
+ - Visual plans now open on Wireframes by default when a prototype is also available.
117
+
118
+ ## 2026-07-17
119
+
120
+ ### Added
121
+
122
+ - Diagrams can opt into a polished clean rendering mode without sketch styling.
123
+
124
+ ### Fixed
125
+
126
+ - The agent chat sidebar stays closed until you open it or start a chat handoff.
127
+
128
+ ## 2026-07-16
129
+
130
+ ### Fixed
131
+
132
+ - Local Plan previews now load annotations containing HTML-like text.
133
+ - Plan agents now prevent stale edits from overwriting newer plan content
134
+
135
+ ## 2026-07-13
136
+
137
+ ### Added
138
+
139
+ - New Agent page: see and manage your agent's context, files, connections, jobs, and external access in one place
140
+
141
+ ### Fixed
142
+
143
+ - Fixed local plan previews continuously flickering while reviewing unchanged content
144
+
145
+ ## 2026-07-12
146
+
147
+ ### Security
148
+
149
+ - Local plan source now stays on your device during verification and is excluded from content autocapture and session replay.
150
+
151
+ ## 2026-07-11
152
+
153
+ ### Improved
154
+
155
+ - Plan pages stay current while making far fewer background requests when nothing has changed.
156
+
157
+ ### Fixed
158
+
159
+ - Local plans now explain and recover from browser permission blocks when connecting to files on your computer.
160
+ - Plan edits now save atomically and can no longer partially apply if a save fails midway
161
+ - Plan lists now show a clear error with a retry action when they cannot be loaded.
162
+
163
+ ## 2026-07-10
164
+
165
+ ### Fixed
166
+
167
+ - Local plans now keep valid content visible when one generated block is malformed
168
+ - Restoring a plan version can no longer leave a plan half-restored if something fails mid-restore
169
+
170
+ ## 2026-07-09
171
+
172
+ ### Fixed
173
+
174
+ - Canvas panning now keeps zoom fixed, even at the edges.
175
+
176
+ ## 2026-07-08
177
+
178
+ ### Improved
179
+
180
+ - Settings are cleaner and searchable, with a consistent navigation that jumps straight to any setting.
181
+
182
+ ### Fixed
183
+
184
+ - Hosted visual plan images now require connected storage instead of saving image files in SQL.
185
+
186
+ ## 2026-07-06
187
+
188
+ ### Fixed
189
+
190
+ - Fixed collaborative plan editing so content no longer duplicates after reloads.
191
+ - Fixed visual reports using excessive CPU while rendering sketchy wireframes.
192
+
193
+ ## 2026-07-05
194
+
195
+ ### Fixed
196
+
197
+ - Images in Plan documents open reliably in the full-size preview.
198
+ - Plan pages open at the top unless a shared link targets a specific section.
199
+
200
+ ## 2026-07-03
201
+
202
+ ### Added
203
+
204
+ - Plans are now fully real-time collaborative: multiple people (and the AI) can edit the same plan together with live cursors, and edits merge instantly without overwriting each other
205
+
206
+ ### Improved
207
+
208
+ - Plan error screens now include a feedback button with debug context and a prefilled GitHub issue fallback.
209
+ - Plans open and refresh faster, especially long-lived plans with lots of activity
210
+ - Undo now survives agent edits — Cmd+Z keeps working on your own changes while the AI patches other blocks, and agent-edited blocks glow briefly with an AI flag
211
+
212
+ ### Fixed
213
+
214
+ - Local visual plans and recaps can save comments without signing in and stay in the correct review mode after saving.
215
+ - Plan tabs render nested text blocks normally instead of showing their raw JSON.
216
+
217
+ ## 2026-07-02
218
+
219
+ ### Improved
220
+
221
+ - Plan comment shortcuts now open comment mode from the keyboard and PR recaps target the PR author for human feedback.
222
+ - Wireframe and diagram blocks can now show or hide their outer frame based on the surface they appear in.
223
+
224
+ ### Fixed
225
+
226
+ - Agent chat can keep working through longer visual plan updates instead of stopping mid-action.
227
+ - Fixed hosted visual plans getting stuck loading when a database migration left newer plan columns unavailable.
228
+ - Plan chat keeps the composer anchored when Connect AI appears, and recap contents highlight the current section more clearly.
229
+ - Trying to edit a recap or plan you can only view now explains how to comment or publish a replacement instead of failing repeatedly
230
+
231
+ ## 2026-07-01
232
+
233
+ ### Fixed
234
+
235
+ - Visual plan and recap diagram labels now wrap inside their boxes instead of spilling outside.
236
+
237
+ ## 2026-06-29
238
+
239
+ ### Improved
240
+
241
+ - Plan titles and summaries can be edited inline without focus outlines.
242
+
243
+ ### Fixed
244
+
245
+ - Plan canvases open without an initial pan-and-zoom flicker while the first view settles.
246
+ - Plan document blocks now adapt to the available document width when sidebars are open.
247
+
248
+ ## 2026-06-28
249
+
250
+ ### Improved
251
+
252
+ - Left sidebar collapse motion and footer controls now feel smoother and use less divider chrome.
253
+ - Wireframe style can now be switched between sketchy and clean from Cmd+K.
254
+
255
+ ### Fixed
256
+
257
+ - Plan canvases stay stable while panning and zooming in Chrome.
258
+ - Plan wireframes keep dense mockups readable by avoiding overlapping sketch outlines around broad panels.
259
+ - Plan wireframes ignore host color utility classes so canvas mockups stay readable in dark mode.
260
+ - Plans now use the shared neutral light and dark theme instead of a warm-tinted palette.
261
+ - Sending open feedback from a plan now opens the inline Plan agent reliably.
262
+
263
+ ## 2026-06-27
264
+
265
+ ### Improved
266
+
267
+ - Exported MDX keeps ordinary prose readable as plain Markdown while preserving stable review anchors.
268
+
269
+ ### Fixed
270
+
271
+ - Traditional Chinese copy now uses Taiwan terminology and clearer technical wording.
272
+
273
+ ## 2026-06-26
274
+
275
+ ### Fixed
276
+
277
+ - Canvas grid panning now stays smooth and fills the workspace while navigating large plans.
278
+
279
+ ## 2026-06-25
280
+
281
+ ### Added
282
+
283
+ - Settings now link to the Agent-Native Plans VS Code extension.
284
+
285
+ ### Improved
286
+
287
+ - Hosted signup now shows how to switch `/visual-plan` to local files only.
288
+ - Plan documents keep their full reading width below 1200px and show the contents rail only on wider screens.
289
+
290
+ ### Fixed
291
+
292
+ - Plan access request pages stay visible during background refreshes instead of flashing back to loading.
293
+
294
+ ## 2026-06-24
295
+
296
+ ### Added
297
+
298
+ - A new Settings page gives quick access to language, workspace, and agent preferences.
299
+ - Added a language picker and localized app chrome for supported languages.
300
+
301
+ ### Improved
302
+
303
+ - Annotated code callouts now use numbered gutter markers that match annotated diffs.
304
+
305
+ ### Fixed
306
+
307
+ - Invalid generated recap blocks now show a clear warning with validation details instead of raw block markers.
308
+
309
+ ## 2026-06-23
310
+
311
+ ### Fixed
312
+
313
+ - Large diagrams in a plan now scroll within their block instead of being cut off
314
+ - Plan loading skeleton no longer cuts off the canvas preview on short screens
315
+
316
+ For the full list of updates, see the [changelog folder](./changelog/).
@@ -38,7 +38,11 @@ connection exists:
38
38
  register a `kind: "oauth"` entry so the shared UI renders Connect and the
39
39
  runtime owns status, refresh, and reauthorization.
40
40
  - **Deploy- or app-level configuration** - use deployment/runtime
41
- configuration, not a per-user secret row.
41
+ configuration, not a per-user secret row. For a non-secret public setting
42
+ already represented by `AgentNativeConfig`, put the default in
43
+ `agent-native.config.ts` and use its `AGENT_NATIVE_CONFIG_<PATH>` alias only
44
+ for a deployment override. Never put a credential or provider key in that
45
+ public namespace.
42
46
  - **Account, customer, manager, or other non-secret identifier** - store it as
43
47
  scoped connection metadata or app data, not as a masked secret field.
44
48
 
@@ -55,7 +55,10 @@ Preview before `--apply`, commit `agent-native.ejections.json`, and never edit
55
55
  ZIPs, screenshots, thumbnails, session replay chunks) in configured file/blob
56
56
  storage and persist only URLs, ids, or handles.
57
57
  - Store shared runtime configuration in the workspace root `.env`; use
58
- `apps/<app>/.env` only for app-specific overrides. Never hardcode API keys,
58
+ `apps/<app>/.env` only for app-specific overrides. For public app behavior,
59
+ prefer the default in `agent-native.config.ts` and use the deterministic
60
+ `AGENT_NATIVE_CONFIG_<UPPER_SNAKE_PATH>` alias only when a non-secret value
61
+ needs a deployment override. Never hardcode API keys,
59
62
  tokens, webhook URLs, signing secrets, private Builder/internal data, customer
60
63
  data, or credential-looking literals in source, docs, prompts, fixtures,
61
64
  application state, action responses, or generated app content. Use