@agent-native/core 0.157.4 → 0.157.5

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 (60) hide show
  1. package/docs/content/actions-access-control.mdx +226 -0
  2. package/docs/content/actions-advanced.mdx +152 -0
  3. package/docs/content/actions-defining.mdx +275 -0
  4. package/docs/content/actions-other-surfaces.mdx +167 -0
  5. package/docs/content/actions-overview.mdx +214 -0
  6. package/docs/content/actions-run-context.mdx +180 -0
  7. package/docs/content/agent-surfaces.mdx +1 -1
  8. package/docs/content/agent-teams.mdx +1 -1
  9. package/docs/content/agent-web-surfaces.mdx +1 -1
  10. package/docs/content/audit-log.mdx +1 -1
  11. package/docs/content/automation-connectors.mdx +1 -1
  12. package/docs/content/automations.mdx +1 -1
  13. package/docs/content/blueprint-installer.mdx +1 -1
  14. package/docs/content/cli-adapters.mdx +1 -1
  15. package/docs/content/client-agent-chat.mdx +1 -1
  16. package/docs/content/client-data.mdx +2 -2
  17. package/docs/content/client-overview.mdx +2 -2
  18. package/docs/content/components.mdx +1 -1
  19. package/docs/content/data-programs.mdx +2 -2
  20. package/docs/content/database.mdx +1 -1
  21. package/docs/content/deployment.mdx +1 -1
  22. package/docs/content/docs-components.mdx +14 -3
  23. package/docs/content/drop-in-agent.mdx +2 -2
  24. package/docs/content/durable-resume.mdx +1 -1
  25. package/docs/content/evals.mdx +1 -1
  26. package/docs/content/extensions.mdx +1 -1
  27. package/docs/content/external-agents-catalog.mdx +2 -2
  28. package/docs/content/external-agents.mdx +1 -1
  29. package/docs/content/generative-ui.mdx +1 -1
  30. package/docs/content/getting-started.mdx +1 -1
  31. package/docs/content/http-api.mdx +4 -4
  32. package/docs/content/human-approval.mdx +1 -1
  33. package/docs/content/key-concepts.mdx +1 -1
  34. package/docs/content/mcp-apps.mdx +1 -1
  35. package/docs/content/mcp-clients.mdx +1 -1
  36. package/docs/content/mcp-protocol.mdx +1 -1
  37. package/docs/content/native-chat-ui.mdx +1 -1
  38. package/docs/content/observability.mdx +1 -1
  39. package/docs/content/organizations-teams-permissions.mdx +1 -1
  40. package/docs/content/processors.mdx +1 -1
  41. package/docs/content/pure-agent-apps.mdx +1 -1
  42. package/docs/content/recurring-jobs.mdx +1 -1
  43. package/docs/content/server-database.mdx +1 -1
  44. package/docs/content/server-overview.mdx +3 -3
  45. package/docs/content/server-routes.mdx +2 -2
  46. package/docs/content/template-analytics-developers.mdx +1 -1
  47. package/docs/content/template-assets-developers.mdx +1 -1
  48. package/docs/content/template-brain-developers.mdx +1 -1
  49. package/docs/content/template-calendar-developers.mdx +1 -1
  50. package/docs/content/template-chat-first-edits.mdx +1 -1
  51. package/docs/content/template-chat.mdx +1 -1
  52. package/docs/content/template-content-developers.mdx +1 -1
  53. package/docs/content/template-forms-developers.mdx +1 -1
  54. package/docs/content/template-forms.mdx +1 -1
  55. package/docs/content/template-mail-developers.mdx +2 -2
  56. package/docs/content/toolkit-org-team.mdx +1 -1
  57. package/docs/content/tracking.mdx +1 -1
  58. package/docs/content/what-is-agent-native.mdx +1 -1
  59. package/package.json +1 -1
  60. package/docs/content/actions.mdx +0 -750
@@ -92,7 +92,7 @@ The one architectural difference from a typical frontend: this layer has no back
92
92
 
93
93
  ## Where the Client Fits {#role}
94
94
 
95
- Browser requests, the agent loop, and external API clients all resolve to the same actions and the same SQL database — there is no separate "app backend" this layer talks to that the agent can't also reach. Building a feature here means building a UI on top of an operation the agent already has, or defining a new action and getting a UI for it at the same time. See [Actions](/docs/actions) for the operation side of that contract.
95
+ Browser requests, the agent loop, and external API clients all resolve to the same actions and the same SQL database — there is no separate "app backend" this layer talks to that the agent can't also reach. Building a feature here means building a UI on top of an operation the agent already has, or defining a new action and getting a UI for it at the same time. See [Actions](/docs/actions-overview) for the operation side of that contract.
96
96
 
97
97
  This page covers the directories you build in and the pieces of the browser runtime nothing else documents (`root.tsx`, `public/`). The React hooks that connect your components to actions and to the agent live on their own focused pages:
98
98
 
@@ -201,6 +201,6 @@ import { cn } from "@agent-native/toolkit/utils";
201
201
  - [**Sync Internals**](/docs/client-sync-internals) — `useChangeVersion` for syncing a raw `useQuery`
202
202
  - [**Entry Points**](/docs/client-entry-points) — SSR bootstrap customization
203
203
  - [**Routing**](/docs/client-routing) — file-based pages, dynamic params, and navigation
204
- - [**Actions**](/docs/actions) — the `defineAction` surface behind every data hook
204
+ - [**Actions**](/docs/actions-overview) — the `defineAction` surface behind every data hook
205
205
  - [**Custom Design Systems**](/docs/custom-design-system) — swapping in your own component library via `app/design-system.ts`
206
206
  - [**Authentication**](/docs/authentication) — the session checks `AppProviders` runs on private paths
@@ -526,7 +526,7 @@ reasoning.
526
526
 
