@agent-native/core 0.12.18 → 0.12.20

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 (128) hide show
  1. package/dist/agent/default-model.d.ts +1 -20
  2. package/dist/agent/default-model.d.ts.map +1 -1
  3. package/dist/agent/default-model.js +1 -20
  4. package/dist/agent/default-model.js.map +1 -1
  5. package/dist/agent/engine/ai-sdk-engine.d.ts +2 -1
  6. package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
  7. package/dist/agent/engine/ai-sdk-engine.js +13 -38
  8. package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
  9. package/dist/agent/engine/anthropic-engine.d.ts +1 -1
  10. package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
  11. package/dist/agent/engine/anthropic-engine.js +3 -11
  12. package/dist/agent/engine/anthropic-engine.js.map +1 -1
  13. package/dist/agent/engine/builder-engine.d.ts +2 -2
  14. package/dist/agent/engine/builder-engine.d.ts.map +1 -1
  15. package/dist/agent/engine/builder-engine.js +3 -21
  16. package/dist/agent/engine/builder-engine.js.map +1 -1
  17. package/dist/agent/model-config.d.ts +99 -0
  18. package/dist/agent/model-config.d.ts.map +1 -0
  19. package/dist/agent/model-config.js +112 -0
  20. package/dist/agent/model-config.js.map +1 -0
  21. package/dist/agent/production-agent.d.ts +1 -1
  22. package/dist/agent/production-agent.d.ts.map +1 -1
  23. package/dist/agent/production-agent.js +13 -1
  24. package/dist/agent/production-agent.js.map +1 -1
  25. package/dist/cli/create.d.ts +4 -1
  26. package/dist/cli/create.d.ts.map +1 -1
  27. package/dist/cli/create.js +19 -4
  28. package/dist/cli/create.js.map +1 -1
  29. package/dist/cli/index.js +1 -1
  30. package/dist/cli/index.js.map +1 -1
  31. package/dist/cli/workspace-dev.d.ts +3 -0
  32. package/dist/cli/workspace-dev.d.ts.map +1 -1
  33. package/dist/cli/workspace-dev.js +67 -27
  34. package/dist/cli/workspace-dev.js.map +1 -1
  35. package/dist/client/AgentPanel.d.ts +4 -0
  36. package/dist/client/AgentPanel.d.ts.map +1 -1
  37. package/dist/client/AgentPanel.js +34 -4
  38. package/dist/client/AgentPanel.js.map +1 -1
  39. package/dist/client/AssistantChat.d.ts +4 -0
  40. package/dist/client/AssistantChat.d.ts.map +1 -1
  41. package/dist/client/AssistantChat.js +10 -2
  42. package/dist/client/AssistantChat.js.map +1 -1
  43. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  44. package/dist/client/agent-chat-adapter.js +50 -8
  45. package/dist/client/agent-chat-adapter.js.map +1 -1
  46. package/dist/client/analytics.d.ts +4 -0
  47. package/dist/client/analytics.d.ts.map +1 -1
  48. package/dist/client/analytics.js +11 -2
  49. package/dist/client/analytics.js.map +1 -1
  50. package/dist/client/components/CodeRequiredDialog.d.ts.map +1 -1
  51. package/dist/client/components/CodeRequiredDialog.js +10 -9
  52. package/dist/client/components/CodeRequiredDialog.js.map +1 -1
  53. package/dist/client/composer/TiptapComposer.d.ts +5 -1
  54. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  55. package/dist/client/composer/TiptapComposer.js +19 -6
  56. package/dist/client/composer/TiptapComposer.js.map +1 -1
  57. package/dist/client/composer/pasted-text.d.ts.map +1 -1
  58. package/dist/client/composer/pasted-text.js +1 -1
  59. package/dist/client/composer/pasted-text.js.map +1 -1
  60. package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
  61. package/dist/client/resources/ResourcesPanel.js +5 -40
  62. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  63. package/dist/client/settings/AutomationsSection.d.ts.map +1 -1
  64. package/dist/client/settings/AutomationsSection.js +3 -30
  65. package/dist/client/settings/AutomationsSection.js.map +1 -1
  66. package/dist/client/terminal/AgentTerminal.d.ts.map +1 -1
  67. package/dist/client/terminal/AgentTerminal.js +44 -14
  68. package/dist/client/terminal/AgentTerminal.js.map +1 -1
  69. package/dist/client/use-chat-models.d.ts.map +1 -1
  70. package/dist/client/use-chat-models.js +41 -3
  71. package/dist/client/use-chat-models.js.map +1 -1
  72. package/dist/deploy/build.d.ts.map +1 -1
  73. package/dist/deploy/build.js +61 -6
  74. package/dist/deploy/build.js.map +1 -1
  75. package/dist/deploy/workspace-deploy.d.ts +1 -1
  76. package/dist/deploy/workspace-deploy.d.ts.map +1 -1
  77. package/dist/deploy/workspace-deploy.js +158 -7
  78. package/dist/deploy/workspace-deploy.js.map +1 -1
  79. package/dist/integrations/plugin.d.ts.map +1 -1
  80. package/dist/integrations/plugin.js +1 -2
  81. package/dist/integrations/plugin.js.map +1 -1
  82. package/dist/integrations/types.d.ts +1 -1
  83. package/dist/integrations/types.d.ts.map +1 -1
  84. package/dist/integrations/types.js.map +1 -1
  85. package/dist/integrations/webhook-handler.d.ts +2 -2
  86. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  87. package/dist/integrations/webhook-handler.js.map +1 -1
  88. package/dist/scripts/agent-engines/manage-agent-engine.js +1 -1
  89. package/dist/scripts/agent-engines/manage-agent-engine.js.map +1 -1
  90. package/dist/scripts/agent-engines/set-agent-engine.js +1 -1
  91. package/dist/scripts/agent-engines/set-agent-engine.js.map +1 -1
  92. package/dist/server/agent-chat-plugin.d.ts +1 -1
  93. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  94. package/dist/server/agent-chat-plugin.js +11 -7
  95. package/dist/server/agent-chat-plugin.js.map +1 -1
  96. package/dist/server/auth.d.ts +1 -0
  97. package/dist/server/auth.d.ts.map +1 -1
  98. package/dist/server/auth.js +49 -9
  99. package/dist/server/auth.js.map +1 -1
  100. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  101. package/dist/server/core-routes-plugin.js +4 -2
  102. package/dist/server/core-routes-plugin.js.map +1 -1
  103. package/dist/server/google-oauth.d.ts.map +1 -1
  104. package/dist/server/google-oauth.js +3 -9
  105. package/dist/server/google-oauth.js.map +1 -1
  106. package/dist/server/sentry-config.d.ts +5 -0
  107. package/dist/server/sentry-config.d.ts.map +1 -0
  108. package/dist/server/sentry-config.js +43 -0
  109. package/dist/server/sentry-config.js.map +1 -0
  110. package/dist/server/sentry-plugin.d.ts +1 -1
  111. package/dist/server/sentry-plugin.js +2 -2
  112. package/dist/server/sentry-plugin.js.map +1 -1
  113. package/dist/server/sentry.d.ts +4 -4
  114. package/dist/server/sentry.d.ts.map +1 -1
  115. package/dist/server/sentry.js +13 -13
  116. package/dist/server/sentry.js.map +1 -1
  117. package/dist/server/ssr-handler.d.ts.map +1 -1
  118. package/dist/server/ssr-handler.js +12 -2
  119. package/dist/server/ssr-handler.js.map +1 -1
  120. package/dist/templates/workspace-root/_gitignore +1 -0
  121. package/dist/usage/store.d.ts.map +1 -1
  122. package/dist/usage/store.js +5 -5
  123. package/dist/usage/store.js.map +1 -1
  124. package/docs/content/deployment.md +23 -3
  125. package/docs/content/multi-app-workspace.md +8 -2
  126. package/docs/content/observability.md +8 -8
  127. package/package.json +1 -1
  128. package/src/templates/workspace-root/_gitignore +1 -0
