@agent-native/core 0.165.2 → 0.165.4

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 (54) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/templates/analytics/CHANGELOG.md +740 -2
  3. package/corpus/templates/analytics/changelog/2026-08-20-staged-data-limit-recovery.md +1 -0
  4. package/corpus/templates/assets/CHANGELOG.md +204 -2
  5. package/corpus/templates/brain/CHANGELOG.md +145 -2
  6. package/corpus/templates/calendar/CHANGELOG.md +272 -2
  7. package/corpus/templates/chat/CHANGELOG.md +89 -2
  8. package/corpus/templates/clips/CHANGELOG.md +864 -2
  9. package/corpus/templates/clips/app/i18n/en-US.ts +6 -2
  10. package/corpus/templates/clips/app/routes/download.tsx +111 -17
  11. package/corpus/templates/clips/changelog/2026-08-20-cross-tab-recording-controls.md +1 -0
  12. package/corpus/templates/clips/changelog/2026-08-20-overlay-follow-review-fixes.md +1 -0
  13. package/corpus/templates/clips/changelog/2026-08-20-preparing-recording-countdown-overlay.md +5 -0
  14. package/corpus/templates/clips/changelog/2026-08-20-provider-key-recovery.md +1 -0
  15. package/corpus/templates/clips/desktop/src/overlays/preparing.tsx +4 -6
  16. package/corpus/templates/clips/desktop/src/styles.css +18 -20
  17. package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +9 -17
  18. package/corpus/templates/clips/server/routes/api/clips-latest.json.get.ts +109 -46
  19. package/corpus/templates/content/CHANGELOG.md +503 -2
  20. package/corpus/templates/crm/CHANGELOG.md +31 -2
  21. package/corpus/templates/design/CHANGELOG.md +870 -2
  22. package/corpus/templates/dispatch/CHANGELOG.md +196 -2
  23. package/corpus/templates/factory/CHANGELOG.md +121 -2
  24. package/corpus/templates/forms/CHANGELOG.md +166 -2
  25. package/corpus/templates/macros/CHANGELOG.md +49 -2
  26. package/corpus/templates/mail/CHANGELOG.md +201 -2
  27. package/corpus/templates/plan/CHANGELOG.md +277 -2
  28. package/corpus/templates/slides/CHANGELOG.md +437 -2
  29. package/corpus/templates/tasks/CHANGELOG.md +32 -2
  30. package/dist/changelog/parse.d.ts +3 -3
  31. package/dist/changelog/parse.js +35 -16
  32. package/dist/client/blocks/library/diagram.js +1 -1
  33. package/dist/collab/routes.d.ts +1 -1
  34. package/dist/collab/struct-routes.d.ts +1 -1
  35. package/dist/deploy/workspace-deploy.js +7 -0
  36. package/dist/mcp/screen-memory-stdio.d.ts +7 -7
  37. package/dist/mcp-client/oauth-routes.d.ts +1 -0
  38. package/dist/mcp-client/oauth-routes.js +15 -2
  39. package/dist/mcp-client/remote-store.js +83 -43
  40. package/dist/notifications/routes.d.ts +6 -6
  41. package/dist/resources/handlers.d.ts +2 -2
  42. package/dist/secrets/routes.d.ts +9 -9
  43. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  44. package/dist/server/google-oauth-credentials.js +14 -1
  45. package/dist/settings/index.d.ts +1 -1
  46. package/dist/settings/index.js +1 -1
  47. package/dist/settings/store.d.ts +7 -1
  48. package/dist/settings/store.js +25 -3
  49. package/dist/settings/user-settings.d.ts +2 -0
  50. package/dist/settings/user-settings.js +65 -2
  51. package/dist/templates/chat/CHANGELOG.md +89 -2
  52. package/docs/content/deployment.mdx +89 -14
  53. package/package.json +1 -1
  54. package/src/templates/chat/CHANGELOG.md +89 -2
@@ -7,7 +7,7 @@
7
7
  * No global fallback — each user starts with a clean slate. This
8
8
  * prevents one user's private data from leaking to other users.
9
9
  */
