@agent-native/core 0.137.0 → 0.137.2

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 (47) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/templates/analytics/app/components/AgentCompletionSound.tsx +105 -0
  3. package/corpus/templates/analytics/app/components/layout/Layout.tsx +44 -35
  4. package/corpus/templates/analytics/app/i18n-data.ts +38 -0
  5. package/corpus/templates/analytics/app/pages/Settings.tsx +53 -1
  6. package/corpus/templates/analytics/app/pages/settings/settings-search.ts +6 -0
  7. package/corpus/templates/analytics/changelog/2026-08-04-choose-whether-analytics-plays-a-bell-when-the-agent-finishe.md +6 -0
  8. package/corpus/templates/analytics/shared/analytics-user-prefs.ts +2 -0
  9. package/corpus/templates/slides/app/components/editor/AddSlidePopover.tsx +258 -0
  10. package/corpus/templates/slides/app/components/editor/EditorActionCluster.tsx +130 -0
  11. package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +25 -337
  12. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +73 -53
  13. package/corpus/templates/slides/app/components/editor/NewDeckReferenceStep.tsx +321 -0
  14. package/corpus/templates/slides/app/components/editor/PromptDialog.tsx +32 -11
  15. package/corpus/templates/slides/app/components/editor/SlideContextToolbar.tsx +804 -0
  16. package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +101 -45
  17. package/corpus/templates/slides/app/components/editor/SlideOverflowWarning.tsx +7 -4
  18. package/corpus/templates/slides/app/components/editor/bullet-editing.ts +11 -3
  19. package/corpus/templates/slides/app/components/editor/commit-active-edit.ts +21 -0
  20. package/corpus/templates/slides/app/components/editor/list-editing.ts +219 -0
  21. package/corpus/templates/slides/app/components/editor/selection-overlay-measurement.ts +0 -3
  22. package/corpus/templates/slides/app/components/editor/slide-style.ts +199 -0
  23. package/corpus/templates/slides/app/global.css +14 -3
  24. package/corpus/templates/slides/app/i18n/en-US.ts +8 -1
  25. package/corpus/templates/slides/app/lib/recent-references.ts +82 -0
  26. package/corpus/templates/slides/app/pages/DeckEditor.tsx +51 -22
  27. package/corpus/templates/slides/app/pages/Index.tsx +236 -181
  28. package/corpus/templates/slides/changelog/2026-08-01-add-slide-moved-to-the-toolbar-and-the-slide-rail-is-now-mor.md +9 -0
  29. package/corpus/templates/slides/changelog/2026-08-01-add-slide-undo-redo-and-the-text-tool-now-lead-the-slide-too.md +9 -0
  30. package/corpus/templates/slides/changelog/2026-08-01-slide-styling-now-appears-in-a-contextual-toolbar-above-the-.md +6 -0
  31. package/corpus/templates/slides/changelog/2026-08-01-the-slide-style-side-panel-is-retired-all-styling-now-lives-.md +6 -0
  32. package/corpus/templates/slides/changelog/2026-08-03-the-slide-toolbar-is-denser-swatch-only-colors-dropdowns-for.md +10 -0
  33. package/corpus/templates/slides/changelog/2026-08-04-bullet-and-numbered-list-buttons-in-the-slide-toolbar-conver.md +6 -0
  34. package/corpus/templates/slides/changelog/2026-08-04-italic-and-underline-are-now-one-click-away-in-the-slide-too.md +6 -0
  35. package/dist/client/DefaultSpinner.d.ts +0 -12
  36. package/dist/client/DefaultSpinner.js +22 -2
  37. package/dist/client/onboarding/use-onboarding.js +3 -0
  38. package/dist/collab/routes.d.ts +1 -1
  39. package/dist/collab/struct-routes.d.ts +1 -1
  40. package/dist/deploy/build.js +2 -1
  41. package/dist/notifications/routes.d.ts +2 -2
  42. package/dist/progress/routes.d.ts +1 -1
  43. package/dist/server/realtime-token.d.ts +1 -1
  44. package/dist/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +25 -9
  45. package/package.json +2 -2
  46. package/src/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +25 -9
  47. package/corpus/templates/slides/app/components/editor/SlideStyleInspector.tsx +0 -763
