agentsmesh 0.7.0 → 0.9.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/dist/cli.js CHANGED
@@ -1,166 +1,167 @@
1
1
  #!/usr/bin/env node
2
- import {access,mkdir,lstat,writeFile,rename,rm as rm$1,readlink,unlink,symlink,stat,readFile,readdir,realpath,mkdtemp,cp,copyFile}from'fs/promises';import {dirname,join,resolve,relative,basename,sep,win32,posix,isAbsolute,normalize,extname}from'path';import {realpathSync,constants,statSync,existsSync,rmSync}from'fs';import {parse,stringify}from'yaml';import {parse as parse$1}from'smol-toml';import {z as z$1}from'zod';import {Buffer}from'buffer';import {fileURLToPath,pathToFileURL,URL}from'url';import {createRequire}from'module';import {homedir,hostname,tmpdir}from'os';import {execFile}from'child_process';import {promisify}from'util';import*as Md from'tar';import {createHash}from'crypto';import {createTwoFilesPatch}from'diff';import UN from'chokidar';import*as uw from'readline';var gd=Object.defineProperty;var i=(t,e)=>gd(t,"name",{value:e,configurable:true});var g=(t,e)=>()=>(t&&(e=t(t=0)),e);var eO=(t,e)=>{for(var r in e)gd(t,r,{get:e[r],enumerable:true});};var _o,Yr,Xi,Zi,hr,Ls=g(()=>{_o=class extends Error{static{i(this,"AgentsMeshError");}code;constructor(e,r,n){super(r,n),this.name="AgentsMeshError",this.code=e;}},Yr=class extends _o{static{i(this,"ConfigNotFoundError");}path;constructor(e,r){super("AM_CONFIG_NOT_FOUND",r?.message??`agentsmesh.yaml not found at ${e}. Run 'agentsmesh init' to create one.`,r),this.name="ConfigNotFoundError",this.path=e;}},Xi=class extends _o{static{i(this,"ConfigValidationError");}issues;constructor(e,r,n){super("AM_CONFIG_INVALID",`Invalid config at ${e}: ${r.join("; ")}. Fix the YAML and try again.`,n),this.name="ConfigValidationError",this.issues=r;}},Zi=class extends _o{static{i(this,"LockAcquisitionError");}lockPath;holder;constructor(e,r,n){super("AM_LOCK_ACQUISITION_FAILED",`Could not acquire generate lock at ${e}: currently held by ${r}. Wait for the other process to finish, or remove ${e} manually if you are sure no agentsmesh process is running.`,n),this.name="LockAcquisitionError",this.lockPath=e,this.holder=r;}},hr=class extends _o{static{i(this,"FileSystemError");}path;errnoCode;constructor(e,r,n){super("AM_FILESYSTEM",r,n),this.name="FileSystemError",this.path=e,this.errnoCode=n?.errnoCode;}};});async function y(t){try{let e=await readFile(t,"utf-8");return e.startsWith(Ed)?e.slice(Ed.length):e}catch(e){let r=e;if(r.code==="ENOENT")return null;throw new hr(t,`Failed to read ${t}: ${r.message}. Ensure the file exists and is readable.`,{cause:e,errnoCode:r.code})}}async function S(t,e){let r=dirname(t);await mkdir(r,{recursive:true});try{if((await lstat(t)).isDirectory())throw new hr(t,`Failed to write ${t}: target exists and is a directory. Remove it or choose a different path.`,{errnoCode:"EISDIR"})}catch(o){if(o instanceof hr||o.code!=="ENOENT")throw o}let n=`${t}.tmp`;try{await writeFile(n,e,"utf-8"),await rename(n,t);}catch(o){await rm$1(n,{force:true}).catch(()=>{});let s=o;throw new hr(t,`Failed to write ${t}: ${s.message}. Check permissions and disk space.`,{cause:o,errnoCode:s.code})}}async function N(t){try{return await access(t,constants.F_OK),!0}catch{return false}}async function k(t){await mkdir(t,{recursive:true});}async function b(t,e){let r;try{r=await realpath(t);}catch(o){let s=o;if(s.code==="ENOENT"||s.code==="ENOTDIR"||s.code==="ELOOP")return [];throw new hr(t,`Failed to read directory ${t}: ${s.message}. Check permissions.`,{cause:o,errnoCode:s.code})}let n=e??new Set;if(n.has(r))return [];n.add(r);try{let o=await readdir(t,{withFileTypes:!0}),s=[];for(let a of o){let l=join(t,a.name);a.isDirectory()||a.isSymbolicLink()&&await stat(l).then(m=>m.isDirectory(),()=>!1)?s.push(...await b(l,n)):s.push(l);}return s}catch(o){let s=o;if(s.code==="ENOENT"||s.code==="ENOTDIR"||s.code==="EACCES")return [];throw new hr(t,`Failed to read directory ${t}: ${s.message}. Check permissions.`,{cause:o,errnoCode:s.code})}}async function ql(t,e){let r=resolve(t);try{if(!(await lstat(e)).isSymbolicLink()||resolve(dirname(e),await readlink(e))===r)return;await unlink(e);}catch(n){if(n.code!=="ENOENT")throw n}await symlink(r,e,"dir");}var Ed,E=g(()=>{Ls();Ed="\uFEFF";i(y,"readFileSafe");i(S,"writeFileAtomic");i(N,"exists");i(k,"mkdirp");i(b,"readDirRecursive");i(ql,"ensureCacheSymlink");});function wn(t){return ht.includes(t)}var ht,Ns,yr=g(()=>{ht=["claude-code","cursor","copilot","continue","junie","kiro","gemini-cli","cline","codex-cli","windsurf","antigravity","roo-code"],Ns="codex-cli";i(wn,"isBuiltinTargetId");});function w(t){if(t.indexOf("---")!==0)return {frontmatter:{},body:t.trim()};let r=t.indexOf("---",3);if(r===-1)return {frontmatter:{},body:t.trim()};let n=t.slice(3,r).trim(),o=t.slice(r+3).trim();return {frontmatter:n===""?{}:parse(n)??{},body:o}}function D(t,e){return Object.keys(t).length===0?e:`---
2
+ import {access,mkdir,lstat,unlink,writeFile,rename,rm as rm$1,readlink,symlink,stat,readFile,readdir,realpath,mkdtemp,cp as cp$1,copyFile}from'fs/promises';import {dirname,join,resolve,relative,normalize,basename,sep,extname,win32,posix,isAbsolute}from'path';import {realpathSync,constants,statSync,existsSync,rmSync}from'fs';import {parse,stringify}from'yaml';import {parse as parse$1}from'smol-toml';import {Buffer}from'buffer';import {z as z$1}from'zod';import {fileURLToPath,pathToFileURL,URL}from'url';import {createRequire}from'module';import {homedir,hostname,tmpdir}from'os';import {createHash}from'crypto';import {execFile}from'child_process';import {promisify}from'util';import*as Jd from'tar';import {createTwoFilesPatch}from'diff';import _D from'chokidar';import*as Fw from'readline';var Od=Object.defineProperty;var i=(t,e)=>Od(t,"name",{value:e,configurable:true});var f=(t,e)=>()=>(t&&(e=t(t=0)),e);var OO=(t,e)=>{for(var r in e)Od(t,r,{get:e[r],enumerable:true});};var co,$r,Ji,Yi,ar,Cs=f(()=>{co=class extends Error{static{i(this,"AgentsMeshError");}code;constructor(e,r,n){super(r,n),this.name="AgentsMeshError",this.code=e;}},$r=class extends co{static{i(this,"ConfigNotFoundError");}path;constructor(e,r){super("AM_CONFIG_NOT_FOUND",r?.message??`agentsmesh.yaml not found at ${e}. Run 'agentsmesh init' to create one.`,r),this.name="ConfigNotFoundError",this.path=e;}},Ji=class extends co{static{i(this,"ConfigValidationError");}issues;constructor(e,r,n){super("AM_CONFIG_INVALID",`Invalid config at ${e}: ${r.join("; ")}. Fix the YAML and try again.`,n),this.name="ConfigValidationError",this.issues=r;}},Yi=class extends co{static{i(this,"LockAcquisitionError");}lockPath;holder;constructor(e,r,n){super("AM_LOCK_ACQUISITION_FAILED",`Could not acquire generate lock at ${e}: currently held by ${r}. Wait for the other process to finish, or remove ${e} manually if you are sure no agentsmesh process is running.`,n),this.name="LockAcquisitionError",this.lockPath=e,this.holder=r;}},ar=class extends co{static{i(this,"FileSystemError");}path;errnoCode;constructor(e,r,n){super("AM_FILESYSTEM",r,n),this.name="FileSystemError",this.path=e,this.errnoCode=n?.errnoCode;}};});function YO(t){let e=extname(t).toLowerCase();if(e.length>0)return VO.has(e);let r=basename(t).toLowerCase();return JO.has(r)}function XO(t){return t.replace(/\r\n?/g,`
3
+ `)}async function I(t){try{let e=await readFile(t,"utf-8");return e.startsWith(vd)?e.slice(vd.length):e}catch(e){let r=e;if(r.code==="ENOENT")return null;throw new ar(t,`Failed to read ${t}: ${r.message}. Ensure the file exists and is readable.`,{cause:e,errnoCode:r.code})}}async function _(t,e){let r=dirname(t);await mkdir(r,{recursive:true});try{let s=await lstat(t);if(s.isDirectory())throw new ar(t,`Failed to write ${t}: target exists and is a directory. Remove it or choose a different path.`,{errnoCode:"EISDIR"});s.isSymbolicLink()&&await unlink(t).catch(a=>{if(a.code!=="ENOENT")throw a});}catch(s){if(s instanceof ar||s.code!=="ENOENT")throw s}let n=`${t}.tmp`,o=YO(t)?XO(e):e;try{try{(await lstat(n)).isSymbolicLink()&&await unlink(n);}catch(s){if(s.code!=="ENOENT")throw s}await writeFile(n,o,{encoding:"utf-8",flag:"w"}),await rename(n,t);}catch(s){await rm$1(n,{force:true}).catch(()=>{});let a=s;throw new ar(t,`Failed to write ${t}: ${a.message}. Check permissions and disk space.`,{cause:s,errnoCode:a.code})}}async function L(t){try{return await access(t,constants.F_OK),!0}catch{return false}}async function k(t){await mkdir(t,{recursive:true});}async function P(t,e){let r;try{r=await realpath(t);}catch(o){let s=o;if(s.code==="ENOENT"||s.code==="ENOTDIR"||s.code==="ELOOP")return [];throw new ar(t,`Failed to read directory ${t}: ${s.message}. Check permissions.`,{cause:o,errnoCode:s.code})}let n=e??new Set;if(n.has(r))return [];n.add(r);try{let o=await readdir(t,{withFileTypes:!0}),s=[];for(let a of o){let l=join(t,a.name);a.isDirectory()||a.isSymbolicLink()&&await stat(l).then(m=>m.isDirectory(),()=>!1)?s.push(...await P(l,n)):s.push(l);}return s}catch(o){let s=o;if(s.code==="ENOENT"||s.code==="ENOTDIR"||s.code==="EACCES")return [];throw new ar(t,`Failed to read directory ${t}: ${s.message}. Check permissions.`,{cause:o,errnoCode:s.code})}}async function sc(t,e){let r=resolve(t);try{if(!(await lstat(e)).isSymbolicLink()||resolve(dirname(e),await readlink(e))===r)return;await unlink(e);}catch(n){if(n.code!=="ENOENT")throw n}await symlink(r,e,"dir");}var vd,VO,JO,E=f(()=>{Cs();vd="\uFEFF",VO=new Set([".md",".mdc",".mdx",".markdown",".txt",".json",".jsonc",".yaml",".yml",".toml",".ini",".sh",".bash",".zsh",".ps1",".js",".mjs",".cjs",".ts",".tsx",".html",".css"]),JO=new Set([".gitignore",".cursorignore",".cursorindexingignore",".aiignore",".agentignore",".clineignore",".geminiignore",".codeiumignore",".continueignore",".copilotignore",".windsurfignore",".junieignore",".kiroignore",".rooignore",".antigravityignore"]);i(YO,"shouldNormalizeLineEndings");i(XO,"normalizeLineEndings");i(I,"readFileSafe");i(_,"writeFileAtomic");i(L,"exists");i(k,"mkdirp");i(P,"readDirRecursive");i(sc,"ensureCacheSymlink");});function Mr(t){return ic.includes(t)}var ic,Gd=f(()=>{ic=["antigravity","claude-code","cline","codex-cli","continue","copilot","cursor","gemini-cli","junie","kiro","roo-code","windsurf"];i(Mr,"isBuiltinTargetId");});var ht,ks,lr=f(()=>{Gd();ht=ic,ks="codex-cli";});function O(t){if(t.indexOf("---")!==0)return {frontmatter:{},body:t.trim()};let r=t.indexOf("---",3);if(r===-1)return {frontmatter:{},body:t.trim()};let n=t.slice(3,r).trim(),o=t.slice(r+3).trim();return {frontmatter:n===""?{}:parse(n)??{},body:o}}function N(t,e){return Object.keys(t).length===0?e:`---
3
4
  ${stringify(t,{lineWidth:0}).trimEnd()}
4
5
  ---
5
6
 
6
- ${e}`}var F=g(()=>{i(w,"parseFrontmatter");i(D,"serializeFrontmatter");});function af(t){return typeof t=="string"?t.trim():""}function mt(t){return af(t.command)}function Ot(t){return af(t.prompt)}function pc(t){let e=mt(t),r=Ot(t);return t.type==="prompt"?r||e:e||r}function Ir(t){return mt(t).length>0}function $e(t){return pc(t).length>0}var fe=g(()=>{i(af,"trimString");i(mt,"getHookCommand");i(Ot,"getHookPrompt");i(pc,"getHookText");i(Ir,"hasHookCommand");i($e,"hasHookText");});function kE(t){return Object.prototype.hasOwnProperty.call(uf,t)}function wE(t){return Object.prototype.hasOwnProperty.call(pf,t)}function df(t,e){if(t!==void 0)return typeof t=="boolean"?t:t[e]}function Po(t,e,r,n="project"){let o=t.conversions?.commands_to_skills?.[e],s=df(o,n);return s!==void 0?s:kE(e)?uf[e]:r??false}function te(t,e,r,n="project"){let o=t.conversions?.agents_to_skills?.[e],s=df(o,n);return s!==void 0?s:wE(e)?pf[e]:r??false}var uf,pf,xo=g(()=>{uf={"codex-cli":true},pf={"gemini-cli":false,cline:true,"codex-cli":false,windsurf:true};i(kE,"usesCommandSkillProjection");i(wE,"usesAgentSkillProjection");i(df,"resolveConversionValue");i(Po,"shouldConvertCommandsToSkills");i(te,"shouldConvertAgentsToSkills");});function ge(t,e){return e!==void 0?{level:t,flavor:e}:{level:t}}function _r(t){return typeof t=="string"?{level:t}:t}function ff(t){return {rules:_r(t.rules),additionalRules:_r(t.additionalRules),commands:_r(t.commands),agents:_r(t.agents),skills:_r(t.skills),mcp:_r(t.mcp),hooks:_r(t.hooks),ignore:_r(t.ignore),permissions:_r(t.permissions)}}var bo=g(()=>{i(ge,"cap");i(_r,"normalizeCapabilityValue");i(ff,"normalizeTargetCapabilities");});function gf(t){for(let e of Tt)if(e.sharedArtifacts){for(let[r,n]of Object.entries(e.sharedArtifacts))if(n==="owner"&&t.startsWith(r))return e.id}return null}function OE(t){let e=[];for(let n of t)if(n.sharedArtifacts)for(let[o,s]of Object.entries(n.sharedArtifacts))s==="owner"&&e.push({targetId:n.id,prefix:o});let r=[];for(let n=0;n<e.length;n++)for(let o=n+1;o<e.length;o++){let s=e[n],a=e[o];s===void 0||a===void 0||(s.prefix===a.prefix||s.prefix.startsWith(a.prefix)||a.prefix.startsWith(s.prefix))&&r.push({a:s,b:a});}return r}function hf(t){let e=OE(t);if(e.length===0)return;let r=e.map(({a:n,b:o})=>` - "${n.targetId}" owns "${n.prefix}" and "${o.targetId}" owns "${o.prefix}"`);throw new Error(`Shared-artifact ownership conflict: two targets claim the same or overlapping prefix.
7
+ ${e}`}var F=f(()=>{i(O,"parseFrontmatter");i(N,"serializeFrontmatter");});function If(t){return typeof t=="string"?t.trim():""}function ut(t){return If(t.command)}function Ot(t){return If(t.prompt)}function _c(t){let e=ut(t),r=Ot(t);return t.type==="prompt"?r||e:e||r}function cr(t){return ut(t).length>0}function Te(t){return _c(t).length>0}var ce=f(()=>{i(If,"trimString");i(ut,"getHookCommand");i(Ot,"getHookPrompt");i(_c,"getHookText");i(cr,"hasHookCommand");i(Te,"hasHookText");});function QE(t){return Object.prototype.hasOwnProperty.call(Cf,t)}function tb(t){return Object.prototype.hasOwnProperty.call(kf,t)}function wf(t,e){if(t!==void 0)return typeof t=="boolean"?t:t[e]}function xs(t,e,r,n="project"){let o=t.conversions?.commands_to_skills?.[e],s=wf(o,n);return s!==void 0?s:QE(e)?Cf[e]:r??false}function me(t,e,r,n="project"){let o=t.conversions?.agents_to_skills?.[e],s=wf(o,n);return s!==void 0?s:tb(e)?kf[e]:r??false}var Cf,kf,yo=f(()=>{Cf={"codex-cli":true},kf={"gemini-cli":false,cline:true,"codex-cli":false,windsurf:true};i(QE,"usesCommandSkillProjection");i(tb,"usesAgentSkillProjection");i(wf,"resolveConversionValue");i(xs,"shouldConvertCommandsToSkills");i(me,"shouldConvertAgentsToSkills");});function pe(t,e){return e!==void 0?{level:t,flavor:e}:{level:t}}function ue(t){return typeof t=="string"?{level:t}:t}function Of(t){return {rules:ue(t.rules),additionalRules:ue(t.additionalRules),commands:ue(t.commands),agents:ue(t.agents),skills:ue(t.skills),mcp:ue(t.mcp),hooks:ue(t.hooks),ignore:ue(t.ignore),permissions:ue(t.permissions)}}var Cn=f(()=>{i(pe,"cap");i(ue,"normalizeCapabilityValue");i(Of,"normalizeTargetCapabilities");});function Ef(t){for(let e of Ct)if(e.sharedArtifacts){for(let[r,n]of Object.entries(e.sharedArtifacts))if(n==="owner"&&t.startsWith(r))return e.id}return null}function eb(t){let e=[];for(let n of t)if(n.sharedArtifacts)for(let[o,s]of Object.entries(n.sharedArtifacts))s==="owner"&&e.push({targetId:n.id,prefix:o});let r=[];for(let n=0;n<e.length;n++)for(let o=n+1;o<e.length;o++){let s=e[n],a=e[o];s===void 0||a===void 0||(s.prefix===a.prefix||s.prefix.startsWith(a.prefix)||a.prefix.startsWith(s.prefix))&&r.push({a:s,b:a});}return r}function bf(t){let e=eb(t);if(e.length===0)return;let r=e.map(({a:n,b:o})=>` - "${n.targetId}" owns "${n.prefix}" and "${o.targetId}" owns "${o.prefix}"`);throw new Error(`Shared-artifact ownership conflict: two targets claim the same or overlapping prefix.
7
8
  `+r.join(`
8
9
  `)+`
9
- Resolve by changing one target's role to 'consumer' or by namespacing its prefix.`)}var fc=g(()=>{ot();i(gf,"ownerTargetIdForSharedPath");i(OE,"findSharedArtifactOwnershipConflicts");i(hf,"assertSharedArtifactOwnersUnique");});var yf,Xr,If,ia,aa,la,Ms,Gs,Cr,gc,ca,Ao,js,Us,ma,ua,hc,Ws,yc,Tn,Ic,Me=g(()=>{yf="claude-code",Xr=".claude/CLAUDE.md",If="CLAUDE.md",ia=".claude/rules",aa=".claude/commands",la=".claude/agents",Ms=".claude/skills",Gs=".claude/settings.json",Cr=".claude/hooks.json",gc=".claude/output-styles",ca=".claudeignore",Ao=".mcp.json",js=".claude.json",Us=".agentsmesh/rules",ma=".agentsmesh/commands",ua=".agentsmesh/agents",hc=".agentsmesh/skills",Ws=".agentsmesh/mcp.json",yc=".agentsmesh/permissions.yaml",Tn=".agentsmesh/hooks.yaml",Ic=".agentsmesh/ignore";});function Sf(t){if(!t.hooks||Object.keys(t.hooks).length===0)return {};let e={};for(let[r,n]of Object.entries(t.hooks)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!$e(s))continue;let a=mt(s),l=Ot(s),c=s.type==="prompt"?l||a:a||l,m={type:s.type==="prompt"?"prompt":"command",[s.type==="prompt"?"prompt":"command"]:c};s.timeout!==void 0&&(m.timeout=s.timeout),o.push({matcher:s.matcher,hooks:[m]});}o.length>0&&(e[r]=o);}return e}var _f=g(()=>{fe();i(Sf,"buildClaudeHooksObjectFromCanonical");});function Cf(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:Xr,content:r.body.trim()?r.body:""});let n=t.rules.filter(o=>!o.root&&(o.targets.length===0||o.targets.includes("claude-code")));for(let o of n){let s=basename(o.source,".md"),a={};o.description&&(a.description=o.description),o.globs.length>0&&(a.globs=o.globs);let l=D(a,o.body.trim()||"");e.push({path:`${ia}/${s}.md`,content:l});}return e}function Rf(t){return t.commands.map(e=>{let r={description:e.description,"allowed-tools":e.allowedTools.length>0?e.allowedTools:void 0};r["allowed-tools"]===void 0&&delete r["allowed-tools"];let n=D(r,e.body.trim()||"");return {path:`${aa}/${e.name}.md`,content:n}})}function kf(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0,model:e.model||void 0,permissionMode:e.permissionMode||void 0,maxTurns:e.maxTurns>0?e.maxTurns:void 0,mcpServers:e.mcpServers.length>0?e.mcpServers:void 0,hooks:Object.keys(e.hooks).length>0?e.hooks:void 0,skills:e.skills.length>0?e.skills:void 0,memory:e.memory||void 0};Object.keys(r).forEach(a=>{r[a]===void 0&&delete r[a];});let n=e.body.trim()||"",o=/^##\s*Role\b/m.test(n)?n:`## Role
10
+ Resolve by changing one target's role to 'consumer' or by namespacing its prefix.`)}var Cc=f(()=>{rt();i(Ef,"ownerTargetIdForSharedPath");i(eb,"findSharedArtifactOwnershipConflicts");i(bf,"assertSharedArtifactOwnersUnique");});function Ps(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function kc(t,e){return new RegExp(`${Ps(t)}[\\s\\S]*?${Ps(e)}`,"g")}function Lf(t,e,r,n){let o=kc(e,r);if(o.test(t))return t.replace(o,n).trim();let s=t.trim();return s?`${s}
10
11
 
11
- ${n}`,s=D(r,o);return {path:`${la}/${e.name}.md`,content:s}})}function wf(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Ao,content:e}]}function Of(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=r.body.trim()||"",s=!o||/^##\s*Purpose\b/m.test(o)?o:`## Purpose
12
+ ${n}`:n}function wc(t,e,r){return t.replace(kc(e,r),"").trim()}function ob(t){let e=t.replace(/\\/g,"/"),r=e.lastIndexOf(".agentsmesh/");return r>=0?e.slice(r+12):e.startsWith("rules/")?e:join("rules",basename(e)).replace(/\\/g,"/")}function sb(t){return {source:ob(t.source),description:t.description,globs:t.globs,targets:t.targets}}function ib(t){return `${Af}${JSON.stringify(sb(t))}${Tf}`}function ab(t){let e=[ib(t)];return t.description.trim()&&e.push(`## ${t.description.trim()}`,""),e.push(t.body.trim(),Pf),e.filter(r=>r.length>0).join(`
13
+ `)}function lb(t){return t.length===0?"":[oa,...t.map(ab),sa].join(`
14
+ `)}function de(t,e){let r=lb(e),n=wc(t,oa,sa);return r?n?`${n}
12
15
 
13
- ${o}`,a=D(n,s);e.push({path:`${Ms}/${r.name}/SKILL.md`,content:a});for(let l of r.supportingFiles){let c=l.relativePath.replace(/\\/g,"/");e.push({path:`${Ms}/${r.name}/${c}`,content:l.content});}}return e}function Ef(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,n=t.permissions.ask??[];if(e.length===0&&r.length===0&&n.length===0)return [];let o=JSON.stringify({permissions:{allow:e,deny:r,ask:n}},null,2);return [{path:Gs,content:o}]}function Pf(t,e){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let r=Sf(t);if(Object.keys(r).length===0)return [];if(e?.scope==="global")return [{path:Cr,content:JSON.stringify(r,null,2)}];let n=JSON.stringify({hooks:r},null,2);return [{path:Gs,content:n}]}function xf(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
14
- `);return [{path:ca,content:e}]}var bf=g(()=>{F();Me();_f();i(Cf,"generateRules");i(Rf,"generateCommands");i(kf,"generateAgents");i(wf,"generateMcp");i(Of,"generateSkills");i(Ef,"generatePermissions");i(Pf,"generateHooks");i(xf,"generateIgnore");});function Et(t,e,r){return t.startsWith(`${e}/`)&&!r.includes("codex-cli")?`.agents/skills/${t.slice(e.length+1)}`:null}var Zr=g(()=>{i(Et,"mirrorSkillsToAgents");});function xE(t){let e=t.description.trim();return e||(basename(t.source)||"rule").replace(/\.md$/i,"")||"Rule"}function Af(t){let e=t.rules.find(o=>o.root),r=(e?.body??"").trim();return r?`# Global Instructions
16
+ ${r}`:r:n}function xf(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function cb(t){try{let e=JSON.parse(t);if(!e||typeof e!="object"||Array.isArray(e))return null;let r=e;return typeof r.source!="string"||!r.source.startsWith("rules/")?null:{source:r.source,description:typeof r.description=="string"?r.description:"",globs:xf(r.globs),targets:xf(r.targets)}}catch{return null}}function mb(t,e){let r=t.trim();if(!e.trim())return r;let n=`## ${e.trim()}`;return r.startsWith(n)?r.slice(n.length).trim():r}function Nf(t){let e=[],r=kc(oa,sa);return {rootContent:t.replace(r,o=>{let s=o.replace(oa,"").replace(sa,"").trim(),a=new RegExp(`${Ps(Af)}([\\s\\S]*?)${Ps(Tf)}([\\s\\S]*?)${Ps(Pf)}`,"g");for(let l of s.matchAll(a)){let c=l[1],m=l[2];if(c===void 0||m===void 0)continue;let u=cb(c);u&&e.push({...u,body:mb(m,u.description)});}return ""}).trim(),rules:e}}var As,Ts,oa,sa,Pf,Af,Tf,Gr=f(()=>{As="<!-- agentsmesh:root-generation-contract:start -->",Ts="<!-- agentsmesh:root-generation-contract:end -->",oa="<!-- agentsmesh:embedded-rules:start -->",sa="<!-- agentsmesh:embedded-rules:end -->",Pf="<!-- agentsmesh:embedded-rule:end -->",Af="<!-- agentsmesh:embedded-rule:start ",Tf=" -->";i(Ps,"escapeRegExp");i(kc,"managedBlockPattern");i(Lf,"replaceManagedBlock");i(wc,"stripManagedBlock");i(ob,"ruleSource");i(sb,"markerForRule");i(ib,"embeddedRuleStart");i(ab,"renderRule");i(lb,"renderEmbeddedRulesBlock");i(de,"appendEmbeddedRulesBlock");i(xf,"toStringArray");i(cb,"parseMarker");i(mb,"stripGeneratedHeading");i(Nf,"extractEmbeddedRules");});function Oc(t){return t.replace(/\s+/g," ").trim()}function Ff(t){let e=t.trim();if(e.includes(As)&&e.includes(Ts))return Lf(e,As,Ts,Io);let r=Oc(e);if(r.includes(Oc(Io)))return e;for(let n of Df)if(r.includes(Oc(n)))return e.replace(n,Io);return e?`${e}
15
17
 
16
- ## ${e?xE(e):"Guidance"}
18
+ ${Io}`:Io}function vf(t){let e=wc(t,As,Ts);e=e.replace(`
17
19
 
18
- ${r}
19
- `:""}var Tf=g(()=>{i(xE,"ruleSectionTitle");i(Af,"renderClaudeGlobalPrimaryInstructions");});function Nf(t,e){return t===null?"created":t!==e?"updated":"unchanged"}async function Df(t,e,r,n){if(r!=="global")return [];let o=n.has("agents"),s=n.has("commands");if(!o&&!s)return [];let a=[];if(o)for(let l of t.agents){if(!l.outputStyle)continue;let c={name:l.name,description:l.description||void 0},m=D(c,l.body.trim()),u=`${gc}/${l.name}.md`,p=await y(join(e,u));a.push({target:"claude-code",path:u,content:m,currentContent:p??void 0,status:Nf(p,m)});}if(s)for(let l of t.commands){if(!l.outputStyle)continue;let c={name:l.name,description:l.description||void 0},m=D(c,l.body.trim()),u=`${gc}/${l.name}.md`,p=await y(join(e,u));a.push({target:"claude-code",path:u,content:m,currentContent:p??void 0,status:Nf(p,m)});}return a}var Ff=g(()=>{E();F();Me();i(Nf,"computeStatus");i(Df,"generateClaudeGlobalExtras");});function bE(t,e){return $f(e).some(n=>AE(t,n))}function vf(t,e){return t.filter(r=>bE(r,e))}function $f(t){let e=t.match(/^(.+)\{([^}]+)\}(.*)$/);if(!e)return [t];let[,r,n,o]=e;if(!n)return [t];let s=n.split(",").map(l=>l.trim()),a=[];for(let l of s)for(let c of $f(r+l+o))a.push(c);return a}function AE(t,e){return TE(e).test(t)}function TE(t){let e=[],r=0;for(;r<t.length;){if(t.startsWith("**",r)){let s=t.slice(r+2);if(s.length===0&&e.length===0)e.push(".*");else if(e.push(s.startsWith("/")?"(?:[^/]+/)*":"(?:/[^/]+)*?"),s.startsWith("/")){r+=3;continue}r+=2;continue}if(t[r]==="*"){e.push("[^/]*"),r+=1;continue}if(t[r]==="?"){e.push("[^/]"),r+=1;continue}if(t[r]==="{"){e.push("(?:"),r+=1;continue}if(t[r]==="}"){e.push(")"),r+=1;continue}if(t[r]===","){e.push("|"),r+=1;continue}".^$+?()[]{}|\\".includes(t[r])?e.push("\\"+t[r]):e.push(t[r]),r+=1;}let n="^"+e.join("")+"$";return new RegExp(n)}var Mf=g(()=>{i(bE,"globMatch");i(vf,"globFilter");i($f,"expandBraces");i(AE,"matchOne");i(TE,"globToRegex");});function ct(t,e,r,n={}){let o=[],{rules:s}=t;if(s.length===0)return [];if(s.some(l=>l.root)||o.push({level:"error",file:relative(e,s[0].source),message:"Rules exist but no root rule (_root.md or root: true). Add a root rule."}),n.checkGlobMatches===false)return o;for(let l of s){if(l.globs.length===0)continue;let c=false;for(let m of l.globs)if(vf(r,m).length>0){c=true;break}c||o.push({level:"warning",file:relative(e,l.source),message:`globs "${l.globs.join(", ")}" match 0 files in project`});}return o}var he=g(()=>{Mf();i(ct,"validateRules");});function jf(t,e,r,n){return ct(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:yf}))}var Uf=g(()=>{he();Me();i(jf,"lintRules");});function LE(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):typeof t=="string"&&t.length>0?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Lo(t){return `${To}${t}`}function Wf(t){let e={name:Lo(t.name),description:t.description||void 0,"x-agentsmesh-kind":"command","x-agentsmesh-name":t.name,"x-agentsmesh-allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return e.description===void 0&&delete e.description,e["x-agentsmesh-allowed-tools"]===void 0&&delete e["x-agentsmesh-allowed-tools"],D(e,t.body.trim()||"")}function Bf(t,e){if(t["x-agentsmesh-kind"]!=="command")return null;let r=typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"",n=e.startsWith(To)?e.slice(To.length):e.startsWith(Bs)?e.slice(Bs.length):"",o=(r||n).trim();return o?{name:o,description:typeof t.description=="string"?t.description:"",allowedTools:LE(t["x-agentsmesh-allowed-tools"])}:null}function Kf(t,e){return D({description:t.description,"allowed-tools":t.allowedTools},e.trim()||"")}var To,Bs,Ks=g(()=>{F();To="am-command-",Bs="ab-command-";i(LE,"toStringArray");i(Lo,"commandSkillDirName");i(Wf,"serializeCommandSkill");i(Bf,"parseCommandSkillFrontmatter");i(Kf,"serializeImportedCommand");});function pa(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):typeof t=="string"&&t.length>0?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function NE(t){if(!t||typeof t!="object"||Array.isArray(t))return {};let e={};for(let[r,n]of Object.entries(t))Array.isArray(n)&&(e[r]=n.filter(o=>o!==null&&typeof o=="object"&&typeof o.matcher=="string"&&typeof o.command=="string"));return e}function Lt(t){return `${No}${t}`}function da(t){let e={name:Lt(t.name),description:t.description||void 0,"x-agentsmesh-kind":"agent","x-agentsmesh-name":t.name,"x-agentsmesh-tools":t.tools.length>0?t.tools:void 0,"x-agentsmesh-disallowed-tools":t.disallowedTools.length>0?t.disallowedTools:void 0,"x-agentsmesh-model":t.model||void 0,"x-agentsmesh-permission-mode":t.permissionMode||void 0,"x-agentsmesh-max-turns":t.maxTurns>0?t.maxTurns:void 0,"x-agentsmesh-mcp-servers":t.mcpServers.length>0?t.mcpServers:void 0,"x-agentsmesh-hooks":Object.keys(t.hooks).length>0?t.hooks:void 0,"x-agentsmesh-skills":t.skills.length>0?t.skills:void 0,"x-agentsmesh-memory":t.memory||void 0};return Object.keys(e).forEach(r=>{e[r]===void 0&&delete e[r];}),D(e,t.body.trim()||"")}function qr(t,e){if(t["x-agentsmesh-kind"]!=="agent")return null;let r=typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"",n=e.startsWith(No)?e.slice(No.length):e.startsWith(Hs)?e.slice(Hs.length):"",o=(r||n).trim();return o?{name:o,description:typeof t.description=="string"?t.description:"",tools:pa(t["x-agentsmesh-tools"]),disallowedTools:pa(t["x-agentsmesh-disallowed-tools"]),model:typeof t["x-agentsmesh-model"]=="string"?t["x-agentsmesh-model"]:"",permissionMode:typeof t["x-agentsmesh-permission-mode"]=="string"?t["x-agentsmesh-permission-mode"]:"",maxTurns:typeof t["x-agentsmesh-max-turns"]=="number"?t["x-agentsmesh-max-turns"]:Number(t["x-agentsmesh-max-turns"]??0),mcpServers:pa(t["x-agentsmesh-mcp-servers"]),hooks:NE(t["x-agentsmesh-hooks"]),skills:pa(t["x-agentsmesh-skills"]),memory:typeof t["x-agentsmesh-memory"]=="string"?t["x-agentsmesh-memory"]:""}:null}function Ge(t,e){let r={name:t.name,description:t.description,tools:t.tools,disallowedTools:t.disallowedTools.length>0?t.disallowedTools:void 0,model:t.model||void 0,permissionMode:t.permissionMode||void 0,maxTurns:t.maxTurns>0?t.maxTurns:void 0,mcpServers:t.mcpServers.length>0?t.mcpServers:void 0,hooks:Object.keys(t.hooks).length>0?t.hooks:void 0,skills:t.skills.length>0?t.skills:void 0,memory:t.memory||void 0};return Object.keys(r).forEach(n=>{r[n]===void 0&&delete r[n];}),D(r,e.trim()||"")}var No,Hs,ee=g(()=>{F();No="am-agent-",Hs="ab-agent-";i(pa,"toStringArray");i(NE,"toHooks");i(Lt,"projectedAgentSkillDirName");i(da,"serializeProjectedAgentSkill");i(qr,"parseProjectedAgentSkillFrontmatter");i(Ge,"serializeImportedAgent");});function T(t,e){return relative(t,e).replace(/\\/g,"/")}async function L(t,e){return b(join(t,e)).catch(()=>[])}function zf(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}function jE(t,e,r,n){let o=dirname(e),s=dirname(r);for(;o!==n&&o!==".";)zf(t,o,s),o=dirname(o),s=dirname(s);}function G(t,e,r,n){t.set(e,`${r}/${basename(e,n)}.md`);}function z(t,e,r){if(!e.startsWith(`${r}/`))return;let n=e.slice(r.length+1);if(!n)return;if(!n.includes("/")){if(!n.endsWith(".md")||basename(n)==="SKILL.md")return;let p=basename(n,".md");t.set(e,`${Hf}/${p}/SKILL.md`);return}let[o,...s]=n.split("/"),a=s.join("/");if(!o||!a)return;let l=o.startsWith(To)?To:o.startsWith(Bs)?Bs:null;if(l&&a==="SKILL.md"){t.set(e,`${ME}/${o.slice(l.length)}.md`);return}let c=o.startsWith(No)?No:o.startsWith(Hs)?Hs:null;if(c&&a==="SKILL.md"){t.set(e,`${GE}/${o.slice(c.length)}.md`);return}let m=`${Hf}/${o}`;a==="SKILL.md"&&zf(t,`${r}/${o}`,m);let u=`${m}/${a}`;t.set(e,u),a!=="SKILL.md"&&jE(t,e,u,`${r}/${o}`);}function UE(t){return t.split("/").filter(Boolean)[0]??""}async function WE(){if(Sc!==void 0)return Sc;let{BUILTIN_TARGETS:t}=await Promise.resolve().then(()=>(ot(),Vf)),e=new Set;for(let r of t)for(let n of [r.project.rootInstructionPath,r.project.skillDir,...r.project.managedOutputs?.dirs??[],...r.project.managedOutputs?.files??[],...r.detectionPaths,r.globalSupport?.layout.rootInstructionPath,r.globalSupport?.layout.skillDir,...r.globalSupport?.layout.managedOutputs?.dirs??[],...r.globalSupport?.layout.managedOutputs?.files??[],...r.globalSupport?.detectionPaths??[]])if(n!==void 0){let o=UE(n);o.startsWith(".")&&e.add(o);}return Sc=e,e}function Cc(t){return t.split("/").some(e=>e.startsWith("."))}async function BE(t){let e=[],r=await WE();async function n(o){let s=join(t,o),a=await readdir(s,{withFileTypes:true}).catch(()=>[]);for(let l of a){let c=o?`${o}/${l.name}`:l.name;if(l.isDirectory()){if(r.has(l.name)||Cc(c))continue;await n(c);continue}if(l.isSymbolicLink()&&await stat(join(t,c)).then(m=>m.isDirectory(),()=>false)){if(r.has(l.name)||Cc(c))continue;await n(c);continue}(l.name==="AGENTS.md"||l.name==="AGENTS.override.md")&&e.push(join(t,c));}}return i(n,"walk"),await n(""),e}async function ga(t,e){let r=await BE(e);for(let n of r){let o=T(e,n),s=o.endsWith("/AGENTS.md")&&o!=="AGENTS.md"&&!o.endsWith("/AGENTS.override.md"),a=o.endsWith("/AGENTS.override.md")&&o!=="AGENTS.override.md";if(!s&&!a)continue;let l=dirname(o);if(Cc(l))continue;let c=l.replace(/\//g,"-");t.set(o,`${$E}/${c}.md`);}}var $E,ME,GE,Hf,Sc,Wt=g(()=>{E();Ks();ee();$E=".agentsmesh/rules",ME=".agentsmesh/commands",GE=".agentsmesh/agents",Hf=".agentsmesh/skills";i(T,"rel");i(L,"listFiles");i(zf,"addDirectoryMapping");i(jE,"addAncestorMappings");i(G,"addSimpleFileMapping");i(z,"addSkillLikeMapping");i(UE,"firstPathSegment");i(WE,"targetRootSegments");i(Cc,"hasHiddenSegment");i(BE,"listScopedAgentsFiles");i(ga,"addScopedAgentsMappings");});var je,ha,ye,Ie,Vs,Ln,Ue,Js,We,Rr,Do,Nn,Rc,Ys,kc,wc,Fo=g(()=>{je="antigravity",ha=".agents",ye=`${ha}/rules`,Ie=`${ye}/general.md`,Vs=`${ye}/_root.md`,Ln=`${ha}/skills`,Ue=`${ha}/workflows`,Js=`${ha}/antigravity/mcp_config.json`,We=".gemini/antigravity/GEMINI.md",Rr=".gemini/antigravity/skills",Do=".gemini/antigravity/workflows",Nn=".gemini/antigravity/mcp_config.json",Rc=".agentsmesh/rules/_root.md",Ys=".agentsmesh/rules",kc=".agentsmesh/commands",wc=".agentsmesh/mcp.json";});var v,Q,kt,Bt=g(()=>{v=".agentsmesh/rules",Q=".agentsmesh/commands",kt=".agentsmesh/agents";});async function Oc(t,e,r="project"){if(r==="global"){t.set(We,`${v}/_root.md`);for(let n of await L(e,Rr))z(t,T(e,n),Rr);t.set(Nn,".agentsmesh/mcp.json");return}t.set(Ie,`${v}/_root.md`),t.set(Vs,`${v}/_root.md`);for(let n of await L(e,ye)){let o=T(e,n);o===Ie||o===Vs||G(t,o,v,".md");}for(let n of await L(e,Ue))G(t,T(e,n),Q,".md");for(let n of await L(e,Ln))z(t,T(e,n),Ln);}var Jf=g(()=>{Wt();Fo();Bt();i(Oc,"buildAntigravityImportPaths");});async function Ec(t,e,r="project"){if(t.set(".claude/CLAUDE.md",`${v}/_root.md`),t.set(Cr,Tn),r==="project"&&t.set("CLAUDE.md",`${v}/_root.md`),r==="global")for(let n of await L(e,".agents/skills"))z(t,T(e,n),".agents/skills");for(let n of await L(e,".claude/rules"))G(t,T(e,n),v,".md");for(let n of await L(e,".claude/commands"))G(t,T(e,n),Q,".md");for(let n of await L(e,".claude/agents"))G(t,T(e,n),kt,".md");for(let n of await L(e,".claude/skills"))z(t,T(e,n),".claude/skills");}var Yf=g(()=>{Wt();Me();Bt();i(Ec,"buildClaudeCodeImportPaths");});var Qr,kr,Dn,wr,Xf,yt,Be,tn,Fn,vn,$n,Mn,Pc,en,ya,xc,bc,Ac,Zf,re=g(()=>{Qr="cline",kr=".clinerules",Dn=".clineignore",wr=".cline/cline_mcp_settings.json",Xf=".cline/mcp_settings.json",yt=".cline/skills",Be=".clinerules/workflows",tn="AGENTS.md",Fn=".clinerules/hooks",vn="Documents/Cline/Rules",$n="Documents/Cline/Workflows",Mn="Documents/Cline/Hooks",Pc=".agentsmesh/hooks.yaml",en=".agentsmesh/rules",ya=".agentsmesh/commands",xc=".agentsmesh/ignore",bc=".agentsmesh/mcp.json",Ac=".agentsmesh/agents",Zf=".agentsmesh/skills";});async function Tc(t,e,r="project"){if(r==="global"){for(let n of await L(e,vn))G(t,T(e,n),v,".md");for(let n of await L(e,$n))G(t,T(e,n),Q,".md");for(let n of await L(e,yt))z(t,T(e,n),yt);t.set(wr,".agentsmesh/mcp.json");return}t.set(".clinerules/_root.md",`${v}/_root.md`);for(let n of await L(e,".clinerules")){let o=T(e,n);!o.endsWith(".md")||o.includes("/workflows/")||basename(o)==="_root.md"||G(t,o,v,".md");}for(let n of await L(e,".clinerules/workflows"))G(t,T(e,n),Q,".md");for(let n of await L(e,".cline/skills"))z(t,T(e,n),".cline/skills");}var qf=g(()=>{Wt();re();Bt();i(Tc,"buildClineImportPaths");});async function Lc(t,e,r="project"){if(r==="global"?(t.set(".codex/AGENTS.md",`${v}/_root.md`),t.set(".codex/AGENTS.override.md",`${v}/_root.md`)):(t.set("AGENTS.md",`${v}/_root.md`),t.set("codex.md",`${v}/_root.md`),await ga(t,e)),r==="project")for(let n of await L(e,".codex/instructions"))G(t,T(e,n),v,".md");for(let n of await L(e,".codex/rules")){let o=T(e,n);o.endsWith(".rules")?G(t,o,v,".rules"):o.endsWith(".md")&&G(t,o,v,".md");}for(let n of await L(e,".codex/agents"))G(t,T(e,n),kt,".toml");for(let n of await L(e,".agents/skills"))z(t,T(e,n),".agents/skills");}var Qf=g(()=>{Wt();Bt();i(Lc,"buildCodexCliImportPaths");});function HE(t,e){if(e.endsWith(".instructions.md")){t.set(e,`${v}/${basename(e,".instructions.md")}.md`);return}G(t,e,v,".md");}async function Nc(t,e){t.set(".github/copilot-instructions.md",`${v}/_root.md`);for(let r of await L(e,".github/copilot"))t.set(T(e,r),`${v}/${basename(r,".instructions.md")}.md`);for(let r of await L(e,".github/instructions"))HE(t,T(e,r));for(let r of await L(e,".github/prompts"))t.set(T(e,r),`${Q}/${basename(r,".prompt.md")}.md`);for(let r of await L(e,".github/agents"))t.set(T(e,r),`${kt}/${basename(r,".agent.md")}.md`);for(let r of await L(e,".github/skills"))z(t,T(e,r),".github/skills");}var tg=g(()=>{Wt();Bt();i(HE,"addCopilotInstructionMapping");i(Nc,"buildCopilotImportPaths");});var Xs,ne,Se,Dc,Sa,Or,Fc,Ke,vo,Zs,vc,_a,$c,Er=g(()=>{Xs="continue",ne=".continue/rules",Se=".continue/prompts",Dc=".continue/mcpServers",Sa=`${Dc}/agentsmesh.json`,Or=`${ne}/general.md`,Fc=`${ne}/_root.md`,Ke=".continue/skills",vo=".continue/AGENTS.md",Zs=".continue/config.yaml",vc=".agentsmesh/rules",_a=".agentsmesh/commands",$c=".agentsmesh/mcp.json";});async function Mc(t,e,r="project"){t.set(Or,`${v}/_root.md`),t.set(Fc,`${v}/_root.md`);for(let n of await L(e,".continue/rules")){let o=T(e,n);o===Or||o===Fc||G(t,o,v,".md");}for(let n of await L(e,".continue/prompts"))t.set(T(e,n),`${Q}/${basename(n,".md")}.md`);for(let n of await L(e,".continue/skills"))z(t,T(e,n),".continue/skills");if(r==="global")for(let n of await L(e,".agents/skills"))z(t,T(e,n),".agents/skills");}var eg=g(()=>{Wt();Er();Bt();i(Mc,"buildContinueImportPaths");});var rg,rn,ng,oe,Pr,Kt,Gn,He,ze,Ve,Ca,_e,Gc,VE,$o,Ce,qs,nn,on,Je,Mo,Go,og,jo,jc,Qs,Uc,ut=g(()=>{rg="cursor",rn="AGENTS.md",ng=".cursorrules",oe=".cursor/rules",Pr=`${oe}/general.mdc`,Kt=".cursor/commands",Gn=".cursor/agents",He=".cursor/skills",ze=".cursor/mcp.json",Ve=".cursor/hooks.json",Ca=".cursor/settings.json",_e=".cursorignore",Gc=".cursorindexingignore",VE=".agentsmesh-exports/cursor",$o=`${VE}/user-rules.md`,Ce=".cursor/AGENTS.md",qs=ze,nn=He,on=Gn,Je=".agentsmesh/rules",Mo=".agentsmesh/commands",Go=".agentsmesh/agents",og=".agentsmesh/skills",jo=".agentsmesh/mcp.json",jc=".agentsmesh/permissions.yaml",Qs=".agentsmesh/hooks.yaml",Uc=".agentsmesh/ignore";});async function Wc(t,e,r="project"){if(r==="global"){t.set(ze,".agentsmesh/mcp.json"),t.set(".cursor/AGENTS.md",`${v}/_root.md`);for(let n of await L(e,".cursor/rules"))G(t,T(e,n),v,".mdc");for(let n of await L(e,".cursor/commands"))G(t,T(e,n),Q,".md");for(let n of await L(e,".cursor/agents"))G(t,T(e,n),kt,".md");for(let n of await L(e,".cursor/skills"))z(t,T(e,n),".cursor/skills");return}t.set("AGENTS.md",`${v}/_root.md`);for(let n of await L(e,".cursor/rules"))G(t,T(e,n),v,".mdc");for(let n of await L(e,".cursor/commands"))G(t,T(e,n),Q,".md");for(let n of await L(e,".cursor/agents"))G(t,T(e,n),kt,".md");for(let n of await L(e,".cursor/skills"))z(t,T(e,n),".cursor/skills");}var sg=g(()=>{Wt();ut();Bt();i(Wc,"buildCursorImportPaths");});async function Bc(t,e){for(let r of await L(e,".gemini/rules"))G(t,T(e,r),v,".md");for(let r of await L(e,".gemini/commands")){let n=T(e,r);if(!n.endsWith(".toml")&&!n.endsWith(".md"))continue;let o=n.replace(/\.(toml|md)$/i,""),s=".gemini/commands/",c=(o.startsWith(s)?o.slice(s.length):o).split("/").filter(Boolean).join(":");t.set(n,`${Q}/${c}.md`);}for(let r of await L(e,".gemini/agents"))G(t,T(e,r),kt,".md");for(let r of await L(e,".gemini/skills"))z(t,T(e,r),".gemini/skills");}var ig=g(()=>{Wt();Bt();i(Bc,"buildGeminiCliImportPaths");});var Ye,sn,Ra,ag,Xe,lg,JE,Uo,jn,Un,an,ln,Wo,ti,ei,ri,ni,YE,ka,Wn,cg,Kc,wa,Hc,zc,Vc,Jc,Bn=g(()=>{Ye="junie",sn=".junie",Ra=`${sn}/guidelines.md`,ag=`${sn}/ci-guidelines.md`,Xe=`${sn}/AGENTS.md`,lg="AGENTS.md",JE=`${sn}/mcp`,Uo=`${JE}/mcp.json`,jn=`${sn}/skills`,Un=`${sn}/rules`,an=`${sn}/commands`,ln=`${sn}/agents`,Wo=".aiignore",ti=".junie",ei=`${ti}/skills`,ri=`${ti}/agents`,ni=`${ti}/commands`,YE=`${ti}/mcp`,ka=`${YE}/mcp.json`,Wn=`${ti}/AGENTS.md`,cg=".agents/skills",Kc=".agentsmesh/rules/_root.md",wa=".agentsmesh/rules",Hc=".agentsmesh/commands",zc=".agentsmesh/agents",Vc=".agentsmesh/mcp.json",Jc=".agentsmesh/ignore";});async function Yc(t,e){t.set(Ra,`${v}/_root.md`),t.set(Xe,`${v}/_root.md`),t.set("AGENTS.md",`${v}/_root.md`);for(let r of await L(e,".junie/rules"))G(t,T(e,r),v,".md");for(let r of await L(e,".junie/commands"))G(t,T(e,r),Q,".md");for(let r of await L(e,".junie/agents"))G(t,T(e,r),kt,".md");for(let r of await L(e,".junie/skills"))z(t,T(e,r),".junie/skills");}var mg=g(()=>{Wt();Bn();Bt();i(Yc,"buildJunieImportPaths");});var It,Re,oi,ke,se,we,cn,ug,Kn,Hn,zn,Oe,mn,Vn,Bo,Ko,pg,Xc,Oa,Zc,qc,Qc,tm,Jn=g(()=>{It="kiro",Re="AGENTS.md",oi=".kiro",ke=`${oi}/steering`,se=`${oi}/skills`,we=`${oi}/agents`,cn=`${oi}/hooks`,ug=`${oi}/settings`,Kn=`${ug}/mcp.json`,Hn=".kiroignore",zn=".kiro/steering",Oe=".kiro/steering/AGENTS.md",mn=".kiro/skills",Vn=".kiro/agents",Bo=".kiro/settings/mcp.json",Ko=".kiro/settings/kiroignore",pg=".agents/skills",Xc=".agentsmesh/rules/_root.md",Oa=".agentsmesh/rules",Zc=".agentsmesh/agents",qc=".agentsmesh/mcp.json",Qc=".agentsmesh/hooks.yaml",tm=".agentsmesh/ignore";});async function em(t,e,r="project"){if(r==="global"){t.set(Oe,`${v}/_root.md`);for(let n of await L(e,zn)){let o=T(e,n);o!==Oe&&G(t,o,v,".md");}for(let n of await L(e,mn))z(t,T(e,n),mn);for(let n of await L(e,Vn))G(t,T(e,n),kt,".md");return}t.set(Re,`${v}/_root.md`);for(let n of await L(e,ke))G(t,T(e,n),v,".md");for(let n of await L(e,se))z(t,T(e,n),se);for(let n of await L(e,we))G(t,T(e,n),kt,".md");}var dg=g(()=>{Wt();Jn();Bt();i(em,"buildKiroImportPaths");});var Nt,Yn,ie,si,Ze,qe,Qe,Ho,zo,Vo,ii,Ea,Xn,Zn,xr,un,Pa,br,fg,rm,ai,nm,om,sm,qn=g(()=>{Nt="roo-code",Yn=".roo",ie=`${Yn}/rules/00-root.md`,si=".roorules",Ze=`${Yn}/rules`,qe=`${Yn}/commands`,Qe=`${Yn}/skills`,Ho=`${Yn}/mcp.json`,zo=".rooignore",Vo=".roomodes",ii="settings/custom_modes.yaml",Ea=".roo",Xn=`${Ea}/rules`,Zn=`${Ea}/commands`,xr=`${Ea}/skills`,un="mcp_settings.json",Pa=".rooignore",br=`${Ea}/AGENTS.md`,fg=".agents/skills",rm=".agentsmesh/rules/_root.md",ai=".agentsmesh/rules",nm=".agentsmesh/commands",om=".agentsmesh/mcp.json",sm=".agentsmesh/ignore";});async function im(t,e,r="project"){if(r==="global"){t.set(br,`${v}/_root.md`);for(let n of await L(e,Xn))G(t,T(e,n),v,".md");for(let n of await L(e,Zn))G(t,T(e,n),Q,".md");for(let n of await L(e,xr))z(t,T(e,n),xr);t.set(un,".agentsmesh/mcp.json");return}t.set(ie,`${v}/_root.md`),t.set(si,`${v}/_root.md`);for(let n of await L(e,Ze)){let o=T(e,n);o!==ie&&G(t,o,v,".md");}for(let n of await L(e,".roo")){let o=T(e,n);/^\.roo\/rules-[^/]+\/.+\.md$/.test(o)&&G(t,o,v,".md");}for(let n of await L(e,qe))G(t,T(e,n),Q,".md");for(let n of await L(e,Qe))z(t,T(e,n),Qe);}var gg=g(()=>{Wt();qn();Bt();i(im,"buildRooCodeImportPaths");});async function am(t,e){t.set("AGENTS.md",`${v}/_root.md`),t.set(".windsurfrules",`${v}/_root.md`),await ga(t,e);for(let r of await L(e,".windsurf/rules"))G(t,T(e,r),v,".md");for(let r of await L(e,".windsurf/workflows"))G(t,T(e,r),Q,".md");for(let r of await L(e,".windsurf/skills"))z(t,T(e,r),".windsurf/skills");}var hg=g(()=>{Wt();Bt();i(am,"buildWindsurfImportPaths");});var yg=g(()=>{Jf();Yf();qf();Qf();tg();eg();sg();ig();mg();dg();gg();hg();});var Ht=g(()=>{yg();});var XE,Ig,ZE,qE,Sg,_g=g(()=>{bf();Me();Zr();Tf();Ff();lm();Uf();Ht();XE={name:"claude-code",primaryRootInstructionPath:Xr,generateRules:Cf,generateCommands:Rf,generateAgents:kf,generateSkills:Of,generateMcp:wf,generatePermissions:Ef,generateHooks:Pf,generateIgnore:xf,importFrom:xa},Ig={rootInstructionPath:Xr,skillDir:".claude/skills",managedOutputs:{dirs:[".claude/agents",".claude/commands",".claude/rules",".claude/skills"],files:[".claude/CLAUDE.md",".claude/settings.json",".claudeignore",".mcp.json"]},paths:{rulePath(t,e){return `.claude/rules/${t}.md`},commandPath(t,e){return `.claude/commands/${t}.md`},agentPath(t,e){return `.claude/agents/${t}.md`}}},ZE={rootInstructionPath:Xr,skillDir:".claude/skills",renderPrimaryRootInstruction:Af,managedOutputs:{dirs:[".claude/agents",".claude/commands",".claude/rules",".claude/skills",".claude/output-styles",".agents/skills"],files:[".claude/CLAUDE.md",".claude/settings.json",js,Cr,".claudeignore"]},rewriteGeneratedPath(t){return t===Ao?js:t},mirrorGlobalPath(t,e){return Et(t,".claude/skills",e)},paths:Ig.paths},qE={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"native"},Sg={id:"claude-code",generators:XE,capabilities:{rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"native"},emptyImportMessage:"No Claude Code config found (CLAUDE.md or .claude/rules/*.md).",lintRules:jf,project:Ig,globalSupport:{capabilities:qE,detectionPaths:[".claude/CLAUDE.md",".claude/rules",".claude/commands",".claude/agents",".claude/skills",".claude/settings.json",".claude/hooks.json",".claude/output-styles",".claudeignore",".claude.json",".agents/skills"],layout:ZE,scopeExtras:Df},buildImportPaths:Ec,detectionPaths:["CLAUDE.md",".claude/rules",".claude/commands"]};});function li(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function cm(t,e){return new RegExp(`${li(t)}[\\s\\S]*?${li(e)}`,"g")}function Og(t,e,r,n){let o=cm(e,r);if(o.test(t))return t.replace(o,n).trim();let s=t.trim();return s?`${s}
20
-
21
- ${n}`:n}function mm(t,e,r){return t.replace(cm(e,r),"").trim()}function eP(t){let e=t.replace(/\\/g,"/"),r=e.lastIndexOf(".agentsmesh/");return r>=0?e.slice(r+12):e.startsWith("rules/")?e:join("rules",basename(e)).replace(/\\/g,"/")}function rP(t){return {source:eP(t.source),description:t.description,globs:t.globs,targets:t.targets}}function nP(t){return `${kg}${JSON.stringify(rP(t))}${wg}`}function oP(t){let e=[nP(t)];return t.description.trim()&&e.push(`## ${t.description.trim()}`,""),e.push(t.body.trim(),Rg),e.filter(r=>r.length>0).join(`
22
- `)}function sP(t){return t.length===0?"":[ba,...t.map(oP),Aa].join(`
23
- `)}function Ee(t,e){let r=sP(e),n=mm(t,ba,Aa);return r?n?`${n}
20
+ ${Io}`,"");for(let r of Df)e=e.replace(`
24
21
 
25
- ${r}`:r:n}function Cg(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function iP(t){try{let e=JSON.parse(t);if(!e||typeof e!="object"||Array.isArray(e))return null;let r=e;return typeof r.source!="string"||!r.source.startsWith("rules/")?null:{source:r.source,description:typeof r.description=="string"?r.description:"",globs:Cg(r.globs),targets:Cg(r.targets)}}catch{return null}}function aP(t,e){let r=t.trim();if(!e.trim())return r;let n=`## ${e.trim()}`;return r.startsWith(n)?r.slice(n.length).trim():r}function Eg(t){let e=[],r=cm(ba,Aa);return {rootContent:t.replace(r,o=>{let s=o.replace(ba,"").replace(Aa,"").trim(),a=new RegExp(`${li(kg)}([\\s\\S]*?)${li(wg)}([\\s\\S]*?)${li(Rg)}`,"g");for(let l of s.matchAll(a)){let c=l[1],m=l[2];if(c===void 0||m===void 0)continue;let u=iP(c);u&&e.push({...u,body:aP(m,u.description)});}return ""}).trim(),rules:e}}var ci,mi,ba,Aa,Rg,kg,wg,pn=g(()=>{ci="<!-- agentsmesh:root-generation-contract:start -->",mi="<!-- agentsmesh:root-generation-contract:end -->",ba="<!-- agentsmesh:embedded-rules:start -->",Aa="<!-- agentsmesh:embedded-rules:end -->",Rg="<!-- agentsmesh:embedded-rule:end -->",kg="<!-- agentsmesh:embedded-rule:start ",wg=" -->";i(li,"escapeRegExp");i(cm,"managedBlockPattern");i(Og,"replaceManagedBlock");i(mm,"stripManagedBlock");i(eP,"ruleSource");i(rP,"markerForRule");i(nP,"embeddedRuleStart");i(oP,"renderRule");i(sP,"renderEmbeddedRulesBlock");i(Ee,"appendEmbeddedRulesBlock");i(Cg,"toStringArray");i(iP,"parseMarker");i(aP,"stripGeneratedHeading");i(Eg,"extractEmbeddedRules");});function um(t){let e=[],r=t.rules.find(s=>s.root);if(r){let s=r.body.trim()?r.body:"";e.push({path:rn,content:s});let a={alwaysApply:true};r.description&&(a.description=r.description);let l=D(a,s);e.push({path:Pr,content:l});}let n=t.rules.filter(s=>!s.root&&(s.targets.length===0||s.targets.includes("cursor")));for(let s of n){let a=basename(s.source,".md"),c={alwaysApply:s.trigger==="always_on"};s.description&&(c.description=s.description),s.globs.length>0&&(c.globs=s.globs);let m=D(c,s.body.trim()||"");e.push({path:`${oe}/${a}.mdc`,content:m});}let o=Pg(t);return o.trim()&&e.push({path:Ce,content:o}),e}function Pg(t){let e=t.rules.find(o=>o.root),r=t.rules.filter(o=>!o.root&&(o.targets.length===0||o.targets.includes("cursor"))),n=[];return e?.body.trim()?n.push(Ee(e.body,r)):r.length>0&&n.push(Ee("",r)),n.filter(Boolean).join(`
22
+ ${r}`,"");return e.trim()}var Ec,ub,pb,db,fb,gb,hb,yb,Ib,Sb,_b,Rb,Cb,kb,wb,Ob,Eb,Io,Df,bc=f(()=>{Gr();Ec="AgentsMesh is a config sync library for AI coding tools. The only canonical source of truth is `.agentsmesh/`; files emitted into target formats such as `AGENTS.md`, `.claude/`, `.cursor/`, `.junie/`, and similar directories are generated artifacts. When making changes, edit canonical config first, then regenerate and verify the target outputs. Preserve the library's bidirectional contract: import native tool config into canonical form, generate back to target-specific layouts, and keep projected or embedded features round-trippable rather than treating them as plain text exports.",ub="AgentsMesh is a config sync library for AI coding tools. The only canonical source of truth is the `.agentsmesh` directory at the project root; files emitted into target formats such as `AGENTS.md`, `.claude/`, `.cursor/`, `.junie/`, and similar directories are generated artifacts. When making changes, edit canonical config first, then regenerate and verify the target outputs. Preserve the library's bidirectional contract: import native tool config into canonical form, generate back to target-specific layouts, and keep projected or embedded features round-trippable rather than treating them as plain text exports.",pb="AgentsMesh syncs AI coding tool configuration from a single canonical `.agentsmesh` directory. All target-specific files (`.claude/`, `.cursor/`, `AGENTS.md`, etc.) are generated artifacts \u2014 edit canonical config first, then regenerate. The import/generate contract is bidirectional and lossless: embedded or projected features round-trip without data loss.",db="Create agents, skills, commands, rules, hooks, and MCP in `.agentsmesh`, then run `agentsmesh generate` to sync each tool's native files. Edit `.agentsmesh`, not generated outputs.",fb="Use Claude-style Markdown in `.agentsmesh`: `agents/*.md`, `commands/*.md`, and `skills/*/SKILL.md`; keep rules in `rules/*.md`, hooks in `hooks.yaml`, MCP in `mcp.json`, permissions in `permissions.yaml`, and ignore patterns in `ignore`, then run `agentsmesh generate`.",gb="Create canonical files in `.agentsmesh`: `rules/_root.md` and `rules/*.md` are Markdown rules; `commands/*.md`, `agents/*.md`, and `skills/*/SKILL.md` plus supporting files use Claude-style frontmatter Markdown; `mcp.json` is MCP JSON; `hooks.yaml` and `permissions.yaml` are YAML; `ignore` is gitignore-style text. Then run `agentsmesh generate`.",hb="`.agentsmesh` is the only folder you edit or add these files in: `rules/_root.md` and `rules/*.md` are Markdown rules; `commands/*.md`, `agents/*.md`, and `skills/*/SKILL.md` plus supporting files use Claude-style frontmatter Markdown; `mcp.json` is MCP JSON; `hooks.yaml` and `permissions.yaml` are YAML; `ignore` is gitignore-style text. Do not edit generated tool files; run `agentsmesh generate`.",yb="`agentsmesh.yaml` selects targets/features (`agentsmesh.local.yaml` overrides locally), and `.agentsmesh` is the only place to add or edit canonical items: `rules/_root.md`, `rules/*.md`, `commands/*.md`, `agents/*.md`, `skills/*/SKILL.md` plus supporting files, `mcp.json`, `hooks.yaml`, `permissions.yaml`, and `ignore`; if missing run `agentsmesh init`, use `agentsmesh import --from <tool>` for native configs, `agentsmesh install <source>` or `install --sync` for reusable packs, then run `agentsmesh generate`. Use `diff`, `lint`, `check`, `watch`, `matrix`, and `merge` as needed; never edit generated tool files.",Ib=Ec,Sb=`## Project-Specific Rules
26
23
 
27
- `)}var xg=g(()=>{F();pn();ut();i(um,"generateRules");i(Pg,"renderCursorGlobalUserRules");});function pm(t){return t.commands.map(e=>({path:`${Kt}/${e.name}.md`,content:e.body.trim()||""}))}var bg=g(()=>{ut();i(pm,"generateCommands");});function dm(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:ze,content:e}]}var Ag=g(()=>{ut();i(dm,"generateMcp");});function fm(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=D(n,r.body.trim()||"");e.push({path:`${He}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${He}/${r.name}/${a}`,content:s.content});}}return e}var Tg=g(()=>{F();ut();i(fm,"generateSkills");});function gm(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0,model:e.model||void 0,permissionMode:e.permissionMode||void 0,maxTurns:e.maxTurns>0?e.maxTurns:void 0,mcpServers:e.mcpServers.length>0?e.mcpServers:void 0,hooks:Object.keys(e.hooks).length>0?e.hooks:void 0,skills:e.skills.length>0?e.skills:void 0,memory:e.memory||void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=D(r,e.body.trim()||"");return {path:`${Gn}/${e.name}.md`,content:n}})}var Lg=g(()=>{F();ut();i(gm,"generateAgents");});function hm(t){return []}var Ng=g(()=>{i(hm,"generatePermissions");});function cP(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!$e(s))continue;let a=mt(s),l=Ot(s),c=s.type==="prompt"?l||a:a||l,m={type:s.type==="prompt"?"prompt":"command",[s.type==="prompt"?"prompt":"command"]:c};s.timeout!==void 0&&(m.timeout=s.timeout),o.push({matcher:s.matcher,hooks:[m]});}o.length>0&&(e[r]=o);}return e}function ym(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=cP(t.hooks);if(Object.keys(e).length===0)return [];let r=JSON.stringify({version:1,hooks:e},null,2);return [{path:Ve,content:r}]}var Dg=g(()=>{fe();ut();i(cP,"toCursorHooks");i(ym,"generateHooks");});function Im(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
28
- `);return [{path:_e,content:e}]}var Fg=g(()=>{ut();i(Im,"generateIgnore");});var vg=g(()=>{xg();bg();Ag();Tg();Lg();Ng();Dg();Fg();});var $g=g(()=>{vg();});function pP(t,e){return e.some(r=>t.endsWith(r))}async function U(t){let r=(await b(t.srcDir)).filter(o=>pP(o,t.extensions)),n=[];for(let o of r){let s=await y(o);if(!s)continue;let a=relative(t.srcDir,o).replace(/\\/g,"/"),l=await t.mapEntry({srcPath:o,relativePath:a,content:s,normalizeTo:i((c,m=s)=>t.normalize(m,o,c),"normalizeTo")});l&&(await k(dirname(l.destPath)),await S(l.destPath,l.content),n.push({fromTool:t.fromTool,fromPath:o,toPath:l.toPath,feature:l.feature}));}return n}var pt=g(()=>{E();i(pP,"matchesExtension");i(U,"importFileDirectory");});function Sm(t){return t.replace(/\s+/g," ").trim()}function Gg(t){let e=t.trim();if(e.includes(ci)&&e.includes(mi))return Og(e,ci,mi,Jo);let r=Sm(e);if(r.includes(Sm(Jo)))return e;for(let n of Mg)if(r.includes(Sm(n)))return e.replace(n,Jo);return e?`${e}
24
+ ${Ec}`,_b=`## AgentsMesh Generation Contract
29
25
 
30
- ${Jo}`:Jo}function jg(t){let e=mm(t,ci,mi);e=e.replace(`
26
+ ${Ec}`,Rb=`## AgentsMesh Generation Contract
31
27
 
32
- ${Jo}`,"");for(let r of Mg)e=e.replace(`
28
+ ${ub}`,Cb=`## AgentsMesh Generation Contract
33
29
 
34
- ${r}`,"");return e.trim()}var _m,dP,fP,gP,hP,yP,IP,SP,_P,CP,RP,kP,wP,OP,EP,PP,xP,Jo,Mg,Cm=g(()=>{pn();_m="AgentsMesh is a config sync library for AI coding tools. The only canonical source of truth is `.agentsmesh/`; files emitted into target formats such as `AGENTS.md`, `.claude/`, `.cursor/`, `.junie/`, and similar directories are generated artifacts. When making changes, edit canonical config first, then regenerate and verify the target outputs. Preserve the library's bidirectional contract: import native tool config into canonical form, generate back to target-specific layouts, and keep projected or embedded features round-trippable rather than treating them as plain text exports.",dP="AgentsMesh is a config sync library for AI coding tools. The only canonical source of truth is the `.agentsmesh` directory at the project root; files emitted into target formats such as `AGENTS.md`, `.claude/`, `.cursor/`, `.junie/`, and similar directories are generated artifacts. When making changes, edit canonical config first, then regenerate and verify the target outputs. Preserve the library's bidirectional contract: import native tool config into canonical form, generate back to target-specific layouts, and keep projected or embedded features round-trippable rather than treating them as plain text exports.",fP="AgentsMesh syncs AI coding tool configuration from a single canonical `.agentsmesh` directory. All target-specific files (`.claude/`, `.cursor/`, `AGENTS.md`, etc.) are generated artifacts \u2014 edit canonical config first, then regenerate. The import/generate contract is bidirectional and lossless: embedded or projected features round-trip without data loss.",gP="Create agents, skills, commands, rules, hooks, and MCP in `.agentsmesh`, then run `agentsmesh generate` to sync each tool's native files. Edit `.agentsmesh`, not generated outputs.",hP="Use Claude-style Markdown in `.agentsmesh`: `agents/*.md`, `commands/*.md`, and `skills/*/SKILL.md`; keep rules in `rules/*.md`, hooks in `hooks.yaml`, MCP in `mcp.json`, permissions in `permissions.yaml`, and ignore patterns in `ignore`, then run `agentsmesh generate`.",yP="Create canonical files in `.agentsmesh`: `rules/_root.md` and `rules/*.md` are Markdown rules; `commands/*.md`, `agents/*.md`, and `skills/*/SKILL.md` plus supporting files use Claude-style frontmatter Markdown; `mcp.json` is MCP JSON; `hooks.yaml` and `permissions.yaml` are YAML; `ignore` is gitignore-style text. Then run `agentsmesh generate`.",IP="`.agentsmesh` is the only folder you edit or add these files in: `rules/_root.md` and `rules/*.md` are Markdown rules; `commands/*.md`, `agents/*.md`, and `skills/*/SKILL.md` plus supporting files use Claude-style frontmatter Markdown; `mcp.json` is MCP JSON; `hooks.yaml` and `permissions.yaml` are YAML; `ignore` is gitignore-style text. Do not edit generated tool files; run `agentsmesh generate`.",SP="`agentsmesh.yaml` selects targets/features (`agentsmesh.local.yaml` overrides locally), and `.agentsmesh` is the only place to add or edit canonical items: `rules/_root.md`, `rules/*.md`, `commands/*.md`, `agents/*.md`, `skills/*/SKILL.md` plus supporting files, `mcp.json`, `hooks.yaml`, `permissions.yaml`, and `ignore`; if missing run `agentsmesh init`, use `agentsmesh import --from <tool>` for native configs, `agentsmesh install <source>` or `install --sync` for reusable packs, then run `agentsmesh generate`. Use `diff`, `lint`, `check`, `watch`, `matrix`, and `merge` as needed; never edit generated tool files.",_P=_m,CP=`## Project-Specific Rules
30
+ ${pb}`,kb=`## AgentsMesh Generation Contract
35
31
 
36
- ${_m}`,RP=`## AgentsMesh Generation Contract
32
+ ${db}`,wb=`## AgentsMesh Generation Contract
37
33
 
38
- ${_m}`,kP=`## AgentsMesh Generation Contract
34
+ ${fb}`,Ob=`## AgentsMesh Generation Contract
39
35
 
40
- ${dP}`,wP=`## AgentsMesh Generation Contract
36
+ ${gb}`,Eb=`## AgentsMesh Generation Contract
41
37
 
42
- ${fP}`,OP=`## AgentsMesh Generation Contract
38
+ ${hb}`,Io=`${As}
39
+ ## AgentsMesh Generation Contract
43
40
 
44
- ${gP}`,EP=`## AgentsMesh Generation Contract
41
+ ${yb}
42
+ ${Ts}`;i(Oc,"normalizeWhitespace");Df=[Eb,Ob,wb,kb,Cb,Rb,_b,Sb,Ib];i(Ff,"appendAgentsmeshRootInstructionParagraph");i(vf,"stripAgentsmeshRootInstructionParagraph");});function Et(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}async function So(t){let e=await I(t);return e?O(e).frontmatter:{}}function yt(t,e){return typeof t[e]=="string"?t[e]:void 0}function xc(t){let e=t.hooks;return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function bb(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}function xb(t,e){let r=basename(t,".md")==="_root",n={...e};return delete n.root,{root:r,...n}}async function $(t,e,r){let n=await So(t),o=basename(t,".md")==="_root"?vf(r):r.trim(),s=xb(t,bb({...n,...e})),a={root:s.root===true,description:typeof s.description=="string"?s.description:""};a.root===false&&(a.globs=Et(s.globs));for(let[l,c]of Object.entries(s))l==="root"||l==="description"||l==="globs"||c===void 0||(a[l]=c);return N(a,o||"")}var Pc=f(()=>{E();F();bc();i(Et,"toStringArray");i(So,"readExistingFrontmatter");i(yt,"readString");i(xc,"readHooks");i(bb,"pruneUndefined");i(xb,"serializeCanonicalRuleFrontmatter");i($,"serializeImportedRuleWithFallback");});async function Q(t,e,r){let n=await So(t),o=(()=>{let l=Et(n.allowedTools);return l.length>0?l:Et(n["allowed-tools"])})(),s=e.hasDescription?e.description??"":typeof n.description=="string"?n.description:"",a=e.hasAllowedTools?e.allowedTools??[]:o;return N({description:s,"allowed-tools":a},r.trim()||"")}async function Le(t,e,r){let n=await So(t),o=basename(dirname(t)),s=yt(e,"name")??yt(n,"name")??o,a=yt(e,"description")??yt(n,"description")??"";return N({name:s,description:a},r.trim()||"")}async function $t(t,e,r){let n=await So(t),o=Object.prototype.hasOwnProperty.call(e,"tools")?Et(e.tools):(()=>{let R=Et(n.tools);return R.length>0?R:[]})(),s=Object.prototype.hasOwnProperty.call(e,"disallowedTools")?Et(e.disallowedTools):Object.prototype.hasOwnProperty.call(e,"disallowed-tools")?Et(e["disallowed-tools"]):Et(n.disallowedTools),a=Object.prototype.hasOwnProperty.call(e,"mcpServers")?Et(e.mcpServers):Object.prototype.hasOwnProperty.call(e,"mcp-servers")?Et(e["mcp-servers"]):Et(n.mcpServers),l=Object.prototype.hasOwnProperty.call(e,"skills")?Et(e.skills):Et(n.skills),c=e.maxTurns??e["max-turns"]??n.maxTurns,m=typeof c=="number"?c:Number(c??0),u=xc(e)??xc(n),p={name:yt(e,"name")??yt(n,"name")??basename(t,".md"),description:yt(e,"description")??yt(n,"description")??"",tools:o};s.length>0&&(p.disallowedTools=s);let d=yt(e,"model")??yt(n,"model");d&&(p.model=d);let g=yt(e,"permissionMode")??yt(e,"permission-mode")??yt(n,"permissionMode")??yt(n,"permission-mode");g&&(p.permissionMode=g),Number.isInteger(m)&&m>0&&(p.maxTurns=m),a.length>0&&(p.mcpServers=a),u&&Object.keys(u).length>0&&(p.hooks=u),l.length>0&&(p.skills=l);let h=yt(e,"memory")??yt(n,"memory");return h&&(p.memory=h),N(p,r.trim()||"")}var Gf=f(()=>{F();Pc();i(Q,"serializeImportedCommandWithFallback");i(Le,"serializeImportedSkillWithFallback");i($t,"serializeImportedAgentWithFallback");});var Y=f(()=>{Pc();Gf();});function Ne(t,e){let r=[];for(let n of t.skills){let o={name:n.name,description:n.description||void 0};o.description===void 0&&delete o.description,r.push({path:`${e}/${n.name}/SKILL.md`,content:N(o,n.body.trim()||"")});for(let s of n.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");r.push({path:`${e}/${n.name}/${a}`,content:s.content});}}return r}async function De(t,e,r,n,o){let s=await readdir(join(t,e),{encoding:"utf8",withFileTypes:true}).catch(()=>null);if(s!==null)for(let a of s){if(!a.isDirectory())continue;let l=join(t,e,a.name),c=join(l,"SKILL.md"),m=await I(c);if(m===null)continue;let u=join(t,Ac,a.name),p=join(u,"SKILL.md"),{frontmatter:d,body:g}=O(o(m,c,p)),h=await Le(p,{...d,name:a.name},g);await k(u),await _(p,h),n.push({fromTool:r,fromPath:c,toPath:`${Ac}/${a.name}/SKILL.md`,feature:"skills"});let R=await P(l);for(let C of R){if(C===c)continue;let S=relative(l,C).replace(/\\/g,"/"),w=await I(C);if(w===null)continue;let D=join(u,S);await k(dirname(D)),await _(D,o(w,C,D)),n.push({fromTool:r,fromPath:C,toPath:`${Ac}/${a.name}/${S}`,feature:"skills"});}}}var Ac,fe=f(()=>{E();F();Y();Ac=".agentsmesh/skills";i(Ne,"generateEmbeddedSkills");i(De,"importEmbeddedSkills");});var kn,ia,Fe,ge,Ls,wn,ur,Ns,ve,pr,Ds,Ro,Tc,On,aa,jf,En=f(()=>{kn="antigravity",ia=".agents",Fe=`${ia}/rules`,ge=`${Fe}/general.md`,Ls=`${Fe}/_root.md`,wn=`${ia}/skills`,ur=`${ia}/workflows`,Ns=`${ia}/antigravity/mcp_config.json`,ve=".gemini/antigravity/GEMINI.md",pr=".gemini/antigravity/skills",Ds=".gemini/antigravity/workflows",Ro=".gemini/antigravity/mcp_config.json",Tc=".agentsmesh/rules/_root.md",On=".agentsmesh/rules",aa=".agentsmesh/commands",jf=".agentsmesh/mcp.json";});function Uf(t){let e=t.rules.find(n=>n.root);if(!e)return [];let r=[{path:ge,content:e.body.trim()||""}];for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("antigravity"))continue;let o=basename(n.source,".md");r.push({path:`${Fe}/${o}.md`,content:n.body.trim()||""});}return r}function Wf(t){return t.commands.map(e=>{let r=e.description.trim(),n=e.body.trim(),o=r&&n&&!n.startsWith(r)?`${r}
45
43
 
46
- ${hP}`,PP=`## AgentsMesh Generation Contract
44
+ ${n}`:n||r;return {path:`${ur}/${e.name}.md`,content:o}})}function Bf(t){return Ne(t,wn)}function Kf(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Ns,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function Hf(t){let e=t.rules.find(n=>n.root),r=t.rules.filter(n=>n.root?false:n.targets.length===0||n.targets.includes("antigravity"));return de(e?.body.trim()??"",r)}var zf=f(()=>{fe();Gr();En();i(Uf,"generateRules");i(Wf,"generateCommands");i(Bf,"generateSkills");i(Kf,"generateMcp");i(Hf,"renderAntigravityGlobalInstructions");});function dr(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}function Yt(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Co(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function ko(t){return !t||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}var he=f(()=>{i(dr,"toGlobsArray");i(Yt,"toToolsArray");i(Co,"toStringArray");i(ko,"toStringRecord");});function vb(t,e){return e.some(r=>t.endsWith(r))}async function st(t){let r=(await P(t.srcDir)).filter(o=>vb(o,t.extensions)),n=[];for(let o of r){let s=await I(o);if(!s)continue;let a=relative(t.srcDir,o).replace(/\\/g,"/"),l=await t.mapEntry({srcPath:o,relativePath:a,content:s,normalizeTo:i((c,m=s)=>t.normalize(m,o,c),"normalizeTo")});l&&(await k(dirname(l.destPath)),await _(l.destPath,l.content),n.push({fromTool:t.fromTool,fromPath:o,toPath:l.toPath,feature:l.feature}));}return n}var $e=f(()=>{E();i(vb,"matchesExtension");i(st,"importFileDirectory");});function Vf(t){return typeof t=="string"?t:void 0}function $b(t){for(let e of Object.keys(t))t[e]===void 0&&delete t[e];return t}function Nc(t,e){return e?e(t):t}function Mb(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=O(e.normalizeTo(r)),s=Nc(n,t.frontmatterRemap),a=$b({root:false,description:Vf(s.description),globs:Array.isArray(s.globs)?s.globs:void 0,...s});return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:await $(r,a,o)}}}function Gb(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=O(e.normalizeTo(r)),s=Nc(n,t.frontmatterRemap),a=await Q(r,{hasDescription:true,description:Vf(s.description),hasAllowedTools:true,allowedTools:Co(s["allowed-tools"])},o);return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:a}}}function jb(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=O(e.normalizeTo(r)),s=Nc(n,t.frontmatterRemap);return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:await $t(r,s,o)}}}function Jf(t){if(t.map)return t.map;switch(t.preset){case "rule":return Mb(t);case "command":return Gb(t);case "agent":return jb(t);default:throw new Error(`ImportFeatureSpec for ${t.feature} (mode: ${t.mode}) needs a \`preset\` or \`map\``)}}var Yf=f(()=>{F();Y();he();i(Vf,"pickString");i($b,"pruneUndefined");i(Nc,"applyRemap");i(Mb,"ruleMapper");i(Gb,"commandMapper");i(jb,"agentMapper");i(Jf,"resolveMapper");});function Dc(t,e){return t?t[e]??[]:[]}var Xf,Zf=f(()=>{Xf=["rules","commands","agents","skills","mcp","hooks","permissions","ignore"];i(Dc,"resolveScopedSources");});async function Wb(t,e,r,n,o){if(!t.canonicalRootFilename)throw new Error(`singleFile spec for ${t.feature} must set canonicalRootFilename`);let s=join(r,t.canonicalDir);for(let a of e){let l=join(r,a),c=await I(l);if(c===null)continue;await k(s);let m=join(s,t.canonicalRootFilename),u=i(C=>o(c,l,C),"normalizeTo");if(t.map){let C=await t.map({absolutePath:l,relativePath:a,content:c,destDir:s,normalizeTo:u});if(!C)continue;return await _(C.destPath,C.content),[{fromTool:n,fromPath:l,toPath:C.toPath,feature:t.feature}]}let{frontmatter:p,body:d}=O(u(m)),g=t.frontmatterRemap?t.frontmatterRemap(p):p,h=t.markAsRoot?{...g,root:true}:g,R=await $(m,h,d);return await _(m,R),[{fromTool:n,fromPath:l,toPath:`${t.canonicalDir}/${t.canonicalRootFilename}`,feature:t.feature}]}return []}async function Bb(t,e,r,n,o){let s=Jf(t),a=join(r,t.canonicalDir),l=[];for(let c of e){let m=join(r,c),u=await st({srcDir:m,destDir:a,extensions:[...t.extensions??[".md"]],fromTool:n,normalize:o,mapEntry:i(async({srcPath:p,relativePath:d,content:g,normalizeTo:h})=>{let R=await s({absolutePath:p,relativePath:d,content:g,destDir:a,normalizeTo:i(C=>h(C),"normalizeTo")});return R?{destPath:R.destPath,toPath:R.toPath,feature:t.feature,content:R.content}:null},"mapEntry")});l.push(...u);}return l}function tg(t){let e=t.canonicalFilename;return e.includes("/")||e.includes("\\")?e:posix.join(t.canonicalDir,e)}async function Kb(t,e,r,n){if(!t.canonicalFilename)throw new Error(`flatFile spec for ${t.feature} must set canonicalFilename`);let o=tg(t);for(let s of e){let a=join(r,s),l=await I(a);if(l===null)continue;let c=join(r,o);return await k(dirname(c)),await _(c,l.trimEnd()),[{fromTool:n,fromPath:a,toPath:o,feature:t.feature}]}return []}function Hb(t){let e;try{e=JSON.parse(t);}catch{return {}}if(!e||typeof e!="object")return {};let r=e.mcpServers;if(!r||typeof r!="object"||Array.isArray(r))return {};let n={};for(let[o,s]of Object.entries(r)){if(!s||typeof s!="object"||Array.isArray(s))continue;let a=s,l=typeof a.description=="string"?a.description:void 0;if(typeof a.command=="string"){n[o]={type:typeof a.type=="string"?a.type:"stdio",command:a.command,args:Co(a.args),env:ko(a.env),description:l};continue}typeof a.url=="string"&&(n[o]={type:typeof a.type=="string"?a.type:"http",url:a.url,headers:ko(a.headers),env:ko(a.env),description:l});}return n}async function zb(t,e,r,n){if(!t.canonicalFilename)throw new Error(`mcpJson spec for ${t.feature} must set canonicalFilename`);let o=tg(t);for(let s of e){let a=join(r,s),l=await I(a);if(l===null)continue;let c=Hb(l);if(Object.keys(c).length===0)return [];let m=join(r,o);return await k(dirname(m)),await _(m,JSON.stringify({mcpServers:c},null,2)),[{fromTool:n,fromPath:a,toPath:o,feature:t.feature}]}return []}function qf(t,e,r,n,o){switch(t.mode){case "singleFile":return Wb(t,e,r,n,o);case "directory":return Bb(t,e,r,n,o);case "flatFile":return Kb(t,e,r,n);case "mcpJson":return zb(t,e,r,n)}}async function Vb(t,e,r,n,o){let s=Dc(t.source,e),a=Dc(t.fallbacks,e);if(s.length===0&&a.length===0)return [];if(s.length>0){let l=await qf(t,s,r,n,o);if(l.length>0)return l}return a.length>0?qf(t,a,r,n,o):[]}function Jb(t,e){let r=t[e];return r?Array.isArray(r)?r:[r]:[]}async function gt(t,e,r,n){let o=t.importer;if(!o)return [];let s=n?.normalize??await H(t.id,e,r),a=[];for(let l of Xf)for(let c of Jb(o,l))a.push(...await Vb(c,r,e,t.id,s));return a}var Me=f(()=>{bt();E();F();he();Y();$e();Yf();Zf();i(Wb,"runSingleFile");i(Bb,"runDirectory");i(tg,"resolveCanonicalFilePath");i(Kb,"runFlatFile");i(Hb,"parseMcpJson");i(zb,"runMcpJson");i(qf,"dispatchSpec");i(Vb,"runSpec");i(Jb,"specsForFeature");i(gt,"runDescriptorImport");});function Yb(t){let e=t.replace(/\\/g,"/");return !e.startsWith("rules/")||e.endsWith("/")||!e.endsWith(".md")?null:e}async function Ge(t){let e=Nf(t.content),r=[];if(e.rules.length===0)return {rootContent:e.rootContent,results:r};await k(join(t.projectRoot,t.rulesDir));for(let n of e.rules){let o=Yb(n.source);if(o===null||o==="rules/_root.md")continue;let s=join(t.projectRoot,".agentsmesh",o),a=t.normalize(n.body,t.sourcePath,s),{frontmatter:l,body:c}=O(a),m=await $(s,{...l,root:false,description:n.description||void 0,globs:n.globs.length>0?n.globs:void 0,targets:n.targets.length>0?n.targets:void 0},c);await _(s,m),r.push({fromTool:t.fromTool,fromPath:t.sourcePath,toPath:`.agentsmesh/${o}`,feature:"rules"});}return {rootContent:e.rootContent,results:r}}var wo=f(()=>{E();F();Gr();Y();i(Yb,"canonicalRulePath");i(Ge,"splitEmbeddedRulesToCanonical");});async function Xb(t,e,r,n){let o=n==="global"?ve:ge,s=n==="project"?[o,Ls]:[o];for(let a of s){let l=join(t,a),c=await I(l);if(c===null)continue;let m=join(t,Tc),u=await Ge({content:c,projectRoot:t,rulesDir:On,sourcePath:l,fromTool:kn,normalize:r});e.push(...u.results);let{body:p}=O(r(u.rootContent,l,m)),d=await $(m,{root:true},p);await k(join(t,On)),await _(m,d),e.push({fromTool:kn,fromPath:l,toPath:Tc,feature:"rules"});return}}async function rg(t,e={}){let r=e.scope??"project",n=[],o=await H(kn,t,r);return await Xb(t,n,o,r),n.push(...await gt(la,t,r,{normalize:o})),await De(t,r==="global"?pr:wn,kn,n,o),n}var ng=f(()=>{bt();E();F();fe();Me();Y();wo();En();vc();i(Xb,"importRootRule");i(rg,"importFromAntigravity");});var ig,ag,lg=f(()=>{F();Y();En();ig=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{if(basename(t)==="general.md"||basename(t)==="_root.md")return null;let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${On}/${t}`,content:await $(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},s)}},"nonRootRuleMapper"),ag=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${aa}/${t}`,content:await Q(n,{hasDescription:typeof o.description=="string",description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},s)}},"workflowMapper");});function Zb(t,e){return mg(e).some(n=>qb(t,n))}function cg(t,e){return t.filter(r=>Zb(r,e))}function mg(t){let e=t.match(/^(.+)\{([^}]+)\}(.*)$/);if(!e)return [t];let[,r,n,o]=e;if(!n)return [t];let s=n.split(",").map(l=>l.trim()),a=[];for(let l of s)for(let c of mg(r+l+o))a.push(c);return a}function qb(t,e){return Qb(e).test(t)}function Qb(t){let e=[],r=0;for(;r<t.length;){if(t.startsWith("**",r)){let s=t.slice(r+2);if(s.length===0&&e.length===0)e.push(".*");else if(e.push(s.startsWith("/")?"(?:[^/]+/)*":"(?:/[^/]+)*?"),s.startsWith("/")){r+=3;continue}r+=2;continue}if(t[r]==="*"){e.push("[^/]*"),r+=1;continue}if(t[r]==="?"){e.push("[^/]"),r+=1;continue}if(t[r]==="{"){e.push("(?:"),r+=1;continue}if(t[r]==="}"){e.push(")"),r+=1;continue}if(t[r]===","){e.push("|"),r+=1;continue}".^$+?()[]{}|\\".includes(t[r])?e.push("\\"+t[r]):e.push(t[r]),r+=1;}let n="^"+e.join("")+"$";return new RegExp(n)}var ug=f(()=>{i(Zb,"globMatch");i(cg,"globFilter");i(mg,"expandBraces");i(qb,"matchOne");i(Qb,"globToRegex");});function lt(t,e,r,n={}){let o=[],{rules:s}=t;if(s.length===0)return [];if(s.some(l=>l.root)||o.push({level:"error",file:relative(e,s[0].source),message:"Rules exist but no root rule (_root.md or root: true). Add a root rule."}),n.checkGlobMatches===false)return o;for(let l of s){if(l.globs.length===0)continue;let c=false;for(let m of l.globs)if(cg(r,m).length>0){c=true;break}c||o.push({level:"warning",file:relative(e,l.source),message:`globs "${l.globs.join(", ")}" match 0 files in project`});}return o}var ye=f(()=>{ug();i(lt,"validateRules");});function dg(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:kn}))}var fg=f(()=>{ye();En();i(dg,"lintRules");});function tx(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):typeof t=="string"&&t.length>0?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Eo(t){return `${Oo}${t}`}function gg(t){let e={name:Eo(t.name),description:t.description||void 0,"x-agentsmesh-kind":"command","x-agentsmesh-name":t.name,"x-agentsmesh-allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return e.description===void 0&&delete e.description,e["x-agentsmesh-allowed-tools"]===void 0&&delete e["x-agentsmesh-allowed-tools"],N(e,t.body.trim()||"")}function hg(t,e){if(t["x-agentsmesh-kind"]!=="command")return null;let r=typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"",n=e.startsWith(Oo)?e.slice(Oo.length):e.startsWith(Fs)?e.slice(Fs.length):"",o=(r||n).trim();return o?{name:o,description:typeof t.description=="string"?t.description:"",allowedTools:tx(t["x-agentsmesh-allowed-tools"])}:null}function yg(t,e){return N({description:t.description,"allowed-tools":t.allowedTools},e.trim()||"")}var Oo,Fs,vs=f(()=>{F();Oo="am-command-",Fs="ab-command-";i(tx,"toStringArray");i(Eo,"commandSkillDirName");i(gg,"serializeCommandSkill");i(hg,"parseCommandSkillFrontmatter");i(yg,"serializeImportedCommand");});function ca(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):typeof t=="string"&&t.length>0?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function ex(t){if(!t||typeof t!="object"||Array.isArray(t))return {};let e={};for(let[r,n]of Object.entries(t))Array.isArray(n)&&(e[r]=n.filter(o=>o!==null&&typeof o=="object"&&typeof o.matcher=="string"&&typeof o.command=="string"));return e}function Lt(t){return `${bo}${t}`}function ma(t){let e={name:Lt(t.name),description:t.description||void 0,"x-agentsmesh-kind":"agent","x-agentsmesh-name":t.name,"x-agentsmesh-tools":t.tools.length>0?t.tools:void 0,"x-agentsmesh-disallowed-tools":t.disallowedTools.length>0?t.disallowedTools:void 0,"x-agentsmesh-model":t.model||void 0,"x-agentsmesh-permission-mode":t.permissionMode||void 0,"x-agentsmesh-max-turns":t.maxTurns>0?t.maxTurns:void 0,"x-agentsmesh-mcp-servers":t.mcpServers.length>0?t.mcpServers:void 0,"x-agentsmesh-hooks":Object.keys(t.hooks).length>0?t.hooks:void 0,"x-agentsmesh-skills":t.skills.length>0?t.skills:void 0,"x-agentsmesh-memory":t.memory||void 0};return Object.keys(e).forEach(r=>{e[r]===void 0&&delete e[r];}),N(e,t.body.trim()||"")}function jr(t,e){if(t["x-agentsmesh-kind"]!=="agent")return null;let r=typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"",n=e.startsWith(bo)?e.slice(bo.length):e.startsWith($s)?e.slice($s.length):"",o=(r||n).trim();return o?{name:o,description:typeof t.description=="string"?t.description:"",tools:ca(t["x-agentsmesh-tools"]),disallowedTools:ca(t["x-agentsmesh-disallowed-tools"]),model:typeof t["x-agentsmesh-model"]=="string"?t["x-agentsmesh-model"]:"",permissionMode:typeof t["x-agentsmesh-permission-mode"]=="string"?t["x-agentsmesh-permission-mode"]:"",maxTurns:typeof t["x-agentsmesh-max-turns"]=="number"?t["x-agentsmesh-max-turns"]:Number(t["x-agentsmesh-max-turns"]??0),mcpServers:ca(t["x-agentsmesh-mcp-servers"]),hooks:ex(t["x-agentsmesh-hooks"]),skills:ca(t["x-agentsmesh-skills"]),memory:typeof t["x-agentsmesh-memory"]=="string"?t["x-agentsmesh-memory"]:""}:null}function je(t,e){let r={name:t.name,description:t.description,tools:t.tools,disallowedTools:t.disallowedTools.length>0?t.disallowedTools:void 0,model:t.model||void 0,permissionMode:t.permissionMode||void 0,maxTurns:t.maxTurns>0?t.maxTurns:void 0,mcpServers:t.mcpServers.length>0?t.mcpServers:void 0,hooks:Object.keys(t.hooks).length>0?t.hooks:void 0,skills:t.skills.length>0?t.skills:void 0,memory:t.memory||void 0};return Object.keys(r).forEach(n=>{r[n]===void 0&&delete r[n];}),N(r,e.trim()||"")}var bo,$s,Xt=f(()=>{F();bo="am-agent-",$s="ab-agent-";i(ca,"toStringArray");i(ex,"toHooks");i(Lt,"projectedAgentSkillDirName");i(ma,"serializeProjectedAgentSkill");i(jr,"parseProjectedAgentSkillFrontmatter");i(je,"serializeImportedAgent");});function A(t,e){return relative(t,e).replace(/\\/g,"/")}async function T(t,e){return P(join(t,e)).catch(()=>[])}function Sg(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}function lx(t,e,r,n){let o=dirname(e),s=dirname(r);for(;o!==n&&o!==".";)Sg(t,o,s),o=dirname(o),s=dirname(s);}function G(t,e,r,n){t.set(e,`${r}/${basename(e,n)}.md`);}function z(t,e,r){if(!e.startsWith(`${r}/`))return;let n=e.slice(r.length+1);if(!n)return;if(!n.includes("/")){if(!n.endsWith(".md")||basename(n)==="SKILL.md")return;let p=basename(n,".md");t.set(e,`${Ig}/${p}/SKILL.md`);return}let[o,...s]=n.split("/"),a=s.join("/");if(!o||!a)return;let l=o.startsWith(Oo)?Oo:o.startsWith(Fs)?Fs:null;if(l&&a==="SKILL.md"){t.set(e,`${ix}/${o.slice(l.length)}.md`);return}let c=o.startsWith(bo)?bo:o.startsWith($s)?$s:null;if(c&&a==="SKILL.md"){t.set(e,`${ax}/${o.slice(c.length)}.md`);return}let m=`${Ig}/${o}`;a==="SKILL.md"&&Sg(t,`${r}/${o}`,m);let u=`${m}/${a}`;t.set(e,u),a!=="SKILL.md"&&lx(t,e,u,`${r}/${o}`);}function cx(t){return t.split("/").filter(Boolean)[0]??""}async function mx(){if($c!==void 0)return $c;let{BUILTIN_TARGETS:t}=await Promise.resolve().then(()=>(rt(),_g)),e=new Set;for(let r of t)for(let n of [r.project.rootInstructionPath,r.project.skillDir,...r.project.managedOutputs?.dirs??[],...r.project.managedOutputs?.files??[],...r.detectionPaths,r.globalSupport?.layout.rootInstructionPath,r.globalSupport?.layout.skillDir,...r.globalSupport?.layout.managedOutputs?.dirs??[],...r.globalSupport?.layout.managedOutputs?.files??[],...r.globalSupport?.detectionPaths??[]])if(n!==void 0){let o=cx(n);o.startsWith(".")&&e.add(o);}return $c=e,e}function Gc(t){return t.split("/").some(e=>e.startsWith("."))}async function ux(t){let e=[],r=await mx();async function n(o){let s=join(t,o),a=await readdir(s,{withFileTypes:true}).catch(()=>[]);for(let l of a){let c=o?`${o}/${l.name}`:l.name;if(l.isDirectory()){if(r.has(l.name)||Gc(c))continue;await n(c);continue}if(l.isSymbolicLink()&&await stat(join(t,c)).then(m=>m.isDirectory(),()=>false)){if(r.has(l.name)||Gc(c))continue;await n(c);continue}(l.name==="AGENTS.md"||l.name==="AGENTS.override.md")&&e.push(join(t,c));}}return i(n,"walk"),await n(""),e}async function pa(t,e){let r=await ux(e);for(let n of r){let o=A(e,n),s=o.endsWith("/AGENTS.md")&&o!=="AGENTS.md"&&!o.endsWith("/AGENTS.override.md"),a=o.endsWith("/AGENTS.override.md")&&o!=="AGENTS.override.md";if(!s&&!a)continue;let l=dirname(o);if(Gc(l))continue;let c=l.replace(/\//g,"-");t.set(o,`${sx}/${c}.md`);}}var sx,ix,ax,Ig,$c,Mt=f(()=>{E();vs();Xt();sx=".agentsmesh/rules",ix=".agentsmesh/commands",ax=".agentsmesh/agents",Ig=".agentsmesh/skills";i(A,"rel");i(T,"listFiles");i(Sg,"addDirectoryMapping");i(lx,"addAncestorMappings");i(G,"addSimpleFileMapping");i(z,"addSkillLikeMapping");i(cx,"firstPathSegment");i(mx,"targetRootSegments");i(Gc,"hasHiddenSegment");i(ux,"listScopedAgentsFiles");i(pa,"addScopedAgentsMappings");});var v,tt,kt,Gt=f(()=>{v=".agentsmesh/rules",tt=".agentsmesh/commands",kt=".agentsmesh/agents";});async function jc(t,e,r="project"){if(r==="global"){t.set(ve,`${v}/_root.md`);for(let n of await T(e,pr))z(t,A(e,n),pr);t.set(Ro,".agentsmesh/mcp.json");return}t.set(ge,`${v}/_root.md`),t.set(Ls,`${v}/_root.md`);for(let n of await T(e,Fe)){let o=A(e,n);o===ge||o===Ls||G(t,o,v,".md");}for(let n of await T(e,ur))G(t,A(e,n),tt,".md");for(let n of await T(e,wn))z(t,A(e,n),wn);}var Rg=f(()=>{Mt();En();Gt();i(jc,"buildAntigravityImportPaths");});var Cg,Ur,kg,Gs,js,Us,Ws,Bs,gr,Uc,Ks,xo,Hs,zs,da,fa,Wc,Vs,Bc,bn,wg,hr=f(()=>{Cg="claude-code",Ur=".claude/CLAUDE.md",kg="CLAUDE.md",Gs=".claude/rules",js=".claude/commands",Us=".claude/agents",Ws=".claude/skills",Bs=".claude/settings.json",gr=".claude/hooks.json",Uc=".claude/output-styles",Ks=".claudeignore",xo=".mcp.json",Hs=".claude.json",zs=".agentsmesh/rules",da=".agentsmesh/commands",fa=".agentsmesh/agents",Wc=".agentsmesh/skills",Vs=".agentsmesh/mcp.json",Bc=".agentsmesh/permissions.yaml",bn=".agentsmesh/hooks.yaml",wg=".agentsmesh/ignore";});async function Kc(t,e,r="project"){if(t.set(".claude/CLAUDE.md",`${v}/_root.md`),t.set(gr,bn),r==="project"&&t.set("CLAUDE.md",`${v}/_root.md`),r==="global")for(let n of await T(e,".agents/skills"))z(t,A(e,n),".agents/skills");for(let n of await T(e,".claude/rules"))G(t,A(e,n),v,".md");for(let n of await T(e,".claude/commands"))G(t,A(e,n),tt,".md");for(let n of await T(e,".claude/agents"))G(t,A(e,n),kt,".md");for(let n of await T(e,".claude/skills"))z(t,A(e,n),".claude/skills");}var Og=f(()=>{Mt();hr();Gt();i(Kc,"buildClaudeCodeImportPaths");});var Wr,yr,xn,Ir,Eg,It,Ue,Br,Pn,An,Tn,Ln,Hc,Kr,ga,zc,Vc,Jc,bg,Zt=f(()=>{Wr="cline",yr=".clinerules",xn=".clineignore",Ir=".cline/cline_mcp_settings.json",Eg=".cline/mcp_settings.json",It=".cline/skills",Ue=".clinerules/workflows",Br="AGENTS.md",Pn=".clinerules/hooks",An="Documents/Cline/Rules",Tn="Documents/Cline/Workflows",Ln="Documents/Cline/Hooks",Hc=".agentsmesh/hooks.yaml",Kr=".agentsmesh/rules",ga=".agentsmesh/commands",zc=".agentsmesh/ignore",Vc=".agentsmesh/mcp.json",Jc=".agentsmesh/agents",bg=".agentsmesh/skills";});async function Yc(t,e,r="project"){if(r==="global"){for(let n of await T(e,An))G(t,A(e,n),v,".md");for(let n of await T(e,Tn))G(t,A(e,n),tt,".md");for(let n of await T(e,It))z(t,A(e,n),It);t.set(Ir,".agentsmesh/mcp.json");return}t.set(".clinerules/_root.md",`${v}/_root.md`);for(let n of await T(e,".clinerules")){let o=A(e,n);!o.endsWith(".md")||o.includes("/workflows/")||basename(o)==="_root.md"||G(t,o,v,".md");}for(let n of await T(e,".clinerules/workflows"))G(t,A(e,n),tt,".md");for(let n of await T(e,".cline/skills"))z(t,A(e,n),".cline/skills");}var xg=f(()=>{Mt();Zt();Gt();i(Yc,"buildClineImportPaths");});async function Xc(t,e,r="project"){if(r==="global"?(t.set(".codex/AGENTS.md",`${v}/_root.md`),t.set(".codex/AGENTS.override.md",`${v}/_root.md`)):(t.set("AGENTS.md",`${v}/_root.md`),t.set("codex.md",`${v}/_root.md`),await pa(t,e)),r==="project")for(let n of await T(e,".codex/instructions"))G(t,A(e,n),v,".md");for(let n of await T(e,".codex/rules")){let o=A(e,n);o.endsWith(".rules")?G(t,o,v,".rules"):o.endsWith(".md")&&G(t,o,v,".md");}for(let n of await T(e,".codex/agents"))G(t,A(e,n),kt,".toml");for(let n of await T(e,".agents/skills"))z(t,A(e,n),".agents/skills");}var Pg=f(()=>{Mt();Gt();i(Xc,"buildCodexCliImportPaths");});var Po,Ie,We,Zc,ha,Sr,qc,Be,Ao,Js,ya,Ia,Qc,Ke=f(()=>{Po="continue",Ie=".continue/rules",We=".continue/prompts",Zc=".continue/mcpServers",ha=`${Zc}/agentsmesh.json`,Sr=`${Ie}/general.md`,qc=`${Ie}/_root.md`,Be=".continue/skills",Ao=".continue/AGENTS.md",Js=".continue/config.yaml",ya=".agentsmesh/rules",Ia=".agentsmesh/commands",Qc=".agentsmesh/mcp.json";});async function tm(t,e,r="project"){t.set(Sr,`${v}/_root.md`),t.set(qc,`${v}/_root.md`);for(let n of await T(e,".continue/rules")){let o=A(e,n);o===Sr||o===qc||G(t,o,v,".md");}for(let n of await T(e,".continue/prompts"))t.set(A(e,n),`${tt}/${basename(n,".md")}.md`);for(let n of await T(e,".continue/skills"))z(t,A(e,n),".continue/skills");if(r==="global")for(let n of await T(e,".agents/skills"))z(t,A(e,n),".agents/skills");}var Ag=f(()=>{Mt();Ke();Gt();i(tm,"buildContinueImportPaths");});function fx(t,e){if(e.endsWith(".instructions.md")){t.set(e,`${v}/${basename(e,".instructions.md")}.md`);return}G(t,e,v,".md");}async function em(t,e){t.set(".github/copilot-instructions.md",`${v}/_root.md`);for(let r of await T(e,".github/copilot"))t.set(A(e,r),`${v}/${basename(r,".instructions.md")}.md`);for(let r of await T(e,".github/instructions"))fx(t,A(e,r));for(let r of await T(e,".github/prompts"))t.set(A(e,r),`${tt}/${basename(r,".prompt.md")}.md`);for(let r of await T(e,".github/agents"))t.set(A(e,r),`${kt}/${basename(r,".agent.md")}.md`);for(let r of await T(e,".github/skills"))z(t,A(e,r),".github/skills");}var Tg=f(()=>{Mt();Gt();i(fx,"addCopilotInstructionMapping");i(em,"buildCopilotImportPaths");});var Lg,Hr,Ng,qt,_r,Qt,To,He,ze,Ve,_a,Se,rm,gx,Lo,_e,Ys,zr,Vr,Je,Jr,Yr,Dg,No,nm,Xs,om,ct=f(()=>{Lg="cursor",Hr="AGENTS.md",Ng=".cursorrules",qt=".cursor/rules",_r=`${qt}/general.mdc`,Qt=".cursor/commands",To=".cursor/agents",He=".cursor/skills",ze=".cursor/mcp.json",Ve=".cursor/hooks.json",_a=".cursor/settings.json",Se=".cursorignore",rm=".cursorindexingignore",gx=".agentsmesh-exports/cursor",Lo=`${gx}/user-rules.md`,_e=".cursor/AGENTS.md",Ys=ze,zr=He,Vr=To,Je=".agentsmesh/rules",Jr=".agentsmesh/commands",Yr=".agentsmesh/agents",Dg=".agentsmesh/skills",No=".agentsmesh/mcp.json",nm=".agentsmesh/permissions.yaml",Xs=".agentsmesh/hooks.yaml",om=".agentsmesh/ignore";});async function sm(t,e,r="project"){if(r==="global"){t.set(ze,".agentsmesh/mcp.json"),t.set(".cursor/AGENTS.md",`${v}/_root.md`);for(let n of await T(e,".cursor/rules"))G(t,A(e,n),v,".mdc");for(let n of await T(e,".cursor/commands"))G(t,A(e,n),tt,".md");for(let n of await T(e,".cursor/agents"))G(t,A(e,n),kt,".md");for(let n of await T(e,".cursor/skills"))z(t,A(e,n),".cursor/skills");return}t.set("AGENTS.md",`${v}/_root.md`);for(let n of await T(e,".cursor/rules"))G(t,A(e,n),v,".mdc");for(let n of await T(e,".cursor/commands"))G(t,A(e,n),tt,".md");for(let n of await T(e,".cursor/agents"))G(t,A(e,n),kt,".md");for(let n of await T(e,".cursor/skills"))z(t,A(e,n),".cursor/skills");}var Fg=f(()=>{Mt();ct();Gt();i(sm,"buildCursorImportPaths");});async function im(t,e){for(let r of await T(e,".gemini/rules"))G(t,A(e,r),v,".md");for(let r of await T(e,".gemini/commands")){let n=A(e,r);if(!n.endsWith(".toml")&&!n.endsWith(".md"))continue;let o=n.replace(/\.(toml|md)$/i,""),s=".gemini/commands/",c=(o.startsWith(s)?o.slice(s.length):o).split("/").filter(Boolean).join(":");t.set(n,`${tt}/${c}.md`);}for(let r of await T(e,".gemini/agents"))G(t,A(e,r),kt,".md");for(let r of await T(e,".gemini/skills"))z(t,A(e,r),".gemini/skills");}var vg=f(()=>{Mt();Gt();i(im,"buildGeminiCliImportPaths");});var Nn,Xr,Ra,$g,Ye,Mg,hx,Zs,Dn,qs,Do,Fo,Qs,ti,ei,ri,ni,yx,Ca,Fn,Gg,am,ka,jg,Ug,Wg,Bg,vo=f(()=>{Nn="junie",Xr=".junie",Ra=`${Xr}/guidelines.md`,$g=`${Xr}/ci-guidelines.md`,Ye=`${Xr}/AGENTS.md`,Mg="AGENTS.md",hx=`${Xr}/mcp`,Zs=`${hx}/mcp.json`,Dn=`${Xr}/skills`,qs=`${Xr}/rules`,Do=`${Xr}/commands`,Fo=`${Xr}/agents`,Qs=".aiignore",ti=".junie",ei=`${ti}/skills`,ri=`${ti}/agents`,ni=`${ti}/commands`,yx=`${ti}/mcp`,Ca=`${yx}/mcp.json`,Fn=`${ti}/AGENTS.md`,Gg=".agents/skills",am=".agentsmesh/rules/_root.md",ka=".agentsmesh/rules",jg=".agentsmesh/commands",Ug=".agentsmesh/agents",Wg=".agentsmesh/mcp.json",Bg=".agentsmesh/ignore";});async function lm(t,e){t.set(Ra,`${v}/_root.md`),t.set(Ye,`${v}/_root.md`),t.set("AGENTS.md",`${v}/_root.md`);for(let r of await T(e,".junie/rules"))G(t,A(e,r),v,".md");for(let r of await T(e,".junie/commands"))G(t,A(e,r),tt,".md");for(let r of await T(e,".junie/agents"))G(t,A(e,r),kt,".md");for(let r of await T(e,".junie/skills"))z(t,A(e,r),".junie/skills");}var Kg=f(()=>{Mt();vo();Gt();i(lm,"buildJunieImportPaths");});var jt,Re,oi,Ce,te,ke,Zr,Hg,$o,Mo,vn,we,qr,$n,si,ii,zg,cm,mm,Vg,Jg,um,Yg,Go=f(()=>{jt="kiro",Re="AGENTS.md",oi=".kiro",Ce=`${oi}/steering`,te=`${oi}/skills`,ke=`${oi}/agents`,Zr=`${oi}/hooks`,Hg=`${oi}/settings`,$o=`${Hg}/mcp.json`,Mo=".kiroignore",vn=".kiro/steering",we=".kiro/steering/AGENTS.md",qr=".kiro/skills",$n=".kiro/agents",si=".kiro/settings/mcp.json",ii=".kiro/settings/kiroignore",zg=".agents/skills",cm=".agentsmesh/rules/_root.md",mm=".agentsmesh/rules",Vg=".agentsmesh/agents",Jg=".agentsmesh/mcp.json",um=".agentsmesh/hooks.yaml",Yg=".agentsmesh/ignore";});async function pm(t,e,r="project"){if(r==="global"){t.set(we,`${v}/_root.md`);for(let n of await T(e,vn)){let o=A(e,n);o!==we&&G(t,o,v,".md");}for(let n of await T(e,qr))z(t,A(e,n),qr);for(let n of await T(e,$n))G(t,A(e,n),kt,".md");return}t.set(Re,`${v}/_root.md`);for(let n of await T(e,Ce))G(t,A(e,n),v,".md");for(let n of await T(e,te))z(t,A(e,n),te);for(let n of await T(e,ke))G(t,A(e,n),kt,".md");}var Xg=f(()=>{Mt();Go();Gt();i(pm,"buildKiroImportPaths");});var Qr,Mn,Oe,ai,Rr,Cr,Xe,li,ci,jo,mi,wa,tn,en,kr,Gn,ui,rn,Zg,jn,Oa,qg,Qg,Un=f(()=>{Qr="roo-code",Mn=".roo",Oe=`${Mn}/rules/00-root.md`,ai=".roorules",Rr=`${Mn}/rules`,Cr=`${Mn}/commands`,Xe=`${Mn}/skills`,li=`${Mn}/mcp.json`,ci=".rooignore",jo=".roomodes",mi="settings/custom_modes.yaml",wa=".roo",tn=`${wa}/rules`,en=`${wa}/commands`,kr=`${wa}/skills`,Gn="mcp_settings.json",ui=".rooignore",rn=`${wa}/AGENTS.md`,Zg=".agents/skills",jn=".agentsmesh/rules",Oa=".agentsmesh/commands",qg=".agentsmesh/mcp.json",Qg=".agentsmesh/ignore";});async function dm(t,e,r="project"){if(r==="global"){t.set(rn,`${v}/_root.md`);for(let n of await T(e,tn))G(t,A(e,n),v,".md");for(let n of await T(e,en))G(t,A(e,n),tt,".md");for(let n of await T(e,kr))z(t,A(e,n),kr);t.set(Gn,".agentsmesh/mcp.json");return}t.set(Oe,`${v}/_root.md`),t.set(ai,`${v}/_root.md`);for(let n of await T(e,Rr)){let o=A(e,n);o!==Oe&&G(t,o,v,".md");}for(let n of await T(e,".roo")){let o=A(e,n);/^\.roo\/rules-[^/]+\/.+\.md$/.test(o)&&G(t,o,v,".md");}for(let n of await T(e,Cr))G(t,A(e,n),tt,".md");for(let n of await T(e,Xe))z(t,A(e,n),Xe);}var th=f(()=>{Mt();Un();Gt();i(dm,"buildRooCodeImportPaths");});async function fm(t,e){t.set("AGENTS.md",`${v}/_root.md`),t.set(".windsurfrules",`${v}/_root.md`),await pa(t,e);for(let r of await T(e,".windsurf/rules"))G(t,A(e,r),v,".md");for(let r of await T(e,".windsurf/workflows"))G(t,A(e,r),tt,".md");for(let r of await T(e,".windsurf/skills"))z(t,A(e,r),".windsurf/skills");}var eh=f(()=>{Mt();Gt();i(fm,"buildWindsurfImportPaths");});var rh=f(()=>{Rg();Og();xg();Pg();Ag();Tg();Fg();vg();Kg();Xg();th();eh();});var Ut=f(()=>{rh();});var Ix,Sx,_x,Rx,la,vc=f(()=>{Cn();zf();En();ng();lg();fg();Ut();Ix={name:"antigravity",primaryRootInstructionPath:ge,generateRules:Uf,generateCommands:Wf,generateSkills:Bf,generateMcp:Kf,importFrom:rg},Sx={rootInstructionPath:ge,skillDir:".agents/skills",rewriteGeneratedPath(t){return t===Ns?null:t},paths:{rulePath(t,e){return `${Fe}/${t}.md`},commandPath(t,e){return `${ur}/${t}.md`},agentPath(t,e){return null}}},_x={rootInstructionPath:ve,renderPrimaryRootInstruction:Hf,skillDir:pr,managedOutputs:{dirs:[pr,Ds],files:[ve,Ro]},rewriteGeneratedPath(t){return t===ge?ve:t.startsWith(`${Fe}/`)?null:t.startsWith(".agents/skills/")?t.replace(".agents/skills",pr):t.startsWith(`${ur}/`)?t.replace(ur,Ds):t===Ns?Ro:t},paths:{rulePath(t,e){return ve},commandPath(t,e){return `${Ds}/${t}.md`},agentPath(t,e){return null}}},Rx={rules:"native",additionalRules:"embedded",commands:pe("partial","workflows"),agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},la={id:"antigravity",generators:Ix,capabilities:{rules:"native",additionalRules:"native",commands:pe("partial","workflows"),agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},emptyImportMessage:"No Antigravity config found (.agents/rules/, .agents/skills/, or .agents/workflows/).",lintRules:dg,project:Sx,globalSupport:{capabilities:Rx,detectionPaths:[".gemini/antigravity/GEMINI.md",".gemini/antigravity/skills",".gemini/antigravity/workflows",".gemini/antigravity/mcp_config.json"],layout:_x},importer:{rules:{feature:"rules",mode:"directory",source:{project:[Fe]},canonicalDir:On,extensions:[".md"],map:ig},commands:{feature:"commands",mode:"directory",source:{project:[ur],global:[Ds]},canonicalDir:aa,extensions:[".md"],map:ag},mcp:{feature:"mcp",mode:"flatFile",source:{global:[Ro]},canonicalDir:".agentsmesh",canonicalFilename:jf}},buildImportPaths:jc,detectionPaths:[".agents/rules/general.md",".agents/rules/",".agents/skills/",".agents/workflows/"]};});function nh(t){if(!t.hooks||Object.keys(t.hooks).length===0)return {};let e={};for(let[r,n]of Object.entries(t.hooks)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!Te(s))continue;let a=ut(s),l=Ot(s),c=s.type==="prompt"?l||a:a||l,m={type:s.type==="prompt"?"prompt":"command",[s.type==="prompt"?"prompt":"command"]:c};s.timeout!==void 0&&(m.timeout=s.timeout),o.push({matcher:s.matcher,hooks:[m]});}o.length>0&&(e[r]=o);}return e}var oh=f(()=>{ce();i(nh,"buildClaudeHooksObjectFromCanonical");});function sh(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:Ur,content:r.body.trim()?r.body:""});let n=t.rules.filter(o=>!o.root&&(o.targets.length===0||o.targets.includes("claude-code")));for(let o of n){let s=basename(o.source,".md"),a={};o.description&&(a.description=o.description),o.globs.length>0&&(a.globs=o.globs);let l=N(a,o.body.trim()||"");e.push({path:`${Gs}/${s}.md`,content:l});}return e}function ih(t){return t.commands.map(e=>{let r={description:e.description,"allowed-tools":e.allowedTools.length>0?e.allowedTools:void 0};r["allowed-tools"]===void 0&&delete r["allowed-tools"];let n=N(r,e.body.trim()||"");return {path:`${js}/${e.name}.md`,content:n}})}function ah(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0,model:e.model||void 0,permissionMode:e.permissionMode||void 0,maxTurns:e.maxTurns>0?e.maxTurns:void 0,mcpServers:e.mcpServers.length>0?e.mcpServers:void 0,hooks:Object.keys(e.hooks).length>0?e.hooks:void 0,skills:e.skills.length>0?e.skills:void 0,memory:e.memory||void 0};Object.keys(r).forEach(a=>{r[a]===void 0&&delete r[a];});let n=e.body.trim()||"",o=/^##\s*Role\b/m.test(n)?n:`## Role
47
45
 
48
- ${yP}`,xP=`## AgentsMesh Generation Contract
46
+ ${n}`,s=N(r,o);return {path:`${Us}/${e.name}.md`,content:s}})}function lh(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:xo,content:e}]}function ch(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=r.body.trim()||"",s=!o||/^##\s*Purpose\b/m.test(o)?o:`## Purpose
49
47
 
50
- ${IP}`,Jo=`${ci}
51
- ## AgentsMesh Generation Contract
48
+ ${o}`,a=N(n,s);e.push({path:`${Ws}/${r.name}/SKILL.md`,content:a});for(let l of r.supportingFiles){let c=l.relativePath.replace(/\\/g,"/");e.push({path:`${Ws}/${r.name}/${c}`,content:l.content});}}return e}function mh(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,n=t.permissions.ask??[];if(e.length===0&&r.length===0&&n.length===0)return [];let o=JSON.stringify({permissions:{allow:e,deny:r,ask:n}},null,2);return [{path:Bs,content:o}]}function uh(t,e){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let r=nh(t);if(Object.keys(r).length===0)return [];if(e?.scope==="global")return [{path:gr,content:JSON.stringify(r,null,2)}];let n=JSON.stringify({hooks:r},null,2);return [{path:Bs,content:n}]}function ph(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
49
+ `);return [{path:Ks,content:e}]}var dh=f(()=>{F();hr();oh();i(sh,"generateRules");i(ih,"generateCommands");i(ah,"generateAgents");i(lh,"generateMcp");i(ch,"generateSkills");i(mh,"generatePermissions");i(uh,"generateHooks");i(ph,"generateIgnore");});function xt(t,e,r){return t.startsWith(`${e}/`)&&!r.includes("codex-cli")?`.agents/skills/${t.slice(e.length+1)}`:null}var nn=f(()=>{i(xt,"mirrorSkillsToAgents");});function wx(t){let e=t.description.trim();return e||(basename(t.source)||"rule").replace(/\.md$/i,"")||"Rule"}function fh(t){let e=t.rules.find(o=>o.root),r=(e?.body??"").trim();return r?`# Global Instructions
52
50
 
53
- ${SP}
54
- ${mi}`;i(Sm,"normalizeWhitespace");Mg=[xP,PP,EP,OP,wP,kP,RP,CP,_P];i(Gg,"appendAgentsmeshRootInstructionParagraph");i(jg,"stripAgentsmeshRootInstructionParagraph");});function Pt(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}async function Yo(t){let e=await y(t);return e?w(e).frontmatter:{}}function St(t,e){return typeof t[e]=="string"?t[e]:void 0}function Rm(t){let e=t.hooks;return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function bP(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}function AP(t,e){let r=basename(t,".md")==="_root",n={...e};return delete n.root,{root:r,...n}}async function $(t,e,r){let n=await Yo(t),o=basename(t,".md")==="_root"?jg(r):r.trim(),s=AP(t,bP({...n,...e})),a={root:s.root===true,description:typeof s.description=="string"?s.description:""};a.root===false&&(a.globs=Pt(s.globs));for(let[l,c]of Object.entries(s))l==="root"||l==="description"||l==="globs"||c===void 0||(a[l]=c);return D(a,o||"")}var km=g(()=>{E();F();Cm();i(Pt,"toStringArray");i(Yo,"readExistingFrontmatter");i(St,"readString");i(Rm,"readHooks");i(bP,"pruneUndefined");i(AP,"serializeCanonicalRuleFrontmatter");i($,"serializeImportedRuleWithFallback");});async function st(t,e,r){let n=await Yo(t),o=(()=>{let l=Pt(n.allowedTools);return l.length>0?l:Pt(n["allowed-tools"])})(),s=e.hasDescription?e.description??"":typeof n.description=="string"?n.description:"",a=e.hasAllowedTools?e.allowedTools??[]:o;return D({description:s,"allowed-tools":a},r.trim()||"")}async function tr(t,e,r){let n=await Yo(t),o=basename(dirname(t)),s=St(e,"name")??St(n,"name")??o,a=St(e,"description")??St(n,"description")??"";return D({name:s,description:a},r.trim()||"")}async function zt(t,e,r){let n=await Yo(t),o=Object.prototype.hasOwnProperty.call(e,"tools")?Pt(e.tools):(()=>{let C=Pt(n.tools);return C.length>0?C:[]})(),s=Object.prototype.hasOwnProperty.call(e,"disallowedTools")?Pt(e.disallowedTools):Object.prototype.hasOwnProperty.call(e,"disallowed-tools")?Pt(e["disallowed-tools"]):Pt(n.disallowedTools),a=Object.prototype.hasOwnProperty.call(e,"mcpServers")?Pt(e.mcpServers):Object.prototype.hasOwnProperty.call(e,"mcp-servers")?Pt(e["mcp-servers"]):Pt(n.mcpServers),l=Object.prototype.hasOwnProperty.call(e,"skills")?Pt(e.skills):Pt(n.skills),c=e.maxTurns??e["max-turns"]??n.maxTurns,m=typeof c=="number"?c:Number(c??0),u=Rm(e)??Rm(n),p={name:St(e,"name")??St(n,"name")??basename(t,".md"),description:St(e,"description")??St(n,"description")??"",tools:o};s.length>0&&(p.disallowedTools=s);let d=St(e,"model")??St(n,"model");d&&(p.model=d);let f=St(e,"permissionMode")??St(e,"permission-mode")??St(n,"permissionMode")??St(n,"permission-mode");f&&(p.permissionMode=f),Number.isInteger(m)&&m>0&&(p.maxTurns=m),a.length>0&&(p.mcpServers=a),u&&Object.keys(u).length>0&&(p.hooks=u),l.length>0&&(p.skills=l);let h=St(e,"memory")??St(n,"memory");return h&&(p.memory=h),D(p,r.trim()||"")}var Bg=g(()=>{F();km();i(st,"serializeImportedCommandWithFallback");i(tr,"serializeImportedSkillWithFallback");i(zt,"serializeImportedAgentWithFallback");});var V=g(()=>{km();Bg();});function Ar(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}function Tr(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Lr(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function Dt(t){return !t||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}var Pe=g(()=>{i(Ar,"toGlobsArray");i(Tr,"toToolsArray");i(Lr,"toStringArray");i(Dt,"toStringRecord");});async function La(t,e,r,n){let o=t.replace(/\.mdc$/i,".md"),s=join(e,o),l=w(r(s)).frontmatter.alwaysApply===true,c=l?join(e,"_root.md"):s,{frontmatter:m,body:u}=w(r(c));l&&n();let p={...m,root:l};return delete p.alwaysApply,{destPath:c,toPath:`${Je}/${l?"_root.md":o}`,feature:"rules",content:await $(c,p,u)}}async function Na(t,e,r){let n=join(e,t),{frontmatter:o,body:s}=w(r(n)),a=Tr(o.allowedTools),l=a.length>0?a:Tr(o["allowed-tools"]);return {destPath:n,toPath:`${Mo}/${t}`,feature:"commands",content:await st(n,{description:typeof o.description=="string"?o.description:"",hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),allowedTools:l,hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},s)}}async function Da(t,e,r){let n=join(e,t),{frontmatter:o,body:s}=w(r(n));return {destPath:n,toPath:`${Go}/${t}`,feature:"agents",content:await zt(n,o,s)}}var Fa=g(()=>{F();V();Pe();ut();i(La,"mapCursorRuleFile");i(Na,"mapCursorCommandFile");i(Da,"mapCursorAgentFile");});function LP(t){let e=t.replace(/\\/g,"/");return !e.startsWith("rules/")||e.endsWith("/")||!e.endsWith(".md")?null:e}async function er(t){let e=Eg(t.content),r=[];if(e.rules.length===0)return {rootContent:e.rootContent,results:r};await k(join(t.projectRoot,t.rulesDir));for(let n of e.rules){let o=LP(n.source);if(o===null||o==="rules/_root.md")continue;let s=join(t.projectRoot,".agentsmesh",o),a=t.normalize(n.body,t.sourcePath,s),{frontmatter:l,body:c}=w(a),m=await $(s,{...l,root:false,description:n.description||void 0,globs:n.globs.length>0?n.globs:void 0,targets:n.targets.length>0?n.targets:void 0},c);await S(s,m),r.push({fromTool:t.fromTool,fromPath:t.sourcePath,toPath:`.agentsmesh/${o}`,feature:"rules"});}return {rootContent:e.rootContent,results:r}}var Xo=g(()=>{E();F();pn();V();i(LP,"canonicalRulePath");i(er,"splitEmbeddedRulesToCanonical");});async function Zo(t){let e=join(t.projectRoot,Je);await k(e);let r=join(e,"_root.md"),n=await er({content:t.content,projectRoot:t.projectRoot,rulesDir:Je,sourcePath:t.sourcePath,fromTool:"cursor",normalize:t.normalize});t.results.push(...n.results);let o=t.normalize(n.rootContent,t.sourcePath,r);if(!o.trim()&&n.results.length>0)return true;let{frontmatter:s,body:a}=w(o),l=s.root===true?s:{...s,root:true},c=await $(r,l,a);return await S(r,c),t.results.push({fromTool:"cursor",fromPath:t.sourcePath,toPath:`${Je}/_root.md`,feature:"rules"}),true}var wm=g(()=>{E();F();Xo();V();ut();i(Zo,"importCursorRootFile");});async function zg(t,e,r){let n=join(t,Je),o=false,s=join(t,oe);if(e.push(...await U({srcDir:s,destDir:n,extensions:[".mdc"],fromTool:"cursor",normalize:r,mapEntry:i(async({srcPath:a,relativePath:l,normalizeTo:c})=>{if(o){let m=await y(a);if(m!==null){let{frontmatter:u}=w(m);if(u.alwaysApply===true)return null}}return La(l,n,c,()=>{o=true;})},"mapEntry")})),!o){let a=join(t,rn),l=await y(a);l!==null&&(o=await Zo({projectRoot:t,results:e,sourcePath:a,content:l,normalize:r}));}if(!o){let a=join(t,ng),l=await y(a);l!==null&&await Zo({projectRoot:t,results:e,sourcePath:a,content:l,normalize:r});}}var Vg=g(()=>{E();F();pt();Fa();wm();ut();i(zg,"importCursorRules");});function Jg(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!s||typeof s!="object")continue;let a=s,l=typeof a.matcher=="string"?a.matcher:"";if(!l)continue;let c=Array.isArray(a.hooks)?a.hooks:[];for(let m of c){let u=m.type==="prompt"?"prompt":"command";if(!$e({...m,type:u}))continue;let p=u==="prompt"?Ot(m)||mt(m):mt(m)||Ot(m),d={matcher:l,type:u,command:p};typeof m.timeout=="number"&&(d.timeout=m.timeout),o.push(d);}}o.length>0&&(e[r]=o);}return e}async function Ma(t,e){let r=false,n=join(t,Ve),o=await y(n);if(o)try{let u=JSON.parse(o);if(u.hooks&&typeof u.hooks=="object"){let p=Jg(u.hooks);if(Object.keys(p).length>0){let d=stringify(p),f=join(t,Qs);await k(dirname(f)),await S(f,d),e.push({fromTool:"cursor",fromPath:n,toPath:Qs,feature:"hooks"}),r=!0;}}}catch{}let s=join(t,Ca),a=await y(s);if(!a)return;let l;try{l=JSON.parse(a);}catch{return}let c=l.permissions;if(c&&typeof c=="object"&&!Array.isArray(c)){let u=c,p=Array.isArray(u.allow)?u.allow.filter(f=>typeof f=="string"):[],d=Array.isArray(u.deny)?u.deny.filter(f=>typeof f=="string"):[];if(p.length>0||d.length>0){let f=stringify({allow:p,deny:d}),h=join(t,jc);await k(dirname(h)),await S(h,f),e.push({fromTool:"cursor",fromPath:s,toPath:jc,feature:"permissions"});}}let m=r?void 0:l.hooks;if(m&&typeof m=="object"&&!Array.isArray(m)){let u=Jg(m);if(Object.keys(u).length>0){let p=stringify(u),d=join(t,Qs);await k(dirname(d)),await S(d,p),e.push({fromTool:"cursor",fromPath:s,toPath:Qs,feature:"hooks"});}}}async function Ga(t,e){let r=[{path:join(t,_e),label:_e},{path:join(t,Gc),label:Gc}],n=[],o=[];for(let a of r){let l=await y(a.path);if(l!==null){o.push(a.label);for(let c of l.split(/\r?\n/)){let m=c.trim();m&&!n.includes(m)&&n.push(m);}}}if(n.length===0)return;let s=join(t,Uc);await k(dirname(s)),await S(s,n.join(`
55
- `)+`
56
- `),e.push({fromTool:"cursor",fromPath:join(t,o[0]),toPath:Uc,feature:"ignore"});}var Em=g(()=>{fe();E();ut();i(Jg,"cursorHooksToCanonical");i(Ma,"importSettings");i(Ga,"importIgnore");});function Yg(t){return NP.some(e=>e.test(t))}var NP,Xg=g(()=>{NP=[/^\./,/^_ab-agent-/,/^_ab-command-/,/\.fixture\./,/\.test\./];i(Yg,"isReservedArtifactName");});async function FP(t){let e=await b(t).catch(()=>[]),r=[];for(let n of e){let o=relative(t,n).replace(/\\/g,"/"),s=basename(o);if(Yg(s))continue;let a=await y(n);a!==null&&r.push({absolutePath:n,relativePath:o,content:a});}return r}async function rr(t,e,r){let n=await FP(e),o=join(r.projectRoot,r.destCanonicalSkillsDir,t);for(let s of n){let a=join(o,s.relativePath);await k(dirname(a));let l=r.normalize(s.content,s.absolutePath,a);if(s.relativePath==="SKILL.md"){let{frontmatter:c,body:m}=w(l),u=await tr(a,{...c,name:t},m);await S(a,u);}else await S(a,l);r.results.push({fromTool:r.targetName,fromPath:s.absolutePath,toPath:`${r.destCanonicalSkillsDir}/${t}/${s.relativePath}`,feature:"skills"});}}async function qg(t,e,r,n){let o=join(n.projectRoot,n.destCanonicalSkillsDir,t);await k(o);let s=join(o,"SKILL.md"),a=n.normalize(r,e,s),{frontmatter:l,body:c}=w(a),m=await tr(s,{...l,name:t},c);await S(s,m),n.results.push({fromTool:n.targetName,fromPath:e,toPath:`${n.destCanonicalSkillsDir}/${t}/SKILL.md`,feature:"skills"});}async function dn(t){let e=new Map;try{let n=(await b(t)).filter(o=>basename(o)==="SKILL.md");for(let o of n){let s=dirname(o),a=basename(s);e.set(a,s);}}catch{}return e}var qo=g(()=>{E();F();V();Xg();i(FP,"readNativeSkill");i(rr,"importDirectorySkill");i(qg,"importFlatSkill");i(dn,"findDirectorySkills");});async function Ua(t,e,r,n=He){let o=join(t,n),s=await dn(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:og,targetName:"cursor",normalize:r,results:e};for(let[u,p]of s)await rr(u,p,a);let l=await b(o).catch(()=>[]),c=l.filter(u=>u.endsWith(".md")),m=new Set(Array.from(s.values()).flatMap(u=>l.filter(p=>p.startsWith(u))));for(let u of c){if(m.has(u))continue;let p=await y(u);if(!p)continue;let d=basename(u,".md");await qg(d,u,p,a);}}var xm=g(()=>{E();qo();ut();i(Ua,"importSkills");});async function Qg(t){if(await N(join(t,oe)))return true;let e=[join(t,Ce),join(t,$o),join(t,qs),join(t,Ve),join(t,_e),join(t,nn),join(t,on),join(t,Kt)];for(let s of e){let a=await y(s);if(a!==null&&a.trim()!=="")return true}return !!((await b(join(t,nn))).some(s=>s.endsWith(".md"))||(await b(join(t,on))).some(s=>s.endsWith(".md"))||(await b(join(t,Kt))).some(s=>s.endsWith(".md")))}async function th(t,e,r){let n=join(t,Je),o=false,s=join(t,oe),a=await U({srcDir:s,destDir:n,extensions:[".mdc"],fromTool:Qo,normalize:r,mapEntry:i(async({srcPath:l,relativePath:c,normalizeTo:m})=>{if(o){let u=await y(l);if(u!==null){let{frontmatter:p}=w(u);if(p.alwaysApply===true)return null}}return La(c,n,m,()=>{o=true;})},"mapEntry")});return e.push(...a),o}async function eh(t,e,r){let n=join(t,$o),o=await y(n);return o===null||o.trim()===""?false:Zo({projectRoot:t,results:e,sourcePath:n,content:o.trim(),normalize:r})}async function rh(t,e,r){let n=join(t,Ce),o=await y(n);return o===null||o.trim()===""?false:Zo({projectRoot:t,results:e,sourcePath:n,content:o.trim(),normalize:r})}async function nh(t,e){let r=join(t,qs),n=await y(r);if(n===null||n.trim()==="")return;let o;try{o=JSON.parse(n);}catch{return}if(!o||typeof o!="object"||!("mcpServers"in o))return;let s=join(t,jo);await k(dirname(s)),await S(s,n),e.push({fromTool:Qo,fromPath:r,toPath:jo,feature:"mcp"});}async function oh(t,e,r){let n=join(t,on),o=join(t,Go);e.push(...await U({srcDir:n,destDir:o,extensions:[".md"],fromTool:Qo,normalize:r,mapEntry:i(({relativePath:s,normalizeTo:a})=>Da(s,o,a),"mapEntry")}));}async function sh(t,e,r){let n=join(t,Kt),o=join(t,Mo);e.push(...await U({srcDir:n,destDir:o,extensions:[".md"],fromTool:Qo,normalize:r,mapEntry:i(({relativePath:s,normalizeTo:a})=>Na(s,o,a),"mapEntry")}));}var Qo,ih=g(()=>{E();F();pt();ut();wm();Fa();Qo="cursor";i(Qg,"hasGlobalCursorArtifacts");i(th,"importGlobalCursorRulesFromDir");i(eh,"importGlobalUserRules");i(rh,"importGlobalDotCursorAgents");i(nh,"importGlobalMcp");i(oh,"importGlobalAgents");i(sh,"importGlobalCommands");});async function ah(t){if(!await Qg(t))return [];let e=[],r=await J(Qo,t,"global"),n=await th(t,e,r);return n||(n=await eh(t,e,r)),n||await rh(t,e,r),await nh(t,e),await Ua(t,e,r,nn),await oh(t,e,r),await sh(t,e,r),await Ma(t,e),await Ga(t,e),e}var lh=g(()=>{Ft();ut();xm();Em();ih();i(ah,"importFromCursorGlobalExports");});async function Wa(t,e={}){if(e.scope==="global")return ah(t);let r=[],n=await J("cursor",t);return await zg(t,r,n),await jP(t,r,n),await UP(t,r,n),await Ua(t,r,n),await WP(t,r),await Ma(t,r),await Ga(t,r),r}async function jP(t,e,r){let n=join(t,Mo),o=join(t,Kt);e.push(...await U({srcDir:o,destDir:n,extensions:[".md"],fromTool:"cursor",normalize:r,mapEntry:i(({relativePath:s,normalizeTo:a})=>Na(s,n,a),"mapEntry")}));}async function UP(t,e,r){let n=join(t,Go),o=join(t,Gn);e.push(...await U({srcDir:o,destDir:n,extensions:[".md"],fromTool:"cursor",normalize:r,mapEntry:i(({relativePath:s,normalizeTo:a})=>Da(s,n,a),"mapEntry")}));}async function WP(t,e){let r=join(t,ze),n=await y(r);if(!n)return;let o;try{o=JSON.parse(n);}catch{return}if(!o||typeof o!="object"||!("mcpServers"in o))return;let s=join(t,jo);await k(dirname(s)),await S(s,n),e.push({fromTool:"cursor",fromPath:r,toPath:jo,feature:"mcp"});}var bm=g(()=>{Ft();E();pt();Fa();Vg();Em();xm();lh();ut();i(Wa,"importFromCursor");i(jP,"importCommands");i(UP,"importAgents");i(WP,"importMcp");});function ch(t,e,r,n){return ct(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:rg}))}var mh=g(()=>{he();ut();i(ch,"lintRules");});function tt(t,e,r){return {level:"warning",file:t,target:e,message:r}}function BP(t){return t.length===0?"":t.length===1?t[0]:t.length===2?`${t[0]} and ${t[1]}`:`${t.slice(0,-1).join(", ")}, and ${t[t.length-1]}`}function es(t,e,r,n){let o=n?.unsupportedBy??e,s=BP(r);return tt(".agentsmesh/hooks.yaml",e,`${t} is not supported by ${o}; only ${s} are projected.`)}var nr=g(()=>{i(tt,"createWarning");i(BP,"formatOxfordComma");i(es,"createUnsupportedHookWarning");});function uh(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>tt(e.source,"cursor","Cursor command files are plain Markdown; command description and allowed-tools metadata are not projected."))}function ph(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.mcp.mcpServers)){let o=n.env&&Object.keys(n.env).length>0,s="url"in n,a="headers"in n;(o||s||a)&&e.push(tt(".agentsmesh/mcp.json","cursor",`MCP server "${r}" uses env vars or URL/header interpolation; Cursor handling may differ from canonical MCP.`));}return e}function dh(t){if(!t.permissions)return [];let e=t.permissions.ask?.length??0;return t.permissions.allow.length>0||t.permissions.deny.length>0||e>0?[tt(".agentsmesh/permissions.yaml","cursor","Cursor permissions are partial; tool-level allow/deny may lose fidelity.")]:[]}var fh=g(()=>{nr();i(uh,"lintCommands");i(ph,"lintMcp");i(dh,"lintPermissions");});var KP,HP,zP,VP,gh,hh=g(()=>{$g();ut();Zr();bm();mh();Ht();fh();KP={name:"cursor",primaryRootInstructionPath:Pr,generateRules:um,generateCommands:pm,generateAgents:gm,generateSkills:fm,generateMcp:dm,generatePermissions:hm,generateHooks:ym,generateIgnore:Im,importFrom:Wa},HP={rootInstructionPath:Pr,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[rn,Ce]}],skillDir:".cursor/skills",managedOutputs:{dirs:[".cursor/agents",".cursor/commands",".cursor/rules",".cursor/skills"],files:[".cursor/hooks.json",".cursor/mcp.json",".cursorignore","AGENTS.md"]},paths:{rulePath(t,e){return `.cursor/rules/${t}.mdc`},commandPath(t,e){return `.cursor/commands/${t}.md`},agentPath(t,e){return `.cursor/agents/${t}.md`}}},zP={rootInstructionPath:Pr,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[rn,Ce]}],skillDir:nn,managedOutputs:{dirs:[oe,Kt,on,nn],files:[Pr,Ce,qs,Ve,_e,$o]},rewriteGeneratedPath(t){return t===rn?null:t===Ce||t===Pr||t.startsWith(`${oe}/`)||t.startsWith(`${Kt}/`)||t.startsWith(`${Gn}/`)||t.startsWith(`${He}/`)||t===ze||t===Ve||t===_e?t:t===Ca?null:t},mirrorGlobalPath(t,e){return Et(t,He,e)},paths:{rulePath(t,e){return `${oe}/${t}.mdc`},commandPath(t,e){return `${Kt}/${t}.md`},agentPath(t,e){return `${on}/${t}.md`}}},VP={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},gh={id:"cursor",generators:KP,capabilities:{rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"partial"},emptyImportMessage:"No Cursor config found (AGENTS.md or .cursor/rules/*.mdc; with --global: ~/.cursor/{rules/*.mdc,AGENTS.md,mcp.json,hooks.json,cursorignore,skills/,agents/,commands/} and legacy ~/.agentsmesh-exports/cursor/user-rules.md).",lintRules:ch,lint:{commands:uh,mcp:ph,permissions:dh},project:HP,globalSupport:{capabilities:VP,detectionPaths:[Pr,Ce,ze,Ve,_e,He,on,Kt,$o],layout:zP},buildImportPaths:Wc,detectionPaths:[".cursor/rules",".cursor/mcp.json"]};});var xe,fn,yh,gn,be,or,sr,ir,ui,Am,Tm,Ih,Lm,Sh,Dr,Qn,Fr,to,eo,Nm,Dm,Vt=g(()=>{xe="copilot",fn=".github/copilot-instructions.md",yh=".github/copilot",gn=".github/instructions",be=".github/prompts",or=".github/hooks",sr=".github/skills",ir=".github/agents",ui=".agentsmesh/rules",Am=".agentsmesh/commands",Tm=".agentsmesh/agents",Ih=".agentsmesh/skills",Lm=".agentsmesh/hooks.yaml",Sh=".github/copilot-hooks",Dr=".copilot/copilot-instructions.md",Qn=".copilot/agents",Fr=".copilot/skills",to=".copilot/prompts",eo=".copilot/AGENTS.md",Nm=".claude/skills",Dm=".agents/skills";});function _h(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):typeof t=="string"&&t.length>0?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Ba(t){return `${be}/${t}.prompt.md`}function Ch(t){let e={agent:"agent",description:t.description||void 0,"x-agentsmesh-kind":"command","x-agentsmesh-name":t.name,"x-agentsmesh-allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return e.description===void 0&&delete e.description,e["x-agentsmesh-allowed-tools"]===void 0&&delete e["x-agentsmesh-allowed-tools"],D(e,t.body.trim()||"")}function Rh(t,e){let n=((typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"")||basename(e,".prompt.md")).trim(),o=_h(t["x-agentsmesh-allowed-tools"]),s=o.length>0?o:_h(t.tools);return {name:n,description:typeof t.description=="string"?t.description:"",allowedTools:s}}var Ka=g(()=>{F();Vt();i(_h,"toStringArray");i(Ba,"commandPromptPath");i(Ch,"serializeCommandPrompt");i(Rh,"parseCommandPromptFrontmatter");});function Ha(t){return Ir(t)}var Fm=g(()=>{fe();i(Ha,"hasHookCommand");});function XP(t){let e=basename(t,".md");return e==="_root"?"root":e}function ZP(t){switch(t){case "PreToolUse":return "preToolUse";case "PostToolUse":return "postToolUse";case "Notification":return "notification";case "UserPromptSubmit":return "userPromptSubmitted";default:return null}}function kh(t){let e=[],r=t.rules.find(n=>n.root);r?.body.trim()&&e.push(r.body.trim());for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("copilot"))continue;let o=n.body.trim();if(!o)continue;let s=n.description?`## ${n.description}`:null;s?e.push(`${s}
57
-
58
- ${o}`):e.push(o);}return e.join(`
51
+ ## ${e?wx(e):"Guidance"}
59
52
 
60
- `)}function wh(t){let e=t.rules.find(n=>n.root),r=[];e&&r.push({path:fn,content:e.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("copilot")||n.globs.length===0)continue;let o=XP(n.source),s={description:n.description||void 0,applyTo:n.globs.length===1?n.globs[0]:n.globs};Object.keys(s).forEach(l=>{s[l]===void 0&&delete s[l];});let a=D(s,n.body.trim()||"");r.push({path:`${gn}/${o}.instructions.md`,content:a});}return r}function Oh(t){return t.commands.map(e=>({path:Ba(e.name),content:Ch(e)}))}function Eh(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=D(n,r.body.trim()||"");e.push({path:`${sr}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${sr}/${r.name}/${a}`,content:s.content});}}return e}function Ph(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,model:e.model||void 0,"mcp-servers":e.mcpServers.length>0?e.mcpServers:void 0,skills:e.skills.length>0?e.skills:void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=D(r,e.body.trim()||"");return {path:`${ir}/${e.name}.agent.md`,content:n}})}function xh(t){if(!t.hooks)return [];let e=Object.fromEntries(Object.entries(t.hooks).flatMap(([r,n])=>{let o=ZP(r);if(!o||!Array.isArray(n))return [];let s=n.filter(a=>typeof a=="object"&&a!==null&&Ha(a)).map((a,l)=>{let m={type:"command",bash:`./scripts/${r.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}-${l}.sh`,comment:`Matcher: ${a.matcher}`};return a.timeout!==void 0&&(m.timeoutSec=Math.ceil(a.timeout/1e3)),m});return s.length>0?[[o,s]]:[]}));return Object.keys(e).length===0?[]:[{path:`${or}/agentsmesh.json`,content:JSON.stringify({version:1,hooks:e},null,2)}]}var bh=g(()=>{F();Vt();Ka();Fm();i(XP,"ruleSlug");i(ZP,"mapHookEvent");i(kh,"renderCopilotGlobalInstructions");i(wh,"generateRules");i(Oh,"generateCommands");i(Eh,"generateSkills");i(Ph,"generateAgents");i(xh,"generateHooks");});function QP(t){switch(t){case "preToolUse":return "PreToolUse";case "postToolUse":return "PostToolUse";case "notification":return "Notification";case "userPromptSubmitted":return "UserPromptSubmit";default:return null}}function tx(t){return typeof t!="string"?"*":t.match(/^Matcher:\s*(.+)$/)?.[1]?.trim()||"*"}function Lh(t){let e=t.match(/^# agentsmesh-command:\s*(.+)$/m);return e?.[1]?e[1].trim():t.replace(/^#!.*\n/,"").replace(/^#.*\n/gm,"").replace(/^HOOK_DIR=.*\n/gm,"").replace(/^set -e\n?/m,"").trim()}async function Nh(t,e){let r=join(t,or),o=(await b(r).catch(()=>[])).filter(u=>u.endsWith(".json")),s={};for(let u of o){let p=await y(u);if(!p)continue;let d;try{d=JSON.parse(p);}catch{continue}if(!(!d||typeof d.hooks!="object"||d.hooks===null))for(let[f,h]of Object.entries(d.hooks)){let C=QP(f);if(!(!C||!Array.isArray(h)))for(let R of h){if(!R||typeof R!="object")continue;let I=R,O=typeof I.bash=="string"?I.bash:"";if(!O)continue;let x=join(r,O.replace(/^\.\//,"")),P=await y(x);if(!P)continue;let A=Lh(P);A&&(s[C]||(s[C]=[]),s[C].push({matcher:tx(I.comment),command:A,type:"command"}));}}}let a=join(t,Sh),c=(await b(a).catch(()=>[])).filter(u=>dirname(u)===a&&/^[^-]+-\d+\.sh$/i.test(basename(u)));for(let u of c){let p=await y(u);if(!p)continue;let d=basename(u,".sh"),f=d.lastIndexOf("-"),h=f>0?d.slice(0,f):d;s[h]||(s[h]=[]),s[h].push({matcher:"*",command:Lh(p),type:"command"});}if(Object.keys(s).length===0)return;let m=join(t,Lm);await k(dirname(m)),await S(m,stringify(s)),e.push({fromTool:xe,fromPath:join(t,or),toPath:Lm,feature:"hooks"});}var Dh=g(()=>{E();Vt();i(QP,"mapCopilotHookEvent");i(tx,"extractMatcher");i(Lh,"extractWrapperCommand");i(Nh,"importHooks");});async function Fh(t,e,r,n=be){let o=join(t,n),s=join(t,Am);e.push(...await U({srcDir:o,destDir:s,extensions:[".prompt.md"],fromTool:"copilot",normalize:r,mapEntry:i(async({srcPath:a,relativePath:l,content:c})=>{let m=l.replace(/\.prompt\.md$/i,".md"),u=join(s,m),{frontmatter:p,body:d}=w(r(c,a,u)),f=Rh(p,a),h=m.includes("/")?m.slice(0,m.lastIndexOf("/")):"",C=`${f.name}.md`,R=h?`${h}/${C}`:C,I=join(s,R);return {destPath:I,toPath:`${Am}/${R}`,feature:"commands",content:await st(I,{description:f.description,hasDescription:Object.prototype.hasOwnProperty.call(p,"description"),allowedTools:f.allowedTools,hasAllowedTools:Object.prototype.hasOwnProperty.call(p,"tools")||Object.prototype.hasOwnProperty.call(p,"x-agentsmesh-allowed-tools")},d)}},"mapEntry")}));}var vh=g(()=>{F();V();pt();Vt();Ka();i(Fh,"importCopilotCommands");});async function $h(t,e,r,n=ir){let o=join(t,n),s;try{s=await b(o);}catch{return}let a=s.filter(c=>c.endsWith(".agent.md")),l=join(t,Tm);for(let c of a){let m=await y(c);if(!m)continue;let p=relative(o,c).replace(/\\/g,"/").replace(/\.agent\.md$/i,".md"),d=basename(p,".md"),f=join(l,p);await k(dirname(f));let{frontmatter:h,body:C}=w(r(m,c,f)),R=await zt(f,{...h,name:typeof h.name=="string"?h.name:d},C);await S(f,R),e.push({fromTool:xe,fromPath:c,toPath:`${Tm}/${p}`,feature:"agents"});}}var Mh=g(()=>{E();F();V();Vt();i($h,"importAgents");});async function Gh(t,e,r,n=sr){let o=join(t,n),s=await dn(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:Ih,targetName:xe,normalize:r,results:e};for(let[l,c]of s)await rr(l,c,a);}var jh=g(()=>{qo();Vt();i(Gh,"importSkills");});async function Va(t,e={}){let r=e.scope??"project",n=[],o=await J(xe,t,r),s=join(t,ui),l=join(t,r==="global"?Dr:fn),c=await y(l);if(c!==null){await k(s);let u=join(s,"_root.md"),{frontmatter:p,body:d}=w(o(c,l,u)),h=p.root===true?p:{...p,root:true},C=await $(u,h,d);await S(u,C),n.push({fromTool:"copilot",fromPath:l,toPath:`${ui}/_root.md`,feature:"rules"});}if(r==="project"){let u=join(t,yh);n.push(...await U({srcDir:u,destDir:s,extensions:[".instructions.md"],fromTool:"copilot",normalize:o,mapEntry:i(async({relativePath:d,normalizeTo:f})=>{let h=d.replace(/\.instructions\.md$/i,".md"),C=join(s,h),{frontmatter:R,body:I}=w(f(C)),O=Ar(R.globs),x={root:false,description:typeof R.description=="string"?R.description:void 0,globs:O.length>0?O:void 0};return Object.keys(x).forEach(P=>{x[P]===void 0&&delete x[P];}),{destPath:C,toPath:`${ui}/${h}`,feature:"rules",content:await $(C,x,I)}},"mapEntry")}));let p=join(t,gn);n.push(...await U({srcDir:p,destDir:s,extensions:[".instructions.md",".md"],fromTool:"copilot",normalize:o,mapEntry:i(async({relativePath:d,normalizeTo:f})=>{let h=d.endsWith(".instructions.md")?d.replace(/\.instructions\.md$/i,".md"):d,C=join(s,h),{frontmatter:R,body:I}=w(f(C)),O=Ar(R.applyTo!==void 0?R.applyTo:R.globs),x={root:false,description:typeof R.description=="string"?R.description:void 0,globs:O.length>0?O:void 0};return Object.keys(x).forEach(P=>{x[P]===void 0&&delete x[P];}),{destPath:C,toPath:`${ui}/${h}`,feature:"rules",content:await $(C,x,I)}},"mapEntry")}));}return await Fh(t,n,o,r==="global"?to:be),await $h(t,n,o,r==="global"?Qn:ir),await Gh(t,n,o,r==="global"?Fr:sr),r==="project"&&await Nh(t,n),n}var $m=g(()=>{Ft();E();F();V();pt();Pe();Vt();Dh();vh();Mh();jh();i(Va,"importFromCopilot");});function Uh(t,e,r,n){let s=ct(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(l=>({...l,target:xe})),a=t.rules.filter(l=>!l.root&&l.globs.length===0);return [...s,...a.map(l=>({level:"warning",file:l.source,target:xe,message:"Copilot path-specific instructions require applyTo globs; non-root rules without globs are not generated."}))]}var Wh=g(()=>{he();Vt();i(Uh,"lintRules");});function Bh(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>tt(e.source,"copilot","Copilot prompt files do not enforce canonical allowed-tools natively."))}function Kh(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=["PreToolUse","PostToolUse","Notification","UserPromptSubmit"],r=new Set(e),n=Object.keys(t.hooks).filter(s=>!r.has(s)).map(s=>es(s,"copilot",e,{unsupportedBy:"Copilot hooks"}));return Object.values(t.hooks).some(s=>Array.isArray(s)&&s.length>0)&&n.push(tt(".agentsmesh/hooks.yaml","copilot","copilot hooks are emitted as .github/hooks/scripts/*.sh wrapper scripts with a `#!/usr/bin/env bash` header; they require a POSIX shell (git-bash or WSL) to execute on Windows.")),n}var Hh=g(()=>{nr();i(Bh,"lintCommands");i(Kh,"lintHooks");});function ax(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function lx(t,e){let r=relative(t,e).replace(/\\/g,"/");return !r||r.startsWith("../")?null:r}function cx(t,e){let r=t.match(zh);if(!r?.groups)return t;let n=r.groups.prefix??"",o=r.groups.suffix??"";return `${n}"$HOOK_DIR/${e}"${o}`}async function mx(t,e){let n=e.match(zh)?.groups?.path;if(!n)return null;let o=join(t,n),s=await y(o);if(s===null)return null;let a=lx(t,o);return a?{assetPath:`${or}/scripts/${a}`,content:s,rewrittenCommand:cx(e,a)}:null}function ux(t,e){return `${or}/scripts/${ax(t)}-${e}.sh`}function px(t,e){return ["#!/usr/bin/env bash",`# agentsmesh-matcher: ${e}`,`# agentsmesh-command: ${t}`,"set -e",t,""].join(`
61
- `)}async function Vh(t,e,r){if(!e.hooks)return r;let n=[],o=new Map;for(let[s,a]of Object.entries(e.hooks)){if(!Array.isArray(a))continue;let l=0;for(let c of a){if(!Ha(c))continue;let m=ux(s,l),u=c.command,p=await mx(t,c.command);p&&(u=p.rewrittenCommand,o.has(p.assetPath)||o.set(p.assetPath,{path:p.assetPath,content:p.content}));let d=px(u,c.matcher).replace(`set -e
62
- `,`set -e
63
- HOOK_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
64
- `);n.push({path:m,content:d}),l++;}}return [...r,...n,...o.values()]}var zh,Jh=g(()=>{E();Vt();Fm();zh=/^(?<prefix>\s*(?:(?:bash|sh|zsh)\s+)?)["']?(?<path>(?:\.\.\/|\.\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?<suffix>(?:\s.*)?)$/;i(ax,"safePhaseName");i(lx,"toRepoRelative");i(cx,"rewriteWrapperCommand");i(mx,"buildAssetOutput");i(ux,"wrapperPath");i(px,"buildWrapper");i(Vh,"addHookScriptAssets");});function fx(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var Yh,Xh=g(()=>{E();Vt();i(fx,"computeStatus");Yh=i(async(t,e,r,n)=>{if(r!=="global"||!n.has("rules"))return [];let o=t.rules.find(l=>l.root);if(!o)return [];let s=o.body.trim(),a=await y(join(e,eo));return [{target:"copilot",path:eo,content:s,currentContent:a??void 0,status:fx(a,s)}]},"generateCopilotGlobalExtras");});var hx,yx,Ix,Sx,Zh,qh=g(()=>{bh();Vt();$m();Wh();Ht();Ka();Hh();Jh();Xh();hx={name:"copilot",primaryRootInstructionPath:fn,generateRules:wh,generateCommands:Oh,generateAgents:Ph,generateSkills:Eh,generateHooks:xh,importFrom:Va},yx={rootInstructionPath:fn,outputFamilies:[{id:"instructions",kind:"additional",pathPrefix:".github/instructions/"}],extraRuleOutputPaths(t){if(t.root||t.globs.length===0)return [];let e=basename(t.source,".md");return [`${gn}/${e}.instructions.md`]},skillDir:".github/skills",managedOutputs:{dirs:[".github/agents",".github/instructions",".github/prompts",".github/skills",".github/hooks/scripts"],files:[".github/copilot-instructions.md",".github/hooks/agentsmesh.json"]},paths:{rulePath(t,e){return `${gn}/${t}.instructions.md`},commandPath(t,e){return Ba(t)},agentPath(t,e){return `${ir}/${t}.agent.md`}}},Ix={rootInstructionPath:Dr,renderPrimaryRootInstruction:kh,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[eo]}],skillDir:Fr,managedOutputs:{dirs:[Qn,Fr,to,Dm,Nm],files:[Dr,eo]},rewriteGeneratedPath(t){return t===fn?Dr:t.startsWith(`${gn}/`)?Dr:t.startsWith(`${be}/`)?t.replace(`${be}/`,`${to}/`):t.startsWith(`${ir}/`)?t.replace(`${ir}/`,`${Qn}/`):t.startsWith(`${sr}/`)?t.replace(`${sr}/`,`${Fr}/`):t.startsWith(`${or}/`)?null:t},mirrorGlobalPath(t,e){if(t.startsWith(`${Fr}/`)&&!e.includes("codex-cli")){let r=t.slice(Fr.length+1);return [`.agents/skills/${r}`,`${Nm}/${r}`]}return null},paths:{rulePath(t,e){return Dr},commandPath(t,e){return `${to}/${t}.prompt.md`},agentPath(t,e){return `${Qn}/${t}.agent.md`}}},Sx={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},Zh={id:"copilot",generators:hx,capabilities:{rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"none",hooks:"partial",ignore:"none",permissions:"none"},emptyImportMessage:"No Copilot config found (.github/copilot-instructions.md, .github/copilot or .github/instructions, .github/prompts, .github/skills, .github/agents, or .github/hooks).",lintRules:Uh,lint:{commands:Bh,hooks:Kh},postProcessHookOutputs:i(async(t,e,r)=>Vh(t,e,[...r]),"postProcessHookOutputs"),project:yx,globalSupport:{capabilities:Sx,detectionPaths:[Dr,eo,Qn,Fr,to,Dm],layout:Ix,scopeExtras:Yh},buildImportPaths:Nc,detectionPaths:[".github/copilot-instructions.md",".github/copilot",".github/instructions",".github/prompts",".github/skills",".github/agents",".github/hooks"]};});function ar(t,e){let r=[];for(let n of t.skills){let o={name:n.name,description:n.description||void 0};o.description===void 0&&delete o.description,r.push({path:`${e}/${n.name}/SKILL.md`,content:D(o,n.body.trim()||"")});for(let s of n.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");r.push({path:`${e}/${n.name}/${a}`,content:s.content});}}return r}async function lr(t,e,r,n,o){let s=await readdir(join(t,e),{encoding:"utf8",withFileTypes:true}).catch(()=>null);if(s!==null)for(let a of s){if(!a.isDirectory())continue;let l=join(t,e,a.name),c=join(l,"SKILL.md"),m=await y(c);if(m===null)continue;let u=join(t,Mm,a.name),p=join(u,"SKILL.md"),{frontmatter:d,body:f}=w(o(m,c,p)),h=await tr(p,{...d,name:a.name},f);await k(u),await S(p,h),n.push({fromTool:r,fromPath:c,toPath:`${Mm}/${a.name}/SKILL.md`,feature:"skills"});let C=await b(l);for(let R of C){if(R===c)continue;let I=relative(l,R).replace(/\\/g,"/"),O=await y(R);if(O===null)continue;let x=join(u,I);await k(dirname(x)),await S(x,o(O,R,x)),n.push({fromTool:r,fromPath:R,toPath:`${Mm}/${a.name}/${I}`,feature:"skills"});}}}var Mm,Ae=g(()=>{E();F();V();Mm=".agentsmesh/skills";i(ar,"generateEmbeddedSkills");i(lr,"importEmbeddedSkills");});function wx(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):typeof t=="string"&&t.length>0?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Qh(t){return `${Se}/${t}.md`}function ty(t){let e={description:t.description||void 0,"x-agentsmesh-kind":"command","x-agentsmesh-name":t.name,"x-agentsmesh-allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return e.description===void 0&&delete e.description,e["x-agentsmesh-allowed-tools"]===void 0&&delete e["x-agentsmesh-allowed-tools"],D(e,t.body.trim()||"")}function ey(t,e){let r=basename(e,".md");return {name:((typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"")||r).trim(),description:typeof t.description=="string"?t.description:"",allowedTools:wx(t["x-agentsmesh-allowed-tools"])}}function ry(t,e){let r={description:t.description||void 0,"allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return r.description===void 0&&delete r.description,r["allowed-tools"]===void 0&&delete r["allowed-tools"],D(r,e.trim()||"")}var Ja=g(()=>{F();Er();i(wx,"toStringArray");i(Qh,"continueCommandRulePath");i(ty,"serializeCommandRule");i(ey,"parseCommandRuleFrontmatter");i(ry,"serializeImportedCommand");});function ny(t){let e=[],r=t.rules.find(n=>n.root);if(r){let n={};r.description&&(n.description=r.description),e.push({path:Or,content:D(n,r.body.trim()||"")});}for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("continue"))continue;let o=basename(n.source,".md"),s={};n.description&&(s.description=n.description),n.globs.length>0&&(s.globs=n.globs),e.push({path:`${ne}/${o}.md`,content:D(s,n.body.trim()||"")});}return e}function oy(t){return t.commands.map(e=>({path:`${Se}/${e.name}.md`,content:ty(e)}))}function sy(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Sa,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function iy(t){return ar(t,Ke)}var ay=g(()=>{Ae();F();Ja();Er();i(ny,"generateRules");i(oy,"generateCommands");i(sy,"generateMcp");i(iy,"generateSkills");});function cy(t){return t==="general.md"||t==="_root.md"}function xx(t,e){let n=(e===".json"?JSON.parse(t):parse(t)??{}).mcpServers;if(n&&typeof n=="object"&&!Array.isArray(n)){let o={};for(let[s,a]of Object.entries(n)){if(!a||typeof a!="object"||Array.isArray(a))continue;let l=a;typeof l.command=="string"&&(o[s]={type:typeof l.type=="string"?l.type:"stdio",command:l.command,args:Lr(l.args),env:Dt(l.env),description:typeof l.description=="string"?l.description:void 0});}return o}return {}}async function Ya(t){let e=[],r=await J(Xs,t);return await bx(t,e,r),await Ax(t,e,r),await lr(t,Ke,"continue",e,r),await Tx(t,e),e}async function bx(t,e,r){let n=(await b(join(t,ne))).filter(s=>s.endsWith(".md")),o=join(t,ne);for(let s of n){let a=await y(s);if(!a)continue;let l=relative(o,s).replace(/\\/g,"/"),c=cy(l)?"_root.md":l,m=join(t,vc,c),{frontmatter:u,body:p}=w(r(a,s,m)),d={description:typeof u.description=="string"?u.description:void 0,globs:Array.isArray(u.globs)?u.globs:void 0,root:cy(l)};d.description===void 0&&delete d.description,d.globs===void 0&&delete d.globs;let f=await $(m,d,p);await S(m,f),e.push({fromTool:"continue",fromPath:s,toPath:`${vc}/${c}`,feature:"rules"});}}async function Ax(t,e,r){let n=(await b(join(t,Se))).filter(s=>s.endsWith(".md")),o=join(t,Se);for(let s of n){let a=await y(s);if(!a)continue;let l=relative(o,s).replace(/\\/g,"/"),c=join(t,_a,l),{frontmatter:m,body:u}=w(r(a,s,c)),p=ey(m,s),d=p.name||basename(l,".md"),f=l.includes("/")?l.slice(0,l.lastIndexOf("/")):"",h=f?`${f}/${d}.md`:`${d}.md`,C=join(t,_a,h),R=await st(C,{description:p.description,hasDescription:!!p.description,allowedTools:p.allowedTools,hasAllowedTools:p.allowedTools.length>0},w(ry(p,u)).body);await S(C,R),e.push({fromTool:"continue",fromPath:s,toPath:`${_a}/${h}`,feature:"commands"});}}async function Tx(t,e){let r=(await b(join(t,Dc))).filter(a=>[".json",".yaml",".yml"].includes(extname(a))),n={},o=[];for(let a of r){let l=await y(a);l&&(Object.assign(n,xx(l,extname(a))),o.push(a));}if(Object.keys(n).length===0)return;let s=join(t,$c);await S(s,JSON.stringify({mcpServers:n},null,2));for(let a of o)e.push({fromTool:Xs,fromPath:a,toPath:$c,feature:"mcp"});}var Gm=g(()=>{Ft();E();F();Ae();V();Pe();Ja();Er();i(cy,"isContinueRootRuleRelativePath");i(xx,"readMcpServers");i(Ya,"importFromContinue");i(bx,"importRules");i(Ax,"importCommands");i(Tx,"importMcp");});function uy(t,e,r,n){return ct(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Xs}))}var py=g(()=>{he();Er();i(uy,"lintRules");});function dy(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>tt(e.source,"continue","Continue invokable prompt rules do not natively enforce canonical allowed-tools metadata."))}var fy=g(()=>{nr();i(dy,"lintCommands");});function Fx(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var gy,hy=g(()=>{E();Er();i(Fx,"computeStatus");gy=i(async(t,e,r,n)=>{if(r!=="global")return [];let o=n.has("rules"),s=n.has("commands"),a=n.has("mcp");if(!(o&&t.rules.length>0||s&&t.commands.length>0||a&&t.mcp!==null&&Object.keys(t.mcp.mcpServers).length>0))return [];let c={name:"agentsmesh",version:1,schema:"v1"};if(o&&t.rules.length>0&&(c.rules=t.rules.map(p=>({name:p.description||basename(p.source,".md"),rule:p.body.trim()}))),s&&t.commands.length>0&&(c.prompts=t.commands.map(p=>{let d={name:p.name};return p.description&&(d.description=p.description),d.prompt=p.body.trim(),d})),a&&t.mcp!==null){let p=Object.entries(t.mcp.mcpServers);p.length>0&&(c.mcpServers=p.map(([d,f])=>({name:d,...f})));}let m=stringify(c),u=await y(join(e,Zs));return [{target:"continue",path:Zs,content:m,currentContent:u??void 0,status:Fx(u,m)}]},"generateContinueGlobalConfig");});function $x(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var yy,Iy=g(()=>{E();Er();hy();i($x,"computeStatus");yy=i(async(t,e,r,n)=>{let o=await gy(t,e,r,n);if(r!=="global"||!n.has("rules"))return o;let s=t.rules.find(c=>c.root);if(!s)return o;let a=s.body.trim(),l=await y(join(e,vo));return [...o,{target:"continue",path:vo,content:a,currentContent:l??void 0,status:$x(l,a)}]},"generateContinueScopeExtras");});var Mx,Gx,jx,Ux,Sy,_y=g(()=>{ay();Er();Gm();py();fy();Ja();Ht();Iy();Mx={name:"continue",primaryRootInstructionPath:Or,generateRules:ny,generateCommands:oy,generateSkills:iy,generateMcp:sy,importFrom:Ya},Gx={rootInstructionPath:Or,skillDir:".continue/skills",managedOutputs:{dirs:[".continue/prompts",".continue/rules",".continue/skills"],files:[".continue/mcpServers/agentsmesh.json"]},paths:{rulePath(t,e){return `${ne}/${t}.md`},commandPath(t,e){return Qh(t)},agentPath(t,e){return null}}},jx={rootInstructionPath:Or,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[vo]}],skillDir:Ke,managedOutputs:{dirs:[ne,Se,Ke,".agents/skills"],files:[Sa,vo,Zs]},mirrorGlobalPath(t,e){return t.startsWith(`${Ke}/`)?`.agents/skills/${t.slice(Ke.length+1)}`:null},paths:{rulePath(t,e){return `${ne}/${t}.md`},commandPath(t,e){return `${Se}/${t}.md`},agentPath(t,e){return null}}},Ux={rules:"native",additionalRules:"native",commands:"native",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Sy={id:"continue",generators:Mx,capabilities:{rules:"native",additionalRules:"native",commands:"embedded",agents:"none",skills:"embedded",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},emptyImportMessage:"No Continue config found (.continue/rules/*.md, .continue/skills, or .continue/mcpServers/*).",lintRules:uy,lint:{commands:dy},project:Gx,globalSupport:{capabilities:Ux,detectionPaths:[ne,Se,".continue/mcpServers",Ke],layout:jx,scopeExtras:yy},buildImportPaths:Mc,detectionPaths:[".continue/rules",".continue/skills",".continue/mcpServers"]};});function Xa(t){return "command"in t}function Cy(t){return "url"in t}var Za=g(()=>{i(Xa,"isStdioMcpServer");i(Cy,"isUrlMcpServer");});function Ry(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Xe,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("junie"))continue;let o=basename(n.source,".md");e.push({path:`${Un}/${o}.md`,content:n.body.trim()||""});}return e}function Bx(t){let e={};return t.description&&(e.description=t.description),t.type!=="stdio"&&(e.type=t.type),Xa(t)?(e.command=t.command,e.args=t.args):(e.url=t.url,Object.keys(t.headers).length>0&&(e.headers=t.headers)),Object.keys(t.env).length>0&&(e.env=t.env),e}function ky(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=Object.fromEntries(Object.entries(t.mcp.mcpServers).map(([r,n])=>[r,Bx(n)]));return [{path:Uo,content:JSON.stringify({mcpServers:e},null,2)}]}function wy(t){return t.commands.map(e=>{let r={description:e.description||void 0};return r.description===void 0&&delete r.description,{path:`${an}/${e.name}.md`,content:D(r,e.body.trim()||"")}})}function Oy(t){return t.agents.map(e=>{let r={name:e.name,description:e.description||void 0,tools:e.tools.length>0?e.tools:void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0,model:e.model||void 0,skills:e.skills.length>0?e.skills:void 0};return Object.keys(r).forEach(n=>{r[n]===void 0&&delete r[n];}),{path:`${ln}/${e.name}.md`,content:D(r,e.body.trim()||"")}})}function Ey(t){return t.ignore.length===0?[]:[{path:Wo,content:t.ignore.join(`
65
- `)}]}function Py(t){return ar(t,jn)}function xy(t){let e=t.rules.find(n=>n.root),r=t.rules.filter(n=>n.root?false:n.targets.length===0||n.targets.includes("junie"));return Ee(e?.body.trim()??"",r)}var by=g(()=>{Za();Ae();pn();F();Bn();i(Ry,"generateRules");i(Bx,"toJunieMcpServer");i(ky,"generateMcp");i(wy,"generateCommands");i(Oy,"generateAgents");i(Ey,"generateIgnore");i(Py,"generateSkills");i(xy,"renderJunieGlobalInstructions");});function Kx(t){let r=JSON.parse(t).mcpServers;if(!r||typeof r!="object"||Array.isArray(r))return {};let n={};for(let[o,s]of Object.entries(r)){if(!s||typeof s!="object"||Array.isArray(s))continue;let a=s;if(typeof a.command=="string"){n[o]={type:typeof a.type=="string"?a.type:"stdio",command:a.command,args:Lr(a.args),env:Dt(a.env),description:typeof a.description=="string"?a.description:void 0};continue}typeof a.url=="string"&&(n[o]={type:typeof a.type=="string"?a.type:"http",url:a.url,headers:Dt(a.headers),env:Dt(a.env),description:typeof a.description=="string"?a.description:void 0});}return n}async function Ay(t,e){let r=join(t,Uo),n=await y(r);if(n===null)return;let o=Kx(n);Object.keys(o).length!==0&&(await S(join(t,Vc),JSON.stringify({mcpServers:o},null,2)),e.push({fromTool:Ye,fromPath:r,toPath:Vc,feature:"mcp"}));}async function Ty(t,e,r){let n=join(t,an),o=join(t,Hc);e.push(...await U({srcDir:n,destDir:o,extensions:[".md"],fromTool:"junie",normalize:r,mapEntry:i(async({relativePath:s,normalizeTo:a})=>{let l=join(o,s),{frontmatter:c,body:m}=w(a(l)),u=await st(l,{hasDescription:true,description:typeof c.description=="string"?c.description:void 0,hasAllowedTools:true,allowedTools:Lr(c["allowed-tools"])},m);return {destPath:l,toPath:`${Hc}/${s}`,feature:"commands",content:u}},"mapEntry")}));}async function Ly(t,e,r){let n=join(t,ln),o=join(t,zc);e.push(...await U({srcDir:n,destDir:o,extensions:[".md"],fromTool:"junie",normalize:r,mapEntry:i(async({relativePath:s,normalizeTo:a})=>{let l=join(o,s),{frontmatter:c,body:m}=w(a(l));return {destPath:l,toPath:`${zc}/${s}`,feature:"agents",content:await zt(l,c,m)}},"mapEntry")}));}async function Ny(t,e){let r=join(t,Wo),n=await y(r);n!==null&&(await S(join(t,Jc),n.trimEnd()),e.push({fromTool:Ye,fromPath:r,toPath:Jc,feature:"ignore"}));}var Dy=g(()=>{E();F();V();pt();Pe();Bn();i(Kx,"readMcpServers");i(Ay,"importJunieMcp");i(Ty,"importJunieCommands");i(Ly,"importJunieAgents");i(Ny,"importJunieIgnore");});async function Hx(t,e,r){let n=[Xe,Ra,ag,lg],o=join(t,Kc);for(let s of n){let a=join(t,s),l=await y(a);if(l===null)continue;let c=await er({content:l,projectRoot:t,rulesDir:wa,sourcePath:a,fromTool:Ye,normalize:r});e.push(...c.results);let{frontmatter:m,body:u}=w(r(c.rootContent,a,o)),p=await $(o,{root:true,description:typeof m.description=="string"?m.description:void 0,globs:Array.isArray(m.globs)?m.globs:void 0},u);await S(o,p),e.push({fromTool:Ye,fromPath:a,toPath:Kc,feature:"rules"});return}}async function zx(t,e,r){let n=join(t,Un),o=join(t,wa);e.push(...await U({srcDir:n,destDir:o,extensions:[".md"],fromTool:"junie",normalize:r,mapEntry:i(async({relativePath:s,normalizeTo:a})=>{let l=join(o,s),{frontmatter:c,body:m}=w(a(l)),u=await $(l,{root:false,description:typeof c.description=="string"?c.description:void 0,globs:Array.isArray(c.globs)?c.globs:void 0},m);return {destPath:l,toPath:`${wa}/${s}`,feature:"rules",content:u}},"mapEntry")}));}async function qa(t){let e=[],r=await J(Ye,t);return await Hx(t,e,r),await zx(t,e,r),await Ty(t,e,r),await Ly(t,e,r),await lr(t,jn,Ye,e,r),await Ay(t,e),await Ny(t,e),e}var jm=g(()=>{Ft();E();F();Ae();Xo();V();pt();Bn();Dy();i(Hx,"importRules");i(zx,"importNonRootRules");i(qa,"importFromJunie");});function Fy(t,e,r,n){return ct(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Ye}))}var vy=g(()=>{he();Bn();i(Fy,"lintRules");});function $y(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.mcp.mcpServers))Cy(n)&&e.push(tt(".agentsmesh/mcp.json","junie",`MCP server "${r}" uses ${n.type} transport; Junie project mcp.json currently documents stdio MCP servers only.`));return e}var My=g(()=>{Za();nr();i($y,"lintMcp");});var Vx,Jx,Yx,Xx,Gy,jy=g(()=>{by();Bn();Zr();jm();vy();My();Ht();Vx={name:"junie",primaryRootInstructionPath:Xe,generateRules:Ry,generateCommands:wy,generateAgents:Oy,generateSkills:Py,generateMcp:ky,generateIgnore:Ey,importFrom:qa},Jx={rootInstructionPath:Xe,skillDir:".junie/skills",managedOutputs:{dirs:[".junie/agents",".junie/commands",".junie/rules",".junie/skills"],files:[".aiignore",".junie/AGENTS.md",".junie/mcp/mcp.json"]},paths:{rulePath(t,e){return `${Un}/${t}.md`},commandPath(t,e){return `${an}/${t}.md`},agentPath(t,e){return `${ln}/${t}.md`}}},Yx={rootInstructionPath:Wn,renderPrimaryRootInstruction:xy,skillDir:ei,managedOutputs:{dirs:[ei,ri,ni,cg],files:[Wn,ka]},rewriteGeneratedPath(t){return t===Xe?Wn:t.startsWith(`${Un}/`)?Wn:t.startsWith(`${jn}/`)?t.replace(`${jn}/`,`${ei}/`):t.startsWith(`${an}/`)?t.replace(`${an}/`,`${ni}/`):t.startsWith(`${ln}/`)?t.replace(`${ln}/`,`${ri}/`):t===Uo?ka:t===Wo?null:t},mirrorGlobalPath(t,e){return Et(t,".junie/skills",e)},paths:{rulePath(t,e){return Wn},commandPath(t,e){return `${ni}/${t}.md`},agentPath(t,e){return `${ri}/${t}.md`}}},Xx={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Gy={id:"junie",generators:Vx,capabilities:{rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},emptyImportMessage:"No Junie config found (.junie/guidelines.md, .junie/AGENTS.md, .junie/skills, .junie/mcp/mcp.json, or .aiignore).",lintRules:Fy,lint:{mcp:$y},project:Jx,globalSupport:{capabilities:Xx,detectionPaths:[Wn,ei,ri,ni,ka],layout:Yx},buildImportPaths:Yc,detectionPaths:[".junie/guidelines.md",".junie/AGENTS.md",".junie/skills",".junie/mcp/mcp.json",".aiignore"]};});function Uy(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/_/g,"-").toLowerCase()}function Qx(t){return t.type==="prompt"?t.prompt:t.command}function tb(t,e){let r=Wy[t];return t==="PreToolUse"||t==="PostToolUse"?{type:r,tools:[e||"*"]}:{type:r}}function By(t){let e=[];for(let[r,n]of Object.entries(t)){let o=r;if(!(o in Wy)||!Array.isArray(n))continue;let s=1;for(let a of n){let l=Qx(a);if(!l)continue;let c={name:`${Uy(r)} ${s}`,version:"1",when:tb(o,a.matcher),then:a.type==="prompt"?{type:"askAgent",prompt:l}:{type:"shellCommand",command:l}};e.push({name:`${Uy(r)}-${s}.kiro.hook`,content:JSON.stringify(c,null,2)}),s+=1;}}return e}function eb(t){let e=qx.get(t.when.type);if(!e)return null;let r=t.when.tools?.[0]??t.when.patterns?.[0]??"*";return t.then.type==="askAgent"&&typeof t.then.prompt=="string"?{event:e,entry:{matcher:r,command:t.then.prompt,prompt:t.then.prompt,type:"prompt"}}:t.then.type==="shellCommand"&&typeof t.then.command=="string"?{event:e,entry:{matcher:r,command:t.then.command,type:"command"}}:null}function Ky(t){let e;try{e=JSON.parse(t);}catch{return null}if(!e||typeof e!="object"||Array.isArray(e))return null;let r=e;return !r.when||!r.then||typeof r.when.type!="string"?null:eb(r)}function Hy(t){return stringify(t).trimEnd()}var Wy,qx,Um=g(()=>{Wy={UserPromptSubmit:"promptSubmit",SubagentStop:"agentStop",PreToolUse:"preToolUse",PostToolUse:"postToolUse"},qx=new Map([["promptSubmit","UserPromptSubmit"],["agentStop","SubagentStop"],["preToolUse","PreToolUse"],["postToolUse","PostToolUse"]]);i(Uy,"toKebab");i(Qx,"hookText");i(tb,"toWhen");i(By,"generateKiroHooks");i(eb,"toCanonicalEntry");i(Ky,"parseKiroHookFile");i(Hy,"serializeCanonicalHooks");});function nb(t){let e={};return t.globs.length>0?(e.inclusion="fileMatch",e.fileMatchPattern=t.globs.length===1?t.globs[0]:t.globs):t.trigger==="manual"?e.inclusion="manual":t.trigger==="model_decision"?e.inclusion="auto":e.inclusion="always",t.description&&(e.description=t.description),e}function zy(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Re,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(It))continue;let o=basename(n.source,".md");e.push({path:`${ke}/${o}.md`,content:D(nb(n),n.body.trim()||"")});}return e}function Vy(t){return ar(t,se)}function Jy(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Kn,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function Yy(t){return !t.hooks||Object.keys(t.hooks).length===0?[]:By(t.hooks).map(e=>({path:`${cn}/${e.name}`,content:e.content}))}function Xy(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,model:e.model||void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=D(r,e.body.trim()||"");return {path:`${we}/${e.name}.md`,content:n}})}function Zy(t){return t.ignore.length===0?[]:[{path:Hn,content:t.ignore.join(`
66
- `)}]}var qy=g(()=>{Ae();F();Um();Jn();i(nb,"steeringFrontmatter");i(zy,"generateRules");i(Vy,"generateSkills");i(Jy,"generateMcp");i(Yy,"generateHooks");i(Xy,"generateAgents");i(Zy,"generateIgnore");});function ob(t){let r=JSON.parse(t).mcpServers;if(!r||typeof r!="object"||Array.isArray(r))return {};let n={};for(let[o,s]of Object.entries(r)){if(!s||typeof s!="object"||Array.isArray(s))continue;let a=s;if(typeof a.command=="string"){n[o]={type:typeof a.type=="string"?a.type:"stdio",command:a.command,args:Lr(a.args),env:Dt(a.env)};continue}typeof a.url=="string"&&(n[o]={type:typeof a.type=="string"?a.type:"http",url:a.url,headers:Dt(a.headers),env:Dt(a.env)});}return n}async function Qy(t,e,r){let n=join(t,we),o=join(t,Zc);e.push(...await U({srcDir:n,destDir:o,extensions:[".md"],fromTool:It,normalize:r,mapEntry:i(async({relativePath:s,normalizeTo:a})=>{let l=join(o,s),{frontmatter:c,body:m}=w(a(l));return {destPath:l,toPath:`${Zc}/${s}`,feature:"agents",content:await zt(l,c,m)}},"mapEntry")}));}async function tI(t,e,r){let n=r==="global"?Bo:Kn,o=await y(join(t,n));if(o===null)return;let s=ob(o);Object.keys(s).length!==0&&(await S(join(t,qc),JSON.stringify({mcpServers:s},null,2)),e.push({fromTool:It,fromPath:join(t,n),toPath:qc,feature:"mcp"}));}async function eI(t,e){let r={};for(let n of await b(join(t,cn))){if(!n.endsWith(".kiro.hook"))continue;let o=Ky(await y(n)??"");o&&(r[o.event]??=[],r[o.event].push(o.entry));}Object.keys(r).length!==0&&(await S(join(t,Qc),Hy(r)),e.push({fromTool:It,fromPath:join(t,cn),toPath:Qc,feature:"hooks"}));}async function rI(t,e,r){let n=r==="global"?Ko:Hn,o=await y(join(t,n));o!==null&&(await S(join(t,tm),o.trimEnd()),e.push({fromTool:It,fromPath:join(t,n),toPath:tm,feature:"ignore"}));}var nI=g(()=>{pt();V();Pe();E();F();Um();Jn();i(ob,"readMcpServers");i(Qy,"importKiroAgents");i(tI,"importKiroMcp");i(eI,"importKiroHooks");i(rI,"importKiroIgnore");});function ib(t){let e=typeof t.inclusion=="string"?t.inclusion:"",r={root:false,description:typeof t.description=="string"?t.description:void 0,globs:Ar(t.fileMatchPattern)};return e==="manual"&&(r.trigger="manual"),e==="auto"&&(r.trigger="model_decision"),e==="fileMatch"&&(r.trigger="glob"),r}async function ab(t,e,r,n){let o=n==="global"?[Oe,Re]:[Re,Oe];for(let s of o){let a=join(t,s),l=await y(a);if(l===null)continue;let c=join(t,Xc),{frontmatter:m,body:u}=w(r(l,a,c));await S(c,await $(c,{...m,root:true},u)),e.push({fromTool:It,fromPath:a,toPath:Xc,feature:"rules"});return}}async function lb(t,e,r){e.push(...await U({srcDir:join(t,ke),destDir:join(t,Oa),extensions:[".md"],fromTool:It,normalize:r,mapEntry:i(async({relativePath:n,normalizeTo:o})=>{if(basename(n)==="AGENTS.md")return null;let s=join(t,Oa,n),{frontmatter:a,body:l}=w(o(s));return {destPath:s,toPath:`${Oa}/${n}`,feature:"rules",content:await $(s,ib(a),l)}},"mapEntry")}));}async function Qa(t,e={}){let r=e.scope??"project",n=[],o=await J(It,t,r);return await ab(t,n,o,r),await lb(t,n,o),await Qy(t,n,o),await lr(t,se,It,n,o),await tI(t,n,r),await eI(t,n),await rI(t,n,r),n}var Wm=g(()=>{Ft();Ae();pt();V();Pe();E();F();Jn();nI();i(ib,"canonicalRuleMeta");i(ab,"importRoot");i(lb,"importRules");i(Qa,"importFromKiro");});function oI(t,e,r,n){return ct(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:It}))}var sI=g(()=>{he();Jn();i(oI,"lintRules");});function iI(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=["PreToolUse","PostToolUse","UserPromptSubmit","SubagentStop"],r=new Set(e);return Object.keys(t.hooks).filter(n=>!r.has(n)).map(n=>es(n,"kiro",e,{unsupportedBy:"Kiro hooks"}))}var aI=g(()=>{nr();i(iI,"lintHooks");});var cb,mb,ub,pb,lI,cI=g(()=>{qy();Zr();Wm();sI();aI();Ht();Jn();cb={name:It,primaryRootInstructionPath:Re,generateRules:zy,generateAgents:Xy,generateSkills:Vy,generateMcp:Jy,generateHooks:Yy,generateIgnore:Zy,importFrom:Qa},mb={rootInstructionPath:Re,skillDir:se,managedOutputs:{dirs:[".kiro/hooks",".kiro/skills",".kiro/steering",".kiro/agents"],files:["AGENTS.md",".kiro/settings/mcp.json",".kiroignore"]},paths:{rulePath(t,e){return `${ke}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return `${we}/${t}.md`}}},ub={rootInstructionPath:Oe,skillDir:mn,managedOutputs:{dirs:[zn,mn,Vn,pg],files:[Oe,Bo,Ko]},rewriteGeneratedPath(t){return t===Re?Oe:t.startsWith(`${ke}/`)?t.replace(`${ke}/`,`${zn}/`):t.startsWith(`${se}/`)?t.replace(`${se}/`,`${mn}/`):t.startsWith(`${we}/`)?t.replace(`${we}/`,`${Vn}/`):t===Kn?Bo:t===Hn?Ko:t.startsWith(`${cn}/`)?null:t},mirrorGlobalPath(t,e){return Et(t,".kiro/skills",e)},paths:{rulePath(t,e){return `${zn}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return `${Vn}/${t}.md`}}},pb={rules:"native",additionalRules:"native",commands:"none",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},lI={id:It,generators:cb,capabilities:{rules:"native",additionalRules:"native",commands:"none",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},emptyImportMessage:"No Kiro config found (AGENTS.md, .kiro/steering, .kiro/skills, .kiro/agents, .kiro/hooks, .kiro/settings/mcp.json, or .kiroignore).",lintRules:oI,lint:{hooks:iI},project:mb,globalSupport:{capabilities:pb,detectionPaths:[zn,Oe,mn,Vn,Bo,Ko],layout:ub},buildImportPaths:em,detectionPaths:[ke,se,we,cn,Kn,Hn]};});var ns,le,mr,mI,uI,vt,tl,no,el,gi,hn,pI,dI,os,rl,hi,yi,Bm,Km,ss,Hm,is,as,nl,ls,oo,Ii,dt=g(()=>{ns="gemini-cli",le="GEMINI.md",mr="AGENTS.md",mI=".gemini/rules",uI=".gemini/GEMINI.md",vt=".gemini/commands",tl=".gemini/policies",no=".gemini/settings.json",el=".geminiignore",gi=".gemini/skills",hn=".gemini/agents",pI=".gemini/system.md",dI=`${tl}/permissions.toml`,os=".agentsmesh/rules",rl=".agentsmesh/commands",hi=".agentsmesh/agents",yi=".agentsmesh/skills",Bm=".agentsmesh/mcp.json",Km=".agentsmesh/hooks.yaml",ss=".agentsmesh/ignore",Hm=".agentsmesh/permissions.yaml",is=".gemini/GEMINI.md",as=".gemini/AGENTS.md",nl=".gemini/settings.json",ls=".gemini/commands",oo=".gemini/skills",Ii=".gemini/agents";});function zm(t){let e=t.rules.find(s=>s.root),r=t.rules.filter(s=>!(s.root||s.targets.length>0&&!s.targets.includes("gemini-cli")));if(!e&&r.length===0)return [];let n=Ee(e?.body.trim()??"",r),o=[{path:le,content:n}];if(e){let s=e.body.trim().replace(/\.agentsmesh\/skills\//g,".agents/skills/");o.push({path:mr,content:s});}return o}var fI=g(()=>{pn();dt();i(zm,"generateRules");});function gI(t,e){let r=t.split(":").filter(Boolean),n=r.length>0?r.pop():t;return [e,...r,`${n}.toml`].join("/")}var hI=g(()=>{i(gI,"canonicalCommandNameToGeminiTomlPath");});function db(t){let e=t.replace(/\r\n/g,`
67
- `);return e.includes('"""')?JSON.stringify(e):`"""
68
- ${e}
69
- """`}function fb(t){return [`description = ${JSON.stringify(t.description||t.name)}`,`prompt = ${db(t.body.trim()||"")}`].join(`
70
- `)+`
71
- `}function Vm(t){return t.commands.map(e=>({path:gI(e.name,vt),content:fb(e)}))}var yI=g(()=>{dt();hI();i(db,"serializeTomlMultilineLiteral");i(fb,"serializeGeminiCommand");i(Vm,"generateCommands");});function Jm(t){return t.agents.map(e=>{let r={name:e.name,kind:"local",description:e.description||void 0,tools:e.tools.length>0?e.tools:void 0,model:e.model||void 0,maxTurns:e.maxTurns>0?e.maxTurns:void 0,permissionMode:e.permissionMode||void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=D(r,e.body.trim()||"");return {path:`${hn}/${e.name}.md`,content:n}})}var II=g(()=>{F();dt();i(Jm,"generateAgents");});function Ym(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=D(n,r.body.trim()||"");e.push({path:`${gi}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${gi}/${r.name}/${a}`,content:s.content});}}return e}var SI=g(()=>{F();dt();i(Ym,"generateSkills");});function gb(t){switch(t){case "PreToolUse":return "BeforeTool";case "PostToolUse":return "AfterTool";case "Notification":return "Notification";default:return null}}function Xm(t){let e={},r=false;if(t.mcp&&Object.keys(t.mcp.mcpServers).length>0&&(e.mcpServers=t.mcp.mcpServers,r=true),t.agents.length>0&&(e.experimental={enableAgents:true},r=true),t.hooks){let n=Object.entries(t.hooks).flatMap(([o,s])=>{let a=gb(o);if(!a||!Array.isArray(s))return [];let l=s.filter(c=>typeof c=="object"&&c!==null&&Ir(c)).map((c,m)=>({matcher:c.matcher,hooks:[{name:`${a}-${m+1}`,type:"command",command:mt(c),timeout:c.timeout}]}));return l.length>0?[[a,l]]:[]});n.length>0&&(e.hooks=Object.fromEntries(n),r=true);}return r&&(e.context={fileName:[le,mr]}),Object.keys(e).length===0?[]:[{path:no,content:JSON.stringify(e,null,2)}]}var Zm=g(()=>{fe();dt();i(gb,"mapHookEvent");i(Xm,"generateGeminiSettingsFiles");});function qm(t){return !t.ignore||t.ignore.length===0?[]:[{path:el,content:t.ignore.join(`
72
- `)}]}var _I=g(()=>{dt();i(qm,"generateIgnore");});var CI=g(()=>{fI();yI();II();SI();Zm();_I();});var RI=g(()=>{CI();});function so(t){return JSON.stringify(t)}function hb(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function yb(t){let e=t.match(/^Bash\((.*)\)$/);if(e&&typeof e[1]=="string")return {kind:"bash",prefix:e[1]};let r=t.match(/^Read\((.*)\)$/);return r&&typeof r[1]=="string"?{kind:"read",path:r[1]}:t==="Read"||t==="Grep"||t==="LS"||t==="WebFetch"?{kind:"tool",tool:t}:{kind:"unknown",raw:t}}function ol(t,e,r){return ["[[rule]]",`decision = ${so(t)}`,`priority = ${e}`,...r,""].join(`
73
- `)}function kI(t,e,r){let n=yb(t),o={Read:"read_file",Grep:"grep_search",LS:"list_directory",WebFetch:"web_fetch",Bash:"run_shell_command"};if(n.kind==="tool"){let s=o[n.tool]??n.tool;return ol(e,r,[`toolName = ${so(s)}`])}if(n.kind==="bash"){let s=n.prefix.replace(/:\*$/u,"").replace(/\*$/u,"").trim();return ol(e,r,[`toolName = ${so(o.Bash)}`,`commandPrefix = ${so(s)}`])}return n.kind==="read"?ol(e,r,[`toolName = ${so(o.Read)}`,`argsPattern = ${so(hb(n.path))}`]):ol(e,r,[`toolName = ${so(n.raw)}`])}function wI(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions;if(e.length+r.length===0)return [];let o=[];return e.forEach((s,a)=>{let l=kI(s,"allow",100+a);l&&o.push(l);}),r.forEach((s,a)=>{let l=kI(s,"deny",200+a);l&&o.push(l);}),o.length===0?[]:[{path:dI,content:o.join(`
74
- `)}]}var OI=g(()=>{dt();i(so,"escapeTomlBasicString");i(hb,"escapeRegexLiteral");i(yb,"parsePermissionExpr");i(ol,"ruleForDecision");i(kI,"permissionExprToGeminiRule");i(wI,"generateGeminiPermissionsPolicies");});function Qm(t){switch(t){case "BeforeTool":case "preToolUse":return "PreToolUse";case "AfterTool":case "postToolUse":return "PostToolUse";case "Notification":case "notification":return "Notification";default:return null}}function sl(t){let e=t.indexOf("---"),r=t.indexOf("+++");if(e===0&&(r===-1||e<=r))return w(t);if(r===0){let n=t.indexOf("+++",3);if(n!==-1)try{let o=t.slice(3,n).trim(),s=t.slice(n+3).trim();return {frontmatter:o===""?{}:parse$1(o)??{},body:s}}catch{return {frontmatter:{},body:t.trim()}}}return {frontmatter:{},body:t.trim()}}var tu=g(()=>{F();i(Qm,"mapGeminiHookEvent");i(sl,"parseFlexibleFrontmatter");});async function eu(t,e){let r=join(t,no),n=await y(r);if(n===null)return;let o;try{o=JSON.parse(n);}catch{}if(!o)return;let s=o.mcpServers;if(s!==void 0&&typeof s=="object"&&s!==null&&Object.keys(s).length>0){let c=join(t,Bm);await k(join(t,".agentsmesh")),await S(c,JSON.stringify({mcpServers:s},null,2)),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Bm,feature:"mcp"});}let a=o.ignorePatterns;if(Array.isArray(a)&&a.length>0&&a.every(c=>typeof c=="string")){let c=join(t,ss);await k(join(t,".agentsmesh")),await S(c,a.join(`
75
- `)+`
76
- `),e.push({fromTool:"gemini-cli",fromPath:r,toPath:ss,feature:"ignore"});}let l=o.hooks;if(l!==void 0&&typeof l=="object"&&l!==null){let c=Object.entries(l).flatMap(([m,u])=>{let p=Qm(m);if(!p||!Array.isArray(u))return [];let d=u.filter(f=>f!==null&&typeof f=="object"&&typeof f.matcher=="string"&&Array.isArray(f.hooks)).flatMap(f=>f.hooks.filter(h=>h!==null&&typeof h=="object"&&Ir(h)).map(h=>({matcher:f.matcher,command:mt(h),type:"command",timeout:typeof h.timeout=="number"?h.timeout:void 0})));if(d.length===0){let f=u.filter(h=>h!==null&&typeof h=="object"&&typeof h.matcher=="string"&&Ir(h)).map(h=>({matcher:h.matcher,command:mt(h),type:"command"}));return f.length>0?[[p,f]]:[]}return d.length>0?[[p,d]]:[]});if(c.length>0){let m=Object.fromEntries(c),u=join(t,Km);await k(join(t,".agentsmesh")),await S(u,stringify(m,{lineWidth:0}).trimEnd()),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Km,feature:"hooks"});}}}var EI=g(()=>{fe();E();dt();tu();i(eu,"importGeminiSettings");});async function PI(t,e){let r=join(t,el),n=await y(r);if(n!==null&&n.trim()){let o=n.split(/\r?\n/).map(s=>s.trim()).filter(s=>s&&!s.startsWith("#"));if(o.length>0){await k(join(t,".agentsmesh"));let s=join(t,ss);await S(s,o.join(`
77
- `)+`
78
- `),e.push({fromTool:"gemini-cli",fromPath:r,toPath:ss,feature:"ignore"});}}}var nu=g(()=>{E();dt();tu();EI();i(PI,"importGeminiIgnore");});async function bI(t,e,r){let n=t.replace(/\\/g,"/"),o=join(e,n),{frontmatter:s,body:a}=sl(r(o)),l=Ar(s.globs),c={root:false,description:typeof s.description=="string"?s.description:void 0,globs:l.length>0?l:void 0};return Object.keys(c).forEach(m=>{c[m]===void 0&&delete c[m];}),{destPath:o,toPath:`${os}/${n}`,feature:"rules",content:await $(o,c,a)}}async function AI(t,e,r){let n=t.replace(/\.(toml|md)$/i,".md").replace(/\\/g,"/"),o=join(e,n),s=r(o),{frontmatter:a,body:l}=t.endsWith(".toml")?Cb(s):sl(s),c=Tr(a.allowedTools),m=Tr(a["allowed-tools"]),u=c.length>0?c:m;return {destPath:o,toPath:`${rl}/${n}`,feature:"commands",content:await st(o,{description:typeof a.description=="string"?a.description:"",hasDescription:Object.prototype.hasOwnProperty.call(a,"description"),allowedTools:u,hasAllowedTools:Object.prototype.hasOwnProperty.call(a,"allowedTools")||Object.prototype.hasOwnProperty.call(a,"allowed-tools")},l)}}function Cb(t){try{let e=parse$1(t);return {frontmatter:e,body:typeof e.prompt=="string"?e.prompt:""}}catch{return {frontmatter:{},body:t.trim()}}}var TI=g(()=>{V();Pe();nu();dt();i(bI,"mapGeminiRuleFile");i(AI,"mapGeminiCommandFile");i(Cb,"parseTomlCommand");});function wb(t){return t.replace(/\\(.)/g,"$1")}function Ob(t){switch(t){case "read_file":return "Read";case "grep_search":return "Grep";case "list_directory":return "LS";case "web_fetch":return "WebFetch";case "run_shell_command":return "Bash";default:return null}}function Eb(t){return `Bash(${t}:*)`}function Pb(t){return `Read(${wb(t)})`}async function LI(t){let e=[],r=join(t,tl),n;try{n=await b(r);}catch{return e}let o=n.filter(p=>p.endsWith(".toml"));if(o.length===0)return e;let s=[],a=[],l=new Set,c=new Set;for(let p of o){let d=await y(p);if(!d)continue;let f;try{f=parse$1(d);}catch{continue}let h=f&&typeof f=="object"&&"rule"in f?f.rule:void 0;if(Array.isArray(h))for(let C of h){if(!C||typeof C!="object")continue;let R=C,I=typeof R.toolName=="string"?R.toolName:null,O=typeof R.decision=="string"?R.decision:null;if(!I||!O)continue;let x=Ob(I);if(!x)continue;let P=null;x==="Bash"?typeof R.commandPrefix=="string"&&R.commandPrefix.trim()&&(P=Eb(R.commandPrefix.trim())):x==="Read"?typeof R.argsPattern=="string"&&R.argsPattern.trim()?P=Pb(R.argsPattern.trim()):P="Read":P=x,P&&(O==="allow"?l.has(P)||(l.add(P),s.push(P)):O==="deny"&&(c.has(P)||(c.add(P),a.push(P))));}}if(s.length===0&&a.length===0)return e;await k(join(t,".agentsmesh"));let m=join(t,Hm),u=stringify({allow:s,deny:a});return await S(m,u.trimEnd()+`
79
- `),e.push({fromTool:ns,fromPath:join(t,tl),toPath:Hm,feature:"permissions"}),e}var NI=g(()=>{E();dt();i(wb,"unescapeRegexLiteral");i(Ob,"toolNameToPermissionBase");i(Eb,"commandPrefixToBashExpr");i(Pb,"argsPatternToReadExpr");i(LI,"importGeminiPolicies");});function ou(t,e){let r=new Set([e,e.replace(/\\/g,"/"),e.replace(/\//g,"\\")]);try{r.add(realpathSync(e)),r.add(realpathSync.native(e));}catch{}return Array.from(r).reduce((o,s)=>{let a=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return o.replace(new RegExp(`${a}[/\\\\]\\.agentsmesh[/\\\\]`,"g"),".agentsmesh/").replaceAll(`${s}/.agentsmesh`,".agentsmesh").replaceAll(`${s}\\.agentsmesh`,".agentsmesh")},t).replace(/(?:[A-Za-z]:)?[^\s"'`()<>]+[/\\]\.agentsmesh[/\\]/g,".agentsmesh/")}var FI=g(()=>{i(ou,"stripProjectRootCanonicalPrefix");});async function $I(t,e,r){let n=join(t,gi),s=(await b(n)).filter(l=>basename(l)==="SKILL.md");for(let l of s){let c=await y(l);if(!c)continue;let m=basename(l.slice(0,-9)),u=w(c),p=qr(u.frontmatter,m);if(p){let O=join(t,hi);await k(O);let x=join(O,`${p.name}.md`);await S(x,Ge(p,r(u.body,l,x))),e.push({fromTool:"gemini-cli",fromPath:l,toPath:`${hi}/${p.name}.md`,feature:"agents"});continue}let d=join(t,yi,m,"SKILL.md"),f=r(c,l,d),h=join(t,yi,m);await k(h);let{frontmatter:C,body:R}=w(f);await S(d,await tr(d,{...C,name:m},R)),e.push({fromTool:"gemini-cli",fromPath:l,toPath:`${yi}/${m}/SKILL.md`,feature:"skills"});let I=await b(dirname(l));for(let O of I){if(O===l)continue;let x=await y(O);if(x===null)continue;let P=relative(dirname(l),O).replace(/\\/g,"/"),A=join(h,P);await k(dirname(A)),await S(A,r(x,O,A)),e.push({fromTool:"gemini-cli",fromPath:O,toPath:`${yi}/${m}/${P}`,feature:"skills"});}}let a=join(t,hn);try{let c=(await b(a)).filter(m=>m.endsWith(".md"));for(let m of c){let u=await y(m);if(!u)continue;let{frontmatter:p,body:d}=w(u),h=relative(a,m).replace(/\\/g,"/").replace(/\.md$/i,".md"),C=join(t,hi);await k(C);let R=join(C,h),I=r(d,m,R);await S(R,await zt(R,{...p,name:typeof p.name=="string"?p.name:basename(h,".md"),maxTurns:p.maxTurns??p["max-turns"]??p.max_turns,permissionMode:p.permissionMode??p["permission-mode"]??p.permission_mode,disallowedTools:p.disallowedTools??p["disallowed-tools"]??p.disallowed_tools},I)),e.push({fromTool:"gemini-cli",fromPath:m,toPath:`${hi}/${h}`,feature:"agents"});}}catch{}}var MI=g(()=>{E();F();V();ee();dt();i($I,"importGeminiSkillsAndAgents");});async function al(t){let e=[],r=await J(ns,t),n=await J("codex-cli",t),o=join(t,os),s=join(t,rl),a=join(t,le),l=join(t,mr),c=join(t,uI),m=join(t,pI),u=await y(a),p=await y(l),d=await y(c),f=await y(m),h=[{path:l,content:p},{path:c,content:d},{path:a,content:u},{path:m,content:f}].find(x=>x.content!==null)??null,C=h?.path??m,R=h?.content??null;if(R!==null){await k(o);let x=join(o,"_root.md"),P=C===l||C===c?n(R,C,x):R,A=await er({content:P,projectRoot:t,rulesDir:os,sourcePath:C,fromTool:"gemini-cli",normalize:r});e.push(...A.results);let K=r(A.rootContent,C,x),M=ou(K.replace(/\.agents\/skills\//g,".agentsmesh/skills/").replace(/\.agents\\skills\\/g,".agentsmesh/skills/"),t),{frontmatter:B,body:Z}=w(M),q=B.root===true?B:{...B,root:true},Zt=ou(await $(x,q,Z),t);await S(x,Zt),e.push({fromTool:"gemini-cli",fromPath:C,toPath:`${os}/_root.md`,feature:"rules"});}let I=join(t,mI);e.push(...await U({srcDir:I,destDir:o,extensions:[".md"],fromTool:"gemini-cli",normalize:r,mapEntry:i(({relativePath:x,normalizeTo:P})=>bI(x,o,P),"mapEntry")}));let O=join(t,vt);return e.push(...await U({srcDir:O,destDir:s,extensions:[".md",".toml"],fromTool:"gemini-cli",normalize:r,mapEntry:i(({relativePath:x,normalizeTo:P})=>AI(x,s,P),"mapEntry")})),await $I(t,e,r),await eu(t,e),await PI(t,e),e.push(...await LI(t)),e}var au=g(()=>{Ft();E();F();V();Xo();pt();TI();dt();nu();NI();FI();MI();i(al,"importFromGemini");});function GI(t,e,r,n){return ct(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:ns}))}var jI=g(()=>{he();dt();i(GI,"lintRules");});function UI(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>tt(e.source,"gemini-cli","Gemini TOML command files do not project canonical allowed-tools metadata."))}function WI(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=["PreToolUse","PostToolUse","Notification"],r=new Set(e);return Object.keys(t.hooks).filter(n=>!r.has(n)).map(n=>es(n,"gemini-cli",e))}var BI=g(()=>{nr();i(UI,"lintCommands");i(WI,"lintHooks");});function KI(t,e){return e==="project"&&yn("gemini-cli",e)?.ignore.flavor!=="settings-embedded"?[]:Xm(t)}var HI=g(()=>{ot();Zm();i(KI,"emitScopedGeminiSettings");});function VI(t){try{let e=JSON.parse(t);return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}catch{return {}}}function JI(t,e){let r=VI(t),n=xb.parse(JSON.parse(e)),o={...r};n.permissions!==void 0&&(o.permissions=n.permissions),n.hooks!==void 0&&(o.hooks=n.hooks);let s=o.permissions;return s&&typeof s=="object"&&!Array.isArray(s)&&!("ask"in s)&&(s.ask=[]),JSON.stringify(o,null,2)}function YI(t,e){let r=VI(t),n=bb.parse(JSON.parse(e)),o={...r};return n.mcpServers!==void 0&&(o.mcpServers=n.mcpServers),n.hooks!==void 0&&(o.hooks=n.hooks),n.experimental!==void 0&&(o.experimental=n.experimental),n.context!==void 0&&(o.context=n.context),JSON.stringify(o,null,2)}var zI,xb,bb,lu=g(()=>{zI=[".claude/settings.json",".gemini/settings.json"],xb=z$1.object({permissions:z$1.object({allow:z$1.array(z$1.string()).optional(),deny:z$1.array(z$1.string()).optional()}).passthrough().optional(),hooks:z$1.record(z$1.string(),z$1.unknown()).optional()}).passthrough(),bb=z$1.object({mcpServers:z$1.record(z$1.string(),z$1.unknown()).optional(),hooks:z$1.record(z$1.string(),z$1.unknown()).optional(),experimental:z$1.record(z$1.string(),z$1.unknown()).optional(),context:z$1.record(z$1.string(),z$1.unknown()).optional()}).passthrough();i(VI,"parseJsonObject");i(JI,"mergeSettingsJson");i(YI,"mergeGeminiSettingsJson");});var Ab,Tb,Lb,Nb,XI,ZI=g(()=>{RI();bo();OI();dt();au();jI();Ht();xo();ee();BI();HI();Zr();lu();Ab={name:"gemini-cli",primaryRootInstructionPath:le,generateRules:zm,generateCommands:Vm,generateAgents:Jm,generateSkills:Ym,generateIgnore:qm,generatePermissions:wI,importFrom:al},Tb={rootInstructionPath:le,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[mr]}],extraRuleOutputPaths(){return [mr]},skillDir:".gemini/skills",managedOutputs:{dirs:[".gemini/agents",".gemini/commands",".gemini/skills",".agents/skills"],files:["AGENTS.md","GEMINI.md",".gemini/settings.json",".gemini/policies/permissions.toml",".geminiignore"]},mirrorGlobalPath(t,e){return Et(t,".gemini/skills",e)},paths:{rulePath(t,e){return le},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),n=r.pop()??t;return `${vt}/${r.join("/")}/${n}.toml`}return `${vt}/${t}.toml`},agentPath(t,e){return te(e,"gemini-cli")?`.gemini/skills/${Lt(t)}/SKILL.md`:`${hn}/${t}.md`}}},Lb={rootInstructionPath:is,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[as]}],extraRuleOutputPaths(){return [as]},skillDir:oo,managedOutputs:{dirs:[ls,oo,Ii],files:[is,as,nl]},rewriteGeneratedPath(t){return t===le?is:t===mr?as:t===no?nl:t.startsWith(`${vt}/`)?t.replace(`${vt}/`,`${ls}/`):t.startsWith(".gemini/skills/")?t.replace(".gemini/skills/",`${oo}/`):t.startsWith(`${hn}/`)?t.replace(`${hn}/`,`${Ii}/`):t.startsWith(".gemini/policies/")||t===".geminiignore"?null:t},mirrorGlobalPath(t,e){return Et(t,oo,e)},paths:{rulePath(t,e){return is},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),n=r.pop()??t;return `${ls}/${r.join("/")}/${n}.toml`}return `${ls}/${t}.toml`},agentPath(t,e){return te(e,"gemini-cli")?`${oo}/${Lt(t)}/SKILL.md`:`${Ii}/${t}.md`}}},Nb={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:"none",permissions:"none"},XI={id:"gemini-cli",generators:Ab,capabilities:{rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:ge("native","settings-embedded"),permissions:"partial"},emptyImportMessage:"No Gemini CLI config found (GEMINI.md or .gemini/rules, .gemini/commands, .gemini/settings.json).",lintRules:GI,lint:{commands:UI,hooks:WI},emitScopedSettings:KI,mergeGeneratedOutputContent(t,e,r,n){let o=e?.content??t;return o!==null&&n===no?YI(o,r):null},project:Tb,globalSupport:{capabilities:Nb,detectionPaths:[is,as,nl,ls,oo,Ii],layout:Lb},buildImportPaths:Bc,detectionPaths:["GEMINI.md",".gemini"]};});function Fb(t){let e=basename(t,".md");return e==="_root"?"root":e}function qI(t){let e=[],r=t.rules.find(n=>n.root);if(r){let n=r.body.trim()?r.body:"";e.push({path:tn,content:n});}for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("cline"))continue;let o=Fb(n.source),s={description:n.description||void 0,paths:n.globs.length>0?n.globs:void 0};Object.keys(s).forEach(l=>{s[l]===void 0&&delete s[l];});let a=Object.keys(s).length>0?D(s,n.body.trim()||""):n.body.trim()||"";e.push({path:`${kr}/${o}.md`,content:a});}return e}function QI(t){return t.commands.map(e=>{let r=e.description.trim(),n=e.body.trim(),o=r&&n?`${r}
53
+ ${r}
54
+ `:""}var gh=f(()=>{i(wx,"ruleSectionTitle");i(fh,"renderClaudeGlobalPrimaryInstructions");});function yh(t,e){return t===null?"created":t!==e?"updated":"unchanged"}async function Ih(t,e,r,n){if(r!=="global")return [];let o=n.has("agents"),s=n.has("commands");if(!o&&!s)return [];let a=[];if(o)for(let l of t.agents){if(!l.outputStyle)continue;let c={name:l.name,description:l.description||void 0},m=N(c,l.body.trim()),u=`${Uc}/${l.name}.md`,p=await I(join(e,u));a.push({target:"claude-code",path:u,content:m,currentContent:p??void 0,status:yh(p,m)});}if(s)for(let l of t.commands){if(!l.outputStyle)continue;let c={name:l.name,description:l.description||void 0},m=N(c,l.body.trim()),u=`${Uc}/${l.name}.md`,p=await I(join(e,u));a.push({target:"claude-code",path:u,content:m,currentContent:p??void 0,status:yh(p,m)});}return a}var Sh=f(()=>{E();F();hr();i(yh,"computeStatus");i(Ih,"generateClaudeGlobalExtras");});var _h,Rh,Ch,kh=f(()=>{F();Y();he();hr();_h=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${zs}/${t}`,content:await $(n,{...o,root:false},s)}},"claudeRuleMapper"),Rh=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n)),a=Yt(o.allowedTools),l=a.length>0?a:Yt(o["allowed-tools"]);return {destPath:n,toPath:`${da}/${t}`,content:await Q(n,{description:typeof o.description=="string"?o.description:void 0,hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),allowedTools:l,hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},s)}},"claudeCommandMapper"),Ch=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${fa}/${t}`,content:await $t(n,o,s)}},"claudeAgentMapper");});function wh(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:Cg}))}var Oh=f(()=>{ye();hr();i(wh,"lintRules");});var Ox,Eh,Ex,bx,Ea,hm=f(()=>{dh();hr();nn();gh();Sh();ym();kh();Oh();Ut();Ox={name:"claude-code",primaryRootInstructionPath:Ur,generateRules:sh,generateCommands:ih,generateAgents:ah,generateSkills:ch,generateMcp:lh,generatePermissions:mh,generateHooks:uh,generateIgnore:ph,importFrom:ba},Eh={rootInstructionPath:Ur,skillDir:".claude/skills",managedOutputs:{dirs:[".claude/agents",".claude/commands",".claude/rules",".claude/skills"],files:[".claude/CLAUDE.md",".claude/settings.json",".claudeignore",".mcp.json"]},paths:{rulePath(t,e){return `.claude/rules/${t}.md`},commandPath(t,e){return `.claude/commands/${t}.md`},agentPath(t,e){return `.claude/agents/${t}.md`}}},Ex={rootInstructionPath:Ur,skillDir:".claude/skills",renderPrimaryRootInstruction:fh,managedOutputs:{dirs:[".claude/agents",".claude/commands",".claude/rules",".claude/skills",".claude/output-styles",".agents/skills"],files:[".claude/CLAUDE.md",".claude/settings.json",Hs,gr,".claudeignore"]},rewriteGeneratedPath(t){return t===xo?Hs:t},mirrorGlobalPath(t,e){return xt(t,".claude/skills",e)},paths:Eh.paths},bx={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"native"},Ea={id:"claude-code",generators:Ox,capabilities:{rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"native"},emptyImportMessage:"No Claude Code config found (CLAUDE.md or .claude/rules/*.md).",lintRules:wh,project:Eh,globalSupport:{capabilities:bx,detectionPaths:[".claude/CLAUDE.md",".claude/rules",".claude/commands",".claude/agents",".claude/skills",".claude/settings.json",".claude/hooks.json",".claude/output-styles",".claudeignore",".claude.json",".agents/skills"],layout:Ex,scopeExtras:Ih},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Ur,kg],global:[Ur]},canonicalDir:zs,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[Gs],global:[Gs]},canonicalDir:zs,extensions:[".md"],map:_h}],commands:{feature:"commands",mode:"directory",source:{project:[js],global:[js]},canonicalDir:da,extensions:[".md"],map:Rh},agents:{feature:"agents",mode:"directory",source:{project:[Us],global:[Us]},canonicalDir:fa,extensions:[".md"],map:Ch},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[xo],global:[Hs]},canonicalDir:".agentsmesh",canonicalFilename:Vs},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Ks],global:[Ks]},canonicalDir:".agentsmesh",canonicalFilename:wg}},buildImportPaths:Kc,detectionPaths:["CLAUDE.md",".claude/rules",".claude/commands"]};});function Px(t){let e=basename(t,".md");return e==="_root"?"root":e}function bh(t){let e=[],r=t.rules.find(n=>n.root);if(r){let n=r.body.trim()?r.body:"";e.push({path:Br,content:n});}for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("cline"))continue;let o=Px(n.source),s={description:n.description||void 0,paths:n.globs.length>0?n.globs:void 0};Object.keys(s).forEach(l=>{s[l]===void 0&&delete s[l];});let a=Object.keys(s).length>0?N(s,n.body.trim()||""):n.body.trim()||"";e.push({path:`${yr}/${o}.md`,content:a});}return e}function xh(t){return t.commands.map(e=>{let r=e.description.trim(),n=e.body.trim(),o=r&&n?`${r}
80
55
 
81
- ${n}`:r||n;return {path:`${Be}/${e.name}.md`,content:o}})}function tS(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
82
- `);return [{path:Dn,content:e}]}function eS(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:wr,content:e}]}function rS(t){return t.agents.map(e=>({path:`${yt}/${Lt(e.name)}/SKILL.md`,content:da(e)}))}function vb(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function $b(t,e,r){return ["#!/usr/bin/env bash",`# agentsmesh-event: ${t}`,`# agentsmesh-matcher: ${r}`,`# agentsmesh-command: ${e}`,"set -e",e,""].join(`
83
- `)}function nS(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.hooks)){if(!Array.isArray(n))continue;let o=0;for(let s of n)Ir(s)&&(e.push({path:`${Fn}/${vb(r)}-${o}.sh`,content:$b(r,s.command,s.matcher)}),o++);}return e}function oS(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=D(n,r.body.trim()||"");e.push({path:`${yt}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${yt}/${r.name}/${a}`,content:s.content});}}return e}var sS=g(()=>{fe();F();ee();re();i(Fb,"ruleSlug");i(qI,"generateRules");i(QI,"generateCommands");i(tS,"generateIgnore");i(eS,"generateMcp");i(rS,"generateAgents");i(vb,"safeEventName");i($b,"buildHookScript");i(nS,"generateHooks");i(oS,"generateSkills");});async function aS(t,e,r){if(t==="workflows"||t.startsWith("workflows/"))return null;let n=t.replace(/\\/g,"/");if(n==="_root.md")return null;let o=join(e,n),{frontmatter:s,body:a}=w(r(o)),l=Ar(s.paths??s.globs),c={root:false,description:typeof s.description=="string"?s.description:void 0,globs:l.length>0?l:void 0};return Object.keys(c).forEach(m=>{c[m]===void 0&&delete c[m];}),{destPath:o,toPath:`${en}/${n}`,feature:"rules",content:await $(o,c,a)}}async function lS(t,e,r){let n=join(e,t),{frontmatter:o,body:s}=w(r(n)),a=Object.prototype.hasOwnProperty.call(o,"description"),l=a&&typeof o.description=="string"?o.description:"",c=a,m=s;if(!c){let u=s.indexOf(`
56
+ ${n}`:r||n;return {path:`${Ue}/${e.name}.md`,content:o}})}function Ph(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
57
+ `);return [{path:xn,content:e}]}function Ah(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Ir,content:e}]}function Th(t){return t.agents.map(e=>({path:`${It}/${Lt(e.name)}/SKILL.md`,content:ma(e)}))}function Ax(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function Tx(t,e,r){return ["#!/usr/bin/env bash",`# agentsmesh-event: ${t}`,`# agentsmesh-matcher: ${r}`,`# agentsmesh-command: ${e}`,"set -e",e,""].join(`
58
+ `)}function Lh(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.hooks)){if(!Array.isArray(n))continue;let o=0;for(let s of n)cr(s)&&(e.push({path:`${Pn}/${Ax(r)}-${o}.sh`,content:Tx(r,s.command,s.matcher)}),o++);}return e}function Nh(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=N(n,r.body.trim()||"");e.push({path:`${It}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${It}/${r.name}/${a}`,content:s.content});}}return e}var Dh=f(()=>{ce();F();Xt();Zt();i(Px,"ruleSlug");i(bh,"generateRules");i(xh,"generateCommands");i(Ph,"generateIgnore");i(Ah,"generateMcp");i(Th,"generateAgents");i(Ax,"safeEventName");i(Tx,"buildHookScript");i(Lh,"generateHooks");i(Nh,"generateSkills");});async function vh(t,e,r){if(t==="workflows"||t.startsWith("workflows/"))return null;let n=t.replace(/\\/g,"/");if(n==="_root.md")return null;let o=join(e,n),{frontmatter:s,body:a}=O(r(o)),l=dr(s.paths??s.globs),c={root:false,description:typeof s.description=="string"?s.description:void 0,globs:l.length>0?l:void 0};return Object.keys(c).forEach(m=>{c[m]===void 0&&delete c[m];}),{destPath:o,toPath:`${Kr}/${n}`,feature:"rules",content:await $(o,c,a)}}async function $h(t,e,r){let n=join(e,t),{frontmatter:o,body:s}=O(r(n)),a=Object.prototype.hasOwnProperty.call(o,"description"),l=a&&typeof o.description=="string"?o.description:"",c=a,m=s;if(!c){let u=s.indexOf(`
84
59
 
85
60
  `);if(u>0){let p=s.slice(0,u).trim();p&&!p.includes(`
86
- `)&&(l=p,c=true,m=s.slice(u+2));}}return {destPath:n,toPath:`${ya}/${t}`,feature:"commands",content:await st(n,{description:l,hasDescription:c,allowedTools:[],hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},m)}}var cu=g(()=>{F();V();Pe();re();i(aS,"mapClineRuleFile");i(lS,"mapClineWorkflowFile");});async function cS(t,e,r){let n=join(t,en),o=join(t,kr),s=join(t,kr),a=false;try{a=(await stat(s)).isFile();}catch{}if(a){let u=await y(s);if(u!==null){await k(n);let p=join(n,"_root.md"),{frontmatter:d,body:f}=w(r(u,s,p)),C=d.root===true?d:{...d,root:true},R=await $(p,C,f);await S(p,R),e.push({fromTool:"cline",fromPath:s,toPath:`${en}/_root.md`,feature:"rules"});}return a}let l=null,c=join(o,"_root.md"),m=await y(c);if(m===null){let u=join(t,tn),p=await y(u);if(p!==null){l=u,await k(n);let d=join(n,"_root.md"),{frontmatter:f,body:h}=w(r(p,u,d)),R=f.root===true?f:{...f,root:true},I=await $(d,R,h);await S(d,I),e.push({fromTool:"cline",fromPath:u,toPath:`${en}/_root.md`,feature:"rules"});}else {let h=(await b(o)).filter(C=>C.endsWith(".md")&&!C.includes("/workflows/")).sort()[0];if(h){let C=await y(h);if(C!==null){l=h,await k(n);let R=join(n,"_root.md"),{frontmatter:I,body:O}=w(r(C,h,R)),P=I.root===true?I:{...I,root:true},A=await $(R,P,O);await S(R,A),e.push({fromTool:"cline",fromPath:h,toPath:`${en}/_root.md`,feature:"rules"});}}}}else {l=c,await k(n);let u=join(n,"_root.md"),{frontmatter:p,body:d}=w(r(m,c,u)),h=p.root===true?p:{...p,root:true},C=await $(u,h,d);await S(u,C),e.push({fromTool:"cline",fromPath:c,toPath:`${en}/_root.md`,feature:"rules"});}return e.push(...await U({srcDir:o,destDir:n,extensions:[".md"],fromTool:"cline",normalize:r,mapEntry:i(async({srcPath:u,relativePath:p,normalizeTo:d})=>u===l?null:aS(p,n,d),"mapEntry")})),a}var mS=g(()=>{E();F();V();pt();cu();re();i(cS,"importClineRules");});function Gb(t){if(!t||typeof t!="object")return null;let e=t,r=typeof e.command=="string"?e.command:"";if(!r)return null;let n=typeof e.type=="string"?e.type:typeof e.transportType=="string"?e.transportType:"stdio",o=Array.isArray(e.args)?e.args.filter(c=>typeof c=="string"):[],s=e.env,a=s!==null&&typeof s=="object"&&!Array.isArray(s)?Object.fromEntries(Object.entries(s).filter(c=>typeof c[1]=="string")):{},l=typeof e.description=="string"?e.description:void 0;return {...l!==void 0&&{description:l},type:n,command:r,args:o,env:a}}async function uS(t,e){let r=[wr,Xf].map(c=>join(t,c)),n=null,o=null;for(let c of r){let m=await y(c);if(m!==null){n=c,o=m;break}}if(o===null)return;let s=n??r[0],a;try{a=JSON.parse(o);}catch{}let l=a?.mcpServers;if(l!==void 0&&typeof l=="object"&&l!==null&&Object.keys(l).length>0){let c={};for(let[m,u]of Object.entries(l)){let p=Gb(u);p&&(c[m]=p);}Object.keys(c).length>0&&(await k(join(t,".agentsmesh")),await S(join(t,bc),JSON.stringify({mcpServers:c},null,2)),e.push({fromTool:Qr,fromPath:s,toPath:bc,feature:"mcp"}));}}var pS=g(()=>{E();re();i(Gb,"mapClineServerToCanonical");i(uS,"importClineMcp");});async function dS(t,e,r,n=yt){let o=join(t,n),s=await dn(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:Zf,targetName:"cline",normalize:r,results:e};for(let[l,c]of s){let m=join(c,"SKILL.md"),u=await y(m);if(!u)continue;let p=w(u),d=qr(p.frontmatter,l);if(d){let f=join(t,Ac);await k(f);let h=join(f,`${d.name}.md`);await S(h,Ge(d,r(p.body,m,h))),e.push({fromTool:"cline",fromPath:m,toPath:`${Ac}/${d.name}.md`,feature:"agents"});continue}await rr(l,c,a);}}var fS=g(()=>{E();F();ee();qo();re();i(dS,"importClineSkills");});function uu(t,e){return t.match(new RegExp(`^# agentsmesh-${e}:\\s*(.+)$`,"m"))?.[1]?.trim()??null}async function gS(t,e){let n=(await b(t).catch(()=>[])).filter(o=>basename(o).endsWith(".sh")&&dirname(o)===t);for(let o of n){let s=await y(o);if(!s)continue;let a=uu(s,"event"),l=uu(s,"command");if(!a||!l)continue;let c=uu(s,"matcher")??"*";e[a]||(e[a]=[]),e[a].push({matcher:c,command:l});}}async function yS(t,e){let r={};if(await gS(join(t,Fn),r),await gS(join(t,Mn),r),Object.keys(r).length===0)return;let n=join(t,Pc);await k(dirname(n)),await S(n,stringify(r)),e.push({fromTool:Qr,fromPath:join(t,Mn),toPath:Pc,feature:"hooks"});}var IS=g(()=>{E();re();i(uu,"extractMeta");i(gS,"loadHooksFromDir");i(yS,"importClineHooks");});async function ml(t){let e=[],r=await J(Qr,t),n=await cS(t,e,r),o=join(t,Dn),s=await y(o);if(s!==null&&s.trim()){let l=s.split(/\r?\n/),c=[];for(let m of l){let u=m.trim();u&&!u.startsWith("#")&&c.push(u);}if(c.length>0){await k(join(t,".agentsmesh"));let m=join(t,xc);await S(m,c.join(`
87
- `)),e.push({fromTool:"cline",fromPath:o,toPath:xc,feature:"ignore"});}}await uS(t,e);let a=join(t,ya);return n||e.push(...await U({srcDir:join(t,Be),destDir:a,extensions:[".md"],fromTool:"cline",normalize:r,mapEntry:i(({relativePath:l,normalizeTo:c})=>lS(l,a,c),"mapEntry")})),await dS(t,e,r),await yS(t,e),e}var pu=g(()=>{Ft();E();pt();cu();mS();re();pS();fS();IS();i(ml,"importFromCline");});function SS(t,e,r,n){return ct(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:Qr}))}var _S=g(()=>{he();re();i(SS,"lintRules");});function CS(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>tt(e.source,"cline","cline workflow files are plain Markdown; command description and allowed-tools metadata are not projected."))}function RS(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[tt(".agentsmesh/hooks.yaml","cline","cline hooks are emitted as .clinerules/hooks/*.sh wrapper scripts with a `#!/usr/bin/env bash` header; they require a POSIX shell (git-bash or WSL) to execute on Windows.")]:[]:[]}var kS=g(()=>{nr();i(CS,"lintCommands");i(RS,"lintHooks");});var Wb,Bb,Kb,Hb,wS,OS=g(()=>{sS();bo();re();pu();_S();kS();Ht();xo();ee();Wb={name:"cline",primaryRootInstructionPath:tn,generateRules:qI,generateCommands:QI,generateAgents:rS,generateSkills:oS,generateMcp:eS,generateHooks:nS,generateIgnore:tS,importFrom:ml},Bb={rootInstructionPath:tn,skillDir:".cline/skills",managedOutputs:{dirs:[".cline/skills",".clinerules",".clinerules/hooks",".clinerules/workflows"],files:["AGENTS.md",".cline/cline_mcp_settings.json",".clineignore",".clinerules/typescript.md"]},paths:{rulePath(t,e){return `${kr}/${t}.md`},commandPath(t,e){return `${Be}/${t}.md`},agentPath(t,e){return te(e,"cline")?`.cline/skills/${Lt(t)}/SKILL.md`:null}}},Kb={skillDir:yt,managedOutputs:{dirs:[vn,$n,Mn,yt,".agents/skills"],files:[wr,Dn]},rewriteGeneratedPath(t){return t===tn?null:t.startsWith(`${Fn}/`)?`${Mn}/${t.slice(Fn.length+1)}`:t.startsWith(`${Be}/`)?`${$n}/${t.slice(Be.length+1)}`:t.startsWith(`${kr}/`)?`${vn}/${t.slice(kr.length+1)}`:t},mirrorGlobalPath(t,e){return t.startsWith(`${yt}/`)?`.agents/skills/${t.slice(yt.length+1)}`:null},paths:{rulePath(t,e){return `${vn}/${t}.md`},commandPath(t,e){return `${$n}/${t}.md`},agentPath(t,e){return te(e,"cline")?`.cline/skills/${Lt(t)}/SKILL.md`:null}}},Hb={rules:"native",additionalRules:"native",commands:ge("native","workflows"),agents:"embedded",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},wS={id:"cline",generators:Wb,capabilities:{rules:"native",additionalRules:"native",commands:ge("native","workflows"),agents:"embedded",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},emptyImportMessage:"No Cline config found (.clinerules, .clineignore, .cline/cline_mcp_settings.json, or .cline/skills).",supportsConversion:{agents:true},lintRules:SS,lint:{commands:CS,hooks:RS},project:Bb,globalSupport:{capabilities:Hb,detectionPaths:[vn,$n,Mn,yt,wr,Dn],layout:Kb},buildImportPaths:Tc,detectionPaths:[".clinerules",".cline"]};});var _t,ES,jr,ao,PS,Te,xS,ul,lo,ur,co,Ur,du,cs,_i,fu,bS,gu,AS,TS,hu,yu,Iu,wt=g(()=>{_t="codex-cli",ES="codex.md",jr="AGENTS.md",ao=".codex/AGENTS.md",PS=".codex/AGENTS.override.md",Te=".agents/skills",xS=".codex/skills",ul=".codex/config.toml",lo=".codex/instructions",ur=".codex/rules",co=".codex/agents",Ur=".agentsmesh/rules",du=".agentsmesh/commands",cs=".agentsmesh/agents",_i=".agentsmesh/skills",fu=".agentsmesh/mcp.json",bS="am-codex-rule:v1",gu="# am-json: ",AS="# am-body-b64-begin",TS="# am-body-b64-end",hu="# am64:",yu="<!-- agentsmesh:codex-rule-index:start -->",Iu="<!-- agentsmesh:codex-rule-index:end -->";});function Su(t){return basename(t,".md")}function Ci(t){return `${lo}/${Su(t.source)}.md`}function LS(t){let e={root:t.root,description:t.description||void 0,globs:t.globs.length>0?t.globs:void 0,targets:t.targets.length>0?t.targets:void 0,codex_emit:t.codexEmit||void 0,codex_instruction:t.codexInstructionVariant&&t.codexInstructionVariant!=="default"?t.codexInstructionVariant:void 0};return Object.keys(e).forEach(r=>{e[r]===void 0&&delete e[r];}),D(e,t.body.trim()||"")}function Vb(t){let e=[];return t.root?e.push("Applies to the whole project."):t.globs.length>0?e.push(`Applies to ${t.globs.map(r=>`\`${r}\``).join(", ")}.`):e.push("General guidance with no file glob restriction."),t.codexInstructionVariant==="override"&&e.push("Override guidance when this rule conflicts with broader instructions."),t.codexEmit==="execution"&&e.push(`Enforced in \`${ur}/${Su(t.source)}.rules\`.`),t.targets.length>0&&e.push(`Targeted to ${t.targets.map(r=>`\`${r}\``).join(", ")}.`),e.join(" ")}function NS(t,e){let r=t.trim(),n=e.filter(a=>!a.root);if(n.length===0)return r;let o=n.map(a=>`- [${a.description||Su(a.source)}](${Ci(a)}): ${Vb(a)}`),s=[yu,"## Additional Rule Files",...o,Iu].join(`
61
+ `)&&(l=p,c=true,m=s.slice(u+2));}}return {destPath:n,toPath:`${ga}/${t}`,feature:"commands",content:await Q(n,{description:l,hasDescription:c,allowedTools:[],hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},m)}}var Im=f(()=>{F();Y();he();Zt();i(vh,"mapClineRuleFile");i($h,"mapClineWorkflowFile");});async function Mh(t,e,r){let n=join(t,Kr),o=join(t,yr),s=join(t,yr),a=false;try{a=(await stat(s)).isFile();}catch{}if(a){let u=await I(s);if(u!==null){await k(n);let p=join(n,"_root.md"),{frontmatter:d,body:g}=O(r(u,s,p)),R=d.root===true?d:{...d,root:true},C=await $(p,R,g);await _(p,C),e.push({fromTool:"cline",fromPath:s,toPath:`${Kr}/_root.md`,feature:"rules"});}return a}let l=null,c=join(o,"_root.md"),m=await I(c);if(m===null){let u=join(t,Br),p=await I(u);if(p!==null){l=u,await k(n);let d=join(n,"_root.md"),{frontmatter:g,body:h}=O(r(p,u,d)),C=g.root===true?g:{...g,root:true},S=await $(d,C,h);await _(d,S),e.push({fromTool:"cline",fromPath:u,toPath:`${Kr}/_root.md`,feature:"rules"});}else {let h=(await P(o)).filter(R=>R.endsWith(".md")&&!R.includes("/workflows/")).sort()[0];if(h){let R=await I(h);if(R!==null){l=h,await k(n);let C=join(n,"_root.md"),{frontmatter:S,body:w}=O(r(R,h,C)),b=S.root===true?S:{...S,root:true},x=await $(C,b,w);await _(C,x),e.push({fromTool:"cline",fromPath:h,toPath:`${Kr}/_root.md`,feature:"rules"});}}}}else {l=c,await k(n);let u=join(n,"_root.md"),{frontmatter:p,body:d}=O(r(m,c,u)),h=p.root===true?p:{...p,root:true},R=await $(u,h,d);await _(u,R),e.push({fromTool:"cline",fromPath:c,toPath:`${Kr}/_root.md`,feature:"rules"});}return e.push(...await st({srcDir:o,destDir:n,extensions:[".md"],fromTool:"cline",normalize:r,mapEntry:i(async({srcPath:u,relativePath:p,normalizeTo:d})=>u===l?null:vh(p,n,d),"mapEntry")})),a}var Gh=f(()=>{E();F();Y();$e();Im();Zt();i(Mh,"importClineRules");});function Nx(t){if(!t||typeof t!="object")return null;let e=t,r=typeof e.command=="string"?e.command:"";if(!r)return null;let n=typeof e.type=="string"?e.type:typeof e.transportType=="string"?e.transportType:"stdio",o=Array.isArray(e.args)?e.args.filter(c=>typeof c=="string"):[],s=e.env,a=s!==null&&typeof s=="object"&&!Array.isArray(s)?Object.fromEntries(Object.entries(s).filter(c=>typeof c[1]=="string")):{},l=typeof e.description=="string"?e.description:void 0;return {...l!==void 0&&{description:l},type:n,command:r,args:o,env:a}}async function jh(t,e){let r=[Ir,Eg].map(c=>join(t,c)),n=null,o=null;for(let c of r){let m=await I(c);if(m!==null){n=c,o=m;break}}if(o===null)return;let s=n??r[0],a;try{a=JSON.parse(o);}catch{}let l=a?.mcpServers;if(l!==void 0&&typeof l=="object"&&l!==null&&Object.keys(l).length>0){let c={};for(let[m,u]of Object.entries(l)){let p=Nx(u);p&&(c[m]=p);}Object.keys(c).length>0&&(await k(join(t,".agentsmesh")),await _(join(t,Vc),JSON.stringify({mcpServers:c},null,2)),e.push({fromTool:Wr,fromPath:s,toPath:Vc,feature:"mcp"}));}}var Uh=f(()=>{E();Zt();i(Nx,"mapClineServerToCanonical");i(jh,"importClineMcp");});function Wh(t){return Dx.some(e=>e.test(t))}var Dx,Bh=f(()=>{Dx=[/^\./,/^_ab-agent-/,/^_ab-command-/,/\.fixture\./,/\.test\./];i(Wh,"isReservedArtifactName");});async function vx(t){let e=await P(t).catch(()=>[]),r=[];for(let n of e){let o=relative(t,n).replace(/\\/g,"/"),s=basename(o);if(Wh(s))continue;let a=await I(n);a!==null&&r.push({absolutePath:n,relativePath:o,content:a});}return r}async function Ze(t,e,r){let n=await vx(e),o=join(r.projectRoot,r.destCanonicalSkillsDir,t);for(let s of n){let a=join(o,s.relativePath);await k(dirname(a));let l=r.normalize(s.content,s.absolutePath,a);if(s.relativePath==="SKILL.md"){let{frontmatter:c,body:m}=O(l),u=await Le(a,{...c,name:t},m);await _(a,u);}else await _(a,l);r.results.push({fromTool:r.targetName,fromPath:s.absolutePath,toPath:`${r.destCanonicalSkillsDir}/${t}/${s.relativePath}`,feature:"skills"});}}async function Hh(t,e,r,n){let o=join(n.projectRoot,n.destCanonicalSkillsDir,t);await k(o);let s=join(o,"SKILL.md"),a=n.normalize(r,e,s),{frontmatter:l,body:c}=O(a),m=await Le(s,{...l,name:t},c);await _(s,m),n.results.push({fromTool:n.targetName,fromPath:e,toPath:`${n.destCanonicalSkillsDir}/${t}/SKILL.md`,feature:"skills"});}async function on(t){let e=new Map;try{let n=(await P(t)).filter(o=>basename(o)==="SKILL.md");for(let o of n){let s=dirname(o),a=basename(s);e.set(a,s);}}catch{}return e}var Uo=f(()=>{E();F();Y();Bh();i(vx,"readNativeSkill");i(Ze,"importDirectorySkill");i(Hh,"importFlatSkill");i(on,"findDirectorySkills");});async function zh(t,e,r,n=It){let o=join(t,n),s=await on(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:bg,targetName:"cline",normalize:r,results:e};for(let[l,c]of s){let m=join(c,"SKILL.md"),u=await I(m);if(!u)continue;let p=O(u),d=jr(p.frontmatter,l);if(d){let g=join(t,Jc);await k(g);let h=join(g,`${d.name}.md`);await _(h,je(d,r(p.body,m,h))),e.push({fromTool:"cline",fromPath:m,toPath:`${Jc}/${d.name}.md`,feature:"agents"});continue}await Ze(l,c,a);}}var Vh=f(()=>{E();F();Xt();Uo();Zt();i(zh,"importClineSkills");});function Rm(t,e){return t.match(new RegExp(`^# agentsmesh-${e}:\\s*(.+)$`,"m"))?.[1]?.trim()??null}async function Jh(t,e){let n=(await P(t).catch(()=>[])).filter(o=>basename(o).endsWith(".sh")&&dirname(o)===t);for(let o of n){let s=await I(o);if(!s)continue;let a=Rm(s,"event"),l=Rm(s,"command");if(!a||!l)continue;let c=Rm(s,"matcher")??"*";e[a]||(e[a]=[]),e[a].push({matcher:c,command:l});}}async function Xh(t,e){let r={};if(await Jh(join(t,Pn),r),await Jh(join(t,Ln),r),Object.keys(r).length===0)return;let n=join(t,Hc);await k(dirname(n)),await _(n,stringify(r)),e.push({fromTool:Wr,fromPath:join(t,Ln),toPath:Hc,feature:"hooks"});}var Zh=f(()=>{E();Zt();i(Rm,"extractMeta");i(Jh,"loadHooksFromDir");i(Xh,"importClineHooks");});async function Ta(t){let e=[],r=await H(Wr,t),n=await Mh(t,e,r),o=join(t,xn),s=await I(o);if(s!==null&&s.trim()){let l=s.split(/\r?\n/),c=[];for(let m of l){let u=m.trim();u&&!u.startsWith("#")&&c.push(u);}if(c.length>0){await k(join(t,".agentsmesh"));let m=join(t,zc);await _(m,c.join(`
62
+ `)),e.push({fromTool:"cline",fromPath:o,toPath:zc,feature:"ignore"});}}await jh(t,e);let a=join(t,ga);return n||e.push(...await st({srcDir:join(t,Ue),destDir:a,extensions:[".md"],fromTool:"cline",normalize:r,mapEntry:i(({relativePath:l,normalizeTo:c})=>$h(l,a,c),"mapEntry")})),await zh(t,e,r),await Xh(t,e),e}var Cm=f(()=>{bt();E();$e();Im();Gh();Zt();Uh();Vh();Zh();i(Ta,"importFromCline");});function qh(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:Wr}))}var Qh=f(()=>{ye();Zt();i(qh,"lintRules");});function V(t,e,r){return {level:"warning",file:t,target:e,message:r}}function Gx(t){return t.length===0?"":t.length===1?t[0]:t.length===2?`${t[0]} and ${t[1]}`:`${t.slice(0,-1).join(", ")}, and ${t[t.length-1]}`}function Wo(t,e,r,n){let o=n?.unsupportedBy??e,s=Gx(r);return V(".agentsmesh/hooks.yaml",e,`${t} is not supported by ${o}; only ${s} are projected.`)}var Wt=f(()=>{i(V,"createWarning");i(Gx,"formatOxfordComma");i(Wo,"createUnsupportedHookWarning");});function ty(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>V(e.source,"cline","cline workflow files are plain Markdown; command description and allowed-tools metadata are not projected."))}function ey(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[V(".agentsmesh/hooks.yaml","cline","cline hooks are emitted as .clinerules/hooks/*.sh wrapper scripts with a `#!/usr/bin/env bash` header; they require a POSIX shell (git-bash or WSL) to execute on Windows.")]:[]:[]}var ry=f(()=>{Wt();i(ty,"lintCommands");i(ey,"lintHooks");});var jx,Ux,Wx,Bx,ny,oy=f(()=>{Dh();Cn();Zt();Cm();Qh();ry();Ut();yo();Xt();jx={name:"cline",primaryRootInstructionPath:Br,generateRules:bh,generateCommands:xh,generateAgents:Th,generateSkills:Nh,generateMcp:Ah,generateHooks:Lh,generateIgnore:Ph,importFrom:Ta},Ux={rootInstructionPath:Br,skillDir:".cline/skills",managedOutputs:{dirs:[".cline/skills",".clinerules",".clinerules/hooks",".clinerules/workflows"],files:["AGENTS.md",".cline/cline_mcp_settings.json",".clineignore",".clinerules/typescript.md"]},paths:{rulePath(t,e){return `${yr}/${t}.md`},commandPath(t,e){return `${Ue}/${t}.md`},agentPath(t,e){return me(e,"cline")?`.cline/skills/${Lt(t)}/SKILL.md`:null}}},Wx={skillDir:It,managedOutputs:{dirs:[An,Tn,Ln,It,".agents/skills"],files:[Ir,xn]},rewriteGeneratedPath(t){return t===Br?null:t.startsWith(`${Pn}/`)?`${Ln}/${t.slice(Pn.length+1)}`:t.startsWith(`${Ue}/`)?`${Tn}/${t.slice(Ue.length+1)}`:t.startsWith(`${yr}/`)?`${An}/${t.slice(yr.length+1)}`:t},mirrorGlobalPath(t,e){return t.startsWith(`${It}/`)?`.agents/skills/${t.slice(It.length+1)}`:null},paths:{rulePath(t,e){return `${An}/${t}.md`},commandPath(t,e){return `${Tn}/${t}.md`},agentPath(t,e){return me(e,"cline")?`.cline/skills/${Lt(t)}/SKILL.md`:null}}},Bx={rules:"native",additionalRules:"native",commands:pe("native","workflows"),agents:"embedded",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},ny={id:"cline",generators:jx,capabilities:{rules:"native",additionalRules:"native",commands:pe("native","workflows"),agents:"embedded",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},emptyImportMessage:"No Cline config found (.clinerules, .clineignore, .cline/cline_mcp_settings.json, or .cline/skills).",supportsConversion:{agents:true},lintRules:qh,lint:{commands:ty,hooks:ey},project:Ux,globalSupport:{capabilities:Bx,detectionPaths:[An,Tn,Ln,It,Ir,xn],layout:Wx},buildImportPaths:Yc,detectionPaths:[".clinerules",".cline"]};});var St,sy,Or,Wn,iy,Ee,ay,La,Bn,qe,Kn,Er,km,Bo,di,wm,ly,Om,cy,my,Em,bm,xm,wt=f(()=>{St="codex-cli",sy="codex.md",Or="AGENTS.md",Wn=".codex/AGENTS.md",iy=".codex/AGENTS.override.md",Ee=".agents/skills",ay=".codex/skills",La=".codex/config.toml",Bn=".codex/instructions",qe=".codex/rules",Kn=".codex/agents",Er=".agentsmesh/rules",km=".agentsmesh/commands",Bo=".agentsmesh/agents",di=".agentsmesh/skills",wm=".agentsmesh/mcp.json",ly="am-codex-rule:v1",Om="# am-json: ",cy="# am-body-b64-begin",my="# am-body-b64-end",Em="# am64:",bm="<!-- agentsmesh:codex-rule-index:start -->",xm="<!-- agentsmesh:codex-rule-index:end -->";});function Pm(t){return basename(t,".md")}function fi(t){return `${Bn}/${Pm(t.source)}.md`}function uy(t){let e={root:t.root,description:t.description||void 0,globs:t.globs.length>0?t.globs:void 0,targets:t.targets.length>0?t.targets:void 0,codex_emit:t.codexEmit||void 0,codex_instruction:t.codexInstructionVariant&&t.codexInstructionVariant!=="default"?t.codexInstructionVariant:void 0};return Object.keys(e).forEach(r=>{e[r]===void 0&&delete e[r];}),N(e,t.body.trim()||"")}function Hx(t){let e=[];return t.root?e.push("Applies to the whole project."):t.globs.length>0?e.push(`Applies to ${t.globs.map(r=>`\`${r}\``).join(", ")}.`):e.push("General guidance with no file glob restriction."),t.codexInstructionVariant==="override"&&e.push("Override guidance when this rule conflicts with broader instructions."),t.codexEmit==="execution"&&e.push(`Enforced in \`${qe}/${Pm(t.source)}.rules\`.`),t.targets.length>0&&e.push(`Targeted to ${t.targets.map(r=>`\`${r}\``).join(", ")}.`),e.join(" ")}function py(t,e){let r=t.trim(),n=e.filter(a=>!a.root);if(n.length===0)return r;let o=n.map(a=>`- [${a.description||Pm(a.source)}](${fi(a)}): ${Hx(a)}`),s=[bm,"## Additional Rule Files",...o,xm].join(`
88
63
  `);return r?`${r}
89
64
 
90
- ${s}`:s}function DS(t){let e=yu.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=Iu.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t.replace(new RegExp(`\\n?${e}[\\s\\S]*?${r}\\n?`,"g"),`
91
- `).trim()}var pl=g(()=>{F();wt();i(Su,"ruleSlug");i(Ci,"codexInstructionMirrorPath");i(LS,"serializeCodexInstructionMirror");i(Vb,"summarizeRule");i(NS,"appendCodexRuleIndex");i(DS,"stripCodexRuleIndex");});function Yb(t){return /(^|\n)\s*[A-Za-z_][A-Za-z0-9_]*\s*\(/.test(t)}function Xb(t){return t.split(`
65
+ ${s}`:s}function dy(t){let e=bm.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=xm.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t.replace(new RegExp(`\\n?${e}[\\s\\S]*?${r}\\n?`,"g"),`
66
+ `).trim()}var Na=f(()=>{F();wt();i(Pm,"ruleSlug");i(fi,"codexInstructionMirrorPath");i(uy,"serializeCodexInstructionMirror");i(Hx,"summarizeRule");i(py,"appendCodexRuleIndex");i(dy,"stripCodexRuleIndex");});function Vx(t){return /(^|\n)\s*[A-Za-z_][A-Za-z0-9_]*\s*\(/.test(t)}function Jx(t){return t.split(`
92
67
  `).map(e=>e.length>0?`# ${e}`:"#").join(`
93
- `)}function Zb(t){let e=t.trim();return e?Yb(e)?`${e}
94
- `:`${["# agentsmesh: canonical execution rule body is not Codex DSL","# The original body is preserved below as comments.","# Replace with Codex rules DSL (for example prefix_rule(...)) to enforce behavior.","#",...Xb(e).split(`
68
+ `)}function Yx(t){let e=t.trim();return e?Vx(e)?`${e}
69
+ `:`${["# agentsmesh: canonical execution rule body is not Codex DSL","# The original body is preserved below as comments.","# Replace with Codex rules DSL (for example prefix_rule(...)) to enforce behavior.","#",...Jx(e).split(`
95
70
  `),"#","# Example template:","# prefix_rule(",'# pattern = ["git", "status"],','# decision = "allow",','# justification = "Allow safe status checks",',"# )"].join(`
96
71
  `)}
97
- `:""}function _u(t){let e=t.rules.find(n=>n.root),r=[];e&&r.push({path:jr,content:NS(e.body,t.rules)});for(let n of t.rules){if(n.root)continue;let o=basename(n.source,".md");n.targets.length>0&&!n.targets.includes("codex-cli")||(n.codexEmit==="execution"&&r.push({path:`${ur}/${o}.rules`,content:Zb(n.body)}),r.push({path:Ci(n),content:LS(n)}));}return r}function Cu(t){let e=t.rules.find(n=>n.root),r=t.rules.filter(n=>n.root||n.codexEmit==="execution"?false:n.targets.length===0||n.targets.includes("codex-cli"));return Ee(e?.body.trim()??"",r)}var FS=g(()=>{pn();wt();pl();i(Yb,"looksLikeCodexRulesDsl");i(Xb,"toCodexRulesComments");i(Zb,"toSafeCodexRulesContent");i(_u,"generateRules");i(Cu,"renderCodexGlobalInstructions");});function Ru(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=D(n,r.body.trim()||"");e.push({path:`${Te}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${Te}/${r.name}/${a}`,content:s.content});}}return e}function qb(t){return {path:`${Te}/${Lo(t.name)}/SKILL.md`,content:Wf(t)}}function ku(t){return t.commands.map(qb)}var vS=g(()=>{F();wt();Ks();i(Ru,"generateSkills");i(qb,"commandToSkillOutput");i(ku,"generateCommands");});function wu(t){return t.agents.map(e=>({path:`${co}/${e.name}.toml`,content:Qb(e)}))}function Qb(t){let e=[];e.push(`name = ${JSON.stringify(t.name)}`),t.description&&e.push(`description = ${JSON.stringify(t.description)}`),t.model&&e.push(`model = ${JSON.stringify(t.model)}`),t.permissionMode==="read-only"||t.permissionMode==="deny"?e.push('sandbox_mode = "read-only"'):t.permissionMode==="allow"&&e.push('sandbox_mode = "workspace-write"');let r=t.body.trim()||"";if(r.includes("'''")){let n=r.replace(/\\/g,"\\\\").replace(/"/g,'\\"');e.push(`developer_instructions = """
72
+ `:""}function Am(t){let e=t.rules.find(n=>n.root),r=[];e&&r.push({path:Or,content:py(e.body,t.rules)});for(let n of t.rules){if(n.root)continue;let o=basename(n.source,".md");n.targets.length>0&&!n.targets.includes("codex-cli")||(n.codexEmit==="execution"&&r.push({path:`${qe}/${o}.rules`,content:Yx(n.body)}),r.push({path:fi(n),content:uy(n)}));}return r}function Tm(t){let e=t.rules.find(n=>n.root),r=t.rules.filter(n=>n.root||n.codexEmit==="execution"?false:n.targets.length===0||n.targets.includes("codex-cli"));return de(e?.body.trim()??"",r)}var fy=f(()=>{Gr();wt();Na();i(Vx,"looksLikeCodexRulesDsl");i(Jx,"toCodexRulesComments");i(Yx,"toSafeCodexRulesContent");i(Am,"generateRules");i(Tm,"renderCodexGlobalInstructions");});function Lm(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=N(n,r.body.trim()||"");e.push({path:`${Ee}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${Ee}/${r.name}/${a}`,content:s.content});}}return e}function Xx(t){return {path:`${Ee}/${Eo(t.name)}/SKILL.md`,content:gg(t)}}function Nm(t){return t.commands.map(Xx)}var gy=f(()=>{F();wt();vs();i(Lm,"generateSkills");i(Xx,"commandToSkillOutput");i(Nm,"generateCommands");});function Dm(t){return t.agents.map(e=>({path:`${Kn}/${e.name}.toml`,content:Zx(e)}))}function Zx(t){let e=[];e.push(`name = ${JSON.stringify(t.name)}`),t.description&&e.push(`description = ${JSON.stringify(t.description)}`),t.model&&e.push(`model = ${JSON.stringify(t.model)}`),t.permissionMode==="read-only"||t.permissionMode==="deny"?e.push('sandbox_mode = "read-only"'):t.permissionMode==="allow"&&e.push('sandbox_mode = "workspace-write"');let r=t.body.trim()||"";if(r.includes("'''")){let n=r.replace(/\\/g,"\\\\").replace(/"/g,'\\"');e.push(`developer_instructions = """
98
73
  ${n}
99
74
  """`);}else e.push(`developer_instructions = '''
100
75
  ${r}
101
76
  '''`);return e.join(`
102
77
  `)+`
103
- `}var $S=g(()=>{wt();i(wu,"generateAgents");i(Qb,"serializeAgentToCodexToml");});function Ou(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=Object.fromEntries(Object.entries(t.mcp.mcpServers).flatMap(([n,o])=>Xa(o)?[[n,o]]:[]));if(Object.keys(e).length===0)return [];let r=tA(e);return [{path:ul,content:r}]}function tA(t){let e=[];for(let[r,n]of Object.entries(t)){let o=MS(r)?`"${r}"`:r,s=[];s.push(`[mcp_servers.${o}]`),s.push(`command = ${JSON.stringify(n.command)}`);let a="["+n.args.map(c=>JSON.stringify(c)).join(", ")+"]";s.push(`args = ${a}`);let l=Object.entries(n.env);if(l.length>0){let c=l.map(([m,u])=>`${MS(m)?JSON.stringify(m):m} = ${JSON.stringify(u)}`).join(", ");s.push(`env = { ${c} }`);}e.push(s.join(`
78
+ `}var hy=f(()=>{wt();i(Dm,"generateAgents");i(Zx,"serializeAgentToCodexToml");});function Da(t){return "command"in t}function yy(t){return "url"in t}var Fa=f(()=>{i(Da,"isStdioMcpServer");i(yy,"isUrlMcpServer");});function Fm(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=Object.fromEntries(Object.entries(t.mcp.mcpServers).flatMap(([n,o])=>Da(o)?[[n,o]]:[]));if(Object.keys(e).length===0)return [];let r=qx(e);return [{path:La,content:r}]}function qx(t){let e=[];for(let[r,n]of Object.entries(t)){let o=Iy(r)?`"${r}"`:r,s=[];s.push(`[mcp_servers.${o}]`),s.push(`command = ${JSON.stringify(n.command)}`);let a="["+n.args.map(c=>JSON.stringify(c)).join(", ")+"]";s.push(`args = ${a}`);let l=Object.entries(n.env);if(l.length>0){let c=l.map(([m,u])=>`${Iy(m)?JSON.stringify(m):m} = ${JSON.stringify(u)}`).join(", ");s.push(`env = { ${c} }`);}e.push(s.join(`
104
79
  `));}return e.join(`
105
80
 
106
81
  `)+`
107
- `}function MS(t){return !/^[A-Za-z0-9_-]+$/.test(t)}var GS=g(()=>{Za();wt();i(Ou,"generateMcp");i(tA,"serializeMcpToToml");i(MS,"needsTomlQuoting");});var jS=g(()=>{FS();vS();$S();GS();});var US=g(()=>{jS();});function rA(t){if(!t||typeof t!="object"||Array.isArray(t))return null;let e=t,r=typeof e.command=="string"?e.command:"";if(!r)return null;let n=Array.isArray(e.args)?e.args.filter(a=>typeof a=="string"):[],o=e.env,s=o!==null&&typeof o=="object"&&!Array.isArray(o)?Object.fromEntries(Object.entries(o).filter(a=>typeof a[1]=="string")):{};return {type:"stdio",command:r,args:n,env:s}}async function WS(t,e){let r=join(t,ul),n=await y(r);if(n===null)return;let o;try{o=parse$1(n);}catch{return}let s=o.mcp_servers;if(!s||typeof s!="object"||Array.isArray(s)||Object.keys(s).length===0)return;let a={};for(let[l,c]of Object.entries(s)){let m=rA(c);m&&(a[l]=m);}Object.keys(a).length!==0&&(await k(join(t,".agentsmesh")),await S(join(t,fu),JSON.stringify({mcpServers:a},null,2)),e.push({fromTool:_t,fromPath:r,toPath:fu,feature:"mcp"}));}var BS=g(()=>{E();wt();i(rA,"mapTomlServerToCanonical");i(WS,"importMcp");});function dl(t){let e=t.split("/").filter(Boolean);return e.length===0||e.some(n=>n.startsWith("."))?false:!e.join("/").startsWith("tests/e2e/fixtures/")}async function Wr(t){await rm$1(t,{recursive:true,force:true});}var Ri=g(()=>{i(dl,"shouldImportScopedAgentsRule");i(Wr,"removePathIfExists");});async function KS(t,e,r){let n={projectRoot:t,sourceSkillsDir:Te,destCanonicalSkillsDir:_i,targetName:_t,normalize:r,results:e};for(let o of [Te,xS]){let s=join(t,o),a=await readdir(s,{encoding:"utf8",withFileTypes:true}).catch(()=>null);if(a===null)continue;let l=false;for(let c of a){if(!c.isDirectory()&&!c.isSymbolicLink())continue;let m=join(s,c.name),u=join(m,"SKILL.md"),p=await y(u);if(!p)continue;l=true;let d=c.name,f=join(t,_i,d,"SKILL.md"),h=r(p,u,f),{frontmatter:C,body:R}=w(h),I=Bf(C,c.name);if(I){await Wr(join(t,_i,d));let x=join(t,du);await k(x);let P=join(x,`${I.name}.md`);await S(P,Kf(I,r(R,u,P))),e.push({fromTool:_t,fromPath:u,toPath:`${du}/${I.name}.md`,feature:"commands"});continue}let O=qr(C,c.name);if(O){await Wr(join(t,_i,d));let x=join(t,cs);await k(x);let P=join(x,`${O.name}.md`);await S(P,Ge(O,r(R,u,P))),e.push({fromTool:_t,fromPath:u,toPath:`${cs}/${O.name}.md`,feature:"agents"});continue}await rr(d,m,n);}if(l)return}}var HS=g(()=>{E();F();Ks();ee();Ri();qo();wt();i(KS,"importSkills");});async function zS(t,e,r){let n=join(t,co),o=join(t,cs);try{let a=(await b(n)).filter(l=>l.endsWith(".toml"));for(let l of a){let c=await y(l);if(!c)continue;let m=parse$1(c);if(!m||typeof m!="object")continue;let u=typeof m.name=="string"?m.name:basename(l,".toml"),p=typeof m.description=="string"?m.description:"",d=typeof m.developer_instructions=="string"?m.developer_instructions.trim():"",f=typeof m.model=="string"?m.model:"",h=typeof m.sandbox_mode=="string"?m.sandbox_mode:"",C=h==="read-only"?"read-only":h==="workspace-write"?"allow":"",R=Array.isArray(m.mcp_servers)?m.mcp_servers.filter(A=>typeof A=="string"):[];await k(o);let I=join(o,`${u}.md`),O=r(d,l,I),P=Ge({name:u,description:p,tools:[],disallowedTools:[],model:f,permissionMode:C,maxTurns:0,mcpServers:R,hooks:{},skills:[],memory:""},O);await S(I,P),e.push({fromTool:_t,fromPath:l,toPath:`${cs}/${u}.md`,feature:"agents"});}}catch{}}var VS=g(()=>{E();ee();wt();i(zS,"importCodexAgentsFromToml");});function JS(t){if(!t.includes(bS))return null;let e=t.split(`
108
- `).find(c=>c.startsWith(gu));if(!e)return null;let r;try{r=JSON.parse(e.slice(gu.length));}catch{return null}if(!r||typeof r!="object")return null;let n=r,o=typeof n.description=="string"?n.description:"",s=Array.isArray(n.globs)?n.globs.filter(c=>typeof c=="string"):[],a=[],l=false;for(let c of t.split(`
109
- `)){let m=c.trimEnd();if(m===AS){l=true;continue}if(m===TS){l=false;continue}l&&m.startsWith(hu)&&a.push(m.slice(hu.length));}if(a.length===0)return null;try{let c=Buffer.from(a.join(""),"base64").toString("utf8");return {meta:{description:o,globs:s},body:c}}catch{return null}}var YS=g(()=>{wt();i(JS,"tryParseEmbeddedCanonicalFromCodexRules");});async function ZS(t,e,r){let n=[],o=join(t,ur);try{let s=await b(o),a=s.filter(c=>c.endsWith(".md"));for(let c of a){let m=await y(c);if(!m)continue;let u=relative(o,c).replace(/\\/g,"/"),p=join(e,u),{frontmatter:d,body:f}=w(r(m,c,p));await k(e);let h=d.root===!0?d:{...d,root:!1},C=await $(p,h,f);await S(p,C),n.push({fromTool:_t,fromPath:c,toPath:`${Ur}/${u}`,feature:"rules"});}let l=s.filter(c=>c.endsWith(".rules"));for(let c of l){let m=await y(c);if(!m)continue;let u=relative(o,c).replace(/\\/g,"/").replace(/\.rules$/i,".md"),p=join(e,u);await k(e);let d=JS(m);if(d){let f=await $(p,{description:d.meta.description,globs:d.meta.globs,root:!1},r(d.body,c,p));await S(p,f);}else {let f=await $(p,{root:!1,description:"",globs:[],codex_emit:"execution"},r(m.trim(),c,p));await S(p,f);}n.push({fromTool:_t,fromPath:c,toPath:`${Ur}/${u}`,feature:"rules"});}}catch{}return n}var qS=g(()=>{E();F();V();wt();YS();i(ZS,"importCodexNonRootRuleFiles");});async function t_(t,e,r,n,o){let s=join(t,ES),a=join(t,jr),l=join(t,PS),c=join(t,ao),m=o==="global"?await y(l):null,u=o==="global"?await y(c):null,p=o==="project"?await y(a):null,d=o==="project"?await y(s):null,f=m!==null?l:u!==null?c:p!==null?a:s,h=join(t,Ur),C=m??u??p??d;if(C!==null){await k(h);let R=join(h,"_root.md"),I=f===a||f===c||f===l?DS(C):C,O=await er({content:I,projectRoot:t,rulesDir:Ur,sourcePath:f,fromTool:"codex-cli",normalize:r});e.push(...O.results);let x=r(f===a||f===c||f===l?n(O.rootContent,f,R):O.rootContent,f,R),{frontmatter:P,body:A}=w(x),K=P.root===true?P:{...P,root:true},M=await $(R,K,A);await S(R,M),e.push({fromTool:"codex-cli",fromPath:f,toPath:`${Ur}/_root.md`,feature:"rules"});}await mA(t,h,e,r),e.push(...await ZS(t,h,r)),o!=="global"&&e.push(...await U({srcDir:t,destDir:h,extensions:["AGENTS.md","AGENTS.override.md"],fromTool:"codex-cli",normalize:r,mapEntry:i(async({srcPath:R,normalizeTo:I})=>{let O=relative(t,dirname(R)).replace(/\\/g,"/"),x=basename(R),P=x==="AGENTS.override.md";if(!O||O==="."||!P&&x!=="AGENTS.md")return null;let A=O.replace(/\//g,"-");if(!dl(O))return await Wr(join(h,`${A}.md`)),null;let K=join(h,`${A}.md`),{frontmatter:M,body:B}=w(I(K));return {destPath:K,toPath:`${Ur}/${A}.md`,feature:"rules",content:await $(K,{...M,root:false,globs:[`${O}/**`],...P?{codex_instruction:"override"}:{}},B)}},"mapEntry")}));}async function mA(t,e,r,n){try{let s=(await b(join(t,lo))).filter(l=>l.endsWith(".md")),a=join(t,lo);for(let l of s){let c=relative(a,l).replace(/\\/g,"/");if(c==="_root.md")continue;let m=await y(l);if(!m)continue;let u=join(e,c),{frontmatter:p,body:d}=w(n(m,l,u));await k(e);let f=p.root===!0?p:{...p,root:!1},h=await $(u,f,d);await S(u,h),r.push({fromTool:_t,fromPath:l,toPath:`${Ur}/${c}`,feature:"rules"});}}catch{}}var e_=g(()=>{E();F();V();Xo();pt();Ri();wt();qS();pl();i(t_,"importCodexRules");i(mA,"importInstructionMirrors");});async function fl(t,e){let r=e?.scope??"project",n=[],o=await J(_t,t,r),s=await J("windsurf",t,r);return await t_(t,n,o,s,r),await KS(t,n,o),await zS(t,n,o),await WS(t,n),n}var bu=g(()=>{Ft();wt();BS();HS();VS();e_();i(fl,"importFromCodex");});function r_(t,e,r){let{rules:n}=t;return n.length===0?[]:n.some(s=>s.root)?[]:[{level:"warning",file:relative(e,n[0].source),target:_t,message:"Codex needs a root rule to generate AGENTS.md. Add root: true to a rule."}]}var n_=g(()=>{wt();i(r_,"lintRules");});function o_(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.mcp.mcpServers))if(typeof n.description=="string"&&n.description&&e.push(tt(".agentsmesh/mcp.json","codex-cli",`MCP server "${r}" has a description, but codex-cli does not project MCP descriptions into .codex/config.toml.`)),"url"in n||"type"in n){let o="type"in n?n.type:"url";e.push(tt(".agentsmesh/mcp.json","codex-cli",`MCP server "${r}" uses ${o} transport; codex-cli only generates stdio MCP servers.`));}return e}var s_=g(()=>{nr();i(o_,"lintMcp");});function i_(t){return Ci(t)}var a_=g(()=>{pl();i(i_,"codexAdvisoryInstructionPath");});var pA,dA,fA,gA,c_,m_=g(()=>{US();wt();bu();n_();s_();Ht();xo();a_();Ks();pA={name:"codex-cli",primaryRootInstructionPath:jr,generateRules:_u,generateCommands:ku,generateAgents:wu,generateSkills:Ru,generateMcp:Ou,importFrom:fl},dA={rootInstructionPath:jr,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${ur}/${e}.rules`]},skillDir:".agents/skills",managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/instructions"],files:["AGENTS.md",".codex/config.toml"]},paths:{rulePath(t,e){return i_(e)},commandPath(t,e){return Po(e,"codex-cli")?`${Te}/${Lo(t)}/SKILL.md`:null},agentPath(t,e){return `${co}/${t}.toml`}}},fA={rootInstructionPath:ao,renderPrimaryRootInstruction:Cu,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${ur}/${e}.rules`]},skillDir:Te,managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/rules"],files:[ao,".codex/config.toml"]},rewriteGeneratedPath(t){return t===jr?ao:t.startsWith(`${lo}/`)?null:t},paths:{rulePath(t,e){return e.codexEmit==="execution"?`${ur}/${t}.rules`:ao},commandPath(t,e){return Po(e,"codex-cli")?`${Te}/${Lo(t)}/SKILL.md`:null},agentPath(t,e){return `${co}/${t}.toml`}}},gA={rules:"native",additionalRules:"embedded",commands:"embedded",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},c_={id:"codex-cli",generators:pA,capabilities:{rules:"native",additionalRules:"native",commands:"embedded",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},emptyImportMessage:"No Codex config found (codex.md or AGENTS.md).",supportsConversion:{commands:true},lintRules:r_,lint:{mcp:o_},project:dA,globalSupport:{capabilities:gA,detectionPaths:[".codex/AGENTS.md",".codex/AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules",".agents/skills"],layout:fA},buildImportPaths:Lc,sharedArtifacts:{".agents/skills/":"owner"},detectionPaths:["codex.md","AGENTS.md","AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules"]};});var dr,Au,In,u_,ms,fr,us,ps,p_,Sn,Ne,ds,Tu,Lu,Nu,Du,Fu,vu,fs,gs,ki,gl,hl,yl,d_,xt=g(()=>{dr="windsurf",Au=".windsurfrules",In=".windsurf/rules",u_=".windsurfignore",ms=".codeiumignore",fr="AGENTS.md",us=".windsurf/hooks.json",ps=".windsurf/mcp_config.example.json",p_=".windsurf/mcp_config.json",Sn=".windsurf/workflows",Ne=".windsurf/skills",ds=".agentsmesh/rules",Tu=".agentsmesh/commands",Lu=".agentsmesh/agents",Nu=".agentsmesh/skills",Du=".agentsmesh/ignore",Fu=".agentsmesh/hooks.yaml",vu=".agentsmesh/mcp.json",fs=".codeium/windsurf/memories/global_rules.md",gs=".codeium/windsurf/skills",ki=".codeium/windsurf/global_workflows",gl=".codeium/windsurf/hooks.json",hl=".codeium/windsurf/mcp_config.json",yl=".codeium/.codeiumignore",d_=".agents/skills";});function yA(t){let e=basename(t,".md");return e==="_root"?"root":e}function IA(t){if(t.length===0)return null;let e=t.map(r=>r.split("/")[0]??"").filter(r=>/^[A-Za-z0-9._-]+$/.test(r));return e.length!==t.length?null:e.every(r=>r===e[0])?e[0]:null}function $u(t){let e=[],r=t.rules.find(n=>n.root);if(!r)return [];e.push({path:fr,content:r.body.trim()});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("windsurf"))continue;let o=yA(n.source),s=n.trigger||(n.globs.length>0?"glob":void 0),a={description:n.description||void 0,trigger:s,glob:n.globs.length===1?n.globs[0]:void 0,globs:n.globs.length>1?n.globs:void 0};Object.keys(a).forEach(m=>{a[m]===void 0&&delete a[m];});let l=Object.keys(a).length>0?D(a,n.body.trim()||""):n.body.trim()||"";e.push({path:`${In}/${o}.md`,content:l});let c=IA(n.globs);c&&(c!==o&&e.push({path:`${In}/${c}.md`,content:l}),e.push({path:`${c}/AGENTS.md`,content:n.body.trim()||""}));}return e}var f_=g(()=>{F();xt();i(yA,"ruleSlug");i(IA,"directoryScopedRuleDir");i($u,"generateRules");});function Mu(t){return !t.ignore||t.ignore.length===0?[]:[{path:ms,content:t.ignore.join(`
110
- `)}]}var g_=g(()=>{xt();i(Mu,"generateIgnore");});function Gu(t){return t.commands.map(e=>{let r={description:e.description.trim()||void 0,allowedTools:e.allowedTools.length>0?e.allowedTools:void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=Object.keys(r).length>0?D(r,e.body.trim()||""):e.body.trim();return {path:`${Sn}/${e.name}.md`,content:n}})}var h_=g(()=>{F();xt();i(Gu,"generateCommands");});function ju(t){return t.agents.map(e=>({path:`${Ne}/${Lt(e.name)}/SKILL.md`,content:da(e)}))}var y_=g(()=>{ee();xt();i(ju,"generateAgents");});function Uu(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:ps,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}var I_=g(()=>{xt();i(Uu,"generateMcp");});function SA(t){let e={PreToolUse:"pre_tool_use",PostToolUse:"post_tool_use",Notification:"notification",UserPromptSubmit:"user_prompt_submit",SubagentStart:"subagent_start",SubagentStop:"subagent_stop"};return e[t]?e[t]:t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()}function _A(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!$e(s))continue;let a=mt(s),l=Ot(s),c=s.type==="prompt"?l||a:a||l;c&&o.push({command:c,show_output:true});}o.length>0&&(e[SA(r)]=o);}return e}function Wu(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=_A(t.hooks);return Object.keys(e).length===0?[]:[{path:us,content:JSON.stringify({hooks:e},null,2)}]}var S_=g(()=>{fe();xt();i(SA,"windsurfEventName");i(_A,"toWindsurfHooks");i(Wu,"generateHooks");});function Bu(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=Object.keys(n).length>0?D(n,r.body.trim()||""):r.body.trim()||"";e.push({path:`${Ne}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles)e.push({path:`${Ne}/${r.name}/${s.relativePath}`,content:s.content});}return e}var __=g(()=>{F();xt();i(Bu,"generateSkills");});var C_=g(()=>{f_();g_();h_();y_();I_();S_();__();});var R_=g(()=>{C_();});function k_(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}async function w_(t,e,r){let n=join(t,Sn),s=(await b(n)).filter(l=>l.endsWith(".md")),a=join(t,Tu);for(let l of s){let c=await y(l);if(!c)continue;let m=relative(n,l).replace(/\\/g,"/");await k(a);let u=join(a,m),p=r(c,l,u),{frontmatter:d,body:f}=w(p),h=await st(u,{description:typeof d.description=="string"?d.description:"",hasDescription:Object.prototype.hasOwnProperty.call(d,"description"),allowedTools:(()=>{let C=k_(d.allowedTools);return C.length>0?C:k_(d["allowed-tools"])})(),hasAllowedTools:Object.prototype.hasOwnProperty.call(d,"allowedTools")||Object.prototype.hasOwnProperty.call(d,"allowed-tools")},f);await S(u,h),e.push({fromTool:dr,fromPath:l,toPath:`${Tu}/${m}`,feature:"commands"});}}var O_=g(()=>{E();F();V();xt();i(k_,"toStringArray");i(w_,"importWorkflows");});async function E_(t,e,r,n=Ne){let o=join(t,n),s=await dn(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:Nu,targetName:"windsurf",normalize:r,results:e};for(let[l,c]of s){let m=join(c,"SKILL.md"),u=await y(m);if(!u)continue;let p=w(u),d=qr(p.frontmatter,l);if(d){await Wr(join(t,Nu,l));let f=join(t,Lu);await k(f);let h=join(f,`${d.name}.md`);await S(h,Ge(d,r(p.body,m,h))),e.push({fromTool:"windsurf",fromPath:m,toPath:`${Lu}/${d.name}.md`,feature:"agents"});continue}await rr(l,c,a);}}var P_=g(()=>{E();F();ee();Ri();qo();xt();i(E_,"importSkills");});async function b_(t,e){let r=join(t,us),n=await y(r);if(n)try{let o=JSON.parse(n);if(!o.hooks||typeof o.hooks!="object"||Array.isArray(o.hooks))return;let s=wA(o.hooks);if(Object.keys(s).length===0)return;let a=join(t,Fu);await k(dirname(a)),await S(a,stringify(s)),e.push({fromTool:dr,fromPath:r,toPath:Fu,feature:"hooks"});}catch{}}function kA(t){return {pre_tool_use:"PreToolUse",post_tool_use:"PostToolUse",notification:"Notification",user_prompt_submit:"UserPromptSubmit",subagent_start:"SubagentStart",subagent_stop:"SubagentStop"}[t]??t}function wA(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=kA(r),s=[];for(let a of n){if(!a||typeof a!="object")continue;let l=a;if(typeof l.command=="string"&&l.command.trim()){s.push({matcher:".*",type:"command",command:l.command});continue}let c=typeof l.matcher=="string"&&l.matcher.trim()?l.matcher:".*",m=Array.isArray(l.hooks)?l.hooks:[];for(let u of m){if(!u||typeof u!="object")continue;let p=u,d=typeof p.command=="string"?p.command:typeof p.prompt=="string"?p.prompt:"";if(!d.trim())continue;let f={matcher:c,type:p.type==="prompt"?"prompt":"command",command:d};typeof p.timeout=="number"&&(f.timeout=p.timeout),s.push(f);}}s.length>0&&(e[o]=s);}return e}async function A_(t,e){let r=[ps,p_];for(let n of r){let o=join(t,n),s=await y(o);if(s)try{let a=JSON.parse(s);if(!a.mcpServers||typeof a.mcpServers!="object")continue;let l=join(t,vu);await k(dirname(l)),await S(l,JSON.stringify({mcpServers:a.mcpServers},null,2)),e.push({fromTool:dr,fromPath:o,toPath:vu,feature:"mcp"});return}catch{}}}var T_=g(()=>{E();xt();i(b_,"importWindsurfHooks");i(kA,"canonicalHookEventName");i(wA,"windsurfHooksToCanonical");i(A_,"importWindsurfMcp");});async function Sl(t,e){let r=e?.scope??"project",n=[],o=await J(dr,t),s=await J("codex-cli",t),a=join(t,ds),l=join(t,Au),c=await y(l);if(c!==null){await k(a);let d=join(a,"_root.md"),f=o(c,l,d).trim(),h=await $(d,{root:true},f);await S(d,h),n.push({fromTool:"windsurf",fromPath:l,toPath:`${ds}/_root.md`,feature:"rules"});}if(c===null){let d=join(t,fr),f=await y(d);if(f!==null){await k(a);let h=join(a,"_root.md"),C=o(s(f,d,h),d,h).trim(),R=await $(h,{root:true},C);await S(h,R),n.push({fromTool:"windsurf",fromPath:d,toPath:`${ds}/_root.md`,feature:"rules"});}}r!=="global"&&n.push(...await U({srcDir:t,destDir:a,extensions:["AGENTS.md"],fromTool:"windsurf",normalize:o,mapEntry:i(async({srcPath:d,normalizeTo:f})=>{let h=relative(t,dirname(d)).replace(/\\/g,"/");if(!h||h==="."||basename(d)!=="AGENTS.md")return null;let C=h.replace(/\//g,"-");if(!dl(h))return await Wr(join(a,`${C}.md`)),null;let R=join(a,`${C}.md`);return {destPath:R,toPath:`${ds}/${C}.md`,feature:"rules",content:await $(R,{root:false,globs:[`${h}/**`]},f(R))}},"mapEntry")}));let m=join(t,In);n.push(...await U({srcDir:m,destDir:a,extensions:[".md"],fromTool:"windsurf",normalize:o,mapEntry:i(async({relativePath:d,normalizeTo:f})=>{if(d==="_root.md"&&c!==null)return null;let h=join(a,d),{frontmatter:C,body:R}=w(f(h)),I={...C};return typeof I.glob=="string"&&I.glob.trim()&&(I.globs=[I.glob],delete I.glob),{destPath:h,toPath:`${ds}/${d}`,feature:"rules",content:await $(h,{...I,root:false},R)}},"mapEntry")}));let u=join(t,u_),p=await y(u);if((p===null||!p.trim())&&(u=join(t,ms),p=await y(u)),p!==null&&p.trim()){let d=p.split(/\r?\n/),f=[];for(let h of d){let C=h.trim();C&&!C.startsWith("#")&&f.push(C);}if(f.length>0){await k(join(t,".agentsmesh"));let h=join(t,Du);await S(h,f.join(`
111
- `)),n.push({fromTool:"windsurf",fromPath:u,toPath:Du,feature:"ignore"});}}return await w_(t,n,o),await E_(t,n,o),await b_(t,n),await A_(t,n),n}var Hu=g(()=>{Ft();E();F();V();pt();Ri();xt();O_();P_();T_();i(Sl,"importFromWindsurf");});function L_(t,e,r){let n=[],{rules:o}=t;o.length>0&&(o.some(l=>l.root)||n.push({level:"warning",file:relative(e,o[0].source),target:dr,message:"Windsurf needs a root rule to generate AGENTS.md. Add root: true to a rule."}));let s=[];return t.permissions&&(t.permissions.allow.length>0||t.permissions.deny.length>0)&&s.push("permissions"),s.length>0&&n.push({level:"warning",file:".agentsmesh",target:dr,message:`Windsurf cannot project these features yet: ${s.join(", ")}.`}),n}var N_=g(()=>{xt();i(L_,"lintRules");});function D_(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>tt(e.source,"windsurf","windsurf workflow files are plain Markdown; command description and allowed-tools metadata are not projected."))}function F_(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[tt(".agentsmesh/mcp.json","windsurf","Windsurf MCP is partial; generated .windsurf/mcp_config.example.json is a reference artifact and may require manual setup.")]}var v_=g(()=>{nr();i(D_,"lintCommands");i(F_,"lintMcp");});function bA(t){if(t.length===0)return null;let e=t.map(r=>r.split("/")[0]??"").filter(r=>/^[A-Za-z0-9._-]+$/.test(r));return e.length!==t.length?null:e.every(r=>r===e[0])?e[0]:null}var AA,TA,LA,NA,$_,M_=g(()=>{R_();bo();xt();Zr();Hu();N_();v_();Ht();xo();ee();i(bA,"directoryScopedRuleDir");AA={name:"windsurf",primaryRootInstructionPath:fr,generateRules:$u,generateCommands:Gu,generateAgents:ju,generateSkills:Bu,generateMcp:Uu,generateHooks:Wu,generateIgnore:Mu,importFrom:Sl},TA={rootInstructionPath:fr,extraRuleOutputPaths(t){if(t.root)return [fr];let e=bA(t.globs);return e!==null?[`${e}/AGENTS.md`]:[]},skillDir:Ne,managedOutputs:{dirs:[".windsurf/rules",".windsurf/skills",".windsurf/workflows"],files:["AGENTS.md",".codeiumignore",".windsurf/hooks.json",".windsurf/mcp_config.example.json"]},paths:{rulePath(t,e){return `${In}/${t}.md`},commandPath(t,e){return `${Sn}/${t}.md`},agentPath(t,e){return te(e,"windsurf")?`.windsurf/skills/${Lt(t)}/SKILL.md`:null}}},LA={rootInstructionPath:fs,skillDir:gs,managedOutputs:{dirs:[gs,ki,d_],files:[fs,gl,hl,yl]},rewriteGeneratedPath(t){return t===fr?fs:t.startsWith(`${In}/`)||/\/AGENTS\.md$/.test(t)?null:t.startsWith(`${Ne}/`)?t.replace(`${Ne}/`,`${gs}/`):t.startsWith(`${Sn}/`)?t.replace(`${Sn}/`,`${ki}/`):t===us?gl:t===ps?hl:t===ms?yl:t},mirrorGlobalPath(t,e){return Et(t,".codeium/windsurf/skills",e)},paths:{rulePath(t,e){return fs},commandPath(t,e){return `${ki}/${t}.md`},agentPath(t,e){return te(e,"windsurf")?`${gs}/${Lt(t)}/SKILL.md`:null}}},NA={rules:"native",additionalRules:"partial",commands:ge("native","workflows"),agents:"embedded",skills:"native",mcp:"partial",hooks:"native",ignore:"native",permissions:"none"},$_={id:"windsurf",generators:AA,capabilities:{rules:"native",additionalRules:"native",commands:ge("native","workflows"),agents:"embedded",skills:"native",mcp:"partial",hooks:"native",ignore:"native",permissions:"none"},emptyImportMessage:"No Windsurf config found (.windsurfrules, .windsurf/rules, .windsurfignore, or .codeiumignore).",supportsConversion:{agents:true},lintRules:L_,lint:{commands:D_,mcp:F_},project:TA,globalSupport:{capabilities:NA,detectionPaths:[fs,gs,ki,gl,hl,yl],layout:LA},buildImportPaths:am,detectionPaths:[".windsurfrules",".windsurf"]};});function G_(t){let e=t.rules.find(n=>n.root);if(!e)return [];let r=[{path:Ie,content:e.body.trim()||""}];for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("antigravity"))continue;let o=basename(n.source,".md");r.push({path:`${ye}/${o}.md`,content:n.body.trim()||""});}return r}function j_(t){return t.commands.map(e=>{let r=e.description.trim(),n=e.body.trim(),o=r&&n&&!n.startsWith(r)?`${r}
112
-
113
- ${n}`:n||r;return {path:`${Ue}/${e.name}.md`,content:o}})}function U_(t){return ar(t,Ln)}function W_(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Js,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function B_(t){let e=t.rules.find(n=>n.root),r=t.rules.filter(n=>n.root?false:n.targets.length===0||n.targets.includes("antigravity"));return Ee(e?.body.trim()??"",r)}var K_=g(()=>{Ae();pn();Fo();i(G_,"generateRules");i(j_,"generateCommands");i(U_,"generateSkills");i(W_,"generateMcp");i(B_,"renderAntigravityGlobalInstructions");});async function FA(t,e,r,n){let o=n==="global"?join(t,We):join(t,Ie),s=join(t,Vs),a=o,l=await y(o);if(n==="project"&&l===null&&(a=s,l=await y(s)),l===null)return;let c=join(t,Rc),m=await er({content:l,projectRoot:t,rulesDir:Ys,sourcePath:a,fromTool:je,normalize:r});e.push(...m.results);let{body:u}=w(r(m.rootContent,a,c)),p=await $(c,{root:true},u);await k(join(t,Ys)),await S(c,p),e.push({fromTool:je,fromPath:a,toPath:Rc,feature:"rules"});}async function vA(t,e,r){let n=join(t,ye),o=join(t,Ys);e.push(...await U({srcDir:n,destDir:o,extensions:[".md"],fromTool:je,normalize:r,mapEntry:i(async({relativePath:s,normalizeTo:a})=>{if(basename(s)==="general.md"||basename(s)==="_root.md")return null;let l=join(o,s),{frontmatter:c,body:m}=w(a(l)),u=await $(l,{root:false,description:typeof c.description=="string"?c.description:void 0,globs:Array.isArray(c.globs)?c.globs:void 0},m);return {destPath:l,toPath:`${Ys}/${s}`,feature:"rules",content:u}},"mapEntry")}));}async function $A(t,e,r,n){let s=join(t,n==="global"?Do:Ue),a=join(t,kc);e.push(...await U({srcDir:s,destDir:a,extensions:[".md"],fromTool:je,normalize:r,mapEntry:i(async({relativePath:l,normalizeTo:c})=>{let m=join(a,l),{frontmatter:u,body:p}=w(c(m)),d=await st(m,{hasDescription:typeof u.description=="string",description:typeof u.description=="string"?u.description:void 0,hasAllowedTools:false,allowedTools:[]},p);return {destPath:m,toPath:`${kc}/${l}`,feature:"commands",content:d}},"mapEntry")}));}async function MA(t,e){let r=join(t,Nn),n=await y(r);if(!n)return;let o;try{o=JSON.parse(n);}catch{return}if(!o||typeof o!="object"||!("mcpServers"in o))return;let s=join(t,wc);await k(join(t,".agentsmesh")),await S(s,n),e.push({fromTool:je,fromPath:r,toPath:wc,feature:"mcp"});}async function z_(t,e={}){let r=e.scope??"project",n=[],o=await J(je,t,r);return await FA(t,n,o,r),r==="project"?await vA(t,n,o):await MA(t,n),await $A(t,n,o,r),await lr(t,r==="global"?Rr:Ln,je,n,o),n}var V_=g(()=>{Ft();E();F();Ae();V();Xo();pt();Fo();i(FA,"importRootRule");i(vA,"importNonRootRules");i($A,"importWorkflows");i(MA,"importMcp");i(z_,"importFromAntigravity");});function J_(t,e,r,n){return ct(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:je}))}var Y_=g(()=>{he();Fo();i(J_,"lintRules");});var GA,jA,UA,WA,X_,Z_=g(()=>{bo();K_();Fo();V_();Y_();Ht();GA={name:"antigravity",primaryRootInstructionPath:Ie,generateRules:G_,generateCommands:j_,generateSkills:U_,generateMcp:W_,importFrom:z_},jA={rootInstructionPath:Ie,skillDir:".agents/skills",rewriteGeneratedPath(t){return t===Js?null:t},paths:{rulePath(t,e){return `${ye}/${t}.md`},commandPath(t,e){return `${Ue}/${t}.md`},agentPath(t,e){return null}}},UA={rootInstructionPath:We,renderPrimaryRootInstruction:B_,skillDir:Rr,managedOutputs:{dirs:[Rr,Do],files:[We,Nn]},rewriteGeneratedPath(t){return t===Ie?We:t.startsWith(`${ye}/`)?null:t.startsWith(".agents/skills/")?t.replace(".agents/skills",Rr):t.startsWith(`${Ue}/`)?t.replace(Ue,Do):t===Js?Nn:t},paths:{rulePath(t,e){return We},commandPath(t,e){return `${Do}/${t}.md`},agentPath(t,e){return null}}},WA={rules:"native",additionalRules:"embedded",commands:ge("partial","workflows"),agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},X_={id:"antigravity",generators:GA,capabilities:{rules:"native",additionalRules:"native",commands:ge("partial","workflows"),agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},emptyImportMessage:"No Antigravity config found (.agents/rules/, .agents/skills/, or .agents/workflows/).",lintRules:J_,project:jA,globalSupport:{capabilities:WA,detectionPaths:[".gemini/antigravity/GEMINI.md",".gemini/antigravity/skills",".gemini/antigravity/workflows",".gemini/antigravity/mcp_config.json"],layout:UA},buildImportPaths:Oc,detectionPaths:[".agents/rules/general.md",".agents/rules/",".agents/skills/",".agents/workflows/"]};});function Q_(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:ie,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(Nt))continue;let o=basename(n.source,".md");e.push({path:`${Ze}/${o}.md`,content:n.body.trim()||""});}return e}function tC(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${qe}/${e.name}.md`,content:D(r,e.body.trim()||"")}})}function eC(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Ho,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function rC(t){return t.ignore.length===0?[]:[{path:zo,content:t.ignore.join(`
114
- `)}]}function nC(t){return ar(t,Qe)}function oC(t){if(t.agents.length===0)return [];let e=t.agents.map(r=>{let o={slug:basename(r.source,".md"),name:r.name};return r.description&&(o.description=r.description),r.body.trim()&&(o.roleDefinition=r.body.trim()),o});return [{path:Vo,content:stringify({customModes:e})}]}var sC=g(()=>{Ae();F();qn();i(Q_,"generateRules");i(tC,"generateCommands");i(eC,"generateMcp");i(rC,"generateIgnore");i(nC,"generateSkills");i(oC,"generateAgents");});function KA(t){let r=JSON.parse(t).mcpServers;if(!r||typeof r!="object"||Array.isArray(r))return {};let n={};for(let[o,s]of Object.entries(r)){if(!s||typeof s!="object"||Array.isArray(s))continue;let a=s;if(typeof a.command=="string"){n[o]={type:typeof a.type=="string"?a.type:"stdio",command:a.command,args:Lr(a.args),env:Dt(a.env),description:typeof a.description=="string"?a.description:void 0};continue}typeof a.url=="string"&&(n[o]={type:typeof a.type=="string"?a.type:"http",url:a.url,headers:Dt(a.headers),env:Dt(a.env),description:typeof a.description=="string"?a.description:void 0});}return n}async function iC(t,e,r){let n=join(t,qe),o=join(t,nm);e.push(...await U({srcDir:n,destDir:o,extensions:[".md"],fromTool:Nt,normalize:r,mapEntry:i(async({relativePath:s,normalizeTo:a})=>{let l=join(o,s),{frontmatter:c,body:m}=w(a(l)),u=await st(l,{hasDescription:true,description:typeof c.description=="string"?c.description:void 0,hasAllowedTools:false,allowedTools:[]},m);return {destPath:l,toPath:`${nm}/${s}`,feature:"commands",content:u}},"mapEntry")}));}async function aC(t,e,r){let n=r==="global"?join(t,un):join(t,Ho),o=await y(n);if(o===null)return;let s=KA(o);Object.keys(s).length!==0&&(await S(join(t,om),JSON.stringify({mcpServers:s},null,2)),e.push({fromTool:Nt,fromPath:n,toPath:om,feature:"mcp"}));}async function lC(t,e){let r=join(t,zo),n=await y(r);n!==null&&(await S(join(t,sm),n.trimEnd()),e.push({fromTool:Nt,fromPath:r,toPath:sm,feature:"ignore"}));}var cC=g(()=>{E();F();V();pt();Pe();qn();i(KA,"readMcpServers");i(iC,"importRooCommands");i(aC,"importRooMcp");i(lC,"importRooIgnore");});async function zA(t,e,r,n){let o=join(t,rm),s=n==="global"?[br,ie,si]:[ie,si];for(let a of s){let l=join(t,a),c=await y(l);if(c===null)continue;let{frontmatter:m,body:u}=w(r(c,l,o)),p=await $(o,{root:true,description:typeof m.description=="string"?m.description:void 0,globs:Array.isArray(m.globs)?m.globs:void 0},u);await S(o,p),e.push({fromTool:Nt,fromPath:l,toPath:rm,feature:"rules"});return}}async function VA(t,e,r){let n=join(t,Ze),o=join(t,ai),s="00-root.md";e.push(...await U({srcDir:n,destDir:o,extensions:[".md"],fromTool:Nt,normalize:r,mapEntry:i(async({relativePath:a,normalizeTo:l})=>{if(a===s)return null;let c=join(o,a),{frontmatter:m,body:u}=w(l(c)),p=await $(c,{root:false,description:typeof m.description=="string"?m.description:void 0,globs:Array.isArray(m.globs)?m.globs:void 0},u);return {destPath:c,toPath:`${ai}/${a}`,feature:"rules",content:p}},"mapEntry")}));}async function JA(t,e,r){let n=join(t,Yn),o;try{o=await readdir(n,{withFileTypes:!0});}catch{return}let s=o.filter(a=>a.isDirectory()&&a.name.startsWith("rules-")).map(a=>a.name);for(let a of s){let l=join(n,a),c=join(t,ai);e.push(...await U({srcDir:l,destDir:c,extensions:[".md"],fromTool:Nt,normalize:r,mapEntry:i(async({relativePath:m,normalizeTo:u})=>{let p=join(c,m),{frontmatter:d,body:f}=w(u(p)),h=await $(p,{root:false,description:typeof d.description=="string"?d.description:void 0,globs:Array.isArray(d.globs)?d.globs:void 0},f);return {destPath:p,toPath:`${ai}/${m}`,feature:"rules",content:h}},"mapEntry")}));}}async function mC(t,e={}){let r=e.scope??"project",n=[],o=await J(Nt,t,r);return await zA(t,n,o,r),await VA(t,n,o),await JA(t,n,o),await iC(t,n,o),await lr(t,Qe,Nt,n,o),await aC(t,n,r),await lC(t,n),n}var uC=g(()=>{Ft();E();F();Ae();V();pt();cC();qn();i(zA,"importRootRule");i(VA,"importNonRootRules");i(JA,"importPerModeRules");i(mC,"importFromRooCode");});function pC(t,e,r,n){return ct(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Nt}))}var dC=g(()=>{he();qn();i(pC,"lintRules");});function tT(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var qA,QA,eT,rT,nT,fC,gC=g(()=>{E();sC();qn();Zr();uC();dC();Ht();qA={name:"roo-code",primaryRootInstructionPath:ie,generateRules:Q_,generateCommands:tC,generateSkills:nC,generateMcp:eC,generateIgnore:rC,generateAgents:oC,importFrom:mC},QA={rootInstructionPath:ie,skillDir:".roo/skills",managedOutputs:{dirs:[".roo/rules",".roo/commands",".roo/skills"],files:[".roo/mcp.json",".rooignore",".roorules",Vo]},paths:{rulePath(t,e){return `${Ze}/${t}.md`},commandPath(t,e){return `${qe}/${t}.md`},agentPath(t,e){return null}}};i(tT,"computeStatus");eT=i(async(t,e,r,n)=>{if(r!=="global")return [];if(!n.has("agents")||t.agents.length===0)return [];let o=t.agents.map(l=>{let m={slug:basename(l.source,".md"),name:l.name};return l.description&&(m.description=l.description),l.body.trim()&&(m.roleDefinition=l.body.trim()),m}),s=stringify({customModes:o}),a=await y(join(e,ii));return [{target:"roo-code",path:ii,content:s,currentContent:a??void 0,status:tT(a,s)}]},"generateRooGlobalExtras"),rT={rootInstructionPath:br,skillDir:xr,managedOutputs:{dirs:[Xn,Zn,xr,fg],files:[br,un,Pa,ii]},rewriteGeneratedPath(t){return t===ie?br:t===Vo?null:t.startsWith(`${Ze}/`)?t.replace(`${Ze}/`,`${Xn}/`):t.startsWith(`${qe}/`)?t.replace(`${qe}/`,`${Zn}/`):t.startsWith(`${Qe}/`)?t.replace(`${Qe}/`,`${xr}/`):t===Ho?un:t===zo?Pa:t},mirrorGlobalPath(t,e){return Et(t,xr,e)},paths:{rulePath(t,e){return `${Xn}/${t}.md`},commandPath(t,e){return `${Zn}/${t}.md`},agentPath(t,e){return null}}},nT={rules:"native",additionalRules:"native",commands:"native",agents:"partial",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},fC={id:"roo-code",generators:qA,capabilities:{rules:"native",additionalRules:"native",commands:"native",agents:"partial",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},emptyImportMessage:"No Roo Code config found (.roo/rules, .roo/commands, .roo/skills, .roo/mcp.json, .rooignore, or .roorules).",lintRules:pC,project:QA,globalSupport:{capabilities:nT,detectionPaths:[Xn,Zn,xr,un,Pa,br,ii],layout:rT,scopeExtras:eT},buildImportPaths:im,detectionPaths:[".roo/rules",".roo/commands",".roo/skills",".roo/mcp.json",".rooignore",".roorules",Vo]};});var Vf={};eO(Vf,{BUILTIN_TARGETS:()=>Tt,TARGET_IDS:()=>ht,getBuiltinTargetDefinition:()=>Mt,getEffectiveTargetSupportLevel:()=>_l,getTargetCapabilities:()=>yn,getTargetDetectionPaths:()=>Vu,getTargetLayout:()=>ft,getTargetManagedOutputs:()=>Ju,getTargetPrimaryRootInstructionPath:()=>sT,getTargetSkillDir:()=>Oi,isBuiltinTargetId:()=>wn,resolveTargetFeatureGenerator:()=>hs,rewriteGeneratedOutputPath:()=>Yu});function oT(){return zu||(hf(Tt),zu=new Map(Tt.map(t=>[t.id,t]))),zu}function Mt(t){return oT().get(t)}function yn(t,e="project"){let r=Mt(t)??et(t);if(!r)return;let n=e==="global"?r.globalSupport?.capabilities??r.capabilities:r.capabilities;return ff(n)}function Vu(t,e="project"){let r=Mt(t)??et(t);return r?e==="global"?r.globalSupport?.detectionPaths??[]:r.detectionPaths:[]}function ft(t,e="project"){let r=Mt(t)??et(t);if(r)return e==="global"?r.globalSupport?.layout:r.project}function sT(t,e="project"){return ft(t,e)?.rootInstructionPath}function Oi(t,e="project"){return ft(t,e)?.skillDir}function Ju(t,e="project"){return ft(t,e)?.managedOutputs}function Yu(t,e,r="project"){let n=ft(t,r);return n?n.rewriteGeneratedPath?n.rewriteGeneratedPath(e):e:null}function _l(t,e,r,n="project"){let o=yn(t,n)?.[e]?.level??"none";if(o!=="embedded")return o;let s=Mt(t)??et(t);return e==="commands"&&s?.supportsConversion?.commands?Po(r,t,true,n)?"embedded":"none":e==="agents"&&s?.supportsConversion?.agents?te(r,t,true,n)?"embedded":"none":o}function hs(t,e,r,n="project"){let o=Mt(t)??et(t),s=o?.generators;if(s)switch(e){case "rules":return s.generateRules;case "additionalRules":return;case "commands":return r&&o?.supportsConversion?.commands&&!Po(r,t,true,n)?void 0:s.generateCommands;case "agents":return r&&o?.supportsConversion?.agents&&!te(r,t,true,n)?void 0:s.generateAgents;case "skills":return s.generateSkills;case "mcp":return s.generateMcp;case "permissions":return s.generatePermissions;case "hooks":return s.generateHooks;case "ignore":return s.generateIgnore}}var Tt,zu,ot=g(()=>{xo();bo();Kr();fc();yr();_g();hh();qh();_y();jy();cI();ZI();OS();m_();M_();Z_();gC();Tt=[Sg,gh,Zh,Sy,Gy,lI,XI,wS,c_,$_,X_,fC];i(oT,"builtinTargetsMap");i(Mt,"getBuiltinTargetDefinition");i(yn,"getTargetCapabilities");i(Vu,"getTargetDetectionPaths");i(ft,"getTargetLayout");i(sT,"getTargetPrimaryRootInstructionPath");i(Oi,"getTargetSkillDir");i(Ju,"getTargetManagedOutputs");i(Yu,"rewriteGeneratedOutputPath");i(_l,"getEffectiveTargetSupportLevel");i(hs,"resolveTargetFeatureGenerator");});function pT(t){return typeof t=="string"?t:t.level}function hC(t){return uT.includes(t)}function yC(t,e,r,n){for(let o of mT){let s=pT(e[o.feature]);if(s==="none")continue;let a=typeof t.generators[o.generator]=="function",l=hC(o.feature)&&typeof t.emitScopedSettings=="function";a||l||r.addIssue({code:"custom",path:[...n,o.feature],message:`Capability "${o.feature}" is "${s}" but generators.${o.generator}`+(hC(o.feature)?" or emitScopedSettings":"")+" is missing."});}}function Cl(t){return fT.parse(t)}var Hr,IC,iT,aT,SC,lT,cT,mT,uT,dT,fT,Xu=g(()=>{Hr=z$1.union([z$1.enum(["native","embedded","partial","none"]),z$1.object({level:z$1.enum(["native","embedded","partial","none"]),flavor:z$1.string().optional()})]),IC=z$1.object({rules:Hr,additionalRules:Hr,commands:Hr,agents:Hr,skills:Hr,mcp:Hr,hooks:Hr,ignore:Hr,permissions:Hr}),iT=z$1.object({name:z$1.string(),generateRules:z$1.function(),importFrom:z$1.function(),generateCommands:z$1.function().optional(),generateAgents:z$1.function().optional(),generateSkills:z$1.function().optional(),generateMcp:z$1.function().optional(),generatePermissions:z$1.function().optional(),generateHooks:z$1.function().optional(),generateIgnore:z$1.function().optional(),lint:z$1.function().optional()}).passthrough(),aT=z$1.object({rulePath:z$1.function(),commandPath:z$1.function(),agentPath:z$1.function()}),SC=z$1.object({paths:aT}).passthrough(),lT=z$1.object({capabilities:IC,detectionPaths:z$1.array(z$1.string()),layout:SC,scopeExtras:z$1.function().optional()}).passthrough(),cT=["global","globalCapabilities","globalDetectionPaths","generateScopeExtras"],mT=[{feature:"commands",generator:"generateCommands"},{feature:"agents",generator:"generateAgents"},{feature:"skills",generator:"generateSkills"},{feature:"mcp",generator:"generateMcp"},{feature:"hooks",generator:"generateHooks"},{feature:"ignore",generator:"generateIgnore"},{feature:"permissions",generator:"generatePermissions"}],uT=["mcp","hooks","ignore","permissions"];i(pT,"capabilityLevel");i(hC,"canUseScopedSettings");i(yC,"validateCapabilityImplementations");dT=z$1.object({id:z$1.string().regex(/^[a-z][a-z0-9-]*$/,"Target id must be lowercase with hyphens"),generators:iT,capabilities:IC,emptyImportMessage:z$1.string(),lintRules:z$1.union([z$1.function(),z$1.null()]),project:SC,globalSupport:lT.optional(),buildImportPaths:z$1.function(),detectionPaths:z$1.array(z$1.string())}).passthrough(),fT=dT.superRefine((t,e)=>{for(let r of cT)r in t&&e.addIssue({code:"custom",path:[r],message:`Use globalSupport instead of legacy field "${r}".`});yC(t,t.capabilities,e,["capabilities"]),t.globalSupport!==void 0&&yC(t,t.globalSupport.capabilities,e,["globalSupport","capabilities"]);});i(Cl,"validateDescriptor");});function gT(){return Zu||(Zu=new Map(Tt.map(t=>[t.id,t]))),Zu}function CC(t){let e=Cl(t);_C.set(e.id,e);}function et(t){return _C.get(t)??gT().get(t)}var _C,Zu,Kr=g(()=>{ot();Xu();_C=new Map;i(gT,"builtinDescriptors");i(CC,"registerTargetDescriptor");i(et,"getDescriptor");});async function RC(t,e,r="project"){let n=new Map,o=et(t);return o&&await o.buildImportPaths(n,e,r),n}var kC=g(()=>{Kr();i(RC,"buildImportReferenceMap");});function Y(t){return t.includes("\\")||De.test(t)?win32:posix}function X(t){return t.replace(/\\/g,"/")}function j(t,e){let r=Y(t),n=r.normalize(r===win32?e.replace(/\//g,"\\"):X(e));return n.endsWith(r.sep)&&n.length>1?n.slice(0,-1):n}function OC(t,e){return Y(t).isAbsolute(e)||De.test(e)}function ys(t){let e=t,r="";for(;yT.test(e);)r=e.at(-1)+r,e=e.slice(0,-1);return {candidate:e,suffix:r}}function EC(t,e){let r=Y(e),n=t.replace(/^(\.\.\/)+/,"").replace(/^\.\//,"");return n&&n!==t?j(e,r.join(e,n)):null}var De,yT,Gt=g(()=>{De=/^[A-Za-z]:[\\/]/,yT=/[.!?:;]+$/;i(Y,"pathApi");i(X,"normalizeSeparators");i(j,"normalizeForProject");i(OC,"isAbsoluteForProject");i(ys,"stripTrailingPunctuation");i(EC,"rootFallbackPath");});function Fe(t){let e=X(t);return _T.some(r=>e.startsWith(r))}function RT(t){let e=X(t).replace(/^\.\//,"");if(e.startsWith("../")||e.startsWith("/")||De.test(e)||/^[a-zA-Z]:/.test(e)||Fe(e))return false;let r=e.split("/").filter(n=>n.length>0)[0];return r!==void 0&&CT.has(r)}function Ei(t,e,r){let n=Y(e),o=j(e,e),s=j(e,r),a=X(t);if(De.test(t)){let l=j(e,t);return n===win32||l.startsWith(`${o}${n.sep}`)?[l]:[l]}if(isAbsolute(t)){let l=j(e,t);return l.startsWith(o)||existsSync(t)?[l]:[j(e,n.join(e,t))]}if(a.startsWith("./")||a.startsWith("../")){let l=j(e,n.join(n.dirname(s),a)),c=EC(a,o);return c&&c!==l?[l,c]:[l]}if(Fe(a))return [j(e,n.join(o,a))];if(a.includes("/")){let l=j(e,n.join(o,".agentsmesh")),c=RT(a)?j(e,n.join(l,a)):null,m=j(e,n.join(o,a)),u=j(e,n.join(n.dirname(s),a));return c!==null?[c,m,u]:[m,u]}return kT.has(a)?[]:a.includes(".")?[j(e,n.join(n.dirname(s),a))]:[]}function Pi(t,e){let r=[e];if(!OC(t,e)||!existsSync(e))return r;try{let n=[realpathSync(e),realpathSync.native(e)];for(let o of n)o!==e&&!r.includes(o)&&r.push(o);}catch{}return r}function AC(t,e,r){let n=e>0?t.at(e-1):"",o=r<t.length?t.at(r):"";return n==="*"||o==="*"}function Rl(t){let e=[];for(let r of wT)for(let n of t.matchAll(r))e.push([n.index??0,(n.index??0)+n[0].length]);for(let r of t.matchAll(OT))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(ET))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(PT))e.push([r.index??0,(r.index??0)+r[0].length]);return e}var _T,CT,kT,wT,OT,ET,PT,bC,Is,Cn=g(()=>{Gt();_T=[".agentsmesh/",".claude/",".cursor/",".github/",".continue/",".junie/",".kiro/",".gemini/",".clinerules/",".cline/",".codex/",".agents/",".windsurf/",".roo/"];i(Fe,"isRootRelativePathToken");CT=new Set(["skills","rules","commands","agents","packs"]);i(RT,"isMeshRootRelativePathToken");kT=new Set(["AGENTS.md","CLAUDE.md","GEMINI.md","codex.md",".windsurfrules",".cursorrules"]),wT=[/\b[A-Za-z][A-Za-z0-9+.-]+:[^\s<>()\]]+/g,/\b[\w.-]+@[\w.-]+:[^\s<>()\]]+/g,/\b[\w.+-]+@[\w.-]+\.[A-Za-z]{2,}\b/g,/\/\/[A-Za-z0-9][\w.-]*\.[A-Za-z]{2,}[^\s<>()\]]*/g],OT=/^(?:```|~~~)[^\n]*\n[\s\S]*?^(?:```|~~~)/gm,ET=/<!-- agentsmesh:root-generation-contract:start -->[\s\S]*?<!-- agentsmesh:root-generation-contract:end -->/g,PT=/<!-- agentsmesh:embedded-rules:start -->[\s\S]*?<!-- agentsmesh:embedded-rules:end -->/g,bC=/(?:\.\.[\\/]|\.\/|\.\\|\/[A-Za-z0-9._-]|[A-Za-z]:[\\/][A-Za-z0-9._-]|\.agentsmesh[\\/]|\.claude[\\/]|\.cursor[\\/]|\.github[\\/]|\.continue[\\/]|\.junie[\\/]|\.kiro[\\/]|\.gemini[\\/]|\.clinerules[\\/]|\.cline[\\/]|\.codex[\\/]|\.agents[\\/]|\.windsurf[\\/]|\.roo[\\/]|(?:[A-Za-z0-9._-]+[\\/])+|[A-Za-z0-9._-]+\.[A-Za-z0-9._-]+)[A-Za-z0-9._@%+~:\\/-]*/g,Is=/(?::(\d+)){1,2}$/;i(Ei,"resolveProjectPath");i(Pi,"expandResolvedPaths");i(AC,"isGlobAdjacent");i(Rl,"protectedRanges");});function bT(t){return t===void 0||t.role==="inline-code"||t.role==="bracketed"||t.role==="quoted"||t.role==="at-prefix"||t.role==="bracket-label"||t.role==="bare-prose"}function qu(t,e){let r=Y(t),n=j(t,t),o=j(t,e);if(o===n)return true;let s=n.endsWith(r.sep)?n:`${n}${r.sep}`;return o.startsWith(s)}function TC(t){let e=Y(t);return j(t,e.join(t,".agentsmesh"))}function zr(t,e){let r=Y(t),n=TC(t),o=j(t,e);if(o===n)return true;let s=n.endsWith(r.sep)?n:`${n}${r.sep}`;return o.startsWith(s)}function LC(t,e,r){let n=Y(t),o=TC(t),s=j(t,e);if(!zr(t,s))return null;let a=n.relative(o,s).replace(/\\/g,"/");return a.startsWith("..")||a.length===0?null:r&&!a.endsWith("/")?`${a}/`:a}function Qu(t,e,r){let o=Y(t).relative(j(t,t),j(t,e)).replace(/\\/g,"/");if(o.startsWith(".."))return null;let s=o.length>0?o:".";return r&&!s.endsWith("/")?`${s}/`:s}function NC(t,e,r){return !bT(r.tokenContext)||r.originalToken===void 0?false:X(r.originalToken).startsWith(".agentsmesh/")}function Ss(t,e,r){let n=Qu(t,e,r);return n===null?null:{kind:"projectRoot",rest:n,text:n}}function tp(t,e,r,n,o){let s=Y(t),a=j(t,t),l=j(t,e),c=j(t,r);if(!qu(t,c))return Ss(t,c,n)?.text??null;let m=j(t,dirname(l));if(!qu(t,m)&&m!==a)return Ss(t,c,n)?.text??null;let u=s.relative(m,c).replace(/\\/g,"/");if(s.isAbsolute(u)||De.test(u))return Qu(t,c,n);let p=j(t,s.join(m,u));return qu(t,p)?(u===""||u==="."?u=".":o.explicitCurrentDirLinks===true&&m!==a&&!u.startsWith("../")&&!u.startsWith("./")&&(u=`./${u}`),n&&!u.endsWith("/")?`${u}/`:u):Qu(t,c,n)}var ep=g(()=>{Gt();i(bT,"isReadingContext");i(qu,"isUnderProjectRoot");i(TC,"agentsMeshRoot");i(zr,"isUnderAgentsMesh");i(LC,"toAgentsMeshRootRelative");i(Qu,"toProjectRootRelative");i(NC,"shouldPreserveAgentsMeshAnchor");i(Ss,"toProjectRootReference");i(tp,"formatLinkPathForDestinationLegacy");});function DC(t,e,r,n,o={}){let s=o.scope??"project",a=j(t,r);if(NC(t,e,o))return X(o.originalToken??"");if(o.forceRelative)return tp(t,e,r,n,o);if(s==="global"&&!zr(t,e))return Ss(t,a,n)?.text??null;let l=(()=>{if(zr(t,a))return a;let m=o.logicalMeshSourceAbsolute;return m&&zr(t,j(t,m))?j(t,m):null})();if(!l)return Ss(t,a,n)?.text??null;if(n||(o.pathIsDirectory?.(a)??false)){let m=LC(t,l,n);return m!==null?m:Ss(t,l,n)?.text??null}return tp(t,e,r,n,o)}var FC=g(()=>{Cn();Gt();ep();ep();i(DC,"formatLinkPathForDestination");});function vC(t,e,r,n){let o=Y(e),s=X(t);if(!Fe(s))return null;let a=s.split("/").filter(m=>m.length>0);if(a.length<3)return null;let l=j(e,r),c=o.dirname(l);for(let m=1;m<=a.length-1;m++){let u=a.slice(m).join("/"),p=j(e,o.join(c,u));if(p!==l&&n(p))return p}return null}var $C=g(()=>{Gt();Cn();i(vC,"resolveByDestinationSuffixStrip");});function MC(t){let e=null,r=false,n=null,o=null,s=null;for(let c of Ei(t.candidate,t.projectRoot,t.sourceFile)){let m=null,u=null;for(let p of Pi(t.projectRoot,c)){let d=j(t.projectRoot,p),f=j(t.projectRoot,t.translatePath(d)),h=t.pathExists(d),C=t.pathExists(f);if(C&&f!==d){e=f,n=d,r=true;break}(h||C)&&m===null&&(m=f,u=d),e===null&&(e=f);}if(!r&&m!==null&&o===null&&(o=m,s=u),r)break}if(!r){let c=vC(t.candidate,t.projectRoot,t.destinationFile,t.pathExists);c!==null&&(e=c,r=true);}!r&&o!==null&&(e=o,s!==null&&(n=s),r=true);let a=X(t.destinationFile),l=a.includes("/.agentsmesh/")||a.startsWith(".agentsmesh/");return !r&&e!==null&&X(t.rawToken).startsWith(".agentsmesh/")&&l&&(r=true),{translatedPath:e,resolvedBeforeTranslate:n,matchedPath:r}}var GC=g(()=>{Gt();Cn();$C();i(MC,"resolveLinkTarget");});function jC(t,e,r){return e>=2&&t[e-2]==="~"&&t[e-1]==="/"?true:e>=1&&t[e-1]==="~"&&r.startsWith("/")}function UC(t,e,r){if(e<=0||t[e-1]!=="(")return false;let n=e+r.length,o=t[n];return o!==")"&&o!=="#"&&o!=="?"&&o!==" "&&o!==" "?false:t[e-2]==="]"}function WC(t){let e=X(t);return e.startsWith("./")||e.startsWith("../")?true:e.startsWith("/")||De.test(e)||Fe(e)?false:e.includes("/")}var BC=g(()=>{Gt();Cn();i(jC,"isTildeHomeRelativePathToken");i(UC,"isMarkdownLinkDestinationToken");i(WC,"isRelativePathToken");});function AT(t,e,r){let n=e+r.length;if(t[n]!=="]"||t[n+1]!=="(")return false;let o=n+2,s="";for(;o<t.length;){let a=t[o];if(a===")"||a==="#"||a==="?"||a===" "||a===" "||a===`
115
- `)break;s+=a,o++;}return s===r}function KC(t,e,r){let n=t.lastIndexOf(`
82
+ `}function Iy(t){return !/^[A-Za-z0-9_-]+$/.test(t)}var Sy=f(()=>{Fa();wt();i(Fm,"generateMcp");i(qx,"serializeMcpToToml");i(Iy,"needsTomlQuoting");});var _y=f(()=>{fy();gy();hy();Sy();});var Ry=f(()=>{_y();});function tP(t){if(!t||typeof t!="object"||Array.isArray(t))return null;let e=t,r=typeof e.command=="string"?e.command:"";if(!r)return null;let n=Array.isArray(e.args)?e.args.filter(a=>typeof a=="string"):[],o=e.env,s=o!==null&&typeof o=="object"&&!Array.isArray(o)?Object.fromEntries(Object.entries(o).filter(a=>typeof a[1]=="string")):{};return {type:"stdio",command:r,args:n,env:s}}async function Cy(t,e){let r=join(t,La),n=await I(r);if(n===null)return;let o;try{o=parse$1(n);}catch{return}let s=o.mcp_servers;if(!s||typeof s!="object"||Array.isArray(s)||Object.keys(s).length===0)return;let a={};for(let[l,c]of Object.entries(s)){let m=tP(c);m&&(a[l]=m);}Object.keys(a).length!==0&&(await k(join(t,".agentsmesh")),await _(join(t,wm),JSON.stringify({mcpServers:a},null,2)),e.push({fromTool:St,fromPath:r,toPath:wm,feature:"mcp"}));}var ky=f(()=>{E();wt();i(tP,"mapTomlServerToCanonical");i(Cy,"importMcp");});function va(t){let e=t.split("/").filter(Boolean);return e.length===0||e.some(n=>n.startsWith("."))?false:!e.join("/").startsWith("tests/e2e/fixtures/")}async function br(t){await rm$1(t,{recursive:true,force:true});}var gi=f(()=>{i(va,"shouldImportScopedAgentsRule");i(br,"removePathIfExists");});async function wy(t,e,r){let n={projectRoot:t,sourceSkillsDir:Ee,destCanonicalSkillsDir:di,targetName:St,normalize:r,results:e};for(let o of [Ee,ay]){let s=join(t,o),a=await readdir(s,{encoding:"utf8",withFileTypes:true}).catch(()=>null);if(a===null)continue;let l=false;for(let c of a){if(!c.isDirectory()&&!c.isSymbolicLink())continue;let m=join(s,c.name),u=join(m,"SKILL.md"),p=await I(u);if(!p)continue;l=true;let d=c.name,g=join(t,di,d,"SKILL.md"),h=r(p,u,g),{frontmatter:R,body:C}=O(h),S=hg(R,c.name);if(S){await br(join(t,di,d));let D=join(t,km);await k(D);let b=join(D,`${S.name}.md`);await _(b,yg(S,r(C,u,b))),e.push({fromTool:St,fromPath:u,toPath:`${km}/${S.name}.md`,feature:"commands"});continue}let w=jr(R,c.name);if(w){await br(join(t,di,d));let D=join(t,Bo);await k(D);let b=join(D,`${w.name}.md`);await _(b,je(w,r(C,u,b))),e.push({fromTool:St,fromPath:u,toPath:`${Bo}/${w.name}.md`,feature:"agents"});continue}await Ze(d,m,n);}if(l)return}}var Oy=f(()=>{E();F();vs();Xt();gi();Uo();wt();i(wy,"importSkills");});async function Ey(t,e,r){let n=join(t,Kn),o=join(t,Bo);try{let a=(await P(n)).filter(l=>l.endsWith(".toml"));for(let l of a){let c=await I(l);if(!c)continue;let m=parse$1(c);if(!m||typeof m!="object")continue;let u=typeof m.name=="string"?m.name:basename(l,".toml"),p=typeof m.description=="string"?m.description:"",d=typeof m.developer_instructions=="string"?m.developer_instructions.trim():"",g=typeof m.model=="string"?m.model:"",h=typeof m.sandbox_mode=="string"?m.sandbox_mode:"",R=h==="read-only"?"read-only":h==="workspace-write"?"allow":"",C=Array.isArray(m.mcp_servers)?m.mcp_servers.filter(x=>typeof x=="string"):[];await k(o);let S=join(o,`${u}.md`),w=r(d,l,S),b=je({name:u,description:p,tools:[],disallowedTools:[],model:g,permissionMode:R,maxTurns:0,mcpServers:C,hooks:{},skills:[],memory:""},w);await _(S,b),e.push({fromTool:St,fromPath:l,toPath:`${Bo}/${u}.md`,feature:"agents"});}}catch{}}var by=f(()=>{E();Xt();wt();i(Ey,"importCodexAgentsFromToml");});function xy(t){if(!t.includes(ly))return null;let e=t.split(`
83
+ `).find(c=>c.startsWith(Om));if(!e)return null;let r;try{r=JSON.parse(e.slice(Om.length));}catch{return null}if(!r||typeof r!="object")return null;let n=r,o=typeof n.description=="string"?n.description:"",s=Array.isArray(n.globs)?n.globs.filter(c=>typeof c=="string"):[],a=[],l=false;for(let c of t.split(`
84
+ `)){let m=c.trimEnd();if(m===cy){l=true;continue}if(m===my){l=false;continue}l&&m.startsWith(Em)&&a.push(m.slice(Em.length));}if(a.length===0)return null;try{let c=Buffer.from(a.join(""),"base64").toString("utf8");return {meta:{description:o,globs:s},body:c}}catch{return null}}var Py=f(()=>{wt();i(xy,"tryParseEmbeddedCanonicalFromCodexRules");});async function Ty(t,e,r){let n=[],o=join(t,qe);try{let s=await P(o),a=s.filter(c=>c.endsWith(".md"));for(let c of a){let m=await I(c);if(!m)continue;let u=relative(o,c).replace(/\\/g,"/"),p=join(e,u),{frontmatter:d,body:g}=O(r(m,c,p));await k(e);let h=d.root===!0?d:{...d,root:!1},R=await $(p,h,g);await _(p,R),n.push({fromTool:St,fromPath:c,toPath:`${Er}/${u}`,feature:"rules"});}let l=s.filter(c=>c.endsWith(".rules"));for(let c of l){let m=await I(c);if(!m)continue;let u=relative(o,c).replace(/\\/g,"/").replace(/\.rules$/i,".md"),p=join(e,u);await k(e);let d=xy(m);if(d){let g=await $(p,{description:d.meta.description,globs:d.meta.globs,root:!1},r(d.body,c,p));await _(p,g);}else {let g=await $(p,{root:!1,description:"",globs:[],codex_emit:"execution"},r(m.trim(),c,p));await _(p,g);}n.push({fromTool:St,fromPath:c,toPath:`${Er}/${u}`,feature:"rules"});}}catch{}return n}var Ly=f(()=>{E();F();Y();wt();Py();i(Ty,"importCodexNonRootRuleFiles");});async function Dy(t,e,r,n,o){let s=join(t,sy),a=join(t,Or),l=join(t,iy),c=join(t,Wn),m=o==="global"?await I(l):null,u=o==="global"?await I(c):null,p=o==="project"?await I(a):null,d=o==="project"?await I(s):null,g=m!==null?l:u!==null?c:p!==null?a:s,h=join(t,Er),R=m??u??p??d;if(R!==null){await k(h);let C=join(h,"_root.md"),S=g===a||g===c||g===l?dy(R):R,w=await Ge({content:S,projectRoot:t,rulesDir:Er,sourcePath:g,fromTool:"codex-cli",normalize:r});e.push(...w.results);let D=r(g===a||g===c||g===l?n(w.rootContent,g,C):w.rootContent,g,C),{frontmatter:b,body:x}=O(D),K=b.root===true?b:{...b,root:true},M=await $(C,K,x);await _(C,M),e.push({fromTool:"codex-cli",fromPath:g,toPath:`${Er}/_root.md`,feature:"rules"});}await lP(t,h,e,r),e.push(...await Ty(t,h,r)),o!=="global"&&e.push(...await st({srcDir:t,destDir:h,extensions:["AGENTS.md","AGENTS.override.md"],fromTool:"codex-cli",normalize:r,mapEntry:i(async({srcPath:C,normalizeTo:S})=>{let w=relative(t,dirname(C)).replace(/\\/g,"/"),D=basename(C),b=D==="AGENTS.override.md";if(!w||w==="."||!b&&D!=="AGENTS.md")return null;let x=w.replace(/\//g,"-");if(!va(w))return await br(join(h,`${x}.md`)),null;let K=join(h,`${x}.md`),{frontmatter:M,body:W}=O(S(K));return {destPath:K,toPath:`${Er}/${x}.md`,feature:"rules",content:await $(K,{...M,root:false,globs:[`${w}/**`],...b?{codex_instruction:"override"}:{}},W)}},"mapEntry")}));}async function lP(t,e,r,n){try{let s=(await P(join(t,Bn))).filter(l=>l.endsWith(".md")),a=join(t,Bn);for(let l of s){let c=relative(a,l).replace(/\\/g,"/");if(c==="_root.md")continue;let m=await I(l);if(!m)continue;let u=join(e,c),{frontmatter:p,body:d}=O(n(m,l,u));await k(e);let g=p.root===!0?p:{...p,root:!1},h=await $(u,g,d);await _(u,h),r.push({fromTool:St,fromPath:l,toPath:`${Er}/${c}`,feature:"rules"});}}catch{}}var Fy=f(()=>{E();F();Y();wo();$e();gi();wt();Ly();Na();i(Dy,"importCodexRules");i(lP,"importInstructionMirrors");});async function $a(t,e){let r=e?.scope??"project",n=[],o=await H(St,t,r),s=await H("windsurf",t,r);return await Dy(t,n,o,s,r),await wy(t,n,o),await Ey(t,n,o),await Cy(t,n),n}var Gm=f(()=>{bt();wt();ky();Oy();by();Fy();i($a,"importFromCodex");});function vy(t,e,r){let{rules:n}=t;return n.length===0?[]:n.some(s=>s.root)?[]:[{level:"warning",file:relative(e,n[0].source),target:St,message:"Codex needs a root rule to generate AGENTS.md. Add root: true to a rule."}]}var $y=f(()=>{wt();i(vy,"lintRules");});function My(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.mcp.mcpServers))if(typeof n.description=="string"&&n.description&&e.push(V(".agentsmesh/mcp.json","codex-cli",`MCP server "${r}" has a description, but codex-cli does not project MCP descriptions into .codex/config.toml.`)),"url"in n||"type"in n){let o="type"in n?n.type:"url";e.push(V(".agentsmesh/mcp.json","codex-cli",`MCP server "${r}" uses ${o} transport; codex-cli only generates stdio MCP servers.`));}return e}var Gy=f(()=>{Wt();i(My,"lintMcp");});function jy(t){return fi(t)}var Uy=f(()=>{Na();i(jy,"codexAdvisoryInstructionPath");});var mP,uP,pP,dP,By,Ky=f(()=>{Ry();wt();Gm();$y();Gy();Ut();yo();Uy();vs();mP={name:"codex-cli",primaryRootInstructionPath:Or,generateRules:Am,generateCommands:Nm,generateAgents:Dm,generateSkills:Lm,generateMcp:Fm,importFrom:$a},uP={rootInstructionPath:Or,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${qe}/${e}.rules`]},skillDir:".agents/skills",managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/instructions"],files:["AGENTS.md",".codex/config.toml"]},paths:{rulePath(t,e){return jy(e)},commandPath(t,e){return xs(e,"codex-cli")?`${Ee}/${Eo(t)}/SKILL.md`:null},agentPath(t,e){return `${Kn}/${t}.toml`}}},pP={rootInstructionPath:Wn,renderPrimaryRootInstruction:Tm,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${qe}/${e}.rules`]},skillDir:Ee,managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/rules"],files:[Wn,".codex/config.toml"]},rewriteGeneratedPath(t){return t===Or?Wn:t.startsWith(`${Bn}/`)?null:t},paths:{rulePath(t,e){return e.codexEmit==="execution"?`${qe}/${t}.rules`:Wn},commandPath(t,e){return xs(e,"codex-cli")?`${Ee}/${Eo(t)}/SKILL.md`:null},agentPath(t,e){return `${Kn}/${t}.toml`}}},dP={rules:"native",additionalRules:"embedded",commands:"embedded",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},By={id:"codex-cli",generators:mP,capabilities:{rules:"native",additionalRules:"native",commands:"embedded",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},emptyImportMessage:"No Codex config found (codex.md or AGENTS.md).",supportsConversion:{commands:true},lintRules:vy,lint:{mcp:My},project:uP,globalSupport:{capabilities:dP,detectionPaths:[".codex/AGENTS.md",".codex/AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules",".agents/skills"],layout:pP},buildImportPaths:Xc,sharedArtifacts:{".agents/skills/":"owner"},detectionPaths:["codex.md","AGENTS.md","AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules"]};});function gP(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):typeof t=="string"&&t.length>0?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Hy(t){return `${We}/${t}.md`}function zy(t){let e={description:t.description||void 0,"x-agentsmesh-kind":"command","x-agentsmesh-name":t.name,"x-agentsmesh-allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return e.description===void 0&&delete e.description,e["x-agentsmesh-allowed-tools"]===void 0&&delete e["x-agentsmesh-allowed-tools"],N(e,t.body.trim()||"")}function Vy(t,e){let r=basename(e,".md");return {name:((typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"")||r).trim(),description:typeof t.description=="string"?t.description:"",allowedTools:gP(t["x-agentsmesh-allowed-tools"])}}function Jy(t,e){let r={description:t.description||void 0,"allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return r.description===void 0&&delete r.description,r["allowed-tools"]===void 0&&delete r["allowed-tools"],N(r,e.trim()||"")}var Ma=f(()=>{F();Ke();i(gP,"toStringArray");i(Hy,"continueCommandRulePath");i(zy,"serializeCommandRule");i(Vy,"parseCommandRuleFrontmatter");i(Jy,"serializeImportedCommand");});function Yy(t){let e=[],r=t.rules.find(n=>n.root);if(r){let n={};r.description&&(n.description=r.description),e.push({path:Sr,content:N(n,r.body.trim()||"")});}for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("continue"))continue;let o=basename(n.source,".md"),s={};n.description&&(s.description=n.description),n.globs.length>0&&(s.globs=n.globs),e.push({path:`${Ie}/${o}.md`,content:N(s,n.body.trim()||"")});}return e}function Xy(t){return t.commands.map(e=>({path:`${We}/${e.name}.md`,content:zy(e)}))}function Zy(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:ha,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function qy(t){return Ne(t,Be)}var Qy=f(()=>{fe();F();Ma();Ke();i(Yy,"generateRules");i(Xy,"generateCommands");i(Zy,"generateMcp");i(qy,"generateSkills");});function IP(t,e){let n=(e===".json"?JSON.parse(t):parse(t)??{}).mcpServers;if(!n||typeof n!="object"||Array.isArray(n))return {};let o={};for(let[s,a]of Object.entries(n)){if(!a||typeof a!="object"||Array.isArray(a))continue;let l=a;typeof l.command=="string"&&(o[s]={type:typeof l.type=="string"?l.type:"stdio",command:l.command,args:Co(l.args),env:ko(l.env),description:typeof l.description=="string"?l.description:void 0});}return o}async function SP(t,e){let r=(await P(join(t,Zc))).filter(s=>[".json",".yaml",".yml"].includes(extname(s))),n={},o=[];for(let s of r){let a=await I(s);a&&(Object.assign(n,IP(a,extname(s))),o.push(s));}if(Object.keys(n).length!==0){await _(join(t,Qc),JSON.stringify({mcpServers:n},null,2));for(let s of o)e.push({fromTool:Po,fromPath:s,toPath:Qc,feature:"mcp"});}}async function Ga(t){let e=[],r=await H(Po,t);return e.push(...await gt(ja,t,"project",{normalize:r})),await De(t,Be,Po,e,r),await SP(t,e),e}var jm=f(()=>{bt();E();fe();Me();he();Ke();Um();i(IP,"readMcpServers");i(SP,"importMcp");i(Ga,"importFromContinue");});function _P(t){return t==="general.md"||t==="_root.md"}var rI,nI,oI=f(()=>{F();Y();Ma();Ke();i(_P,"isContinueRootRulePath");rI=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=_P(t),o=n?"_root.md":t,s=join(r,o),{frontmatter:a,body:l}=O(e(s)),c={description:typeof a.description=="string"?a.description:void 0,globs:Array.isArray(a.globs)?a.globs:void 0,root:n};return c.description===void 0&&delete c.description,c.globs===void 0&&delete c.globs,{destPath:s,toPath:`${ya}/${o}`,content:await $(s,c,l)}},"continueRuleMapper"),nI=i(async({absolutePath:t,relativePath:e,normalizeTo:r,destDir:n})=>{let o=join(n,e),{frontmatter:s,body:a}=O(r(o)),l=Vy(s,t),c=l.name||e.replace(/\.md$/,"").replace(/^.*\//,""),m=e.includes("/")?e.slice(0,e.lastIndexOf("/")):"",u=m?`${m}/${c}.md`:`${c}.md`,p=join(n,u),d=await Q(p,{description:l.description,hasDescription:!!l.description,allowedTools:l.allowedTools,hasAllowedTools:l.allowedTools.length>0},O(Jy(l,a)).body);return {destPath:p,toPath:`${Ia}/${u}`,content:d}},"continueCommandMapper");});function sI(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Po}))}var iI=f(()=>{ye();Ke();i(sI,"lintRules");});function aI(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>V(e.source,"continue","Continue invokable prompt rules do not natively enforce canonical allowed-tools metadata."))}var lI=f(()=>{Wt();i(aI,"lintCommands");});function wP(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var cI,mI=f(()=>{E();Ke();i(wP,"computeStatus");cI=i(async(t,e,r,n)=>{if(r!=="global")return [];let o=n.has("rules"),s=n.has("commands"),a=n.has("mcp");if(!(o&&t.rules.length>0||s&&t.commands.length>0||a&&t.mcp!==null&&Object.keys(t.mcp.mcpServers).length>0))return [];let c={name:"agentsmesh",version:1,schema:"v1"};if(o&&t.rules.length>0&&(c.rules=t.rules.map(p=>({name:p.description||basename(p.source,".md"),rule:p.body.trim()}))),s&&t.commands.length>0&&(c.prompts=t.commands.map(p=>{let d={name:p.name};return p.description&&(d.description=p.description),d.prompt=p.body.trim(),d})),a&&t.mcp!==null){let p=Object.entries(t.mcp.mcpServers);p.length>0&&(c.mcpServers=p.map(([d,g])=>({name:d,...g})));}let m=stringify(c),u=await I(join(e,Js));return [{target:"continue",path:Js,content:m,currentContent:u??void 0,status:wP(u,m)}]},"generateContinueGlobalConfig");});function EP(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var uI,pI=f(()=>{E();Ke();mI();i(EP,"computeStatus");uI=i(async(t,e,r,n)=>{let o=await cI(t,e,r,n);if(r!=="global"||!n.has("rules"))return o;let s=t.rules.find(c=>c.root);if(!s)return o;let a=s.body.trim(),l=await I(join(e,Ao));return [...o,{target:"continue",path:Ao,content:a,currentContent:l??void 0,status:EP(l,a)}]},"generateContinueScopeExtras");});var bP,xP,PP,AP,ja,Um=f(()=>{Qy();Ke();jm();oI();iI();lI();Ma();Ut();pI();bP={name:"continue",primaryRootInstructionPath:Sr,generateRules:Yy,generateCommands:Xy,generateSkills:qy,generateMcp:Zy,importFrom:Ga},xP={rootInstructionPath:Sr,skillDir:".continue/skills",managedOutputs:{dirs:[".continue/prompts",".continue/rules",".continue/skills"],files:[".continue/mcpServers/agentsmesh.json"]},paths:{rulePath(t,e){return `${Ie}/${t}.md`},commandPath(t,e){return Hy(t)},agentPath(t,e){return null}}},PP={rootInstructionPath:Sr,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[Ao]}],skillDir:Be,managedOutputs:{dirs:[Ie,We,Be,".agents/skills"],files:[ha,Ao,Js]},mirrorGlobalPath(t,e){return t.startsWith(`${Be}/`)?`.agents/skills/${t.slice(Be.length+1)}`:null},paths:{rulePath(t,e){return `${Ie}/${t}.md`},commandPath(t,e){return `${We}/${t}.md`},agentPath(t,e){return null}}},AP={rules:"native",additionalRules:"native",commands:"native",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},ja={id:"continue",generators:bP,capabilities:{rules:"native",additionalRules:"native",commands:"embedded",agents:"none",skills:"embedded",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},emptyImportMessage:"No Continue config found (.continue/rules/*.md, .continue/skills, or .continue/mcpServers/*).",lintRules:sI,lint:{commands:aI},project:xP,globalSupport:{capabilities:AP,detectionPaths:[Ie,We,".continue/mcpServers",Be],layout:PP,scopeExtras:uI},importer:{rules:{feature:"rules",mode:"directory",source:{project:[Ie],global:[Ie]},canonicalDir:ya,extensions:[".md"],map:rI},commands:{feature:"commands",mode:"directory",source:{project:[We],global:[We]},canonicalDir:Ia,extensions:[".md"],map:nI}},buildImportPaths:tm,detectionPaths:[".continue/rules",".continue/skills",".continue/mcpServers"]};});var xr,Hn,dI,zn,sn,tr,er,Vn,Jn,Ua,Wa,fI,Bm,gI,an,Ko,Pr,Ho,Yn,Km,Hm,ee=f(()=>{xr="copilot",Hn=".github/copilot-instructions.md",dI=".github/copilot",zn=".github/instructions",sn=".github/prompts",tr=".github/hooks",er=".github/skills",Vn=".github/agents",Jn=".agentsmesh/rules",Ua=".agentsmesh/commands",Wa=".agentsmesh/agents",fI=".agentsmesh/skills",Bm=".agentsmesh/hooks.yaml",gI=".github/copilot-hooks",an=".copilot/copilot-instructions.md",Ko=".copilot/agents",Pr=".copilot/skills",Ho=".copilot/prompts",Yn=".copilot/AGENTS.md",Km=".claude/skills",Hm=".agents/skills";});function hI(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):typeof t=="string"&&t.length>0?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Ba(t){return `${sn}/${t}.prompt.md`}function yI(t){let e={agent:"agent",description:t.description||void 0,"x-agentsmesh-kind":"command","x-agentsmesh-name":t.name,"x-agentsmesh-allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return e.description===void 0&&delete e.description,e["x-agentsmesh-allowed-tools"]===void 0&&delete e["x-agentsmesh-allowed-tools"],N(e,t.body.trim()||"")}function II(t,e){let n=((typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"")||basename(e,".prompt.md")).trim(),o=hI(t["x-agentsmesh-allowed-tools"]),s=o.length>0?o:hI(t.tools);return {name:n,description:typeof t.description=="string"?t.description:"",allowedTools:s}}var Ka=f(()=>{F();ee();i(hI,"toStringArray");i(Ba,"commandPromptPath");i(yI,"serializeCommandPrompt");i(II,"parseCommandPromptFrontmatter");});function Ha(t){return cr(t)}var zm=f(()=>{ce();i(Ha,"hasHookCommand");});function NP(t){let e=basename(t,".md");return e==="_root"?"root":e}function DP(t){switch(t){case "PreToolUse":return "preToolUse";case "PostToolUse":return "postToolUse";case "Notification":return "notification";case "UserPromptSubmit":return "userPromptSubmitted";default:return null}}function SI(t){let e=[],r=t.rules.find(n=>n.root);r?.body.trim()&&e.push(r.body.trim());for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("copilot"))continue;let o=n.body.trim();if(!o)continue;let s=n.description?`## ${n.description}`:null;s?e.push(`${s}
85
+
86
+ ${o}`):e.push(o);}return e.join(`
87
+
88
+ `)}function _I(t){let e=t.rules.find(n=>n.root),r=[];e&&r.push({path:Hn,content:e.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("copilot")||n.globs.length===0)continue;let o=NP(n.source),s={description:n.description||void 0,applyTo:n.globs.length===1?n.globs[0]:n.globs};Object.keys(s).forEach(l=>{s[l]===void 0&&delete s[l];});let a=N(s,n.body.trim()||"");r.push({path:`${zn}/${o}.instructions.md`,content:a});}return r}function RI(t){return t.commands.map(e=>({path:Ba(e.name),content:yI(e)}))}function CI(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=N(n,r.body.trim()||"");e.push({path:`${er}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${er}/${r.name}/${a}`,content:s.content});}}return e}function kI(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,model:e.model||void 0,"mcp-servers":e.mcpServers.length>0?e.mcpServers:void 0,skills:e.skills.length>0?e.skills:void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=N(r,e.body.trim()||"");return {path:`${Vn}/${e.name}.agent.md`,content:n}})}function wI(t){if(!t.hooks)return [];let e=Object.fromEntries(Object.entries(t.hooks).flatMap(([r,n])=>{let o=DP(r);if(!o||!Array.isArray(n))return [];let s=n.filter(a=>typeof a=="object"&&a!==null&&Ha(a)).map((a,l)=>{let m={type:"command",bash:`./scripts/${r.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}-${l}.sh`,comment:`Matcher: ${a.matcher}`};return a.timeout!==void 0&&(m.timeoutSec=Math.ceil(a.timeout/1e3)),m});return s.length>0?[[o,s]]:[]}));return Object.keys(e).length===0?[]:[{path:`${tr}/agentsmesh.json`,content:JSON.stringify({version:1,hooks:e},null,2)}]}var OI=f(()=>{F();ee();Ka();zm();i(NP,"ruleSlug");i(DP,"mapHookEvent");i(SI,"renderCopilotGlobalInstructions");i(_I,"generateRules");i(RI,"generateCommands");i(CI,"generateSkills");i(kI,"generateAgents");i(wI,"generateHooks");});function vP(t){switch(t){case "preToolUse":return "PreToolUse";case "postToolUse":return "PostToolUse";case "notification":return "Notification";case "userPromptSubmitted":return "UserPromptSubmit";default:return null}}function $P(t){return typeof t!="string"?"*":t.match(/^Matcher:\s*(.+)$/)?.[1]?.trim()||"*"}function xI(t){let e=t.match(/^# agentsmesh-command:\s*(.+)$/m);return e?.[1]?e[1].trim():t.replace(/^#!.*\n/,"").replace(/^#.*\n/gm,"").replace(/^HOOK_DIR=.*\n/gm,"").replace(/^set -e\n?/m,"").trim()}async function PI(t,e){let r=join(t,tr),o=(await P(r).catch(()=>[])).filter(u=>u.endsWith(".json")),s={};for(let u of o){let p=await I(u);if(!p)continue;let d;try{d=JSON.parse(p);}catch{continue}if(!(!d||typeof d.hooks!="object"||d.hooks===null))for(let[g,h]of Object.entries(d.hooks)){let R=vP(g);if(!(!R||!Array.isArray(h)))for(let C of h){if(!C||typeof C!="object")continue;let S=C,w=typeof S.bash=="string"?S.bash:"";if(!w)continue;let D=join(r,w.replace(/^\.\//,"")),b=await I(D);if(!b)continue;let x=xI(b);x&&(s[R]||(s[R]=[]),s[R].push({matcher:$P(S.comment),command:x,type:"command"}));}}}let a=join(t,gI),c=(await P(a).catch(()=>[])).filter(u=>dirname(u)===a&&/^[^-]+-\d+\.sh$/i.test(basename(u)));for(let u of c){let p=await I(u);if(!p)continue;let d=basename(u,".sh"),g=d.lastIndexOf("-"),h=g>0?d.slice(0,g):d;s[h]||(s[h]=[]),s[h].push({matcher:"*",command:xI(p),type:"command"});}if(Object.keys(s).length===0)return;let m=join(t,Bm);await k(dirname(m)),await _(m,stringify(s)),e.push({fromTool:xr,fromPath:join(t,tr),toPath:Bm,feature:"hooks"});}var AI=f(()=>{E();ee();i(vP,"mapCopilotHookEvent");i($P,"extractMatcher");i(xI,"extractWrapperCommand");i(PI,"importHooks");});async function TI(t,e,r,n=er){let o=join(t,n),s=await on(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:fI,targetName:xr,normalize:r,results:e};for(let[l,c]of s)await Ze(l,c,a);}var LI=f(()=>{Uo();ee();i(TI,"importSkills");});async function za(t,e={}){let r=e.scope??"project",n=[],o=await H(xr,t,r);return n.push(...await gt(Va,t,r,{normalize:o})),await TI(t,n,o,r==="global"?Pr:er),r==="project"&&await PI(t,n),n}var Vm=f(()=>{bt();Me();ee();AI();LI();Jm();i(za,"importFromCopilot");});function NI(t){for(let e of Object.keys(t))t[e]===void 0&&delete t[e];return t}var DI,FI,vI,$I,MI=f(()=>{F();Y();he();Ka();ee();i(NI,"pruneUndefined");DI=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=t.replace(/\.instructions\.md$/i,".md"),o=join(r,n),{frontmatter:s,body:a}=O(e(o)),l=dr(s.globs),c=NI({root:false,description:typeof s.description=="string"?s.description:void 0,globs:l.length>0?l:void 0});return {destPath:o,toPath:`${Jn}/${n}`,content:await $(o,c,a)}},"copilotLegacyRuleMapper"),FI=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=t.endsWith(".instructions.md")?t.replace(/\.instructions\.md$/i,".md"):t,o=join(r,n),{frontmatter:s,body:a}=O(e(o)),l=dr(s.applyTo!==void 0?s.applyTo:s.globs),c=NI({root:false,description:typeof s.description=="string"?s.description:void 0,globs:l.length>0?l:void 0});return {destPath:o,toPath:`${Jn}/${n}`,content:await $(o,c,a)}},"copilotNewRuleMapper"),vI=i(async({absolutePath:t,relativePath:e,normalizeTo:r,destDir:n})=>{let o=e.replace(/\.prompt\.md$/i,".md"),s=join(n,o),{frontmatter:a,body:l}=O(r(s)),c=II(a,t),m=o.includes("/")?o.slice(0,o.lastIndexOf("/")):"",u=`${c.name}.md`,p=m?`${m}/${u}`:u,d=join(n,p);return {destPath:d,toPath:`${Ua}/${p}`,content:await Q(d,{description:c.description,hasDescription:Object.prototype.hasOwnProperty.call(a,"description"),allowedTools:c.allowedTools,hasAllowedTools:Object.prototype.hasOwnProperty.call(a,"tools")||Object.prototype.hasOwnProperty.call(a,"x-agentsmesh-allowed-tools")},l)}},"copilotCommandMapper"),$I=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{if(!t.endsWith(".agent.md"))return null;let n=t.replace(/\.agent\.md$/i,".md"),o=basename(n,".md"),s=join(r,n),{frontmatter:a,body:l}=O(e(s));return {destPath:s,toPath:`${Wa}/${n}`,content:await $t(s,{...a,name:typeof a.name=="string"?a.name:o},l)}},"copilotAgentMapper");});function GI(t,e,r,n){let s=lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(l=>({...l,target:xr})),a=t.rules.filter(l=>!l.root&&l.globs.length===0);return [...s,...a.map(l=>({level:"warning",file:l.source,target:xr,message:"Copilot path-specific instructions require applyTo globs; non-root rules without globs are not generated."}))]}var jI=f(()=>{ye();ee();i(GI,"lintRules");});function UI(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>V(e.source,"copilot","Copilot prompt files do not enforce canonical allowed-tools natively."))}function WI(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=["PreToolUse","PostToolUse","Notification","UserPromptSubmit"],r=new Set(e),n=Object.keys(t.hooks).filter(s=>!r.has(s)).map(s=>Wo(s,"copilot",e,{unsupportedBy:"Copilot hooks"}));return Object.values(t.hooks).some(s=>Array.isArray(s)&&s.length>0)&&n.push(V(".agentsmesh/hooks.yaml","copilot","copilot hooks are emitted as .github/hooks/scripts/*.sh wrapper scripts with a `#!/usr/bin/env bash` header; they require a POSIX shell (git-bash or WSL) to execute on Windows.")),n}var BI=f(()=>{Wt();i(UI,"lintCommands");i(WI,"lintHooks");});function WP(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function BP(t,e){let r=relative(t,e).replace(/\\/g,"/");return !r||r.startsWith("../")?null:r}function KP(t,e){let r=t.match(KI);if(!r?.groups)return t;let n=r.groups.prefix??"",o=r.groups.suffix??"";return `${n}"$HOOK_DIR/${e}"${o}`}async function HP(t,e){let n=e.match(KI)?.groups?.path;if(!n)return null;let o=join(t,n),s=await I(o);if(s===null)return null;let a=BP(t,o);return a?{assetPath:`${tr}/scripts/${a}`,content:s,rewrittenCommand:KP(e,a)}:null}function zP(t,e){return `${tr}/scripts/${WP(t)}-${e}.sh`}function VP(t,e){return ["#!/usr/bin/env bash",`# agentsmesh-matcher: ${e}`,`# agentsmesh-command: ${t}`,"set -e",t,""].join(`
89
+ `)}async function HI(t,e,r){if(!e.hooks)return r;let n=[],o=new Map;for(let[s,a]of Object.entries(e.hooks)){if(!Array.isArray(a))continue;let l=0;for(let c of a){if(!Ha(c))continue;let m=zP(s,l),u=c.command,p=await HP(t,c.command);p&&(u=p.rewrittenCommand,o.has(p.assetPath)||o.set(p.assetPath,{path:p.assetPath,content:p.content}));let d=VP(u,c.matcher).replace(`set -e
90
+ `,`set -e
91
+ HOOK_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
92
+ `);n.push({path:m,content:d}),l++;}}return [...r,...n,...o.values()]}var KI,zI=f(()=>{E();ee();zm();KI=/^(?<prefix>\s*(?:(?:bash|sh|zsh)\s+)?)["']?(?<path>(?:\.\.\/|\.\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?<suffix>(?:\s.*)?)$/;i(WP,"safePhaseName");i(BP,"toRepoRelative");i(KP,"rewriteWrapperCommand");i(HP,"buildAssetOutput");i(zP,"wrapperPath");i(VP,"buildWrapper");i(HI,"addHookScriptAssets");});function YP(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var VI,JI=f(()=>{E();ee();i(YP,"computeStatus");VI=i(async(t,e,r,n)=>{if(r!=="global"||!n.has("rules"))return [];let o=t.rules.find(l=>l.root);if(!o)return [];let s=o.body.trim(),a=await I(join(e,Yn));return [{target:"copilot",path:Yn,content:s,currentContent:a??void 0,status:YP(a,s)}]},"generateCopilotGlobalExtras");});var ZP,qP,QP,tA,Va,Jm=f(()=>{OI();ee();Vm();MI();jI();Ut();Ka();BI();zI();JI();ZP={name:"copilot",primaryRootInstructionPath:Hn,generateRules:_I,generateCommands:RI,generateAgents:kI,generateSkills:CI,generateHooks:wI,importFrom:za},qP={rootInstructionPath:Hn,outputFamilies:[{id:"instructions",kind:"additional",pathPrefix:".github/instructions/"}],extraRuleOutputPaths(t){if(t.root||t.globs.length===0)return [];let e=basename(t.source,".md");return [`${zn}/${e}.instructions.md`]},skillDir:".github/skills",managedOutputs:{dirs:[".github/agents",".github/instructions",".github/prompts",".github/skills",".github/hooks/scripts"],files:[".github/copilot-instructions.md",".github/hooks/agentsmesh.json"]},paths:{rulePath(t,e){return `${zn}/${t}.instructions.md`},commandPath(t,e){return Ba(t)},agentPath(t,e){return `${Vn}/${t}.agent.md`}}},QP={rootInstructionPath:an,renderPrimaryRootInstruction:SI,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[Yn]}],skillDir:Pr,managedOutputs:{dirs:[Ko,Pr,Ho,Hm,Km],files:[an,Yn]},rewriteGeneratedPath(t){return t===Hn?an:t.startsWith(`${zn}/`)?an:t.startsWith(`${sn}/`)?t.replace(`${sn}/`,`${Ho}/`):t.startsWith(`${Vn}/`)?t.replace(`${Vn}/`,`${Ko}/`):t.startsWith(`${er}/`)?t.replace(`${er}/`,`${Pr}/`):t.startsWith(`${tr}/`)?null:t},mirrorGlobalPath(t,e){if(t.startsWith(`${Pr}/`)&&!e.includes("codex-cli")){let r=t.slice(Pr.length+1);return [`.agents/skills/${r}`,`${Km}/${r}`]}return null},paths:{rulePath(t,e){return an},commandPath(t,e){return `${Ho}/${t}.prompt.md`},agentPath(t,e){return `${Ko}/${t}.agent.md`}}},tA={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},Va={id:"copilot",generators:ZP,capabilities:{rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"none",hooks:"partial",ignore:"none",permissions:"none"},emptyImportMessage:"No Copilot config found (.github/copilot-instructions.md, .github/copilot or .github/instructions, .github/prompts, .github/skills, .github/agents, or .github/hooks).",lintRules:GI,lint:{commands:UI,hooks:WI},postProcessHookOutputs:i(async(t,e,r)=>HI(t,e,[...r]),"postProcessHookOutputs"),project:qP,globalSupport:{capabilities:tA,detectionPaths:[an,Yn,Ko,Pr,Ho,Hm],layout:QP,scopeExtras:VI},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Hn],global:[an]},canonicalDir:Jn,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[dI]},canonicalDir:Jn,extensions:[".instructions.md"],map:DI},{feature:"rules",mode:"directory",source:{project:[zn]},canonicalDir:Jn,extensions:[".instructions.md",".md"],map:FI}],commands:{feature:"commands",mode:"directory",source:{project:[sn],global:[Ho]},canonicalDir:Ua,extensions:[".prompt.md"],map:vI},agents:{feature:"agents",mode:"directory",source:{project:[Vn],global:[Ko]},canonicalDir:Wa,extensions:[".agent.md"],map:$I}},buildImportPaths:em,detectionPaths:[".github/copilot-instructions.md",".github/copilot",".github/instructions",".github/prompts",".github/skills",".github/agents",".github/hooks"]};});function Ym(t){let e=[],r=t.rules.find(s=>s.root);if(r){let s=r.body.trim()?r.body:"";e.push({path:Hr,content:s});let a={alwaysApply:true};r.description&&(a.description=r.description);let l=N(a,s);e.push({path:_r,content:l});}let n=t.rules.filter(s=>!s.root&&(s.targets.length===0||s.targets.includes("cursor")));for(let s of n){let a=basename(s.source,".md"),c={alwaysApply:s.trigger==="always_on"};s.description&&(c.description=s.description),s.globs.length>0&&(c.globs=s.globs);let m=N(c,s.body.trim()||"");e.push({path:`${qt}/${a}.mdc`,content:m});}let o=YI(t);return o.trim()&&e.push({path:_e,content:o}),e}function YI(t){let e=t.rules.find(o=>o.root),r=t.rules.filter(o=>!o.root&&(o.targets.length===0||o.targets.includes("cursor"))),n=[];return e?.body.trim()?n.push(de(e.body,r)):r.length>0&&n.push(de("",r)),n.filter(Boolean).join(`
93
+
94
+ `)}var XI=f(()=>{F();Gr();ct();i(Ym,"generateRules");i(YI,"renderCursorGlobalUserRules");});function Xm(t){return t.commands.map(e=>({path:`${Qt}/${e.name}.md`,content:e.body.trim()||""}))}var ZI=f(()=>{ct();i(Xm,"generateCommands");});function Zm(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:ze,content:e}]}var qI=f(()=>{ct();i(Zm,"generateMcp");});function qm(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=N(n,r.body.trim()||"");e.push({path:`${He}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${He}/${r.name}/${a}`,content:s.content});}}return e}var QI=f(()=>{F();ct();i(qm,"generateSkills");});function Qm(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0,model:e.model||void 0,permissionMode:e.permissionMode||void 0,maxTurns:e.maxTurns>0?e.maxTurns:void 0,mcpServers:e.mcpServers.length>0?e.mcpServers:void 0,hooks:Object.keys(e.hooks).length>0?e.hooks:void 0,skills:e.skills.length>0?e.skills:void 0,memory:e.memory||void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=N(r,e.body.trim()||"");return {path:`${To}/${e.name}.md`,content:n}})}var tS=f(()=>{F();ct();i(Qm,"generateAgents");});function tu(t){return []}var eS=f(()=>{i(tu,"generatePermissions");});function rA(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!Te(s))continue;let a=ut(s),l=Ot(s),c=s.type==="prompt"?l||a:a||l,m={type:s.type==="prompt"?"prompt":"command",[s.type==="prompt"?"prompt":"command"]:c};s.timeout!==void 0&&(m.timeout=s.timeout),o.push({matcher:s.matcher,hooks:[m]});}o.length>0&&(e[r]=o);}return e}function eu(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=rA(t.hooks);if(Object.keys(e).length===0)return [];let r=JSON.stringify({version:1,hooks:e},null,2);return [{path:Ve,content:r}]}var rS=f(()=>{ce();ct();i(rA,"toCursorHooks");i(eu,"generateHooks");});function ru(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
95
+ `);return [{path:Se,content:e}]}var nS=f(()=>{ct();i(ru,"generateIgnore");});var oS=f(()=>{XI();ZI();qI();QI();tS();eS();rS();nS();});var sS=f(()=>{oS();});async function Ya(t,e,r,n){let o=t.replace(/\.mdc$/i,".md"),s=join(e,o),l=O(r(s)).frontmatter.alwaysApply===true,c=l?join(e,"_root.md"):s,{frontmatter:m,body:u}=O(r(c));l&&n();let p={...m,root:l};if(delete p.alwaysApply,!l){let d=nA(m);d!==null&&(p.trigger=d);}return {destPath:c,toPath:`${Je}/${l?"_root.md":o}`,feature:"rules",content:await $(c,p,u)}}function nA(t){return t.alwaysApply!==false?null:(Array.isArray(t.globs)?t.globs:[]).length>0?"glob":(typeof t.description=="string"?t.description:"").trim().length>0?"model_decision":"manual"}async function iS(t,e,r){let n=join(e,t),{frontmatter:o,body:s}=O(r(n)),a=Yt(o.allowedTools),l=a.length>0?a:Yt(o["allowed-tools"]);return {destPath:n,toPath:`${Jr}/${t}`,feature:"commands",content:await Q(n,{description:typeof o.description=="string"?o.description:"",hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),allowedTools:l,hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},s)}}async function aS(t,e,r){let n=join(e,t),{frontmatter:o,body:s}=O(r(n));return {destPath:n,toPath:`${Yr}/${t}`,feature:"agents",content:await $t(n,o,s)}}var nu=f(()=>{F();Y();he();ct();i(Ya,"mapCursorRuleFile");i(nA,"deriveCursorTrigger");i(iS,"mapCursorCommandFile");i(aS,"mapCursorAgentFile");});async function zo(t){let e=join(t.projectRoot,Je);await k(e);let r=join(e,"_root.md"),n=await Ge({content:t.content,projectRoot:t.projectRoot,rulesDir:Je,sourcePath:t.sourcePath,fromTool:"cursor",normalize:t.normalize});t.results.push(...n.results);let o=t.normalize(n.rootContent,t.sourcePath,r);if(!o.trim()&&n.results.length>0)return true;let{frontmatter:s,body:a}=O(o),l=s.root===true?s:{...s,root:true},c=await $(r,l,a);return await _(r,c),t.results.push({fromTool:"cursor",fromPath:t.sourcePath,toPath:`${Je}/_root.md`,feature:"rules"}),true}var ou=f(()=>{E();F();wo();Y();ct();i(zo,"importCursorRootFile");});async function cS(t,e,r){let n=join(t,Je),o=false,s=join(t,qt);if(e.push(...await st({srcDir:s,destDir:n,extensions:[".mdc"],fromTool:"cursor",normalize:r,mapEntry:i(async({srcPath:a,relativePath:l,normalizeTo:c})=>{if(o){let m=await I(a);if(m!==null){let{frontmatter:u}=O(m);if(u.alwaysApply===true)return null}}return Ya(l,n,c,()=>{o=true;})},"mapEntry")})),!o){let a=join(t,Hr),l=await I(a);l!==null&&(o=await zo({projectRoot:t,results:e,sourcePath:a,content:l,normalize:r}));}if(!o){let a=join(t,Ng),l=await I(a);l!==null&&await zo({projectRoot:t,results:e,sourcePath:a,content:l,normalize:r});}}var mS=f(()=>{E();F();$e();nu();ou();ct();i(cS,"importCursorRules");});function uS(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!s||typeof s!="object")continue;let a=s,l=typeof a.matcher=="string"?a.matcher:"";if(!l)continue;let c=Array.isArray(a.hooks)?a.hooks:[];for(let m of c){let u=m.type==="prompt"?"prompt":"command";if(!Te({...m,type:u}))continue;let p=u==="prompt"?Ot(m)||ut(m):ut(m)||Ot(m),d={matcher:l,type:u,command:p};typeof m.timeout=="number"&&(d.timeout=m.timeout),o.push(d);}}o.length>0&&(e[r]=o);}return e}async function qa(t,e){let r=false,n=join(t,Ve),o=await I(n);if(o)try{let u=JSON.parse(o);if(u.hooks&&typeof u.hooks=="object"){let p=uS(u.hooks);if(Object.keys(p).length>0){let d=stringify(p),g=join(t,Xs);await k(dirname(g)),await _(g,d),e.push({fromTool:"cursor",fromPath:n,toPath:Xs,feature:"hooks"}),r=!0;}}}catch{}let s=join(t,_a),a=await I(s);if(!a)return;let l;try{l=JSON.parse(a);}catch{return}let c=l.permissions;if(c&&typeof c=="object"&&!Array.isArray(c)){let u=c,p=Array.isArray(u.allow)?u.allow.filter(g=>typeof g=="string"):[],d=Array.isArray(u.deny)?u.deny.filter(g=>typeof g=="string"):[];if(p.length>0||d.length>0){let g=stringify({allow:p,deny:d}),h=join(t,nm);await k(dirname(h)),await _(h,g),e.push({fromTool:"cursor",fromPath:s,toPath:nm,feature:"permissions"});}}let m=r?void 0:l.hooks;if(m&&typeof m=="object"&&!Array.isArray(m)){let u=uS(m);if(Object.keys(u).length>0){let p=stringify(u),d=join(t,Xs);await k(dirname(d)),await _(d,p),e.push({fromTool:"cursor",fromPath:s,toPath:Xs,feature:"hooks"});}}}async function Qa(t,e){let r=[{path:join(t,Se),label:Se},{path:join(t,rm),label:rm}],n=[],o=[];for(let a of r){let l=await I(a.path);if(l!==null){o.push(a.label);for(let c of l.split(/\r?\n/)){let m=c.trim();m&&!n.includes(m)&&n.push(m);}}}if(n.length===0)return;let s=join(t,om);await k(dirname(s)),await _(s,n.join(`
96
+ `)+`
97
+ `),e.push({fromTool:"cursor",fromPath:join(t,o[0]),toPath:om,feature:"ignore"});}var iu=f(()=>{ce();E();ct();i(uS,"cursorHooksToCanonical");i(qa,"importSettings");i(Qa,"importIgnore");});async function tl(t,e,r,n=He){let o=join(t,n),s=await on(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:Dg,targetName:"cursor",normalize:r,results:e};for(let[u,p]of s)await Ze(u,p,a);let l=await P(o).catch(()=>[]),c=l.filter(u=>u.endsWith(".md")),m=new Set(Array.from(s.values()).flatMap(u=>l.filter(p=>p.startsWith(u))));for(let u of c){if(m.has(u))continue;let p=await I(u);if(!p)continue;let d=basename(u,".md");await Hh(d,u,p,a);}}var au=f(()=>{E();Uo();ct();i(tl,"importSkills");});async function pS(t){if(await L(join(t,qt)))return true;let e=[join(t,_e),join(t,Lo),join(t,Ys),join(t,Ve),join(t,Se),join(t,zr),join(t,Vr),join(t,Qt)];for(let s of e){let a=await I(s);if(a!==null&&a.trim()!=="")return true}return !!((await P(join(t,zr))).some(s=>s.endsWith(".md"))||(await P(join(t,Vr))).some(s=>s.endsWith(".md"))||(await P(join(t,Qt))).some(s=>s.endsWith(".md")))}async function dS(t,e,r){let n=join(t,Je),o=false,s=join(t,qt),a=await st({srcDir:s,destDir:n,extensions:[".mdc"],fromTool:Vo,normalize:r,mapEntry:i(async({srcPath:l,relativePath:c,normalizeTo:m})=>{if(o){let u=await I(l);if(u!==null){let{frontmatter:p}=O(u);if(p.alwaysApply===true)return null}}return Ya(c,n,m,()=>{o=true;})},"mapEntry")});return e.push(...a),o}async function fS(t,e,r){let n=join(t,Lo),o=await I(n);return o===null||o.trim()===""?false:zo({projectRoot:t,results:e,sourcePath:n,content:o.trim(),normalize:r})}async function gS(t,e,r){let n=join(t,_e),o=await I(n);return o===null||o.trim()===""?false:zo({projectRoot:t,results:e,sourcePath:n,content:o.trim(),normalize:r})}async function hS(t,e){let r=join(t,Ys),n=await I(r);if(n===null||n.trim()==="")return;let o;try{o=JSON.parse(n);}catch{return}if(!o||typeof o!="object"||!("mcpServers"in o))return;let s=join(t,No);await k(dirname(s)),await _(s,n),e.push({fromTool:Vo,fromPath:r,toPath:No,feature:"mcp"});}async function yS(t,e,r){let n=join(t,Vr),o=join(t,Yr);e.push(...await st({srcDir:n,destDir:o,extensions:[".md"],fromTool:Vo,normalize:r,mapEntry:i(({relativePath:s,normalizeTo:a})=>aS(s,o,a),"mapEntry")}));}async function IS(t,e,r){let n=join(t,Qt),o=join(t,Jr);e.push(...await st({srcDir:n,destDir:o,extensions:[".md"],fromTool:Vo,normalize:r,mapEntry:i(({relativePath:s,normalizeTo:a})=>iS(s,o,a),"mapEntry")}));}var Vo,SS=f(()=>{E();F();$e();ct();ou();nu();Vo="cursor";i(pS,"hasGlobalCursorArtifacts");i(dS,"importGlobalCursorRulesFromDir");i(fS,"importGlobalUserRules");i(gS,"importGlobalDotCursorAgents");i(hS,"importGlobalMcp");i(yS,"importGlobalAgents");i(IS,"importGlobalCommands");});async function _S(t){if(!await pS(t))return [];let e=[],r=await H(Vo,t,"global"),n=await dS(t,e,r);return n||(n=await fS(t,e,r)),n||await gS(t,e,r),await hS(t,e),await tl(t,e,r,zr),await yS(t,e,r),await IS(t,e,r),await qa(t,e),await Qa(t,e),e}var RS=f(()=>{bt();ct();au();iu();SS();i(_S,"importFromCursorGlobalExports");});async function lA(t,e){let r=join(t,ze),n=await I(r);if(!n)return;let o;try{o=JSON.parse(n);}catch{return}if(!o||typeof o!="object"||!("mcpServers"in o))return;let s=join(t,No);await k(dirname(s)),await _(s,n),e.push({fromTool:"cursor",fromPath:r,toPath:No,feature:"mcp"});}async function el(t,e={}){if(e.scope==="global")return _S(t);let r=[],n=await H("cursor",t);return await cS(t,r,n),r.push(...await gt(rl,t,"project",{normalize:n})),await tl(t,r,n),await lA(t,r),await qa(t,r),await Qa(t,r),r}var lu=f(()=>{bt();E();Me();mS();iu();au();RS();ct();cu();i(lA,"importMcp");i(el,"importFromCursor");});var wS,OS,ES=f(()=>{F();Y();he();ct();wS=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n)),a=Yt(o.allowedTools),l=a.length>0?a:Yt(o["allowed-tools"]);return {destPath:n,toPath:`${Jr}/${t}`,content:await Q(n,{description:typeof o.description=="string"?o.description:"",hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),allowedTools:l,hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},s)}},"cursorCommandMapper"),OS=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${Yr}/${t}`,content:await $t(n,o,s)}},"cursorAgentMapper");});function bS(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:Lg}))}var xS=f(()=>{ye();ct();i(bS,"lintRules");});function PS(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>V(e.source,"cursor","Cursor command files are plain Markdown; command description and allowed-tools metadata are not projected."))}function AS(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.mcp.mcpServers)){let o=n.env&&Object.keys(n.env).length>0,s="url"in n,a="headers"in n;(o||s||a)&&e.push(V(".agentsmesh/mcp.json","cursor",`MCP server "${r}" uses env vars or URL/header interpolation; Cursor handling may differ from canonical MCP.`));}return e}function TS(t){if(!t.permissions)return [];let e=t.permissions.ask?.length??0;return t.permissions.allow.length>0||t.permissions.deny.length>0||e>0?[V(".agentsmesh/permissions.yaml","cursor","Cursor permissions are partial; tool-level allow/deny may lose fidelity.")]:[]}var LS=f(()=>{Wt();i(PS,"lintCommands");i(AS,"lintMcp");i(TS,"lintPermissions");});var cA,mA,uA,pA,rl,cu=f(()=>{sS();ct();nn();lu();ES();xS();Ut();LS();cA={name:"cursor",primaryRootInstructionPath:_r,generateRules:Ym,generateCommands:Xm,generateAgents:Qm,generateSkills:qm,generateMcp:Zm,generatePermissions:tu,generateHooks:eu,generateIgnore:ru,importFrom:el},mA={rootInstructionPath:_r,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[Hr,_e]}],skillDir:".cursor/skills",managedOutputs:{dirs:[".cursor/agents",".cursor/commands",".cursor/rules",".cursor/skills"],files:[".cursor/hooks.json",".cursor/mcp.json",".cursorignore","AGENTS.md"]},paths:{rulePath(t,e){return `.cursor/rules/${t}.mdc`},commandPath(t,e){return `.cursor/commands/${t}.md`},agentPath(t,e){return `.cursor/agents/${t}.md`}}},uA={rootInstructionPath:_r,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[Hr,_e]}],skillDir:zr,managedOutputs:{dirs:[qt,Qt,Vr,zr],files:[_r,_e,Ys,Ve,Se,Lo]},rewriteGeneratedPath(t){return t===Hr?null:t===_e||t===_r||t.startsWith(`${qt}/`)||t.startsWith(`${Qt}/`)||t.startsWith(`${To}/`)||t.startsWith(`${He}/`)||t===ze||t===Ve||t===Se?t:t===_a?null:t},mirrorGlobalPath(t,e){return xt(t,He,e)},paths:{rulePath(t,e){return `${qt}/${t}.mdc`},commandPath(t,e){return `${Qt}/${t}.md`},agentPath(t,e){return `${Vr}/${t}.md`}}},pA={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},rl={id:"cursor",generators:cA,capabilities:{rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"partial"},emptyImportMessage:"No Cursor config found (AGENTS.md or .cursor/rules/*.mdc; with --global: ~/.cursor/{rules/*.mdc,AGENTS.md,mcp.json,hooks.json,cursorignore,skills/,agents/,commands/} and legacy ~/.agentsmesh-exports/cursor/user-rules.md).",lintRules:bS,lint:{commands:PS,mcp:AS,permissions:TS},project:mA,globalSupport:{capabilities:pA,detectionPaths:[_r,_e,ze,Ve,Se,He,Vr,Qt,Lo],layout:uA},importer:{commands:{feature:"commands",mode:"directory",source:{project:[Qt]},canonicalDir:Jr,extensions:[".md"],map:wS},agents:{feature:"agents",mode:"directory",source:{project:[To]},canonicalDir:Yr,extensions:[".md"],map:OS}},buildImportPaths:sm,detectionPaths:[".cursor/rules",".cursor/mcp.json"],preservesManualActivation:true};});var ln,re,rr,NS,DS,Bt,nl,Xn,ol,Ii,cn,FS,vS,mn,sl,Si,_i,mu,uu,Jo,pu,Yo,Xo,il,Zo,Zn,Ri,pt=f(()=>{ln="gemini-cli",re="GEMINI.md",rr="AGENTS.md",NS=".gemini/rules",DS=".gemini/GEMINI.md",Bt=".gemini/commands",nl=".gemini/policies",Xn=".gemini/settings.json",ol=".geminiignore",Ii=".gemini/skills",cn=".gemini/agents",FS=".gemini/system.md",vS=`${nl}/permissions.toml`,mn=".agentsmesh/rules",sl=".agentsmesh/commands",Si=".agentsmesh/agents",_i=".agentsmesh/skills",mu=".agentsmesh/mcp.json",uu=".agentsmesh/hooks.yaml",Jo=".agentsmesh/ignore",pu=".agentsmesh/permissions.yaml",Yo=".gemini/GEMINI.md",Xo=".gemini/AGENTS.md",il=".gemini/settings.json",Zo=".gemini/commands",Zn=".gemini/skills",Ri=".gemini/agents";});function du(t){let e=t.rules.find(s=>s.root),r=t.rules.filter(s=>!(s.root||s.targets.length>0&&!s.targets.includes("gemini-cli")));if(!e&&r.length===0)return [];let n=de(e?.body.trim()??"",r),o=[{path:re,content:n}];if(e){let s=e.body.trim().replace(/\.agentsmesh\/skills\//g,".agents/skills/");o.push({path:rr,content:s});}return o}var $S=f(()=>{Gr();pt();i(du,"generateRules");});function MS(t,e){let r=t.split(":").filter(Boolean),n=r.length>0?r.pop():t;return [e,...r,`${n}.toml`].join("/")}var GS=f(()=>{i(MS,"canonicalCommandNameToGeminiTomlPath");});function dA(t){let e=t.replace(/\r\n/g,`
98
+ `);return e.includes('"""')?JSON.stringify(e):`"""
99
+ ${e}
100
+ """`}function fA(t){return [`description = ${JSON.stringify(t.description||t.name)}`,`prompt = ${dA(t.body.trim()||"")}`].join(`
101
+ `)+`
102
+ `}function fu(t){return t.commands.map(e=>({path:MS(e.name,Bt),content:fA(e)}))}var jS=f(()=>{pt();GS();i(dA,"serializeTomlMultilineLiteral");i(fA,"serializeGeminiCommand");i(fu,"generateCommands");});function gu(t){return t.agents.map(e=>{let r={name:e.name,kind:"local",description:e.description||void 0,tools:e.tools.length>0?e.tools:void 0,model:e.model||void 0,maxTurns:e.maxTurns>0?e.maxTurns:void 0,permissionMode:e.permissionMode||void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=N(r,e.body.trim()||"");return {path:`${cn}/${e.name}.md`,content:n}})}var US=f(()=>{F();pt();i(gu,"generateAgents");});function hu(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=N(n,r.body.trim()||"");e.push({path:`${Ii}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${Ii}/${r.name}/${a}`,content:s.content});}}return e}var WS=f(()=>{F();pt();i(hu,"generateSkills");});function gA(t){switch(t){case "PreToolUse":return "BeforeTool";case "PostToolUse":return "AfterTool";case "Notification":return "Notification";default:return null}}function yu(t){let e={},r=false;if(t.mcp&&Object.keys(t.mcp.mcpServers).length>0&&(e.mcpServers=t.mcp.mcpServers,r=true),t.agents.length>0&&(e.experimental={enableAgents:true},r=true),t.hooks){let n=Object.entries(t.hooks).flatMap(([o,s])=>{let a=gA(o);if(!a||!Array.isArray(s))return [];let l=s.filter(c=>typeof c=="object"&&c!==null&&cr(c)).map((c,m)=>({matcher:c.matcher,hooks:[{name:`${a}-${m+1}`,type:"command",command:ut(c),timeout:c.timeout}]}));return l.length>0?[[a,l]]:[]});n.length>0&&(e.hooks=Object.fromEntries(n),r=true);}return r&&(e.context={fileName:[re,rr]}),Object.keys(e).length===0?[]:[{path:Xn,content:JSON.stringify(e,null,2)}]}var Iu=f(()=>{ce();pt();i(gA,"mapHookEvent");i(yu,"generateGeminiSettingsFiles");});function Su(t){return !t.ignore||t.ignore.length===0?[]:[{path:ol,content:t.ignore.join(`
103
+ `)}]}var BS=f(()=>{pt();i(Su,"generateIgnore");});var KS=f(()=>{$S();jS();US();WS();Iu();BS();});var HS=f(()=>{KS();});function qn(t){return JSON.stringify(t)}function hA(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function yA(t){let e=t.match(/^Bash\((.*)\)$/);if(e&&typeof e[1]=="string")return {kind:"bash",prefix:e[1]};let r=t.match(/^Read\((.*)\)$/);return r&&typeof r[1]=="string"?{kind:"read",path:r[1]}:t==="Read"||t==="Grep"||t==="LS"||t==="WebFetch"?{kind:"tool",tool:t}:{kind:"unknown",raw:t}}function al(t,e,r){return ["[[rule]]",`decision = ${qn(t)}`,`priority = ${e}`,...r,""].join(`
104
+ `)}function zS(t,e,r){let n=yA(t),o={Read:"read_file",Grep:"grep_search",LS:"list_directory",WebFetch:"web_fetch",Bash:"run_shell_command"};if(n.kind==="tool"){let s=o[n.tool]??n.tool;return al(e,r,[`toolName = ${qn(s)}`])}if(n.kind==="bash"){let s=n.prefix.replace(/:\*$/u,"").replace(/\*$/u,"").trim();return al(e,r,[`toolName = ${qn(o.Bash)}`,`commandPrefix = ${qn(s)}`])}return n.kind==="read"?al(e,r,[`toolName = ${qn(o.Read)}`,`argsPattern = ${qn(hA(n.path))}`]):al(e,r,[`toolName = ${qn(n.raw)}`])}function VS(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions;if(e.length+r.length===0)return [];let o=[];return e.forEach((s,a)=>{let l=zS(s,"allow",100+a);l&&o.push(l);}),r.forEach((s,a)=>{let l=zS(s,"deny",200+a);l&&o.push(l);}),o.length===0?[]:[{path:vS,content:o.join(`
105
+ `)}]}var JS=f(()=>{pt();i(qn,"escapeTomlBasicString");i(hA,"escapeRegexLiteral");i(yA,"parsePermissionExpr");i(al,"ruleForDecision");i(zS,"permissionExprToGeminiRule");i(VS,"generateGeminiPermissionsPolicies");});function _u(t){switch(t){case "BeforeTool":case "preToolUse":return "PreToolUse";case "AfterTool":case "postToolUse":return "PostToolUse";case "Notification":case "notification":return "Notification";default:return null}}function ll(t){let e=t.indexOf("---"),r=t.indexOf("+++");if(e===0&&(r===-1||e<=r))return O(t);if(r===0){let n=t.indexOf("+++",3);if(n!==-1)try{let o=t.slice(3,n).trim(),s=t.slice(n+3).trim();return {frontmatter:o===""?{}:parse$1(o)??{},body:s}}catch{return {frontmatter:{},body:t.trim()}}}return {frontmatter:{},body:t.trim()}}var Ru=f(()=>{F();i(_u,"mapGeminiHookEvent");i(ll,"parseFlexibleFrontmatter");});async function Cu(t,e){let r=join(t,Xn),n=await I(r);if(n===null)return;let o;try{o=JSON.parse(n);}catch{}if(!o)return;let s=o.mcpServers;if(s!==void 0&&typeof s=="object"&&s!==null&&Object.keys(s).length>0){let c=join(t,mu);await k(join(t,".agentsmesh")),await _(c,JSON.stringify({mcpServers:s},null,2)),e.push({fromTool:"gemini-cli",fromPath:r,toPath:mu,feature:"mcp"});}let a=o.ignorePatterns;if(Array.isArray(a)&&a.length>0&&a.every(c=>typeof c=="string")){let c=join(t,Jo);await k(join(t,".agentsmesh")),await _(c,a.join(`
106
+ `)+`
107
+ `),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Jo,feature:"ignore"});}let l=o.hooks;if(l!==void 0&&typeof l=="object"&&l!==null){let c=Object.entries(l).flatMap(([m,u])=>{let p=_u(m);if(!p||!Array.isArray(u))return [];let d=u.filter(g=>g!==null&&typeof g=="object"&&typeof g.matcher=="string"&&Array.isArray(g.hooks)).flatMap(g=>g.hooks.filter(h=>h!==null&&typeof h=="object"&&cr(h)).map(h=>({matcher:g.matcher,command:ut(h),type:"command",timeout:typeof h.timeout=="number"?h.timeout:void 0})));if(d.length===0){let g=u.filter(h=>h!==null&&typeof h=="object"&&typeof h.matcher=="string"&&cr(h)).map(h=>({matcher:h.matcher,command:ut(h),type:"command"}));return g.length>0?[[p,g]]:[]}return d.length>0?[[p,d]]:[]});if(c.length>0){let m=Object.fromEntries(c),u=join(t,uu);await k(join(t,".agentsmesh")),await _(u,stringify(m,{lineWidth:0}).trimEnd()),e.push({fromTool:"gemini-cli",fromPath:r,toPath:uu,feature:"hooks"});}}}var YS=f(()=>{ce();E();pt();Ru();i(Cu,"importGeminiSettings");});async function XS(t,e){let r=join(t,ol),n=await I(r);if(n!==null&&n.trim()){let o=n.split(/\r?\n/).map(s=>s.trim()).filter(s=>s&&!s.startsWith("#"));if(o.length>0){await k(join(t,".agentsmesh"));let s=join(t,Jo);await _(s,o.join(`
108
+ `)+`
109
+ `),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Jo,feature:"ignore"});}}}var wu=f(()=>{E();pt();Ru();YS();i(XS,"importGeminiIgnore");});function CA(t){return t.replace(/\\(.)/g,"$1")}function kA(t){switch(t){case "read_file":return "Read";case "grep_search":return "Grep";case "list_directory":return "LS";case "web_fetch":return "WebFetch";case "run_shell_command":return "Bash";default:return null}}function wA(t){return `Bash(${t}:*)`}function OA(t){return `Read(${CA(t)})`}async function ZS(t){let e=[],r=join(t,nl),n;try{n=await P(r);}catch{return e}let o=n.filter(p=>p.endsWith(".toml"));if(o.length===0)return e;let s=[],a=[],l=new Set,c=new Set;for(let p of o){let d=await I(p);if(!d)continue;let g;try{g=parse$1(d);}catch{continue}let h=g&&typeof g=="object"&&"rule"in g?g.rule:void 0;if(Array.isArray(h))for(let R of h){if(!R||typeof R!="object")continue;let C=R,S=typeof C.toolName=="string"?C.toolName:null,w=typeof C.decision=="string"?C.decision:null;if(!S||!w)continue;let D=kA(S);if(!D)continue;let b=null;D==="Bash"?typeof C.commandPrefix=="string"&&C.commandPrefix.trim()&&(b=wA(C.commandPrefix.trim())):D==="Read"?typeof C.argsPattern=="string"&&C.argsPattern.trim()?b=OA(C.argsPattern.trim()):b="Read":b=D,b&&(w==="allow"?l.has(b)||(l.add(b),s.push(b)):w==="deny"&&(c.has(b)||(c.add(b),a.push(b))));}}if(s.length===0&&a.length===0)return e;await k(join(t,".agentsmesh"));let m=join(t,pu),u=stringify({allow:s,deny:a});return await _(m,u.trimEnd()+`
110
+ `),e.push({fromTool:ln,fromPath:join(t,nl),toPath:pu,feature:"permissions"}),e}var qS=f(()=>{E();pt();i(CA,"unescapeRegexLiteral");i(kA,"toolNameToPermissionBase");i(wA,"commandPrefixToBashExpr");i(OA,"argsPatternToReadExpr");i(ZS,"importGeminiPolicies");});function Ou(t,e){let r=new Set([e,e.replace(/\\/g,"/"),e.replace(/\//g,"\\")]);try{r.add(realpathSync(e)),r.add(realpathSync.native(e));}catch{}return Array.from(r).reduce((o,s)=>{let a=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return o.replace(new RegExp(`${a}[/\\\\]\\.agentsmesh[/\\\\]`,"g"),".agentsmesh/").replaceAll(`${s}/.agentsmesh`,".agentsmesh").replaceAll(`${s}\\.agentsmesh`,".agentsmesh")},t).replace(/(?:[A-Za-z]:)?[^\s"'`()<>]+[/\\]\.agentsmesh[/\\]/g,".agentsmesh/")}var t_=f(()=>{i(Ou,"stripProjectRootCanonicalPrefix");});async function r_(t,e,r){let n=join(t,Ii),s=(await P(n)).filter(l=>basename(l)==="SKILL.md");for(let l of s){let c=await I(l);if(!c)continue;let m=basename(l.slice(0,-9)),u=O(c),p=jr(u.frontmatter,m);if(p){let w=join(t,Si);await k(w);let D=join(w,`${p.name}.md`);await _(D,je(p,r(u.body,l,D))),e.push({fromTool:"gemini-cli",fromPath:l,toPath:`${Si}/${p.name}.md`,feature:"agents"});continue}let d=join(t,_i,m,"SKILL.md"),g=r(c,l,d),h=join(t,_i,m);await k(h);let{frontmatter:R,body:C}=O(g);await _(d,await Le(d,{...R,name:m},C)),e.push({fromTool:"gemini-cli",fromPath:l,toPath:`${_i}/${m}/SKILL.md`,feature:"skills"});let S=await P(dirname(l));for(let w of S){if(w===l)continue;let D=await I(w);if(D===null)continue;let b=relative(dirname(l),w).replace(/\\/g,"/"),x=join(h,b);await k(dirname(x)),await _(x,r(D,w,x)),e.push({fromTool:"gemini-cli",fromPath:w,toPath:`${_i}/${m}/${b}`,feature:"skills"});}}let a=join(t,cn);try{let c=(await P(a)).filter(m=>m.endsWith(".md"));for(let m of c){let u=await I(m);if(!u)continue;let{frontmatter:p,body:d}=O(u),h=relative(a,m).replace(/\\/g,"/").replace(/\.md$/i,".md"),R=join(t,Si);await k(R);let C=join(R,h),S=r(d,m,C);await _(C,await $t(C,{...p,name:typeof p.name=="string"?p.name:basename(h,".md"),maxTurns:p.maxTurns??p["max-turns"]??p.max_turns,permissionMode:p.permissionMode??p["permission-mode"]??p.permission_mode,disallowedTools:p.disallowedTools??p["disallowed-tools"]??p.disallowed_tools},S)),e.push({fromTool:"gemini-cli",fromPath:m,toPath:`${Si}/${h}`,feature:"agents"});}}catch{}}var n_=f(()=>{E();F();Y();Xt();pt();i(r_,"importGeminiSkillsAndAgents");});async function EA(t,e,r){let n=await H("codex-cli",t),o=join(t,mn),s=join(t,rr),a=join(t,DS),l=[s,a,join(t,re),join(t,FS)],c=null,m=l[l.length-1];for(let b of l){let x=await I(b);if(x!==null){c=x,m=b;break}}if(c===null)return;await k(o);let u=join(o,"_root.md"),p=m===s||m===a?n(c,m,u):c,d=await Ge({content:p,projectRoot:t,rulesDir:mn,sourcePath:m,fromTool:ln,normalize:r});e.push(...d.results);let g=r(d.rootContent,m,u),h=Ou(g.replace(/\.agents\/skills\//g,".agentsmesh/skills/").replace(/\.agents\\skills\\/g,".agentsmesh/skills/"),t),{frontmatter:R,body:C}=O(h),w=R.root===true?R:{...R,root:true},D=Ou(await $(u,w,C),t);await _(u,D),e.push({fromTool:ln,fromPath:m,toPath:`${mn}/_root.md`,feature:"rules"});}async function ml(t){let e=[],r=await H(ln,t);return await EA(t,e,r),e.push(...await gt(ul,t,"project",{normalize:r})),await r_(t,e,r),await Cu(t,e),await XS(t,e),e.push(...await ZS(t)),e}var xu=f(()=>{bt();E();F();Y();wo();Me();pt();Pu();wu();qS();t_();n_();i(EA,"importRootRule");i(ml,"importFromGemini");});async function s_(t,e,r){let n=t.replace(/\\/g,"/"),o=join(e,n),{frontmatter:s,body:a}=ll(r(o)),l=dr(s.globs),c={root:false,description:typeof s.description=="string"?s.description:void 0,globs:l.length>0?l:void 0};return Object.keys(c).forEach(m=>{c[m]===void 0&&delete c[m];}),{destPath:o,toPath:`${mn}/${n}`,feature:"rules",content:await $(o,c,a)}}async function i_(t,e,r){let n=t.replace(/\.(toml|md)$/i,".md").replace(/\\/g,"/"),o=join(e,n),s=r(o),{frontmatter:a,body:l}=t.endsWith(".toml")?xA(s):ll(s),c=Yt(a.allowedTools),m=Yt(a["allowed-tools"]),u=c.length>0?c:m;return {destPath:o,toPath:`${sl}/${n}`,feature:"commands",content:await Q(o,{description:typeof a.description=="string"?a.description:"",hasDescription:Object.prototype.hasOwnProperty.call(a,"description"),allowedTools:u,hasAllowedTools:Object.prototype.hasOwnProperty.call(a,"allowedTools")||Object.prototype.hasOwnProperty.call(a,"allowed-tools")},l)}}function xA(t){try{let e=parse$1(t);return {frontmatter:e,body:typeof e.prompt=="string"?e.prompt:""}}catch{return {frontmatter:{},body:t.trim()}}}var a_=f(()=>{Y();he();wu();pt();i(s_,"mapGeminiRuleFile");i(i_,"mapGeminiCommandFile");i(xA,"parseTomlCommand");});var l_,c_,m_=f(()=>{a_();l_=i(({relativePath:t,destDir:e,normalizeTo:r})=>s_(t,e,r),"geminiRuleMapper"),c_=i(({relativePath:t,destDir:e,normalizeTo:r})=>i_(t,e,r),"geminiCommandMapper");});function u_(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:ln}))}var p_=f(()=>{ye();pt();i(u_,"lintRules");});function d_(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>V(e.source,"gemini-cli","Gemini TOML command files do not project canonical allowed-tools metadata."))}function f_(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=["PreToolUse","PostToolUse","Notification"],r=new Set(e);return Object.keys(t.hooks).filter(n=>!r.has(n)).map(n=>Wo(n,"gemini-cli",e))}var g_=f(()=>{Wt();i(d_,"lintCommands");i(f_,"lintHooks");});function h_(t,e){return e==="project"&&un("gemini-cli",e)?.ignore.flavor!=="settings-embedded"?[]:yu(t)}var y_=f(()=>{rt();Iu();i(h_,"emitScopedGeminiSettings");});function S_(t){try{let e=JSON.parse(t);return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}catch{return {}}}function __(t,e){let r=S_(t),n=PA.parse(JSON.parse(e)),o={...r};n.permissions!==void 0&&(o.permissions=n.permissions),n.hooks!==void 0&&(o.hooks=n.hooks);let s=o.permissions;return s&&typeof s=="object"&&!Array.isArray(s)&&!("ask"in s)&&(s.ask=[]),JSON.stringify(o,null,2)}function R_(t,e){let r=S_(t),n=AA.parse(JSON.parse(e)),o={...r};return n.mcpServers!==void 0&&(o.mcpServers=n.mcpServers),n.hooks!==void 0&&(o.hooks=n.hooks),n.experimental!==void 0&&(o.experimental=n.experimental),n.context!==void 0&&(o.context=n.context),JSON.stringify(o,null,2)}var I_,PA,AA,Au=f(()=>{I_=[".claude/settings.json",".gemini/settings.json"],PA=z$1.object({permissions:z$1.object({allow:z$1.array(z$1.string()).optional(),deny:z$1.array(z$1.string()).optional()}).passthrough().optional(),hooks:z$1.record(z$1.string(),z$1.unknown()).optional()}).passthrough(),AA=z$1.object({mcpServers:z$1.record(z$1.string(),z$1.unknown()).optional(),hooks:z$1.record(z$1.string(),z$1.unknown()).optional(),experimental:z$1.record(z$1.string(),z$1.unknown()).optional(),context:z$1.record(z$1.string(),z$1.unknown()).optional()}).passthrough();i(S_,"parseJsonObject");i(__,"mergeSettingsJson");i(R_,"mergeGeminiSettingsJson");});var TA,LA,NA,DA,ul,Pu=f(()=>{HS();Cn();JS();pt();xu();m_();p_();Ut();yo();Xt();g_();y_();nn();Au();TA={name:"gemini-cli",primaryRootInstructionPath:re,generateRules:du,generateCommands:fu,generateAgents:gu,generateSkills:hu,generateIgnore:Su,generatePermissions:VS,importFrom:ml},LA={rootInstructionPath:re,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[rr]}],extraRuleOutputPaths(){return [rr]},skillDir:".gemini/skills",managedOutputs:{dirs:[".gemini/agents",".gemini/commands",".gemini/skills",".agents/skills"],files:["AGENTS.md","GEMINI.md",".gemini/settings.json",".gemini/policies/permissions.toml",".geminiignore"]},mirrorGlobalPath(t,e){return xt(t,".gemini/skills",e)},paths:{rulePath(t,e){return re},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),n=r.pop()??t;return `${Bt}/${r.join("/")}/${n}.toml`}return `${Bt}/${t}.toml`},agentPath(t,e){return me(e,"gemini-cli")?`.gemini/skills/${Lt(t)}/SKILL.md`:`${cn}/${t}.md`}}},NA={rootInstructionPath:Yo,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[Xo]}],extraRuleOutputPaths(){return [Xo]},skillDir:Zn,managedOutputs:{dirs:[Zo,Zn,Ri],files:[Yo,Xo,il]},rewriteGeneratedPath(t){return t===re?Yo:t===rr?Xo:t===Xn?il:t.startsWith(`${Bt}/`)?t.replace(`${Bt}/`,`${Zo}/`):t.startsWith(".gemini/skills/")?t.replace(".gemini/skills/",`${Zn}/`):t.startsWith(`${cn}/`)?t.replace(`${cn}/`,`${Ri}/`):t.startsWith(".gemini/policies/")||t===".geminiignore"?null:t},mirrorGlobalPath(t,e){return xt(t,Zn,e)},paths:{rulePath(t,e){return Yo},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),n=r.pop()??t;return `${Zo}/${r.join("/")}/${n}.toml`}return `${Zo}/${t}.toml`},agentPath(t,e){return me(e,"gemini-cli")?`${Zn}/${Lt(t)}/SKILL.md`:`${Ri}/${t}.md`}}},DA={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:"none",permissions:"none"},ul={id:"gemini-cli",generators:TA,capabilities:{rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:pe("native","settings-embedded"),permissions:"partial"},emptyImportMessage:"No Gemini CLI config found (GEMINI.md or .gemini/rules, .gemini/commands, .gemini/settings.json).",lintRules:u_,lint:{commands:d_,hooks:f_},emitScopedSettings:h_,mergeGeneratedOutputContent(t,e,r,n){let o=e?.content??t;return o!==null&&n===Xn?R_(o,r):null},project:LA,globalSupport:{capabilities:DA,detectionPaths:[Yo,Xo,il,Zo,Zn,Ri],layout:NA},importer:{rules:{feature:"rules",mode:"directory",source:{project:[NS]},canonicalDir:mn,extensions:[".md"],map:l_},commands:{feature:"commands",mode:"directory",source:{project:[Bt]},canonicalDir:sl,extensions:[".md",".toml"],map:c_}},buildImportPaths:im,detectionPaths:["GEMINI.md",".gemini"]};});function C_(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Ye,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("junie"))continue;let o=basename(n.source,".md");e.push({path:`${qs}/${o}.md`,content:n.body.trim()||""});}return e}function vA(t){let e={};return t.description&&(e.description=t.description),t.type!=="stdio"&&(e.type=t.type),Da(t)?(e.command=t.command,e.args=t.args):(e.url=t.url,Object.keys(t.headers).length>0&&(e.headers=t.headers)),Object.keys(t.env).length>0&&(e.env=t.env),e}function k_(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=Object.fromEntries(Object.entries(t.mcp.mcpServers).map(([r,n])=>[r,vA(n)]));return [{path:Zs,content:JSON.stringify({mcpServers:e},null,2)}]}function w_(t){return t.commands.map(e=>{let r={description:e.description||void 0};return r.description===void 0&&delete r.description,{path:`${Do}/${e.name}.md`,content:N(r,e.body.trim()||"")}})}function O_(t){return t.agents.map(e=>{let r={name:e.name,description:e.description||void 0,tools:e.tools.length>0?e.tools:void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0,model:e.model||void 0,skills:e.skills.length>0?e.skills:void 0};return Object.keys(r).forEach(n=>{r[n]===void 0&&delete r[n];}),{path:`${Fo}/${e.name}.md`,content:N(r,e.body.trim()||"")}})}function E_(t){return t.ignore.length===0?[]:[{path:Qs,content:t.ignore.join(`
111
+ `)}]}function b_(t){return Ne(t,Dn)}function x_(t){let e=t.rules.find(n=>n.root),r=t.rules.filter(n=>n.root?false:n.targets.length===0||n.targets.includes("junie"));return de(e?.body.trim()??"",r)}var P_=f(()=>{Fa();fe();Gr();F();vo();i(C_,"generateRules");i(vA,"toJunieMcpServer");i(k_,"generateMcp");i(w_,"generateCommands");i(O_,"generateAgents");i(E_,"generateIgnore");i(b_,"generateSkills");i(x_,"renderJunieGlobalInstructions");});async function $A(t,e,r){let n=[Ye,Ra,$g,Mg],o=join(t,am);for(let s of n){let a=join(t,s),l=await I(a);if(l===null)continue;let c=await Ge({content:l,projectRoot:t,rulesDir:ka,sourcePath:a,fromTool:Nn,normalize:r});e.push(...c.results);let{frontmatter:m,body:u}=O(r(c.rootContent,a,o)),p=await $(o,{root:true,description:typeof m.description=="string"?m.description:void 0,globs:Array.isArray(m.globs)?m.globs:void 0},u);await _(o,p),e.push({fromTool:Nn,fromPath:a,toPath:am,feature:"rules"});return}}async function pl(t){let e=[],r=await H(Nn,t);return await $A(t,e,r),e.push(...await gt(dl,t,"project",{normalize:r})),await De(t,Dn,Nn,e,r),e}var Tu=f(()=>{bt();E();F();fe();wo();Y();Me();vo();Lu();i($A,"importRootRule");i(pl,"importFromJunie");});function T_(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Nn}))}var L_=f(()=>{ye();vo();i(T_,"lintRules");});function N_(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.mcp.mcpServers))yy(n)&&e.push(V(".agentsmesh/mcp.json","junie",`MCP server "${r}" uses ${n.type} transport; Junie project mcp.json currently documents stdio MCP servers only.`));return e}var D_=f(()=>{Fa();Wt();i(N_,"lintMcp");});var MA,GA,jA,UA,dl,Lu=f(()=>{P_();vo();nn();Tu();L_();D_();Ut();MA={name:"junie",primaryRootInstructionPath:Ye,generateRules:C_,generateCommands:w_,generateAgents:O_,generateSkills:b_,generateMcp:k_,generateIgnore:E_,importFrom:pl},GA={rootInstructionPath:Ye,skillDir:".junie/skills",managedOutputs:{dirs:[".junie/agents",".junie/commands",".junie/rules",".junie/skills"],files:[".aiignore",".junie/AGENTS.md",".junie/mcp/mcp.json"]},paths:{rulePath(t,e){return `${qs}/${t}.md`},commandPath(t,e){return `${Do}/${t}.md`},agentPath(t,e){return `${Fo}/${t}.md`}}},jA={rootInstructionPath:Fn,renderPrimaryRootInstruction:x_,skillDir:ei,managedOutputs:{dirs:[ei,ri,ni,Gg],files:[Fn,Ca]},rewriteGeneratedPath(t){return t===Ye?Fn:t.startsWith(`${qs}/`)?Fn:t.startsWith(`${Dn}/`)?t.replace(`${Dn}/`,`${ei}/`):t.startsWith(`${Do}/`)?t.replace(`${Do}/`,`${ni}/`):t.startsWith(`${Fo}/`)?t.replace(`${Fo}/`,`${ri}/`):t===Zs?Ca:t===Qs?null:t},mirrorGlobalPath(t,e){return xt(t,".junie/skills",e)},paths:{rulePath(t,e){return Fn},commandPath(t,e){return `${ni}/${t}.md`},agentPath(t,e){return `${ri}/${t}.md`}}},UA={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},dl={id:"junie",generators:MA,capabilities:{rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},emptyImportMessage:"No Junie config found (.junie/guidelines.md, .junie/AGENTS.md, .junie/skills, .junie/mcp/mcp.json, or .aiignore).",lintRules:T_,lint:{mcp:N_},project:GA,globalSupport:{capabilities:UA,detectionPaths:[Fn,ei,ri,ni,Ca],layout:jA},importer:{rules:{feature:"rules",mode:"directory",source:{project:[".junie/rules"]},canonicalDir:ka,extensions:[".md"],preset:"rule"},commands:{feature:"commands",mode:"directory",source:{project:[".junie/commands"]},canonicalDir:jg,extensions:[".md"],preset:"command"},agents:{feature:"agents",mode:"directory",source:{project:[".junie/agents"]},canonicalDir:Ug,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Zs]},canonicalDir:".agentsmesh",canonicalFilename:Wg},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Qs]},canonicalDir:".agentsmesh",canonicalFilename:Bg}},buildImportPaths:lm,detectionPaths:[".junie/guidelines.md",".junie/AGENTS.md",".junie/skills",".junie/mcp/mcp.json",".aiignore"]};});function F_(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/_/g,"-").toLowerCase()}function KA(t){return t.type==="prompt"?t.prompt:t.command}function HA(t,e){let r=v_[t];return t==="PreToolUse"||t==="PostToolUse"?{type:r,tools:[e||"*"]}:{type:r}}function $_(t){let e=[];for(let[r,n]of Object.entries(t)){let o=r;if(!(o in v_)||!Array.isArray(n))continue;let s=1;for(let a of n){let l=KA(a);if(!l)continue;let c={name:`${F_(r)} ${s}`,version:"1",when:HA(o,a.matcher),then:a.type==="prompt"?{type:"askAgent",prompt:l}:{type:"shellCommand",command:l}};e.push({name:`${F_(r)}-${s}.kiro.hook`,content:JSON.stringify(c,null,2)}),s+=1;}}return e}function zA(t){let e=BA.get(t.when.type);if(!e)return null;let r=t.when.tools?.[0]??t.when.patterns?.[0]??"*";return t.then.type==="askAgent"&&typeof t.then.prompt=="string"?{event:e,entry:{matcher:r,command:t.then.prompt,prompt:t.then.prompt,type:"prompt"}}:t.then.type==="shellCommand"&&typeof t.then.command=="string"?{event:e,entry:{matcher:r,command:t.then.command,type:"command"}}:null}function M_(t){let e;try{e=JSON.parse(t);}catch{return null}if(!e||typeof e!="object"||Array.isArray(e))return null;let r=e;return !r.when||!r.then||typeof r.when.type!="string"?null:zA(r)}function G_(t){return stringify(t).trimEnd()}var v_,BA,Nu=f(()=>{v_={UserPromptSubmit:"promptSubmit",SubagentStop:"agentStop",PreToolUse:"preToolUse",PostToolUse:"postToolUse"},BA=new Map([["promptSubmit","UserPromptSubmit"],["agentStop","SubagentStop"],["preToolUse","PreToolUse"],["postToolUse","PostToolUse"]]);i(F_,"toKebab");i(KA,"hookText");i(HA,"toWhen");i($_,"generateKiroHooks");i(zA,"toCanonicalEntry");i(M_,"parseKiroHookFile");i(G_,"serializeCanonicalHooks");});function JA(t){let e={};return t.globs.length>0?(e.inclusion="fileMatch",e.fileMatchPattern=t.globs.length===1?t.globs[0]:t.globs):t.trigger==="manual"?e.inclusion="manual":t.trigger==="model_decision"?e.inclusion="auto":e.inclusion="always",t.description&&(e.description=t.description),e}function j_(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Re,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(jt))continue;let o=basename(n.source,".md");e.push({path:`${Ce}/${o}.md`,content:N(JA(n),n.body.trim()||"")});}return e}function U_(t){return Ne(t,te)}function W_(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:$o,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function B_(t){return !t.hooks||Object.keys(t.hooks).length===0?[]:$_(t.hooks).map(e=>({path:`${Zr}/${e.name}`,content:e.content}))}function K_(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,model:e.model||void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=N(r,e.body.trim()||"");return {path:`${ke}/${e.name}.md`,content:n}})}function H_(t){return t.ignore.length===0?[]:[{path:Mo,content:t.ignore.join(`
112
+ `)}]}var z_=f(()=>{fe();F();Nu();Go();i(JA,"steeringFrontmatter");i(j_,"generateRules");i(U_,"generateSkills");i(W_,"generateMcp");i(B_,"generateHooks");i(K_,"generateAgents");i(H_,"generateIgnore");});function XA(t){let e=typeof t.inclusion=="string"?t.inclusion:"",r={root:false,description:typeof t.description=="string"?t.description:void 0,globs:dr(t.fileMatchPattern)};return e==="manual"&&(r.trigger="manual"),e==="auto"&&(r.trigger="model_decision"),e==="fileMatch"&&(r.trigger="glob"),r}async function ZA(t,e,r,n){let o=n==="global"?[we,Re]:[Re,we];for(let s of o){let a=join(t,s),l=await I(a);if(l===null)continue;let c=join(t,cm),{frontmatter:m,body:u}=O(r(l,a,c));await _(c,await $(c,{...m,root:true},u)),e.push({fromTool:jt,fromPath:a,toPath:cm,feature:"rules"});return}}async function qA(t,e,r){let n=join(t,mm);e.push(...await st({srcDir:join(t,Ce),destDir:n,extensions:[".md"],fromTool:jt,normalize:r,mapEntry:i(async({relativePath:o,normalizeTo:s})=>{if(basename(o)==="AGENTS.md")return null;let a=join(n,o),{frontmatter:l,body:c}=O(s(a));return {destPath:a,toPath:`${mm}/${o}`,feature:"rules",content:await $(a,XA(l),c)}},"mapEntry")}));}async function QA(t,e){let r={};for(let o of await P(join(t,Zr))){if(!o.endsWith(".kiro.hook"))continue;let s=M_(await I(o)??"");s&&(r[s.event]??=[],r[s.event].push(s.entry));}if(Object.keys(r).length===0)return;let n=join(t,um);await k(join(t,".agentsmesh")),await _(n,G_(r)),e.push({fromTool:jt,fromPath:join(t,Zr),toPath:um,feature:"hooks"});}async function fl(t,e={}){let r=e.scope??"project",n=[],o=await H(jt,t,r);return await ZA(t,n,o,r),await qA(t,n,o),n.push(...await gt(gl,t,r,{normalize:o})),await De(t,te,jt,n,o),r==="project"&&await QA(t,n),n}var Du=f(()=>{bt();fe();$e();Me();Y();he();E();F();Nu();Go();Fu();i(XA,"canonicalRuleMeta");i(ZA,"importRoot");i(qA,"importNonRootRules");i(QA,"importHooks");i(fl,"importFromKiro");});function V_(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:jt}))}var J_=f(()=>{ye();Go();i(V_,"lintRules");});function Y_(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=["PreToolUse","PostToolUse","UserPromptSubmit","SubagentStop"],r=new Set(e);return Object.keys(t.hooks).filter(n=>!r.has(n)).map(n=>Wo(n,"kiro",e,{unsupportedBy:"Kiro hooks"}))}var X_=f(()=>{Wt();i(Y_,"lintHooks");});var tT,eT,rT,nT,gl,Fu=f(()=>{z_();nn();Du();J_();X_();Ut();Go();tT={name:jt,primaryRootInstructionPath:Re,generateRules:j_,generateAgents:K_,generateSkills:U_,generateMcp:W_,generateHooks:B_,generateIgnore:H_,importFrom:fl},eT={rootInstructionPath:Re,skillDir:te,managedOutputs:{dirs:[".kiro/hooks",".kiro/skills",".kiro/steering",".kiro/agents"],files:["AGENTS.md",".kiro/settings/mcp.json",".kiroignore"]},paths:{rulePath(t,e){return `${Ce}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return `${ke}/${t}.md`}}},rT={rootInstructionPath:we,skillDir:qr,managedOutputs:{dirs:[vn,qr,$n,zg],files:[we,si,ii]},rewriteGeneratedPath(t){return t===Re?we:t.startsWith(`${Ce}/`)?t.replace(`${Ce}/`,`${vn}/`):t.startsWith(`${te}/`)?t.replace(`${te}/`,`${qr}/`):t.startsWith(`${ke}/`)?t.replace(`${ke}/`,`${$n}/`):t===$o?si:t===Mo?ii:t.startsWith(`${Zr}/`)?null:t},mirrorGlobalPath(t,e){return xt(t,".kiro/skills",e)},paths:{rulePath(t,e){return `${vn}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return `${$n}/${t}.md`}}},nT={rules:"native",additionalRules:"native",commands:"none",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},gl={id:jt,generators:tT,capabilities:{rules:"native",additionalRules:"native",commands:"none",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},emptyImportMessage:"No Kiro config found (AGENTS.md, .kiro/steering, .kiro/skills, .kiro/agents, .kiro/hooks, .kiro/settings/mcp.json, or .kiroignore).",lintRules:V_,lint:{hooks:Y_},project:eT,globalSupport:{capabilities:nT,detectionPaths:[vn,we,qr,$n,si,ii],layout:rT},importer:{agents:{feature:"agents",mode:"directory",source:{project:[ke],global:[ke]},canonicalDir:Vg,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[$o],global:[si]},canonicalDir:".agentsmesh",canonicalFilename:Jg},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Mo],global:[ii]},canonicalDir:".agentsmesh",canonicalFilename:Yg}},buildImportPaths:pm,detectionPaths:[Ce,te,ke,Zr,$o,Mo]};});function q_(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Oe,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(Qr))continue;let o=basename(n.source,".md");e.push({path:`${Rr}/${o}.md`,content:n.body.trim()||""});}return e}function Q_(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${Cr}/${e.name}.md`,content:N(r,e.body.trim()||"")}})}function tR(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:li,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function eR(t){return t.ignore.length===0?[]:[{path:ci,content:t.ignore.join(`
113
+ `)}]}function rR(t){return Ne(t,Xe)}function nR(t){if(t.agents.length===0)return [];let e=t.agents.map(r=>{let o={slug:basename(r.source,".md"),name:r.name};return r.description&&(o.description=r.description),r.body.trim()&&(o.roleDefinition=r.body.trim()),o});return [{path:jo,content:stringify({customModes:e})}]}var oR=f(()=>{fe();F();Un();i(q_,"generateRules");i(Q_,"generateCommands");i(tR,"generateMcp");i(eR,"generateIgnore");i(rR,"generateSkills");i(nR,"generateAgents");});var hl,iR,vu=f(()=>{F();Y();Un();hl=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{if(t==="00-root.md")return null;let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${jn}/${t}`,content:await $(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},s)}},"rooNonRootRuleMapper"),iR=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${Oa}/${t}`,content:await Q(n,{hasDescription:true,description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},s)}},"rooCommandMapper");});async function iT(t,e,r){let n=join(t,Mn),o;try{o=await readdir(n,{withFileTypes:!0});}catch{return}let s=o.filter(l=>l.isDirectory()&&l.name.startsWith("rules-")).map(l=>l.name),a=join(t,jn);for(let l of s)e.push(...await st({srcDir:join(n,l),destDir:a,extensions:[".md"],fromTool:Qr,normalize:r,mapEntry:i(async({srcPath:c,relativePath:m,content:u,normalizeTo:p})=>{let d=await hl({absolutePath:c,relativePath:m,content:u,destDir:a,normalizeTo:p});return d?{...d,feature:"rules"}:null},"mapEntry")}));}async function aR(t,e={}){let r=e.scope??"project",n=[],o=await H(Qr,t,r);return n.push(...await gt(yl,t,r,{normalize:o})),await iT(t,n,o),await De(t,Xe,Qr,n,o),n}var lR=f(()=>{bt();fe();$e();Me();vu();Un();Mu();i(iT,"importPerModeRules");i(aR,"importFromRooCode");});function cR(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Qr}))}var mR=f(()=>{ye();Un();i(cR,"lintRules");});function pT(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var mT,uT,dT,fT,gT,yl,Mu=f(()=>{E();oR();Un();nn();lR();vu();mR();Ut();mT={name:"roo-code",primaryRootInstructionPath:Oe,generateRules:q_,generateCommands:Q_,generateSkills:rR,generateMcp:tR,generateIgnore:eR,generateAgents:nR,importFrom:aR},uT={rootInstructionPath:Oe,skillDir:".roo/skills",managedOutputs:{dirs:[".roo/rules",".roo/commands",".roo/skills"],files:[".roo/mcp.json",".rooignore",".roorules",jo]},paths:{rulePath(t,e){return `${Rr}/${t}.md`},commandPath(t,e){return `${Cr}/${t}.md`},agentPath(t,e){return null}}};i(pT,"computeStatus");dT=i(async(t,e,r,n)=>{if(r!=="global")return [];if(!n.has("agents")||t.agents.length===0)return [];let o=t.agents.map(l=>{let m={slug:basename(l.source,".md"),name:l.name};return l.description&&(m.description=l.description),l.body.trim()&&(m.roleDefinition=l.body.trim()),m}),s=stringify({customModes:o}),a=await I(join(e,mi));return [{target:"roo-code",path:mi,content:s,currentContent:a??void 0,status:pT(a,s)}]},"generateRooGlobalExtras"),fT={rootInstructionPath:rn,skillDir:kr,managedOutputs:{dirs:[tn,en,kr,Zg],files:[rn,Gn,ui,mi]},rewriteGeneratedPath(t){return t===Oe?rn:t===jo?null:t.startsWith(`${Rr}/`)?t.replace(`${Rr}/`,`${tn}/`):t.startsWith(`${Cr}/`)?t.replace(`${Cr}/`,`${en}/`):t.startsWith(`${Xe}/`)?t.replace(`${Xe}/`,`${kr}/`):t===li?Gn:t===ci?ui:t},mirrorGlobalPath(t,e){return xt(t,kr,e)},paths:{rulePath(t,e){return `${tn}/${t}.md`},commandPath(t,e){return `${en}/${t}.md`},agentPath(t,e){return null}}},gT={rules:"native",additionalRules:"native",commands:"native",agents:"partial",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},yl={id:"roo-code",generators:mT,capabilities:{rules:"native",additionalRules:"native",commands:"native",agents:"partial",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},emptyImportMessage:"No Roo Code config found (.roo/rules, .roo/commands, .roo/skills, .roo/mcp.json, .rooignore, or .roorules).",lintRules:cR,project:uT,globalSupport:{capabilities:gT,detectionPaths:[tn,en,kr,Gn,ui,rn,mi],layout:fT,scopeExtras:dT},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Oe,ai],global:[rn,Oe,ai]},canonicalDir:jn,canonicalRootFilename:"_root.md",markAsRoot:true,frontmatterRemap:i(({description:t,globs:e})=>({description:typeof t=="string"?t:void 0,globs:Array.isArray(e)?e:void 0}),"frontmatterRemap")},{feature:"rules",mode:"directory",source:{project:[Rr],global:[tn]},canonicalDir:jn,extensions:[".md"],map:hl}],commands:{feature:"commands",mode:"directory",source:{project:[Cr],global:[en]},canonicalDir:Oa,extensions:[".md"],map:iR},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[li],global:[Gn]},canonicalDir:".agentsmesh",canonicalFilename:qg},ignore:{feature:"ignore",mode:"flatFile",source:{project:[ci],global:[ui]},canonicalDir:".agentsmesh",canonicalFilename:Qg}},buildImportPaths:dm,detectionPaths:[".roo/rules",".roo/commands",".roo/skills",".roo/mcp.json",".rooignore",".roorules",jo]};});var nr,Gu,pn,uR,Qo,or,ts,es,pR,dn,xe,rs,ju,Uu,Wu,Bu,Ku,Hu,ns,os,Ci,Il,Sl,_l,dR,Pt=f(()=>{nr="windsurf",Gu=".windsurfrules",pn=".windsurf/rules",uR=".windsurfignore",Qo=".codeiumignore",or="AGENTS.md",ts=".windsurf/hooks.json",es=".windsurf/mcp_config.example.json",pR=".windsurf/mcp_config.json",dn=".windsurf/workflows",xe=".windsurf/skills",rs=".agentsmesh/rules",ju=".agentsmesh/commands",Uu=".agentsmesh/agents",Wu=".agentsmesh/skills",Bu=".agentsmesh/ignore",Ku=".agentsmesh/hooks.yaml",Hu=".agentsmesh/mcp.json",ns=".codeium/windsurf/memories/global_rules.md",os=".codeium/windsurf/skills",Ci=".codeium/windsurf/global_workflows",Il=".codeium/windsurf/hooks.json",Sl=".codeium/windsurf/mcp_config.json",_l=".codeium/.codeiumignore",dR=".agents/skills";});function yT(t){let e=basename(t,".md");return e==="_root"?"root":e}function IT(t){if(t.length===0)return null;let e=t.map(r=>r.split("/")[0]??"").filter(r=>/^[A-Za-z0-9._-]+$/.test(r));return e.length!==t.length?null:e.every(r=>r===e[0])?e[0]:null}function zu(t){let e=[],r=t.rules.find(n=>n.root);if(!r)return [];e.push({path:or,content:r.body.trim()});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("windsurf"))continue;let o=yT(n.source),s=n.trigger||(n.globs.length>0?"glob":void 0),a={description:n.description||void 0,trigger:s,glob:n.globs.length===1?n.globs[0]:void 0,globs:n.globs.length>1?n.globs:void 0};Object.keys(a).forEach(m=>{a[m]===void 0&&delete a[m];});let l=Object.keys(a).length>0?N(a,n.body.trim()||""):n.body.trim()||"";e.push({path:`${pn}/${o}.md`,content:l});let c=IT(n.globs);c&&(c!==o&&e.push({path:`${pn}/${c}.md`,content:l}),e.push({path:`${c}/AGENTS.md`,content:n.body.trim()||""}));}return e}var fR=f(()=>{F();Pt();i(yT,"ruleSlug");i(IT,"directoryScopedRuleDir");i(zu,"generateRules");});function Vu(t){return !t.ignore||t.ignore.length===0?[]:[{path:Qo,content:t.ignore.join(`
114
+ `)}]}var gR=f(()=>{Pt();i(Vu,"generateIgnore");});function Ju(t){return t.commands.map(e=>{let r={description:e.description.trim()||void 0,allowedTools:e.allowedTools.length>0?e.allowedTools:void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=Object.keys(r).length>0?N(r,e.body.trim()||""):e.body.trim();return {path:`${dn}/${e.name}.md`,content:n}})}var hR=f(()=>{F();Pt();i(Ju,"generateCommands");});function Yu(t){return t.agents.map(e=>({path:`${xe}/${Lt(e.name)}/SKILL.md`,content:ma(e)}))}var yR=f(()=>{Xt();Pt();i(Yu,"generateAgents");});function Xu(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:es,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}var IR=f(()=>{Pt();i(Xu,"generateMcp");});function ST(t){let e={PreToolUse:"pre_tool_use",PostToolUse:"post_tool_use",Notification:"notification",UserPromptSubmit:"user_prompt_submit",SubagentStart:"subagent_start",SubagentStop:"subagent_stop"};return e[t]?e[t]:t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()}function _T(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!Te(s))continue;let a=ut(s),l=Ot(s),c=s.type==="prompt"?l||a:a||l;c&&o.push({command:c,show_output:true});}o.length>0&&(e[ST(r)]=o);}return e}function Zu(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=_T(t.hooks);return Object.keys(e).length===0?[]:[{path:ts,content:JSON.stringify({hooks:e},null,2)}]}var SR=f(()=>{ce();Pt();i(ST,"windsurfEventName");i(_T,"toWindsurfHooks");i(Zu,"generateHooks");});function qu(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=Object.keys(n).length>0?N(n,r.body.trim()||""):r.body.trim()||"";e.push({path:`${xe}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles)e.push({path:`${xe}/${r.name}/${s.relativePath}`,content:s.content});}return e}var _R=f(()=>{F();Pt();i(qu,"generateSkills");});var RR=f(()=>{fR();gR();hR();yR();IR();SR();_R();});var CR=f(()=>{RR();});function kR(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}async function wR(t,e,r){let n=join(t,dn),s=(await P(n)).filter(l=>l.endsWith(".md")),a=join(t,ju);for(let l of s){let c=await I(l);if(!c)continue;let m=relative(n,l).replace(/\\/g,"/");await k(a);let u=join(a,m),p=r(c,l,u),{frontmatter:d,body:g}=O(p),h=await Q(u,{description:typeof d.description=="string"?d.description:"",hasDescription:Object.prototype.hasOwnProperty.call(d,"description"),allowedTools:(()=>{let R=kR(d.allowedTools);return R.length>0?R:kR(d["allowed-tools"])})(),hasAllowedTools:Object.prototype.hasOwnProperty.call(d,"allowedTools")||Object.prototype.hasOwnProperty.call(d,"allowed-tools")},g);await _(u,h),e.push({fromTool:nr,fromPath:l,toPath:`${ju}/${m}`,feature:"commands"});}}var OR=f(()=>{E();F();Y();Pt();i(kR,"toStringArray");i(wR,"importWorkflows");});async function ER(t,e,r,n=xe){let o=join(t,n),s=await on(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:Wu,targetName:"windsurf",normalize:r,results:e};for(let[l,c]of s){let m=join(c,"SKILL.md"),u=await I(m);if(!u)continue;let p=O(u),d=jr(p.frontmatter,l);if(d){await br(join(t,Wu,l));let g=join(t,Uu);await k(g);let h=join(g,`${d.name}.md`);await _(h,je(d,r(p.body,m,h))),e.push({fromTool:"windsurf",fromPath:m,toPath:`${Uu}/${d.name}.md`,feature:"agents"});continue}await Ze(l,c,a);}}var bR=f(()=>{E();F();Xt();gi();Uo();Pt();i(ER,"importSkills");});async function PR(t,e){let r=join(t,ts),n=await I(r);if(n)try{let o=JSON.parse(n);if(!o.hooks||typeof o.hooks!="object"||Array.isArray(o.hooks))return;let s=wT(o.hooks);if(Object.keys(s).length===0)return;let a=join(t,Ku);await k(dirname(a)),await _(a,stringify(s)),e.push({fromTool:nr,fromPath:r,toPath:Ku,feature:"hooks"});}catch{}}function kT(t){return {pre_tool_use:"PreToolUse",post_tool_use:"PostToolUse",notification:"Notification",user_prompt_submit:"UserPromptSubmit",subagent_start:"SubagentStart",subagent_stop:"SubagentStop"}[t]??t}function wT(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=kT(r),s=[];for(let a of n){if(!a||typeof a!="object")continue;let l=a;if(typeof l.command=="string"&&l.command.trim()){s.push({matcher:".*",type:"command",command:l.command});continue}let c=typeof l.matcher=="string"&&l.matcher.trim()?l.matcher:".*",m=Array.isArray(l.hooks)?l.hooks:[];for(let u of m){if(!u||typeof u!="object")continue;let p=u,d=typeof p.command=="string"?p.command:typeof p.prompt=="string"?p.prompt:"";if(!d.trim())continue;let g={matcher:c,type:p.type==="prompt"?"prompt":"command",command:d};typeof p.timeout=="number"&&(g.timeout=p.timeout),s.push(g);}}s.length>0&&(e[o]=s);}return e}async function AR(t,e){let r=[es,pR];for(let n of r){let o=join(t,n),s=await I(o);if(s)try{let a=JSON.parse(s);if(!a.mcpServers||typeof a.mcpServers!="object")continue;let l=join(t,Hu);await k(dirname(l)),await _(l,JSON.stringify({mcpServers:a.mcpServers},null,2)),e.push({fromTool:nr,fromPath:o,toPath:Hu,feature:"mcp"});return}catch{}}}var TR=f(()=>{E();Pt();i(PR,"importWindsurfHooks");i(kT,"canonicalHookEventName");i(wT,"windsurfHooksToCanonical");i(AR,"importWindsurfMcp");});async function Cl(t,e){let r=e?.scope??"project",n=[],o=await H(nr,t),s=await H("codex-cli",t),a=join(t,rs),l=join(t,Gu),c=await I(l);if(c!==null){await k(a);let d=join(a,"_root.md"),g=o(c,l,d).trim(),h=await $(d,{root:true},g);await _(d,h),n.push({fromTool:"windsurf",fromPath:l,toPath:`${rs}/_root.md`,feature:"rules"});}if(c===null){let d=join(t,or),g=await I(d);if(g!==null){await k(a);let h=join(a,"_root.md"),R=o(s(g,d,h),d,h).trim(),C=await $(h,{root:true},R);await _(h,C),n.push({fromTool:"windsurf",fromPath:d,toPath:`${rs}/_root.md`,feature:"rules"});}}r!=="global"&&n.push(...await st({srcDir:t,destDir:a,extensions:["AGENTS.md"],fromTool:"windsurf",normalize:o,mapEntry:i(async({srcPath:d,normalizeTo:g})=>{let h=relative(t,dirname(d)).replace(/\\/g,"/");if(!h||h==="."||basename(d)!=="AGENTS.md")return null;let R=h.replace(/\//g,"-");if(!va(h))return await br(join(a,`${R}.md`)),null;let C=join(a,`${R}.md`);return {destPath:C,toPath:`${rs}/${R}.md`,feature:"rules",content:await $(C,{root:false,globs:[`${h}/**`]},g(C))}},"mapEntry")}));let m=join(t,pn);n.push(...await st({srcDir:m,destDir:a,extensions:[".md"],fromTool:"windsurf",normalize:o,mapEntry:i(async({relativePath:d,normalizeTo:g})=>{if(d==="_root.md"&&c!==null)return null;let h=join(a,d),{frontmatter:R,body:C}=O(g(h)),S={...R};return typeof S.glob=="string"&&S.glob.trim()&&(S.globs=[S.glob],delete S.glob),{destPath:h,toPath:`${rs}/${d}`,feature:"rules",content:await $(h,{...S,root:false},C)}},"mapEntry")}));let u=join(t,uR),p=await I(u);if((p===null||!p.trim())&&(u=join(t,Qo),p=await I(u)),p!==null&&p.trim()){let d=p.split(/\r?\n/),g=[];for(let h of d){let R=h.trim();R&&!R.startsWith("#")&&g.push(R);}if(g.length>0){await k(join(t,".agentsmesh"));let h=join(t,Bu);await _(h,g.join(`
115
+ `)),n.push({fromTool:"windsurf",fromPath:u,toPath:Bu,feature:"ignore"});}}return await wR(t,n,o),await ER(t,n,o),await PR(t,n),await AR(t,n),n}var tp=f(()=>{bt();E();F();Y();$e();gi();Pt();OR();bR();TR();i(Cl,"importFromWindsurf");});function LR(t,e,r){let n=[],{rules:o}=t;o.length>0&&(o.some(l=>l.root)||n.push({level:"warning",file:relative(e,o[0].source),target:nr,message:"Windsurf needs a root rule to generate AGENTS.md. Add root: true to a rule."}));let s=[];return t.permissions&&(t.permissions.allow.length>0||t.permissions.deny.length>0)&&s.push("permissions"),s.length>0&&n.push({level:"warning",file:".agentsmesh",target:nr,message:`Windsurf cannot project these features yet: ${s.join(", ")}.`}),n}var NR=f(()=>{Pt();i(LR,"lintRules");});function DR(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>V(e.source,"windsurf","windsurf workflow files are plain Markdown; command description and allowed-tools metadata are not projected."))}function FR(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[V(".agentsmesh/mcp.json","windsurf","Windsurf MCP is partial; generated .windsurf/mcp_config.example.json is a reference artifact and may require manual setup.")]}var vR=f(()=>{Wt();i(DR,"lintCommands");i(FR,"lintMcp");});function PT(t){if(t.length===0)return null;let e=t.map(r=>r.split("/")[0]??"").filter(r=>/^[A-Za-z0-9._-]+$/.test(r));return e.length!==t.length?null:e.every(r=>r===e[0])?e[0]:null}var AT,TT,LT,NT,$R,MR=f(()=>{CR();Cn();Pt();nn();tp();NR();vR();Ut();yo();Xt();i(PT,"directoryScopedRuleDir");AT={name:"windsurf",primaryRootInstructionPath:or,generateRules:zu,generateCommands:Ju,generateAgents:Yu,generateSkills:qu,generateMcp:Xu,generateHooks:Zu,generateIgnore:Vu,importFrom:Cl},TT={rootInstructionPath:or,extraRuleOutputPaths(t){if(t.root)return [or];let e=PT(t.globs);return e!==null?[`${e}/AGENTS.md`]:[]},skillDir:xe,managedOutputs:{dirs:[".windsurf/rules",".windsurf/skills",".windsurf/workflows"],files:["AGENTS.md",".codeiumignore",".windsurf/hooks.json",".windsurf/mcp_config.example.json"]},paths:{rulePath(t,e){return `${pn}/${t}.md`},commandPath(t,e){return `${dn}/${t}.md`},agentPath(t,e){return me(e,"windsurf")?`.windsurf/skills/${Lt(t)}/SKILL.md`:null}}},LT={rootInstructionPath:ns,skillDir:os,managedOutputs:{dirs:[os,Ci,dR],files:[ns,Il,Sl,_l]},rewriteGeneratedPath(t){return t===or?ns:t.startsWith(`${pn}/`)||/\/AGENTS\.md$/.test(t)?null:t.startsWith(`${xe}/`)?t.replace(`${xe}/`,`${os}/`):t.startsWith(`${dn}/`)?t.replace(`${dn}/`,`${Ci}/`):t===ts?Il:t===es?Sl:t===Qo?_l:t},mirrorGlobalPath(t,e){return xt(t,".codeium/windsurf/skills",e)},paths:{rulePath(t,e){return ns},commandPath(t,e){return `${Ci}/${t}.md`},agentPath(t,e){return me(e,"windsurf")?`${os}/${Lt(t)}/SKILL.md`:null}}},NT={rules:"native",additionalRules:"partial",commands:pe("native","workflows"),agents:"embedded",skills:"native",mcp:"partial",hooks:"native",ignore:"native",permissions:"none"},$R={id:"windsurf",generators:AT,capabilities:{rules:"native",additionalRules:"native",commands:pe("native","workflows"),agents:"embedded",skills:"native",mcp:"partial",hooks:"native",ignore:"native",permissions:"none"},emptyImportMessage:"No Windsurf config found (.windsurfrules, .windsurf/rules, .windsurfignore, or .codeiumignore).",supportsConversion:{agents:true},lintRules:LR,lint:{commands:DR,mcp:FR},project:TT,globalSupport:{capabilities:NT,detectionPaths:[ns,os,Ci,Il,Sl,_l],layout:LT},buildImportPaths:fm,detectionPaths:[".windsurfrules",".windsurf"]};});var _g={};OO(_g,{BUILTIN_TARGETS:()=>Ct,TARGET_IDS:()=>ht,getBuiltinTargetDefinition:()=>ne,getEffectiveTargetSupportLevel:()=>kl,getTargetCapabilities:()=>un,getTargetDetectionPaths:()=>rp,getTargetLayout:()=>dt,getTargetManagedOutputs:()=>np,getTargetPrimaryRootInstructionPath:()=>FT,getTargetSkillDir:()=>wi,isBuiltinTargetId:()=>Mr,resolveTargetFeatureGenerator:()=>ss,rewriteGeneratedOutputPath:()=>op});function DT(){return ep||(bf(Ct),ep=new Map(Ct.map(t=>[t.id,t]))),ep}function ne(t){return DT().get(t)}function un(t,e="project"){let r=ne(t)??Z(t);if(!r)return;let n=e==="global"?r.globalSupport?.capabilities??r.capabilities:r.capabilities;return Of(n)}function rp(t,e="project"){let r=ne(t)??Z(t);return r?e==="global"?r.globalSupport?.detectionPaths??[]:r.detectionPaths:[]}function dt(t,e="project"){let r=ne(t)??Z(t);if(r)return e==="global"?r.globalSupport?.layout:r.project}function FT(t,e="project"){return dt(t,e)?.rootInstructionPath}function wi(t,e="project"){return dt(t,e)?.skillDir}function np(t,e="project"){return dt(t,e)?.managedOutputs}function op(t,e,r="project"){let n=dt(t,r);return n?n.rewriteGeneratedPath?n.rewriteGeneratedPath(e):e:null}function GR(t,e,r,n){return !t||!r?false:e==="commands"&&t.supportsConversion?.commands?!xs(r,t.id,true,n):e==="agents"&&t.supportsConversion?.agents?!me(r,t.id,true,n):false}function kl(t,e,r,n="project"){let o=un(t,n)?.[e]?.level??"none";if(o!=="embedded")return o;let s=ne(t)??Z(t);return GR(s,e,r,n)?"none":o}function ss(t,e,r,n="project"){let o=ne(t)??Z(t);if(!o?.generators||GR(o,e,r,n))return;let s=vT[e];return s===null?void 0:s(o.generators)}var Ct,ep,vT,rt=f(()=>{yo();Cn();sr();Cc();lr();vc();hm();oy();Ky();Um();Jm();cu();Pu();Lu();Fu();Mu();MR();Ct=[la,Ea,ny,By,ja,Va,rl,ul,dl,gl,yl,$R];i(DT,"builtinTargetsMap");i(ne,"getBuiltinTargetDefinition");i(un,"getTargetCapabilities");i(rp,"getTargetDetectionPaths");i(dt,"getTargetLayout");i(FT,"getTargetPrimaryRootInstructionPath");i(wi,"getTargetSkillDir");i(np,"getTargetManagedOutputs");i(op,"rewriteGeneratedOutputPath");i(GR,"isFeatureSuppressedByConversion");i(kl,"getEffectiveTargetSupportLevel");vT={rules:i(t=>t.generateRules,"rules"),additionalRules:null,commands:i(t=>t.generateCommands,"commands"),agents:i(t=>t.generateAgents,"agents"),skills:i(t=>t.generateSkills,"skills"),mcp:i(t=>t.generateMcp,"mcp"),permissions:i(t=>t.generatePermissions,"permissions"),hooks:i(t=>t.generateHooks,"hooks"),ignore:i(t=>t.generateIgnore,"ignore")};i(ss,"resolveTargetFeatureGenerator");});function BT(t){return typeof t=="string"?t:t.level}function jR(t){return WT.includes(t)}function UR(t,e,r,n){for(let o of UT){let s=BT(e[o.feature]);if(s==="none")continue;let a=typeof t.generators[o.generator]=="function",l=jR(o.feature)&&typeof t.emitScopedSettings=="function";a||l||r.addIssue({code:"custom",path:[...n,o.feature],message:`Capability "${o.feature}" is "${s}" but generators.${o.generator}`+(jR(o.feature)?" or emitScopedSettings":"")+" is missing."});}}function wl(t){return HT.parse(t)}var Nr,WR,$T,MT,BR,GT,jT,UT,WT,KT,HT,sp=f(()=>{Nr=z$1.union([z$1.enum(["native","embedded","partial","none"]),z$1.object({level:z$1.enum(["native","embedded","partial","none"]),flavor:z$1.string().optional()})]),WR=z$1.object({rules:Nr,additionalRules:Nr,commands:Nr,agents:Nr,skills:Nr,mcp:Nr,hooks:Nr,ignore:Nr,permissions:Nr}),$T=z$1.object({name:z$1.string(),generateRules:z$1.function(),importFrom:z$1.function(),generateCommands:z$1.function().optional(),generateAgents:z$1.function().optional(),generateSkills:z$1.function().optional(),generateMcp:z$1.function().optional(),generatePermissions:z$1.function().optional(),generateHooks:z$1.function().optional(),generateIgnore:z$1.function().optional(),lint:z$1.function().optional()}).passthrough(),MT=z$1.object({rulePath:z$1.function(),commandPath:z$1.function(),agentPath:z$1.function()}),BR=z$1.object({paths:MT}).passthrough(),GT=z$1.object({capabilities:WR,detectionPaths:z$1.array(z$1.string()),layout:BR,scopeExtras:z$1.function().optional()}).passthrough(),jT=["global","globalCapabilities","globalDetectionPaths","generateScopeExtras"],UT=[{feature:"commands",generator:"generateCommands"},{feature:"agents",generator:"generateAgents"},{feature:"skills",generator:"generateSkills"},{feature:"mcp",generator:"generateMcp"},{feature:"hooks",generator:"generateHooks"},{feature:"ignore",generator:"generateIgnore"},{feature:"permissions",generator:"generatePermissions"}],WT=["mcp","hooks","ignore","permissions"];i(BT,"capabilityLevel");i(jR,"canUseScopedSettings");i(UR,"validateCapabilityImplementations");KT=z$1.object({id:z$1.string().regex(/^[a-z][a-z0-9-]*$/,"Target id must be lowercase with hyphens"),generators:$T,capabilities:WR,emptyImportMessage:z$1.string(),lintRules:z$1.union([z$1.function(),z$1.null()]),project:BR,globalSupport:GT.optional(),buildImportPaths:z$1.function(),detectionPaths:z$1.array(z$1.string())}).passthrough(),HT=KT.superRefine((t,e)=>{for(let r of jT)r in t&&e.addIssue({code:"custom",path:[r],message:`Use globalSupport instead of legacy field "${r}".`});UR(t,t.capabilities,e,["capabilities"]),t.globalSupport!==void 0&&UR(t,t.globalSupport.capabilities,e,["globalSupport","capabilities"]);});i(wl,"validateDescriptor");});function zT(){return ip||(ip=new Map(Ct.map(t=>[t.id,t]))),ip}function HR(t){let e=wl(t);KR.set(e.id,e);}function Z(t){return KR.get(t)??zT().get(t)}var KR,ip,sr=f(()=>{rt();sp();KR=new Map;i(zT,"builtinDescriptors");i(HR,"registerTargetDescriptor");i(Z,"getDescriptor");});async function zR(t,e,r="project"){let n=new Map,o=Z(t);return o&&await o.buildImportPaths(n,e,r),n}var VR=f(()=>{sr();i(zR,"buildImportReferenceMap");});function J(t){return t.includes("\\")||Pe.test(t)?win32:posix}function X(t){return t.replace(/\\/g,"/")}function j(t,e){let r=J(t),n=r.normalize(r===win32?e.replace(/\//g,"\\"):X(e));return n.endsWith(r.sep)&&n.length>1?n.slice(0,-1):n}function YR(t,e){return J(t).isAbsolute(e)||Pe.test(e)}function is(t){let e=t,r="";for(;JT.test(e);)r=e.at(-1)+r,e=e.slice(0,-1);return {candidate:e,suffix:r}}function XR(t,e){let r=J(e),n=t.replace(/^(\.\.\/)+/,"").replace(/^\.\//,"");return n&&n!==t?j(e,r.join(e,n)):null}var Pe,JT,Nt=f(()=>{Pe=/^[A-Za-z]:[\\/]/,JT=/[.!?:;]+$/;i(J,"pathApi");i(X,"normalizeSeparators");i(j,"normalizeForProject");i(YR,"isAbsoluteForProject");i(is,"stripTrailingPunctuation");i(XR,"rootFallbackPath");});function ZT(t){let e=[t.project,t.globalSupport?.layout].filter(o=>o!==void 0),r=[...t.detectionPaths,...e.flatMap(o=>o.managedOutputs?.dirs??[]),...e.flatMap(o=>o.managedOutputs?.files??[])],n=new Set;for(let o of r){let s=o.split("/")[0];s&&s.startsWith(".")&&s.length>1&&n.add(`${s}/`);}return n}function qT(){let t=new Set([".agentsmesh/"]);for(let e of Ct)for(let r of ZT(e))t.add(r);return Array.from(t)}function QT(){let t=new Set([...qT(),...ap.rootRelativePrefixes]),e=new Set([...XT,...ap.meshRootSegments]);return {protectedSchemes:[...YT,...ap.protectedSchemes],rootRelativePrefixes:Array.from(t),meshRootSegments:e}}function Ol(){return lp||(lp=QT()),lp}var YT,XT,ap,lp,ZR=f(()=>{rt();YT=[/\b[A-Za-z][A-Za-z0-9+.-]+:[^\s<>()\]]+/g,/\b[\w.-]+@[\w.-]+:[^\s<>()\]]+/g,/\b[\w.+-]+@[\w.-]+\.[A-Za-z]{2,}\b/g,/\/\/[A-Za-z0-9][\w.-]*\.[A-Za-z]{2,}[^\s<>()\]]*/g],XT=new Set(["skills","rules","commands","agents","packs"]),ap={protectedSchemes:[],rootRelativePrefixes:[],meshRootSegments:[]};i(ZT,"topLevelDotfilePrefixes");i(qT,"buildDefaultRootRelativePrefixes");i(QT,"rebuild");i(Ol,"getLinkFormatRegistry");});function Ae(t){let e=X(t);return Ol().rootRelativePrefixes.some(r=>e.startsWith(r))}function rL(t){let e=X(t).replace(/^\.\//,"");if(e.startsWith("../")||e.startsWith("/")||Pe.test(e)||/^[a-zA-Z]:/.test(e)||Ae(e))return false;let r=e.split("/").filter(n=>n.length>0)[0];return r!==void 0&&Ol().meshRootSegments.has(r)}function Oi(t,e,r){let n=J(e),o=j(e,e),s=j(e,r),a=X(t);if(Pe.test(t)){let l=j(e,t);return n===win32||l.startsWith(`${o}${n.sep}`)?[l]:[l]}if(isAbsolute(t)){let l=j(e,t);return l.startsWith(o)||existsSync(t)?[l]:[j(e,n.join(e,t))]}if(a.startsWith("./")||a.startsWith("../")){let l=j(e,n.join(n.dirname(s),a)),c=XR(a,o);return c&&c!==l?[l,c]:[l]}if(Ae(a))return [j(e,n.join(o,a))];if(a.includes("/")){let l=j(e,n.join(o,".agentsmesh")),c=rL(a)?j(e,n.join(l,a)):null,m=j(e,n.join(o,a)),u=j(e,n.join(n.dirname(s),a));return c!==null?[c,m,u]:[m,u]}return nL.has(a)?[]:a.includes(".")?[j(e,n.join(n.dirname(s),a))]:[]}function Ei(t,e){let r=[e];if(!YR(t,e)||!existsSync(e))return r;try{let n=[realpathSync(e),realpathSync.native(e)];for(let o of n)o!==e&&!r.includes(o)&&r.push(o);}catch{}return r}function eC(t,e,r){let n=e>0?t.at(e-1):"",o=r<t.length?t.at(r):"";return n==="*"||o==="*"}function El(t){let e=[];for(let r of Ol().protectedSchemes){let n=r.flags.includes("g")?r:new RegExp(r.source,`${r.flags}g`);for(let o of t.matchAll(n))e.push([o.index??0,(o.index??0)+o[0].length]);}for(let r of t.matchAll(oL))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(sL))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(iL))e.push([r.index??0,(r.index??0)+r[0].length]);return e}var nL,oL,sL,iL,tC,as,fn=f(()=>{Nt();ZR();i(Ae,"isRootRelativePathToken");i(rL,"isMeshRootRelativePathToken");nL=new Set(["AGENTS.md","CLAUDE.md","GEMINI.md","codex.md",".windsurfrules",".cursorrules"]),oL=/^(?:```|~~~)[^\n]*\n[\s\S]*?^(?:```|~~~)/gm,sL=/<!-- agentsmesh:root-generation-contract:start -->[\s\S]*?<!-- agentsmesh:root-generation-contract:end -->/g,iL=/<!-- agentsmesh:embedded-rules:start -->[\s\S]*?<!-- agentsmesh:embedded-rules:end -->/g,tC=/(?:\.\.[\\/]|\.\/|\.\\|\/[A-Za-z0-9._-]|[A-Za-z]:[\\/][A-Za-z0-9._-]|\.agentsmesh[\\/]|\.claude[\\/]|\.cursor[\\/]|\.github[\\/]|\.continue[\\/]|\.junie[\\/]|\.kiro[\\/]|\.gemini[\\/]|\.clinerules[\\/]|\.cline[\\/]|\.codex[\\/]|\.agents[\\/]|\.windsurf[\\/]|\.roo[\\/]|(?:[A-Za-z0-9._-]+[\\/])+|[A-Za-z0-9._-]+\.[A-Za-z0-9._-]+)[A-Za-z0-9._@%+~:\\/-]*/g,as=/(?::(\d+)){1,2}$/;i(Oi,"resolveProjectPath");i(Ei,"expandResolvedPaths");i(eC,"isGlobAdjacent");i(El,"protectedRanges");});function lL(t){return t===void 0||t.role==="inline-code"||t.role==="bracketed"||t.role==="quoted"||t.role==="at-prefix"||t.role==="bracket-label"||t.role==="bare-prose"}function cp(t,e){let r=J(t),n=j(t,t),o=j(t,e);if(o===n)return true;let s=n.endsWith(r.sep)?n:`${n}${r.sep}`;return o.startsWith(s)}function rC(t){let e=J(t);return j(t,e.join(t,".agentsmesh"))}function Dr(t,e){let r=J(t),n=rC(t),o=j(t,e);if(o===n)return true;let s=n.endsWith(r.sep)?n:`${n}${r.sep}`;return o.startsWith(s)}function nC(t,e,r){let n=J(t),o=rC(t),s=j(t,e);if(!Dr(t,s))return null;let a=n.relative(o,s).replace(/\\/g,"/");return a.startsWith("..")||a.length===0?null:r&&!a.endsWith("/")?`${a}/`:a}function mp(t,e,r){let o=J(t).relative(j(t,t),j(t,e)).replace(/\\/g,"/");if(o.startsWith(".."))return null;let s=o.length>0?o:".";return r&&!s.endsWith("/")?`${s}/`:s}function oC(t,e,r){return !lL(r.tokenContext)||r.originalToken===void 0?false:X(r.originalToken).startsWith(".agentsmesh/")}function ls(t,e,r){let n=mp(t,e,r);return n===null?null:{kind:"projectRoot",rest:n,text:n}}function up(t,e,r,n,o){let s=J(t),a=j(t,t),l=j(t,e),c=j(t,r);if(!cp(t,c))return ls(t,c,n)?.text??null;let m=j(t,dirname(l));if(!cp(t,m)&&m!==a)return ls(t,c,n)?.text??null;let u=s.relative(m,c).replace(/\\/g,"/");if(s.isAbsolute(u)||Pe.test(u))return mp(t,c,n);let p=j(t,s.join(m,u));return cp(t,p)?(u===""||u==="."?u=".":o.explicitCurrentDirLinks===true&&m!==a&&!u.startsWith("../")&&!u.startsWith("./")&&(u=`./${u}`),n&&!u.endsWith("/")?`${u}/`:u):mp(t,c,n)}var pp=f(()=>{Nt();i(lL,"isReadingContext");i(cp,"isUnderProjectRoot");i(rC,"agentsMeshRoot");i(Dr,"isUnderAgentsMesh");i(nC,"toAgentsMeshRootRelative");i(mp,"toProjectRootRelative");i(oC,"shouldPreserveAgentsMeshAnchor");i(ls,"toProjectRootReference");i(up,"formatLinkPathForDestinationLegacy");});function sC(t,e,r,n,o={}){let s=o.scope??"project",a=j(t,r);if(oC(t,e,o))return X(o.originalToken??"");if(o.forceRelative)return up(t,e,r,n,o);if(s==="global"&&!Dr(t,e))return ls(t,a,n)?.text??null;let l=(()=>{if(Dr(t,a))return a;let m=o.logicalMeshSourceAbsolute;return m&&Dr(t,j(t,m))?j(t,m):null})();if(!l)return ls(t,a,n)?.text??null;if(n||(o.pathIsDirectory?.(a)??false)){let m=nC(t,l,n);return m!==null?m:ls(t,l,n)?.text??null}return up(t,e,r,n,o)}var iC=f(()=>{fn();Nt();pp();pp();i(sC,"formatLinkPathForDestination");});function aC(t,e,r,n){let o=J(e),s=X(t);if(!Ae(s))return null;let a=s.split("/").filter(m=>m.length>0);if(a.length<3)return null;let l=j(e,r),c=o.dirname(l);for(let m=1;m<=a.length-1;m++){let u=a.slice(m).join("/"),p=j(e,o.join(c,u));if(p!==l&&n(p))return p}return null}var lC=f(()=>{Nt();fn();i(aC,"resolveByDestinationSuffixStrip");});function cC(t){let e=null,r=false,n=null,o=null,s=null;for(let c of Oi(t.candidate,t.projectRoot,t.sourceFile)){let m=null,u=null;for(let p of Ei(t.projectRoot,c)){let d=j(t.projectRoot,p),g=j(t.projectRoot,t.translatePath(d)),h=t.pathExists(d),R=t.pathExists(g);if(R&&g!==d){e=g,n=d,r=true;break}(h||R)&&m===null&&(m=g,u=d),e===null&&(e=g);}if(!r&&m!==null&&o===null&&(o=m,s=u),r)break}if(!r){let c=aC(t.candidate,t.projectRoot,t.destinationFile,t.pathExists);c!==null&&(e=c,r=true);}!r&&o!==null&&(e=o,s!==null&&(n=s),r=true);let a=X(t.destinationFile),l=a.includes("/.agentsmesh/")||a.startsWith(".agentsmesh/");return !r&&e!==null&&X(t.rawToken).startsWith(".agentsmesh/")&&l&&(r=true),{translatedPath:e,resolvedBeforeTranslate:n,matchedPath:r}}var mC=f(()=>{Nt();fn();lC();i(cC,"resolveLinkTarget");});function uC(t,e,r){return e>=2&&t[e-2]==="~"&&t[e-1]==="/"?true:e>=1&&t[e-1]==="~"&&r.startsWith("/")}function pC(t,e,r){if(e<=0||t[e-1]!=="(")return false;let n=e+r.length,o=t[n];return o!==")"&&o!=="#"&&o!=="?"&&o!==" "&&o!==" "?false:t[e-2]==="]"}function dC(t){let e=X(t);return e.startsWith("./")||e.startsWith("../")?true:e.startsWith("/")||Pe.test(e)||Ae(e)?false:e.includes("/")}var fC=f(()=>{Nt();fn();i(uC,"isTildeHomeRelativePathToken");i(pC,"isMarkdownLinkDestinationToken");i(dC,"isRelativePathToken");});function cL(t,e,r){let n=e+r.length;if(t[n]!=="]"||t[n+1]!=="(")return false;let o=n+2,s="";for(;o<t.length;){let a=t[o];if(a===")"||a==="#"||a==="?"||a===" "||a===" "||a===`
116
+ `)break;s+=a,o++;}return s===r}function gC(t,e,r){let n=t.lastIndexOf(`
116
117
  `,e-1)+1,o=t.slice(n,e);if(!/^\s*\[[^\]\n]+\]:\s*<?\s*$/.test(o))return false;let s=r<t.length?t[r]:"";return s===""||s===`
117
- `||s==="\r"||s===">"||s===" "||s===" "||s==='"'||s==="'"||s===":"||s==="#"||s==="?"}function HC(t,e,r){let n=e>0?t[e-1]:"",o=r<t.length?t[r]:"";return n==="`"&&o==="`"?{role:"inline-code"}:KC(t,e,r)?{role:"markdown-link-dest"}:n==="<"&&o===">"?{role:"bracketed"}:n==="'"&&o==="'"||n==='"'&&o==='"'?{role:"quoted"}:n==="@"?{role:"at-prefix"}:n==="("&&t[e-2]==="]"?{role:"markdown-link-dest"}:n==="["&&o==="]"?{role:"bracket-label"}:{role:"bare-prose"}}function zC(t,e,r,n,o){if(e<0||r>t.length)return false;let{candidate:s}=ys(n),a=s.replace(Is,""),l=X(a),c=e+a.length,m=t[e-1],u=t[r];return KC(t,e,c)||m==="'"&&u==="'"||m==='"'&&u==='"'||m==="`"&&u==="`"||m==="<"&&u===">"?true:m==="["&&u==="]"?!(!o&&!Fe(l)&&AT(t,e,n)):m==="@"?true:m==="("?u===")"||u==="#"||u==="?"||u===" "||u===" ":o?Fe(l)?true:l.includes("/")||l.includes("\\")?l.startsWith("./")||l.startsWith("../")?true:(l.split(/[\\/]/).filter(Boolean).at(-1)??"").includes("."):false:false}var VC=g(()=>{Gt();Cn();i(AT,"markdownBracketLabelDuplicatesDestination");i(KC,"isMarkdownReferenceDefinitionDestination");i(HC,"getTokenContext");i(zC,"shouldRewritePathToken");});function kl(t){let e=new Set,r=Rl(t.content);return {content:t.content.replace(bC,(o,s,a)=>{if(r.some(([gt,Ut])=>s>=gt&&s<Ut)||!zC(a,s,s+o.length,o,t.rewriteBarePathTokens===true)||jC(a,s,o)||AC(a,s,s+o.length))return o;let{candidate:l,suffix:c}=ys(o);if(!l)return o;let m=Is.exec(l),u=m?l.slice(0,m.index):l,p=m?m[0]:"";if(!u)return o;let d=HC(a,s,s+u.length);if(d.role!=="markdown-link-dest"&&De.test(u))return o;let{translatedPath:f,resolvedBeforeTranslate:h,matchedPath:C}=MC({candidate:u,rawToken:l,projectRoot:t.projectRoot,sourceFile:t.sourceFile,destinationFile:t.destinationFile,translatePath:t.translatePath,pathExists:t.pathExists}),R=h;if(!C||!f)return f&&e.add(f),o;let I=X(u),O=u.endsWith("/")||t.pathIsDirectory?.(f)===true;if(O&&!I.includes("/")&&!I.includes("\\"))return o;if(R===null){let gt=X(l);if(gt.startsWith("agentsmesh/")&&(gt=`.${gt}`),gt.startsWith(".agentsmesh/")||gt.includes("/.agentsmesh/")){let Ut=Y(t.projectRoot),Yi=j(t.projectRoot,t.projectRoot),qt=gt.replace(/^\.\//,"");R=j(t.projectRoot,Ut.join(Yi,qt));}}let x=Y(t.projectRoot);if(t.scope==="global"){let gt=X(l),Ut=gt.startsWith(".agentsmesh/")||gt.includes("/.agentsmesh/"),Yi=Fe(gt)||WC(gt),qt=R!==null&&zr(t.projectRoot,R),dd=zr(t.projectRoot,f);if(R===f&&!dd&&!qt&&!Ut){let fd=X(x.relative(t.projectRoot,j(t.projectRoot,t.sourceFile))).split("/").filter(Boolean)[0]??"",tO=(R!==null?X(x.relative(t.projectRoot,R)):"").split("/").filter(Boolean)[0]??"";if(fd.length>0&&fd===tO)return o}if(!Yi&&!Ut&&!qt&&!dd)return o}let P=j(t.projectRoot,t.destinationFile),A=j(t.projectRoot,f),K=X(x.relative(t.projectRoot,P)),M=X(x.relative(t.projectRoot,A)),B=K.split("/").filter(Boolean)[0]??"",Z=M.split("/").filter(Boolean)[0]??"",Zt=!X(u).startsWith(".agentsmesh/")&&!O&&B.length>0&&B===Z&&B.startsWith(".")&&B!==".agentsmesh"||d.role==="markdown-link-dest"||UC(a,s,u),at=DC(t.projectRoot,t.destinationFile,f,u.endsWith("/"),{explicitCurrentDirLinks:t.explicitCurrentDirLinks===true||Zt,scope:t.scope??"project",pathIsDirectory:t.pathIsDirectory,logicalMeshSourceAbsolute:O?null:R,forceRelative:Zt,tokenContext:d,originalToken:u});return at?`${at}${p}${c}`:o}),missing:[...e]}}var rp=g(()=>{Gt();Cn();FC();GC();BC();VC();i(kl,"rewriteFileLinks");});function YC(t){let e=[normalize(t)];if(!existsSync(t))return e;try{let r=[realpathSync(t),realpathSync.native(t)];for(let n of r){let o=normalize(n);e.includes(o)||e.push(o);}}catch{}return e}async function J(t,e,r="project"){let n=new Map,o=Array.from(new Set([t,...ht]));for(let l of o){let c=await RC(l,e,r);for(let[m,u]of c.entries())n.set(m,u);}let s=new Map;for(let[l,c]of n.entries()){let m=normalize(join(e,c));for(let u of YC(join(e,l)))s.set(u,m);}let a=new Set;for(let l of new Set(n.values())){let c=normalize(join(e,l));a.add(c);for(let m of YC(c))a.add(normalize(m));}return (l,c,m)=>kl({content:l,projectRoot:e,sourceFile:c,destinationFile:m,translatePath:i(u=>s.get(u)??u,"translatePath"),pathExists:i(u=>{let p=normalize(u);return s.has(u)||s.has(p)||existsSync(u)||a.has(p)},"pathExists"),explicitCurrentDirLinks:false,rewriteBarePathTokens:true,scope:r,pathIsDirectory:i(u=>{try{return statSync(u).isDirectory()}catch{return false}},"pathIsDirectory")}).content}var Ft=g(()=>{kC();rp();yr();i(YC,"pathVariants");i(J,"createImportReferenceNormalizer");});async function qC(t,e,r){let n=join(e,t),{frontmatter:o,body:s}=w(r(n));return {destPath:n,toPath:`${Us}/${t}`,feature:"rules",content:await $(n,{...o,root:false},s)}}async function op(t,e,r,n){let o=join(e,t),{frontmatter:s,body:a}=w(n(o));return {destPath:o,toPath:`${r==="commands"?ma:ua}/${t}`,feature:r,content:r==="commands"?await st(o,{description:typeof s.description=="string"?s.description:void 0,hasDescription:Object.prototype.hasOwnProperty.call(s,"description"),allowedTools:(()=>{let c=Tr(s.allowedTools);return c.length>0?c:Tr(s["allowed-tools"])})(),hasAllowedTools:Object.prototype.hasOwnProperty.call(s,"allowedTools")||Object.prototype.hasOwnProperty.call(s,"allowed-tools")},a):await zt(o,s,a)}}var QC=g(()=>{F();V();Pe();Me();i(qC,"mapClaudeRuleFile");i(op,"mapClaudeMarkdownFile");});function tR(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!s||typeof s!="object")continue;let a=s,l=typeof a.matcher=="string"?a.matcher:"";if(!l)continue;let c=Array.isArray(a.hooks)?a.hooks:[];for(let m of c){let u=m.type==="prompt"?"prompt":"command";if(!$e({...m,type:u}))continue;let p=u==="prompt"?Ot(m)||mt(m):mt(m)||Ot(m),d={matcher:l,type:u,command:p};typeof m.timeout=="number"&&(d.timeout=m.timeout),o.push(d);}}o.length>0&&(e[r]=o);}return e}async function eR(t,e){let r=join(t,Cr),n=await y(r);if(n===null)return false;let o;try{o=JSON.parse(n);}catch{return false}if(!o||typeof o!="object"||Array.isArray(o))return false;let s=tR(o);if(Object.keys(s).length===0)return false;let a=stringify(s),l=join(t,Tn);return await k(dirname(l)),await S(l,a),e.push({fromTool:"claude-code",fromPath:r,toPath:Tn,feature:"hooks"}),true}async function rR(t,e,r="project"){let n=join(t,r==="global"?js:Ao),o=await y(n);if(o===null)return;let s;try{s=JSON.parse(o);}catch{return}if(s.mcpServers&&typeof s.mcpServers=="object"){let a=JSON.stringify({mcpServers:s.mcpServers},null,2),l=join(t,Ws);await k(dirname(l)),await S(l,a),e.push({fromTool:"claude-code",fromPath:n,toPath:Ws,feature:"mcp"});}}async function nR(t,e){let r=e.some(m=>m.feature==="hooks"&&m.fromPath.replace(/\\/g,"/").endsWith(Cr)),n=join(t,Gs),o=await y(n);if(!o)return;let s;try{s=JSON.parse(o);}catch{return}if(!e.some(m=>m.feature==="mcp")&&s.mcpServers&&typeof s.mcpServers=="object"){let m=JSON.stringify({mcpServers:s.mcpServers},null,2),u=join(t,Ws);await k(dirname(u)),await S(u,m),e.push({fromTool:"claude-code",fromPath:n,toPath:Ws,feature:"mcp"});}let l=s.permissions;if(l&&typeof l=="object"&&!Array.isArray(l)){let m=l,u=Array.isArray(m.allow)?m.allow.filter(f=>typeof f=="string"):[],p=Array.isArray(m.deny)?m.deny.filter(f=>typeof f=="string"):[],d=Array.isArray(m.ask)?m.ask.filter(f=>typeof f=="string"):[];if(u.length>0||p.length>0||d.length>0){let f=stringify({allow:u,deny:p,ask:d}),h=join(t,yc);await k(dirname(h)),await S(h,f),e.push({fromTool:"claude-code",fromPath:n,toPath:yc,feature:"permissions"});}}let c=s.hooks;if(!r&&c&&typeof c=="object"&&!Array.isArray(c)){let m=tR(c);if(Object.keys(m).length>0){let u=stringify(m),p=join(t,Tn);await k(dirname(p)),await S(p,u),e.push({fromTool:"claude-code",fromPath:n,toPath:Tn,feature:"hooks"});}}}var oR=g(()=>{fe();E();Me();i(tR,"claudeHooksToCanonical");i(eR,"importClaudeHooksJson");i(rR,"importMcpJson");i(nR,"importSettings");});async function iR(t,e,r){let n=join(t,Ms),o=join(t,hc),a=(await b(n)).filter(l=>l.endsWith("SKILL.md"));for(let l of a){let c=dirname(l),m=basename(c),u=join(o,m),p=await b(c);for(let d of p){let f=await y(d);if(f===null)continue;let h=relative(c,d),C=join(u,h);await k(dirname(C));let R=r(f,d,C),I=h==="SKILL.md"?w(R):null;await S(C,h==="SKILL.md"?await tr(C,I?.frontmatter??{},I?.body??""):R);let O=`${hc}/${m}/${h}`;e.push({fromTool:"claude-code",fromPath:d,toPath:O,feature:"skills"});}}}var aR=g(()=>{E();F();V();Me();i(iR,"importClaudeSkills");});async function xa(t,e={}){let r=e.scope??"project",n=[],o=await J("claude-code",t,r);return await FT(t,n,o,r),await vT(t,n,o),await $T(t,n,o),await iR(t,n,o),await rR(t,n,r),await eR(t,n),await nR(t,n),await MT(t,n),n}async function FT(t,e,r,n){let o=join(t,Us),s=join(t,Xr),a=await y(s),l=join(t,If),c=n==="project"&&a===null?await y(l):null,m=a??c,u=a!==null?s:l;if(m!==null){await k(o);let d=join(o,"_root.md"),{frontmatter:f,body:h}=w(r(m,u,d)),R=f.root===true?f:{...f,root:true},I=await $(d,R,h);await S(d,I),e.push({fromTool:"claude-code",fromPath:u,toPath:`${Us}/_root.md`,feature:"rules"});}let p=join(t,ia);e.push(...await U({srcDir:p,destDir:o,extensions:[".md"],fromTool:"claude-code",normalize:r,mapEntry:i(({relativePath:d,normalizeTo:f})=>qC(d,o,f),"mapEntry")}));}async function vT(t,e,r){let n=join(t,ma),o=join(t,aa);e.push(...await U({srcDir:o,destDir:n,extensions:[".md"],fromTool:"claude-code",normalize:r,mapEntry:i(({relativePath:s,normalizeTo:a})=>op(s,n,"commands",a),"mapEntry")}));}async function $T(t,e,r){let n=join(t,ua),o=join(t,la);e.push(...await U({srcDir:o,destDir:n,extensions:[".md"],fromTool:"claude-code",normalize:r,mapEntry:i(({relativePath:s,normalizeTo:a})=>op(s,n,"agents",a),"mapEntry")}));}async function MT(t,e){let r=join(t,ca),n=await y(r);if(n===null)return;let o=join(t,Ic);await k(dirname(o)),await S(o,n),e.push({fromTool:"claude-code",fromPath:r,toPath:Ic,feature:"ignore"});}var lm=g(()=>{Ft();E();F();V();pt();QC();oR();Me();aR();i(xa,"importFromClaudeCode");i(FT,"importRules");i(vT,"importCommands");i($T,"importAgents");i(MT,"importIgnore");});function hd(t){let e=Object.keys(t);return {async route(r,n,o){let s=t[r];if(s){await s(n,o);return}throw new Error(`Unknown command "${r}". Available: ${e.join(", ")}`)},commands:i(()=>[...e],"commands")}}i(hd,"createRouter");var So={green:"\x1B[32m",red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",reset:"\x1B[0m"};function rO(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}i(rO,"noColor");function As(t,e){return rO()?e:`${t}${e}${So.reset}`}i(As,"c");function nO(t,e){let r=[...t].length;return t+" ".repeat(Math.max(0,e-r))}i(nO,"pad");var _={info(t){process.stdout.write(As(So.cyan,t)+`
118
- `);},warn(t){process.stderr.write(As(So.yellow,"\u26A0 ")+t+`
119
- `);},error(t){process.stderr.write(As(So.red,"\u2717 ")+t+`
120
- `);},success(t){process.stdout.write(As(So.green,"\u2713 ")+t+`
121
- `);},debug(t){process.env.AGENTSMESH_DEBUG==="1"&&process.stdout.write(As(So.cyan,"[debug] ")+t+`
118
+ `||s==="\r"||s===">"||s===" "||s===" "||s==='"'||s==="'"||s===":"||s==="#"||s==="?"}function hC(t,e,r){let n=e>0?t[e-1]:"",o=r<t.length?t[r]:"";return n==="`"&&o==="`"?{role:"inline-code"}:gC(t,e,r)?{role:"markdown-link-dest"}:n==="<"&&o===">"?{role:"bracketed"}:n==="'"&&o==="'"||n==='"'&&o==='"'?{role:"quoted"}:n==="@"?{role:"at-prefix"}:n==="("&&t[e-2]==="]"?{role:"markdown-link-dest"}:n==="["&&o==="]"?{role:"bracket-label"}:{role:"bare-prose"}}function yC(t,e,r,n,o){if(e<0||r>t.length)return false;let{candidate:s}=is(n),a=s.replace(as,""),l=X(a),c=e+a.length,m=t[e-1],u=t[r];return gC(t,e,c)||m==="'"&&u==="'"||m==='"'&&u==='"'||m==="`"&&u==="`"||m==="<"&&u===">"?true:m==="["&&u==="]"?!(!o&&!Ae(l)&&cL(t,e,n)):m==="@"?true:m==="("?u===")"||u==="#"||u==="?"||u===" "||u===" ":o?Ae(l)?true:l.includes("/")||l.includes("\\")?l.startsWith("./")||l.startsWith("../")?true:(l.split(/[\\/]/).filter(Boolean).at(-1)??"").includes("."):false:false}var IC=f(()=>{Nt();fn();i(cL,"markdownBracketLabelDuplicatesDestination");i(gC,"isMarkdownReferenceDefinitionDestination");i(hC,"getTokenContext");i(yC,"shouldRewritePathToken");});function bl(t){let e=new Set,r=El(t.content);return {content:t.content.replace(tC,(o,s,a)=>{if(r.some(([ft,vt])=>s>=ft&&s<vt)||!yC(a,s,s+o.length,o,t.rewriteBarePathTokens===true)||uC(a,s,o)||eC(a,s,s+o.length))return o;let{candidate:l,suffix:c}=is(o);if(!l)return o;let m=as.exec(l),u=m?l.slice(0,m.index):l,p=m?m[0]:"";if(!u)return o;let d=hC(a,s,s+u.length);if(d.role!=="markdown-link-dest"&&Pe.test(u))return o;let{translatedPath:g,resolvedBeforeTranslate:h,matchedPath:R}=cC({candidate:u,rawToken:l,projectRoot:t.projectRoot,sourceFile:t.sourceFile,destinationFile:t.destinationFile,translatePath:t.translatePath,pathExists:t.pathExists}),C=h;if(!R||!g)return g&&e.add(g),o;let S=X(u),w=u.endsWith("/")||t.pathIsDirectory?.(g)===true;if(w&&!S.includes("/")&&!S.includes("\\"))return o;if(C===null){let ft=X(l);if(ft.startsWith("agentsmesh/")&&(ft=`.${ft}`),ft.startsWith(".agentsmesh/")||ft.includes("/.agentsmesh/")){let vt=J(t.projectRoot),Vi=j(t.projectRoot,t.projectRoot),Vt=ft.replace(/^\.\//,"");C=j(t.projectRoot,vt.join(Vi,Vt));}}let D=J(t.projectRoot);if(t.scope==="global"){let ft=X(l),vt=ft.startsWith(".agentsmesh/")||ft.includes("/.agentsmesh/"),Vi=Ae(ft)||dC(ft),Vt=C!==null&&Dr(t.projectRoot,C),kd=Dr(t.projectRoot,g);if(C===g&&!kd&&!Vt&&!vt){let wd=X(D.relative(t.projectRoot,j(t.projectRoot,t.sourceFile))).split("/").filter(Boolean)[0]??"",wO=(C!==null?X(D.relative(t.projectRoot,C)):"").split("/").filter(Boolean)[0]??"";if(wd.length>0&&wd===wO)return o}if(!Vi&&!vt&&!Vt&&!kd)return o}let b=j(t.projectRoot,t.destinationFile),x=j(t.projectRoot,g),K=X(D.relative(t.projectRoot,b)),M=X(D.relative(t.projectRoot,x)),W=K.split("/").filter(Boolean)[0]??"",q=M.split("/").filter(Boolean)[0]??"",Ft=!X(u).startsWith(".agentsmesh/")&&!w&&W.length>0&&W===q&&W.startsWith(".")&&W!==".agentsmesh"||d.role==="markdown-link-dest"||pC(a,s,u),it=sC(t.projectRoot,t.destinationFile,g,u.endsWith("/"),{explicitCurrentDirLinks:t.explicitCurrentDirLinks===true||Ft,scope:t.scope??"project",pathIsDirectory:t.pathIsDirectory,logicalMeshSourceAbsolute:w?null:C,forceRelative:Ft,tokenContext:d,originalToken:u});return it?`${it}${p}${c}`:o}),missing:[...e]}}var dp=f(()=>{Nt();fn();iC();mC();fC();IC();i(bl,"rewriteFileLinks");});function _C(t){let e=[normalize(t)];if(!existsSync(t))return e;try{let r=[realpathSync(t),realpathSync.native(t)];for(let n of r){let o=normalize(n);e.includes(o)||e.push(o);}}catch{}return e}async function H(t,e,r="project"){let n=new Map,o=Array.from(new Set([t,...ht]));for(let l of o){let c=await zR(l,e,r);for(let[m,u]of c.entries())n.set(m,u);}let s=new Map;for(let[l,c]of n.entries()){let m=normalize(join(e,c));for(let u of _C(join(e,l)))s.set(u,m);}let a=new Set;for(let l of new Set(n.values())){let c=normalize(join(e,l));a.add(c);for(let m of _C(c))a.add(normalize(m));}return (l,c,m)=>bl({content:l,projectRoot:e,sourceFile:c,destinationFile:m,translatePath:i(u=>s.get(u)??u,"translatePath"),pathExists:i(u=>{let p=normalize(u);return s.has(u)||s.has(p)||existsSync(u)||a.has(p)},"pathExists"),explicitCurrentDirLinks:false,rewriteBarePathTokens:true,scope:r,pathIsDirectory:i(u=>{try{return statSync(u).isDirectory()}catch{return false}},"pathIsDirectory")}).content}var bt=f(()=>{VR();dp();lr();i(_C,"pathVariants");i(H,"createImportReferenceNormalizer");});function CC(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!s||typeof s!="object")continue;let a=s,l=typeof a.matcher=="string"?a.matcher:"";if(!l)continue;let c=Array.isArray(a.hooks)?a.hooks:[];for(let m of c){let u=m.type==="prompt"?"prompt":"command";if(!Te({...m,type:u}))continue;let p=u==="prompt"?Ot(m)||ut(m):ut(m)||Ot(m),d={matcher:l,type:u,command:p};typeof m.timeout=="number"&&(d.timeout=m.timeout),o.push(d);}}o.length>0&&(e[r]=o);}return e}async function kC(t,e){let r=join(t,gr),n=await I(r);if(n===null)return false;let o;try{o=JSON.parse(n);}catch{return false}if(!o||typeof o!="object"||Array.isArray(o))return false;let s=CC(o);if(Object.keys(s).length===0)return false;let a=stringify(s),l=join(t,bn);return await k(dirname(l)),await _(l,a),e.push({fromTool:"claude-code",fromPath:r,toPath:bn,feature:"hooks"}),true}async function wC(t,e){let r=e.some(m=>m.feature==="hooks"&&m.fromPath.replace(/\\/g,"/").endsWith(gr)),n=join(t,Bs),o=await I(n);if(!o)return;let s;try{s=JSON.parse(o);}catch{return}if(!e.some(m=>m.feature==="mcp")&&s.mcpServers&&typeof s.mcpServers=="object"){let m=JSON.stringify({mcpServers:s.mcpServers},null,2),u=join(t,Vs);await k(dirname(u)),await _(u,m),e.push({fromTool:"claude-code",fromPath:n,toPath:Vs,feature:"mcp"});}let l=s.permissions;if(l&&typeof l=="object"&&!Array.isArray(l)){let m=l,u=Array.isArray(m.allow)?m.allow.filter(g=>typeof g=="string"):[],p=Array.isArray(m.deny)?m.deny.filter(g=>typeof g=="string"):[],d=Array.isArray(m.ask)?m.ask.filter(g=>typeof g=="string"):[];if(u.length>0||p.length>0||d.length>0){let g=stringify({allow:u,deny:p,ask:d}),h=join(t,Bc);await k(dirname(h)),await _(h,g),e.push({fromTool:"claude-code",fromPath:n,toPath:Bc,feature:"permissions"});}}let c=s.hooks;if(!r&&c&&typeof c=="object"&&!Array.isArray(c)){let m=CC(c);if(Object.keys(m).length>0){let u=stringify(m),p=join(t,bn);await k(dirname(p)),await _(p,u),e.push({fromTool:"claude-code",fromPath:n,toPath:bn,feature:"hooks"});}}}var OC=f(()=>{ce();E();hr();i(CC,"claudeHooksToCanonical");i(kC,"importClaudeHooksJson");i(wC,"importSettings");});async function bC(t,e,r){let n=join(t,Ws),o=join(t,Wc),a=(await P(n)).filter(l=>l.endsWith("SKILL.md"));for(let l of a){let c=dirname(l),m=basename(c),u=join(o,m),p=await P(c);for(let d of p){let g=await I(d);if(g===null)continue;let h=relative(c,d),R=join(u,h);await k(dirname(R));let C=r(g,d,R),S=h==="SKILL.md"?O(C):null;await _(R,h==="SKILL.md"?await Le(R,S?.frontmatter??{},S?.body??""):C);let w=`${Wc}/${m}/${h}`;e.push({fromTool:"claude-code",fromPath:d,toPath:w,feature:"skills"});}}}var xC=f(()=>{E();F();Y();hr();i(bC,"importClaudeSkills");});async function ba(t,e={}){let r=e.scope??"project",n=[],o=await H("claude-code",t,r);return n.push(...await gt(Ea,t,r,{normalize:o})),await bC(t,n,o),await kC(t,n),await wC(t,n),n}var ym=f(()=>{bt();Me();OC();xC();hm();i(ba,"importFromClaudeCode");});function Ed(t){let e=Object.keys(t);return {async route(r,n,o){let s=t[r];if(s){await s(n,o);return}throw new Error(`Unknown command "${r}". Available: ${e.join(", ")}`)},commands:i(()=>[...e],"commands")}}i(Ed,"createRouter");var lo={green:"\x1B[32m",red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",reset:"\x1B[0m"};function EO(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}i(EO,"noColor");function _s(t,e){return EO()?e:`${t}${e}${lo.reset}`}i(_s,"c");function bO(t,e){let r=[...t].length;return t+" ".repeat(Math.max(0,e-r))}i(bO,"pad");var y={info(t){process.stdout.write(_s(lo.cyan,t)+`
119
+ `);},warn(t){process.stderr.write(_s(lo.yellow,"\u26A0 ")+t+`
120
+ `);},error(t){process.stderr.write(_s(lo.red,"\u2717 ")+t+`
121
+ `);},success(t){process.stdout.write(_s(lo.green,"\u2713 ")+t+`
122
+ `);},debug(t){process.env.AGENTSMESH_DEBUG==="1"&&process.stdout.write(_s(lo.cyan,"[debug] ")+t+`
122
123
  `);},table(t){if(t.length===0)return;let e=t[0].length,r=[];for(let o=0;o<e;o++){let s=0;for(let a=0;a<t.length;a++){let l=[...t[a][o]].length;l>s&&(s=l);}r[o]=s;}let n="+"+r.map(o=>"-".repeat(o+2)).join("+")+"+";process.stdout.write(n+`
123
- `);for(let o=0;o<t.length;o++){let a="| "+t[o].map((l,c)=>nO(l,r[c])).join(" | ")+" |";process.stdout.write(a+`
124
+ `);for(let o=0;o<t.length;o++){let a="| "+t[o].map((l,c)=>bO(l,r[c])).join(" | ")+" |";process.stdout.write(a+`
124
125
  `);}process.stdout.write(n+`
125
- `);}};var yd=[{name:"--help",description:"Show this help output and exit"},{name:"--version",description:"Print CLI version and exit"},{name:"--verbose",description:"Show full error details on failure"}],Id=[{name:"init",usage:"agentsmesh init [flags]",description:"Create agentsmesh.yaml, agentsmesh.local.yaml, and canonical .agentsmesh scaffold",flags:[{name:"--global",description:"Initialize canonical home config under ~/.agentsmesh/ (global targets include claude-code, antigravity, codex-cli, cursor, gemini-cli)"},{name:"--yes",description:"Auto-import detected tool configs, then add example scaffold only under empty canonical paths"}]},{name:"generate",usage:"agentsmesh generate [flags]",description:"Generate target files from canonical sources",flags:[{name:"--global",description:"Generate user-level config from ~/.agentsmesh/ (e.g. claude-code, antigravity, codex-cli, gemini-cli; Cursor writes ~/.cursor/rules, ~/.cursor/AGENTS.md, hooks, ignore, MCP, skills, agents, commands; legacy ~/.agentsmesh-exports/cursor/user-rules.md is import-only)"},{name:"--targets <csv>",description:"Limit generation to target IDs (comma-separated)"},{name:"--check",description:"Check drift only; exit non-zero when out of sync"},{name:"--dry-run",description:"Preview file changes without writing outputs"},{name:"--force",description:"Bypass lock-strategy blocked feature violations"},{name:"--refresh-cache",description:"Refresh remote extends cache before loading"},{name:"--no-cache",description:"Alias for --refresh-cache"}]},{name:"import",usage:"agentsmesh import --from <target> [flags]",description:"Import existing tool config into canonical .agentsmesh files",flags:[{name:"--from <target>",description:"Source tool ID to import from (required)"},{name:"--global",description:"Import from user-level paths into ~/.agentsmesh/ (claude-code, antigravity, codex-cli, gemini-cli; cursor reads ~/.cursor/{rules,AGENTS.md,mcp.json,hooks.json,cursorignore,skills,agents,commands} and legacy ~/.agentsmesh-exports/cursor/user-rules.md)"}]},{name:"install",usage:"agentsmesh install <source> [flags]",description:"Install canonical resources from local/remote sources",flags:[{name:"<source>",description:"GitHub/GitLab/tree/blob URL, git+ URL, SSH, or local path"},{name:"--sync",description:"Reinstall missing packs recorded in .agentsmesh/installs.yaml"},{name:"--path <dir>",description:"Subdirectory inside source repo when not embedded in URL"},{name:"--target <id>",description:"Native format used for import-at-root discovery (same as extends.target)"},{name:"--as <kind>",description:"Manual collection mode: rules, commands, agents, or skills"},{name:"--name <id>",description:"Override generated install entry/pack name"},{name:"--extends",description:"Write install as extends entry instead of materialized pack"},{name:"--dry-run",description:"Preview only (no YAML write, no pack write, no generate)"},{name:"--global",description:"Install into ~/.agentsmesh/ and regenerate user-level config"},{name:"--force",description:"Non-interactive mode; include invalid resources and skip selection prompts"}]},{name:"diff",usage:"agentsmesh diff [flags]",description:"Show patch-style output for what generate would change",flags:[{name:"--global",description:"Diff against outputs generated from ~/.agentsmesh/"},{name:"--targets <csv>",description:"Limit diff to target IDs (comma-separated)"}]},{name:"lint",usage:"agentsmesh lint [flags]",description:"Validate canonical files against target constraints",flags:[{name:"--global",description:"Lint canonical home config under ~/.agentsmesh/"},{name:"--targets <csv>",description:"Limit linting to target IDs (comma-separated)"}]},{name:"watch",usage:"agentsmesh watch [flags]",description:"Watch canonical files and regenerate on change",flags:[{name:"--global",description:"Watch ~/.agentsmesh/ and regenerate user-level config"},{name:"--targets <csv>",description:"Limit watched generate/matrix output to target IDs"}]},{name:"check",usage:"agentsmesh check",description:"Verify canonical files still match .agentsmesh/.lock",flags:[{name:"--global",description:"Check ~/.agentsmesh/.lock"}]},{name:"merge",usage:"agentsmesh merge",description:"Resolve .agentsmesh/.lock merge conflicts from current canonical state",flags:[{name:"--global",description:"Resolve ~/.agentsmesh/.lock conflicts"}]},{name:"matrix",usage:"agentsmesh matrix [flags]",description:"Print compatibility matrix for enabled features and targets",flags:[{name:"--global",description:"Show matrix for canonical home config under ~/.agentsmesh/"},{name:"--targets <csv>",description:"Limit matrix columns to target IDs"},{name:"--verbose",description:"Include expanded feature details in matrix output"}]},{name:"target",usage:"agentsmesh target scaffold <id> [--name <displayName>] [--force]",description:"Generate a new target skeleton (files, tests, fixture) under src/targets/<id>/.",flags:[{name:"--name <displayName>",description:"Human-readable name (defaults to id)"},{name:"--force",description:"Overwrite existing files"}]},{name:"plugin",usage:"agentsmesh plugin <add|list|remove|info> [args] [flags]",description:"Manage plugin-provided targets (npm packages exporting a TargetDescriptor).",flags:[{name:"--version <v>",description:"Pin plugin version (add)"},{name:"--id <id>",description:"Override derived plugin id (add)"}]}];function Sd(t,e=18){return t.length===0?" (no command-specific flags)":t.map(r=>` ${r.name.padEnd(e)}${r.description}`).join(`
126
- `)}i(Sd,"formatFlags");function _d(){let t=Id.map(e=>`- ${e.name.padEnd(8)} ${e.description}
126
+ `);}};var bd=[{name:"--help",description:"Show this help output and exit"},{name:"--version",description:"Print CLI version and exit"},{name:"--verbose",description:"Show full error details on failure"}],xd=[{name:"init",usage:"agentsmesh init [flags]",description:"Create agentsmesh.yaml, agentsmesh.local.yaml, and canonical .agentsmesh scaffold",flags:[{name:"--global",description:"Initialize canonical home config under ~/.agentsmesh/ (global targets include claude-code, antigravity, codex-cli, cursor, gemini-cli)"},{name:"--yes",description:"Auto-import detected tool configs, then add example scaffold only under empty canonical paths"}]},{name:"generate",usage:"agentsmesh generate [flags]",description:"Generate target files from canonical sources",flags:[{name:"--global",description:"Generate user-level config from ~/.agentsmesh/ (e.g. claude-code, antigravity, codex-cli, gemini-cli; Cursor writes ~/.cursor/rules, ~/.cursor/AGENTS.md, hooks, ignore, MCP, skills, agents, commands; legacy ~/.agentsmesh-exports/cursor/user-rules.md is import-only)"},{name:"--targets <csv>",description:"Limit generation to target IDs (comma-separated)"},{name:"--check",description:"Check drift only; exit non-zero when out of sync"},{name:"--dry-run",description:"Preview file changes without writing outputs"},{name:"--force",description:"Bypass lock-strategy blocked feature violations"},{name:"--refresh-cache",description:"Refresh remote extends cache before loading"},{name:"--no-cache",description:"Alias for --refresh-cache"}]},{name:"import",usage:"agentsmesh import --from <target> [flags]",description:"Import existing tool config into canonical .agentsmesh files",flags:[{name:"--from <target>",description:"Source tool ID to import from (required)"},{name:"--global",description:"Import from user-level paths into ~/.agentsmesh/ (claude-code, antigravity, codex-cli, gemini-cli; cursor reads ~/.cursor/{rules,AGENTS.md,mcp.json,hooks.json,cursorignore,skills,agents,commands} and legacy ~/.agentsmesh-exports/cursor/user-rules.md)"}]},{name:"install",usage:"agentsmesh install <source> [flags]",description:"Install canonical resources from local/remote sources",flags:[{name:"<source>",description:"GitHub/GitLab/tree/blob URL, git+ URL, SSH, or local path"},{name:"--sync",description:"Reinstall missing packs recorded in .agentsmesh/installs.yaml"},{name:"--path <dir>",description:"Subdirectory inside source repo when not embedded in URL"},{name:"--target <id>",description:"Native format used for import-at-root discovery (same as extends.target)"},{name:"--as <kind>",description:"Manual collection mode: rules, commands, agents, or skills"},{name:"--name <id>",description:"Override generated install entry/pack name"},{name:"--extends",description:"Write install as extends entry instead of materialized pack"},{name:"--dry-run",description:"Preview only (no YAML write, no pack write, no generate)"},{name:"--global",description:"Install into ~/.agentsmesh/ and regenerate user-level config"},{name:"--force",description:"Non-interactive mode; include invalid resources and skip selection prompts"}]},{name:"diff",usage:"agentsmesh diff [flags]",description:"Show patch-style output for what generate would change",flags:[{name:"--global",description:"Diff against outputs generated from ~/.agentsmesh/"},{name:"--targets <csv>",description:"Limit diff to target IDs (comma-separated)"}]},{name:"lint",usage:"agentsmesh lint [flags]",description:"Validate canonical files against target constraints",flags:[{name:"--global",description:"Lint canonical home config under ~/.agentsmesh/"},{name:"--targets <csv>",description:"Limit linting to target IDs (comma-separated)"}]},{name:"watch",usage:"agentsmesh watch [flags]",description:"Watch canonical files and regenerate on change",flags:[{name:"--global",description:"Watch ~/.agentsmesh/ and regenerate user-level config"},{name:"--targets <csv>",description:"Limit watched generate/matrix output to target IDs"}]},{name:"check",usage:"agentsmesh check",description:"Verify canonical files still match .agentsmesh/.lock",flags:[{name:"--global",description:"Check ~/.agentsmesh/.lock"}]},{name:"merge",usage:"agentsmesh merge",description:"Resolve .agentsmesh/.lock merge conflicts from current canonical state",flags:[{name:"--global",description:"Resolve ~/.agentsmesh/.lock conflicts"}]},{name:"matrix",usage:"agentsmesh matrix [flags]",description:"Print compatibility matrix for enabled features and targets",flags:[{name:"--global",description:"Show matrix for canonical home config under ~/.agentsmesh/"},{name:"--targets <csv>",description:"Limit matrix columns to target IDs"},{name:"--verbose",description:"Include expanded feature details in matrix output"}]},{name:"target",usage:"agentsmesh target scaffold <id> [--name <displayName>] [--force]",description:"Generate a new target skeleton (files, tests, fixture) under src/targets/<id>/.",flags:[{name:"--name <displayName>",description:"Human-readable name (defaults to id)"},{name:"--force",description:"Overwrite existing files"}]},{name:"plugin",usage:"agentsmesh plugin <add|list|remove|info> [args] [flags]",description:"Manage plugin-provided targets (npm packages exporting a TargetDescriptor).",flags:[{name:"--version <v>",description:"Pin plugin version (add)"},{name:"--id <id>",description:"Override derived plugin id (add)"}]}];function Pd(t,e=18){return t.length===0?" (no command-specific flags)":t.map(r=>` ${r.name.padEnd(e)}${r.description}`).join(`
127
+ `)}i(Pd,"formatFlags");function Ad(){let t=xd.map(e=>`- ${e.name.padEnd(8)} ${e.description}
127
128
  Usage: ${e.usage}
128
- ${Sd(e.flags)}`).join(`
129
+ ${Pd(e.flags)}`).join(`
129
130
 
130
- `);_.info(`agentsmesh <command> [flags]
131
+ `);y.info(`agentsmesh <command> [flags]
131
132
 
132
133
  Global flags:
133
- ${Sd(yd)}
134
+ ${Pd(bd)}
134
135
 
135
136
  Commands:
136
137
  ${t}
137
138
 
138
- Tip: run "agentsmesh <command> --help" for this same command reference.`);}i(_d,"printHelp");var aO=createRequire(import.meta.url),Zl=dirname(fileURLToPath(import.meta.url)),lO=Zl.endsWith("dist")?join(Zl,"..","package.json"):join(Zl,"..","..","package.json"),Rd=aO(lO);function Ts(){return Rd.version}i(Ts,"getVersion");function kd(){process.stdout.write(`agentsmesh v${Rd.version}
139
- `);}i(kd,"printVersion");function wd(t,e){e?.verbose&&t.stack?process.stderr.write(t.stack+`
140
- `):_.error(t.message),process.exit(1);}i(wd,"handleError");E();Ls();yr();var Ad=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],Qt=z$1.enum(ht),Co=z$1.enum(Ad),Fs=z$1.object({skills:z$1.array(z$1.string()).optional(),commands:z$1.array(z$1.string()).optional(),rules:z$1.array(z$1.string()).optional(),agents:z$1.array(z$1.string()).optional()}).strict(),RO=z$1.object({name:z$1.string(),source:z$1.string(),version:z$1.string().optional(),target:Qt.optional(),features:z$1.array(Co),path:z$1.string().optional(),pick:Fs.optional()}),kO=z$1.object({strategy:z$1.enum(["merge","lock","last-wins"]).default("merge"),lock_features:z$1.array(z$1.string()).default([])}),Ds=z$1.union([z$1.boolean(),z$1.object({project:z$1.boolean().optional(),global:z$1.boolean().optional()}).strict()]),wO=z$1.object({commands_to_skills:z$1.object({"codex-cli":Ds.optional()}).passthrough().optional(),agents_to_skills:z$1.object({"gemini-cli":Ds.optional(),cline:Ds.optional(),"codex-cli":Ds.optional(),windsurf:Ds.optional()}).passthrough().optional()}).strict().optional(),OO=z$1.object({id:z$1.string().regex(/^[a-z][a-z0-9-]*$/),source:z$1.string(),version:z$1.string().optional()}).strict(),Ql=z$1.object({version:z$1.literal(1),targets:z$1.array(Qt).default([...ht]),features:z$1.array(Co).default([...Ad]),extends:z$1.array(RO).default([]),overrides:z$1.record(z$1.string(),z$1.record(z$1.string(),z$1.unknown())).default({}),collaboration:kO.default({strategy:"merge",lock_features:[]}),conversions:wO,plugins:z$1.array(OO).default([]),pluginTargets:z$1.array(z$1.string().regex(/^[a-z][a-z0-9-]*$/)).default([])});var ec="agentsmesh.yaml",PO="agentsmesh.local.yaml";async function xO(t){let e=resolve(t);for(;;){let r=join(e,ec);if(await N(r))return r;let n=dirname(e);if(n===e)return null;e=n;}}i(xO,"findConfigPath");async function bO(t){let e=await y(t);if(e===null)throw new Yr(t);let r=parse(e),n=Ql.safeParse(r);if(!n.success){let o=n.error.issues.map(s=>s.message);throw new Xi(t,o,{cause:n.error})}return n.data}i(bO,"loadConfig");function tc(t,e){let r={...t};for(let[n,o]of Object.entries(e)){if(o==null)continue;let s=r[n];typeof o=="object"&&!Array.isArray(o)&&o!==null&&typeof s=="object"&&s!==null&&!Array.isArray(s)?r[n]=tc(s,o):r[n]=o;}return r}i(tc,"deepMergeObjects");function AO(t,e){let r={...t};return Array.isArray(e.targets)&&e.targets.length>0&&(r.targets=e.targets),Array.isArray(e.features)&&e.features.length>0&&(r.features=e.features),typeof e.overrides=="object"&&e.overrides!==null&&!Array.isArray(e.overrides)&&(r.overrides=tc(r.overrides??{},e.overrides)),typeof e.conversions=="object"&&e.conversions!==null&&!Array.isArray(e.conversions)&&(r.conversions=tc(r.conversions??{},e.conversions)),Array.isArray(e.extends)&&e.extends.length>0&&(r.extends=[...t.extends??[],...e.extends]),r}i(AO,"mergeLocalConfig");async function rc(t){let e=join(t,ec),r=await bO(e),n=join(t,PO),o=await y(n);if(o!==null){let s=parse(o);if(typeof s=="object"&&s!==null&&!Array.isArray(s)){let a=AO(r,s),l=Ql.safeParse(a);if(l.success)r=l.data;else {let c=l.error.issues.map(m=>m.message).join("; ");_.warn(`Ignoring invalid agentsmesh.local.yaml at ${n}: ${c}. Using project config instead.`);}}}return {config:r,configDir:t}}i(rc,"loadConfigFromExactDir");async function Nd(t){let e=await xO(t);if(e===null)throw new Yr(join(t,ec));return rc(dirname(e))}i(Nd,"loadConfigFromDir");Ls();function vs(t,e="project"){if(e==="project")return {scope:e,rootBase:t,configDir:t,canonicalDir:join(t,".agentsmesh")};let r=homedir(),n=join(r,".agentsmesh");return {scope:e,rootBase:r,configDir:n,canonicalDir:n}}i(vs,"resolveScopeContext");async function lt(t,e="project"){if(e==="project"){let{config:n,configDir:o}=await Nd(t);return {config:n,context:{scope:e,rootBase:o,configDir:o,canonicalDir:join(o,".agentsmesh")}}}let r=vs(t,e);try{let{config:n}=await rc(r.configDir);return {config:n,context:r}}catch(n){throw n instanceof Yr?new Yr(n.path,{cause:n,message:`agentsmesh.yaml not found at ${n.path} (global scope). Run 'agentsmesh init --global' to create it under ~/.agentsmesh, or drop the --global flag to operate on the current project.`}):n}}i(lt,"loadScopedConfig");E();E();var $O=promisify(execFile),Dd="repo";async function Qi(t,e,r,n,o){let s="cloneUrl"in t?"gitlab":"git",a="cloneUrl"in t?`${t.namespace}/${t.project}`:t.url,l=t.ref??"HEAD",c=o(s,a,l),m=join(n,c),u=join(m,Dd),p=`${m}.tmp`,d=join(p,Dd);if(!r.refresh&&await Fd(u))return ic(u);try{return await rm$1(p,{recursive:!0,force:!0}),await mkdir(p,{recursive:!0}),await GO(MO(t),d),t.ref&&await jO(d,t.ref),await rm$1(m,{recursive:!0,force:!0}),await rename(p,m),ic(u)}catch(f){if(await rm$1(p,{recursive:true,force:true}),r.allowOfflineFallback!==false&&await Fd(u))return console.warn(`[agentsmesh] Remote fetch failed for ${e}; using cached version. Error: ${f instanceof Error?f.message:String(f)}`),ic(u);throw f}}i(Qi,"fetchGitRemoteExtend");async function ic(t){return {resolvedPath:t,version:await UO(t)}}i(ic,"readCachedRepo");async function Fd(t){return N(t)}i(Fd,"hasCachedRepo");function MO(t){if("cloneUrl"in t){let e=process.env.AGENTSMESH_GITLAB_TOKEN;if(e){let r=new URL(t.cloneUrl);if(r.protocol==="https:")return r.username="oauth2",r.password=e,r.toString()}return t.cloneUrl}return t.url}i(MO,"resolveCloneUrl");async function GO(t,e){await ac(["clone",t,e]);}i(GO,"cloneRepo");async function jO(t,e){await ac(["checkout",e],t);}i(jO,"checkoutRef");async function UO(t){return ac(["rev-parse","HEAD"],t)}i(UO,"getHeadSha");async function ac(t,e){let{stdout:r}=await $O("git",t,{cwd:e,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return r.trim()}i(ac,"runGit");E();async function Gd(t,e,r){let n=`https://api.github.com/repos/${t}/${e}/releases/latest`,o={Accept:"application/vnd.github+json"};r&&(o.Authorization=`Bearer ${r}`);let s=await globalThis.fetch(n,{headers:o});if(!s.ok)throw new Error(`Failed to resolve latest release for ${t}/${e}: ${s.status} ${s.statusText}`);let a=await s.json();if(!a.tag_name||typeof a.tag_name!="string")throw new Error(`No tag_name in releases/latest response for ${t}/${e}`);return a.tag_name}i(Gd,"resolveLatestTag");async function jd(t,e,r,n,o,s=false){let a=r.token??process.env.AGENTSMESH_GITHUB_TOKEN,l=r.refresh===true,c=t.tag;if(c==="latest")try{c=await Gd(t.org,t.repo,a);}catch(I){if(!s)throw I;return zO(t,e,r,n,o,a)}let m=o("github",`${t.org}/${t.repo}`,c),u=join(n,m);if(!l&&await N(u)){let I=await lc(u);if(I)return {resolvedPath:join(u,I),version:c}}let p=`https://github.com/${t.org}/${t.repo}/tarball/${c}`,d={};a&&(d.Authorization=`Bearer ${a}`);let f;try{let I=await globalThis.fetch(p,{headers:d,redirect:"follow"});if(!I.ok)throw new Error(`HTTP ${I.status}: ${I.statusText}`);f=await I.arrayBuffer();}catch(I){if(r.allowOfflineFallback!==false&&await N(u)){let x=await lc(u);if(x)return console.warn(`[agentsmesh] Network failed for ${e}; using cached version. Error: ${I instanceof Error?I.message:String(I)}`),{resolvedPath:join(u,x),version:c}}throw I}await rm$1(u,{recursive:true,force:true}),await mkdir(u,{recursive:true});let h=join(u,"archive.tar.gz");await writeFile(h,new Uint8Array(f));try{await Md.extract({file:h,cwd:u,strict:!0,filter:i((I,O)=>!(HO(I)||O&&"type"in O&&(O.type==="Link"||O.type==="SymbolicLink")),"filter")});}finally{await rm$1(h,{force:true}).catch(()=>{});}let C=await lc(u);if(!C)throw new Error(`Extend "${e}": archive has no top-level directory. Expected a single top-level directory inside the archive.`);return {resolvedPath:join(u,C),version:c}}i(jd,"fetchGithubRemoteExtend");async function lc(t){let r=(await readdir(t,{withFileTypes:true})).filter(n=>n.isDirectory()&&!n.name.startsWith("."));return r.length===1?r[0].name:null}i(lc,"findExtractTopDir");function $d(t,e,r){return r?`https://x-access-token:${encodeURIComponent(r)}@github.com/${t}/${e}.git`:`https://github.com/${t}/${e}.git`}i($d,"buildGithubCloneUrl");function HO(t){let e=t.replace(/\\/g,"/");return e.startsWith("/")||e.split("/").includes("..")}i(HO,"isZipSlipPath");async function zO(t,e,r,n,o,s){let a=s?[$d(t.org,t.repo,s)]:[$d(t.org,t.repo),`ssh://git@github.com/${t.org}/${t.repo}.git`],l;for(let c of a){let m={url:c};try{return await Qi(m,e,r,n,o)}catch(u){l=u;}}throw l instanceof Error?l:new Error("Failed to clone GitHub default branch")}i(zO,"fetchGithubDefaultBranch");function Ud(t,e,r){if(!t.startsWith(e))return null;let n=t.slice(e.length).trim();if(!n)return null;let o=n.lastIndexOf("@");if(o<0)return [n,r];let s=n.slice(0,o).trim(),a=n.slice(o+1).trim();return !s||!a?null:[s,a]}i(Ud,"splitSourceRef");function Wd(t){let e=Ud(t,"github:","latest");if(!e)return null;let[r,n]=e,o=r.indexOf("/");if(o<0)return null;let s=r.slice(0,o).trim(),a=r.slice(o+1).trim();return !s||!a||!n?null:{org:s,repo:a,tag:n}}i(Wd,"parseGithubSource");function Bd(t){let e=Ud(t,"gitlab:");if(!e)return null;let[r,n]=e,o=r.lastIndexOf("/");if(o<0)return null;let s=r.slice(0,o).trim(),a=r.slice(o+1).trim();return !s||!a?null:{namespace:s,project:a,ref:n,cloneUrl:`https://gitlab.com/${s}/${a}.git`}}i(Bd,"parseGitlabSource");function Kd(t){if(!t.startsWith("git+"))return null;let e=t.slice(4).trim();if(!e)return null;let r=e.lastIndexOf("#"),n=(r<0?e:e.slice(0,r)).trim(),o=r<0?void 0:e.slice(r+1).trim();if(!n||r>=0&&!o)return null;let s;try{s=new URL(n);}catch{return null}return ["https:","http:","ssh:","file:"].includes(s.protocol)?{url:n,ref:o}:null}i(Kd,"parseGitSource");function On(t){let e=Wd(t);if(e)return {kind:"github",...e};let r=Bd(t);if(r)return {kind:"gitlab",...r};let n=Kd(t);return n?{kind:"git",...n}:null}i(On,"parseRemoteSource");function cc(t){return On(t)!==null}i(cc,"isSupportedRemoteSource");function XO(t){let e=On(t);return e?e.kind==="github"?Ro("github",`${e.org}/${e.repo}`,e.tag):e.kind==="gitlab"?Ro("gitlab",`${e.namespace}/${e.project}`,e.ref??"HEAD"):Ro("git",e.url,e.ref??"HEAD"):null}i(XO,"cacheKeyFromSource");async function Vd(t,e){let r=XO(t);if(!r)return;let n=e??At(),o=join(n,r);await rm$1(o,{recursive:true,force:true});}i(Vd,"cleanInstallCache");async function Jd(t,e){let r=t??At(),n=e??Number(process.env.AGENTSMESH_CACHE_MAX_AGE_DAYS??30)*864e5,o;try{o=await readdir(r);}catch{return}let s=Date.now();await Promise.all(o.map(async a=>{let l=join(r,a);try{let{mtimeMs:c}=await stat(l);s-c>n&&await rm$1(l,{recursive:!0,force:!0});}catch{}}));}i(Jd,"sweepStaleCache");function Ro(t,e,r){let n=i(o=>o.replace(/[^a-zA-Z0-9_-]/g,"_"),"safe");if(t==="github"){let[o,s]=e.split("/",2);if(o&&s)return `${n(o)}-${n(s)}-${n(r)}`}return `${n(t)}_${n(e)}_${n(r)}`}i(Ro,"buildCacheKey");function At(){let t=process.env.AGENTSMESH_CACHE;return t||join(homedir(),".agentsmesh","cache")}i(At,"getCacheDir");async function ko(t,e,r={}){let n=On(t);if(!n)throw t.startsWith("github:")?new Error(`Invalid github: source: "${t}" for extend "${e}"`):t.startsWith("gitlab:")?new Error(`Invalid gitlab: source: "${t}" for extend "${e}"`):t.startsWith("git+")?new Error(`Invalid git+ source: "${t}" for extend "${e}"`):new Error(`Invalid remote source: "${t}" for extend "${e}". Use github:org/repo@tag, gitlab:group/project@ref, or git+https://host/org/repo.git#ref.`);let o=r.cacheDir??At();return Jd(o).catch(()=>{}),n.kind==="github"?jd(n,e,r,o,Ro,!t.includes("@")):Qi(n,e,r,o,Ro)}i(ko,"fetchRemoteExtend");function rE(t){return t.startsWith("http://")||t.startsWith("https://")}i(rE,"isOtherRemoteSource");async function wo(t,e,r={}){if(t.extends.length===0)return [];if(r.refreshCache===true&&t.extends.some(o=>cc(o.source))){let o=At();await rm$1(o,{recursive:true,force:true}),await mkdir(o,{recursive:true});}let n=[];for(let o of t.extends){if(rE(o.source))throw new Error(`Remote extends (http/https) not supported: "${o.source}" for extend "${o.name}". Use github:org/repo@tag, gitlab:group/project@ref, git+https://host/org/repo.git#ref, or a local path (e.g. ./shared/).`);if(cc(o.source)){let a=await ko(o.source,o.name,{cacheDir:At(),refresh:r.refreshCache===true});n.push({name:o.name,resolvedPath:a.resolvedPath,features:[...o.features],target:o.target,version:a.version,path:o.path,pick:o.pick});continue}let s=resolve(e,o.source);if(!await N(s))throw new Error(`Extend "${o.name}": path does not exist: ${s}. Check extends.source in agentsmesh.yaml.`);n.push({name:o.name,resolvedPath:s,features:[...o.features],target:o.target,path:o.path,pick:o.pick});}return n}i(wo,"resolveExtendPaths");E();F();var sE=["always_on","model_decision","glob","manual"];function Xd(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}i(Xd,"toStrArray");async function En(t){let r=(await b(t)).filter(o=>{if(!o.endsWith(".md"))return false;let s=basename(o,".md");return s==="_root"||!s.startsWith("_")}),n=[];for(let o of r){let s=await y(o);if(!s)continue;let{frontmatter:a,body:l}=w(s),m=basename(o,".md")==="_root",u=a.root===true,p=a.trigger,d=typeof p=="string"&&sE.includes(p)?p:void 0,f=a.codex_emit,h=f==="execution"?"execution":f==="advisory"?"advisory":void 0,R=a.codex_instruction==="override"?"override":void 0;n.push({source:o,root:m||u,targets:Xd(a.targets),description:typeof a.description=="string"?a.description:"",globs:Xd(a.globs),body:l,...d!==void 0&&{trigger:d},...h!==void 0&&{codexEmit:h},...R!==void 0&&{codexInstructionVariant:R}});}return n}i(En,"parseRules");E();F();function qd(t){return t===true||t==="true"||t===1||t==="1"}i(qd,"toBool");function Qd(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}i(Qd,"toToolsArray");async function Pn(t){let r=(await b(t)).filter(o=>o.endsWith(".md")&&!basename(o).startsWith("_")),n=[];for(let o of r){let s=await y(o);if(!s)continue;let{frontmatter:a,body:l}=w(s),c=basename(o,".md"),m=Qd(a.allowedTools),u=Qd(a["allowed-tools"]),p=m.length>0?m:u;n.push({source:o,name:c,description:typeof a.description=="string"?a.description:"",allowedTools:p,outputStyle:qd(a.outputStyle)||qd(a["output-style"]),body:l});}return n}i(Pn,"parseCommands");E();F();function xn(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}i(xn,"toStrArray");function ef(t){return t===true||t==="true"||t===1||t==="1"}i(ef,"toBool");function rf(t){if(typeof t=="number"&&Number.isInteger(t)&&t>=0)return t;if(typeof t=="string"){let e=parseInt(t,10);return Number.isInteger(e)&&e>=0?e:0}return 0}i(rf,"toInt");function iE(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)?t:{}}i(iE,"toHooks");async function bn(t){let r=(await b(t)).filter(o=>o.endsWith(".md")&&!basename(o).startsWith("_")),n=[];for(let o of r){let s=await y(o);if(!s)continue;let{frontmatter:a,body:l}=w(s),c=basename(o,".md"),m=xn(a.tools),u=xn(a.tools),p=m.length>0?m:u,d=xn(a.disallowedTools),f=xn(a["disallowed-tools"]),h=d.length>0?d:f,C=xn(a.mcpServers),R=xn(a["mcp-servers"]),I=C.length>0?C:R,O=xn(a.skills),x=rf(a.maxTurns),P=rf(a["max-turns"]),A=x>0?x:P>0?P:0;n.push({source:o,name:c,description:typeof a.description=="string"?a.description:"",tools:p,disallowedTools:h,model:typeof a.model=="string"?a.model:"",permissionMode:typeof a.permissionMode=="string"?a.permissionMode:typeof a["permission-mode"]=="string"?a["permission-mode"]:"",maxTurns:A,mcpServers:I,hooks:iE(a.hooks),skills:O,memory:typeof a.memory=="string"?a.memory:"",outputStyle:ef(a.outputStyle)||ef(a["output-style"]),body:l});}return n}i(bn,"parseAgents");E();F();async function cE(t){return await y(t)??""}i(cE,"readContent");var ta="SKILL.md",mE=[".git","node_modules"];function uE(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}i(uE,"sanitizeSkillName");async function nf(t){let e=await b(t),r=[];for(let n of e){let s=n.slice(t.length+1).replace(/\\/g,"/");if(s===ta||s.endsWith(`/${ta}`))continue;let a=s.split("/")[0];if(mE.some(c=>a===c)||s===".DS_Store"||s.endsWith("/.DS_Store"))continue;let l=await cE(n);r.push({relativePath:s,absolutePath:n,content:l});}return r.sort((n,o)=>n.relativePath.localeCompare(o.relativePath))}i(nf,"listSupportingFiles");async function of(t){let e=join(t,ta),r=await y(e);if(!r)return null;let{frontmatter:n,body:o}=w(r),s=await nf(t),a=typeof n.name=="string"?uE(n.name):"";return {source:e,name:a||basename(t),description:typeof n.description=="string"?n.description:"",body:o,supportingFiles:s}}i(of,"parseSkillDirectory");async function Oo(t){let e;try{e=await readdir(t,{withFileTypes:!0});}catch{return []}let r=[];for(let n of e){if(!n.isDirectory()||n.name.startsWith("_"))continue;let o=join(t,n.name),s=join(o,ta),a=await y(s);if(!a)continue;let{frontmatter:l,body:c}=w(a),m=await nf(o);r.push({source:s,name:n.name,description:typeof l.description=="string"?l.description:"",body:c,supportingFiles:m});}return r.sort((n,o)=>n.name.localeCompare(o.name))}i(Oo,"parseSkills");E();function sf(t){return t===null||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}i(sf,"parseStringMap");function pE(t){if(!t||typeof t!="object")return null;let e=t,r=typeof e.type=="string"?e.type:"stdio",n=sf(e.env),o=typeof e.description=="string"?e.description:void 0,s=typeof e.url=="string"?e.url:"";if(s)return {...o!==void 0&&{description:o},type:r,url:s,headers:sf(e.headers),env:n};let a=typeof e.command=="string"?e.command:"";if(!a)return null;let l=Array.isArray(e.args)?e.args.filter(c=>typeof c=="string"):[];return {...o!==void 0&&{description:o},type:r,command:a,args:l,env:n}}i(pE,"parseServer");async function ea(t){let e=await y(t);if(!e)return null;let r;try{r=JSON.parse(e);}catch{return null}if(!r||typeof r!="object")return null;let n=r.mcpServers;if(n===void 0||typeof n!="object"||n===null)return null;let o={};for(let[s,a]of Object.entries(n)){let l=pE(a);l&&(o[s]=l);}return {mcpServers:o}}i(ea,"parseMcp");E();function uc(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}i(uc,"ensureStringArray");async function ra(t){let e=await y(t);if(e===null)return null;if(!e.trim())return {allow:[],deny:[],ask:[]};let r;try{r=parse(e);}catch{return null}if(!r||typeof r!="object")return null;let n=r,o=uc(n.allow),s=uc(n.deny),a=uc(n.ask);return {allow:o,deny:s,ask:a}}i(ra,"parsePermissions");E();fe();var gE=["command","prompt"];function hE(t){if(!t||typeof t!="object")return null;let e=t,r=e.matcher;if(typeof r!="string")return null;let n=pc(e);if(!n)return null;let o=typeof e.type=="string"&&gE.includes(e.type)?e.type:void 0,s=typeof e.timeout=="number"&&Number.isFinite(e.timeout)?e.timeout:void 0,a=Ot(e)||void 0;return {matcher:r,command:n,...s!==void 0&&{timeout:s},...o&&{type:o},...a&&{prompt:a}}}i(hE,"toHookEntry");async function na(t){let e=await y(t);if(e===null)return null;if(!e.trim())return {};let r;try{r=parse(e);}catch{return null}if(!r||typeof r!="object")return null;let n={},o=r;for(let[s,a]of Object.entries(o)){if(!Array.isArray(a))continue;let l=[];for(let c of a){let m=hE(c);m&&l.push(m);}l.length>0&&(n[s]=l);}return n}i(na,"parseHooks");E();async function oa(t){let e=await y(t);if(e===null||!e.trim())return [];let r=e.split(/\r?\n/),n=[];for(let o of r){let s=o.trim();s===""||s.startsWith("#")||n.push(s);}return n}i(oa,"parseIgnore");E();async function An(t){let e=join(t,".agentsmesh"),r=await N(e)?e:t,[n,o,s,a,l,c,m,u]=await Promise.all([En(join(r,"rules")),Pn(join(r,"commands")),bn(join(r,"agents")),Oo(join(r,"skills")),ea(join(r,"mcp.json")),ra(join(r,"permissions.yaml")),na(join(r,"hooks.yaml")),oa(join(r,"ignore"))]);return {rules:n,commands:o,agents:s,skills:a,mcp:l,permissions:c,hooks:m,ignore:u}}i(An,"loadCanonicalFiles");function lf(t){return basename(t.source,".md")}i(lf,"ruleSlug");function Eo(t,e){let r=new Map(t.rules.map(u=>[lf(u),u]));for(let u of e.rules)r.set(lf(u),u);let n=new Map(t.commands.map(u=>[u.name,u]));for(let u of e.commands)n.set(u.name,u);let o=new Map(t.agents.map(u=>[u.name,u]));for(let u of e.agents)o.set(u.name,u);let s=new Map(t.skills.map(u=>[u.name,u]));for(let u of e.skills)s.set(u.name,u);let a=IE(t.mcp,e.mcp),l=SE(t.permissions,e.permissions),c=_E(t.hooks,e.hooks),m=CE(t.ignore,e.ignore);return {rules:Array.from(r.values()),commands:Array.from(n.values()),agents:Array.from(o.values()),skills:Array.from(s.values()),mcp:a,permissions:l,hooks:c,ignore:m}}i(Eo,"mergeCanonicalFiles");function IE(t,e){if(!t&&!e)return null;let r=t?.mcpServers??{},n=e?.mcpServers??{};return {mcpServers:{...r,...n}}}i(IE,"mergeMcp");function SE(t,e){if(!t&&!e)return null;let r=dc(t?.allow??[],e?.allow??[]),n=dc(t?.deny??[],e?.deny??[]),o=dc(t?.ask??[],e?.ask??[]);return {allow:r,deny:n,ask:o}}i(SE,"mergePermissions");function dc(t,e){let r=new Set(t),n=[...t];for(let o of e)r.has(o)||(r.add(o),n.push(o));return n}i(dc,"mergeUniqueStrings");function _E(t,e){if(!t&&!e)return null;let r={},n=new Set([...Object.keys(t??{}),...Object.keys(e??{})]);for(let o of n){let s=e?.[o],a=t?.[o];r[o]=s!==void 0&&s.length>0?s:a??[];}return r}i(_E,"mergeHooks");function CE(t,e){let r=new Set(t),n=[...t];for(let o of e)r.has(o)||(r.add(o),n.push(o));return n}i(CE,"mergeIgnore");E();var cf=[{target:"claude-code",paths:["CLAUDE.md",".claude/rules",".claude/commands",".claude/agents",".claude/skills",".claude/settings.json",".claudeignore"]},{target:"cursor",paths:[".cursorrules",".cursor/rules",".cursor",".cursor/mcp.json"]},{target:"copilot",paths:[".github/copilot-instructions.md",".github/copilot",".github/instructions",".github/prompts",".github/skills",".github/agents",".github/hooks"]},{target:"gemini-cli",paths:["GEMINI.md",".gemini",".gemini/settings.json"]},{target:"codex-cli",paths:[".codex",".codex/config.toml","AGENTS.md","codex.md"]},{target:"windsurf",paths:[".windsurfrules",".windsurf",".windsurf/workflows"]},{target:"cline",paths:[".clinerules",".cline"]},{target:"continue",paths:[".continue",".continuerc.json"]},{target:"junie",paths:[".junie",".junie/guidelines.md"]},{target:"kiro",paths:[".kiro",".kiro/steering",".kiro/settings/mcp.json"]}];async function sa(t){let e=null,r=0;for(let n of cf){let o=0;for(let s of n.paths)await N(join(t,s))&&o++;o>r&&(r=o,e=n.target);}return r>0?e:null}i(sa,"detectNativeFormat");var mf=cf.map(t=>t.paths[0]).filter(t=>t!==void 0);E();lm();bm();$m();au();bu();Hu();pu();Gm();jm();Wm();var GT={"claude-code":xa,cursor:Wa,copilot:Va,"gemini-cli":al,"codex-cli":fl,windsurf:Sl,cline:ml,continue:Ya,junie:qa,kiro:Qa};async function bi(t,e){let r=GT[e];if(!r)throw new Error(`No importer registered for native target: ${e}`);return r(t)}i(bi,"importNativeToCanonical");E();var ap="SKILL.md";async function mo(t){if(!await N(t))return false;if(await N(join(t,ap)))return true;try{let e=await readdir(t,{withFileTypes:!0});for(let r of e)if(!(!r.isDirectory()||r.name.startsWith("."))&&await N(join(t,r.name,ap)))return !0}catch{return false}return false}i(mo,"isSkillPackLayout");async function Ai(t){if(!await N(t))return [];if(await N(join(t,ap))){let e=await of(t);return e?[e]:[]}return Oo(t)}i(Ai,"loadSkillsAtExtendPath");E();function BT(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(BT,"emptyCanonical");function KT(t){return t.rules.length===0&&t.commands.length===0&&t.agents.length===0&&t.skills.length===0&&t.mcp===null&&t.permissions===null&&t.hooks===null&&t.ignore.length===0}i(KT,"isCanonicalSliceEmpty");async function Ol(t){if(!await N(t))throw new Error(`Path does not exist: ${t}`);let e=await stat(t);if(e.isDirectory())return {sliceRoot:t};if(!e.isFile()||!t.toLowerCase().endsWith(".md"))throw new Error(`Install path must be a directory or a .md file inside rules/, commands/, or agents/: ${t}`);let r=dirname(t),n=basename(r),s=basename(t).replace(/\.md$/i,"");if(n==="rules")return {sliceRoot:r,implicitPick:{rules:[s]}};if(n==="commands")return {sliceRoot:r,implicitPick:{commands:[s]}};if(n==="agents")return {sliceRoot:r,implicitPick:{agents:[s]}};throw new Error(`Single-file install only supports .md files under rules/, commands/, or agents/. Got: ${t}`)}i(Ol,"normalizeSlicePath");async function HT(t){if(basename(t)==="rules")return En(t);let r=join(t,"rules");return await N(r)?En(r):[]}i(HT,"parseRulesAt");async function zT(t){if(basename(t)==="commands")return Pn(t);let r=join(t,"commands");return await N(r)?Pn(r):[]}i(zT,"parseCommandsAt");async function VT(t){if(basename(t)==="agents")return bn(t);let r=join(t,"agents");return await N(r)?bn(r):[]}i(VT,"parseAgentsAt");async function JT(t){if(await mo(t))return Ai(t);let e=join(t,"skills");return await mo(e)?Ai(e):[]}i(JT,"loadSkillsForPartialSlice");async function El(t){let e=join(t,".agentsmesh");if(await N(e))return An(t);let r=BT();if(r.rules=await HT(t),r.commands=await zT(t),r.agents=await VT(t),r.skills=await JT(t),KT(r))throw new Error(`No installable resources at ${t}. Expected .agentsmesh/, or rules/, commands/, agents/, or Anthropic-style skills (SKILL.md).`);return r}i(El,"loadCanonicalSliceAtPath");function YT(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(YT,"emptyCanonical");async function lR(t){let e=t.resolvedPath;if(!t.path){let o=join(e,".agentsmesh");if(!await N(o)){if(await mo(e)){let a=await Ai(e);return {...YT(),skills:a}}let s=t.target??await sa(e);if(!s)throw new Error(`Extend "${t.name}": No supported agent configuration found in ${e}.
141
- Expected one of: .agentsmesh/, ${mf.join(", ")}.`);_.info(`[agentsmesh] Extend "${t.name}": ${t.target?"specified":"detected"} ${s} format, importing to .agentsmesh/...`),await bi(e,s);}return An(e)}let r=join(e,t.path);if(!await N(r))throw new Error(`Extend "${t.name}": path does not exist: ${r}`);if(t.target){let o=join(e,".agentsmesh");return await N(o)||(_.info(`[agentsmesh] Extend "${t.name}": path "${t.path}" with target "${t.target}" \u2014 importing at extend root, then loading canonical.`),await bi(e,t.target)),An(e)}let{sliceRoot:n}=await Ol(r);try{return await El(n)}catch(o){let s=o instanceof Error?o.message:String(o),a=new Error(`Extend "${t.name}": ${s}`);throw o instanceof Error&&(a.cause=o),a}}i(lR,"loadCanonicalForExtend");function Pl(t,e,r,n){if(!r)return t;let o={...t};if(r.skills?.length&&e.includes("skills")){let s=new Set(r.skills),a=o.skills;o={...o,skills:a.filter(l=>s.has(l.name))};for(let l of r.skills)a.some(c=>c.name===l)||_.warn(`[agentsmesh] pick name "${l}" not found in skills from extend "${n}".`);}if(r.commands?.length&&e.includes("commands")){let s=new Set(r.commands),a=o.commands;o={...o,commands:a.filter(l=>s.has(l.name))};for(let l of r.commands)a.some(c=>c.name===l)||_.warn(`[agentsmesh] pick name "${l}" not found in commands from extend "${n}".`);}if(r.agents?.length&&e.includes("agents")){let s=new Set(r.agents),a=o.agents;o={...o,agents:a.filter(l=>s.has(l.name))};for(let l of r.agents)a.some(c=>c.name===l)||_.warn(`[agentsmesh] pick name "${l}" not found in agents from extend "${n}".`);}if(r.rules?.length&&e.includes("rules")){let s=new Set(r.rules),a=o.rules,l=i(c=>basename(c).replace(/\.md$/i,""),"stem");o={...o,rules:a.filter(c=>s.has(l(c.source)))};for(let c of r.rules)a.some(m=>l(m.source)===c)||_.warn(`[agentsmesh] pick name "${c}" not found in rules from extend "${n}".`);}return o}i(Pl,"applyExtendPick");E();var qT=["rules","commands","agents","skills"],Cs=z$1.enum(qT);var QT=z$1.enum(["github","gitlab","git","local"]),cR=z$1.object({name:z$1.string().min(1),source:z$1.string().min(1),version:z$1.string().optional(),source_kind:QT,installed_at:z$1.string(),updated_at:z$1.string(),features:z$1.array(Co).min(1),pick:Fs.optional(),target:Qt.optional(),path:z$1.string().optional(),paths:z$1.array(z$1.string().min(1)).min(1).optional(),as:Cs.optional(),content_hash:z$1.string()});function mR(t){let e=On(t);return e?e.kind==="github"?`github:${e.org}/${e.repo}`:e.kind==="gitlab"?`gitlab:${e.namespace}/${e.project}`:`git+${e.url}`:t.trim()}i(mR,"sourceIdentity");function eL(t,e){return e?t.length===e.length&&[...t].sort().every((r,n)=>r===[...e].sort()[n]):true}i(eL,"sameFeatures");async function xl(t){let e=join(t,"pack.yaml"),r=await y(e);if(r===null)return null;try{let n=parse(r);return cR.parse(n)}catch{return null}}i(xl,"readPackMetadata");async function pR(t,e,r){if(!await N(t))return null;let n=mR(e),o;try{o=await readdir(t,{withFileTypes:!0});}catch{return null}for(let s of o){if(!s.isDirectory())continue;let a=join(t,s.name),l=await xl(a);if(l&&mR(l.source)===n&&l.target===r.target&&l.as===r.as&&eL(l.features,r.features))return {meta:l,packDir:a,name:l.name}}return null}i(pR,"findExistingPack");async function bl(t){if(!await N(t))return [];let e;try{e=await readdir(t,{withFileTypes:!0});}catch{return []}let r=[];for(let n of e){if(!n.isDirectory())continue;let o=join(t,n.name),s=await xl(o);s&&r.push({meta:s,packDir:o,name:s.name});}return r}i(bl,"listPacks");function dR(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(dR,"emptyCanonical");async function rL(t){let[e,r,n,o,s,a,l,c]=await Promise.all([En(join(t,"rules")),Pn(join(t,"commands")),bn(join(t,"agents")),Oo(join(t,"skills")),ea(join(t,"mcp.json")),ra(join(t,"permissions.yaml")),na(join(t,"hooks.yaml")),oa(join(t,"ignore"))]);return {...dR(),rules:e,commands:r,agents:n,skills:o,mcp:s,permissions:a,hooks:l,ignore:c}}i(rL,"loadPackCanonical");async function fR(t){let e=join(t,"packs"),r=await bl(e),n=dR();for(let{meta:o,packDir:s}of r){let a=await rL(s),l=mp(a,o.features),c=Pl(l,o.features,o.pick,o.name);n=Eo(n,c);}return n}i(fR,"loadPacksCanonical");var oL={rules:["rules"],commands:["commands"],agents:["agents"],skills:["skills"],mcp:["mcp"],permissions:["permissions"],hooks:["hooks"],ignore:["ignore"]};function mp(t,e){if(e.length===0)return gR();let r=new Set(e.flatMap(n=>oL[n]??[]));return {rules:r.has("rules")?t.rules:[],commands:r.has("commands")?t.commands:[],agents:r.has("agents")?t.agents:[],skills:r.has("skills")?t.skills:[],mcp:r.has("mcp")?t.mcp:null,permissions:r.has("permissions")?t.permissions:null,hooks:r.has("hooks")?t.hooks:null,ignore:r.has("ignore")?t.ignore:[]}}i(mp,"filterCanonicalByFeatures");function gR(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(gR,"emptyCanonical");async function me(t,e,r={},n=join(e,".agentsmesh")){let o=await wo(t,e,{refreshCache:r.refreshRemoteCache===true}),s=gR();for(let c of o){let m=await lR(c),u=mp(m,c.features),p=Pl(u,c.features,c.pick,c.name);s=Eo(s,p);}let a=await fR(n);s=Eo(s,a);let l=await An(n);return s=Eo(s,l),{canonical:s,resolvedExtends:o}}i(me,"loadCanonicalWithExtends");E();function Ni(t){return createHash("sha256").update(t,"utf8").digest("hex")}i(Ni,"hashContent");async function Al(t){try{let e=await readFile(t,"utf8");return Ni(e)}catch(e){if(e instanceof Error&&"code"in e&&e.code==="ENOENT")return null;throw e}}i(Al,"hashFile");var pp=".lock",mL=[t=>t.startsWith("rules/")&&t.endsWith(".md"),t=>t.startsWith("commands/")&&t.endsWith(".md"),t=>t.startsWith("agents/")&&t.endsWith(".md"),t=>t.match(/^skills\/[^/]+\/.+$/)!==null,t=>t==="mcp.json",t=>t==="permissions.yaml",t=>t==="hooks.yaml",t=>t==="ignore"];function uL(t){return t.startsWith("packs/")?false:mL.some(e=>e(t))}i(uL,"isCanonical");var pL={rules:i(t=>t.startsWith("rules/"),"rules"),commands:i(t=>t.startsWith("commands/"),"commands"),agents:i(t=>t.startsWith("agents/"),"agents"),skills:i(t=>/^skills\/[^/]+\/.+$/.test(t),"skills"),mcp:i(t=>t==="mcp.json","mcp"),permissions:i(t=>t==="permissions.yaml","permissions"),hooks:i(t=>t==="hooks.yaml","hooks"),ignore:i(t=>t==="ignore","ignore")};async function Tl(t){let e=join(t,pp),r=await y(e);if(r===null)return null;try{let n=parse(r);return !n||typeof n!="object"?null:{generatedAt:String(n.generated_at??""),generatedBy:String(n.generated_by??""),libVersion:String(n.lib_version??""),checksums:n.checksums&&typeof n.checksums=="object"?n.checksums:{},extends:n.extends&&typeof n.extends=="object"?n.extends:{},packs:n.packs&&typeof n.packs=="object"?n.packs:{}}}catch{return null}}i(Tl,"readLock");async function Di(t,e){let r=join(t,pp),n={generated_at:e.generatedAt,generated_by:e.generatedBy,lib_version:e.libVersion,checksums:e.checksums,extends:e.extends,packs:e.packs},o=`# Auto-generated. DO NOT EDIT MANUALLY.
139
+ Tip: run "agentsmesh <command> --help" for this same command reference.`);}i(Ad,"printHelp");var TO=createRequire(import.meta.url),rc=dirname(fileURLToPath(import.meta.url)),LO=rc.endsWith("dist")?join(rc,"..","package.json"):join(rc,"..","..","package.json"),Ld=TO(LO);function Rs(){return Ld.version}i(Rs,"getVersion");function Nd(){process.stdout.write(`agentsmesh v${Ld.version}
140
+ `);}i(Nd,"printVersion");function Dd(t,e){e?.verbose&&t.stack?process.stderr.write(t.stack+`
141
+ `):y.error(t.message),process.exit(1);}i(Dd,"handleError");E();Cs();lr();var jd=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],Jt=z$1.enum(ht),mo=z$1.enum(jd),Os=z$1.object({skills:z$1.array(z$1.string()).optional(),commands:z$1.array(z$1.string()).optional(),rules:z$1.array(z$1.string()).optional(),agents:z$1.array(z$1.string()).optional()}).strict(),ZO=z$1.object({name:z$1.string(),source:z$1.string(),version:z$1.string().optional(),target:Jt.optional(),features:z$1.array(mo),path:z$1.string().optional(),pick:Os.optional()}),qO=z$1.object({strategy:z$1.enum(["merge","lock","last-wins"]).default("merge"),lock_features:z$1.array(z$1.string()).default([])}),ws=z$1.union([z$1.boolean(),z$1.object({project:z$1.boolean().optional(),global:z$1.boolean().optional()}).strict()]),QO=z$1.object({commands_to_skills:z$1.object({"codex-cli":ws.optional()}).passthrough().optional(),agents_to_skills:z$1.object({"gemini-cli":ws.optional(),cline:ws.optional(),"codex-cli":ws.optional(),windsurf:ws.optional()}).passthrough().optional()}).strict().optional(),tE=z$1.object({id:z$1.string().regex(/^[a-z][a-z0-9-]*$/),source:z$1.string(),version:z$1.string().optional()}).strict(),ac=z$1.object({version:z$1.literal(1),targets:z$1.array(Jt).default([...ht]),features:z$1.array(mo).default([...jd]),extends:z$1.array(ZO).default([]),overrides:z$1.record(z$1.string(),z$1.record(z$1.string(),z$1.unknown())).default({}),collaboration:qO.default({strategy:"merge",lock_features:[]}),conversions:QO,plugins:z$1.array(tE).default([]),pluginTargets:z$1.array(z$1.string().regex(/^[a-z][a-z0-9-]*$/)).default([])});var cc="agentsmesh.yaml",rE="agentsmesh.local.yaml";async function nE(t){let e=resolve(t);for(;;){let r=join(e,cc);if(await L(r))return r;let n=dirname(e);if(n===e)return null;e=n;}}i(nE,"findConfigPath");async function oE(t){let e=await I(t);if(e===null)throw new $r(t);let r=parse(e),n=ac.safeParse(r);if(!n.success){let o=n.error.issues.map(s=>s.message);throw new Ji(t,o,{cause:n.error})}return n.data}i(oE,"loadConfig");function lc(t,e){let r={...t};for(let[n,o]of Object.entries(e)){if(o==null)continue;let s=r[n];typeof o=="object"&&!Array.isArray(o)&&o!==null&&typeof s=="object"&&s!==null&&!Array.isArray(s)?r[n]=lc(s,o):r[n]=o;}return r}i(lc,"deepMergeObjects");function sE(t,e){let r={...t};return Array.isArray(e.targets)&&e.targets.length>0&&(r.targets=e.targets),Array.isArray(e.features)&&e.features.length>0&&(r.features=e.features),typeof e.overrides=="object"&&e.overrides!==null&&!Array.isArray(e.overrides)&&(r.overrides=lc(r.overrides??{},e.overrides)),typeof e.conversions=="object"&&e.conversions!==null&&!Array.isArray(e.conversions)&&(r.conversions=lc(r.conversions??{},e.conversions)),Array.isArray(e.extends)&&e.extends.length>0&&(r.extends=[...t.extends??[],...e.extends]),r}i(sE,"mergeLocalConfig");async function mc(t){let e=join(t,cc),r=await oE(e),n=join(t,rE),o=await I(n);if(o!==null){let s=parse(o);if(typeof s=="object"&&s!==null&&!Array.isArray(s)){let a=sE(r,s),l=ac.safeParse(a);if(l.success)r=l.data;else {let c=l.error.issues.map(m=>m.message).join("; ");y.warn(`Ignoring invalid agentsmesh.local.yaml at ${n}: ${c}. Using project config instead.`);}}}return {config:r,configDir:t}}i(mc,"loadConfigFromExactDir");async function Bd(t){let e=await nE(t);if(e===null)throw new $r(join(t,cc));return mc(dirname(e))}i(Bd,"loadConfigFromDir");Cs();function Es(t,e="project"){if(e==="project")return {scope:e,rootBase:t,configDir:t,canonicalDir:join(t,".agentsmesh")};let r=homedir(),n=join(r,".agentsmesh");return {scope:e,rootBase:r,configDir:n,canonicalDir:n}}i(Es,"resolveScopeContext");async function at(t,e="project"){if(e==="project"){let{config:n,configDir:o}=await Bd(t);return {config:n,context:{scope:e,rootBase:o,configDir:o,canonicalDir:join(o,".agentsmesh")}}}let r=Es(t,e);try{let{config:n}=await mc(r.configDir);return {config:n,context:r}}catch(n){throw n instanceof $r?new $r(n.path,{cause:n,message:`agentsmesh.yaml not found at ${n.path} (global scope). Run 'agentsmesh init --global' to create it under ~/.agentsmesh, or drop the --global flag to operate on the current project.`}):n}}i(at,"loadScopedConfig");E();E();var pE=promisify(execFile),Kd="repo";async function Zi(t,e,r,n,o){let s="cloneUrl"in t?"gitlab":"git",a="cloneUrl"in t?`${t.namespace}/${t.project}`:t.url,l=t.ref??"HEAD",c=o(s,a,l),m=join(n,c),u=join(m,Kd),p=`${m}.tmp`,d=join(p,Kd);if(!r.refresh&&await Hd(u))return fc(u);try{return await rm$1(p,{recursive:!0,force:!0}),await mkdir(p,{recursive:!0}),await fE(dE(t),d),t.ref&&await gE(d,t.ref),await rm$1(m,{recursive:!0,force:!0}),await rename(p,m),fc(u)}catch(g){if(await rm$1(p,{recursive:true,force:true}),r.allowOfflineFallback!==false&&await Hd(u))return console.warn(`[agentsmesh] Remote fetch failed for ${e}; using cached version. Error: ${g instanceof Error?g.message:String(g)}`),fc(u);throw g}}i(Zi,"fetchGitRemoteExtend");async function fc(t){return {resolvedPath:t,version:await hE(t)}}i(fc,"readCachedRepo");async function Hd(t){return L(t)}i(Hd,"hasCachedRepo");function dE(t){if("cloneUrl"in t){let e=process.env.AGENTSMESH_GITLAB_TOKEN;if(e){let r=new URL(t.cloneUrl);if(r.protocol==="https:")return r.username="oauth2",r.password=e,r.toString()}return t.cloneUrl}return t.url}i(dE,"resolveCloneUrl");async function fE(t,e){await gc(["clone",t,e]);}i(fE,"cloneRepo");async function gE(t,e){await gc(["checkout",e],t);}i(gE,"checkoutRef");async function hE(t){return gc(["rev-parse","HEAD"],t)}i(hE,"getHeadSha");async function gc(t,e){let{stdout:r}=await pE("git",t,{cwd:e,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return r.trim()}i(gc,"runGit");E();async function Yd(t,e,r){let n=`https://api.github.com/repos/${t}/${e}/releases/latest`,o={Accept:"application/vnd.github+json"};r&&(o.Authorization=`Bearer ${r}`);let s=await globalThis.fetch(n,{headers:o});if(!s.ok)throw new Error(`Failed to resolve latest release for ${t}/${e}: ${s.status} ${s.statusText}`);let a=await s.json();if(!a.tag_name||typeof a.tag_name!="string")throw new Error(`No tag_name in releases/latest response for ${t}/${e}`);return a.tag_name}i(Yd,"resolveLatestTag");async function Xd(t,e,r,n,o,s=false){let a=r.token??process.env.AGENTSMESH_GITHUB_TOKEN,l=r.refresh===true,c=t.tag;if(c==="latest")try{c=await Yd(t.org,t.repo,a);}catch(S){if(!s)throw S;return RE(t,e,r,n,o,a)}let m=o("github",`${t.org}/${t.repo}`,c),u=join(n,m);if(!l&&await L(u)){let S=await hc(u);if(S)return {resolvedPath:join(u,S),version:c}}let p=`https://github.com/${t.org}/${t.repo}/tarball/${c}`,d={};a&&(d.Authorization=`Bearer ${a}`);let g;try{let S=await globalThis.fetch(p,{headers:d,redirect:"follow"});if(!S.ok)throw new Error(`HTTP ${S.status}: ${S.statusText}`);g=await S.arrayBuffer();}catch(S){if(r.allowOfflineFallback!==false&&await L(u)){let D=await hc(u);if(D)return console.warn(`[agentsmesh] Network failed for ${e}; using cached version. Error: ${S instanceof Error?S.message:String(S)}`),{resolvedPath:join(u,D),version:c}}throw S}await rm$1(u,{recursive:true,force:true}),await mkdir(u,{recursive:true});let h=join(u,"archive.tar.gz");await writeFile(h,new Uint8Array(g));try{await Jd.extract({file:h,cwd:u,strict:!0,filter:i((S,w)=>!(_E(S)||w&&"type"in w&&(w.type==="Link"||w.type==="SymbolicLink")),"filter")});}finally{await rm$1(h,{force:true}).catch(()=>{});}let R=await hc(u);if(!R)throw new Error(`Extend "${e}": archive has no top-level directory. Expected a single top-level directory inside the archive.`);return {resolvedPath:join(u,R),version:c}}i(Xd,"fetchGithubRemoteExtend");async function hc(t){let r=(await readdir(t,{withFileTypes:true})).filter(n=>n.isDirectory()&&!n.name.startsWith("."));return r.length===1?r[0].name:null}i(hc,"findExtractTopDir");function Vd(t,e,r){return r?`https://x-access-token:${encodeURIComponent(r)}@github.com/${t}/${e}.git`:`https://github.com/${t}/${e}.git`}i(Vd,"buildGithubCloneUrl");function _E(t){let e=t.replace(/\\/g,"/");return e.startsWith("/")||e.split("/").includes("..")}i(_E,"isZipSlipPath");async function RE(t,e,r,n,o,s){let a=s?[Vd(t.org,t.repo,s)]:[Vd(t.org,t.repo),`ssh://git@github.com/${t.org}/${t.repo}.git`],l;for(let c of a){let m={url:c};try{return await Zi(m,e,r,n,o)}catch(u){l=u;}}throw l instanceof Error?l:new Error("Failed to clone GitHub default branch")}i(RE,"fetchGithubDefaultBranch");function Zd(t,e,r){if(!t.startsWith(e))return null;let n=t.slice(e.length).trim();if(!n)return null;let o=n.lastIndexOf("@");if(o<0)return [n,r];let s=n.slice(0,o).trim(),a=n.slice(o+1).trim();return !s||!a?null:[s,a]}i(Zd,"splitSourceRef");function qd(t){let e=Zd(t,"github:","latest");if(!e)return null;let[r,n]=e,o=r.indexOf("/");if(o<0)return null;let s=r.slice(0,o).trim(),a=r.slice(o+1).trim();return !s||!a||!n?null:{org:s,repo:a,tag:n}}i(qd,"parseGithubSource");function Qd(t){let e=Zd(t,"gitlab:");if(!e)return null;let[r,n]=e,o=r.lastIndexOf("/");if(o<0)return null;let s=r.slice(0,o).trim(),a=r.slice(o+1).trim();return !s||!a?null:{namespace:s,project:a,ref:n,cloneUrl:`https://gitlab.com/${s}/${a}.git`}}i(Qd,"parseGitlabSource");function tf(t){if(!t.startsWith("git+"))return null;let e=t.slice(4).trim();if(!e)return null;let r=e.lastIndexOf("#"),n=(r<0?e:e.slice(0,r)).trim(),o=r<0?void 0:e.slice(r+1).trim();if(!n||r>=0&&!o)return null;let s;try{s=new URL(n);}catch{return null}return ["https:","http:","ssh:","file:"].includes(s.protocol)?{url:n,ref:o}:null}i(tf,"parseGitSource");function hn(t){let e=qd(t);if(e)return {kind:"github",...e};let r=Qd(t);if(r)return {kind:"gitlab",...r};let n=tf(t);return n?{kind:"git",...n}:null}i(hn,"parseRemoteSource");function yc(t){return hn(t)!==null}i(yc,"isSupportedRemoteSource");function OE(t){let e=hn(t);return e?e.kind==="github"?uo("github",`${e.org}/${e.repo}`,e.tag):e.kind==="gitlab"?uo("gitlab",`${e.namespace}/${e.project}`,e.ref??"HEAD"):uo("git",e.url,e.ref??"HEAD"):null}i(OE,"cacheKeyFromSource");async function nf(t,e){let r=OE(t);if(!r)return;let n=e??Tt(),o=join(n,r);await rm$1(o,{recursive:true,force:true});}i(nf,"cleanInstallCache");async function of(t,e){let r=t??Tt(),n=e??Number(process.env.AGENTSMESH_CACHE_MAX_AGE_DAYS??30)*864e5,o;try{o=await readdir(r);}catch{return}let s=Date.now();await Promise.all(o.map(async a=>{let l=join(r,a);try{let{mtimeMs:c}=await stat(l);s-c>n&&await rm$1(l,{recursive:!0,force:!0});}catch{}}));}i(of,"sweepStaleCache");var sf=80;function uo(t,e,r){let n=i(s=>s.replace(/[^a-zA-Z0-9_.-]/g,"_").replace(/^\.+/,"_"),"safe"),o;if(t==="github"){let[s,a]=e.split("/",2);s&&a?o=`${n(s)}--${n(a)}--${n(r)}`:o=`${n(t)}__${n(e)}__${n(r)}`;}else o=`${n(t)}__${n(e)}__${n(r)}`;if(o.length>sf){let s=createHash("sha256").update(o).digest("hex").slice(0,16);o=`${o.slice(0,sf-18)}--${s}`;}return o}i(uo,"buildCacheKey");function Tt(){let t=process.env.AGENTSMESH_CACHE;return t||join(homedir(),".agentsmesh","cache")}i(Tt,"getCacheDir");async function po(t,e,r={}){let n=hn(t);if(!n)throw t.startsWith("github:")?new Error(`Invalid github: source: "${t}" for extend "${e}"`):t.startsWith("gitlab:")?new Error(`Invalid gitlab: source: "${t}" for extend "${e}"`):t.startsWith("git+")?new Error(`Invalid git+ source: "${t}" for extend "${e}"`):new Error(`Invalid remote source: "${t}" for extend "${e}". Use github:org/repo@tag, gitlab:group/project@ref, or git+https://host/org/repo.git#ref.`);let o=r.cacheDir??Tt();return of(o).catch(()=>{}),n.kind==="github"?Xd(n,e,r,o,uo,!t.includes("@")):Zi(n,e,r,o,uo)}i(po,"fetchRemoteExtend");function LE(t){return t.startsWith("http://")||t.startsWith("https://")}i(LE,"isOtherRemoteSource");async function fo(t,e,r={}){if(t.extends.length===0)return [];if(r.refreshCache===true&&t.extends.some(o=>yc(o.source))){let o=Tt();await rm$1(o,{recursive:true,force:true}),await mkdir(o,{recursive:true});}let n=[];for(let o of t.extends){if(LE(o.source))throw new Error(`Remote extends (http/https) not supported: "${o.source}" for extend "${o.name}". Use github:org/repo@tag, gitlab:group/project@ref, git+https://host/org/repo.git#ref, or a local path (e.g. ./shared/).`);if(yc(o.source)){let a=await po(o.source,o.name,{cacheDir:Tt(),refresh:r.refreshCache===true});n.push({name:o.name,resolvedPath:a.resolvedPath,features:[...o.features],target:o.target,version:a.version,path:o.path,pick:o.pick});continue}let s=resolve(e,o.source);if(!await L(s))throw new Error(`Extend "${o.name}": path does not exist: ${s}. Check extends.source in agentsmesh.yaml.`);n.push({name:o.name,resolvedPath:s,features:[...o.features],target:o.target,path:o.path,pick:o.pick});}return n}i(fo,"resolveExtendPaths");E();F();var FE=["always_on","model_decision","glob","manual"];function lf(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}i(lf,"toStrArray");async function yn(t){let r=(await P(t)).filter(o=>{if(!o.endsWith(".md"))return false;let s=basename(o,".md");return s==="_root"||!s.startsWith("_")}),n=[];for(let o of r){let s=await I(o);if(!s)continue;let{frontmatter:a,body:l}=O(s),m=basename(o,".md")==="_root",u=a.root===true,p=a.trigger,d=typeof p=="string"&&FE.includes(p)?p:void 0,g=a.codex_emit,h=g==="execution"?"execution":g==="advisory"?"advisory":void 0,C=a.codex_instruction==="override"?"override":void 0;n.push({source:o,root:m||u,targets:lf(a.targets),description:typeof a.description=="string"?a.description:"",globs:lf(a.globs),body:l,...d!==void 0&&{trigger:d},...h!==void 0&&{codexEmit:h},...C!==void 0&&{codexInstructionVariant:C}});}return n}i(yn,"parseRules");E();F();function mf(t){return t===true||t==="true"||t===1||t==="1"}i(mf,"toBool");function uf(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}i(uf,"toToolsArray");async function In(t){let r=(await P(t)).filter(o=>o.endsWith(".md")&&!basename(o).startsWith("_")),n=[];for(let o of r){let s=await I(o);if(!s)continue;let{frontmatter:a,body:l}=O(s),c=basename(o,".md"),m=uf(a.allowedTools),u=uf(a["allowed-tools"]),p=m.length>0?m:u;n.push({source:o,name:c,description:typeof a.description=="string"?a.description:"",allowedTools:p,outputStyle:mf(a.outputStyle)||mf(a["output-style"]),body:l});}return n}i(In,"parseCommands");E();F();function Sn(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}i(Sn,"toStrArray");function df(t){return t===true||t==="true"||t===1||t==="1"}i(df,"toBool");function ff(t){if(typeof t=="number"&&Number.isInteger(t)&&t>=0)return t;if(typeof t=="string"){let e=parseInt(t,10);return Number.isInteger(e)&&e>=0?e:0}return 0}i(ff,"toInt");function vE(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)?t:{}}i(vE,"toHooks");async function _n(t){let r=(await P(t)).filter(o=>o.endsWith(".md")&&!basename(o).startsWith("_")),n=[];for(let o of r){let s=await I(o);if(!s)continue;let{frontmatter:a,body:l}=O(s),c=basename(o,".md"),m=Sn(a.tools),u=Sn(a.tools),p=m.length>0?m:u,d=Sn(a.disallowedTools),g=Sn(a["disallowed-tools"]),h=d.length>0?d:g,R=Sn(a.mcpServers),C=Sn(a["mcp-servers"]),S=R.length>0?R:C,w=Sn(a.skills),D=ff(a.maxTurns),b=ff(a["max-turns"]),x=D>0?D:b>0?b:0;n.push({source:o,name:c,description:typeof a.description=="string"?a.description:"",tools:p,disallowedTools:h,model:typeof a.model=="string"?a.model:"",permissionMode:typeof a.permissionMode=="string"?a.permissionMode:typeof a["permission-mode"]=="string"?a["permission-mode"]:"",maxTurns:x,mcpServers:S,hooks:vE(a.hooks),skills:w,memory:typeof a.memory=="string"?a.memory:"",outputStyle:df(a.outputStyle)||df(a["output-style"]),body:l});}return n}i(_n,"parseAgents");E();F();async function GE(t){return await I(t)??""}i(GE,"readContent");var qi="SKILL.md",jE=[".git","node_modules"];function UE(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}i(UE,"sanitizeSkillName");async function gf(t){let e=await P(t),r=[];for(let n of e){let s=n.slice(t.length+1).replace(/\\/g,"/");if(s===qi||s.endsWith(`/${qi}`))continue;let a=s.split("/")[0];if(jE.some(c=>a===c)||s===".DS_Store"||s.endsWith("/.DS_Store"))continue;let l=await GE(n);r.push({relativePath:s,absolutePath:n,content:l});}return r.sort((n,o)=>n.relativePath.localeCompare(o.relativePath))}i(gf,"listSupportingFiles");async function hf(t){let e=join(t,qi),r=await I(e);if(!r)return null;let{frontmatter:n,body:o}=O(r),s=await gf(t),a=typeof n.name=="string"?UE(n.name):"";return {source:e,name:a||basename(t),description:typeof n.description=="string"?n.description:"",body:o,supportingFiles:s}}i(hf,"parseSkillDirectory");async function go(t){let e;try{e=await readdir(t,{withFileTypes:!0});}catch{return []}let r=[];for(let n of e){if(!n.isDirectory()||n.name.startsWith("_"))continue;let o=join(t,n.name),s=join(o,qi),a=await I(s);if(!a)continue;let{frontmatter:l,body:c}=O(a),m=await gf(o);r.push({source:s,name:n.name,description:typeof l.description=="string"?l.description:"",body:c,supportingFiles:m});}return r.sort((n,o)=>n.name.localeCompare(o.name))}i(go,"parseSkills");E();function yf(t){return t===null||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}i(yf,"parseStringMap");function WE(t){if(!t||typeof t!="object")return null;let e=t,r=typeof e.type=="string"?e.type:"stdio",n=yf(e.env),o=typeof e.description=="string"?e.description:void 0,s=typeof e.url=="string"?e.url:"";if(s)return {...o!==void 0&&{description:o},type:r,url:s,headers:yf(e.headers),env:n};let a=typeof e.command=="string"?e.command:"";if(!a)return null;let l=Array.isArray(e.args)?e.args.filter(c=>typeof c=="string"):[];return {...o!==void 0&&{description:o},type:r,command:a,args:l,env:n}}i(WE,"parseServer");async function Qi(t){let e=await I(t);if(!e)return null;let r;try{r=JSON.parse(e);}catch{return null}if(!r||typeof r!="object")return null;let n=r.mcpServers;if(n===void 0||typeof n!="object"||n===null)return null;let o={};for(let[s,a]of Object.entries(n)){let l=WE(a);l&&(o[s]=l);}return {mcpServers:o}}i(Qi,"parseMcp");E();function Sc(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}i(Sc,"ensureStringArray");async function ta(t){let e=await I(t);if(e===null)return null;if(!e.trim())return {allow:[],deny:[],ask:[]};let r;try{r=parse(e);}catch{return null}if(!r||typeof r!="object")return null;let n=r,o=Sc(n.allow),s=Sc(n.deny),a=Sc(n.ask);return {allow:o,deny:s,ask:a}}i(ta,"parsePermissions");E();ce();var HE=["command","prompt"];function zE(t){if(!t||typeof t!="object")return null;let e=t,r=e.matcher;if(typeof r!="string")return null;let n=_c(e);if(!n)return null;let o=typeof e.type=="string"&&HE.includes(e.type)?e.type:void 0,s=typeof e.timeout=="number"&&Number.isFinite(e.timeout)?e.timeout:void 0,a=Ot(e)||void 0;return {matcher:r,command:n,...s!==void 0&&{timeout:s},...o&&{type:o},...a&&{prompt:a}}}i(zE,"toHookEntry");async function ea(t){let e=await I(t);if(e===null)return null;if(!e.trim())return {};let r;try{r=parse(e);}catch{return null}if(!r||typeof r!="object")return null;let n={},o=r;for(let[s,a]of Object.entries(o)){if(!Array.isArray(a))continue;let l=[];for(let c of a){let m=zE(c);m&&l.push(m);}l.length>0&&(n[s]=l);}return n}i(ea,"parseHooks");E();async function ra(t){let e=await I(t);if(e===null||!e.trim())return [];let r=e.split(/\r?\n/),n=[];for(let o of r){let s=o.trim();s===""||s.startsWith("#")||n.push(s);}return n}i(ra,"parseIgnore");E();async function Rn(t){let e=join(t,".agentsmesh"),r=await L(e)?e:t,[n,o,s,a,l,c,m,u]=await Promise.all([yn(join(r,"rules")),In(join(r,"commands")),_n(join(r,"agents")),go(join(r,"skills")),Qi(join(r,"mcp.json")),ta(join(r,"permissions.yaml")),ea(join(r,"hooks.yaml")),ra(join(r,"ignore"))]);return {rules:n,commands:o,agents:s,skills:a,mcp:l,permissions:c,hooks:m,ignore:u}}i(Rn,"loadCanonicalFiles");function Sf(t){return basename(t.source,".md")}i(Sf,"ruleSlug");function ho(t,e){let r=new Map(t.rules.map(u=>[Sf(u),u]));for(let u of e.rules)r.set(Sf(u),u);let n=new Map(t.commands.map(u=>[u.name,u]));for(let u of e.commands)n.set(u.name,u);let o=new Map(t.agents.map(u=>[u.name,u]));for(let u of e.agents)o.set(u.name,u);let s=new Map(t.skills.map(u=>[u.name,u]));for(let u of e.skills)s.set(u.name,u);let a=JE(t.mcp,e.mcp),l=YE(t.permissions,e.permissions),c=XE(t.hooks,e.hooks),m=ZE(t.ignore,e.ignore);return {rules:Array.from(r.values()),commands:Array.from(n.values()),agents:Array.from(o.values()),skills:Array.from(s.values()),mcp:a,permissions:l,hooks:c,ignore:m}}i(ho,"mergeCanonicalFiles");function JE(t,e){if(!t&&!e)return null;let r=t?.mcpServers??{},n=e?.mcpServers??{};return {mcpServers:{...r,...n}}}i(JE,"mergeMcp");function YE(t,e){if(!t&&!e)return null;let r=Rc(t?.allow??[],e?.allow??[]),n=Rc(t?.deny??[],e?.deny??[]),o=Rc(t?.ask??[],e?.ask??[]);return {allow:r,deny:n,ask:o}}i(YE,"mergePermissions");function Rc(t,e){let r=new Set(t),n=[...t];for(let o of e)r.has(o)||(r.add(o),n.push(o));return n}i(Rc,"mergeUniqueStrings");function XE(t,e){if(!t&&!e)return null;let r={},n=new Set([...Object.keys(t??{}),...Object.keys(e??{})]);for(let o of n){let s=e?.[o],a=t?.[o];r[o]=s!==void 0&&s.length>0?s:a??[];}return r}i(XE,"mergeHooks");function ZE(t,e){let r=new Set(t),n=[...t];for(let o of e)r.has(o)||(r.add(o),n.push(o));return n}i(ZE,"mergeIgnore");E();var _f=[{target:"claude-code",paths:["CLAUDE.md",".claude/rules",".claude/commands",".claude/agents",".claude/skills",".claude/settings.json",".claudeignore"]},{target:"cursor",paths:[".cursorrules",".cursor/rules",".cursor",".cursor/mcp.json"]},{target:"copilot",paths:[".github/copilot-instructions.md",".github/copilot",".github/instructions",".github/prompts",".github/skills",".github/agents",".github/hooks"]},{target:"gemini-cli",paths:["GEMINI.md",".gemini",".gemini/settings.json"]},{target:"codex-cli",paths:[".codex",".codex/config.toml","AGENTS.md","codex.md"]},{target:"windsurf",paths:[".windsurfrules",".windsurf",".windsurf/workflows"]},{target:"cline",paths:[".clinerules",".cline"]},{target:"continue",paths:[".continue",".continuerc.json"]},{target:"junie",paths:[".junie",".junie/guidelines.md"]},{target:"kiro",paths:[".kiro",".kiro/steering",".kiro/settings/mcp.json"]}];async function na(t){let e=null,r=0;for(let n of _f){let o=0;for(let s of n.paths)await L(join(t,s))&&o++;o>r&&(r=o,e=n.target);}return r>0?e:null}i(na,"detectNativeFormat");var Rf=_f.map(t=>t.paths[0]).filter(t=>t!==void 0);E();ym();lu();Vm();xu();Gm();tp();Cm();jm();Tu();Du();var dL={"claude-code":ba,cursor:el,copilot:za,"gemini-cli":ml,"codex-cli":$a,windsurf:Cl,cline:Ta,continue:Ga,junie:pl,kiro:fl};async function bi(t,e){let r=dL[e];if(!r)throw new Error(`No importer registered for native target: ${e}`);return r(t)}i(bi,"importNativeToCanonical");E();var yp="SKILL.md";async function to(t){if(!await L(t))return false;if(await L(join(t,yp)))return true;try{let e=await readdir(t,{withFileTypes:!0});for(let r of e)if(!(!r.isDirectory()||r.name.startsWith("."))&&await L(join(t,r.name,yp)))return !0}catch{return false}return false}i(to,"isSkillPackLayout");async function xi(t){if(!await L(t))return [];if(await L(join(t,yp))){let e=await hf(t);return e?[e]:[]}return go(t)}i(xi,"loadSkillsAtExtendPath");E();function yL(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(yL,"emptyCanonical");function IL(t){return t.rules.length===0&&t.commands.length===0&&t.agents.length===0&&t.skills.length===0&&t.mcp===null&&t.permissions===null&&t.hooks===null&&t.ignore.length===0}i(IL,"isCanonicalSliceEmpty");async function Al(t){if(!await L(t))throw new Error(`Path does not exist: ${t}`);let e=await stat(t);if(e.isDirectory())return {sliceRoot:t};if(!e.isFile()||!t.toLowerCase().endsWith(".md"))throw new Error(`Install path must be a directory or a .md file inside rules/, commands/, or agents/: ${t}`);let r=dirname(t),n=basename(r),s=basename(t).replace(/\.md$/i,"");if(n==="rules")return {sliceRoot:r,implicitPick:{rules:[s]}};if(n==="commands")return {sliceRoot:r,implicitPick:{commands:[s]}};if(n==="agents")return {sliceRoot:r,implicitPick:{agents:[s]}};throw new Error(`Single-file install only supports .md files under rules/, commands/, or agents/. Got: ${t}`)}i(Al,"normalizeSlicePath");async function SL(t){if(basename(t)==="rules")return yn(t);let r=join(t,"rules");return await L(r)?yn(r):[]}i(SL,"parseRulesAt");async function _L(t){if(basename(t)==="commands")return In(t);let r=join(t,"commands");return await L(r)?In(r):[]}i(_L,"parseCommandsAt");async function RL(t){if(basename(t)==="agents")return _n(t);let r=join(t,"agents");return await L(r)?_n(r):[]}i(RL,"parseAgentsAt");async function CL(t){if(await to(t))return xi(t);let e=join(t,"skills");return await to(e)?xi(e):[]}i(CL,"loadSkillsForPartialSlice");async function Tl(t){let e=join(t,".agentsmesh");if(await L(e))return Rn(t);let r=yL();if(r.rules=await SL(t),r.commands=await _L(t),r.agents=await RL(t),r.skills=await CL(t),IL(r))throw new Error(`No installable resources at ${t}. Expected .agentsmesh/, or rules/, commands/, agents/, or Anthropic-style skills (SKILL.md).`);return r}i(Tl,"loadCanonicalSliceAtPath");function kL(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(kL,"emptyCanonical");async function PC(t){let e=t.resolvedPath;if(!t.path){let o=join(e,".agentsmesh");if(!await L(o)){if(await to(e)){let a=await xi(e);return {...kL(),skills:a}}let s=t.target??await na(e);if(!s)throw new Error(`Extend "${t.name}": No supported agent configuration found in ${e}.
142
+ Expected one of: .agentsmesh/, ${Rf.join(", ")}.`);y.info(`[agentsmesh] Extend "${t.name}": ${t.target?"specified":"detected"} ${s} format, importing to .agentsmesh/...`),await bi(e,s);}return Rn(e)}let r=join(e,t.path);if(!await L(r))throw new Error(`Extend "${t.name}": path does not exist: ${r}`);if(t.target){let o=join(e,".agentsmesh");return await L(o)||(y.info(`[agentsmesh] Extend "${t.name}": path "${t.path}" with target "${t.target}" \u2014 importing at extend root, then loading canonical.`),await bi(e,t.target)),Rn(e)}let{sliceRoot:n}=await Al(r);try{return await Tl(n)}catch(o){let s=o instanceof Error?o.message:String(o),a=new Error(`Extend "${t.name}": ${s}`);throw o instanceof Error&&(a.cause=o),a}}i(PC,"loadCanonicalForExtend");function Ll(t,e,r,n){if(!r)return t;let o={...t};if(r.skills?.length&&e.includes("skills")){let s=new Set(r.skills),a=o.skills;o={...o,skills:a.filter(l=>s.has(l.name))};for(let l of r.skills)a.some(c=>c.name===l)||y.warn(`[agentsmesh] pick name "${l}" not found in skills from extend "${n}".`);}if(r.commands?.length&&e.includes("commands")){let s=new Set(r.commands),a=o.commands;o={...o,commands:a.filter(l=>s.has(l.name))};for(let l of r.commands)a.some(c=>c.name===l)||y.warn(`[agentsmesh] pick name "${l}" not found in commands from extend "${n}".`);}if(r.agents?.length&&e.includes("agents")){let s=new Set(r.agents),a=o.agents;o={...o,agents:a.filter(l=>s.has(l.name))};for(let l of r.agents)a.some(c=>c.name===l)||y.warn(`[agentsmesh] pick name "${l}" not found in agents from extend "${n}".`);}if(r.rules?.length&&e.includes("rules")){let s=new Set(r.rules),a=o.rules,l=i(c=>basename(c).replace(/\.md$/i,""),"stem");o={...o,rules:a.filter(c=>s.has(l(c.source)))};for(let c of r.rules)a.some(m=>l(m.source)===c)||y.warn(`[agentsmesh] pick name "${c}" not found in rules from extend "${n}".`);}return o}i(Ll,"applyExtendPick");E();var EL=["rules","commands","agents","skills"],us=z$1.enum(EL);var bL=z$1.enum(["github","gitlab","git","local"]),AC=z$1.object({name:z$1.string().min(1),source:z$1.string().min(1),version:z$1.string().optional(),source_kind:bL,installed_at:z$1.string(),updated_at:z$1.string(),features:z$1.array(mo).min(1),pick:Os.optional(),target:Jt.optional(),path:z$1.string().optional(),paths:z$1.array(z$1.string().min(1)).min(1).optional(),as:us.optional(),content_hash:z$1.string()});function TC(t){let e=hn(t);return e?e.kind==="github"?`github:${e.org}/${e.repo}`:e.kind==="gitlab"?`gitlab:${e.namespace}/${e.project}`:`git+${e.url}`:t.trim()}i(TC,"sourceIdentity");function PL(t,e){return e?t.length===e.length&&[...t].sort().every((r,n)=>r===[...e].sort()[n]):true}i(PL,"sameFeatures");async function Nl(t){let e=join(t,"pack.yaml"),r=await I(e);if(r===null)return null;try{let n=parse(r);return AC.parse(n)}catch{return null}}i(Nl,"readPackMetadata");async function NC(t,e,r){if(!await L(t))return null;let n=TC(e),o;try{o=await readdir(t,{withFileTypes:!0});}catch{return null}for(let s of o){if(!s.isDirectory())continue;let a=join(t,s.name),l=await Nl(a);if(l&&TC(l.source)===n&&l.target===r.target&&l.as===r.as&&PL(l.features,r.features))return {meta:l,packDir:a,name:l.name}}return null}i(NC,"findExistingPack");async function Dl(t){if(!await L(t))return [];let e;try{e=await readdir(t,{withFileTypes:!0});}catch{return []}let r=[];for(let n of e){if(!n.isDirectory())continue;let o=join(t,n.name),s=await Nl(o);s&&r.push({meta:s,packDir:o,name:s.name});}return r}i(Dl,"listPacks");function DC(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(DC,"emptyCanonical");async function AL(t){let[e,r,n,o,s,a,l,c]=await Promise.all([yn(join(t,"rules")),In(join(t,"commands")),_n(join(t,"agents")),go(join(t,"skills")),Qi(join(t,"mcp.json")),ta(join(t,"permissions.yaml")),ea(join(t,"hooks.yaml")),ra(join(t,"ignore"))]);return {...DC(),rules:e,commands:r,agents:n,skills:o,mcp:s,permissions:a,hooks:l,ignore:c}}i(AL,"loadPackCanonical");async function FC(t){let e=join(t,"packs"),r=await Dl(e),n=DC();for(let{meta:o,packDir:s}of r){let a=await AL(s),l=_p(a,o.features),c=Ll(l,o.features,o.pick,o.name);n=ho(n,c);}return n}i(FC,"loadPacksCanonical");var LL={rules:["rules"],commands:["commands"],agents:["agents"],skills:["skills"],mcp:["mcp"],permissions:["permissions"],hooks:["hooks"],ignore:["ignore"]};function _p(t,e){if(e.length===0)return vC();let r=new Set(e.flatMap(n=>LL[n]??[]));return {rules:r.has("rules")?t.rules:[],commands:r.has("commands")?t.commands:[],agents:r.has("agents")?t.agents:[],skills:r.has("skills")?t.skills:[],mcp:r.has("mcp")?t.mcp:null,permissions:r.has("permissions")?t.permissions:null,hooks:r.has("hooks")?t.hooks:null,ignore:r.has("ignore")?t.ignore:[]}}i(_p,"filterCanonicalByFeatures");function vC(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(vC,"emptyCanonical");async function se(t,e,r={},n=join(e,".agentsmesh")){let o=await fo(t,e,{refreshCache:r.refreshRemoteCache===true}),s=vC();for(let c of o){let m=await PC(c),u=_p(m,c.features),p=Ll(u,c.features,c.pick,c.name);s=ho(s,p);}let a=await FC(n);s=ho(s,a);let l=await Rn(n);return s=ho(s,l),{canonical:s,resolvedExtends:o}}i(se,"loadCanonicalWithExtends");E();function Ti(t){return createHash("sha256").update(t,"utf8").digest("hex")}i(Ti,"hashContent");async function Fl(t){try{let e=await readFile(t,"utf8");return Ti(e)}catch(e){if(e instanceof Error&&"code"in e&&e.code==="ENOENT")return null;throw e}}i(Fl,"hashFile");var Cp=".lock",ML=[t=>t.startsWith("rules/")&&t.endsWith(".md"),t=>t.startsWith("commands/")&&t.endsWith(".md"),t=>t.startsWith("agents/")&&t.endsWith(".md"),t=>t.match(/^skills\/[^/]+\/.+$/)!==null,t=>t==="mcp.json",t=>t==="permissions.yaml",t=>t==="hooks.yaml",t=>t==="ignore"];function GL(t){return t.startsWith("packs/")?false:ML.some(e=>e(t))}i(GL,"isCanonical");var jL={rules:i(t=>t.startsWith("rules/"),"rules"),commands:i(t=>t.startsWith("commands/"),"commands"),agents:i(t=>t.startsWith("agents/"),"agents"),skills:i(t=>/^skills\/[^/]+\/.+$/.test(t),"skills"),mcp:i(t=>t==="mcp.json","mcp"),permissions:i(t=>t==="permissions.yaml","permissions"),hooks:i(t=>t==="hooks.yaml","hooks"),ignore:i(t=>t==="ignore","ignore")};async function vl(t){let e=join(t,Cp),r=await I(e);if(r===null)return null;try{let n=parse(r);return !n||typeof n!="object"?null:{generatedAt:String(n.generated_at??""),generatedBy:String(n.generated_by??""),libVersion:String(n.lib_version??""),checksums:n.checksums&&typeof n.checksums=="object"?n.checksums:{},extends:n.extends&&typeof n.extends=="object"?n.extends:{},packs:n.packs&&typeof n.packs=="object"?n.packs:{}}}catch{return null}}i(vl,"readLock");async function Li(t,e){let r=join(t,Cp),n={generated_at:e.generatedAt,generated_by:e.generatedBy,lib_version:e.libVersion,checksums:e.checksums,extends:e.extends,packs:e.packs},o=`# Auto-generated. DO NOT EDIT MANUALLY.
142
143
  # Tracks the state of all config files for team conflict resolution.
143
144
 
144
- `+stringify(n);await S(r,o);}i(Di,"writeLock");async function Jr(t){if(!await N(t))return {};let e=await b(t),r={};for(let n of e){let o=relative(t,n).replace(/\\/g,"/");if(o===pp||!uL(o))continue;let s=await Al(n);s!==null&&(r[o]=s.startsWith("sha256:")?s:`sha256:${s}`);}return r}i(Jr,"buildChecksums");function Ll(t,e,r){if(r.length===0)return [];let n=r.map(a=>pL[a]).filter(a=>a!==void 0);if(n.length===0)return [];let o=new Set([...Object.keys(t),...Object.keys(e)]),s=[];for(let a of o)n.some(l=>l(a))&&t[a]!==e[a]&&s.push(a);return s}i(Ll,"detectLockedFeatureViolations");async function Fi(t){let e=await bl(t),r={};for(let{meta:n}of e)r[n.name]=n.content_hash;return r}i(Fi,"buildPackChecksums");async function uo(t){let e={};for(let r of t){if(r.version!==void 0){e[r.name]=r.version;continue}let n=join(r.resolvedPath,".agentsmesh"),o=await Jr(n),s=Object.keys(o).sort().map(c=>`${c}:${o[c]}`).join(`
145
- `),a=Ni(s),l=a.startsWith("sha256:")?a:`sha256:${a}`;e[r.name]=`local:${l}`;}return e}i(uo,"buildExtendChecksums");ot();Kr();function dL(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}i(dL,"addDirectoryMapping");function hR(t,e,r){let n=posix.dirname(e),o=posix.dirname(r);for(;n!==".agentsmesh/skills"&&n!==".";)dL(t,n,o),n=posix.dirname(n),o=posix.dirname(o);}i(hR,"addSkillDirectoryMappings");ot();function yR(t,e,r="project"){let n=ft(t,r);if(!n)return null;if(e.root)return n.rootInstructionPath??null;if(e.targets.length>0&&!e.targets.includes(t))return null;let o=basename(e.source,".md");return n.paths.rulePath(o,e)}i(yR,"ruleTargetPath");function IR(t,e,r,n="project"){let o=ft(t,n);return o?o.paths.commandPath(e,r):null}i(IR,"commandTargetPath");function SR(t,e,r,n="project"){let o=ft(t,n);return o?o.paths.agentPath(e,r):null}i(SR,"agentTargetPath");wt();dt();xt();ot();function hL(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}i(hL,"addDirectoryMapping");function vi(t,e,r,n="project"){let o=new Map;for(let a of e.rules){let l=yR(t,a,n);l&&o.set(`.agentsmesh/rules/${basename(a.source)}`,l);}for(let a of e.commands){let l=IR(t,a.name,r,n);l&&o.set(`.agentsmesh/commands/${a.name}.md`,l);}for(let a of e.agents){let l=SR(t,a.name,r,n);l&&o.set(`.agentsmesh/agents/${a.name}.md`,l);}let s=Oi(t,n);if(!s)return o;for(let a of e.skills){hL(o,`.agentsmesh/skills/${a.name}`,`${s}/${a.name}`),o.set(`.agentsmesh/skills/${a.name}/SKILL.md`,`${s}/${a.name}/SKILL.md`);for(let l of a.supportingFiles){let c=l.relativePath.replace(/\\/g,"/"),m=`.agentsmesh/skills/${a.name}/${c}`,u=`${s}/${a.name}/${c}`;o.set(m,u),hR(o,m,u);}}return o}i(vi,"buildReferenceMap");yr();var po="AGENTS.md";function yL(t){return t.target===Ns&&t.path.endsWith(po)}i(yL,"isCodexAgents");function _R(t){return t.target==="windsurf"&&t.path.endsWith(po)}i(_R,"isWindsurfAgents");function CR(t){return t.target==="cline"&&t.path.endsWith(po)}i(CR,"isClineAgents");function dp(t){return t.target==="cursor"&&t.path.endsWith(po)}i(dp,"isCursorAgents");function fp(t){return t.target==="gemini-cli"&&t.path.endsWith(po)}i(fp,"isGeminiAgents");function IL(t){return t.target==="kiro"&&t.path.endsWith(po)}i(IL,"isKiroAgents");function SL(t){return dp(t)||fp(t)}i(SL,"isCompatibilityAgents");function Dl(t,e,r,n){let o=n.get(t);if(o)return o;let s=new Map;for(let[a,l]of vi(t,e,r))s.has(l)||s.set(l,a);return n.set(t,s),s}i(Dl,"reverseReferenceMap");function Fl(t,e){let r=[...e.entries()].sort(([o],[s])=>s.length-o.length),n=t;for(let[o,s]of r)n=n.split(o).join(s);return n}i(Fl,"normalizeContent");function _L(t,e,r,n,o){let s=Dl(t.target,r,n,o),a=Dl(e.target,r,n,o);return Fl(t.content,s)===Fl(e.content,a)}i(_L,"hasEquivalentCanonicalContent");function CL(t,e,r,n,o){let s=Dl(t.target,r,n,o),a=Dl(e.target,r,n,o),l=Fl(t.content,s).trim(),c=Fl(e.content,a).trim();return l.length>c.length&&l.includes(c)}i(CL,"hasCanonicalSupersetContent");function RR(t,e,r){let n=new Map;for(let a of t){if(!a.path.endsWith(po))continue;let l=n.get(a.path)??new Set;l.add(a.target),n.set(a.path,l);}let o=new Map;for(let a of t)yL(a)&&o.set(a.path,a);let s=new Map;return t.filter(a=>{if(dp(a)){let c=n.get(a.path);if(c&&[...c].some(m=>m!=="cursor"))return false}if(fp(a)){let c=n.get(a.path);if(c&&[...c].some(m=>m!=="cursor"&&m!=="gemini-cli"))return false}if(!_R(a)&&!CR(a)&&!dp(a)&&!fp(a)&&!IL(a))return true;let l=o.get(a.path);return l?SL(a)||_R(a)||CR(a)?false:!(_L(l,a,e,r,s)||CL(l,a,e,r,s)):true})}i(RR,"preferEquivalentCodexAgents");Gt();rp();Gt();Gt();ot();function kR(t,e,r,n){let o=n.normalize(e),s=n.normalize(r);t.set(o,s),t.set(`${o}/`,`${s}/`);}i(kR,"addPackAbsoluteDirMapping");function RL(t){let e=new Set;for(let{relativePath:r}of t){let n=r.replace(/\\/g,"/"),o=dirname(n);for(;o!=="."&&o.length>0;){e.add(o);let s=dirname(o);if(s===o)break;o=s;}}return [...e]}i(RL,"skillSupportingDirPrefixes");function wR(t,e,r,n,o){let s=Oi(e,o);if(!s)return;let a=Y(n),l=a.join(n,".agentsmesh","packs");for(let c of r.skills){let m=dirname(c.source);if(!m.startsWith(l))continue;let u=a.normalize(a.join(n,s,c.name));kR(t,m,u,a),t.set(a.normalize(c.source),a.normalize(a.join(u,"SKILL.md")));for(let p of c.supportingFiles){let d=a.normalize(a.join(u,p.relativePath));t.set(a.normalize(p.absolutePath),d);}for(let p of RL(c.supportingFiles))kR(t,a.join(m,p),a.join(u,p),a);}}i(wR,"addPackSkillArtifactMappings");Gt();function kL(t){return `.agentsmesh/rules/${basename(t.source)}`}i(kL,"canonicalRulePath");function wL(t){return `.github/instructions/${basename(t.source,".md")}.instructions.md`}i(wL,"copilotInstructionsPath");function ER(t,e,r,n,o){if(t!=="copilot"||!n?.startsWith(".github/instructions/"))return;let s=Y(r);for(let a of o.rules)a.root||a.globs.length===0||e.set(s.normalize(s.join(r,kL(a))),s.normalize(s.join(r,wL(a))));}i(ER,"applyCopilotInstructionArtifactRefs");ot();function vl(t){return t?(t.outputFamilies??[]).filter(e=>e.kind==="additional").flatMap(e=>[...e.explicitPaths??[]]):[]}i(vl,"getAdditionalRootDecorationPaths");function PR(t,e){for(let r of t?.outputFamilies??[])if(r.pathPrefix!==void 0&&e.startsWith(r.pathPrefix)||r.explicitPaths?.includes(e))return r.id;return "default"}i(PR,"resolveRewriteFamilyId");function hp(t,e){e!==void 0&&e.length>0&&!t.includes(e)&&t.push(e);}i(hp,"pushUnique");function xR(t,e,r,n){let o=[],s=r.get(`.agentsmesh/rules/${basename(e.source)}`);hp(o,s);let a=ft(t,n);if(e.root)for(let l of vl(a))hp(o,l);for(let l of a?.extraRuleOutputPaths?.(e,{refs:r,scope:n})??[])hp(o,l);return o}i(xR,"extraRuleOutputPaths");ot();function bR(t,e,r,n,o,s){if(e!=="global")return;let a=ft(t,e);if(!a?.mirrorGlobalPath)return;let l=a.mirrorGlobalPath(r,s??[]),c=l===null?[]:Array.isArray(l)?l:[l];for(let m of c)m!==r&&o.set(m,n);}i(bR,"addGlobalSkillMirrorSourceEntry");function EL(t){return `.agentsmesh/commands/${t.name}.md`}i(EL,"canonicalCommandPath");function PL(t){return `.agentsmesh/agents/${t.name}.md`}i(PL,"canonicalAgentPath");function xL(t){return `.agentsmesh/skills/${t.name}/SKILL.md`}i(xL,"canonicalSkillPath");function AR(t,e,r,n,o,s){let a=s?.scope??"project",l=Y(n),c=new Map([...vi(t,e,r,a)].map(([m,u])=>[l.normalize(l.join(n,m)),l.normalize(l.join(n,u))]));return ER(t,c,n,o,e),wR(c,t,e,n,a),c}i(AR,"buildArtifactPathMap");function TR(t,e,r,n="project",o){let s=vi(t,e,r,n),a=new Map;for(let l of e.rules)for(let c of xR(t,l,s,n))a.set(c,l.source);for(let l of e.commands){let c=s.get(EL(l));c&&a.set(c,l.source);}for(let l of e.agents){let c=s.get(PL(l));c&&a.set(c,l.source);}for(let l of e.skills){let c=s.get(xL(l));c&&(a.set(c,l.source),bR(t,n,c,l.source,a,o));for(let m of l.supportingFiles){let u=`.agentsmesh/skills/${l.name}/${m.relativePath.replace(/\\/g,"/")}`,p=s.get(u);p&&(a.set(p,m.absolutePath),bR(t,n,p,m.absolutePath,a,o));}}return a}i(TR,"buildOutputSourceMap");ot();fc();function TL(t,e){if(!e)return null;for(let r of e){let n=Mt(r);if(n?.sharedArtifacts){for(let[o,s]of Object.entries(n.sharedArtifacts))if(s==="owner"&&t.startsWith(o))return r}}return null}i(TL,"findSharedArtifactOwner");function LR(t,e,r){if(e==="global"){let n=TL(t.path,r);if(n)return n;let o=gf(t.path);if(o)return o}return t.target}i(LR,"artifactMapTargetForResult");function LL(t,e){return `${t}\0${(e??[]).join(",")}`}i(LL,"sourceMapCacheKey");function yp(t,e){let r=Y(t),n=new Set;for(let o of e){let s=r.join(t,o.path);n.add(s);let a=r.dirname(s);for(;a.startsWith(t)&&!n.has(a)&&(n.add(a),a!==t);)a=r.dirname(a);}return n}i(yp,"collectPlannedPaths");function NL(t,e,r){let n=ft(t.target,e),o=PR(n,t.path);if(o!=="default")return `${t.target}:${o}`;let s=LR(t,e,r);return s===t.target?t.target:`${t.target}~via~${s}`}i(NL,"artifactCacheKey");function NR(t,e,r,n,o="project",s){let a=yp(n,t),l=new Map,c=new Map;return t.map(m=>{let u=LL(m.target,s),d=(c.get(u)??(()=>{let I=TR(m.target,e,r,o,s);return c.set(u,I),I})()).get(m.path);if(!d)return m;let f=LR(m,o,s),h=NL(m,o,s),C=l.get(h)??(()=>{let I=AR(f,e,r,n,m.path,{scope:o});return l.set(h,I),I})(),R=kl({content:m.content,projectRoot:n,sourceFile:d,destinationFile:Y(n).join(n,m.path),translatePath:i(I=>C.get(I)??I,"translatePath"),pathExists:i(I=>a.has(I)||existsSync(I),"pathExists"),explicitCurrentDirLinks:true,rewriteBarePathTokens:true,scope:o,pathIsDirectory:i(I=>{try{return statSync(I).isDirectory()}catch{return false}},"pathIsDirectory")});return R.content===m.content?m:{...m,content:R.content}})}i(NR,"rewriteGeneratedReferences");Gt();Cn();var FL=/!?\[[^\]]*\]\(([^)]+)\)/g,vL=/^\s*\[[^\]\n]+\]:\s*(?:<([^>\n]*)>|(\S+))/gm;function $L(t){return t.endsWith(".md")||t.endsWith(".mdc")}i($L,"isMarkdownLikeOutput");function ML(t,e){return e.some(([r,n])=>t>=r&&t<n)}i(ML,"isOffsetInRanges");function GL(t){let e=t.trim(),r=/^(.*?)\s+(["'])([\s\S]*?)\2\s*$/.exec(e);return r?.[1]!==void 0&&(e=r[1].trim()),e.startsWith("<")&&e.endsWith(">")&&(e=e.slice(1,-1).trim()),e}i(GL,"parseMarkdownLinkDestination");function jL(t){let e=t.trim();return !e||e.startsWith("#")||/^https?:\/\//i.test(e)||/^mailto:/i.test(e)||/^data:/i.test(e)||/^javascript:/i.test(e)||/^ftp:/i.test(e)?true:/^[a-zA-Z]:[\\/]/.test(e)?false:!!/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(e)}i(jL,"shouldSkipLocalValidation");function UL(t,e){if(e.has(t))return true;try{let r=statSync(t);return r.isFile()||r.isDirectory()}catch{return false}}i(UL,"pathExistsForGenerate");function WL(t,e,r){let o=GL(t).split("#")[0]??"",{candidate:s}=ys(o),a=s,l=Is.exec(a);l&&(a=a.slice(0,l.index));let c;try{c=decodeURIComponent(a);}catch{c=a;}if(jL(c))return [];let m=Ei(c,e,r);if(m.length===0){let p=Y(e),d=j(e,r);m=[j(e,p.join(p.dirname(d),c)),j(e,p.join(e,c))];}let u=[];for(let p of m)for(let d of Pi(e,p)){let f=j(e,d);u.includes(f)||u.push(f);}return u}i(WL,"resolveMarkdownLinkTargets");function BL(t,e){let r=yp(e,t),n=[];for(let o of t){if(!$L(o.path))continue;let s=j(e,Y(e).join(e,o.path)),a=Rl(o.content),l=i((c,m)=>{if(ML(m,a))return;let u=WL(c,e,s);u.length!==0&&(u.some(p=>UL(p,r))||n.push({generatePath:o.path,target:o.target,rawLink:c.trim(),checkedPaths:u}));},"visitDestination");for(let c of o.content.matchAll(FL)){let m=c[1];m!==void 0&&l(m,c.index??0);}for(let c of o.content.matchAll(vL)){let m=(c[1]??c[2]??"").trim();m&&l(m,c.index??0);}}return n}i(BL,"findBrokenMarkdownLinks");function DR(t,e){let r=BL(t,e);if(r.length===0)return;let n=r.map(o=>` ${o.generatePath} (${o.target}): "${o.rawLink}" \u2192 not found (tried: ${o.checkedPaths.join(", ")})`);throw new Error(`Generated markdown contains broken local links:
145
+ `+stringify(n);await _(r,o);}i(Li,"writeLock");async function vr(t){if(!await L(t))return {};let e=await P(t),r={};for(let n of e){let o=relative(t,n).replace(/\\/g,"/");if(o===Cp||!GL(o))continue;let s=await Fl(n);s!==null&&(r[o]=s.startsWith("sha256:")?s:`sha256:${s}`);}return r}i(vr,"buildChecksums");function $l(t,e,r){if(r.length===0)return [];let n=r.map(a=>jL[a]).filter(a=>a!==void 0);if(n.length===0)return [];let o=new Set([...Object.keys(t),...Object.keys(e)]),s=[];for(let a of o)n.some(l=>l(a))&&t[a]!==e[a]&&s.push(a);return s}i($l,"detectLockedFeatureViolations");async function Ni(t){let e=await Dl(t),r={};for(let{meta:n}of e)r[n.name]=n.content_hash;return r}i(Ni,"buildPackChecksums");async function eo(t){let e={};for(let r of t){if(r.version!==void 0){e[r.name]=r.version;continue}let n=join(r.resolvedPath,".agentsmesh"),o=await vr(n),s=Object.keys(o).sort().map(c=>`${c}:${o[c]}`).join(`
146
+ `),a=Ti(s),l=a.startsWith("sha256:")?a:`sha256:${a}`;e[r.name]=`local:${l}`;}return e}i(eo,"buildExtendChecksums");rt();sr();function UL(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}i(UL,"addDirectoryMapping");function $C(t,e,r){let n=posix.dirname(e),o=posix.dirname(r);for(;n!==".agentsmesh/skills"&&n!==".";)UL(t,n,o),n=posix.dirname(n),o=posix.dirname(o);}i($C,"addSkillDirectoryMappings");rt();function MC(t,e,r="project"){let n=dt(t,r);if(!n)return null;if(e.root)return n.rootInstructionPath??null;if(e.targets.length>0&&!e.targets.includes(t))return null;let o=posix.basename(e.source.replace(/\\/g,"/"),".md");return n.paths.rulePath(o,e)}i(MC,"ruleTargetPath");function GC(t,e,r,n="project"){let o=dt(t,n);return o?o.paths.commandPath(e,r):null}i(GC,"commandTargetPath");function jC(t,e,r,n="project"){let o=dt(t,n);return o?o.paths.agentPath(e,r):null}i(jC,"agentTargetPath");wt();pt();Pt();rt();function KL(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}i(KL,"addDirectoryMapping");function Di(t,e,r,n="project"){let o=new Map;for(let a of e.rules){let l=MC(t,a,n);l&&o.set(`.agentsmesh/rules/${basename(a.source)}`,l);}for(let a of e.commands){let l=GC(t,a.name,r,n);l&&o.set(`.agentsmesh/commands/${a.name}.md`,l);}for(let a of e.agents){let l=jC(t,a.name,r,n);l&&o.set(`.agentsmesh/agents/${a.name}.md`,l);}let s=wi(t,n);if(!s)return o;for(let a of e.skills){KL(o,`.agentsmesh/skills/${a.name}`,`${s}/${a.name}`),o.set(`.agentsmesh/skills/${a.name}/SKILL.md`,`${s}/${a.name}/SKILL.md`);for(let l of a.supportingFiles){let c=l.relativePath.replace(/\\/g,"/"),m=`.agentsmesh/skills/${a.name}/${c}`,u=`${s}/${a.name}/${c}`;o.set(m,u),$C(o,m,u);}}return o}i(Di,"buildReferenceMap");lr();var ro="AGENTS.md";function HL(t){return t.target===ks&&t.path.endsWith(ro)}i(HL,"isCodexAgents");function UC(t){return t.target==="windsurf"&&t.path.endsWith(ro)}i(UC,"isWindsurfAgents");function WC(t){return t.target==="cline"&&t.path.endsWith(ro)}i(WC,"isClineAgents");function kp(t){return t.target==="cursor"&&t.path.endsWith(ro)}i(kp,"isCursorAgents");function wp(t){return t.target==="gemini-cli"&&t.path.endsWith(ro)}i(wp,"isGeminiAgents");function zL(t){return t.target==="kiro"&&t.path.endsWith(ro)}i(zL,"isKiroAgents");function VL(t){return kp(t)||wp(t)}i(VL,"isCompatibilityAgents");function Gl(t,e,r,n){let o=n.get(t);if(o)return o;let s=new Map;for(let[a,l]of Di(t,e,r))s.has(l)||s.set(l,a);return n.set(t,s),s}i(Gl,"reverseReferenceMap");function jl(t,e){let r=[...e.entries()].sort(([o],[s])=>s.length-o.length),n=t;for(let[o,s]of r)n=n.split(o).join(s);return n}i(jl,"normalizeContent");function JL(t,e,r,n,o){let s=Gl(t.target,r,n,o),a=Gl(e.target,r,n,o);return jl(t.content,s)===jl(e.content,a)}i(JL,"hasEquivalentCanonicalContent");function YL(t,e,r,n,o){let s=Gl(t.target,r,n,o),a=Gl(e.target,r,n,o),l=jl(t.content,s).trim(),c=jl(e.content,a).trim();return l.length>c.length&&l.includes(c)}i(YL,"hasCanonicalSupersetContent");function BC(t,e,r){let n=new Map;for(let a of t){if(!a.path.endsWith(ro))continue;let l=n.get(a.path)??new Set;l.add(a.target),n.set(a.path,l);}let o=new Map;for(let a of t)HL(a)&&o.set(a.path,a);let s=new Map;return t.filter(a=>{if(kp(a)){let c=n.get(a.path);if(c&&[...c].some(m=>m!=="cursor"))return false}if(wp(a)){let c=n.get(a.path);if(c&&[...c].some(m=>m!=="cursor"&&m!=="gemini-cli"))return false}if(!UC(a)&&!WC(a)&&!kp(a)&&!wp(a)&&!zL(a))return true;let l=o.get(a.path);return l?VL(a)||UC(a)||WC(a)?false:!(JL(l,a,e,r,s)||YL(l,a,e,r,s)):true})}i(BC,"preferEquivalentCodexAgents");Nt();dp();Nt();Nt();rt();function KC(t,e,r,n){let o=n.normalize(e),s=n.normalize(r);t.set(o,s),t.set(`${o}/`,`${s}/`);}i(KC,"addPackAbsoluteDirMapping");function XL(t){let e=new Set;for(let{relativePath:r}of t){let n=r.replace(/\\/g,"/"),o=dirname(n);for(;o!=="."&&o.length>0;){e.add(o);let s=dirname(o);if(s===o)break;o=s;}}return [...e]}i(XL,"skillSupportingDirPrefixes");function HC(t,e,r,n,o){let s=wi(e,o);if(!s)return;let a=J(n),l=a.join(n,".agentsmesh","packs");for(let c of r.skills){let m=dirname(c.source);if(!m.startsWith(l))continue;let u=a.normalize(a.join(n,s,c.name));KC(t,m,u,a),t.set(a.normalize(c.source),a.normalize(a.join(u,"SKILL.md")));for(let p of c.supportingFiles){let d=a.normalize(a.join(u,p.relativePath));t.set(a.normalize(p.absolutePath),d);}for(let p of XL(c.supportingFiles))KC(t,a.join(m,p),a.join(u,p),a);}}i(HC,"addPackSkillArtifactMappings");Nt();function ZL(t){return `.agentsmesh/rules/${basename(t.source)}`}i(ZL,"canonicalRulePath");function qL(t){return `.github/instructions/${basename(t.source,".md")}.instructions.md`}i(qL,"copilotInstructionsPath");function VC(t,e,r,n,o){if(t!=="copilot"||!n?.startsWith(".github/instructions/"))return;let s=J(r);for(let a of o.rules)a.root||a.globs.length===0||e.set(s.normalize(s.join(r,ZL(a))),s.normalize(s.join(r,qL(a))));}i(VC,"applyCopilotInstructionArtifactRefs");rt();function Ul(t){return t?(t.outputFamilies??[]).filter(e=>e.kind==="additional").flatMap(e=>[...e.explicitPaths??[]]):[]}i(Ul,"getAdditionalRootDecorationPaths");function JC(t,e){for(let r of t?.outputFamilies??[])if(r.pathPrefix!==void 0&&e.startsWith(r.pathPrefix)||r.explicitPaths?.includes(e))return r.id;return "default"}i(JC,"resolveRewriteFamilyId");function Ep(t,e){e!==void 0&&e.length>0&&!t.includes(e)&&t.push(e);}i(Ep,"pushUnique");function YC(t,e,r,n){let o=[],s=r.get(`.agentsmesh/rules/${basename(e.source)}`);Ep(o,s);let a=dt(t,n);if(e.root)for(let l of Ul(a))Ep(o,l);for(let l of a?.extraRuleOutputPaths?.(e,{refs:r,scope:n})??[])Ep(o,l);return o}i(YC,"extraRuleOutputPaths");rt();function XC(t,e,r,n,o,s){let a=dt(t,e);if(!a?.mirrorGlobalPath)return;let l=a.mirrorGlobalPath(r,s??[]),c=l===null?[]:Array.isArray(l)?l:[l];for(let m of c)m!==r&&o.set(m,n);}i(XC,"addSkillMirrorSourceEntry");function tN(t){return `.agentsmesh/commands/${t.name}.md`}i(tN,"canonicalCommandPath");function eN(t){return `.agentsmesh/agents/${t.name}.md`}i(eN,"canonicalAgentPath");function rN(t){return `.agentsmesh/skills/${t.name}/SKILL.md`}i(rN,"canonicalSkillPath");function ZC(t,e,r,n,o,s){let a=s?.scope??"project",l=J(n),c=new Map([...Di(t,e,r,a)].map(([m,u])=>[l.normalize(l.join(n,m)),l.normalize(l.join(n,u))]));return VC(t,c,n,o,e),HC(c,t,e,n,a),c}i(ZC,"buildArtifactPathMap");function qC(t,e,r,n="project",o){let s=Di(t,e,r,n),a=new Map;for(let l of e.rules)for(let c of YC(t,l,s,n))a.set(c,l.source);for(let l of e.commands){let c=s.get(tN(l));c&&a.set(c,l.source);}for(let l of e.agents){let c=s.get(eN(l));c&&a.set(c,l.source);}for(let l of e.skills){let c=s.get(rN(l));c&&(a.set(c,l.source),XC(t,n,c,l.source,a,o));for(let m of l.supportingFiles){let u=`.agentsmesh/skills/${l.name}/${m.relativePath.replace(/\\/g,"/")}`,p=s.get(u);p&&(a.set(p,m.absolutePath),XC(t,n,p,m.absolutePath,a,o));}}return a}i(qC,"buildOutputSourceMap");rt();sr();Cc();function sN(t,e){if(!e)return null;for(let r of e){let n=Z(r);if(n?.sharedArtifacts){for(let[o,s]of Object.entries(n.sharedArtifacts))if(s==="owner"&&t.startsWith(o))return r}}return null}i(sN,"findSharedArtifactOwner");function QC(t,e,r){if(e==="global"){let n=sN(t.path,r);if(n)return n;let o=Ef(t.path);if(o)return o}return t.target}i(QC,"artifactMapTargetForResult");function iN(t,e){return `${t}\0${(e??[]).join(",")}`}i(iN,"sourceMapCacheKey");function bp(t,e){let r=J(t),n=new Set;for(let o of e){let s=r.join(t,o.path);n.add(s);let a=r.dirname(s);for(;a.startsWith(t)&&!n.has(a)&&(n.add(a),a!==t);)a=r.dirname(a);}return n}i(bp,"collectPlannedPaths");function aN(t,e,r){let n=dt(t.target,e),o=JC(n,t.path);if(o!=="default")return `${t.target}:${o}`;let s=QC(t,e,r);return s===t.target?t.target:`${t.target}~via~${s}`}i(aN,"artifactCacheKey");function tk(t,e,r,n,o="project",s){let a=bp(n,t),l=new Map,c=new Map;return t.map(m=>{let u=iN(m.target,s),d=(c.get(u)??(()=>{let S=qC(m.target,e,r,o,s);return c.set(u,S),S})()).get(m.path);if(!d)return m;let g=QC(m,o,s),h=aN(m,o,s),R=l.get(h)??(()=>{let S=ZC(g,e,r,n,m.path,{scope:o});return l.set(h,S),S})(),C=bl({content:m.content,projectRoot:n,sourceFile:d,destinationFile:J(n).join(n,m.path),translatePath:i(S=>R.get(S)??S,"translatePath"),pathExists:i(S=>a.has(S)||existsSync(S),"pathExists"),explicitCurrentDirLinks:true,rewriteBarePathTokens:true,scope:o,pathIsDirectory:i(S=>{try{return statSync(S).isDirectory()}catch{return false}},"pathIsDirectory")});return C.content===m.content?m:{...m,content:C.content}})}i(tk,"rewriteGeneratedReferences");Nt();fn();var cN=/!?\[[^\]]*\]\(([^)]+)\)/g,mN=/^\s*\[[^\]\n]+\]:\s*(?:<([^>\n]*)>|(\S+))/gm;function uN(t){return t.endsWith(".md")||t.endsWith(".mdc")}i(uN,"isMarkdownLikeOutput");function pN(t,e){return e.some(([r,n])=>t>=r&&t<n)}i(pN,"isOffsetInRanges");function dN(t){let e=t.trim(),r=/^(.*?)\s+(["'])([\s\S]*?)\2\s*$/.exec(e);return r?.[1]!==void 0&&(e=r[1].trim()),e.startsWith("<")&&e.endsWith(">")&&(e=e.slice(1,-1).trim()),e}i(dN,"parseMarkdownLinkDestination");function fN(t){let e=t.trim();return !e||e.startsWith("#")||/^https?:\/\//i.test(e)||/^mailto:/i.test(e)||/^data:/i.test(e)||/^javascript:/i.test(e)||/^ftp:/i.test(e)?true:/^[a-zA-Z]:[\\/]/.test(e)?false:!!/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(e)}i(fN,"shouldSkipLocalValidation");function gN(t,e){if(e.has(t))return true;try{let r=statSync(t);return r.isFile()||r.isDirectory()}catch{return false}}i(gN,"pathExistsForGenerate");function hN(t,e,r){let o=dN(t).split("#")[0]??"",{candidate:s}=is(o),a=s,l=as.exec(a);l&&(a=a.slice(0,l.index));let c;try{c=decodeURIComponent(a);}catch{c=a;}if(fN(c))return [];let m=Oi(c,e,r);if(m.length===0){let p=J(e),d=j(e,r);m=[j(e,p.join(p.dirname(d),c)),j(e,p.join(e,c))];}let u=[];for(let p of m)for(let d of Ei(e,p)){let g=j(e,d);u.includes(g)||u.push(g);}return u}i(hN,"resolveMarkdownLinkTargets");function yN(t,e){let r=bp(e,t),n=[];for(let o of t){if(!uN(o.path))continue;let s=j(e,J(e).join(e,o.path)),a=El(o.content),l=i((c,m)=>{if(pN(m,a))return;let u=hN(c,e,s);u.length!==0&&(u.some(p=>gN(p,r))||n.push({generatePath:o.path,target:o.target,rawLink:c.trim(),checkedPaths:u}));},"visitDestination");for(let c of o.content.matchAll(cN)){let m=c[1];m!==void 0&&l(m,c.index??0);}for(let c of o.content.matchAll(mN)){let m=(c[1]??c[2]??"").trim();m&&l(m,c.index??0);}}return n}i(yN,"findBrokenMarkdownLinks");function ek(t,e){let r=yN(t,e);if(r.length===0)return;let n=r.map(o=>` ${o.generatePath} (${o.target}): "${o.rawLink}" \u2192 not found (tried: ${o.checkedPaths.join(", ")})`);throw new Error(`Generated markdown contains broken local links:
146
147
  ${n.join(`
147
148
  `)}
148
- Fix canonical sources or generators so every local link targets an existing file or folder.`)}i(DR,"validateGeneratedMarkdownLinks");yr();var vR="AGENTS.md";function FR(t){switch(t){case "created":return 3;case "updated":return 2;case "unchanged":return 1;case "skipped":return 0}}i(FR,"statusRank");function KL(t,e){return FR(e.status)<=FR(t.status)?t:{...t,status:e.status,currentContent:e.currentContent??t.currentContent}}i(KL,"mergeDuplicateMetadata");function $l(t){return t.trim()}i($l,"trimmedContent");function HL(t,e){if(!t.path.endsWith(vR)||t.path!==e.path)return null;let r=$l(t.content),n=$l(e.content);if(!r||!n)return null;let o=r.includes(n),s=n.includes(r);return o===s?null:o?t:e}i(HL,"richerAgentsResult");function zL(t,e){if(!t.path.endsWith(vR)||t.path!==e.path)return null;let r=t.target===Ns?t:e.target===Ns?e:null,n=r===t?e:t;return r&&$l(r.content).length>$l(n.content).length?r:null}i(zL,"richerCodexAgentsResult");function $R(t){let e=[];for(let r of t){let n=e.findIndex(s=>s.path===r.path);if(n===-1){e.push(r);continue}let o=e[n];if(o.content!==r.content){let s=HL(o,r);if(s){e[n]=s;continue}let a=zL(o,r);if(a){e[n]=a;continue}throw new Error(`Conflicting generated outputs for ${r.path}: ${o.target} and ${r.target} produce different content.`)}e[n]=KL(o,r);}return e}i($R,"resolveOutputCollisions");function MR(t){let e=t.currentContent===void 0?"created":t.currentContent!==t.content?"updated":"unchanged";return t.status===e?t:{...t,status:e}}i(MR,"refreshResultStatus");E();ot();Kr();function jR(t,e){return t===null?"created":t!==e?"updated":"unchanged"}i(jR,"computeStatus");function VL(t,e,r){let n=Yu(t,e,r);if(n!==null)return n;let o=et(t);if(!o)return null;let s=r==="global"?o.globalSupport?.layout:o.project;return s?(n=s.rewriteGeneratedPath?s.rewriteGeneratedPath(e):e,n):null}i(VL,"resolveGeneratedOutputPath");async function $i(t,e,r,n,o,s){let a=VL(e,r.path,o);if(a===null)return null;let l=await y(join(n,a)),c=t.findIndex(p=>p.path===a&&p.target===e),m=c>=0?t[c]:void 0,u=s?.mergeContent?.(l,m,r.content,a)??r.content;return c>=0&&t.splice(c,1),t.push({target:e,path:a,content:u,currentContent:l??void 0,status:jR(l,u)}),a}i($i,"emitGeneratedOutput");function Ip(t,e,r){return {capability:yn(t,r)?.[e]??{level:"none"},scope:r}}i(Ip,"featureContext");async function fo(t,e,r,n,o,s,a,l){if(o)for(let c of e){let m=l(c);if(!m)continue;let u=Ip(c,a,s);for(let p of m(r,u)){let d=await $i(t,c,p,n,s);if(d===null)continue;let f=ft(c,s);if(f?.mirrorGlobalPath){let h=f.mirrorGlobalPath(d,e),C=h===null?[]:Array.isArray(h)?h:[h];for(let R of C){let I=await y(join(n,R));t.push({target:c,path:R,content:p.content,currentContent:I??void 0,status:jR(I,p.content)});}}}}}i(fo,"generateFeature");Cm();ot();function JL(t){return t?.rootInstructionPath?[t.rootInstructionPath,...vl(t)]:[]}i(JL,"rootDecorationPaths");function UR(t,e,r="project"){return t.map(n=>{let o=ft(n.target,r);if(!o)return n;let s=JL(o);if(s.length===0||!s.includes(n.path))return n;let l=n.path===o.rootInstructionPath&&o.renderPrimaryRootInstruction?o.renderPrimaryRootInstruction(e):n.content,c=Gg(l);return c===n.content?n:{...n,content:c}})}i(UR,"decoratePrimaryRootInstructions");ot();Kr();lu();function Sp(t,e,r,n,o){let a=(Mt(t)??et(t))?.mergeGeneratedOutputContent?.(e,r,n,o);if(a!=null)return a;let l=r?.content??e;return l!==null&&zI.includes(o)?JI(l,n):n}i(Sp,"mergeOutputContent");async function WR(t,e,r,n,o){for(let s of e){let a=hs(s,"permissions",void 0,o)??et(s)?.generators.generatePermissions;if(a)for(let l of a(r))await $i(t,s,l,n,o,{mergeContent:i((c,m,u,p)=>Sp(s,c,m,u,p),"mergeContent")});}}i(WR,"generatePermissionsFeature");async function BR(t,e,r,n,o,s){for(let a of e){let l=hs(a,"hooks",s,o)??et(a)?.generators.generateHooks;if(!l)continue;let c=Ip(a,"hooks",o),m=[...l(r,c)],p=(Mt(a)??et(a))?.postProcessHookOutputs;p&&(m=[...await p(n,r,m)]);for(let d of m)await $i(t,a,d,n,o,{mergeContent:i((f,h,C,R)=>Sp(a,f,h,C,R),"mergeContent")});}}i(BR,"generateHooksFeature");async function KR(t,e,r,n,o){for(let s of e){let l=(Mt(s)??et(s))?.emitScopedSettings;if(!l)continue;let c=l(r,o);if(c.length!==0)for(let m of c)await $i(t,s,m,n,o,{mergeContent:i((u,p,d,f)=>Sp(s,u,p,d,f),"mergeContent")});}}i(KR,"generateScopedSettingsFeature");async function Ml(t){let{config:e,canonical:r,projectRoot:n,scope:o="project",targetFilter:s}=t,a=[...e.targets,...e.pluginTargets??[]],l=s?a.filter(A=>s.includes(A)):a;function c(A,K){return hs(A,K,e,o)}i(c,"resolveGen");let m=e.features.includes("rules"),u=e.features.includes("commands"),p=e.features.includes("agents"),d=e.features.includes("skills"),f=e.features.includes("mcp"),h=e.features.includes("permissions"),C=e.features.includes("hooks"),R=e.features.includes("ignore"),I=[];await fo(I,l,r,n,m,o,"rules",A=>c(A,"rules")),await fo(I,l,r,n,u,o,"commands",A=>c(A,"commands")),await fo(I,l,r,n,p,o,"agents",A=>c(A,"agents")),await fo(I,l,r,n,d,o,"skills",A=>c(A,"skills")),await fo(I,l,r,n,f,o,"mcp",A=>c(A,"mcp")),h&&await WR(I,l,r,n,o),C&&await BR(I,l,r,n,o,e),await fo(I,l,r,n,R,o,"ignore",A=>c(A,"ignore"));let O=new Set(e.features);for(let A of l){let M=(Mt(A)??et(A))?.globalSupport?.scopeExtras;if(M){let B=await M(r,n,o,O);I.push(...B);}}(f||R||C||p||h)&&await KR(I,l,r,n,o);let x=UR(I,r,o),P=NR(x,r,e,n,o,l);return DR(P,n),$R(RR(P.map(MR),r,e))}i(Ml,"generate");E();ot();async function HR(t,e=t){let r=await readdir(t,{withFileTypes:true}),n=[];for(let o of r){let s=join(t,o.name);if(o.isDirectory()){n.push(...await HR(s,e));continue}n.push(relative(e,s).replace(/\\/g,"/"));}return n}i(HR,"listFiles");async function qL(t,e,r){if(r.has(e))return;let n=join(t,e);await N(n)&&await rm$1(n,{recursive:true,force:true});}i(qL,"removeIfStale");async function zR(t){let e=new Set(t.expectedPaths),r=new Set,n=t.scope??"project";for(let o of t.targets){let s=Ju(o,n);if(s){for(let a of s.files)r.add(a);for(let a of s.dirs){let l=join(t.projectRoot,a);if(await N(l))for(let c of await HR(l))r.add(`${a}/${c}`.replace(/\/+/g,"/"));}}}for(let o of r)await qL(t.projectRoot,o,e);}i(zR,"cleanupStaleGeneratedOutputs");E();Ls();var sN=6e4,iN=30,aN=200,lN=2e3;async function Cp(t,e={}){let r=e.retries??iN,n=e.retryDelayMs??aN,o=e.staleMs??sN;await mkdir(dirname(t),{recursive:true});let s=0;for(;;){let a=await cN(t);if(a)return a;let l=await mN(t);if(l!=="young"&&uN(l,o)){await rm$1(t,{recursive:true,force:true}).catch(()=>{});continue}if(s>=r){let c=l==="young"?null:l;throw new Zi(t,dN(c))}s++,await gN(n);}}i(Cp,"acquireProcessLock");async function cN(t){try{await mkdir(t,{recursive:!1});}catch(s){if(s.code==="EEXIST")return null;throw s}let e=join(t,"holder.json"),r={pid:process.pid,started:Date.now(),hostname:XR()};await writeFile(e,JSON.stringify(r),"utf-8");let n=false,o=i(()=>{if(!n){n=true;try{rmSync(t,{recursive:!0,force:!0});}catch{}}},"signalHandler");return process.once("SIGINT",o),process.once("SIGTERM",o),process.once("exit",o),async()=>{n||(n=true,process.off("SIGINT",o),process.off("SIGTERM",o),process.off("exit",o),await rm$1(t,{recursive:true,force:true}).catch(()=>{}));}}i(cN,"tryAcquire");async function mN(t){try{let e=await readFile(join(t,"holder.json"),"utf-8"),r=JSON.parse(e);return fN(r)?r:null}catch{try{let e=await stat(t);if(Date.now()-e.mtimeMs<lN)return "young"}catch{}return null}}i(mN,"inspectLock");function uN(t,e){return !t||Date.now()-t.started>e?true:t.hostname&&t.hostname!==XR()?false:!pN(t.pid)}i(uN,"isStale");function pN(t){if(!Number.isInteger(t)||t<=0)return false;try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}i(pN,"isProcessAlive");function dN(t){return t?`${t.hostname?`${t.hostname}:`:""}pid ${t.pid} (running ${Date.now()-t.started}ms)`:"unknown (unreadable lock metadata)"}i(dN,"describeHolder");function fN(t){if(typeof t!="object"||t===null)return false;let e=t;return typeof e.pid=="number"&&typeof e.started=="number"}i(fN,"isLockMetadata");function XR(){return hostname()}i(XR,"getHostname");function gN(t){return new Promise(e=>setTimeout(e,t))}i(gN,"sleep");Xu();Kr();async function SN(t,e){let{source:r}=t,n;if(r.startsWith("file:")||r.startsWith("./")||r.startsWith("../")||r.startsWith("/")){let s=r.startsWith("file:")?fileURLToPath(r):resolve(e,r);n=pathToFileURL(s).href;}else n=r;return await import(n)}i(SN,"importPluginModule");function _N(t){return "descriptor"in t?[t.descriptor]:"descriptors"in t&&Array.isArray(t.descriptors)?t.descriptors:"default"in t?[t.default]:[]}i(_N,"extractDescriptors");async function Gl(t,e){let r;try{r=await SN(t,e);}catch(s){throw new Error(`Plugin '${t.source}' failed to import: ${s instanceof Error?s.message:String(s)}`,{cause:s})}let n=_N(r),o=[];for(let s of n)try{let a=Cl(s);CC(a),o.push(a);}catch(a){throw new Error(`Plugin '${t.source}' exported an invalid descriptor: ${a instanceof Error?a.message:String(a)}`,{cause:a})}return {entry:t,descriptors:o}}i(Gl,"loadPlugin");async function ZR(t,e){let r=[];return await Promise.all(t.map(async n=>{try{let o=await Gl(n,e);r.push(o);}catch(o){_.warn(`Plugin '${n.source}' failed to load: ${o instanceof Error?o.message:String(o)}`);}})),r}i(ZR,"loadAllPlugins");async function ue(t,e){t.plugins.length!==0&&await ZR(t.plugins,e);}i(ue,"bootstrapPlugins");ot();function Rp(t,e,r="project"){let n=[],o=[...t.targets,...t.pluginTargets??[]];for(let s of t.features){let a,l;switch(s){case "rules":l=e.rules.length,a="rules";break;case "commands":l=e.commands.length,a=l>0?`commands (${l})`:"commands";break;case "agents":l=e.agents.length,a=l>0?`agents (${l})`:"agents";break;case "skills":l=e.skills.length,a=l>0?`skills (${l})`:"skills";break;case "mcp":l=e.mcp?Object.keys(e.mcp.mcpServers).length:0,a=l>0?`mcp (${l} servers)`:"mcp";break;case "hooks":l=CN(e.hooks),a=l>0?`hooks (${l})`:"hooks";break;case "ignore":l=e.ignore.length>0?1:0,a="ignore";break;case "permissions":l=e.permissions&&(e.permissions.allow.length>0||e.permissions.deny.length>0)?1:0,a="permissions";break;default:continue}let c={};for(let m of o)c[m]=_l(m,s,t,r);if(n.push({feature:a,count:l,support:c}),s==="rules"){let m=e.rules.filter(u=>!u.root);if(m.length>0){let u={};for(let p of o)u[p]=_l(p,"additionalRules",t,r);n.push({feature:`additional rules (${m.length})`,count:m.length,support:u});}}}return n}i(Rp,"buildCompatibilityMatrix");function CN(t){if(!t)return 0;let e=0;for(let r of Object.values(t))Array.isArray(r)&&(e+=r.length);return e}i(CN,"countHooks");var RN={"claude-code":"Claude"};function qR(t){return RN[t]??t}i(qR,"matrixColumnLabel");yr();ot();var kN=["rules","additionalRules","commands","agents","skills","mcp","hooks","ignore","permissions"];function QR(t){return Object.fromEntries(kN.map(e=>[e,Object.fromEntries(ht.map(r=>{let o=yn(r,t)?.[e];return [r,o??{level:"none"}]}))]))}i(QR,"buildSupportMatrix");QR("project");QR("global");var kp={native:"\u2713",embedded:"\u25C6",partial:"\u25D0",none:"\u2013"},Mi={green:"\x1B[32m",blue:"\x1B[34m",yellow:"\x1B[33m",dim:"\x1B[2m",reset:"\x1B[0m"};function wN(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}i(wN,"noColor");function ON(t,e){return wN()?e:`${t}${e}${Mi.reset}`}i(ON,"colorize");var EN={native:Mi.green,embedded:Mi.blue,partial:Mi.yellow,none:Mi.dim};function tk(t){let e=kp[t];return ON(EN[t],e)}i(tk,"coloredSymbol");function wp(t,e){let r=process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!=="",n={cyan:"\x1B[36m",magenta:"\x1B[35m",bold:"\x1B[1m",dim:"\x1B[2m",green:"\x1B[32m",blue:"\x1B[34m",yellow:"\x1B[33m",reset:"\x1B[0m"},o=i((M,B)=>r?B:`${M}${B}${n.reset}`,"c"),s=i(M=>M.replace(/\u001b\[[0-9;]*m/g,"").length,"visibleLength"),a=i((M,B)=>{let Z=s(M),it=Math.max(0,B-Z);return M+" ".repeat(it)},"padWithColor"),l=Math.max(12,...e.map(M=>M.length)),c=e.map(M=>qR(M)),m=Math.max(8,l),u=Math.max(12,...t.map(M=>M.feature.length)),p=i(M=>o(n.dim,"\u250C"+M.map(B=>"\u2500".repeat(B)).join("\u252C")+"\u2510"),"border"),d=i(M=>o(n.dim,"\u251C"+M.map(B=>"\u2500".repeat(B)).join("\u253C")+"\u2524"),"sep"),f=i(M=>o(n.dim,"\u2514"+M.map(B=>"\u2500".repeat(B)).join("\u2534")+"\u2518"),"bottom"),h=[u,...e.map(()=>m)],C=p(h),R=[a(o(n.bold+n.cyan,"Feature"),u),...c.map(M=>a(o(n.bold+n.magenta,M),m))],I=o(n.dim,"\u2502")+R.join(o(n.dim,"\u2502"))+o(n.dim,"\u2502"),O=d(h),x=t.map(M=>{let B=[a(o(n.cyan,M.feature),u)];for(let Z of e){let it=M.support[Z]??"none",q=r?kp[it]:tk(it);B.push(a(` ${q} `,m));}return o(n.dim,"\u2502")+B.join(o(n.dim,"\u2502"))+o(n.dim,"\u2502")}),P=f(h),A=[C,I,O,...x,P];A.push("");let K=[o(n.green,"\u2713")+" = native",o(n.blue,"\u25C6")+" = embedded",o(n.yellow,"\u25D0")+" = partial",o(n.dim,"\u2013")+" = not supported"];return A.push(o(n.bold,"Legend: ")+K.join(" ")),A.join(`
149
- `)}i(wp,"formatMatrix");function Ep(t){let e=[];if(t.rules.length>0&&e.push(`rules: ${t.rules.map(r=>basename(r.source)).join(", ")}`),t.commands.length>0&&e.push(`commands: ${t.commands.map(r=>basename(r.source)).join(", ")}`),t.agents.length>0&&e.push(`agents: ${t.agents.map(r=>basename(r.source)).join(", ")}`),t.skills.length>0&&e.push(`skills: ${t.skills.map(r=>r.name).join(", ")}`),t.mcp&&Object.keys(t.mcp.mcpServers).length>0&&e.push(`mcp: ${Object.keys(t.mcp.mcpServers).join(", ")}`),t.hooks){let r=Object.values(t.hooks).reduce((n,o)=>n+(Array.isArray(o)?o.length:0),0);r>0&&e.push(`hooks: ${r} entries in hooks.yaml`);}return t.ignore.length>0&&e.push("ignore: .agentsmesh/ignore"),t.permissions&&t.permissions.allow.length+t.permissions.deny.length>0&&e.push("permissions: .agentsmesh/permissions.yaml"),e.length===0?"":`
149
+ Fix canonical sources or generators so every local link targets an existing file or folder.`)}i(ek,"validateGeneratedMarkdownLinks");lr();var nk="AGENTS.md";function rk(t){switch(t){case "created":return 3;case "updated":return 2;case "unchanged":return 1;case "skipped":return 0}}i(rk,"statusRank");function IN(t,e){return rk(e.status)<=rk(t.status)?t:{...t,status:e.status,currentContent:e.currentContent??t.currentContent}}i(IN,"mergeDuplicateMetadata");function Wl(t){return t.trim()}i(Wl,"trimmedContent");function SN(t,e){if(!t.path.endsWith(nk)||t.path!==e.path)return null;let r=Wl(t.content),n=Wl(e.content);if(!r||!n)return null;let o=r.includes(n),s=n.includes(r);return o===s?null:o?t:e}i(SN,"richerAgentsResult");function _N(t,e){if(!t.path.endsWith(nk)||t.path!==e.path)return null;let r=t.target===ks?t:e.target===ks?e:null,n=r===t?e:t;return r&&Wl(r.content).length>Wl(n.content).length?r:null}i(_N,"richerCodexAgentsResult");function ok(t){let e=[];for(let r of t){let n=e.findIndex(s=>s.path===r.path);if(n===-1){e.push(r);continue}let o=e[n];if(o.content!==r.content){let s=SN(o,r);if(s){e[n]=s;continue}let a=_N(o,r);if(a){e[n]=a;continue}throw new Error(`Conflicting generated outputs for ${r.path}: ${o.target} and ${r.target} produce different content.`)}e[n]=IN(o,r);}return e}i(ok,"resolveOutputCollisions");function sk(t){let e=t.currentContent===void 0?"created":t.currentContent!==t.content?"updated":"unchanged";return t.status===e?t:{...t,status:e}}i(sk,"refreshResultStatus");E();rt();sr();function ak(t,e){return t===null?"created":t!==e?"updated":"unchanged"}i(ak,"computeStatus");function RN(t,e,r){let n=op(t,e,r);if(n!==null)return n;let o=Z(t);if(!o)return null;let s=r==="global"?o.globalSupport?.layout:o.project;return s?(n=s.rewriteGeneratedPath?s.rewriteGeneratedPath(e):e,n):null}i(RN,"resolveGeneratedOutputPath");async function Fi(t,e,r,n,o,s){let a=RN(e,r.path,o);if(a===null)return null;let l=await I(join(n,a)),c=t.findIndex(p=>p.path===a&&p.target===e),m=c>=0?t[c]:void 0,u=s?.mergeContent?.(l,m,r.content,a)??r.content;return c>=0&&t.splice(c,1),t.push({target:e,path:a,content:u,currentContent:l??void 0,status:ak(l,u)}),a}i(Fi,"emitGeneratedOutput");function xp(t,e,r){return {capability:un(t,r)?.[e]??{level:"none"},scope:r}}i(xp,"featureContext");async function no(t,e,r,n,o,s,a,l){if(o)for(let c of e){let m=l(c);if(!m)continue;let u=xp(c,a,s);for(let p of m(r,u)){let d=await Fi(t,c,p,n,s);if(d===null)continue;let g=dt(c,s);if(g?.mirrorGlobalPath){let h=g.mirrorGlobalPath(d,e),R=h===null?[]:Array.isArray(h)?h:[h];for(let C of R){let S=await I(join(n,C));t.push({target:c,path:C,content:p.content,currentContent:S??void 0,status:ak(S,p.content)});}}}}}i(no,"generateFeature");bc();rt();function CN(t){return t?.rootInstructionPath?[t.rootInstructionPath,...Ul(t)]:[]}i(CN,"rootDecorationPaths");function lk(t,e,r="project"){return t.map(n=>{let o=dt(n.target,r);if(!o)return n;let s=CN(o);if(s.length===0||!s.includes(n.path))return n;let l=n.path===o.rootInstructionPath&&o.renderPrimaryRootInstruction?o.renderPrimaryRootInstruction(e):n.content,c=Ff(l);return c===n.content?n:{...n,content:c}})}i(lk,"decoratePrimaryRootInstructions");rt();sr();Au();function Pp(t,e,r,n,o){let a=(ne(t)??Z(t))?.mergeGeneratedOutputContent?.(e,r,n,o);if(a!=null)return a;let l=r?.content??e;return l!==null&&I_.includes(o)?__(l,n):n}i(Pp,"mergeOutputContent");async function ck(t,e,r,n,o){for(let s of e){let a=ss(s,"permissions",void 0,o)??Z(s)?.generators.generatePermissions;if(a)for(let l of a(r))await Fi(t,s,l,n,o,{mergeContent:i((c,m,u,p)=>Pp(s,c,m,u,p),"mergeContent")});}}i(ck,"generatePermissionsFeature");async function mk(t,e,r,n,o,s){for(let a of e){let l=ss(a,"hooks",s,o)??Z(a)?.generators.generateHooks;if(!l)continue;let c=xp(a,"hooks",o),m=[...l(r,c)],p=(ne(a)??Z(a))?.postProcessHookOutputs;p&&(m=[...await p(n,r,m)]);for(let d of m)await Fi(t,a,d,n,o,{mergeContent:i((g,h,R,C)=>Pp(a,g,h,R,C),"mergeContent")});}}i(mk,"generateHooksFeature");async function uk(t,e,r,n,o){for(let s of e){let l=(ne(s)??Z(s))?.emitScopedSettings;if(!l)continue;let c=l(r,o);if(c.length!==0)for(let m of c)await Fi(t,s,m,n,o,{mergeContent:i((u,p,d,g)=>Pp(s,u,p,d,g),"mergeContent")});}}i(uk,"generateScopedSettingsFeature");async function Bl(t){let{config:e,canonical:r,projectRoot:n,scope:o="project",targetFilter:s}=t,a=[...e.targets,...e.pluginTargets??[]],l=s?a.filter(x=>s.includes(x)):a;function c(x,K){return ss(x,K,e,o)}i(c,"resolveGen");let m=e.features.includes("rules"),u=e.features.includes("commands"),p=e.features.includes("agents"),d=e.features.includes("skills"),g=e.features.includes("mcp"),h=e.features.includes("permissions"),R=e.features.includes("hooks"),C=e.features.includes("ignore"),S=[];await no(S,l,r,n,m,o,"rules",x=>c(x,"rules")),await no(S,l,r,n,u,o,"commands",x=>c(x,"commands")),await no(S,l,r,n,p,o,"agents",x=>c(x,"agents")),await no(S,l,r,n,d,o,"skills",x=>c(x,"skills")),await no(S,l,r,n,g,o,"mcp",x=>c(x,"mcp")),h&&await ck(S,l,r,n,o),R&&await mk(S,l,r,n,o,e),await no(S,l,r,n,C,o,"ignore",x=>c(x,"ignore"));let w=new Set(e.features);for(let x of l){let M=(ne(x)??Z(x))?.globalSupport?.scopeExtras;if(M){let W=await M(r,n,o,w);S.push(...W);}}(g||C||R||p||h)&&await uk(S,l,r,n,o);let D=lk(S,r,o),b=tk(D,r,e,n,o,l);return ek(b,n),ok(BC(b.map(sk),r,e))}i(Bl,"generate");E();rt();async function pk(t,e=t){let r=await readdir(t,{withFileTypes:true}),n=[];for(let o of r){let s=join(t,o.name);if(o.isDirectory()){n.push(...await pk(s,e));continue}n.push(relative(e,s).replace(/\\/g,"/"));}return n}i(pk,"listFiles");async function EN(t,e,r){if(r.has(e))return;let n=join(t,e);await L(n)&&await rm$1(n,{recursive:true,force:true});}i(EN,"removeIfStale");async function dk(t){let e=new Set(t.expectedPaths),r=new Set,n=t.scope??"project";for(let o of t.targets){let s=np(o,n);if(s){for(let a of s.files)r.add(a);for(let a of s.dirs){let l=join(t.projectRoot,a);if(await L(l))for(let c of await pk(l))r.add(`${a}/${c}`.replace(/\/+/g,"/"));}}}for(let o of r)await EN(t.projectRoot,o,e);}i(dk,"cleanupStaleGeneratedOutputs");E();Cs();var NN=6e4,DN=30,FN=200,vN=2e3;async function Tp(t,e={}){let r=e.retries??DN,n=e.retryDelayMs??FN,o=e.staleMs??NN;await mkdir(dirname(t),{recursive:true});let s=0;for(;;){let a=await $N(t);if(a)return a;let l=await MN(t);if(l!=="young"&&GN(l,o)){await rm$1(t,{recursive:true,force:true}).catch(()=>{});continue}if(s>=r){let c=l==="young"?null:l;throw new Yi(t,UN(c))}s++,await BN(n);}}i(Tp,"acquireProcessLock");async function $N(t){try{await mkdir(t,{recursive:!1});}catch(s){if(s.code==="EEXIST")return null;throw s}let e=join(t,"holder.json"),r={pid:process.pid,started:Date.now(),hostname:yk()};await writeFile(e,JSON.stringify(r),"utf-8");let n=false,o=i(()=>{if(!n){n=true;try{rmSync(t,{recursive:!0,force:!0});}catch{}}},"signalHandler");return process.once("SIGINT",o),process.once("SIGTERM",o),process.once("exit",o),async()=>{n||(n=true,process.off("SIGINT",o),process.off("SIGTERM",o),process.off("exit",o),await rm$1(t,{recursive:true,force:true}).catch(()=>{}));}}i($N,"tryAcquire");async function MN(t){try{let e=await readFile(join(t,"holder.json"),"utf-8"),r=JSON.parse(e);return WN(r)?r:null}catch{try{let e=await stat(t);if(Date.now()-e.mtimeMs<vN)return "young"}catch{}return null}}i(MN,"inspectLock");function GN(t,e){return !t||Date.now()-t.started>e?true:t.hostname&&t.hostname!==yk()?false:!jN(t.pid)}i(GN,"isStale");function jN(t){if(!Number.isInteger(t)||t<=0)return false;try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}i(jN,"isProcessAlive");function UN(t){return t?`${t.hostname?`${t.hostname}:`:""}pid ${t.pid} (running ${Date.now()-t.started}ms)`:"unknown (unreadable lock metadata)"}i(UN,"describeHolder");function WN(t){if(typeof t!="object"||t===null)return false;let e=t;return typeof e.pid=="number"&&typeof e.started=="number"}i(WN,"isLockMetadata");function yk(){return hostname()}i(yk,"getHostname");function BN(t){return new Promise(e=>setTimeout(e,t))}i(BN,"sleep");sp();sr();async function VN(t,e){let{source:r}=t,n;if(r.startsWith("file:")||r.startsWith("./")||r.startsWith("../")||r.startsWith("/")){let s=r.startsWith("file:")?fileURLToPath(r):r,a=resolve(e,s);n=pathToFileURL(a).href;}else n=r;return await import(n)}i(VN,"importPluginModule");function JN(t){return "descriptor"in t?[t.descriptor]:"descriptors"in t&&Array.isArray(t.descriptors)?t.descriptors:"default"in t?[t.default]:[]}i(JN,"extractDescriptors");async function Kl(t,e){let r;try{r=await VN(t,e);}catch(s){throw new Error(`Plugin '${t.source}' failed to import: ${s instanceof Error?s.message:String(s)}`,{cause:s})}let n=JN(r),o=[];for(let s of n)try{let a=wl(s);HR(a),o.push(a);}catch(a){throw new Error(`Plugin '${t.source}' exported an invalid descriptor: ${a instanceof Error?a.message:String(a)}`,{cause:a})}return {entry:t,descriptors:o}}i(Kl,"loadPlugin");async function Ik(t,e){let r=[];return await Promise.all(t.map(async n=>{try{let o=await Kl(n,e);r.push(o);}catch(o){y.warn(`Plugin '${n.source}' failed to load: ${o instanceof Error?o.message:String(o)}`);}})),r}i(Ik,"loadAllPlugins");async function ie(t,e){t.plugins.length!==0&&await Ik(t.plugins,e);}i(ie,"bootstrapPlugins");rt();function Lp(t,e,r="project"){let n=[],o=[...t.targets,...t.pluginTargets??[]];for(let s of t.features){let a,l;switch(s){case "rules":l=e.rules.length,a="rules";break;case "commands":l=e.commands.length,a=l>0?`commands (${l})`:"commands";break;case "agents":l=e.agents.length,a=l>0?`agents (${l})`:"agents";break;case "skills":l=e.skills.length,a=l>0?`skills (${l})`:"skills";break;case "mcp":l=e.mcp?Object.keys(e.mcp.mcpServers).length:0,a=l>0?`mcp (${l} servers)`:"mcp";break;case "hooks":l=YN(e.hooks),a=l>0?`hooks (${l})`:"hooks";break;case "ignore":l=e.ignore.length>0?1:0,a="ignore";break;case "permissions":l=e.permissions&&(e.permissions.allow.length>0||e.permissions.deny.length>0)?1:0,a="permissions";break;default:continue}let c={};for(let m of o)c[m]=kl(m,s,t,r);if(n.push({feature:a,count:l,support:c}),s==="rules"){let m=e.rules.filter(u=>!u.root);if(m.length>0){let u={};for(let p of o)u[p]=kl(p,"additionalRules",t,r);n.push({feature:`additional rules (${m.length})`,count:m.length,support:u});}}}return n}i(Lp,"buildCompatibilityMatrix");function YN(t){if(!t)return 0;let e=0;for(let r of Object.values(t))Array.isArray(r)&&(e+=r.length);return e}i(YN,"countHooks");var XN={"claude-code":"Claude"};function Sk(t){return XN[t]??t}i(Sk,"matrixColumnLabel");lr();rt();var ZN=["rules","additionalRules","commands","agents","skills","mcp","hooks","ignore","permissions"];function _k(t){return Object.fromEntries(ZN.map(e=>[e,Object.fromEntries(ht.map(r=>{let o=un(r,t)?.[e];return [r,o??{level:"none"}]}))]))}i(_k,"buildSupportMatrix");_k("project");_k("global");var Np={native:"\u2713",embedded:"\u25C6",partial:"\u25D0",none:"\u2013"},vi={green:"\x1B[32m",blue:"\x1B[34m",yellow:"\x1B[33m",dim:"\x1B[2m",reset:"\x1B[0m"};function qN(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}i(qN,"noColor");function QN(t,e){return qN()?e:`${t}${e}${vi.reset}`}i(QN,"colorize");var tD={native:vi.green,embedded:vi.blue,partial:vi.yellow,none:vi.dim};function Rk(t){let e=Np[t];return QN(tD[t],e)}i(Rk,"coloredSymbol");function Dp(t,e){let r=process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!=="",n={cyan:"\x1B[36m",magenta:"\x1B[35m",bold:"\x1B[1m",dim:"\x1B[2m",green:"\x1B[32m",blue:"\x1B[34m",yellow:"\x1B[33m",reset:"\x1B[0m"},o=i((M,W)=>r?W:`${M}${W}${n.reset}`,"c"),s=i(M=>M.replace(/\u001b\[[0-9;]*m/g,"").length,"visibleLength"),a=i((M,W)=>{let q=s(M),mt=Math.max(0,W-q);return M+" ".repeat(mt)},"padWithColor"),l=Math.max(12,...e.map(M=>M.length)),c=e.map(M=>Sk(M)),m=Math.max(8,l),u=Math.max(12,...t.map(M=>M.feature.length)),p=i(M=>o(n.dim,"\u250C"+M.map(W=>"\u2500".repeat(W)).join("\u252C")+"\u2510"),"border"),d=i(M=>o(n.dim,"\u251C"+M.map(W=>"\u2500".repeat(W)).join("\u253C")+"\u2524"),"sep"),g=i(M=>o(n.dim,"\u2514"+M.map(W=>"\u2500".repeat(W)).join("\u2534")+"\u2518"),"bottom"),h=[u,...e.map(()=>m)],R=p(h),C=[a(o(n.bold+n.cyan,"Feature"),u),...c.map(M=>a(o(n.bold+n.magenta,M),m))],S=o(n.dim,"\u2502")+C.join(o(n.dim,"\u2502"))+o(n.dim,"\u2502"),w=d(h),D=t.map(M=>{let W=[a(o(n.cyan,M.feature),u)];for(let q of e){let mt=M.support[q]??"none",et=r?Np[mt]:Rk(mt);W.push(a(` ${et} `,m));}return o(n.dim,"\u2502")+W.join(o(n.dim,"\u2502"))+o(n.dim,"\u2502")}),b=g(h),x=[R,S,w,...D,b];x.push("");let K=[o(n.green,"\u2713")+" = native",o(n.blue,"\u25C6")+" = embedded",o(n.yellow,"\u25D0")+" = partial",o(n.dim,"\u2013")+" = not supported"];return x.push(o(n.bold,"Legend: ")+K.join(" ")),x.join(`
150
+ `)}i(Dp,"formatMatrix");function vp(t){let e=[];if(t.rules.length>0&&e.push(`rules: ${t.rules.map(r=>basename(r.source)).join(", ")}`),t.commands.length>0&&e.push(`commands: ${t.commands.map(r=>basename(r.source)).join(", ")}`),t.agents.length>0&&e.push(`agents: ${t.agents.map(r=>basename(r.source)).join(", ")}`),t.skills.length>0&&e.push(`skills: ${t.skills.map(r=>r.name).join(", ")}`),t.mcp&&Object.keys(t.mcp.mcpServers).length>0&&e.push(`mcp: ${Object.keys(t.mcp.mcpServers).join(", ")}`),t.hooks){let r=Object.values(t.hooks).reduce((n,o)=>n+(Array.isArray(o)?o.length:0),0);r>0&&e.push(`hooks: ${r} entries in hooks.yaml`);}return t.ignore.length>0&&e.push("ignore: .agentsmesh/ignore"),t.permissions&&t.permissions.allow.length+t.permissions.deny.length>0&&e.push("permissions: .agentsmesh/permissions.yaml"),e.length===0?"":`
150
151
  Per-file details:
151
152
  `+e.join(`
152
153
  `)+`
153
- `}i(Ep,"formatVerboseDetails");async function go(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",o=t.targets,s=typeof o=="string"&&o?o.split(",").map(d=>d.trim()).filter(Boolean):void 0,{config:a,context:l}=await lt(r,n);await ue(a,r);let{canonical:c}=await me(a,l.configDir,{},l.canonicalDir),m=s??[...a.targets,...a.pluginTargets??[]],u=Rp(a,c,n);if(u.length===0){_.info("No features enabled. Enable features in agentsmesh.yaml.");return}let p=wp(u,m);if(process.stdout.write(p),process.stdout.write(`
154
- `),t.verbose===true){let d=Ep(c);d&&(process.stdout.write(d),process.stdout.write(`
155
- `));}}i(go,"runMatrix");function rk(t,e,r){let n=resolve(t),o=resolve(t,e);if(o===n||o.startsWith(`${n}${sep}`))return o;throw new Error(`Unsafe generated output path for ${r}: ${e}`)}i(rk,"ensurePathInsideRoot");function Pp(t,e){return t==="global"?`~/${e}`:e}i(Pp,"formatDisplayPath");async function ks(t,e,r={}){if(t.features!==void 0)throw new Error("--features is no longer supported. Configure features in agentsmesh.yaml.");let n=e??process.cwd(),o=t.check===true,s=t["dry-run"]===true,a=t.force===true,l=t.global===true?"global":"project",c=t["refresh-cache"]===true||t["no-cache"]===true,m=t.targets,u=typeof m=="string"&&m?m.split(",").map(P=>P.trim()).filter(Boolean):void 0,{config:p,context:d}=await lt(n,l);await ue(p,n);let f=p.collaboration?.lock_features??[];if(p.collaboration?.strategy==="lock"&&!a&&f.length>0){let P=await Tl(d.canonicalDir);if(P!==null){let A=await Jr(d.canonicalDir),K=Ll(P.checksums,A,f);if(K.length>0){_.error("Locked feature violation (strategy: lock). Modified files:");for(let M of K)_.error(` ${M}`);throw _.error("Run 'agentsmesh generate --force' to accept these changes."),new Error("Locked feature violation. Use --force to override.")}}}let{canonical:h,resolvedExtends:C}=await me(p,d.configDir,{refreshRemoteCache:c},d.canonicalDir),R=[...p.targets,...p.pluginTargets??[]],I=u?R.filter(P=>u.includes(P)):R,O=await Ml({config:p,canonical:h,projectRoot:d.rootBase,scope:l,targetFilter:u});if(O.length===0){if(_.info("No files to generate (no root rule or rules feature disabled)."),o)return _.success("Generated files are in sync."),0;if(!s){let P=await Cp(join(d.canonicalDir,".generate.lock"));try{let A=await Jr(d.canonicalDir),K=C.length>0?await uo(C):{},M=await Fi(join(d.canonicalDir,"packs")),B=process.env.USER??process.env.USERNAME??"unknown";await Di(d.canonicalDir,{generatedAt:new Date().toISOString(),generatedBy:B,libVersion:Ts(),checksums:A,extends:K,packs:M});try{await ql(At(),join(d.configDir,".agentsmeshcache"));}catch(Z){_.warn(`Could not create .agentsmeshcache symlink: ${Z instanceof Error?Z.message:String(Z)}`);}}finally{await P();}}return r.printMatrix!==false&&await go(t,n),0}if(o){let P=O.filter(A=>A.status!=="unchanged");if(P.length===0)return _.success("Generated files are in sync."),0;for(let A of P)_.error(`[check] ${A.status} ${Pp(l,A.path)} (${A.target})`);return _.error("Generated files are out of sync. Run 'agentsmesh generate' to update them."),1}let x=s?null:await Cp(join(d.canonicalDir,".generate.lock"));try{for(let P of O)if(s)_.info(`[dry-run] ${P.status} ${Pp(l,P.path)} (${P.target})`);else if(P.status==="created"||P.status==="updated"){let A=rk(d.rootBase,P.path,P.target);await S(A,P.content),_.success(`${P.status} ${Pp(l,P.path)}`);}if(!s){let P=O.filter(q=>q.status==="created").length,A=O.filter(q=>q.status==="updated").length,K=O.filter(q=>q.status==="unchanged").length;await zR({projectRoot:d.rootBase,targets:I,expectedPaths:O.map(q=>q.path),scope:l}),P>0||A>0?_.info(`Generated: ${P} created, ${A} updated, ${K} unchanged`):_.info(`Nothing changed. (${K} unchanged)`);let M=await Jr(d.canonicalDir),B=C.length>0?await uo(C):{},Z=await Fi(join(d.canonicalDir,"packs")),it=process.env.USER??process.env.USERNAME??"unknown";await Di(d.canonicalDir,{generatedAt:new Date().toISOString(),generatedBy:it,libVersion:Ts(),checksums:M,extends:B,packs:Z});try{await ql(At(),join(d.configDir,".agentsmeshcache"));}catch(q){_.warn(`Could not create .agentsmeshcache symlink: ${q instanceof Error?q.message:String(q)}`);}}}finally{x&&await x();}return r.printMatrix!==false&&await go(t,n),0}i(ks,"runGenerate");E();ot();yr();var xN=["codex-cli"];function nk(){return ht.filter(t=>!xN.includes(t))}i(nk,"starterInitTargetIds");var bN=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],AN=nk();function jl(t,e=AN){let r=(t.length>0?t:e).map(o=>` - ${o}`).join(`
156
- `),n=bN.map(o=>` - ${o}`).join(`
154
+ `}i(vp,"formatVerboseDetails");async function oo(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",o=t.targets,s=typeof o=="string"&&o?o.split(",").map(d=>d.trim()).filter(Boolean):void 0,{config:a,context:l}=await at(r,n);await ie(a,r);let{canonical:c}=await se(a,l.configDir,{},l.canonicalDir),m=s??[...a.targets,...a.pluginTargets??[]],u=Lp(a,c,n);if(u.length===0){y.info("No features enabled. Enable features in agentsmesh.yaml.");return}let p=Dp(u,m);if(process.stdout.write(p),process.stdout.write(`
155
+ `),t.verbose===true){let d=vp(c);d&&(process.stdout.write(d),process.stdout.write(`
156
+ `));}}i(oo,"runMatrix");function kk(t,e,r){let n=resolve(t),o=resolve(t,e);if(o===n||o.startsWith(`${n}${sep}`))return o;throw new Error(`Unsafe generated output path for ${r}: ${e}`)}i(kk,"ensurePathInsideRoot");function $p(t,e){return t==="global"?`~/${e}`:e}i($p,"formatDisplayPath");async function ds(t,e,r={}){if(t.features!==void 0)throw new Error("--features is no longer supported. Configure features in agentsmesh.yaml.");let n=e??process.cwd(),o=t.check===true,s=t["dry-run"]===true,a=t.force===true,l=t.global===true?"global":"project",c=t["refresh-cache"]===true||t["no-cache"]===true,m=t.targets,u=typeof m=="string"&&m?m.split(",").map(b=>b.trim()).filter(Boolean):void 0,{config:p,context:d}=await at(n,l);await ie(p,n);let g=p.collaboration?.lock_features??[];if(p.collaboration?.strategy==="lock"&&!a&&g.length>0){let b=await vl(d.canonicalDir);if(b!==null){let x=await vr(d.canonicalDir),K=$l(b.checksums,x,g);if(K.length>0){y.error("Locked feature violation (strategy: lock). Modified files:");for(let M of K)y.error(` ${M}`);throw y.error("Run 'agentsmesh generate --force' to accept these changes."),new Error("Locked feature violation. Use --force to override.")}}}let{canonical:h,resolvedExtends:R}=await se(p,d.configDir,{refreshRemoteCache:c},d.canonicalDir),C=[...p.targets,...p.pluginTargets??[]];if(u){let b=u.filter(x=>!C.includes(x));if(b.length>0)throw new Error(`Unknown target(s) in --targets: ${b.join(", ")}. Available: ${C.join(", ")}`)}let S=u?C.filter(b=>u.includes(b)):C,w=await Bl({config:p,canonical:h,projectRoot:d.rootBase,scope:l,targetFilter:u});if(w.length===0){if(y.info("No files to generate (no root rule or rules feature disabled)."),o)return y.success("Generated files are in sync."),0;if(!s){let b=await Tp(join(d.canonicalDir,".generate.lock"));try{let x=await vr(d.canonicalDir),K=R.length>0?await eo(R):{},M=await Ni(join(d.canonicalDir,"packs")),W=process.env.USER??process.env.USERNAME??"unknown";await Li(d.canonicalDir,{generatedAt:new Date().toISOString(),generatedBy:W,libVersion:Rs(),checksums:x,extends:K,packs:M});try{await sc(Tt(),join(d.configDir,".agentsmeshcache"));}catch(q){y.warn(`Could not create .agentsmeshcache symlink: ${q instanceof Error?q.message:String(q)}`);}}finally{await b();}}return r.printMatrix!==false&&await oo(t,n),0}if(o){let b=w.filter(x=>x.status!=="unchanged");if(b.length===0)return y.success("Generated files are in sync."),0;for(let x of b)y.error(`[check] ${x.status} ${$p(l,x.path)} (${x.target})`);return y.error("Generated files are out of sync. Run 'agentsmesh generate' to update them."),1}let D=s?null:await Tp(join(d.canonicalDir,".generate.lock"));try{for(let b of w)if(s)y.info(`[dry-run] ${b.status} ${$p(l,b.path)} (${b.target})`);else if(b.status==="created"||b.status==="updated"){let x=kk(d.rootBase,b.path,b.target);await _(x,b.content),y.success(`${b.status} ${$p(l,b.path)}`);}if(!s){let b=w.filter(et=>et.status==="created").length,x=w.filter(et=>et.status==="updated").length,K=w.filter(et=>et.status==="unchanged").length;await dk({projectRoot:d.rootBase,targets:S,expectedPaths:w.map(et=>et.path),scope:l}),b>0||x>0?y.info(`Generated: ${b} created, ${x} updated, ${K} unchanged`):y.info(`Nothing changed. (${K} unchanged)`);let M=await vr(d.canonicalDir),W=R.length>0?await eo(R):{},q=await Ni(join(d.canonicalDir,"packs")),mt=process.env.USER??process.env.USERNAME??"unknown";await Li(d.canonicalDir,{generatedAt:new Date().toISOString(),generatedBy:mt,libVersion:Rs(),checksums:M,extends:W,packs:q});try{await sc(Tt(),join(d.configDir,".agentsmeshcache"));}catch(et){y.warn(`Could not create .agentsmeshcache symlink: ${et instanceof Error?et.message:String(et)}`);}}}finally{D&&await D();}return r.printMatrix!==false&&await oo(t,n),0}i(ds,"runGenerate");E();rt();lr();var rD=["codex-cli"];function wk(){return ht.filter(t=>!rD.includes(t))}i(wk,"starterInitTargetIds");var nD=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],oD=wk();function Hl(t,e=oD){let r=(t.length>0?t:e).map(o=>` - ${o}`).join(`
157
+ `),n=nD.map(o=>` - ${o}`).join(`
157
158
  `);return `# yaml-language-server: $schema=https://unpkg.com/agentsmesh/schemas/agentsmesh.json
158
159
  version: 1
159
160
  targets:
160
161
  ${r}
161
162
  features:
162
163
  ${n}
163
- `}i(jl,"buildConfig");var Ul=`---
164
+ `}i(Hl,"buildConfig");var zl=`---
164
165
  root: true
165
166
  description: "Project rules"
166
167
  ---
@@ -169,7 +170,7 @@ description: "Project rules"
169
170
 
170
171
  Add your project-wide instructions here.
171
172
  This file is always included in AI tool context and synced to all configured tools.
172
- `,xp=`---
173
+ `,Mp=`---
173
174
  description: "Example contextual rule \u2014 rename and customize"
174
175
  # targets: [claude-code, cursor] # limit to specific tools (optional)
175
176
  # globs: ["src/**/*.ts"] # activate only for matching files (optional)
@@ -178,14 +179,14 @@ description: "Example contextual rule \u2014 rename and customize"
178
179
  # Example Rule
179
180
 
180
181
  Replace this with your coding standards, conventions, or domain-specific guidelines.
181
- `,bp=`---
182
+ `,Gp=`---
182
183
  description: "Example command \u2014 rename and customize"
183
184
  # allowed-tools: [Read, Grep, Glob, Bash]
184
185
  ---
185
186
 
186
187
  Describe the task for this command here.
187
188
  Commands are invoked on-demand (e.g. /example) with a focused tool set.
188
- `,Ap=`---
189
+ `,jp=`---
189
190
  name: example-agent
190
191
  description: "Example subagent \u2014 rename and customize"
191
192
  # tools: [Read, Grep, Glob]
@@ -196,7 +197,7 @@ description: "Example subagent \u2014 rename and customize"
196
197
 
197
198
  Describe this agent's role and instructions here.
198
199
  Agents are specialized subagents with restricted tools and a specific purpose.
199
- `,Tp=`---
200
+ `,Up=`---
200
201
  name: example-skill
201
202
  description: "Example skill \u2014 rename and customize"
202
203
  ---
@@ -205,7 +206,7 @@ description: "Example skill \u2014 rename and customize"
205
206
 
206
207
  Describe the skill procedure here.
207
208
  Skills are reusable multi-step procedures that commands and agents can reference.
208
- `,Lp=`{
209
+ `,Wp=`{
209
210
  "mcpServers": {
210
211
  // "github": {
211
212
  // "type": "stdio",
@@ -220,7 +221,7 @@ Skills are reusable multi-step procedures that commands and agents can reference
220
221
  // }
221
222
  }
222
223
  }
223
- `,Np=`# Lifecycle hooks \u2014 run shell commands before/after AI tool use
224
+ `,Bp=`# Lifecycle hooks \u2014 run shell commands before/after AI tool use
224
225
  # Events: PreToolUse, PostToolUse, SubagentStart, SubagentStop
225
226
  # Matcher: tool name pattern (e.g. "Edit|Write", "Bash", "*")
226
227
  #
@@ -233,7 +234,7 @@ Skills are reusable multi-step procedures that commands and agents can reference
233
234
  # - matcher: Edit|Write
234
235
  # type: command
235
236
  # command: npm test --passWithNoTests
236
- `,Dp=`# Tool permission allow/deny lists
237
+ `,Kp=`# Tool permission allow/deny lists
237
238
  #
238
239
  # allow:
239
240
  # - Bash(npm run:*)
@@ -249,14 +250,14 @@ Skills are reusable multi-step procedures that commands and agents can reference
249
250
  allow: []
250
251
  deny: []
251
252
  ask: []
252
- `,Fp=`# Patterns ignored by all configured AI tools (gitignore syntax)
253
+ `,Hp=`# Patterns ignored by all configured AI tools (gitignore syntax)
253
254
  #
254
255
  # node_modules/
255
256
  # dist/
256
257
  # .env*
257
258
  # *.log
258
259
  # coverage/
259
- `,ok=`# yaml-language-server: $schema=https://unpkg.com/agentsmesh/schemas/agentsmesh.json
260
+ `,Ok=`# yaml-language-server: $schema=https://unpkg.com/agentsmesh/schemas/agentsmesh.json
260
261
  # Personal overrides \u2014 NOT committed to git
261
262
  # Uncomment and customize for your local setup:
262
263
 
@@ -275,25 +276,25 @@ ask: []
275
276
  # overrides:
276
277
  # claude-code:
277
278
  # model: opus
278
- `;E();ot();function sk(t){let e=[];for(let r of Tt)for(let n of Vu(r.id,t))e.push({target:r.id,path:n});return e}i(sk,"collectDetectionPaths");function ik(t){let e=new Map;for(let{target:r,path:n}of sk(t)){let o=e.get(r)??[];o.push(n),e.set(r,o);}return [...e.entries()].map(([r,n])=>({id:r,paths:n}))}i(ik,"toolIndicators");ik("project");async function ak(t,e="project"){let r=[];for(let{id:n,paths:o}of ik(e))for(let s of o){let a=join(t,s);if(await N(a)){r.push(n);break}}return [...new Set(r)]}i(ak,"detectExistingConfigs");E();function Ct(t,e){return join(t,e)}i(Ct,"ab");async function vp(t){return await N(t)?(await readdir(t,{withFileTypes:true})).filter(r=>r.isFile()&&r.name.endsWith(".md")).length:0}i(vp,"countMdFiles");async function LN(t){let e=Ct(t,"skills");if(!await N(e))return false;let r=await readdir(e,{withFileTypes:true});for(let n of r)if(n.isDirectory()&&!n.name.startsWith("_")&&await N(join(e,n.name,"SKILL.md")))return true;return false}i(LN,"hasAnyImportedSkill");async function $p(t){let e=Ct(t,"rules");await k(e),await S(join(e,"_root.md"),Ul),_.success("Created .agentsmesh/rules/_root.md"),await S(join(e,"_example.md"),xp),_.success("Created .agentsmesh/rules/_example.md");let r=Ct(t,"commands");await k(r),await S(join(r,"_example.md"),bp),_.success("Created .agentsmesh/commands/_example.md");let n=Ct(t,"agents");await k(n),await S(join(n,"_example.md"),Ap),_.success("Created .agentsmesh/agents/_example.md");let o=Ct(t,join("skills","_example"));await k(o),await S(join(o,"SKILL.md"),Tp),_.success("Created .agentsmesh/skills/_example/SKILL.md"),await S(Ct(t,"mcp.json"),Lp),_.success("Created .agentsmesh/mcp.json"),await S(Ct(t,"hooks.yaml"),Np),_.success("Created .agentsmesh/hooks.yaml"),await S(Ct(t,"permissions.yaml"),Dp),_.success("Created .agentsmesh/permissions.yaml"),await S(Ct(t,"ignore"),Fp),_.success("Created .agentsmesh/ignore");}i($p,"writeScaffoldFull");async function ck(t){let e=Ct(t,"rules"),r=await vp(e),n=join(e,"_root.md"),o=await N(n);await k(e),r===0?(await S(n,Ul),_.success("Created .agentsmesh/rules/_root.md"),await S(join(e,"_example.md"),xp),_.success("Created .agentsmesh/rules/_example.md")):o||(await S(n,Ul),_.success("Created .agentsmesh/rules/_root.md"));let s=Ct(t,"commands");await vp(s)===0&&(await k(s),await S(join(s,"_example.md"),bp),_.success("Created .agentsmesh/commands/_example.md"));let a=Ct(t,"agents");if(await vp(a)===0&&(await k(a),await S(join(a,"_example.md"),Ap),_.success("Created .agentsmesh/agents/_example.md")),!await LN(t)){let p=Ct(t,join("skills","_example"));await k(p),await S(join(p,"SKILL.md"),Tp),_.success("Created .agentsmesh/skills/_example/SKILL.md");}let l=Ct(t,"mcp.json");await N(l)||(await S(l,Lp),_.success("Created .agentsmesh/mcp.json"));let c=Ct(t,"hooks.yaml");await N(c)||(await S(c,Np),_.success("Created .agentsmesh/hooks.yaml"));let m=Ct(t,"permissions.yaml");await N(m)||(await S(m,Dp),_.success("Created .agentsmesh/permissions.yaml"));let u=Ct(t,"ignore");await N(u)||(await S(u,Fp),_.success("Created .agentsmesh/ignore"));}i(ck,"writeScaffoldGapFill");var Gi="agentsmesh.yaml",mk="agentsmesh.local.yaml",NN=["agentsmesh.local.yaml",".agentsmeshcache",".agentsmesh/.lock.tmp"],DN=Object.fromEntries(Tt.map(t=>[t.id,(e,r)=>t.generators.importFrom(e,{scope:r})])),uk=Tt.filter(t=>t.globalSupport!==void 0).map(t=>t.id);async function FN(t){let e=join(t,".gitignore"),r=await y(e)??"",n=new Set(r.split(`
279
- `).map(a=>a.trim())),o=NN.filter(a=>!n.has(a));if(o.length===0)return;let s=r.endsWith(`
279
+ `;E();rt();function Ek(t){let e=[];for(let r of Ct)for(let n of rp(r.id,t))e.push({target:r.id,path:n});return e}i(Ek,"collectDetectionPaths");function bk(t){let e=new Map;for(let{target:r,path:n}of Ek(t)){let o=e.get(r)??[];o.push(n),e.set(r,o);}return [...e.entries()].map(([r,n])=>({id:r,paths:n}))}i(bk,"toolIndicators");bk("project");async function xk(t,e="project"){let r=[];for(let{id:n,paths:o}of bk(e))for(let s of o){let a=join(t,s);if(await L(a)){r.push(n);break}}return [...new Set(r)]}i(xk,"detectExistingConfigs");E();function _t(t,e){return join(t,e)}i(_t,"ab");async function zp(t){return await L(t)?(await readdir(t,{withFileTypes:true})).filter(r=>r.isFile()&&r.name.endsWith(".md")).length:0}i(zp,"countMdFiles");async function iD(t){let e=_t(t,"skills");if(!await L(e))return false;let r=await readdir(e,{withFileTypes:true});for(let n of r)if(n.isDirectory()&&!n.name.startsWith("_")&&await L(join(e,n.name,"SKILL.md")))return true;return false}i(iD,"hasAnyImportedSkill");async function Vp(t){let e=_t(t,"rules");await k(e),await _(join(e,"_root.md"),zl),y.success("Created .agentsmesh/rules/_root.md"),await _(join(e,"_example.md"),Mp),y.success("Created .agentsmesh/rules/_example.md");let r=_t(t,"commands");await k(r),await _(join(r,"_example.md"),Gp),y.success("Created .agentsmesh/commands/_example.md");let n=_t(t,"agents");await k(n),await _(join(n,"_example.md"),jp),y.success("Created .agentsmesh/agents/_example.md");let o=_t(t,join("skills","_example"));await k(o),await _(join(o,"SKILL.md"),Up),y.success("Created .agentsmesh/skills/_example/SKILL.md"),await _(_t(t,"mcp.json"),Wp),y.success("Created .agentsmesh/mcp.json"),await _(_t(t,"hooks.yaml"),Bp),y.success("Created .agentsmesh/hooks.yaml"),await _(_t(t,"permissions.yaml"),Kp),y.success("Created .agentsmesh/permissions.yaml"),await _(_t(t,"ignore"),Hp),y.success("Created .agentsmesh/ignore");}i(Vp,"writeScaffoldFull");async function Ak(t){let e=_t(t,"rules"),r=await zp(e),n=join(e,"_root.md"),o=await L(n);await k(e),r===0?(await _(n,zl),y.success("Created .agentsmesh/rules/_root.md"),await _(join(e,"_example.md"),Mp),y.success("Created .agentsmesh/rules/_example.md")):o||(await _(n,zl),y.success("Created .agentsmesh/rules/_root.md"));let s=_t(t,"commands");await zp(s)===0&&(await k(s),await _(join(s,"_example.md"),Gp),y.success("Created .agentsmesh/commands/_example.md"));let a=_t(t,"agents");if(await zp(a)===0&&(await k(a),await _(join(a,"_example.md"),jp),y.success("Created .agentsmesh/agents/_example.md")),!await iD(t)){let p=_t(t,join("skills","_example"));await k(p),await _(join(p,"SKILL.md"),Up),y.success("Created .agentsmesh/skills/_example/SKILL.md");}let l=_t(t,"mcp.json");await L(l)||(await _(l,Wp),y.success("Created .agentsmesh/mcp.json"));let c=_t(t,"hooks.yaml");await L(c)||(await _(c,Bp),y.success("Created .agentsmesh/hooks.yaml"));let m=_t(t,"permissions.yaml");await L(m)||(await _(m,Kp),y.success("Created .agentsmesh/permissions.yaml"));let u=_t(t,"ignore");await L(u)||(await _(u,Hp),y.success("Created .agentsmesh/ignore"));}i(Ak,"writeScaffoldGapFill");var $i="agentsmesh.yaml",Tk="agentsmesh.local.yaml",lD=["agentsmesh.local.yaml",".agentsmeshcache",".agentsmesh/.lock.tmp",".agentsmesh/packs/"],cD=Object.fromEntries(Ct.map(t=>[t.id,(e,r)=>t.generators.importFrom(e,{scope:r})])),Lk=Ct.filter(t=>t.globalSupport!==void 0).map(t=>t.id);function mD(t,e){if(e.has(t))return true;let r=t.replace(/\/$/,"");for(;r.includes("/")&&(r=r.slice(0,r.lastIndexOf("/")),r!=="");)if(e.has(r)||e.has(`${r}/`)||e.has(`${r}/**`))return true;return false}i(mD,"isCoveredByExisting");async function uD(t){let e=join(t,".gitignore"),r=await I(e)??"",n=new Set(r.split(`
280
+ `).map(a=>a.trim()).filter(a=>a.length>0&&!a.startsWith("#"))),o=lD.filter(a=>!mD(a,n));if(o.length===0)return;let s=r.endsWith(`
280
281
  `)||r===""?"":`
281
- `;await S(e,r+s+o.join(`
282
+ `;await _(e,r+s+o.join(`
282
283
  `)+`
283
- `);}i(FN,"appendToGitignore");async function pk(t,e={}){let r=e.global===true?"global":"project",n=vs(t,r),o=join(n.configDir,Gi);if(await N(o))throw new Error(`Already initialized. ${Gi} exists. Remove it first to re-init.`);let s=await ak(n.rootBase,r),a=r==="global"?s.filter(m=>uk.includes(m)):s,l=r==="global"?uk:void 0;if(a.length>0)if(_.info(`Found existing configurations: ${a.join(", ")}`),e.yes){_.info("Auto-importing existing configurations (--yes)...");let m=0;for(let u of a){let p=DN[u];if(!p)continue;let d=await p(n.rootBase,r);for(let f of d)_.success(` ${f.fromPath.replace(n.rootBase+"/","")} \u2192 ${f.toPath}`);m+=d.length;}m>0&&_.info(`Imported ${m} file(s) from ${a.length} tool(s).`),await ck(n.canonicalDir),await S(o,jl(a,l)),_.success(`Created ${Gi} (targets: ${a.join(", ")})`);}else _.info("Run 'agentsmesh init --yes' to auto-import, or 'agentsmesh import --from <tool>' manually."),await $p(n.canonicalDir),await S(o,jl([],l)),_.success(`Created ${Gi}`);else await $p(n.canonicalDir),await S(o,jl([],l)),_.success(`Created ${Gi}`);let c=join(n.configDir,mk);await S(c,ok),_.success(`Created ${mk}`),r==="project"&&(await FN(t),_.success("Updated .gitignore"));}i(pk,"runInit");ot();var vN=Object.fromEntries(Tt.map(t=>[t.id,{importFrom:t.generators.importFrom,emptyImportMessage:t.emptyImportMessage,lintRules:t.lintRules,lint:t.lint,capabilities:t.capabilities}]));function Wl(t){let e=vN[t];if(!e)throw new Error(`Unknown target: ${t}`);return e}i(Wl,"getTargetCatalogEntry");Kr();function dk(t,e,r){for(let n of t){let o=relative(e,n.fromPath);_.success(`${o} \u2192 ${n.toPath}`);}_.info(`Imported ${t.length} file(s). Run 'agentsmesh generate${r==="global"?" --global":""}' to sync to other tools.`);}i(dk,"formatImportResults");async function fk(t,e){let r=e??process.cwd(),n=t.from;if(typeof n!="string"||!n)throw new Error("--from is required. Example: agentsmesh import --from claude-code");let o=n.toLowerCase().trim(),s=t.global===true?"global":"project";if(wn(o)){let u=vs(r,s),p=Wl(o),d=await p.importFrom(u.rootBase,{scope:s});if(d.length===0){_.info(p.emptyImportMessage);return}dk(d,u.rootBase,s);return}let a,l;try{({config:a,context:l}=await lt(r,s));}catch{throw new Error(`Unknown --from "${n}" and no agentsmesh.yaml found. Run 'agentsmesh init' to enable plugin targets, or use a builtin: ${ht.join(", ")}.`)}await ue(a,r);let c=et(o);if(!c)throw new Error(`Unknown --from "${n}". Supported: ${[...ht,...a.pluginTargets??[]].join(", ")}.`);let m=await c.generators.importFrom(l.rootBase,{scope:s});if(m.length===0){_.info(c.emptyImportMessage);return}dk(m,l.rootBase,s);}i(fk,"runImport");function hk(t){let e=[],r={new:0,updated:0,unchanged:0,deleted:0};for(let n of t){if(n.status==="unchanged"){r.unchanged++;continue}if(n.status==="created"){r.new++;let o=createTwoFilesPatch(`${n.path} (current)`,`${n.path} (generated)`,"",n.content,void 0,void 0,{context:3});e.push({path:n.path,patch:o});continue}if(n.status==="updated"&&n.currentContent!==void 0){r.updated++;let o=createTwoFilesPatch(`${n.path} (current)`,`${n.path} (generated)`,n.currentContent,n.content,void 0,void 0,{context:3});e.push({path:n.path,patch:o});continue}}return {diffs:e,summary:r}}i(hk,"computeDiff");function yk(t){return `${t.new} files would be created, ${t.updated} updated, ${t.unchanged} unchanged, ${t.deleted} deleted`}i(yk,"formatDiffSummary");async function Ik(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",o=t.targets,s=typeof o=="string"&&o?o.split(",").map(d=>d.trim()).filter(Boolean):void 0,{config:a,context:l}=await lt(r,n);await ue(a,r);let{canonical:c}=await me(a,l.configDir,{},l.canonicalDir),m=await Ml({config:a,canonical:c,projectRoot:l.rootBase,scope:n,targetFilter:s});if(m.length===0){_.info("No files to generate (no root rule or rules feature disabled).");return}let{diffs:u,summary:p}=hk(m);for(let d of u)process.stdout.write(d.patch);_.info(yk(p));}i(Ik,"runDiff");E();Kr();var MN=["node_modules",".git","dist","coverage",".agentsmesh"];async function GN(t){return (await b(t)).filter(n=>{let o=relative(t,n);return !MN.some(s=>o.includes(`/${s}/`)||o.startsWith(`${s}/`))}).map(n=>relative(t,n))}i(GN,"getProjectFiles");async function _k(t,e,r,n,o={}){let s=o.scope??"project",a=[...t.targets,...t.pluginTargets??[]],l=n?a.filter(R=>n.includes(R)):a,c=t.features.includes("rules"),m=t.features.includes("commands"),u=t.features.includes("mcp"),p=t.features.includes("permissions"),d=t.features.includes("hooks"),f=[],h=s==="global"?[]:await GN(r);for(let R of l){let I=wn(R)?Wl(R):et(R);c&&I?.lintRules&&f.push(...I.lintRules(e,r,h,{scope:s}));let O=et(R);O?.generators.lint&&f.push(...O.generators.lint(e));let x={scope:s};m&&I?.lint?.commands&&f.push(...I.lint.commands(e,x)),u&&I?.lint?.mcp&&f.push(...I.lint.mcp(e,x)),p&&I?.lint?.permissions&&f.push(...I.lint.permissions(e,x)),d&&I?.lint?.hooks&&f.push(...I.lint.hooks(e,x));}let C=f.some(R=>R.level==="error");return {diagnostics:f,hasErrors:C}}i(_k,"runLint");async function Ck(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",o=t.targets,s=typeof o=="string"&&o?o.split(",").map(C=>C.trim()).filter(Boolean):void 0,{config:a,context:l}=await lt(r,n);await ue(a,r);let{canonical:c}=await me(a,l.configDir,{},l.canonicalDir),{diagnostics:m,hasErrors:u}=await _k(a,c,l.configDir,s,{scope:n});if(m.length===0)return _.success("All checks passed."),0;let p=m.filter(C=>C.level==="error"),d=m.filter(C=>C.level==="warning");if(p.length>0)for(let C of p)_.error(`${C.file} (${C.target}): ${C.message}`);if(d.length>0)for(let C of d)_.warn(`${C.file} (${C.target}): ${C.message}`);let f=p.length,h=d.length;return _.info(`${f} error${f!==1?"s":""}, ${h} warning${h!==1?"s":""}`),u?1:0}i(Ck,"runLintCmd");var WN=300;function BN(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}i(BN,"normalizeWatchPath");function KN(t,e,r){let n=BN(relative(t,e));return n===".lock"||n===".lock.tmp"||n===".generate.lock"||n.endsWith("/.lock")||n.endsWith("/.lock.tmp")||n.endsWith("/.generate.lock")||n.includes("/.generate.lock/")||n.startsWith(".generate.lock/")}i(KN,"shouldIgnoreWatchPath");function HN(t,e,r,n,o,s,a,l,c){return JSON.stringify({features:t,rulesCount:e,commandsCount:r,agentsCount:n,skillsCount:o,mcpServerCount:s,permissionsCount:a,hooksCount:l,ignoreCount:c})}i(HN,"featureFingerprint");async function kk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{context:o}=await lt(r,n),s=[o.canonicalDir,join(o.configDir,"agentsmesh.yaml"),join(o.configDir,"agentsmesh.local.yaml")],a=null,l=null,c=false,m=null,p=i(async()=>{if(c)return;a=null;let{config:C,context:R}=await lt(r,n),{canonical:I}=await me(C,R.configDir,{},R.canonicalDir),O=I.mcp?Object.keys(I.mcp.mcpServers).length:0,x=I.permissions?I.permissions.allow.length+I.permissions.deny.length:0,P=I.hooks?Object.values(I.hooks).reduce((B,Z)=>B+(Array.isArray(Z)?Z.length:0),0):0,A=I.ignore.length,K=HN(C.features,I.rules.length,I.commands.length,I.agents.length,I.skills.length,O,x,P,A),M=l!==null&&l!==K;l=K,!c&&(await ks(t,r,{printMatrix:false}),!c&&(M?await go(t,r):_.info("Regenerated.")));},"run"),d=i(()=>{let C=p().catch(R=>{if(!c){let I=R instanceof Error?R.message:String(R);_.error(I);}}).finally(()=>{m===C&&(m=null);});m=C;},"scheduleRun"),f=i(()=>{c||(a&&clearTimeout(a),a=setTimeout(d,WN));},"schedule"),h=UN.watch(s,{ignoreInitial:true,usePolling:process.platform==="win32"});return h.on("all",(C,R)=>{KN(o.canonicalDir,R)||f();}),await new Promise((C,R)=>{h.once("ready",C),h.once("error",R);}),_.info(n==="global"?"Watching ~/.agentsmesh/ and agentsmesh.yaml...":"Watching .agentsmesh/ and agentsmesh.yaml..."),m=p(),await m,m=null,{stop:i(async()=>{c=true,a&&(clearTimeout(a),a=null),await h.close(),m&&await m;},"stop")}}i(kk,"runWatch");async function wk(t){let{config:e,configDir:r,canonicalDir:n}=t,o=await Tl(n);if(o===null)return {inSync:false,hasLock:false,modified:[],added:[],removed:[],extendsModified:[],lockedViolations:[]};let s=await Jr(n),a=await wo(e,r),l=a.length>0?await uo(a):{},c=new Set(Object.keys(o.checksums)),m=new Set(Object.keys(s)),u=[],p=[],d=[];for(let I of c){let O=s[I];O===void 0?d.push(I):O!==o.checksums[I]&&u.push(I);}for(let I of m)c.has(I)||p.push(I);let f=new Set([...Object.keys(o.extends),...Object.keys(l)]),h=[];for(let I of f)l[I]!==o.extends[I]&&h.push(I);let C=Ll(o.checksums,s,e.collaboration?.lock_features??[]);return {inSync:u.length===0&&p.length===0&&d.length===0&&h.length===0,hasLock:true,modified:u,added:p,removed:d,extendsModified:h,lockedViolations:C}}i(wk,"checkLockSync");async function Ok(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{config:o,context:s}=await lt(r,n);await ue(o,r);let a=await wk({config:o,configDir:s.configDir,canonicalDir:s.canonicalDir});if(!a.hasLock)return _.error("Not initialized for collaboration. Run 'agentsmesh generate' first."),1;if(a.inSync)return _.success("Lock file is in sync."),0;let l=new Set(a.lockedViolations);_.error("Conflict detected:");for(let c of a.extendsModified)_.error(` extend "${c}" was modified`);for(let c of a.modified){let m=l.has(c)?" [LOCKED]":"";_.error(` ${c} was modified${m}`);}for(let c of a.added){let m=l.has(c)?" [LOCKED]":"";_.error(` ${c} was added${m}`);}for(let c of a.removed){let m=l.has(c)?" [LOCKED]":"";_.error(` ${c} was removed${m}`);}return _.info("Run 'agentsmesh merge' to resolve, or 'agentsmesh generate --force' to accept current state."),1}i(Ok,"runCheck");E();var VN=".lock",JN="<<<<<<<";async function Gp(t){let e=join(t,VN),r=await y(e);return r===null?false:r.includes(JN)}i(Gp,"hasLockConflict");async function Pk(t,e,r){if(!await Gp(t))throw new Error("No conflict to resolve.");let o=await Jr(t),s=dirname(t),a=r?await wo(r,s):[],l=a.length>0?await uo(a):{},c=await Fi(join(t,"packs")),m=process.env.USER??process.env.USERNAME??"unknown";await Di(t,{generatedAt:new Date().toISOString(),generatedBy:m,libVersion:e,checksums:o,extends:l,packs:c});}i(Pk,"resolveLockConflict");async function xk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{config:o,context:s}=await lt(r,n),a=s.canonicalDir;if(!await Gp(a)){_.info("No conflicts to resolve.");return}await Pk(a,Ts(),o),_.success("Lock file conflict resolved.");}i(xk,"runMerge");E();var ZN=promisify(execFile);async function jp(t){let{stdout:e}=await ZN("git",t,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return e.trim()}i(jp,"runGit");async function bk(){try{return await jp(["--version"]),!0}catch{return false}}i(bk,"isGitAvailable");async function qN(t,e){let r=[e,`refs/heads/${e}`,`refs/tags/${e}`],n;for(let o of r)try{let a=(await jp(["ls-remote",t,o])).split(`
284
- `).map(c=>c.trim()).find(c=>c.length>0);if(!a)continue;let l=a.split(/\s+/)[0];if(l&&/^[0-9a-f]{40}$/i.test(l))return l}catch(s){n=s;}throw new Error(`Could not resolve ref "${e}" for ${t}: ${n instanceof Error?n.message:String(n)}`)}i(qN,"gitLsRemoteResolve");async function Ak(t,e){let r=t===""?"HEAD":t;if(/^[0-9a-f]{40}$/i.test(r))return r.toLowerCase();if(r==="HEAD"){let o=(await jp(["ls-remote",e,"HEAD"])).split(`
285
- `).find(a=>a.trim().length>0);if(!o)throw new Error(`Could not resolve HEAD for ${e}`);let s=o.split(/\s+/)[0];if(!s||!/^[0-9a-f]{40}$/i.test(s))throw new Error(`Invalid ls-remote HEAD line for ${e}`);return s.toLowerCase()}return qN(e,r)}i(Ak,"resolveRemoteRefForInstall");async function Tk(t){if(t.kind==="local")return {resolvedPath:t.localRoot,sourceForYaml:t.localSourceForYaml};let e=t.gitRemoteUrl;if(!e)throw new Error("Internal error: missing git remote URL");let r=await Ak(t.rawRef||"HEAD",e);if(t.kind==="github"){let l=`github:${t.org}/${t.repo}@${r}`;return {resolvedPath:(await ko(l,"install",{cacheDir:At(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:l,version:r}}if(t.kind==="gitlab"){let l=`gitlab:${t.org}/${t.repo}@${r}`;return {resolvedPath:(await ko(l,"install",{cacheDir:At(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:l,version:r}}let n=r,s=`git+${(t.gitPlusBase??e).split("#")[0]}#${n}`;return {resolvedPath:(await ko(s,"install",{cacheDir:At(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:s,version:r}}i(Tk,"fetchInstallSource");async function Lk(t,e){if(t.kind==="local")return {resolvedPath:t.localRoot,sourceForYaml:t.localSourceForYaml};try{let r=await Tk(t);return {resolvedPath:r.resolvedPath,sourceForYaml:r.sourceForYaml,version:r.version}}catch(r){let n=r instanceof Error?r.message:String(r),o=new Error(`Failed to fetch from ${e}: ${n}. Check your network connection and try again.`);throw r instanceof Error&&(o.cause=r),o}}i(Lk,"resolveInstallResolvedPath");function Up(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("tree");if(n<2||n+1>=r.length)return null;let o=r[0],s=r[1],a=r[n+1],l=r.slice(n+2).join("/");return !o||!s||!a?null:{org:o,repo:s,ref:a,path:l||""}}catch{return null}}i(Up,"parseGithubTreeUrl");function Wp(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("blob");if(n<2||n+1>=r.length)return null;let o=r[0],s=r[1],a=r[n+1],l=r.slice(n+2).join("/");return !o||!s||!a||!l?null:{org:o,repo:s,ref:a,path:l}}catch{return null}}i(Wp,"parseGithubBlobUrl");function Bp(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("-");if(n<0||r[n+1]!=="tree")return null;let o=n+1;if(o+1>=r.length)return null;let s=r[o+1],a=r.slice(o+2).join("/"),l=r.slice(0,n);if(l.length<2)return null;let c=l[l.length-1],m=l.slice(0,-1).join("/");return !m||!c||!s?null:{namespace:m,project:c,ref:s,path:a||""}}catch{return null}}i(Bp,"parseGitlabTreeUrl");function Kp(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("-");if(n<0||r[n+1]!=="blob")return null;let o=n+1;if(o+1>=r.length)return null;let s=r[o+1],a=r.slice(o+2).join("/"),l=r.slice(0,n);if(l.length<2)return null;let c=l[l.length-1],m=l.slice(0,-1).join("/");return !m||!c||!s||!a?null:{namespace:m,project:c,ref:s,path:a}}catch{return null}}i(Kp,"parseGitlabBlobUrl");var QN=new Set(["tree","blob","commit","releases","actions","issues","pulls","settings","wiki","discussions","security","projects","packages"]);function Hp(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean).map(s=>s.replace(/\.git$/i,""));if(r.length<2||r.length>2||QN.has(r[1]))return null;let n=r[0],o=r[1];return {org:n,repo:o}}catch{return null}}i(Hp,"parseGithubRepoUrl");function zp(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean).map(s=>s.replace(/\.git$/i,""));if(r.length<2||r.includes("-"))return null;let n=r[r.length-1],o=r.slice(0,-1).join("/");return !o||!n?null:{namespace:o,project:n}}catch{return null}}i(zp,"parseGitlabRepoUrl");function Vp(t){let e=t.match(/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?$/i);return e?{org:e[1],repo:e[2].replace(/\.git$/i,"")}:null}i(Vp,"parseGitSshGithub");function Jp(t){let e=t.match(/^git@gitlab\.com:(.+?)(?:\.git)?$/i);if(!e)return null;let n=e[1].replace(/\.git$/i,"").split("/").filter(Boolean);if(n.length<2)return null;let o=n[n.length-1];return {namespace:n.slice(0,-1).join("/"),project:o}}i(Jp,"parseGitSshGitlab");E();var rD=/^[A-Za-z]:[\\/]/,nD=/^[A-Za-z]:\//;function Nk(...t){return t.some(e=>e.includes("\\")||rD.test(e))?win32:posix}i(Nk,"pathApiFor");function Ui(t){return t.replace(/\\/g,"/")}i(Ui,"toPosixPath");function ji(t){return Ui(t).replace(/^\/+|\/+$/g,"")}i(ji,"normalizeInstallPathField");function Bl(t){let e=Ui(t);return e===""||e==="."||e==="./."?".":e.startsWith("./")||e.startsWith("../")||e.startsWith("/")||nD.test(e)?e:`./${e}`}i(Bl,"normalizeLocalSourceForYaml");function kn(t){return {...t,source:t.source_kind==="local"?Bl(t.source):t.source,...t.path!==void 0?{path:ji(t.path)}:{},...t.paths!==void 0?{paths:t.paths.map(e=>ji(e))}:{}}}i(kn,"normalizePersistedInstallPaths");function Dk(t,e,r){let n=Nk(t,e),o=n.normalize(t),s=n.normalize(e),a=ji(r),l=`${n.sep}.agentsmesh${n.sep}`,c=o.indexOf(l);if(c>=0){let u=o.slice(0,c),p=o.slice(c+l.length),d=ji(p),f=Ui(n.relative(s,u))||".";return {kind:"local",rawRef:"",pathInRepo:a||d.replace(/\.md$/i,"").replace(/\/$/,""),localRoot:u,localSourceForYaml:Bl(f)}}let m=Ui(n.relative(s,o))||".";return {kind:"local",rawRef:"",pathInRepo:a,localRoot:o,localSourceForYaml:Bl(m)}}i(Dk,"localParsedFromAbsPath");async function Yp(t,e,r){let n=t.trim(),o=r?.trim().replace(/\\/g,"/")??"";if(n.startsWith("git+")){let c=n.lastIndexOf("#"),m=c<0?n:n.slice(0,c),u=c<0?"HEAD":n.slice(c+1),p=m.slice(4);return {kind:"git",rawRef:u,gitPlusBase:p,gitRemoteUrl:p,pathInRepo:o}}if(n.startsWith("https://")||n.startsWith("http://")){let c=Up(n)??Wp(n);if(c)return {kind:"github",rawRef:c.ref,org:c.org,repo:c.repo,gitRemoteUrl:`https://github.com/${c.org}/${c.repo}.git`,pathInRepo:o||c.path};let m=Hp(n);if(m)return {kind:"github",rawRef:"HEAD",org:m.org,repo:m.repo,gitRemoteUrl:`https://github.com/${m.org}/${m.repo}.git`,pathInRepo:o};let u=Bp(n)??Kp(n);if(u)return {kind:"gitlab",rawRef:u.ref,org:u.namespace,repo:u.project,gitRemoteUrl:`https://gitlab.com/${u.namespace}/${u.project}.git`,pathInRepo:o||u.path};let p=zp(n);if(p)return {kind:"gitlab",rawRef:"HEAD",org:p.namespace,repo:p.project,gitRemoteUrl:`https://gitlab.com/${p.namespace}/${p.project}.git`,pathInRepo:o}}if(n.startsWith("git@github.com:")){let c=Vp(n);if(!c)throw new Error(`Invalid GitHub SSH URL: ${n}`);return {kind:"github",rawRef:"HEAD",org:c.org,repo:c.repo,gitRemoteUrl:`https://github.com/${c.org}/${c.repo}.git`,pathInRepo:o}}if(n.startsWith("git@gitlab.com:")){let c=Jp(n);if(!c)throw new Error(`Invalid GitLab SSH URL: ${n}`);return {kind:"gitlab",rawRef:"HEAD",gitRemoteUrl:`https://gitlab.com/${c.namespace}/${c.project}.git`,pathInRepo:o}}if(n.startsWith("git@")){let c=n.match(/^git@([^:]+):(.+?)(?:\.git)?$/);if(!c)throw new Error(`Invalid SSH git URL: ${n}`);let m=c[1],u=c[2].replace(/\.git$/i,"");return {kind:"git",rawRef:"HEAD",gitRemoteUrl:`ssh://git@${m}/${u}.git`,pathInRepo:o}}let s=n.match(/^github:([^/]+)\/(.+?)@([^/@]+)$/);if(s){let c=s[1],m=s[2];return {kind:"github",rawRef:s[3],org:c,repo:m,gitRemoteUrl:`https://github.com/${c}/${m}.git`,pathInRepo:o}}let a=n.match(/^gitlab:(.+)\/([^/@]+)@([^/@]+)$/);if(a){let c=a[1],m=a[2];return {kind:"gitlab",rawRef:a[3],org:c,repo:m,gitRemoteUrl:`https://gitlab.com/${c}/${m}.git`,pathInRepo:o}}let l=resolve(e,n);if(!await N(l))throw new Error(`Path does not exist: ${l}`);return Dk(l,e,o)}i(Yp,"parseInstallSource");E();E();var Fk=z$1.object({name:z$1.string().min(1),source:z$1.string().min(1),version:z$1.string().optional(),source_kind:z$1.enum(["github","gitlab","git","local"]),features:z$1.array(Co).min(1),pick:Fs.optional(),target:Qt.optional(),path:z$1.string().optional(),paths:z$1.array(z$1.string().min(1)).min(1).optional(),as:Cs.optional()}),lD=z$1.object({version:z$1.literal(1),installs:z$1.array(Fk).default([])});function cD(t,e){return t.length===e.length&&[...t].sort().every((r,n)=>r===[...e].sort()[n])}i(cD,"sameFeatures");function mD(t,e){return t.source===e.source&&t.target===e.target&&t.as===e.as&&cD(t.features,e.features)}i(mD,"sameInstallIdentity");function vk(t){return join(t,"installs.yaml")}i(vk,"manifestPath");async function Xp(t){let e=await y(vk(t));if(e===null)return [];try{return lD.parse(parse(e)).installs.map(r=>kn(r))}catch{return []}}i(Xp,"readInstallManifest");async function $k(t,e){let r=kn(e),o=(await Xp(t)).filter(s=>s.name!==r.name&&!mD(s,r));o.push(r),await S(vk(t),stringify({version:1,installs:o.sort((s,a)=>s.name.localeCompare(a.name))}));}i($k,"upsertInstallManifestEntry");function Mk(t){return kn(Fk.parse({name:t.name,source:t.source,version:t.version,source_kind:t.sourceKind,features:t.features,pick:t.pick,target:t.target,path:t.path,paths:t.paths,as:t.as}))}i(Mk,"buildInstallManifestEntry");async function pD(t){let e=await Xp(t.canonicalDir);if(e.length===0){_.info("No recorded installs found in .agentsmesh/installs.yaml.");return}let r=[];for(let n of e){let o=join(t.canonicalDir,"packs",n.name);await N(o)||r.push(n);}if(r.length===0){_.info("All recorded packs are already installed.");return}for(let n of r)await t.reinstall(n);_.success(`Reinstalled ${r.length} pack(s) from .agentsmesh/installs.yaml.`);}i(pD,"syncInstalledPacks");async function Gk(t){return t.sync?(await pD({canonicalDir:t.canonicalDir,reinstall:t.reinstall}),true):false}i(Gk,"maybeRunInstallSync");function jk(t){return {sync:t.sync===true,dryRun:t["dry-run"]===true,force:t.force===true,useExtends:t.extends===true,explicitPath:typeof t.path=="string"?t.path:void 0,explicitTarget:typeof t.target=="string"?t.target.trim():void 0,explicitAs:typeof t.as=="string"?Cs.parse(t.as.trim()):void 0,nameOverride:typeof t.name=="string"?t.name.trim():""}}i(jk,"readInstallFlags");function ho(t){let e=[];return t.skills.length&&e.push("skills"),t.rules.length&&e.push("rules"),t.commands.length&&e.push("commands"),t.agents.length&&e.push("agents"),t.mcp!==null&&e.push("mcp"),t.permissions!==null&&e.push("permissions"),t.hooks!==null&&e.push("hooks"),t.ignore.length&&e.push("ignore"),e}i(ho,"featuresFromCanonical");async function Kl(t){let{sliceRoot:e,implicitPick:r}=await Ol(t),n=await El(e);return {canonical:n,features:ho(n),implicitPick:r}}i(Kl,"discoverFromContentRoot");function Uk(t){return t.description.trim()?{skill:t,ok:true}:{skill:t,ok:false,reason:"missing description in frontmatter"}}i(Uk,"validateSkill");function Wk(t){return t.description.trim()?{rule:t,ok:true}:{rule:t,ok:false,reason:"missing description in frontmatter"}}i(Wk,"validateRule");function Bk(t){return t.description.trim()?{command:t,ok:true}:{command:t,ok:false,reason:"missing description in frontmatter"}}i(Bk,"validateCommand");function Kk(t){return t.description.trim()?{agent:t,ok:true}:{agent:t,ok:false,reason:"missing description in frontmatter"}}i(Kk,"validateAgent");function de(t){return basename(t.source).replace(/\.md$/i,"")}i(de,"ruleSlug");function fD(t){if(!t)return;let e=[];return t.skills!==void 0&&e.push("skills"),t.rules!==void 0&&e.push("rules"),t.commands!==void 0&&e.push("commands"),t.agents!==void 0&&e.push("agents"),e.length>0?e:void 0}i(fD,"featuresFromImplicitPick");function Os(t,e){let{implicitPick:r}=e,n=e.scopedFeatures??fD(r);if(!r&&!n)return t;let o=new Set(n??[]),s={...t,mcp:!n||o.has("mcp")?t.mcp:null,permissions:!n||o.has("permissions")?t.permissions:null,hooks:!n||o.has("hooks")?t.hooks:null,ignore:!n||o.has("ignore")?t.ignore:[]};if(r?.skills!==void 0){let a=new Set(r.skills);s={...s,skills:r.skills.length===0?[]:s.skills.filter(l=>a.has(l.name))};}else n&&!o.has("skills")&&(s={...s,skills:[]});if(r?.rules!==void 0){let a=new Set(r.rules);s={...s,rules:r.rules.length===0?[]:s.rules.filter(l=>a.has(de(l)))};}else n&&!o.has("rules")&&(s={...s,rules:[]});if(r?.commands!==void 0){let a=new Set(r.commands);s={...s,commands:r.commands.length===0?[]:s.commands.filter(l=>a.has(l.name))};}else n&&!o.has("commands")&&(s={...s,commands:[]});if(r?.agents!==void 0){let a=new Set(r.agents);s={...s,agents:r.agents.length===0?[]:s.agents.filter(l=>a.has(l.name))};}else n&&!o.has("agents")&&(s={...s,agents:[]});return s}i(Os,"narrowDiscoveredForInstallScope");E();E();F();var yD=new Set(["README.md","README.rst","README.txt","README","LICENSE","LICENSE.md","LICENSE.txt","LICENSE-MIT","LICENSE-APACHE","CONTRIBUTING.md","CHANGELOG.md","CODE_OF_CONDUCT.md","package.json","package-lock.json","pnpm-lock.yaml","yarn.lock",".gitignore",".gitattributes",".editorconfig",".DS_Store"]),ID=new Set([".git",".github",".gitlab","node_modules",".vscode",".idea"]);async function Hl(t){let e=await y(t);if(!e)return "";let{frontmatter:r}=w(e);return typeof r.name!="string"?"":r.name.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}i(Hl,"readSkillFrontmatterName");async function Hk(t,e){await cp(t,e,{recursive:true,filter:i(r=>{let n=relative(t,r).replace(/\\/g,"/");if(n==="")return true;let o=n.split("/")[0];return !(ID.has(o)||!n.includes("/")&&yD.has(n))},"filter")});}i(Hk,"cpFilteredSkill");async function kD(){let t=await mkdtemp(join(tmpdir(),"am-install-manual-")),e=join(t,"repo");return await k(join(e,".agentsmesh")),{discoveryRoot:e,cleanup:i(async()=>{await rm$1(t,{recursive:true,force:true});},"cleanup")}}i(kD,"createStageRoot");async function wD(t,e){if((await stat(t)).isFile()){if(!t.toLowerCase().endsWith(".md"))throw new Error(`Manual install only supports .md files for this collection: ${t}`);await k(e),await cp(t,join(e,basename(t)));return}let n=(await b(t)).filter(s=>s.toLowerCase().endsWith(".md"));if(n.length===0)throw new Error(`No .md files found under ${t} for manual install.`);let o=new Map;await k(e);for(let s of n){let a=basename(s),l=o.get(a);if(l)throw new Error(`Manual install found duplicate file name "${a}" under ${t} (${l} and ${s}).`);o.set(a,s),await cp(s,join(e,a));}}i(wD,"stageMarkdownCollection");async function zk(t,e,r){if(r.length===0)return false;let n=new Set(r),o=new Map;for(let s of await b(t)){if(!s.endsWith("/SKILL.md")&&!s.endsWith("\\SKILL.md"))continue;let a=dirname(s),l=basename(a);if(!n.has(l))continue;let c=o.get(l);if(c&&c!==a)throw new Error(`Manual skill replay found duplicate skill "${l}" under ${t} (${c} and ${a}).`);o.set(l,a);}if(o.size!==r.length)return false;await k(e);for(let s of r)await cp(o.get(s),join(e,s),{recursive:true});return true}i(zk,"stagePreferredSkills");async function OD(t,e,r={}){if((await stat(t)).isFile()){if(basename(t)!=="SKILL.md")throw new Error(`Manual skill install expects SKILL.md or a skill directory: ${t}`);let o=basename(dirname(t)),s=join(e,o);await k(s),await cp(dirname(t),s,{recursive:true});return}if(await mo(t)){if((await stat(join(t,"SKILL.md")).catch(()=>null))?.isFile()){if(await zk(t,e,r.preferredSkillNames??[]))return;let l=await Hl(join(t,"SKILL.md"))||basename(t),c=join(e,l);await k(e),await Hk(t,c);return}if(await zk(t,e,r.preferredSkillNames??[]))return;await k(e);let o=await b(t),s=new Set;for(let a of o.filter(l=>l.endsWith("/SKILL.md")||l.endsWith("\\SKILL.md")))s.add(relative(t,dirname(a)).split(/[\\/]/)[0]);for(let a of s)await cp(join(t,a),join(e,a),{recursive:true});return}throw new Error(`Manual skill install expects a skill directory or skills collection at ${t}.`)}i(OD,"stageSkills");async function Vk(t,e,r={}){let n=await kD();try{let o=join(n.discoveryRoot,".agentsmesh",e);return e==="skills"?await OD(t,o,r):await wD(t,o),n}catch(o){throw await n.cleanup(),o}}i(Vk,"stageManualInstallScope");async function Jk(t,e,r,n){let o=await Vk(t,e,{preferredSkillNames:e==="skills"?n?.skills:void 0}),{canonical:s}=await Kl(o.discoveryRoot),a=Os(s,{scopedFeatures:[e]});return {prep:{yamlTarget:r,scopedFeatures:[e],cleanup:o.cleanup},narrowed:a,discoveredFeatures:ho(a)}}i(Jk,"resolveManualDiscoveredForInstall");E();var ED=[{prefix:".gemini/commands",target:"gemini-cli"},{prefix:".github/instructions",target:"copilot"},{prefix:".github/copilot-instructions.md",target:"copilot"},{prefix:".github/copilot",target:"copilot"},{prefix:".github/prompts",target:"copilot"},{prefix:".github/skills",target:"copilot"},{prefix:".github/agents",target:"copilot"},{prefix:".github/hooks",target:"copilot"},{prefix:".claude/commands",target:"claude-code"},{prefix:".claude/rules",target:"claude-code"},{prefix:".claude/skills",target:"claude-code"},{prefix:".claude/agents",target:"claude-code"},{prefix:".cursor/commands",target:"cursor"},{prefix:".cursor/rules",target:"cursor"},{prefix:".cursor/agents",target:"cursor"},{prefix:".cursor/skills",target:"cursor"},{prefix:".continue/prompts",target:"continue"},{prefix:".continue/rules",target:"continue"},{prefix:".continue/skills",target:"continue"},{prefix:".junie/commands",target:"junie"},{prefix:".junie/rules",target:"junie"},{prefix:".junie/agents",target:"junie"},{prefix:".junie/skills",target:"junie"},{prefix:".kiro/steering",target:"kiro"},{prefix:".kiro/skills",target:"kiro"},{prefix:".cline/skills",target:"cline"},{prefix:".clinerules/workflows",target:"cline"},{prefix:".windsurf/rules",target:"windsurf"},{prefix:".codex",target:"codex-cli"}];function PD(t){return t.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"")}i(PD,"norm");function Vl(t){let e=PD(t),r=[...ED].sort((n,o)=>o.prefix.length-n.prefix.length);for(let{prefix:n,target:o}of r)if(e===n||e.startsWith(`${n}/`))return o}i(Vl,"targetHintFromNativePath");function qp(t,e){return Vl(t)===e}i(qp,"pathSupportsNativePick");function Yk(t,e){if(!t||!e)return;let r=Vl(e);if(r&&r!==t)throw new Error(`--target "${t}" does not match the install path (native path suggests "${r}"). Omit --target to auto-detect, or point at a subtree for that target.`)}i(Yk,"validateTargetMatchesPath");function Xk(t){return (t.commands?.length??0)+(t.rules?.length??0)+(t.skills?.length??0)+(t.agents?.length??0)>0}i(Xk,"extendPickHasArrays");E();E();dt();async function qk(t,e){let r=join(t,...vt.split("/")),n=join(t,...e.split("/")),o=await b(n),s=[];for(let a of o){if(!/\.(toml|md)$/i.test(a))continue;let l=relative(r,a).replace(/\\/g,"/");if(l.startsWith("..")||l==="")continue;let m=l.replace(/\.(toml|md)$/i,"").split("/").filter(Boolean).join(":");m&&s.push(m);}return [...new Set(s)].sort()}i(qk,"inferGeminiCommandNamesFromFiles");dt();re();E();async function yo(t){let e=await b(t),r=new Set;for(let n of e){if(basename(n)==="SKILL.md"){r.add(basename(dirname(n)));continue}!relative(t,n).replace(/\\/g,"/").includes("/")&&n.toLowerCase().endsWith(".md")&&r.add(basename(n,".md"));}return [...r].filter(Boolean).sort()}i(yo,"skillNamesFromNativeSkillDir");E();Vt();async function Qk(t,e){let r=join(t,...e.split("/"));if(e.startsWith(be)){let n=await b(r),o=[...new Set(n.filter(s=>s.toLowerCase().endsWith(".prompt.md")).map(s=>basename(s,".prompt.md")))].sort();return o.length?{commands:o}:{}}if(e.startsWith(".github/copilot")&&!e.includes("copilot-instructions.md")){let n=await b(r),o=[...new Set(n.filter(s=>s.includes(".instructions.md")).map(s=>basename(s).replace(/\.instructions\.md$/i,"")))].sort();return o.length?{rules:o}:{}}if(e.startsWith(".github/instructions")){let n=await b(r),o=new Set;for(let a of n){let l=basename(a);l.toLowerCase().endsWith(".instructions.md")?o.add(l.replace(/\.instructions\.md$/i,"")):l.toLowerCase().endsWith(".md")&&o.add(basename(a,".md"));}let s=[...o].sort();return s.length?{rules:s}:{}}if(e.startsWith(".github/skills")){let n=await yo(r);return n.length?{skills:n}:{}}if(e.startsWith(".github/agents")){let n=await b(r),o=[...new Set(n.filter(s=>s.toLowerCase().endsWith(".agent.md")).map(s=>basename(s,".agent.md")))].sort();return o.length?{agents:o}:{}}return {}}i(Qk,"inferCopilotPickFromPath");async function Xt(t,e){let r=await b(t),n=e.toLowerCase();return [...new Set(r.filter(o=>o.toLowerCase().endsWith(n)).map(o=>basename(o,e)))].sort()}i(Xt,"mdNames");async function ew(t,e,r){let n=e.replace(/\\/g,"/").replace(/^\/+|\/+$/g,""),o=join(t,...n.split("/"));if(r==="gemini-cli"){if(n===vt||n.startsWith(`${vt}/`)){let s=await qk(t,n);return s.length?{commands:s}:{}}return {}}if(r==="claude-code"){if(n.startsWith(".claude/commands")){let s=await Xt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".claude/rules")){let s=await Xt(o,".md");return s.length?{rules:s}:{}}if(n.startsWith(".claude/agents")){let s=await Xt(o,".md");return s.length?{agents:s}:{}}if(n.startsWith(".claude/skills/")){let a=n.replace(/^\.claude\/skills\/?/,"").split("/").filter(Boolean)[0];return a?{skills:[a]}:{}}return {}}if(r==="cursor"){if(n.startsWith(".cursor/rules")){let s=await Xt(o,".mdc");return s.length?{rules:s}:{}}if(n.startsWith(".cursor/commands")){let s=await Xt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".cursor/agents")){let s=await Xt(o,".md");return s.length?{agents:s}:{}}if(n.startsWith(".cursor/skills")){let s=await yo(o);return s.length?{skills:s}:{}}return {}}if(r==="copilot")return Qk(t,n);if(r==="windsurf"&&n.startsWith(".windsurf/rules")){let s=await Xt(o,".md");return s.length?{rules:s}:{}}if(r==="cline"){if(n.startsWith(yt)){let s=await yo(o);return s.length?{skills:s}:{}}if(n.startsWith(Be)){let s=await Xt(o,".md");return s.length?{commands:s}:{}}return {}}if(r==="continue"){if(n.startsWith(".continue/rules")){let s=await Xt(o,".md");return s.length?{rules:s}:{}}if(n.startsWith(".continue/prompts")){let s=await Xt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".continue/skills")){let s=await yo(o);return s.length?{skills:s}:{}}return {}}if(r==="junie"){if(n.startsWith(".junie/commands")){let s=await Xt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".junie/rules")){let s=await Xt(o,".md");return s.length?{rules:s}:{}}if(n.startsWith(".junie/agents")){let s=await Xt(o,".md");return s.length?{agents:s}:{}}if(n.startsWith(".junie/skills")){let s=await yo(o);return s.length?{skills:s}:{}}return {}}if(r==="codex-cli"&&n.startsWith(".codex")){let s=await b(o),a=[...new Set(s.filter(l=>l.toLowerCase().endsWith(".md")).map(l=>basename(l,".md")))].sort();return a.length?{rules:a}:{}}return {}}i(ew,"inferImplicitPickFromNativePath");function rw(t){return (t.commands?.length??0)+(t.rules?.length??0)+(t.skills?.length??0)+(t.agents?.length??0)===0}i(rw,"isImplicitPickEmpty");function Ki(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}i(Ki,"normalizePath");function $D(t,e){let r=Ki(t),n=Ki(e);return r===n||r.startsWith(`${n}/`)||n.startsWith(`${r}/`)}i($D,"overlapsPath");function Jl(t,e){let r=t??[];return r.includes(e)||r.push(e),r}i(Jl,"addUnique");async function MD(t){let e=await mkdtemp(join(tmpdir(),"am-install-native-")),r=join(e,"repo"),n=i(async()=>{await rm$1(e,{recursive:true,force:true});},"cleanup");try{return await cp(t,r,{recursive:!0}),{stageRoot:r,cleanup:n}}catch(o){throw await n(),o}}i(MD,"makeStageRoot");function GD(t,e){let r;for(let o of t){if(o.feature==="rules"&&o.toPath.startsWith(".agentsmesh/rules/")){r={...r,rules:Jl(r?.rules,basename(o.toPath,".md"))};continue}if(o.feature==="commands"&&o.toPath.startsWith(".agentsmesh/commands/")){let s=Ki(relative(join(e,".agentsmesh","commands"),join(e,o.toPath)));r={...r,commands:Jl(r?.commands,s.replace(/\.md$/i,"").split("/").filter(Boolean).join(":"))};continue}if(o.feature==="agents"&&o.toPath.startsWith(".agentsmesh/agents/")){r={...r,agents:Jl(r?.agents,basename(o.toPath,".md"))};continue}if(o.feature==="skills"&&o.toPath.startsWith(".agentsmesh/skills/")){let a=Ki(relative(join(e,".agentsmesh","skills"),join(e,o.toPath))).split("/")[0];a&&(r={...r,skills:Jl(r?.skills,a)});}}return r&&(r.rules?.length??0)+(r.commands?.length??0)+(r.agents?.length??0)+(r.skills?.length??0)>0?r:void 0}i(GD,"buildPickFromResults");function jD(t,e,r,n){let o=join(e,...Ki(t).split("/")),s=r.filter(a=>$D(o,a.fromPath));if(s.length===0)throw new Error(`No installable native resources found under "${t}" for target "${n}".`);return {features:[...new Set(s.map(a=>a.feature))],pick:GD(s,e)}}i(jD,"scopeImportedResults");async function td(t,e){let{stageRoot:r,cleanup:n}=await MD(t);try{let o=await bi(r,e);return {stageRoot:r,results:o,cleanup:n}}catch(o){throw await n(),o}}i(td,"stageImportedNativeRepo");async function ed(t,e,r){let n=await td(t,r);try{return {stageRoot:n.stageRoot,cleanup:n.cleanup,...jD(e,n.stageRoot,n.results,r)}}catch(o){throw await n.cleanup(),o}}i(ed,"stageNativeInstallScope");async function iw(t,e,r,n){let o=n.explicitTarget?.trim();o&&Qt.parse(o);let s=r.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"");Yk(o,s);let a=join(t,".agentsmesh"),l=await N(a),c=s?Vl(s):void 0,m=!l&&!o?await sa(t)??void 0:void 0;if(!o&&c&&m&&c!==m)throw new Error(`Install path suggests native layout "${c}" but auto-detect imported "${m}". Use --target ${c} for this path, or install from the repo root without a conflicting subtree path.`);let u=o??c??m,p=!!s&&!!u&&!s.startsWith(".agentsmesh");if(!l&&u){if(p){let O=await ed(t,s,u);return {discoveryRoot:O.stageRoot,implicitPick:O.pick,scopedFeatures:O.features,yamlTarget:u,importHappened:true,cleanup:O.cleanup}}let I=await td(t,u);return {discoveryRoot:s?join(I.stageRoot,s):I.stageRoot,yamlTarget:u,importHappened:true,cleanup:I.cleanup}}let d;l?s?u&&qp(s,u)?d=t:d=e:d=t:d=e;let f,h,C;if(p&&u){let I=await ed(t,s,u);d=I.stageRoot,f=I.pick,h=I.features,C=I.cleanup;}else if(d===t&&s&&u&&qp(s,u)&&(f=await ew(t,s,u),rw(f)))throw new Error(`No installable native resources found under "${s}" for target "${u}".`);let R;return o?R=o:u&&(f&&Xk(f)||(h?.length??0)>0)&&(R=u),{discoveryRoot:d,implicitPick:f,scopedFeatures:h,yamlTarget:R,importHappened:C!==void 0,cleanup:C}}i(iw,"prepareInstallDiscovery");async function aw(t,e,r,n){let o=await iw(t,e,r,{explicitTarget:n}),{canonical:s,implicitPick:a}=await Kl(o.discoveryRoot),l=a??o.implicitPick,c=Os(s,{implicitPick:l,scopedFeatures:o.scopedFeatures}),m=ho(c);return {prep:o,discovered:s,implicitPick:l,narrowed:c,discoveredFeatures:m}}i(aw,"resolveDiscoveredForInstall");async function lw(t){return t.explicitAs?{implicitPick:void 0,...await Jk(t.contentRoot,t.explicitAs,t.explicitTarget,t.replayPick)}:aw(t.resolvedPath,t.contentRoot,t.pathInRepo,t.explicitTarget)}i(lw,"resolveInstallDiscovery");function Ps(t){return t==="."||t===""?void 0:t}i(Ps,"trimDot");function WD(t,e){let r=basename(e).replace(/\.md$/i,"");return t==="agents"?{agents:[r]}:t==="commands"?{commands:[r]}:{rules:[r]}}i(WD,"markdownPick");async function mw(t){if(!t.as)return {pathInRepo:Ps(t.pathInRepo)};let e=t.pathInRepo.replace(/^\/+|\/+$/g,""),r=await stat(t.contentRoot);if(t.as!=="skills"&&r.isFile()&&t.contentRoot.toLowerCase().endsWith(".md"))return {pathInRepo:Ps(dirname(e)),pick:WD(t.as,e||t.contentRoot)};if(t.as==="skills"){if(r.isFile()&&basename(t.contentRoot)==="SKILL.md"){let n=e?dirname(e):dirname(t.contentRoot);return {pathInRepo:Ps(dirname(n)),pick:{skills:[basename(n)]}}}if(r.isDirectory()){let n=e||basename(t.contentRoot),o=join(t.contentRoot.replace(/\/+$/g,""),"SKILL.md");try{if((await stat(o)).isFile()){let a=await Hl(o);return {pathInRepo:Ps(dirname(n)),pick:{skills:[a||basename(n)]}}}}catch{return {pathInRepo:Ps(e)}}}}return {pathInRepo:Ps(e)}}i(mw,"resolveManualInstallPersistence");async function gr(t){return process.stdin.isTTY?new Promise(e=>{let r=uw.createInterface({input:process.stdin,output:process.stdout});r.question(`${t} (y/n) `,n=>{r.close();let o=n.trim().toLowerCase();e(o==="y"||o==="yes");});}):false}i(gr,"confirm");function BD(t){return !!(t.skills.length||t.rules.length||t.commands.length||t.agents.length)}i(BD,"hasArrayResources");function pw(t){return BD(t)||t.mcp!==null||t.permissions!==null||t.hooks!==null||t.ignore.length>0}i(pw,"hasInstallableResources");async function dw(t,e,r,n){let o=t.skills.map(l=>Uk(l)),s=o.filter(l=>l.ok).map(l=>l.skill),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await gr(`Include invalid skill "${l.skill.name}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.skill);else e&&(s=o.map(l=>l.skill));return r&&(s=o.filter(l=>l.ok).map(l=>l.skill)),s}i(dw,"resolveSkillPool");async function fw(t,e,r,n){let o=t.rules.map(l=>Wk(l)),s=o.filter(l=>l.ok).map(l=>l.rule),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await gr(`Include invalid rule "${de(l.rule)}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.rule);else e&&(s=o.map(l=>l.rule));return r&&(s=o.filter(l=>l.ok).map(l=>l.rule)),s}i(fw,"resolveRulePool");async function gw(t,e,r,n){let o=t.commands.map(l=>Bk(l)),s=o.filter(l=>l.ok).map(l=>l.command),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await gr(`Include invalid command "${l.command.name}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.command);else e&&(s=o.map(l=>l.command));return r&&(s=o.filter(l=>l.ok).map(l=>l.command)),s}i(gw,"resolveCommandPool");async function hw(t,e,r,n){let o=t.agents.map(l=>Kk(l)),s=o.filter(l=>l.ok).map(l=>l.agent),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await gr(`Include invalid agent "${l.agent.name}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.agent);else e&&(s=o.map(l=>l.agent));return r&&(s=o.filter(l=>l.ok).map(l=>l.agent)),s}i(hw,"resolveAgentPool");async function yw(t,e){let r=e.skills.map(a=>a.name),n=e.rules.map(a=>de(a)),o=e.commands.map(a=>a.name),s=e.agents.map(a=>a.name);for(let a of e.skills)t.skills.some(l=>l.name===a.name)&&(await gr(`Skill "${a.name}" already exists in merged config. Add extend anyway?`)||(r=r.filter(c=>c!==a.name)));for(let a of e.rules){let l=de(a);t.rules.some(c=>de(c)===l)&&(await gr(`Rule "${l}" already exists in merged config. Add extend anyway?`)||(n=n.filter(m=>m!==l)));}for(let a of e.commands)t.commands.some(l=>l.name===a.name)&&(await gr(`Command "${a.name}" already exists in merged config. Add extend anyway?`)||(o=o.filter(c=>c!==a.name)));for(let a of e.agents)t.agents.some(l=>l.name===a.name)&&(await gr(`Agent "${a.name}" already exists in merged config. Add extend anyway?`)||(s=s.filter(c=>c!==a.name)));return {skillNames:r,ruleSlugs:n,commandNames:o,agentNames:s}}i(yw,"resolveInstallConflicts");function Iw(t,e){if(!t)return;let r={},n=t.skills?.filter(l=>e.skillNames.includes(l)),o=t.rules?.filter(l=>e.ruleSlugs.includes(l)),s=t.commands?.filter(l=>e.commandNames.includes(l)),a=t.agents?.filter(l=>e.agentNames.includes(l));return n&&n.length>0&&(r.skills=n),o&&o.length>0&&(r.rules=o),s&&s.length>0&&(r.commands=s),a&&a.length>0&&(r.agents=a),Object.keys(r).length>0?r:void 0}i(Iw,"pickForSelectedResources");function KD(t,e){let r=t.split("/").filter(Boolean);return r.length>0&&r[r.length-1]===e}i(KD,"pathEndsWithName");function Yl(t,e,r){return r!==1||e.length!==1?false:KD(t,e[0])}i(Yl,"inferSingleNamePick");function Sw(t){let{pathInRepo:e,implicitPick:r,preConflictCounts:n,selected:o}=t,s={},a=o.skillNames.length>0&&(!!r?.skills?.length||o.skillNames.length<n.skills||Yl(e,o.skillNames,n.skills)),l=o.ruleSlugs.length>0&&(!!r?.rules?.length||o.ruleSlugs.length<n.rules||Yl(e,o.ruleSlugs,n.rules)),c=o.commandNames.length>0&&(!!r?.commands?.length||o.commandNames.length<n.commands||Yl(e,o.commandNames,n.commands)),m=o.agentNames.length>0&&(!!r?.agents?.length||o.agentNames.length<n.agents||Yl(e,o.agentNames,n.agents));return a&&(s.skills=[...o.skillNames]),l&&(s.rules=[...o.ruleSlugs]),c&&(s.commands=[...o.commandNames]),m&&(s.agents=[...o.agentNames]),Object.keys(s).length?s:void 0}i(Sw,"buildInstallPick");function _w(t,e){let r=new Set(t);return e.skillNames.length===0&&r.delete("skills"),e.ruleSlugs.length===0&&r.delete("rules"),e.commandNames.length===0&&r.delete("commands"),e.agentNames.length===0&&r.delete("agents"),[...r]}i(_w,"deriveInstallFeatures");function HD(t){return t.skillNames.length===0&&t.ruleSlugs.length===0&&t.commandNames.length===0&&t.agentNames.length===0}i(HD,"isEmptyInstallSelection");function Cw(t){let{selected:e,discoveredFeatures:r,preConflict:n}=t,o=i(l=>r.includes(l),"had"),s=o("skills")&&e.skillNames.length===0&&n.skills>0&&"skills"||o("rules")&&e.ruleSlugs.length===0&&n.rules>0&&"rules"||o("commands")&&e.commandNames.length===0&&n.commands>0&&"commands"||o("agents")&&e.agentNames.length===0&&n.agents>0&&"agents";if(s)throw new Error(`No ${s} selected to install.`);let a=r.some(l=>["mcp","permissions","hooks","ignore"].includes(l));if(HD(e)&&!a)throw new Error("No resources selected to install.")}i(Cw,"ensureInstallSelection");function Rw(t,e){if(t.find(n=>n.name===e.name&&n.source!==e.source))throw new Error(`Extends entry "${e.name}" already exists with a different source. Use --name to provide a different name.`)}i(Rw,"assertExtendNameAvailable");function zD(t,e,r){if(r===void 0){if(!t)return;let o={...t};for(let s of ["skills","commands","rules","agents"])e.includes(s)&&delete o[s];return Object.keys(o).length?o:void 0}let n={...t};for(let o of ["skills","commands","rules","agents"]){if(!(o in r))continue;let s=r[o];if(s===void 0||s.length===0){delete n[o];continue}n[o]=[...new Set([...t?.[o]??[],...s])];}return Object.keys(n).length?n:void 0}i(zD,"mergePick");function kw(t,e){let r=t.findIndex(a=>a.source===e.source);if(r<0)return [...t,{name:e.name,source:e.source,version:e.version,features:e.features,path:e.path,pick:e.pick,target:e.target}];let n=t[r],o=[...new Set([...n.features,...e.features])],s=zD(n.pick,e.features,e.pick);return t.map((a,l)=>l===r?{name:e.name,source:e.source,version:e.version??n.version,features:o,path:e.path!==void 0?e.path:n.path,pick:s,target:e.target??n.target}:a)}i(kw,"mergeExtendList");E();async function ww(t,e,r){let n=await y(t);if(n===null)throw new Error(`Missing config: ${t}`);let o=parse(n),s=kw(e.extends,r);o.extends=s;let a=stringify(o,{indent:2,lineWidth:0});await S(t,a.endsWith(`
284
+ `);}i(uD,"appendToGitignore");async function Nk(t,e={}){let r=e.global===true?"global":"project",n=Es(t,r),o=join(n.configDir,$i);if(await L(o))throw new Error(`Already initialized. ${$i} exists. Remove it first to re-init.`);let s=await xk(n.rootBase,r),a=r==="global"?s.filter(m=>Lk.includes(m)):s,l=r==="global"?Lk:void 0;if(a.length>0)if(y.info(`Found existing configurations: ${a.join(", ")}`),e.yes){y.info("Auto-importing existing configurations (--yes)...");let m=0;for(let u of a){let p=cD[u];if(!p)continue;let d=await p(n.rootBase,r);for(let g of d){let h=relative(n.rootBase,g.fromPath).replaceAll("\\","/"),R=g.toPath.replaceAll("\\","/");y.success(` ${h} \u2192 ${R}`);}m+=d.length;}m>0&&y.info(`Imported ${m} file(s) from ${a.length} tool(s).`),await Ak(n.canonicalDir),await _(o,Hl(a,l)),y.success(`Created ${$i} (targets: ${a.join(", ")})`);}else y.info("Run 'agentsmesh init --yes' to auto-import, or 'agentsmesh import --from <tool>' manually."),await Vp(n.canonicalDir),await _(o,Hl([],l)),y.success(`Created ${$i}`);else await Vp(n.canonicalDir),await _(o,Hl([],l)),y.success(`Created ${$i}`);let c=join(n.configDir,Tk);await _(c,Ok),y.success(`Created ${Tk}`),r==="project"&&(await uD(t),y.success("Updated .gitignore"));}i(Nk,"runInit");rt();var pD=Object.fromEntries(Ct.map(t=>[t.id,{importFrom:t.generators.importFrom,emptyImportMessage:t.emptyImportMessage,lintRules:t.lintRules,lint:t.lint,capabilities:t.capabilities}]));function Vl(t){let e=pD[t];if(!e)throw new Error(`Unknown target: ${t}`);return e}i(Vl,"getTargetCatalogEntry");sr();function Dk(t,e,r){for(let n of t){let o=relative(e,n.fromPath);y.success(`${o} \u2192 ${n.toPath}`);}y.info(`Imported ${t.length} file(s). Run 'agentsmesh generate${r==="global"?" --global":""}' to sync to other tools.`);}i(Dk,"formatImportResults");async function Fk(t,e){let r=e??process.cwd(),n=t.from;if(typeof n!="string"||!n)throw new Error("--from is required. Example: agentsmesh import --from claude-code");let o=n.toLowerCase().trim(),s=t.global===true?"global":"project";if(Mr(o)){let u=Es(r,s),p=Vl(o),d=await p.importFrom(u.rootBase,{scope:s});if(d.length===0){y.info(p.emptyImportMessage);return}Dk(d,u.rootBase,s);return}let a,l;try{({config:a,context:l}=await at(r,s));}catch{throw new Error(`Unknown --from "${n}" and no agentsmesh.yaml found. Run 'agentsmesh init' to enable plugin targets, or use a builtin: ${ht.join(", ")}.`)}await ie(a,r);let c=Z(o);if(!c)throw new Error(`Unknown --from "${n}". Supported: ${[...ht,...a.pluginTargets??[]].join(", ")}.`);let m=await c.generators.importFrom(l.rootBase,{scope:s});if(m.length===0){y.info(c.emptyImportMessage);return}Dk(m,l.rootBase,s);}i(Fk,"runImport");function $k(t){let e=[],r={new:0,updated:0,unchanged:0,deleted:0};for(let n of t){if(n.status==="unchanged"){r.unchanged++;continue}if(n.status==="created"){r.new++;let o=createTwoFilesPatch(`${n.path} (current)`,`${n.path} (generated)`,"",n.content,void 0,void 0,{context:3});e.push({path:n.path,patch:o});continue}if(n.status==="updated"&&n.currentContent!==void 0){r.updated++;let o=createTwoFilesPatch(`${n.path} (current)`,`${n.path} (generated)`,n.currentContent,n.content,void 0,void 0,{context:3});e.push({path:n.path,patch:o});continue}}return {diffs:e,summary:r}}i($k,"computeDiff");function Mk(t){return `${t.new} files would be created, ${t.updated} updated, ${t.unchanged} unchanged, ${t.deleted} deleted`}i(Mk,"formatDiffSummary");async function Gk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",o=t.targets,s=typeof o=="string"&&o?o.split(",").map(d=>d.trim()).filter(Boolean):void 0,{config:a,context:l}=await at(r,n);await ie(a,r);let{canonical:c}=await se(a,l.configDir,{},l.canonicalDir),m=await Bl({config:a,canonical:c,projectRoot:l.rootBase,scope:n,targetFilter:s});if(m.length===0){y.info("No files to generate (no root rule or rules feature disabled).");return}let{diffs:u,summary:p}=$k(m);for(let d of u)process.stdout.write(d.patch);y.info(Mk(p));}i(Gk,"runDiff");E();sr();Cn();Wt();var fD=[{canonicalKey:"permissions",capabilityKey:"permissions",featureFlag:"permissions",file:".agentsmesh/permissions.yaml",label:"permissions",hasContent:i(t=>{let e=t.permissions;if(!e)return false;let r=e.ask?.length??0;return e.allow.length+e.deny.length+r>0},"hasContent")},{canonicalKey:"hooks",capabilityKey:"hooks",featureFlag:"hooks",file:".agentsmesh/hooks.yaml",label:"hooks",hasContent:i(t=>{let e=t.hooks;return e?Object.values(e).some(r=>Array.isArray(r)&&r.length>0):false},"hasContent")},{canonicalKey:"mcp",capabilityKey:"mcp",featureFlag:"mcp",file:".agentsmesh/mcp.json",label:"MCP servers",hasContent:i(t=>{let e=t.mcp;return e?Object.keys(e.mcpServers).length>0:false},"hasContent")},{canonicalKey:"commands",capabilityKey:"commands",featureFlag:"commands",file:".agentsmesh/commands",label:"commands",hasContent:i(t=>t.commands.length>0,"hasContent")},{canonicalKey:"agents",capabilityKey:"agents",featureFlag:"agents",file:".agentsmesh/agents",label:"agents",hasContent:i(t=>t.agents.length>0,"hasContent")},{canonicalKey:"skills",capabilityKey:"skills",featureFlag:"skills",file:".agentsmesh/skills",label:"skills",hasContent:i(t=>t.skills.length>0,"hasContent")},{canonicalKey:"ignore",capabilityKey:"ignore",featureFlag:"ignore",file:".agentsmesh/ignore",label:"ignore patterns",hasContent:i(t=>t.ignore.length>0,"hasContent")}];function jk(t){let e=new Set(t.enabledFeatures),r=[];for(let n of fD)!e.has(n.featureFlag)||!n.hasContent(t.canonical)||ue(t.capabilities[n.capabilityKey]).level!=="none"||r.push(V(n.file,t.target,`${t.target} does not support ${n.label}; canonical entries are silently dropped during generation. Disable the feature for this target or remove the canonical content.`));return r}i(jk,"lintSilentFeatureDrops");Wt();var gD=/^(?:\s*(?:bash|sh|zsh|pwsh|powershell)\s+)?["']?(?<path>(?:\.{1,2}\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?:\s|$)/;function hD(t){let r=t.match(gD)?.groups?.path;return typeof r=="string"?r:null}i(hD,"extractScriptToken");function Uk(t){if(t.hasScriptProjection)return [];let e=t.canonical.hooks;if(!e)return [];let r=[];for(let n of Object.values(e))if(Array.isArray(n))for(let o of n){if(typeof o?.command!="string")continue;let s=hD(o.command);s&&r.push(V(".agentsmesh/hooks.yaml",t.target,`${t.target} hook command references script "${s}"; agentsmesh does not copy hook scripts into ${t.target} output, so the script must already exist relative to the hook execution directory or the generated config will fail.`));}return r}i(Uk,"lintHookScriptReferences");Wt();function Wk(t){if(t.preservesManualActivation)return [];let e=[];for(let r of t.canonical.rules)r.root||r.trigger==="manual"&&(r.targets.length>0&&!r.targets.includes(t.target)||e.push(V(r.source,t.target,`Rule has trigger: 'manual' (Cursor-style "@-mention only" activation), but ${t.target} loads every rule unconditionally. The rule will become always-on for ${t.target} \u2014 restrict it with \`targets: [cursor]\`, convert it to a skill with manual invocation, or remove it.`)));return e}i(Wk,"lintRuleScopeInversion");var yD=["node_modules",".git","dist","coverage",".agentsmesh"];async function ID(t){return (await P(t)).filter(n=>{let o=relative(t,n);return !yD.some(s=>o.includes(`/${s}/`)||o.startsWith(`${s}/`))}).map(n=>relative(t,n))}i(ID,"getProjectFiles");async function Kk(t,e,r,n,o={}){let s=o.scope??"project",a=[...t.targets,...t.pluginTargets??[]],l=n?a.filter(C=>n.includes(C)):a,c=t.features.includes("rules"),m=t.features.includes("commands"),u=t.features.includes("mcp"),p=t.features.includes("permissions"),d=t.features.includes("hooks"),g=[],h=s==="global"?[]:await ID(r);for(let C of l){let S=Z(C),w=Mr(C)?Vl(C):S;w?.capabilities&&g.push(...jk({target:C,capabilities:w.capabilities,canonical:e,enabledFeatures:t.features})),d&&g.push(...Uk({target:C,canonical:e,hasScriptProjection:S?.postProcessHookOutputs!==void 0})),c&&g.push(...Wk({target:C,canonical:e,preservesManualActivation:S?.preservesManualActivation===true})),c&&w?.lintRules&&g.push(...w.lintRules(e,r,h,{scope:s})),S?.generators.lint&&g.push(...S.generators.lint(e));let D={scope:s};m&&w?.lint?.commands&&g.push(...w.lint.commands(e,D)),u&&w?.lint?.mcp&&g.push(...w.lint.mcp(e,D)),p&&w?.lint?.permissions&&g.push(...w.lint.permissions(e,D)),d&&w?.lint?.hooks&&g.push(...w.lint.hooks(e,D));}let R=g.some(C=>C.level==="error");return {diagnostics:g,hasErrors:R}}i(Kk,"runLint");async function Hk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",o=t.targets,s=typeof o=="string"&&o?o.split(",").map(R=>R.trim()).filter(Boolean):void 0,{config:a,context:l}=await at(r,n);await ie(a,r);let{canonical:c}=await se(a,l.configDir,{},l.canonicalDir),{diagnostics:m,hasErrors:u}=await Kk(a,c,l.configDir,s,{scope:n});if(m.length===0)return y.success("All checks passed."),0;let p=m.filter(R=>R.level==="error"),d=m.filter(R=>R.level==="warning");if(p.length>0)for(let R of p)y.error(`${R.file} (${R.target}): ${R.message}`);if(d.length>0)for(let R of d)y.warn(`${R.file} (${R.target}): ${R.message}`);let g=p.length,h=d.length;return y.info(`${g} error${g!==1?"s":""}, ${h} warning${h!==1?"s":""}`),u?1:0}i(Hk,"runLintCmd");var RD=300;function CD(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}i(CD,"normalizeWatchPath");function kD(t,e,r){let n=CD(relative(t,e));return n===".lock"||n===".lock.tmp"||n===".generate.lock"||n.endsWith("/.lock")||n.endsWith("/.lock.tmp")||n.endsWith("/.generate.lock")||n.includes("/.generate.lock/")||n.startsWith(".generate.lock/")}i(kD,"shouldIgnoreWatchPath");function wD(t,e,r,n,o,s,a,l,c){return JSON.stringify({features:t,rulesCount:e,commandsCount:r,agentsCount:n,skillsCount:o,mcpServerCount:s,permissionsCount:a,hooksCount:l,ignoreCount:c})}i(wD,"featureFingerprint");async function Vk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{context:o}=await at(r,n),s=[o.canonicalDir,join(o.configDir,"agentsmesh.yaml"),join(o.configDir,"agentsmesh.local.yaml")],a=null,l=null,c=false,m=null,p=i(async()=>{if(c)return;a=null;let{config:R,context:C}=await at(r,n),{canonical:S}=await se(R,C.configDir,{},C.canonicalDir),w=S.mcp?Object.keys(S.mcp.mcpServers).length:0,D=S.permissions?S.permissions.allow.length+S.permissions.deny.length:0,b=S.hooks?Object.values(S.hooks).reduce((W,q)=>W+(Array.isArray(q)?q.length:0),0):0,x=S.ignore.length,K=wD(R.features,S.rules.length,S.commands.length,S.agents.length,S.skills.length,w,D,b,x),M=l!==null&&l!==K;l=K,!c&&(await ds(t,r,{printMatrix:false}),!c&&(M?await oo(t,r):y.info("Regenerated.")));},"run"),d=i(()=>{let R=p().catch(C=>{if(!c){let S=C instanceof Error?C.message:String(C);y.error(S);}}).finally(()=>{m===R&&(m=null);});m=R;},"scheduleRun"),g=i(()=>{c||(a&&clearTimeout(a),a=setTimeout(d,RD));},"schedule"),h=_D.watch(s,{ignoreInitial:true,usePolling:process.platform==="win32"});return h.on("all",(R,C)=>{kD(o.canonicalDir,C)||g();}),await new Promise((R,C)=>{h.once("ready",R),h.once("error",C);}),y.info(n==="global"?"Watching ~/.agentsmesh/ and agentsmesh.yaml...":"Watching .agentsmesh/ and agentsmesh.yaml..."),m=p(),await m,m=null,{stop:i(async()=>{c=true,a&&(clearTimeout(a),a=null),await h.close(),m&&await m;},"stop")}}i(Vk,"runWatch");async function Jk(t){let{config:e,configDir:r,canonicalDir:n}=t,o=await vl(n);if(o===null)return {inSync:false,hasLock:false,modified:[],added:[],removed:[],extendsModified:[],lockedViolations:[]};let s=await vr(n),a=await fo(e,r),l=a.length>0?await eo(a):{},c=new Set(Object.keys(o.checksums)),m=new Set(Object.keys(s)),u=[],p=[],d=[];for(let S of c){let w=s[S];w===void 0?d.push(S):w!==o.checksums[S]&&u.push(S);}for(let S of m)c.has(S)||p.push(S);let g=new Set([...Object.keys(o.extends),...Object.keys(l)]),h=[];for(let S of g)l[S]!==o.extends[S]&&h.push(S);let R=$l(o.checksums,s,e.collaboration?.lock_features??[]);return {inSync:u.length===0&&p.length===0&&d.length===0&&h.length===0,hasLock:true,modified:u,added:p,removed:d,extendsModified:h,lockedViolations:R}}i(Jk,"checkLockSync");async function Yk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{config:o,context:s}=await at(r,n);await ie(o,r);let a=await Jk({config:o,configDir:s.configDir,canonicalDir:s.canonicalDir});if(!a.hasLock)return y.error("Not initialized for collaboration. Run 'agentsmesh generate' first."),1;if(a.inSync)return y.success("Lock file is in sync."),0;let l=new Set(a.lockedViolations);y.error("Conflict detected:");for(let c of a.extendsModified)y.error(` extend "${c}" was modified`);for(let c of a.modified){let m=l.has(c)?" [LOCKED]":"";y.error(` ${c} was modified${m}`);}for(let c of a.added){let m=l.has(c)?" [LOCKED]":"";y.error(` ${c} was added${m}`);}for(let c of a.removed){let m=l.has(c)?" [LOCKED]":"";y.error(` ${c} was removed${m}`);}return y.info("Run 'agentsmesh merge' to resolve, or 'agentsmesh generate --force' to accept current state."),1}i(Yk,"runCheck");E();var ED=".lock",bD="<<<<<<<";async function Yp(t){let e=join(t,ED),r=await I(e);return r===null?false:r.includes(bD)}i(Yp,"hasLockConflict");async function Zk(t,e,r){if(!await Yp(t))throw new Error("No conflict to resolve.");let o=await vr(t),s=dirname(t),a=r?await fo(r,s):[],l=a.length>0?await eo(a):{},c=await Ni(join(t,"packs")),m=process.env.USER??process.env.USERNAME??"unknown";await Li(t,{generatedAt:new Date().toISOString(),generatedBy:m,libVersion:e,checksums:o,extends:l,packs:c});}i(Zk,"resolveLockConflict");async function qk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{config:o,context:s}=await at(r,n),a=s.canonicalDir;if(!await Yp(a)){y.info("No conflicts to resolve.");return}await Zk(a,Rs(),o),y.success("Lock file conflict resolved.");}i(qk,"runMerge");E();var AD=promisify(execFile);async function Xp(t){let{stdout:e}=await AD("git",t,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return e.trim()}i(Xp,"runGit");async function Qk(){try{return await Xp(["--version"]),!0}catch{return false}}i(Qk,"isGitAvailable");async function TD(t,e){let r=[e,`refs/heads/${e}`,`refs/tags/${e}`],n;for(let o of r)try{let a=(await Xp(["ls-remote",t,o])).split(`
285
+ `).map(c=>c.trim()).find(c=>c.length>0);if(!a)continue;let l=a.split(/\s+/)[0];if(l&&/^[0-9a-f]{40}$/i.test(l))return l}catch(s){n=s;}throw new Error(`Could not resolve ref "${e}" for ${t}: ${n instanceof Error?n.message:String(n)}`)}i(TD,"gitLsRemoteResolve");async function tw(t,e){let r=t===""?"HEAD":t;if(/^[0-9a-f]{40}$/i.test(r))return r.toLowerCase();if(r==="HEAD"){let o=(await Xp(["ls-remote",e,"HEAD"])).split(`
286
+ `).find(a=>a.trim().length>0);if(!o)throw new Error(`Could not resolve HEAD for ${e}`);let s=o.split(/\s+/)[0];if(!s||!/^[0-9a-f]{40}$/i.test(s))throw new Error(`Invalid ls-remote HEAD line for ${e}`);return s.toLowerCase()}return TD(e,r)}i(tw,"resolveRemoteRefForInstall");async function ew(t){if(t.kind==="local")return {resolvedPath:t.localRoot,sourceForYaml:t.localSourceForYaml};let e=t.gitRemoteUrl;if(!e)throw new Error("Internal error: missing git remote URL");let r=await tw(t.rawRef||"HEAD",e);if(t.kind==="github"){let l=`github:${t.org}/${t.repo}@${r}`;return {resolvedPath:(await po(l,"install",{cacheDir:Tt(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:l,version:r}}if(t.kind==="gitlab"){let l=`gitlab:${t.org}/${t.repo}@${r}`;return {resolvedPath:(await po(l,"install",{cacheDir:Tt(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:l,version:r}}let n=r,s=`git+${(t.gitPlusBase??e).split("#")[0]}#${n}`;return {resolvedPath:(await po(s,"install",{cacheDir:Tt(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:s,version:r}}i(ew,"fetchInstallSource");async function rw(t,e){if(t.kind==="local")return {resolvedPath:t.localRoot,sourceForYaml:t.localSourceForYaml};try{let r=await ew(t);return {resolvedPath:r.resolvedPath,sourceForYaml:r.sourceForYaml,version:r.version}}catch(r){let n=r instanceof Error?r.message:String(r),o=new Error(`Failed to fetch from ${e}: ${n}. Check your network connection and try again.`);throw r instanceof Error&&(o.cause=r),o}}i(rw,"resolveInstallResolvedPath");function Zp(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("tree");if(n<2||n+1>=r.length)return null;let o=r[0],s=r[1],a=r[n+1],l=r.slice(n+2).join("/");return !o||!s||!a?null:{org:o,repo:s,ref:a,path:l||""}}catch{return null}}i(Zp,"parseGithubTreeUrl");function qp(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("blob");if(n<2||n+1>=r.length)return null;let o=r[0],s=r[1],a=r[n+1],l=r.slice(n+2).join("/");return !o||!s||!a||!l?null:{org:o,repo:s,ref:a,path:l}}catch{return null}}i(qp,"parseGithubBlobUrl");function Qp(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("-");if(n<0||r[n+1]!=="tree")return null;let o=n+1;if(o+1>=r.length)return null;let s=r[o+1],a=r.slice(o+2).join("/"),l=r.slice(0,n);if(l.length<2)return null;let c=l[l.length-1],m=l.slice(0,-1).join("/");return !m||!c||!s?null:{namespace:m,project:c,ref:s,path:a||""}}catch{return null}}i(Qp,"parseGitlabTreeUrl");function td(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("-");if(n<0||r[n+1]!=="blob")return null;let o=n+1;if(o+1>=r.length)return null;let s=r[o+1],a=r.slice(o+2).join("/"),l=r.slice(0,n);if(l.length<2)return null;let c=l[l.length-1],m=l.slice(0,-1).join("/");return !m||!c||!s||!a?null:{namespace:m,project:c,ref:s,path:a}}catch{return null}}i(td,"parseGitlabBlobUrl");var LD=new Set(["tree","blob","commit","releases","actions","issues","pulls","settings","wiki","discussions","security","projects","packages"]);function ed(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean).map(s=>s.replace(/\.git$/i,""));if(r.length<2||r.length>2||LD.has(r[1]))return null;let n=r[0],o=r[1];return {org:n,repo:o}}catch{return null}}i(ed,"parseGithubRepoUrl");function rd(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean).map(s=>s.replace(/\.git$/i,""));if(r.length<2||r.includes("-"))return null;let n=r[r.length-1],o=r.slice(0,-1).join("/");return !o||!n?null:{namespace:o,project:n}}catch{return null}}i(rd,"parseGitlabRepoUrl");function nd(t){let e=t.match(/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?$/i);return e?{org:e[1],repo:e[2].replace(/\.git$/i,"")}:null}i(nd,"parseGitSshGithub");function od(t){let e=t.match(/^git@gitlab\.com:(.+?)(?:\.git)?$/i);if(!e)return null;let n=e[1].replace(/\.git$/i,"").split("/").filter(Boolean);if(n.length<2)return null;let o=n[n.length-1];return {namespace:n.slice(0,-1).join("/"),project:o}}i(od,"parseGitSshGitlab");E();var FD=/^[A-Za-z]:[\\/]/,vD=/^[A-Za-z]:\//;function nw(...t){return t.some(e=>e.includes("\\")||FD.test(e))?win32:posix}i(nw,"pathApiFor");function Gi(t){return t.replace(/\\/g,"/")}i(Gi,"toPosixPath");function Mi(t){return Gi(t).replace(/^\/+|\/+$/g,"")}i(Mi,"normalizeInstallPathField");function Jl(t){let e=Gi(t);return e===""||e==="."||e==="./."?".":e.startsWith("./")||e.startsWith("../")||e.startsWith("/")||vD.test(e)?e:`./${e}`}i(Jl,"normalizeLocalSourceForYaml");function gn(t){return {...t,source:t.source_kind==="local"?Jl(t.source):t.source,...t.path!==void 0?{path:Mi(t.path)}:{},...t.paths!==void 0?{paths:t.paths.map(e=>Mi(e))}:{}}}i(gn,"normalizePersistedInstallPaths");function ow(t,e,r){let n=nw(t,e),o=n.normalize(t),s=n.normalize(e),a=Mi(r),l=`${n.sep}.agentsmesh${n.sep}`,c=o.indexOf(l);if(c>=0){let u=o.slice(0,c),p=o.slice(c+l.length),d=Mi(p),g=Gi(n.relative(s,u))||".";return {kind:"local",rawRef:"",pathInRepo:a||d.replace(/\.md$/i,"").replace(/\/$/,""),localRoot:u,localSourceForYaml:Jl(g)}}let m=Gi(n.relative(s,o))||".";return {kind:"local",rawRef:"",pathInRepo:a,localRoot:o,localSourceForYaml:Jl(m)}}i(ow,"localParsedFromAbsPath");async function sd(t,e,r){let n=t.trim(),o=r?.trim().replace(/\\/g,"/")??"";if(n.startsWith("git+")){let c=n.lastIndexOf("#"),m=c<0?n:n.slice(0,c),u=c<0?"HEAD":n.slice(c+1),p=m.slice(4);return {kind:"git",rawRef:u,gitPlusBase:p,gitRemoteUrl:p,pathInRepo:o}}if(n.startsWith("https://")||n.startsWith("http://")){let c=Zp(n)??qp(n);if(c)return {kind:"github",rawRef:c.ref,org:c.org,repo:c.repo,gitRemoteUrl:`https://github.com/${c.org}/${c.repo}.git`,pathInRepo:o||c.path};let m=ed(n);if(m)return {kind:"github",rawRef:"HEAD",org:m.org,repo:m.repo,gitRemoteUrl:`https://github.com/${m.org}/${m.repo}.git`,pathInRepo:o};let u=Qp(n)??td(n);if(u)return {kind:"gitlab",rawRef:u.ref,org:u.namespace,repo:u.project,gitRemoteUrl:`https://gitlab.com/${u.namespace}/${u.project}.git`,pathInRepo:o||u.path};let p=rd(n);if(p)return {kind:"gitlab",rawRef:"HEAD",org:p.namespace,repo:p.project,gitRemoteUrl:`https://gitlab.com/${p.namespace}/${p.project}.git`,pathInRepo:o}}if(n.startsWith("git@github.com:")){let c=nd(n);if(!c)throw new Error(`Invalid GitHub SSH URL: ${n}`);return {kind:"github",rawRef:"HEAD",org:c.org,repo:c.repo,gitRemoteUrl:`https://github.com/${c.org}/${c.repo}.git`,pathInRepo:o}}if(n.startsWith("git@gitlab.com:")){let c=od(n);if(!c)throw new Error(`Invalid GitLab SSH URL: ${n}`);return {kind:"gitlab",rawRef:"HEAD",gitRemoteUrl:`https://gitlab.com/${c.namespace}/${c.project}.git`,pathInRepo:o}}if(n.startsWith("git@")){let c=n.match(/^git@([^:]+):(.+?)(?:\.git)?$/);if(!c)throw new Error(`Invalid SSH git URL: ${n}`);let m=c[1],u=c[2].replace(/\.git$/i,"");return {kind:"git",rawRef:"HEAD",gitRemoteUrl:`ssh://git@${m}/${u}.git`,pathInRepo:o}}let s=n.match(/^github:([^/]+)\/(.+?)@([^/@]+)$/);if(s){let c=s[1],m=s[2];return {kind:"github",rawRef:s[3],org:c,repo:m,gitRemoteUrl:`https://github.com/${c}/${m}.git`,pathInRepo:o}}let a=n.match(/^gitlab:(.+)\/([^/@]+)@([^/@]+)$/);if(a){let c=a[1],m=a[2];return {kind:"gitlab",rawRef:a[3],org:c,repo:m,gitRemoteUrl:`https://gitlab.com/${c}/${m}.git`,pathInRepo:o}}let l=resolve(e,n);if(!await L(l))throw new Error(`Path does not exist: ${l}`);return ow(l,e,o)}i(sd,"parseInstallSource");E();E();var sw=z$1.object({name:z$1.string().min(1),source:z$1.string().min(1),version:z$1.string().optional(),source_kind:z$1.enum(["github","gitlab","git","local"]),features:z$1.array(mo).min(1),pick:Os.optional(),target:Jt.optional(),path:z$1.string().optional(),paths:z$1.array(z$1.string().min(1)).min(1).optional(),as:us.optional()}),UD=z$1.object({version:z$1.literal(1),installs:z$1.array(sw).default([])});function WD(t,e){return t.length===e.length&&[...t].sort().every((r,n)=>r===[...e].sort()[n])}i(WD,"sameFeatures");function BD(t,e){return t.source===e.source&&t.target===e.target&&t.as===e.as&&WD(t.features,e.features)}i(BD,"sameInstallIdentity");function iw(t){return join(t,"installs.yaml")}i(iw,"manifestPath");async function id(t){let e=await I(iw(t));if(e===null)return [];try{return UD.parse(parse(e)).installs.map(r=>gn(r))}catch{return []}}i(id,"readInstallManifest");async function aw(t,e){let r=gn(e),o=(await id(t)).filter(s=>s.name!==r.name&&!BD(s,r));o.push(r),await _(iw(t),stringify({version:1,installs:o.sort((s,a)=>s.name.localeCompare(a.name))}));}i(aw,"upsertInstallManifestEntry");function lw(t){return gn(sw.parse({name:t.name,source:t.source,version:t.version,source_kind:t.sourceKind,features:t.features,pick:t.pick,target:t.target,path:t.path,paths:t.paths,as:t.as}))}i(lw,"buildInstallManifestEntry");async function HD(t){let e=await id(t.canonicalDir);if(e.length===0){y.info("No recorded installs found in .agentsmesh/installs.yaml.");return}let r=[];for(let n of e){let o=join(t.canonicalDir,"packs",n.name);await L(o)||r.push(n);}if(r.length===0){y.info("All recorded packs are already installed.");return}for(let n of r)await t.reinstall(n);y.success(`Reinstalled ${r.length} pack(s) from .agentsmesh/installs.yaml.`);}i(HD,"syncInstalledPacks");async function cw(t){return t.sync?(await HD({canonicalDir:t.canonicalDir,reinstall:t.reinstall}),true):false}i(cw,"maybeRunInstallSync");function mw(t){return {sync:t.sync===true,dryRun:t["dry-run"]===true,force:t.force===true,useExtends:t.extends===true,explicitPath:typeof t.path=="string"?t.path:void 0,explicitTarget:typeof t.target=="string"?t.target.trim():void 0,explicitAs:typeof t.as=="string"?us.parse(t.as.trim()):void 0,nameOverride:typeof t.name=="string"?t.name.trim():""}}i(mw,"readInstallFlags");function so(t){let e=[];return t.skills.length&&e.push("skills"),t.rules.length&&e.push("rules"),t.commands.length&&e.push("commands"),t.agents.length&&e.push("agents"),t.mcp!==null&&e.push("mcp"),t.permissions!==null&&e.push("permissions"),t.hooks!==null&&e.push("hooks"),t.ignore.length&&e.push("ignore"),e}i(so,"featuresFromCanonical");async function Yl(t){let{sliceRoot:e,implicitPick:r}=await Al(t),n=await Tl(e);return {canonical:n,features:so(n),implicitPick:r}}i(Yl,"discoverFromContentRoot");function uw(t){return t.description.trim()?{skill:t,ok:true}:{skill:t,ok:false,reason:"missing description in frontmatter"}}i(uw,"validateSkill");function pw(t){return t.description.trim()?{rule:t,ok:true}:{rule:t,ok:false,reason:"missing description in frontmatter"}}i(pw,"validateRule");function dw(t){return t.description.trim()?{command:t,ok:true}:{command:t,ok:false,reason:"missing description in frontmatter"}}i(dw,"validateCommand");function fw(t){return t.description.trim()?{agent:t,ok:true}:{agent:t,ok:false,reason:"missing description in frontmatter"}}i(fw,"validateAgent");function le(t){return basename(t.source).replace(/\.md$/i,"")}i(le,"ruleSlug");function VD(t){if(!t)return;let e=[];return t.skills!==void 0&&e.push("skills"),t.rules!==void 0&&e.push("rules"),t.commands!==void 0&&e.push("commands"),t.agents!==void 0&&e.push("agents"),e.length>0?e:void 0}i(VD,"featuresFromImplicitPick");function gs(t,e){let{implicitPick:r}=e,n=e.scopedFeatures??VD(r);if(!r&&!n)return t;let o=new Set(n??[]),s={...t,mcp:!n||o.has("mcp")?t.mcp:null,permissions:!n||o.has("permissions")?t.permissions:null,hooks:!n||o.has("hooks")?t.hooks:null,ignore:!n||o.has("ignore")?t.ignore:[]};if(r?.skills!==void 0){let a=new Set(r.skills);s={...s,skills:r.skills.length===0?[]:s.skills.filter(l=>a.has(l.name))};}else n&&!o.has("skills")&&(s={...s,skills:[]});if(r?.rules!==void 0){let a=new Set(r.rules);s={...s,rules:r.rules.length===0?[]:s.rules.filter(l=>a.has(le(l)))};}else n&&!o.has("rules")&&(s={...s,rules:[]});if(r?.commands!==void 0){let a=new Set(r.commands);s={...s,commands:r.commands.length===0?[]:s.commands.filter(l=>a.has(l.name))};}else n&&!o.has("commands")&&(s={...s,commands:[]});if(r?.agents!==void 0){let a=new Set(r.agents);s={...s,agents:r.agents.length===0?[]:s.agents.filter(l=>a.has(l.name))};}else n&&!o.has("agents")&&(s={...s,agents:[]});return s}i(gs,"narrowDiscoveredForInstallScope");E();E();F();var XD=new Set(["README.md","README.rst","README.txt","README","LICENSE","LICENSE.md","LICENSE.txt","LICENSE-MIT","LICENSE-APACHE","CONTRIBUTING.md","CHANGELOG.md","CODE_OF_CONDUCT.md","package.json","package-lock.json","pnpm-lock.yaml","yarn.lock",".gitignore",".gitattributes",".editorconfig",".DS_Store"]),ZD=new Set([".git",".github",".gitlab","node_modules",".vscode",".idea"]);async function Xl(t){let e=await I(t);if(!e)return "";let{frontmatter:r}=O(e);return typeof r.name!="string"?"":r.name.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}i(Xl,"readSkillFrontmatterName");async function gw(t,e){await cp$1(t,e,{recursive:true,filter:i(r=>{let n=relative(t,r).replace(/\\/g,"/");if(n==="")return true;let o=n.split("/")[0];return !(ZD.has(o)||!n.includes("/")&&XD.has(n))},"filter")});}i(gw,"cpFilteredSkill");async function rF(){let t=await mkdtemp(join(tmpdir(),"am-install-manual-")),e=join(t,"repo");return await k(join(e,".agentsmesh")),{discoveryRoot:e,cleanup:i(async()=>{await rm$1(t,{recursive:true,force:true});},"cleanup")}}i(rF,"createStageRoot");async function nF(t,e){if((await stat(t)).isFile()){if(!t.toLowerCase().endsWith(".md"))throw new Error(`Manual install only supports .md files for this collection: ${t}`);await k(e),await cp$1(t,join(e,basename(t)));return}let n=(await P(t)).filter(s=>s.toLowerCase().endsWith(".md"));if(n.length===0)throw new Error(`No .md files found under ${t} for manual install.`);let o=new Map;await k(e);for(let s of n){let a=basename(s),l=o.get(a);if(l)throw new Error(`Manual install found duplicate file name "${a}" under ${t} (${l} and ${s}).`);o.set(a,s),await cp$1(s,join(e,a));}}i(nF,"stageMarkdownCollection");async function hw(t,e,r){if(r.length===0)return false;let n=new Set(r),o=new Map;for(let s of await P(t)){if(!s.endsWith("/SKILL.md")&&!s.endsWith("\\SKILL.md"))continue;let a=dirname(s),l=basename(a);if(!n.has(l))continue;let c=o.get(l);if(c&&c!==a)throw new Error(`Manual skill replay found duplicate skill "${l}" under ${t} (${c} and ${a}).`);o.set(l,a);}if(o.size!==r.length)return false;await k(e);for(let s of r)await cp$1(o.get(s),join(e,s),{recursive:true});return true}i(hw,"stagePreferredSkills");async function oF(t,e,r={}){if((await stat(t)).isFile()){if(basename(t)!=="SKILL.md")throw new Error(`Manual skill install expects SKILL.md or a skill directory: ${t}`);let o=basename(dirname(t)),s=join(e,o);await k(s),await cp$1(dirname(t),s,{recursive:true});return}if(await to(t)){if((await stat(join(t,"SKILL.md")).catch(()=>null))?.isFile()){if(await hw(t,e,r.preferredSkillNames??[]))return;let l=await Xl(join(t,"SKILL.md"))||basename(t),c=join(e,l);await k(e),await gw(t,c);return}if(await hw(t,e,r.preferredSkillNames??[]))return;await k(e);let o=await P(t),s=new Set;for(let a of o.filter(l=>l.endsWith("/SKILL.md")||l.endsWith("\\SKILL.md")))s.add(relative(t,dirname(a)).split(/[\\/]/)[0]);for(let a of s)await cp$1(join(t,a),join(e,a),{recursive:true});return}throw new Error(`Manual skill install expects a skill directory or skills collection at ${t}.`)}i(oF,"stageSkills");async function yw(t,e,r={}){let n=await rF();try{let o=join(n.discoveryRoot,".agentsmesh",e);return e==="skills"?await oF(t,o,r):await nF(t,o),n}catch(o){throw await n.cleanup(),o}}i(yw,"stageManualInstallScope");async function Iw(t,e,r,n){let o=await yw(t,e,{preferredSkillNames:e==="skills"?n?.skills:void 0}),{canonical:s}=await Yl(o.discoveryRoot),a=gs(s,{scopedFeatures:[e]});return {prep:{yamlTarget:r,scopedFeatures:[e],cleanup:o.cleanup},narrowed:a,discoveredFeatures:so(a)}}i(Iw,"resolveManualDiscoveredForInstall");E();var sF=[{prefix:".gemini/commands",target:"gemini-cli"},{prefix:".github/instructions",target:"copilot"},{prefix:".github/copilot-instructions.md",target:"copilot"},{prefix:".github/copilot",target:"copilot"},{prefix:".github/prompts",target:"copilot"},{prefix:".github/skills",target:"copilot"},{prefix:".github/agents",target:"copilot"},{prefix:".github/hooks",target:"copilot"},{prefix:".claude/commands",target:"claude-code"},{prefix:".claude/rules",target:"claude-code"},{prefix:".claude/skills",target:"claude-code"},{prefix:".claude/agents",target:"claude-code"},{prefix:".cursor/commands",target:"cursor"},{prefix:".cursor/rules",target:"cursor"},{prefix:".cursor/agents",target:"cursor"},{prefix:".cursor/skills",target:"cursor"},{prefix:".continue/prompts",target:"continue"},{prefix:".continue/rules",target:"continue"},{prefix:".continue/skills",target:"continue"},{prefix:".junie/commands",target:"junie"},{prefix:".junie/rules",target:"junie"},{prefix:".junie/agents",target:"junie"},{prefix:".junie/skills",target:"junie"},{prefix:".kiro/steering",target:"kiro"},{prefix:".kiro/skills",target:"kiro"},{prefix:".cline/skills",target:"cline"},{prefix:".clinerules/workflows",target:"cline"},{prefix:".windsurf/rules",target:"windsurf"},{prefix:".codex",target:"codex-cli"}];function iF(t){return t.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"")}i(iF,"norm");function ql(t){let e=iF(t),r=[...sF].sort((n,o)=>o.prefix.length-n.prefix.length);for(let{prefix:n,target:o}of r)if(e===n||e.startsWith(`${n}/`))return o}i(ql,"targetHintFromNativePath");function ld(t,e){return ql(t)===e}i(ld,"pathSupportsNativePick");function Sw(t,e){if(!t||!e)return;let r=ql(e);if(r&&r!==t)throw new Error(`--target "${t}" does not match the install path (native path suggests "${r}"). Omit --target to auto-detect, or point at a subtree for that target.`)}i(Sw,"validateTargetMatchesPath");function _w(t){return (t.commands?.length??0)+(t.rules?.length??0)+(t.skills?.length??0)+(t.agents?.length??0)>0}i(_w,"extendPickHasArrays");E();E();pt();async function Cw(t,e){let r=join(t,...Bt.split("/")),n=join(t,...e.split("/")),o=await P(n),s=[];for(let a of o){if(!/\.(toml|md)$/i.test(a))continue;let l=relative(r,a).replace(/\\/g,"/");if(l.startsWith("..")||l==="")continue;let m=l.replace(/\.(toml|md)$/i,"").split("/").filter(Boolean).join(":");m&&s.push(m);}return [...new Set(s)].sort()}i(Cw,"inferGeminiCommandNamesFromFiles");pt();Zt();E();async function io(t){let e=await P(t),r=new Set;for(let n of e){if(basename(n)==="SKILL.md"){r.add(basename(dirname(n)));continue}!relative(t,n).replace(/\\/g,"/").includes("/")&&n.toLowerCase().endsWith(".md")&&r.add(basename(n,".md"));}return [...r].filter(Boolean).sort()}i(io,"skillNamesFromNativeSkillDir");E();ee();async function kw(t,e){let r=join(t,...e.split("/"));if(e.startsWith(sn)){let n=await P(r),o=[...new Set(n.filter(s=>s.toLowerCase().endsWith(".prompt.md")).map(s=>basename(s,".prompt.md")))].sort();return o.length?{commands:o}:{}}if(e.startsWith(".github/copilot")&&!e.includes("copilot-instructions.md")){let n=await P(r),o=[...new Set(n.filter(s=>s.includes(".instructions.md")).map(s=>basename(s).replace(/\.instructions\.md$/i,"")))].sort();return o.length?{rules:o}:{}}if(e.startsWith(".github/instructions")){let n=await P(r),o=new Set;for(let a of n){let l=basename(a);l.toLowerCase().endsWith(".instructions.md")?o.add(l.replace(/\.instructions\.md$/i,"")):l.toLowerCase().endsWith(".md")&&o.add(basename(a,".md"));}let s=[...o].sort();return s.length?{rules:s}:{}}if(e.startsWith(".github/skills")){let n=await io(r);return n.length?{skills:n}:{}}if(e.startsWith(".github/agents")){let n=await P(r),o=[...new Set(n.filter(s=>s.toLowerCase().endsWith(".agent.md")).map(s=>basename(s,".agent.md")))].sort();return o.length?{agents:o}:{}}return {}}i(kw,"inferCopilotPickFromPath");async function zt(t,e){let r=await P(t),n=e.toLowerCase();return [...new Set(r.filter(o=>o.toLowerCase().endsWith(n)).map(o=>basename(o,e)))].sort()}i(zt,"mdNames");async function Ow(t,e,r){let n=e.replace(/\\/g,"/").replace(/^\/+|\/+$/g,""),o=join(t,...n.split("/"));if(r==="gemini-cli"){if(n===Bt||n.startsWith(`${Bt}/`)){let s=await Cw(t,n);return s.length?{commands:s}:{}}return {}}if(r==="claude-code"){if(n.startsWith(".claude/commands")){let s=await zt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".claude/rules")){let s=await zt(o,".md");return s.length?{rules:s}:{}}if(n.startsWith(".claude/agents")){let s=await zt(o,".md");return s.length?{agents:s}:{}}if(n.startsWith(".claude/skills/")){let a=n.replace(/^\.claude\/skills\/?/,"").split("/").filter(Boolean)[0];return a?{skills:[a]}:{}}return {}}if(r==="cursor"){if(n.startsWith(".cursor/rules")){let s=await zt(o,".mdc");return s.length?{rules:s}:{}}if(n.startsWith(".cursor/commands")){let s=await zt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".cursor/agents")){let s=await zt(o,".md");return s.length?{agents:s}:{}}if(n.startsWith(".cursor/skills")){let s=await io(o);return s.length?{skills:s}:{}}return {}}if(r==="copilot")return kw(t,n);if(r==="windsurf"&&n.startsWith(".windsurf/rules")){let s=await zt(o,".md");return s.length?{rules:s}:{}}if(r==="cline"){if(n.startsWith(It)){let s=await io(o);return s.length?{skills:s}:{}}if(n.startsWith(Ue)){let s=await zt(o,".md");return s.length?{commands:s}:{}}return {}}if(r==="continue"){if(n.startsWith(".continue/rules")){let s=await zt(o,".md");return s.length?{rules:s}:{}}if(n.startsWith(".continue/prompts")){let s=await zt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".continue/skills")){let s=await io(o);return s.length?{skills:s}:{}}return {}}if(r==="junie"){if(n.startsWith(".junie/commands")){let s=await zt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".junie/rules")){let s=await zt(o,".md");return s.length?{rules:s}:{}}if(n.startsWith(".junie/agents")){let s=await zt(o,".md");return s.length?{agents:s}:{}}if(n.startsWith(".junie/skills")){let s=await io(o);return s.length?{skills:s}:{}}return {}}if(r==="codex-cli"&&n.startsWith(".codex")){let s=await P(o),a=[...new Set(s.filter(l=>l.toLowerCase().endsWith(".md")).map(l=>basename(l,".md")))].sort();return a.length?{rules:a}:{}}return {}}i(Ow,"inferImplicitPickFromNativePath");function Ew(t){return (t.commands?.length??0)+(t.rules?.length??0)+(t.skills?.length??0)+(t.agents?.length??0)===0}i(Ew,"isImplicitPickEmpty");function Wi(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}i(Wi,"normalizePath");function hF(t,e){let r=Wi(t),n=Wi(e);return r===n||r.startsWith(`${n}/`)||n.startsWith(`${r}/`)}i(hF,"overlapsPath");function Ql(t,e){let r=t??[];return r.includes(e)||r.push(e),r}i(Ql,"addUnique");async function yF(t){let e=await mkdtemp(join(tmpdir(),"am-install-native-")),r=join(e,"repo"),n=i(async()=>{await rm$1(e,{recursive:true,force:true});},"cleanup");try{return await cp$1(t,r,{recursive:!0}),{stageRoot:r,cleanup:n}}catch(o){throw await n(),o}}i(yF,"makeStageRoot");function IF(t,e){let r;for(let o of t){if(o.feature==="rules"&&o.toPath.startsWith(".agentsmesh/rules/")){r={...r,rules:Ql(r?.rules,basename(o.toPath,".md"))};continue}if(o.feature==="commands"&&o.toPath.startsWith(".agentsmesh/commands/")){let s=Wi(relative(join(e,".agentsmesh","commands"),join(e,o.toPath)));r={...r,commands:Ql(r?.commands,s.replace(/\.md$/i,"").split("/").filter(Boolean).join(":"))};continue}if(o.feature==="agents"&&o.toPath.startsWith(".agentsmesh/agents/")){r={...r,agents:Ql(r?.agents,basename(o.toPath,".md"))};continue}if(o.feature==="skills"&&o.toPath.startsWith(".agentsmesh/skills/")){let a=Wi(relative(join(e,".agentsmesh","skills"),join(e,o.toPath))).split("/")[0];a&&(r={...r,skills:Ql(r?.skills,a)});}}return r&&(r.rules?.length??0)+(r.commands?.length??0)+(r.agents?.length??0)+(r.skills?.length??0)>0?r:void 0}i(IF,"buildPickFromResults");function SF(t,e,r,n){let o=join(e,...Wi(t).split("/")),s=r.filter(a=>hF(o,a.fromPath));if(s.length===0)throw new Error(`No installable native resources found under "${t}" for target "${n}".`);return {features:[...new Set(s.map(a=>a.feature))],pick:IF(s,e)}}i(SF,"scopeImportedResults");async function md(t,e){let{stageRoot:r,cleanup:n}=await yF(t);try{let o=await bi(r,e);return {stageRoot:r,results:o,cleanup:n}}catch(o){throw await n(),o}}i(md,"stageImportedNativeRepo");async function ud(t,e,r){let n=await md(t,r);try{return {stageRoot:n.stageRoot,cleanup:n.cleanup,...SF(e,n.stageRoot,n.results,r)}}catch(o){throw await n.cleanup(),o}}i(ud,"stageNativeInstallScope");async function Aw(t,e,r,n){let o=n.explicitTarget?.trim();o&&Jt.parse(o);let s=r.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"");Sw(o,s);let a=join(t,".agentsmesh"),l=await L(a),c=s?ql(s):void 0,m=!l&&!o?await na(t)??void 0:void 0;if(!o&&c&&m&&c!==m)throw new Error(`Install path suggests native layout "${c}" but auto-detect imported "${m}". Use --target ${c} for this path, or install from the repo root without a conflicting subtree path.`);let u=o??c??m,p=!!s&&!!u&&!s.startsWith(".agentsmesh");if(!l&&u){if(p){let w=await ud(t,s,u);return {discoveryRoot:w.stageRoot,implicitPick:w.pick,scopedFeatures:w.features,yamlTarget:u,importHappened:true,cleanup:w.cleanup}}let S=await md(t,u);return {discoveryRoot:s?join(S.stageRoot,s):S.stageRoot,yamlTarget:u,importHappened:true,cleanup:S.cleanup}}let d;l?s?u&&ld(s,u)?d=t:d=e:d=t:d=e;let g,h,R;if(p&&u){let S=await ud(t,s,u);d=S.stageRoot,g=S.pick,h=S.features,R=S.cleanup;}else if(d===t&&s&&u&&ld(s,u)&&(g=await Ow(t,s,u),Ew(g)))throw new Error(`No installable native resources found under "${s}" for target "${u}".`);let C;return o?C=o:u&&(g&&_w(g)||(h?.length??0)>0)&&(C=u),{discoveryRoot:d,implicitPick:g,scopedFeatures:h,yamlTarget:C,importHappened:R!==void 0,cleanup:R}}i(Aw,"prepareInstallDiscovery");async function Tw(t,e,r,n){let o=await Aw(t,e,r,{explicitTarget:n}),{canonical:s,implicitPick:a}=await Yl(o.discoveryRoot),l=a??o.implicitPick,c=gs(s,{implicitPick:l,scopedFeatures:o.scopedFeatures}),m=so(c);return {prep:o,discovered:s,implicitPick:l,narrowed:c,discoveredFeatures:m}}i(Tw,"resolveDiscoveredForInstall");async function Lw(t){return t.explicitAs?{implicitPick:void 0,...await Iw(t.contentRoot,t.explicitAs,t.explicitTarget,t.replayPick)}:Tw(t.resolvedPath,t.contentRoot,t.pathInRepo,t.explicitTarget)}i(Lw,"resolveInstallDiscovery");function ys(t){return t==="."||t===""?void 0:t}i(ys,"trimDot");function RF(t,e){let r=basename(e).replace(/\.md$/i,"");return t==="agents"?{agents:[r]}:t==="commands"?{commands:[r]}:{rules:[r]}}i(RF,"markdownPick");async function Dw(t){if(!t.as)return {pathInRepo:ys(t.pathInRepo)};let e=t.pathInRepo.replace(/^\/+|\/+$/g,""),r=await stat(t.contentRoot);if(t.as!=="skills"&&r.isFile()&&t.contentRoot.toLowerCase().endsWith(".md"))return {pathInRepo:ys(dirname(e)),pick:RF(t.as,e||t.contentRoot)};if(t.as==="skills"){if(r.isFile()&&basename(t.contentRoot)==="SKILL.md"){let n=e?dirname(e):dirname(t.contentRoot);return {pathInRepo:ys(dirname(n)),pick:{skills:[basename(n)]}}}if(r.isDirectory()){let n=e||basename(t.contentRoot),o=join(t.contentRoot.replace(/\/+$/g,""),"SKILL.md");try{if((await stat(o)).isFile()){let a=await Xl(o);return {pathInRepo:ys(dirname(n)),pick:{skills:[a||basename(n)]}}}}catch{return {pathInRepo:ys(e)}}}}return {pathInRepo:ys(e)}}i(Dw,"resolveManualInstallPersistence");async function ir(t){return process.stdin.isTTY?new Promise(e=>{let r=Fw.createInterface({input:process.stdin,output:process.stdout});r.question(`${t} (y/n) `,n=>{r.close();let o=n.trim().toLowerCase();e(o==="y"||o==="yes");});}):false}i(ir,"confirm");function CF(t){return !!(t.skills.length||t.rules.length||t.commands.length||t.agents.length)}i(CF,"hasArrayResources");function vw(t){return CF(t)||t.mcp!==null||t.permissions!==null||t.hooks!==null||t.ignore.length>0}i(vw,"hasInstallableResources");async function $w(t,e,r,n){let o=t.skills.map(l=>uw(l)),s=o.filter(l=>l.ok).map(l=>l.skill),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await ir(`Include invalid skill "${l.skill.name}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.skill);else e&&(s=o.map(l=>l.skill));return r&&(s=o.filter(l=>l.ok).map(l=>l.skill)),s}i($w,"resolveSkillPool");async function Mw(t,e,r,n){let o=t.rules.map(l=>pw(l)),s=o.filter(l=>l.ok).map(l=>l.rule),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await ir(`Include invalid rule "${le(l.rule)}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.rule);else e&&(s=o.map(l=>l.rule));return r&&(s=o.filter(l=>l.ok).map(l=>l.rule)),s}i(Mw,"resolveRulePool");async function Gw(t,e,r,n){let o=t.commands.map(l=>dw(l)),s=o.filter(l=>l.ok).map(l=>l.command),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await ir(`Include invalid command "${l.command.name}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.command);else e&&(s=o.map(l=>l.command));return r&&(s=o.filter(l=>l.ok).map(l=>l.command)),s}i(Gw,"resolveCommandPool");async function jw(t,e,r,n){let o=t.agents.map(l=>fw(l)),s=o.filter(l=>l.ok).map(l=>l.agent),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await ir(`Include invalid agent "${l.agent.name}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.agent);else e&&(s=o.map(l=>l.agent));return r&&(s=o.filter(l=>l.ok).map(l=>l.agent)),s}i(jw,"resolveAgentPool");async function Uw(t,e){let r=e.skills.map(a=>a.name),n=e.rules.map(a=>le(a)),o=e.commands.map(a=>a.name),s=e.agents.map(a=>a.name);for(let a of e.skills)t.skills.some(l=>l.name===a.name)&&(await ir(`Skill "${a.name}" already exists in merged config. Add extend anyway?`)||(r=r.filter(c=>c!==a.name)));for(let a of e.rules){let l=le(a);t.rules.some(c=>le(c)===l)&&(await ir(`Rule "${l}" already exists in merged config. Add extend anyway?`)||(n=n.filter(m=>m!==l)));}for(let a of e.commands)t.commands.some(l=>l.name===a.name)&&(await ir(`Command "${a.name}" already exists in merged config. Add extend anyway?`)||(o=o.filter(c=>c!==a.name)));for(let a of e.agents)t.agents.some(l=>l.name===a.name)&&(await ir(`Agent "${a.name}" already exists in merged config. Add extend anyway?`)||(s=s.filter(c=>c!==a.name)));return {skillNames:r,ruleSlugs:n,commandNames:o,agentNames:s}}i(Uw,"resolveInstallConflicts");function Ww(t,e){if(!t)return;let r={},n=t.skills?.filter(l=>e.skillNames.includes(l)),o=t.rules?.filter(l=>e.ruleSlugs.includes(l)),s=t.commands?.filter(l=>e.commandNames.includes(l)),a=t.agents?.filter(l=>e.agentNames.includes(l));return n&&n.length>0&&(r.skills=n),o&&o.length>0&&(r.rules=o),s&&s.length>0&&(r.commands=s),a&&a.length>0&&(r.agents=a),Object.keys(r).length>0?r:void 0}i(Ww,"pickForSelectedResources");function kF(t,e){let r=t.split("/").filter(Boolean);return r.length>0&&r[r.length-1]===e}i(kF,"pathEndsWithName");function tc(t,e,r){return r!==1||e.length!==1?false:kF(t,e[0])}i(tc,"inferSingleNamePick");function Bw(t){let{pathInRepo:e,implicitPick:r,preConflictCounts:n,selected:o}=t,s={},a=o.skillNames.length>0&&(!!r?.skills?.length||o.skillNames.length<n.skills||tc(e,o.skillNames,n.skills)),l=o.ruleSlugs.length>0&&(!!r?.rules?.length||o.ruleSlugs.length<n.rules||tc(e,o.ruleSlugs,n.rules)),c=o.commandNames.length>0&&(!!r?.commands?.length||o.commandNames.length<n.commands||tc(e,o.commandNames,n.commands)),m=o.agentNames.length>0&&(!!r?.agents?.length||o.agentNames.length<n.agents||tc(e,o.agentNames,n.agents));return a&&(s.skills=[...o.skillNames]),l&&(s.rules=[...o.ruleSlugs]),c&&(s.commands=[...o.commandNames]),m&&(s.agents=[...o.agentNames]),Object.keys(s).length?s:void 0}i(Bw,"buildInstallPick");function Kw(t,e){let r=new Set(t);return e.skillNames.length===0&&r.delete("skills"),e.ruleSlugs.length===0&&r.delete("rules"),e.commandNames.length===0&&r.delete("commands"),e.agentNames.length===0&&r.delete("agents"),[...r]}i(Kw,"deriveInstallFeatures");function wF(t){return t.skillNames.length===0&&t.ruleSlugs.length===0&&t.commandNames.length===0&&t.agentNames.length===0}i(wF,"isEmptyInstallSelection");function Hw(t){let{selected:e,discoveredFeatures:r,preConflict:n}=t,o=i(l=>r.includes(l),"had"),s=o("skills")&&e.skillNames.length===0&&n.skills>0&&"skills"||o("rules")&&e.ruleSlugs.length===0&&n.rules>0&&"rules"||o("commands")&&e.commandNames.length===0&&n.commands>0&&"commands"||o("agents")&&e.agentNames.length===0&&n.agents>0&&"agents";if(s)throw new Error(`No ${s} selected to install.`);let a=r.some(l=>["mcp","permissions","hooks","ignore"].includes(l));if(wF(e)&&!a)throw new Error("No resources selected to install.")}i(Hw,"ensureInstallSelection");function zw(t,e){if(t.find(n=>n.name===e.name&&n.source!==e.source))throw new Error(`Extends entry "${e.name}" already exists with a different source. Use --name to provide a different name.`)}i(zw,"assertExtendNameAvailable");function OF(t,e,r){if(r===void 0){if(!t)return;let o={...t};for(let s of ["skills","commands","rules","agents"])e.includes(s)&&delete o[s];return Object.keys(o).length?o:void 0}let n={...t};for(let o of ["skills","commands","rules","agents"]){if(!(o in r))continue;let s=r[o];if(s===void 0||s.length===0){delete n[o];continue}n[o]=[...new Set([...t?.[o]??[],...s])];}return Object.keys(n).length?n:void 0}i(OF,"mergePick");function Vw(t,e){let r=t.findIndex(a=>a.source===e.source);if(r<0)return [...t,{name:e.name,source:e.source,version:e.version,features:e.features,path:e.path,pick:e.pick,target:e.target}];let n=t[r],o=[...new Set([...n.features,...e.features])],s=OF(n.pick,e.features,e.pick);return t.map((a,l)=>l===r?{name:e.name,source:e.source,version:e.version??n.version,features:o,path:e.path!==void 0?e.path:n.path,pick:s,target:e.target??n.target}:a)}i(Vw,"mergeExtendList");E();async function Jw(t,e,r){let n=await I(t);if(n===null)throw new Error(`Missing config: ${t}`);let o=parse(n),s=Vw(e.extends,r);o.extends=s;let a=stringify(o,{indent:2,lineWidth:0});await _(t,a.endsWith(`
286
287
  `)?a:`${a}
287
- `);}i(ww,"writeAgentsmeshWithNewExtend");async function Ow(t){let{configDir:e,config:r,entryArgs:n,dryRun:o}=t,s=XD(n);if(Rw(r.extends,s),o){_.info(`[dry-run] Would add extend:
288
- ${JSON.stringify(s,null,2)}`);return}let a=join(e,"agentsmesh.yaml");await ww(a,r,s),_.success(`Wrote extends entry "${s.name}" to agentsmesh.yaml.`);}i(Ow,"writeInstallAsExtend");function XD(t){return {name:t.name,source:t.source,version:t.version,features:t.features,path:t.path,pick:t.pick,target:t.yamlTarget!==void 0?Qt.parse(t.yamlTarget):void 0}}i(XD,"toNewExtendEntry");E();E();var qD="pack.yaml";async function Xl(t){let e=await b(t),r=[];for(let s of e.sort()){let a=relative(t,s).replace(/\\/g,"/");if(a===qD)continue;let l=await Al(s);l!==null&&r.push(`${a}:${l}`);}let n=r.join(`
289
- `);return `sha256:${Ni(n)}`}i(Xl,"hashPackContent");async function rF(t,e){if(t.rules.length===0)return;let r=join(e,"rules");await k(r);for(let n of t.rules){let o=join(r,basename(n.source));await copyFile(n.source,o);}}i(rF,"writeRules");async function nF(t,e){if(t.commands.length===0)return;let r=join(e,"commands");await k(r);for(let n of t.commands){let o=join(r,basename(n.source));await copyFile(n.source,o);}}i(nF,"writeCommands");async function oF(t,e){if(t.agents.length===0)return;let r=join(e,"agents");await k(r);for(let n of t.agents){let o=join(r,basename(n.source));await copyFile(n.source,o);}}i(oF,"writeAgents");async function sF(t,e){if(t.skills.length===0)return;let r=join(e,"skills");await k(r);for(let n of t.skills){let o=join(r,n.name);await k(o),await copyFile(n.source,join(o,"SKILL.md"));for(let s of n.supportingFiles){let a=join(o,s.relativePath);await k(dirname(a)),await copyFile(s.absolutePath,a);}}}i(sF,"writeSkills");async function iF(t,e){t.mcp!==null&&await S(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
290
- `),t.permissions!==null&&await S(join(e,"permissions.yaml"),stringify(t.permissions)),t.hooks!==null&&await S(join(e,"hooks.yaml"),stringify(t.hooks)),t.ignore.length>0&&await S(join(e,"ignore"),`${t.ignore.join(`
288
+ `);}i(Jw,"writeAgentsmeshWithNewExtend");async function Yw(t){let{configDir:e,config:r,entryArgs:n,dryRun:o}=t,s=PF(n);if(zw(r.extends,s),o){y.info(`[dry-run] Would add extend:
289
+ ${JSON.stringify(s,null,2)}`);return}let a=join(e,"agentsmesh.yaml");await Jw(a,r,s),y.success(`Wrote extends entry "${s.name}" to agentsmesh.yaml.`);}i(Yw,"writeInstallAsExtend");function PF(t){return {name:t.name,source:t.source,version:t.version,features:t.features,path:t.path,pick:t.pick,target:t.yamlTarget!==void 0?Jt.parse(t.yamlTarget):void 0}}i(PF,"toNewExtendEntry");E();E();var TF="pack.yaml";async function ec(t){let e=await P(t),r=[];for(let s of e.sort()){let a=relative(t,s).replace(/\\/g,"/");if(a===TF)continue;let l=await Fl(s);l!==null&&r.push(`${a}:${l}`);}let n=r.join(`
290
+ `);return `sha256:${Ti(n)}`}i(ec,"hashPackContent");async function FF(t,e){if(t.rules.length===0)return;let r=join(e,"rules");await k(r);for(let n of t.rules){let o=join(r,basename(n.source));await copyFile(n.source,o);}}i(FF,"writeRules");async function vF(t,e){if(t.commands.length===0)return;let r=join(e,"commands");await k(r);for(let n of t.commands){let o=join(r,basename(n.source));await copyFile(n.source,o);}}i(vF,"writeCommands");async function $F(t,e){if(t.agents.length===0)return;let r=join(e,"agents");await k(r);for(let n of t.agents){let o=join(r,basename(n.source));await copyFile(n.source,o);}}i($F,"writeAgents");async function MF(t,e){if(t.skills.length===0)return;let r=join(e,"skills");await k(r);for(let n of t.skills){let o=join(r,n.name);await k(o),await copyFile(n.source,join(o,"SKILL.md"));for(let s of n.supportingFiles){let a=join(o,s.relativePath);await k(dirname(a)),await copyFile(s.absolutePath,a);}}}i(MF,"writeSkills");async function GF(t,e){t.mcp!==null&&await _(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
291
+ `),t.permissions!==null&&await _(join(e,"permissions.yaml"),stringify(t.permissions)),t.hooks!==null&&await _(join(e,"hooks.yaml"),stringify(t.hooks)),t.ignore.length>0&&await _(join(e,"ignore"),`${t.ignore.join(`
291
292
  `)}
292
- `);}i(iF,"writeSettings");async function Pw(t,e,r,n){let o=join(t,`${e}.tmp`),s=join(t,e);await N(o)&&await rm$1(o,{recursive:true,force:true}),await k(o),await rF(r,o),await nF(r,o),await oF(r,o),await sF(r,o),await iF(r,o);let a=await Xl(o),l=kn({...n,content_hash:a});return await S(join(o,"pack.yaml"),stringify(l)),await N(s)&&await rm$1(s,{recursive:true,force:true}),await mkdir(t,{recursive:true}),await rename(o,s),l}i(Pw,"materializePack");E();function id(t,e){return [...new Set([...t,...e])]}i(id,"union");function lF(t,e){if(t.path===void 0&&t.paths===void 0||e===void 0)return {path:void 0,paths:void 0};let n=id(t.paths??(t.path?[t.path]:[]),[e]);return n.length===1?{path:n[0],paths:void 0}:{path:void 0,paths:n}}i(lF,"mergePathScope");function cF(t,e,r){let n={...t};for(let s of e)r&&r[s]!==void 0?n[s]=id(n[s]??[],r[s]):delete n[s];return (n.skills?.length??0)>0||(n.rules?.length??0)>0||(n.commands?.length??0)>0||(n.agents?.length??0)>0?n:void 0}i(cF,"mergePick");async function mF(t,e){if(t.rules.length===0)return;let r=join(e,"rules");await k(r);for(let n of t.rules)await copyFile(n.source,join(r,basename(n.source)));}i(mF,"mergeRules");async function uF(t,e){if(t.commands.length===0)return;let r=join(e,"commands");await k(r);for(let n of t.commands)await copyFile(n.source,join(r,basename(n.source)));}i(uF,"mergeCommands");async function pF(t,e){if(t.agents.length===0)return;let r=join(e,"agents");await k(r);for(let n of t.agents)await copyFile(n.source,join(r,basename(n.source)));}i(pF,"mergeAgents");async function dF(t,e){if(t.skills.length===0)return;let r=join(e,"skills");await k(r);for(let n of t.skills){let o=join(r,n.name);await k(o),await copyFile(n.source,join(o,"SKILL.md"));for(let s of n.supportingFiles){let a=join(o,s.relativePath);await k(dirname(a)),await copyFile(s.absolutePath,a);}}}i(dF,"mergeSkills");async function fF(t,e){t.mcp!==null&&await S(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
293
- `),t.permissions!==null&&await S(join(e,"permissions.yaml"),stringify(t.permissions)),t.hooks!==null&&await S(join(e,"hooks.yaml"),stringify(t.hooks)),t.ignore.length>0&&await S(join(e,"ignore"),`${t.ignore.join(`
293
+ `);}i(GF,"writeSettings");function jF(t){if(t.includes("/")||t.includes("\\")||t===".."||t==="."||t.includes("\0"))throw new Error(`Invalid pack name "${t}". Pack names must be a single directory segment without path separators.`)}i(jF,"validatePackName");async function Zw(t,e,r,n){jF(e);let o=join(t,`${e}.tmp`),s=join(t,e);await L(o)&&await rm$1(o,{recursive:true,force:true}),await k(o),await FF(r,o),await vF(r,o),await $F(r,o),await MF(r,o),await GF(r,o);let a=await ec(o),l=gn({...n,content_hash:a});return await _(join(o,"pack.yaml"),stringify(l)),await L(s)&&await rm$1(s,{recursive:true,force:true}),await mkdir(t,{recursive:true}),await rename(o,s),l}i(Zw,"materializePack");E();function hd(t,e){return [...new Set([...t,...e])]}i(hd,"union");function WF(t,e){if(t.path===void 0&&t.paths===void 0||e===void 0)return {path:void 0,paths:void 0};let n=hd(t.paths??(t.path?[t.path]:[]),[e]);return n.length===1?{path:n[0],paths:void 0}:{path:void 0,paths:n}}i(WF,"mergePathScope");function BF(t,e,r){let n={...t};for(let s of e)r&&r[s]!==void 0?n[s]=hd(n[s]??[],r[s]):delete n[s];return (n.skills?.length??0)>0||(n.rules?.length??0)>0||(n.commands?.length??0)>0||(n.agents?.length??0)>0?n:void 0}i(BF,"mergePick");async function KF(t,e){if(t.rules.length===0)return;let r=join(e,"rules");await k(r);for(let n of t.rules)await copyFile(n.source,join(r,basename(n.source)));}i(KF,"mergeRules");async function HF(t,e){if(t.commands.length===0)return;let r=join(e,"commands");await k(r);for(let n of t.commands)await copyFile(n.source,join(r,basename(n.source)));}i(HF,"mergeCommands");async function zF(t,e){if(t.agents.length===0)return;let r=join(e,"agents");await k(r);for(let n of t.agents)await copyFile(n.source,join(r,basename(n.source)));}i(zF,"mergeAgents");async function VF(t,e){if(t.skills.length===0)return;let r=join(e,"skills");await k(r);for(let n of t.skills){let o=join(r,n.name);await k(o),await copyFile(n.source,join(o,"SKILL.md"));for(let s of n.supportingFiles){let a=join(o,s.relativePath);await k(dirname(a)),await copyFile(s.absolutePath,a);}}}i(VF,"mergeSkills");async function JF(t,e){t.mcp!==null&&await _(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
294
+ `),t.permissions!==null&&await _(join(e,"permissions.yaml"),stringify(t.permissions)),t.hooks!==null&&await _(join(e,"hooks.yaml"),stringify(t.hooks)),t.ignore.length>0&&await _(join(e,"ignore"),`${t.ignore.join(`
294
295
  `)}
295
- `);}i(fF,"mergeSettings");async function xw(t,e,r,n,o,s){await mF(r,t),await uF(r,t),await pF(r,t),await dF(r,t),await fF(r,t);let a=id(e.features,n),l=cF(e.pick,n,o),c=lF(e,s?.path),m=await Xl(t),u=new Date().toISOString(),p=kn({...e,source:s?.source??e.source,...s?.version!==void 0?{version:s.version}:e.version!==void 0?{version:e.version}:{},features:a,pick:l,...s?.target!==void 0?{target:s.target}:e.target!==void 0?{target:e.target}:{},...c,...s?.as!==void 0?{as:s.as}:e.as!==void 0?{as:e.as}:{},updated_at:u,content_hash:m});return await S(join(t,"pack.yaml"),stringify(p)),p}i(xw,"mergeIntoPack");E();function hF(t){return t?{path:t,paths:void 0}:{path:void 0,paths:void 0}}i(hF,"pathScope");function yF(t,e){let r=new Set(e.skillNames),n=new Set(e.ruleSlugs),o=new Set(e.commandNames),s=new Set(e.agentNames);return {...t,skills:t.skills.filter(a=>r.has(a.name)),rules:t.rules.filter(a=>n.has(de(a))),commands:t.commands.filter(a=>o.has(a.name)),agents:t.agents.filter(a=>s.has(a.name))}}i(yF,"applySelection");async function bw(t){let{canonicalDir:e,packName:r,narrowed:n,selected:o,sourceForYaml:s,version:a,sourceKind:l,entryFeatures:c,pick:m,yamlTarget:u,pathInRepo:p,manualAs:d,renameExistingPack:f}=t,h=join(e,"packs"),C=yF(n,o),R=new Date().toISOString(),I=u!==void 0?Qt.parse(u):void 0,O=await pR(h,s,{target:I,as:d,features:c}),x=r,P=c,A=m,K=p,M;if(O){let B=O.packDir,Z=O.meta;if(f&&O.name!==r){let q=join(h,r);if(await N(q))throw new Error(`Auto-generated pack name "${r}" collides with an existing incompatible pack. Use --name to choose a different pack name.`);await rename(O.packDir,q),B=q,Z={...O.meta,name:r};}let it=await xw(B,Z,C,c,m,{source:s,...a!==void 0?{version:a}:{},...I!==void 0?{target:I}:{},...p?{path:p}:{},...d!==void 0?{as:d}:{}});x=it.name,P=it.features,A=it.pick,K=it.path,M=it.paths,_.success(`Updated pack "${it.name}" in .agentsmesh/packs/.`);}else {if(await xl(join(h,r)))throw new Error(`Auto-generated pack name "${r}" collides with an existing incompatible pack. Use --name to choose a different pack name.`);await Pw(h,r,C,{name:r,source:s,...a!==void 0&&{version:a},source_kind:l,installed_at:R,updated_at:R,features:c,...m!==void 0&&{pick:m},...I!==void 0&&{target:I},...hF(p),...d!==void 0&&{as:d}}),_.success(`Installed pack "${r}" to .agentsmesh/packs/.`);}await $k(e,Mk({name:x,source:s,version:a,sourceKind:l,features:P,pick:A,target:I,path:K,paths:M,as:d})),l!=="local"&&await Vd(s);}i(bw,"installAsPack");function SF(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}i(SF,"sanitize");function _F(t){try{let r=new URL(t.replace(/^git\+/,"https://").replace(/^ssh:\/\/git@/,"https://")).pathname.split("/").filter(Boolean);if(r.length===0)return "repo";let n=r[r.length-1].replace(/\.git$/i,"");return r.length>=2?`${r[r.length-2].replace(/\.git$/i,"")}-${n}`:n}catch{return "repo"}}i(_F,"gitUrlLastSegments");function Aw(t,e,r){let n;if(t.kind==="local"){let l=(t.localRoot??"local").split(/[/\\]/).filter(Boolean);n=l[l.length-1]??"local";}else t.kind==="github"&&t.org&&t.repo?n=`${t.org}-${t.repo}`:t.kind==="gitlab"&&t.org&&t.repo?n=`${t.org.replace(/\//g,"-")}-${t.repo}`:t.gitRemoteUrl?n=_F(t.gitRemoteUrl):n="extend";e.featureHint?n=`${n}-${e.featureHint}`:n=`${n}-pack`;let o=SF(n)||"extend";if(!r.has(o))return o;let s=2;for(;r.has(`${o}-${s}`);)s++;return `${o}-${s}`}i(Aw,"suggestExtendName");function Tw(t){let{config:e,parsed:r,entryFeatures:n,nameOverride:o}=t,s=new Set(e.extends.map(a=>a.name));return o||Aw(r,{featureHint:n.length===1?n[0]:void 0},s)}i(Tw,"selectInstallEntryName");function Lw(t,e,r){if(!r?.features&&!r?.pick)return {narrowed:t,discoveredFeatures:e};let n=Os(t,{scopedFeatures:r.features,implicitPick:r.pick});return {narrowed:n,discoveredFeatures:ho(n)}}i(Lw,"applyReplayInstallScope");async function Nw(t){let{scope:e,force:r,dryRun:n,tty:o,useExtends:s,nameOverride:a,explicitAs:l,config:c,context:m,parsed:u,sourceForYaml:p,version:d,pathInRepo:f,persisted:h,replay:C,prep:R,implicitPick:I,narrowed:O,discoveredFeatures:x}=t,{narrowed:P,discoveredFeatures:A}=Lw(O,x,C);if(!pw(P))throw new Error(I||R.scopedFeatures?"No resources match the install path or implicit selection (check pick names exist at that path).":"No supported resources found to install (skills, rules, commands, agents).");let K=await dw(P,r,n,o),M=await fw(P,r,n,o),B=await gw(P,r,n,o),Z=await hw(P,r,n,o),it={skills:K.length,rules:M.length,commands:B.length,agents:Z.length},{canonical:q}=await me(c,m.configDir,{},m.canonicalDir),Zt=!r&&!n&&o?await yw(q,{skills:K,rules:M,commands:B,agents:Z}):{skillNames:K.map(qt=>qt.name),ruleSlugs:M.map(qt=>de(qt)),commandNames:B.map(qt=>qt.name),agentNames:Z.map(qt=>qt.name)};Cw({selected:Zt,discoveredFeatures:A,preConflict:it});let at=C?.features??_w(A,Zt);if(at.length===0)throw new Error("No features left to install after selection.");let gt=Iw(C?.pick,Zt)??h.pick??Sw({pathInRepo:h.pathInRepo??f,implicitPick:I,preConflictCounts:it,selected:Zt}),Ut=Tw({config:c,parsed:u,entryFeatures:at,nameOverride:a});if(s){if(await Ow({configDir:m.configDir,config:c,entryArgs:{name:Ut,source:p,version:d,features:at,path:h.pathInRepo,pick:gt,yamlTarget:R.yamlTarget},dryRun:n}),n)return}else {if(n){_.info(`[dry-run] Would install pack "${Ut}" to ${e==="global"?"~/.agentsmesh/packs/.":".agentsmesh/packs/."}`);return}await bw({canonicalDir:m.canonicalDir,packName:Ut,narrowed:P,selected:Zt,sourceForYaml:p,version:d,sourceKind:u.kind,entryFeatures:at,pick:gt,yamlTarget:R.yamlTarget,pathInRepo:h.pathInRepo,manualAs:l,renameExistingPack:a===""});}await ks(e==="global"?{global:true}:{},m.rootBase)!==0&&_.warn(`Generate failed after install. Fix the issue and run agentsmesh generate${e==="global"?" --global":""}.`);}i(Nw,"executeRunInstallPoolsAndWrite");async function ld(t,e,r,n){let{sync:o,dryRun:s,force:a,useExtends:l,explicitPath:c,explicitTarget:m,explicitAs:u,nameOverride:p}=jk(t),d=t.global===true?"global":"project",f=e[0]?.trim();if(o){let{context:Zt}=await lt(r,d);if(await Gk({sync:o,canonicalDir:Zt.canonicalDir,reinstall:i(async at=>{let gt=at.paths&&at.paths.length>0?at.paths:[at.path];for(let Ut of gt)await ld({...a?{force:true}:{},...s?{"dry-run":true}:{},...d==="global"?{global:true}:{},name:at.name,...at.target?{target:at.target}:{},...Ut?{path:Ut}:{},...at.as?{as:at.as}:{}},[at.source],r,{features:at.features,pick:at.pick});},"reinstall")}))return}if(!f)throw new Error("Missing source. Usage: agentsmesh install <source> [--path ...] [--target ...]");let h=process.stdin.isTTY;if(!h&&!a&&!s)throw new Error("Non-interactive terminal: use --force or --dry-run for agentsmesh install.");let{config:C,context:R}=await lt(r,d),I=await Yp(f,R.configDir,c);if(I.kind!=="local"&&!await bk())throw new Error("git is required for remote installs. Please install git and try again.");let{resolvedPath:O,sourceForYaml:x,version:P}=await Lk(I,f),A=I.pathInRepo.replace(/^\/+|\/+$/g,""),K=A?join(O,A):O;if(!await N(K))throw new Error(`Install path does not exist: ${K}`);let M=await mw({as:u,contentRoot:K,pathInRepo:A}),{prep:B,implicitPick:Z,narrowed:it,discoveredFeatures:q}=await lw({resolvedPath:O,contentRoot:K,pathInRepo:A,explicitTarget:m,explicitAs:u,replayPick:n?.pick});try{await Nw({scope:d,force:a,dryRun:s,tty:h,useExtends:l,nameOverride:p,explicitAs:u,config:C,context:R,parsed:I,sourceForYaml:x,version:P,pathInRepo:A,persisted:M,replay:n,prep:B,implicitPick:Z,narrowed:it,discoveredFeatures:q});}finally{B.cleanup&&await B.cleanup();}}i(ld,"runInstall");async function Dw(t,e,r){await ld(t,e,r);}i(Dw,"runInstall");E();var ud="agentsmesh.yaml";async function pd(t){let e=join(t,ud),r=await y(e);return r===null?{}:parse(r)??{}}i(pd,"readScopedConfigRaw");async function vw(t,e){let r=join(t,ud),n=await y(r)??`version: 1
296
- `,o=parse(n)??{};if(o.plugins||(o.plugins=[]),o.plugins.some(a=>a.id===e.id))return;let s={id:e.id,source:e.source};e.version!==void 0&&(s.version=e.version),o.plugins.push(s),await S(r,stringify(o));}i(vw,"writePluginEntry");async function $w(t,e){let r=join(t,ud),n=await y(r);if(n===null)return false;let o=parse(n)??{},s=(o.plugins??[]).length;o.plugins=(o.plugins??[]).filter(l=>l.id!==e),o.pluginTargets&&(o.pluginTargets=o.pluginTargets.filter(l=>l!==e));let a=o.plugins.length<s;return a&&await S(r,stringify(o)),a}i($w,"removePluginEntry");async function Gw(t,e,r){let n=e[0];if(n===void 0||n==="")return Mw(),0;switch(n){case "add":return RF(t,e.slice(1),r);case "list":return kF(r);case "remove":return wF(e.slice(1),r);case "info":return OF(e.slice(1),r);default:return _.error(`Unknown plugin subcommand: ${n}`),Mw(),2}}i(Gw,"runPlugin");async function RF(t,e,r){let n=e[0];if(!n)return _.error("Usage: agentsmesh plugin add <source> [--version <v>] [--id <id>]"),2;let o=typeof t.version=="string"?t.version:void 0,a=(typeof t.id=="string"?t.id:void 0)??EF(n);try{await vw(r,{id:a,source:n,version:o});}catch(l){return _.error(`Failed to update config: ${l instanceof Error?l.message:String(l)}`),1}return _.success(`Plugin '${a}' added to agentsmesh.yaml`),_.info(`Next: npm install ${n}${o!==void 0?`@${o}`:"@latest"}`),_.info(`Then add '${a}' to pluginTargets in agentsmesh.yaml to enable it.`),0}i(RF,"runPluginAdd");async function kF(t){let e;try{e=await pd(t);}catch(n){return _.error(`Failed to read config: ${n instanceof Error?n.message:String(n)}`),1}let r=e.plugins??[];if(r.length===0)return _.info("No plugins configured. Use: agentsmesh plugin add <source>"),0;_.info("Configured plugins:");for(let n of r){let o="\u2717",s="";try{let l=await Gl(n,t);o=l.descriptors.length>0?"\u2713":"\u2713 (0 descriptors)",s=l.descriptors.map(c=>c.id).join(", ");}catch{}let a=n.version!==void 0?`@${n.version}`:"";_.info(` ${n.id} | ${n.source}${a} | ${o} | ${s}`);}return 0}i(kF,"runPluginList");async function wF(t,e){let r=t[0];if(!r)return _.error("Usage: agentsmesh plugin remove <id>"),2;try{await $w(e,r)?_.success(`Plugin '${r}' removed from agentsmesh.yaml`):_.warn(`Plugin '${r}' was not found in agentsmesh.yaml`);}catch(n){return _.error(`Failed to update config: ${n instanceof Error?n.message:String(n)}`),1}return 0}i(wF,"runPluginRemove");async function OF(t,e){let r=t[0];if(!r)return _.error("Usage: agentsmesh plugin info <id>"),2;let n;try{n=await pd(e);}catch(a){return _.error(`Failed to read config: ${a instanceof Error?a.message:String(a)}`),1}let o=(n.plugins??[]).find(a=>a.id===r);if(!o)return _.error(`Plugin '${r}' not found in agentsmesh.yaml. Use: agentsmesh plugin add`),1;let s;try{s=await Gl(o,e);}catch(a){return _.error(`Failed to load plugin '${r}': ${a instanceof Error?a.message:String(a)}`),1}_.info(`Plugin: ${o.id}`),_.info(`Source: ${o.source}${o.version!==void 0?`@${o.version}`:""}`),_.info(`Descriptors: ${s.descriptors.length}`);for(let a of s.descriptors)_.info(` - ${a.id}: ${a.emptyImportMessage}`);return 0}i(OF,"runPluginInfo");function EF(t){let e=t;if(e.startsWith("@")){let n=e.indexOf("/");n!==-1&&(e=e.slice(n+1));}e.startsWith("agentsmesh-target-")&&(e=e.slice(18)),e.startsWith("file:")&&(e=e.slice(5));let r=e.replace(/\\/g,"/").split("/");return e=r[r.length-1]??e,e=e.replace(/\.(js|ts)$/,""),e=e.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),e||"plugin"}i(EF,"derivePluginId");function Mw(){_.info("Usage: agentsmesh plugin <subcommand> [args] [flags]"),_.info(""),_.info("Subcommands:"),_.info(" add <source> Register a plugin package in agentsmesh.yaml"),_.info(" list Show all configured plugins and load status"),_.info(" remove <id> Remove a plugin from agentsmesh.yaml"),_.info(" info <id> Show descriptor details for a configured plugin"),_.info(""),_.info("Flags (add):"),_.info(" --version <v> Pin plugin version"),_.info(" --id <id> Override derived plugin id");}i(Mw,"printPluginHelp");E();yr();function bs(t){return t.toUpperCase().replace(/-/g,"_")}i(bs,"toPrefix");function xs(t){return t.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join("")}i(xs,"toPascal");function jw(t){let e=bs(t.id);return `export const ${e}_TARGET = '${t.id}';
296
+ `);}i(JF,"mergeSettings");async function qw(t,e,r,n,o,s){await KF(r,t),await HF(r,t),await zF(r,t),await VF(r,t),await JF(r,t);let a=hd(e.features,n),l=BF(e.pick,n,o),c=WF(e,s?.path),m=await ec(t),u=new Date().toISOString(),p=gn({...e,source:s?.source??e.source,...s?.version!==void 0?{version:s.version}:e.version!==void 0?{version:e.version}:{},features:a,pick:l,...s?.target!==void 0?{target:s.target}:e.target!==void 0?{target:e.target}:{},...c,...s?.as!==void 0?{as:s.as}:e.as!==void 0?{as:e.as}:{},updated_at:u,content_hash:m});return await _(join(t,"pack.yaml"),stringify(p)),p}i(qw,"mergeIntoPack");E();function XF(t){return t?{path:t,paths:void 0}:{path:void 0,paths:void 0}}i(XF,"pathScope");function ZF(t,e){let r=new Set(e.skillNames),n=new Set(e.ruleSlugs),o=new Set(e.commandNames),s=new Set(e.agentNames);return {...t,skills:t.skills.filter(a=>r.has(a.name)),rules:t.rules.filter(a=>n.has(le(a))),commands:t.commands.filter(a=>o.has(a.name)),agents:t.agents.filter(a=>s.has(a.name))}}i(ZF,"applySelection");async function Qw(t){let{canonicalDir:e,packName:r,narrowed:n,selected:o,sourceForYaml:s,version:a,sourceKind:l,entryFeatures:c,pick:m,yamlTarget:u,pathInRepo:p,manualAs:d,renameExistingPack:g}=t,h=join(e,"packs"),R=ZF(n,o),C=new Date().toISOString(),S=u!==void 0?Jt.parse(u):void 0,w=await NC(h,s,{target:S,as:d,features:c}),D=r,b=c,x=m,K=p,M;if(w){let W=w.packDir,q=w.meta;if(g&&w.name!==r){let et=join(h,r);if(await L(et))throw new Error(`Auto-generated pack name "${r}" collides with an existing incompatible pack. Use --name to choose a different pack name.`);await rename(w.packDir,et),W=et,q={...w.meta,name:r};}let mt=await qw(W,q,R,c,m,{source:s,...a!==void 0?{version:a}:{},...S!==void 0?{target:S}:{},...p?{path:p}:{},...d!==void 0?{as:d}:{}});D=mt.name,b=mt.features,x=mt.pick,K=mt.path,M=mt.paths,y.success(`Updated pack "${mt.name}" in .agentsmesh/packs/.`);}else {if(await Nl(join(h,r)))throw new Error(`Auto-generated pack name "${r}" collides with an existing incompatible pack. Use --name to choose a different pack name.`);await Zw(h,r,R,{name:r,source:s,...a!==void 0&&{version:a},source_kind:l,installed_at:C,updated_at:C,features:c,...m!==void 0&&{pick:m},...S!==void 0&&{target:S},...XF(p),...d!==void 0&&{as:d}}),y.success(`Installed pack "${r}" to .agentsmesh/packs/.`);}await aw(e,lw({name:D,source:s,version:a,sourceKind:l,features:b,pick:x,target:S,path:K,paths:M,as:d})),l!=="local"&&await nf(s);}i(Qw,"installAsPack");function QF(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}i(QF,"sanitize");function tv(t){try{let r=new URL(t.replace(/^git\+/,"https://").replace(/^ssh:\/\/git@/,"https://")).pathname.split("/").filter(Boolean);if(r.length===0)return "repo";let n=r[r.length-1].replace(/\.git$/i,"");return r.length>=2?`${r[r.length-2].replace(/\.git$/i,"")}-${n}`:n}catch{return "repo"}}i(tv,"gitUrlLastSegments");function tO(t,e,r){let n;if(t.kind==="local"){let l=(t.localRoot??"local").split(/[/\\]/).filter(Boolean);n=l[l.length-1]??"local";}else t.kind==="github"&&t.org&&t.repo?n=`${t.org}-${t.repo}`:t.kind==="gitlab"&&t.org&&t.repo?n=`${t.org.replace(/\//g,"-")}-${t.repo}`:t.gitRemoteUrl?n=tv(t.gitRemoteUrl):n="extend";e.featureHint?n=`${n}-${e.featureHint}`:n=`${n}-pack`;let o=QF(n)||"extend";if(!r.has(o))return o;let s=2;for(;r.has(`${o}-${s}`);)s++;return `${o}-${s}`}i(tO,"suggestExtendName");function eO(t){let{config:e,parsed:r,entryFeatures:n,nameOverride:o}=t,s=new Set(e.extends.map(a=>a.name));return o||tO(r,{featureHint:n.length===1?n[0]:void 0},s)}i(eO,"selectInstallEntryName");function rO(t,e,r){if(!r?.features&&!r?.pick)return {narrowed:t,discoveredFeatures:e};let n=gs(t,{scopedFeatures:r.features,implicitPick:r.pick});return {narrowed:n,discoveredFeatures:so(n)}}i(rO,"applyReplayInstallScope");async function nO(t){let{scope:e,force:r,dryRun:n,tty:o,useExtends:s,nameOverride:a,explicitAs:l,config:c,context:m,parsed:u,sourceForYaml:p,version:d,pathInRepo:g,persisted:h,replay:R,prep:C,implicitPick:S,narrowed:w,discoveredFeatures:D}=t,{narrowed:b,discoveredFeatures:x}=rO(w,D,R);if(!vw(b))throw new Error(S||C.scopedFeatures?"No resources match the install path or implicit selection (check pick names exist at that path).":"No supported resources found to install (skills, rules, commands, agents).");let K=await $w(b,r,n,o),M=await Mw(b,r,n,o),W=await Gw(b,r,n,o),q=await jw(b,r,n,o),mt={skills:K.length,rules:M.length,commands:W.length,agents:q.length},{canonical:et}=await se(c,m.configDir,{},m.canonicalDir),Ft=!r&&!n&&o?await Uw(et,{skills:K,rules:M,commands:W,agents:q}):{skillNames:K.map(Vt=>Vt.name),ruleSlugs:M.map(Vt=>le(Vt)),commandNames:W.map(Vt=>Vt.name),agentNames:q.map(Vt=>Vt.name)};Hw({selected:Ft,discoveredFeatures:x,preConflict:mt});let it=R?.features??Kw(x,Ft);if(it.length===0)throw new Error("No features left to install after selection.");let ft=Ww(R?.pick,Ft)??h.pick??Bw({pathInRepo:h.pathInRepo??g,implicitPick:S,preConflictCounts:mt,selected:Ft}),vt=eO({config:c,parsed:u,entryFeatures:it,nameOverride:a});if(s){if(await Yw({configDir:m.configDir,config:c,entryArgs:{name:vt,source:p,version:d,features:it,path:h.pathInRepo,pick:ft,yamlTarget:C.yamlTarget},dryRun:n}),n)return}else {if(n){y.info(`[dry-run] Would install pack "${vt}" to ${e==="global"?"~/.agentsmesh/packs/.":".agentsmesh/packs/."}`);return}await Qw({canonicalDir:m.canonicalDir,packName:vt,narrowed:b,selected:Ft,sourceForYaml:p,version:d,sourceKind:u.kind,entryFeatures:it,pick:ft,yamlTarget:C.yamlTarget,pathInRepo:h.pathInRepo,manualAs:l,renameExistingPack:a===""});}await ds(e==="global"?{global:true}:{},m.rootBase)!==0&&y.warn(`Generate failed after install. Fix the issue and run agentsmesh generate${e==="global"?" --global":""}.`);}i(nO,"executeRunInstallPoolsAndWrite");async function Id(t,e,r,n){let{sync:o,dryRun:s,force:a,useExtends:l,explicitPath:c,explicitTarget:m,explicitAs:u,nameOverride:p}=mw(t),d=t.global===true?"global":"project",g=e[0]?.trim();if(o){let{context:Ft}=await at(r,d);if(await cw({sync:o,canonicalDir:Ft.canonicalDir,reinstall:i(async it=>{let ft=it.paths&&it.paths.length>0?it.paths:[it.path];for(let vt of ft)await Id({...a?{force:true}:{},...s?{"dry-run":true}:{},...d==="global"?{global:true}:{},name:it.name,...it.target?{target:it.target}:{},...vt?{path:vt}:{},...it.as?{as:it.as}:{}},[it.source],r,{features:it.features,pick:it.pick});},"reinstall")}))return}if(!g)throw new Error("Missing source. Usage: agentsmesh install <source> [--path ...] [--target ...]");let h=process.stdin.isTTY;if(!h&&!a&&!s)throw new Error("Non-interactive terminal: use --force or --dry-run for agentsmesh install.");let{config:R,context:C}=await at(r,d),S=await sd(g,C.configDir,c);if(S.kind!=="local"&&!await Qk())throw new Error("git is required for remote installs. Please install git and try again.");let{resolvedPath:w,sourceForYaml:D,version:b}=await rw(S,g),x=S.pathInRepo.replace(/^\/+|\/+$/g,"");if(x){let Ft=normalize(x).replace(/\\/g,"/");if(Ft===".."||Ft.startsWith("../"))throw new Error(`Install --path "${S.pathInRepo}" escapes the source root. Path must stay within the source.`)}let K=x?join(w,x):w;if(!await L(K))throw new Error(`Install path does not exist: ${K}`);let M=await Dw({as:u,contentRoot:K,pathInRepo:x}),{prep:W,implicitPick:q,narrowed:mt,discoveredFeatures:et}=await Lw({resolvedPath:w,contentRoot:K,pathInRepo:x,explicitTarget:m,explicitAs:u,replayPick:n?.pick});try{await nO({scope:d,force:a,dryRun:s,tty:h,useExtends:l,nameOverride:p,explicitAs:u,config:R,context:C,parsed:S,sourceForYaml:D,version:b,pathInRepo:x,persisted:M,replay:n,prep:W,implicitPick:q,narrowed:mt,discoveredFeatures:et});}finally{W.cleanup&&await W.cleanup();}}i(Id,"runInstall");async function oO(t,e,r){await Id(t,e,r);}i(oO,"runInstall");E();var Rd="agentsmesh.yaml";async function Cd(t){let e=join(t,Rd),r=await I(e);return r===null?{}:parse(r)??{}}i(Cd,"readScopedConfigRaw");async function iO(t,e){let r=join(t,Rd),n=await I(r)??`version: 1
297
+ `,o=parse(n)??{};if(o.plugins||(o.plugins=[]),o.plugins.some(a=>a.id===e.id))return;let s={id:e.id,source:e.source};e.version!==void 0&&(s.version=e.version),o.plugins.push(s),await _(r,stringify(o));}i(iO,"writePluginEntry");async function aO(t,e){let r=join(t,Rd),n=await I(r);if(n===null)return false;let o=parse(n)??{},s=(o.plugins??[]).length;o.plugins=(o.plugins??[]).filter(l=>l.id!==e),o.pluginTargets&&(o.pluginTargets=o.pluginTargets.filter(l=>l!==e));let a=o.plugins.length<s;return a&&await _(r,stringify(o)),a}i(aO,"removePluginEntry");async function cO(t,e,r){let n=e[0];if(n===void 0||n==="")return lO(),0;switch(n){case "add":return nv(t,e.slice(1),r);case "list":return ov(r);case "remove":return sv(e.slice(1),r);case "info":return iv(e.slice(1),r);default:return y.error(`Unknown plugin subcommand: ${n}`),lO(),2}}i(cO,"runPlugin");async function nv(t,e,r){let n=e[0];if(!n)return y.error("Usage: agentsmesh plugin add <source> [--version <v>] [--id <id>]"),2;let o=typeof t.version=="string"?t.version:void 0,a=(typeof t.id=="string"?t.id:void 0)??av(n);try{await iO(r,{id:a,source:n,version:o});}catch(l){return y.error(`Failed to update config: ${l instanceof Error?l.message:String(l)}`),1}return y.success(`Plugin '${a}' added to agentsmesh.yaml`),y.warn("Plugins load as trusted Node.js modules and run with full process privileges. Only install plugins from sources you trust."),y.info(`Next: npm install ${n}${o!==void 0?`@${o}`:"@latest"}`),y.info(`Then add '${a}' to pluginTargets in agentsmesh.yaml to enable it.`),0}i(nv,"runPluginAdd");async function ov(t){let e;try{e=await Cd(t);}catch(n){return y.error(`Failed to read config: ${n instanceof Error?n.message:String(n)}`),1}let r=e.plugins??[];if(r.length===0)return y.info("No plugins configured. Use: agentsmesh plugin add <source>"),0;y.info("Configured plugins:");for(let n of r){let o="\u2717",s="";try{let l=await Kl(n,t);o=l.descriptors.length>0?"\u2713":"\u2713 (0 descriptors)",s=l.descriptors.map(c=>c.id).join(", ");}catch{}let a=n.version!==void 0?`@${n.version}`:"";y.info(` ${n.id} | ${n.source}${a} | ${o} | ${s}`);}return 0}i(ov,"runPluginList");async function sv(t,e){let r=t[0];if(!r)return y.error("Usage: agentsmesh plugin remove <id>"),2;try{await aO(e,r)?y.success(`Plugin '${r}' removed from agentsmesh.yaml`):y.warn(`Plugin '${r}' was not found in agentsmesh.yaml`);}catch(n){return y.error(`Failed to update config: ${n instanceof Error?n.message:String(n)}`),1}return 0}i(sv,"runPluginRemove");async function iv(t,e){let r=t[0];if(!r)return y.error("Usage: agentsmesh plugin info <id>"),2;let n;try{n=await Cd(e);}catch(a){return y.error(`Failed to read config: ${a instanceof Error?a.message:String(a)}`),1}let o=(n.plugins??[]).find(a=>a.id===r);if(!o)return y.error(`Plugin '${r}' not found in agentsmesh.yaml. Use: agentsmesh plugin add`),1;let s;try{s=await Kl(o,e);}catch(a){return y.error(`Failed to load plugin '${r}': ${a instanceof Error?a.message:String(a)}`),1}y.info(`Plugin: ${o.id}`),y.info(`Source: ${o.source}${o.version!==void 0?`@${o.version}`:""}`),y.info(`Descriptors: ${s.descriptors.length}`);for(let a of s.descriptors)y.info(` - ${a.id}: ${a.emptyImportMessage}`);return 0}i(iv,"runPluginInfo");function av(t){let e=t;if(e.startsWith("@")){let n=e.indexOf("/");n!==-1&&(e=e.slice(n+1));}e.startsWith("agentsmesh-target-")&&(e=e.slice(18)),e.startsWith("file:")&&(e=e.slice(5));let r=e.replace(/\\/g,"/").split("/");return e=r[r.length-1]??e,e=e.replace(/\.(js|ts)$/,""),e=e.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),e||"plugin"}i(av,"derivePluginId");function lO(){y.info("Usage: agentsmesh plugin <subcommand> [args] [flags]"),y.info(""),y.info("Subcommands:"),y.info(" add <source> Register a plugin package in agentsmesh.yaml"),y.info(" list Show all configured plugins and load status"),y.info(" remove <id> Remove a plugin from agentsmesh.yaml"),y.info(" info <id> Show descriptor details for a configured plugin"),y.info(""),y.info("Flags (add):"),y.info(" --version <v> Pin plugin version"),y.info(" --id <id> Override derived plugin id"),y.info(""),y.info("Note: plugins load as trusted Node.js modules and run with full process privileges."),y.info(" Only install plugins from sources you trust.");}i(lO,"printPluginHelp");E();lr();function Ss(t){return t.toUpperCase().replace(/-/g,"_")}i(Ss,"toPrefix");function Is(t){return t.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join("")}i(Is,"toPascal");function mO(t){let e=Ss(t.id);return `export const ${e}_TARGET = '${t.id}';
297
298
 
298
299
  // Project-level paths
299
300
  export const ${e}_DIR = '.${t.id}';
@@ -306,13 +307,13 @@ export const ${e}_GLOBAL_RULES_DIR = '~/.${t.id}/rules';
306
307
  // Canonical paths
307
308
  export const ${e}_CANONICAL_ROOT_RULE = '.agentsmesh/rules/_root.md';
308
309
  export const ${e}_CANONICAL_RULES_DIR = '.agentsmesh/rules';
309
- `}i(jw,"TEMPLATE_CONSTANTS");function Uw(t){let e=bs(t.id),r=xs(t.id);return `import type { TargetGenerators } from '../catalog/target.interface.js';
310
+ `}i(mO,"TEMPLATE_CONSTANTS");function uO(t){let e=Ss(t.id),r=Is(t.id);return `import type { TargetGenerators } from '../catalog/target.interface.js';
310
311
  import type { TargetDescriptor, TargetLayout } from '../catalog/target-descriptor.js';
311
312
  import { generateRules } from './generator.js';
312
313
  import { importFrom${r} } from './importer.js';
313
314
  import { lintRules } from './linter.js';
314
315
  import { lintHooks } from './lint.js';
315
- import { build${r}ImportPaths } from '../../core/reference/import-maps/${t.id}.js';
316
+ import { build${r}ImportPaths } from '../../core/reference/import-map-builders.js';
316
317
  import {
317
318
  ${e}_TARGET,
318
319
  ${e}_DIR,
@@ -403,21 +404,21 @@ export const descriptor = {
403
404
  buildImportPaths: build${r}ImportPaths,
404
405
  detectionPaths: [${e}_DIR],
405
406
  } satisfies TargetDescriptor;
406
- `}i(Uw,"TEMPLATE_INDEX");function Ww(t){let e=bs(t.id);return `import type { CanonicalFiles } from '../../core/types.js';
407
+ `}i(uO,"TEMPLATE_INDEX");function pO(t){let e=Ss(t.id);return `import type { CanonicalFiles } from '../../core/types.js';
407
408
  import { ${e}_TARGET, ${e}_DIR } from './constants.js';
408
409
 
409
- export interface ${xs(t.id)}Output {
410
+ export interface ${Is(t.id)}Output {
410
411
  path: string;
411
412
  content: string;
412
413
  }
413
414
 
414
- export function generateRules(_canonical: CanonicalFiles): ${xs(t.id)}Output[] {
415
+ export function generateRules(_canonical: CanonicalFiles): ${Is(t.id)}Output[] {
415
416
  // TODO(agentsmesh-scaffold): implement generateRules for ${t.displayName}
416
417
  void ${e}_TARGET;
417
418
  void ${e}_DIR;
418
419
  return [];
419
420
  }
420
- `}i(Ww,"TEMPLATE_GENERATOR");function Bw(t){let e=xs(t.id),r=bs(t.id);return `import type { ImportResult } from '../../core/types.js';
421
+ `}i(pO,"TEMPLATE_GENERATOR");function dO(t){let e=Is(t.id),r=Ss(t.id);return `import type { ImportResult } from '../../core/types.js';
421
422
  import type { TargetLayoutScope } from '../catalog/target-descriptor.js';
422
423
  import { ${r}_TARGET } from './constants.js';
423
424
 
@@ -429,7 +430,7 @@ export async function importFrom${e}(
429
430
  void ${r}_TARGET;
430
431
  return [];
431
432
  }
432
- `}i(Bw,"TEMPLATE_IMPORTER");function Kw(t){let e=bs(t.id);return `/** Lint rules for the ${t.id} target. */
433
+ `}i(dO,"TEMPLATE_IMPORTER");function fO(t){let e=Ss(t.id);return `/** Lint rules for the ${t.id} target. */
433
434
  import type { CanonicalFiles, LintDiagnostic } from '../../core/types.js';
434
435
  import { validateRules } from '../../core/lint/validate-rules.js';
435
436
  import { ${e}_TARGET } from './constants.js';
@@ -447,7 +448,7 @@ export function lintRules(
447
448
  target: ${e}_TARGET,
448
449
  }));
449
450
  }
450
- `}i(Kw,"TEMPLATE_LINTER");function Hw(t){return `/**
451
+ `}i(fO,"TEMPLATE_LINTER");function gO(t){return `/**
451
452
  * ${t.displayName}-specific lint hooks.
452
453
  */
453
454
 
@@ -457,7 +458,7 @@ export function lintHooks(_canonical: CanonicalFiles): LintDiagnostic[] {
457
458
  // TODO(agentsmesh-scaffold): implement target-specific hook validation for ${t.displayName}
458
459
  return [];
459
460
  }
460
- `}i(Hw,"TEMPLATE_LINT_HOOKS");function zw(t){let e=xs(t.id),r=bs(t.id);return `import type { TargetLayoutScope } from '../../../targets/catalog/target-descriptor.js';
461
+ `}i(gO,"TEMPLATE_LINT_HOOKS");function hO(t){let e=Is(t.id),r=Ss(t.id);return `import type { TargetLayoutScope } from '../../../targets/catalog/target-descriptor.js';
461
462
  import { ${r}_DIR } from '../../../targets/${t.id}/constants.js';
462
463
 
463
464
  export async function build${e}ImportPaths(
@@ -469,7 +470,7 @@ export async function build${e}ImportPaths(
469
470
  // Reference: src/core/reference/import-maps/kiro.ts for a full example
470
471
  void ${r}_DIR;
471
472
  }
472
- `}i(zw,"TEMPLATE_IMPORT_MAP");function Vw(t){return `import { describe, it, expect } from 'vitest';
473
+ `}i(hO,"TEMPLATE_IMPORT_MAP");function yO(t){return `import { describe, it, expect } from 'vitest';
473
474
  import type { CanonicalFiles } from '../../../../src/core/types.js';
474
475
  import { generateRules } from '../../../../src/targets/${t.id}/generator.js';
475
476
 
@@ -498,7 +499,7 @@ describe('generateRules (${t.id})', () => {
498
499
  expect(result).toHaveLength(0);
499
500
  });
500
501
  });
501
- `}i(Vw,"TEMPLATE_GENERATOR_TEST");function Jw(t){let e=xs(t.id);return `import { describe, it, expect } from 'vitest';
502
+ `}i(yO,"TEMPLATE_GENERATOR_TEST");function IO(t){let e=Is(t.id);return `import { describe, it, expect } from 'vitest';
502
503
  import { importFrom${e} } from '../../../../src/targets/${t.id}/importer.js';
503
504
 
504
505
  describe('importFrom${e} (${t.id})', () => {
@@ -512,7 +513,7 @@ describe('importFrom${e} (${t.id})', () => {
512
513
  expect(result).toHaveLength(0);
513
514
  });
514
515
  });
515
- `}i(Jw,"TEMPLATE_IMPORTER_TEST");function Yw(t){return `# ${t.displayName} Workspace
516
+ `}i(IO,"TEMPLATE_IMPORTER_TEST");function SO(t){return `# ${t.displayName} Workspace
516
517
 
517
518
  Follow the ${t.displayName} configuration files and keep changes small.
518
- `}i(Yw,"TEMPLATE_FIXTURE_ROOT_MD");var xF=/^[a-z][a-z0-9-]*$/;async function Xw(t){let{id:e,projectRoot:r,force:n=false}=t,o=t.displayName??e,s={id:e,displayName:o};if(!xF.test(e))throw new Error(`Invalid target id "${e}". Must match /^[a-z][a-z0-9-]*$/ (lowercase letters, digits, hyphens; start with a letter).`);if(ht.includes(e))throw new Error(`Target "${e}" already exists as a built-in target. Choose a different id.`);let a=[{rel:`src/targets/${e}/constants.ts`,content:jw(s)},{rel:`src/targets/${e}/index.ts`,content:Uw(s)},{rel:`src/targets/${e}/generator.ts`,content:Ww(s)},{rel:`src/targets/${e}/importer.ts`,content:Bw(s)},{rel:`src/targets/${e}/linter.ts`,content:Kw(s)},{rel:`src/targets/${e}/lint.ts`,content:Hw(s)},{rel:`src/core/reference/import-maps/${e}.ts`,content:zw(s)},{rel:`tests/unit/targets/${e}/generator.test.ts`,content:Vw(s)},{rel:`tests/unit/targets/${e}/importer.test.ts`,content:Jw(s)},{rel:`tests/e2e/fixtures/${e}-project/AGENTS.md`,content:Yw(s)}],l=[],c=[];for(let u of a){let p=join(r,u.rel);if(!n&&await N(p)){c.push(p);continue}await S(p,u.content),l.push(p);}let m=[`1. Add '${e}' to TARGET_IDS in src/targets/catalog/target-ids.ts`,"2. Add descriptor import + entry to src/targets/catalog/builtin-targets.ts","3. Add export to src/core/reference/import-maps/index.ts",`4. Run: pnpm typecheck && pnpm test -- tests/unit/targets/${e}`,"5. Run: pnpm schemas:generate && pnpm matrix:generate",`6. Fill in TODO(agentsmesh-scaffold) markers in src/targets/${e}/`];return {written:l,skipped:c,postSteps:m}}i(Xw,"writeTargetScaffold");async function qw(t,e,r){let n=e[0];return n===void 0||n===""?(Zw(),0):n==="scaffold"?bF(t,e.slice(1),r):(_.error(`Unknown target subcommand: ${n}`),Zw(),2)}i(qw,"runTarget");async function bF(t,e,r){let n=e[0];if(!n)return _.error("Usage: agentsmesh target scaffold <id> [--name <displayName>] [--force]"),2;let o=typeof t.name=="string"?t.name:void 0,s=t.force===true,a;try{a=await Xw({id:n,displayName:o,projectRoot:r,force:s});}catch(l){return _.error(l instanceof Error?l.message:String(l)),1}if(a.written.length>0)for(let l of a.written){let c=l.startsWith(r)?l.slice(r.length+1):l;_.success(`created ${c}`);}if(a.skipped.length>0)for(let l of a.skipped){let c=l.startsWith(r)?l.slice(r.length+1):l;_.warn(`skipped ${c} (already exists \u2014 use --force to overwrite)`);}if(a.written.length>0){_.info(""),_.info("Next steps:");for(let l of a.postSteps)_.info(` ${l}`);}return 0}i(bF,"runScaffold");function Zw(){_.info("Usage: agentsmesh target <subcommand> [args] [flags]"),_.info(""),_.info("Subcommands:"),_.info(" scaffold <id> Generate a new target skeleton (files, tests, fixture)"),_.info(""),_.info("Flags (scaffold):"),_.info(" --name <displayName> Human-readable name (defaults to id)"),_.info(" --force Overwrite existing files");}i(Zw,"printTargetHelp");function LF(t){let e={},r=[],n="help";for(let o=0;o<t.length;o++){let s=t[o];if(n==="help"&&s==="--version")return {command:"version",flags:{},args:[]};if(n==="help"&&s==="--help")return {command:"help",flags:{},args:[]};if(s.startsWith("--")){let a=s.slice(2),l=t[o+1];l===void 0||l.startsWith("--")?e[a]=true:(e[a]=l,o++);continue}n==="help"?n=s:r.push(s);}return {command:n,flags:e,args:r}}i(LF,"parseArgs");var NF=["init","generate","import","diff","lint","watch","check","merge","matrix","install","plugin","target"];function DF(t){return async(e,r)=>{_.info(`Not implemented yet: ${t}`);}}i(DF,"stub");var FF={...Object.fromEntries(NF.map(t=>[t,DF(t)])),generate:i(async(t,e)=>{let r=await ks(t);r!==0&&process.exit(r);},"generate"),init:i(async(t,e)=>{await pk(process.cwd(),{yes:t.yes===true,global:t.global===true});},"init"),import:i((t,e)=>fk(t),"import"),diff:i((t,e)=>Ik(t),"diff"),lint:i(async(t,e)=>{let r=await Ck(t);r!==0&&process.exit(r);},"lint"),check:i(async(t,e)=>{let r=await Ok(t);r!==0&&process.exit(r);},"check"),merge:i((t,e)=>xk(t),"merge"),matrix:i((t,e)=>go(t),"matrix"),watch:i(async(t,e)=>{let r=await kk(t),n=i(()=>{r.stop().then(()=>process.exit(0));},"stop");process.on("SIGINT",n),process.on("SIGTERM",n);},"watch"),install:i((t,e)=>Dw(t,e,process.cwd()),"install"),plugin:i(async(t,e)=>{let r=await Gw(t,e,process.cwd());r!==0&&process.exit(r);},"plugin"),target:i(async(t,e)=>{let r=await qw(t,e,process.cwd());r!==0&&process.exit(r);},"target")},vF=hd(FF);async function $F(t){let{command:e,flags:r,args:n}=t;if(e==="help"){_d();return}if(e==="version"){kd();return}await vF.route(e,r,n);}i($F,"main");function MF(){let t=process.argv[1];if(!t)return false;let e=fileURLToPath(import.meta.url);try{let r=resolve(process.cwd(),t);return r===e||realpathSync(r)===realpathSync(e)}catch{return t.endsWith("cli.js")||t.includes("agentsmesh")}}i(MF,"isMainModule");if(MF()){let t=LF(process.argv.slice(2));$F(t).catch(e=>wd(e instanceof Error?e:new Error(String(e)),{verbose:t.flags.verbose===true}));}export{LF as parseArgs};
519
+ `}i(SO,"TEMPLATE_FIXTURE_ROOT_MD");var cv=/^[a-z][a-z0-9-]*$/;async function _O(t){let{id:e,projectRoot:r,force:n=false}=t,o=t.displayName??e,s={id:e,displayName:o};if(!cv.test(e))throw new Error(`Invalid target id "${e}". Must match /^[a-z][a-z0-9-]*$/ (lowercase letters, digits, hyphens; start with a letter).`);if(ht.includes(e))throw new Error(`Target "${e}" already exists as a built-in target. Choose a different id.`);let a=[{rel:`src/targets/${e}/constants.ts`,content:mO(s)},{rel:`src/targets/${e}/index.ts`,content:uO(s)},{rel:`src/targets/${e}/generator.ts`,content:pO(s)},{rel:`src/targets/${e}/importer.ts`,content:dO(s)},{rel:`src/targets/${e}/linter.ts`,content:fO(s)},{rel:`src/targets/${e}/lint.ts`,content:gO(s)},{rel:`src/core/reference/import-maps/${e}.ts`,content:hO(s)},{rel:`tests/unit/targets/${e}/generator.test.ts`,content:yO(s)},{rel:`tests/unit/targets/${e}/importer.test.ts`,content:IO(s)},{rel:`tests/e2e/fixtures/${e}-project/AGENTS.md`,content:SO(s)}],l=[],c=[];for(let u of a){let p=join(r,u.rel);if(!n&&await L(p)){c.push(p);continue}await _(p,u.content),l.push(p);}let m=["1. Run: pnpm catalog:generate (auto-discovers the new target \u2014 updates IDs, descriptors, and import-map barrel)",`2. Fill in TODO(agentsmesh-scaffold) markers in src/targets/${e}/`,`3. Run: pnpm typecheck && pnpm test -- tests/unit/targets/${e}`,"4. Run: pnpm schemas:generate && pnpm matrix:generate"];return {written:l,skipped:c,postSteps:m}}i(_O,"writeTargetScaffold");async function CO(t,e,r){let n=e[0];return n===void 0||n===""?(RO(),0):n==="scaffold"?mv(t,e.slice(1),r):(y.error(`Unknown target subcommand: ${n}`),RO(),2)}i(CO,"runTarget");async function mv(t,e,r){let n=e[0];if(!n)return y.error("Usage: agentsmesh target scaffold <id> [--name <displayName>] [--force]"),2;let o=typeof t.name=="string"?t.name:void 0,s=t.force===true,a;try{a=await _O({id:n,displayName:o,projectRoot:r,force:s});}catch(l){return y.error(l instanceof Error?l.message:String(l)),1}if(a.written.length>0)for(let l of a.written){let c=l.startsWith(r)?l.slice(r.length+1):l;y.success(`created ${c.replaceAll("\\","/")}`);}if(a.skipped.length>0)for(let l of a.skipped){let c=l.startsWith(r)?l.slice(r.length+1):l;y.warn(`skipped ${c.replaceAll("\\","/")} (already exists \u2014 use --force to overwrite)`);}if(a.written.length>0){y.info(""),y.info("Next steps:");for(let l of a.postSteps)y.info(` ${l}`);}return 0}i(mv,"runScaffold");function RO(){y.info("Usage: agentsmesh target <subcommand> [args] [flags]"),y.info(""),y.info("Subcommands:"),y.info(" scaffold <id> Generate a new target skeleton (files, tests, fixture)"),y.info(""),y.info("Flags (scaffold):"),y.info(" --name <displayName> Human-readable name (defaults to id)"),y.info(" --force Overwrite existing files");}i(RO,"printTargetHelp");function dv(t){let e={},r=[],n="help";for(let o=0;o<t.length;o++){let s=t[o];if(n==="help"&&s==="--version")return {command:"version",flags:{},args:[]};if(n==="help"&&s==="--help")return {command:"help",flags:{},args:[]};if(s.startsWith("--")){let a=s.slice(2),l=t[o+1];l===void 0||l.startsWith("--")?e[a]=true:(e[a]=l,o++);continue}n==="help"?n=s:r.push(s);}return {command:n,flags:e,args:r}}i(dv,"parseArgs");var fv=["init","generate","import","diff","lint","watch","check","merge","matrix","install","plugin","target"];function gv(t){return async(e,r)=>{y.info(`Not implemented yet: ${t}`);}}i(gv,"stub");var hv={...Object.fromEntries(fv.map(t=>[t,gv(t)])),generate:i(async(t,e)=>{let r=await ds(t);r!==0&&process.exit(r);},"generate"),init:i(async(t,e)=>{await Nk(process.cwd(),{yes:t.yes===true,global:t.global===true});},"init"),import:i((t,e)=>Fk(t),"import"),diff:i((t,e)=>Gk(t),"diff"),lint:i(async(t,e)=>{let r=await Hk(t);r!==0&&process.exit(r);},"lint"),check:i(async(t,e)=>{let r=await Yk(t);r!==0&&process.exit(r);},"check"),merge:i((t,e)=>qk(t),"merge"),matrix:i((t,e)=>oo(t),"matrix"),watch:i(async(t,e)=>{let r=await Vk(t),n=i(()=>{r.stop().then(()=>process.exit(0));},"stop");process.on("SIGINT",n),process.on("SIGTERM",n);},"watch"),install:i((t,e)=>oO(t,e,process.cwd()),"install"),plugin:i(async(t,e)=>{let r=await cO(t,e,process.cwd());r!==0&&process.exit(r);},"plugin"),target:i(async(t,e)=>{let r=await CO(t,e,process.cwd());r!==0&&process.exit(r);},"target")},yv=Ed(hv);async function Iv(t){let{command:e,flags:r,args:n}=t;if(e==="help"){Ad();return}if(e==="version"){Nd();return}await yv.route(e,r,n);}i(Iv,"main");function Sv(){let t=process.argv[1];if(!t)return false;let e=fileURLToPath(import.meta.url);try{let r=resolve(process.cwd(),t);return r===e||realpathSync(r)===realpathSync(e)}catch{return t.endsWith("cli.js")||t.includes("agentsmesh")}}i(Sv,"isMainModule");if(Sv()){let t=dv(process.argv.slice(2));Iv(t).catch(e=>Dd(e instanceof Error?e:new Error(String(e)),{verbose:t.flags.verbose===true}));}export{dv as parseArgs};