@agent-native/core 0.207.0-nightly-20261011153008 → 0.207.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 (57) hide show
  1. package/dist/agent/production-agent.js +23 -6
  2. package/dist/agent/thread-data-builder.js +7 -4
  3. package/dist/automation/index.d.ts +1 -1
  4. package/dist/client/analytics/index.d.ts +1 -1
  5. package/dist/client/analytics.d.ts +12 -3
  6. package/dist/client/analytics.js +51 -17
  7. package/dist/client/onboarding/use-onboarding.d.ts +1 -0
  8. package/dist/client/onboarding/use-onboarding.js +19 -6
  9. package/dist/collab/routes.d.ts +1 -1
  10. package/dist/eval/agent-runner.js +18 -8
  11. package/dist/file-upload/actions/upload-image.d.ts +1 -1
  12. package/dist/jobs/actions/manage-recurring-job.d.ts +1 -1
  13. package/dist/mcp/screen-memory-stdio.d.ts +7 -7
  14. package/dist/notifications/routes.d.ts +1 -1
  15. package/dist/observability/routes.d.ts +7 -7
  16. package/dist/onboarding/plugin.js +15 -45
  17. package/dist/resources/handlers.d.ts +1 -1
  18. package/dist/resources/store.js +25 -30
  19. package/dist/secrets/routes.d.ts +5 -5
  20. package/dist/server/agent-discovery.js +47 -53
  21. package/dist/server/agent-engine-default-model-route.d.ts +2 -2
  22. package/dist/server/agent-engine-ollama-models-route.d.ts +2 -2
  23. package/dist/server/builtin-agents.d.ts +2 -0
  24. package/dist/server/builtin-agents.js +50 -3
  25. package/dist/server/core-routes-plugin.d.ts +1 -1
  26. package/dist/sharing/actions/list-resource-shares.d.ts +1 -1
  27. package/dist/templates/chat/CHANGELOG.md +6 -0
  28. package/dist/templates/chat/app/components/home/HomePage.tsx +1 -1
  29. package/dist/templates/chat/app/i18n/ar-SA.ts +1 -1
  30. package/dist/templates/chat/app/i18n/de-DE.ts +1 -1
  31. package/dist/templates/chat/app/i18n/en-US.ts +1 -1
  32. package/dist/templates/chat/app/i18n/es-ES.ts +1 -1
  33. package/dist/templates/chat/app/i18n/fr-FR.ts +1 -1
  34. package/dist/templates/chat/app/i18n/hi-IN.ts +1 -1
  35. package/dist/templates/chat/app/i18n/ja-JP.ts +1 -1
  36. package/dist/templates/chat/app/i18n/ko-KR.ts +1 -1
  37. package/dist/templates/chat/app/i18n/pt-BR.ts +1 -1
  38. package/dist/templates/chat/app/i18n/zh-CN.ts +1 -1
  39. package/dist/templates/chat/app/i18n/zh-TW.ts +1 -1
  40. package/dist/triggers/actions/manage-automation.d.ts +7 -7
  41. package/docs/content/environment-variables.mdx +38 -13
  42. package/docs/content/getting-started.mdx +6 -28
  43. package/docs/content/multi-app-workspace.mdx +7 -3
  44. package/package.json +4 -4
  45. package/src/templates/chat/CHANGELOG.md +6 -0
  46. package/src/templates/chat/app/components/home/HomePage.tsx +1 -1
  47. package/src/templates/chat/app/i18n/ar-SA.ts +1 -1
  48. package/src/templates/chat/app/i18n/de-DE.ts +1 -1
  49. package/src/templates/chat/app/i18n/en-US.ts +1 -1
  50. package/src/templates/chat/app/i18n/es-ES.ts +1 -1
  51. package/src/templates/chat/app/i18n/fr-FR.ts +1 -1
  52. package/src/templates/chat/app/i18n/hi-IN.ts +1 -1
  53. package/src/templates/chat/app/i18n/ja-JP.ts +1 -1
  54. package/src/templates/chat/app/i18n/ko-KR.ts +1 -1
  55. package/src/templates/chat/app/i18n/pt-BR.ts +1 -1
  56. package/src/templates/chat/app/i18n/zh-CN.ts +1 -1
  57. package/src/templates/chat/app/i18n/zh-TW.ts +1 -1
