@agent-native/core 0.122.0 → 0.122.1

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 (143) hide show
  1. package/README.md +4 -12
  2. package/corpus/README.md +1 -1
  3. package/corpus/core/CHANGELOG.md +9 -0
  4. package/corpus/core/package.json +1 -1
  5. package/corpus/core/src/a2a/client.ts +57 -4
  6. package/corpus/core/src/client/settings/SettingsPanel.tsx +9 -9
  7. package/corpus/core/src/client/settings/SettingsTabsPage.tsx +12 -2
  8. package/corpus/core/src/extensions/url-safety.ts +67 -4
  9. package/corpus/core/src/templates/chat/app/components/layout/Sidebar.tsx +0 -7
  10. package/corpus/core/src/templates/default/app/root.tsx +1 -1
  11. package/corpus/core/src/templates/default/public/manifest.json +2 -2
  12. package/corpus/core/src/vite/client.ts +64 -3
  13. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +1 -23
  14. package/corpus/templates/analytics/app/routes/_index.tsx +1 -1
  15. package/corpus/templates/analytics/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
  16. package/corpus/templates/analytics/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  17. package/corpus/templates/analytics/package.json +1 -1
  18. package/corpus/templates/analytics/public/manifest.json +1 -1
  19. package/corpus/templates/analytics/server/plugins/auth.ts +1 -1
  20. package/corpus/templates/assets/app/components/layout/Sidebar.tsx +0 -2
  21. package/corpus/templates/assets/app/routes/_index.tsx +1 -1
  22. package/corpus/templates/assets/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
  23. package/corpus/templates/assets/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  24. package/corpus/templates/assets/server/plugins/auth.ts +1 -1
  25. package/corpus/templates/brain/app/lib/brain.ts +0 -7
  26. package/corpus/templates/brain/app/routes/_index.tsx +1 -2
  27. package/corpus/templates/brain/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
  28. package/corpus/templates/brain/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  29. package/corpus/templates/brain/package.json +1 -1
  30. package/corpus/templates/brain/public/manifest.json +1 -1
  31. package/corpus/templates/brain/server/plugins/auth.ts +1 -1
  32. package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +0 -6
  33. package/corpus/templates/calendar/app/routes/_app._index.tsx +1 -1
  34. package/corpus/templates/calendar/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
  35. package/corpus/templates/calendar/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  36. package/corpus/templates/calendar/package.json +1 -1
  37. package/corpus/templates/calendar/public/manifest.json +1 -1
  38. package/corpus/templates/calendar/server/plugins/auth.ts +1 -1
  39. package/corpus/templates/chat/app/components/layout/Sidebar.tsx +0 -7
  40. package/corpus/templates/chat/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  41. package/corpus/templates/clips/actions/import-loom-recording.ts +53 -98
  42. package/corpus/templates/clips/actions/lib/loom-import-job.ts +260 -0
  43. package/corpus/templates/clips/app/components/library/library-layout.tsx +0 -7
  44. package/corpus/templates/clips/app/routes/_app.library._index.tsx +1 -1
  45. package/corpus/templates/clips/app/routes/_index.tsx +1 -1
  46. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +6 -0
  47. package/corpus/templates/clips/app/routes/record.tsx +5 -0
  48. package/corpus/templates/clips/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
  49. package/corpus/templates/clips/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  50. package/corpus/templates/clips/server/db/schema.ts +2 -0
  51. package/corpus/templates/clips/server/lib/post-finalize-dispatch.ts +2 -1
  52. package/corpus/templates/clips/server/plugins/auth.ts +1 -1
  53. package/corpus/templates/clips/server/plugins/db.ts +8 -0
  54. package/corpus/templates/clips/server/routes/api/_agent-native-background/post-finalize-worker.post.ts +56 -3
  55. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +1 -39
  56. package/corpus/templates/content/app/routes/_app._index.tsx +1 -2
  57. package/corpus/templates/content/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
  58. package/corpus/templates/content/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  59. package/corpus/templates/content/package.json +1 -1
  60. package/corpus/templates/content/public/manifest.json +1 -1
  61. package/corpus/templates/content/server/plugins/auth.ts +1 -1
  62. package/corpus/templates/design/app/components/layout/Sidebar.tsx +0 -2
  63. package/corpus/templates/design/app/routes/_index.tsx +1 -1
  64. package/corpus/templates/design/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
  65. package/corpus/templates/design/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  66. package/corpus/templates/design/server/plugins/auth.ts +1 -1
  67. package/corpus/templates/dispatch/app/dispatch-extensions.tsx +1 -10
  68. package/corpus/templates/dispatch/app/routes/overview.tsx +1 -1
  69. package/corpus/templates/dispatch/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
  70. package/corpus/templates/dispatch/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  71. package/corpus/templates/dispatch/package.json +1 -1
  72. package/corpus/templates/dispatch/public/manifest.json +1 -1
  73. package/corpus/templates/forms/app/components/layout/Sidebar.tsx +0 -35
  74. package/corpus/templates/forms/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
  75. package/corpus/templates/forms/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  76. package/corpus/templates/forms/package.json +1 -1
  77. package/corpus/templates/forms/public/manifest.json +1 -1
  78. package/corpus/templates/forms/server/plugins/auth.ts +1 -1
  79. package/corpus/templates/macros/app/components/layout/AppLayout.tsx +0 -2
  80. package/corpus/templates/macros/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
  81. package/corpus/templates/macros/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  82. package/corpus/templates/macros/package.json +1 -1
  83. package/corpus/templates/macros/server/plugins/auth.ts +2 -2
  84. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +0 -39
  85. package/corpus/templates/mail/app/routes/$view.$threadId.tsx +1 -1
  86. package/corpus/templates/mail/app/routes/$view.tsx +1 -1
  87. package/corpus/templates/mail/app/routes/_index.tsx +1 -1
  88. package/corpus/templates/mail/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
  89. package/corpus/templates/mail/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  90. package/corpus/templates/mail/package.json +1 -1
  91. package/corpus/templates/mail/public/manifest.json +1 -1
  92. package/corpus/templates/mail/server/plugins/auth.ts +1 -1
  93. package/corpus/templates/plan/agent-native.app-skill.json +1 -1
  94. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +4 -9
  95. package/corpus/templates/plan/app/lib/app-config.ts +1 -1
  96. package/corpus/templates/plan/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
  97. package/corpus/templates/plan/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  98. package/corpus/templates/plan/package.json +1 -1
  99. package/corpus/templates/plan/public/manifest.json +1 -1
  100. package/corpus/templates/plan/server/plugins/auth.ts +1 -1
  101. package/corpus/templates/slides/app/components/layout/Sidebar.tsx +0 -2
  102. package/corpus/templates/slides/app/routes/_index.tsx +1 -1
  103. package/corpus/templates/slides/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
  104. package/corpus/templates/slides/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  105. package/corpus/templates/slides/package.json +1 -1
  106. package/corpus/templates/slides/public/manifest.json +1 -1
  107. package/corpus/templates/slides/server/plugins/auth.ts +1 -1
  108. package/dist/a2a/client.d.ts.map +1 -1
  109. package/dist/a2a/client.js +58 -4
  110. package/dist/a2a/client.js.map +1 -1
  111. package/dist/client/settings/SettingsPanel.js +9 -9
  112. package/dist/client/settings/SettingsPanel.js.map +1 -1
  113. package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
  114. package/dist/client/settings/SettingsTabsPage.js +7 -4
  115. package/dist/client/settings/SettingsTabsPage.js.map +1 -1
  116. package/dist/collab/struct-routes.d.ts +1 -1
  117. package/dist/extensions/url-safety.d.ts +9 -16
  118. package/dist/extensions/url-safety.d.ts.map +1 -1
  119. package/dist/extensions/url-safety.js +48 -4
  120. package/dist/extensions/url-safety.js.map +1 -1
  121. package/dist/file-upload/actions/upload-image.d.ts +1 -1
  122. package/dist/notifications/routes.d.ts +2 -2
  123. package/dist/observability/routes.d.ts +3 -3
  124. package/dist/resources/handlers.d.ts +1 -1
  125. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  126. package/dist/server/transcribe-voice.d.ts +1 -1
  127. package/dist/templates/chat/app/components/layout/Sidebar.tsx +0 -7
  128. package/dist/templates/chat/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  129. package/dist/templates/default/app/root.tsx +1 -1
  130. package/dist/templates/default/public/manifest.json +2 -2
  131. package/dist/vite/client.d.ts.map +1 -1
  132. package/dist/vite/client.js +64 -1
  133. package/dist/vite/client.js.map +1 -1
  134. package/package.json +1 -1
  135. package/src/a2a/client.ts +57 -4
  136. package/src/client/settings/SettingsPanel.tsx +9 -9
  137. package/src/client/settings/SettingsTabsPage.tsx +12 -2
  138. package/src/extensions/url-safety.ts +67 -4
  139. package/src/templates/chat/app/components/layout/Sidebar.tsx +0 -7
  140. package/src/templates/chat/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  141. package/src/templates/default/app/root.tsx +1 -1
  142. package/src/templates/default/public/manifest.json +2 -2
  143. package/src/vite/client.ts +64 -3