527
527
  - [**Drop-in Agent**](/docs/drop-in-agent) — mount `<AgentSidebar>` and `<AgentPanel>` with a tutorial-first walkthrough
528
528
  - [**Native Chat UI**](/docs/native-chat-ui) — the action result contract behind data widgets and custom renderers
529
- - [**Actions**](/docs/actions) — `defineAction()`, schemas, and the action surface these components call
529
+ - [**Actions**](/docs/actions-overview) — `defineAction()`, schemas, and the action surface these components call
530
530
  - [**Real-Time Collaboration**](/docs/real-time-collaboration) — the collab hooks and presence components in depth
531
531
  - [**Sharing**](/docs/sharing) — `<ShareButton>` and `<ShareDialog>` wiring for ownable resources
532
532
  - [**Toolkit piece: Toolkit UI Primitives**](/docs/toolkit-ui) — the shared shadcn-style building blocks and app-adapter pattern behind these exports
@@ -14,7 +14,7 @@ search: "data program emit rows schema providerFetch dashboard panel program sou
14
14
 
15
15
  A **data program** is a named, stored, agent-authored JS script that fetches, joins, filters, or aggregates data — provider APIs via `providerFetch` / `providerFetchAll` / `providerSearchAll`, app data via `appAction`, or Resources-backed workspace files — and calls `emit(rows, schema)` exactly once with the result. The result is cached in SQL and any chart/table component can render it, refreshed on a policy you choose instead of on every page view.
16
16
 
17
- It ships automatically wherever [`run-code`](/docs/actions) is available — there is nothing to mount or configure per app. If your app already has run-code enabled, `save-data-program`, `preview-data-program`, `run-data-program`, `list-data-programs`, `get-data-program`, and `delete-data-program` are already registered actions.
17
+ It ships automatically wherever [`run-code`](/docs/actions-overview) is available — there is nothing to mount or configure per app. If your app already has run-code enabled, `save-data-program`, `preview-data-program`, `run-data-program`, `list-data-programs`, `get-data-program`, and `delete-data-program` are already registered actions.
18
18
 
19
19
  <Diagram id="doc-block-dp-overview" title="From ad-hoc query to live panel" summary="A run-code script becomes a stored program once it calls emit(); any dashboard panel can bind to it and the cache/refresh policy takes over from there.">
20
20
 
@@ -330,6 +330,6 @@ Any app can implement the same adoption for its own dashboards/tables: call `run
330
330
  ## What's next {#whats-next}
331
331
 
332
332
  - [Extensions](/docs/extensions) — the sandboxed mini-app primitive data programs share a security posture and sharing model with, but with a UI of its own.
333
- - [Actions](/docs/actions) — the `run-code` conventions and sandbox globals (`providerFetch`, `appAction`, etc.) data programs are built on.
333
+ - [Actions](/docs/actions-overview) — the `run-code` conventions and sandbox globals (`providerFetch`, `appAction`, etc.) data programs are built on.
334
334
  - [Sharing & Privacy](/docs/sharing) — the org-internal, never-public sharing model data programs use.
335
335
  - [Security](/docs/security) — the framework's credential-handling and access-scoping invariants.
@@ -314,4 +314,4 @@ step instead of on the first request. The Chat template provides
314
314
  - [**Sharing**](/docs/sharing#building) — `ownableColumns()` and the visibility model for shared resources
315
315
  - [**Server**](/docs/server-routes#request-context) — how actions and custom routes each import `getDb`
316
316
  - [**Deployment**](/docs/deployment#persistent-database) — connecting a persistent database per deploy target
317
- - [**Actions**](/docs/actions#access-control) — a complete, paste-ready action that reads and writes through `getDb`/`schema`
317
+ - [**Actions**](/docs/actions-access-control#access-control) — a complete, paste-ready action that reads and writes through `getDb`/`schema`
@@ -557,7 +557,7 @@ Three things to keep in mind:
557
557
 
558
558
  - **Turning caching off does not make SSR personalized.** Cookies are still stripped before render and SSR loaders still see the anonymous branch. Per-user data must still be resolved client-side. This variable controls cache _duration_ only.
559
559
  - **It is deployment-wide, not per-route, by design.** A per-route or per-request cache override is how one visitor's payload ends up in another visitor's shared CDN entry, so the framework does not offer one — `guard:ssr-cache-shell` enforces it.
560
- - **For mutation-fresh data, prefer actions over disabling the cache.** App data belongs in [actions](/docs/actions), read from the client with `useActionQuery` / `useActionMutation` and kept live by `useDbSync()` polling; none of that goes through the SSR shell cache. Keep SSR loaders rendering the public shell, and reach for this variable only when you genuinely want loader data fresher.
560
+ - **For mutation-fresh data, prefer actions over disabling the cache.** App data belongs in [actions](/docs/actions-overview), read from the client with `useActionQuery` / `useActionMutation` and kept live by `useDbSync()` polling; none of that goes through the SSR shell cache. Keep SSR loaders rendering the public shell, and reach for this variable only when you genuinely want loader data fresher.
561
561
 
562
562
  ## Environment Variables {#environment-variables}
563
563
 
@@ -147,7 +147,7 @@ Each step is a `###` heading followed by the body content. Steps work best for 3
147
147
 
148
148
  <Cards>
149
149
 
150
- ### [Actions](/docs/actions)
150
+ ### :components: [Actions](/docs/actions-overview)
151
151
 
152
152
  Typed operations callable from the agent, UI, CLI, and HTTP. Define once, call from anywhere.
153
153
 
@@ -168,7 +168,7 @@ Plain-text instruction files that give the agent domain knowledge and task-speci
168
168
  ```mdx
169
169
  <Cards>
170
170
 
171
- ### [Actions](/docs/actions)
171
+ ### :components: [Actions](/docs/actions-overview)
172
172
 
173
173
  Typed operations callable from the agent, UI, CLI, and HTTP. Define once, call from anywhere.
174
174
 
@@ -187,7 +187,18 @@ Plain-text instruction files that give the agent domain knowledge and task-speci
187
187
  </Cards>
188
188
  ```
