@agent-native/core 0.157.4 → 0.157.6
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/clips/actions/create-meeting.ts +19 -1
- package/corpus/templates/clips/app/components/meetings/bullet-link.tsx +48 -25
- package/corpus/templates/clips/app/components/meetings/canvas-editor.tsx +7 -6
- package/corpus/templates/clips/app/components/meetings/transcript-bubbles.tsx +388 -178
- package/corpus/templates/clips/app/components/player/transcript-panel.tsx +7 -13
- package/corpus/templates/clips/app/components/transcript/transcript-segment-row.tsx +98 -0
- package/corpus/templates/clips/app/i18n/en-US.ts +4 -0
- package/corpus/templates/clips/app/lib/public-meeting.ts +4 -0
- package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +49 -31
- package/corpus/templates/clips/app/routes/share.meeting.$meetingId.tsx +15 -1
- package/corpus/templates/clips/netlify.toml +4 -4
- package/corpus/templates/clips/server/routes/api/public-meeting.get.ts +10 -0
- package/corpus/templates/clips/shared/transcript-segments.ts +20 -2
- package/dist/collab/routes.d.ts +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/deploy/build.js +28 -11
- package/dist/notifications/routes.d.ts +1 -1
- package/docs/content/actions-access-control.mdx +226 -0
- package/docs/content/actions-advanced.mdx +152 -0
- package/docs/content/actions-defining.mdx +275 -0
- package/docs/content/actions-other-surfaces.mdx +167 -0
- package/docs/content/actions-overview.mdx +214 -0
- package/docs/content/actions-run-context.mdx +180 -0
- package/docs/content/agent-surfaces.mdx +1 -1
- package/docs/content/agent-teams.mdx +1 -1
- package/docs/content/agent-web-surfaces.mdx +1 -1
- package/docs/content/audit-log.mdx +1 -1
- package/docs/content/automation-connectors.mdx +1 -1
- package/docs/content/automations.mdx +1 -1
- package/docs/content/blueprint-installer.mdx +1 -1
- package/docs/content/cli-adapters.mdx +1 -1
- package/docs/content/client-agent-chat.mdx +1 -1
- package/docs/content/client-data.mdx +2 -2
- package/docs/content/client-overview.mdx +2 -2
- package/docs/content/components.mdx +1 -1
- package/docs/content/data-programs.mdx +2 -2
- package/docs/content/database.mdx +1 -1
- package/docs/content/deployment.mdx +1 -1
- package/docs/content/docs-components.mdx +14 -3
- package/docs/content/drop-in-agent.mdx +2 -2
- package/docs/content/durable-resume.mdx +1 -1
- package/docs/content/evals.mdx +1 -1
- package/docs/content/extensions.mdx +1 -1
- package/docs/content/external-agents-catalog.mdx +2 -2
- package/docs/content/external-agents.mdx +1 -1
- package/docs/content/generative-ui.mdx +1 -1
- package/docs/content/getting-started.mdx +1 -1
- package/docs/content/http-api.mdx +4 -4
- package/docs/content/human-approval.mdx +1 -1
- package/docs/content/key-concepts.mdx +1 -1
- package/docs/content/mcp-apps.mdx +1 -1
- package/docs/content/mcp-clients.mdx +1 -1
- package/docs/content/mcp-protocol.mdx +1 -1
- package/docs/content/native-chat-ui.mdx +1 -1
- package/docs/content/observability.mdx +1 -1
- package/docs/content/organizations-teams-permissions.mdx +1 -1
- package/docs/content/processors.mdx +1 -1
- package/docs/content/pure-agent-apps.mdx +1 -1
- package/docs/content/recurring-jobs.mdx +1 -1
- package/docs/content/server-database.mdx +1 -1
- package/docs/content/server-overview.mdx +3 -3
- package/docs/content/server-routes.mdx +2 -2
- package/docs/content/template-analytics-developers.mdx +1 -1
- package/docs/content/template-assets-developers.mdx +1 -1
- package/docs/content/template-brain-developers.mdx +1 -1
- package/docs/content/template-calendar-developers.mdx +1 -1
- package/docs/content/template-chat-first-edits.mdx +1 -1
- package/docs/content/template-chat.mdx +1 -1
- package/docs/content/template-content-developers.mdx +1 -1
- package/docs/content/template-forms-developers.mdx +1 -1
- package/docs/content/template-forms.mdx +1 -1
- package/docs/content/template-mail-developers.mdx +2 -2
- package/docs/content/toolkit-org-team.mdx +1 -1
- package/docs/content/tracking.mdx +1 -1
- package/docs/content/what-is-agent-native.mdx +1 -1
- package/package.json +3 -3
- 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.
|
package/docs/content/evals.mdx
CHANGED
|
@@ -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.
|
|
3
|
+
"version": "0.157.6",
|
|
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": {
|
|
@@ -423,8 +423,8 @@
|
|
|
423
423
|
"y-protocols": "^1.0.7",
|
|
424
424
|
"yjs": "^13.6.31",
|
|
425
425
|
"zod": "^4.3.6",
|
|
426
|
-
"@agent-native/
|
|
427
|
-
"@agent-native/
|
|
426
|
+
"@agent-native/toolkit": "^0.16.0",
|
|
427
|
+
"@agent-native/recap-cli": "0.5.4"
|
|
428
428
|
},
|
|
429
429
|
"devDependencies": {
|
|
430
430
|
"@ai-sdk/anthropic": "^3.0.71",
|