@agent-native/core 0.49.5 → 0.49.8
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 +1 -1
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +6 -2
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/types.d.ts +6 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/cli/app-skill.js +1 -1
- package/dist/cli/app-skill.js.map +1 -1
- package/dist/cli/connect.d.ts.map +1 -1
- package/dist/cli/connect.js +22 -4
- package/dist/cli/connect.js.map +1 -1
- package/dist/cli/create.js +2 -2
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/pr-visual-recap-workflow.d.ts +1 -1
- package/dist/cli/pr-visual-recap-workflow.d.ts.map +1 -1
- package/dist/cli/pr-visual-recap-workflow.js +1 -1
- package/dist/cli/pr-visual-recap-workflow.js.map +1 -1
- package/dist/cli/recap.js +2 -2
- package/dist/cli/recap.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 +50 -35
- package/dist/cli/skills.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +30 -11
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/blocks/library/AnnotatedCodeBlock.d.ts.map +1 -1
- package/dist/client/blocks/library/AnnotatedCodeBlock.js +20 -4
- package/dist/client/blocks/library/AnnotatedCodeBlock.js.map +1 -1
- package/dist/client/blocks/library/DiffBlock.d.ts.map +1 -1
- package/dist/client/blocks/library/DiffBlock.js +33 -9
- package/dist/client/blocks/library/DiffBlock.js.map +1 -1
- package/dist/client/blocks/library/annotation-rail.d.ts +41 -3
- package/dist/client/blocks/library/annotation-rail.d.ts.map +1 -1
- package/dist/client/blocks/library/annotation-rail.js +157 -29
- package/dist/client/blocks/library/annotation-rail.js.map +1 -1
- package/dist/client/blocks/types.d.ts +19 -0
- package/dist/client/blocks/types.d.ts.map +1 -1
- package/dist/client/blocks/types.js.map +1 -1
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +13 -12
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/mcp/connect-route.d.ts.map +1 -1
- package/dist/mcp/connect-route.js +1 -1
- package/dist/mcp/connect-route.js.map +1 -1
- package/dist/server/agent-chat-plugin.js +1 -1
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/auth-marketing.js +1 -1
- package/dist/server/auth-marketing.js.map +1 -1
- package/docs/content/external-agents.md +6 -6
- package/docs/content/frames.md +1 -1
- package/docs/content/mcp-clients.md +5 -5
- package/docs/content/plan-plugin.md +10 -8
- package/docs/content/skills-guide.md +3 -3
- package/docs/content/template-assets.md +4 -4
- package/docs/content/template-plan.md +11 -8
- package/package.json +1 -2
|
@@ -88,7 +88,7 @@ export const BUILT_IN_AUTH_MARKETING = {
|
|
|
88
88
|
"Multi-account Gmail in a single unified inbox",
|
|
89
89
|
"Autonomous triage, archiving, and follow-ups",
|
|
90
90
|
],
|
|
91
|
-
runLocalCommand: "npx @agent-native/core create my-mail-app --template mail",
|
|
91
|
+
runLocalCommand: "npx @agent-native/core@latest create my-mail-app --template mail",
|
|
92
92
|
},
|
|
93
93
|
slides: {
|
|
94
94
|
appName: "Agent-Native Slides",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-marketing.js","sourceRoot":"","sources":["../../src/server/auth-marketing.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,uBAAuB,GAAyC;IAC3E,SAAS,EAAE;QACT,OAAO,EAAE,wBAAwB;QACjC,OAAO,EACL,2GAA2G;QAC7G,QAAQ,EAAE;YACR,yEAAyE;YACzE,kEAAkE;YAClE,kEAAkE;SACnE;KACF;IACD,KAAK,EAAE;QACL,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EACL,qGAAqG;QACvG,QAAQ,EAAE;YACR,iEAAiE;YACjE,iDAAiD;YACjD,0DAA0D;SAC3D;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,uBAAuB;QAChC,OAAO,EACL,uFAAuF;QACzF,QAAQ,EAAE;YACR,oDAAoD;YACpD,sDAAsD;YACtD,6DAA6D;SAC9D;KACF;IACD,KAAK,EAAE;QACL,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EACL,0FAA0F;QAC5F,QAAQ,EAAE;YACR,2EAA2E;YAC3E,sEAAsE;YACtE,oEAAoE;SACrE;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EACL,iGAAiG;QACnG,QAAQ,EAAE;YACR,mEAAmE;YACnE,0EAA0E;YAC1E,4DAA4D;SAC7D;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EACL,wIAAwI;QAC1I,QAAQ,EAAE;YACR,oDAAoD;YACpD,4DAA4D;YAC5D,0CAA0C;SAC3C;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,uBAAuB;QAChC,OAAO,EACL,sGAAsG;QACxG,QAAQ,EAAE;YACR,4DAA4D;YAC5D,6DAA6D;YAC7D,oDAAoD;SACrD;KACF;IACD,KAAK,EAAE;QACL,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EACL,oEAAoE;QACtE,QAAQ,EAAE;YACR,8CAA8C;YAC9C,qDAAqD;YACrD,2DAA2D;SAC5D;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EACL,8EAA8E;QAChF,QAAQ,EAAE;YACR,kFAAkF;YAClF,iFAAiF;YACjF,sEAAsE;SACvE;KACF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE,iEAAiE;QAC1E,QAAQ,EAAE;YACR,wCAAwC;YACxC,+CAA+C;YAC/C,8CAA8C;SAC/C;QACD,eAAe,EACb,2DAA2D;KAC9D;IACD,MAAM,EAAE;QACN,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EACL,uEAAuE;QACzE,QAAQ,EAAE;YACR,4CAA4C;YAC5C,kDAAkD;YAClD,mDAAmD;SACpD;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,WAAW;QACpB,OAAO,EACL,wFAAwF;QAC1F,QAAQ,EAAE;YACR,4EAA4E;YAC5E,kEAAkE;YAClE,qEAAqE;SACtE;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EACL,gFAAgF;QAClF,QAAQ,EAAE;YACR,kEAAkE;YAClE,+DAA+D;YAC/D,yEAAyE;SAC1E;KACF;CACF,CAAC;AAEF,MAAM,YAAY,GAA2B;IAC3C,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,SAAS;IACtB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,QAAQ;CAChB,CAAC;AAEF,SAAS,cAAc,CAAC,SAA+B;IACrD,OAAO;QACL,GAAG,SAAS;QACZ,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;KACnE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE5B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,GAAG,IAAI;SACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAClC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAyB;IAC7C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IACtE,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACvC,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,KAAyB;IAC7C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,aAAa,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,cAAc,CACrB,OAA2C,EAAE;IAE7C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QAC7D,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QAC7D,aAAa,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACxC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC3B,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACnC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;QAC/B,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACpC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;QACxB,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC;QAChC,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACrC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;QACpB,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;QAC3B,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC;KAClC,CAAC;IAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAA2C,EAAE;IAE7C,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,SAAS;YAAE,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["export interface AuthMarketingContent {\n appName: string;\n tagline: string;\n description?: string;\n features?: string[];\n runLocalCommand?: string;\n}\n\nexport interface ResolveBuiltInAuthMarketingOptions {\n requestHost?: string;\n requestPath?: string;\n}\n\nexport const BUILT_IN_AUTH_MARKETING: Record<string, AuthMarketingContent> = {\n analytics: {\n appName: \"Agent-Native Analytics\",\n tagline:\n \"Your AI agent queries your data sources, builds dashboards, and answers business questions alongside you.\",\n features: [\n \"Ask any question and get answers from BigQuery, HubSpot, Jira, and more\",\n \"Agent-built dashboards that pull live data from all your sources\",\n \"Saved analyses the agent can re-run on demand with fresh numbers\",\n ],\n },\n brain: {\n appName: \"Agent-Native Brain\",\n tagline:\n \"A company memory layer where raw conversations become reviewed, searchable institutional knowledge.\",\n features: [\n \"Import transcripts, notes, Slack exports, and Granola summaries\",\n \"Validate every fact against exact source quotes\",\n \"Review company-wide knowledge through proposal workflows\",\n ],\n },\n calendar: {\n appName: \"Agent-Native Calendar\",\n tagline:\n \"Your AI agent schedules, reschedules, and manages your calendar so you never have to.\",\n features: [\n \"Finds open slots and books meetings on your behalf\",\n \"Manages availability and booking links automatically\",\n \"Answers schedule questions and resolves conflicts instantly\",\n ],\n },\n clips: {\n appName: \"Agent-Native Clips\",\n tagline:\n \"Your AI agent transcribes, summarizes, and searches everything you record alongside you.\",\n features: [\n \"One-click screen recording with automatic titles, summaries, and chapters\",\n \"Calendar-synced meeting notes with live transcripts and action items\",\n \"One searchable library across recordings, meetings, and dictations\",\n ],\n },\n content: {\n appName: \"Agent-Native Content\",\n tagline:\n \"Your AI agent creates, edits, and organizes documents alongside you in a Notion-like workspace.\",\n features: [\n \"Create and restructure entire document trees from a single prompt\",\n \"Surgical edits that sync live to your editor via real-time collaboration\",\n \"Search, summarize, and cross-reference documents instantly\",\n ],\n },\n design: {\n appName: \"Agent-Native Design\",\n tagline:\n \"Design and prototype by describing what you want. The AI agent turns your ideas into interactive, fully responsive designs in seconds.\",\n features: [\n \"Create polished prototypes just by describing them\",\n \"Build and apply design systems to keep everything on-brand\",\n \"Export your work or share it with a link\",\n ],\n },\n dispatch: {\n appName: \"Agent-Native Dispatch\",\n tagline:\n \"Your AI agent manages secrets, orchestrates other agents, and routes messages across your workspace.\",\n features: [\n \"Centralized vault for secrets with granular per-app grants\",\n \"Cross-agent orchestration and delegation to specialist apps\",\n \"Slack and Telegram routing with approval workflows\",\n ],\n },\n forms: {\n appName: \"Agent-Native Forms\",\n tagline:\n \"Your AI agent builds, publishes, and analyzes forms alongside you.\",\n features: [\n \"Create complete forms from a single sentence\",\n \"Instant publishing with shareable links and captcha\",\n \"Response summaries, exports, and trend analysis on demand\",\n ],\n },\n assets: {\n appName: \"Agent-Native Assets\",\n tagline:\n \"Your AI agent creates, refines, and organizes on-brand assets alongside you.\",\n features: [\n \"Build reusable asset libraries from logos, product shots, videos, and references\",\n \"Generate heroes, diagrams, slide art, product visuals, and videos from a prompt\",\n \"Audit prompts, references, outputs, and refinements across every run\",\n ],\n },\n mail: {\n appName: \"Agent-Native Mail\",\n tagline: \"Your AI agent reads, drafts, and organizes email alongside you.\",\n features: [\n \"Replies that match your tone and style\",\n \"Multi-account Gmail in a single unified inbox\",\n \"Autonomous triage, archiving, and follow-ups\",\n ],\n runLocalCommand:\n \"npx @agent-native/core create my-mail-app --template mail\",\n },\n slides: {\n appName: \"Agent-Native Slides\",\n tagline:\n \"Your AI agent builds, edits, and refines presentations alongside you.\",\n features: [\n \"Generate entire decks from a single prompt\",\n \"Surgical slide edits while you present or review\",\n \"Real-time collaboration between you and the agent\",\n ],\n },\n starter: {\n appName: \"Blank app\",\n tagline:\n \"Build an agent-native app where the AI agent and UI share state, actions, and context.\",\n features: [\n \"Define once, use everywhere: actions work as agent tools and API endpoints\",\n \"The agent always knows what you are looking at and can act on it\",\n \"Modify your app's own code, routes, and styles through conversation\",\n ],\n },\n videos: {\n appName: \"Agent-Native Videos\",\n tagline:\n \"Your AI agent builds, animates, and refines programmatic videos alongside you.\",\n features: [\n \"Generate animated components and compositions from a description\",\n \"Fine-tune tracks, keyframes, and easing without touching code\",\n \"Camera moves, interactive elements, and effects the agent wires for you\",\n ],\n },\n};\n\nconst SLUG_ALIASES: Record<string, string> = {\n \"agent-native\": \"\",\n \"blank-app\": \"starter\",\n asset: \"assets\",\n image: \"assets\",\n images: \"assets\",\n video: \"videos\",\n};\n\nfunction cloneMarketing(marketing: AuthMarketingContent): AuthMarketingContent {\n return {\n ...marketing,\n features: marketing.features ? [...marketing.features] : undefined,\n };\n}\n\nfunction normalizeSlug(value: string | undefined): string | undefined {\n if (!value) return undefined;\n let slug = value.trim().toLowerCase();\n if (!slug) return undefined;\n\n slug = slug.replace(/^@agent-native\\//, \"\");\n slug = slug\n .replace(/&/g, \" and \")\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n slug = slug.replace(/^agent-native-/, \"\");\n slug = SLUG_ALIASES[slug] ?? slug;\n if (!slug) return undefined;\n return BUILT_IN_AUTH_MARKETING[slug] ? slug : undefined;\n}\n\nfunction slugFromUrl(value: string | undefined): string | undefined {\n if (!value) return undefined;\n try {\n const url = new URL(value);\n return slugFromHost(url.host) ?? slugFromPath(url.pathname);\n } catch {\n return undefined;\n }\n}\n\nfunction slugFromHost(value: string | undefined): string | undefined {\n if (!value) return undefined;\n const host = value.split(\",\")[0]?.trim().split(\":\")[0]?.toLowerCase();\n if (!host) return undefined;\n if (host.endsWith(\".agent-native.com\")) {\n return normalizeSlug(host.slice(0, -\".agent-native.com\".length));\n }\n return undefined;\n}\n\nfunction slugFromPath(value: string | undefined): string | undefined {\n if (!value) return undefined;\n const firstSegment = value.split(\"?\")[0]?.split(\"/\").filter(Boolean)[0];\n return normalizeSlug(firstSegment);\n}\n\nfunction candidateSlugs(\n opts: ResolveBuiltInAuthMarketingOptions = {},\n): string[] {\n const env = process.env;\n const candidates = [\n opts.requestHost ? slugFromHost(opts.requestHost) : undefined,\n opts.requestPath ? slugFromPath(opts.requestPath) : undefined,\n normalizeSlug(env.AGENT_NATIVE_TEMPLATE),\n normalizeSlug(env.APP_NAME),\n normalizeSlug(env.npm_package_name),\n slugFromPath(env.APP_BASE_PATH),\n slugFromPath(env.VITE_APP_BASE_PATH),\n slugFromUrl(env.APP_URL),\n slugFromUrl(env.BETTER_AUTH_URL),\n slugFromUrl(env.VITE_BETTER_AUTH_URL),\n slugFromUrl(env.URL),\n slugFromUrl(env.DEPLOY_URL),\n slugFromUrl(env.DEPLOY_PRIME_URL),\n ];\n\n return candidates.filter((slug): slug is string => !!slug);\n}\n\nexport function resolveBuiltInAuthMarketing(\n opts: ResolveBuiltInAuthMarketingOptions = {},\n): AuthMarketingContent | undefined {\n for (const slug of candidateSlugs(opts)) {\n const marketing = BUILT_IN_AUTH_MARKETING[slug];\n if (marketing) return cloneMarketing(marketing);\n }\n return undefined;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"auth-marketing.js","sourceRoot":"","sources":["../../src/server/auth-marketing.ts"],"names":[],"mappings":"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","sourcesContent":["export interface AuthMarketingContent {\n appName: string;\n tagline: string;\n description?: string;\n features?: string[];\n runLocalCommand?: string;\n}\n\nexport interface ResolveBuiltInAuthMarketingOptions {\n requestHost?: string;\n requestPath?: string;\n}\n\nexport const BUILT_IN_AUTH_MARKETING: Record<string, AuthMarketingContent> = {\n analytics: {\n appName: \"Agent-Native Analytics\",\n tagline:\n \"Your AI agent queries your data sources, builds dashboards, and answers business questions alongside you.\",\n features: [\n \"Ask any question and get answers from BigQuery, HubSpot, Jira, and more\",\n \"Agent-built dashboards that pull live data from all your sources\",\n \"Saved analyses the agent can re-run on demand with fresh numbers\",\n ],\n },\n brain: {\n appName: \"Agent-Native Brain\",\n tagline:\n \"A company memory layer where raw conversations become reviewed, searchable institutional knowledge.\",\n features: [\n \"Import transcripts, notes, Slack exports, and Granola summaries\",\n \"Validate every fact against exact source quotes\",\n \"Review company-wide knowledge through proposal workflows\",\n ],\n },\n calendar: {\n appName: \"Agent-Native Calendar\",\n tagline:\n \"Your AI agent schedules, reschedules, and manages your calendar so you never have to.\",\n features: [\n \"Finds open slots and books meetings on your behalf\",\n \"Manages availability and booking links automatically\",\n \"Answers schedule questions and resolves conflicts instantly\",\n ],\n },\n clips: {\n appName: \"Agent-Native Clips\",\n tagline:\n \"Your AI agent transcribes, summarizes, and searches everything you record alongside you.\",\n features: [\n \"One-click screen recording with automatic titles, summaries, and chapters\",\n \"Calendar-synced meeting notes with live transcripts and action items\",\n \"One searchable library across recordings, meetings, and dictations\",\n ],\n },\n content: {\n appName: \"Agent-Native Content\",\n tagline:\n \"Your AI agent creates, edits, and organizes documents alongside you in a Notion-like workspace.\",\n features: [\n \"Create and restructure entire document trees from a single prompt\",\n \"Surgical edits that sync live to your editor via real-time collaboration\",\n \"Search, summarize, and cross-reference documents instantly\",\n ],\n },\n design: {\n appName: \"Agent-Native Design\",\n tagline:\n \"Design and prototype by describing what you want. The AI agent turns your ideas into interactive, fully responsive designs in seconds.\",\n features: [\n \"Create polished prototypes just by describing them\",\n \"Build and apply design systems to keep everything on-brand\",\n \"Export your work or share it with a link\",\n ],\n },\n dispatch: {\n appName: \"Agent-Native Dispatch\",\n tagline:\n \"Your AI agent manages secrets, orchestrates other agents, and routes messages across your workspace.\",\n features: [\n \"Centralized vault for secrets with granular per-app grants\",\n \"Cross-agent orchestration and delegation to specialist apps\",\n \"Slack and Telegram routing with approval workflows\",\n ],\n },\n forms: {\n appName: \"Agent-Native Forms\",\n tagline:\n \"Your AI agent builds, publishes, and analyzes forms alongside you.\",\n features: [\n \"Create complete forms from a single sentence\",\n \"Instant publishing with shareable links and captcha\",\n \"Response summaries, exports, and trend analysis on demand\",\n ],\n },\n assets: {\n appName: \"Agent-Native Assets\",\n tagline:\n \"Your AI agent creates, refines, and organizes on-brand assets alongside you.\",\n features: [\n \"Build reusable asset libraries from logos, product shots, videos, and references\",\n \"Generate heroes, diagrams, slide art, product visuals, and videos from a prompt\",\n \"Audit prompts, references, outputs, and refinements across every run\",\n ],\n },\n mail: {\n appName: \"Agent-Native Mail\",\n tagline: \"Your AI agent reads, drafts, and organizes email alongside you.\",\n features: [\n \"Replies that match your tone and style\",\n \"Multi-account Gmail in a single unified inbox\",\n \"Autonomous triage, archiving, and follow-ups\",\n ],\n runLocalCommand:\n \"npx @agent-native/core@latest create my-mail-app --template mail\",\n },\n slides: {\n appName: \"Agent-Native Slides\",\n tagline:\n \"Your AI agent builds, edits, and refines presentations alongside you.\",\n features: [\n \"Generate entire decks from a single prompt\",\n \"Surgical slide edits while you present or review\",\n \"Real-time collaboration between you and the agent\",\n ],\n },\n starter: {\n appName: \"Blank app\",\n tagline:\n \"Build an agent-native app where the AI agent and UI share state, actions, and context.\",\n features: [\n \"Define once, use everywhere: actions work as agent tools and API endpoints\",\n \"The agent always knows what you are looking at and can act on it\",\n \"Modify your app's own code, routes, and styles through conversation\",\n ],\n },\n videos: {\n appName: \"Agent-Native Videos\",\n tagline:\n \"Your AI agent builds, animates, and refines programmatic videos alongside you.\",\n features: [\n \"Generate animated components and compositions from a description\",\n \"Fine-tune tracks, keyframes, and easing without touching code\",\n \"Camera moves, interactive elements, and effects the agent wires for you\",\n ],\n },\n};\n\nconst SLUG_ALIASES: Record<string, string> = {\n \"agent-native\": \"\",\n \"blank-app\": \"starter\",\n asset: \"assets\",\n image: \"assets\",\n images: \"assets\",\n video: \"videos\",\n};\n\nfunction cloneMarketing(marketing: AuthMarketingContent): AuthMarketingContent {\n return {\n ...marketing,\n features: marketing.features ? [...marketing.features] : undefined,\n };\n}\n\nfunction normalizeSlug(value: string | undefined): string | undefined {\n if (!value) return undefined;\n let slug = value.trim().toLowerCase();\n if (!slug) return undefined;\n\n slug = slug.replace(/^@agent-native\\//, \"\");\n slug = slug\n .replace(/&/g, \" and \")\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n slug = slug.replace(/^agent-native-/, \"\");\n slug = SLUG_ALIASES[slug] ?? slug;\n if (!slug) return undefined;\n return BUILT_IN_AUTH_MARKETING[slug] ? slug : undefined;\n}\n\nfunction slugFromUrl(value: string | undefined): string | undefined {\n if (!value) return undefined;\n try {\n const url = new URL(value);\n return slugFromHost(url.host) ?? slugFromPath(url.pathname);\n } catch {\n return undefined;\n }\n}\n\nfunction slugFromHost(value: string | undefined): string | undefined {\n if (!value) return undefined;\n const host = value.split(\",\")[0]?.trim().split(\":\")[0]?.toLowerCase();\n if (!host) return undefined;\n if (host.endsWith(\".agent-native.com\")) {\n return normalizeSlug(host.slice(0, -\".agent-native.com\".length));\n }\n return undefined;\n}\n\nfunction slugFromPath(value: string | undefined): string | undefined {\n if (!value) return undefined;\n const firstSegment = value.split(\"?\")[0]?.split(\"/\").filter(Boolean)[0];\n return normalizeSlug(firstSegment);\n}\n\nfunction candidateSlugs(\n opts: ResolveBuiltInAuthMarketingOptions = {},\n): string[] {\n const env = process.env;\n const candidates = [\n opts.requestHost ? slugFromHost(opts.requestHost) : undefined,\n opts.requestPath ? slugFromPath(opts.requestPath) : undefined,\n normalizeSlug(env.AGENT_NATIVE_TEMPLATE),\n normalizeSlug(env.APP_NAME),\n normalizeSlug(env.npm_package_name),\n slugFromPath(env.APP_BASE_PATH),\n slugFromPath(env.VITE_APP_BASE_PATH),\n slugFromUrl(env.APP_URL),\n slugFromUrl(env.BETTER_AUTH_URL),\n slugFromUrl(env.VITE_BETTER_AUTH_URL),\n slugFromUrl(env.URL),\n slugFromUrl(env.DEPLOY_URL),\n slugFromUrl(env.DEPLOY_PRIME_URL),\n ];\n\n return candidates.filter((slug): slug is string => !!slug);\n}\n\nexport function resolveBuiltInAuthMarketing(\n opts: ResolveBuiltInAuthMarketingOptions = {},\n): AuthMarketingContent | undefined {\n for (const slug of candidateSlugs(opts)) {\n const marketing = BUILT_IN_AUTH_MARKETING[slug];\n if (marketing) return cloneMarketing(marketing);\n }\n return undefined;\n}\n"]}
|
|
@@ -126,7 +126,7 @@ The Vercel/open Skills CLI path is also available when you only want portable
|
|
|
126
126
|
instructions:
|
|
127
127
|
|
|
128
128
|
```bash
|
|
129
|
-
npx skills add BuilderIO/agent-native --skill assets
|
|
129
|
+
npx skills@latest add BuilderIO/agent-native --skill assets
|
|
130
130
|
```
|
|
131
131
|
|
|
132
132
|
The raw `skills` CLI installs `SKILL.md` files only; local MCP clients still
|
|
@@ -136,7 +136,7 @@ need a connector such as `npx @agent-native/core@latest connect https://assets.a
|
|
|
136
136
|
| -------- | ------------------ | ---------------------- |
|
|
137
137
|
| `assets` | `image-generation` | image/video generation |
|
|
138
138
|
|
|
139
|
-
The default client is
|
|
139
|
+
The default client selection is all supported local clients; add `--client codex`, `--client claude-code`, or another specific target to narrow setup. Inline hosts (ChatGPT, Claude.ai, Claude Desktop main chat) render the picker / variant grid in chat; CLI/link-only hosts (Codex, Claude Code, Claude Desktop "Code" tab) return an "Open in … →" link where the user picks in the browser and pastes a handoff summary back.
|
|
140
140
|
|
|
141
141
|
When you truly need an isolated app instead of Dispatch's workspace gateway,
|
|
142
142
|
run the same command with that app's host:
|
|
@@ -155,10 +155,10 @@ The connection is **per-user, scoped, and revocable**. In the OAuth path, the ho
|
|
|
155
155
|
Once connected, auth should persist long-term — access tokens last 30 days by default (override with `MCP_OAUTH_ACCESS_TOKEN_TTL` on the server, e.g. `7d` or `12h`) with a sliding 365-day refresh window, so random 401s should be rare. When one does happen, use the lightweight reconnect command rather than reinstalling:
|
|
156
156
|
|
|
157
157
|
```bash
|
|
158
|
-
npx -y @agent-native/core@latest reconnect https://plan.agent-native.com
|
|
158
|
+
npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --client codex
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
-
`reconnect` finds any MCP config entry whose URL ends in `/_agent-native/mcp` for the given host (matching by URL regardless of connector name), then refreshes or replaces the auth material without touching your installed skills or re-running the full install flow. Pass the base app URL (e.g. `https://plan.agent-native.com`) — the `/_agent-native/mcp` suffix is inferred.
|
|
161
|
+
`reconnect` finds any MCP config entry whose URL ends in `/_agent-native/mcp` for the given host and selected client (matching by URL regardless of connector name), then refreshes or replaces the auth material without touching your installed skills or re-running the full install flow. Pass the base app URL (e.g. `https://plan.agent-native.com`) — the `/_agent-native/mcp` suffix is inferred. Auth and tool loading are per client, so restart/reload that client afterward; Codex needs a new session before newly loaded tools appear.
|
|
162
162
|
|
|
163
163
|
In Claude Code, the equivalent UI path is: run `/mcp` and choose **Authenticate** (or **Reconnect**) for the relevant connector.
|
|
164
164
|
|
|
@@ -240,10 +240,10 @@ always serve the full action surface. When the env flag is set, individual
|
|
|
240
240
|
callers can still opt up by minting their token with `--full-catalog`:
|
|
241
241
|
|
|
242
242
|
```bash
|
|
243
|
-
npx @agent-native/core@latest connect https://plan.agent-native.com --full-catalog
|
|
243
|
+
npx @agent-native/core@latest connect https://plan.agent-native.com --client codex --full-catalog
|
|
244
244
|
```
|
|
245
245
|
|
|
246
|
-
This embeds a `catalog_scope: "full"` claim in the minted JWT. On subsequent
|
|
246
|
+
Swap `--client codex` for another target client when needed. This embeds a `catalog_scope: "full"` claim in the minted JWT. On subsequent
|
|
247
247
|
requests the MCP server bypasses the connector-catalog filter for that token
|
|
248
248
|
and serves the complete action surface — identical to the local/dev experience.
|
|
249
249
|
|
package/docs/content/frames.md
CHANGED
|
@@ -81,7 +81,7 @@ allow-list to prevent injection:
|
|
|
81
81
|
| OpenCode | `opencode` | `opencode-ai` |
|
|
82
82
|
|
|
83
83
|
If the selected CLI isn't found on `PATH`, the terminal falls back to running it
|
|
84
|
-
through `npx --yes <install-package
|
|
84
|
+
through `npx --yes <install-package>@latest` (where an install package exists). The
|
|
85
85
|
default command is `claude`. Switch CLIs from the agent panel settings at any
|
|
86
86
|
time.
|
|
87
87
|
|
|
@@ -23,9 +23,9 @@ tree does not show them as default `mcp-servers/*.json` resources.
|
|
|
23
23
|
|
|
24
24
|
| Capability | Server id | Command |
|
|
25
25
|
| ------------------ | ----------------- | ----------------------------------------------------------------------- |
|
|
26
|
-
| Chrome DevTools | `chrome-devtools` | `npx -y chrome-devtools-mcp@
|
|
27
|
-
| Playwright Browser | `playwright` | `npx -y @playwright/mcp@
|
|
28
|
-
| Computer Use | `computer-use` | `npx -y computer-use-mcp@
|
|
26
|
+
| Chrome DevTools | `chrome-devtools` | `npx -y chrome-devtools-mcp@latest --autoConnect --no-usage-statistics` |
|
|
27
|
+
| Playwright Browser | `playwright` | `npx -y @playwright/mcp@latest` |
|
|
28
|
+
| Computer Use | `computer-use` | `npx -y computer-use-mcp@latest` |
|
|
29
29
|
|
|
30
30
|
Only one browser capability can be enabled in a scope at a time. Enabling Chrome DevTools disables Playwright for that same user or org, and enabling Playwright disables Chrome DevTools.
|
|
31
31
|
|
|
@@ -70,13 +70,13 @@ Create `mcp.config.json` at your workspace root (or at an individual app root
|
|
|
70
70
|
},
|
|
71
71
|
"playwright": {
|
|
72
72
|
"command": "npx",
|
|
73
|
-
"args": ["-y", "@playwright/mcp@
|
|
73
|
+
"args": ["-y", "@playwright/mcp@latest"],
|
|
74
74
|
},
|
|
75
75
|
"filesystem": {
|
|
76
76
|
"command": "npx",
|
|
77
77
|
"args": [
|
|
78
78
|
"-y",
|
|
79
|
-
"@modelcontextprotocol/server-filesystem",
|
|
79
|
+
"@modelcontextprotocol/server-filesystem@latest",
|
|
80
80
|
"/Users/me/projects",
|
|
81
81
|
],
|
|
82
82
|
},
|
|
@@ -23,11 +23,13 @@ long-lived (30-day default, sliding 365-day refresh), so this should be rare;
|
|
|
23
23
|
when it happens, the lightweight fix is:
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
npx -y @agent-native/core@latest reconnect https://plan.agent-native.com
|
|
26
|
+
npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --client codex
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
`reconnect` finds and refreshes the connector by URL
|
|
30
|
-
|
|
29
|
+
`reconnect` finds and refreshes the connector by URL for the selected local
|
|
30
|
+
client — no reinstall needed. Start a new Codex thread after reconnecting so the
|
|
31
|
+
tool registry reloads. In Claude Code, the equivalent is `/mcp` →
|
|
32
|
+
**Authenticate / Reconnect**, or the same command with `--client claude-code`.
|
|
31
33
|
|
|
32
34
|
The exception is explicit **local-files privacy mode**. When you ask for no DB
|
|
33
35
|
writes or set `AGENT_NATIVE_PLANS_MODE=local-files`, the skills must not call
|
|
@@ -56,7 +58,7 @@ There are three ways in. The **universal CLI route** is the one we recommend by
|
|
|
56
58
|
|
|
57
59
|
### Universal skill route (any MCP host) {#universal}
|
|
58
60
|
|
|
59
|
-
Works for any host — Claude Code, Codex, Cursor, Cline, Goose, ChatGPT custom MCP apps, Claude Cowork, and anything else MCP-compatible. The Agent-Native CLI installs both skills, registers the hosted Plan MCP connector, **and
|
|
61
|
+
Works for any host — Claude Code, Codex, Cursor, Cline, Goose, ChatGPT custom MCP apps, Claude Cowork, and anything else MCP-compatible. The Agent-Native CLI installs both skills, registers the hosted Plan MCP connector, **and runs auth for the selected local client(s) in the same step**, so your first tool call does not hit an OAuth wall:
|
|
60
62
|
|
|
61
63
|
```bash
|
|
62
64
|
npx @agent-native/core@latest skills add visual-plan
|
|
@@ -64,8 +66,8 @@ npx @agent-native/core@latest skills add visual-plan
|
|
|
64
66
|
|
|
65
67
|
This installs `visual-plan` plus the companion `visual-recap` skill, then registers the `plan` connector, then runs auth (OAuth prompt for hosted/account-backed sharing). Useful flags:
|
|
66
68
|
|
|
67
|
-
- `--client codex|claude-code|claude-code-cli|cowork|all` — which local agents to write the MCP config for (default `
|
|
68
|
-
- `--no-connect` — register the connector without authenticating; run `npx @agent-native/core@latest connect https://plan.agent-native.com` later
|
|
69
|
+
- `--client codex|claude-code|claude-code-cli|cowork|all` — which local agents to write the MCP config for (default `all`).
|
|
70
|
+
- `--no-connect` — register the connector without authenticating; run `npx @agent-native/core@latest connect https://plan.agent-native.com --client all` later, or choose a narrower `--client`.
|
|
69
71
|
- `--mcp-url <url>` — point the connector at a custom origin (an ngrok tunnel, a local dev server, or a self-hosted deployment) instead of the hosted default.
|
|
70
72
|
- `--with-github-action` — also write the PR Visual Recap GitHub Action (see [PR Visual Recap](/docs/pr-visual-recap)).
|
|
71
73
|
|
|
@@ -84,7 +86,7 @@ access, and required Actions configuration. After install finishes, restart or
|
|
|
84
86
|
reload the agent client so the new skills and tools load, then run
|
|
85
87
|
`/visual-plan`.
|
|
86
88
|
|
|
87
|
-
> Note: the bare `npx skills add BuilderIO/agent-native --skill visual-plan` (Vercel/open Skills CLI) installs **instructions only** — it does not register the MCP connector. Use the Agent-Native CLI above when you want the connector wired up too.
|
|
89
|
+
> Note: the bare `npx skills@latest add BuilderIO/agent-native --skill visual-plan` (Vercel/open Skills CLI) installs **instructions only** — it does not register the MCP connector. Use the Agent-Native CLI above when you want the connector wired up too.
|
|
88
90
|
|
|
89
91
|
### Claude Code (plugin) {#claude-code}
|
|
90
92
|
|
|
@@ -113,7 +115,7 @@ codex mcp login plan # OAuth in the browser
|
|
|
113
115
|
|
|
114
116
|
After install, **start a new Codex thread** so the skills and MCP tools load into the session. The plugin ships a URL-only connector (`[mcp_servers.plan]` → `https://plan.agent-native.com/_agent-native/mcp`); `codex mcp login plan` runs the OAuth flow. The universal CLI route above also works for Codex (`npx @agent-native/core@latest skills add visual-plan --client codex`) if you prefer one command that installs and authenticates together.
|
|
115
117
|
|
|
116
|
-
> **Older installs:** if your config still has an `agent-native-plans` entry pointing at the same URL, running `npx -y @agent-native/core@latest reconnect https://plan.agent-native.com`
|
|
118
|
+
> **Older installs:** if your config still has an `agent-native-plans` entry pointing at the same URL, running `npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --client codex` for Codex, or the same command with your target `--client`, consolidates it to the canonical `plan` name.
|
|
117
119
|
|
|
118
120
|
## Updates {#updates}
|
|
119
121
|
|
|
@@ -216,7 +216,7 @@ npx @agent-native/core@latest skills add visual-plan
|
|
|
216
216
|
npx @agent-native/core@latest skills add assets
|
|
217
217
|
|
|
218
218
|
# Vercel/open Skills CLI: exported instructions only, no MCP config.
|
|
219
|
-
npx skills add BuilderIO/agent-native --skill assets
|
|
219
|
+
npx skills@latest add BuilderIO/agent-native --skill assets
|
|
220
220
|
|
|
221
221
|
# Register a hosted MCP connector for local agent clients.
|
|
222
222
|
npx @agent-native/core@latest app-skill ensure --manifest templates/assets/agent-native.app-skill.json
|
|
@@ -229,7 +229,7 @@ npx @agent-native/core@latest app-skill launch --manifest templates/assets/agent
|
|
|
229
229
|
npx @agent-native/core@latest app-skill pack --manifest templates/assets/agent-native.app-skill.json --out ./dist/assets-skill
|
|
230
230
|
|
|
231
231
|
# Install a local exported bundle with the Vercel/open Skills CLI.
|
|
232
|
-
npx skills add ./dist/assets-skill --skill assets -a codex -y
|
|
232
|
+
npx skills@latest add ./dist/assets-skill --skill assets -a codex -y
|
|
233
233
|
|
|
234
234
|
# Add the generated Claude Code marketplace, then install its Assets plugin.
|
|
235
235
|
claude plugin marketplace add ./dist/assets-skill/adapters/claude-marketplace
|
|
@@ -241,7 +241,7 @@ metadata; OAuth/device setup happens in the MCP host or through the app's normal
|
|
|
241
241
|
settings flow.
|
|
242
242
|
|
|
243
243
|
The Vercel Labs `skills` adapter is a portable `skills/<name>/SKILL.md` bundle
|
|
244
|
-
for `npx skills add ...`, but the raw `skills` CLI installs instructions only.
|
|
244
|
+
for `npx skills@latest add ...`, but the raw `skills` CLI installs instructions only.
|
|
245
245
|
It does not run repo-defined postinstall scripts or register MCP connectors.
|
|
246
246
|
Keep the Agent Native CLI as the default docs path for local agents because it
|
|
247
247
|
also registers the MCP connector. `BuilderIO/agent-native` is a real GitHub
|
|
@@ -60,7 +60,7 @@ Generate and pick brand media without leaving Codex, Claude Code, Claude, or Cha
|
|
|
60
60
|
Skills CLI, use:
|
|
61
61
|
|
|
62
62
|
```bash
|
|
63
|
-
npx skills add BuilderIO/agent-native --skill assets
|
|
63
|
+
npx skills@latest add BuilderIO/agent-native --skill assets
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
The Vercel/open Skills CLI installs the instruction file only; it does not
|
|
@@ -181,7 +181,7 @@ The Assets app skill has app id `assets` and hosted MCP URL
|
|
|
181
181
|
npx @agent-native/core@latest skills add assets
|
|
182
182
|
|
|
183
183
|
# Vercel/open Skills CLI install: exported instructions only, no MCP config.
|
|
184
|
-
npx skills add BuilderIO/agent-native --skill assets
|
|
184
|
+
npx skills@latest add BuilderIO/agent-native --skill assets
|
|
185
185
|
|
|
186
186
|
# Hosted install: URL-only MCP connector, no shared secrets in skill files.
|
|
187
187
|
npx @agent-native/core@latest app-skill ensure --manifest templates/assets/agent-native.app-skill.json
|
|
@@ -193,7 +193,7 @@ npx @agent-native/core@latest app-skill launch --manifest templates/assets/agent
|
|
|
193
193
|
npx @agent-native/core@latest app-skill pack --manifest templates/assets/agent-native.app-skill.json --out ./dist/assets-skill
|
|
194
194
|
|
|
195
195
|
# Install a local exported Assets bundle with the open skills CLI.
|
|
196
|
-
npx skills add ./dist/assets-skill --skill assets -a codex -y
|
|
196
|
+
npx skills@latest add ./dist/assets-skill --skill assets -a codex -y
|
|
197
197
|
|
|
198
198
|
# Install from the generated Claude Code marketplace adapter.
|
|
199
199
|
claude plugin marketplace add ./dist/assets-skill/adapters/claude-marketplace
|
|
@@ -211,7 +211,7 @@ as `/plugin marketplace add ./dist/assets-skill/adapters/claude-marketplace`,
|
|
|
211
211
|
`/plugin install agent-native-assets@agent-native-apps`, `/reload-plugins`, and
|
|
212
212
|
`/mcp` for MCP authentication.
|
|
213
213
|
|
|
214
|
-
If you install from a raw marketplace bundle with `npx skills`, register the
|
|
214
|
+
If you install from a raw marketplace bundle with `npx skills@latest`, register the
|
|
215
215
|
hosted MCP connector so those instructions can call the live Assets app:
|
|
216
216
|
|
|
217
217
|
```bash
|
|
@@ -54,15 +54,17 @@ step does depends on your client:
|
|
|
54
54
|
- In a **non-interactive shell or CI**, the auth step is skipped and the exact
|
|
55
55
|
command to run later is printed for you.
|
|
56
56
|
|
|
57
|
-
By default the CLI targets
|
|
58
|
-
|
|
57
|
+
By default the CLI targets every supported local client it can configure. Pass
|
|
58
|
+
`--client codex`, `--client claude-code`, or another specific client when you
|
|
59
|
+
want to narrow setup to one host:
|
|
59
60
|
|
|
60
61
|
```bash
|
|
61
|
-
npx @agent-native/core@latest skills add visual-plan
|
|
62
|
+
npx @agent-native/core@latest skills add visual-plan
|
|
62
63
|
```
|
|
63
64
|
|
|
64
65
|
Pass `--no-connect` to register the connector without authenticating, then run
|
|
65
|
-
`npx @agent-native/core@latest connect https://plan.agent-native.com
|
|
66
|
+
`npx @agent-native/core@latest connect https://plan.agent-native.com --client all`
|
|
67
|
+
whenever you are ready, or choose a narrower `--client`:
|
|
66
68
|
|
|
67
69
|
```bash
|
|
68
70
|
npx @agent-native/core@latest skills add visual-plan --no-connect
|
|
@@ -84,7 +86,7 @@ to verify the repo is ready.
|
|
|
84
86
|
If you only want the portable instruction file through the open Skills CLI, use:
|
|
85
87
|
|
|
86
88
|
```bash
|
|
87
|
-
npx skills add BuilderIO/agent-native --skill visual-plan
|
|
89
|
+
npx skills@latest add BuilderIO/agent-native --skill visual-plan
|
|
88
90
|
```
|
|
89
91
|
|
|
90
92
|
That installs the skill instructions only. It does not register the hosted MCP
|
|
@@ -243,9 +245,10 @@ of the hosted database.
|
|
|
243
245
|
|
|
244
246
|
If a Plans tool ever returns `needs auth`, `Unauthorized`, or `Session
|
|
245
247
|
terminated`, do not keep retrying it. Authenticate the connector with
|
|
246
|
-
`npx @agent-native/core@latest
|
|
247
|
-
**Authenticate** in an OAuth-capable host
|
|
248
|
-
|
|
248
|
+
`npx -y @agent-native/core@latest reconnect https://plan.agent-native.com --client codex`
|
|
249
|
+
for Codex, or re-run `/mcp` → **Authenticate** in an OAuth-capable host. Start a
|
|
250
|
+
new Codex thread or restart/reload the relevant client before expecting the tool
|
|
251
|
+
registry to update.
|
|
249
252
|
|
|
250
253
|
## For developers
|
|
251
254
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-native/core",
|
|
3
|
-
"version": "0.49.
|
|
3
|
+
"version": "0.49.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22"
|
|
@@ -218,7 +218,6 @@
|
|
|
218
218
|
"pako": "^2.1.0",
|
|
219
219
|
"prettier": "^3.8.3",
|
|
220
220
|
"react-markdown": "^10.1.0",
|
|
221
|
-
"react-router": "^7.16.0",
|
|
222
221
|
"recharts": "^3.8.1",
|
|
223
222
|
"remark-gfm": "^4.0.1",
|
|
224
223
|
"roughjs": "4.6.6",
|