Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
7b805ed
feat: concurrent-agent sweep — docs, migrate CLI, engine registry, wo…
steve8708 May 15, 2026
9fea8ba
feat(dispatch): add list-workspace-resources-for-app action + store h…
steve8708 May 15, 2026
32094b6
fix(macros): align zod to ^4.4.3 for @hookform/resolvers v5 type comp…
steve8708 May 15, 2026
229a844
feat(cli): add interactive 'code' shell mode + code-agents hub update…
steve8708 May 15, 2026
8bc6f85
feat: sweep concurrent-agent work — migrate CLI, workspace resources,…
steve8708 May 15, 2026
e49d25c
style(brain): prettier-format run-slack-pilot + connectors (CI fmt:ch…
steve8708 May 15, 2026
4498b56
fix(macros): cast zodResolver schema arg to bypass cross-version zod …
steve8708 May 15, 2026
ffed126
feat: concurrent-agent sweep — code-agent runs/session store, resourc…
steve8708 May 15, 2026
12f3a8a
fix(test): resolve tsx CLI from pnpm store in runner.spec so it works…
steve8708 May 15, 2026
daebf8e
feat: sweep concurrent work — code-agent executor, host-bridge IPC, e…
steve8708 May 15, 2026
85eb9f5
style(cli): prettier-format code-agent-runs.ts (CI fmt:check fix)
steve8708 May 15, 2026
13418c8
feat: sweep concurrent work — brain search/ingest jobs, dispatch drea…
steve8708 May 15, 2026
2b7f405
feat: sweep concurrent work — code-agent executor/hub, dispatch resou…
steve8708 May 15, 2026
a42a5be
feat: sync code-agent task-session spec/impl + add workspace connecti…
steve8708 May 15, 2026
3a46216
style: prettier-format migration-workbench.md + desktop select.tsx (C…
steve8708 May 15, 2026
9b288e8
feat: sweep concurrent work — migrate CLI dossiers, workspace-connect…
steve8708 May 15, 2026
91eb1d8
fix(scheduling): pin @libsql/client peer to dedupe drizzle-orm; sweep…
steve8708 May 15, 2026
de52525
fix: dedupe @libsql/client to resolve macros template dual-drizzle ty…
steve8708 May 15, 2026
69b38cb
style(desktop): prettier-format main/index.ts (CI fmt:check fix)
steve8708 May 15, 2026
c129cfa
feat: sweep concurrent work — code-agents-ui, Tiptap composer, worksp…
steve8708 May 15, 2026
6646695
feat: sweep concurrent work — code-agents-ui + code CLI, dispatch int…
steve8708 May 16, 2026
dd1e5fa
feat: sweep concurrent work — remote relay core, code-agents-ui, docs…
steve8708 May 16, 2026
36847f1
feat(core): explicit shared composer layout variants + toolbar slot h…
steve8708 May 16, 2026
0a0ba83
feat(core): expose public-agent action metadata via agent-chat-plugin
steve8708 May 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .agents/skills/qa/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@ Autonomous QA testing that spins up template apps, tests them with Playwright in
/qa --focus "test form submission and compose" # prioritize specific flows
```

## Browser MCP Readiness

QA can use the framework's built-in browser MCP capabilities instead of a hand-written `mcp.config.json`. The built-ins are off by default and are toggled through `/_agent-native/mcp/builtin`.

- Prefer `browser-playwright` for automated QA sweeps: it runs `npx -y @playwright/mcp@0.0.75`.
- Use `browser-chrome-devtools` only when the test specifically needs to attach to a live Chrome session. It runs `npx -y chrome-devtools-mcp@0.26.0 --autoConnect --no-usage-statistics` and requires Chrome 144+ with remote debugging enabled. Do not assume it signs into the user's Chrome profile.
- Browser built-ins are exclusive per scope: enabling Chrome disables Playwright and enabling Playwright disables Chrome.
- `computer-use` runs `npx -y computer-use-mcp@1.8.0` and is macOS-only.

**Args:**

- `--apps` — comma-separated app names (default: `mail,calendar,content,forms`)
Expand Down
5 changes: 5 additions & 0 deletions .changeset/app-model-defaults.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Add org-scoped per-app default model settings for agent chat.
5 changes: 5 additions & 0 deletions .changeset/brain-headless-distillation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Expose server-side agent loop helpers for template background workers.
5 changes: 5 additions & 0 deletions .changeset/brain-template-catalog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Register the Brain template in the public catalog and docs.
5 changes: 5 additions & 0 deletions .changeset/builtin-mcp-capabilities.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Add scoped built-in MCP capability toggles for browser and computer-use servers.
5 changes: 5 additions & 0 deletions .changeset/calm-host-bridges.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": minor
---

Add host bridge, React iframe helpers, screen context snapshots, typed live client actions, session metadata, approval gates, and host tool adapters for embedding Agent-Native sidecars in existing SaaS apps.
5 changes: 5 additions & 0 deletions .changeset/clever-code-steering.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Record active Agent-Native Code follow-ups as steering or queued prompts.
5 changes: 5 additions & 0 deletions .changeset/code-agents-auto-mode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Default Agent-Native Code sessions to auto mode and add plan/auto CLI aliases.
5 changes: 5 additions & 0 deletions .changeset/code-agents-session-store.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": minor
---

Document the next Agent-Native Code follow-up features: session picker/run controls, permission modes, project slash commands, and migration as a Code workspace slash command instead of a template.
5 changes: 5 additions & 0 deletions .changeset/code-agents-ui-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": minor
---

Expose local Agent-Native Code run helpers and document the reusable Code UI/template flow.
6 changes: 6 additions & 0 deletions .changeset/dispatch-dream-settings-cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@agent-native/core": patch
"@agent-native/dispatch": patch
---

Expose package-provided actions through template action runners and add a full Dispatch Dreams settings editor.
5 changes: 5 additions & 0 deletions .changeset/dispatch-dreams.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/dispatch": minor
---

Add Dispatch dreaming backend tables, actions, proposals, and safe recurring dream job setup.
5 changes: 5 additions & 0 deletions .changeset/dispatch-ui-subpaths.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/dispatch": patch
---

Expose Dispatch shadcn UI primitives for workspace-owned Dispatch template routes.
5 changes: 5 additions & 0 deletions .changeset/embedded-agent-native-runtime.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": minor
---

Add a batteries-included embedded Agent-Native runtime with host-auth server mounting, a React embedded sidebar/surface, and direct browser-session context/action registration.
5 changes: 5 additions & 0 deletions .changeset/explicit-composer-layout.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Add explicit shared composer layout variants and toolbar slot hooks.
5 changes: 5 additions & 0 deletions .changeset/first-class-code-packs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Expose Agent-Native Code project commands and skills as structured code-pack metadata.
5 changes: 5 additions & 0 deletions .changeset/fresh-core-local-pack.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Build the core package before packing local file dependencies so generated framework workspaces install a fresh dist snapshot.
6 changes: 6 additions & 0 deletions .changeset/fresh-dispatch-local-pack.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@agent-native/core": patch
"@agent-native/dispatch": patch
---

Link the local Dispatch package during framework-development workspace creation and build Dispatch before local packing.
6 changes: 6 additions & 0 deletions .changeset/global-workspace-resources.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@agent-native/core": patch
"@agent-native/dispatch": patch
---

Inherit Dispatch-managed workspace instructions, skills, and reference resources at runtime; seed and restore starter company, brand, messaging, guardrail, and voice resources; show and inspect each app's effective workspace context stack; gate All-app resource edits through Dispatch approvals when enabled; preview global impact and overrides before save; and expose read-only inherited workspace resources in app panels.
5 changes: 5 additions & 0 deletions .changeset/live-browser-session-bridge.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": minor
---

Add a SQL-backed browser-session bridge so embedded sidecars can register live host tabs, let backend agent tools inspect page context, run client actions, and send host refresh/navigation/remount commands.
5 changes: 5 additions & 0 deletions .changeset/migrate-dist-types.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/migrate": patch
---

Publish generated declaration files instead of TypeScript source entries.
5 changes: 5 additions & 0 deletions .changeset/migrate-slash-command-ux.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Improve `/migrate` CLI handoff output with clearer Agent-Native Code resume commands and artifact guidance.
6 changes: 6 additions & 0 deletions .changeset/migration-cli-dossiers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@agent-native/core": patch
"@agent-native/migrate": patch
---

Add the generic Agent-Native Code `/migrate` CLI entrypoint, any-input migration seeding, and own-agent dossier emit output for code-agent handoff.
5 changes: 5 additions & 0 deletions .changeset/page-chat-surface.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Export a reusable full-page agent chat surface backed by AgentPanel internals.
5 changes: 5 additions & 0 deletions .changeset/portable-extension-slots.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": minor
---

Add portable extension iframe and slot primitives for embedding SDK hosts, including manifest-gated permissions and storage adapters.
5 changes: 5 additions & 0 deletions .changeset/public-agent-actions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Expose safe public-agent read-only actions in the unauthenticated agent surface.
5 changes: 5 additions & 0 deletions .changeset/quiet-brain-connections.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Expose shared workspace connection app-access semantics for reusable integrations.
5 changes: 5 additions & 0 deletions .changeset/remote-relay-core.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Add SQL-backed remote integration relay device, command, run-event, management, and push-registration endpoints.
6 changes: 6 additions & 0 deletions .changeset/remove-workspace-resource-sync-actions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@agent-native/dispatch": patch
"@agent-native/core": patch
---

Remove legacy workspace-resource sync actions and clarify runtime inheritance docs.
5 changes: 5 additions & 0 deletions .changeset/runtime-context-contract.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Add runtime inheritance contract coverage for workspace resources.
6 changes: 6 additions & 0 deletions .changeset/scheduling-libsql-peer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@agent-native/dispatch": patch
"@agent-native/scheduling": patch
---

Align local Drizzle peer resolution with the framework's libsql driver version.
5 changes: 5 additions & 0 deletions .changeset/secure-mcp-test-route.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Require authentication before dry-running arbitrary MCP server URLs.
5 changes: 5 additions & 0 deletions .changeset/shared-workspace-readiness.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Add shared workspace connection app-grant and provider-readiness helpers for reusable integrations.
6 changes: 6 additions & 0 deletions .changeset/telegram-code-routing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@agent-native/dispatch": patch
"@agent-native/core": patch
---

Route Telegram `/code` commands from Dispatch to the remote code-agent relay.
5 changes: 5 additions & 0 deletions .changeset/workspace-connection-catalog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Add a typed workspace connection provider catalog for reusable integration metadata.
5 changes: 5 additions & 0 deletions .changeset/workspace-connection-grants.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Add scoped workspace connection grant storage and helpers for connect-once, grant-to-app integrations.
5 changes: 5 additions & 0 deletions .changeset/workspace-connections-foundation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@agent-native/core": patch
---

Add scoped workspace connection metadata storage for connect-once-use-everywhere foundations.
17 changes: 16 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,24 @@ Run `agent-native setup-agents` to create all symlinks (done automatically by `a
- **Always use shadcn/ui components for standard UI** — `app/components/ui/` (templates) or `packages/core/src/client/components/ui/` (framework). Available primitives include `Button`, `Dialog`, `AlertDialog`, `Popover`, `DropdownMenu`, `Tooltip`, `Sheet`, `Tabs`, `Select`, `Collapsible`, `Accordion`, `HoverCard`, `Command`, etc. **Never build a custom dropdown / menu / popover with `position: absolute` + a manual click-outside `useEffect`** — those get clipped by ancestor `overflow-hidden` / stacking contexts (no `z-index` will save them) and lack the keyboard nav, focus trap, and animations users expect. Use `<DropdownMenu>` for action menus (Rename / Delete / "⋯" overflow), `<Popover>` for transient panels (color pickers, share dialogs, filters), `<Dialog>` for modals, `<AlertDialog>` for confirmations. If a needed shadcn primitive is missing in a package, install it via `npx shadcn@latest add <name>` (templates) or copy from another template + add the matching `@radix-ui/react-*` dep (framework packages) — don't roll your own.
- **Tabler Icons** (`@tabler/icons-react`) for all icons. **Never use emojis as icons** — not in buttons, not in avatars, not in labels, not in toasts/notifications, not in outbound messages (Slack, email). No other icon libraries, no inline SVGs. Avoid sparkle and wand icons in first-party UI; they are overused. For chat / agent affordances, use a message-style icon instead. Emojis are fine when they are _user-authored content_ (a document title emoji picker, a reaction the user chose, a user-picked space icon) — the rule is about icons the UI picks, not data the user picks.
- **No browser dialogs** — use shadcn AlertDialog instead of `window.confirm/alert/prompt`.
- **Agent input surfaces use the shared composer.** Every UI that accepts a prompt
for an agent must reuse the framework composer stack:
`AgentComposerFrame`, `PromptComposer`, and `TiptapComposer`. Do not build a
one-off textarea/chatfield, upload picker, voice control, model/mode picker,
slash-command parser, or Enter-to-submit behavior. Host-specific UIs such as
Agent-Native Code may add narrow slots around the shared composer — for
example Auto/Plan controls or cwd/project metadata — but the input field,
attachment pipeline, references, skills, voice dictation, draft behavior, and
keyboard semantics stay shared. Slash commands come from project
`.agents/commands` and `.agents/skills`; do not hardcode a separate command
registry in a prompt surface.
- **Background agents reuse the shared run harness.** Hosted/background agent work
must go through the core `run-manager` / `agent-teams` infrastructure so runs
share SQL persistence, streaming, aborts, heartbeats, resume, and stuck-run
behavior. Do not introduce a second background-agent harness for a new UI.
- **Template UX stays clean, minimal, and intuitive** — this is a high priority across all templates. Treat every important screen as a focused working surface, not a place to accumulate fixes as extra visible controls. When acting on feedback, especially broad prompts like "fix what you agree with," judge each suggestion through visual hierarchy, user intent, and progressive disclosure before changing the UI. Prefer clarifying primary actions, reducing competing elements, tightening layout, and moving secondary or rare actions into menus, sheets, tabs, or advanced sections. Do not solve feedback by adding more buttons, toolbars, badges, panels, helper text, filters, or always-visible options to important screens unless that added surface is genuinely the clearest path for the main workflow. If a fix would make a core screen busier, look for a cleaner interaction model or ask before adding clutter.
- **Progressive disclosure by default** — UIs should reveal complexity gradually, not dump every option on screen at once. Lead with the primary action and most-used info; hide the rest behind reveals. Concrete patterns: shadcn `Collapsible` / `Accordion` for grouped settings, `Popover` for secondary actions (share, filters, color pickers, "more options"), `DropdownMenu` overflow (`⋯`) for tertiary toolbar items, `Sheet` / side drawer for full-detail editing of a row, `HoverCard` or expand-on-click for card details, "Show advanced" toggles for optional form fields, tabs to split a long surface into focused sections. Anti-patterns we keep regressing into: a settings page that dumps 20 fields in one flat column, a form that shows every optional field upfront, a toolbar where every button has equal visual weight, a card that prints every metadata field instead of summary + expandable details, a dialog the size of the screen because the form has 15 fields, an empty state that scaffolds the full UI instead of one clear CTA. Rule of thumb: if a first-time user wouldn't need it in the first 5 seconds, collapse it. When in doubt, default to hiding — it's much cheaper to expose later than to declutter a busy screen.
- **Public template list is a strict allow-list — never widen it without flipping `hidden:false` first.** The single source of truth is `packages/shared-app-config/templates.ts` (entries with `hidden: false`). Today the public allow-list is exactly: **calendar, content, slides, videos, clips, analytics, mail, dispatch, forms, design** — plus `starter` for the CLI only. The featured/default set is narrower: **calendar, content, slides, clips, analytics, mail, dispatch, forms, design** — plus `starter` for the CLI/default-app fallback. Videos is scaffoldable by explicit slug, but it is not featured on the homepage, `/templates`, docs sidebar, CLI picker, or desktop/mobile default tabs. Hidden templates (calls, meeting-notes, voice, scheduling, issues, recruiting, images, macros) MUST NOT appear on the homepage, in the docs sidebar, in docs pages, or in the CLI catalog. Surfaces that hardcode their own list — `packages/docs/app/components/TemplateCard.tsx`, `packages/docs/app/components/docsNavItems.ts`, docs pages `packages/core/docs/content/template-*.md`, and the CLI duplicate `packages/core/src/cli/templates-meta.ts` — must only reference allow-listed slugs. To make a hidden template public: flip `hidden: false` in `packages/shared-app-config/templates.ts` AND `packages/core/src/cli/templates-meta.ts`, then add it to the surfaces above. To hide one: flip `hidden: true` in both files; the guard will then point you at every surface that still mentions it. `scripts/guard-template-list.mjs` (CI + `pnpm prep`) enforces this — adding a slug that isn't in the allow-list will fail the build. _This guard exists because agents kept re-adding the hidden templates (calls, meeting-notes, voice, scheduling, issues, recruiting, images, macros) to the homepage and sidebar during overnight sweeps. Do not disable it._
- **Public template list is a strict allow-list — never widen it without flipping `hidden:false` first.** The single source of truth is `packages/shared-app-config/templates.ts` (entries with `hidden: false`). Today the public allow-list is exactly: **calendar, content, slides, videos, clips, analytics, mail, dispatch, forms, design, brain** — plus `starter` for the CLI only. The featured/default set is narrower: **calendar, content, slides, clips, analytics, mail, dispatch, forms, design, brain** — plus `starter` for the CLI/default-app fallback. Videos is scaffoldable by explicit slug, but it is not featured on the homepage, `/templates`, docs sidebar, CLI picker, or desktop/mobile default tabs. Hidden templates (calls, meeting-notes, voice, scheduling, issues, recruiting, images, macros) MUST NOT appear on the homepage, in the docs sidebar, in docs pages, or in the CLI catalog. Surfaces that hardcode their own list — `packages/docs/app/components/TemplateCard.tsx`, `packages/docs/app/components/docsNavItems.ts`, docs pages `packages/core/docs/content/template-*.md`, and the CLI duplicate `packages/core/src/cli/templates-meta.ts` — must only reference allow-listed slugs. To make a hidden template public: flip `hidden: false` in `packages/shared-app-config/templates.ts` AND `packages/core/src/cli/templates-meta.ts`, then add it to the surfaces above. To hide one: flip `hidden: true` in both files; the guard will then point you at every surface that still mentions it. `scripts/guard-template-list.mjs` (CI + `pnpm prep`) enforces this — adding a slug that isn't in the allow-list will fail the build. _This guard exists because agents kept re-adding the hidden templates (calls, meeting-notes, voice, scheduling, issues, recruiting, images, macros) to the homepage and sidebar during overnight sweeps. Do not disable it._
- **No breaking database changes — ever.** Hosted templates share their prod DB across every deploy context (preview, branch, prod). Any destructive SQL that runs in any build will overwrite live user data. Symptoms we've already hit in production: users losing accounts, dashboards silently emptied, sessions invalidated. Hard rules:
- **Schema edits must be strictly additive.** Add new columns/tables, never rename or drop. If a column is wrong, add the replacement alongside it, dual-write from the application, migrate readers, and only retire the old column once every deploy that reads it is gone. Same for tables.
- **Never rename an existing table or column** in a single step — not via Drizzle, not via raw SQL, not via `drizzle-kit push`. A rename looks like drop+create to the diff tool and wipes the table.
Expand Down
Loading
Loading