agentsmesh 0.9.0 → 0.10.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,167 +1,172 @@
1
1
  #!/usr/bin/env node
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:`---
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}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 Pf from'tar';import {createTwoFilesPatch}from'diff';import NF from'chokidar';import*as Fw from'readline';var lf=Object.defineProperty;var i=(t,e)=>lf(t,"name",{value:e,configurable:true});var f=(t,e)=>()=>(t&&(e=t(t=0)),e);var wE=(t,e)=>{for(var r in e)lf(t,r,{get:e[r],enumerable:true});};var bo,Br,Sa,Ca,ur,Hs=f(()=>{bo=class extends Error{static{i(this,"AgentsMeshError");}code;constructor(e,r,n){super(r,n),this.name="AgentsMeshError",this.code=e;}},Br=class extends bo{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;}},Sa=class extends bo{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;}},Ca=class extends bo{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;}},ur=class extends bo{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 YE(t){let e=extname(t).toLowerCase();if(e.length>0)return VE.has(e);let r=basename(t).toLowerCase();return JE.has(r)}function XE(t){return t.replace(/\r\n?/g,`
3
+ `)}async function I(t){try{let e=await readFile(t,"utf-8");return e.startsWith(_f)?e.slice(_f.length):e}catch(e){let r=e;if(r.code==="ENOENT")return null;throw new ur(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{let s=await lstat(t);if(s.isDirectory())throw new ur(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 ur||s.code!=="ENOENT")throw s}let n=`${t}.tmp`,o=YE(t)?XE(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 ur(t,`Failed to write ${t}: ${a.message}. Check permissions and disk space.`,{cause:s,errnoCode:a.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 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 ur(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 ur(t,`Failed to read directory ${t}: ${s.message}. Check permissions.`,{cause:o,errnoCode:s.code})}}async function vc(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 _f,VE,JE,E=f(()=>{Hs();_f="\uFEFF",VE=new Set([".md",".mdc",".mdx",".markdown",".txt",".json",".jsonc",".yaml",".yml",".toml",".ini",".sh",".bash",".zsh",".ps1",".js",".mjs",".cjs",".ts",".tsx",".html",".css"]),JE=new Set([".gitignore",".cursorignore",".cursorindexingignore",".aiignore",".agentignore",".clineignore",".geminiignore",".codeiumignore",".continueignore",".copilotignore",".windsurfignore",".junieignore",".kiroignore",".rooignore",".antigravityignore"]);i(YE,"shouldNormalizeLineEndings");i(XE,"normalizeLineEndings");i(I,"readFileSafe");i(S,"writeFileAtomic");i(N,"exists");i(k,"mkdirp");i(P,"readDirRecursive");i(vc,"ensureCacheSymlink");});function Hr(t){return $c.includes(t)}var $c,Rf=f(()=>{$c=["antigravity","claude-code","cline","codex-cli","continue","copilot","cursor","gemini-cli","junie","kilo-code","kiro","roo-code","windsurf"];i(Hr,"isBuiltinTargetId");});var yt,zs,dr=f(()=>{Rf();yt=$c,zs="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 T(t,e){return Object.keys(t).length===0?e:`---
4
4
  ${stringify(t,{lineWidth:0}).trimEnd()}
5
5
  ---