@@ -13,8 +13,8 @@
13
13
  * Body: { json: any, fieldName?: string, type?: "map"|"array", requestSource?: string }
14
14
  */
15
15
  export declare const postCollabJson: import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<{
16
- error: string;
17
16
  ok?: undefined;
17
+ error: string;
18
18
  } | {
19
19
  error?: undefined;
20
20
  ok: boolean;
@@ -1449,7 +1449,8 @@ export function generateCloudflarePagesStaticShellFromManifest(manifest, basePat
1449
1449
  const encodedInitialState = rootRoute.hasLoader
1450
1450
  ? DEFAULT_ROOT_LOADER_REACT_ROUTER_TURBO_STREAM
1451
1451
  : EMPTY_REACT_ROUTER_TURBO_STREAM;
1452
- return `<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="manifest" href="/manifest.json"/><link rel="icon" type="image/svg+xml" href="/favicon.svg"/>${modulePreloads}${stylesheets}</head><body><div style="display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:100vh;width:100%"><svg role="status" aria-label="Loading" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="animation:an-spin 1s linear infinite;opacity:0.7"><path d="M21 12a9 9 0 1 1-6.219-8.56"></path></svg><p class="an-stall-hint">Still loading. If this does not finish, reload the page — the browser console may show what failed.</p><style>@keyframes an-spin { to { transform: rotate(360deg) } } @keyframes an-stall-in { to { opacity: 0.6 } } .an-stall-hint { opacity: 0; margin: 0; max-width: 32rem; padding: 0 1.5rem; text-align: center; font-size: 0.875rem; line-height: 1.5; font-family: ui-sans-serif, system-ui, sans-serif; animation: an-stall-in 0.4s ease-out 10s forwards } @media (prefers-reduced-motion: reduce) { .an-stall-hint { animation-duration: 0s } } @media (prefers-color-scheme: dark) { html { background: #09090b; color: #fafafa } }</style></div><script>window.__reactRouterContext = ${JSON.stringify(context)};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script><script type="module" async="">${routeModuleScript}</script><!--$--><script>window.__reactRouterContext.streamController.enqueue(${JSON.stringify(encodedInitialState)});</script><!--$--><script>window.__reactRouterContext.streamController.close();</script><!--/$--><!--/$--></body></html>`;
1452
+ // guard:allow-raw-color - static shell loads before app theme tokens exist
1453
+ return `<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="manifest" href="/manifest.json"/><link rel="icon" type="image/svg+xml" href="/favicon.svg"/>${modulePreloads}${stylesheets}</head><body><div style="display:flex;align-items:center;justify-content:center;height:100vh;width:100%"><svg role="status" aria-label="Loading" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="animation:an-spin 1s linear infinite;opacity:0.7"><path d="M21 12a9 9 0 1 1-6.219-8.56"></path></svg><style>@keyframes an-spin { to { transform: rotate(360deg) } } @media (prefers-color-scheme: dark) { html { background: #09090b; color: #fafafa } }</style></div><script>window.__reactRouterContext = ${JSON.stringify(context)};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script><script type="module" async="">${routeModuleScript}</script><!--$--><script>window.__reactRouterContext.streamController.enqueue(${JSON.stringify(encodedInitialState)});</script><!--$--><script>window.__reactRouterContext.streamController.close();</script><!--/$--><!--/$--></body></html>`;
1453
1454
  }
1454
1455
  function writeCloudflarePagesStaticShell({ serverDir, distDir, tmpDir, }) {
1455
1456
  const serverEntry = path.join(serverDir, "index.js");
@@ -13,13 +13,13 @@
13
13
  export declare function createNotificationsHandler(): import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<"" | import("./types.js").Notification[] | {
14
14
  count: number;
15
15
  updated?: undefined;
16
- ok?: undefined;
17
16
  error?: undefined;
17
+ ok?: undefined;
18
18
  } | {
19
19
  count?: undefined;
20
20
  updated: number;
21
- ok?: undefined;
22
21
  error?: undefined;
22
+ ok?: undefined;
23
23
  } | {
24
24
  count?: undefined;
25
25
  updated?: undefined;
@@ -15,7 +15,7 @@ export declare function createProgressHandler(): import("h3").EventHandlerWithFe
15
15
  error: string;
16
16
  ok?: undefined;
17
17
  } | {
18
- ok: boolean;
19
18
  error?: undefined;
19
+ ok: boolean;
20
20
  }>>;
21
21
  //# sourceMappingURL=routes.d.ts.map
@@ -26,9 +26,9 @@ export declare function createRealtimeTokenHandler(): import("h3").EventHandlerW
26
26
  expiresAt?: undefined;
27
27
  ttlSeconds?: undefined;
28
28
  } | {
29
+ error?: undefined;
29
30
  token: string;
30
31
  expiresAt: string;
31
32
  ttlSeconds: number;
32
- error?: undefined;
33
33
  }>>;
34
34
  //# sourceMappingURL=realtime-token.d.ts.map
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: address-feedback
3
3
  description: >-
4
- Triage feedback docs or pasted feedback into bugs to fix, UX suggestions to
5
- propose, unclear questions, and skipped noise; verify bugs, check Sentry when
6
- relevant, and keep UI changes minimal.
4
+ Triage feedback from docs, issues, Slack threads, or pasted notes into
5
+ verified bugs, UX proposals, unclear questions, and skipped noise. Use when a
6
+ user asks you to address product feedback or investigate a reported workflow.
7
7
  scope: dev
8
8
  metadata:
9
9
  internal: true
@@ -20,6 +20,7 @@ The default posture is judgment plus action: fix clear, verified bugs you agree
20
20
  - If no link or feedback text is provided, ask for it.
21
21
  - Read the repo `AGENTS.md` before touching code.
22
22
  - Use the relevant connector/plugin/skill for the source when available, instead of scraping authenticated pages.
23
+ - Before starting work, search available task history and local Git/PR metadata for the exact feedback link or issue identifiers. Reuse existing work instead of creating a duplicate fix.
23
24
 
24
25
  ## Steps
25
26
 
@@ -35,16 +36,28 @@ The default posture is judgment plus action: fix clear, verified bugs you agree
35
36
  | Public URL | Web browsing |
36
37
  | Pasted text | Read directly |
37
38
 
38
- Use web browsing only for public URLs. Auth-gated docs usually need their matching connector.
39
+ Use web browsing only for public URLs. Auth-gated docs usually need their matching connector. For threads, read the parent and all replies; note when there are no replies, and inspect linked files or newer follow-ups when the source refers to them.
39
40
 
40
- 2. Categorize every actionable item.
41
+ 2. Decompose and categorize every actionable item.
42
+
43
+ Build a compact checklist before changing code. For each item, record the
44
+ symptom, expected behavior, evidence, and owning surface: UI, action/tool,
45
+ data model, provider/runtime, or product policy.
41
46
 
42
47
  - **Bug**: Broken behavior, crash, wrong data, dead link, package/API mismatch, or captured exception. Verify and fix when you agree.
43
48
  - **UX suggestion**: Design, discoverability, workflow, or feature feedback. Propose the cleanest version first unless the user explicitly asked you to implement UX changes.
44
49
  - **Question or unclear**: Missing detail, contradictory feedback, or behavior you cannot inspect. Ask or flag it.
45
50
  - **Out of scope**: Outside this repo, already shipped, intentionally unsupported, or too low-signal. Note briefly and skip.
46
51
 
47
- 3. Check Sentry when the feedback smells like an error.
52
+ 3. For data, permissions, or resource-lifecycle feedback, verify the whole capability boundary before calling it UX.
53
+
54
+ - Check the supported create/read/update/delete lifecycle, including whether the backend/action exists when a UI control is missing.
55
+ - Inspect both the UI and the shared action/tool surface so agent and UI behavior stay in parity.
56
+ - Verify scope semantics such as owner/private, organization, shared, and public access. Test owner and non-owner paths with safe fixtures or read-only checks; never use another user's production data to test access.
57
+ - Treat possible cross-user or cross-organization exposure as a security/correctness bug and verify it before proposing polish.
58
+ - Keep undefined product policy separate from implementation bugs. If supported source types or scope semantics are not defined, flag the contract question instead of inventing behavior.
59
+
60
+ 4. Check Sentry when the feedback smells like an error.
48
61
 
49
62
  - Use the Sentry skill/plugin if available, or the repo's Sentry scripts if documented.
50
63
  - Search by route, stack symbol, error text, and symptom keywords.
@@ -52,7 +65,7 @@ The default posture is judgment plus action: fix clear, verified bugs you agree
52
65
  - Cite issue IDs or links when you find a match.
53
66
  - If nothing matches, say that plainly.
54
67
 
55
- 4. Fix only the clear bugs you agree with.
68
+ 5. Fix only the clear bugs you agree with.
56
69
 
57
70
  - Verify before fixing: reproduce locally, read the relevant code, inspect logs, or confirm with a stack trace.
58
71
  - Keep each fix narrow and mapped to a feedback item.
@@ -60,7 +73,7 @@ The default posture is judgment plus action: fix clear, verified bugs you agree
60
73
  - Do not switch branches, stash, reset, force-push, or open a PR unless the user asks.
61
74
  - Add or update focused tests when the bug risk warrants it.
62
75
 
63
- 5. Treat UX feedback with restraint.
76
+ 6. Treat UX feedback with restraint.
64
77
 
65
78
  Do not solve UX problems by adding more visible controls, helper text, banners, top-level nav, or always-open panels by default. Prefer cleaner interaction models:
66
79
 
@@ -72,11 +85,14 @@ The default posture is judgment plus action: fix clear, verified bugs you agree
72
85
 
73
86
  When proposing a UX change, write it as: what to change, why it helps, and the tradeoff. Keep each proposal short.
74
87
 
75
- 6. Verify changed behavior.
88
+ 7. Verify changed behavior.
76
89
 
77
90
  - Run the smallest relevant test or typecheck command.
78
91
  - For UI fixes, inspect the actual screen with a browser tool you already
79
92
  have. Do not write a browser-automation script to check a small fix.
93
+ - For resource visibility or lifecycle changes, verify both the screen and
94
+ shared action/tool behavior, including owner versus non-owner access when
95
+ relevant.
80
96
  - If you cannot run a useful verification, say why.
81
97
 
82
98
  ## Report Format
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.137.0",
3
+ "version": "0.137.2",
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": {
@@ -401,7 +401,7 @@
401
401
  "yjs": "^13.6.31",
402
402
  "zod": "^4.3.6",
403
403
  "@agent-native/recap-cli": "0.5.3",
404
- "@agent-native/toolkit": "^0.12.2"
404
+ "@agent-native/toolkit": "^0.13.0"
405
405
  },