@@ -14,7 +14,6 @@ import {
14
14
  type ChatHistoryItem,
15
15
  } from "@agent-native/toolkit/chat-history";
16
16
  import {
17
- IconHierarchy2,
18
17
  IconLayoutSidebarLeftCollapse,
19
18
  IconLayoutSidebarLeftExpand,
20
19
  IconMessageCircle,
@@ -43,12 +42,6 @@ const navItems = [
43
42
  ];
44
43
 
45
44
  const bottomNavItems = [
46
- {
47
- icon: IconHierarchy2,
48
- labelKey: "settings.agentTitle",
49
- href: "/agent",
50
- view: "agent",
51
- },
52
45
  {
53
46
  icon: IconSettings,
54
47
  labelKey: "navigation.settings",
@@ -0,0 +1,6 @@
1
+ ---
2
+ type: improved
3
+ date: 2026-07-25
4
+ ---
5
+
6
+ Settings navigation now keeps Manage agent as a dedicated linked destination at the bottom.
@@ -327,7 +327,7 @@ export function ErrorBoundary() {
327
327
  {copy.goHome}
328
328
  </Link>
329
329
  <ErrorReportActions
330
- appName="Agent Native"
330
+ appName="{{APP_TITLE}}"
331
331
  title={title}
332
332
  details={details}
333
333
  status={status}
@@ -1,6 +1,6 @@
1
1
  {
2
- "name": "Agent Native App",
3
- "short_name": "App",
2
+ "name": "{{APP_TITLE}}",
3
+ "short_name": "{{APP_TITLE}}",
4
4
  "description": "Agent-native application",
5
5
  "start_url": "/",
6
6
  "display": "standalone",
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/vite/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/vite/client.ts"],"names":[],"mappings":"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"}
@@ -1884,6 +1884,10 @@ function isNitroEnvironmentUnavailable(error) {
1884
1884
  }
1885
1885
  const NITRO_STARTUP_SETTLE_MS = 1_000;
1886
1886
  const NITRO_STARTUP_TIMEOUT_MS = 30_000;
1887
+ const NITRO_STARTUP_RETRY_KEY = "__agent_native_nitro_startup_retry";
1888
+ const NITRO_STARTUP_RETRY_MAX = 5;
1889
+ const NITRO_STARTUP_RETRY_DELAY_MS = 1_000;
1890
+ const NITRO_STARTUP_RETRY_RESET_MS = 15_000;
1887
1891
  function nitroModuleGraphSignature(environment) {
1888
1892
  const graph = environment
1889
1893
  ?.moduleGraph;
@@ -1918,7 +1922,66 @@ function sendNitroStartingResponse(req, res) {
1918
1922
  res.end();
1919
1923
  return;
1920
1924
  }
1921
- res.end('<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="refresh" content="0.25"><title>Starting…</title></head><body></body></html>');
1925
+ res.end(`<!doctype html>
1926
+ <html>
1927
+ <head>
1928
+ <meta charset="utf-8">
1929
+ <meta name="viewport" content="width=device-width, initial-scale=1">
1930
+ <title>Dev server restarting…</title>
1931
+ <style>
1932
+ body { margin: 0; min-height: 100vh; display: grid; place-items: center; font: 16px/1.5 system-ui, sans-serif; color: #171717; background: #fafafa; }
1933
+ main { width: min(560px, calc(100vw - 48px)); }
1934
+ h1 { margin: 0 0 8px; font-size: 1.25rem; }
1935
+ p { margin: 0; color: #737373; }
1936
+ </style>
1937
+ </head>
1938
+ <body>
1939
+ <main>
1940
+ <h1>Dev server is restarting…</h1>
1941
+ <p id="agent-native-nitro-retry-status">Checking again shortly.</p>
1942
+ </main>
1943
+ <script>
1944
+ (() => {
1945
+ const key = ${JSON.stringify(NITRO_STARTUP_RETRY_KEY)};
1946
+ const maxRetries = ${NITRO_STARTUP_RETRY_MAX};
1947
+ const resetAfterMs = ${NITRO_STARTUP_RETRY_RESET_MS};
1948
+ const retryDelayMs = ${NITRO_STARTUP_RETRY_DELAY_MS};
1949
+ const status = document.getElementById("agent-native-nitro-retry-status");
1950
+ const now = Date.now();
1951
+ let count = 0;
1952
+ let lastAttemptAt = 0;
1953
+
1954
+ try {
1955
+ const stored = JSON.parse(sessionStorage.getItem(key) || "null");
1956
+ if (stored && typeof stored === "object") {
1957
+ count = Number.isFinite(stored.count) ? stored.count : 0;
1958
+ lastAttemptAt = Number.isFinite(stored.at) ? stored.at : 0;
1959
+ }
1960
+ } catch (error) {
1961
+ // A blocked session store is handled below by showing a manual retry.
1962
+ }
1963
+
1964
+ if (now - lastAttemptAt > resetAfterMs) count = 0;
1965
+ if (count >= maxRetries) {
1966
+ if (status) status.textContent = "The server is still unavailable. Refresh when it is ready.";
1967
+ return;
1968
+ }
1969
+
1970
+ const nextState = JSON.stringify({ count: count + 1, at: now });
1971
+ try {
1972
+ sessionStorage.setItem(key, nextState);
1973
+ if (sessionStorage.getItem(key) !== nextState) throw new Error("unavailable");
1974
+ } catch (error) {
1975
+ if (status) status.textContent = "Refresh manually when the server is ready.";
1976
+ return;
1977
+ }
1978
+
1979
+ if (status) status.textContent = "Retrying in one second…";
1980
+ setTimeout(() => window.location.reload(), retryDelayMs);
1981
+ })();
1982
+ </script>
1983
+ </body>
1984
+ </html>`);
1922
1985
  }
1923
1986
  function nitroStartupGate(options = {}) {
1924
1987
  return {