189
189
 
190
- Each card is a `###` heading (optionally linked) followed by the description. Cards without a link render as plain info boxes with no hover state or arrow.
190
+ Each card is a `###` heading (optionally linked) followed by the description. Cards without a link render as plain info boxes with no hover state or arrow. Prefix the heading with `:icon-name:` to add an icon in its own column to the left of the title and body — useful for a set of cards that represent distinct categories rather than a features list. Icons come from a curated set, not an arbitrary Tabler icon name:
191
+
192
+ | Icon key | Renders |
193
+ | ------------ | --------------------------------------- |
194
+ | `robot` | agent / autonomous behavior |
195
+ | `components` | UI, hooks, composable pieces |
196
+ | `server` | backend, transport, infrastructure |
197
+ | `plug` | integrations, connected tools |
198
+ | `network` | cross-app or distributed communication |
199
+ | `terminal` | CLI, scripts, terminal-driven workflows |
200
+
201
+ The grid defaults to 3 columns. Set `columns` (1-4) on the opening tag to override it, e.g. `<Cards columns={2}>`. Below 640px the grid always collapses to a single column regardless of `columns`.
191
202
 
192
203
  ---
193
204
 
@@ -294,7 +294,7 @@ const { mutate, isPending } = useActionMutation("reply-to-email");
294
294
  </Button>;
295
295
  ```
296
296
 
297
- Type-safe arguments come from the zod schema in your `defineAction()`. See [Actions](/docs/actions) for the full action system.
297
+ Type-safe arguments come from the zod schema in your `defineAction()`. See [Actions](/docs/actions-overview) for the full action system.
298
298
 
299
299
  <Callout id="doc-block-1757zi5" tone="decision">
300
300
 
@@ -352,7 +352,7 @@ The user sees a chat button in the header, can open it, and can talk to the agen
352
352
 
353
353
  ## What's next
354
354
 
355
- - [**Actions**](/docs/actions) — `defineAction()` and `useActionMutation()`
355
+ - [**Actions**](/docs/actions-overview) — `defineAction()` and `useActionMutation()`
356
356
  - [**Context Awareness**](/docs/context-awareness) — selection, navigation, view-screen
357
357
  - [**Agent Resources**](/docs/agent-resources) — what the Resources tab contains (skills, memory, MCP servers, scheduled jobs)
358
358
  - [**Voice Input**](/docs/voice-input) — the microphone in the chat composer
@@ -107,6 +107,6 @@ Together the two layers mean an interrupted run that already had a real side eff
107
107
  ## What's next
108
108
 
109
109
  - [**Real-Time Sync**](/docs/real-time-collaboration) — how the durable run ledger streams to the client and replays on reconnect.
110
- - [**Actions**](/docs/actions) — `readOnly` marks reads as safe to re-run; everything else is treated as side-effecting.
110
+ - [**Actions**](/docs/actions-overview) — `readOnly` marks reads as safe to re-run; everything else is treated as side-effecting.
111
111
  - [**In-Loop Processors**](/docs/processors) — another loop-internal hardening seam.
112
112
  - [**Durable Background Runs**](/docs/durable-background-runs) — moving a long turn onto a separate background function.
@@ -265,5 +265,5 @@ A regression that drops any scorer below threshold fails the step and blocks the
265
265
  ## What's next
266
266
 
267
267
  - [**Observability**](/docs/observability) — post-hoc scoring of real production runs (the complementary layer)
268
- - [**Actions**](/docs/actions) — the tools/actions that show up in `toolCalls`
268
+ - [**Actions**](/docs/actions-overview) — the tools/actions that show up in `toolCalls`
269
269
  - [**Agent Teams**](/docs/agent-teams) — sub-agents an eval might exercise
@@ -716,7 +716,7 @@ You also won't see this in normal use, but the agent has a third related concept
716
716
  ## What's next
717
717
 
718
718
  - [**Templates**](/docs/cloneable-saas) — the host apps extensions extend
719
- - [**Actions**](/docs/actions) — the operations an extension calls via `appAction`
719
+ - [**Actions**](/docs/actions-overview) — the operations an extension calls via `appAction`
720
720
  - [**Data Programs**](/docs/data-programs) — the no-UI sibling primitive for cached, refreshable data sources
721
721
  - [**Sharing & Privacy**](/docs/sharing) — how extension visibility, org sharing, and per-user grants work
722
722
  - [**Onboarding & API Keys**](/docs/onboarding) — how secrets surface in the settings UI
@@ -403,7 +403,7 @@ export default defineAction({
403
403
  });
404
404
  ```
405
405
 
406
- `GET` + `readOnly` keeps the action side-effect-free and out of the screen-refresh change event. `publicAgent` is the **explicit opt-in** — a public web route never implies public MCP/A2A exposure; see [Actions](/docs/actions). Design/content ingest actions MUST read **live** state (the Yjs collaborative document, not the stale DB snapshot column) so the external agent sees what the user actually has on screen. Content's `pull-document` flushes any open live collab session to SQL first; design's `get-design-snapshot` returns the live Yjs file contents plus the user's resolved tweak values.
406
+ `GET` + `readOnly` keeps the action side-effect-free and out of the screen-refresh change event. `publicAgent` is the **explicit opt-in** — a public web route never implies public MCP/A2A exposure; see [Actions](/docs/actions-overview). Design/content ingest actions MUST read **live** state (the Yjs collaborative document, not the stale DB snapshot column) so the external agent sees what the user actually has on screen. Content's `pull-document` flushes any open live collab session to SQL first; design's `get-design-snapshot` returns the live Yjs file contents plus the user's resolved tweak values.
407
407
 
408
408
  ## Advanced: local development & manual setup {#advanced}
409
409
 