406
406
  "devDependencies": {
407
407
  "@ai-sdk/anthropic": "^3.0.71",
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: address-feedback
3
3
  description: >-
4
- Triage feedback docs or pasted feedback into bugs to fix, UX suggestions to
5
- propose, unclear questions, and skipped noise; verify bugs, check Sentry when
6
- relevant, and keep UI changes minimal.
4
+ Triage feedback from docs, issues, Slack threads, or pasted notes into
5
+ verified bugs, UX proposals, unclear questions, and skipped noise. Use when a
6
+ user asks you to address product feedback or investigate a reported workflow.
7
7
  scope: dev
8
8
  metadata:
9
9
  internal: true
@@ -20,6 +20,7 @@ The default posture is judgment plus action: fix clear, verified bugs you agree
20
20
  - If no link or feedback text is provided, ask for it.
21
21
  - Read the repo `AGENTS.md` before touching code.
22
22
  - Use the relevant connector/plugin/skill for the source when available, instead of scraping authenticated pages.
23
+ - Before starting work, search available task history and local Git/PR metadata for the exact feedback link or issue identifiers. Reuse existing work instead of creating a duplicate fix.
23
24
 
24
25
  ## Steps
25
26
 
@@ -35,16 +36,28 @@ The default posture is judgment plus action: fix clear, verified bugs you agree
35
36
  | Public URL | Web browsing |
36
37
  | Pasted text | Read directly |
37
38
 
38
- Use web browsing only for public URLs. Auth-gated docs usually need their matching connector.
39
+ Use web browsing only for public URLs. Auth-gated docs usually need their matching connector. For threads, read the parent and all replies; note when there are no replies, and inspect linked files or newer follow-ups when the source refers to them.
39
40
 
40
- 2. Categorize every actionable item.
41
+ 2. Decompose and categorize every actionable item.
42
+
43
+ Build a compact checklist before changing code. For each item, record the
44
+ symptom, expected behavior, evidence, and owning surface: UI, action/tool,
45
+ data model, provider/runtime, or product policy.
41
46
 
42
47
  - **Bug**: Broken behavior, crash, wrong data, dead link, package/API mismatch, or captured exception. Verify and fix when you agree.
43
48
  - **UX suggestion**: Design, discoverability, workflow, or feature feedback. Propose the cleanest version first unless the user explicitly asked you to implement UX changes.
44
49
  - **Question or unclear**: Missing detail, contradictory feedback, or behavior you cannot inspect. Ask or flag it.
45
50
  - **Out of scope**: Outside this repo, already shipped, intentionally unsupported, or too low-signal. Note briefly and skip.
46
51
 
47
- 3. Check Sentry when the feedback smells like an error.
52
+ 3. For data, permissions, or resource-lifecycle feedback, verify the whole capability boundary before calling it UX.
53
+
54
+ - Check the supported create/read/update/delete lifecycle, including whether the backend/action exists when a UI control is missing.
55
+ - Inspect both the UI and the shared action/tool surface so agent and UI behavior stay in parity.
56
+ - Verify scope semantics such as owner/private, organization, shared, and public access. Test owner and non-owner paths with safe fixtures or read-only checks; never use another user's production data to test access.
57
+ - Treat possible cross-user or cross-organization exposure as a security/correctness bug and verify it before proposing polish.
58
+ - Keep undefined product policy separate from implementation bugs. If supported source types or scope semantics are not defined, flag the contract question instead of inventing behavior.
59
+
60
+ 4. Check Sentry when the feedback smells like an error.
48
61
 
49
62
  - Use the Sentry skill/plugin if available, or the repo's Sentry scripts if documented.
50
63
  - Search by route, stack symbol, error text, and symptom keywords.
@@ -52,7 +65,7 @@ The default posture is judgment plus action: fix clear, verified bugs you agree
52
65
  - Cite issue IDs or links when you find a match.
53
66
  - If nothing matches, say that plainly.
54
67
 
55
- 4. Fix only the clear bugs you agree with.
68
+ 5. Fix only the clear bugs you agree with.
56
69
 
57
70
  - Verify before fixing: reproduce locally, read the relevant code, inspect logs, or confirm with a stack trace.
58
71
  - Keep each fix narrow and mapped to a feedback item.
@@ -60,7 +73,7 @@ The default posture is judgment plus action: fix clear, verified bugs you agree
60
73
  - Do not switch branches, stash, reset, force-push, or open a PR unless the user asks.
61
74
  - Add or update focused tests when the bug risk warrants it.
62
75
 
63
- 5. Treat UX feedback with restraint.
76
+ 6. Treat UX feedback with restraint.
64
77
 
65
78
  Do not solve UX problems by adding more visible controls, helper text, banners, top-level nav, or always-open panels by default. Prefer cleaner interaction models:
66
79
 
@@ -72,11 +85,14 @@ The default posture is judgment plus action: fix clear, verified bugs you agree
72
85
 
73
86
  When proposing a UX change, write it as: what to change, why it helps, and the tradeoff. Keep each proposal short.
74
87
 
75
- 6. Verify changed behavior.
88
+ 7. Verify changed behavior.
76
89
 
77
90
  - Run the smallest relevant test or typecheck command.
78
91
  - For UI fixes, inspect the actual screen with a browser tool you already
79
92
  have. Do not write a browser-automation script to check a small fix.
93
+ - For resource visibility or lifecycle changes, verify both the screen and
94
+ shared action/tool behavior, including owner versus non-owner access when
95
+ relevant.
80
96
  - If you cannot run a useful verification, say why.
81
97
 
82
98
  ## Report Format