@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.
Files changed (110) hide show
  1. package/dist/cli/code-agent-executor.js +1 -1
  2. package/dist/cli/code-agent-executor.js.map +1 -1
  3. package/dist/cli/create.js +1 -1
  4. package/dist/cli/create.js.map +1 -1
  5. package/dist/client/NewWorkspaceAppFlow.js +1 -1
  6. package/dist/client/NewWorkspaceAppFlow.js.map +1 -1
  7. package/dist/client/chat/index.d.ts +2 -1
  8. package/dist/client/chat/index.d.ts.map +1 -1
  9. package/dist/client/chat/index.js +2 -1
  10. package/dist/client/chat/index.js.map +1 -1
  11. package/dist/client/chat-view-transition.d.ts +17 -0
  12. package/dist/client/chat-view-transition.d.ts.map +1 -1
  13. package/dist/client/chat-view-transition.js +46 -0
  14. package/dist/client/chat-view-transition.js.map +1 -1
  15. package/dist/client/index.d.ts +2 -1
  16. package/dist/client/index.d.ts.map +1 -1
  17. package/dist/client/index.js +2 -1
  18. package/dist/client/index.js.map +1 -1
  19. package/dist/client/use-agent-chat-home-handoff.d.ts +27 -0
  20. package/dist/client/use-agent-chat-home-handoff.d.ts.map +1 -0
  21. package/dist/client/use-agent-chat-home-handoff.js +120 -0
  22. package/dist/client/use-agent-chat-home-handoff.js.map +1 -0
  23. package/dist/index.d.ts +1 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +20 -2
  26. package/dist/index.js.map +1 -1
  27. package/dist/styles/agent-native.css +2 -6
  28. package/dist/templates/default/.agents/skills/delegate-to-agent/SKILL.md +3 -3
  29. package/dist/templates/default/.agents/skills/real-time-sync/SKILL.md +1 -1
  30. package/dist/templates/default/DEVELOPING.md +1 -1
  31. package/dist/templates/default/app/lib/utils.ts +1 -1
  32. package/dist/templates/default/app/root.tsx +1 -1
  33. package/dist/templates/headless/actions/hello.ts +1 -1
  34. package/dist/templates/workspace-core/.agents/skills/delegate-to-agent/SKILL.md +3 -3
  35. package/dist/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +1 -1
  36. package/dist/templates/workspace-root/README.md +4 -4
  37. package/docs/content/actions.md +32 -42
  38. package/docs/content/agent-surfaces.md +105 -84
  39. package/docs/content/agent-teams.md +2 -14
  40. package/docs/content/agent-web-surfaces.md +4 -4
  41. package/docs/content/authentication.md +40 -24
  42. package/docs/content/automations.md +18 -36
  43. package/docs/content/blueprint-installer.md +3 -0
  44. package/docs/content/cli-adapters.md +24 -168
  45. package/docs/content/client.md +11 -77
  46. package/docs/content/cloneable-saas.md +1 -1
  47. package/docs/content/code-agents-ui.md +43 -0
  48. package/docs/content/components.md +10 -23
  49. package/docs/content/context-awareness.md +3 -3
  50. package/docs/content/creating-templates.md +20 -18
  51. package/docs/content/database.md +1 -1
  52. package/docs/content/deployment.md +5 -37
  53. package/docs/content/dispatch.md +17 -28
  54. package/docs/content/drop-in-agent.md +24 -111
  55. package/docs/content/durable-resume.md +4 -0
  56. package/docs/content/embedding-sdk.md +141 -135
  57. package/docs/content/evals.md +3 -3
  58. package/docs/content/extensions.md +1 -1
  59. package/docs/content/external-agents.md +34 -60
  60. package/docs/content/faq.md +5 -5
  61. package/docs/content/frames.md +13 -4
  62. package/docs/content/getting-started.md +96 -142
  63. package/docs/content/harness-agents.md +24 -7
  64. package/docs/content/human-approval.md +1 -1
  65. package/docs/content/key-concepts.md +14 -99
  66. package/docs/content/local-file-mode.md +2 -2
  67. package/docs/content/mcp-apps.md +9 -2
  68. package/docs/content/mcp-clients.md +8 -3
  69. package/docs/content/mcp-protocol.md +11 -29
  70. package/docs/content/messaging.md +1 -1
  71. package/docs/content/migration-workbench.md +14 -175
  72. package/docs/content/multi-app-workspace.md +1 -1
  73. package/docs/content/multi-tenancy.md +18 -47
  74. package/docs/content/native-chat-ui.md +15 -12
  75. package/docs/content/observability.md +16 -4
  76. package/docs/content/observational-memory.md +1 -1
  77. package/docs/content/pure-agent-apps.md +17 -124
  78. package/docs/content/real-time-collaboration.md +14 -14
  79. package/docs/content/routing.md +71 -0
  80. package/docs/content/sandbox-adapters.md +78 -4
  81. package/docs/content/security.md +59 -39
  82. package/docs/content/server.md +16 -8
  83. package/docs/content/sharing.md +1 -6
  84. package/docs/content/skills-guide.md +3 -1
  85. package/docs/content/template-analytics.md +1 -1
  86. package/docs/content/template-assets.md +12 -3
  87. package/docs/content/template-brain.md +64 -72
  88. package/docs/content/template-chat.md +32 -4
  89. package/docs/content/template-clips.md +35 -4
  90. package/docs/content/template-design.md +19 -3
  91. package/docs/content/template-dispatch.md +9 -0
  92. package/docs/content/template-forms.md +15 -10
  93. package/docs/content/template-plan.md +7 -0
  94. package/docs/content/template-slides.md +14 -14
  95. package/docs/content/template-videos.md +10 -12
  96. package/docs/content/tracking.md +66 -55
  97. package/docs/content/using-your-agent.md +6 -16
  98. package/docs/content/what-is-agent-native.md +5 -11
  99. package/docs/content/workspace-management.md +2 -2
  100. package/docs/content/workspace.md +20 -160
  101. package/package.json +1 -1
  102. package/src/templates/default/.agents/skills/delegate-to-agent/SKILL.md +3 -3
  103. package/src/templates/default/.agents/skills/real-time-sync/SKILL.md +1 -1
  104. package/src/templates/default/DEVELOPING.md +1 -1
  105. package/src/templates/default/app/lib/utils.ts +1 -1
  106. package/src/templates/default/app/root.tsx +1 -1
  107. package/src/templates/headless/actions/hello.ts +1 -1
  108. package/src/templates/workspace-core/.agents/skills/delegate-to-agent/SKILL.md +3 -3
  109. package/src/templates/workspace-core/.agents/skills/real-time-sync/SKILL.md +1 -1
  110. package/src/templates/workspace-root/README.md +4 -4