@@ -532,5 +532,5 @@ The fallback hosted `connect` flow never copies the deployment's shared secret.
532
532
  - [MCP Server](/docs/mcp-protocol) — the auto-mounted MCP server and `ask-agent` meta-tool
533
533
  - [MCP Clients](/docs/mcp-clients) — the symmetric direction: your app consuming local/remote MCP servers
534
534
  - [A2A Protocol](/docs/a2a-protocol) — the `ask-agent` meta-tool and JSON-RPC peer calls
535
- - [Actions](/docs/actions) — defining actions, `publicAgent`, GET / `readOnly`
535
+ - [Actions](/docs/actions-overview) — defining actions, `publicAgent`, GET / `readOnly`
536
536
  - [Context Awareness](/docs/context-awareness) — the `navigate` / `application_state` contract the open route bridges to
@@ -344,5 +344,5 @@ See the full tool catalog, MCP Apps compatibility matrix, generic cross-app verb
344
344
  - [MCP Server](/docs/mcp-protocol) — the auto-mounted MCP server and `ask-agent` meta-tool.
345
345
  - [MCP Clients](/docs/mcp-clients) — the symmetric direction: your app consuming local/remote MCP servers.
346
346
  - [A2A Protocol](/docs/a2a-protocol) — the `ask-agent` meta-tool and JSON-RPC peer calls.
347
- - [Actions](/docs/actions) — defining actions, `publicAgent`, GET / `readOnly`.
347
+ - [Actions](/docs/actions-overview) — defining actions, `publicAgent`, GET / `readOnly`.
348
348
  - [Context Awareness](/docs/context-awareness) — the `navigate` / `application_state` contract the open route bridges to.
@@ -275,4 +275,4 @@ template actions that resolve credentials server-side.
275
275
  - [Native Chat UI](/docs/native-chat-ui) — typed first-party React widgets for
276
276
  action results.
277
277
  - [MCP Apps](/docs/mcp-apps) — inline app routes in external MCP hosts.
278
- - [Actions](/docs/actions) — the app/API surface generated UI should call.
278
+ - [Actions](/docs/actions-overview) — the app/API surface generated UI should call.
@@ -5,7 +5,7 @@ description: "Create a Chat app and configure an agent, then extend it with an a
5
5
 
6
6
  # Getting Started
7
7
 
8
- Agent-Native apps give the agent and the UI the same [actions](/docs/actions),
8
+ Agent-Native apps give the agent and the UI the same [actions](/docs/actions-overview),
9
9
  SQL data, and application state. This path starts with Chat, which already
10
10
  creates the framework tables it needs and stores chat history in local SQLite by
11
11
  default. Add your own tables only when your app needs to persist domain data.
@@ -14,7 +14,7 @@ search: "HTTP API bearer token service token connect CLI curl action endpoint se
14
14
  | Let an AI host discover and call every action | [MCP Server](/docs/mcp-protocol) |
15
15
  | Connect Claude, ChatGPT, Codex, Cursor to your app | [External Agents](/docs/external-agents) |
16
16
  | Have another agent-native app delegate work to yours | [A2A Protocol](/docs/a2a-protocol) |
17
- | Define the operation in the first place | [Actions](/docs/actions) |
17
+ | Define the operation in the first place | [Actions](/docs/actions-overview) |
18
18
 
19
19
  Every `defineAction` in `actions/` is already an HTTP endpoint. The frontend calls it through `useActionQuery` / `useActionMutation` with a session cookie, but the same route accepts an `Authorization: Bearer` token, so anything that can make an HTTPS request can call it. There is no separate "public API" to build and no REST wrapper to maintain — the action you wrote for the agent and the UI is the API.
20
20
 
@@ -156,7 +156,7 @@ curl -sS \
156
156
  -H "Authorization: Bearer $AGENT_NATIVE_TOKEN"
157
157
  ```
158
158
 
159
- `http: { path: "..." }` changes the mounted URL for direct HTTP callers only, and `http: false` removes the endpoint entirely. See [Actions — HTTP config](/docs/actions#http) for the full option set.
159
+ `http: { path: "..." }` changes the mounted URL for direct HTTP callers only, and `http: false` removes the endpoint entirely. See [Actions — HTTP config](/docs/actions-defining#http) for the full option set.
160
160
 
161
161
  ### Errors {#errors}
162
162
 
@@ -238,7 +238,7 @@ Because `list-org-service-tokens` reports `lastUsedAt`, it doubles as a cleanup
238
238
  - Give each caller its own named service token (`--service-token support-desk`, `--service-token ci`) so you can revoke one without breaking the others, and so `lastUsedAt` tells you who is actually calling.
239
239
  - Prefer the shortest `--ttl-days` the caller can live with.
240
240
  - A service token acts as an org **`member`, and only ever `member`.** The synthetic `svc-*@service.<orgId>` identity is never inserted into `org_members`; it resolves an implicit member role for the org it was minted against, and nothing higher. So it can read and write that org's data like any member, but it cannot mint further tokens, revoke existing ones, or manage org members and settings — every one of those is admin-gated. It can still do everything a normal member can do with the org's data, so scope it deliberately.
241
- - Actions you never want reachable this way should set `http: false` (agent and CLI only) or `toolCallable: false`. See [Actions — Exposure flags](/docs/actions#exposure-flags).
241
+ - Actions you never want reachable this way should set `http: false` (agent and CLI only) or `toolCallable: false`. See [Actions — Exposure flags](/docs/actions-access-control#exposure-flags).
242
242
 
243
243
  </Callout>
244
244
 
@@ -259,7 +259,7 @@ A `401` means the token was not accepted at all. A `403` means the token _was_ a
259
259
 
260
260
  ## What's next {#related-docs}
261
261
 
262
- - [**Actions**](/docs/actions) — define the operation once; HTTP, MCP, A2A, CLI, and the UI all call the same one
262
+ - [**Actions**](/docs/actions-overview) — define the operation once; HTTP, MCP, A2A, CLI, and the UI all call the same one
263
263
  - [**Authentication**](/docs/authentication) — session auth, orgs, and static `ACCESS_TOKEN` bearers
264
264
  - [**MCP Server**](/docs/mcp-protocol) — the tool-catalog surface these tokens are audience-bound to
265
265
  - [**A2A Protocol**](/docs/a2a-protocol) — agent-to-agent delegation between agent-native apps
@@ -151,6 +151,6 @@ The canonical (and intentionally rare) use of this gate in the framework is the
151
151
 
152
152
  ## What's next
153
153
 
154
- - [**Actions**](/docs/actions#needs-approval) — the full `defineAction` surface, including `outputSchema` for validating return values.
154
+ - [**Actions**](/docs/actions-access-control#needs-approval) — the full `defineAction` surface, including `outputSchema` for validating return values.
155
155
  - [**Security**](/docs/security) — when to reach for an approval gate vs. hiding an action from the model.
156
156
  - [**Mail template**](/docs/template-mail) — `send-email` is the reference example.
@@ -364,7 +364,7 @@ graph LR
364
364
  - **CLI:** `pnpm action fetch-data --source=signups` for scripting and agent dev loops.
365
365
  - **MCP tool / A2A tool:** when MCP server or A2A is enabled, the same action shows up there too.
366
366
 
367
- Every consumer calls the same underlying function, so there is only one implementation to write and maintain. See [Actions](/docs/actions) for the full reference.
367
+ Every consumer calls the same underlying function, so there is only one implementation to write and maintain. See [Actions](/docs/actions-overview) for the full reference.
368
368
 
369
369
  ## Live sync {#polling-sync}
370
370
 
@@ -248,5 +248,5 @@ Test MCP Apps with the lightweight fixtures around `embedApp()` and `McpAppRende
248
248
  - [External Agents](/docs/external-agents) — connecting Claude, ChatGPT, Codex, and Cursor to hosted apps; deep links.
