@agent-native/core 0.62.1 → 0.63.1
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/dist/cli/code-agent-executor.js +1 -1
- package/dist/cli/code-agent-executor.js.map +1 -1
- package/dist/cli/create.js +1 -1
- package/dist/cli/create.js.map +1 -1
- package/dist/client/NewWorkspaceAppFlow.js +1 -1
- package/dist/client/NewWorkspaceAppFlow.js.map +1 -1
- package/dist/client/chat/index.d.ts +2 -1
- package/dist/client/chat/index.d.ts.map +1 -1
- package/dist/client/chat/index.js +2 -1
- package/dist/client/chat/index.js.map +1 -1
- package/dist/client/chat-view-transition.d.ts +17 -0
- package/dist/client/chat-view-transition.d.ts.map +1 -1
- package/dist/client/chat-view-transition.js +46 -0
- package/dist/client/chat-view-transition.js.map +1 -1
- package/dist/client/index.d.ts +2 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/use-agent-chat-home-handoff.d.ts +27 -0
- package/dist/client/use-agent-chat-home-handoff.d.ts.map +1 -0
- package/dist/client/use-agent-chat-home-handoff.js +120 -0
- package/dist/client/use-agent-chat-home-handoff.js.map +1 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -2
- package/dist/index.js.map +1 -1
- package/dist/styles/agent-native.css +2 -6
- package/dist/templates/default/.agents/skills/delegate-to-agent/SKILL.md +3 -3
- package/dist/templates/default/.agents/skills/real-time-sync/SKILL.md +1 -1
- package/dist/templates/default/DEVELOPING.md +1 -1
- package/dist/templates/default/app/lib/utils.ts +1 -1
- package/dist/templates/default/app/root.tsx +1 -1
- package/dist/templates/headless/actions/hello.ts +1 -1
- package/dist/templates/workspace-core/.agents/skills/delegate-to-agent/SKILL.md +3 -3
- package/dist/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +1 -1
- package/dist/templates/workspace-root/README.md +4 -4
- package/docs/content/actions.md +32 -42
- package/docs/content/agent-surfaces.md +105 -84
- package/docs/content/agent-teams.md +2 -14
- package/docs/content/agent-web-surfaces.md +4 -4
- package/docs/content/authentication.md +40 -24
- package/docs/content/automations.md +18 -36
- package/docs/content/blueprint-installer.md +3 -0
- package/docs/content/cli-adapters.md +24 -168
- package/docs/content/client.md +11 -77
- package/docs/content/cloneable-saas.md +1 -1
- package/docs/content/code-agents-ui.md +43 -0
- package/docs/content/components.md +10 -23
- package/docs/content/context-awareness.md +3 -3
- package/docs/content/creating-templates.md +20 -18
- package/docs/content/database.md +1 -1
- package/docs/content/deployment.md +5 -37
- package/docs/content/dispatch.md +17 -28
- package/docs/content/drop-in-agent.md +24 -111
- package/docs/content/durable-resume.md +4 -0
- package/docs/content/embedding-sdk.md +141 -135
- package/docs/content/evals.md +3 -3
- package/docs/content/extensions.md +1 -1
- package/docs/content/external-agents.md +34 -60
- package/docs/content/faq.md +5 -5
- package/docs/content/frames.md +13 -4
- package/docs/content/getting-started.md +96 -142
- package/docs/content/harness-agents.md +24 -7
- package/docs/content/human-approval.md +1 -1
- package/docs/content/key-concepts.md +14 -99
- package/docs/content/local-file-mode.md +2 -2
- package/docs/content/mcp-apps.md +9 -2
- package/docs/content/mcp-clients.md +8 -3
- package/docs/content/mcp-protocol.md +11 -29
- package/docs/content/messaging.md +1 -1
- package/docs/content/migration-workbench.md +14 -175
- package/docs/content/multi-app-workspace.md +1 -1
- package/docs/content/multi-tenancy.md +18 -47
- package/docs/content/native-chat-ui.md +15 -12
- package/docs/content/observability.md +16 -4
- package/docs/content/observational-memory.md +1 -1
- package/docs/content/pure-agent-apps.md +17 -124
- package/docs/content/real-time-collaboration.md +14 -14
- package/docs/content/routing.md +71 -0
- package/docs/content/sandbox-adapters.md +78 -4
- package/docs/content/security.md +59 -39
- package/docs/content/server.md +16 -8
- package/docs/content/sharing.md +1 -6
- package/docs/content/skills-guide.md +3 -1
- package/docs/content/template-analytics.md +1 -1
- package/docs/content/template-assets.md +12 -3
- package/docs/content/template-brain.md +64 -72
- package/docs/content/template-chat.md +32 -4
- package/docs/content/template-clips.md +35 -4
- package/docs/content/template-design.md +19 -3
- package/docs/content/template-dispatch.md +9 -0
- package/docs/content/template-forms.md +15 -10
- package/docs/content/template-plan.md +7 -0
- package/docs/content/template-slides.md +14 -14
- package/docs/content/template-videos.md +10 -12
- package/docs/content/tracking.md +66 -55
- package/docs/content/using-your-agent.md +6 -16
- package/docs/content/what-is-agent-native.md +5 -11
- package/docs/content/workspace-management.md +2 -2
- package/docs/content/workspace.md +20 -160
- package/package.json +1 -1
- package/src/templates/default/.agents/skills/delegate-to-agent/SKILL.md +3 -3
- package/src/templates/default/.agents/skills/real-time-sync/SKILL.md +1 -1
- package/src/templates/default/DEVELOPING.md +1 -1
- package/src/templates/default/app/lib/utils.ts +1 -1
- package/src/templates/default/app/root.tsx +1 -1
- package/src/templates/headless/actions/hello.ts +1 -1
- package/src/templates/workspace-core/.agents/skills/delegate-to-agent/SKILL.md +3 -3
- package/src/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +1 -1
- package/src/templates/workspace-root/README.md +4 -4
package/docs/content/server.md
CHANGED
|
@@ -189,9 +189,17 @@ Inbound webhooks should verify, persist, and return quickly. Long-running agent
|
|
|
189
189
|
|
|
190
190
|
Do not rely on unawaited promises after returning a response. See [Messaging](/docs/messaging) for the canonical integration queue.
|
|
191
191
|
|
|
192
|
-
##
|
|
192
|
+
## Advanced: Escape Hatches {#advanced-escape-hatches}
|
|
193
193
|
|
|
194
|
-
|
|
194
|
+
Most templates never need these. Nitro file routes and the framework's agent
|
|
195
|
+
chat plugin already wire up the app server and the production agent handler.
|
|
196
|
+
Reach for them only when building a custom server integration outside the
|
|
197
|
+
standard template plugin stack.
|
|
198
|
+
|
|
199
|
+
### Programmatic H3 servers {#create-server}
|
|
200
|
+
|
|
201
|
+
For custom packages or tests that need an H3 app directly, `createServer()`
|
|
202
|
+
returns a preconfigured app and router:
|
|
195
203
|
|
|
196
204
|
```ts
|
|
197
205
|
import { createServer } from "@agent-native/core/server";
|
|
@@ -205,11 +213,13 @@ router.get(
|
|
|
205
213
|
);
|
|
206
214
|
```
|
|
207
215
|
|
|
208
|
-
|
|
216
|
+
### Production agent handler {#agent-handler}
|
|
209
217
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
218
|
+
The framework's agent chat plugin already mounts the production agent handler
|
|
219
|
+
for templates. Only call `createProductionAgentHandler()` directly when building
|
|
220
|
+
a custom server integration outside the standard template plugin stack —
|
|
221
|
+
otherwise customize the agent through `AGENTS.md`, skills, actions, and the
|
|
222
|
+
agent chat plugin.
|
|
213
223
|
|
|
214
224
|
```ts
|
|
215
225
|
import { createProductionAgentHandler } from "@agent-native/core/server";
|
|
@@ -219,5 +229,3 @@ const handler = createProductionAgentHandler({
|
|
|
219
229
|
systemPrompt: "You are the app agent...",
|
|
220
230
|
});
|
|
221
231
|
```
|
|
222
|
-
|
|
223
|
-
Standard templates should customize the agent through `AGENTS.md`, skills, actions, and the agent chat plugin rather than hand-mounting this route.
|
package/docs/content/sharing.md
CHANGED
|
@@ -159,12 +159,7 @@ registerShareableResource({
|
|
|
159
159
|
|
|
160
160
|
## Security guarantees {#security}
|
|
161
161
|
|
|
162
|
-
Sharing rides on the framework's broader data-scoping model.
|
|
163
|
-
|
|
164
|
-
- **No unscoped queries.** Every query against an ownable table must go through `accessFilter()` (lists), `resolveAccess()` (read-by-id), or `assertAccess()` (writes). A CI guard fails the build if a query against an ownable table runs without one of these helpers.
|
|
165
|
-
- **Org isolation.** Resources tagged with an `org_id` are invisible to users from other orgs even to the agent. The active-org session value flows through to SQL, so cross-org leaks are impossible by construction.
|
|
166
|
-
|
|
167
|
-
See [Security & Data Scoping](/docs/security) for the full model and threat surface.
|
|
162
|
+
Sharing rides on the framework's broader data-scoping model — list/read/write access to ownable tables goes through `accessFilter()` / `resolveAccess()` / `assertAccess()`, and `org_id`-tagged resources are invisible across orgs. See [Security → Data Scoping](/docs/security#data-scoping) for the full pipeline, the CI guard, and the threat surface.
|
|
168
163
|
|
|
169
164
|
## See also {#see-also}
|
|
170
165
|
|
|
@@ -15,7 +15,7 @@ Every skill's frontmatter `name` and `description` are always injected into the
|
|
|
15
15
|
|
|
16
16
|
## Framework skills {#framework-skills}
|
|
17
17
|
|
|
18
|
-
These skills
|
|
18
|
+
These are the skills bundled with the **default template**. The exact set available in any given app depends on the template you scaffolded from — check that template's `.agents/skills/` directory for what it actually ships.
|
|
19
19
|
|
|
20
20
|
| Skill | When to use |
|
|
21
21
|
| --------------------- | ------------------------------------------------------- |
|
|
@@ -172,6 +172,8 @@ If the knowledge applies to _everyone_ working in the app ("always prefer CTEs o
|
|
|
172
172
|
|
|
173
173
|
---
|
|
174
174
|
|
|
175
|
+
# Advanced
|
|
176
|
+
|
|
175
177
|
## App-backed skills — full details {#app-backed-skills-full}
|
|
176
178
|
|
|
177
179
|
App-backed skills package an agent-native app as a skill marketplace artifact.
|
|
@@ -221,4 +221,4 @@ To add a new data source, drop a script in `actions/` that calls the provider an
|
|
|
221
221
|
|
|
222
222
|
To add a new chart type, extend the `ChartType` union in `app/pages/adhoc/sql-dashboard/types.ts`, handle it in `SqlChartCard.tsx`, and the agent can use it in any panel.
|
|
223
223
|
|
|
224
|
-
For the broader pattern on extending templates, see the [
|
|
224
|
+
For the broader pattern on extending templates, see the [Skills guide](/docs/skills-guide) and [Actions](/docs/actions).
|
|
@@ -7,10 +7,17 @@ description: "An agent-native digital asset manager and cross-agent generation s
|
|
|
7
7
|
|
|
8
8
|
Assets is an agent-native workspace for creating and managing brand-consistent media. It organizes uploads and generated results into libraries and folders, lets teams collect examples for blog heroes, diagrams, landing pages, product shots, videos, and logos, then routes generation through the agent chat so every asset can be reviewed and refined.
|
|
9
9
|
|
|
10
|
-
Use it when your team needs reusable visual direction and searchable source assets instead of one-off generic media prompts.
|
|
11
|
-
|
|
12
10
|

|
|
13
11
|
|
|
12
|
+
When you open the app, you see your libraries and folders on the left, the assets in the selected library in the middle, and a chat composer for generating new media. The agent can browse, search, generate, refine, and export every asset through the same actions the UI uses.
|
|
13
|
+
|
|
14
|
+
## When to pick it
|
|
15
|
+
|
|
16
|
+
- **Your team needs reusable visual direction**, not one-off generic media prompts — collect approved logos, product shots, and style examples so generations stay on brand.
|
|
17
|
+
- **You want generated media reviewed and refined**, with a full audit log of prompts, models, references, and lineage for every run.
|
|
18
|
+
- **Other apps need an asset picker or generator** — Slides, Design, Content, a blog editor, or a site builder can embed the picker or call Assets over A2A.
|
|
19
|
+
- **You want brand media available from your coding agent** — Codex, Claude Code, Claude, or ChatGPT can generate and pick assets without leaving the chat.
|
|
20
|
+
|
|
14
21
|
## Getting started
|
|
15
22
|
|
|
16
23
|
Live demo: [assets.agent-native.com](https://assets.agent-native.com).
|
|
@@ -95,7 +102,9 @@ npx @agent-native/core@latest create my-assets --standalone --template assets
|
|
|
95
102
|
|
|
96
103
|
### Data model
|
|
97
104
|
|
|
98
|
-
All data lives in SQL via Drizzle ORM (binary media lives in object storage, or the local file-upload fallback during development). Schema: `templates/assets/server/db/schema.ts`. Libraries carry the standard `ownableColumns` and a matching framework shares table, so they slot into the per-user / per-org sharing model.
|
|
105
|
+
All data lives in SQL via Drizzle ORM (binary media lives in object storage, or the local file-upload fallback during development). Schema: `templates/assets/server/db/schema.ts`. Libraries carry the standard `ownableColumns` and a matching framework shares table, so they slot into the per-user / per-org sharing model.
|
|
106
|
+
|
|
107
|
+
Note: the SQL table names keep the legacy `image_*` prefix from when the app was called Images. They cover videos and other media too.
|
|
99
108
|
|
|
100
109
|
| Table | What it holds |
|
|
101
110
|
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
@@ -21,11 +21,35 @@ surfaces for connecting data, approving proposals, and inspecting cited memory.
|
|
|
21
21
|
|
|
22
22
|

|
|
23
23
|
|
|
24
|
+
When you open the app, **Ask** is front and center — a clean chat over reviewed
|
|
25
|
+
company memory. **Sources**, **Review**, and **Knowledge** sit alongside it as
|
|
26
|
+
admin surfaces for connecting data, approving proposals, and inspecting cited
|
|
27
|
+
entries.
|
|
28
|
+
|
|
29
|
+
## When to pick it
|
|
30
|
+
|
|
24
31
|
Use Brain when your team wants agents to answer questions like "why did we make
|
|
25
32
|
this product decision?", "how does this in-development feature work?", or "what
|
|
26
33
|
changed in this process?" with links back to the source conversation, meeting,
|
|
27
34
|
or issue.
|
|
28
35
|
|
|
36
|
+
Brain and Dispatch are complementary but do different jobs:
|
|
37
|
+
|
|
38
|
+
- **Brain owns company memory.** It ingests sources, reviews raw captures,
|
|
39
|
+
distills durable facts/decisions/processes, answers from cited evidence, and
|
|
40
|
+
exposes approved knowledge to agents.
|
|
41
|
+
- **Dispatch owns the workspace control plane.** It centralizes messaging,
|
|
42
|
+
secrets, recurring jobs, approvals, A2A orchestration, and the distribution
|
|
43
|
+
and approval of workspace-wide resources.
|
|
44
|
+
|
|
45
|
+
In a multi-app workspace, Dispatch can route a question to Brain over A2A and
|
|
46
|
+
can grant Brain shared provider credentials. Brain remains the specialist for
|
|
47
|
+
approved source ingestion, review, retrieval, and cited Company Brain answers.
|
|
48
|
+
Brain exposes read-only, citation-backed retrieval as its public A2A capability
|
|
49
|
+
so Dispatch and sibling apps can ask company-memory questions — the A2A agent
|
|
50
|
+
card is public discovery metadata, while retrieval still happens inside Brain's
|
|
51
|
+
authenticated action surface.
|
|
52
|
+
|
|
29
53
|
## What you can do with it
|
|
30
54
|
|
|
31
55
|
- **Ask cited questions.** Ask is the main product surface: a clean chat over
|
|
@@ -51,14 +75,6 @@ or issue.
|
|
|
51
75
|
apps can use them as context. Both flows preview the exact Markdown before the
|
|
52
76
|
resource is written or removed.
|
|
53
77
|
|
|
54
|
-
## Useful prompts
|
|
55
|
-
|
|
56
|
-
- "What did we decide about annual pricing, and where was that discussed?"
|
|
57
|
-
- "Find the most recent onboarding-process change and cite the source."
|
|
58
|
-
- "Summarize what this GitHub discussion means for the launch plan."
|
|
59
|
-
- "Review the pending memory proposals and flag anything too vague to publish."
|
|
60
|
-
- "Which sources are stale or failing sync?"
|
|
61
|
-
|
|
62
78
|
## Getting started
|
|
63
79
|
|
|
64
80
|
Live demo: [brain.agent-native.com](https://brain.agent-native.com).
|
|
@@ -79,9 +95,17 @@ For a public demo, the seeded corpus demonstrates product-decision recall,
|
|
|
79
95
|
citation links, supersede behavior, review gating, redaction, personal-content
|
|
80
96
|
exclusion, and honest not-found behavior without connecting a real workspace.
|
|
81
97
|
|
|
98
|
+
### Useful prompts
|
|
99
|
+
|
|
100
|
+
- "What did we decide about annual pricing, and where was that discussed?"
|
|
101
|
+
- "Find the most recent onboarding-process change and cite the source."
|
|
102
|
+
- "Summarize what this GitHub discussion means for the launch plan."
|
|
103
|
+
- "Review the pending memory proposals and flag anything too vague to publish."
|
|
104
|
+
- "Which sources are stale or failing sync?"
|
|
105
|
+
|
|
82
106
|
## For developers
|
|
83
107
|
|
|
84
|
-
The rest of this
|
|
108
|
+
The rest of this doc is for anyone forking the Brain template or extending it.
|
|
85
109
|
|
|
86
110
|
### Quick start
|
|
87
111
|
|
|
@@ -96,6 +120,12 @@ Open the app and choose **Start demo** to see cited memory without connecting a
|
|
|
96
120
|
|
|
97
121
|
### Data model
|
|
98
122
|
|
|
123
|
+
Brain intentionally uses SQL text search and agentic query expansion — there is
|
|
124
|
+
no vector-database requirement, so the template stays portable across SQLite,
|
|
125
|
+
Postgres, Neon, D1, Turso, and similar hosts. Application state mirrors the
|
|
126
|
+
current route, filters, and selected IDs so the agent always knows the current
|
|
127
|
+
navigation and selection.
|
|
128
|
+
|
|
99
129
|
Brain's schema lives in `templates/brain/server/db/schema.ts`. Eight tables:
|
|
100
130
|
|
|
101
131
|
| Table | What it holds |
|
|
@@ -124,17 +154,7 @@ Grouped by area (`templates/brain/actions/`):
|
|
|
124
154
|
- **Context & navigation** — `view-screen`, `navigate`
|
|
125
155
|
- **Provider APIs** — `provider-api-catalog`, `provider-api-docs`, `provider-api-request`
|
|
126
156
|
|
|
127
|
-
###
|
|
128
|
-
|
|
129
|
-
Key places to look when extending Brain:
|
|
130
|
-
|
|
131
|
-
- `templates/brain/actions/` — every agent-callable operation. Add a new file with `defineAction` to expose a new capability.
|
|
132
|
-
- `templates/brain/app/routes/` — the UI surface: Ask, Sources, Review, Knowledge, Settings, and Team routes.
|
|
133
|
-
- `templates/brain/.agents/skills/` — Brain-specific guidance for distillation and retrieval.
|
|
134
|
-
- `templates/brain/AGENTS.md` — top-level agent guide. Update when you add major features.
|
|
135
|
-
- `templates/brain/server/db/schema.ts` — data model. Additive migrations only.
|
|
136
|
-
|
|
137
|
-
## Connecting sources
|
|
157
|
+
### Connecting sources
|
|
138
158
|
|
|
139
159
|
Brain resolves provider credentials from a granted workspace connection first,
|
|
140
160
|
then from backward-compatible Brain-local or registered vault credentials.
|
|
@@ -171,44 +191,7 @@ notes, or any other source that can produce a bounded capture.
|
|
|
171
191
|
Slack, Granola, and GitHub sources can opt into background `autoSync` with a
|
|
172
192
|
poll cadence once review quality is proven.
|
|
173
193
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
Brain and Dispatch are complementary, but they do different jobs:
|
|
177
|
-
|
|
178
|
-
- **Brain owns company memory.** It ingests sources, reviews raw captures,
|
|
179
|
-
distills durable facts/decisions/processes, answers from cited evidence, and
|
|
180
|
-
exposes approved knowledge to agents.
|
|
181
|
-
- **Dispatch owns the workspace control plane.** It centralizes messaging,
|
|
182
|
-
secrets, recurring jobs, approvals, A2A orchestration, and the distribution
|
|
183
|
-
and approval of workspace-wide resources.
|
|
184
|
-
|
|
185
|
-
In a multi-app workspace, Dispatch can route a question to Brain over A2A and
|
|
186
|
-
can grant Brain shared provider credentials. Brain remains the specialist for
|
|
187
|
-
approved source ingestion, review, retrieval, and cited Company Brain answers.
|
|
188
|
-
Brain exposes read-only, citation-backed retrieval as its public A2A capability
|
|
189
|
-
so Dispatch and sibling apps can ask company-memory questions — the A2A agent
|
|
190
|
-
card is public discovery metadata, while retrieval still happens inside Brain's
|
|
191
|
-
authenticated action surface.
|
|
192
|
-
|
|
193
|
-
## Data model
|
|
194
|
-
|
|
195
|
-
Brain intentionally uses SQL text search and agentic query expansion. There is
|
|
196
|
-
no vector database requirement, so the template stays portable across SQLite,
|
|
197
|
-
Postgres, Neon, D1, Turso, and similar hosts.
|
|
198
|
-
|
|
199
|
-
- **Sources** hold connector configuration: provider, allow-listed channels or
|
|
200
|
-
repositories, sync cursors, review posture, and distillation state.
|
|
201
|
-
- **Raw captures** store transcripts, channel exports, notes, and webhook
|
|
202
|
-
imports in portable SQL with dedupe keys and source metadata. Raw content is
|
|
203
|
-
redacted from listing/search surfaces by default.
|
|
204
|
-
- **Distilled knowledge** holds atomic entries with kind, topic, entities,
|
|
205
|
-
confidence, exact evidence quotes, and supersede links.
|
|
206
|
-
- **Proposals** queue company-tier or sensitive entries for review before they
|
|
207
|
-
become durable company memory.
|
|
208
|
-
- **Application state** mirrors route, filters, and selected IDs so the agent
|
|
209
|
-
always knows the current navigation and selection.
|
|
210
|
-
|
|
211
|
-
## Privacy and gating
|
|
194
|
+
### Privacy and gating
|
|
212
195
|
|
|
213
196
|
Brain is designed for company memory, not personal surveillance:
|
|
214
197
|
|
|
@@ -223,22 +206,31 @@ Brain is designed for company memory, not personal surveillance:
|
|
|
223
206
|
approval, citation requirements, email redaction, and connector error
|
|
224
207
|
notifications.
|
|
225
208
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
The template follows the agent-native four-area contract:
|
|
209
|
+
### Customizing it
|
|
229
210
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
-
|
|
234
|
-
|
|
235
|
-
-
|
|
236
|
-
|
|
211
|
+
Brain follows the agent-native four-area contract — change behavior by editing
|
|
212
|
+
the matching area, and the agent can make these edits for you:
|
|
213
|
+
|
|
214
|
+
- `templates/brain/app/routes/` — the UI surface: Ask, Search, Knowledge,
|
|
215
|
+
Review, Sources, Settings, and Team routes.
|
|
216
|
+
- `templates/brain/actions/` — every agent-callable operation (imports, source
|
|
217
|
+
management, pilot reports, distillation, proposal review, cited search,
|
|
218
|
+
navigation/context). Add a new file with `defineAction` to expose a new
|
|
219
|
+
capability.
|
|
220
|
+
- `templates/brain/.agents/skills/` — Brain-specific guidance for distillation
|
|
221
|
+
and retrieval. Update or add a skill when you teach the agent a new workflow.
|
|
222
|
+
- `templates/brain/AGENTS.md` — top-level agent guide. Update when you add major
|
|
223
|
+
features.
|
|
224
|
+
- `templates/brain/server/db/schema.ts` — data model. Additive migrations only;
|
|
225
|
+
route, filters, and selected IDs mirror into `application_state` for agent
|
|
226
|
+
context.
|
|
237
227
|
|
|
238
228
|
Ask the agent to make changes for you — it can edit its own source. See
|
|
239
229
|
[Self-Modifying Code](/docs/key-concepts#agent-modifies-code).
|
|
240
230
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
[
|
|
244
|
-
[
|
|
231
|
+
## What's next
|
|
232
|
+
|
|
233
|
+
- [**Dispatch**](/docs/dispatch) — the workspace control plane
|
|
234
|
+
- [**Dispatch template**](/docs/template-dispatch) — the scaffolded coordination app
|
|
235
|
+
- [**Workspace**](/docs/workspace) — shared resources across apps
|
|
236
|
+
- [**A2A Protocol**](/docs/a2a-protocol) — cross-app delegation
|
|
@@ -12,12 +12,12 @@ If you want the smallest action-only runtime with no browser UI, start with [Pur
|
|
|
12
12
|
<!-- screenshot:
|
|
13
13
|
app: chat
|
|
14
14
|
view: /
|
|
15
|
-
shows: Full-page chat app with standard left sidebar,
|
|
15
|
+
shows: Full-page chat app with standard left sidebar, centered empty-state composer, model controls, and no domain data
|
|
16
16
|
account: screenshot-account (no domain data needed — chat ships with no seed schema)
|
|
17
|
-
capture:
|
|
17
|
+
capture: 2434x1440 app screenshot
|
|
18
18
|
-->
|
|
19
19
|
|
|
20
|
-

|
|
21
21
|
|
|
22
22
|
## What's in it {#whats-in-it}
|
|
23
23
|
|
|
@@ -60,7 +60,35 @@ Or start with no UI and add a chat surface later:
|
|
|
60
60
|
npx @agent-native/core@latest create my-agent --headless
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
From there, copy the Chat template's `/` route and sidebar thread list into your app, or scaffold a Chat app and move your headless
|
|
63
|
+
From there, copy the Chat template's `/` route and sidebar thread list into your app, or scaffold a Chat app and move the actions from your headless agent into its `actions/` directory. The key invariant stays the same: actions are the shared surface for chat, UI, HTTP, MCP, A2A, and CLI.
|
|
64
|
+
|
|
65
|
+
## First code to inspect {#first-code}
|
|
66
|
+
|
|
67
|
+
- `actions/hello.ts` is the starter behavior the agent can call. Replace it or
|
|
68
|
+
add actions beside it.
|
|
69
|
+
- `app/routes/_index.tsx` renders the full-page chat surface. Adjust the
|
|
70
|
+
suggestions, empty state, composer, or surrounding layout here.
|
|
71
|
+
- `AGENTS.md` tells the built-in agent how to work inside this app.
|
|
72
|
+
|
|
73
|
+
The chat page is intentionally thin:
|
|
74
|
+
|
|
75
|
+
```tsx
|
|
76
|
+
// app/routes/_index.tsx
|
|
77
|
+
import { AgentChatSurface } from "@agent-native/core/client";
|
|
78
|
+
|
|
79
|
+
export default function ChatRoute() {
|
|
80
|
+
return (
|
|
81
|
+
<AgentChatSurface
|
|
82
|
+
mode="page"
|
|
83
|
+
suggestions={[
|
|
84
|
+
"What can you do?",
|
|
85
|
+
"Help me customize this chat app",
|
|
86
|
+
"Show me the actions and pages I can add",
|
|
87
|
+
]}
|
|
88
|
+
/>
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
```
|
|
64
92
|
|
|
65
93
|
## Use your own agent backend {#own-agent-backend}
|
|
66
94
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Clips"
|
|
3
|
-
description: "Async screen recording, calendar-synced meeting notes, and push-to-talk voice dictation —
|
|
3
|
+
description: "Async screen recording, calendar-synced meeting notes, and push-to-talk voice dictation — paste Clips links into agents and they can read transcripts, visuals, and summaries."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Clips
|
|
@@ -17,7 +17,7 @@ A capture-everything app: screen recordings, meeting notes from your calendar, a
|
|
|
17
17
|
|
|
18
18
|

|
|
19
19
|
|
|
20
|
-
Think along the lines of Loom + Granola + Wispr Flow rolled into one app — but the agent is a first-class editor across every surface, and the recordings, meetings, and dictations are yours, not a SaaS vendor's.
|
|
20
|
+
Think along the lines of Loom + Granola + Wispr Flow rolled into one app — but the agent is a first-class editor across every surface, and the recordings, meetings, and dictations are yours, not a SaaS vendor's. Clips also makes shared recordings agent-readable: paste a normal Clips share link into an agent, and it can "hear" the transcript and "see" timestamped frames even when the underlying model cannot ingest raw video or audio.
|
|
21
21
|
|
|
22
22
|
## What you can do with it
|
|
23
23
|
|
|
@@ -27,9 +27,28 @@ Think along the lines of Loom + Granola + Wispr Flow rolled into one app — but
|
|
|
27
27
|
- **Get an auto-generated title, summary, and chapter markers** for every recording — the agent fills them in and keeps them current.
|
|
28
28
|
- **Search across every transcript** — screen recordings, meetings, and dictations all in one library. "Find the clip where we discussed the rollout plan."
|
|
29
29
|
- **Share clips** with per-clip permissions (public, team, private). Link tracking and threaded comments work too.
|
|
30
|
+
- **Paste Clips links into agents** so they can discover the agent-readable context: metadata, transcript segments, recommended frames, and timestamped frame images without receiving the raw video file.
|
|
30
31
|
- **Smart library views.** Group by project, filter by speaker, auto-tag based on content.
|
|
31
32
|
- **Edit the transcript through chat.** "Fix the mis-transcribed word at 1:42." "Pull three quotes for a blog post." The agent edits the transcript and the UI updates live.
|
|
32
33
|
|
|
34
|
+
## Agent-readable clips
|
|
35
|
+
|
|
36
|
+
Paste a normal public Clips share link into an agent. The share page advertises
|
|
37
|
+
a compact agent context URL, and that context points to the transcript and frame
|
|
38
|
+
APIs, so models that only accept text or still images can still understand what
|
|
39
|
+
happened in the recording.
|
|
40
|
+
|
|
41
|
+
| Endpoint | What agents get |
|
|
42
|
+
| ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
|
43
|
+
| `/api/agent-context.json?id=<recordingId>` | Clip metadata, transcript status, chapters, CTAs, recommended frames, and links to the transcript/frame APIs |
|
|
44
|
+
| `/api/agent-transcript.json?id=<recordingId>` | Timestamped transcript segments with `startMs`, `endMs`, readable timestamps, text, and optional source labels |
|
|
45
|
+
| `/api/agent-frame.jpg?id=<recordingId>&atMs=<ms>` | A JPEG frame extracted from the video at an original-video timestamp |
|
|
46
|
+
|
|
47
|
+
The endpoints follow the same public/password/expiry rules as the share page.
|
|
48
|
+
Password-protected clips require the password once; successful responses return
|
|
49
|
+
short-lived tokenized links so downstream agents do not need the plaintext
|
|
50
|
+
password.
|
|
51
|
+
|
|
33
52
|
## Getting started
|
|
34
53
|
|
|
35
54
|
Live demo: [clips.agent-native.com](https://clips.agent-native.com).
|
|
@@ -43,7 +62,7 @@ Live demo: [clips.agent-native.com](https://clips.agent-native.com).
|
|
|
43
62
|
4. **Search and reuse.** Ask for the clip, quote, action item, or decision you
|
|
44
63
|
need, then share the result with the right visibility.
|
|
45
64
|
|
|
46
|
-
|
|
65
|
+
### Useful prompts
|
|
47
66
|
|
|
48
67
|
- "Summarize this clip for a product update."
|
|
49
68
|
- "Find the meeting where we discussed the rollout plan."
|
|
@@ -55,7 +74,7 @@ Live demo: [clips.agent-native.com](https://clips.agent-native.com).
|
|
|
55
74
|
|
|
56
75
|
The rest of this doc is for anyone forking the Clips template or extending it.
|
|
57
76
|
|
|
58
|
-
###
|
|
77
|
+
### Quick start
|
|
59
78
|
|
|
60
79
|
```bash
|
|
61
80
|
npx @agent-native/core@latest create my-clips --standalone --template clips
|
|
@@ -70,6 +89,18 @@ Clips is a larger template with a native recorder (it ships a desktop companion
|
|
|
70
89
|
2. **Google Calendar (optional).** To sync upcoming meetings, connect a Google Calendar account from Settings. The OAuth callback URL in dev is `http://localhost:8094/_agent-native/google/callback`. Set up a Google OAuth client in [Google Cloud Console](https://console.cloud.google.com/) with the Gmail and Google Calendar APIs enabled.
|
|
71
90
|
3. **Screen-capture permissions.** On macOS, grant Screen Recording permission to the browser (or the desktop companion app) in System Settings → Privacy & Security → Screen Recording.
|
|
72
91
|
|
|
92
|
+
### Key features (technical)
|
|
93
|
+
|
|
94
|
+
**One library, three capture types.** Screen recordings, calendar-sourced meetings, and push-to-talk dictations all live in the same searchable library. Recordings and transcripts are deliberately split into separate tables so the library grid and the transcript view each render fast.
|
|
95
|
+
|
|
96
|
+
**Transcript and AI pipeline.** Each recording gets timestamped transcript segments (`{startMs, endMs, text}`), an auto-generated title, summary, and chapter markers. `cleanup-transcript` and `finalize-meeting` are server-side media-pipeline calls; most other AI features (titles, summaries, quotes) delegate to the agent chat.
|
|
97
|
+
|
|
98
|
+
**Non-destructive editing.** Trim, split, filler-word removal, silence removal, and stitching accumulate in a recording's `edits_json` rather than re-encoding. The client concatenates and exports through ffmpeg.wasm, so the original media stays intact.
|
|
99
|
+
|
|
100
|
+
**Agent-readable share links.** A public Clips share link advertises a compact agent context URL that points at the transcript and frame APIs, so text- and image-only models can understand a recording without ingesting raw video — see [Agent-readable clips](#agent-readable-clips) above.
|
|
101
|
+
|
|
102
|
+
**Meetings compose with recordings.** A meeting owns the recording it captures, but the `recordings` row stays the source of truth for the video and per-segment transcript instead of duplicating media.
|
|
103
|
+
|
|
73
104
|
### Data model
|
|
74
105
|
|
|
75
106
|
All data lives in SQL via Drizzle ORM. Schema: `templates/clips/server/db/schema.ts`. Recordings, meetings, dictations, calendar accounts, and vocabulary all carry the standard `ownableColumns` and have a matching framework shares table, so they slot into the per-user / per-org sharing model.
|
|
@@ -7,10 +7,17 @@ description: "An agent-native HTML prototyping studio — generate, refine, prev
|
|
|
7
7
|
|
|
8
8
|
Design is an agent-native HTML prototyping studio. Instead of a layered drawing canvas, the agent generates complete self-contained Alpine/Tailwind HTML prototypes, renders them in an iframe, and lets you refine the result with prompts and tweak controls.
|
|
9
9
|
|
|
10
|
-
Use it when you want a polished landing page concept, product UI direction, brand exploration, or interactive prototype that can leave the tool as real HTML.
|
|
11
|
-
|
|
12
10
|

|
|
13
11
|
|
|
12
|
+
When you open the app, you see your designs on the left, the generated prototype rendered in an iframe in the middle, and the agent plus tweak controls on the right. Everything the agent produces is real HTML you can refine, export, or hand off.
|
|
13
|
+
|
|
14
|
+
## When to pick it
|
|
15
|
+
|
|
16
|
+
- **You want a polished landing-page concept, product UI direction, or brand exploration** that can leave the tool as real HTML — not a layered drawing canvas.
|
|
17
|
+
- **You want a working interactive prototype**, with Alpine interactions and Tailwind styling, instead of static mockups.
|
|
18
|
+
- **You want to compare directions fast**, generate a few variants, pick the strongest, and keep refining.
|
|
19
|
+
- **You want design output you own** — export HTML, ZIP, or PDF, or hand the prototype to a coding tool.
|
|
20
|
+
|
|
14
21
|
## What you can do with it
|
|
15
22
|
|
|
16
23
|
- **Generate complete prototypes.** Describe the screen or page you need and the agent creates a working HTML document with Tailwind styling and Alpine interactions.
|
|
@@ -45,10 +52,13 @@ Live demo: [design.agent-native.com](https://design.agent-native.com).
|
|
|
45
52
|
|
|
46
53
|
The rest of this doc is for anyone forking the Design template or extending it.
|
|
47
54
|
|
|
48
|
-
###
|
|
55
|
+
### Quick start
|
|
49
56
|
|
|
50
57
|
```bash
|
|
51
58
|
npx @agent-native/core@latest create my-design --standalone --template design
|
|
59
|
+
cd my-design
|
|
60
|
+
pnpm install
|
|
61
|
+
pnpm dev
|
|
52
62
|
```
|
|
53
63
|
|
|
54
64
|
### Data model
|
|
@@ -78,6 +88,12 @@ Every agent-callable operation is a TypeScript file in `templates/design/actions
|
|
|
78
88
|
- **Export & handoff** — `export-html`, `export-pdf`, `export-svg`, `export-zip`, and `export-coding-handoff` to turn a design into a coding-tool handoff.
|
|
79
89
|
- **Context & navigation** — `view-screen` (current design, open file, view, pending question or variant grid), `get-design-snapshot` (current state for an external agent to continue from), and `navigate`.
|
|
80
90
|
|
|
91
|
+
### Working with the agent
|
|
92
|
+
|
|
93
|
+
The agent always knows what you have open. The current design, the open file, the active view, and any pending question or variant grid are returned by `view-screen` and injected into every message, so you can say "make this denser" or "export this variant" without naming the design.
|
|
94
|
+
|
|
95
|
+
Because a design is just standalone HTML/JSX files, the agent edits the same source the iframe renders and every export comes from — there is no separate "AI mockup" format to translate. A linked design system supplies tokens and `custom_instructions` the agent honors on every generation pass. Select text or a region in the preview and hit Cmd+I to focus the agent on exactly that part.
|
|
96
|
+
|
|
81
97
|
### Customizing it
|
|
82
98
|
|
|
83
99
|
Design is a complete, cloneable template. Some practical extension ideas:
|
|
@@ -127,8 +127,17 @@ npx @agent-native/core@latest create my-platform
|
|
|
127
127
|
# pick "Dispatch" in the multi-select picker, plus whichever domain apps you want
|
|
128
128
|
```
|
|
129
129
|
|
|
130
|
+
If you prefer to name the template directly instead of using the picker:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
npx @agent-native/core@latest create my-platform --template dispatch
|
|
134
|
+
# add more apps in the same workspace as you go
|
|
135
|
+
```
|
|
136
|
+
|
|
130
137
|
Dispatch is usually scaffolded into a workspace alongside the apps it coordinates. For a workspace, Dispatch's shared auth, database, and brand are inherited from the workspace core — see [Multi-App Workspace](/docs/multi-app-workspace).
|
|
131
138
|
|
|
139
|
+
There is no meaningful `--standalone` Dispatch: a control plane with nothing to coordinate is just an empty inbox. Scaffold it into a workspace with at least one domain app so it has agents to route to over A2A. (The flag still works and produces a runnable app, but the orchestrator has no specialists to delegate to until you add sibling apps.)
|
|
140
|
+
|
|
132
141
|
## First local run {#first-local-run}
|
|
133
142
|
|
|
134
143
|
From the workspace root:
|
|
@@ -41,7 +41,7 @@ Live demo: [forms.agent-native.com](https://forms.agent-native.com).
|
|
|
41
41
|
4. **Connect destinations.** Route new submissions to Slack, Discord, Google
|
|
42
42
|
Sheets, webhooks, or your own extension point.
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
### Useful prompts
|
|
45
45
|
|
|
46
46
|
- "Create a beta signup form with role, team size, and priority use case."
|
|
47
47
|
- "Add a required NPS question and a free-text follow-up."
|
|
@@ -51,10 +51,15 @@ Live demo: [forms.agent-native.com](https://forms.agent-native.com).
|
|
|
51
51
|
|
|
52
52
|
## For developers
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
The rest of this doc is for anyone forking the Forms template or extending it.
|
|
55
|
+
|
|
56
|
+
### Quick start
|
|
55
57
|
|
|
56
58
|
```bash
|
|
57
59
|
npx @agent-native/core@latest create my-forms --standalone --template forms
|
|
60
|
+
cd my-forms
|
|
61
|
+
pnpm install
|
|
62
|
+
pnpm dev
|
|
58
63
|
```
|
|
59
64
|
|
|
60
65
|
For a workspace with Forms alongside other apps:
|
|
@@ -65,6 +70,14 @@ npx @agent-native/core@latest create my-platform
|
|
|
65
70
|
|
|
66
71
|
Pick Forms and any other templates you want during the workspace setup.
|
|
67
72
|
|
|
73
|
+
### Key features (technical) {#key-features}
|
|
74
|
+
|
|
75
|
+
Forms are defined as JSON field arrays (`FormField[]`) and stored in a single `fields` column — no separate table per field type. This makes the schema additive and the agent's edits surgical: changing a field label is a JSON-patch on one column, not a row update across a join table. All field types (text, email, number, long text, select, multi-select, checkbox, radio, date, rating, scale) are handled by the renderer and editor without schema changes.
|
|
76
|
+
|
|
77
|
+
The public fill page is fully unauthenticated. `toPublicFormSettings` strips integration URLs and other owner-private settings before the form data reaches the browser, so secrets never leak to respondents.
|
|
78
|
+
|
|
79
|
+
Integrations (Slack, Discord, Google Sheets, webhooks) are stored as settings inside the form's `settings` JSON column and executed server-side at submission time.
|
|
80
|
+
|
|
68
81
|
### Data model
|
|
69
82
|
|
|
70
83
|
All data lives in SQL via Drizzle ORM. Schema: `templates/forms/server/db/schema.ts`. Forms carry the standard `ownableColumns` and a matching framework shares table, so they slot into the per-user / per-org sharing model.
|
|
@@ -77,14 +90,6 @@ All data lives in SQL via Drizzle ORM. Schema: `templates/forms/server/db/schema
|
|
|
77
90
|
|
|
78
91
|
The `fields` and `settings` JSON shapes are defined in `templates/forms/shared/types.ts` (`FormField`, `FormSettings`). Owner-private settings such as integration webhook URLs and allowed origins are stripped before any data reaches the public fill page via `toPublicFormSettings`.
|
|
79
92
|
|
|
80
|
-
### Key features (technical) {#key-features}
|
|
81
|
-
|
|
82
|
-
Forms are defined as JSON field arrays (`FormField[]`) and stored in a single `fields` column — no separate table per field type. This makes the schema additive and the agent's edits surgical: changing a field label is a JSON-patch on one column, not a row update across a join table. All field types (text, email, number, long text, select, multi-select, checkbox, radio, date, rating, scale) are handled by the renderer and editor without schema changes.
|
|
83
|
-
|
|
84
|
-
The public fill page is fully unauthenticated. `toPublicFormSettings` strips integration URLs and other owner-private settings before the form data reaches the browser, so secrets never leak to respondents.
|
|
85
|
-
|
|
86
|
-
Integrations (Slack, Discord, Google Sheets, webhooks) are stored as settings inside the form's `settings` JSON column and executed server-side at submission time.
|
|
87
|
-
|
|
88
93
|
### Key actions
|
|
89
94
|
|
|
90
95
|
Every operation is a TypeScript file in `templates/forms/actions/`, auto-mounted at `POST /_agent-native/actions/:name`:
|
|
@@ -5,6 +5,13 @@ description: "Agent-Native Plans turns your coding agent's plan into a structure
|
|
|
5
5
|
|
|
6
6
|
# Visual Plans
|
|
7
7
|
|
|
8
|
+
> **Most people install Plan as a skill, not a scaffolded app.** One CLI command
|
|
9
|
+
> adds the `/visual-plan` and `/visual-recap` skills plus the hosted Plan
|
|
10
|
+
> connector to your coding agent — see [Plan plugin & marketplace](/docs/plan-plugin)
|
|
11
|
+
> for the plugin and marketplace routes. Forking the Plan template (covered under
|
|
12
|
+
> [For developers](#for-developers)) is the secondary path, for self-hosting or
|
|
13
|
+
> building on Plan itself.
|
|
14
|
+
|
|
8
15
|
Agent-Native Plans is visual plan mode for coding agents. It turns an ordinary
|
|
9
16
|
Codex, Claude Code, Markdown, or pasted implementation plan into a structured
|
|
10
17
|
review surface with rich text, diagrams, wireframes, annotated code walkthroughs
|