@agent-native/core 0.189.0-nightly-20260925200527 → 0.189.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.
- package/corpus/README.md +1 -1
- package/corpus/templates/content/CHANGELOG.md +6 -0
- package/corpus/templates/content/vite.config.ts +2 -38
- package/corpus/templates/design/CHANGELOG.md +4 -0
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +36 -11
- package/corpus/templates/mail/app/hooks/use-inbox-threads.ts +82 -0
- package/corpus/templates/mail/app/pages/InboxPage.tsx +18 -19
- package/corpus/templates/mail/changelog/2026-09-25-keep-inbox-tab-counts-consistent-when-switching-tabs.md +6 -0
- package/corpus/templates/slides/CHANGELOG.md +4 -0
- package/dist/cli/index.js +1 -2
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/deploy/build.d.ts +1 -1
- package/dist/deploy/build.js +9 -348
- package/dist/deploy/workspace-deploy.d.ts +2 -2
- package/dist/deploy/workspace-deploy.js +9 -130
- package/dist/file-upload/actions/upload-image.d.ts +1 -1
- package/dist/notifications/routes.d.ts +3 -3
- package/dist/observability/routes.d.ts +6 -6
- package/dist/org/handlers.d.ts +1 -1
- package/dist/progress/routes.d.ts +1 -1
- package/dist/resources/handlers.d.ts +1 -1
- package/dist/secrets/routes.d.ts +3 -3
- package/dist/server/agent-engine-ollama-models-route.d.ts +1 -1
- package/dist/vite/client.d.ts +1 -1
- package/docs/content/a2a-protocol.mdx +2 -2
- package/docs/content/cloudflare.mdx +2 -10
- package/docs/content/deploy-an-app.mdx +0 -1
- package/docs/content/deployment.mdx +2 -8
- package/docs/content/environment-variables.mdx +1 -1
- package/docs/content/multi-app-workspace.mdx +1 -1
- package/docs/content/netlify.mdx +1 -1
- package/docs/content/real-time-collaboration.mdx +6 -6
- package/docs/content/workspace-deployment.mdx +4 -15
- package/package.json +4 -4
|
@@ -11,14 +11,14 @@
|
|
|
11
11
|
* DELETE /_agent-native/notifications/:id — delete
|
|
12
12
|
*/
|
|
13
13
|
export declare function createNotificationsHandler(): import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<"" | import("./types.js").Notification[] | {
|
|
14
|
-
error?: undefined;
|
|
15
14
|
count: number;
|
|
16
15
|
updated?: undefined;
|
|
16
|
+
error?: undefined;
|
|
17
17
|
ok?: undefined;
|
|
18
18
|
} | {
|
|
19
|
-
error?: undefined;
|
|
20
19
|
count?: undefined;
|
|
21
20
|
updated: number;
|
|
21
|
+
error?: undefined;
|
|
22
22
|
ok?: undefined;
|
|
23
23
|
} | {
|
|
24
24
|
count?: undefined;
|
|
@@ -26,8 +26,8 @@ export declare function createNotificationsHandler(): import("h3").EventHandlerW
|
|
|
26
26
|
error: string;
|
|
27
27
|
ok?: undefined;
|
|
28
28
|
} | {
|
|
29
|
-
error?: undefined;
|
|
30
29
|
count?: undefined;
|
|
31
30
|
updated?: undefined;
|
|
31
|
+
error?: undefined;
|
|
32
32
|
ok: boolean;
|
|
33
33
|
}>>;
|
|
@@ -41,27 +41,27 @@ export declare function createObservabilityHandler(): import("h3").EventHandlerW
|
|
|
41
41
|
thumbsUpRate: number;
|
|
42
42
|
avgEvalScore: number;
|
|
43
43
|
} | {
|
|
44
|
-
|
|
44
|
+
error?: undefined;
|
|
45
45
|
summary: import("./types.js").TraceSummary;
|
|
46
46
|
spans: import("./types.js").TraceSpan[];
|
|
47
|
-
|
|
47
|
+
id?: undefined;
|
|
48
48
|
ok?: undefined;
|
|
49
49
|
} | {
|
|
50
|
+
error?: undefined;
|
|
50
51
|
summary?: undefined;
|
|
51
52
|
spans?: undefined;
|
|
52
53
|
id: string;
|
|
53
|
-
error?: undefined;
|
|
54
54
|
ok?: undefined;
|
|
55
55
|
} | {
|
|
56
|
-
id?: undefined;
|
|
57
56
|
summary?: undefined;
|
|
58
57
|
spans?: undefined;
|
|
58
|
+
id?: undefined;
|
|
59
59
|
error: any;
|
|
60
60
|
ok?: undefined;
|
|
61
61
|
} | {
|
|
62
|
-
|
|
62
|
+
error?: undefined;
|
|
63
63
|
summary?: undefined;
|
|
64
64
|
spans?: undefined;
|
|
65
|
+
id?: undefined;
|
|
65
66
|
ok: boolean;
|
|
66
|
-
error?: undefined;
|
|
67
67
|
}>>;
|
package/dist/org/handlers.d.ts
CHANGED
|
@@ -74,9 +74,9 @@ export declare const setWorkspaceAppDefaultVisibilityHandler: import("h3").Event
|
|
|
74
74
|
/** POST /_agent-native/org — create a new organization */
|
|
75
75
|
export declare const createOrgHandler: import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<{
|
|
76
76
|
success: boolean;
|
|
77
|
-
id?: undefined;
|
|
78
77
|
name?: undefined;
|
|
79
78
|
role?: undefined;
|
|
79
|
+
id?: undefined;
|
|
80
80
|
} | {
|
|
81
81
|
success?: undefined;
|
|
82
82
|
id: string;
|
|
@@ -48,8 +48,8 @@ export declare function handleUpdateResource(event: any): Promise<import("./stor
|
|
|
48
48
|
}>;
|
|
49
49
|
/** DELETE /_agent-native/resources/:id — delete a resource */
|
|
50
50
|
export declare function handleDeleteResource(event: any): Promise<{
|
|
51
|
-
error: string;
|
|
52
51
|
ok?: undefined;
|
|
52
|
+
error: string;
|
|
53
53
|
} | {
|
|
54
54
|
error?: undefined;
|
|
55
55
|
ok: boolean;
|
package/dist/secrets/routes.d.ts
CHANGED
|
@@ -57,16 +57,16 @@ export declare function createListSecretsHandler(): import("h3").EventHandlerWit
|
|
|
57
57
|
/** POST /_agent-native/secrets/:key — write a secret. */
|
|
58
58
|
export declare function createWriteSecretHandler(): import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<{
|
|
59
59
|
error: string;
|
|
60
|
-
ok?: undefined;
|
|
61
60
|
status?: undefined;
|
|
61
|
+
ok?: undefined;
|
|
62
62
|
} | {
|
|
63
63
|
ok: boolean;
|
|
64
64
|
status: string;
|
|
65
65
|
error?: undefined;
|
|
66
66
|
} | {
|
|
67
|
-
ok?: undefined;
|
|
68
67
|
error: string;
|
|
69
68
|
removed?: undefined;
|
|
69
|
+
ok?: undefined;
|
|
70
70
|
} | {
|
|
71
71
|
ok: boolean;
|
|
72
72
|
removed: boolean;
|
|
@@ -77,9 +77,9 @@ export declare function createWriteSecretHandler(): import("h3").EventHandlerWit
|
|
|
77
77
|
* or the current stored value without changing anything.
|
|
78
78
|
*/
|
|
79
79
|
export declare function createTestSecretHandler(): import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<{
|
|
80
|
-
ok?: undefined;
|
|
81
80
|
error: string;
|
|
82
81
|
note?: undefined;
|
|
82
|
+
ok?: undefined;
|
|
83
83
|
} | {
|
|
84
84
|
ok: boolean;
|
|
85
85
|
note?: undefined;
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* static suggestion list in `model-config.ts`.
|
|
6
6
|
*/
|
|
7
7
|
export declare function createAgentEngineOllamaModelsHandler(): import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<{
|
|
8
|
-
ok?: undefined;
|
|
9
8
|
error: string;
|
|
9
|
+
ok?: undefined;
|
|
10
10
|
models?: undefined;
|
|
11
11
|
} | {
|
|
12
12
|
ok: boolean;
|
package/dist/vite/client.d.ts
CHANGED
|
@@ -81,7 +81,7 @@ declare function getReactRouterAliases(cwd: string): Array<{
|
|
|
81
81
|
}>;
|
|
82
82
|
declare function getDefaultOptimizeDeps(cwd: string): string[];
|
|
83
83
|
export interface NitroOptions {
|
|
84
|
-
/** Nitro deployment preset (e.g. "node", "vercel", "netlify", "aws_amplify", "
|
|
84
|
+
/** Nitro deployment preset (e.g. "node", "vercel", "netlify", "aws_amplify", "cloudflare_module"). Default: "node" */
|
|
85
85
|
preset?: string;
|
|
86
86
|
/** Source directory for server files. Default: "./server" */
|
|
87
87
|
srcDir?: string;
|
|
@@ -280,7 +280,7 @@ When `message/send` is called with `async: true`, the JSON-RPC handler enqueues
|
|
|
280
280
|
|
|
281
281
|
<Callout tone="warning">
|
|
282
282
|
|
|
283
|
-
**Serverless webhook and gateway timeouts.** Hosted environment gateways (such as Netlify, Vercel, or Cloudflare
|
|
283
|
+
**Serverless webhook and gateway timeouts.** Hosted environment gateways (such as Netlify, Vercel, or Cloudflare Workers) impose strict execution limits (often 10 to 30 seconds) on public-facing HTTP routes. Because agent loops can take significant time to run queries, fetch context, and execute tools, you **must use `async: true`** when calling A2A endpoints or handling external webhooks. This immediately returns a `working` status to the API gateway, keeping the connection open only for a few milliseconds, while the self-fired `/process-task` POST executes the agent loop in the background. Do not block the primary HTTP request waiting for the agent loop to finish.
|
|
284
284
|
|
|
285
285
|
</Callout>
|
|
286
286
|
|
|
@@ -641,7 +641,7 @@ The agent card endpoint is always public (no auth) so other agents can discover
|
|
|
641
641
|
|
|
642
642
|
Bearer validation runs at the request boundary — in the JSON-RPC handler — before the agent loop ever sees the message. The shared helpers in `packages/core/src/a2a/auth-policy.ts` decide what the deployment requires:
|
|
643
643
|
|
|
644
|
-
- `isA2AProductionRuntime()` returns `true` on Netlify, AWS Lambda, Cloudflare
|
|
644
|
+
- `isA2AProductionRuntime()` returns `true` on Netlify, AWS Lambda, Cloudflare Workers, Vercel, Render, Fly, and Cloud Run — even when `NODE_ENV` isn't `"production"`. Some serverless providers don't set `NODE_ENV` consistently, so the policy reads provider-specific flags too.
|
|
645
645
|
- `hasConfiguredA2ASecret()` returns `true` when `A2A_SECRET` is set.
|
|
646
646
|
- `shouldAdvertiseJwtA2AAuth()` is what the agent card uses to decide whether to publish a `jwtBearer` security scheme.
|
|
647
647
|
|
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Cloudflare"
|
|
3
|
-
description: "Deploy an agent-native app to Cloudflare
|
|
3
|
+
description: "Deploy an agent-native app to Cloudflare Workers with the cloudflare_module Nitro preset."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Cloudflare
|
|
7
7
|
|
|
8
|
-
## Cloudflare Pages {#cloudflare-pages}
|
|
9
|
-
|
|
10
|
-
```ts filename="vite.config.ts"
|
|
11
|
-
export default defineConfig({
|
|
12
|
-
plugins: [agentNative({ nitro: { preset: "cloudflare_pages" } })],
|
|
13
|
-
});
|
|
14
|
-
```
|
|
15
|
-
|
|
16
8
|
## Cloudflare Workers {#cloudflare-workers}
|
|
17
9
|
|
|
18
10
|
Use Nitro's native module output for a Cloudflare Worker. This keeps SSR
|
|
@@ -39,5 +31,5 @@ before deploying. A Worker filesystem is not a persistent application store.
|
|
|
39
31
|
## What's next
|
|
40
32
|
|
|
41
33
|
- [**Deployment**](/docs/deployment) — pick a persistent database and a preset before your first production deploy
|
|
42
|
-
- [**Workspace Deployment**](/docs/workspace-deployment) —
|
|
34
|
+
- [**Workspace Deployment**](/docs/workspace-deployment) — deploy every workspace app to one origin with Netlify or Vercel
|
|
43
35
|
- [**Node.js**](/docs/node-js), [**Docker**](/docs/docker), [**Vercel**](/docs/vercel), [**Netlify**](/docs/netlify), [**AWS Lambda**](/docs/aws-lambda), and [**Deno Deploy**](/docs/deno-deploy) — the other Nitro presets
|
|
@@ -44,7 +44,6 @@ See the target page for the provider command and runtime details:
|
|
|
44
44
|
- [**Docker**](/docs/docker)
|
|
45
45
|
- [**Vercel**](/docs/vercel)
|
|
46
46
|
- [**Netlify**](/docs/netlify)
|
|
47
|
-
- [**Cloudflare Pages**](/docs/cloudflare#cloudflare-pages)
|
|
48
47
|
- [**Cloudflare Workers**](/docs/cloudflare#cloudflare-workers)
|
|
49
48
|
- [**AWS Amplify**](/docs/aws-amplify)
|
|
50
49
|
- [**AWS Lambda**](/docs/aws-lambda)
|
|
@@ -84,7 +84,7 @@ contract stay the same.
|
|
|
84
84
|
|
|
85
85
|
<!-- i18n-copy-ignore: renderer-only Diagram attributes keep this shared UI block in clean mode. -->
|
|
86
86
|
|
|
87
|
-
<Diagram id="doc-block-deployment-targets" title="Supported deployment targets" summary="Agent-Native apps can deploy to Node.js, Docker, Vercel, Netlify, Cloudflare
|
|
87
|
+
<Diagram id="doc-block-deployment-targets" title="Supported deployment targets" summary="Agent-Native apps can deploy to Node.js, Docker, Vercel, Netlify, Cloudflare Workers, AWS Amplify, AWS Lambda, Deno Deploy, Azure Static Web Apps, Koyeb, and Render." frame="hide" renderMode="design">
|
|
88
88
|
|
|
89
89
|
```html
|
|
90
90
|
<!-- i18n-copy-ignore: deployment target logo markup is visual-only; labels are unchanged. -->
|
|
@@ -142,12 +142,6 @@ contract stay the same.
|
|
|
142
142
|
</span>
|
|
143
143
|
<strong>Netlify</strong>
|
|
144
144
|
</a>
|
|
145
|
-
<a class="deployment-target" href="/docs/cloudflare#cloudflare-pages">
|
|
146
|
-
<span class="deployment-target-mark">
|
|
147
|
-
<img src="/integration-logos/cloudflare.svg" alt="" />
|
|
148
|
-
</span>
|
|
149
|
-
<strong>Cloudflare Pages</strong>
|
|
150
|
-
</a>
|
|
151
145
|
<a class="deployment-target" href="/docs/cloudflare#cloudflare-workers">
|
|
152
146
|
<span class="deployment-target-mark">
|
|
153
147
|
<img src="/integration-logos/cloudflare.svg" alt="" />
|
|
@@ -293,7 +287,7 @@ settings or production controls:
|
|
|
293
287
|
|
|
294
288
|
- [**Node.js**](/docs/node-js) - run the default Nitro server preset
|
|
295
289
|
- [**Docker**](/docs/docker) - package the Node.js server in a container
|
|
296
|
-
- [**Vercel**](/docs/vercel), [**Netlify**](/docs/netlify),
|
|
290
|
+
- [**Vercel**](/docs/vercel), [**Netlify**](/docs/netlify), and [**Cloudflare Workers**](/docs/cloudflare#cloudflare-workers) - configure hosted targets
|
|
297
291
|
- [**AWS Amplify**](/docs/aws-amplify) and [**AWS Lambda**](/docs/aws-lambda) - deploy Nitro's serverless output on AWS
|
|
298
292
|
- [**Deno Deploy**](/docs/deno-deploy) - deploy to the Deno runtime
|
|
299
293
|
- [**Azure Static Web Apps**](/docs/azure-static-web-apps), [**Koyeb**](/docs/koyeb), and [**Render**](/docs/render) - use additional Nitro providers
|
|
@@ -72,7 +72,7 @@ public app behavior, use the config paths above instead.
|
|
|
72
72
|
| `BETTER_AUTH_TRUSTED_ORIGINS` | Exact browser origins trusted by Better Auth, including configured host aliases. | A comma-separated list of absolute `http(s)` origins; wildcards are not accepted. |
|
|
73
73
|
| `APP_BASE_PATH` | Mounts an app under a path such as `/mail`. | Unset for a standalone app, or a slash-prefixed path. |
|
|
74
74
|
| `PORT` | Local Node/Nitro server port. | A decimal TCP port. |
|
|
75
|
-
| `NITRO_PRESET` | Build and deployment adapter. | A preset supported by the target host, such as `node`, `netlify`, `vercel`, or `
|
|
75
|
+
| `NITRO_PRESET` | Build and deployment adapter. | A preset supported by the target host, such as `node`, `netlify`, `vercel`, or `cloudflare_module`. |
|
|
76
76
|
| `BETTER_AUTH_SECRET` | Stable Better Auth session signing secret for standalone production apps. Workspace deploys can derive it from `A2A_SECRET`. | A fresh random value of at least 32 characters. |
|
|
77
77
|
| `OAUTH_STATE_SECRET` | Dedicated signing key for OAuth state envelopes. Falls back to `BETTER_AUTH_SECRET` when unset. | A fresh random value of at least 32 characters. |
|
|
78
78
|
| `A2A_SECRET` | Shared HMAC for trusted cross-app A2A calls and signed handoffs. | One shared random value across trusted apps. |
|
|
@@ -304,7 +304,7 @@ Brand colors, typography, spacing scales, and any shared component classes can l
|
|
|
304
304
|
|
|
305
305
|
## Deployment {#deployment}
|
|
306
306
|
|
|
307
|
-
You have two options: **unified deploy** (the default for workspaces) or per-app independent deploy. [Workspace Deployment — One Origin, Many Apps](/docs/workspace-deployment#workspace-deploy) covers the full command, per-preset details (
|
|
307
|
+
You have two options: **unified deploy** (the default for workspaces) or per-app independent deploy. [Workspace Deployment — One Origin, Many Apps](/docs/workspace-deployment#workspace-deploy) covers the full command, per-preset details (Netlify and Vercel), and a diagram of the shape; the tradeoff:
|
|
308
308
|
|
|
309
309
|
- **Unified deploy (recommended)** — `npx @agent-native/core@latest deploy` builds every app in the workspace and ships them behind a single origin, one path per app (`your-agents.com/mail/*`, `/calendar/*`, ...). Being on the same origin is where the real payoff lives: a shared login session (log into any app, every app is logged in), zero-config cross-app A2A (`@mail` tagging `@calendar` is a same-origin fetch — no CORS, no JWT signing between siblings), and one DNS record, cert, and CDN cache to manage.
|
|
310
310
|
- **Per-app independent deploy** — prefer each app on its own domain (`mail.company.com`, `calendar.company.com`)? Every app in the workspace is still an independent deployable — `cd apps/mail && pnpm build` behaves exactly like a standalone scaffold. Cross-app A2A then goes through the standard JWT-signed path with a shared `A2A_SECRET`. Cross-domain SSO between separately-deployed apps is handled by identity federation with Dispatch as the hub — see [Cross-App SSO](/docs/cross-app-sso); the unified single-origin deploy avoids needing it. For a self-hosted VPS or Docker Compose setup on one origin instead, see [Workspace Deployment — Self-hosted Workspace with Docker Compose](/docs/workspace-deployment#workspace-docker-compose).
|
package/docs/content/netlify.mdx
CHANGED
|
@@ -5,7 +5,7 @@ description: "Deploy an agent-native app to Netlify with the Netlify Nitro prese
|
|
|
5
5
|
|
|
6
6
|
# Netlify
|
|
7
7
|
|
|
8
|
-
The Nitro `netlify` preset works well and, in practice, has given us much faster cold starts
|
|
8
|
+
The Nitro `netlify` preset works well and, in practice, has given us much faster cold starts (~200ms TTFB) for templates that talk to external Postgres (Neon). For a minimal configuration outside the generated scaffold, set the preset in `vite.config.ts`:
|
|
9
9
|
|
|
10
10
|
```ts filename="vite.config.ts"
|
|
11
11
|
export default defineConfig({
|
|
@@ -640,12 +640,12 @@ Nothing here happens on a deployment that has not set it.
|
|
|
640
640
|
The deployment must also already satisfy four things, all of which a normal
|
|
641
641
|
production app does:
|
|
642
642
|
|
|
643
|
-
| Requirement | Why | How to check
|
|
644
|
-
| -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
645
|
-
| **Postgres on a publicly reachable host** | The gateway dials the database from its own network. PGlite, `localhost`, `*.internal` and bare IP addresses are refused before the connection string ever leaves your machine. | `DATABASE_URL` points at a managed Postgres such as Neon
|
|
646
|
-
| **`BUILDER_PRIVATE_KEY` set as a DEPLOY environment variable** | This authenticates the registration and decides which Builder organization owns the channel. | See the note below — this is the step people miss
|
|
647
|
-
| **A production deploy** | Deploy previews keep local sync, so a throwaway branch credential never leaves the machine and a busy repo does not mint one channel per pull request. | `CONTEXT=production` / `BRANCH=production`, or `VERCEL_ENV=production`
|
|
648
|
-
| **The platform identifies the deployment** | Registration is keyed on the app's public origin, so a process that is not actually the deployment must not claim it. | Netlify, Vercel, AWS Lambda, Cloud Run,
|
|
643
|
+
| Requirement | Why | How to check |
|
|
644
|
+
| -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
645
|
+
| **Postgres on a publicly reachable host** | The gateway dials the database from its own network. PGlite, `localhost`, `*.internal` and bare IP addresses are refused before the connection string ever leaves your machine. | `DATABASE_URL` points at a managed Postgres such as Neon |
|
|
646
|
+
| **`BUILDER_PRIVATE_KEY` set as a DEPLOY environment variable** | This authenticates the registration and decides which Builder organization owns the channel. | See the note below — this is the step people miss |
|
|
647
|
+
| **A production deploy** | Deploy previews keep local sync, so a throwaway branch credential never leaves the machine and a busy repo does not mint one channel per pull request. | `CONTEXT=production` / `BRANCH=production`, or `VERCEL_ENV=production` |
|
|
648
|
+
| **The platform identifies the deployment** | Registration is keyed on the app's public origin, so a process that is not actually the deployment must not claim it. | Netlify, Vercel, AWS Lambda, Cloud Run, and Render mark themselves. Cloudflare Workers do not, so set `AGENT_NATIVE_REALTIME_APP_URL` to the deployment's own origin. On a bare container or VM, set that same variable |
|
|
649
649
|
|
|
650
650
|
<Callout tone="warning">
|
|
651
651
|
|
|
@@ -79,7 +79,7 @@ npx @agent-native/core@latest deploy
|
|
|
79
79
|
|
|
80
80
|
<Callout tone="info">
|
|
81
81
|
|
|
82
|
-
Under the hood, each app is built with its own **base path**, a URL prefix like `/mail` set via `APP_BASE_PATH`/`VITE_APP_BASE_PATH`, then packaged for the target Nitro preset.
|
|
82
|
+
Under the hood, each app is built with its own **base path**, a URL prefix like `/mail` set via `APP_BASE_PATH`/`VITE_APP_BASE_PATH`, then packaged for the target Nitro preset. **Netlify** is the default: one function per app plus generated redirects. **Vercel** writes a workspace-level `.vercel/output` using the Build Output API.
|
|
83
83
|
|
|
84
84
|
</Callout>
|
|
85
85
|
|
|
@@ -88,26 +88,15 @@ Publish the build for your platform:
|
|
|
88
88
|
<TabsBlock
|
|
89
89
|
id="doc-block-wsdeploytabs1"
|
|
90
90
|
tabs={[
|
|
91
|
-
{
|
|
92
|
-
id: "cloudflare",
|
|
93
|
-
label: "Cloudflare (default)",
|
|
94
|
-
blocks: [
|
|
95
|
-
{
|
|
96
|
-
type: "code",
|
|
97
|
-
id: "wf-cf",
|
|
98
|
-
data: { code: "wrangler pages deploy dist", language: "bash" },
|
|
99
|
-
},
|
|
100
|
-
],
|
|
101
|
-
},
|
|
102
91
|
{
|
|
103
92
|
id: "netlify",
|
|
104
|
-
label: "Netlify",
|
|
93
|
+
label: "Netlify (default)",
|
|
105
94
|
blocks: [
|
|
106
95
|
{
|
|
107
96
|
type: "code",
|
|
108
97
|
id: "wf-nl",
|
|
109
98
|
data: {
|
|
110
|
-
code: "npx @agent-native/core@latest deploy --
|
|
99
|
+
code: "npx @agent-native/core@latest deploy\nnetlify deploy --prod --dir=dist --functions=.netlify/functions-internal",
|
|
111
100
|
language: "bash",
|
|
112
101
|
},
|
|
113
102
|
},
|
|
@@ -121,7 +110,7 @@ Publish the build for your platform:
|
|
|
121
110
|
type: "code",
|
|
122
111
|
id: "wf-vc",
|
|
123
112
|
data: {
|
|
124
|
-
code: "npx @agent-native/core@latest deploy --preset vercel",
|
|
113
|
+
code: "npx @agent-native/core@latest deploy --preset vercel\nvercel deploy --prebuilt",
|
|
125
114
|
language: "bash",
|
|
126
115
|
},
|
|
127
116
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-native/core",
|
|
3
|
-
"version": "0.189.0
|
|
3
|
+
"version": "0.189.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": {
|
|
@@ -508,9 +508,9 @@
|
|
|
508
508
|
"yaml": "^2.9.0",
|
|
509
509
|
"yjs": "^13.6.32",
|
|
510
510
|
"zod": "^4.3.6",
|
|
511
|
-
"@agent-native/agentkit": "^0.2.
|
|
512
|
-
"@agent-native/recap-cli": "0.5.
|
|
513
|
-
"@agent-native/toolkit": "^0.21.
|
|
511
|
+
"@agent-native/agentkit": "^0.2.11",
|
|
512
|
+
"@agent-native/recap-cli": "0.5.41",
|
|
513
|
+
"@agent-native/toolkit": "^0.21.1"
|
|
514
514
|
},
|
|
515
515
|
"devDependencies": {
|
|
516
516
|
"@ai-sdk/anthropic": "^3.0.71",
|