@@ -13,6 +13,8 @@ declare const _default: import("../../action.js").ActionDefinition<{
13
13
  executionEngine?: string;
14
14
  executionCwd?: string;
15
15
  }, {
16
+ deleted?: undefined;
17
+ enabled?: undefined;
16
18
  created: boolean;
17
19
  name: string;
18
20
  scope: "organization" | "personal";
@@ -23,33 +25,31 @@ declare const _default: import("../../action.js").ActionDefinition<{
23
25
  reasoningEffort: "auto" | "high" | "low" | "max" | "medium" | "minimal" | "none" | "xhigh";
24
26
  webhookPath: string;
25
27
  nextRun: string;
26
- deleted?: undefined;
27
- enabled?: undefined;
28
28
  executionHostId?: undefined;
29
29
  executionEngine?: undefined;
30
30
  executionCwd?: undefined;
31
31
  } | {
32
- created?: undefined;
33
32
  scope?: undefined;
33
+ enabled?: undefined;
34
+ nextRun?: undefined;
35
+ created?: undefined;
34
36
  triggerType?: undefined;
35
37
  event?: undefined;
36
38
  deleted: boolean;
37
39
  name: string;
38
- enabled?: undefined;
39
40
  schedule?: undefined;
40
41
  timezone?: undefined;
41
42
  reasoningEffort?: undefined;
42
43
  executionHostId?: undefined;
43
44
  executionEngine?: undefined;
44
45
  executionCwd?: undefined;
45
- nextRun?: undefined;
46
46
  webhookPath?: undefined;
47
47
  } | {
48
- created?: undefined;
49
48
  scope?: undefined;
49
+ deleted?: undefined;
50
+ created?: undefined;
50
51
  triggerType?: undefined;
51
52
  event?: undefined;
52
- deleted?: undefined;
53
53
  name: string;
54
54
  enabled: boolean;
55
55
  schedule: string;
@@ -15,13 +15,11 @@ most apps need.
15
15
  For a normal app, start with the [Agent-Native app configuration guide](/docs/agent-native-config),
16
16
  then use [Deployment: Environment Variables](/docs/deployment-environment-variables)
17
17
  and [Authentication](/docs/authentication) for the deliberate environment-only
18
- parts. LLM provider keys in environment variables are shared as an app-wide
19
- fallback by self-hosted deployments, including those with a remote database.
20
- Production Hosted-workspace runtimes block deployment provider-key fallbacks.
21
- Any signed-in user without a scoped key can use the deployment provider
22
- account, and usage is billed to that account. Configure these keys only when
23
- app-wide access and billing are intended. Keep user-, organization-, and
24
- workspace-scoped credentials in the database-backed secret or connection store.
18
+ parts. LLM provider keys can be app-wide fallbacks on self-hosted deployments;
19
+ production Hosted-workspace runtimes block that fallback. See [LLM provider
20
+ keys](#llm-provider-keys) for local setup, scoped keys, and deployment sharing
21
+ and billing. Keep user-, organization-, and workspace-scoped credentials in the
22
+ database-backed secret or connection store.
25
23
 
26
24
  For committed, non-secret app defaults, use `agent-native.config.ts` first. If a
27
25
  public config value must vary by deployment, use its deterministic
@@ -83,7 +81,7 @@ public app behavior, use the config paths above instead.
83
81
  | `SECRETS_ENCRYPTION_KEY` | Legacy app-local/shared encryption fallback. | A stable encryption key; prefer the workspace key for new shared vaults. |
84
82
  | `WORKSPACE_SECRETS_ENCRYPTION_KEY` | Stable encryption key for a workspace-shared secrets vault. | The same stable key in every app that reads the vault. |
85
83
  | `WORKSPACE_SECRETS_ENCRYPTION_KEY_PREVIOUS` | Previous workspace key during rotation. | The old key only; remove it after migration. |
86
- | `ANTHROPIC_API_KEY` | Shared fallback for self-hosted apps, including remote databases. | An Anthropic API key; scoped user or organization keys take precedence. |
84
+ | `ANTHROPIC_API_KEY` | Shared fallback for self-hosted apps, including remote databases. | An Anthropic API key; saved personal, organization, or workspace-scoped keys take precedence. |
87
85
  | `AGENT_ENGINE` | Explicitly selects the agent engine instead of auto-detecting from provider keys. | A registered engine name such as `anthropic`, `ai-sdk:openai`, `builder`, or `codex-cli`. |
88
86
  | `AGENT_BUILT_IN_ENGINES` | Restricts which built-in engines are registered at all, so the rest never appear in the model picker or resolve by name. | A comma-separated list of built-in engine names such as `ai-sdk:openai`; unset registers every built-in. |
89
87
  | `AGENT_SOURCE_SWEEP_TOOL_CALL_THRESHOLD` | Read-only source/search tool calls one turn may make before the agent is told to converge and answer from what it gathered. | A positive integer; defaults to 24. Raise it for research-shaped apps that legitimately inspect many records. |
@@ -173,11 +171,38 @@ specific Google API integrations; they are not required for browser sign-in.
173
171
 
174
172
  ## Optional AI, search, and email fallbacks
175
173
 
176
- These are deploy-level fallbacks for self-hosted deployments. Any signed-in
177
- user or organization without a scoped key can use the deployment provider
178
- account, and usage is billed to that account. Configure these keys only when
179
- app-wide access and billing are intended. Production Hosted-workspace runtimes
180
- block deployment provider-key fallbacks.
174
+ ### LLM provider keys {#llm-provider-keys}
175
+
176
+ For local development, put a supported provider key in the app's `.env` file
177
+ before starting `pnpm dev`. For example:
178
+
179
+ ```dotenv
180
+ ANTHROPIC_API_KEY=replace-with-your-key
181
+ ```
182
+
183
+ For an app-wide fallback, set a supported provider key in the server-side
184
+ environment of a self-hosted app. This also works with a remote PostgreSQL
185
+ database. Any signed-in user without a personal, organization-scoped, or
186
+ workspace-scoped provider key can use the deployment's provider account, and
187
+ usage is billed to that account. Anonymous public runs and synthetic traffic do
188
+ not receive this fallback. Personal, organization, and workspace-scoped keys
189
+ take precedence. Setting a deployment key opts in to
190
+ app-wide access and billing; no extra shared-key flag is needed. Production
191
+ Hosted-workspace runtimes block deployment provider-key fallbacks.
192
+
193
+ To keep a key scoped, select **Custom keys** in the app's LLM setup. In a
194
+ PostgreSQL app, a personal key stays with its user; organization scope shares a
195
+ key with the active organization and is available to admins. The app stores
196
+ these saved keys in its encrypted database-backed credential store.
197
+
198
+ To use Builder's managed provider, connect with **Use Builder.io** in the app's
199
+ LLM setup. This uses the Builder connection instead of a provider API key from
200
+ the table below.
201
+
202
+ The table below lists optional deployment-level fallbacks for self-hosted apps.
203
+ See the LLM guidance above for which users can use the deployment provider key
204
+ and how usage is billed. Production Hosted-workspace runtimes block deployment
205
+ provider-key fallbacks.
181
206
 
182
207
  Every provider key below selects its engine on its own: dropping one in is
183
208
  enough, and `AGENT_ENGINE` is only needed to pick between several.
@@ -20,8 +20,7 @@ In this guide, you'll create an agent with a chat UI and call its included
20
20
  - [Node.js](https://nodejs.org) 22.22 or later
21
21
  - [pnpm](https://pnpm.io) available on your `PATH` (run `corepack enable` in
22
22
  the generated app if it is not)
23
- - An LLM connection for the agent: Builder.io, an Anthropic or OpenAI API key,
24
- or a local Ollama model
23
+ - Optional while setting up; required to run the agent: Builder.io, an Anthropic/OpenAI key, or local Ollama
25
24
 
26
25
  ## Create an agent
27
26
 
@@ -64,33 +63,12 @@ enter an email or password for local development.
64
63
 
65
64
  </Callout>
66
65
 
67
- ## Connect an LLM {#connect-an-llm}
66
+ ## Connect an LLM (optional) {#connect-an-llm}
68
67
 
69
- The app opens on the **Get started** page. For local development, add a
70
- provider key to the app's `.env` file before starting `pnpm dev`:
71
-
72
- ```dotenv
73
- ANTHROPIC_API_KEY=replace-with-your-key
74
- ```
75
-
76
- Self-hosted apps use this as a deployment-wide fallback, so users do not need
77
- to add a key in the UI. Hosted-workspace production runtimes block deployment
78
- provider-key sharing. Scoped user or organization keys take precedence.
79
-
80
- Setting this provider key is the operator's opt-in to app-wide access and
81
- billing; no separate shared-key flag is needed. Any signed-in user without a
82
- scoped key can use the deployment provider account across all organizations in
83
- the app, and usage is billed to that account. Use scoped keys when tenants need
84
- separate credentials or billing.
85
-
86
- With PostgreSQL, users can also save a key through **Custom keys**. Choose
87
- Personal scope to keep it to your account; admins can choose Organization scope
88
- to share it with the workspace. The app stores saved keys in its encrypted
89
- database-backed credential store.
90
-
91
- To use Builder's managed provider instead, select **Use Builder.io** in the
92
- composer. See [Environment Variables](/docs/environment-variables#optional-ai-search-and-email-fallbacks)
93
- for supported provider keys and their deployment scope.
68
+ Connect with **Use Builder.io**, add a personal or organization key through
69
+ **Custom keys**, or set a provider key in `.env` for local development and in
70
+ the deployment environment for app-wide use on self-hosted apps. See the [LLM
71
+ provider setup](/docs/environment-variables#llm-provider-keys).
94
72
 
95
73
  ## Run the action from the agent
96
74
 
@@ -260,7 +260,10 @@ By default every workspace can reach the hosted first-party apps (Mail, Calendar
260
260
  "workspaceCore": "@my-company-platform/shared",
261
261
  "builtinAgents": {
262
262
  "mode": "selected",
263
- "include": ["mail", "calendar"]
263
+ "include": ["mail", "calendar", "design"],
264
+ "urls": {
265
+ "design": "https://design.example.test"
266
+ }
264
267
  }
265
268
  }
266
269
  }
@@ -268,10 +271,11 @@ By default every workspace can reach the hosted first-party apps (Mail, Calendar
268
271
 
269
272
  - `mode`: `"all"` (default, every public first-party app), `"none"` (no built-ins), or `"selected"` (only `include`).
270
273
  - `include`: the built-ins this workspace offers when `mode` is `"selected"`. Anything else stays unknown to the workspace.
274
+ - `urls` (optional): maps built-in IDs to HTTPS base URL overrides for offered built-ins without changing the offered agents. It replaces the canonical hosted URL, including in a seeded manifest that still uses that default, while custom connected remote-agent URLs and workspace-app overlays retain priority. Unknown IDs and invalid URLs fail parsing. Each value must be a trimmed absolute HTTPS URL with no credentials, query, or fragment. Local-development routing keeps priority and uses local URLs.
271
275
 
272
- Unknown ids log a warning and are ignored. A standalone app can use the same key in its own `package.json`. `agent-native dev` and workspace deploys pass the value to every app as `AGENT_NATIVE_BUILTIN_AGENTS_JSON`.
276
+ Unknown IDs in `include` log a warning and are ignored. A standalone app can use the same key in its own `package.json`. `agent-native dev` and workspace deploys pass the value to every app as `AGENT_NATIVE_BUILTIN_AGENTS_JSON`.
273
277
 
274
- This config controls the app list, agent discovery, and agent-to-agent calls. Mounted workspace apps and connected remote agents are unaffected, and MCP app access stays a separate routing permission.
278
+ This config controls the app list, agent discovery, and agent-to-agent calls. Mounted workspace apps and custom connected remote-agent URLs retain priority, and MCP app access stays a separate routing permission.
275
279
 
276
280
  ## Shared MCP servers {#shared-mcp}
277
281
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.207.0-nightly-20261011153008",
3
+ "version": "0.207.0",
4
4
  "description": "The agentic application framework for building autonomous agents with intuitive UIs",
5
5
  "homepage": "https://github.com/BuilderIO/agent-native#readme",
6
6
  "bugs": {
@@ -694,8 +694,8 @@
694
694
  "yaml": "^2.9.0",
695
695
  "yjs": "^13.6.33",
696
696
  "zod": "^4.3.6",
697
- "@agent-native/agentkit": "^0.207.0-nightly-20261011153008",
698
- "@agent-native/recap-cli": "^0.5.68"
697
+ "@agent-native/recap-cli": "^0.5.69",
698
+ "@agent-native/agentkit": "^0.207.0"
699
699
  },
700
700
  "devDependencies": {
701
701
  "@ai-sdk/anthropic": "^3.0.71",
@@ -765,7 +765,7 @@
765
765
  "xlsx": "^0.18.5"
766
766
  },
767
767
  "peerDependencies": {
768
- "@agent-native/core-corpus": "0.207.0-nightly-20261011153008",
768
+ "@agent-native/core-corpus": ">=0.196.0",
769
769
  "@ai-sdk/anthropic": ">=3",
770
770
  "@ai-sdk/cohere": ">=3",
771
771
  "@ai-sdk/google": ">=3",
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable user-facing changes to this app are documented here.
4
4
 
5
+ ## 2026-10-10
6
+
7
+ ### Fixed
8
+
9
+ - Large prompts with full context remain available to retry when sending fails.
10
+
5
11
  ## 2026-09-30
6
12
 
7
13
  ### Improved
@@ -284,7 +284,7 @@ export default function HomePage() {
284
284
  </p>
285
285
  <Button asChild variant="link" size="sm" className="h-auto px-0">
286
286
  <a
287
- href={`${DOCS_URL}/getting-started#connect-an-llm`}
287
+ href={`${DOCS_URL}/environment-variables#llm-provider-keys`}
288
288
  target="_blank"
289
289
  rel="noreferrer"
290
290
  >
@@ -61,7 +61,7 @@ const messages = {
61
61
  editHint: "عدّل {{file}} واحفظه، ثم اسأل مجددًا لترى التحية الجديدة.",
62
62
  lead: "تتشارك واجهة تطبيقك ووكيله الإجراءات نفسها.",
63
63
  leadTry: "اطلب من الوكيل استدعاء الإجراء hello.",
64
- llmSetupLink: "إعداد مفتاح LLM للتطبيق بالكامل",
64
+ llmSetupLink: "إعداد موفّر LLM",
65
65
  title: "ابدأ الآن",
66
66
  },
67
67
  navigation: {
@@ -64,7 +64,7 @@ const messages = {
64
64
  "Bearbeite {{file}}, speichere und frag erneut, um die neue Begrüßung zu sehen.",
65
65
  lead: "Die Oberfläche deiner App und ihr Agent nutzen dieselben Aktionen.",
66
66
  leadTry: "Bitte den Agenten, die Aktion hello aufzurufen.",
67
- llmSetupLink: "App-weiten LLM-Schlüssel einrichten",
67
+ llmSetupLink: "LLM-Anbieter einrichten",
68
68
  title: "Loslegen",
69
69
  },
70
70
  navigation: {
@@ -62,7 +62,7 @@ const messages = {
62
62
  editHint: "Edit {{file}} and save, then ask again to see the new greeting.",
63
63
  lead: "Your app's UI and its agent share one set of actions.",
64
64
  leadTry: "Ask the agent to call the hello action.",
65
- llmSetupLink: "Set up an app-wide LLM key",
65
+ llmSetupLink: "LLM provider setup",
66
66
  title: "Get started",
67
67
  },
68
68
  navigation: {
@@ -64,7 +64,7 @@ const messages = {
64
64
  "Edita {{file}}, guarda y vuelve a preguntar para ver el nuevo saludo.",
65
65
  lead: "La interfaz de tu app y su agente comparten las mismas acciones.",
66
66
  leadTry: "Pide al agente que llame a la acción hello.",
67
- llmSetupLink: "Configurar una clave de LLM para toda la app",
67
+ llmSetupLink: "Configuración del proveedor LLM",
68
68
  title: "Empieza aquí",
69
69
  },
70
70
  navigation: {
@@ -64,7 +64,7 @@ const messages = {
64
64
  "Modifiez {{file}}, enregistrez, puis redemandez pour voir le nouveau message.",
65
65
  lead: "L’interface de votre app et son agent partagent les mêmes actions.",
66
66
  leadTry: "Demandez à l’agent d’appeler l’action hello.",
67
- llmSetupLink: "Configurer une clé LLM pour toute l’app",
67
+ llmSetupLink: "Configuration du fournisseur LLM",
68
68
  title: "Commencer",
69
69
  },
70
70
  navigation: {
@@ -63,7 +63,7 @@ const messages = {
63
63
  "{{file}} में बदलाव करके सेव करें, फिर नया अभिवादन देखने के लिए दोबारा पूछें।",
64
64
  lead: "आपके ऐप का UI और उसका एजेंट एक ही क्रियाएं साझा करते हैं।",
65
65
  leadTry: "एजेंट से hello क्रिया कॉल करने को कहें।",
66
- llmSetupLink: "पूरे ऐप के लिए LLM कुंजी सेट करें",
66
+ llmSetupLink: "LLM प्रदाता सेटअप",
67
67
  title: "शुरू करें",
68
68
  },
69
69
  navigation: {
@@ -63,7 +63,7 @@ const messages = {
63
63
  "{{file}} を編集して保存し、もう一度頼むと新しいあいさつが表示されます。",
64
64
  lead: "アプリの UI とエージェントは同じアクションを共有しています。",
65
65
  leadTry: "エージェントに hello アクションを呼び出してもらいましょう。",
66
- llmSetupLink: "アプリ全体で使う LLM キーを設定",
66
+ llmSetupLink: "LLM プロバイダーの設定",
67
67
  title: "はじめに",
68
68
  },
69
69
  navigation: {
@@ -64,7 +64,7 @@ const messages = {
64
64
  "{{file}} 파일을 수정하고 저장한 다음 다시 요청하면 새 인사말이 보입니다.",
65
65
  lead: "앱의 UI와 에이전트는 같은 작업을 공유합니다.",
66
66
  leadTry: "에이전트에게 hello 작업을 호출해 달라고 요청해 보세요.",
67
- llmSetupLink: "앱 전체에서 사용할 LLM 키 설정",
67
+ llmSetupLink: "LLM 제공자 설정",
68
68
  title: "시작하기",
69
69
  },
70
70
  navigation: {
@@ -64,7 +64,7 @@ const messages = {
64
64
  "Edite {{file}}, salve e pergunte de novo para ver a nova saudação.",
65
65
  lead: "A interface do seu app e o agente dele compartilham as mesmas ações.",
66
66
  leadTry: "Peça ao agente para chamar a ação hello.",
67
- llmSetupLink: "Configurar uma chave de LLM para todo o app",
67
+ llmSetupLink: "Configuração do provedor LLM",
68
68
  title: "Comece aqui",
69
69
  },
70
70
  navigation: {
@@ -59,7 +59,7 @@ const messages = {
59
59
  editHint: "编辑 {{file}} 并保存,再问一次就能看到新的问候语。",
60
60
  lead: "应用的界面和代理共用同一组操作。",
61
61
  leadTry: "让代理调用 hello 操作试试。",
62
- llmSetupLink: "设置应用级 LLM 密钥",
62
+ llmSetupLink: "LLM 提供商设置",
63
63
  title: "开始使用",
64
64
  },
65
65
  navigation: {
@@ -59,7 +59,7 @@ const messages = {
59
59
  editHint: "編輯 {{file}} 並儲存,再問一次就能看到新的問候語。",
60
60
  lead: "應用程式的介面和代理共用同一組操作。",
61
61
  leadTry: "讓代理呼叫 hello 操作試試。",
62
- llmSetupLink: "設定應用程式共用的 LLM 金鑰",
62
+ llmSetupLink: "LLM 提供者設定",
63
63
  title: "開始使用",
64
64
  },
65
65
  navigation: {