10
- import { getSetting, putSetting, deleteSetting, } from "./store.js";
10
+ import { getSetting, mutateSetting, putSetting, deleteSettingIfValue, } from "./store.js";
11
11
  function userKey(email, key) {
12
12
  return `u:${email.trim().toLowerCase()}:${key}`;
13
13
  }
@@ -31,7 +31,70 @@ export async function getUserSetting(email, key) {
31
31
  export async function putUserSetting(email, key, value, options) {
32
32
  return putSetting(userKey(email, key), value, options);
33
33
  }
34
+ /** Atomically derive and persist one user-scoped setting. */
35
+ export async function mutateUserSetting(email, key, updater, options) {
36
+ const normalized = userKey(email, key);
37
+ const legacy = legacyUserKey(email, key);
38
+ let migratedLegacy = false;
39
+ let migratedLegacyValue = null;
40
+ const result = await mutateSetting(normalized, async (current) => {
41
+ if (current !== null) {
42
+ migratedLegacy = false;
43
+ migratedLegacyValue = null;
44
+ return updater(current);
45
+ }
46
+ const legacyCurrent = legacy === normalized
47
+ ? null
48
+ : await getSetting(legacy, { bypassCache: true });
49
+ migratedLegacy = legacyCurrent !== null;
50
+ migratedLegacyValue = legacyCurrent;
51
+ return updater(legacyCurrent);
52
+ }, options);
53
+ if (!migratedLegacy)
54
+ return result;
55
+ // If the legacy row disappeared after the updater read it, a concurrent
56
+ // delete won the race. Remove only our exact canonical write; never delete
57
+ // a newer canonical value from another writer.
58
+ if (!migratedLegacyValue ||
59
+ !(await deleteSettingIfValue(legacy, migratedLegacyValue, options))) {
60
+ if (await getSetting(legacy, { bypassCache: true }))
61
+ return result;
62
+ const removed = await deleteSettingIfValue(normalized, result, options);
63
+ if (!removed) {
64
+ // The canonical write committed successfully. A concurrent canonical
65
+ // writer may have replaced it after the legacy row disappeared; keep
66
+ // the committed value visible instead of making callers revoke side
67
+ // effects for a write that is already persisted.
68
+ return result;
69
+ }
70
+ throw new Error("User setting was deleted while migrating its legacy key");
71
+ }
72
+ return result;
73
+ }
34
74
  /** Delete a user-scoped setting. */
35
75
  export async function deleteUserSetting(email, key, options) {
36
- return deleteSetting(userKey(email, key), options);
76
+ const normalized = userKey(email, key);
77
+ const legacy = legacyUserKey(email, key);
78
+ const normalizedCurrent = await getSetting(normalized, {
79
+ bypassCache: true,
80
+ });
81
+ if (legacy === normalized) {
82
+ return normalizedCurrent === null
83
+ ? false
84
+ : deleteSettingIfValue(normalized, normalizedCurrent, options);
85
+ }
86
+ const legacyCurrent = await getSetting(legacy, { bypassCache: true });
87
+ // Retire the fallback row first. If the canonical delete fails, the
88
+ // remaining canonical value still wins reads instead of resurrecting legacy
89
+ // data after a partial delete; a retry can safely finish the operation.
90
+ const deletedLegacy = legacyCurrent === null
91
+ ? false
92
+ : await deleteSettingIfValue(legacy, legacyCurrent, options);
93
+ const normalizedAfterLegacyCleanup = normalizedCurrent === null && deletedLegacy
94
+ ? await getSetting(normalized, { bypassCache: true })
95
+ : normalizedCurrent;
96
+ const deletedNormalized = normalizedAfterLegacyCleanup === null
97
+ ? false
98
+ : await deleteSettingIfValue(normalized, normalizedAfterLegacyCleanup, options);
99
+ return deletedNormalized || deletedLegacy;
37
100
  }
@@ -3,8 +3,6 @@
3
3
  All notable user-facing changes to Chat 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-11
9
7
 
10
8
  ### Fixed
@@ -34,3 +32,92 @@ Older updates live in [the changelog folder](./changelog/) and are included in t
34
32
  ### Improved
35
33
 
36
34
  - Settings navigation now keeps Manage agent as a dedicated linked destination at the bottom.
35
+
36
+ ## 2026-07-24
37
+
38
+ ### Improved
39
+
40
+ - Secondary controls and dashboard surfaces now use quieter borderless styling.
41
+ - Sidebar utility controls now follow a consistent footer order.
42
+
43
+ ## 2026-07-23
44
+
45
+ ### Improved
46
+
47
+ - Full-page chat is better centered, with quieter chat history and a left-aligned New chat action.
48
+
49
+ ## 2026-07-22
50
+
51
+ ### Improved
52
+
53
+ - The sidebar footer now keeps Feedback and the collapse control on one compact row.
54
+ - Manage agent navigation now uses the connected-nodes icon.
55
+ - Recent chats now expand from a compact five-item list with New chat anchored at the bottom.
56
+
57
+ ### Fixed
58
+
59
+ - Full-page chat keeps the active conversation when moving to and from the sidebar.
60
+
61
+ ## 2026-07-17
62
+
63
+ ### Fixed
64
+
65
+ - The agent chat sidebar stays closed until you open it or start a chat handoff.
66
+
67
+ ## 2026-07-15
68
+
69
+ ### Removed
70
+
71
+ - The main navigation is now focused on Chat, Agent, and essential workspace settings.
72
+
73
+ ## 2026-07-14
74
+
75
+ ### Fixed
76
+
77
+ - Chat opens reliably on hosted deployments instead of failing during startup
78
+ - Fixed chat template startup with older core versions
79
+
80
+ ## 2026-07-13
81
+
82
+ ### Added
83
+
84
+ - A full Agent page now brings context, files, connections, jobs, and external access together
85
+
86
+ ## 2026-07-10
87
+
88
+ ### Improved
89
+
90
+ - Chat now makes AI connection setup clear without shifting the composer.
91
+
92
+ ## 2026-07-08
93
+
94
+ ### Improved
95
+
96
+ - Settings are cleaner and searchable, with a consistent navigation that jumps straight to any setting.
97
+
98
+ ## 2026-06-29
99
+
100
+ ### Improved
101
+
102
+ - Chat layouts adapt when the agent sidebar is open.
103
+
104
+ ## 2026-06-28
105
+
106
+ ### Improved
107
+
108
+ - Left sidebar collapse motion and footer controls now feel smoother and use less divider chrome.
109
+
110
+ ## 2026-06-27
111
+
112
+ ### Fixed
113
+
114
+ - Traditional Chinese copy now uses Taiwan terminology and clearer technical wording.
115
+
116
+ ## 2026-06-24
117
+
118
+ ### Added
119
+
120
+ - A new Settings page gives quick access to language, workspace, and agent preferences.
121
+ - Added a language picker and localized app chrome for supported languages.
122
+
123
+ For the full list of updates, see the [changelog folder](./changelog/).
@@ -68,18 +68,41 @@ contract stay the same.
68
68
  <Diagram id="doc-block-deployment-targets" title="Supported deployment targets" summary="Agent-Native apps can deploy to Node.js, Docker, Vercel, Netlify, Cloudflare Pages, Cloudflare Workers, AWS Lambda, Deno Deploy, Azure Static Web Apps, Koyeb, and Render.">
69
69
 
70
70
  ```html
71
+ <!-- i18n-copy-ignore: deployment target logo markup is visual-only; labels are unchanged. -->
71
72
  <div class="deployment-target-grid">
72
73
  <a class="deployment-target" href="/docs/node-js">
73
- <span class="deployment-target-mark text-mark">N</span>
74
+ <span class="deployment-target-mark">
75
+ <img
76
+ class="deployment-target-logo"
77
+ src="/integration-logos/nodejs.svg"
78
+ alt=""
79
+ />
80
+ </span>
74
81
  <strong>Node.js</strong>
75
82
  </a>
76
83
  <a class="deployment-target" href="/docs/docker">
77
- <span class="deployment-target-mark text-mark">D</span>
84
+ <span class="deployment-target-mark">
85
+ <img
86
+ class="deployment-target-logo"
87
+ src="/integration-logos/docker.svg"
88
+ alt=""
89
+ />
90
+ </span>
78
91
  <strong>Docker</strong>
79
92
  </a>
80
93
  <a class="deployment-target" href="/docs/vercel">
81
94
  <span class="deployment-target-mark">
82
- <img src="/integration-logos/vercel.svg" alt="" />
95
+ <img
96
+ class="deployment-target-logo deployment-target-logo-light"
97
+ src="/integration-logos/vercel.svg"
98
+ alt=""
99
+ />
100
+ <img
101
+ class="deployment-target-logo deployment-target-logo-dark"
102
+ src="/integration-logos/vercel-white.svg"
103
+ alt=""
104
+ aria-hidden="true"
105
+ />
83
106
  </span>
84
107
  <strong>Vercel</strong>
85
108
  </a>
@@ -102,23 +125,71 @@ contract stay the same.
102
125
  <strong>Cloudflare Workers</strong>
103
126
  </a>
104
127
  <a class="deployment-target" href="/docs/aws-lambda">
105
- <span class="deployment-target-mark text-mark">AWS</span>
128
+ <span class="deployment-target-mark">
129
+ <img
130
+ class="deployment-target-logo"
131
+ src="/integration-logos/aws-lambda.svg"
132
+ alt=""
133
+ />
134
+ </span>
106
135
  <strong>AWS Lambda</strong>
107
136
  </a>
108
137
  <a class="deployment-target" href="/docs/deno-deploy">
109
- <span class="deployment-target-mark text-mark">D</span>
138
+ <span class="deployment-target-mark">
139
+ <img
140
+ class="deployment-target-logo deployment-target-logo-light"
141
+ src="/integration-logos/deno.svg"
142
+ alt=""
143
+ />
144
+ <img
145
+ class="deployment-target-logo deployment-target-logo-dark"
146
+ src="/integration-logos/deno-white.svg"
147
+ alt=""
148
+ aria-hidden="true"
149
+ />
150
+ </span>
110
151
  <strong>Deno Deploy</strong>
111
152
  </a>
112
153
  <a class="deployment-target" href="/docs/azure-static-web-apps">
113
- <span class="deployment-target-mark text-mark">A</span>
154
+ <span class="deployment-target-mark">
155
+ <img
156
+ class="deployment-target-logo"
157
+ src="/integration-logos/azure.svg"
158
+ alt=""
159
+ />
160
+ </span>
114
161
  <strong>Azure Static Web Apps</strong>
115
162
  </a>
116
163
  <a class="deployment-target" href="/docs/koyeb">
117
- <span class="deployment-target-mark text-mark">K</span>
164
+ <span class="deployment-target-mark">
165
+ <img
166
+ class="deployment-target-logo deployment-target-logo-light"
167
+ src="/integration-logos/koyeb.svg"
168
+ alt=""
169
+ />
170
+ <img
171
+ class="deployment-target-logo deployment-target-logo-dark"
172
+ src="/integration-logos/koyeb-white.svg"
173
+ alt=""
174
+ aria-hidden="true"
175
+ />
176
+ </span>
118
177
  <strong>Koyeb</strong>
119
178
  </a>
120
179
  <a class="deployment-target" href="/docs/render">
121
- <span class="deployment-target-mark text-mark">R</span>
180
+ <span class="deployment-target-mark">
181
+ <img
182
+ class="deployment-target-logo deployment-target-logo-light"
183
+ src="/integration-logos/render.svg"
184
+ alt=""
185
+ />
186
+ <img
187
+ class="deployment-target-logo deployment-target-logo-dark"
188
+ src="/integration-logos/render-white.svg"
189
+ alt=""
190
+ aria-hidden="true"
191
+ />
192
+ </span>
122
193
  <strong>Render</strong>
123
194
  </a>
124
195
  </div>
@@ -151,16 +222,20 @@ contract stay the same.
151
222
  place-items: center;
152
223
  flex: 0 0 auto;
153
224
  }
154
- .deployment-target-mark img {
225
+ .deployment-target-logo {
226
+ display: block;
155
227
  width: 26px;
156
228
  height: 26px;
157
229
  object-fit: contain;
158
230
  }
159
- .deployment-target-mark.text-mark {
160
- border-radius: 7px;
161
- background: hsl(var(--muted));
162
- font-size: 12px;
163
- font-weight: 700;
231
+ .deployment-target-logo-dark {
232
+ display: none;
233
+ }
234
+ [data-theme="dark"] .deployment-target-logo-light {
235
+ display: none;
236
+ }
237
+ [data-theme="dark"] .deployment-target-logo-dark {
238
+ display: block;
164
239
  }
165
240
  @media (max-width: 640px) {
166
241
  .deployment-target-grid {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.165.2",
3
+ "version": "0.165.4",
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": {
@@ -3,8 +3,6 @@
3
3
  All notable user-facing changes to Chat 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-11
9
7
 
10
8
  ### Fixed
@@ -34,3 +32,92 @@ Older updates live in [the changelog folder](./changelog/) and are included in t
34
32
  ### Improved
35
33
 
36
34
  - Settings navigation now keeps Manage agent as a dedicated linked destination at the bottom.
35
+
36
+ ## 2026-07-24
37
+
38
+ ### Improved
39
+
40
+ - Secondary controls and dashboard surfaces now use quieter borderless styling.
41
+ - Sidebar utility controls now follow a consistent footer order.
42
+
43
+ ## 2026-07-23
44
+
45
+ ### Improved
46
+
47
+ - Full-page chat is better centered, with quieter chat history and a left-aligned New chat action.
48
+
49
+ ## 2026-07-22
50
+
51
+ ### Improved
52
+
53
+ - The sidebar footer now keeps Feedback and the collapse control on one compact row.
54
+ - Manage agent navigation now uses the connected-nodes icon.
55
+ - Recent chats now expand from a compact five-item list with New chat anchored at the bottom.
56
+
57
+ ### Fixed
58
+
59
+ - Full-page chat keeps the active conversation when moving to and from the sidebar.
60
+
61
+ ## 2026-07-17
62
+
63
+ ### Fixed
64
+
65
+ - The agent chat sidebar stays closed until you open it or start a chat handoff.
66
+
67
+ ## 2026-07-15
68
+
69
+ ### Removed
70
+
71
+ - The main navigation is now focused on Chat, Agent, and essential workspace settings.
72
+
73
+ ## 2026-07-14
74
+
75
+ ### Fixed
76
+
77
+ - Chat opens reliably on hosted deployments instead of failing during startup
78
+ - Fixed chat template startup with older core versions
79
+
80
+ ## 2026-07-13
81
+
82
+ ### Added
83
+
84
+ - A full Agent page now brings context, files, connections, jobs, and external access together
85
+
86
+ ## 2026-07-10
87
+
88
+ ### Improved
89
+
90
+ - Chat now makes AI connection setup clear without shifting the composer.
91
+
92
+ ## 2026-07-08
93
+
94
+ ### Improved
95
+
96
+ - Settings are cleaner and searchable, with a consistent navigation that jumps straight to any setting.
97
+
98
+ ## 2026-06-29
99
+
100
+ ### Improved
101
+
102
+ - Chat layouts adapt when the agent sidebar is open.
103
+
104
+ ## 2026-06-28
105
+
106
+ ### Improved
107
+
108
+ - Left sidebar collapse motion and footer controls now feel smoother and use less divider chrome.
109
+
110
+ ## 2026-06-27
111
+
112
+ ### Fixed
113
+
114
+ - Traditional Chinese copy now uses Taiwan terminology and clearer technical wording.
115
+
116
+ ## 2026-06-24
117
+
118
+ ### Added
119
+
120
+ - A new Settings page gives quick access to language, workspace, and agent preferences.
121
+ - Added a language picker and localized app chrome for supported languages.
122
+
123
+ For the full list of updates, see the [changelog folder](./changelog/).