@agent-native/core 0.164.3 → 0.164.4

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 (28) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/templates/clips/.agents/skills/video-sharing/SKILL.md +1 -1
  3. package/corpus/templates/clips/app/routes/share.$shareId.tsx +3 -0
  4. package/corpus/templates/clips/changelog/2026-08-19-social-preview-video-frames.md +5 -0
  5. package/corpus/templates/clips/server/lib/slack-unfurls.ts +7 -13
  6. package/corpus/templates/clips/shared/share-meta.ts +67 -3
  7. package/corpus/templates/content/actions/list-content-databases.ts +95 -1
  8. package/corpus/templates/content/changelog/2026-08-11-content-mutations-delegated-from-verified-slack-dms-now-use-.md +6 -0
  9. package/corpus/templates/content/shared/api.ts +11 -0
  10. package/dist/a2a/artifact-response.d.ts +50 -0
  11. package/dist/a2a/artifact-response.js +266 -39
  12. package/dist/a2a/index.d.ts +2 -0
  13. package/dist/a2a/index.js +1 -0
  14. package/dist/collab/awareness.d.ts +2 -2
  15. package/dist/integrations/adapters/slack.js +58 -7
  16. package/dist/notifications/routes.d.ts +3 -3
  17. package/dist/progress/routes.d.ts +1 -1
  18. package/dist/server/agent-chat/action-filters-a2a.d.ts +2 -1
  19. package/dist/server/agent-chat/action-filters-a2a.js +10 -2
  20. package/dist/server/agent-chat-plugin.js +33 -11
  21. package/dist/server/realtime-token.d.ts +1 -1
  22. package/docs/content/drop-in-agent.mdx +4 -4
  23. package/docs/content/faq.mdx +15 -15
  24. package/docs/content/getting-started.mdx +173 -41
  25. package/docs/content/key-concepts.mdx +10 -10
  26. package/docs/content/using-your-agent.mdx +2 -2
  27. package/docs/content/what-is-agent-native.mdx +79 -228
  28. package/package.json +1 -1
@@ -1,260 +1,111 @@
1
1
  ---
2
- title: "What Is Agent-Native?"
3
- description: "Why most AI apps feel half-built, what makes an app truly agent-native, and what your day-to-day experience looks like as a result."
2
+ title: "What is Agent-Native?"
3
+ description: "What Agent-Native is, how its shared action architecture works, and when to build an app this way."
4
4
  ---
5
5
 