@@ -168,6 +168,7 @@ export declare function runAuthGuard(event: H3Event): Promise<Response | object
168
168
  * page load.
169
169
  */
170
170
  export declare function getSession(event: H3Event): Promise<AuthSession | null>;
171
+ export declare function setFrameworkSessionCookie(event: H3Event, token: string): void;
171
172
  /**
172
173
  * Automatically configure auth based on environment and configuration:
173
174
  *
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/server/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/server/auth.ts"],"names":[],"mappings":"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"}
@@ -604,10 +604,11 @@ function createAuthGuardFn() {
604
604
  const config = _authGuardConfig;
605
605
  if (!config)
606
606
  return;
607
- const { loginHtml, publicPaths } = config;
607
+ const { publicPaths } = config;
608
608
  const url = event.node?.req?.url ?? event.path ?? "/";
609
609
  const queryStart = url.indexOf("?");
610
610
  const rawPath = queryStart >= 0 ? url.slice(0, queryStart) : url;
611
+ const loginHtml = config.getLoginHtml?.(event, rawPath) ?? config.loginHtml;
611
612
  const p = stripAppBasePath(rawPath);
612
613
  const normalizedUrl = queryStart >= 0 ? `${p}${url.slice(queryStart)}` : p;
613
614
  const callbackRelay = workspaceOAuthCallbackRelayResponse(event);
@@ -891,7 +892,7 @@ function crossSiteCookieAttrs(event) {
891
892
  ? { sameSite: "none", secure: true }
892
893
  : { sameSite: "lax", secure: false };
893
894
  }
894
- function setFrameworkSessionCookie(event, token) {
895
+ export function setFrameworkSessionCookie(event, token) {
895
896
  setCookie(event, COOKIE_NAME, token, {
896
897
  httpOnly: true,
897
898
  ...crossSiteCookieAttrs(event),
@@ -939,8 +940,35 @@ function stripAppBasePath(pathname) {
939
940
  // ---------------------------------------------------------------------------
940
941
  // Login page HTML (ACCESS_TOKEN mode)
941
942
  // ---------------------------------------------------------------------------
942
- function getTokenLoginHtml() {
943
- const configuredBasePath = getAppBasePath();
943
+ function inferWorkspaceBasePathFromRequest(requestPath) {
944
+ if (process.env.AGENT_NATIVE_WORKSPACE !== "1" &&
945
+ process.env.VITE_AGENT_NATIVE_WORKSPACE !== "1") {
946
+ return "";
947
+ }
948
+ if (!requestPath || !requestPath.startsWith("/"))
949
+ return "";
950
+ const firstSegment = requestPath.split(/[/?#]/)[1];
951
+ if (!firstSegment)
952
+ return "";
953
+ const reservedRootPaths = new Set([
954
+ "_agent-native",
955
+ ".well-known",
956
+ "api",
957
+ "login",
958
+ "signup",
959
+ "apps",
960
+ "new-app",
961
+ "approval",
962
+ "extensions",
963
+ ]);
964
+ if (reservedRootPaths.has(firstSegment))
965
+ return "";
966
+ if (!isValidWorkspaceAppIdFormat(firstSegment))
967
+ return "";
968
+ return `/${firstSegment}`;
969
+ }
970
+ function getTokenLoginHtml(options = {}) {
971
+ const configuredBasePath = getAppBasePath() || inferWorkspaceBasePathFromRequest(options.requestPath);
944
972
  return `<!DOCTYPE html>
945
973
  <html lang="en">
946
974
  <head>
@@ -1126,7 +1154,7 @@ function getTokenLoginHtml() {
1126
1154
  <div class="card">
1127
1155
  <div class="eyebrow">Private deployment</div>
1128
1156
  <h1>This app is private</h1>
1129
- <p class="intro">Enter the shared app access token to continue. This is the value configured for this app, not your Netlify personal access token.</p>
1157
+ <p class="intro">Enter the shared app access token to continue. This is the value configured for this app, not your deploy provider account token.</p>
1130
1158
  <form id="form">
1131
1159
  <label for="token"><span>App ACCESS_TOKEN</span><span>Required</span></label>
1132
1160
  <div class="input-wrap">
@@ -1138,7 +1166,7 @@ function getTokenLoginHtml() {
1138
1166
  </form>
1139
1167
  <details>
1140
1168
  <summary>Where do I find this?</summary>
1141
- <p>In Netlify, create or copy the app's shared token from Site configuration, Environment variables. The key should be <code>ACCESS_TOKEN</code> for one token or <code>ACCESS_TOKENS</code> for a comma-separated list. Redeploy after changing it.</p>
1169
+ <p>Create or copy the app's shared token from your deployment environment variables. The key should be <code>ACCESS_TOKEN</code> for one token or <code>ACCESS_TOKENS</code> for a comma-separated list. Redeploy after changing it.</p>
1142
1170
  </details>
1143
1171
  </div>
1144
1172
  <script>
@@ -1214,7 +1242,7 @@ function getTokenLoginHtml() {
1214
1242
  body: JSON.stringify({ token: token }),
1215
1243
  });
1216
1244
  if (!res.ok) {
1217
- var badTokenMessage = 'That token was not accepted. Use this app\\'s shared ACCESS_TOKEN, not a Netlify personal access token.';
1245
+ var badTokenMessage = 'That token was not accepted. Use this app\\'s shared ACCESS_TOKEN, not your deploy provider account token.';
1218
1246
  if (res.status === 404) {
1219
1247
  badTokenMessage = 'Could not reach this app\\'s auth endpoint. If this app is mounted under a path, confirm APP_BASE_PATH and VITE_APP_BASE_PATH match the deploy path.';
1220
1248
  }
@@ -1879,7 +1907,11 @@ function mountTokenOnlyRoutes(app, accessTokens, publicPaths = []) {
1879
1907
  const session = await getSession(event);
1880
1908
  return session ?? { error: "Not authenticated" };
1881
1909
  }));
1882
- _authGuardConfig = { loginHtml: getTokenLoginHtml(), publicPaths };
1910
+ _authGuardConfig = {
1911
+ loginHtml: getTokenLoginHtml(),
1912
+ getLoginHtml: (_event, rawPath) => getTokenLoginHtml({ requestPath: rawPath }),
1913
+ publicPaths,
1914
+ };
1883
1915
  const guardFn = createAuthGuardFn();
1884
1916
  _authGuardFn = guardFn;
1885
1917
  app.use(defineEventHandler(guardFn));
@@ -2099,7 +2131,15 @@ export async function autoMountAuth(app, options = {}) {
2099
2131
  return { ok: true };
2100
2132
  }));
2101
2133
  const byoaLoginHtml = options.loginHtml ?? getTokenLoginHtml();
2102
- _authGuardConfig = { loginHtml: byoaLoginHtml, publicPaths };
2134
+ _authGuardConfig = {
2135
+ loginHtml: byoaLoginHtml,
2136
+ ...(options.loginHtml
2137
+ ? {}
2138
+ : {
2139
+ getLoginHtml: (_event, rawPath) => getTokenLoginHtml({ requestPath: rawPath }),
2140
+ }),
2141
+ publicPaths,
2142
+ };
2103
2143
  const guardFn = createAuthGuardFn();
2104
2144
  _authGuardFn = guardFn;
2105
2145
  app.use(defineEventHandler(guardFn));