@@ -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
- ## Programmatic H3 Servers {#create-server}
192
+ ## Advanced: Escape Hatches {#advanced-escape-hatches}
193
193
 
194
- For custom packages or tests that need an H3 app directly, `createServer()` returns a preconfigured app and router:
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
- Most templates do not need this helper because Nitro file routes and framework plugins handle the app server.
216
+ ### Production agent handler {#agent-handler}
209
217
 
210
- ## Production Agent Handler {#agent-handler}
211
-
212
- The framework's agent chat plugin mounts the production agent handler for templates. Only call `createProductionAgentHandler()` directly when building a custom server integration outside the standard template plugin stack.
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.
@@ -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. The two non-negotiable rules:
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 ship with the default template and are available in every new agent-native app:
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 [adding-a-feature skill](/docs/skills-guide) and [actions](/docs/actions).
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
  ![Assets library for brand media and generated output](https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F769092170a14474f998cbca47384f891?format=webp&width=1200)
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. The SQL table names keep the legacy `image_*` prefix from when the app was called Images.
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
  ![Brain company chat with cited memory sources](https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F9c9fe3b5b9494e33803cd3f494cba356?format=webp&width=1200)
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 section is for anyone forking or extending the Brain template.
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
- ### Customizing it
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
- ## Brain vs Dispatch
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
- ## Customizing it
227
-
228
- The template follows the agent-native four-area contract:
209
+ ### Customizing it
229
210
 
230
- - **UI:** Ask, Search, Knowledge, Review, Sources, and Settings routes.
231
- - **Actions:** imports, source management, pilot reports, distillation, proposal
232
- review, cited search, and navigation/context actions.
233
- - **Skills/instructions:** Brain-specific guidance for distillation and
234
- retrieval in `templates/brain/.agents/skills/`.
235
- - **Application state:** route, filters, and selected IDs mirror into
236
- `application_state` for agent context.
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
- See [Dispatch](/docs/dispatch) for the workspace control plane, the
242
- [Dispatch template](/docs/template-dispatch) for the scaffolded app,
243
- [Workspace](/docs/workspace) for shared resources, and
244
- [A2A Protocol](/docs/a2a-protocol) for cross-app delegation.
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, chat threads on the left, centered composer, suggested prompts, and no domain data
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: 1400x800 viewport, cropped 90px from bottom (final 1400x710)
17
+ capture: 2434x1440 app screenshot
18
18
  -->
19
19
 
20
- ![Chat template with a full-page agent chat surface and thread sidebar](/screenshots/chat.png)
20
+ ![Chat template with a centered agent composer and app navigation sidebar](/screenshots/chat.png)
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 actions into its `actions/` directory. The key invariant stays the same: actions are the shared surface for chat, UI, HTTP, MCP, A2A, and CLI.
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 — all transcribed, summarized, and searchable in one app you own."
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
  ![Clips library with recordings, folders, and spaces](/screenshots/clips.png)
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
- ## Useful Prompts
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
- ### Scaffolding
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
  ![Design studio showing generated HTML prototypes and tweak controls](https://cdn.builder.io/api/v1/image/assets%2F348da13fcd8b414c87de9066196f7266%2F961bedb713a94463b834c1f2f4643bcf?format=webp&width=1200)
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
- ### Scaffolding
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
- ## Useful prompts
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
- ### Scaffolding
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