6
- # What Is Agent-Native?
7
-
8
- Most "AI features" today are a chat box bolted onto an existing product. You can ask questions and get summaries, but you can't ask the AI to actually _do_ anything in the app — and even when you can, the UI has no idea what the agent just did.
9
-
10
- Agent-native is the fix. It's a way of building software where **the AI agent and the UI are equal partners** — they share the same actions, the same database, and the same state. Everything the agent can do is also a button. Everything the user clicks is also something the agent can do. One system, two ways in.
11
-
12
- <Callout tone="decision">
13
-
14
- If you only remember one thing from this page: most AI apps stop one step short of being useful — and that gap is the biggest mistake in the space right now.
15
-
16
- </Callout>
17
-
18
- ## What it looks like as a user {#what-it-looks-like}
19
-
20
- Picture a mail client, analytics dashboard, or project tracker. Chat might be the first screen — or docked on the side of a full app. Either way:
21
-
22
- <Cards>
23
-
24
- ### Just ask
25
-
26
- Type "reply to the email from Sara saying I'll be there by 3." The agent opens the thread, drafts the reply, and shows it to you for approval.
27
-
28
- ### Or click
29
-
30
- Every button, list, form, and keyboard shortcut still works — and calls the same operation the agent uses.
31
-
32
- ### See what it sees
33
-
34
- Open an email and the agent knows which one. Highlight a paragraph and press `Cmd+I` — the agent acts on exactly that.
35
-
36
- ### Watch it work
37
-
38
- The UI updates in real time as the agent opens views, edits drafts, and runs reports. Interrupt, redirect, or take over with the mouse at any moment.
39
-
40
- ### Steer it like a teammate
41
-
42
- Give feedback, queue tasks, audit what it did, and edit its instructions.
43
-
44
- </Cards>
45
-
46
- Here's why most products don't get there.
47
-
48
- ## Why most "AI apps" fall short {#the-ladder}
49
-
50
- There's a progression most teams climb, and most stop one rung too early.
51
-
52
- ```mermaid
53
- graph LR
54
- R1["Rung 1: Single LLM call"]
55
- R2["Rung 2: Chat with tools"]
56
- R3["Rung 3: Agent + UI parity"]
57
- R1 --> R2 --> R3
58
- ```
59
-
60
- **Rung 1** — A text box sends a prompt, the AI returns a string. No way to course-correct, no persistence, no audit trail. This is what most "AI features" actually are: a Summarize button bolted onto a SaaS product. Impressive in demos, breaks in production.
61
-
62
- **Rung 2** — The AI has tools and a chat interface. Claude, ChatGPT, and Cursor all look like this under the hood. Real step up — but it's still a chat window. No dashboards, no forms, no collaboration. Non-developers struggle to get real work done here.
63
-
64
- **Rung 3** — Every agent action is also a button; every button runs the same logic the agent uses. The agent has real context (it sees what you're looking at and writes to the same database), and external agents can call it too over A2A and MCP.
65
-
66
- <Callout tone="success">
67
-
68
- **Rung 3 is agent-native.** You stopped adding buttons to a chatbot. You added an agent to an app. That's a much higher-quality product on both sides.
6
+ # What is Agent-Native?
7
+
8
+ Agent-Native is an open-source TypeScript framework for building apps that
9
+ serve both people and AI agents. You define your app's functionality once as
10
+ [actions](/docs/actions-overview)—typed functions that your React UI calls
11
+ from code and agents use as tools.
12
+
13
+ ## Why build apps this way
14
+
15
+ Most applications are designed around a person working through the UI. Adding
16
+ an agent introduces another way to use the product. For both to work as one
17
+ product, three things need to be true:
18
+
19
+ - **The agent needs access to the product.** If it receives a smaller, separate
20
+ set of tools, it remains constrained. You also end up maintaining two
21
+ implementations that drift as the application changes.
22
+ - **People still need an application UI.** Chat works well for delegating work,
23
+ but not always for browsing information, comparing options, reviewing
24
+ changes, or sharing results with a team.
25
+ - **Work needs to move between them.** A person should be able to inspect or
26
+ change the agent's work, and the agent should be able to continue from there
27
+ without starting over.
28
+
29
+ Agent-Native architecture is built around these requirements. People can work
30
+ directly through the UI or delegate an outcome to the agent, then move between
31
+ the two without losing progress.
32
+
33
+ <Video
34
+ src="https://cdn.builder.io/o/assets%2Fc5b47d20f6a943e485717e5895739988%2Fc88d506c160142ae9b8618616ceedcea%2Fcompressed?apiKey=c5b47d20f6a943e485717e5895739988&token=c88d506c160142ae9b8618616ceedcea&alt=media&optimized=true"
35
+ alt="A comparison of a person using an application directly and working through an AI agent in the same application."
36
+ align="full"
37
+ caption="Watch a four-minute introduction to Agent-Native architecture."
38
+ />
69
39
 
70
- </Callout>
40
+ ## How Agent-Native works
71
41
 
72
- See [Key Concepts — Protocols](/docs/key-concepts#protocols) for how all of this hangs off the same action definition.
42
+ An Agent-Native application gives people and agents two ways to work with the
43
+ same product:
73
44
 
74
- ## How agent and UI share the same actions {#agent-ui-parity}
45
+ - **The UI** gives people a familiar way to browse, edit, review, and share
46
+ work.
47
+ - **The agent** handles work people delegate to it.
75
48
 
76
- In a normal app, the UI and any "AI features" live in separate worlds — the buttons call one set of code, the AI calls another. Agent-native collapses that into one.
49
+ Three shared foundations make this possible:
77
50
 
78
- Every operation is defined as a typed **action**: a name, a schema, and a `run` function. The agent calls those actions as tools. The UI calls the same actions when a button is clicked. There's no translation layer, no duplication, and no drift.
51
+ - **Shared operations.** People trigger them through the UI, while agents call
52
+ them directly. Agent-Native defines each operation once as an
53
+ [action](/docs/actions-overview).
54
+ - **[Shared data](/docs/database)** holds the work and information the
55
+ application needs to preserve. Depending on the application, that might be
56
+ customer records, project plans, conversations, or reports. The UI and agent
57
+ both read and update this shared data.
58
+ - **[Shared application state](/docs/context-awareness)** describes what is
59
+ happening right now, such as the current page, selected record, or active
60
+ view. The framework gives relevant state to the agent as context, so it knows
61
+ what the person is working with.
79
62
 
80
63
  ```mermaid
81
64
  graph TD
82
- UI_IN["Click a button"]
83
- AG_IN["Type a message to the agent"]
84
- ACTION["Same typed action"]
85
- DB["Shared database"]
86
- UI_OUT["UI updates instantly"]
87
- AG_OUT["Agent sees the change"]
88
-
89
- UI_IN --> ACTION
90
- AG_IN --> ACTION
91
- ACTION --> DB
92
- DB --> UI_OUT
93
- DB --> AG_OUT
94
- ```
95
-
96
- The diagram above shows what this looks like at runtime: both the user and the agent submit actions to the same layer, which writes to the same database and sends updates back to both surfaces. When the agent creates a draft email, it appears in your inbox immediately. When you click Send, the agent knows it was sent. See [Key Concepts](/docs/key-concepts) for the full architecture.
97
-
98
- ## Why agents need a UI — and apps need an agent {#why-both}
99
-
100
- These two questions answer each other.
101
-
102
- <Comparison>
103
-
104
- ### Agents need a UI
105
-
106
- Even when the agent does all the heavy lifting, humans still need to see what it's doing, steer it, inspect its work, and share its output. At minimum that's an observability dashboard. At maximum it's a full app with the agent as a co-pilot. The surface can grow from one to the other without a rewrite.
107
-
108
- ### Apps need an agent
109
-
110
- Even in a full app with every button working, natural language makes a huge difference. Because every action is defined once and exposed as both a button and a tool, the agent can do everything the buttons can — and more. Natural language becomes a first-class input alongside clicks, with no separate "AI world" to maintain.
111
-
112
- </Comparison>
113
-
114
- The argument isn't "agents replace UI." It's **agents belong inside applications, as equal partners**. See [Agent Surfaces](/docs/agent-surfaces) for the concrete shapes and APIs.
115
-
116
- ## Per-user customization — without the complexity {#workspace-customization}
117
-
118
- What makes tools like Claude Code feel powerful isn't the model — it's the customization layer: per-project instructions, skills, memory, sub-agents, connected services.
119
-
120
- Agent-native gives every user that same layer, inside your app, stored in the database rather than on the filesystem. No dev environment per user, no container per user — just rows in a table.
121
-
122
- <Cards>
123
-
124
- ### Team-wide rules
125
-
126
- Instructions every agent on the team reads — house style, escalation policy, whatever your team needs the agent to always know.
127
-
128
- ### Personal memory
129
-
130
- The agent builds this automatically as you correct it. Over time it learns your preferences without you having to write anything down.
131
-
132
- ### `/slash` commands
133
-
134
- Reusable how-to guides for common workflows. Type `/weekly-report` and the agent knows exactly what to do.
135
-
136
- ### `@sub-agents`
137
-
138
- Specialized agents for specific tasks, scoped to a user or team. Delegate the routine stuff without writing a new integration.
139
-
140
- ### Scheduled jobs
141
-
142
- Set it and forget it. "Every Monday, summarize last week and draft the team update."
143
-
144
- ### External services
145
-
146
- Per-user MCP server connections. Each person can plug in their own tools without affecting anyone else's setup.
147
-
148
- </Cards>
149
-
150
- That's Claude Code-level flexibility in a multi-tenant SaaS product. See [Agent Resources](/docs/agent-resources) for the full concept.
151
-
152
- ## What does it look like in code? {#what-does-it-look-like-in-code}
153
-
154
- Every operation in an agent-native app is an **action** — defined once, available to both the agent and the UI.
155
-
156
- <AnnotatedCode
157
- id="doc-block-n4jy5o"
158
- title="One action, defined once"
159
- filename="actions/reply-to-email.ts"
160
- language="ts"
161
- code={
162
- 'import { defineAction } from "@agent-native/core/action";\nimport { z } from "zod";\n\nimport { getDb, schema } from "../server/db/index.js";\n\nexport default defineAction({\n description: "Reply to an email thread",\n schema: z.object({ emailId: z.string(), body: z.string() }),\n run: async ({ emailId, body }) => {\n const db = getDb();\n await db.insert(schema.replies).values({ emailId, body });\n },\n});'
163
- }
164
- annotations={[
165
- {
166
- lines: "7",
167
- label: "Tool surface",
168
- note: "The `description` is what the agent reads to decide when to call this as a tool.",
169
- },
170
- {
171
- lines: "8",
172
- label: "Typed contract",
173
- note: "One zod `schema` validates input from **every** surface — agent, UI, HTTP, MCP, and A2A.",
174
- },
175
- {
176
- lines: "9-12",
177
- label: "One implementation",
178
- note: "The `run` body is the single source of truth. The UI button and the agent tool both execute exactly this. `getDb()` and `schema` come from your app's `server/db/index.ts` — see [Database](/docs/database).",
179
- },
180
- ]}
181
- />
182
-
183
- The same action is then callable from a React component, from the agent in chat, and from any external agent or MCP host:
184
-
185
- ```tsx
186
- // In any React component — same action, called from a button
187
- const { mutate } = useActionMutation("reply-to-email");
188
-
189
- <Button onClick={() => mutate({ emailId, body: "Thanks!" })}>
190
- Send Reply
191
- </Button>;
192
- ```
193
-
194
- ```tsx
195
- // And the agent panel mounted anywhere in your app
196
- import { AgentSidebar } from "@agent-native/core/client/agent-chat";
197
- <AgentSidebar />;
65
+ UI[UI] --> App[One application]
66
+ Agent[Agent] --> App
67
+ App --- Operations[Shared operations]
68
+ App --- Data[Shared data]
69
+ App --- State[Shared application state]
198
70
  ```
199
71
 
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
-
202
- ## How to get started {#how-to-get-started}
203
-
204
- Agent-native apps follow a start-from-a-working-app model. Pick a template — Calendar, Mail, Analytics, Forms, and more — and make it yours.
205
-
206
- <Steps>
207
-
208
- ### Pick a template
209
-
210
- Browse [agent-native.com/templates](/templates) and pick the one closest to what you want to build.
72
+ The agent does not click through the UI. It calls the same actions as the UI,
73
+ with the same validation, permissions, and implementation.
211
74
 
212
- ### Use it immediately
75
+ For example, a person can assign a support ticket through the UI or ask the
76
+ agent to do it. Both paths run the same action and update the same ticket. The
77
+ person can inspect or change the result in the UI, then let the agent continue
78
+ from there.
213
79
 
214
- Many first-party templates are available as hosted apps (e.g. `mail.agent-native.com`). Try one before you touch any code.
80
+ ## When should you use Agent-Native?
215
81
 
216
- ### Clone and customize
82
+ Agent-Native is a good fit when:
217
83
 
218
- When you're ready to change something — "connect our Stripe account," "add a cohort chart" — create your own app from the template and customize the source in your own repository.
84
+ - The agent should do real work in the app, not only answer questions.
85
+ - People need a UI to inspect, edit, approve, or share the work.
86
+ - Work should move between the UI and agent without losing progress or context.
219
87
 
220
- ### Deploy to your domain
88
+ If you only need one generated response, call a model directly. If the workflow
89
+ follows a fixed, predictable sequence, ordinary application logic or automation
90
+ is simpler. Use Agent-Native when the UI and agent both need an ongoing role in
91
+ the same work.
221
92
 
222
- Ship your app to your own domain, or stay on agent-native.com. Because it's _your_ app, you own the source and can evolve it independently.
223
-
224
- </Steps>
225
-
226
- Not ready for a whole template? Add a **skill** to a coding agent you already use: `npx @agent-native/core@latest skills add visual-plan`. See the [Skills Guide](/docs/skills-guide#app-backed-skills).
227
-
228
- ## Composable agents {#composable-agents}
229
-
230
- Agent-native apps can talk to each other. From inside the mail app, you can tag the analytics agent to query data and include the result in a draft. The agents discover what other agents are available, hand off work, and surface results in the UI you're already in — powered by [A2A](/docs/a2a-protocol) and [MCP](/docs/mcp-protocol) under the hood.
231
-
232
- ## What's next {#whats-next}
93
+ ## Next steps
233
94
 
234
95
  <Cards>
235
96
 
236
97
  ### [Getting Started](/docs/getting-started)
237
98
 
238
- Build a working chat app in under five minutes, then add an action and a page. Add your own database tables when you need to persist domain data.
99
+ Create an app and call the same action from the agent and UI.
239
100
 
240
101
  ### [Key Concepts](/docs/key-concepts)
241
102
 
242
- The architecture underneath everything on this page: SQL, actions, polling sync, and context awareness.
103
+ Learn how actions, SQL data, application context, access, and live sync fit
104
+ together.
243
105
 
244
106
  ### [Agent Surfaces](/docs/agent-surfaces)
245
107
 
246
- All the shapes an agent-native app can take: chat, inline UI, full app pages, sidecars, automation, and external agents.
247
-
248
- ### [Templates](/docs/cloneable-saas)
249
-
250
- Complete, working products you own and customize — not blank scaffolds.
251
-
252
- ### [Agent Resources](/docs/agent-resources)
253
-
254
- The per-user customization layer: skills, memory, instructions, and MCP connections — backed by SQL, not files.
255
-
256
- ### [FAQ](/docs/faq)
257
-
258
- Quick answers on cost, hosting, models, and templates.
108
+ See how the same model supports apps led by a UI, chat, automation, or another
109
+ agent.
259
110
 
260
111
  </Cards>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.164.3",
3
+ "version": "0.164.4",
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": {