@agent-native/core 0.52.0 → 0.54.0
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/README.md +41 -95
- package/blueprints/action/crud.md +98 -0
- package/blueprints/channel/discord.md +74 -0
- package/blueprints/provider/stripe.md +87 -0
- package/blueprints/sandbox/docker.md +78 -0
- package/dist/action.d.ts +64 -1
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js +73 -2
- package/dist/action.js.map +1 -1
- package/dist/agent/index.d.ts +1 -0
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -0
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/observational-memory/compactor.d.ts +43 -0
- package/dist/agent/observational-memory/compactor.d.ts.map +1 -0
- package/dist/agent/observational-memory/compactor.js +50 -0
- package/dist/agent/observational-memory/compactor.js.map +1 -0
- package/dist/agent/observational-memory/config.d.ts +37 -0
- package/dist/agent/observational-memory/config.d.ts.map +1 -0
- package/dist/agent/observational-memory/config.js +48 -0
- package/dist/agent/observational-memory/config.js.map +1 -0
- package/dist/agent/observational-memory/index.d.ts +26 -0
- package/dist/agent/observational-memory/index.d.ts.map +1 -0
- package/dist/agent/observational-memory/index.js +25 -0
- package/dist/agent/observational-memory/index.js.map +1 -0
- package/dist/agent/observational-memory/internal-run.d.ts +37 -0
- package/dist/agent/observational-memory/internal-run.d.ts.map +1 -0
- package/dist/agent/observational-memory/internal-run.js +59 -0
- package/dist/agent/observational-memory/internal-run.js.map +1 -0
- package/dist/agent/observational-memory/message-text.d.ts +13 -0
- package/dist/agent/observational-memory/message-text.d.ts.map +1 -0
- package/dist/agent/observational-memory/message-text.js +46 -0
- package/dist/agent/observational-memory/message-text.js.map +1 -0
- package/dist/agent/observational-memory/migrations.d.ts +13 -0
- package/dist/agent/observational-memory/migrations.d.ts.map +1 -0
- package/dist/agent/observational-memory/migrations.js +43 -0
- package/dist/agent/observational-memory/migrations.js.map +1 -0
- package/dist/agent/observational-memory/observer.d.ts +37 -0
- package/dist/agent/observational-memory/observer.d.ts.map +1 -0
- package/dist/agent/observational-memory/observer.js +82 -0
- package/dist/agent/observational-memory/observer.js.map +1 -0
- package/dist/agent/observational-memory/plugin.d.ts +16 -0
- package/dist/agent/observational-memory/plugin.d.ts.map +1 -0
- package/dist/agent/observational-memory/plugin.js +26 -0
- package/dist/agent/observational-memory/plugin.js.map +1 -0
- package/dist/agent/observational-memory/prompts.d.ts +27 -0
- package/dist/agent/observational-memory/prompts.d.ts.map +1 -0
- package/dist/agent/observational-memory/prompts.js +42 -0
- package/dist/agent/observational-memory/prompts.js.map +1 -0
- package/dist/agent/observational-memory/read.d.ts +45 -0
- package/dist/agent/observational-memory/read.d.ts.map +1 -0
- package/dist/agent/observational-memory/read.js +97 -0
- package/dist/agent/observational-memory/read.js.map +1 -0
- package/dist/agent/observational-memory/reflector.d.ts +31 -0
- package/dist/agent/observational-memory/reflector.d.ts.map +1 -0
- package/dist/agent/observational-memory/reflector.js +76 -0
- package/dist/agent/observational-memory/reflector.js.map +1 -0
- package/dist/agent/observational-memory/schema.d.ts +267 -0
- package/dist/agent/observational-memory/schema.d.ts.map +1 -0
- package/dist/agent/observational-memory/schema.js +48 -0
- package/dist/agent/observational-memory/schema.js.map +1 -0
- package/dist/agent/observational-memory/store.d.ts +52 -0
- package/dist/agent/observational-memory/store.d.ts.map +1 -0
- package/dist/agent/observational-memory/store.js +197 -0
- package/dist/agent/observational-memory/store.js.map +1 -0
- package/dist/agent/observational-memory/types.d.ts +61 -0
- package/dist/agent/observational-memory/types.d.ts.map +1 -0
- package/dist/agent/observational-memory/types.js +9 -0
- package/dist/agent/observational-memory/types.js.map +1 -0
- package/dist/agent/processors.d.ts +146 -0
- package/dist/agent/processors.d.ts.map +1 -0
- package/dist/agent/processors.js +122 -0
- package/dist/agent/processors.js.map +1 -0
- package/dist/agent/production-agent.d.ts +25 -0
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +341 -1
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-loop-with-resume.d.ts.map +1 -1
- package/dist/agent/run-loop-with-resume.js +48 -0
- package/dist/agent/run-loop-with-resume.js.map +1 -1
- package/dist/agent/run-store.d.ts +17 -0
- package/dist/agent/run-store.d.ts.map +1 -1
- package/dist/agent/run-store.js +55 -0
- package/dist/agent/run-store.js.map +1 -1
- package/dist/agent/runtime-context.d.ts +30 -0
- package/dist/agent/runtime-context.d.ts.map +1 -1
- package/dist/agent/runtime-context.js +54 -1
- package/dist/agent/runtime-context.js.map +1 -1
- package/dist/agent/tool-call-journal.d.ts +99 -0
- package/dist/agent/tool-call-journal.d.ts.map +1 -0
- package/dist/agent/tool-call-journal.js +212 -0
- package/dist/agent/tool-call-journal.js.map +1 -0
- package/dist/agent/types.d.ts +35 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/cli/add.d.ts +109 -0
- package/dist/cli/add.d.ts.map +1 -0
- package/dist/cli/add.js +352 -0
- package/dist/cli/add.js.map +1 -0
- package/dist/cli/connect.d.ts +2 -2
- package/dist/cli/connect.d.ts.map +1 -1
- package/dist/cli/connect.js +92 -24
- package/dist/cli/connect.js.map +1 -1
- package/dist/cli/eval.d.ts +17 -0
- package/dist/cli/eval.d.ts.map +1 -0
- package/dist/cli/eval.js +121 -0
- package/dist/cli/eval.js.map +1 -0
- package/dist/cli/index.js +44 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp.d.ts.map +1 -1
- package/dist/cli/mcp.js +11 -5
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli/plan-local.d.ts +66 -5
- package/dist/cli/plan-local.d.ts.map +1 -1
- package/dist/cli/plan-local.js +622 -21
- package/dist/cli/plan-local.js.map +1 -1
- package/dist/cli/skills.d.ts +2 -2
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +108 -62
- package/dist/cli/skills.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +118 -92
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +16 -0
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/chat/tool-call-display.d.ts +20 -1
- package/dist/client/chat/tool-call-display.d.ts.map +1 -1
- package/dist/client/chat/tool-call-display.js +32 -7
- package/dist/client/chat/tool-call-display.js.map +1 -1
- package/dist/client/sse-event-processor.d.ts +13 -0
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +21 -0
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/coding-tools/run-code.d.ts.map +1 -1
- package/dist/coding-tools/run-code.js +18 -2
- package/dist/coding-tools/run-code.js.map +1 -1
- package/dist/db/client.d.ts +4 -2
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +6 -4
- package/dist/db/client.js.map +1 -1
- package/dist/deploy/route-discovery.d.ts.map +1 -1
- package/dist/deploy/route-discovery.js +1 -0
- package/dist/deploy/route-discovery.js.map +1 -1
- package/dist/eval/agent-runner.d.ts +63 -0
- package/dist/eval/agent-runner.d.ts.map +1 -0
- package/dist/eval/agent-runner.js +142 -0
- package/dist/eval/agent-runner.js.map +1 -0
- package/dist/eval/define-eval.d.ts +29 -0
- package/dist/eval/define-eval.d.ts.map +1 -0
- package/dist/eval/define-eval.js +43 -0
- package/dist/eval/define-eval.js.map +1 -0
- package/dist/eval/index.d.ts +18 -0
- package/dist/eval/index.d.ts.map +1 -0
- package/dist/eval/index.js +17 -0
- package/dist/eval/index.js.map +1 -0
- package/dist/eval/report.d.ts +8 -0
- package/dist/eval/report.d.ts.map +1 -0
- package/dist/eval/report.js +44 -0
- package/dist/eval/report.js.map +1 -0
- package/dist/eval/runner.d.ts +67 -0
- package/dist/eval/runner.d.ts.map +1 -0
- package/dist/eval/runner.js +256 -0
- package/dist/eval/runner.js.map +1 -0
- package/dist/eval/scorer.d.ts +83 -0
- package/dist/eval/scorer.d.ts.map +1 -0
- package/dist/eval/scorer.js +195 -0
- package/dist/eval/scorer.js.map +1 -0
- package/dist/eval/types.d.ts +162 -0
- package/dist/eval/types.d.ts.map +1 -0
- package/dist/eval/types.js +20 -0
- package/dist/eval/types.js.map +1 -0
- package/dist/extensions/fetch-tool.d.ts.map +1 -1
- package/dist/extensions/fetch-tool.js +80 -15
- package/dist/extensions/fetch-tool.js.map +1 -1
- package/dist/extensions/web-content.d.ts +61 -0
- package/dist/extensions/web-content.d.ts.map +1 -0
- package/dist/extensions/web-content.js +468 -0
- package/dist/extensions/web-content.js.map +1 -0
- package/dist/extensions/web-search-tool.js +3 -3
- package/dist/extensions/web-search-tool.js.map +1 -1
- package/dist/mcp/build-server.d.ts.map +1 -1
- package/dist/mcp/build-server.js +4 -1
- package/dist/mcp/build-server.js.map +1 -1
- package/dist/observability/traces.d.ts.map +1 -1
- package/dist/observability/traces.js +100 -1
- package/dist/observability/traces.js.map +1 -1
- package/dist/observability/tracing.d.ts +73 -0
- package/dist/observability/tracing.d.ts.map +1 -0
- package/dist/observability/tracing.js +126 -0
- package/dist/observability/tracing.js.map +1 -0
- package/dist/onboarding/default-steps.d.ts.map +1 -1
- package/dist/onboarding/default-steps.js +4 -1
- package/dist/onboarding/default-steps.js.map +1 -1
- package/dist/provider-api/actions/query-staged-dataset.d.ts +1 -1
- package/dist/provider-api/corpus-jobs.d.ts +80 -0
- package/dist/provider-api/corpus-jobs.d.ts.map +1 -1
- package/dist/provider-api/corpus-jobs.js +219 -22
- package/dist/provider-api/corpus-jobs.js.map +1 -1
- package/dist/provider-api/index.d.ts +24 -32
- package/dist/provider-api/index.d.ts.map +1 -1
- package/dist/provider-api/index.js +28 -1
- package/dist/provider-api/index.js.map +1 -1
- package/dist/scripts/agent-engines/list-agent-engines.d.ts.map +1 -1
- package/dist/scripts/agent-engines/list-agent-engines.js +10 -3
- package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -1
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +4 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts +9 -0
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +119 -111
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-teams.d.ts +62 -0
- package/dist/server/agent-teams.d.ts.map +1 -1
- package/dist/server/agent-teams.js +99 -2
- package/dist/server/agent-teams.js.map +1 -1
- package/dist/server/better-auth-instance.d.ts +7 -0
- package/dist/server/better-auth-instance.d.ts.map +1 -1
- package/dist/server/better-auth-instance.js +90 -0
- package/dist/server/better-auth-instance.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +7 -4
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/credential-provider.d.ts.map +1 -1
- package/dist/server/credential-provider.js +2 -0
- package/dist/server/credential-provider.js.map +1 -1
- package/dist/server/deep-link.d.ts +7 -0
- package/dist/server/deep-link.d.ts.map +1 -1
- package/dist/server/deep-link.js +13 -2
- package/dist/server/deep-link.js.map +1 -1
- package/dist/server/framework-request-handler.d.ts.map +1 -1
- package/dist/server/framework-request-handler.js +33 -1
- package/dist/server/framework-request-handler.js.map +1 -1
- package/dist/server/index.d.ts +2 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -1
- package/dist/server/index.js.map +1 -1
- package/dist/templates/default/.agents/skills/actions/SKILL.md +52 -1
- package/dist/templates/default/.agents/skills/security/SKILL.md +22 -0
- package/dist/templates/workspace-core/.agents/skills/actions/SKILL.md +52 -1
- package/dist/templates/workspace-core/.agents/skills/external-agents/SKILL.md +16 -4
- package/dist/templates/workspace-core/.agents/skills/harness-agents/SKILL.md +20 -0
- package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +31 -0
- package/dist/templates/workspace-core/.agents/skills/security/SKILL.md +22 -0
- package/docs/content/actions.md +50 -0
- package/docs/content/agent-teams.md +32 -0
- package/docs/content/blueprint-installer.md +73 -0
- package/docs/content/durable-resume.md +49 -0
- package/docs/content/evals.md +141 -0
- package/docs/content/external-agents.md +2 -2
- package/docs/content/human-approval.md +101 -0
- package/docs/content/observability.md +21 -0
- package/docs/content/observational-memory.md +63 -0
- package/docs/content/plan-plugin.md +5 -0
- package/docs/content/pr-visual-recap.md +9 -5
- package/docs/content/processors.md +99 -0
- package/docs/content/sandbox-adapters.md +134 -0
- package/docs/content/template-plan.md +97 -21
- package/package.json +10 -1
- package/src/templates/default/.agents/skills/actions/SKILL.md +52 -1
- package/src/templates/default/.agents/skills/security/SKILL.md +22 -0
- package/src/templates/workspace-core/.agents/skills/actions/SKILL.md +52 -1
- package/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +16 -4
- package/src/templates/workspace-core/.agents/skills/harness-agents/SKILL.md +20 -0
- package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +31 -0
- package/src/templates/workspace-core/.agents/skills/security/SKILL.md +22 -0
package/dist/cli/skills.js
CHANGED
|
@@ -21,7 +21,7 @@ Usage:
|
|
|
21
21
|
npx @agent-native/core@latest skills list
|
|
22
22
|
npx @agent-native/core@latest skills status [assets|design-exploration|visual-plan|visual-recap|context-xray] [--client codex|claude-code|pi|all] [--scope user|project] [--json]
|
|
23
23
|
npx @agent-native/core@latest skills update [assets|design-exploration|visual-plan|visual-recap|context-xray] [--client codex|claude-code|pi|all] [--scope user|project] [--dry-run] [--json]
|
|
24
|
-
npx @agent-native/core@latest skills add assets|design-exploration|visual-plan|visual-recap|context-xray [--client codex|claude-code|
|
|
24
|
+
npx @agent-native/core@latest skills add assets|design-exploration|visual-plan|visual-recap|context-xray [--client codex|claude-code|cowork|cursor|opencode|github-copilot|all] [--scope user|project] [--mode hosted|local-files|self-hosted] [--mcp-url <url>] [--no-connect] [--with-github-action] [--yes] [--dry-run] [--json]
|
|
25
25
|
npx @agent-native/core@latest skills add <manifest-or-app-dir|skill-repo> [--skill <name>] [--client ...] [--yes]
|
|
26
26
|
|
|
27
27
|
Examples:
|
|
@@ -69,7 +69,7 @@ plans and recaps should live: hosted Plans for shareable links/comments, local
|
|
|
69
69
|
files for "No sharing, all local.", or a self-hosted/custom Plan app URL.
|
|
70
70
|
Pass --mode to choose directly. Local-files mode skips MCP registration and
|
|
71
71
|
auth and installs instructions that default to a no-auth block catalog fetch,
|
|
72
|
-
MDX folders, and
|
|
72
|
+
MDX folders, and the localhost bridge viewer.
|
|
73
73
|
|
|
74
74
|
When installing visual-recap interactively, the CLI offers to add the optional PR
|
|
75
75
|
Visual Recap GitHub Action. Pass --with-github-action to write it directly, then
|
|
@@ -274,10 +274,10 @@ npx @agent-native/core@latest skills add visual-plan --mode local-files
|
|
|
274
274
|
This mode does not register the Plan MCP connector. Before authoring structured
|
|
275
275
|
MDX, fetch the no-auth, schema-only block catalog with
|
|
276
276
|
\`npx @agent-native/core@latest plan blocks --out plan-blocks.md\`, read that file,
|
|
277
|
-
write
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
277
|
+
write the MDX folder locally, then run \`plan local serve\`. Plain text skill
|
|
278
|
+
installs (Vercel Skills CLI, copied GitHub files, etc.) can follow that same
|
|
279
|
+
local flow if \`@agent-native/core\` is available. Text alone cannot register
|
|
280
|
+
MCP tools; hosted/shareable Plans still need the Agent-Native CLI
|
|
281
281
|
install/reconnect step above.
|
|
282
282
|
|
|
283
283
|
**Browser (people you share with).** Open the Plans editor and create & edit
|
|
@@ -287,10 +287,10 @@ share; signing in claims the plans you made as a guest into your account.
|
|
|
287
287
|
Sharing and commenting require an account: public/shared plans are viewable by
|
|
288
288
|
anyone with the link, but commenting on them needs an agent-native account.
|
|
289
289
|
|
|
290
|
-
For
|
|
291
|
-
command. The optional \`plan blocks\` lookup reads only public schema metadata
|
|
292
|
-
network access is unavailable, use the bundled references and
|
|
293
|
-
|
|
290
|
+
For no-account, no-DB plan storage, use local-files mode and the local bridge
|
|
291
|
+
command. The optional \`plan blocks\` lookup reads only public schema metadata.
|
|
292
|
+
If network access is unavailable, use the bundled references and a local Plan
|
|
293
|
+
app/runtime for validation.
|
|
294
294
|
|
|
295
295
|
If a Plans tool returns \`needs auth\`, \`Unauthorized\`, or \`Session terminated\`,
|
|
296
296
|
do not keep retrying the tool. Stop and give the user the reconnect step for the
|
|
@@ -1315,7 +1315,7 @@ skill — never hand-edit one stored plan. Turn feedback into better guidance.
|
|
|
1315
1315
|
## Local-Files Privacy Mode
|
|
1316
1316
|
|
|
1317
1317
|
Use local-files privacy mode when the user explicitly asks for no DB writes,
|
|
1318
|
-
no hosted Plan
|
|
1318
|
+
no hosted Plan database writes, no Plan MCP publish, fully local files, offline/private
|
|
1319
1319
|
planning, repo-owned/source-controlled planning artifacts, or when
|
|
1320
1320
|
\`AGENT_NATIVE_PLANS_MODE=local-files\` is set. Also use it when a user or repo
|
|
1321
1321
|
policy says a plan must stay under their own brand, domain, source control, or
|
|
@@ -1333,21 +1333,24 @@ The local-files contract is:
|
|
|
1333
1333
|
\`plan blocks\` command calls the public no-auth \`get-plan-blocks\` route and
|
|
1334
1334
|
writes only registry metadata to disk; use \`--format schema\` if exact nested
|
|
1335
1335
|
fields are needed. If network access is unavailable, use the bundled
|
|
1336
|
-
references and rely on \`plan local
|
|
1337
|
-
- Write the plan as a local MDX folder
|
|
1338
|
-
|
|
1339
|
-
\`.
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1336
|
+
references and rely on \`plan local serve\` to catch invalid tags.
|
|
1337
|
+
- Write the plan as a local MDX folder: use \`plans/<slug>/\` when the user
|
|
1338
|
+
wants the artifact checked into the repo, or use a repo-ignored/temporary
|
|
1339
|
+
folder such as \`.agent-native/plans/<slug>/\` or \`/tmp/agent-native-plans/<slug>/\`
|
|
1340
|
+
when it should not be checked in. The folder contains \`plan.mdx\`, optional
|
|
1341
|
+
\`canvas.mdx\`, optional \`prototype.mdx\`, and optional \`.plan-state.json\`.
|
|
1342
|
+
- Run \`npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan --open\`
|
|
1343
|
+
after writing or updating the folder. Report the returned local bridge URL. It opens the hosted Plan UI but reads
|
|
1344
|
+
from the localhost bridge on this machine, so it is not shareable across
|
|
1345
|
+
machines. If the Plan app itself is running locally with the same
|
|
1346
|
+
\`PLAN_LOCAL_DIR\`, the \`/local-plans/<slug>\` route is also valid.
|
|
1344
1347
|
- Do **not** call \`create-visual-plan\`, \`create-ui-plan\`,
|
|
1345
1348
|
\`create-prototype-plan\`, \`create-plan-design\`, \`import-visual-plan-source\`,
|
|
1346
1349
|
\`update-visual-plan\`, \`patch-visual-plan-source\`, \`get-plan-feedback\`,
|
|
1347
1350
|
\`export-visual-plan\`, or any hosted Plan tool for that plan except the
|
|
1348
1351
|
schema-only block catalog lookup above.
|
|
1349
1352
|
- Treat feedback as file or chat feedback: update the MDX files directly, rerun
|
|
1350
|
-
the local
|
|
1353
|
+
the local bridge command, and summarize the new local bridge URL. Hosted
|
|
1351
1354
|
comments, sharing, history, and publish/export receipts are unavailable until
|
|
1352
1355
|
the user explicitly opts into publishing.
|
|
1353
1356
|
|
|
@@ -1466,7 +1469,7 @@ before spending attention on the literal lines.
|
|
|
1466
1469
|
## Local-Files Privacy Mode Exception
|
|
1467
1470
|
|
|
1468
1471
|
Use local-files privacy mode when the user explicitly asks for no DB writes,
|
|
1469
|
-
no hosted Plan
|
|
1472
|
+
no hosted Plan database writes, no Plan MCP publish, fully local files, offline/private
|
|
1470
1473
|
recaps, or when \`AGENT_NATIVE_PLANS_MODE=local-files\` is set. This is the only
|
|
1471
1474
|
exception to the hosted publish rule below.
|
|
1472
1475
|
|
|
@@ -1481,22 +1484,26 @@ In local-files mode:
|
|
|
1481
1484
|
MCP connector is not registered; it calls the public no-auth
|
|
1482
1485
|
\`get-plan-blocks\` route and sends no recap content. If network access is
|
|
1483
1486
|
unavailable, use the bundled references and validate with
|
|
1484
|
-
\`plan local
|
|
1485
|
-
- Write the recap as a local MDX folder
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1487
|
+
\`plan local serve\`.
|
|
1488
|
+
- Write the recap as a local MDX folder: use \`plans/<slug>/\` when the user
|
|
1489
|
+
wants the artifact checked into the repo, or use a repo-ignored/temporary
|
|
1490
|
+
folder such as \`.agent-native/plans/<slug>/\` or \`/tmp/agent-native-plans/<slug>/\`
|
|
1491
|
+
when it should not be checked in. The folder contains \`plan.mdx\`, optional
|
|
1492
|
+
\`canvas.mdx\`, optional \`prototype.mdx\`, and optional \`.plan-state.json\`. Set
|
|
1493
|
+
\`kind: "recap"\` and \`localOnly: true\` in frontmatter/state when authoring
|
|
1494
|
+
the source.
|
|
1495
|
+
- Run \`npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind recap --open\`
|
|
1496
|
+
after writing or updating the folder. Report the returned local bridge URL. It opens the hosted Plan UI but reads
|
|
1497
|
+
from the localhost bridge on this machine, so it is not shareable across
|
|
1498
|
+
machines. If the Plan app itself is running locally with the same
|
|
1499
|
+
\`PLAN_LOCAL_DIR\`, the \`/local-plans/<slug>\` route is also valid.
|
|
1493
1500
|
- Do **not** call \`create-visual-recap\`, \`create-visual-plan\`,
|
|
1494
1501
|
\`import-visual-plan-source\`, \`update-visual-plan\`,
|
|
1495
1502
|
\`patch-visual-plan-source\`, \`get-plan-feedback\`, \`export-visual-plan\`,
|
|
1496
1503
|
\`set-resource-visibility\`, or any hosted Plan tool for that recap except the
|
|
1497
1504
|
schema-only block catalog lookup above.
|
|
1498
1505
|
- Treat review feedback as file or chat feedback: update the MDX files directly,
|
|
1499
|
-
rerun the local
|
|
1506
|
+
rerun the local bridge command, and summarize the new local bridge URL.
|
|
1500
1507
|
Hosted comments, sharing, screenshots, usage attachment, and PR sticky comment
|
|
1501
1508
|
publishing are unavailable until the user explicitly opts into publishing.
|
|
1502
1509
|
|
|
@@ -1707,10 +1714,13 @@ a headless CI agent), state that in the recap handoff instead.
|
|
|
1707
1714
|
|
|
1708
1715
|
## Open And Report The Recap
|
|
1709
1716
|
|
|
1710
|
-
In local-files privacy mode, report the local
|
|
1711
|
-
\`npx @agent-native/core@latest plan local
|
|
1712
|
-
|
|
1713
|
-
|
|
1717
|
+
In local-files privacy mode, report the local bridge URL from
|
|
1718
|
+
\`npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind recap --open\`.
|
|
1719
|
+
It opens the hosted Plan UI but reads from the localhost bridge on this machine,
|
|
1720
|
+
so it is not shareable across machines. If the Plan app itself is running
|
|
1721
|
+
locally with the same \`PLAN_LOCAL_DIR\`, the \`/local-plans/<slug>\` route is also
|
|
1722
|
+
valid. Do not invent a hosted database URL and do not publish just to get an
|
|
1723
|
+
absolute Plan link.
|
|
1714
1724
|
|
|
1715
1725
|
After creating the recap, link the reviewer to the rendered plan with an
|
|
1716
1726
|
**absolute URL on the origin whose database actually holds the plan**. That
|
|
@@ -1864,7 +1874,7 @@ was installed as plain text and no MCP tools are registered, run
|
|
|
1864
1874
|
\`npx @agent-native/core@latest plan blocks --out plan-blocks.md\` and read that
|
|
1865
1875
|
file first. The CLI command calls the public no-auth \`get-plan-blocks\` route and
|
|
1866
1876
|
sends no plan/recap content. If network access is unavailable, use the bundled
|
|
1867
|
-
references and validate with \`plan local
|
|
1877
|
+
references and validate with \`plan local serve\`.
|
|
1868
1878
|
|
|
1869
1879
|
The catalog returns the authoritative, always-current block vocabulary generated
|
|
1870
1880
|
live from the app's own block registry — the same config the renderer and MDX
|
|
@@ -2268,6 +2278,17 @@ const SKILL_INSTRUCTION_CLIENTS = [
|
|
|
2268
2278
|
"claude-code",
|
|
2269
2279
|
"pi",
|
|
2270
2280
|
];
|
|
2281
|
+
// Clients that don't write their own instruction files but READ the shared
|
|
2282
|
+
// `.agents/skills` path the codex install writes. In instructions/local-files
|
|
2283
|
+
// mode they resolve to that shared-agents install instead of being dropped, so
|
|
2284
|
+
// `--client cursor --mode local-files` (etc.) installs the skills they read
|
|
2285
|
+
// rather than failing with an empty client set.
|
|
2286
|
+
const SHARED_AGENTS_READER_CLIENTS = new Set([
|
|
2287
|
+
"cursor",
|
|
2288
|
+
"opencode",
|
|
2289
|
+
"github-copilot",
|
|
2290
|
+
"cowork",
|
|
2291
|
+
]);
|
|
2271
2292
|
const SKILL_INSTRUCTION_CLIENT_LABELS = {
|
|
2272
2293
|
"claude-code": "Claude Code",
|
|
2273
2294
|
"claude-code-cli": "Claude Code",
|
|
@@ -2347,13 +2368,16 @@ function planModeInstructionBlock(input) {
|
|
|
2347
2368
|
return `## Installed Mode
|
|
2348
2369
|
|
|
2349
2370
|
Default storage for this installation: local files. Create and update plans and
|
|
2350
|
-
recaps as MDX folders under \`plans/<slug
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
\`npx @agent-native/core@latest plan
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
|
|
2371
|
+
recaps as MDX folders under \`plans/<slug>/\` when they should be checked in, or
|
|
2372
|
+
under a repo-ignored/temp folder when they should stay private scratch. Before
|
|
2373
|
+
authoring structured MDX, run
|
|
2374
|
+
\`npx @agent-native/core@latest plan blocks --out plan-blocks.md\` and read the
|
|
2375
|
+
no-auth block catalog; it sends no plan content. Then run
|
|
2376
|
+
\`npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan|recap --open\`,
|
|
2377
|
+
and report the local bridge URL. It opens the hosted Plan UI but reads from the
|
|
2378
|
+
localhost bridge on this machine, so it is not shareable across machines. No
|
|
2379
|
+
sharing, all local. Use a hosted or self-hosted Plan MCP connector only if the
|
|
2380
|
+
user explicitly asks to publish or share.`;
|
|
2357
2381
|
}
|
|
2358
2382
|
if (input.mode === "self-hosted") {
|
|
2359
2383
|
return `## Installed Mode
|
|
@@ -2790,7 +2814,21 @@ function filterSkillsClients(clients, installsMcp) {
|
|
|
2790
2814
|
if (installsMcp) {
|
|
2791
2815
|
return clients.filter((client) => isMcpClientId(client) && SKILLS_CLIENTS.includes(client));
|
|
2792
2816
|
}
|
|
2793
|
-
|
|
2817
|
+
// Instructions/local-files mode: keep the first-class instruction writers, and
|
|
2818
|
+
// map shared-`.agents` readers (cursor/opencode/github-copilot/cowork) onto
|
|
2819
|
+
// the shared-agents install (codex) so they install the skills they read
|
|
2820
|
+
// rather than being silently dropped to an empty set.
|
|
2821
|
+
const out = [];
|
|
2822
|
+
for (const client of clients) {
|
|
2823
|
+
const resolved = SKILL_INSTRUCTION_CLIENTS.includes(client)
|
|
2824
|
+
? client
|
|
2825
|
+
: SHARED_AGENTS_READER_CLIENTS.has(client)
|
|
2826
|
+
? "codex"
|
|
2827
|
+
: undefined;
|
|
2828
|
+
if (resolved && !out.includes(resolved))
|
|
2829
|
+
out.push(resolved);
|
|
2830
|
+
}
|
|
2831
|
+
return out;
|
|
2794
2832
|
}
|
|
2795
2833
|
function clientPromptOptions(installsMcp) {
|
|
2796
2834
|
return skillsClients(installsMcp).map((client) => ({
|
|
@@ -2806,16 +2844,6 @@ function clientPromptOptions(installsMcp) {
|
|
|
2806
2844
|
const DEFAULT_PUBLIC_SKILLS_SOURCE = "BuilderIO/skills";
|
|
2807
2845
|
const PUBLIC_SKILL_TARGET_PREFIX = "public-skills:";
|
|
2808
2846
|
const BUILT_IN_SKILL_PROMPT_OPTIONS = [
|
|
2809
|
-
{
|
|
2810
|
-
value: "assets",
|
|
2811
|
-
label: "assets",
|
|
2812
|
-
hint: BUILT_IN_APP_SKILLS.assets.manifest.description,
|
|
2813
|
-
},
|
|
2814
|
-
{
|
|
2815
|
-
value: "design-exploration",
|
|
2816
|
-
label: "design-exploration",
|
|
2817
|
-
hint: BUILT_IN_APP_SKILLS.design.manifest.description,
|
|
2818
|
-
},
|
|
2819
2847
|
{
|
|
2820
2848
|
value: "visual-plan",
|
|
2821
2849
|
label: "visual-plan",
|
|
@@ -2826,6 +2854,16 @@ const BUILT_IN_SKILL_PROMPT_OPTIONS = [
|
|
|
2826
2854
|
label: "visual-recap",
|
|
2827
2855
|
hint: "Interactive visual recap that maps PRs/diffs with diagrams, annotated diffs, API/schema summaries, and review notes.",
|
|
2828
2856
|
},
|
|
2857
|
+
{
|
|
2858
|
+
value: "assets",
|
|
2859
|
+
label: "assets",
|
|
2860
|
+
hint: BUILT_IN_APP_SKILLS.assets.manifest.description,
|
|
2861
|
+
},
|
|
2862
|
+
{
|
|
2863
|
+
value: "design-exploration",
|
|
2864
|
+
label: "design-exploration",
|
|
2865
|
+
hint: BUILT_IN_APP_SKILLS.design.manifest.description,
|
|
2866
|
+
},
|
|
2829
2867
|
{
|
|
2830
2868
|
value: "context-xray",
|
|
2831
2869
|
label: "context-xray",
|
|
@@ -2875,10 +2913,8 @@ function skillPromptOptions(options = {}) {
|
|
|
2875
2913
|
];
|
|
2876
2914
|
}
|
|
2877
2915
|
function defaultSkillPromptTargets(options) {
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
...publicSkillEntries(options).map((entry) => entry.name),
|
|
2881
|
-
];
|
|
2916
|
+
const available = new Set(skillPromptOptions(options).map((entry) => entry.value));
|
|
2917
|
+
return DEFAULT_SKILL_PROMPT_TARGETS.filter((target) => available.has(target));
|
|
2882
2918
|
}
|
|
2883
2919
|
function publicSkillSelectionTarget(skillNames) {
|
|
2884
2920
|
return `${PUBLIC_SKILL_TARGET_PREFIX}${skillNames.join(",")}`;
|
|
@@ -2983,13 +3019,13 @@ async function promptForPlanMode(context) {
|
|
|
2983
3019
|
options: [
|
|
2984
3020
|
{
|
|
2985
3021
|
value: "hosted",
|
|
2986
|
-
label: "Hosted
|
|
2987
|
-
hint: "100% free and open source. Stores plans at plan.agent-native.com with sharing, comments, and browser editor. Requires one-time browser sign-in.",
|
|
3022
|
+
label: "Hosted plans, shareable links",
|
|
3023
|
+
hint: "Recommended. 100% free and open source. Stores plans at plan.agent-native.com with sharing, comments, and browser editor. Requires one-time browser sign-in.",
|
|
2988
3024
|
},
|
|
2989
3025
|
{
|
|
2990
3026
|
value: "local-files",
|
|
2991
3027
|
label: "Local files only",
|
|
2992
|
-
hint: "Writes
|
|
3028
|
+
hint: "Writes local MDX, starts a localhost bridge, and opens the hosted Plan UI. No sharing, all local.",
|
|
2993
3029
|
},
|
|
2994
3030
|
{
|
|
2995
3031
|
value: "self-hosted",
|
|
@@ -3605,7 +3641,7 @@ async function addPlainSkillRepo(parsed, options) {
|
|
|
3605
3641
|
if (skillsAgents.length === 0) {
|
|
3606
3642
|
throw new Error("Plain skill repositories install through shared .agents for Codex, Pi, Cursor, OpenCode, Copilot, and similar agents, or Claude Code's native files.");
|
|
3607
3643
|
}
|
|
3608
|
-
const args = agentNativeSkillsInstallArgs(parsed, target,
|
|
3644
|
+
const args = agentNativeSkillsInstallArgs(parsed, target, skillsAgents, options.baseDir);
|
|
3609
3645
|
if (!parsed.dryRun) {
|
|
3610
3646
|
const code = await (options.runCommand ?? runCommand)("npx", args, {
|
|
3611
3647
|
stdio: "silent",
|
|
@@ -4500,6 +4536,16 @@ export async function runSkills(argv, options = {}) {
|
|
|
4500
4536
|
: "",
|
|
4501
4537
|
].filter(Boolean);
|
|
4502
4538
|
clack.note(summary.join("\n"), `Installed ${installedNames} skill${results.length === 1 ? "" : "s"}`);
|
|
4539
|
+
// OAuth clients (Claude Code) can finish auth in-host via /mcp, not only by
|
|
4540
|
+
// running the connect command — surface that on the no-connect/pending path
|
|
4541
|
+
// so a hosted install isn't left looking "done but unauthenticated".
|
|
4542
|
+
if (!authConnected &&
|
|
4543
|
+
mcpClients.some((client) => client === "claude-code" || client === "claude-code-cli")) {
|
|
4544
|
+
clack.log.info("Claude Code: reload the client, then open /mcp and choose Authenticate to finish connecting" +
|
|
4545
|
+
(pendingConnectCommands.length
|
|
4546
|
+
? " (or run the connect command above)."
|
|
4547
|
+
: "."));
|
|
4548
|
+
}
|
|
4503
4549
|
// GitHub Action follow-ups — kept as exact, copy-pasteable command lines.
|
|
4504
4550
|
for (const line of [githubActionLine, githubActionSuggestionLine].filter(Boolean)) {
|
|
4505
4551
|
clack.log.info(line);
|