249
249
  - [External Agents Catalog](/docs/external-agents-catalog) — catalog tiers, the MCP Apps compatibility matrix, and the `link` builder for template authors.
250
250
  - [MCP Server](/docs/mcp-protocol) — the auto-mounted MCP server, auth, tools, and `ask-agent`.
251
- - [Actions](/docs/actions) — `defineAction`, the `link` builder, `publicAgent`.
251
+ - [Actions](/docs/actions-overview) — `defineAction`, the `link` builder, `publicAgent`.
252
252
  - [Generative UI](/docs/generative-ui) — generated inline UI inside the app's own chat.
@@ -598,4 +598,4 @@ MCP tools run on your machine with whatever permissions the spawned process has.
598
598
  - [**MCP Server**](/docs/mcp-protocol) — the opposite direction: making your app an MCP server other hosts consume
599
599
  - [**External Agents**](/docs/external-agents) — connecting Claude, Cursor, and other hosts to your app
600
600
  - [**Multi-App Workspace**](/docs/multi-app-workspace) — the shared-resource model behind Dispatch workspace MCP resources
601
- - [**Actions**](/docs/actions) — how your own actions show up alongside MCP tools in the agent's registry
601
+ - [**Actions**](/docs/actions-overview) — how your own actions show up alongside MCP tools in the agent's registry
@@ -433,4 +433,4 @@ Claude Code calls: ask-agent(message: "Prepare a full breakdown of Q3 signups by
433
433
  - [**MCP Apps**](/docs/mcp-apps) — inline UI resources for hosts that render them
434
434
  - [**MCP Clients**](/docs/mcp-clients) — the other direction: your app consuming external MCP servers
435
435
  - [**A2A Protocol**](/docs/a2a-protocol) — the sibling protocol for agent-to-agent calls
436
- - [**Actions**](/docs/actions) — how an action becomes an MCP tool
436
+ - [**Actions**](/docs/actions-overview) — how an action becomes an MCP tool
@@ -414,7 +414,7 @@ if it matures, it should adapt into this same explicit runtime/widget contract.
414
414
 
415
415
  ## What's next {#whats-next}
416
416
 
417
- - [Actions](/docs/actions) — define the operations that return native widget data.
417
+ - [Actions](/docs/actions-overview) — define the operations that return native widget data.
418
418
  - [Agent Surfaces](/docs/agent-surfaces) — decide whether you need headless, chat, sidecar, or full app.
419
419
  - [Drop-in Agent](/docs/drop-in-agent) — the tutorial for mounting the standard chat runtime.
420
420
  - [Component API](/docs/components) — the per-export API map for chat layers, runtimes, and tool renderers.
@@ -436,6 +436,6 @@ Identity fields explicitly set via `setUser({ id, email, username })` are preser
436
436
  ## What's next
437
437
 
438
438
  - [**Tracking**](/docs/tracking) — product analytics (PostHog, Mixpanel, Amplitude) for your app's own events
439
- - [**Actions**](/docs/actions) — the operations that appear as tool calls in traces
439
+ - [**Actions**](/docs/actions-overview) — the operations that appear as tool calls in traces
440
440
  - [**Security**](/docs/security) — data scoping and credential handling
441
441
  - [**Toolkit piece: Observability Kit**](/docs/toolkit-observability) — the dashboard and feedback UI built on this data model
@@ -264,7 +264,7 @@ const { role } = useAppRole("coach");
264
264
  `useAppRoles`, `useAppRole`, and `useSetAppMemberRole` are progressive
265
265
  disclosure only. Every guarded operation re-resolves the role on the server, so
266
266
  a client that shows the wrong affordance still cannot perform the operation.
267
- See [Actions → Authorization](/docs/actions#authorize) for how `authorize`
267
+ See [Actions → Authorization](/docs/actions-access-control#authorize) for how `authorize`
268
268
  differs from `needsApproval` and from row-level access guards.
269
269
 
270
270
  ## Resource permissions (sharing RBAC)
@@ -53,7 +53,7 @@ A `Processor` is a loop-internal **observer/guardrail** for the agent run. It wa
53
53
 
54
54
  <Callout id="doc-block-proc1cfg" tone="warning">
55
55
 
56
- A processor is **configuration**, not a tool, not an action, and not an authoring DSL. Processors only observe, mutate their own stream-scoped state, and `abort()`. They never define app behavior, replace actions, or appear to the model. App operations belong in [actions](/docs/actions).
56
+ A processor is **configuration**, not a tool, not an action, and not an authoring DSL. Processors only observe, mutate their own stream-scoped state, and `abort()`. They never define app behavior, replace actions, or appear to the model. App operations belong in [actions](/docs/actions-overview).
57
57
 
58
58
  </Callout>
59
59
 
@@ -165,7 +165,7 @@ persistent objects.
165
165
 
166
166
  - [**Getting Started**](/docs/getting-started) — the chat-first tutorial from action to inline result to durable page
167
167
  - [**Agent Surfaces — Automation-first app**](/docs/agent-surfaces#headless) — the full decision guide and APIs
168
- - [**Actions**](/docs/actions) — the operations your automation calls
168
+ - [**Actions**](/docs/actions-overview) — the operations your automation calls
169
169
  - [**Messaging the agent**](/docs/messaging) — how users talk to the agent across web, Slack, Telegram, and email
170
170
  - [**Recurring Jobs**](/docs/recurring-jobs) — scheduled prompts the agent runs on its own
171
171
  - [**Dispatch**](/docs/template-dispatch) — the workspace control plane for shared secrets, scheduled jobs, and delegated work
@@ -277,7 +277,7 @@ Recurring jobs are "how do I make the agent act on its own?" The scheduling pack
277
277
 
278
278
  - [**Automations**](/docs/automations) — the primary Scheduled/Event product model and management workflow
279
279
  - [**Agent Resources**](/docs/agent-resources) — where jobs live alongside skills, memory, and custom agents
280
- - [**Actions**](/docs/actions) — the tools a job calls
280
+ - [**Actions**](/docs/actions-overview) — the tools a job calls
281
281
  - [**MCP Clients**](/docs/mcp-clients) — connect remote or local MCP tools and OAuth grants
282
282
  - [**Agent Teams**](/docs/agent-teams) — jobs often spawn sub-agents to do parallel work
283
283
  - [**Toolkit piece: Toolkit Capability Modules**](/docs/toolkit-capability-packages) — how this differs from the installable Scheduling package
@@ -441,6 +441,6 @@ const { rows } = await getDbExec().execute({
441
441
  - [**Security — Data Scoping**](/docs/security#data-scoping): how `owner_email` and access helpers scope reads and writes
442
442
  - [**Sharing**](/docs/sharing#building): `ownableColumns()` and the visibility model for shared resources
443
443
  - [**Plugins**](/docs/server-plugins): the startup plugin lifecycle where migrations run
444
- - [**Actions**](/docs/actions): the surface where actions call `getDb()` to read and write data
444
+ - [**Actions**](/docs/actions-overview): the surface where actions call `getDb()` to read and write data
445
445
  - [**Deployment**](/docs/deployment#persistent-database): connecting a persistent database per deploy target
446
446
  - [**Real-Time Sync**](/docs/key-concepts#polling-sync): `useDbSync()` and the full client-side sync model
@@ -5,7 +5,7 @@ description: "The Nitro server layer in an agent-native app: what it's for, when
5
5
 
6
6
  # Server
7
7
 
8
- The `server/` directory is the infrastructure layer of an agent-native app. It handles startup tasks, authentication, and the HTTP surfaces that actions don't cover. Most product behavior belongs in [Actions](/docs/actions). The server is what makes those actions available.
8
+ The `server/` directory is the infrastructure layer of an agent-native app. It handles startup tasks, authentication, and the HTTP surfaces that actions don't cover. Most product behavior belongs in [Actions](/docs/actions-overview). The server is what makes those actions available.
9
9
 
10
10
  <Diagram id="doc-block-server-overview-1" title="How requests flow through the server" summary="Callers reach the Nitro server, which handles most requests through Actions. Middleware and Routes cover cases Actions can't. Both paths can query the database.">
11
11
 
@@ -223,11 +223,11 @@ Agent Native architecture is different. Whenever you think of a new feature for
223
223
  - MCP and A2A-callable tools.
224
224
  - CLI commands for development.
225
225
 
226
- Use custom `/api/*` routes only when you need a route-shaped protocol or binary/streaming behavior. For more details, visit [Actions](/docs/actions).
226
+ Use custom `/api/*` routes only when you need a route-shaped protocol or binary/streaming behavior. For more details, visit [Actions](/docs/actions-overview).
227
227
 
228
228
  ## What's next {#whats-next}
229
229
 
230
- - [**Actions**](/docs/actions): the default operation surface. Reach for a custom route only when it doesn't fit.
230
+ - [**Actions**](/docs/actions-overview): the default operation surface. Reach for a custom route only when it doesn't fit.
231
231
  - [**Database**](/docs/server-database): the `getDb()`/schema pattern custom routes and actions both import
232
232
  - [**Middleware**](/docs/server-middleware): auth guards and the `server/middleware/` directory
233
233
  - [**Plugins**](/docs/server-plugins): startup plugins for auth, the agent, and optional app-owned migrations
@@ -51,7 +51,7 @@ Actions cover the vast majority of app operations. Reach for a file route in `se
51
51
 
52
52
  - Operations the UI and agent both need
53
53
  - Reading or writing app data
54
- - HTTP-shaped endpoints (use the `http` option in [Actions](/docs/actions))
54
+ - HTTP-shaped endpoints (use the `http` option in [Actions](/docs/actions-overview))
55
55
  - Anything that should be an agent tool, MCP tool, or CLI command
56
56
  - Standard JSON request/response APIs
57
57
 
@@ -193,7 +193,7 @@ Every SSR response is an impersonal, public shell cached at the CDN. Never read
193
193
 
194
194
  ## What's next {#whats-next}
195
195
 
196
- - [**Actions**](/docs/actions): the preferred surface for app operations; reach for a route only when it doesn't fit
196
+ - [**Actions**](/docs/actions-overview): the preferred surface for app operations; reach for a route only when it doesn't fit
197
197
  - [**Plugins**](/docs/server-plugins): startup plugins and their initialization behavior
198
198
  - [**Middleware**](/docs/server-middleware): auth guards that protect all routes including `/api/*`
199
199
  - [**Security**](/docs/security#access-guards): `accessFilter`/`assertAccess` and the full data-scoping model
@@ -282,6 +282,6 @@ For new capabilities — a new chart type, a new provider, a new admin view —
282
282
  - [**Dashboards, Analyses, and the Data Dictionary**](/docs/template-analytics-dashboards) — the user-facing surface this data model backs
283
283
  - [**Monitoring, Errors, and Session Replay**](/docs/template-analytics-monitoring-and-sessions) — the user-facing surface for monitors, errors, and replay
284
284
  - [**Connecting and Extending Data Sources**](/docs/template-analytics-connectors) — the full connector catalog
285
- - [**Actions**](/docs/actions) — the action system this template is built on
285
+ - [**Actions**](/docs/actions-overview) — the action system this template is built on
286
286
  - [**Data Programs**](/docs/data-programs) — the full data-program authoring contract
287
287
  - [**Sharing**](/docs/sharing) — the share-grant model dashboards, analyses, and error issues build on
@@ -452,5 +452,5 @@ on the integrations page.
452
452
  - [**Using Assets from other apps and agents**](/docs/template-assets-integrations) — embedding, A2A, Creative Context, and the packaged skill bundle
453
453
  - [**Sharing & Privacy**](/docs/sharing#building) — `ownableColumns()` and the visibility model this template relies on
454
454
  - [**Database**](/docs/database) — migrations, dialects, and `getDb`/`schema`
455
- - [**Actions**](/docs/actions#access-control) — the action system powering every entry above
455
+ - [**Actions**](/docs/actions-access-control#access-control) — the action system powering every entry above
456
456
  - [**Assets**](/docs/template-assets) — back to the overview
@@ -377,6 +377,6 @@ data surface. See [Key Concepts](/docs/key-concepts#agent-modifies-code).
377
377
  - [**Connecting & Reviewing Sources**](/docs/template-brain-sources) — provider setup, the Slack rollout, and source health
378
378
  - [**Asking, Citations & Knowledge**](/docs/template-brain-knowledge) — the Ask/Search/Knowledge/Review surfaces
379
379
  - [**Talking to the Agent & Cross-App Use**](/docs/template-brain-agent) — prompts, `federatedCoverage`, and A2A
380
- - [**Actions**](/docs/actions) — the action system Brain is built on
380
+ - [**Actions**](/docs/actions-overview) — the action system Brain is built on
381
381
  - [**A2A Protocol**](/docs/a2a-protocol) — cross-app delegation
382
382
  - [**Extensions**](/docs/extensions) — the sandboxed widget system available from Brain's Settings page
@@ -362,5 +362,5 @@ If you add a feature, remember to update all four areas: UI, action, skill or AG
362
362
  - [**Events, Availability & Finding Time**](/docs/template-calendar-scheduling) — the user-facing behavior these actions power
363
363
  - [**Booking Links**](/docs/template-calendar-booking-links) — the user-facing behavior this data model powers
364
364
  - [**Talking to the Agent**](/docs/template-calendar-agent) — how the agent chooses between these actions and the raw Google Calendar API
365
- - [**Actions**](/docs/actions) — the action system this template is built on
365
+ - [**Actions**](/docs/actions-overview) — the action system this template is built on
366
366
  - [**Sharing**](/docs/sharing) — the share-grant model `booking_link_shares` uses
@@ -141,5 +141,5 @@ Use this when your model orchestration already lives elsewhere, but you still wa
141
141
 
142
142
  - [**Chat Template**](/docs/template-chat) — what ships by default and when to pick it
143
143
  - [**Chat — runtime and admin surfaces**](/docs/template-chat-developers) — core tables, auth, and the admin pages
144
- - [**Actions**](/docs/actions) — the action system chat and UI both call
144
+ - [**Actions**](/docs/actions-overview) — the action system chat and UI both call
145
145
  - [**Native Chat UI**](/docs/native-chat-ui) — chat surface primitives and runtime options
@@ -132,6 +132,6 @@ Use it for scheduled jobs, queues, CLI loops, or external-agent workflows where
132
132
  - [**Getting Started**](/docs/getting-started) — build the chat-first path from action to inline result to app page
133
133
  - [**Templates**](/docs/cloneable-saas) — the Cloneable SaaS model, and every domain template to start from instead
134
134
  - [**Agent Surfaces**](/docs/agent-surfaces) — chat, inline UI, app pages, embedded, automation, and external-agent patterns
135
- - [**Actions**](/docs/actions) — the action system chat and UI both call
135
+ - [**Actions**](/docs/actions-overview) — the action system chat and UI both call
136
136
  - [**Native Chat UI**](/docs/native-chat-ui) — chat surface primitives and runtime options
137
137
  - [**Automation-First Apps**](/docs/pure-agent-apps) — no-browser workflows for jobs, queues, scripts, and external agents
@@ -360,5 +360,5 @@ The agent can make most of these changes itself — ask it to "add a tags column
360
360
  - [Databases, properties & forms](/docs/template-content-databases) — the full inline-database and external-source data model
361
361
  - [Local files, Notion & Builder CMS sync](/docs/template-content-sync) — the non-developer view of every sync surface
362
362
  - [Database](/docs/database) — the framework's Drizzle conventions and migration rules
363
- - [Actions](/docs/actions) — the action system every operation above is built on
363
+ - [Actions](/docs/actions-overview) — the action system every operation above is built on
364
364
  - [Sharing](/docs/sharing) — the share-grant model `document_shares` builds on
@@ -191,5 +191,5 @@ If you need new capabilities such as file uploads, signatures, or custom field w
191
191
  - [**Forms**](/docs/template-forms) — the product overview and non-developer tour
192
192
  - [**Building and publishing a form**](/docs/template-forms-building-publishing) — field types, conditional logic, and public-form protections
193
193
  - [**Responses, insights, and destinations**](/docs/template-forms-responses) — analyzing, exporting, and routing submissions
194
- - [**Actions**](/docs/actions) — the action system powering the builder
194
+ - [**Actions**](/docs/actions-overview) — the action system powering the builder
195
195
  - [**Sharing**](/docs/sharing) — the `form_shares` role model
@@ -116,5 +116,5 @@ Live demo: [forms.agent-native.com](https://forms.agent-native.com).
116
116
  - [**Responses, insights, and destinations**](/docs/template-forms-responses) — analyzing, exporting, and routing submissions
117
117
  - [**Forms — data model and actions**](/docs/template-forms-developers) — the SQL schema and action reference, for developers
118
118
  - [**Templates**](/docs/cloneable-saas) — the Cloneable SaaS model
119
- - [**Actions**](/docs/actions) — the action system powering the builder
119
+ - [**Actions**](/docs/actions-overview) — the action system powering the builder
120
120
  - [**Messaging**](/docs/messaging) — Slack and other submission destinations
@@ -329,7 +329,7 @@ Emails flowing through the API have the shape `{ id, threadId, from, to, cc, sub
329
329
 
330
330
  Mail is yours to change. Everything important lives in a handful of places — start there.
331
331
 
332
- **Adding an agent capability.** Add a new file under `templates/mail/actions/` using `defineAction`. Your action becomes an agent tool, a CLI command (`pnpm action <name>`), and a typed frontend hook surface through `useActionQuery` / `useActionMutation`. Look at `templates/mail/actions/star-email.ts` for a short example or `templates/mail/actions/manage-automations.ts` for one with multiple sub-actions. See the [actions](/docs/actions) docs for the full pattern.
332
+ **Adding an agent capability.** Add a new file under `templates/mail/actions/` using `defineAction`. Your action becomes an agent tool, a CLI command (`pnpm action <name>`), and a typed frontend hook surface through `useActionQuery` / `useActionMutation`. Look at `templates/mail/actions/star-email.ts` for a short example or `templates/mail/actions/manage-automations.ts` for one with multiple sub-actions. See the [actions](/docs/actions-overview) docs for the full pattern.
333
333
 
334
334
  **Changing the UI.** Routes are in `templates/mail/app/routes/` and components in `templates/mail/app/components/email/` and `templates/mail/app/components/layout/`. The app uses shadcn/ui primitives from `app/components/ui/` and Tabler Icons — stick to those.
335
335
 
@@ -354,6 +354,6 @@ data surface. See [Key Concepts](/docs/key-concepts#agent-modifies-code).
354
354
  - [**Inbox, Search & Automations**](/docs/template-mail-inbox) — the user-facing triage and automation flows
355
355
  - [**Drafting, Scheduling & the Draft Queue**](/docs/template-mail-drafts-and-queue) — the user-facing drafting flow
356
356
  - [**Talking to the Agent**](/docs/template-mail-agent) — prompts and the provider-API escalation path
357
- - [**Actions**](/docs/actions) — the action system this page's inventory is built on
357
+ - [**Actions**](/docs/actions-overview) — the action system this page's inventory is built on
358
358
  - [**Extensions**](/docs/extensions) — building a widget for Mail's contact-sidebar slot
359
359
  - [**Automations**](/docs/automations) — the event-triggered engine mail's auto-triage rules build on
@@ -123,7 +123,7 @@ re-resolves the caller's app role on every guarded operation, and assignment
123
123
  edits require the org `owner`/`admin` role regardless of what the client
124
124
  believes. See
125
125
  [Organizations, Teams & Permissions → App roles](/docs/organizations-teams-permissions#app-roles-per-app-rbac)
126
- for the role model and [Actions → Authorization](/docs/actions#authorize) for
126
+ for the role model and [Actions → Authorization](/docs/actions-access-control#authorize) for
127
127
  the server-side `authorize` guard.
128
128
 
129
129
  ## UX Standard {#ux-standard}
@@ -390,6 +390,6 @@ The framework also tracks `builder connect clicked` from Connect Builder CTAs, a
390
390
 
391
391
  ## What's next
392
392
 
393
- - [**Actions**](/docs/actions) — where most tracking calls originate
393
+ - [**Actions**](/docs/actions-overview) — where most tracking calls originate
394
394
  - [**Server Plugins**](/docs/server-plugins) — `registerBuiltinProviders()` runs in the core-routes plugin at startup
395
395
  - [**Security — Secrets Management**](/docs/security#secrets) — manage API keys for tracking providers
@@ -197,7 +197,7 @@ import { AgentSidebar } from "@agent-native/core/client/agent-chat";
197
197
  <AgentSidebar />;
198
198
  ```
199
199
 
200
- One action definition powers the UI button, the agent tool, an HTTP endpoint, an MCP surface, an A2A integration, and a CLI command. See [Actions](/docs/actions) for the full reference.
200
+ One action definition powers the UI button, the agent tool, an HTTP endpoint, an MCP surface, an A2A integration, and a CLI command. See [Actions](/docs/actions-overview) for the full reference.
201
201
 
202
202
  ## How to get started {#how-to-get-started}
203
203
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.157.4",
3
+ "version": "0.157.5",
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": {