6
6
 
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
+ ${e}`}var F=f(()=>{i(O,"parseFrontmatter");i(T,"serializeFrontmatter");});function tg(t){return typeof t=="string"?t.trim():""}function ut(t){return tg(t.command)}function bt(t){return tg(t.prompt)}function Zc(t){let e=ut(t),r=bt(t);return t.type==="prompt"?r||e:e||r}function fr(t){return ut(t).length>0}function Me(t){return Zc(t).length>0}var fe=f(()=>{i(tg,"trimString");i(ut,"getHookCommand");i(bt,"getHookPrompt");i(Zc,"getHookText");i(fr,"hasHookCommand");i(Me,"hasHookText");});function W(t){return t.includes("\\")||ge.test(t)?win32:posix}function et(t){return t.replace(/\\/g,"/")}function G(t,e){let r=W(t),n=r.normalize(r===win32?e.replace(/\//g,"\\"):et(e));return n.endsWith(r.sep)&&n.length>1?n.slice(0,-1):n}function sg(t,e){return W(t).isAbsolute(e)||ge.test(e)}function vo(t){let e=t,r="";for(;tL.test(e);)r=e.at(-1)+r,e=e.slice(0,-1);return {candidate:e,suffix:r}}function ig(t,e){let r=W(e),n=t.replace(/^(\.\.\/)+/,"").replace(/^\.\//,"");return n&&n!==t?G(e,r.join(e,n)):null}var ge,tL,wt=f(()=>{ge=/^[A-Za-z]:[\\/]/,tL=/[.!?:;]+$/;i(W,"pathApi");i(et,"normalizeSeparators");i(G,"normalizeForProject");i(sg,"isAbsoluteForProject");i(vo,"stripTrailingPunctuation");i(ig,"rootFallbackPath");});function eL(t){return Object.prototype.hasOwnProperty.call(ag,t)}function rL(t){return Object.prototype.hasOwnProperty.call(lg,t)}function cg(t,e){if(t!==void 0)return typeof t=="boolean"?t:t[e]}function Zs(t,e,r,n="project"){let o=t.conversions?.commands_to_skills?.[e],s=cg(o,n);return s!==void 0?s:eL(e)?ag[e]:r??false}function he(t,e,r,n="project"){let o=t.conversions?.agents_to_skills?.[e],s=cg(o,n);return s!==void 0?s:rL(e)?lg[e]:r??false}var ag,lg,$o=f(()=>{ag={"codex-cli":true},lg={"gemini-cli":false,cline:true,"codex-cli":false,windsurf:true};i(eL,"usesCommandSkillProjection");i(rL,"usesAgentSkillProjection");i(cg,"resolveConversionValue");i(Zs,"shouldConvertCommandsToSkills");i(he,"shouldConvertAgentsToSkills");});function Ie(t,e){return e!==void 0?{level:t,flavor:e}:{level:t}}function ye(t){return typeof t=="string"?{level:t}:t}function mg(t){return {rules:ye(t.rules),additionalRules:ye(t.additionalRules),commands:ye(t.commands),agents:ye(t.agents),skills:ye(t.skills),mcp:ye(t.mcp),hooks:ye(t.hooks),ignore:ye(t.ignore),permissions:ye(t.permissions)}}var Fn=f(()=>{i(Ie,"cap");i(ye,"normalizeCapabilityValue");i(mg,"normalizeTargetCapabilities");});function pg(t){for(let e of Et)if(e.sharedArtifacts){for(let[r,n]of Object.entries(e.sharedArtifacts))if(n==="owner"&&t.startsWith(r))return e.id}return null}function nL(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 ug(t){let e=nL(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.
8
8
  `+r.join(`
9
9
  `)+`
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
+ Resolve by changing one target's role to 'consumer' or by namespacing its prefix.`)}var Qc=f(()=>{nt();i(pg,"ownerTargetIdForSharedPath");i(nL,"findSharedArtifactOwnershipConflicts");i(ug,"assertSharedArtifactOwnersUnique");});function qs(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function tm(t,e){return new RegExp(`${qs(t)}[\\s\\S]*?${qs(e)}`,"g")}function yg(t,e,r,n){let o=tm(e,r);if(o.test(t))return t.replace(o,n).trim();let s=t.trim();return s?`${s}
11
11
 
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
+ ${n}`:n}function em(t,e,r){return t.replace(tm(e,r),"").trim()}function iL(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 aL(t){return {source:iL(t.source),description:t.description,globs:t.globs,targets:t.targets}}function lL(t){return `${gg}${JSON.stringify(aL(t))}${hg}`}function cL(t){let e=[lL(t)];return t.description.trim()&&e.push(`## ${t.description.trim()}`,""),e.push(t.body.trim(),fg),e.filter(r=>r.length>0).join(`
13
+ `)}function mL(t){return t.length===0?"":[xa,...t.map(cL),Pa].join(`
14
+ `)}function _e(t,e){let r=mL(e),n=em(t,xa,Pa);return r?n?`${n}
15
15
 
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}
16
+ ${r}`:r:n}function dg(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function pL(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:dg(r.globs),targets:dg(r.targets)}}catch{return null}}function uL(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 Ig(t){let e=[],r=tm(xa,Pa);return {rootContent:t.replace(r,o=>{let s=o.replace(xa,"").replace(Pa,"").trim(),a=new RegExp(`${qs(gg)}([\\s\\S]*?)${qs(hg)}([\\s\\S]*?)${qs(fg)}`,"g");for(let l of s.matchAll(a)){let c=l[1],m=l[2];if(c===void 0||m===void 0)continue;let p=pL(c);p&&e.push({...p,body:uL(m,p.description)});}return ""}).trim(),rules:e}}var Qs,ti,xa,Pa,fg,gg,hg,zr=f(()=>{Qs="<!-- agentsmesh:root-generation-contract:start -->",ti="<!-- agentsmesh:root-generation-contract:end -->",xa="<!-- agentsmesh:embedded-rules:start -->",Pa="<!-- agentsmesh:embedded-rules:end -->",fg="<!-- agentsmesh:embedded-rule:end -->",gg="<!-- agentsmesh:embedded-rule:start ",hg=" -->";i(qs,"escapeRegExp");i(tm,"managedBlockPattern");i(yg,"replaceManagedBlock");i(em,"stripManagedBlock");i(iL,"ruleSource");i(aL,"markerForRule");i(lL,"embeddedRuleStart");i(cL,"renderRule");i(mL,"renderEmbeddedRulesBlock");i(_e,"appendEmbeddedRulesBlock");i(dg,"toStringArray");i(pL,"parseMarker");i(uL,"stripGeneratedHeading");i(Ig,"extractEmbeddedRules");});function rm(t){return t.replace(/\s+/g," ").trim()}function Sg(t){let e=t.trim();if(e.includes(Qs)&&e.includes(ti))return yg(e,Qs,ti,Mo);let r=rm(e);if(r.includes(rm(Mo)))return e;for(let n of _g)if(r.includes(rm(n)))return e.replace(n,Mo);return e?`${e}
17
17
 
18
- ${Io}`:Io}function vf(t){let e=wc(t,As,Ts);e=e.replace(`
18
+ ${Mo}`:Mo}function Cg(t){let e=em(t,Qs,ti);e=e.replace(`
19
19
 
20
- ${Io}`,"");for(let r of Df)e=e.replace(`
20
+ ${Mo}`,"");for(let r of _g)e=e.replace(`
21
21
 
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
22
+ ${r}`,"");return e.trim()}var nm,dL,fL,gL,hL,yL,IL,_L,SL,CL,RL,kL,OL,wL,EL,AL,LL,Mo,_g,om=f(()=>{zr();nm="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.",dL="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.",fL="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.",gL="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.",hL="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`.",yL="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`.",IL="`.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`.",_L="`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.",SL=nm,CL=`## Project-Specific Rules
23
23
 
24
- ${Ec}`,_b=`## AgentsMesh Generation Contract
24
+ ${nm}`,RL=`## AgentsMesh Generation Contract
25
25
 
26
- ${Ec}`,Rb=`## AgentsMesh Generation Contract
26
+ ${nm}`,kL=`## AgentsMesh Generation Contract
27
27
 
28
- ${ub}`,Cb=`## AgentsMesh Generation Contract
28
+ ${dL}`,OL=`## AgentsMesh Generation Contract
29
29
 
30
- ${pb}`,kb=`## AgentsMesh Generation Contract
30
+ ${fL}`,wL=`## AgentsMesh Generation Contract
31
31
 
32
- ${db}`,wb=`## AgentsMesh Generation Contract
32
+ ${gL}`,EL=`## AgentsMesh Generation Contract
33
33
 
34
- ${fb}`,Ob=`## AgentsMesh Generation Contract
34
+ ${hL}`,AL=`## AgentsMesh Generation Contract
35
35
 
36
- ${gb}`,Eb=`## AgentsMesh Generation Contract
36
+ ${yL}`,LL=`## AgentsMesh Generation Contract
37
37
 
38
- ${hb}`,Io=`${As}
38
+ ${IL}`,Mo=`${Qs}
39
39
  ## AgentsMesh Generation Contract
40
40
 
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}
41
+ ${_L}
42
+ ${ti}`;i(rm,"normalizeWhitespace");_g=[LL,AL,EL,wL,OL,kL,RL,CL,SL];i(Sg,"appendAgentsmeshRootInstructionParagraph");i(Cg,"stripAgentsmeshRootInstructionParagraph");});function xt(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 Go(t){let e=await I(t);return e?O(e).frontmatter:{}}function It(t,e){return typeof t[e]=="string"?t[e]:void 0}function sm(t){let e=t.hooks;return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function bL(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}function xL(t,e){let r=basename(t,".md")==="_root",n={...e};return delete n.root,{root:r,...n}}async function M(t,e,r){let n=await Go(t),o=basename(t,".md")==="_root"?Cg(r):r.trim(),s=xL(t,bL({...n,...e})),a={root:s.root===true,description:typeof s.description=="string"?s.description:""};a.root===false&&(a.globs=xt(s.globs));for(let[l,c]of Object.entries(s))l==="root"||l==="description"||l==="globs"||c===void 0||(a[l]=c);return T(a,o||"")}var im=f(()=>{E();F();om();i(xt,"toStringArray");i(Go,"readExistingFrontmatter");i(It,"readString");i(sm,"readHooks");i(bL,"pruneUndefined");i(xL,"serializeCanonicalRuleFrontmatter");i(M,"serializeImportedRuleWithFallback");});async function Z(t,e,r){let n=await Go(t),o=(()=>{let l=xt(n.allowedTools);return l.length>0?l:xt(n["allowed-tools"])})(),s=e.hasDescription?e.description??"":typeof n.description=="string"?n.description:"",a=e.hasAllowedTools?e.allowedTools??[]:o;return T({description:s,"allowed-tools":a},r.trim()||"")}async function Ge(t,e,r){let n=await Go(t),o=basename(dirname(t)),s=It(e,"name")??It(n,"name")??o,a=It(e,"description")??It(n,"description")??"";return T({name:s,description:a},r.trim()||"")}async function _t(t,e,r){let n=await Go(t),o=Object.prototype.hasOwnProperty.call(e,"tools")?xt(e.tools):(()=>{let C=xt(n.tools);return C.length>0?C:[]})(),s=Object.prototype.hasOwnProperty.call(e,"disallowedTools")?xt(e.disallowedTools):Object.prototype.hasOwnProperty.call(e,"disallowed-tools")?xt(e["disallowed-tools"]):xt(n.disallowedTools),a=Object.prototype.hasOwnProperty.call(e,"mcpServers")?xt(e.mcpServers):Object.prototype.hasOwnProperty.call(e,"mcp-servers")?xt(e["mcp-servers"]):xt(n.mcpServers),l=Object.prototype.hasOwnProperty.call(e,"skills")?xt(e.skills):xt(n.skills),c=e.maxTurns??e["max-turns"]??n.maxTurns,m=typeof c=="number"?c:Number(c??0),p=sm(e)??sm(n),u={name:It(e,"name")??It(n,"name")??basename(t,".md"),description:It(e,"description")??It(n,"description")??"",tools:o};s.length>0&&(u.disallowedTools=s);let d=It(e,"model")??It(n,"model");d&&(u.model=d);let g=It(e,"permissionMode")??It(e,"permission-mode")??It(n,"permissionMode")??It(n,"permission-mode");g&&(u.permissionMode=g),Number.isInteger(m)&&m>0&&(u.maxTurns=m),a.length>0&&(u.mcpServers=a),p&&Object.keys(p).length>0&&(u.hooks=p),l.length>0&&(u.skills=l);let h=It(e,"memory")??It(n,"memory");return h&&(u.memory=h),T(u,r.trim()||"")}var Og=f(()=>{F();im();i(Z,"serializeImportedCommandWithFallback");i(Ge,"serializeImportedSkillWithFallback");i(_t,"serializeImportedAgentWithFallback");});var Y=f(()=>{im();Og();});function qt(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:T(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 Wt(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 p=join(t,am,a.name),u=join(p,"SKILL.md"),{frontmatter:d,body:g}=O(o(m,c,u)),h=await Ge(u,{...d,name:a.name},g);await k(p),await S(u,h),n.push({fromTool:r,fromPath:c,toPath:`${am}/${a.name}/SKILL.md`,feature:"skills"});let C=await P(l);for(let R of C){if(R===c)continue;let _=relative(l,R).replace(/\\/g,"/"),w=await I(R);if(w===null)continue;let v=join(p,_);await k(dirname(v)),await S(v,o(w,R,v)),n.push({fromTool:r,fromPath:R,toPath:`${am}/${a.name}/${_}`,feature:"skills"});}}}var am,Bt=f(()=>{E();F();Y();am=".agentsmesh/skills";i(qt,"generateEmbeddedSkills");i(Wt,"importEmbeddedSkills");});var vn,Ta,je,Se,ei,$n,hr,ri,Ue,yr,ni,Uo,lm,Mn,Na,wg,Gn=f(()=>{vn="antigravity",Ta=".agents",je=`${Ta}/rules`,Se=`${je}/general.md`,ei=`${je}/_root.md`,$n=`${Ta}/skills`,hr=`${Ta}/workflows`,ri=`${Ta}/antigravity/mcp_config.json`,Ue=".gemini/antigravity/GEMINI.md",yr=".gemini/antigravity/skills",ni=".gemini/antigravity/workflows",Uo=".gemini/antigravity/mcp_config.json",lm=".agentsmesh/rules/_root.md",Mn=".agentsmesh/rules",Na=".agentsmesh/commands",wg=".agentsmesh/mcp.json";});function Eg(t){let e=t.rules.find(n=>n.root);if(!e)return [];let r=[{path:Se,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:`${je}/${o}.md`,content:n.body.trim()||""});}return r}function Ag(t){return t.commands.map(e=>{let r=e.description.trim(),n=e.body.trim(),o=r&&n&&!n.startsWith(r)?`${r}
43
43
 
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
44
+ ${n}`:n||r;return {path:`${hr}/${e.name}.md`,content:o}})}function Lg(t){return qt(t,$n)}function bg(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:ri,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function xg(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 _e(e?.body.trim()??"",r)}var Pg=f(()=>{Bt();zr();Gn();i(Eg,"generateRules");i(Ag,"generateCommands");i(Lg,"generateSkills");i(bg,"generateMcp");i(xg,"renderAntigravityGlobalInstructions");});async function Ke(t,e,r){let n=join(t,e),s={...await ML(n),...r};await k(dirname(n)),await S(n,JSON.stringify({mcpServers:s},null,2));}async function ML(t){let e=await I(t);if(e===null)return {};let r;try{r=JSON.parse(e);}catch{return {}}if(!r||typeof r!="object"||Array.isArray(r))return {};let n=r.mcpServers;if(!n||typeof n!="object"||Array.isArray(n))return {};let o={};for(let[s,a]of Object.entries(n))!a||typeof a!="object"||Array.isArray(a)||(o[s]=a);return o}var Ko=f(()=>{E();i(Ke,"writeMcpWithMerge");i(ML,"readExistingServers");});function Ir(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}function Qt(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 Wo(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function Bo(t){return !t||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}var Ce=f(()=>{i(Ir,"toGlobsArray");i(Qt,"toToolsArray");i(Wo,"toStringArray");i(Bo,"toStringRecord");});function UL(t,e){return e.some(r=>t.endsWith(r))}async function q(t){let r=(await P(t.srcDir)).filter(o=>UL(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 S(l.destPath,l.content),n.push({fromTool:t.fromTool,fromPath:o,toPath:l.toPath,feature:l.feature}));}return n}var Re=f(()=>{E();i(UL,"matchesExtension");i(q,"importFileDirectory");});function Tg(t){return typeof t=="string"?t:void 0}function KL(t){for(let e of Object.keys(t))t[e]===void 0&&delete t[e];return t}function mm(t,e){return e?e(t):t}function WL(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=O(e.normalizeTo(r)),s=mm(n,t.frontmatterRemap),a=KL({root:false,description:Tg(s.description),globs:Array.isArray(s.globs)?s.globs:void 0,...s});return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:await M(r,a,o)}}}function BL(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=O(e.normalizeTo(r)),s=mm(n,t.frontmatterRemap),a=await Z(r,{hasDescription:true,description:Tg(s.description),hasAllowedTools:true,allowedTools:Wo(s["allowed-tools"])},o);return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:a}}}function HL(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=O(e.normalizeTo(r)),s=mm(n,t.frontmatterRemap);return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:await _t(r,s,o)}}}function Ng(t){if(t.map)return t.map;switch(t.preset){case "rule":return WL(t);case "command":return BL(t);case "agent":return HL(t);default:throw new Error(`ImportFeatureSpec for ${t.feature} (mode: ${t.mode}) needs a \`preset\` or \`map\``)}}var Dg=f(()=>{F();Y();Ce();i(Tg,"pickString");i(KL,"pruneUndefined");i(mm,"applyRemap");i(WL,"ruleMapper");i(BL,"commandMapper");i(HL,"agentMapper");i(Ng,"resolveMapper");});function pm(t,e){return t?t[e]??[]:[]}var Fg,vg=f(()=>{Fg=["rules","commands","agents","skills","mcp","hooks","permissions","ignore"];i(pm,"resolveScopedSources");});async function JL(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),p=i(R=>o(c,l,R),"normalizeTo");if(t.map){let R=await t.map({absolutePath:l,relativePath:a,content:c,destDir:s,normalizeTo:p});if(!R)continue;return await S(R.destPath,R.content),[{fromTool:n,fromPath:l,toPath:R.toPath,feature:t.feature}]}let{frontmatter:u,body:d}=O(p(m)),g=t.frontmatterRemap?t.frontmatterRemap(u):u,h=t.markAsRoot?{...g,root:true}:g,C=await M(m,h,d);return await S(m,C),[{fromTool:n,fromPath:l,toPath:`${t.canonicalDir}/${t.canonicalRootFilename}`,feature:t.feature}]}return []}async function YL(t,e,r,n,o){let s=Ng(t),a=join(r,t.canonicalDir),l=[];for(let c of e){let m=join(r,c),p=await q({srcDir:m,destDir:a,extensions:[...t.extensions??[".md"]],fromTool:n,normalize:o,mapEntry:i(async({srcPath:u,relativePath:d,content:g,normalizeTo:h})=>{let C=await s({absolutePath:u,relativePath:d,content:g,destDir:a,normalizeTo:i(R=>h(R),"normalizeTo")});return C?{destPath:C.destPath,toPath:C.toPath,feature:t.feature,content:C.content}:null},"mapEntry")});l.push(...p);}return l}function Mg(t){let e=t.canonicalFilename;return e.includes("/")||e.includes("\\")?e:posix.join(t.canonicalDir,e)}async function XL(t,e,r,n){if(!t.canonicalFilename)throw new Error(`flatFile spec for ${t.feature} must set canonicalFilename`);let o=Mg(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 S(c,l.trimEnd()),[{fromTool:n,fromPath:a,toPath:o,feature:t.feature}]}return []}function ZL(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:Wo(a.args),env:Bo(a.env),description:l};continue}typeof a.url=="string"&&(n[o]={type:typeof a.type=="string"?a.type:"http",url:a.url,headers:Bo(a.headers),env:Bo(a.env),description:l});}return n}async function qL(t,e,r,n){if(!t.canonicalFilename)throw new Error(`mcpJson spec for ${t.feature} must set canonicalFilename`);let o=Mg(t);for(let s of e){let a=join(r,s),l=await I(a);if(l===null)continue;let c=ZL(l);return Object.keys(c).length===0?[]:(await Ke(r,o,c),[{fromTool:n,fromPath:a,toPath:o,feature:t.feature}])}return []}function $g(t,e,r,n,o){switch(t.mode){case "singleFile":return JL(t,e,r,n,o);case "directory":return YL(t,e,r,n,o);case "flatFile":return XL(t,e,r,n);case "mcpJson":return qL(t,e,r,n)}}async function QL(t,e,r,n,o){let s=pm(t.source,e),a=pm(t.fallbacks,e);if(s.length===0&&a.length===0)return [];if(s.length>0){let l=await $g(t,s,r,n,o);if(l.length>0)return l}return a.length>0?$g(t,a,r,n,o):[]}function tb(t,e){let r=t[e];return r?Array.isArray(r)?r:[r]:[]}async function ct(t,e,r,n){let o=t.importer;if(!o)return [];let s=n?.normalize??await V(t.id,e,r),a=[];for(let l of Fg)for(let c of tb(o,l))a.push(...await QL(c,r,e,t.id,s));return a}var ke=f(()=>{At();E();Ko();F();Ce();Y();Re();Dg();vg();i(JL,"runSingleFile");i(YL,"runDirectory");i(Mg,"resolveCanonicalFilePath");i(XL,"runFlatFile");i(ZL,"parseMcpJson");i(qL,"runMcpJson");i($g,"dispatchSpec");i(QL,"runSpec");i(tb,"specsForFeature");i(ct,"runDescriptorImport");});function eb(t){let e=t.replace(/\\/g,"/");return !e.startsWith("rules/")||e.endsWith("/")||!e.endsWith(".md")?null:e}async function We(t){let e=Ig(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=eb(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 M(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 Ho=f(()=>{E();F();zr();Y();i(eb,"canonicalRulePath");i(We,"splitEmbeddedRulesToCanonical");});async function rb(t,e,r,n){let o=n==="global"?Ue:Se,s=n==="project"?[o,ei]:[o];for(let a of s){let l=join(t,a),c=await I(l);if(c===null)continue;let m=join(t,lm),p=await We({content:c,projectRoot:t,rulesDir:Mn,sourcePath:l,fromTool:vn,normalize:r});e.push(...p.results);let{body:u}=O(r(p.rootContent,l,m)),d=await M(m,{root:true},u);await k(join(t,Mn)),await S(m,d),e.push({fromTool:vn,fromPath:l,toPath:lm,feature:"rules"});return}}async function jg(t,e={}){let r=e.scope??"project",n=[],o=await V(vn,t,r);return await rb(t,n,o,r),n.push(...await ct(Da,t,r,{normalize:o})),await Wt(t,r==="global"?yr:$n,vn,n,o),n}var Ug=f(()=>{At();E();F();Bt();ke();Y();Ho();Gn();dm();i(rb,"importRootRule");i(jg,"importFromAntigravity");});var Bg,Hg,zg=f(()=>{F();Y();Gn();Bg=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:`${Mn}/${t}`,content:await M(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},s)}},"nonRootRuleMapper"),Hg=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${Na}/${t}`,content:await Z(n,{hasDescription:typeof o.description=="string",description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},s)}},"workflowMapper");});function nb(t,e){return Jg(e).some(n=>ob(t,n))}function Vg(t,e){return t.filter(r=>nb(r,e))}function Jg(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 Jg(r+l+o))a.push(c);return a}function ob(t,e){return sb(e).test(t)}function sb(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 Yg=f(()=>{i(nb,"globMatch");i(Vg,"globFilter");i(Jg,"expandBraces");i(ob,"matchOne");i(sb,"globToRegex");});function ot(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(Vg(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 te=f(()=>{Yg();i(ot,"validateRules");});function Zg(t,e,r,n){return ot(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:vn}))}var qg=f(()=>{te();Gn();i(Zg,"lintRules");});function ib(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 Vo(t){return `${zo}${t}`}function Qg(t){let e={name:Vo(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"],T(e,t.body.trim()||"")}function th(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(zo)?e.slice(zo.length):e.startsWith(oi)?e.slice(oi.length):"",o=(r||n).trim();return o?{name:o,description:typeof t.description=="string"?t.description:"",allowedTools:ib(t["x-agentsmesh-allowed-tools"])}:null}function eh(t,e){return T({description:t.description,"allowed-tools":t.allowedTools},e.trim()||"")}var zo,oi,si=f(()=>{F();zo="am-command-",oi="ab-command-";i(ib,"toStringArray");i(Vo,"commandSkillDirName");i(Qg,"serializeCommandSkill");i(th,"parseCommandSkillFrontmatter");i(eh,"serializeImportedCommand");});function Fa(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 ab(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 Ft(t){return `${Jo}${t}`}function va(t){let e={name:Ft(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];}),T(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(Jo)?e.slice(Jo.length):e.startsWith(ii)?e.slice(ii.length):"",o=(r||n).trim();return o?{name:o,description:typeof t.description=="string"?t.description:"",tools:Fa(t["x-agentsmesh-tools"]),disallowedTools:Fa(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:Fa(t["x-agentsmesh-mcp-servers"]),hooks:ab(t["x-agentsmesh-hooks"]),skills:Fa(t["x-agentsmesh-skills"]),memory:typeof t["x-agentsmesh-memory"]=="string"?t["x-agentsmesh-memory"]:""}:null}function Be(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];}),T(r,e.trim()||"")}var Jo,ii,ee=f(()=>{F();Jo="am-agent-",ii="ab-agent-";i(Fa,"toStringArray");i(ab,"toHooks");i(Ft,"projectedAgentSkillDirName");i(va,"serializeProjectedAgentSkill");i(Jr,"parseProjectedAgentSkillFrontmatter");i(Be,"serializeImportedAgent");});function L(t,e){return W(t).relative(t,e).replace(/\\/g,"/")}async function b(t,e){return P(W(t).join(t,e)).catch(()=>[])}function nh(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}function db(t,e,r,n){let o=posix.dirname(e),s=posix.dirname(r);for(;o!==n&&o!==".";)nh(t,o,s),o=posix.dirname(o),s=posix.dirname(s);}function $(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 u=basename(n,".md");t.set(e,`${rh}/${u}/SKILL.md`);return}let[o,...s]=n.split("/"),a=s.join("/");if(!o||!a)return;let l=o.startsWith(zo)?zo:o.startsWith(oi)?oi:null;if(l&&a==="SKILL.md"){t.set(e,`${pb}/${o.slice(l.length)}.md`);return}let c=o.startsWith(Jo)?Jo:o.startsWith(ii)?ii:null;if(c&&a==="SKILL.md"){t.set(e,`${ub}/${o.slice(c.length)}.md`);return}let m=`${rh}/${o}`;a==="SKILL.md"&&nh(t,`${r}/${o}`,m);let p=`${m}/${a}`;t.set(e,p),a!=="SKILL.md"&&db(t,e,p,`${r}/${o}`);}function fb(t){return t.split("/").filter(Boolean)[0]??""}async function gb(){if(fm!==void 0)return fm;let{BUILTIN_TARGETS:t}=await Promise.resolve().then(()=>(nt(),oh)),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=fb(n);o.startsWith(".")&&e.add(o);}return fm=e,e}function hm(t){return t.split("/").some(e=>e.startsWith("."))}async function hb(t){let e=[],r=await gb(),n=W(t);async function o(s){let a=n.join(t,s),l=await readdir(a,{withFileTypes:true}).catch(()=>[]);for(let c of l){let m=s?`${s}/${c.name}`:c.name;if(c.isDirectory()){if(r.has(c.name)||hm(m))continue;await o(m);continue}if(c.isSymbolicLink()&&await stat(n.join(t,m)).then(p=>p.isDirectory(),()=>false)){if(r.has(c.name)||hm(m))continue;await o(m);continue}(c.name==="AGENTS.md"||c.name==="AGENTS.override.md")&&e.push(n.join(t,m));}}return i(o,"walk"),await o(""),e}async function $a(t,e){let r=await hb(e);for(let n of r){let o=L(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=posix.dirname(o);if(hm(l))continue;let c=l.replace(/\//g,"-");t.set(o,`${mb}/${c}.md`);}}var mb,pb,ub,rh,fm,vt=f(()=>{wt();E();si();ee();mb=".agentsmesh/rules",pb=".agentsmesh/commands",ub=".agentsmesh/agents",rh=".agentsmesh/skills";i(L,"rel");i(b,"listFiles");i(nh,"addDirectoryMapping");i(db,"addAncestorMappings");i($,"addSimpleFileMapping");i(z,"addSkillLikeMapping");i(fb,"firstPathSegment");i(gb,"targetRootSegments");i(hm,"hasHiddenSegment");i(hb,"listScopedAgentsFiles");i($a,"addScopedAgentsMappings");});var D,X,dt,$t=f(()=>{D=".agentsmesh/rules",X=".agentsmesh/commands",dt=".agentsmesh/agents";});async function ym(t,e,r="project"){if(r==="global"){t.set(Ue,`${D}/_root.md`);for(let n of await b(e,yr))z(t,L(e,n),yr);t.set(Uo,".agentsmesh/mcp.json");return}t.set(Se,`${D}/_root.md`),t.set(ei,`${D}/_root.md`);for(let n of await b(e,je)){let o=L(e,n);o===Se||o===ei||$(t,o,D,".md");}for(let n of await b(e,hr))$(t,L(e,n),X,".md");for(let n of await b(e,$n))z(t,L(e,n),$n);}var sh=f(()=>{vt();Gn();$t();i(ym,"buildAntigravityImportPaths");});var ih,Yr,ah,li,ci,mi,pi,ui,_r,Im,di,Yo,fi,gi,Ma,Ga,_m,hi,Sm,jn,lh,Sr=f(()=>{ih="claude-code",Yr=".claude/CLAUDE.md",ah="CLAUDE.md",li=".claude/rules",ci=".claude/commands",mi=".claude/agents",pi=".claude/skills",ui=".claude/settings.json",_r=".claude/hooks.json",Im=".claude/output-styles",di=".claudeignore",Yo=".mcp.json",fi=".claude.json",gi=".agentsmesh/rules",Ma=".agentsmesh/commands",Ga=".agentsmesh/agents",_m=".agentsmesh/skills",hi=".agentsmesh/mcp.json",Sm=".agentsmesh/permissions.yaml",jn=".agentsmesh/hooks.yaml",lh=".agentsmesh/ignore";});async function Cm(t,e,r="project"){if(t.set(".claude/CLAUDE.md",`${D}/_root.md`),t.set(_r,jn),r==="project"&&t.set("CLAUDE.md",`${D}/_root.md`),r==="global")for(let n of await b(e,".agents/skills"))z(t,L(e,n),".agents/skills");for(let n of await b(e,".claude/rules"))$(t,L(e,n),D,".md");for(let n of await b(e,".claude/commands"))$(t,L(e,n),X,".md");for(let n of await b(e,".claude/agents"))$(t,L(e,n),dt,".md");for(let n of await b(e,".claude/skills"))z(t,L(e,n),".claude/skills");}var ch=f(()=>{vt();Sr();$t();i(Cm,"buildClaudeCodeImportPaths");});var Xr,Cr,Un,Rr,mh,St,He,Zr,Kn,Wn,Bn,Hn,Rm,qr,ja,km,Om,wm,ph,re=f(()=>{Xr="cline",Cr=".clinerules",Un=".clineignore",Rr=".cline/cline_mcp_settings.json",mh=".cline/mcp_settings.json",St=".cline/skills",He=".clinerules/workflows",Zr="AGENTS.md",Kn=".clinerules/hooks",Wn="Documents/Cline/Rules",Bn="Documents/Cline/Workflows",Hn="Documents/Cline/Hooks",Rm=".agentsmesh/hooks.yaml",qr=".agentsmesh/rules",ja=".agentsmesh/commands",km=".agentsmesh/ignore",Om=".agentsmesh/mcp.json",wm=".agentsmesh/agents",ph=".agentsmesh/skills";});async function Em(t,e,r="project"){if(r==="global"){for(let n of await b(e,Wn))$(t,L(e,n),D,".md");for(let n of await b(e,Bn))$(t,L(e,n),X,".md");for(let n of await b(e,St))z(t,L(e,n),St);t.set(Rr,".agentsmesh/mcp.json");return}t.set(".clinerules/_root.md",`${D}/_root.md`);for(let n of await b(e,".clinerules")){let o=L(e,n);!o.endsWith(".md")||o.includes("/workflows/")||basename(o)==="_root.md"||$(t,o,D,".md");}for(let n of await b(e,".clinerules/workflows"))$(t,L(e,n),X,".md");for(let n of await b(e,".cline/skills"))z(t,L(e,n),".cline/skills");}var uh=f(()=>{vt();re();$t();i(Em,"buildClineImportPaths");});async function Am(t,e,r="project"){if(r==="global"?(t.set(".codex/AGENTS.md",`${D}/_root.md`),t.set(".codex/AGENTS.override.md",`${D}/_root.md`)):(t.set("AGENTS.md",`${D}/_root.md`),t.set("codex.md",`${D}/_root.md`),await $a(t,e)),r==="project")for(let n of await b(e,".codex/instructions"))$(t,L(e,n),D,".md");for(let n of await b(e,".codex/rules")){let o=L(e,n);o.endsWith(".rules")?$(t,o,D,".rules"):o.endsWith(".md")&&$(t,o,D,".md");}for(let n of await b(e,".codex/agents"))$(t,L(e,n),dt,".toml");for(let n of await b(e,".agents/skills"))z(t,L(e,n),".agents/skills");}var dh=f(()=>{vt();$t();i(Am,"buildCodexCliImportPaths");});var Xo,Oe,ze,Lm,Ua,kr,bm,Ve,Zo,yi,Ka,Wa,xm,Je=f(()=>{Xo="continue",Oe=".continue/rules",ze=".continue/prompts",Lm=".continue/mcpServers",Ua=`${Lm}/agentsmesh.json`,kr=`${Oe}/general.md`,bm=`${Oe}/_root.md`,Ve=".continue/skills",Zo=".continue/AGENTS.md",yi=".continue/config.yaml",Ka=".agentsmesh/rules",Wa=".agentsmesh/commands",xm=".agentsmesh/mcp.json";});async function Pm(t,e,r="project"){t.set(kr,`${D}/_root.md`),t.set(bm,`${D}/_root.md`);for(let n of await b(e,".continue/rules")){let o=L(e,n);o===kr||o===bm||$(t,o,D,".md");}for(let n of await b(e,".continue/prompts"))t.set(L(e,n),`${X}/${basename(n,".md")}.md`);for(let n of await b(e,".continue/skills"))z(t,L(e,n),".continue/skills");if(r==="global")for(let n of await b(e,".agents/skills"))z(t,L(e,n),".agents/skills");}var fh=f(()=>{vt();Je();$t();i(Pm,"buildContinueImportPaths");});function _b(t,e){if(e.endsWith(".instructions.md")){t.set(e,`${D}/${basename(e,".instructions.md")}.md`);return}$(t,e,D,".md");}async function Tm(t,e){t.set(".github/copilot-instructions.md",`${D}/_root.md`);for(let r of await b(e,".github/copilot"))t.set(L(e,r),`${D}/${basename(r,".instructions.md")}.md`);for(let r of await b(e,".github/instructions"))_b(t,L(e,r));for(let r of await b(e,".github/prompts"))t.set(L(e,r),`${X}/${basename(r,".prompt.md")}.md`);for(let r of await b(e,".github/agents"))t.set(L(e,r),`${dt}/${basename(r,".agent.md")}.md`);for(let r of await b(e,".github/skills"))z(t,L(e,r),".github/skills");}var gh=f(()=>{vt();$t();i(_b,"addCopilotInstructionMapping");i(Tm,"buildCopilotImportPaths");});var hh,Qr,yh,ne,Or,oe,qo,Ye,Xe,Ze,Ha,we,Nm,Sb,Qo,Ee,Ii,tn,en,qe,rn,nn,Ih,ts,Dm,_i,Fm,mt=f(()=>{hh="cursor",Qr="AGENTS.md",yh=".cursorrules",ne=".cursor/rules",Or=`${ne}/general.mdc`,oe=".cursor/commands",qo=".cursor/agents",Ye=".cursor/skills",Xe=".cursor/mcp.json",Ze=".cursor/hooks.json",Ha=".cursor/settings.json",we=".cursorignore",Nm=".cursorindexingignore",Sb=".agentsmesh-exports/cursor",Qo=`${Sb}/user-rules.md`,Ee=".cursor/AGENTS.md",Ii=Xe,tn=Ye,en=qo,qe=".agentsmesh/rules",rn=".agentsmesh/commands",nn=".agentsmesh/agents",Ih=".agentsmesh/skills",ts=".agentsmesh/mcp.json",Dm=".agentsmesh/permissions.yaml",_i=".agentsmesh/hooks.yaml",Fm=".agentsmesh/ignore";});async function vm(t,e,r="project"){if(r==="global"){t.set(Xe,".agentsmesh/mcp.json"),t.set(".cursor/AGENTS.md",`${D}/_root.md`);for(let n of await b(e,".cursor/rules"))$(t,L(e,n),D,".mdc");for(let n of await b(e,".cursor/commands"))$(t,L(e,n),X,".md");for(let n of await b(e,".cursor/agents"))$(t,L(e,n),dt,".md");for(let n of await b(e,".cursor/skills"))z(t,L(e,n),".cursor/skills");return}t.set("AGENTS.md",`${D}/_root.md`);for(let n of await b(e,".cursor/rules"))$(t,L(e,n),D,".mdc");for(let n of await b(e,".cursor/commands"))$(t,L(e,n),X,".md");for(let n of await b(e,".cursor/agents"))$(t,L(e,n),dt,".md");for(let n of await b(e,".cursor/skills"))z(t,L(e,n),".cursor/skills");}var _h=f(()=>{vt();mt();$t();i(vm,"buildCursorImportPaths");});async function $m(t,e){for(let r of await b(e,".gemini/rules"))$(t,L(e,r),D,".md");for(let r of await b(e,".gemini/commands")){let n=L(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,`${X}/${c}.md`);}for(let r of await b(e,".gemini/agents"))$(t,L(e,r),dt,".md");for(let r of await b(e,".gemini/skills"))z(t,L(e,r),".gemini/skills");}var Sh=f(()=>{vt();$t();i($m,"buildGeminiCliImportPaths");});var zn,on,za,Ch,Qe,Rh,Cb,Si,Vn,Ci,es,rs,Ri,ki,Oi,wi,Ei,Rb,Va,Jn,kh,Mm,Ja,Oh,wh,Eh,Ah,ns=f(()=>{zn="junie",on=".junie",za=`${on}/guidelines.md`,Ch=`${on}/ci-guidelines.md`,Qe=`${on}/AGENTS.md`,Rh="AGENTS.md",Cb=`${on}/mcp`,Si=`${Cb}/mcp.json`,Vn=`${on}/skills`,Ci=`${on}/rules`,es=`${on}/commands`,rs=`${on}/agents`,Ri=".aiignore",ki=".junie",Oi=`${ki}/skills`,wi=`${ki}/agents`,Ei=`${ki}/commands`,Rb=`${ki}/mcp`,Va=`${Rb}/mcp.json`,Jn=`${ki}/AGENTS.md`,kh=".agents/skills",Mm=".agentsmesh/rules/_root.md",Ja=".agentsmesh/rules",Oh=".agentsmesh/commands",wh=".agentsmesh/agents",Eh=".agentsmesh/mcp.json",Ah=".agentsmesh/ignore";});async function Gm(t,e){t.set(za,`${D}/_root.md`),t.set(Qe,`${D}/_root.md`),t.set("AGENTS.md",`${D}/_root.md`);for(let r of await b(e,".junie/rules"))$(t,L(e,r),D,".md");for(let r of await b(e,".junie/commands"))$(t,L(e,r),X,".md");for(let r of await b(e,".junie/agents"))$(t,L(e,r),dt,".md");for(let r of await b(e,".junie/skills"))z(t,L(e,r),".junie/skills");}var Lh=f(()=>{vt();ns();$t();i(Gm,"buildJunieImportPaths");});var Pt,Ai,tr,wr,Er,Ar,Ae,sn,os,Ya,Yn,ss,Xn,Li,Xa,is,an,Zn,qn,Qn,ln,as,Za,bh,cn,ls,to,xh,Ph,eo=f(()=>{Pt="kilo-code",Ai=".kilo",tr="AGENTS.md",wr=`${Ai}/rules`,Er=`${Ai}/commands`,Ar=`${Ai}/agents`,Ae=`${Ai}/skills`,sn=`${Ai}/mcp.json`,os=".kilocodeignore",Ya=".kilocode",Yn=`${Ya}/rules`,ss=`${Ya}/workflows`,Xn=`${Ya}/skills`,Li=`${Ya}/mcp.json`,Xa=".kilocodemodes",is=".kilo",an=`${is}/AGENTS.md`,Zn=`${is}/rules`,qn=`${is}/commands`,Qn=`${is}/agents`,ln=`${is}/skills`,as=`${is}/mcp.json`,Za=".kilocodeignore",bh=".agents/skills",cn=".agentsmesh/rules",ls=".agentsmesh/commands",to=".agentsmesh/agents",xh=".agentsmesh/mcp.json",Ph=".agentsmesh/ignore";});async function jm(t,e,r="project"){if(r==="global"){t.set(an,`${D}/_root.md`);for(let n of await b(e,Zn))$(t,L(e,n),D,".md");for(let n of await b(e,qn))$(t,L(e,n),X,".md");for(let n of await b(e,Qn))$(t,L(e,n),dt,".md");for(let n of await b(e,ln))z(t,L(e,n),ln);t.set(as,".agentsmesh/mcp.json");return}t.set(tr,`${D}/_root.md`);for(let n of await b(e,wr))$(t,L(e,n),D,".md");for(let n of await b(e,Er))$(t,L(e,n),X,".md");for(let n of await b(e,Ar))$(t,L(e,n),dt,".md");for(let n of await b(e,Ae))z(t,L(e,n),Ae);t.set(sn,".agentsmesh/mcp.json");for(let n of await b(e,Yn)){let o=L(e,n);if(basename(o)==="00-root.md"){t.set(o,`${D}/_root.md`);continue}$(t,o,D,".md");}for(let n of await b(e,ss))$(t,L(e,n),X,".md");for(let n of await b(e,Xn))z(t,L(e,n),Xn);t.set(Li,".agentsmesh/mcp.json");}var Th=f(()=>{vt();eo();$t();i(jm,"buildKiloCodeImportPaths");});var Ht,Le,bi,be,se,xe,mn,Nh,cs,ms,ro,Pe,pn,no,xi,Pi,Dh,Um,Km,Fh,vh,Wm,$h,ps=f(()=>{Ht="kiro",Le="AGENTS.md",bi=".kiro",be=`${bi}/steering`,se=`${bi}/skills`,xe=`${bi}/agents`,mn=`${bi}/hooks`,Nh=`${bi}/settings`,cs=`${Nh}/mcp.json`,ms=".kiroignore",ro=".kiro/steering",Pe=".kiro/steering/AGENTS.md",pn=".kiro/skills",no=".kiro/agents",xi=".kiro/settings/mcp.json",Pi=".kiro/settings/kiroignore",Dh=".agents/skills",Um=".agentsmesh/rules/_root.md",Km=".agentsmesh/rules",Fh=".agentsmesh/agents",vh=".agentsmesh/mcp.json",Wm=".agentsmesh/hooks.yaml",$h=".agentsmesh/ignore";});async function Bm(t,e,r="project"){if(r==="global"){t.set(Pe,`${D}/_root.md`);for(let n of await b(e,ro)){let o=L(e,n);o!==Pe&&$(t,o,D,".md");}for(let n of await b(e,pn))z(t,L(e,n),pn);for(let n of await b(e,no))$(t,L(e,n),dt,".md");return}t.set(Le,`${D}/_root.md`);for(let n of await b(e,be))$(t,L(e,n),D,".md");for(let n of await b(e,se))z(t,L(e,n),se);for(let n of await b(e,xe))$(t,L(e,n),dt,".md");}var Mh=f(()=>{vt();ps();$t();i(Bm,"buildKiroImportPaths");});var un,oo,Te,Ti,Lr,br,er,Ni,Di,us,Fi,qa,dn,fn,xr,so,vi,gn,Gh,io,Qa,jh,Uh,ao=f(()=>{un="roo-code",oo=".roo",Te=`${oo}/rules/00-root.md`,Ti=".roorules",Lr=`${oo}/rules`,br=`${oo}/commands`,er=`${oo}/skills`,Ni=`${oo}/mcp.json`,Di=".rooignore",us=".roomodes",Fi="settings/custom_modes.yaml",qa=".roo",dn=`${qa}/rules`,fn=`${qa}/commands`,xr=`${qa}/skills`,so="mcp_settings.json",vi=".rooignore",gn=`${qa}/AGENTS.md`,Gh=".agents/skills",io=".agentsmesh/rules",Qa=".agentsmesh/commands",jh=".agentsmesh/mcp.json",Uh=".agentsmesh/ignore";});async function Hm(t,e,r="project"){if(r==="global"){t.set(gn,`${D}/_root.md`);for(let n of await b(e,dn))$(t,L(e,n),D,".md");for(let n of await b(e,fn))$(t,L(e,n),X,".md");for(let n of await b(e,xr))z(t,L(e,n),xr);t.set(so,".agentsmesh/mcp.json");return}t.set(Te,`${D}/_root.md`),t.set(Ti,`${D}/_root.md`);for(let n of await b(e,Lr)){let o=L(e,n);o!==Te&&$(t,o,D,".md");}for(let n of await b(e,".roo")){let o=L(e,n);/^\.roo\/rules-[^/]+\/.+\.md$/.test(o)&&$(t,o,D,".md");}for(let n of await b(e,br))$(t,L(e,n),X,".md");for(let n of await b(e,er))z(t,L(e,n),er);}var Kh=f(()=>{vt();ao();$t();i(Hm,"buildRooCodeImportPaths");});async function zm(t,e){t.set("AGENTS.md",`${D}/_root.md`),t.set(".windsurfrules",`${D}/_root.md`),await $a(t,e);for(let r of await b(e,".windsurf/rules"))$(t,L(e,r),D,".md");for(let r of await b(e,".windsurf/workflows"))$(t,L(e,r),X,".md");for(let r of await b(e,".windsurf/skills"))z(t,L(e,r),".windsurf/skills");}var Wh=f(()=>{vt();$t();i(zm,"buildWindsurfImportPaths");});var Bh=f(()=>{sh();ch();uh();dh();fh();gh();_h();Sh();Lh();Th();Mh();Kh();Wh();});var Mt=f(()=>{Bh();});var Ob,wb,Eb,Ab,Da,dm=f(()=>{Fn();Pg();Gn();Ug();zg();qg();Mt();Ob={name:"antigravity",primaryRootInstructionPath:Se,generateRules:Eg,generateCommands:Ag,generateSkills:Lg,generateMcp:bg,importFrom:jg},wb={rootInstructionPath:Se,skillDir:".agents/skills",rewriteGeneratedPath(t){return t===ri?null:t},paths:{rulePath(t,e){return `${je}/${t}.md`},commandPath(t,e){return `${hr}/${t}.md`},agentPath(t,e){return null}}},Eb={rootInstructionPath:Ue,renderPrimaryRootInstruction:xg,skillDir:yr,managedOutputs:{dirs:[yr,ni],files:[Ue,Uo]},rewriteGeneratedPath(t){return t===Se?Ue:t.startsWith(`${je}/`)?null:t.startsWith(".agents/skills/")?t.replace(".agents/skills",yr):t.startsWith(`${hr}/`)?t.replace(hr,ni):t===ri?Uo:t},paths:{rulePath(t,e){return Ue},commandPath(t,e){return `${ni}/${t}.md`},agentPath(t,e){return null}}},Ab={rules:"native",additionalRules:"embedded",commands:Ie("partial","workflows"),agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Da={id:"antigravity",generators:Ob,capabilities:{rules:"native",additionalRules:"native",commands:Ie("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:Zg,project:wb,globalSupport:{capabilities:Ab,detectionPaths:[".gemini/antigravity/GEMINI.md",".gemini/antigravity/skills",".gemini/antigravity/workflows",".gemini/antigravity/mcp_config.json"],layout:Eb},importer:{rules:{feature:"rules",mode:"directory",source:{project:[je]},canonicalDir:Mn,extensions:[".md"],map:Bg},commands:{feature:"commands",mode:"directory",source:{project:[hr],global:[ni]},canonicalDir:Na,extensions:[".md"],map:Hg},mcp:{feature:"mcp",mode:"flatFile",source:{global:[Uo]},canonicalDir:".agentsmesh",canonicalFilename:wg}},buildImportPaths:ym,detectionPaths:[".agents/rules/general.md",".agents/rules/",".agents/skills/",".agents/workflows/"]};});function Hh(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(!Me(s))continue;let a=ut(s),l=bt(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 zh=f(()=>{fe();i(Hh,"buildClaudeHooksObjectFromCanonical");});function Vh(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:Yr,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=T(a,o.body.trim()||"");e.push({path:`${li}/${s}.md`,content:l});}return e}function Jh(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=T(r,e.body.trim()||"");return {path:`${ci}/${e.name}.md`,content:n}})}function Yh(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
45
45
 
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
46
+ ${n}`,s=T(r,o);return {path:`${mi}/${e.name}.md`,content:s}})}function Xh(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Yo,content:e}]}function Zh(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
47
47
 
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
48
+ ${o}`,a=T(n,s);e.push({path:`${pi}/${r.name}/SKILL.md`,content:a});for(let l of r.supportingFiles){let c=l.relativePath.replace(/\\/g,"/");e.push({path:`${pi}/${r.name}/${c}`,content:l.content});}}return e}function qh(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:ui,content:o}]}function Qh(t,e){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let r=Hh(t);if(Object.keys(r).length===0)return [];if(e?.scope==="global")return [{path:_r,content:JSON.stringify(r,null,2)}];let n=JSON.stringify({hooks:r},null,2);return [{path:ui,content:n}]}function ty(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
49
+ `);return [{path:di,content:e}]}var ey=f(()=>{F();Sr();zh();i(Vh,"generateRules");i(Jh,"generateCommands");i(Yh,"generateAgents");i(Xh,"generateMcp");i(Zh,"generateSkills");i(qh,"generatePermissions");i(Qh,"generateHooks");i(ty,"generateIgnore");});function Ct(t,e,r){return t.startsWith(`${e}/`)&&!r.includes("codex-cli")?`.agents/skills/${t.slice(e.length+1)}`:null}var Pr=f(()=>{i(Ct,"mirrorSkillsToAgents");});function xb(t){let e=t.description.trim();return e||(basename(t.source)||"rule").replace(/\.md$/i,"")||"Rule"}function ry(t){let e=t.rules.find(o=>o.root),r=(e?.body??"").trim();return r?`# Global Instructions
50
50
 
51
- ## ${e?wx(e):"Guidance"}
51
+ ## ${e?xb(e):"Guidance"}
52
52
 
53
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}
54
+ `:""}var ny=f(()=>{i(xb,"ruleSectionTitle");i(ry,"renderClaudeGlobalPrimaryInstructions");});function sy(t,e){return t===null?"created":t!==e?"updated":"unchanged"}async function iy(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=T(c,l.body.trim()),p=`${Im}/${l.name}.md`,u=await I(join(e,p));a.push({target:"claude-code",path:p,content:m,currentContent:u??void 0,status:sy(u,m)});}if(s)for(let l of t.commands){if(!l.outputStyle)continue;let c={name:l.name,description:l.description||void 0},m=T(c,l.body.trim()),p=`${Im}/${l.name}.md`,u=await I(join(e,p));a.push({target:"claude-code",path:p,content:m,currentContent:u??void 0,status:sy(u,m)});}return a}var ay=f(()=>{E();F();Sr();i(sy,"computeStatus");i(iy,"generateClaudeGlobalExtras");});var ly,cy,my,py=f(()=>{F();Y();Ce();Sr();ly=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${gi}/${t}`,content:await M(n,{...o,root:false},s)}},"claudeRuleMapper"),cy=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n)),a=Qt(o.allowedTools),l=a.length>0?a:Qt(o["allowed-tools"]);return {destPath:n,toPath:`${Ma}/${t}`,content:await Z(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"),my=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${Ga}/${t}`,content:await _t(n,o,s)}},"claudeAgentMapper");});function uy(t,e,r,n){return ot(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:ih}))}var dy=f(()=>{te();Sr();i(uy,"lintRules");});var Pb,fy,Tb,Nb,tl,Jm=f(()=>{ey();Sr();Pr();ny();ay();Ym();py();dy();Mt();Pb={name:"claude-code",primaryRootInstructionPath:Yr,generateRules:Vh,generateCommands:Jh,generateAgents:Yh,generateSkills:Zh,generateMcp:Xh,generatePermissions:qh,generateHooks:Qh,generateIgnore:ty,importFrom:el},fy={rootInstructionPath:Yr,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`}}},Tb={rootInstructionPath:Yr,skillDir:".claude/skills",renderPrimaryRootInstruction:ry,managedOutputs:{dirs:[".claude/agents",".claude/commands",".claude/rules",".claude/skills",".claude/output-styles",".agents/skills"],files:[".claude/CLAUDE.md",".claude/settings.json",fi,_r,".claudeignore"]},rewriteGeneratedPath(t){return t===Yo?fi:t},mirrorGlobalPath(t,e){return Ct(t,".claude/skills",e)},paths:fy.paths},Nb={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"native"},tl={id:"claude-code",generators:Pb,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:uy,project:fy,globalSupport:{capabilities:Nb,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:Tb,scopeExtras:iy},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Yr,ah],global:[Yr]},canonicalDir:gi,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[li],global:[li]},canonicalDir:gi,extensions:[".md"],map:ly}],commands:{feature:"commands",mode:"directory",source:{project:[ci],global:[ci]},canonicalDir:Ma,extensions:[".md"],map:cy},agents:{feature:"agents",mode:"directory",source:{project:[mi],global:[mi]},canonicalDir:Ga,extensions:[".md"],map:my},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Yo],global:[fi]},canonicalDir:".agentsmesh",canonicalFilename:hi},ignore:{feature:"ignore",mode:"flatFile",source:{project:[di],global:[di]},canonicalDir:".agentsmesh",canonicalFilename:lh}},buildImportPaths:Cm,detectionPaths:["CLAUDE.md",".claude/rules",".claude/commands"]};});function Fb(t){let e=basename(t,".md");return e==="_root"?"root":e}function gy(t){let e=[],r=t.rules.find(n=>n.root);if(r){let n=r.body.trim()?r.body:"";e.push({path:Zr,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?T(s,n.body.trim()||""):n.body.trim()||"";e.push({path:`${Cr}/${o}.md`,content:a});}return e}function hy(t){return t.commands.map(e=>{let r=e.description.trim(),n=e.body.trim(),o=r&&n?`${r}
55
55
 
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(`
56
+ ${n}`:r||n;return {path:`${He}/${e.name}.md`,content:o}})}function yy(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
57
+ `);return [{path:Un,content:e}]}function Iy(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Rr,content:e}]}function _y(t){return t.agents.map(e=>({path:`${St}/${Ft(e.name)}/SKILL.md`,content:va(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(`
58
+ `)}function Sy(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)fr(s)&&(e.push({path:`${Kn}/${vb(r)}-${o}.sh`,content:$b(r,s.command,s.matcher)}),o++);}return e}function Cy(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=T(n,r.body.trim()||"");e.push({path:`${St}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${St}/${r.name}/${a}`,content:s.content});}}return e}var Ry=f(()=>{fe();F();ee();re();i(Fb,"ruleSlug");i(gy,"generateRules");i(hy,"generateCommands");i(yy,"generateIgnore");i(Iy,"generateMcp");i(_y,"generateAgents");i(vb,"safeEventName");i($b,"buildHookScript");i(Sy,"generateHooks");i(Cy,"generateSkills");});async function Oy(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=Ir(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:`${qr}/${n}`,feature:"rules",content:await M(o,c,a)}}async function wy(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 p=s.indexOf(`
59
59
 
60
- `);if(u>0){let p=s.slice(0,u).trim();p&&!p.includes(`
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(`
60
+ `);if(p>0){let u=s.slice(0,p).trim();u&&!u.includes(`
61
+ `)&&(l=u,c=true,m=s.slice(p+2));}}return {destPath:n,toPath:`${ja}/${t}`,feature:"commands",content:await Z(n,{description:l,hasDescription:c,allowedTools:[],hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},m)}}var Xm=f(()=>{F();Y();Ce();re();i(Oy,"mapClineRuleFile");i(wy,"mapClineWorkflowFile");});async function Ey(t,e,r){let n=join(t,qr),o=join(t,Cr),s=join(t,Cr),a=false;try{a=(await stat(s)).isFile();}catch{}if(a){let p=await I(s);if(p!==null){await k(n);let u=join(n,"_root.md"),{frontmatter:d,body:g}=O(r(p,s,u)),C=d.root===true?d:{...d,root:true},R=await M(u,C,g);await S(u,R),e.push({fromTool:"cline",fromPath:s,toPath:`${qr}/_root.md`,feature:"rules"});}return a}let l=null,c=join(o,"_root.md"),m=await I(c);if(m===null){let p=join(t,Zr),u=await I(p);if(u!==null){l=p,await k(n);let d=join(n,"_root.md"),{frontmatter:g,body:h}=O(r(u,p,d)),R=g.root===true?g:{...g,root:true},_=await M(d,R,h);await S(d,_),e.push({fromTool:"cline",fromPath:p,toPath:`${qr}/_root.md`,feature:"rules"});}else {let h=(await P(o)).filter(C=>C.endsWith(".md")&&!C.includes("/workflows/")).sort()[0];if(h){let C=await I(h);if(C!==null){l=h,await k(n);let R=join(n,"_root.md"),{frontmatter:_,body:w}=O(r(C,h,R)),A=_.root===true?_:{..._,root:true},x=await M(R,A,w);await S(R,x),e.push({fromTool:"cline",fromPath:h,toPath:`${qr}/_root.md`,feature:"rules"});}}}}else {l=c,await k(n);let p=join(n,"_root.md"),{frontmatter:u,body:d}=O(r(m,c,p)),h=u.root===true?u:{...u,root:true},C=await M(p,h,d);await S(p,C),e.push({fromTool:"cline",fromPath:c,toPath:`${qr}/_root.md`,feature:"rules"});}return e.push(...await q({srcDir:o,destDir:n,extensions:[".md"],fromTool:"cline",normalize:r,mapEntry:i(async({srcPath:p,relativePath:u,normalizeTo:d})=>p===l?null:Oy(u,n,d),"mapEntry")})),a}var Ay=f(()=>{E();F();Y();Re();Xm();re();i(Ey,"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 Ly(t,e){let r=[Rr,mh].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,p]of Object.entries(l)){let u=Gb(p);u&&(c[m]=u);}Object.keys(c).length>0&&(await k(join(t,".agentsmesh")),await S(join(t,Om),JSON.stringify({mcpServers:c},null,2)),e.push({fromTool:Xr,fromPath:s,toPath:Om,feature:"mcp"}));}}var by=f(()=>{E();re();i(Gb,"mapClineServerToCanonical");i(Ly,"importClineMcp");});function xy(t){return jb.some(e=>e.test(t))}var jb,Py=f(()=>{jb=[/^\./,/^_ab-agent-/,/^_ab-command-/,/\.fixture\./,/\.test\./];i(xy,"isReservedArtifactName");});async function Kb(t){let e=await P(t).catch(()=>[]),r=[];for(let n of e){let o=relative(t,n).replace(/\\/g,"/"),s=basename(o);if(xy(s))continue;let a=await I(n);a!==null&&r.push({absolutePath:n,relativePath:o,content:a});}return r}async function rr(t,e,r){let n=await Kb(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),p=await Ge(a,{...c,name:t},m);await S(a,p);}else await S(a,l);r.results.push({fromTool:r.targetName,fromPath:s.absolutePath,toPath:`${r.destCanonicalSkillsDir}/${t}/${s.relativePath}`,feature:"skills"});}}async function Ny(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 Ge(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 hn(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 ds=f(()=>{E();F();Y();Py();i(Kb,"readNativeSkill");i(rr,"importDirectorySkill");i(Ny,"importFlatSkill");i(hn,"findDirectorySkills");});async function Dy(t,e,r,n=St){let o=join(t,n),s=await hn(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:ph,targetName:"cline",normalize:r,results:e};for(let[l,c]of s){let m=join(c,"SKILL.md"),p=await I(m);if(!p)continue;let u=O(p),d=Jr(u.frontmatter,l);if(d){let g=join(t,wm);await k(g);let h=join(g,`${d.name}.md`);await S(h,Be(d,r(u.body,m,h))),e.push({fromTool:"cline",fromPath:m,toPath:`${wm}/${d.name}.md`,feature:"agents"});continue}await rr(l,c,a);}}var Fy=f(()=>{E();F();ee();ds();re();i(Dy,"importClineSkills");});function Qm(t,e){return t.match(new RegExp(`^# agentsmesh-${e}:\\s*(.+)$`,"m"))?.[1]?.trim()??null}async function vy(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=Qm(s,"event"),l=Qm(s,"command");if(!a||!l)continue;let c=Qm(s,"matcher")??"*";e[a]||(e[a]=[]),e[a].push({matcher:c,command:l});}}async function My(t,e){let r={};if(await vy(join(t,Kn),r),await vy(join(t,Hn),r),Object.keys(r).length===0)return;let n=join(t,Rm);await k(dirname(n)),await S(n,stringify(r)),e.push({fromTool:Xr,fromPath:join(t,Hn),toPath:Rm,feature:"hooks"});}var Gy=f(()=>{E();re();i(Qm,"extractMeta");i(vy,"loadHooksFromDir");i(My,"importClineHooks");});async function sl(t){let e=[],r=await V(Xr,t),n=await Ey(t,e,r),o=join(t,Un),s=await I(o);if(s!==null&&s.trim()){let l=s.split(/\r?\n/),c=[];for(let m of l){let p=m.trim();p&&!p.startsWith("#")&&c.push(p);}if(c.length>0){await k(join(t,".agentsmesh"));let m=join(t,km);await S(m,c.join(`
62
+ `)),e.push({fromTool:"cline",fromPath:o,toPath:km,feature:"ignore"});}}await Ly(t,e);let a=join(t,ja);return n||e.push(...await q({srcDir:join(t,He),destDir:a,extensions:[".md"],fromTool:"cline",normalize:r,mapEntry:i(({relativePath:l,normalizeTo:c})=>wy(l,a,c),"mapEntry")})),await Dy(t,e,r),await My(t,e),e}var tp=f(()=>{At();E();Re();Xm();Ay();re();by();Fy();Gy();i(sl,"importFromCline");});function jy(t,e,r,n){return ot(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:Xr}))}var Uy=f(()=>{te();re();i(jy,"lintRules");});function J(t,e,r){return {level:"warning",file:t,target:e,message:r}}function Hb(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 fs(t,e,r,n){let o=n?.unsupportedBy??e,s=Hb(r);return J(".agentsmesh/hooks.yaml",e,`${t} is not supported by ${o}; only ${s} are projected.`)}var Gt=f(()=>{i(J,"createWarning");i(Hb,"formatOxfordComma");i(fs,"createUnsupportedHookWarning");});function Ky(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>J(e.source,"cline","cline workflow files are plain Markdown; command description and allowed-tools metadata are not projected."))}function Wy(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[J(".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 By=f(()=>{Gt();i(Ky,"lintCommands");i(Wy,"lintHooks");});var zb,Vb,Jb,Yb,Hy,zy=f(()=>{Ry();Fn();re();tp();Uy();By();Mt();$o();ee();zb={name:"cline",primaryRootInstructionPath:Zr,generateRules:gy,generateCommands:hy,generateAgents:_y,generateSkills:Cy,generateMcp:Iy,generateHooks:Sy,generateIgnore:yy,importFrom:sl},Vb={rootInstructionPath:Zr,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 `${Cr}/${t}.md`},commandPath(t,e){return `${He}/${t}.md`},agentPath(t,e){return he(e,"cline")?`.cline/skills/${Ft(t)}/SKILL.md`:null}}},Jb={skillDir:St,managedOutputs:{dirs:[Wn,Bn,Hn,St,".agents/skills"],files:[Rr,Un]},rewriteGeneratedPath(t){return t===Zr?null:t.startsWith(`${Kn}/`)?`${Hn}/${t.slice(Kn.length+1)}`:t.startsWith(`${He}/`)?`${Bn}/${t.slice(He.length+1)}`:t.startsWith(`${Cr}/`)?`${Wn}/${t.slice(Cr.length+1)}`:t},mirrorGlobalPath(t,e){return t.startsWith(`${St}/`)?`.agents/skills/${t.slice(St.length+1)}`:null},paths:{rulePath(t,e){return `${Wn}/${t}.md`},commandPath(t,e){return `${Bn}/${t}.md`},agentPath(t,e){return he(e,"cline")?`.cline/skills/${Ft(t)}/SKILL.md`:null}}},Yb={rules:"native",additionalRules:"native",commands:Ie("native","workflows"),agents:"embedded",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},Hy={id:"cline",generators:zb,capabilities:{rules:"native",additionalRules:"native",commands:Ie("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:jy,lint:{commands:Ky,hooks:Wy},project:Vb,globalSupport:{capabilities:Yb,detectionPaths:[Wn,Bn,Hn,St,Rr,Un],layout:Jb},buildImportPaths:Em,detectionPaths:[".clinerules",".cline"]};});var Rt,Vy,Nr,lo,Jy,Ne,Yy,il,co,nr,mo,Dr,ep,gs,Mi,rp,Xy,np,Zy,qy,op,sp,ip,Lt=f(()=>{Rt="codex-cli",Vy="codex.md",Nr="AGENTS.md",lo=".codex/AGENTS.md",Jy=".codex/AGENTS.override.md",Ne=".agents/skills",Yy=".codex/skills",il=".codex/config.toml",co=".codex/instructions",nr=".codex/rules",mo=".codex/agents",Dr=".agentsmesh/rules",ep=".agentsmesh/commands",gs=".agentsmesh/agents",Mi=".agentsmesh/skills",rp=".agentsmesh/mcp.json",Xy="am-codex-rule:v1",np="# am-json: ",Zy="# am-body-b64-begin",qy="# am-body-b64-end",op="# am64:",sp="<!-- agentsmesh:codex-rule-index:start -->",ip="<!-- agentsmesh:codex-rule-index:end -->";});function ap(t){return basename(t,".md")}function Gi(t){return `${co}/${ap(t.source)}.md`}function Qy(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];}),T(e,t.body.trim()||"")}function Zb(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 \`${nr}/${ap(t.source)}.rules\`.`),t.targets.length>0&&e.push(`Targeted to ${t.targets.map(r=>`\`${r}\``).join(", ")}.`),e.join(" ")}function tI(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||ap(a.source)}](${Gi(a)}): ${Zb(a)}`),s=[sp,"## Additional Rule Files",...o,ip].join(`
63
63
  `);return r?`${r}
64
64
 
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(`
65
+ ${s}`:s}function eI(t){let e=sp.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=ip.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t.replace(new RegExp(`\\n?${e}[\\s\\S]*?${r}\\n?`,"g"),`
66
+ `).trim()}var al=f(()=>{F();Lt();i(ap,"ruleSlug");i(Gi,"codexInstructionMirrorPath");i(Qy,"serializeCodexInstructionMirror");i(Zb,"summarizeRule");i(tI,"appendCodexRuleIndex");i(eI,"stripCodexRuleIndex");});function Qb(t){return /(^|\n)\s*[A-Za-z_][A-Za-z0-9_]*\s*\(/.test(t)}function tx(t){return t.split(`
67
67
  `).map(e=>e.length>0?`# ${e}`:"#").join(`
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(`
68
+ `)}function ex(t){let e=t.trim();return e?Qb(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.","#",...tx(e).split(`
70
70
  `),"#","# Example template:","# prefix_rule(",'# pattern = ["git", "status"],','# decision = "allow",','# justification = "Allow safe status checks",',"# )"].join(`
71
71
  `)}
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 = """
72
+ `:""}function lp(t){let e=t.rules.find(n=>n.root),r=[];e&&r.push({path:Nr,content:tI(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:`${nr}/${o}.rules`,content:ex(n.body)}),r.push({path:Gi(n),content:Qy(n)}));}return r}function cp(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 _e(e?.body.trim()??"",r)}var rI=f(()=>{zr();Lt();al();i(Qb,"looksLikeCodexRulesDsl");i(tx,"toCodexRulesComments");i(ex,"toSafeCodexRulesContent");i(lp,"generateRules");i(cp,"renderCodexGlobalInstructions");});function mp(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=T(n,r.body.trim()||"");e.push({path:`${Ne}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${Ne}/${r.name}/${a}`,content:s.content});}}return e}function rx(t){return {path:`${Ne}/${Vo(t.name)}/SKILL.md`,content:Qg(t)}}function pp(t){return t.commands.map(rx)}var nI=f(()=>{F();Lt();si();i(mp,"generateSkills");i(rx,"commandToSkillOutput");i(pp,"generateCommands");});function up(t){return t.agents.map(e=>({path:`${mo}/${e.name}.toml`,content:nx(e)}))}function nx(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 = """
73
73
  ${n}
74
74
  """`);}else e.push(`developer_instructions = '''
75
75
  ${r}
76
76
  '''`);return e.join(`
77
77
  `)+`
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(`
78
+ `}var oI=f(()=>{Lt();i(up,"generateAgents");i(nx,"serializeAgentToCodexToml");});function ll(t){return "command"in t}function sI(t){return "url"in t}var cl=f(()=>{i(ll,"isStdioMcpServer");i(sI,"isUrlMcpServer");});function dp(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=Object.fromEntries(Object.entries(t.mcp.mcpServers).flatMap(([n,o])=>ll(o)?[[n,o]]:[]));if(Object.keys(e).length===0)return [];let r=ox(e);return [{path:il,content:r}]}function ox(t){let e=[];for(let[r,n]of Object.entries(t)){let o=iI(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,p])=>`${iI(m)?JSON.stringify(m):m} = ${JSON.stringify(p)}`).join(", ");s.push(`env = { ${c} }`);}e.push(s.join(`
79
79
  `));}return e.join(`
80
80
 
81
81
  `)+`
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}
82
+ `}function iI(t){return !/^[A-Za-z0-9_-]+$/.test(t)}var aI=f(()=>{cl();Lt();i(dp,"generateMcp");i(ox,"serializeMcpToToml");i(iI,"needsTomlQuoting");});var lI=f(()=>{rI();nI();oI();aI();});var cI=f(()=>{lI();});function ax(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 mI(t,e){let r=join(t,il),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=ax(c);m&&(a[l]=m);}Object.keys(a).length!==0&&(await Ke(t,rp,a),e.push({fromTool:Rt,fromPath:r,toPath:rp,feature:"mcp"}));}var pI=f(()=>{E();Ko();Lt();i(ax,"mapTomlServerToCanonical");i(mI,"importMcp");});function ml(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 Fr(t){await rm$1(t,{recursive:true,force:true});}var ji=f(()=>{i(ml,"shouldImportScopedAgentsRule");i(Fr,"removePathIfExists");});async function uI(t,e,r){let n={projectRoot:t,sourceSkillsDir:Ne,destCanonicalSkillsDir:Mi,targetName:Rt,normalize:r,results:e};for(let o of [Ne,Yy]){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),p=join(m,"SKILL.md"),u=await I(p);if(!u)continue;l=true;let d=c.name,g=join(t,Mi,d,"SKILL.md"),h=r(u,p,g),{frontmatter:C,body:R}=O(h),_=th(C,c.name);if(_){await Fr(join(t,Mi,d));let v=join(t,ep);await k(v);let A=join(v,`${_.name}.md`);await S(A,eh(_,r(R,p,A))),e.push({fromTool:Rt,fromPath:p,toPath:`${ep}/${_.name}.md`,feature:"commands"});continue}let w=Jr(C,c.name);if(w){await Fr(join(t,Mi,d));let v=join(t,gs);await k(v);let A=join(v,`${w.name}.md`);await S(A,Be(w,r(R,p,A))),e.push({fromTool:Rt,fromPath:p,toPath:`${gs}/${w.name}.md`,feature:"agents"});continue}await rr(d,m,n);}if(l)return}}var dI=f(()=>{E();F();si();ee();ji();ds();Lt();i(uI,"importSkills");});async function fI(t,e,r){let n=join(t,mo),o=join(t,gs);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 p=typeof m.name=="string"?m.name:basename(l,".toml"),u=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:"",C=h==="read-only"?"read-only":h==="workspace-write"?"allow":"",R=Array.isArray(m.mcp_servers)?m.mcp_servers.filter(x=>typeof x=="string"):[];await k(o);let _=join(o,`${p}.md`),w=r(d,l,_),A=Be({name:p,description:u,tools:[],disallowedTools:[],model:g,permissionMode:C,maxTurns:0,mcpServers:R,hooks:{},skills:[],memory:""},w);await S(_,A),e.push({fromTool:Rt,fromPath:l,toPath:`${gs}/${p}.md`,feature:"agents"});}}catch{}}var gI=f(()=>{E();ee();Lt();i(fI,"importCodexAgentsFromToml");});function hI(t){if(!t.includes(Xy))return null;let e=t.split(`
83
+ `).find(c=>c.startsWith(np));if(!e)return null;let r;try{r=JSON.parse(e.slice(np.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===Zy){l=true;continue}if(m===qy){l=false;continue}l&&m.startsWith(op)&&a.push(m.slice(op.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 yI=f(()=>{Lt();i(hI,"tryParseEmbeddedCanonicalFromCodexRules");});async function _I(t,e,r){let n=[],o=join(t,nr);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 p=relative(o,c).replace(/\\/g,"/"),u=join(e,p),{frontmatter:d,body:g}=O(r(m,c,u));await k(e);let h=d.root===!0?d:{...d,root:!1},C=await M(u,h,g);await S(u,C),n.push({fromTool:Rt,fromPath:c,toPath:`${Dr}/${p}`,feature:"rules"});}let l=s.filter(c=>c.endsWith(".rules"));for(let c of l){let m=await I(c);if(!m)continue;let p=relative(o,c).replace(/\\/g,"/").replace(/\.rules$/i,".md"),u=join(e,p);await k(e);let d=hI(m);if(d){let g=await M(u,{description:d.meta.description,globs:d.meta.globs,root:!1},r(d.body,c,u));await S(u,g);}else {let g=await M(u,{root:!1,description:"",globs:[],codex_emit:"execution"},r(m.trim(),c,u));await S(u,g);}n.push({fromTool:Rt,fromPath:c,toPath:`${Dr}/${p}`,feature:"rules"});}}catch{}return n}var SI=f(()=>{E();F();Y();Lt();yI();i(_I,"importCodexNonRootRuleFiles");});async function RI(t,e,r,n,o){let s=join(t,Vy),a=join(t,Nr),l=join(t,Jy),c=join(t,lo),m=o==="global"?await I(l):null,p=o==="global"?await I(c):null,u=o==="project"?await I(a):null,d=o==="project"?await I(s):null,g=m!==null?l:p!==null?c:u!==null?a:s,h=join(t,Dr),C=m??p??u??d;if(C!==null){await k(h);let R=join(h,"_root.md"),_=g===a||g===c||g===l?eI(C):C,w=await We({content:_,projectRoot:t,rulesDir:Dr,sourcePath:g,fromTool:"codex-cli",normalize:r});e.push(...w.results);let v=r(g===a||g===c||g===l?n(w.rootContent,g,R):w.rootContent,g,R),{frontmatter:A,body:x}=O(v),H=A.root===true?A:{...A,root:true},j=await M(R,H,x);await S(R,j),e.push({fromTool:"codex-cli",fromPath:g,toPath:`${Dr}/_root.md`,feature:"rules"});}await gx(t,h,e,r),e.push(...await _I(t,h,r)),o!=="global"&&e.push(...await q({srcDir:t,destDir:h,extensions:["AGENTS.md","AGENTS.override.md"],fromTool:"codex-cli",normalize:r,mapEntry:i(async({srcPath:R,normalizeTo:_})=>{let w=relative(t,dirname(R)).replace(/\\/g,"/"),v=basename(R),A=v==="AGENTS.override.md";if(!w||w==="."||!A&&v!=="AGENTS.md")return null;let x=w.replace(/\//g,"-");if(!ml(w))return await Fr(join(h,`${x}.md`)),null;let H=join(h,`${x}.md`),{frontmatter:j,body:K}=O(_(H));return {destPath:H,toPath:`${Dr}/${x}.md`,feature:"rules",content:await M(H,{...j,root:false,globs:[`${w}/**`],...A?{codex_instruction:"override"}:{}},K)}},"mapEntry")}));}async function gx(t,e,r,n){try{let s=(await P(join(t,co))).filter(l=>l.endsWith(".md")),a=join(t,co);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 p=join(e,c),{frontmatter:u,body:d}=O(n(m,l,p));await k(e);let g=u.root===!0?u:{...u,root:!1},h=await M(p,g,d);await S(p,h),r.push({fromTool:Rt,fromPath:l,toPath:`${Dr}/${c}`,feature:"rules"});}}catch{}}var kI=f(()=>{E();F();Y();Ho();Re();ji();Lt();SI();al();i(RI,"importCodexRules");i(gx,"importInstructionMirrors");});async function pl(t,e){let r=e?.scope??"project",n=[],o=await V(Rt,t,r),s=await V("windsurf",t,r);return await RI(t,n,o,s,r),await uI(t,n,o),await fI(t,n,o),await mI(t,n),n}var hp=f(()=>{At();Lt();pI();dI();gI();kI();i(pl,"importFromCodex");});function OI(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:Rt,message:"Codex needs a root rule to generate AGENTS.md. Add root: true to a rule."}]}var wI=f(()=>{Lt();i(OI,"lintRules");});function EI(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(J(".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(J(".agentsmesh/mcp.json","codex-cli",`MCP server "${r}" uses ${o} transport; codex-cli only generates stdio MCP servers.`));}return e}var AI=f(()=>{Gt();i(EI,"lintMcp");});function LI(t){return Gi(t)}var bI=f(()=>{al();i(LI,"codexAdvisoryInstructionPath");});var yx,Ix,_x,Sx,PI,TI=f(()=>{cI();Lt();hp();wI();AI();Mt();$o();bI();si();yx={name:"codex-cli",primaryRootInstructionPath:Nr,generateRules:lp,generateCommands:pp,generateAgents:up,generateSkills:mp,generateMcp:dp,importFrom:pl},Ix={rootInstructionPath:Nr,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${nr}/${e}.rules`]},skillDir:".agents/skills",managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/instructions"],files:["AGENTS.md",".codex/config.toml"]},paths:{rulePath(t,e){return LI(e)},commandPath(t,e){return Zs(e,"codex-cli")?`${Ne}/${Vo(t)}/SKILL.md`:null},agentPath(t,e){return `${mo}/${t}.toml`}}},_x={rootInstructionPath:lo,renderPrimaryRootInstruction:cp,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${nr}/${e}.rules`]},skillDir:Ne,managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/rules"],files:[lo,".codex/config.toml"]},rewriteGeneratedPath(t){return t===Nr?lo:t.startsWith(`${co}/`)?null:t},paths:{rulePath(t,e){return e.codexEmit==="execution"?`${nr}/${t}.rules`:lo},commandPath(t,e){return Zs(e,"codex-cli")?`${Ne}/${Vo(t)}/SKILL.md`:null},agentPath(t,e){return `${mo}/${t}.toml`}}},Sx={rules:"native",additionalRules:"embedded",commands:"embedded",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},PI={id:"codex-cli",generators:yx,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:OI,lint:{mcp:EI},project:Ix,globalSupport:{capabilities:Sx,detectionPaths:[".codex/AGENTS.md",".codex/AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules",".agents/skills"],layout:_x},buildImportPaths:Am,sharedArtifacts:{".agents/skills/":"owner"},detectionPaths:["codex.md","AGENTS.md","AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules"]};});function Rx(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 NI(t){return `${ze}/${t}.md`}function DI(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"],T(e,t.body.trim()||"")}function FI(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:Rx(t["x-agentsmesh-allowed-tools"])}}function vI(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"],T(r,e.trim()||"")}var ul=f(()=>{F();Je();i(Rx,"toStringArray");i(NI,"continueCommandRulePath");i(DI,"serializeCommandRule");i(FI,"parseCommandRuleFrontmatter");i(vI,"serializeImportedCommand");});function $I(t){let e=[],r=t.rules.find(n=>n.root);if(r){let n={};r.description&&(n.description=r.description),e.push({path:kr,content:T(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:`${Oe}/${o}.md`,content:T(s,n.body.trim()||"")});}return e}function MI(t){return t.commands.map(e=>({path:`${ze}/${e.name}.md`,content:DI(e)}))}function GI(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Ua,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function jI(t){return qt(t,Ve)}var UI=f(()=>{Bt();F();ul();Je();i($I,"generateRules");i(MI,"generateCommands");i(GI,"generateMcp");i(jI,"generateSkills");});function Ex(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:Wo(l.args),env:Bo(l.env),description:typeof l.description=="string"?l.description:void 0});}return o}async function Ax(t,e){let r=(await P(join(t,Lm))).filter(s=>[".json",".yaml",".yml"].includes(extname(s))),n={},o=[];for(let s of r){let a=await I(s);a&&(Object.assign(n,Ex(a,extname(s))),o.push(s));}if(Object.keys(n).length!==0){await Ke(t,xm,n);for(let s of o)e.push({fromTool:Xo,fromPath:s,toPath:xm,feature:"mcp"});}}async function dl(t){let e=[],r=await V(Xo,t);return e.push(...await ct(fl,t,"project",{normalize:r})),await Wt(t,Ve,Xo,e,r),await Ax(t,e),e}var yp=f(()=>{At();E();Bt();ke();Ko();Ce();Je();Ip();i(Ex,"readMcpServers");i(Ax,"importMcp");i(dl,"importFromContinue");});function Lx(t){return t==="general.md"||t==="_root.md"}var WI,BI,HI=f(()=>{F();Y();ul();Je();i(Lx,"isContinueRootRulePath");WI=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=Lx(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:`${Ka}/${o}`,content:await M(s,c,l)}},"continueRuleMapper"),BI=i(async({absolutePath:t,relativePath:e,normalizeTo:r,destDir:n})=>{let o=join(n,e),{frontmatter:s,body:a}=O(r(o)),l=FI(s,t),c=l.name||e.replace(/\.md$/,"").replace(/^.*\//,""),m=e.includes("/")?e.slice(0,e.lastIndexOf("/")):"",p=m?`${m}/${c}.md`:`${c}.md`,u=join(n,p),d=await Z(u,{description:l.description,hasDescription:!!l.description,allowedTools:l.allowedTools,hasAllowedTools:l.allowedTools.length>0},O(vI(l,a)).body);return {destPath:u,toPath:`${Wa}/${p}`,content:d}},"continueCommandMapper");});function zI(t,e,r,n){return ot(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Xo}))}var VI=f(()=>{te();Je();i(zI,"lintRules");});function JI(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>J(e.source,"continue","Continue invokable prompt rules do not natively enforce canonical allowed-tools metadata."))}var YI=f(()=>{Gt();i(JI,"lintCommands");});function Tx(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var XI,ZI=f(()=>{E();Je();i(Tx,"computeStatus");XI=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(u=>({name:u.description||basename(u.source,".md"),rule:u.body.trim()}))),s&&t.commands.length>0&&(c.prompts=t.commands.map(u=>{let d={name:u.name};return u.description&&(d.description=u.description),d.prompt=u.body.trim(),d})),a&&t.mcp!==null){let u=Object.entries(t.mcp.mcpServers);u.length>0&&(c.mcpServers=u.map(([d,g])=>({name:d,...g})));}let m=stringify(c),p=await I(join(e,yi));return [{target:"continue",path:yi,content:m,currentContent:p??void 0,status:Tx(p,m)}]},"generateContinueGlobalConfig");});function Dx(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var qI,QI=f(()=>{E();Je();ZI();i(Dx,"computeStatus");qI=i(async(t,e,r,n)=>{let o=await XI(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,Zo));return [...o,{target:"continue",path:Zo,content:a,currentContent:l??void 0,status:Dx(l,a)}]},"generateContinueScopeExtras");});var Fx,vx,$x,Mx,fl,Ip=f(()=>{UI();Je();yp();HI();VI();YI();ul();Mt();QI();Fx={name:"continue",primaryRootInstructionPath:kr,generateRules:$I,generateCommands:MI,generateSkills:jI,generateMcp:GI,importFrom:dl},vx={rootInstructionPath:kr,skillDir:".continue/skills",managedOutputs:{dirs:[".continue/prompts",".continue/rules",".continue/skills"],files:[".continue/mcpServers/agentsmesh.json"]},paths:{rulePath(t,e){return `${Oe}/${t}.md`},commandPath(t,e){return NI(t)},agentPath(t,e){return null}}},$x={rootInstructionPath:kr,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[Zo]}],skillDir:Ve,managedOutputs:{dirs:[Oe,ze,Ve,".agents/skills"],files:[Ua,Zo,yi]},mirrorGlobalPath(t,e){return t.startsWith(`${Ve}/`)?`.agents/skills/${t.slice(Ve.length+1)}`:null},paths:{rulePath(t,e){return `${Oe}/${t}.md`},commandPath(t,e){return `${ze}/${t}.md`},agentPath(t,e){return null}}},Mx={rules:"native",additionalRules:"native",commands:"native",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},fl={id:"continue",generators:Fx,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:zI,lint:{commands:JI},project:vx,globalSupport:{capabilities:Mx,detectionPaths:[Oe,ze,".continue/mcpServers",Ve],layout:$x,scopeExtras:qI},importer:{rules:{feature:"rules",mode:"directory",source:{project:[Oe],global:[Oe]},canonicalDir:Ka,extensions:[".md"],map:WI},commands:{feature:"commands",mode:"directory",source:{project:[ze],global:[ze]},canonicalDir:Wa,extensions:[".md"],map:BI}},buildImportPaths:Pm,detectionPaths:[".continue/rules",".continue/skills",".continue/mcpServers"]};});var vr,po,t_,uo,yn,sr,ir,fo,go,gl,hl,e_,Sp,r_,In,hs,$r,ys,ho,Cp,Rp,ie=f(()=>{vr="copilot",po=".github/copilot-instructions.md",t_=".github/copilot",uo=".github/instructions",yn=".github/prompts",sr=".github/hooks",ir=".github/skills",fo=".github/agents",go=".agentsmesh/rules",gl=".agentsmesh/commands",hl=".agentsmesh/agents",e_=".agentsmesh/skills",Sp=".agentsmesh/hooks.yaml",r_=".github/copilot-hooks",In=".copilot/copilot-instructions.md",hs=".copilot/agents",$r=".copilot/skills",ys=".copilot/prompts",ho=".copilot/AGENTS.md",Cp=".claude/skills",Rp=".agents/skills";});function n_(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 yl(t){return `${yn}/${t}.prompt.md`}function o_(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"],T(e,t.body.trim()||"")}function s_(t,e){let n=((typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"")||basename(e,".prompt.md")).trim(),o=n_(t["x-agentsmesh-allowed-tools"]),s=o.length>0?o:n_(t.tools);return {name:n,description:typeof t.description=="string"?t.description:"",allowedTools:s}}var Il=f(()=>{F();ie();i(n_,"toStringArray");i(yl,"commandPromptPath");i(o_,"serializeCommandPrompt");i(s_,"parseCommandPromptFrontmatter");});function _l(t){return fr(t)}var kp=f(()=>{fe();i(_l,"hasHookCommand");});function Ux(t){let e=basename(t,".md");return e==="_root"?"root":e}function Kx(t){switch(t){case "PreToolUse":return "preToolUse";case "PostToolUse":return "postToolUse";case "Notification":return "notification";case "UserPromptSubmit":return "userPromptSubmitted";default:return null}}function i_(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
85
 
86
86
  ${o}`):e.push(o);}return e.join(`
87
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
88
+ `)}function a_(t){let e=t.rules.find(n=>n.root),r=[];e&&r.push({path:po,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=Ux(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=T(s,n.body.trim()||"");r.push({path:`${uo}/${o}.instructions.md`,content:a});}return r}function l_(t){return t.commands.map(e=>({path:yl(e.name),content:o_(e)}))}function c_(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=T(n,r.body.trim()||"");e.push({path:`${ir}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${ir}/${r.name}/${a}`,content:s.content});}}return e}function m_(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=T(r,e.body.trim()||"");return {path:`${fo}/${e.name}.agent.md`,content:n}})}function p_(t){if(!t.hooks)return [];let e=Object.fromEntries(Object.entries(t.hooks).flatMap(([r,n])=>{let o=Kx(r);if(!o||!Array.isArray(n))return [];let s=n.filter(a=>typeof a=="object"&&a!==null&&_l(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:`${sr}/agentsmesh.json`,content:JSON.stringify({version:1,hooks:e},null,2)}]}var u_=f(()=>{F();ie();Il();kp();i(Ux,"ruleSlug");i(Kx,"mapHookEvent");i(i_,"renderCopilotGlobalInstructions");i(a_,"generateRules");i(l_,"generateCommands");i(c_,"generateSkills");i(m_,"generateAgents");i(p_,"generateHooks");});function Bx(t){switch(t){case "preToolUse":return "PreToolUse";case "postToolUse":return "PostToolUse";case "notification":return "Notification";case "userPromptSubmitted":return "UserPromptSubmit";default:return null}}function Hx(t){return typeof t!="string"?"*":t.match(/^Matcher:\s*(.+)$/)?.[1]?.trim()||"*"}function g_(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 h_(t,e){let r=join(t,sr),o=(await P(r).catch(()=>[])).filter(p=>p.endsWith(".json")),s={};for(let p of o){let u=await I(p);if(!u)continue;let d;try{d=JSON.parse(u);}catch{continue}if(!(!d||typeof d.hooks!="object"||d.hooks===null))for(let[g,h]of Object.entries(d.hooks)){let C=Bx(g);if(!(!C||!Array.isArray(h)))for(let R of h){if(!R||typeof R!="object")continue;let _=R,w=typeof _.bash=="string"?_.bash:"";if(!w)continue;let v=join(r,w.replace(/^\.\//,"")),A=await I(v);if(!A)continue;let x=g_(A);x&&(s[C]||(s[C]=[]),s[C].push({matcher:Hx(_.comment),command:x,type:"command"}));}}}let a=join(t,r_),c=(await P(a).catch(()=>[])).filter(p=>dirname(p)===a&&/^[^-]+-\d+\.sh$/i.test(basename(p)));for(let p of c){let u=await I(p);if(!u)continue;let d=basename(p,".sh"),g=d.lastIndexOf("-"),h=g>0?d.slice(0,g):d;s[h]||(s[h]=[]),s[h].push({matcher:"*",command:g_(u),type:"command"});}if(Object.keys(s).length===0)return;let m=join(t,Sp);await k(dirname(m)),await S(m,stringify(s)),e.push({fromTool:vr,fromPath:join(t,sr),toPath:Sp,feature:"hooks"});}var y_=f(()=>{E();ie();i(Bx,"mapCopilotHookEvent");i(Hx,"extractMatcher");i(g_,"extractWrapperCommand");i(h_,"importHooks");});async function I_(t,e,r,n=ir){let o=join(t,n),s=await hn(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:e_,targetName:vr,normalize:r,results:e};for(let[l,c]of s)await rr(l,c,a);}var __=f(()=>{ds();ie();i(I_,"importSkills");});async function Sl(t,e={}){let r=e.scope??"project",n=[],o=await V(vr,t,r);return n.push(...await ct(Cl,t,r,{normalize:o})),await I_(t,n,o,r==="global"?$r:ir),r==="project"&&await h_(t,n),n}var Op=f(()=>{At();ke();ie();y_();__();wp();i(Sl,"importFromCopilot");});function S_(t){for(let e of Object.keys(t))t[e]===void 0&&delete t[e];return t}var C_,R_,k_,O_,w_=f(()=>{F();Y();Ce();Il();ie();i(S_,"pruneUndefined");C_=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=Ir(s.globs),c=S_({root:false,description:typeof s.description=="string"?s.description:void 0,globs:l.length>0?l:void 0});return {destPath:o,toPath:`${go}/${n}`,content:await M(o,c,a)}},"copilotLegacyRuleMapper"),R_=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=Ir(s.applyTo!==void 0?s.applyTo:s.globs),c=S_({root:false,description:typeof s.description=="string"?s.description:void 0,globs:l.length>0?l:void 0});return {destPath:o,toPath:`${go}/${n}`,content:await M(o,c,a)}},"copilotNewRuleMapper"),k_=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=s_(a,t),m=o.includes("/")?o.slice(0,o.lastIndexOf("/")):"",p=`${c.name}.md`,u=m?`${m}/${p}`:p,d=join(n,u);return {destPath:d,toPath:`${gl}/${u}`,content:await Z(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"),O_=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:`${hl}/${n}`,content:await _t(s,{...a,name:typeof a.name=="string"?a.name:o},l)}},"copilotAgentMapper");});function E_(t,e,r,n){let s=ot(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(l=>({...l,target:vr})),a=t.rules.filter(l=>!l.root&&l.globs.length===0);return [...s,...a.map(l=>({level:"warning",file:l.source,target:vr,message:"Copilot path-specific instructions require applyTo globs; non-root rules without globs are not generated."}))]}var A_=f(()=>{te();ie();i(E_,"lintRules");});function L_(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>J(e.source,"copilot","Copilot prompt files do not enforce canonical allowed-tools natively."))}function b_(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=>fs(s,"copilot",e,{unsupportedBy:"Copilot hooks"}));return Object.values(t.hooks).some(s=>Array.isArray(s)&&s.length>0)&&n.push(J(".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 x_=f(()=>{Gt();i(L_,"lintCommands");i(b_,"lintHooks");});function Xx(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function Zx(t,e){let r=relative(t,e).replace(/\\/g,"/");return !r||r.startsWith("../")?null:r}function qx(t,e){let r=t.match(P_);if(!r?.groups)return t;let n=r.groups.prefix??"",o=r.groups.suffix??"";return `${n}"$HOOK_DIR/${e}"${o}`}async function Qx(t,e){let n=e.match(P_)?.groups?.path;if(!n)return null;let o=join(t,n),s=await I(o);if(s===null)return null;let a=Zx(t,o);return a?{assetPath:`${sr}/scripts/${a}`,content:s,rewrittenCommand:qx(e,a)}:null}function tP(t,e){return `${sr}/scripts/${Xx(t)}-${e}.sh`}function eP(t,e){return ["#!/usr/bin/env bash",`# agentsmesh-matcher: ${e}`,`# agentsmesh-command: ${t}`,"set -e",t,""].join(`
89
+ `)}async function T_(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(!_l(c))continue;let m=tP(s,l),p=c.command,u=await Qx(t,c.command);u&&(p=u.rewrittenCommand,o.has(u.assetPath)||o.set(u.assetPath,{path:u.assetPath,content:u.content}));let d=eP(p,c.matcher).replace(`set -e
90
90
  `,`set -e
91
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(`
92
+ `);n.push({path:m,content:d}),l++;}}return [...r,...n,...o.values()]}var P_,N_=f(()=>{E();ie();kp();P_=/^(?<prefix>\s*(?:(?:bash|sh|zsh)\s+)?)["']?(?<path>(?:\.\.\/|\.\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?<suffix>(?:\s.*)?)$/;i(Xx,"safePhaseName");i(Zx,"toRepoRelative");i(qx,"rewriteWrapperCommand");i(Qx,"buildAssetOutput");i(tP,"wrapperPath");i(eP,"buildWrapper");i(T_,"addHookScriptAssets");});function nP(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var D_,F_=f(()=>{E();ie();i(nP,"computeStatus");D_=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,ho));return [{target:"copilot",path:ho,content:s,currentContent:a??void 0,status:nP(a,s)}]},"generateCopilotGlobalExtras");});var sP,iP,aP,lP,Cl,wp=f(()=>{u_();ie();Op();w_();A_();Mt();Il();x_();N_();F_();sP={name:"copilot",primaryRootInstructionPath:po,generateRules:a_,generateCommands:l_,generateAgents:m_,generateSkills:c_,generateHooks:p_,importFrom:Sl},iP={rootInstructionPath:po,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 [`${uo}/${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 `${uo}/${t}.instructions.md`},commandPath(t,e){return yl(t)},agentPath(t,e){return `${fo}/${t}.agent.md`}}},aP={rootInstructionPath:In,renderPrimaryRootInstruction:i_,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[ho]}],skillDir:$r,managedOutputs:{dirs:[hs,$r,ys,Rp,Cp],files:[In,ho]},rewriteGeneratedPath(t){return t===po?In:t.startsWith(`${uo}/`)?In:t.startsWith(`${yn}/`)?t.replace(`${yn}/`,`${ys}/`):t.startsWith(`${fo}/`)?t.replace(`${fo}/`,`${hs}/`):t.startsWith(`${ir}/`)?t.replace(`${ir}/`,`${$r}/`):t.startsWith(`${sr}/`)?null:t},mirrorGlobalPath(t,e){if(t.startsWith(`${$r}/`)&&!e.includes("codex-cli")){let r=t.slice($r.length+1);return [`.agents/skills/${r}`,`${Cp}/${r}`]}return null},paths:{rulePath(t,e){return In},commandPath(t,e){return `${ys}/${t}.prompt.md`},agentPath(t,e){return `${hs}/${t}.agent.md`}}},lP={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},Cl={id:"copilot",generators:sP,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:E_,lint:{commands:L_,hooks:b_},postProcessHookOutputs:i(async(t,e,r)=>T_(t,e,[...r]),"postProcessHookOutputs"),project:iP,globalSupport:{capabilities:lP,detectionPaths:[In,ho,hs,$r,ys,Rp],layout:aP,scopeExtras:D_},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[po],global:[In]},canonicalDir:go,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[t_]},canonicalDir:go,extensions:[".instructions.md"],map:C_},{feature:"rules",mode:"directory",source:{project:[uo]},canonicalDir:go,extensions:[".instructions.md",".md"],map:R_}],commands:{feature:"commands",mode:"directory",source:{project:[yn],global:[ys]},canonicalDir:gl,extensions:[".prompt.md"],map:k_},agents:{feature:"agents",mode:"directory",source:{project:[fo],global:[hs]},canonicalDir:hl,extensions:[".agent.md"],map:O_}},buildImportPaths:Tm,detectionPaths:[".github/copilot-instructions.md",".github/copilot",".github/instructions",".github/prompts",".github/skills",".github/agents",".github/hooks"]};});function Ep(t){let e=[],r=t.rules.find(s=>s.root);if(r){let s=r.body.trim()?r.body:"";e.push({path:Qr,content:s});let a={alwaysApply:true};r.description&&(a.description=r.description);let l=T(a,s);e.push({path:Or,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=T(c,s.body.trim()||"");e.push({path:`${ne}/${a}.mdc`,content:m});}let o=v_(t);return o.trim()&&e.push({path:Ee,content:o}),e}function v_(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(_e(e.body,r)):r.length>0&&n.push(_e("",r)),n.filter(Boolean).join(`
93
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(`
94
+ `)}var $_=f(()=>{F();zr();mt();i(Ep,"generateRules");i(v_,"renderCursorGlobalUserRules");});function Ap(t){return t.commands.map(e=>({path:`${oe}/${e.name}.md`,content:e.body.trim()||""}))}var M_=f(()=>{mt();i(Ap,"generateCommands");});function Lp(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Xe,content:e}]}var G_=f(()=>{mt();i(Lp,"generateMcp");});function bp(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=T(n,r.body.trim()||"");e.push({path:`${Ye}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${Ye}/${r.name}/${a}`,content:s.content});}}return e}var j_=f(()=>{F();mt();i(bp,"generateSkills");});function xp(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=T(r,e.body.trim()||"");return {path:`${qo}/${e.name}.md`,content:n}})}var U_=f(()=>{F();mt();i(xp,"generateAgents");});function Pp(t){return []}var K_=f(()=>{i(Pp,"generatePermissions");});function mP(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!Me(s))continue;let a=ut(s),l=bt(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 Tp(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=mP(t.hooks);if(Object.keys(e).length===0)return [];let r=JSON.stringify({version:1,hooks:e},null,2);return [{path:Ze,content:r}]}var W_=f(()=>{fe();mt();i(mP,"toCursorHooks");i(Tp,"generateHooks");});function Np(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
95
+ `);return [{path:we,content:e}]}var B_=f(()=>{mt();i(Np,"generateIgnore");});var H_=f(()=>{$_();M_();G_();j_();U_();K_();W_();B_();});var z_=f(()=>{H_();});async function kl(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:p}=O(r(c));l&&n();let u={...m,root:l};if(delete u.alwaysApply,!l){let d=pP(m);d!==null&&(u.trigger=d);}return {destPath:c,toPath:`${qe}/${l?"_root.md":o}`,feature:"rules",content:await M(c,u,p)}}function pP(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 V_(t,e,r){let n=join(e,t),{frontmatter:o,body:s}=O(r(n)),a=Qt(o.allowedTools),l=a.length>0?a:Qt(o["allowed-tools"]);return {destPath:n,toPath:`${rn}/${t}`,feature:"commands",content:await Z(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 J_(t,e,r){let n=join(e,t),{frontmatter:o,body:s}=O(r(n));return {destPath:n,toPath:`${nn}/${t}`,feature:"agents",content:await _t(n,o,s)}}var Dp=f(()=>{F();Y();Ce();mt();i(kl,"mapCursorRuleFile");i(pP,"deriveCursorTrigger");i(V_,"mapCursorCommandFile");i(J_,"mapCursorAgentFile");});async function Is(t){let e=join(t.projectRoot,qe);await k(e);let r=join(e,"_root.md"),n=await We({content:t.content,projectRoot:t.projectRoot,rulesDir:qe,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 M(r,l,a);return await S(r,c),t.results.push({fromTool:"cursor",fromPath:t.sourcePath,toPath:`${qe}/_root.md`,feature:"rules"}),true}var Fp=f(()=>{E();F();Ho();Y();mt();i(Is,"importCursorRootFile");});async function X_(t,e,r){let n=join(t,qe),o=false,s=join(t,ne);if(e.push(...await q({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:p}=O(m);if(p.alwaysApply===true)return null}}return kl(l,n,c,()=>{o=true;})},"mapEntry")})),!o){let a=join(t,Qr),l=await I(a);l!==null&&(o=await Is({projectRoot:t,results:e,sourcePath:a,content:l,normalize:r}));}if(!o){let a=join(t,yh),l=await I(a);l!==null&&await Is({projectRoot:t,results:e,sourcePath:a,content:l,normalize:r});}}var Z_=f(()=>{E();F();Re();Dp();Fp();mt();i(X_,"importCursorRules");});function q_(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 p=m.type==="prompt"?"prompt":"command";if(!Me({...m,type:p}))continue;let u=p==="prompt"?bt(m)||ut(m):ut(m)||bt(m),d={matcher:l,type:p,command:u};typeof m.timeout=="number"&&(d.timeout=m.timeout),o.push(d);}}o.length>0&&(e[r]=o);}return e}async function El(t,e){let r=false,n=join(t,Ze),o=await I(n);if(o)try{let p=JSON.parse(o);if(p.hooks&&typeof p.hooks=="object"){let u=q_(p.hooks);if(Object.keys(u).length>0){let d=stringify(u),g=join(t,_i);await k(dirname(g)),await S(g,d),e.push({fromTool:"cursor",fromPath:n,toPath:_i,feature:"hooks"}),r=!0;}}}catch{}let s=join(t,Ha),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 p=c,u=Array.isArray(p.allow)?p.allow.filter(g=>typeof g=="string"):[],d=Array.isArray(p.deny)?p.deny.filter(g=>typeof g=="string"):[];if(u.length>0||d.length>0){let g=stringify({allow:u,deny:d}),h=join(t,Dm);await k(dirname(h)),await S(h,g),e.push({fromTool:"cursor",fromPath:s,toPath:Dm,feature:"permissions"});}}let m=r?void 0:l.hooks;if(m&&typeof m=="object"&&!Array.isArray(m)){let p=q_(m);if(Object.keys(p).length>0){let u=stringify(p),d=join(t,_i);await k(dirname(d)),await S(d,u),e.push({fromTool:"cursor",fromPath:s,toPath:_i,feature:"hooks"});}}}async function Al(t,e){let r=[{path:join(t,we),label:we},{path:join(t,Nm),label:Nm}],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,Fm);await k(dirname(s)),await S(s,n.join(`
96
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,`
97
+ `),e.push({fromTool:"cursor",fromPath:join(t,o[0]),toPath:Fm,feature:"ignore"});}var $p=f(()=>{fe();E();mt();i(q_,"cursorHooksToCanonical");i(El,"importSettings");i(Al,"importIgnore");});async function Ll(t,e,r,n=Ye){let o=join(t,n),s=await hn(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:Ih,targetName:"cursor",normalize:r,results:e};for(let[p,u]of s)await rr(p,u,a);let l=await P(o).catch(()=>[]),c=l.filter(p=>p.endsWith(".md")),m=new Set(Array.from(s.values()).flatMap(p=>l.filter(u=>u.startsWith(p))));for(let p of c){if(m.has(p))continue;let u=await I(p);if(!u)continue;let d=basename(p,".md");await Ny(d,p,u,a);}}var Mp=f(()=>{E();ds();mt();i(Ll,"importSkills");});async function Q_(t){if(await N(join(t,ne)))return true;let e=[join(t,Ee),join(t,Qo),join(t,Ii),join(t,Ze),join(t,we),join(t,tn),join(t,en),join(t,oe)];for(let s of e){let a=await I(s);if(a!==null&&a.trim()!=="")return true}return !!((await P(join(t,tn))).some(s=>s.endsWith(".md"))||(await P(join(t,en))).some(s=>s.endsWith(".md"))||(await P(join(t,oe))).some(s=>s.endsWith(".md")))}async function tS(t,e,r){let n=join(t,qe),o=false,s=join(t,ne),a=await q({srcDir:s,destDir:n,extensions:[".mdc"],fromTool:_s,normalize:r,mapEntry:i(async({srcPath:l,relativePath:c,normalizeTo:m})=>{if(o){let p=await I(l);if(p!==null){let{frontmatter:u}=O(p);if(u.alwaysApply===true)return null}}return kl(c,n,m,()=>{o=true;})},"mapEntry")});return e.push(...a),o}async function eS(t,e,r){let n=join(t,Qo),o=await I(n);return o===null||o.trim()===""?false:Is({projectRoot:t,results:e,sourcePath:n,content:o.trim(),normalize:r})}async function rS(t,e,r){let n=join(t,Ee),o=await I(n);return o===null||o.trim()===""?false:Is({projectRoot:t,results:e,sourcePath:n,content:o.trim(),normalize:r})}async function nS(t,e){let r=join(t,Ii),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,ts);await k(dirname(s)),await S(s,n),e.push({fromTool:_s,fromPath:r,toPath:ts,feature:"mcp"});}async function oS(t,e,r){let n=join(t,en),o=join(t,nn);e.push(...await q({srcDir:n,destDir:o,extensions:[".md"],fromTool:_s,normalize:r,mapEntry:i(({relativePath:s,normalizeTo:a})=>J_(s,o,a),"mapEntry")}));}async function sS(t,e,r){let n=join(t,oe),o=join(t,rn);e.push(...await q({srcDir:n,destDir:o,extensions:[".md"],fromTool:_s,normalize:r,mapEntry:i(({relativePath:s,normalizeTo:a})=>V_(s,o,a),"mapEntry")}));}var _s,iS=f(()=>{E();F();Re();mt();Fp();Dp();_s="cursor";i(Q_,"hasGlobalCursorArtifacts");i(tS,"importGlobalCursorRulesFromDir");i(eS,"importGlobalUserRules");i(rS,"importGlobalDotCursorAgents");i(nS,"importGlobalMcp");i(oS,"importGlobalAgents");i(sS,"importGlobalCommands");});async function aS(t){if(!await Q_(t))return [];let e=[],r=await V(_s,t,"global"),n=await tS(t,e,r);return n||(n=await eS(t,e,r)),n||await rS(t,e,r),await nS(t,e),await Ll(t,e,r,tn),await oS(t,e,r),await sS(t,e,r),await El(t,e),await Al(t,e),e}var lS=f(()=>{At();mt();Mp();$p();iS();i(aS,"importFromCursorGlobalExports");});async function hP(t,e){let r=join(t,Xe),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=o.mcpServers;await Ke(t,ts,s),e.push({fromTool:"cursor",fromPath:r,toPath:ts,feature:"mcp"});}async function bl(t,e={}){if(e.scope==="global")return aS(t);let r=[],n=await V("cursor",t);return await X_(t,r,n),r.push(...await ct(xl,t,"project",{normalize:n})),await Ll(t,r,n),await hP(t,r),await El(t,r),await Al(t,r),r}var Gp=f(()=>{At();E();ke();Ko();Z_();$p();Mp();lS();mt();jp();i(hP,"importMcp");i(bl,"importFromCursor");});var mS,pS,uS=f(()=>{F();Y();Ce();mt();mS=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n)),a=Qt(o.allowedTools),l=a.length>0?a:Qt(o["allowed-tools"]);return {destPath:n,toPath:`${rn}/${t}`,content:await Z(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"),pS=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${nn}/${t}`,content:await _t(n,o,s)}},"cursorAgentMapper");});function dS(t,e,r,n){return ot(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:hh}))}var fS=f(()=>{te();mt();i(dS,"lintRules");});function gS(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>J(e.source,"cursor","Cursor command files are plain Markdown; command description and allowed-tools metadata are not projected."))}function hS(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(J(".agentsmesh/mcp.json","cursor",`MCP server "${r}" uses env vars or URL/header interpolation; Cursor handling may differ from canonical MCP.`));}return e}function yS(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?[J(".agentsmesh/permissions.yaml","cursor","Cursor permissions are partial; tool-level allow/deny may lose fidelity.")]:[]}var IS=f(()=>{Gt();i(gS,"lintCommands");i(hS,"lintMcp");i(yS,"lintPermissions");});var yP,IP,_P,SP,xl,jp=f(()=>{z_();mt();Pr();Gp();uS();fS();Mt();IS();yP={name:"cursor",primaryRootInstructionPath:Or,generateRules:Ep,generateCommands:Ap,generateAgents:xp,generateSkills:bp,generateMcp:Lp,generatePermissions:Pp,generateHooks:Tp,generateIgnore:Np,importFrom:bl},IP={rootInstructionPath:Or,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[Qr,Ee]}],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`}}},_P={rootInstructionPath:Or,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[Qr,Ee]}],skillDir:tn,managedOutputs:{dirs:[ne,oe,en,tn],files:[Or,Ee,Ii,Ze,we,Qo]},rewriteGeneratedPath(t){return t===Qr?null:t===Ee||t===Or||t.startsWith(`${ne}/`)||t.startsWith(`${oe}/`)||t.startsWith(`${qo}/`)||t.startsWith(`${Ye}/`)||t===Xe||t===Ze||t===we?t:t===Ha?null:t},mirrorGlobalPath(t,e){return Ct(t,Ye,e)},paths:{rulePath(t,e){return `${ne}/${t}.mdc`},commandPath(t,e){return `${oe}/${t}.md`},agentPath(t,e){return `${en}/${t}.md`}}},SP={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},xl={id:"cursor",generators:yP,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:dS,lint:{commands:gS,mcp:hS,permissions:yS},project:IP,globalSupport:{capabilities:SP,detectionPaths:[Or,Ee,Xe,Ze,we,Ye,en,oe,Qo],layout:_P},importer:{commands:{feature:"commands",mode:"directory",source:{project:[oe]},canonicalDir:rn,extensions:[".md"],map:mS},agents:{feature:"agents",mode:"directory",source:{project:[qo]},canonicalDir:nn,extensions:[".md"],map:pS}},buildImportPaths:vm,detectionPaths:[".cursor/rules",".cursor/mcp.json"],preservesManualActivation:true};});var _n,ae,ar,_S,SS,zt,Pl,yo,Tl,Wi,Sn,CS,RS,Cn,Nl,Bi,Hi,Up,Kp,Ss,Wp,Cs,Rs,Dl,ks,Io,zi,ft=f(()=>{_n="gemini-cli",ae="GEMINI.md",ar="AGENTS.md",_S=".gemini/rules",SS=".gemini/GEMINI.md",zt=".gemini/commands",Pl=".gemini/policies",yo=".gemini/settings.json",Tl=".geminiignore",Wi=".gemini/skills",Sn=".gemini/agents",CS=".gemini/system.md",RS=`${Pl}/permissions.toml`,Cn=".agentsmesh/rules",Nl=".agentsmesh/commands",Bi=".agentsmesh/agents",Hi=".agentsmesh/skills",Up=".agentsmesh/mcp.json",Kp=".agentsmesh/hooks.yaml",Ss=".agentsmesh/ignore",Wp=".agentsmesh/permissions.yaml",Cs=".gemini/GEMINI.md",Rs=".gemini/AGENTS.md",Dl=".gemini/settings.json",ks=".gemini/commands",Io=".gemini/skills",zi=".gemini/agents";});function Bp(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=_e(e?.body.trim()??"",r),o=[{path:ae,content:n}];if(e){let s=e.body.trim().replace(/\.agentsmesh\/skills\//g,".agents/skills/");o.push({path:ar,content:s});}return o}var kS=f(()=>{zr();ft();i(Bp,"generateRules");});function OS(t,e){let r=t.split(":").filter(Boolean),n=r.length>0?r.pop():t;return [e,...r,`${n}.toml`].join("/")}var wS=f(()=>{i(OS,"canonicalCommandNameToGeminiTomlPath");});function CP(t){let e=t.replace(/\r\n/g,`
98
98
  `);return e.includes('"""')?JSON.stringify(e):`"""
99
99
  ${e}
100
- """`}function fA(t){return [`description = ${JSON.stringify(t.description||t.name)}`,`prompt = ${dA(t.body.trim()||"")}`].join(`
100
+ """`}function RP(t){return [`description = ${JSON.stringify(t.description||t.name)}`,`prompt = ${CP(t.body.trim()||"")}`].join(`
101
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(`
102
+ `}function Hp(t){return t.commands.map(e=>({path:OS(e.name,zt),content:RP(e)}))}var ES=f(()=>{ft();wS();i(CP,"serializeTomlMultilineLiteral");i(RP,"serializeGeminiCommand");i(Hp,"generateCommands");});function zp(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=T(r,e.body.trim()||"");return {path:`${Sn}/${e.name}.md`,content:n}})}var AS=f(()=>{F();ft();i(zp,"generateAgents");});function Vp(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=T(n,r.body.trim()||"");e.push({path:`${Wi}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${Wi}/${r.name}/${a}`,content:s.content});}}return e}var LS=f(()=>{F();ft();i(Vp,"generateSkills");});function kP(t){switch(t){case "PreToolUse":return "BeforeTool";case "PostToolUse":return "AfterTool";case "Notification":return "Notification";default:return null}}function Jp(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=kP(o);if(!a||!Array.isArray(s))return [];let l=s.filter(c=>typeof c=="object"&&c!==null&&fr(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:[ae,ar]}),Object.keys(e).length===0?[]:[{path:yo,content:JSON.stringify(e,null,2)}]}var Yp=f(()=>{fe();ft();i(kP,"mapHookEvent");i(Jp,"generateGeminiSettingsFiles");});function Xp(t){return !t.ignore||t.ignore.length===0?[]:[{path:Tl,content:t.ignore.join(`
103
+ `)}]}var bS=f(()=>{ft();i(Xp,"generateIgnore");});var xS=f(()=>{kS();ES();AS();LS();Yp();bS();});var PS=f(()=>{xS();});function _o(t){return JSON.stringify(t)}function OP(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function wP(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 Fl(t,e,r){return ["[[rule]]",`decision = ${_o(t)}`,`priority = ${e}`,...r,""].join(`
104
+ `)}function TS(t,e,r){let n=wP(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 Fl(e,r,[`toolName = ${_o(s)}`])}if(n.kind==="bash"){let s=n.prefix.replace(/:\*$/u,"").replace(/\*$/u,"").trim();return Fl(e,r,[`toolName = ${_o(o.Bash)}`,`commandPrefix = ${_o(s)}`])}return n.kind==="read"?Fl(e,r,[`toolName = ${_o(o.Read)}`,`argsPattern = ${_o(OP(n.path))}`]):Fl(e,r,[`toolName = ${_o(n.raw)}`])}function NS(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=TS(s,"allow",100+a);l&&o.push(l);}),r.forEach((s,a)=>{let l=TS(s,"deny",200+a);l&&o.push(l);}),o.length===0?[]:[{path:RS,content:o.join(`
105
+ `)}]}var DS=f(()=>{ft();i(_o,"escapeTomlBasicString");i(OP,"escapeRegexLiteral");i(wP,"parsePermissionExpr");i(Fl,"ruleForDecision");i(TS,"permissionExprToGeminiRule");i(NS,"generateGeminiPermissionsPolicies");});function Zp(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 vl(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 qp=f(()=>{F();i(Zp,"mapGeminiHookEvent");i(vl,"parseFlexibleFrontmatter");});async function Qp(t,e){let r=join(t,yo),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,Up);await k(join(t,".agentsmesh")),await S(c,JSON.stringify({mcpServers:s},null,2)),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Up,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(`
106
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(`
107
+ `),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,p])=>{let u=Zp(m);if(!u||!Array.isArray(p))return [];let d=p.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"&&fr(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=p.filter(h=>h!==null&&typeof h=="object"&&typeof h.matcher=="string"&&fr(h)).map(h=>({matcher:h.matcher,command:ut(h),type:"command"}));return g.length>0?[[u,g]]:[]}return d.length>0?[[u,d]]:[]});if(c.length>0){let m=Object.fromEntries(c),p=join(t,Kp);await k(join(t,".agentsmesh")),await S(p,stringify(m,{lineWidth:0}).trimEnd()),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Kp,feature:"hooks"});}}}var FS=f(()=>{fe();E();ft();qp();i(Qp,"importGeminiSettings");});async function vS(t,e){let r=join(t,Tl),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,Ss);await S(s,o.join(`
108
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(`
109
+ `),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Ss,feature:"ignore"});}}}var eu=f(()=>{E();ft();qp();FS();i(vS,"importGeminiIgnore");});function xP(t){return t.replace(/\\(.)/g,"$1")}function PP(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 TP(t){return `Bash(${t}:*)`}function NP(t){return `Read(${xP(t)})`}async function $S(t){let e=[],r=join(t,Pl),n;try{n=await P(r);}catch{return e}let o=n.filter(u=>u.endsWith(".toml"));if(o.length===0)return e;let s=[],a=[],l=new Set,c=new Set;for(let u of o){let d=await I(u);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 C of h){if(!C||typeof C!="object")continue;let R=C,_=typeof R.toolName=="string"?R.toolName:null,w=typeof R.decision=="string"?R.decision:null;if(!_||!w)continue;let v=PP(_);if(!v)continue;let A=null;v==="Bash"?typeof R.commandPrefix=="string"&&R.commandPrefix.trim()&&(A=TP(R.commandPrefix.trim())):v==="Read"?typeof R.argsPattern=="string"&&R.argsPattern.trim()?A=NP(R.argsPattern.trim()):A="Read":A=v,A&&(w==="allow"?l.has(A)||(l.add(A),s.push(A)):w==="deny"&&(c.has(A)||(c.add(A),a.push(A))));}}if(s.length===0&&a.length===0)return e;await k(join(t,".agentsmesh"));let m=join(t,Wp),p=stringify({allow:s,deny:a});return await S(m,p.trimEnd()+`
110
+ `),e.push({fromTool:_n,fromPath:join(t,Pl),toPath:Wp,feature:"permissions"}),e}var MS=f(()=>{E();ft();i(xP,"unescapeRegexLiteral");i(PP,"toolNameToPermissionBase");i(TP,"commandPrefixToBashExpr");i(NP,"argsPatternToReadExpr");i($S,"importGeminiPolicies");});function ru(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 jS=f(()=>{i(ru,"stripProjectRootCanonicalPrefix");});async function KS(t,e,r){let n=join(t,Wi),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)),p=O(c),u=Jr(p.frontmatter,m);if(u){let w=join(t,Bi);await k(w);let v=join(w,`${u.name}.md`);await S(v,Be(u,r(p.body,l,v))),e.push({fromTool:"gemini-cli",fromPath:l,toPath:`${Bi}/${u.name}.md`,feature:"agents"});continue}let d=join(t,Hi,m,"SKILL.md"),g=r(c,l,d),h=join(t,Hi,m);await k(h);let{frontmatter:C,body:R}=O(g);await S(d,await Ge(d,{...C,name:m},R)),e.push({fromTool:"gemini-cli",fromPath:l,toPath:`${Hi}/${m}/SKILL.md`,feature:"skills"});let _=await P(dirname(l));for(let w of _){if(w===l)continue;let v=await I(w);if(v===null)continue;let A=relative(dirname(l),w).replace(/\\/g,"/"),x=join(h,A);await k(dirname(x)),await S(x,r(v,w,x)),e.push({fromTool:"gemini-cli",fromPath:w,toPath:`${Hi}/${m}/${A}`,feature:"skills"});}}let a=join(t,Sn);try{let c=(await P(a)).filter(m=>m.endsWith(".md"));for(let m of c){let p=await I(m);if(!p)continue;let{frontmatter:u,body:d}=O(p),h=relative(a,m).replace(/\\/g,"/").replace(/\.md$/i,".md"),C=join(t,Bi);await k(C);let R=join(C,h),_=r(d,m,R);await S(R,await _t(R,{...u,name:typeof u.name=="string"?u.name:basename(h,".md"),maxTurns:u.maxTurns??u["max-turns"]??u.max_turns,permissionMode:u.permissionMode??u["permission-mode"]??u.permission_mode,disallowedTools:u.disallowedTools??u["disallowed-tools"]??u.disallowed_tools},_)),e.push({fromTool:"gemini-cli",fromPath:m,toPath:`${Bi}/${h}`,feature:"agents"});}}catch{}}var WS=f(()=>{E();F();Y();ee();ft();i(KS,"importGeminiSkillsAndAgents");});async function DP(t,e,r){let n=await V("codex-cli",t),o=join(t,Cn),s=join(t,ar),a=join(t,SS),l=[s,a,join(t,ae),join(t,CS)],c=null,m=l[l.length-1];for(let A of l){let x=await I(A);if(x!==null){c=x,m=A;break}}if(c===null)return;await k(o);let p=join(o,"_root.md"),u=m===s||m===a?n(c,m,p):c,d=await We({content:u,projectRoot:t,rulesDir:Cn,sourcePath:m,fromTool:_n,normalize:r});e.push(...d.results);let g=r(d.rootContent,m,p),h=ru(g.replace(/\.agents\/skills\//g,".agentsmesh/skills/").replace(/\.agents\\skills\\/g,".agentsmesh/skills/"),t),{frontmatter:C,body:R}=O(h),w=C.root===true?C:{...C,root:true},v=ru(await M(p,w,R),t);await S(p,v),e.push({fromTool:_n,fromPath:m,toPath:`${Cn}/_root.md`,feature:"rules"});}async function Ml(t){let e=[],r=await V(_n,t);return await DP(t,e,r),e.push(...await ct(Gl,t,"project",{normalize:r})),await KS(t,e,r),await Qp(t,e),await vS(t,e),e.push(...await $S(t)),e}var su=f(()=>{At();E();F();Y();Ho();ke();ft();iu();eu();MS();jS();WS();i(DP,"importRootRule");i(Ml,"importFromGemini");});async function HS(t,e,r){let n=t.replace(/\\/g,"/"),o=join(e,n),{frontmatter:s,body:a}=vl(r(o)),l=Ir(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:`${Cn}/${n}`,feature:"rules",content:await M(o,c,a)}}async function zS(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")?vP(s):vl(s),c=Qt(a.allowedTools),m=Qt(a["allowed-tools"]),p=c.length>0?c:m;return {destPath:o,toPath:`${Nl}/${n}`,feature:"commands",content:await Z(o,{description:typeof a.description=="string"?a.description:"",hasDescription:Object.prototype.hasOwnProperty.call(a,"description"),allowedTools:p,hasAllowedTools:Object.prototype.hasOwnProperty.call(a,"allowedTools")||Object.prototype.hasOwnProperty.call(a,"allowed-tools")},l)}}function vP(t){try{let e=parse$1(t);return {frontmatter:e,body:typeof e.prompt=="string"?e.prompt:""}}catch{return {frontmatter:{},body:t.trim()}}}var VS=f(()=>{Y();Ce();eu();ft();i(HS,"mapGeminiRuleFile");i(zS,"mapGeminiCommandFile");i(vP,"parseTomlCommand");});var JS,YS,XS=f(()=>{VS();JS=i(({relativePath:t,destDir:e,normalizeTo:r})=>HS(t,e,r),"geminiRuleMapper"),YS=i(({relativePath:t,destDir:e,normalizeTo:r})=>zS(t,e,r),"geminiCommandMapper");});function ZS(t,e,r,n){return ot(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:_n}))}var qS=f(()=>{te();ft();i(ZS,"lintRules");});function QS(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>J(e.source,"gemini-cli","Gemini TOML command files do not project canonical allowed-tools metadata."))}function tC(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=>fs(n,"gemini-cli",e))}var eC=f(()=>{Gt();i(QS,"lintCommands");i(tC,"lintHooks");});function rC(t,e){return e==="project"&&Rn("gemini-cli",e)?.ignore.flavor!=="settings-embedded"?[]:Jp(t)}var nC=f(()=>{nt();Yp();i(rC,"emitScopedGeminiSettings");});function sC(t){try{let e=JSON.parse(t);return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}catch{return {}}}function iC(t,e){let r=sC(t),n=$P.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 aC(t,e){let r=sC(t),n=MP.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 oC,$P,MP,au=f(()=>{oC=[".claude/settings.json",".gemini/settings.json"],$P=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(),MP=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(sC,"parseJsonObject");i(iC,"mergeSettingsJson");i(aC,"mergeGeminiSettingsJson");});var GP,jP,UP,KP,Gl,iu=f(()=>{PS();Fn();DS();ft();su();XS();qS();Mt();$o();ee();eC();nC();Pr();au();GP={name:"gemini-cli",primaryRootInstructionPath:ae,generateRules:Bp,generateCommands:Hp,generateAgents:zp,generateSkills:Vp,generateIgnore:Xp,generatePermissions:NS,importFrom:Ml},jP={rootInstructionPath:ae,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[ar]}],extraRuleOutputPaths(){return [ar]},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 Ct(t,".gemini/skills",e)},paths:{rulePath(t,e){return ae},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),n=r.pop()??t;return `${zt}/${r.join("/")}/${n}.toml`}return `${zt}/${t}.toml`},agentPath(t,e){return he(e,"gemini-cli")?`.gemini/skills/${Ft(t)}/SKILL.md`:`${Sn}/${t}.md`}}},UP={rootInstructionPath:Cs,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[Rs]}],extraRuleOutputPaths(){return [Rs]},skillDir:Io,managedOutputs:{dirs:[ks,Io,zi],files:[Cs,Rs,Dl]},rewriteGeneratedPath(t){return t===ae?Cs:t===ar?Rs:t===yo?Dl:t.startsWith(`${zt}/`)?t.replace(`${zt}/`,`${ks}/`):t.startsWith(".gemini/skills/")?t.replace(".gemini/skills/",`${Io}/`):t.startsWith(`${Sn}/`)?t.replace(`${Sn}/`,`${zi}/`):t.startsWith(".gemini/policies/")||t===".geminiignore"?null:t},mirrorGlobalPath(t,e){return Ct(t,Io,e)},paths:{rulePath(t,e){return Cs},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),n=r.pop()??t;return `${ks}/${r.join("/")}/${n}.toml`}return `${ks}/${t}.toml`},agentPath(t,e){return he(e,"gemini-cli")?`${Io}/${Ft(t)}/SKILL.md`:`${zi}/${t}.md`}}},KP={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:"none",permissions:"none"},Gl={id:"gemini-cli",generators:GP,capabilities:{rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:Ie("native","settings-embedded"),permissions:"partial"},emptyImportMessage:"No Gemini CLI config found (GEMINI.md or .gemini/rules, .gemini/commands, .gemini/settings.json).",lintRules:ZS,lint:{commands:QS,hooks:tC},emitScopedSettings:rC,mergeGeneratedOutputContent(t,e,r,n){let o=e?.content??t;return o!==null&&n===yo?aC(o,r):null},project:jP,globalSupport:{capabilities:KP,detectionPaths:[Cs,Rs,Dl,ks,Io,zi],layout:UP},importer:{rules:{feature:"rules",mode:"directory",source:{project:[_S]},canonicalDir:Cn,extensions:[".md"],map:JS},commands:{feature:"commands",mode:"directory",source:{project:[zt]},canonicalDir:Nl,extensions:[".md",".toml"],map:YS}},buildImportPaths:$m,detectionPaths:["GEMINI.md",".gemini"]};});function lC(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Qe,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:`${Ci}/${o}.md`,content:n.body.trim()||""});}return e}function BP(t){let e={};return t.description&&(e.description=t.description),t.type!=="stdio"&&(e.type=t.type),ll(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 cC(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,BP(n)]));return [{path:Si,content:JSON.stringify({mcpServers:e},null,2)}]}function mC(t){return t.commands.map(e=>{let r={description:e.description||void 0};return r.description===void 0&&delete r.description,{path:`${es}/${e.name}.md`,content:T(r,e.body.trim()||"")}})}function pC(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:`${rs}/${e.name}.md`,content:T(r,e.body.trim()||"")}})}function uC(t){return t.ignore.length===0?[]:[{path:Ri,content:t.ignore.join(`
111
+ `)}]}function dC(t){return qt(t,Vn)}function fC(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 _e(e?.body.trim()??"",r)}var gC=f(()=>{cl();Bt();zr();F();ns();i(lC,"generateRules");i(BP,"toJunieMcpServer");i(cC,"generateMcp");i(mC,"generateCommands");i(pC,"generateAgents");i(uC,"generateIgnore");i(dC,"generateSkills");i(fC,"renderJunieGlobalInstructions");});async function HP(t,e,r){let n=[Qe,za,Ch,Rh],o=join(t,Mm);for(let s of n){let a=join(t,s),l=await I(a);if(l===null)continue;let c=await We({content:l,projectRoot:t,rulesDir:Ja,sourcePath:a,fromTool:zn,normalize:r});e.push(...c.results);let{frontmatter:m,body:p}=O(r(c.rootContent,a,o)),u=await M(o,{root:true,description:typeof m.description=="string"?m.description:void 0,globs:Array.isArray(m.globs)?m.globs:void 0},p);await S(o,u),e.push({fromTool:zn,fromPath:a,toPath:Mm,feature:"rules"});return}}async function jl(t){let e=[],r=await V(zn,t);return await HP(t,e,r),e.push(...await ct(Ul,t,"project",{normalize:r})),await Wt(t,Vn,zn,e,r),e}var lu=f(()=>{At();E();F();Bt();Ho();Y();ke();ns();cu();i(HP,"importRootRule");i(jl,"importFromJunie");});function yC(t,e,r,n){return ot(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:zn}))}var IC=f(()=>{te();ns();i(yC,"lintRules");});function _C(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.mcp.mcpServers))sI(n)&&e.push(J(".agentsmesh/mcp.json","junie",`MCP server "${r}" uses ${n.type} transport; Junie project mcp.json currently documents stdio MCP servers only.`));return e}var SC=f(()=>{cl();Gt();i(_C,"lintMcp");});var zP,VP,JP,YP,Ul,cu=f(()=>{gC();ns();Pr();lu();IC();SC();Mt();zP={name:"junie",primaryRootInstructionPath:Qe,generateRules:lC,generateCommands:mC,generateAgents:pC,generateSkills:dC,generateMcp:cC,generateIgnore:uC,importFrom:jl},VP={rootInstructionPath:Qe,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 `${Ci}/${t}.md`},commandPath(t,e){return `${es}/${t}.md`},agentPath(t,e){return `${rs}/${t}.md`}}},JP={rootInstructionPath:Jn,renderPrimaryRootInstruction:fC,skillDir:Oi,managedOutputs:{dirs:[Oi,wi,Ei,kh],files:[Jn,Va]},rewriteGeneratedPath(t){return t===Qe?Jn:t.startsWith(`${Ci}/`)?Jn:t.startsWith(`${Vn}/`)?t.replace(`${Vn}/`,`${Oi}/`):t.startsWith(`${es}/`)?t.replace(`${es}/`,`${Ei}/`):t.startsWith(`${rs}/`)?t.replace(`${rs}/`,`${wi}/`):t===Si?Va:t===Ri?null:t},mirrorGlobalPath(t,e){return Ct(t,".junie/skills",e)},paths:{rulePath(t,e){return Jn},commandPath(t,e){return `${Ei}/${t}.md`},agentPath(t,e){return `${wi}/${t}.md`}}},YP={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Ul={id:"junie",generators:zP,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:yC,lint:{mcp:_C},project:VP,globalSupport:{capabilities:YP,detectionPaths:[Jn,Oi,wi,Ei,Va],layout:JP},importer:{rules:{feature:"rules",mode:"directory",source:{project:[".junie/rules"]},canonicalDir:Ja,extensions:[".md"],preset:"rule"},commands:{feature:"commands",mode:"directory",source:{project:[".junie/commands"]},canonicalDir:Oh,extensions:[".md"],preset:"command"},agents:{feature:"agents",mode:"directory",source:{project:[".junie/agents"]},canonicalDir:wh,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Si]},canonicalDir:".agentsmesh",canonicalFilename:Eh},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Ri]},canonicalDir:".agentsmesh",canonicalFilename:Ah}},buildImportPaths:Gm,detectionPaths:[".junie/guidelines.md",".junie/AGENTS.md",".junie/skills",".junie/mcp/mcp.json",".aiignore"]};});function RC(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:tr,content:r.body.trim()?r.body:""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(Pt))continue;let o=basename(n.source,".md"),s={};n.description&&(s.description=n.description),n.globs.length>0&&(s.globs=n.globs);let a=Object.keys(s).length>0?T(s,n.body.trim()||""):n.body.trim()||"";e.push({path:`${wr}/${o}.md`,content:a});}return e}function kC(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${Er}/${e.name}.md`,content:T(r,e.body.trim()||"")}})}function OC(t){return t.agents.map(e=>{let r=basename(e.source,".md"),n={mode:"subagent"};return e.description&&(n.description=e.description),e.model&&(n.model=e.model),e.tools.length>0&&(n.tools=e.tools),e.disallowedTools.length>0&&(n.disallowedTools=e.disallowedTools),{path:`${Ar}/${r}.md`,content:T(n,e.body.trim()||"")}})}function wC(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:sn,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function EC(t){return t.ignore.length===0?[]:[{path:os,content:t.ignore.join(`
112
+ `)}]}function AC(t){return qt(t,Ae)}var LC=f(()=>{Bt();F();eo();i(RC,"generateRules");i(kC,"generateCommands");i(OC,"generateAgents");i(wC,"generateMcp");i(EC,"generateIgnore");i(AC,"generateSkills");});var Kl,Wl,bC,pu=f(()=>{F();Y();eo();Kl=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${cn}/${t}`,content:await M(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},s)}},"kiloNonRootRuleMapper"),Wl=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${ls}/${t}`,content:await Z(n,{hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},s)}},"kiloCommandMapper"),bC=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${to}/${t}`,content:await _t(n,o,s)}},"kiloAgentMapper");});async function xC(t){try{return await stat(t),!0}catch{return false}}async function qP(t,e,r){let n=join(t,Yn);if(!await xC(n))return;let o=join(t,cn),s=join(n,du),l=e.some(c=>c.toPath===uu)?null:await I(s);if(l!==null){let c=join(t,uu),m=r(l,s,c),{body:p}=O(m),u=await M(c,{root:true},p);await S(c,u),e.push({feature:"rules",fromTool:Pt,fromPath:`${Yn}/${du}`,toPath:uu});}e.push(...await q({srcDir:n,destDir:o,extensions:[".md"],fromTool:Pt,normalize:r,mapEntry:i(async({srcPath:c,relativePath:m,content:p,normalizeTo:u})=>{let d=await Kl({absolutePath:c,relativePath:m,content:p,destDir:o,normalizeTo:u});return m===du||!d?null:{...d,feature:"rules"}},"mapEntry")}));}async function QP(t,e,r){let n=join(t,ss);if(!await xC(n))return;let o=join(t,ls);e.push(...await q({srcDir:n,destDir:o,extensions:[".md"],fromTool:Pt,normalize:r,mapEntry:i(async({srcPath:s,relativePath:a,content:l,normalizeTo:c})=>{let m=await Wl({absolutePath:s,relativePath:a,content:l,destDir:o,normalizeTo:c});return m?{...m,feature:"commands"}:null},"mapEntry")}));}async function tT(t,e,r){let n=join(t,Xa),o=await I(n);if(o===null)return;let s;try{s=parse(o);}catch{return}if(!(!s||!Array.isArray(s.customModes)))for(let a of s.customModes){if(!a||typeof a!="object")continue;let l=a;if(typeof l.slug!="string"||l.slug.length===0)continue;let c=l.slug,m=join(t,to,`${c}.md`),p=typeof l.description=="string"?l.description:"",u=typeof l.roleDefinition=="string"?l.roleDefinition.trim():"",d=typeof l.whenToUse=="string"?l.whenToUse.trim():"",g=d?`${u}
113
+
114
+ ## When to use
115
+
116
+ ${d}`:u,h={};p&&(h.description=p),typeof l.name=="string"&&l.name.length>0&&(h.name=l.name);let C=await _t(m,h,g),R=r(C,n,m);await S(m,R),e.push({feature:"agents",fromTool:Pt,fromPath:n,toPath:`${to}/${c}.md`});}}async function Bl(t,e={}){let r=e.scope??"project",n=[],o=await V(Pt,t,r);return n.push(...await ct(Hl,t,r,{normalize:o})),await Wt(t,Ae,Pt,n,o),r==="project"&&(await qP(t,n,o),await QP(t,n,o),await tT(t,n,o),await Wt(t,Xn,Pt,n,o)),n}var uu,du,fu=f(()=>{At();Bt();Re();ke();E();Y();F();pu();eo();gu();uu=`${cn}/_root.md`,du="00-root.md";i(xC,"pathExists");i(qP,"importLegacyRules");i(QP,"importLegacyWorkflows");i(tT,"importLegacyModes");i(Bl,"importFromKiloCode");});function PC(t,e,r,n){return ot(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Pt}))}var TC=f(()=>{te();eo();i(PC,"lintRules");});function NC(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[J(".agentsmesh/hooks.yaml","kilo-code","kilo-code does not support user-defined lifecycle hooks; canonical hooks are not projected.")]:[]:[]}function DC(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,n=t.permissions.ask??[];return e.length===0&&r.length===0&&n.length===0?[]:[J(".agentsmesh/permissions.yaml","kilo-code","kilo-code permissions live in kilo.jsonc, which agentsmesh does not generate in v1; canonical permissions are not projected.")]}var FC=f(()=>{Gt();i(NC,"lintHooks");i(DC,"lintPermissions");});var eT,rT,nT,vC,Hl,gu=f(()=>{LC();eo();Pr();fu();pu();TC();FC();Mt();eT={name:Pt,primaryRootInstructionPath:tr,generateRules:RC,generateCommands:kC,generateAgents:OC,generateSkills:AC,generateMcp:wC,generateIgnore:EC,importFrom:Bl},rT={rootInstructionPath:tr,skillDir:Ae,managedOutputs:{dirs:[wr,Er,Ar,Ae],files:[tr,sn,os]},paths:{rulePath(t,e){return `${wr}/${t}.md`},commandPath(t,e){return `${Er}/${t}.md`},agentPath(t,e){return `${Ar}/${t}.md`}}},nT={rootInstructionPath:an,skillDir:ln,managedOutputs:{dirs:[Zn,qn,Qn,ln,bh],files:[an,as,Za]},rewriteGeneratedPath(t){return t===tr?an:t},mirrorGlobalPath(t,e){return Ct(t,ln,e)},paths:{rulePath(t,e){return `${Zn}/${t}.md`},commandPath(t,e){return `${qn}/${t}.md`},agentPath(t,e){return `${Qn}/${t}.md`}}},vC={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},Hl={id:Pt,generators:eT,capabilities:vC,emptyImportMessage:"No Kilo Code config found (AGENTS.md, .kilo/rules, .kilo/commands, .kilo/agents, .kilo/skills, .kilo/mcp.json, .kilocodeignore, .kilocode/, or .kilocodemodes).",lintRules:PC,lint:{hooks:NC,permissions:DC},project:rT,globalSupport:{capabilities:vC,detectionPaths:[an,Zn,qn,Qn,ln,as,Za],layout:nT},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[tr],global:[an]},canonicalDir:cn,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[wr],global:[Zn]},canonicalDir:cn,extensions:[".md"],map:Kl}],commands:{feature:"commands",mode:"directory",source:{project:[Er],global:[qn]},canonicalDir:ls,extensions:[".md"],map:Wl},agents:{feature:"agents",mode:"directory",source:{project:[Ar],global:[Qn]},canonicalDir:to,extensions:[".md"],map:bC},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[sn,Li],global:[as]},canonicalDir:".agentsmesh",canonicalFilename:xh},ignore:{feature:"ignore",mode:"flatFile",source:{project:[os],global:[Za]},canonicalDir:".agentsmesh",canonicalFilename:Ph}},buildImportPaths:jm,detectionPaths:[wr,Er,Ar,Ae,sn,Yn,ss,Xn,Li,Xa,os,"kilo.jsonc","kilo.json"]};});function $C(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/_/g,"-").toLowerCase()}function iT(t){return t.type==="prompt"?t.prompt:t.command}function aT(t,e){let r=MC[t];return t==="PreToolUse"||t==="PostToolUse"?{type:r,tools:[e||"*"]}:{type:r}}function GC(t){let e=[];for(let[r,n]of Object.entries(t)){let o=r;if(!(o in MC)||!Array.isArray(n))continue;let s=1;for(let a of n){let l=iT(a);if(!l)continue;let c={name:`${$C(r)} ${s}`,version:"1",when:aT(o,a.matcher),then:a.type==="prompt"?{type:"askAgent",prompt:l}:{type:"shellCommand",command:l}};e.push({name:`${$C(r)}-${s}.kiro.hook`,content:JSON.stringify(c,null,2)}),s+=1;}}return e}function lT(t){let e=sT.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 jC(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:lT(r)}function UC(t){return stringify(t).trimEnd()}var MC,sT,hu=f(()=>{MC={UserPromptSubmit:"promptSubmit",SubagentStop:"agentStop",PreToolUse:"preToolUse",PostToolUse:"postToolUse"},sT=new Map([["promptSubmit","UserPromptSubmit"],["agentStop","SubagentStop"],["preToolUse","PreToolUse"],["postToolUse","PostToolUse"]]);i($C,"toKebab");i(iT,"hookText");i(aT,"toWhen");i(GC,"generateKiroHooks");i(lT,"toCanonicalEntry");i(jC,"parseKiroHookFile");i(UC,"serializeCanonicalHooks");});function mT(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 KC(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Le,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(Ht))continue;let o=basename(n.source,".md");e.push({path:`${be}/${o}.md`,content:T(mT(n),n.body.trim()||"")});}return e}function WC(t){return qt(t,se)}function BC(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:cs,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function HC(t){return !t.hooks||Object.keys(t.hooks).length===0?[]:GC(t.hooks).map(e=>({path:`${mn}/${e.name}`,content:e.content}))}function zC(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=T(r,e.body.trim()||"");return {path:`${xe}/${e.name}.md`,content:n}})}function VC(t){return t.ignore.length===0?[]:[{path:ms,content:t.ignore.join(`
117
+ `)}]}var JC=f(()=>{Bt();F();hu();ps();i(mT,"steeringFrontmatter");i(KC,"generateRules");i(WC,"generateSkills");i(BC,"generateMcp");i(HC,"generateHooks");i(zC,"generateAgents");i(VC,"generateIgnore");});function uT(t){let e=typeof t.inclusion=="string"?t.inclusion:"",r={root:false,description:typeof t.description=="string"?t.description:void 0,globs:Ir(t.fileMatchPattern)};return e==="manual"&&(r.trigger="manual"),e==="auto"&&(r.trigger="model_decision"),e==="fileMatch"&&(r.trigger="glob"),r}async function dT(t,e,r,n){let o=n==="global"?[Pe,Le]:[Le,Pe];for(let s of o){let a=join(t,s),l=await I(a);if(l===null)continue;let c=join(t,Um),{frontmatter:m,body:p}=O(r(l,a,c));await S(c,await M(c,{...m,root:true},p)),e.push({fromTool:Ht,fromPath:a,toPath:Um,feature:"rules"});return}}async function fT(t,e,r){let n=join(t,Km);e.push(...await q({srcDir:join(t,be),destDir:n,extensions:[".md"],fromTool:Ht,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:`${Km}/${o}`,feature:"rules",content:await M(a,uT(l),c)}},"mapEntry")}));}async function gT(t,e){let r={};for(let o of await P(join(t,mn))){if(!o.endsWith(".kiro.hook"))continue;let s=jC(await I(o)??"");s&&(r[s.event]??=[],r[s.event].push(s.entry));}if(Object.keys(r).length===0)return;let n=join(t,Wm);await k(join(t,".agentsmesh")),await S(n,UC(r)),e.push({fromTool:Ht,fromPath:join(t,mn),toPath:Wm,feature:"hooks"});}async function zl(t,e={}){let r=e.scope??"project",n=[],o=await V(Ht,t,r);return await dT(t,n,o,r),await fT(t,n,o),n.push(...await ct(Vl,t,r,{normalize:o})),await Wt(t,se,Ht,n,o),r==="project"&&await gT(t,n),n}var yu=f(()=>{At();Bt();Re();ke();Y();Ce();E();F();hu();ps();Iu();i(uT,"canonicalRuleMeta");i(dT,"importRoot");i(fT,"importNonRootRules");i(gT,"importHooks");i(zl,"importFromKiro");});function YC(t,e,r,n){return ot(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Ht}))}var XC=f(()=>{te();ps();i(YC,"lintRules");});function ZC(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=>fs(n,"kiro",e,{unsupportedBy:"Kiro hooks"}))}var qC=f(()=>{Gt();i(ZC,"lintHooks");});var hT,yT,IT,_T,Vl,Iu=f(()=>{JC();Pr();yu();XC();qC();Mt();ps();hT={name:Ht,primaryRootInstructionPath:Le,generateRules:KC,generateAgents:zC,generateSkills:WC,generateMcp:BC,generateHooks:HC,generateIgnore:VC,importFrom:zl},yT={rootInstructionPath:Le,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 `${be}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return `${xe}/${t}.md`}}},IT={rootInstructionPath:Pe,skillDir:pn,managedOutputs:{dirs:[ro,pn,no,Dh],files:[Pe,xi,Pi]},rewriteGeneratedPath(t){return t===Le?Pe:t.startsWith(`${be}/`)?t.replace(`${be}/`,`${ro}/`):t.startsWith(`${se}/`)?t.replace(`${se}/`,`${pn}/`):t.startsWith(`${xe}/`)?t.replace(`${xe}/`,`${no}/`):t===cs?xi:t===ms?Pi:t.startsWith(`${mn}/`)?null:t},mirrorGlobalPath(t,e){return Ct(t,".kiro/skills",e)},paths:{rulePath(t,e){return `${ro}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return `${no}/${t}.md`}}},_T={rules:"native",additionalRules:"native",commands:"none",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},Vl={id:Ht,generators:hT,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:YC,lint:{hooks:ZC},project:yT,globalSupport:{capabilities:_T,detectionPaths:[ro,Pe,pn,no,xi,Pi],layout:IT},importer:{agents:{feature:"agents",mode:"directory",source:{project:[xe],global:[xe]},canonicalDir:Fh,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[cs],global:[xi]},canonicalDir:".agentsmesh",canonicalFilename:vh},ignore:{feature:"ignore",mode:"flatFile",source:{project:[ms],global:[Pi]},canonicalDir:".agentsmesh",canonicalFilename:$h}},buildImportPaths:Bm,detectionPaths:[be,se,xe,mn,cs,ms]};});function tR(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Te,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(un))continue;let o=basename(n.source,".md");e.push({path:`${Lr}/${o}.md`,content:n.body.trim()||""});}return e}function eR(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${br}/${e.name}.md`,content:T(r,e.body.trim()||"")}})}function rR(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Ni,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function nR(t){return t.ignore.length===0?[]:[{path:Di,content:t.ignore.join(`
118
+ `)}]}function oR(t){return qt(t,er)}function sR(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:us,content:stringify({customModes:e})}]}var iR=f(()=>{Bt();F();ao();i(tR,"generateRules");i(eR,"generateCommands");i(rR,"generateMcp");i(nR,"generateIgnore");i(oR,"generateSkills");i(sR,"generateAgents");});var Jl,lR,_u=f(()=>{F();Y();ao();Jl=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:`${io}/${t}`,content:await M(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},s)}},"rooNonRootRuleMapper"),lR=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${Qa}/${t}`,content:await Z(n,{hasDescription:true,description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},s)}},"rooCommandMapper");});async function RT(t,e,r){let n=join(t,oo),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,io);for(let l of s)e.push(...await q({srcDir:join(n,l),destDir:a,extensions:[".md"],fromTool:un,normalize:r,mapEntry:i(async({srcPath:c,relativePath:m,content:p,normalizeTo:u})=>{let d=await Jl({absolutePath:c,relativePath:m,content:p,destDir:a,normalizeTo:u});return d?{...d,feature:"rules"}:null},"mapEntry")}));}async function cR(t,e={}){let r=e.scope??"project",n=[],o=await V(un,t,r);return n.push(...await ct(Yl,t,r,{normalize:o})),await RT(t,n,o),await Wt(t,er,un,n,o),n}var mR=f(()=>{At();Bt();Re();ke();_u();ao();Cu();i(RT,"importPerModeRules");i(cR,"importFromRooCode");});function pR(t,e,r,n){return ot(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:un}))}var uR=f(()=>{te();ao();i(pR,"lintRules");});function LT(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var ET,AT,bT,xT,PT,Yl,Cu=f(()=>{E();iR();ao();Pr();mR();_u();uR();Mt();ET={name:"roo-code",primaryRootInstructionPath:Te,generateRules:tR,generateCommands:eR,generateSkills:oR,generateMcp:rR,generateIgnore:nR,generateAgents:sR,importFrom:cR},AT={rootInstructionPath:Te,skillDir:".roo/skills",managedOutputs:{dirs:[".roo/rules",".roo/commands",".roo/skills"],files:[".roo/mcp.json",".rooignore",".roorules",us]},paths:{rulePath(t,e){return `${Lr}/${t}.md`},commandPath(t,e){return `${br}/${t}.md`},agentPath(t,e){return null}}};i(LT,"computeStatus");bT=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,Fi));return [{target:"roo-code",path:Fi,content:s,currentContent:a??void 0,status:LT(a,s)}]},"generateRooGlobalExtras"),xT={rootInstructionPath:gn,skillDir:xr,managedOutputs:{dirs:[dn,fn,xr,Gh],files:[gn,so,vi,Fi]},rewriteGeneratedPath(t){return t===Te?gn:t===us?null:t.startsWith(`${Lr}/`)?t.replace(`${Lr}/`,`${dn}/`):t.startsWith(`${br}/`)?t.replace(`${br}/`,`${fn}/`):t.startsWith(`${er}/`)?t.replace(`${er}/`,`${xr}/`):t===Ni?so:t===Di?vi:t},mirrorGlobalPath(t,e){return Ct(t,xr,e)},paths:{rulePath(t,e){return `${dn}/${t}.md`},commandPath(t,e){return `${fn}/${t}.md`},agentPath(t,e){return null}}},PT={rules:"native",additionalRules:"native",commands:"native",agents:"partial",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},Yl={id:"roo-code",generators:ET,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:pR,project:AT,globalSupport:{capabilities:PT,detectionPaths:[dn,fn,xr,so,vi,gn,Fi],layout:xT,scopeExtras:bT},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Te,Ti],global:[gn,Te,Ti]},canonicalDir:io,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:[Lr],global:[dn]},canonicalDir:io,extensions:[".md"],map:Jl}],commands:{feature:"commands",mode:"directory",source:{project:[br],global:[fn]},canonicalDir:Qa,extensions:[".md"],map:lR},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Ni],global:[so]},canonicalDir:".agentsmesh",canonicalFilename:jh},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Di],global:[vi]},canonicalDir:".agentsmesh",canonicalFilename:Uh}},buildImportPaths:Hm,detectionPaths:[".roo/rules",".roo/commands",".roo/skills",".roo/mcp.json",".rooignore",".roorules",us]};});var lr,Ru,On,dR,ws,cr,Es,As,fR,wn,Fe,Ls,ku,Ou,wu,Eu,Au,Lu,bs,xs,Vi,Xl,Zl,ql,gR,Tt=f(()=>{lr="windsurf",Ru=".windsurfrules",On=".windsurf/rules",dR=".windsurfignore",ws=".codeiumignore",cr="AGENTS.md",Es=".windsurf/hooks.json",As=".windsurf/mcp_config.example.json",fR=".windsurf/mcp_config.json",wn=".windsurf/workflows",Fe=".windsurf/skills",Ls=".agentsmesh/rules",ku=".agentsmesh/commands",Ou=".agentsmesh/agents",wu=".agentsmesh/skills",Eu=".agentsmesh/ignore",Au=".agentsmesh/hooks.yaml",Lu=".agentsmesh/mcp.json",bs=".codeium/windsurf/memories/global_rules.md",xs=".codeium/windsurf/skills",Vi=".codeium/windsurf/global_workflows",Xl=".codeium/windsurf/hooks.json",Zl=".codeium/windsurf/mcp_config.json",ql=".codeium/.codeiumignore",gR=".agents/skills";});function NT(t){let e=basename(t,".md");return e==="_root"?"root":e}function DT(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 bu(t){let e=[],r=t.rules.find(n=>n.root);if(!r)return [];e.push({path:cr,content:r.body.trim()});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("windsurf"))continue;let o=NT(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?T(a,n.body.trim()||""):n.body.trim()||"";e.push({path:`${On}/${o}.md`,content:l});let c=DT(n.globs);c&&(c!==o&&e.push({path:`${On}/${c}.md`,content:l}),e.push({path:`${c}/AGENTS.md`,content:n.body.trim()||""}));}return e}var hR=f(()=>{F();Tt();i(NT,"ruleSlug");i(DT,"directoryScopedRuleDir");i(bu,"generateRules");});function xu(t){return !t.ignore||t.ignore.length===0?[]:[{path:ws,content:t.ignore.join(`
119
+ `)}]}var yR=f(()=>{Tt();i(xu,"generateIgnore");});function Pu(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?T(r,e.body.trim()||""):e.body.trim();return {path:`${wn}/${e.name}.md`,content:n}})}var IR=f(()=>{F();Tt();i(Pu,"generateCommands");});function Tu(t){return t.agents.map(e=>({path:`${Fe}/${Ft(e.name)}/SKILL.md`,content:va(e)}))}var _R=f(()=>{ee();Tt();i(Tu,"generateAgents");});function Nu(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:As,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}var SR=f(()=>{Tt();i(Nu,"generateMcp");});function FT(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 vT(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!Me(s))continue;let a=ut(s),l=bt(s),c=s.type==="prompt"?l||a:a||l;c&&o.push({command:c,show_output:true});}o.length>0&&(e[FT(r)]=o);}return e}function Du(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=vT(t.hooks);return Object.keys(e).length===0?[]:[{path:Es,content:JSON.stringify({hooks:e},null,2)}]}var CR=f(()=>{fe();Tt();i(FT,"windsurfEventName");i(vT,"toWindsurfHooks");i(Du,"generateHooks");});function Fu(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?T(n,r.body.trim()||""):r.body.trim()||"";e.push({path:`${Fe}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles)e.push({path:`${Fe}/${r.name}/${s.relativePath}`,content:s.content});}return e}var RR=f(()=>{F();Tt();i(Fu,"generateSkills");});var kR=f(()=>{hR();yR();IR();_R();SR();CR();RR();});var OR=f(()=>{kR();});function wR(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 ER(t,e,r){let n=join(t,wn),s=(await P(n)).filter(l=>l.endsWith(".md")),a=join(t,ku);for(let l of s){let c=await I(l);if(!c)continue;let m=relative(n,l).replace(/\\/g,"/");await k(a);let p=join(a,m),u=r(c,l,p),{frontmatter:d,body:g}=O(u),h=await Z(p,{description:typeof d.description=="string"?d.description:"",hasDescription:Object.prototype.hasOwnProperty.call(d,"description"),allowedTools:(()=>{let C=wR(d.allowedTools);return C.length>0?C:wR(d["allowed-tools"])})(),hasAllowedTools:Object.prototype.hasOwnProperty.call(d,"allowedTools")||Object.prototype.hasOwnProperty.call(d,"allowed-tools")},g);await S(p,h),e.push({fromTool:lr,fromPath:l,toPath:`${ku}/${m}`,feature:"commands"});}}var AR=f(()=>{E();F();Y();Tt();i(wR,"toStringArray");i(ER,"importWorkflows");});async function LR(t,e,r,n=Fe){let o=join(t,n),s=await hn(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"),p=await I(m);if(!p)continue;let u=O(p),d=Jr(u.frontmatter,l);if(d){await Fr(join(t,wu,l));let g=join(t,Ou);await k(g);let h=join(g,`${d.name}.md`);await S(h,Be(d,r(u.body,m,h))),e.push({fromTool:"windsurf",fromPath:m,toPath:`${Ou}/${d.name}.md`,feature:"agents"});continue}await rr(l,c,a);}}var bR=f(()=>{E();F();ee();ji();ds();Tt();i(LR,"importSkills");});async function PR(t,e){let r=join(t,Es),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=jT(o.hooks);if(Object.keys(s).length===0)return;let a=join(t,Au);await k(dirname(a)),await S(a,stringify(s)),e.push({fromTool:lr,fromPath:r,toPath:Au,feature:"hooks"});}catch{}}function GT(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 jT(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=GT(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 p of m){if(!p||typeof p!="object")continue;let u=p,d=typeof u.command=="string"?u.command:typeof u.prompt=="string"?u.prompt:"";if(!d.trim())continue;let g={matcher:c,type:u.type==="prompt"?"prompt":"command",command:d};typeof u.timeout=="number"&&(g.timeout=u.timeout),s.push(g);}}s.length>0&&(e[o]=s);}return e}async function TR(t,e){let r=[As,fR];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,Lu);await k(dirname(l)),await S(l,JSON.stringify({mcpServers:a.mcpServers},null,2)),e.push({fromTool:lr,fromPath:o,toPath:Lu,feature:"mcp"});return}catch{}}}var NR=f(()=>{E();Tt();i(PR,"importWindsurfHooks");i(GT,"canonicalHookEventName");i(jT,"windsurfHooksToCanonical");i(TR,"importWindsurfMcp");});async function tc(t,e){let r=e?.scope??"project",n=[],o=await V(lr,t),s=await V("codex-cli",t),a=join(t,Ls),l=join(t,Ru),c=await I(l);if(c!==null){await k(a);let d=join(a,"_root.md"),g=o(c,l,d).trim(),h=await M(d,{root:true},g);await S(d,h),n.push({fromTool:"windsurf",fromPath:l,toPath:`${Ls}/_root.md`,feature:"rules"});}if(c===null){let d=join(t,cr),g=await I(d);if(g!==null){await k(a);let h=join(a,"_root.md"),C=o(s(g,d,h),d,h).trim(),R=await M(h,{root:true},C);await S(h,R),n.push({fromTool:"windsurf",fromPath:d,toPath:`${Ls}/_root.md`,feature:"rules"});}}r!=="global"&&n.push(...await q({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 C=h.replace(/\//g,"-");if(!ml(h))return await Fr(join(a,`${C}.md`)),null;let R=join(a,`${C}.md`);return {destPath:R,toPath:`${Ls}/${C}.md`,feature:"rules",content:await M(R,{root:false,globs:[`${h}/**`]},g(R))}},"mapEntry")}));let m=join(t,On);n.push(...await q({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:C,body:R}=O(g(h)),_={...C};return typeof _.glob=="string"&&_.glob.trim()&&(_.globs=[_.glob],delete _.glob),{destPath:h,toPath:`${Ls}/${d}`,feature:"rules",content:await M(h,{..._,root:false},R)}},"mapEntry")}));let p=join(t,dR),u=await I(p);if((u===null||!u.trim())&&(p=join(t,ws),u=await I(p)),u!==null&&u.trim()){let d=u.split(/\r?\n/),g=[];for(let h of d){let C=h.trim();C&&!C.startsWith("#")&&g.push(C);}if(g.length>0){await k(join(t,".agentsmesh"));let h=join(t,Eu);await S(h,g.join(`
120
+ `)),n.push({fromTool:"windsurf",fromPath:p,toPath:Eu,feature:"ignore"});}}return await ER(t,n,o),await LR(t,n,o),await PR(t,n),await TR(t,n),n}var $u=f(()=>{At();E();F();Y();Re();ji();Tt();AR();bR();NR();i(tc,"importFromWindsurf");});function DR(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:lr,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:lr,message:`Windsurf cannot project these features yet: ${s.join(", ")}.`}),n}var FR=f(()=>{Tt();i(DR,"lintRules");});function vR(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>J(e.source,"windsurf","windsurf workflow files are plain Markdown; command description and allowed-tools metadata are not projected."))}function $R(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[J(".agentsmesh/mcp.json","windsurf","Windsurf MCP is partial; generated .windsurf/mcp_config.example.json is a reference artifact and may require manual setup.")]}var MR=f(()=>{Gt();i(vR,"lintCommands");i($R,"lintMcp");});function HT(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 zT,VT,JT,YT,GR,jR=f(()=>{OR();Fn();Tt();Pr();$u();FR();MR();Mt();$o();ee();i(HT,"directoryScopedRuleDir");zT={name:"windsurf",primaryRootInstructionPath:cr,generateRules:bu,generateCommands:Pu,generateAgents:Tu,generateSkills:Fu,generateMcp:Nu,generateHooks:Du,generateIgnore:xu,importFrom:tc},VT={rootInstructionPath:cr,extraRuleOutputPaths(t){if(t.root)return [cr];let e=HT(t.globs);return e!==null?[`${e}/AGENTS.md`]:[]},skillDir:Fe,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 `${On}/${t}.md`},commandPath(t,e){return `${wn}/${t}.md`},agentPath(t,e){return he(e,"windsurf")?`.windsurf/skills/${Ft(t)}/SKILL.md`:null}}},JT={rootInstructionPath:bs,skillDir:xs,managedOutputs:{dirs:[xs,Vi,gR],files:[bs,Xl,Zl,ql]},rewriteGeneratedPath(t){return t===cr?bs:t.startsWith(`${On}/`)||/\/AGENTS\.md$/.test(t)?null:t.startsWith(`${Fe}/`)?t.replace(`${Fe}/`,`${xs}/`):t.startsWith(`${wn}/`)?t.replace(`${wn}/`,`${Vi}/`):t===Es?Xl:t===As?Zl:t===ws?ql:t},mirrorGlobalPath(t,e){return Ct(t,".codeium/windsurf/skills",e)},paths:{rulePath(t,e){return bs},commandPath(t,e){return `${Vi}/${t}.md`},agentPath(t,e){return he(e,"windsurf")?`${xs}/${Ft(t)}/SKILL.md`:null}}},YT={rules:"native",additionalRules:"partial",commands:Ie("native","workflows"),agents:"embedded",skills:"native",mcp:"partial",hooks:"native",ignore:"native",permissions:"none"},GR={id:"windsurf",generators:zT,capabilities:{rules:"native",additionalRules:"native",commands:Ie("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:DR,lint:{commands:vR,mcp:$R},project:VT,globalSupport:{capabilities:YT,detectionPaths:[bs,xs,Vi,Xl,Zl,ql],layout:JT},buildImportPaths:zm,detectionPaths:[".windsurfrules",".windsurf"]};});var oh={};wE(oh,{BUILTIN_TARGETS:()=>Et,TARGET_IDS:()=>yt,getBuiltinTargetDefinition:()=>le,getEffectiveTargetSupportLevel:()=>ec,getTargetCapabilities:()=>Rn,getTargetDetectionPaths:()=>Gu,getTargetLayout:()=>gt,getTargetManagedOutputs:()=>ju,getTargetPrimaryRootInstructionPath:()=>ZT,getTargetSkillDir:()=>Yi,isBuiltinTargetId:()=>Hr,resolveTargetFeatureGenerator:()=>Ps,rewriteGeneratedOutputPath:()=>Uu});function XT(){return Mu||(ug(Et),Mu=new Map(Et.map(t=>[t.id,t]))),Mu}function le(t){return XT().get(t)}function Rn(t,e="project"){let r=le(t)??Q(t);if(!r)return;let n=e==="global"?r.globalSupport?.capabilities??r.capabilities:r.capabilities;return mg(n)}function Gu(t,e="project"){let r=le(t)??Q(t);return r?e==="global"?r.globalSupport?.detectionPaths??[]:r.detectionPaths:[]}function gt(t,e="project"){let r=le(t)??Q(t);if(r)return e==="global"?r.globalSupport?.layout:r.project}function ZT(t,e="project"){return gt(t,e)?.rootInstructionPath}function Yi(t,e="project"){return gt(t,e)?.skillDir}function ju(t,e="project"){return gt(t,e)?.managedOutputs}function Uu(t,e,r="project"){let n=gt(t,r);return n?n.rewriteGeneratedPath?n.rewriteGeneratedPath(e):e:null}function UR(t,e,r,n){return !t||!r?false:e==="commands"&&t.supportsConversion?.commands?!Zs(r,t.id,true,n):e==="agents"&&t.supportsConversion?.agents?!he(r,t.id,true,n):false}function ec(t,e,r,n="project"){let o=Rn(t,n)?.[e]?.level??"none";if(o!=="embedded")return o;let s=le(t)??Q(t);return UR(s,e,r,n)?"none":o}function Ps(t,e,r,n="project"){let o=le(t)??Q(t);if(!o?.generators||UR(o,e,r,n))return;let s=qT[e];return s===null?void 0:s(o.generators)}var Et,Mu,qT,nt=f(()=>{$o();Fn();mr();Qc();dr();dm();Jm();zy();TI();Ip();wp();jp();iu();cu();gu();Iu();Cu();jR();Et=[Da,tl,Hy,PI,fl,Cl,xl,Gl,Ul,Hl,Vl,Yl,GR];i(XT,"builtinTargetsMap");i(le,"getBuiltinTargetDefinition");i(Rn,"getTargetCapabilities");i(Gu,"getTargetDetectionPaths");i(gt,"getTargetLayout");i(ZT,"getTargetPrimaryRootInstructionPath");i(Yi,"getTargetSkillDir");i(ju,"getTargetManagedOutputs");i(Uu,"rewriteGeneratedOutputPath");i(UR,"isFeatureSuppressedByConversion");i(ec,"getEffectiveTargetSupportLevel");qT={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(Ps,"resolveTargetFeatureGenerator");});function sN(t){return typeof t=="string"?t:t.level}function KR(t){return oN.includes(t)}function WR(t,e,r,n){for(let o of nN){let s=sN(e[o.feature]);if(s==="none")continue;let a=typeof t.generators[o.generator]=="function",l=KR(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}`+(KR(o.feature)?" or emitScopedSettings":"")+" is missing."});}}function rc(t){return aN.parse(t)}var Ur,BR,QT,tN,HR,eN,rN,nN,oN,iN,aN,Ku=f(()=>{Ur=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()})]),BR=z$1.object({rules:Ur,additionalRules:Ur,commands:Ur,agents:Ur,skills:Ur,mcp:Ur,hooks:Ur,ignore:Ur,permissions:Ur}),QT=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(),tN=z$1.object({rulePath:z$1.function(),commandPath:z$1.function(),agentPath:z$1.function()}),HR=z$1.object({paths:tN}).passthrough(),eN=z$1.object({capabilities:BR,detectionPaths:z$1.array(z$1.string()),layout:HR,scopeExtras:z$1.function().optional()}).passthrough(),rN=["global","globalCapabilities","globalDetectionPaths","generateScopeExtras"],nN=[{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"}],oN=["mcp","hooks","ignore","permissions"];i(sN,"capabilityLevel");i(KR,"canUseScopedSettings");i(WR,"validateCapabilityImplementations");iN=z$1.object({id:z$1.string().regex(/^[a-z][a-z0-9-]*$/,"Target id must be lowercase with hyphens"),generators:QT,capabilities:BR,emptyImportMessage:z$1.string(),lintRules:z$1.union([z$1.function(),z$1.null()]),project:HR,globalSupport:eN.optional(),buildImportPaths:z$1.function(),detectionPaths:z$1.array(z$1.string())}).passthrough(),aN=iN.superRefine((t,e)=>{for(let r of rN)r in t&&e.addIssue({code:"custom",path:[r],message:`Use globalSupport instead of legacy field "${r}".`});WR(t,t.capabilities,e,["capabilities"]),t.globalSupport!==void 0&&WR(t,t.globalSupport.capabilities,e,["globalSupport","capabilities"]);});i(rc,"validateDescriptor");});function lN(){return Wu||(Wu=new Map(Et.map(t=>[t.id,t]))),Wu}function VR(t){let e=rc(t);zR.set(e.id,e);}function Q(t){return zR.get(t)??lN().get(t)}var zR,Wu,mr=f(()=>{nt();Ku();zR=new Map;i(lN,"builtinDescriptors");i(VR,"registerTargetDescriptor");i(Q,"getDescriptor");});async function JR(t,e,r="project"){let n=new Map,o=Q(t);return o&&await o.buildImportPaths(n,e,r),n}var YR=f(()=>{mr();i(JR,"buildImportReferenceMap");});function pN(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 uN(){let t=new Set([".agentsmesh/"]);for(let e of Et)for(let r of pN(e))t.add(r);return Array.from(t)}function dN(){let t=new Set([...uN(),...Bu.rootRelativePrefixes]),e=new Set([...mN,...Bu.meshRootSegments]);return {protectedSchemes:[...cN,...Bu.protectedSchemes],rootRelativePrefixes:Array.from(t),meshRootSegments:e}}function nc(){return Hu||(Hu=dN()),Hu}var cN,mN,Bu,Hu,XR=f(()=>{nt();cN=[/\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],mN=new Set(["skills","rules","commands","agents","packs"]),Bu={protectedSchemes:[],rootRelativePrefixes:[],meshRootSegments:[]};i(pN,"topLevelDotfilePrefixes");i(uN,"buildDefaultRootRelativePrefixes");i(dN,"rebuild");i(nc,"getLinkFormatRegistry");});function ve(t){let e=et(t);return nc().rootRelativePrefixes.some(r=>e.startsWith(r))}function gN(t){let e=et(t).replace(/^\.\//,"");if(e.startsWith("../")||e.startsWith("/")||ge.test(e)||/^[a-zA-Z]:/.test(e)||ve(e))return false;let r=e.split("/").filter(n=>n.length>0)[0];return r!==void 0&&nc().meshRootSegments.has(r)}function Xi(t,e,r){let n=W(e),o=G(e,e),s=G(e,r),a=et(t);if(ge.test(t)){let l=G(e,t);return n===win32||l.startsWith(`${o}${n.sep}`)?[l]:[l]}if(n.isAbsolute(t)){let l=G(e,t);return l.startsWith(o)||existsSync(t)?[l]:[G(e,n.join(e,t))]}if(a.startsWith("./")||a.startsWith("../")){let l=G(e,n.join(n.dirname(s),a)),c=ig(a,o);return c&&c!==l?[l,c]:[l]}if(ve(a))return [G(e,n.join(o,a))];if(a.includes("/")){let l=G(e,n.join(o,".agentsmesh")),c=gN(a)?G(e,n.join(l,a)):null,m=G(e,n.join(o,a)),p=G(e,n.join(n.dirname(s),a));return c!==null?[c,m,p]:[m,p]}return hN.has(a)?[]:a.includes(".")?[G(e,n.join(n.dirname(s),a))]:[]}function Zi(t,e){let r=[e];if(!sg(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 tk(t,e,r){let n=e>0?t.at(e-1):"",o=r<t.length?t.at(r):"";return n==="*"||o==="*"}function oc(t){let e=[];for(let r of nc().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(yN))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(IN))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(_N))e.push([r.index??0,(r.index??0)+r[0].length]);return e}var hN,yN,IN,_N,QR,Ts,En=f(()=>{wt();XR();i(ve,"isRootRelativePathToken");i(gN,"isMeshRootRelativePathToken");hN=new Set(["AGENTS.md","CLAUDE.md","GEMINI.md","codex.md",".windsurfrules",".cursorrules"]),yN=/^(?:```|~~~)[^\n]*\n[\s\S]*?^(?:```|~~~)/gm,IN=/<!-- agentsmesh:root-generation-contract:start -->[\s\S]*?<!-- agentsmesh:root-generation-contract:end -->/g,_N=/<!-- agentsmesh:embedded-rules:start -->[\s\S]*?<!-- agentsmesh:embedded-rules:end -->/g,QR=/(?:\.\.[\\/]|\.\/|\.\\|\/[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,Ts=/(?::(\d+)){1,2}$/;i(Xi,"resolveProjectPath");i(Zi,"expandResolvedPaths");i(tk,"isGlobAdjacent");i(oc,"protectedRanges");});function SN(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 ek(t){return SN(t.tokenContext)}function zu(t,e){let r=W(t),n=G(t,t),o=G(t,e);if(o===n)return true;let s=n.endsWith(r.sep)?n:`${n}${r.sep}`;return o.startsWith(s)}function rk(t){let e=W(t);return G(t,e.join(t,".agentsmesh"))}function $e(t,e){let r=W(t),n=rk(t),o=G(t,e);if(o===n)return true;let s=n.endsWith(r.sep)?n:`${n}${r.sep}`;return o.startsWith(s)}function nk(t,e,r){let n=W(t),o=rk(t),s=G(t,e);if(!$e(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 Vu(t,e,r){let o=W(t).relative(G(t,t),G(t,e)).replace(/\\/g,"/");if(o.startsWith(".."))return null;let s=o.length>0?o:".";return r&&!s.endsWith("/")?`${s}/`:s}function Ns(t,e,r){let n=Vu(t,e,r);return n===null?null:{kind:"projectRoot",rest:n,text:n}}function Ju(t,e,r,n,o){let s=W(t),a=G(t,t),l=G(t,e),c=G(t,r);if(!zu(t,c))return Ns(t,c,n)?.text??null;let m=G(t,s.dirname(l));if(!zu(t,m)&&m!==a)return Ns(t,c,n)?.text??null;let p=s.relative(m,c).replace(/\\/g,"/");if(s.isAbsolute(p)||ge.test(p))return Vu(t,c,n);let u=G(t,s.join(m,p));return zu(t,u)?(p===""||p==="."?p=".":o.explicitCurrentDirLinks===true&&m!==a&&!p.startsWith("../")&&!p.startsWith("./")&&(p=`./${p}`),n&&!p.endsWith("/")?`${p}/`:p):Vu(t,c,n)}var Yu=f(()=>{wt();i(SN,"isReadingContext");i(ek,"isReadingContextOptions");i(zu,"isUnderProjectRoot");i(rk,"agentsMeshRoot");i($e,"isUnderAgentsMesh");i(nk,"toAgentsMeshRootRelative");i(Vu,"toProjectRootRelative");i(Ns,"toProjectRootReference");i(Ju,"formatLinkPathForDestinationLegacy");});function ok(t,e,r,n,o={}){let s=o.scope??"project",a=G(t,r);if(ek(o)&&$e(t,e)&&$e(t,a)){let m=W(t),p=G(t,t),u=m.relative(p,a).replace(/\\/g,"/");if(!u.startsWith("..")&&u.length>0)return n&&!u.endsWith("/")?`${u}/`:u}if(o.forceRelative)return Ju(t,e,r,n,o);if(s==="global"&&!$e(t,e))return Ns(t,a,n)?.text??null;let l=(()=>{if($e(t,a))return a;let m=o.logicalMeshSourceAbsolute;return m&&$e(t,G(t,m))?G(t,m):null})();if(!l)return Ns(t,a,n)?.text??null;if(n||(o.pathIsDirectory?.(a)??false)){let m=nk(t,l,n);return m!==null?m:Ns(t,l,n)?.text??null}return Ju(t,e,r,n,o)}var sk=f(()=>{En();wt();Yu();Yu();i(ok,"formatLinkPathForDestination");});function ik(t,e,r,n){let o=W(e),s=et(t);if(!ve(s))return null;let a=s.split("/").filter(m=>m.length>0);if(a.length<3)return null;let l=G(e,r),c=o.dirname(l);for(let m=1;m<=a.length-1;m++){let p=a.slice(m).join("/"),u=G(e,o.join(c,p));if(u!==l&&n(u))return u}return null}var ak=f(()=>{wt();En();i(ik,"resolveByDestinationSuffixStrip");});function lk(t){let e=null,r=false,n=null,o=null,s=null;for(let c of Xi(t.candidate,t.projectRoot,t.sourceFile)){let m=null,p=null;for(let u of Zi(t.projectRoot,c)){let d=G(t.projectRoot,u),g=G(t.projectRoot,t.translatePath(d)),h=t.pathExists(d),C=t.pathExists(g);if(C&&g!==d){e=g,n=d,r=true;break}(h||C)&&m===null&&(m=g,p=d),e===null&&(e=g);}if(!r&&m!==null&&o===null&&(o=m,s=p),r)break}if(!r){let c=ik(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=et(t.destinationFile),l=a.includes("/.agentsmesh/")||a.startsWith(".agentsmesh/");return !r&&e!==null&&et(t.rawToken).startsWith(".agentsmesh/")&&l&&(r=true),{translatedPath:e,resolvedBeforeTranslate:n,matchedPath:r}}var ck=f(()=>{wt();En();ak();i(lk,"resolveLinkTarget");});function mk(t,e,r){return e>=2&&t[e-2]==="~"&&t[e-1]==="/"?true:e>=1&&t[e-1]==="~"&&r.startsWith("/")}function pk(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 uk(t){let e=et(t);return e.startsWith("./")||e.startsWith("../")?true:e.startsWith("/")||ge.test(e)||ve(e)?false:e.includes("/")}var dk=f(()=>{wt();En();i(mk,"isTildeHomeRelativePathToken");i(pk,"isMarkdownLinkDestinationToken");i(uk,"isRelativePathToken");});function CN(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===`
121
+ `)break;s+=a,o++;}return s===r}function fk(t,e,r){let n=t.lastIndexOf(`
117
122
  `,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===`
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+`
123
+ `||s==="\r"||s===">"||s===" "||s===" "||s==='"'||s==="'"||s===":"||s==="#"||s==="?"}function gk(t,e,r){let n=e>0?t[e-1]:"",o=r<t.length?t[r]:"";return n==="`"&&o==="`"?{role:"inline-code"}:fk(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 hk(t,e,r,n,o){if(e<0||r>t.length)return false;let{candidate:s}=vo(n),a=s.replace(Ts,""),l=et(a),c=e+a.length,m=t[e-1],p=t[r];return fk(t,e,c)||m==="'"&&p==="'"||m==='"'&&p==='"'||m==="`"&&p==="`"||m==="<"&&p===">"?true:m==="["&&p==="]"?!(!o&&!ve(l)&&CN(t,e,n)):m==="@"?true:m==="("?p===")"||p==="#"||p==="?"||p===" "||p===" ":o?ve(l)?true:l.includes("/")||l.includes("\\")?l.startsWith("./")||l.startsWith("../")?true:(l.split(/[\\/]/).filter(Boolean).at(-1)??"").includes("."):false:false}var yk=f(()=>{wt();En();i(CN,"markdownBracketLabelDuplicatesDestination");i(fk,"isMarkdownReferenceDefinitionDestination");i(gk,"getTokenContext");i(hk,"shouldRewritePathToken");});function sc(t){let e=new Set,r=oc(t.content);return {content:t.content.replace(QR,(o,s,a)=>{if(r.some(([ht,Kt])=>s>=ht&&s<Kt)||!hk(a,s,s+o.length,o,t.rewriteBarePathTokens===true)||mk(a,s,o)||tk(a,s,s+o.length))return o;let{candidate:l,suffix:c}=vo(o);if(!l)return o;let m=Ts.exec(l),p=m?l.slice(0,m.index):l,u=m?m[0]:"";if(!p)return o;let d=gk(a,s,s+p.length);if(d.role!=="markdown-link-dest"&&ge.test(p))return o;let{translatedPath:g,resolvedBeforeTranslate:h,matchedPath:C}=lk({candidate:p,rawToken:l,projectRoot:t.projectRoot,sourceFile:t.sourceFile,destinationFile:t.destinationFile,translatePath:t.translatePath,pathExists:t.pathExists}),R=h;if(!C||!g)return g&&e.add(g),o;let _=et(p),w=p.endsWith("/")||t.pathIsDirectory?.(g)===true;if(w&&!_.includes("/")&&!_.includes("\\"))return o;if(R===null){let ht=et(l);if(ht.startsWith("agentsmesh/")&&(ht=`.${ht}`),ht.startsWith(".agentsmesh/")||ht.includes("/.agentsmesh/")){let Kt=W(t.projectRoot),_a=G(t.projectRoot,t.projectRoot),Xt=ht.replace(/^\.\//,"");R=G(t.projectRoot,Kt.join(_a,Xt));}}let v=W(t.projectRoot);if(t.scope==="global"){let ht=et(l),Kt=ht.startsWith(".agentsmesh/")||ht.includes("/.agentsmesh/"),_a=ve(ht)||uk(ht),Xt=R!==null&&$e(t.projectRoot,R),sf=$e(t.projectRoot,g);if(R===g&&!sf&&!Xt&&!Kt){let af=et(v.relative(t.projectRoot,G(t.projectRoot,t.sourceFile))).split("/").filter(Boolean)[0]??"",OE=(R!==null?et(v.relative(t.projectRoot,R)):"").split("/").filter(Boolean)[0]??"";if(af.length>0&&af===OE)return o}if(!_a&&!Kt&&!Xt&&!sf)return o}let A=G(t.projectRoot,t.destinationFile),x=G(t.projectRoot,g),H=et(v.relative(t.projectRoot,A)),j=et(v.relative(t.projectRoot,x)),K=H.split("/").filter(Boolean)[0]??"",tt=j.split("/").filter(Boolean)[0]??"",Ut=!et(p).startsWith(".agentsmesh/")&&!w&&K.length>0&&K===tt&&K.startsWith(".")&&K!==".agentsmesh"||d.role==="markdown-link-dest"||pk(a,s,p),at=ok(t.projectRoot,t.destinationFile,g,p.endsWith("/"),{explicitCurrentDirLinks:t.explicitCurrentDirLinks===true||Ut,scope:t.scope??"project",pathIsDirectory:t.pathIsDirectory,logicalMeshSourceAbsolute:w?null:R,forceRelative:Ut,tokenContext:d,originalToken:p});return at?`${at}${u}${c}`:o}),missing:[...e]}}var Xu=f(()=>{wt();En();sk();ck();dk();yk();i(sc,"rewriteFileLinks");});function _k(t,e){let r=[t.normalize(e)];if(!existsSync(e))return r;try{let n=[realpathSync(e),realpathSync.native(e)];for(let o of n){let s=t.normalize(o);r.includes(s)||r.push(s);}}catch{}return r}async function V(t,e,r="project"){let n=W(e),o=new Map,s=Array.from(new Set([t,...yt]));for(let c of s){let m=await JR(c,e,r);for(let[p,u]of m.entries())o.set(p,u);}let a=new Map;for(let[c,m]of o.entries()){let p=n.normalize(n.join(e,m));for(let u of _k(n,n.join(e,c)))a.set(u,p);}let l=new Set;for(let c of new Set(o.values())){let m=n.normalize(n.join(e,c));l.add(m);for(let p of _k(n,m))l.add(n.normalize(p));}return (c,m,p)=>sc({content:c,projectRoot:e,sourceFile:m,destinationFile:p,translatePath:i(u=>a.get(u)??u,"translatePath"),pathExists:i(u=>{let d=n.normalize(u);return a.has(u)||a.has(d)||existsSync(u)||l.has(d)},"pathExists"),explicitCurrentDirLinks:false,rewriteBarePathTokens:true,scope:r,pathIsDirectory:i(u=>{try{return statSync(u).isDirectory()}catch{return false}},"pathIsDirectory")}).content}var At=f(()=>{wt();YR();Xu();dr();i(_k,"pathVariants");i(V,"createImportReferenceNormalizer");});function Ck(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 p=m.type==="prompt"?"prompt":"command";if(!Me({...m,type:p}))continue;let u=p==="prompt"?bt(m)||ut(m):ut(m)||bt(m),d={matcher:l,type:p,command:u};typeof m.timeout=="number"&&(d.timeout=m.timeout),o.push(d);}}o.length>0&&(e[r]=o);}return e}async function Rk(t,e){let r=join(t,_r),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=Ck(o);if(Object.keys(s).length===0)return false;let a=stringify(s),l=join(t,jn);return await k(dirname(l)),await S(l,a),e.push({fromTool:"claude-code",fromPath:r,toPath:jn,feature:"hooks"}),true}async function kk(t,e){let r=e.some(m=>m.feature==="hooks"&&m.fromPath.replace(/\\/g,"/").endsWith(_r)),n=join(t,ui),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=s.mcpServers;await Ke(t,hi,m),e.push({fromTool:"claude-code",fromPath:n,toPath:hi,feature:"mcp"});}let l=s.permissions;if(l&&typeof l=="object"&&!Array.isArray(l)){let m=l,p=Array.isArray(m.allow)?m.allow.filter(g=>typeof g=="string"):[],u=Array.isArray(m.deny)?m.deny.filter(g=>typeof g=="string"):[],d=Array.isArray(m.ask)?m.ask.filter(g=>typeof g=="string"):[];if(p.length>0||u.length>0||d.length>0){let g=stringify({allow:p,deny:u,ask:d}),h=join(t,Sm);await k(dirname(h)),await S(h,g),e.push({fromTool:"claude-code",fromPath:n,toPath:Sm,feature:"permissions"});}}let c=s.hooks;if(!r&&c&&typeof c=="object"&&!Array.isArray(c)){let m=Ck(c);if(Object.keys(m).length>0){let p=stringify(m),u=join(t,jn);await k(dirname(u)),await S(u,p),e.push({fromTool:"claude-code",fromPath:n,toPath:jn,feature:"hooks"});}}}var Ok=f(()=>{fe();E();Ko();Sr();i(Ck,"claudeHooksToCanonical");i(Rk,"importClaudeHooksJson");i(kk,"importSettings");});async function Ek(t,e,r){let n=join(t,pi),o=join(t,_m),a=(await P(n)).filter(l=>l.endsWith("SKILL.md"));for(let l of a){let c=dirname(l),m=basename(c),p=join(o,m),u=await P(c);for(let d of u){let g=await I(d);if(g===null)continue;let h=relative(c,d),C=join(p,h);await k(dirname(C));let R=r(g,d,C),_=h==="SKILL.md"?O(R):null;await S(C,h==="SKILL.md"?await Ge(C,_?.frontmatter??{},_?.body??""):R);let w=`${_m}/${m}/${h}`;e.push({fromTool:"claude-code",fromPath:d,toPath:w,feature:"skills"});}}}var Ak=f(()=>{E();F();Y();Sr();i(Ek,"importClaudeSkills");});async function el(t,e={}){let r=e.scope??"project",n=[],o=await V("claude-code",t,r);return n.push(...await ct(tl,t,r,{normalize:o})),await Ek(t,n,o),await Rk(t,n),await kk(t,n),n}var Ym=f(()=>{At();ke();Ok();Ak();Jm();i(el,"importFromClaudeCode");});function cf(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(cf,"createRouter");var Lo={green:"\x1B[32m",red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",reset:"\x1B[0m"};function EE(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}i(EE,"noColor");function Ws(t,e){return EE()?e:`${t}${e}${Lo.reset}`}i(Ws,"c");function AE(t,e){let r=[...t].length;return t+" ".repeat(Math.max(0,e-r))}i(AE,"pad");var y={info(t){process.stdout.write(Ws(Lo.cyan,t)+`
124
+ `);},warn(t){process.stderr.write(Ws(Lo.yellow,"\u26A0 ")+t+`
125
+ `);},error(t){process.stderr.write(Ws(Lo.red,"\u2717 ")+t+`
126
+ `);},success(t){process.stdout.write(Ws(Lo.green,"\u2713 ")+t+`
127
+ `);},debug(t){process.env.AGENTSMESH_DEBUG==="1"&&process.stdout.write(Ws(Lo.cyan,"[debug] ")+t+`
123
128
  `);},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+`
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+`
129
+ `);for(let o=0;o<t.length;o++){let a="| "+t[o].map((l,c)=>AE(l,r[c])).join(" | ")+" |";process.stdout.write(a+`
125
130
  `);}process.stdout.write(n+`
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}
131
+ `);}};var mf=[{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"}],pf=[{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, kilo-code)"},{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, kilo-code; 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, kilo-code; 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 uf(t,e=18){return t.length===0?" (no command-specific flags)":t.map(r=>` ${r.name.padEnd(e)}${r.description}`).join(`
132
+ `)}i(uf,"formatFlags");function df(){let t=pf.map(e=>`- ${e.name.padEnd(8)} ${e.description}
128
133
  Usage: ${e.usage}
129
- ${Pd(e.flags)}`).join(`
134
+ ${uf(e.flags)}`).join(`
130
135
 
131
136
  `);y.info(`agentsmesh <command> [flags]
132
137
 
133
138
  Global flags:
134
- ${Pd(bd)}
139
+ ${uf(mf)}
135
140
 
136
141
  Commands:
137
142
  ${t}
138
143
 
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.
144
+ Tip: run "agentsmesh <command> --help" for this same command reference.`);}i(df,"printHelp");var PE=createRequire(import.meta.url),Nc=dirname(fileURLToPath(import.meta.url)),TE=Nc.endsWith("dist")?join(Nc,"..","package.json"):join(Nc,"..","..","package.json"),gf=PE(TE);function Bs(){return gf.version}i(Bs,"getVersion");function hf(){process.stdout.write(`agentsmesh v${gf.version}
145
+ `);}i(hf,"printVersion");function yf(t,e){e?.verbose&&t.stack?process.stderr.write(t.stack+`
146
+ `):y.error(t.message),process.exit(1);}i(yf,"handleError");E();Hs();dr();var kf=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],Zt=z$1.enum(yt),xo=z$1.enum(kf),Js=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(),ZE=z$1.object({name:z$1.string(),source:z$1.string(),version:z$1.string().optional(),target:Zt.optional(),features:z$1.array(xo),path:z$1.string().optional(),pick:Js.optional()}),qE=z$1.object({strategy:z$1.enum(["merge","lock","last-wins"]).default("merge"),lock_features:z$1.array(z$1.string()).default([])}),Vs=z$1.union([z$1.boolean(),z$1.object({project:z$1.boolean().optional(),global:z$1.boolean().optional()}).strict()]),QE=z$1.object({commands_to_skills:z$1.object({"codex-cli":Vs.optional()}).passthrough().optional(),agents_to_skills:z$1.object({"gemini-cli":Vs.optional(),cline:Vs.optional(),"codex-cli":Vs.optional(),windsurf:Vs.optional()}).passthrough().optional()}).strict().optional(),tA=z$1.object({id:z$1.string().regex(/^[a-z][a-z0-9-]*$/),source:z$1.string(),version:z$1.string().optional()}).strict(),Mc=z$1.object({version:z$1.literal(1),targets:z$1.array(Zt).default([...yt]),features:z$1.array(xo).default([...kf]),extends:z$1.array(ZE).default([]),overrides:z$1.record(z$1.string(),z$1.record(z$1.string(),z$1.unknown())).default({}),collaboration:qE.default({strategy:"merge",lock_features:[]}),conversions:QE,plugins:z$1.array(tA).default([]),pluginTargets:z$1.array(z$1.string().regex(/^[a-z][a-z0-9-]*$/)).default([])});var jc="agentsmesh.yaml",rA="agentsmesh.local.yaml";async function nA(t){let e=resolve(t);for(;;){let r=join(e,jc);if(await N(r))return r;let n=dirname(e);if(n===e)return null;e=n;}}i(nA,"findConfigPath");async function oA(t){let e=await I(t);if(e===null)throw new Br(t);let r=parse(e),n=Mc.safeParse(r);if(!n.success){let o=n.error.issues.map(s=>s.message);throw new Sa(t,o,{cause:n.error})}return n.data}i(oA,"loadConfig");function Gc(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]=Gc(s,o):r[n]=o;}return r}i(Gc,"deepMergeObjects");function sA(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=Gc(r.overrides??{},e.overrides)),typeof e.conversions=="object"&&e.conversions!==null&&!Array.isArray(e.conversions)&&(r.conversions=Gc(r.conversions??{},e.conversions)),Array.isArray(e.extends)&&e.extends.length>0&&(r.extends=[...t.extends??[],...e.extends]),r}i(sA,"mergeLocalConfig");async function Uc(t){let e=join(t,jc),r=await oA(e),n=join(t,rA),o=await I(n);if(o!==null){let s=parse(o);if(typeof s=="object"&&s!==null&&!Array.isArray(s)){let a=sA(r,s),l=Mc.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(Uc,"loadConfigFromExactDir");async function Ef(t){let e=await nA(t);if(e===null)throw new Br(join(t,jc));return Uc(dirname(e))}i(Ef,"loadConfigFromDir");Hs();function Ys(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(Ys,"resolveScopeContext");async function lt(t,e="project"){if(e==="project"){let{config:n,configDir:o}=await Ef(t);return {config:n,context:{scope:e,rootBase:o,configDir:o,canonicalDir:join(o,".agentsmesh")}}}let r=Ys(t,e);try{let{config:n}=await Uc(r.configDir);return {config:n,context:r}}catch(n){throw n instanceof Br?new Br(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 uA=promisify(execFile),Af="repo";async function ka(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),p=join(m,Af),u=`${m}.tmp`,d=join(u,Af);if(!r.refresh&&await Lf(p))return Hc(p);try{return await rm$1(u,{recursive:!0,force:!0}),await mkdir(u,{recursive:!0}),await fA(dA(t),d),t.ref&&await gA(d,t.ref),await rm$1(m,{recursive:!0,force:!0}),await rename(u,m),Hc(p)}catch(g){if(await rm$1(u,{recursive:true,force:true}),r.allowOfflineFallback!==false&&await Lf(p))return console.warn(`[agentsmesh] Remote fetch failed for ${e}; using cached version. Error: ${g instanceof Error?g.message:String(g)}`),Hc(p);throw g}}i(ka,"fetchGitRemoteExtend");async function Hc(t){return {resolvedPath:t,version:await hA(t)}}i(Hc,"readCachedRepo");async function Lf(t){return N(t)}i(Lf,"hasCachedRepo");function dA(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(dA,"resolveCloneUrl");async function fA(t,e){await zc(["clone",t,e]);}i(fA,"cloneRepo");async function gA(t,e){await zc(["checkout",e],t);}i(gA,"checkoutRef");async function hA(t){return zc(["rev-parse","HEAD"],t)}i(hA,"getHeadSha");async function zc(t,e){let{stdout:r}=await uA("git",t,{cwd:e,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return r.trim()}i(zc,"runGit");E();async function Tf(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(Tf,"resolveLatestTag");async function Nf(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 Tf(t.org,t.repo,a);}catch(_){if(!s)throw _;return CA(t,e,r,n,o,a)}let m=o("github",`${t.org}/${t.repo}`,c),p=join(n,m);if(!l&&await N(p)){let _=await Vc(p);if(_)return {resolvedPath:join(p,_),version:c}}let u=`https://github.com/${t.org}/${t.repo}/tarball/${c}`,d={};a&&(d.Authorization=`Bearer ${a}`);let g;try{let _=await globalThis.fetch(u,{headers:d,redirect:"follow"});if(!_.ok)throw new Error(`HTTP ${_.status}: ${_.statusText}`);g=await _.arrayBuffer();}catch(_){if(r.allowOfflineFallback!==false&&await N(p)){let v=await Vc(p);if(v)return console.warn(`[agentsmesh] Network failed for ${e}; using cached version. Error: ${_ instanceof Error?_.message:String(_)}`),{resolvedPath:join(p,v),version:c}}throw _}await rm$1(p,{recursive:true,force:true}),await mkdir(p,{recursive:true});let h=join(p,"archive.tar.gz");await writeFile(h,new Uint8Array(g));try{await Pf.extract({file:h,cwd:p,strict:!0,filter:i((_,w)=>!(SA(_)||w&&"type"in w&&(w.type==="Link"||w.type==="SymbolicLink")),"filter")});}finally{await rm$1(h,{force:true}).catch(()=>{});}let C=await Vc(p);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(p,C),version:c}}i(Nf,"fetchGithubRemoteExtend");async function Vc(t){let r=(await readdir(t,{withFileTypes:true})).filter(n=>n.isDirectory()&&!n.name.startsWith("."));return r.length===1?r[0].name:null}i(Vc,"findExtractTopDir");function xf(t,e,r){return r?`https://x-access-token:${encodeURIComponent(r)}@github.com/${t}/${e}.git`:`https://github.com/${t}/${e}.git`}i(xf,"buildGithubCloneUrl");function SA(t){let e=t.replace(/\\/g,"/");return e.startsWith("/")||e.split("/").includes("..")}i(SA,"isZipSlipPath");async function CA(t,e,r,n,o,s){let a=s?[xf(t.org,t.repo,s)]:[xf(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 ka(m,e,r,n,o)}catch(p){l=p;}}throw l instanceof Error?l:new Error("Failed to clone GitHub default branch")}i(CA,"fetchGithubDefaultBranch");function Df(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(Df,"splitSourceRef");function Ff(t){let e=Df(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(Ff,"parseGithubSource");function vf(t){let e=Df(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(vf,"parseGitlabSource");function $f(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($f,"parseGitSource");function bn(t){let e=Ff(t);if(e)return {kind:"github",...e};let r=vf(t);if(r)return {kind:"gitlab",...r};let n=$f(t);return n?{kind:"git",...n}:null}i(bn,"parseRemoteSource");function Jc(t){return bn(t)!==null}i(Jc,"isSupportedRemoteSource");function wA(t){let e=bn(t);return e?e.kind==="github"?Po("github",`${e.org}/${e.repo}`,e.tag):e.kind==="gitlab"?Po("gitlab",`${e.namespace}/${e.project}`,e.ref??"HEAD"):Po("git",e.url,e.ref??"HEAD"):null}i(wA,"cacheKeyFromSource");async function jf(t,e){let r=wA(t);if(!r)return;let n=e??Dt(),o=join(n,r);await rm$1(o,{recursive:true,force:true});}i(jf,"cleanInstallCache");async function Uf(t,e){let r=t??Dt(),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(Uf,"sweepStaleCache");var Kf=80;function Po(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>Kf){let s=createHash("sha256").update(o).digest("hex").slice(0,16);o=`${o.slice(0,Kf-18)}--${s}`;}return o}i(Po,"buildCacheKey");function Dt(){let t=process.env.AGENTSMESH_CACHE;return t||join(homedir(),".agentsmesh","cache")}i(Dt,"getCacheDir");async function To(t,e,r={}){let n=bn(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??Dt();return Uf(o).catch(()=>{}),n.kind==="github"?Nf(n,e,r,o,Po,!t.includes("@")):ka(n,e,r,o,Po)}i(To,"fetchRemoteExtend");function TA(t){return t.startsWith("http://")||t.startsWith("https://")}i(TA,"isOtherRemoteSource");async function No(t,e,r={}){if(t.extends.length===0)return [];if(r.refreshCache===true&&t.extends.some(o=>Jc(o.source))){let o=Dt();await rm$1(o,{recursive:true,force:true}),await mkdir(o,{recursive:true});}let n=[];for(let o of t.extends){if(TA(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(Jc(o.source)){let a=await To(o.source,o.name,{cacheDir:Dt(),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(No,"resolveExtendPaths");E();F();var FA=["always_on","model_decision","glob","manual"];function Bf(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}i(Bf,"toStrArray");async function xn(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",p=a.root===true,u=a.trigger,d=typeof u=="string"&&FA.includes(u)?u:void 0,g=a.codex_emit,h=g==="execution"?"execution":g==="advisory"?"advisory":void 0,R=a.codex_instruction==="override"?"override":void 0;n.push({source:o,root:m||p,targets:Bf(a.targets),description:typeof a.description=="string"?a.description:"",globs:Bf(a.globs),body:l,...d!==void 0&&{trigger:d},...h!==void 0&&{codexEmit:h},...R!==void 0&&{codexInstructionVariant:R}});}return n}i(xn,"parseRules");E();F();function zf(t){return t===true||t==="true"||t===1||t==="1"}i(zf,"toBool");function Vf(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(Vf,"toToolsArray");async function Pn(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=Vf(a.allowedTools),p=Vf(a["allowed-tools"]),u=m.length>0?m:p;n.push({source:o,name:c,description:typeof a.description=="string"?a.description:"",allowedTools:u,outputStyle:zf(a.outputStyle)||zf(a["output-style"]),body:l});}return n}i(Pn,"parseCommands");E();F();function Tn(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(Tn,"toStrArray");function Yf(t){return t===true||t==="true"||t===1||t==="1"}i(Yf,"toBool");function Xf(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(Xf,"toInt");function vA(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)?t:{}}i(vA,"toHooks");async function Nn(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=Tn(a.tools),p=Tn(a.tools),u=m.length>0?m:p,d=Tn(a.disallowedTools),g=Tn(a["disallowed-tools"]),h=d.length>0?d:g,C=Tn(a.mcpServers),R=Tn(a["mcp-servers"]),_=C.length>0?C:R,w=Tn(a.skills),v=Xf(a.maxTurns),A=Xf(a["max-turns"]),x=v>0?v:A>0?A:0;n.push({source:o,name:c,description:typeof a.description=="string"?a.description:"",tools:u,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:_,hooks:vA(a.hooks),skills:w,memory:typeof a.memory=="string"?a.memory:"",outputStyle:Yf(a.outputStyle)||Yf(a["output-style"]),body:l});}return n}i(Nn,"parseAgents");E();F();async function GA(t){return await I(t)??""}i(GA,"readContent");var Oa="SKILL.md",jA=[".git","node_modules"];function UA(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}i(UA,"sanitizeSkillName");async function Zf(t){let e=await P(t),r=[];for(let n of e){let s=n.slice(t.length+1).replace(/\\/g,"/");if(s===Oa||s.endsWith(`/${Oa}`))continue;let a=s.split("/")[0];if(jA.some(c=>a===c)||s===".DS_Store"||s.endsWith("/.DS_Store"))continue;let l=await GA(n);r.push({relativePath:s,absolutePath:n,content:l});}return r.sort((n,o)=>n.relativePath.localeCompare(o.relativePath))}i(Zf,"listSupportingFiles");async function qf(t){let e=join(t,Oa),r=await I(e);if(!r)return null;let{frontmatter:n,body:o}=O(r),s=await Zf(t),a=typeof n.name=="string"?UA(n.name):"";return {source:e,name:a||basename(t),description:typeof n.description=="string"?n.description:"",body:o,supportingFiles:s}}i(qf,"parseSkillDirectory");async function Do(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,Oa),a=await I(s);if(!a)continue;let{frontmatter:l,body:c}=O(a),m=await Zf(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(Do,"parseSkills");E();function Qf(t){return t===null||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}i(Qf,"parseStringMap");function KA(t){if(!t||typeof t!="object")return null;let e=t,r=typeof e.type=="string"?e.type:"stdio",n=Qf(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:Qf(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(KA,"parseServer");async function wa(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=KA(a);l&&(o[s]=l);}return {mcpServers:o}}i(wa,"parseMcp");E();function Xc(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}i(Xc,"ensureStringArray");async function Ea(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=Xc(n.allow),s=Xc(n.deny),a=Xc(n.ask);return {allow:o,deny:s,ask:a}}i(Ea,"parsePermissions");E();fe();var HA=["command","prompt"];function zA(t){if(!t||typeof t!="object")return null;let e=t,r=e.matcher;if(typeof r!="string")return null;let n=Zc(e);if(!n)return null;let o=typeof e.type=="string"&&HA.includes(e.type)?e.type:void 0,s=typeof e.timeout=="number"&&Number.isFinite(e.timeout)?e.timeout:void 0,a=bt(e)||void 0;return {matcher:r,command:n,...s!==void 0&&{timeout:s},...o&&{type:o},...a&&{prompt:a}}}i(zA,"toHookEntry");async function Aa(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=zA(c);m&&l.push(m);}l.length>0&&(n[s]=l);}return n}i(Aa,"parseHooks");E();async function La(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(La,"parseIgnore");E();async function Dn(t){let e=join(t,".agentsmesh"),r=await N(e)?e:t,[n,o,s,a,l,c,m,p]=await Promise.all([xn(join(r,"rules")),Pn(join(r,"commands")),Nn(join(r,"agents")),Do(join(r,"skills")),wa(join(r,"mcp.json")),Ea(join(r,"permissions.yaml")),Aa(join(r,"hooks.yaml")),La(join(r,"ignore"))]);return {rules:n,commands:o,agents:s,skills:a,mcp:l,permissions:c,hooks:m,ignore:p}}i(Dn,"loadCanonicalFiles");function eg(t){return basename(t.source,".md")}i(eg,"ruleSlug");function Fo(t,e){let r=new Map(t.rules.map(p=>[eg(p),p]));for(let p of e.rules)r.set(eg(p),p);let n=new Map(t.commands.map(p=>[p.name,p]));for(let p of e.commands)n.set(p.name,p);let o=new Map(t.agents.map(p=>[p.name,p]));for(let p of e.agents)o.set(p.name,p);let s=new Map(t.skills.map(p=>[p.name,p]));for(let p of e.skills)s.set(p.name,p);let a=JA(t.mcp,e.mcp),l=YA(t.permissions,e.permissions),c=XA(t.hooks,e.hooks),m=ZA(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(Fo,"mergeCanonicalFiles");function JA(t,e){if(!t&&!e)return null;let r=t?.mcpServers??{},n=e?.mcpServers??{};return {mcpServers:{...r,...n}}}i(JA,"mergeMcp");function YA(t,e){if(!t&&!e)return null;let r=qc(t?.allow??[],e?.allow??[]),n=qc(t?.deny??[],e?.deny??[]),o=qc(t?.ask??[],e?.ask??[]);return {allow:r,deny:n,ask:o}}i(YA,"mergePermissions");function qc(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(qc,"mergeUniqueStrings");function XA(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(XA,"mergeHooks");function ZA(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(ZA,"mergeIgnore");E();var rg=[{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"]},{target:"kilo-code",paths:[".kilo",".kilo/rules",".kilo/commands",".kilo/agents",".kilo/skills",".kilocodeignore",".kilocode",".kilocodemodes","kilo.jsonc","kilo.json"]}];async function ba(t){let e=null,r=0;for(let n of rg){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(ba,"detectNativeFormat");var ng=rg.map(t=>t.paths[0]).filter(t=>t!==void 0);E();Ym();Gp();Op();su();hp();$u();tp();yp();lu();yu();fu();var wN={"claude-code":el,cursor:bl,copilot:Sl,"gemini-cli":Ml,"codex-cli":pl,windsurf:tc,cline:sl,continue:dl,junie:jl,kiro:zl,"kilo-code":Bl};async function Qi(t,e){let r=wN[e];if(!r)throw new Error(`No importer registered for native target: ${e}`);return r(t)}i(Qi,"importNativeToCanonical");E();var td="SKILL.md";async function Co(t){if(!await N(t))return false;if(await N(join(t,td)))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,td)))return !0}catch{return false}return false}i(Co,"isSkillPackLayout");async function ta(t){if(!await N(t))return [];if(await N(join(t,td))){let e=await qf(t);return e?[e]:[]}return Do(t)}i(ta,"loadSkillsAtExtendPath");E();function bN(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(bN,"emptyCanonical");function xN(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(xN,"isCanonicalSliceEmpty");async function ac(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(ac,"normalizeSlicePath");async function PN(t){if(basename(t)==="rules")return xn(t);let r=join(t,"rules");return await N(r)?xn(r):[]}i(PN,"parseRulesAt");async function TN(t){if(basename(t)==="commands")return Pn(t);let r=join(t,"commands");return await N(r)?Pn(r):[]}i(TN,"parseCommandsAt");async function NN(t){if(basename(t)==="agents")return Nn(t);let r=join(t,"agents");return await N(r)?Nn(r):[]}i(NN,"parseAgentsAt");async function DN(t){if(await Co(t))return ta(t);let e=join(t,"skills");return await Co(e)?ta(e):[]}i(DN,"loadSkillsForPartialSlice");async function lc(t){let e=join(t,".agentsmesh");if(await N(e))return Dn(t);let r=bN();if(r.rules=await PN(t),r.commands=await TN(t),r.agents=await NN(t),r.skills=await DN(t),xN(r))throw new Error(`No installable resources at ${t}. Expected .agentsmesh/, or rules/, commands/, agents/, or Anthropic-style skills (SKILL.md).`);return r}i(lc,"loadCanonicalSliceAtPath");function FN(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(FN,"emptyCanonical");async function Lk(t){let e=t.resolvedPath;if(!t.path){let o=join(e,".agentsmesh");if(!await N(o)){if(await Co(e)){let a=await ta(e);return {...FN(),skills:a}}let s=t.target??await ba(e);if(!s)throw new Error(`Extend "${t.name}": No supported agent configuration found in ${e}.
147
+ Expected one of: .agentsmesh/, ${ng.join(", ")}.`);y.info(`[agentsmesh] Extend "${t.name}": ${t.target?"specified":"detected"} ${s} format, importing to .agentsmesh/...`),await Qi(e,s);}return Dn(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)||(y.info(`[agentsmesh] Extend "${t.name}": path "${t.path}" with target "${t.target}" \u2014 importing at extend root, then loading canonical.`),await Qi(e,t.target)),Dn(e)}let{sliceRoot:n}=await ac(r);try{return await lc(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(Lk,"loadCanonicalForExtend");function cc(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(cc,"applyExtendPick");E();var MN=["rules","commands","agents","skills"],Ds=z$1.enum(MN);var GN=z$1.enum(["github","gitlab","git","local"]),bk=z$1.object({name:z$1.string().min(1),source:z$1.string().min(1),version:z$1.string().optional(),source_kind:GN,installed_at:z$1.string(),updated_at:z$1.string(),features:z$1.array(xo).min(1),pick:Js.optional(),target:Zt.optional(),path:z$1.string().optional(),paths:z$1.array(z$1.string().min(1)).min(1).optional(),as:Ds.optional(),content_hash:z$1.string()});function xk(t){let e=bn(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(xk,"sourceIdentity");function UN(t,e){return e?t.length===e.length&&[...t].sort().every((r,n)=>r===[...e].sort()[n]):true}i(UN,"sameFeatures");async function mc(t){let e=join(t,"pack.yaml"),r=await I(e);if(r===null)return null;try{let n=parse(r);return bk.parse(n)}catch{return null}}i(mc,"readPackMetadata");async function Tk(t,e,r){if(!await N(t))return null;let n=xk(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 mc(a);if(l&&xk(l.source)===n&&l.target===r.target&&l.as===r.as&&UN(l.features,r.features))return {meta:l,packDir:a,name:l.name}}return null}i(Tk,"findExistingPack");async function pc(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 mc(o);s&&r.push({meta:s,packDir:o,name:s.name});}return r}i(pc,"listPacks");function Nk(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(Nk,"emptyCanonical");async function KN(t){let[e,r,n,o,s,a,l,c]=await Promise.all([xn(join(t,"rules")),Pn(join(t,"commands")),Nn(join(t,"agents")),Do(join(t,"skills")),wa(join(t,"mcp.json")),Ea(join(t,"permissions.yaml")),Aa(join(t,"hooks.yaml")),La(join(t,"ignore"))]);return {...Nk(),rules:e,commands:r,agents:n,skills:o,mcp:s,permissions:a,hooks:l,ignore:c}}i(KN,"loadPackCanonical");async function Dk(t){let e=join(t,"packs"),r=await pc(e),n=Nk();for(let{meta:o,packDir:s}of r){let a=await KN(s),l=nd(a,o.features),c=cc(l,o.features,o.pick,o.name);n=Fo(n,c);}return n}i(Dk,"loadPacksCanonical");var BN={rules:["rules"],commands:["commands"],agents:["agents"],skills:["skills"],mcp:["mcp"],permissions:["permissions"],hooks:["hooks"],ignore:["ignore"]};function nd(t,e){if(e.length===0)return Fk();let r=new Set(e.flatMap(n=>BN[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(nd,"filterCanonicalByFeatures");function Fk(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(Fk,"emptyCanonical");async function me(t,e,r={},n=join(e,".agentsmesh")){let o=await No(t,e,{refreshCache:r.refreshRemoteCache===true}),s=Fk();for(let c of o){let m=await Lk(c),p=nd(m,c.features),u=cc(p,c.features,c.pick,c.name);s=Fo(s,u);}let a=await Dk(n);s=Fo(s,a);let l=await Dn(n);return s=Fo(s,l),{canonical:s,resolvedExtends:o}}i(me,"loadCanonicalWithExtends");E();function na(t){return createHash("sha256").update(t,"utf8").digest("hex")}i(na,"hashContent");async function uc(t){try{let e=await readFile(t,"utf8");return na(e)}catch(e){if(e instanceof Error&&"code"in e&&e.code==="ENOENT")return null;throw e}}i(uc,"hashFile");var sd=".lock",XN=[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 ZN(t){return t.startsWith("packs/")?false:XN.some(e=>e(t))}i(ZN,"isCanonical");var qN={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 dc(t){let e=join(t,sd),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(dc,"readLock");async function oa(t,e){let r=join(t,sd),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.
143
148
  # Tracks the state of all config files for team conflict resolution.
144
149
 
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:
150
+ `+stringify(n);await S(r,o);}i(oa,"writeLock");async function Wr(t){if(!await N(t))return {};let e=await P(t),r={};for(let n of e){let o=relative(t,n).replace(/\\/g,"/");if(o===sd||!ZN(o))continue;let s=await uc(n);s!==null&&(r[o]=s.startsWith("sha256:")?s:`sha256:${s}`);}return r}i(Wr,"buildChecksums");function fc(t,e,r){if(r.length===0)return [];let n=r.map(a=>qN[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(fc,"detectLockedFeatureViolations");async function sa(t){let e=await pc(t),r={};for(let{meta:n}of e)r[n.name]=n.content_hash;return r}i(sa,"buildPackChecksums");async function Ro(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 Wr(n),s=Object.keys(o).sort().map(c=>`${c}:${o[c]}`).join(`
151
+ `),a=na(s),l=a.startsWith("sha256:")?a:`sha256:${a}`;e[r.name]=`local:${l}`;}return e}i(Ro,"buildExtendChecksums");nt();mr();function QN(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}i(QN,"addDirectoryMapping");function vk(t,e,r){let n=posix.dirname(e),o=posix.dirname(r);for(;n!==".agentsmesh/skills"&&n!==".";)QN(t,n,o),n=posix.dirname(n),o=posix.dirname(o);}i(vk,"addSkillDirectoryMappings");nt();function $k(t,e,r="project"){let n=gt(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($k,"ruleTargetPath");function Mk(t,e,r,n="project"){let o=gt(t,n);return o?o.paths.commandPath(e,r):null}i(Mk,"commandTargetPath");function Gk(t,e,r,n="project"){let o=gt(t,n);return o?o.paths.agentPath(e,r):null}i(Gk,"agentTargetPath");Lt();ft();Tt();nt();function rD(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}i(rD,"addDirectoryMapping");function ia(t,e,r,n="project"){let o=new Map;for(let a of e.rules){let l=$k(t,a,n);l&&o.set(`.agentsmesh/rules/${basename(a.source)}`,l);}for(let a of e.commands){let l=Mk(t,a.name,r,n);l&&o.set(`.agentsmesh/commands/${a.name}.md`,l);}for(let a of e.agents){let l=Gk(t,a.name,r,n);l&&o.set(`.agentsmesh/agents/${a.name}.md`,l);}let s=Yi(t,n);if(!s)return o;for(let a of e.skills){rD(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}`,p=`${s}/${a.name}/${c}`;o.set(m,p),vk(o,m,p);}}return o}i(ia,"buildReferenceMap");dr();var An="AGENTS.md";function nD(t){return t.target===zs&&t.path.endsWith(An)}i(nD,"isCodexAgents");function jk(t){return t.target==="windsurf"&&t.path.endsWith(An)}i(jk,"isWindsurfAgents");function Uk(t){return t.target==="cline"&&t.path.endsWith(An)}i(Uk,"isClineAgents");function id(t){return t.target==="cursor"&&t.path.endsWith(An)}i(id,"isCursorAgents");function ad(t){return t.target==="gemini-cli"&&t.path.endsWith(An)}i(ad,"isGeminiAgents");function oD(t){return t.target==="kiro"&&t.path.endsWith(An)}i(oD,"isKiroAgents");function sD(t){return t.target==="kilo-code"&&t.path.endsWith(An)}i(sD,"isKiloCodeAgents");function iD(t){return id(t)||ad(t)}i(iD,"isCompatibilityAgents");function hc(t,e,r,n){let o=n.get(t);if(o)return o;let s=new Map;for(let[a,l]of ia(t,e,r))s.has(l)||s.set(l,a);return n.set(t,s),s}i(hc,"reverseReferenceMap");function yc(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(yc,"normalizeContent");function aD(t,e,r,n,o){let s=hc(t.target,r,n,o),a=hc(e.target,r,n,o);return yc(t.content,s)===yc(e.content,a)}i(aD,"hasEquivalentCanonicalContent");function lD(t,e,r,n,o){let s=hc(t.target,r,n,o),a=hc(e.target,r,n,o),l=yc(t.content,s).trim(),c=yc(e.content,a).trim();return l.length>c.length&&l.includes(c)}i(lD,"hasCanonicalSupersetContent");function Kk(t,e,r){let n=new Map;for(let a of t){if(!a.path.endsWith(An))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)nD(a)&&o.set(a.path,a);let s=new Map;return t.filter(a=>{if(id(a)){let c=n.get(a.path);if(c&&[...c].some(m=>m!=="cursor"))return false}if(ad(a)){let c=n.get(a.path);if(c&&[...c].some(m=>m!=="cursor"&&m!=="gemini-cli"))return false}if(!jk(a)&&!Uk(a)&&!id(a)&&!ad(a)&&!oD(a)&&!sD(a))return true;let l=o.get(a.path);return l?iD(a)||jk(a)||Uk(a)?false:!(aD(l,a,e,r,s)||lD(l,a,e,r,s)):true})}i(Kk,"preferEquivalentCodexAgents");wt();Xu();wt();wt();nt();function Bk(t,e,r,n){let o=n.normalize(e),s=n.normalize(r);t.set(o,s),t.set(`${o}/`,`${s}/`);}i(Bk,"addPackAbsoluteDirMapping");function cD(t){let e=new Set;for(let{relativePath:r}of t){let n=r.replace(/\\/g,"/"),o=posix.dirname(n);for(;o!=="."&&o.length>0;){e.add(o);let s=posix.dirname(o);if(s===o)break;o=s;}}return [...e]}i(cD,"skillSupportingDirPrefixes");function Hk(t,e,r,n,o){let s=Yi(e,o);if(!s)return;let a=W(n),l=a.join(n,".agentsmesh","packs");for(let c of r.skills){let m=a.dirname(c.source);if(!m.startsWith(l))continue;let p=a.normalize(a.join(n,s,c.name));Bk(t,m,p,a),t.set(a.normalize(c.source),a.normalize(a.join(p,"SKILL.md")));for(let u of c.supportingFiles){let d=a.normalize(a.join(p,u.relativePath));t.set(a.normalize(u.absolutePath),d);}for(let u of cD(c.supportingFiles))Bk(t,a.join(m,u),a.join(p,u),a);}}i(Hk,"addPackSkillArtifactMappings");wt();function mD(t){return `.agentsmesh/rules/${basename(t.source)}`}i(mD,"canonicalRulePath");function pD(t){return `.github/instructions/${basename(t.source,".md")}.instructions.md`}i(pD,"copilotInstructionsPath");function Vk(t,e,r,n,o){if(t!=="copilot"||!n?.startsWith(".github/instructions/"))return;let s=W(r);for(let a of o.rules)a.root||a.globs.length===0||e.set(s.normalize(s.join(r,mD(a))),s.normalize(s.join(r,pD(a))));}i(Vk,"applyCopilotInstructionArtifactRefs");nt();function Ic(t){return t?(t.outputFamilies??[]).filter(e=>e.kind==="additional").flatMap(e=>[...e.explicitPaths??[]]):[]}i(Ic,"getAdditionalRootDecorationPaths");function Jk(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(Jk,"resolveRewriteFamilyId");function ld(t,e){e!==void 0&&e.length>0&&!t.includes(e)&&t.push(e);}i(ld,"pushUnique");function Yk(t,e,r,n){let o=[],s=r.get(`.agentsmesh/rules/${basename(e.source)}`);ld(o,s);let a=gt(t,n);if(e.root)for(let l of Ic(a))ld(o,l);for(let l of a?.extraRuleOutputPaths?.(e,{refs:r,scope:n})??[])ld(o,l);return o}i(Yk,"extraRuleOutputPaths");nt();function Xk(t,e,r,n,o,s){let a=gt(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(Xk,"addSkillMirrorSourceEntry");function dD(t){return `.agentsmesh/commands/${t.name}.md`}i(dD,"canonicalCommandPath");function fD(t){return `.agentsmesh/agents/${t.name}.md`}i(fD,"canonicalAgentPath");function gD(t){return `.agentsmesh/skills/${t.name}/SKILL.md`}i(gD,"canonicalSkillPath");function Zk(t,e,r,n,o,s){let a=s?.scope??"project",l=W(n),c=new Map([...ia(t,e,r,a)].map(([m,p])=>[l.normalize(l.join(n,m)),l.normalize(l.join(n,p))]));return Vk(t,c,n,o,e),Hk(c,t,e,n,a),c}i(Zk,"buildArtifactPathMap");function qk(t,e,r,n="project",o){let s=ia(t,e,r,n),a=new Map;for(let l of e.rules)for(let c of Yk(t,l,s,n))a.set(c,l.source);for(let l of e.commands){let c=s.get(dD(l));c&&a.set(c,l.source);}for(let l of e.agents){let c=s.get(fD(l));c&&a.set(c,l.source);}for(let l of e.skills){let c=s.get(gD(l));c&&(a.set(c,l.source),Xk(t,n,c,l.source,a,o));for(let m of l.supportingFiles){let p=`.agentsmesh/skills/${l.name}/${m.relativePath.replace(/\\/g,"/")}`,u=s.get(p);u&&(a.set(u,m.absolutePath),Xk(t,n,u,m.absolutePath,a,o));}}return a}i(qk,"buildOutputSourceMap");nt();mr();Qc();function ID(t,e){if(!e)return null;for(let r of e){let n=Q(r);if(n?.sharedArtifacts){for(let[o,s]of Object.entries(n.sharedArtifacts))if(s==="owner"&&t.startsWith(o))return r}}return null}i(ID,"findSharedArtifactOwner");function Qk(t,e,r){if(e==="global"){let n=ID(t.path,r);if(n)return n;let o=pg(t.path);if(o)return o}return t.target}i(Qk,"artifactMapTargetForResult");function _D(t,e){return `${t}\0${(e??[]).join(",")}`}i(_D,"sourceMapCacheKey");function cd(t,e){let r=W(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(cd,"collectPlannedPaths");function SD(t,e,r){let n=gt(t.target,e),o=Jk(n,t.path);if(o!=="default")return `${t.target}:${o}`;let s=Qk(t,e,r);return s===t.target?t.target:`${t.target}~via~${s}`}i(SD,"artifactCacheKey");function tO(t,e,r,n,o="project",s){let a=cd(n,t),l=new Map,c=new Map;return t.map(m=>{let p=_D(m.target,s),d=(c.get(p)??(()=>{let _=qk(m.target,e,r,o,s);return c.set(p,_),_})()).get(m.path);if(!d)return m;let g=Qk(m,o,s),h=SD(m,o,s),C=l.get(h)??(()=>{let _=Zk(g,e,r,n,m.path,{scope:o});return l.set(h,_),_})(),R=sc({content:m.content,projectRoot:n,sourceFile:d,destinationFile:W(n).join(n,m.path),translatePath:i(_=>C.get(_)??_,"translatePath"),pathExists:i(_=>a.has(_)||existsSync(_),"pathExists"),explicitCurrentDirLinks:true,rewriteBarePathTokens:true,scope:o,pathIsDirectory:i(_=>{try{return statSync(_).isDirectory()}catch{return false}},"pathIsDirectory")});return R.content===m.content?m:{...m,content:R.content}})}i(tO,"rewriteGeneratedReferences");wt();En();var RD=/!?\[[^\]]*\]\(([^)]+)\)/g,kD=/^\s*\[[^\]\n]+\]:\s*(?:<([^>\n]*)>|(\S+))/gm;function OD(t){return t.endsWith(".md")||t.endsWith(".mdc")}i(OD,"isMarkdownLikeOutput");function wD(t,e){return e.some(([r,n])=>t>=r&&t<n)}i(wD,"isOffsetInRanges");function ED(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(ED,"parseMarkdownLinkDestination");function AD(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(AD,"shouldSkipLocalValidation");function LD(t,e){if(e.has(t))return true;try{let r=statSync(t);return r.isFile()||r.isDirectory()}catch{return false}}i(LD,"pathExistsForGenerate");function bD(t,e,r){let o=ED(t).split("#")[0]??"",{candidate:s}=vo(o),a=s,l=Ts.exec(a);l&&(a=a.slice(0,l.index));let c;try{c=decodeURIComponent(a);}catch{c=a;}if(AD(c))return [];let m=Xi(c,e,r);if(m.length===0){let u=W(e),d=G(e,r);m=[G(e,u.join(u.dirname(d),c)),G(e,u.join(e,c))];}let p=[];for(let u of m)for(let d of Zi(e,u)){let g=G(e,d);p.includes(g)||p.push(g);}return p}i(bD,"resolveMarkdownLinkTargets");function xD(t,e){let r=cd(e,t),n=[];for(let o of t){if(!OD(o.path))continue;let s=G(e,W(e).join(e,o.path)),a=oc(o.content),l=i((c,m)=>{if(wD(m,a))return;let p=bD(c,e,s);p.length!==0&&(p.some(u=>LD(u,r))||n.push({generatePath:o.path,target:o.target,rawLink:c.trim(),checkedPaths:p}));},"visitDestination");for(let c of o.content.matchAll(RD)){let m=c[1];m!==void 0&&l(m,c.index??0);}for(let c of o.content.matchAll(kD)){let m=(c[1]??c[2]??"").trim();m&&l(m,c.index??0);}}return n}i(xD,"findBrokenMarkdownLinks");function eO(t,e){let r=xD(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:
147
152
  ${n.join(`
148
153
  `)}
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?"":`
154
+ Fix canonical sources or generators so every local link targets an existing file or folder.`)}i(eO,"validateGeneratedMarkdownLinks");dr();var nO="AGENTS.md";function rO(t){switch(t){case "created":return 3;case "updated":return 2;case "unchanged":return 1;case "skipped":return 0}}i(rO,"statusRank");function PD(t,e){return rO(e.status)<=rO(t.status)?t:{...t,status:e.status,currentContent:e.currentContent??t.currentContent}}i(PD,"mergeDuplicateMetadata");function _c(t){return t.trim()}i(_c,"trimmedContent");function TD(t,e){if(!t.path.endsWith(nO)||t.path!==e.path)return null;let r=_c(t.content),n=_c(e.content);if(!r||!n)return null;let o=r.includes(n),s=n.includes(r);return o===s?null:o?t:e}i(TD,"richerAgentsResult");function ND(t,e){if(!t.path.endsWith(nO)||t.path!==e.path)return null;let r=t.target===zs?t:e.target===zs?e:null,n=r===t?e:t;return r&&_c(r.content).length>_c(n.content).length?r:null}i(ND,"richerCodexAgentsResult");function oO(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=TD(o,r);if(s){e[n]=s;continue}let a=ND(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]=PD(o,r);}return e}i(oO,"resolveOutputCollisions");function sO(t){let e=t.currentContent===void 0?"created":t.currentContent!==t.content?"updated":"unchanged";return t.status===e?t:{...t,status:e}}i(sO,"refreshResultStatus");E();nt();mr();function aO(t,e){return t===null?"created":t!==e?"updated":"unchanged"}i(aO,"computeStatus");function DD(t,e,r){let n=Uu(t,e,r);if(n!==null)return n;let o=Q(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(DD,"resolveGeneratedOutputPath");async function aa(t,e,r,n,o,s){let a=DD(e,r.path,o);if(a===null)return null;let l=await I(join(n,a)),c=t.findIndex(u=>u.path===a&&u.target===e),m=c>=0?t[c]:void 0,p=s?.mergeContent?.(l,m,r.content,a)??r.content;return c>=0&&t.splice(c,1),t.push({target:e,path:a,content:p,currentContent:l??void 0,status:aO(l,p)}),a}i(aa,"emitGeneratedOutput");function md(t,e,r){return {capability:Rn(t,r)?.[e]??{level:"none"},scope:r}}i(md,"featureContext");async function ko(t,e,r,n,o,s,a,l){if(o)for(let c of e){let m=l(c);if(!m)continue;let p=md(c,a,s);for(let u of m(r,p)){let d=await aa(t,c,u,n,s);if(d===null)continue;let g=gt(c,s);if(g?.mirrorGlobalPath){let h=g.mirrorGlobalPath(d,e),C=h===null?[]:Array.isArray(h)?h:[h];for(let R of C){let _=await I(join(n,R));t.push({target:c,path:R,content:u.content,currentContent:_??void 0,status:aO(_,u.content)});}}}}}i(ko,"generateFeature");om();nt();function FD(t){return t?.rootInstructionPath?[t.rootInstructionPath,...Ic(t)]:[]}i(FD,"rootDecorationPaths");function lO(t,e,r="project"){return t.map(n=>{let o=gt(n.target,r);if(!o)return n;let s=FD(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=Sg(l);return c===n.content?n:{...n,content:c}})}i(lO,"decoratePrimaryRootInstructions");nt();mr();au();function pd(t,e,r,n,o){let a=(le(t)??Q(t))?.mergeGeneratedOutputContent?.(e,r,n,o);if(a!=null)return a;let l=r?.content??e;return l!==null&&oC.includes(o)?iC(l,n):n}i(pd,"mergeOutputContent");async function cO(t,e,r,n,o){for(let s of e){let a=Ps(s,"permissions",void 0,o)??Q(s)?.generators.generatePermissions;if(a)for(let l of a(r))await aa(t,s,l,n,o,{mergeContent:i((c,m,p,u)=>pd(s,c,m,p,u),"mergeContent")});}}i(cO,"generatePermissionsFeature");async function mO(t,e,r,n,o,s){for(let a of e){let l=Ps(a,"hooks",s,o)??Q(a)?.generators.generateHooks;if(!l)continue;let c=md(a,"hooks",o),m=[...l(r,c)],u=(le(a)??Q(a))?.postProcessHookOutputs;u&&(m=[...await u(n,r,m)]);for(let d of m)await aa(t,a,d,n,o,{mergeContent:i((g,h,C,R)=>pd(a,g,h,C,R),"mergeContent")});}}i(mO,"generateHooksFeature");async function pO(t,e,r,n,o){for(let s of e){let l=(le(s)??Q(s))?.emitScopedSettings;if(!l)continue;let c=l(r,o);if(c.length!==0)for(let m of c)await aa(t,s,m,n,o,{mergeContent:i((p,u,d,g)=>pd(s,p,u,d,g),"mergeContent")});}}i(pO,"generateScopedSettingsFeature");async function Sc(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,H){return Ps(x,H,e,o)}i(c,"resolveGen");let m=e.features.includes("rules"),p=e.features.includes("commands"),u=e.features.includes("agents"),d=e.features.includes("skills"),g=e.features.includes("mcp"),h=e.features.includes("permissions"),C=e.features.includes("hooks"),R=e.features.includes("ignore"),_=[];await ko(_,l,r,n,m,o,"rules",x=>c(x,"rules")),await ko(_,l,r,n,p,o,"commands",x=>c(x,"commands")),await ko(_,l,r,n,u,o,"agents",x=>c(x,"agents")),await ko(_,l,r,n,d,o,"skills",x=>c(x,"skills")),await ko(_,l,r,n,g,o,"mcp",x=>c(x,"mcp")),h&&await cO(_,l,r,n,o),C&&await mO(_,l,r,n,o,e),await ko(_,l,r,n,R,o,"ignore",x=>c(x,"ignore"));let w=new Set(e.features);for(let x of l){let j=(le(x)??Q(x))?.globalSupport?.scopeExtras;if(j){let K=await j(r,n,o,w);_.push(...K);}}(g||R||C||u||h)&&await pO(_,l,r,n,o);let v=lO(_,r,o),A=tO(v,r,e,n,o,l);return eO(A,n),oO(Kk(A.map(sO),r,e))}i(Sc,"generate");E();nt();async function uO(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 uO(s,e));continue}n.push(relative(e,s).replace(/\\/g,"/"));}return n}i(uO,"listFiles");async function GD(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(GD,"removeIfStale");async function dO(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 uO(l))r.add(`${a}/${c}`.replace(/\/+/g,"/"));}}}for(let o of r)await GD(t.projectRoot,o,e);}i(dO,"cleanupStaleGeneratedOutputs");E();Hs();var zD=6e4,VD=30,JD=200,YD=2e3;async function dd(t,e={}){let r=e.retries??VD,n=e.retryDelayMs??JD,o=e.staleMs??zD;await mkdir(dirname(t),{recursive:true});let s=0;for(;;){let a=await XD(t);if(a)return a;let l=await ZD(t);if(l!=="young"&&qD(l,o)){await rm$1(t,{recursive:true,force:true}).catch(()=>{});continue}if(s>=r){let c=l==="young"?null:l;throw new Ca(t,tF(c))}s++,await rF(n);}}i(dd,"acquireProcessLock");async function XD(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:yO()};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(XD,"tryAcquire");async function ZD(t){try{let e=await readFile(join(t,"holder.json"),"utf-8"),r=JSON.parse(e);return eF(r)?r:null}catch{try{let e=await stat(t);if(Date.now()-e.mtimeMs<YD)return "young"}catch{}return null}}i(ZD,"inspectLock");function qD(t,e){return !t||Date.now()-t.started>e?true:t.hostname&&t.hostname!==yO()?false:!QD(t.pid)}i(qD,"isStale");function QD(t){if(!Number.isInteger(t)||t<=0)return false;try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}i(QD,"isProcessAlive");function tF(t){return t?`${t.hostname?`${t.hostname}:`:""}pid ${t.pid} (running ${Date.now()-t.started}ms)`:"unknown (unreadable lock metadata)"}i(tF,"describeHolder");function eF(t){if(typeof t!="object"||t===null)return false;let e=t;return typeof e.pid=="number"&&typeof e.started=="number"}i(eF,"isLockMetadata");function yO(){return hostname()}i(yO,"getHostname");function rF(t){return new Promise(e=>setTimeout(e,t))}i(rF,"sleep");Ku();mr();async function iF(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(iF,"importPluginModule");function aF(t){return "descriptor"in t?[t.descriptor]:"descriptors"in t&&Array.isArray(t.descriptors)?t.descriptors:"default"in t?[t.default]:[]}i(aF,"extractDescriptors");async function Cc(t,e){let r;try{r=await iF(t,e);}catch(s){throw new Error(`Plugin '${t.source}' failed to import: ${s instanceof Error?s.message:String(s)}`,{cause:s})}let n=aF(r),o=[];for(let s of n)try{let a=rc(s);VR(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(Cc,"loadPlugin");async function IO(t,e){let r=[];return await Promise.all(t.map(async n=>{try{let o=await Cc(n,e);r.push(o);}catch(o){y.warn(`Plugin '${n.source}' failed to load: ${o instanceof Error?o.message:String(o)}`);}})),r}i(IO,"loadAllPlugins");async function pe(t,e){t.plugins.length!==0&&await IO(t.plugins,e);}i(pe,"bootstrapPlugins");nt();function fd(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=lF(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]=ec(m,s,t,r);if(n.push({feature:a,count:l,support:c}),s==="rules"){let m=e.rules.filter(p=>!p.root);if(m.length>0){let p={};for(let u of o)p[u]=ec(u,"additionalRules",t,r);n.push({feature:`additional rules (${m.length})`,count:m.length,support:p});}}}return n}i(fd,"buildCompatibilityMatrix");function lF(t){if(!t)return 0;let e=0;for(let r of Object.values(t))Array.isArray(r)&&(e+=r.length);return e}i(lF,"countHooks");var cF={"claude-code":"Claude"};function _O(t){return cF[t]??t}i(_O,"matrixColumnLabel");dr();nt();var mF=["rules","additionalRules","commands","agents","skills","mcp","hooks","ignore","permissions"];function SO(t){return Object.fromEntries(mF.map(e=>[e,Object.fromEntries(yt.map(r=>{let o=Rn(r,t)?.[e];return [r,o??{level:"none"}]}))]))}i(SO,"buildSupportMatrix");SO("project");SO("global");var gd={native:"\u2713",embedded:"\u25C6",partial:"\u25D0",none:"\u2013"},la={green:"\x1B[32m",blue:"\x1B[34m",yellow:"\x1B[33m",dim:"\x1B[2m",reset:"\x1B[0m"};function pF(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}i(pF,"noColor");function uF(t,e){return pF()?e:`${t}${e}${la.reset}`}i(uF,"colorize");var dF={native:la.green,embedded:la.blue,partial:la.yellow,none:la.dim};function CO(t){let e=gd[t];return uF(dF[t],e)}i(CO,"coloredSymbol");function hd(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((j,K)=>r?K:`${j}${K}${n.reset}`,"c"),s=i(j=>j.replace(/\u001b\[[0-9;]*m/g,"").length,"visibleLength"),a=i((j,K)=>{let tt=s(j),pt=Math.max(0,K-tt);return j+" ".repeat(pt)},"padWithColor"),l=Math.max(12,...e.map(j=>j.length)),c=e.map(j=>_O(j)),m=Math.max(8,l),p=Math.max(12,...t.map(j=>j.feature.length)),u=i(j=>o(n.dim,"\u250C"+j.map(K=>"\u2500".repeat(K)).join("\u252C")+"\u2510"),"border"),d=i(j=>o(n.dim,"\u251C"+j.map(K=>"\u2500".repeat(K)).join("\u253C")+"\u2524"),"sep"),g=i(j=>o(n.dim,"\u2514"+j.map(K=>"\u2500".repeat(K)).join("\u2534")+"\u2518"),"bottom"),h=[p,...e.map(()=>m)],C=u(h),R=[a(o(n.bold+n.cyan,"Feature"),p),...c.map(j=>a(o(n.bold+n.magenta,j),m))],_=o(n.dim,"\u2502")+R.join(o(n.dim,"\u2502"))+o(n.dim,"\u2502"),w=d(h),v=t.map(j=>{let K=[a(o(n.cyan,j.feature),p)];for(let tt of e){let pt=j.support[tt]??"none",rt=r?gd[pt]:CO(pt);K.push(a(` ${rt} `,m));}return o(n.dim,"\u2502")+K.join(o(n.dim,"\u2502"))+o(n.dim,"\u2502")}),A=g(h),x=[C,_,w,...v,A];x.push("");let H=[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: ")+H.join(" ")),x.join(`
155
+ `)}i(hd,"formatMatrix");function Id(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?"":`
151
156
  Per-file details:
152
157
  `+e.join(`
153
158
  `)+`
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(`
159
+ `}i(Id,"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 lt(r,n);await pe(a,r);let{canonical:c}=await me(a,l.configDir,{},l.canonicalDir),m=s??[...a.targets,...a.pluginTargets??[]],p=fd(a,c,n);if(p.length===0){y.info("No features enabled. Enable features in agentsmesh.yaml.");return}let u=hd(p,m);if(process.stdout.write(u),process.stdout.write(`
160
+ `),t.verbose===true){let d=Id(c);d&&(process.stdout.write(d),process.stdout.write(`
161
+ `));}}i(Oo,"runMatrix");function kO(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(kO,"ensurePathInsideRoot");function _d(t,e){return t==="global"?`~/${e}`:e}i(_d,"formatDisplayPath");async function vs(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,p=typeof m=="string"&&m?m.split(",").map(A=>A.trim()).filter(Boolean):void 0,{config:u,context:d}=await lt(n,l);await pe(u,n);let g=u.collaboration?.lock_features??[];if(u.collaboration?.strategy==="lock"&&!a&&g.length>0){let A=await dc(d.canonicalDir);if(A!==null){let x=await Wr(d.canonicalDir),H=fc(A.checksums,x,g);if(H.length>0){y.error("Locked feature violation (strategy: lock). Modified files:");for(let j of H)y.error(` ${j}`);throw y.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(u,d.configDir,{refreshRemoteCache:c},d.canonicalDir),R=[...u.targets,...u.pluginTargets??[]];if(p){let A=p.filter(x=>!R.includes(x));if(A.length>0)throw new Error(`Unknown target(s) in --targets: ${A.join(", ")}. Available: ${R.join(", ")}`)}let _=p?R.filter(A=>p.includes(A)):R,w=await Sc({config:u,canonical:h,projectRoot:d.rootBase,scope:l,targetFilter:p});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 A=await dd(join(d.canonicalDir,".generate.lock"));try{let x=await Wr(d.canonicalDir),H=C.length>0?await Ro(C):{},j=await sa(join(d.canonicalDir,"packs")),K=process.env.USER??process.env.USERNAME??"unknown";await oa(d.canonicalDir,{generatedAt:new Date().toISOString(),generatedBy:K,libVersion:Bs(),checksums:x,extends:H,packs:j});try{await vc(Dt(),join(d.configDir,".agentsmeshcache"));}catch(tt){y.warn(`Could not create .agentsmeshcache symlink: ${tt instanceof Error?tt.message:String(tt)}`);}}finally{await A();}}return r.printMatrix!==false&&await Oo(t,n),0}if(o){let A=w.filter(x=>x.status!=="unchanged");if(A.length===0)return y.success("Generated files are in sync."),0;for(let x of A)y.error(`[check] ${x.status} ${_d(l,x.path)} (${x.target})`);return y.error("Generated files are out of sync. Run 'agentsmesh generate' to update them."),1}let v=s?null:await dd(join(d.canonicalDir,".generate.lock"));try{for(let A of w)if(s)y.info(`[dry-run] ${A.status} ${_d(l,A.path)} (${A.target})`);else if(A.status==="created"||A.status==="updated"){let x=kO(d.rootBase,A.path,A.target);await S(x,A.content),y.success(`${A.status} ${_d(l,A.path)}`);}if(!s){let A=w.filter(rt=>rt.status==="created").length,x=w.filter(rt=>rt.status==="updated").length,H=w.filter(rt=>rt.status==="unchanged").length;await dO({projectRoot:d.rootBase,targets:_,expectedPaths:w.map(rt=>rt.path),scope:l}),A>0||x>0?y.info(`Generated: ${A} created, ${x} updated, ${H} unchanged`):y.info(`Nothing changed. (${H} unchanged)`);let j=await Wr(d.canonicalDir),K=C.length>0?await Ro(C):{},tt=await sa(join(d.canonicalDir,"packs")),pt=process.env.USER??process.env.USERNAME??"unknown";await oa(d.canonicalDir,{generatedAt:new Date().toISOString(),generatedBy:pt,libVersion:Bs(),checksums:j,extends:K,packs:tt});try{await vc(Dt(),join(d.configDir,".agentsmeshcache"));}catch(rt){y.warn(`Could not create .agentsmeshcache symlink: ${rt instanceof Error?rt.message:String(rt)}`);}}}finally{v&&await v();}return r.printMatrix!==false&&await Oo(t,n),0}i(vs,"runGenerate");E();nt();dr();var gF=["codex-cli"];function OO(){return yt.filter(t=>!gF.includes(t))}i(OO,"starterInitTargetIds");var hF=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],yF=OO();function Rc(t,e=yF){let r=(t.length>0?t:e).map(o=>` - ${o}`).join(`
162
+ `),n=hF.map(o=>` - ${o}`).join(`
158
163
  `);return `# yaml-language-server: $schema=https://unpkg.com/agentsmesh/schemas/agentsmesh.json
159
164
  version: 1
160
165
  targets:
161
166
  ${r}
162
167
  features:
163
168
  ${n}
164
- `}i(Hl,"buildConfig");var zl=`---
169
+ `}i(Rc,"buildConfig");var kc=`---
165
170
  root: true
166
171
  description: "Project rules"
167
172
  ---
@@ -170,7 +175,7 @@ description: "Project rules"
170
175
 
171
176
  Add your project-wide instructions here.
172
177
  This file is always included in AI tool context and synced to all configured tools.
173
- `,Mp=`---
178
+ `,Sd=`---
174
179
  description: "Example contextual rule \u2014 rename and customize"
175
180
  # targets: [claude-code, cursor] # limit to specific tools (optional)
176
181
  # globs: ["src/**/*.ts"] # activate only for matching files (optional)
@@ -179,14 +184,14 @@ description: "Example contextual rule \u2014 rename and customize"
179
184
  # Example Rule
180
185
 
181
186
  Replace this with your coding standards, conventions, or domain-specific guidelines.
182
- `,Gp=`---
187
+ `,Cd=`---
183
188
  description: "Example command \u2014 rename and customize"
184
189
  # allowed-tools: [Read, Grep, Glob, Bash]
185
190
  ---
186
191
 
187
192
  Describe the task for this command here.
188
193
  Commands are invoked on-demand (e.g. /example) with a focused tool set.
189
- `,jp=`---
194
+ `,Rd=`---
190
195
  name: example-agent
191
196
  description: "Example subagent \u2014 rename and customize"
192
197
  # tools: [Read, Grep, Glob]
@@ -197,7 +202,7 @@ description: "Example subagent \u2014 rename and customize"
197
202
 
198
203
  Describe this agent's role and instructions here.
199
204
  Agents are specialized subagents with restricted tools and a specific purpose.
200
- `,Up=`---
205
+ `,kd=`---
201
206
  name: example-skill
202
207
  description: "Example skill \u2014 rename and customize"
203
208
  ---
@@ -206,7 +211,7 @@ description: "Example skill \u2014 rename and customize"
206
211
 
207
212
  Describe the skill procedure here.
208
213
  Skills are reusable multi-step procedures that commands and agents can reference.
209
- `,Wp=`{
214
+ `,Od=`{
210
215
  "mcpServers": {
211
216
  // "github": {
212
217
  // "type": "stdio",
@@ -221,7 +226,7 @@ Skills are reusable multi-step procedures that commands and agents can reference
221
226
  // }
222
227
  }
223
228
  }
224
- `,Bp=`# Lifecycle hooks \u2014 run shell commands before/after AI tool use
229
+ `,wd=`# Lifecycle hooks \u2014 run shell commands before/after AI tool use
225
230
  # Events: PreToolUse, PostToolUse, SubagentStart, SubagentStop
226
231
  # Matcher: tool name pattern (e.g. "Edit|Write", "Bash", "*")
227
232
  #
@@ -234,7 +239,7 @@ Skills are reusable multi-step procedures that commands and agents can reference
234
239
  # - matcher: Edit|Write
235
240
  # type: command
236
241
  # command: npm test --passWithNoTests
237
- `,Kp=`# Tool permission allow/deny lists
242
+ `,Ed=`# Tool permission allow/deny lists
238
243
  #
239
244
  # allow:
240
245
  # - Bash(npm run:*)
@@ -250,14 +255,14 @@ Skills are reusable multi-step procedures that commands and agents can reference
250
255
  allow: []
251
256
  deny: []
252
257
  ask: []
253
- `,Hp=`# Patterns ignored by all configured AI tools (gitignore syntax)
258
+ `,Ad=`# Patterns ignored by all configured AI tools (gitignore syntax)
254
259
  #
255
260
  # node_modules/
256
261
  # dist/
257
262
  # .env*
258
263
  # *.log
259
264
  # coverage/
260
- `,Ok=`# yaml-language-server: $schema=https://unpkg.com/agentsmesh/schemas/agentsmesh.json
265
+ `,wO=`# yaml-language-server: $schema=https://unpkg.com/agentsmesh/schemas/agentsmesh.json
261
266
  # Personal overrides \u2014 NOT committed to git
262
267
  # Uncomment and customize for your local setup:
263
268
 
@@ -276,25 +281,25 @@ ask: []
276
281
  # overrides:
277
282
  # claude-code:
278
283
  # model: opus
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(`
284
+ `;E();nt();function EO(t){let e=[];for(let r of Et)for(let n of Gu(r.id,t))e.push({target:r.id,path:n});return e}i(EO,"collectDetectionPaths");function AO(t){let e=new Map;for(let{target:r,path:n}of EO(t)){let o=e.get(r)??[];o.push(n),e.set(r,o);}return [...e.entries()].map(([r,n])=>({id:r,paths:n}))}i(AO,"toolIndicators");AO("project");async function LO(t,e="project"){let r=[];for(let{id:n,paths:o}of AO(e))for(let s of o){let a=join(t,s);if(await N(a)){r.push(n);break}}return [...new Set(r)]}i(LO,"detectExistingConfigs");E();function kt(t,e){return join(t,e)}i(kt,"ab");async function Ld(t){return await N(t)?(await readdir(t,{withFileTypes:true})).filter(r=>r.isFile()&&r.name.endsWith(".md")).length:0}i(Ld,"countMdFiles");async function _F(t){let e=kt(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(_F,"hasAnyImportedSkill");async function bd(t){let e=kt(t,"rules");await k(e),await S(join(e,"_root.md"),kc),y.success("Created .agentsmesh/rules/_root.md"),await S(join(e,"_example.md"),Sd),y.success("Created .agentsmesh/rules/_example.md");let r=kt(t,"commands");await k(r),await S(join(r,"_example.md"),Cd),y.success("Created .agentsmesh/commands/_example.md");let n=kt(t,"agents");await k(n),await S(join(n,"_example.md"),Rd),y.success("Created .agentsmesh/agents/_example.md");let o=kt(t,join("skills","_example"));await k(o),await S(join(o,"SKILL.md"),kd),y.success("Created .agentsmesh/skills/_example/SKILL.md"),await S(kt(t,"mcp.json"),Od),y.success("Created .agentsmesh/mcp.json"),await S(kt(t,"hooks.yaml"),wd),y.success("Created .agentsmesh/hooks.yaml"),await S(kt(t,"permissions.yaml"),Ed),y.success("Created .agentsmesh/permissions.yaml"),await S(kt(t,"ignore"),Ad),y.success("Created .agentsmesh/ignore");}i(bd,"writeScaffoldFull");async function xO(t){let e=kt(t,"rules"),r=await Ld(e),n=join(e,"_root.md"),o=await N(n);await k(e),r===0?(await S(n,kc),y.success("Created .agentsmesh/rules/_root.md"),await S(join(e,"_example.md"),Sd),y.success("Created .agentsmesh/rules/_example.md")):o||(await S(n,kc),y.success("Created .agentsmesh/rules/_root.md"));let s=kt(t,"commands");await Ld(s)===0&&(await k(s),await S(join(s,"_example.md"),Cd),y.success("Created .agentsmesh/commands/_example.md"));let a=kt(t,"agents");if(await Ld(a)===0&&(await k(a),await S(join(a,"_example.md"),Rd),y.success("Created .agentsmesh/agents/_example.md")),!await _F(t)){let u=kt(t,join("skills","_example"));await k(u),await S(join(u,"SKILL.md"),kd),y.success("Created .agentsmesh/skills/_example/SKILL.md");}let l=kt(t,"mcp.json");await N(l)||(await S(l,Od),y.success("Created .agentsmesh/mcp.json"));let c=kt(t,"hooks.yaml");await N(c)||(await S(c,wd),y.success("Created .agentsmesh/hooks.yaml"));let m=kt(t,"permissions.yaml");await N(m)||(await S(m,Ed),y.success("Created .agentsmesh/permissions.yaml"));let p=kt(t,"ignore");await N(p)||(await S(p,Ad),y.success("Created .agentsmesh/ignore"));}i(xO,"writeScaffoldGapFill");var ca="agentsmesh.yaml",PO="agentsmesh.local.yaml",CF=["agentsmesh.local.yaml",".agentsmeshcache",".agentsmesh/.lock.tmp",".agentsmesh/packs/"],RF=Object.fromEntries(Et.map(t=>[t.id,(e,r)=>t.generators.importFrom(e,{scope:r})])),TO=Et.filter(t=>t.globalSupport!==void 0).map(t=>t.id);function kF(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(kF,"isCoveredByExisting");async function OF(t){let e=join(t,".gitignore"),r=await I(e)??"",n=new Set(r.split(`
285
+ `).map(a=>a.trim()).filter(a=>a.length>0&&!a.startsWith("#"))),o=CF.filter(a=>!kF(a,n));if(o.length===0)return;let s=r.endsWith(`
281
286
  `)||r===""?"":`
282
- `;await _(e,r+s+o.join(`
287
+ `;await S(e,r+s+o.join(`
283
288
  `)+`
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(`
289
+ `);}i(OF,"appendToGitignore");async function NO(t,e={}){let r=e.global===true?"global":"project",n=Ys(t,r),o=join(n.configDir,ca);if(await N(o))throw new Error(`Already initialized. ${ca} exists. Remove it first to re-init.`);let s=await LO(n.rootBase,r),a=r==="global"?s.filter(m=>TO.includes(m)):s,l=r==="global"?TO: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 p of a){let u=RF[p];if(!u)continue;let d=await u(n.rootBase,r);for(let g of d){let h=relative(n.rootBase,g.fromPath).replaceAll("\\","/"),C=g.toPath.replaceAll("\\","/");y.success(` ${h} \u2192 ${C}`);}m+=d.length;}m>0&&y.info(`Imported ${m} file(s) from ${a.length} tool(s).`),await xO(n.canonicalDir),await S(o,Rc(a,l)),y.success(`Created ${ca} (targets: ${a.join(", ")})`);}else y.info("Run 'agentsmesh init --yes' to auto-import, or 'agentsmesh import --from <tool>' manually."),await bd(n.canonicalDir),await S(o,Rc([],l)),y.success(`Created ${ca}`);else await bd(n.canonicalDir),await S(o,Rc([],l)),y.success(`Created ${ca}`);let c=join(n.configDir,PO);await S(c,wO),y.success(`Created ${PO}`),r==="project"&&(await OF(t),y.success("Updated .gitignore"));}i(NO,"runInit");nt();var wF=Object.fromEntries(Et.map(t=>[t.id,{importFrom:t.generators.importFrom,emptyImportMessage:t.emptyImportMessage,lintRules:t.lintRules,lint:t.lint,capabilities:t.capabilities}]));function Oc(t){let e=wF[t];if(!e)throw new Error(`Unknown target: ${t}`);return e}i(Oc,"getTargetCatalogEntry");mr();function DO(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(DO,"formatImportResults");async function FO(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(Hr(o)){let p=Ys(r,s),u=Oc(o),d=await u.importFrom(p.rootBase,{scope:s});if(d.length===0){y.info(u.emptyImportMessage);return}DO(d,p.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: ${yt.join(", ")}.`)}await pe(a,r);let c=Q(o);if(!c)throw new Error(`Unknown --from "${n}". Supported: ${[...yt,...a.pluginTargets??[]].join(", ")}.`);let m=await c.generators.importFrom(l.rootBase,{scope:s});if(m.length===0){y.info(c.emptyImportMessage);return}DO(m,l.rootBase,s);}i(FO,"runImport");function $O(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($O,"computeDiff");function MO(t){return `${t.new} files would be created, ${t.updated} updated, ${t.unchanged} unchanged, ${t.deleted} deleted`}i(MO,"formatDiffSummary");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 pe(a,r);let{canonical:c}=await me(a,l.configDir,{},l.canonicalDir),m=await Sc({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:p,summary:u}=$O(m);for(let d of p)process.stdout.write(d.patch);y.info(MO(u));}i(GO,"runDiff");E();mr();Fn();Gt();var AF=[{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 jO(t){let e=new Set(t.enabledFeatures),r=[];for(let n of AF)!e.has(n.featureFlag)||!n.hasContent(t.canonical)||ye(t.capabilities[n.capabilityKey]).level!=="none"||r.push(J(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(jO,"lintSilentFeatureDrops");Gt();var LF=/^(?:\s*(?:bash|sh|zsh|pwsh|powershell)\s+)?["']?(?<path>(?:\.{1,2}\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?:\s|$)/;function bF(t){let r=t.match(LF)?.groups?.path;return typeof r=="string"?r:null}i(bF,"extractScriptToken");function UO(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=bF(o.command);s&&r.push(J(".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(UO,"lintHookScriptReferences");Gt();function KO(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(J(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(KO,"lintRuleScopeInversion");var xF=["node_modules",".git","dist","coverage",".agentsmesh"];async function PF(t){return (await P(t)).filter(n=>{let o=relative(t,n);return !xF.some(s=>o.includes(`/${s}/`)||o.startsWith(`${s}/`))}).map(n=>relative(t,n))}i(PF,"getProjectFiles");async function BO(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"),p=t.features.includes("mcp"),u=t.features.includes("permissions"),d=t.features.includes("hooks"),g=[],h=s==="global"?[]:await PF(r);for(let R of l){let _=Q(R),w=Hr(R)?Oc(R):_;w?.capabilities&&g.push(...jO({target:R,capabilities:w.capabilities,canonical:e,enabledFeatures:t.features})),d&&g.push(...UO({target:R,canonical:e,hasScriptProjection:_?.postProcessHookOutputs!==void 0})),c&&g.push(...KO({target:R,canonical:e,preservesManualActivation:_?.preservesManualActivation===true})),c&&w?.lintRules&&g.push(...w.lintRules(e,r,h,{scope:s})),_?.generators.lint&&g.push(..._.generators.lint(e));let v={scope:s};m&&w?.lint?.commands&&g.push(...w.lint.commands(e,v)),p&&w?.lint?.mcp&&g.push(...w.lint.mcp(e,v)),u&&w?.lint?.permissions&&g.push(...w.lint.permissions(e,v)),d&&w?.lint?.hooks&&g.push(...w.lint.hooks(e,v));}let C=g.some(R=>R.level==="error");return {diagnostics:g,hasErrors:C}}i(BO,"runLint");async function HO(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 pe(a,r);let{canonical:c}=await me(a,l.configDir,{},l.canonicalDir),{diagnostics:m,hasErrors:p}=await BO(a,c,l.configDir,s,{scope:n});if(m.length===0)return y.success("All checks passed."),0;let u=m.filter(C=>C.level==="error"),d=m.filter(C=>C.level==="warning");if(u.length>0)for(let C of u)y.error(`${C.file} (${C.target}): ${C.message}`);if(d.length>0)for(let C of d)y.warn(`${C.file} (${C.target}): ${C.message}`);let g=u.length,h=d.length;return y.info(`${g} error${g!==1?"s":""}, ${h} warning${h!==1?"s":""}`),p?1:0}i(HO,"runLintCmd");var DF=300;function FF(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}i(FF,"normalizeWatchPath");function vF(t,e,r){let n=FF(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(vF,"shouldIgnoreWatchPath");function $F(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($F,"featureFingerprint");async function VO(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,u=i(async()=>{if(c)return;a=null;let{config:C,context:R}=await lt(r,n),{canonical:_}=await me(C,R.configDir,{},R.canonicalDir),w=_.mcp?Object.keys(_.mcp.mcpServers).length:0,v=_.permissions?_.permissions.allow.length+_.permissions.deny.length:0,A=_.hooks?Object.values(_.hooks).reduce((K,tt)=>K+(Array.isArray(tt)?tt.length:0),0):0,x=_.ignore.length,H=$F(C.features,_.rules.length,_.commands.length,_.agents.length,_.skills.length,w,v,A,x),j=l!==null&&l!==H;l=H,!c&&(await vs(t,r,{printMatrix:false}),!c&&(j?await Oo(t,r):y.info("Regenerated.")));},"run"),d=i(()=>{let C=u().catch(R=>{if(!c){let _=R instanceof Error?R.message:String(R);y.error(_);}}).finally(()=>{m===C&&(m=null);});m=C;},"scheduleRun"),g=i(()=>{c||(a&&clearTimeout(a),a=setTimeout(d,DF));},"schedule"),h=NF.watch(s,{ignoreInitial:true,usePolling:process.platform==="win32"});return h.on("all",(C,R)=>{vF(o.canonicalDir,R)||g();}),await new Promise((C,R)=>{h.once("ready",C),h.once("error",R);}),y.info(n==="global"?"Watching ~/.agentsmesh/ and agentsmesh.yaml...":"Watching .agentsmesh/ and agentsmesh.yaml..."),m=u(),await m,m=null,{stop:i(async()=>{c=true,a&&(clearTimeout(a),a=null),await h.close(),m&&await m;},"stop")}}i(VO,"runWatch");async function JO(t){let{config:e,configDir:r,canonicalDir:n}=t,o=await dc(n);if(o===null)return {inSync:false,hasLock:false,modified:[],added:[],removed:[],extendsModified:[],lockedViolations:[]};let s=await Wr(n),a=await No(e,r),l=a.length>0?await Ro(a):{},c=new Set(Object.keys(o.checksums)),m=new Set(Object.keys(s)),p=[],u=[],d=[];for(let _ of c){let w=s[_];w===void 0?d.push(_):w!==o.checksums[_]&&p.push(_);}for(let _ of m)c.has(_)||u.push(_);let g=new Set([...Object.keys(o.extends),...Object.keys(l)]),h=[];for(let _ of g)l[_]!==o.extends[_]&&h.push(_);let C=fc(o.checksums,s,e.collaboration?.lock_features??[]);return {inSync:p.length===0&&u.length===0&&d.length===0&&h.length===0,hasLock:true,modified:p,added:u,removed:d,extendsModified:h,lockedViolations:C}}i(JO,"checkLockSync");async function YO(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{config:o,context:s}=await lt(r,n);await pe(o,r);let a=await JO({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(YO,"runCheck");E();var GF=".lock",jF="<<<<<<<";async function Pd(t){let e=join(t,GF),r=await I(e);return r===null?false:r.includes(jF)}i(Pd,"hasLockConflict");async function ZO(t,e,r){if(!await Pd(t))throw new Error("No conflict to resolve.");let o=await Wr(t),s=dirname(t),a=r?await No(r,s):[],l=a.length>0?await Ro(a):{},c=await sa(join(t,"packs")),m=process.env.USER??process.env.USERNAME??"unknown";await oa(t,{generatedAt:new Date().toISOString(),generatedBy:m,libVersion:e,checksums:o,extends:l,packs:c});}i(ZO,"resolveLockConflict");async function qO(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 Pd(a)){y.info("No conflicts to resolve.");return}await ZO(a,Bs(),o),y.success("Lock file conflict resolved.");}i(qO,"runMerge");E();var WF=promisify(execFile);async function Td(t){let{stdout:e}=await WF("git",t,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return e.trim()}i(Td,"runGit");async function QO(){try{return await Td(["--version"]),!0}catch{return false}}i(QO,"isGitAvailable");async function BF(t,e){let r=[e,`refs/heads/${e}`,`refs/tags/${e}`],n;for(let o of r)try{let a=(await Td(["ls-remote",t,o])).split(`
290
+ `).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(BF,"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 Td(["ls-remote",e,"HEAD"])).split(`
291
+ `).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 BF(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 To(l,"install",{cacheDir:Dt(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:l,version:r}}if(t.kind==="gitlab"){let l=`gitlab:${t.org}/${t.repo}@${r}`;return {resolvedPath:(await To(l,"install",{cacheDir:Dt(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:l,version:r}}let n=r,s=`git+${(t.gitPlusBase??e).split("#")[0]}#${n}`;return {resolvedPath:(await To(s,"install",{cacheDir:Dt(),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 Nd(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(Nd,"parseGithubTreeUrl");function Dd(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(Dd,"parseGithubBlobUrl");function Fd(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(Fd,"parseGitlabTreeUrl");function vd(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(vd,"parseGitlabBlobUrl");var HF=new Set(["tree","blob","commit","releases","actions","issues","pulls","settings","wiki","discussions","security","projects","packages"]);function $d(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||HF.has(r[1]))return null;let n=r[0],o=r[1];return {org:n,repo:o}}catch{return null}}i($d,"parseGithubRepoUrl");function Md(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(Md,"parseGitlabRepoUrl");function Gd(t){let e=t.match(/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?$/i);return e?{org:e[1],repo:e[2].replace(/\.git$/i,"")}:null}i(Gd,"parseGitSshGithub");function jd(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(jd,"parseGitSshGitlab");E();var JF=/^[A-Za-z]:[\\/]/,YF=/^[A-Za-z]:\//;function nw(...t){return t.some(e=>e.includes("\\")||JF.test(e))?win32:posix}i(nw,"pathApiFor");function pa(t){return t.replace(/\\/g,"/")}i(pa,"toPosixPath");function ma(t){return pa(t).replace(/^\/+|\/+$/g,"")}i(ma,"normalizeInstallPathField");function wc(t){let e=pa(t);return e===""||e==="."||e==="./."?".":e.startsWith("./")||e.startsWith("../")||e.startsWith("/")||YF.test(e)?e:`./${e}`}i(wc,"normalizeLocalSourceForYaml");function Ln(t){return {...t,source:t.source_kind==="local"?wc(t.source):t.source,...t.path!==void 0?{path:ma(t.path)}:{},...t.paths!==void 0?{paths:t.paths.map(e=>ma(e))}:{}}}i(Ln,"normalizePersistedInstallPaths");function ow(t,e,r){let n=nw(t,e),o=n.normalize(t),s=n.normalize(e),a=ma(r),l=`${n.sep}.agentsmesh${n.sep}`,c=o.indexOf(l);if(c>=0){let p=o.slice(0,c),u=o.slice(c+l.length),d=ma(u),g=pa(n.relative(s,p))||".";return {kind:"local",rawRef:"",pathInRepo:a||d.replace(/\.md$/i,"").replace(/\/$/,""),localRoot:p,localSourceForYaml:wc(g)}}let m=pa(n.relative(s,o))||".";return {kind:"local",rawRef:"",pathInRepo:a,localRoot:o,localSourceForYaml:wc(m)}}i(ow,"localParsedFromAbsPath");async function Ud(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),p=c<0?"HEAD":n.slice(c+1),u=m.slice(4);return {kind:"git",rawRef:p,gitPlusBase:u,gitRemoteUrl:u,pathInRepo:o}}if(n.startsWith("https://")||n.startsWith("http://")){let c=Nd(n)??Dd(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=$d(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 p=Fd(n)??vd(n);if(p)return {kind:"gitlab",rawRef:p.ref,org:p.namespace,repo:p.project,gitRemoteUrl:`https://gitlab.com/${p.namespace}/${p.project}.git`,pathInRepo:o||p.path};let u=Md(n);if(u)return {kind:"gitlab",rawRef:"HEAD",org:u.namespace,repo:u.project,gitRemoteUrl:`https://gitlab.com/${u.namespace}/${u.project}.git`,pathInRepo:o}}if(n.startsWith("git@github.com:")){let c=Gd(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=jd(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],p=c[2].replace(/\.git$/i,"");return {kind:"git",rawRef:"HEAD",gitRemoteUrl:`ssh://git@${m}/${p}.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 ow(l,e,o)}i(Ud,"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(xo).min(1),pick:Js.optional(),target:Zt.optional(),path:z$1.string().optional(),paths:z$1.array(z$1.string().min(1)).min(1).optional(),as:Ds.optional()}),tv=z$1.object({version:z$1.literal(1),installs:z$1.array(sw).default([])});function ev(t,e){return t.length===e.length&&[...t].sort().every((r,n)=>r===[...e].sort()[n])}i(ev,"sameFeatures");function rv(t,e){return t.source===e.source&&t.target===e.target&&t.as===e.as&&ev(t.features,e.features)}i(rv,"sameInstallIdentity");function iw(t){return join(t,"installs.yaml")}i(iw,"manifestPath");async function Kd(t){let e=await I(iw(t));if(e===null)return [];try{return tv.parse(parse(e)).installs.map(r=>Ln(r))}catch{return []}}i(Kd,"readInstallManifest");async function aw(t,e){let r=Ln(e),o=(await Kd(t)).filter(s=>s.name!==r.name&&!rv(s,r));o.push(r),await S(iw(t),stringify({version:1,installs:o.sort((s,a)=>s.name.localeCompare(a.name))}));}i(aw,"upsertInstallManifestEntry");function lw(t){return Ln(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 ov(t){let e=await Kd(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 N(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(ov,"syncInstalledPacks");async function cw(t){return t.sync?(await ov({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"?Ds.parse(t.as.trim()):void 0,nameOverride:typeof t.name=="string"?t.name.trim():""}}i(mw,"readInstallFlags");function wo(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(wo,"featuresFromCanonical");async function Ec(t){let{sliceRoot:e,implicitPick:r}=await ac(t),n=await lc(e);return {canonical:n,features:wo(n),implicitPick:r}}i(Ec,"discoverFromContentRoot");function pw(t){return t.description.trim()?{skill:t,ok:true}:{skill:t,ok:false,reason:"missing description in frontmatter"}}i(pw,"validateSkill");function uw(t){return t.description.trim()?{rule:t,ok:true}:{rule:t,ok:false,reason:"missing description in frontmatter"}}i(uw,"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 de(t){return basename(t.source).replace(/\.md$/i,"")}i(de,"ruleSlug");function iv(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(iv,"featuresFromImplicitPick");function Ms(t,e){let{implicitPick:r}=e,n=e.scopedFeatures??iv(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(Ms,"narrowDiscoveredForInstallScope");E();E();F();var cv=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"]),mv=new Set([".git",".github",".gitlab","node_modules",".vscode",".idea"]);async function Ac(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(Ac,"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 !(mv.has(o)||!n.includes("/")&&cv.has(n))},"filter")});}i(gw,"cpFilteredSkill");async function gv(){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(gv,"createStageRoot");async function hv(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(hv,"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 yv(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 Co(t)){if((await stat(join(t,"SKILL.md")).catch(()=>null))?.isFile()){if(await hw(t,e,r.preferredSkillNames??[]))return;let l=await Ac(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(yv,"stageSkills");async function yw(t,e,r={}){let n=await gv();try{let o=join(n.discoveryRoot,".agentsmesh",e);return e==="skills"?await yv(t,o,r):await hv(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 Ec(o.discoveryRoot),a=Ms(s,{scopedFeatures:[e]});return {prep:{yamlTarget:r,scopedFeatures:[e],cleanup:o.cleanup},narrowed:a,discoveredFeatures:wo(a)}}i(Iw,"resolveManualDiscoveredForInstall");E();var Iv=[{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:".kilo/commands",target:"kilo-code"},{prefix:".kilo/rules",target:"kilo-code"},{prefix:".kilo/skills",target:"kilo-code"},{prefix:".kilo/agents",target:"kilo-code"},{prefix:".kilocode/workflows",target:"kilo-code"},{prefix:".kilocode/rules",target:"kilo-code"},{prefix:".kilocode/skills",target:"kilo-code"},{prefix:".kilocodemodes",target:"kilo-code"},{prefix:".kilocodeignore",target:"kilo-code"},{prefix:".cline/skills",target:"cline"},{prefix:".clinerules/workflows",target:"cline"},{prefix:".windsurf/rules",target:"windsurf"},{prefix:".codex",target:"codex-cli"}];function _v(t){return t.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"")}i(_v,"norm");function bc(t){let e=_v(t),r=[...Iv].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(bc,"targetHintFromNativePath");function Bd(t,e){return bc(t)===e}i(Bd,"pathSupportsNativePick");function _w(t,e){if(!t||!e)return;let r=bc(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(_w,"validateTargetMatchesPath");function Sw(t){return (t.commands?.length??0)+(t.rules?.length??0)+(t.skills?.length??0)+(t.agents?.length??0)>0}i(Sw,"extendPickHasArrays");E();E();ft();async function Rw(t,e){let r=join(t,...zt.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(Rw,"inferGeminiCommandNamesFromFiles");ft();re();E();async function Eo(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(Eo,"skillNamesFromNativeSkillDir");E();ie();async function kw(t,e){let r=join(t,...e.split("/"));if(e.startsWith(yn)){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 Eo(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 Yt(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(Yt,"mdNames");async function ww(t,e,r){let n=e.replace(/\\/g,"/").replace(/^\/+|\/+$/g,""),o=join(t,...n.split("/"));if(r==="gemini-cli"){if(n===zt||n.startsWith(`${zt}/`)){let s=await Rw(t,n);return s.length?{commands:s}:{}}return {}}if(r==="claude-code"){if(n.startsWith(".claude/commands")){let s=await Yt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".claude/rules")){let s=await Yt(o,".md");return s.length?{rules:s}:{}}if(n.startsWith(".claude/agents")){let s=await Yt(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 Yt(o,".mdc");return s.length?{rules:s}:{}}if(n.startsWith(".cursor/commands")){let s=await Yt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".cursor/agents")){let s=await Yt(o,".md");return s.length?{agents:s}:{}}if(n.startsWith(".cursor/skills")){let s=await Eo(o);return s.length?{skills:s}:{}}return {}}if(r==="copilot")return kw(t,n);if(r==="windsurf"&&n.startsWith(".windsurf/rules")){let s=await Yt(o,".md");return s.length?{rules:s}:{}}if(r==="cline"){if(n.startsWith(St)){let s=await Eo(o);return s.length?{skills:s}:{}}if(n.startsWith(He)){let s=await Yt(o,".md");return s.length?{commands:s}:{}}return {}}if(r==="continue"){if(n.startsWith(".continue/rules")){let s=await Yt(o,".md");return s.length?{rules:s}:{}}if(n.startsWith(".continue/prompts")){let s=await Yt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".continue/skills")){let s=await Eo(o);return s.length?{skills:s}:{}}return {}}if(r==="junie"){if(n.startsWith(".junie/commands")){let s=await Yt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".junie/rules")){let s=await Yt(o,".md");return s.length?{rules:s}:{}}if(n.startsWith(".junie/agents")){let s=await Yt(o,".md");return s.length?{agents:s}:{}}if(n.startsWith(".junie/skills")){let s=await Eo(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(ww,"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 fa(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}i(fa,"normalizePath");function bv(t,e){let r=fa(t),n=fa(e);return r===n||r.startsWith(`${n}/`)||n.startsWith(`${r}/`)}i(bv,"overlapsPath");function xc(t,e){let r=t??[];return r.includes(e)||r.push(e),r}i(xc,"addUnique");async function xv(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(xv,"makeStageRoot");function Pv(t,e){let r;for(let o of t){if(o.feature==="rules"&&o.toPath.startsWith(".agentsmesh/rules/")){r={...r,rules:xc(r?.rules,basename(o.toPath,".md"))};continue}if(o.feature==="commands"&&o.toPath.startsWith(".agentsmesh/commands/")){let s=fa(relative(join(e,".agentsmesh","commands"),join(e,o.toPath)));r={...r,commands:xc(r?.commands,s.replace(/\.md$/i,"").split("/").filter(Boolean).join(":"))};continue}if(o.feature==="agents"&&o.toPath.startsWith(".agentsmesh/agents/")){r={...r,agents:xc(r?.agents,basename(o.toPath,".md"))};continue}if(o.feature==="skills"&&o.toPath.startsWith(".agentsmesh/skills/")){let a=fa(relative(join(e,".agentsmesh","skills"),join(e,o.toPath))).split("/")[0];a&&(r={...r,skills:xc(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(Pv,"buildPickFromResults");function Tv(t,e,r,n){let o=join(e,...fa(t).split("/")),s=r.filter(a=>bv(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:Pv(s,e)}}i(Tv,"scopeImportedResults");async function zd(t,e){let{stageRoot:r,cleanup:n}=await xv(t);try{let o=await Qi(r,e);return {stageRoot:r,results:o,cleanup:n}}catch(o){throw await n(),o}}i(zd,"stageImportedNativeRepo");async function Vd(t,e,r){let n=await zd(t,r);try{return {stageRoot:n.stageRoot,cleanup:n.cleanup,...Tv(e,n.stageRoot,n.results,r)}}catch(o){throw await n.cleanup(),o}}i(Vd,"stageNativeInstallScope");async function xw(t,e,r,n){let o=n.explicitTarget?.trim();o&&Zt.parse(o);let s=r.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"");_w(o,s);let a=join(t,".agentsmesh"),l=await N(a),c=s?bc(s):void 0,m=!l&&!o?await ba(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 p=o??c??m,u=!!s&&!!p&&!s.startsWith(".agentsmesh");if(!l&&p){if(u){let w=await Vd(t,s,p);return {discoveryRoot:w.stageRoot,implicitPick:w.pick,scopedFeatures:w.features,yamlTarget:p,importHappened:true,cleanup:w.cleanup}}let _=await zd(t,p);return {discoveryRoot:s?join(_.stageRoot,s):_.stageRoot,yamlTarget:p,importHappened:true,cleanup:_.cleanup}}let d;l?s?p&&Bd(s,p)?d=t:d=e:d=t:d=e;let g,h,C;if(u&&p){let _=await Vd(t,s,p);d=_.stageRoot,g=_.pick,h=_.features,C=_.cleanup;}else if(d===t&&s&&p&&Bd(s,p)&&(g=await ww(t,s,p),Ew(g)))throw new Error(`No installable native resources found under "${s}" for target "${p}".`);let R;return o?R=o:p&&(g&&Sw(g)||(h?.length??0)>0)&&(R=p),{discoveryRoot:d,implicitPick:g,scopedFeatures:h,yamlTarget:R,importHappened:C!==void 0,cleanup:C}}i(xw,"prepareInstallDiscovery");async function Pw(t,e,r,n){let o=await xw(t,e,r,{explicitTarget:n}),{canonical:s,implicitPick:a}=await Ec(o.discoveryRoot),l=a??o.implicitPick,c=Ms(s,{implicitPick:l,scopedFeatures:o.scopedFeatures}),m=wo(c);return {prep:o,discovered:s,implicitPick:l,narrowed:c,discoveredFeatures:m}}i(Pw,"resolveDiscoveredForInstall");async function Tw(t){return t.explicitAs?{implicitPick:void 0,...await Iw(t.contentRoot,t.explicitAs,t.explicitTarget,t.replayPick)}:Pw(t.resolvedPath,t.contentRoot,t.pathInRepo,t.explicitTarget)}i(Tw,"resolveInstallDiscovery");function js(t){return t==="."||t===""?void 0:t}i(js,"trimDot");function Dv(t,e){let r=basename(e).replace(/\.md$/i,"");return t==="agents"?{agents:[r]}:t==="commands"?{commands:[r]}:{rules:[r]}}i(Dv,"markdownPick");async function Dw(t){if(!t.as)return {pathInRepo:js(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:js(dirname(e)),pick:Dv(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:js(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 Ac(o);return {pathInRepo:js(dirname(n)),pick:{skills:[a||basename(n)]}}}}catch{return {pathInRepo:js(e)}}}}return {pathInRepo:js(e)}}i(Dw,"resolveManualInstallPersistence");async function pr(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(pr,"confirm");function Fv(t){return !!(t.skills.length||t.rules.length||t.commands.length||t.agents.length)}i(Fv,"hasArrayResources");function vw(t){return Fv(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=>pw(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 pr(`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=>uw(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 pr(`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(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 pr(`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 pr(`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=>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 pr(`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 pr(`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 pr(`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 pr(`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 Kw(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(Kw,"pickForSelectedResources");function vv(t,e){let r=t.split("/").filter(Boolean);return r.length>0&&r[r.length-1]===e}i(vv,"pathEndsWithName");function Pc(t,e,r){return r!==1||e.length!==1?false:vv(t,e[0])}i(Pc,"inferSingleNamePick");function Ww(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||Pc(e,o.skillNames,n.skills)),l=o.ruleSlugs.length>0&&(!!r?.rules?.length||o.ruleSlugs.length<n.rules||Pc(e,o.ruleSlugs,n.rules)),c=o.commandNames.length>0&&(!!r?.commands?.length||o.commandNames.length<n.commands||Pc(e,o.commandNames,n.commands)),m=o.agentNames.length>0&&(!!r?.agents?.length||o.agentNames.length<n.agents||Pc(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(Ww,"buildInstallPick");function Bw(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(Bw,"deriveInstallFeatures");function $v(t){return t.skillNames.length===0&&t.ruleSlugs.length===0&&t.commandNames.length===0&&t.agentNames.length===0}i($v,"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($v(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 Mv(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(Mv,"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=Mv(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 S(t,a.endsWith(`
287
292
  `)?a:`${a}
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(`
293
+ `);}i(Jw,"writeAgentsmeshWithNewExtend");async function Yw(t){let{configDir:e,config:r,entryArgs:n,dryRun:o}=t,s=Kv(n);if(zw(r.extends,s),o){y.info(`[dry-run] Would add extend:
294
+ ${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 Kv(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?Zt.parse(t.yamlTarget):void 0}}i(Kv,"toNewExtendEntry");E();E();var Bv="pack.yaml";async function Tc(t){let e=await P(t),r=[];for(let s of e.sort()){let a=relative(t,s).replace(/\\/g,"/");if(a===Bv)continue;let l=await uc(s);l!==null&&r.push(`${a}:${l}`);}let n=r.join(`
295
+ `);return `sha256:${na(n)}`}i(Tc,"hashPackContent");async function Jv(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(Jv,"writeRules");async function Yv(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(Yv,"writeCommands");async function Xv(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(Xv,"writeAgents");async function Zv(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(Zv,"writeSkills");async function qv(t,e){t.mcp!==null&&await S(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
296
+ `),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(`
292
297
  `)}
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(`
298
+ `);}i(qv,"writeSettings");function Qv(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(Qv,"validatePackName");async function Zw(t,e,r,n){Qv(e);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 Jv(r,o),await Yv(r,o),await Xv(r,o),await Zv(r,o),await qv(r,o);let a=await Tc(o),l=Ln({...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(Zw,"materializePack");E();function qd(t,e){return [...new Set([...t,...e])]}i(qd,"union");function e$(t,e){if(t.path===void 0&&t.paths===void 0||e===void 0)return {path:void 0,paths:void 0};let n=qd(t.paths??(t.path?[t.path]:[]),[e]);return n.length===1?{path:n[0],paths:void 0}:{path:void 0,paths:n}}i(e$,"mergePathScope");function r$(t,e,r){let n={...t};for(let s of e)r&&r[s]!==void 0?n[s]=qd(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(r$,"mergePick");async function n$(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(n$,"mergeRules");async function o$(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(o$,"mergeCommands");async function s$(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(s$,"mergeAgents");async function i$(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(i$,"mergeSkills");async function a$(t,e){t.mcp!==null&&await S(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
299
+ `),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(`
295
300
  `)}
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}';
301
+ `);}i(a$,"mergeSettings");async function qw(t,e,r,n,o,s){await n$(r,t),await o$(r,t),await s$(r,t),await i$(r,t),await a$(r,t);let a=qd(e.features,n),l=r$(e.pick,n,o),c=e$(e,s?.path),m=await Tc(t),p=new Date().toISOString(),u=Ln({...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:p,content_hash:m});return await S(join(t,"pack.yaml"),stringify(u)),u}i(qw,"mergeIntoPack");E();function c$(t){return t?{path:t,paths:void 0}:{path:void 0,paths:void 0}}i(c$,"pathScope");function m$(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(m$,"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:p,pathInRepo:u,manualAs:d,renameExistingPack:g}=t,h=join(e,"packs"),C=m$(n,o),R=new Date().toISOString(),_=p!==void 0?Zt.parse(p):void 0,w=await Tk(h,s,{target:_,as:d,features:c}),v=r,A=c,x=m,H=u,j;if(w){let K=w.packDir,tt=w.meta;if(g&&w.name!==r){let rt=join(h,r);if(await N(rt))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,rt),K=rt,tt={...w.meta,name:r};}let pt=await qw(K,tt,C,c,m,{source:s,...a!==void 0?{version:a}:{},..._!==void 0?{target:_}:{},...u?{path:u}:{},...d!==void 0?{as:d}:{}});v=pt.name,A=pt.features,x=pt.pick,H=pt.path,j=pt.paths,y.success(`Updated pack "${pt.name}" in .agentsmesh/packs/.`);}else {if(await mc(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,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},..._!==void 0&&{target:_},...c$(u),...d!==void 0&&{as:d}}),y.success(`Installed pack "${r}" to .agentsmesh/packs/.`);}await aw(e,lw({name:v,source:s,version:a,sourceKind:l,features:A,pick:x,target:_,path:H,paths:j,as:d})),l!=="local"&&await jf(s);}i(Qw,"installAsPack");function u$(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}i(u$,"sanitize");function d$(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(d$,"gitUrlLastSegments");function tE(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=d$(t.gitRemoteUrl):n="extend";e.featureHint?n=`${n}-${e.featureHint}`:n=`${n}-pack`;let o=u$(n)||"extend";if(!r.has(o))return o;let s=2;for(;r.has(`${o}-${s}`);)s++;return `${o}-${s}`}i(tE,"suggestExtendName");function eE(t){let{config:e,parsed:r,entryFeatures:n,nameOverride:o}=t,s=new Set(e.extends.map(a=>a.name));return o||tE(r,{featureHint:n.length===1?n[0]:void 0},s)}i(eE,"selectInstallEntryName");function rE(t,e,r){if(!r?.features&&!r?.pick)return {narrowed:t,discoveredFeatures:e};let n=Ms(t,{scopedFeatures:r.features,implicitPick:r.pick});return {narrowed:n,discoveredFeatures:wo(n)}}i(rE,"applyReplayInstallScope");async function nE(t){let{scope:e,force:r,dryRun:n,tty:o,useExtends:s,nameOverride:a,explicitAs:l,config:c,context:m,parsed:p,sourceForYaml:u,version:d,pathInRepo:g,persisted:h,replay:C,prep:R,implicitPick:_,narrowed:w,discoveredFeatures:v}=t,{narrowed:A,discoveredFeatures:x}=rE(w,v,C);if(!vw(A))throw new Error(_||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 H=await $w(A,r,n,o),j=await Mw(A,r,n,o),K=await Gw(A,r,n,o),tt=await jw(A,r,n,o),pt={skills:H.length,rules:j.length,commands:K.length,agents:tt.length},{canonical:rt}=await me(c,m.configDir,{},m.canonicalDir),Ut=!r&&!n&&o?await Uw(rt,{skills:H,rules:j,commands:K,agents:tt}):{skillNames:H.map(Xt=>Xt.name),ruleSlugs:j.map(Xt=>de(Xt)),commandNames:K.map(Xt=>Xt.name),agentNames:tt.map(Xt=>Xt.name)};Hw({selected:Ut,discoveredFeatures:x,preConflict:pt});let at=C?.features??Bw(x,Ut);if(at.length===0)throw new Error("No features left to install after selection.");let ht=Kw(C?.pick,Ut)??h.pick??Ww({pathInRepo:h.pathInRepo??g,implicitPick:_,preConflictCounts:pt,selected:Ut}),Kt=eE({config:c,parsed:p,entryFeatures:at,nameOverride:a});if(s){if(await Yw({configDir:m.configDir,config:c,entryArgs:{name:Kt,source:u,version:d,features:at,path:h.pathInRepo,pick:ht,yamlTarget:R.yamlTarget},dryRun:n}),n)return}else {if(n){y.info(`[dry-run] Would install pack "${Kt}" to ${e==="global"?"~/.agentsmesh/packs/.":".agentsmesh/packs/."}`);return}await Qw({canonicalDir:m.canonicalDir,packName:Kt,narrowed:A,selected:Ut,sourceForYaml:u,version:d,sourceKind:p.kind,entryFeatures:at,pick:ht,yamlTarget:R.yamlTarget,pathInRepo:h.pathInRepo,manualAs:l,renameExistingPack:a===""});}await vs(e==="global"?{global:true}:{},m.rootBase)!==0&&y.warn(`Generate failed after install. Fix the issue and run agentsmesh generate${e==="global"?" --global":""}.`);}i(nE,"executeRunInstallPoolsAndWrite");async function tf(t,e,r,n){let{sync:o,dryRun:s,force:a,useExtends:l,explicitPath:c,explicitTarget:m,explicitAs:p,nameOverride:u}=mw(t),d=t.global===true?"global":"project",g=e[0]?.trim();if(o){let{context:Ut}=await lt(r,d);if(await cw({sync:o,canonicalDir:Ut.canonicalDir,reinstall:i(async at=>{let ht=at.paths&&at.paths.length>0?at.paths:[at.path];for(let Kt of ht)await tf({...a?{force:true}:{},...s?{"dry-run":true}:{},...d==="global"?{global:true}:{},name:at.name,...at.target?{target:at.target}:{},...Kt?{path:Kt}:{},...at.as?{as:at.as}:{}},[at.source],r,{features:at.features,pick:at.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:C,context:R}=await lt(r,d),_=await Ud(g,R.configDir,c);if(_.kind!=="local"&&!await QO())throw new Error("git is required for remote installs. Please install git and try again.");let{resolvedPath:w,sourceForYaml:v,version:A}=await rw(_,g),x=_.pathInRepo.replace(/^\/+|\/+$/g,"");if(x){let Ut=normalize(x).replace(/\\/g,"/");if(Ut===".."||Ut.startsWith("../"))throw new Error(`Install --path "${_.pathInRepo}" escapes the source root. Path must stay within the source.`)}let H=x?join(w,x):w;if(!await N(H))throw new Error(`Install path does not exist: ${H}`);let j=await Dw({as:p,contentRoot:H,pathInRepo:x}),{prep:K,implicitPick:tt,narrowed:pt,discoveredFeatures:rt}=await Tw({resolvedPath:w,contentRoot:H,pathInRepo:x,explicitTarget:m,explicitAs:p,replayPick:n?.pick});try{await nE({scope:d,force:a,dryRun:s,tty:h,useExtends:l,nameOverride:u,explicitAs:p,config:C,context:R,parsed:_,sourceForYaml:v,version:A,pathInRepo:x,persisted:j,replay:n,prep:K,implicitPick:tt,narrowed:pt,discoveredFeatures:rt});}finally{K.cleanup&&await K.cleanup();}}i(tf,"runInstall");async function oE(t,e,r){await tf(t,e,r);}i(oE,"runInstall");E();var nf="agentsmesh.yaml";async function of(t){let e=join(t,nf),r=await I(e);return r===null?{}:parse(r)??{}}i(of,"readScopedConfigRaw");async function iE(t,e){let r=join(t,nf),n=await I(r)??`version: 1
302
+ `,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(iE,"writePluginEntry");async function aE(t,e){let r=join(t,nf),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 S(r,stringify(o)),a}i(aE,"removePluginEntry");async function cE(t,e,r){let n=e[0];if(n===void 0||n==="")return lE(),0;switch(n){case "add":return h$(t,e.slice(1),r);case "list":return y$(r);case "remove":return I$(e.slice(1),r);case "info":return _$(e.slice(1),r);default:return y.error(`Unknown plugin subcommand: ${n}`),lE(),2}}i(cE,"runPlugin");async function h$(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)??S$(n);try{await iE(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(h$,"runPluginAdd");async function y$(t){let e;try{e=await of(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 Cc(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(y$,"runPluginList");async function I$(t,e){let r=t[0];if(!r)return y.error("Usage: agentsmesh plugin remove <id>"),2;try{await aE(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(I$,"runPluginRemove");async function _$(t,e){let r=t[0];if(!r)return y.error("Usage: agentsmesh plugin info <id>"),2;let n;try{n=await of(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 Cc(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(_$,"runPluginInfo");function S$(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(S$,"derivePluginId");function lE(){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(lE,"printPluginHelp");E();dr();function Ks(t){return t.toUpperCase().replace(/-/g,"_")}i(Ks,"toPrefix");function Us(t){return t.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join("")}i(Us,"toPascal");function mE(t){let e=Ks(t.id);return `export const ${e}_TARGET = '${t.id}';
298
303
 
299
304
  // Project-level paths
300
305
  export const ${e}_DIR = '.${t.id}';
@@ -307,7 +312,7 @@ export const ${e}_GLOBAL_RULES_DIR = '~/.${t.id}/rules';
307
312
  // Canonical paths
308
313
  export const ${e}_CANONICAL_ROOT_RULE = '.agentsmesh/rules/_root.md';
309
314
  export const ${e}_CANONICAL_RULES_DIR = '.agentsmesh/rules';
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';
315
+ `}i(mE,"TEMPLATE_CONSTANTS");function pE(t){let e=Ks(t.id),r=Us(t.id);return `import type { TargetGenerators } from '../catalog/target.interface.js';
311
316
  import type { TargetDescriptor, TargetLayout } from '../catalog/target-descriptor.js';
312
317
  import { generateRules } from './generator.js';
313
318
  import { importFrom${r} } from './importer.js';
@@ -404,21 +409,21 @@ export const descriptor = {
404
409
  buildImportPaths: build${r}ImportPaths,
405
410
  detectionPaths: [${e}_DIR],
406
411
  } satisfies TargetDescriptor;
407
- `}i(uO,"TEMPLATE_INDEX");function pO(t){let e=Ss(t.id);return `import type { CanonicalFiles } from '../../core/types.js';
412
+ `}i(pE,"TEMPLATE_INDEX");function uE(t){let e=Ks(t.id);return `import type { CanonicalFiles } from '../../core/types.js';
408
413
  import { ${e}_TARGET, ${e}_DIR } from './constants.js';
409
414
 
410
- export interface ${Is(t.id)}Output {
415
+ export interface ${Us(t.id)}Output {
411
416
  path: string;
412
417
  content: string;
413
418
  }
414
419
 
415
- export function generateRules(_canonical: CanonicalFiles): ${Is(t.id)}Output[] {
420
+ export function generateRules(_canonical: CanonicalFiles): ${Us(t.id)}Output[] {
416
421
  // TODO(agentsmesh-scaffold): implement generateRules for ${t.displayName}
417
422
  void ${e}_TARGET;
418
423
  void ${e}_DIR;
419
424
  return [];
420
425
  }
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';
426
+ `}i(uE,"TEMPLATE_GENERATOR");function dE(t){let e=Us(t.id),r=Ks(t.id);return `import type { ImportResult } from '../../core/types.js';
422
427
  import type { TargetLayoutScope } from '../catalog/target-descriptor.js';
423
428
  import { ${r}_TARGET } from './constants.js';
424
429
 
@@ -430,7 +435,7 @@ export async function importFrom${e}(
430
435
  void ${r}_TARGET;
431
436
  return [];
432
437
  }
433
- `}i(dO,"TEMPLATE_IMPORTER");function fO(t){let e=Ss(t.id);return `/** Lint rules for the ${t.id} target. */
438
+ `}i(dE,"TEMPLATE_IMPORTER");function fE(t){let e=Ks(t.id);return `/** Lint rules for the ${t.id} target. */
434
439
  import type { CanonicalFiles, LintDiagnostic } from '../../core/types.js';
435
440
  import { validateRules } from '../../core/lint/validate-rules.js';
436
441
  import { ${e}_TARGET } from './constants.js';
@@ -448,7 +453,7 @@ export function lintRules(
448
453
  target: ${e}_TARGET,
449
454
  }));
450
455
  }
451
- `}i(fO,"TEMPLATE_LINTER");function gO(t){return `/**
456
+ `}i(fE,"TEMPLATE_LINTER");function gE(t){return `/**
452
457
  * ${t.displayName}-specific lint hooks.
453
458
  */
454
459
 
@@ -458,7 +463,7 @@ export function lintHooks(_canonical: CanonicalFiles): LintDiagnostic[] {
458
463
  // TODO(agentsmesh-scaffold): implement target-specific hook validation for ${t.displayName}
459
464
  return [];
460
465
  }
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';
466
+ `}i(gE,"TEMPLATE_LINT_HOOKS");function hE(t){let e=Us(t.id),r=Ks(t.id);return `import type { TargetLayoutScope } from '../../../targets/catalog/target-descriptor.js';
462
467
  import { ${r}_DIR } from '../../../targets/${t.id}/constants.js';
463
468
 
464
469
  export async function build${e}ImportPaths(
@@ -470,7 +475,7 @@ export async function build${e}ImportPaths(
470
475
  // Reference: src/core/reference/import-maps/kiro.ts for a full example
471
476
  void ${r}_DIR;
472
477
  }
473
- `}i(hO,"TEMPLATE_IMPORT_MAP");function yO(t){return `import { describe, it, expect } from 'vitest';
478
+ `}i(hE,"TEMPLATE_IMPORT_MAP");function yE(t){return `import { describe, it, expect } from 'vitest';
474
479
  import type { CanonicalFiles } from '../../../../src/core/types.js';
475
480
  import { generateRules } from '../../../../src/targets/${t.id}/generator.js';
476
481
 
@@ -499,7 +504,7 @@ describe('generateRules (${t.id})', () => {
499
504
  expect(result).toHaveLength(0);
500
505
  });
501
506
  });
502
- `}i(yO,"TEMPLATE_GENERATOR_TEST");function IO(t){let e=Is(t.id);return `import { describe, it, expect } from 'vitest';
507
+ `}i(yE,"TEMPLATE_GENERATOR_TEST");function IE(t){let e=Us(t.id);return `import { describe, it, expect } from 'vitest';
503
508
  import { importFrom${e} } from '../../../../src/targets/${t.id}/importer.js';
504
509
 
505
510
  describe('importFrom${e} (${t.id})', () => {
@@ -513,7 +518,7 @@ describe('importFrom${e} (${t.id})', () => {
513
518
  expect(result).toHaveLength(0);
514
519
  });
515
520
  });
516
- `}i(IO,"TEMPLATE_IMPORTER_TEST");function SO(t){return `# ${t.displayName} Workspace
521
+ `}i(IE,"TEMPLATE_IMPORTER_TEST");function _E(t){return `# ${t.displayName} Workspace
517
522
 
518
523
  Follow the ${t.displayName} configuration files and keep changes small.
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};
524
+ `}i(_E,"TEMPLATE_FIXTURE_ROOT_MD");var R$=/^[a-z][a-z0-9-]*$/;async function SE(t){let{id:e,projectRoot:r,force:n=false}=t,o=t.displayName??e,s={id:e,displayName:o};if(!R$.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(yt.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:mE(s)},{rel:`src/targets/${e}/index.ts`,content:pE(s)},{rel:`src/targets/${e}/generator.ts`,content:uE(s)},{rel:`src/targets/${e}/importer.ts`,content:dE(s)},{rel:`src/targets/${e}/linter.ts`,content:fE(s)},{rel:`src/targets/${e}/lint.ts`,content:gE(s)},{rel:`src/core/reference/import-maps/${e}.ts`,content:hE(s)},{rel:`tests/unit/targets/${e}/generator.test.ts`,content:yE(s)},{rel:`tests/unit/targets/${e}/importer.test.ts`,content:IE(s)},{rel:`tests/e2e/fixtures/${e}-project/AGENTS.md`,content:_E(s)}],l=[],c=[];for(let p of a){let u=join(r,p.rel);if(!n&&await N(u)){c.push(u);continue}await S(u,p.content),l.push(u);}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(SE,"writeTargetScaffold");async function RE(t,e,r){let n=e[0];return n===void 0||n===""?(CE(),0):n==="scaffold"?k$(t,e.slice(1),r):(y.error(`Unknown target subcommand: ${n}`),CE(),2)}i(RE,"runTarget");async function k$(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 SE({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(k$,"runScaffold");function CE(){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(CE,"printTargetHelp");function E$(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(E$,"parseArgs");var A$=["init","generate","import","diff","lint","watch","check","merge","matrix","install","plugin","target"];function L$(t){return async(e,r)=>{y.info(`Not implemented yet: ${t}`);}}i(L$,"stub");var b$={...Object.fromEntries(A$.map(t=>[t,L$(t)])),generate:i(async(t,e)=>{let r=await vs(t);r!==0&&process.exit(r);},"generate"),init:i(async(t,e)=>{await NO(process.cwd(),{yes:t.yes===true,global:t.global===true});},"init"),import:i((t,e)=>FO(t),"import"),diff:i((t,e)=>GO(t),"diff"),lint:i(async(t,e)=>{let r=await HO(t);r!==0&&process.exit(r);},"lint"),check:i(async(t,e)=>{let r=await YO(t);r!==0&&process.exit(r);},"check"),merge:i((t,e)=>qO(t),"merge"),matrix:i((t,e)=>Oo(t),"matrix"),watch:i(async(t,e)=>{let r=await VO(t),n=i(()=>{r.stop().then(()=>process.exit(0));},"stop");process.on("SIGINT",n),process.on("SIGTERM",n);},"watch"),install:i((t,e)=>oE(t,e,process.cwd()),"install"),plugin:i(async(t,e)=>{let r=await cE(t,e,process.cwd());r!==0&&process.exit(r);},"plugin"),target:i(async(t,e)=>{let r=await RE(t,e,process.cwd());r!==0&&process.exit(r);},"target")},x$=cf(b$);async function P$(t){let{command:e,flags:r,args:n}=t;if(e==="help"){df();return}if(e==="version"){hf();return}await x$.route(e,r,n);}i(P$,"main");function T$(){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(T$,"isMainModule");if(T$()){let t=E$(process.argv.slice(2));P$(t).catch(e=>yf(e instanceof Error?e:new Error(String(e)),{verbose:t.flags.verbose===true}));}export{E$ as parseArgs};