agentsmesh 0.16.0 → 0.18.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,177 +1,185 @@
1
1
  #!/usr/bin/env node
2
- import {resolve,join,sep,dirname,extname,basename,relative,win32,posix,normalize}from'path';import {rm as rm$1,readFile,readdir,stat,mkdir,writeFile,rename,lstat,unlink,chmod,access,realpath,readlink,symlink,mkdtemp,cp as cp$1,copyFile}from'fs/promises';import {realpathSync,rmSync,statSync,existsSync,mkdtempSync,readdirSync,symlinkSync,mkdirSync,constants,readFileSync}from'fs';import {z as z$1}from'zod';import {parse,stringify}from'yaml';import {homedir,tmpdir,hostname}from'os';import {execFile}from'child_process';import {fileURLToPath,pathToFileURL,URL}from'url';import {promisify}from'util';import*as l_ from'tar';import {createHash}from'crypto';import {parse as parse$1}from'smol-toml';import {Buffer as Buffer$1}from'buffer';import {createRequire}from'module';import {createTwoFilesPatch}from'diff';import j0 from'chokidar';import*as IP from'readline';import {Server}from'@modelcontextprotocol/sdk/server/index.js';import {StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';import {ListToolsRequestSchema,CallToolRequestSchema,ListResourcesRequestSchema,ReadResourceRequestSchema}from'@modelcontextprotocol/sdk/types.js';import {toJSONSchema}from'zod/v4/core';var Ny=Object.defineProperty;var s=(t,e)=>Ny(t,"name",{value:e,configurable:true});var d=(t,e)=>()=>(t&&(e=t(t=0)),e);var iu=(t,e)=>{for(var r in e)Ny(t,r,{get:e[r],enumerable:true});};function My(){zo=true;}function $y(){vy=true;}function Qs(t){vy?process.stderr.write(t):process.stdout.write(t);}function WT(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}function Ea(t,e){return WT()?e:`${t}${e}${ti.reset}`}function KT(t,e){let r=[...t].length;return t+" ".repeat(Math.max(0,e-r))}var ti,zo,vy,I,st=d(()=>{ti={green:"\x1B[32m",red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",reset:"\x1B[0m"},zo=false,vy=false;s(My,"muteLogger");s($y,"redirectLoggerToStderr");s(Qs,"out");s(WT,"noColor");s(Ea,"c");s(KT,"pad");I={info(t){zo||Qs(Ea(ti.cyan,t)+`
3
- `);},warn(t){zo||process.stderr.write(Ea(ti.yellow,"\u26A0 ")+t+`
4
- `);},error(t){zo||process.stderr.write(Ea(ti.red,"\u2717 ")+t+`
5
- `);},success(t){zo||Qs(Ea(ti.green,"\u2713 ")+t+`
6
- `);},debug(t){zo||process.env.AGENTSMESH_DEBUG==="1"&&Qs(Ea(ti.cyan,"[debug] ")+t+`
7
- `);},table(t){if(zo||t.length===0)return;let e=t[0].length,r=[];for(let o=0;o<e;o++){let i=0;for(let a=0;a<t.length;a++){let c=[...t[a][o]].length;c>i&&(i=c);}r[o]=i;}let n="+"+r.map(o=>"-".repeat(o+2)).join("+")+"+";Qs(n+`
8
- `);for(let o=0;o<t.length;o++){let a="| "+t[o].map((c,l)=>KT(c,r[l])).join(" | ")+" |";Qs(a+`
9
- `);}Qs(n+`
10
- `);}};});var un,Je,ri,br,ni,we,dn=d(()=>{un=class extends Error{static{s(this,"AgentsMeshError");}code;constructor(e,r,n){super(r,n),this.name="AgentsMeshError",this.code=e;}},Je=class extends un{static{s(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;}},ri=class extends un{static{s(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;}},br=class extends un{static{s(this,"TargetNotFoundError");}target;constructor(e,r){let n=r?.supported?` Supported: ${r.supported.join(", ")}.`:"";super("AM_TARGET_NOT_FOUND",`Unknown target "${e}".${n}`,r),this.name="TargetNotFoundError",this.target=e;}},ni=class extends un{static{s(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;}},we=class extends un{static{s(this,"FileSystemError");}path;errnoCode;constructor(e,r,n){super("AM_FILESYSTEM",r,n),this.name="FileSystemError",this.path=e,this.errnoCode=n?.errnoCode;}};});function Vy(t){let e=extname(t).toLowerCase();if(e.length>0)return XT.has(e);let r=basename(t).toLowerCase();return ZT.has(r)}function Jy(t){return t.replace(/\r\n?/g,`
11
- `)}function cu(t){return qT.has(extname(t).toLowerCase())?493:void 0}var au,XT,ZT,qT,lu=d(()=>{au="\uFEFF",XT=new Set([".md",".mdc",".mdx",".markdown",".txt",".json",".jsonc",".yaml",".yml",".toml",".ini",".sh",".bash",".zsh",".ps1",".js",".mjs",".cjs",".ts",".tsx",".html",".css"]),ZT=new Set([".gitignore",".cursorignore",".cursorindexingignore",".aiignore",".agentignore",".clineignore",".geminiignore",".codeiumignore",".continueignore",".copilotignore",".windsurfignore",".junieignore",".kiroignore",".rooignore",".antigravityignore"]);s(Vy,"shouldNormalizeLineEndings");s(Jy,"normalizeLineEndings");qT=new Set([".sh",".bash",".zsh"]);s(cu,"executableModeFor");});async function D(t,e){let r;try{r=await realpath(t);}catch(o){let i=o;if(i.code==="ENOENT"||i.code==="ENOTDIR"||i.code==="ELOOP")return [];throw new we(t,`Failed to read directory ${t}: ${i.message}. Check permissions.`,{cause:o,errnoCode:i.code})}let n=e??new Set;if(n.has(r))return [];n.add(r);try{let o=await readdir(t,{withFileTypes:!0}),i=[];for(let a of o){let c=join(t,a.name);a.isDirectory()||a.isSymbolicLink()&&await stat(c).then(m=>m.isDirectory(),()=>!1)?i.push(...await D(c,n)):i.push(c);}return i}catch(o){let i=o;if(i.code==="ENOENT"||i.code==="ENOTDIR"||i.code==="EACCES")return [];throw new we(t,`Failed to read directory ${t}: ${i.message}. Check permissions.`,{cause:o,errnoCode:i.code})}}async function mu(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 Xy=d(()=>{dn();s(D,"readDirRecursive");s(mu,"ensureCacheSymlink");});async function y(t){try{let e=await readFile(t,"utf-8");return e.startsWith(au)?e.slice(au.length):e}catch(e){let r=e;if(r.code==="ENOENT")return null;throw new we(t,`Failed to read ${t}: ${r.message}. Ensure the file exists and is readable.`,{cause:e,errnoCode:r.code})}}async function C(t,e,r){let n=dirname(t);await mkdir(n,{recursive:true});try{let c=await lstat(t);if(c.isDirectory())throw new we(t,`Failed to write ${t}: target exists and is a directory. Remove it or choose a different path.`,{errnoCode:"EISDIR"});c.isSymbolicLink()&&await unlink(t).catch(l=>{if(l.code!=="ENOENT")throw l});}catch(c){if(c instanceof we||c.code!=="ENOENT")throw c}let o=`${t}.tmp`,i=Vy(t)?Jy(e):e,a=r?.mode??cu(t);try{try{(await lstat(o)).isSymbolicLink()&&await unlink(o);}catch(l){if(l.code!=="ENOENT")throw l}let c={encoding:"utf-8",flag:"w"};a!==void 0&&(c.mode=a),await writeFile(o,i,c),await rename(o,t),a!==void 0&&await chmod(t,a);}catch(c){await rm$1(o,{force:true}).catch(()=>{});let l=c;throw new we(t,`Failed to write ${t}: ${l.message}. Check permissions and disk space.`,{cause:c,errnoCode:l.code})}}async function F(t){try{return await access(t,constants.F_OK),!0}catch{return false}}async function O(t){await mkdir(t,{recursive:true});}var b=d(()=>{dn();lu();Xy();lu();s(y,"readFileSafe");s(C,"writeFileAtomic");s(F,"exists");s(O,"mkdirp");});function Ye(t){return pu.includes(t)}var pu,t_=d(()=>{pu=["amp","antigravity","claude-code","cline","codex-cli","continue","copilot","cursor","gemini-cli","goose","junie","kilo-code","kiro","opencode","roo-code","warp","windsurf","zed"];s(Ye,"isBuiltinTargetId");});var lt,wa,Xe=d(()=>{t_();lt=pu,wa="codex-cli";});var e_,Le,oi,ba,hD,yD,La,_D,ID,Vo,fn=d(()=>{Xe();e_=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],Le=z$1.enum(lt),oi=z$1.enum(e_),ba=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(),hD=z$1.object({name:z$1.string(),source:z$1.string(),version:z$1.string().optional(),target:Le.optional(),features:z$1.array(oi),path:z$1.string().optional(),pick:ba.optional()}),yD=z$1.object({strategy:z$1.enum(["merge","lock","last-wins"]).default("merge"),lock_features:z$1.array(z$1.string()).default([])}),La=z$1.union([z$1.boolean(),z$1.object({project:z$1.boolean().optional(),global:z$1.boolean().optional()}).strict()]),_D=z$1.object({commands_to_skills:z$1.object({"codex-cli":La.optional()}).passthrough().optional(),agents_to_skills:z$1.object({"gemini-cli":La.optional(),cline:La.optional(),"codex-cli":La.optional(),windsurf:La.optional()}).passthrough().optional()}).strict().optional(),ID=z$1.object({id:z$1.string().regex(/^[a-z][a-z0-9-]*$/),source:z$1.string(),version:z$1.string().optional(),strict:z$1.boolean().optional()}).strict(),Vo=z$1.object({version:z$1.literal(1),targets:z$1.array(Le).default([...lt]),features:z$1.array(oi).default([...e_]),extends:z$1.array(hD).default([]),overrides:z$1.record(z$1.string(),z$1.record(z$1.string(),z$1.unknown())).default({}),collaboration:yD.default({strategy:"merge",lock_features:[]}),conversions:_D,plugins:z$1.array(ID).default([]),pluginTargets:z$1.array(z$1.string().regex(/^[a-z][a-z0-9-]*$/)).default([])});});async function RD(t){let e=resolve(t);for(;;){let r=join(e,du);if(await F(r))return r;let n=dirname(e);if(n===e)return null;e=n;}}async function OD(t){let e=await y(t);if(e===null)throw new Je(t);let r=parse(e),n=Vo.safeParse(r);if(!n.success){let o=n.error.issues.map(i=>i.message);throw new ri(t,o,{cause:n.error})}return n.data}function uu(t,e){let r={...t};for(let[n,o]of Object.entries(e)){if(o==null)continue;let i=r[n];typeof o=="object"&&!Array.isArray(o)&&o!==null&&typeof i=="object"&&i!==null&&!Array.isArray(i)?r[n]=uu(i,o):r[n]=o;}return r}function ED(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=uu(r.overrides??{},e.overrides)),typeof e.conversions=="object"&&e.conversions!==null&&!Array.isArray(e.conversions)&&(r.conversions=uu(r.conversions??{},e.conversions)),Array.isArray(e.extends)&&e.extends.length>0&&(r.extends=[...t.extends??[],...e.extends]),r}async function ll(t){let e=join(t,du),r=await OD(e),n=join(t,CD),o=await y(n);if(o!==null){let i=parse(o);if(typeof i=="object"&&i!==null&&!Array.isArray(i)){let a=ED(r,i),c=Vo.safeParse(a);if(c.success)r=c.data;else {let l=c.error.issues.map(m=>m.message).join("; ");I.warn(`Ignoring invalid agentsmesh.local.yaml at ${n}: ${l}. Using project config instead.`);}}}return {config:r,configDir:t}}async function ml(t){let e=await RD(t);if(e===null)throw new Je(join(t,du));return ll(dirname(e))}var du,CD,pl=d(()=>{b();st();dn();fn();du="agentsmesh.yaml",CD="agentsmesh.local.yaml";s(RD,"findConfigPath");s(OD,"loadConfig");s(uu,"deepMergeObjects");s(ED,"mergeLocalConfig");s(ll,"loadConfigFromExactDir");s(ml,"loadConfigFromDir");});function Aa(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}}async function ut(t,e="project"){if(e==="project"){let{config:n,configDir:o}=await ml(t);return {config:n,context:{scope:e,rootBase:o,configDir:o,canonicalDir:join(o,".agentsmesh")}}}let r=Aa(t,e);try{let{config:n}=await ll(r.configDir);return {config:n,context:r}}catch(n){throw n instanceof Je?new Je(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}}var de=d(()=>{pl();dn();s(Aa,"resolveScopeContext");s(ut,"loadScopedConfig");});function i_(t,e){if(t.startsWith("-"))throw new Error(`agentsmesh refuses ${e} starting with "-" (option-injection guard): ${t}`)}async function ul(t,e,r,n,o){let i="cloneUrl"in t?"gitlab":"git",a="cloneUrl"in t?`${t.namespace}/${t.project}`:t.url,c=t.ref??"HEAD",l=o(i,a,c),m=join(n,l),p=join(m,o_),u=`${m}.tmp`,f=join(u,o_);if(!r.refresh&&await s_(p))return yu(p);try{return await rm$1(u,{recursive:!0,force:!0}),await mkdir(u,{recursive:!0}),await DD(TD(t),f),t.ref&&await ND(f,t.ref),await rm$1(m,{recursive:!0,force:!0}),await rename(u,m),yu(p)}catch(g){if(await rm$1(u,{recursive:true,force:true}),r.allowOfflineFallback!==false&&await s_(p))return console.warn(`[agentsmesh] Remote fetch failed for ${e}; using cached version. Error: ${g instanceof Error?g.message:String(g)}`),yu(p);throw g}}async function yu(t){return {resolvedPath:t,version:await FD(t)}}async function s_(t){return F(t)}function TD(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}async function DD(t,e){i_(t,"clone-url"),await _u(["clone",t,e]);}async function ND(t,e){i_(e,"ref"),await _u(["checkout",e],t);}async function FD(t){return _u(["rev-parse","HEAD"],t)}async function _u(t,e){let{stdout:r}=await PD("git",t,{cwd:e,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return r.trim()}var PD,o_,Iu=d(()=>{b();PD=promisify(execFile),o_="repo";s(i_,"ensureNotFlag");s(ul,"fetchGitRemoteExtend");s(yu,"readCachedRepo");s(s_,"hasCachedRepo");s(TD,"resolveCloneUrl");s(DD,"cloneRepo");s(ND,"checkoutRef");s(FD,"getHeadSha");s(_u,"runGit");});async function jD(t,e){let r=typeof t.headers?.get=="function"?t.headers.get("content-length"):null;if(r!==null){let m=Number(r);if(Number.isFinite(m)&&m>e)throw new Error(`remote response declared ${m} bytes; exceeds cap of ${e}`)}let n=t.body;if(!n){let m=await t.arrayBuffer();if(m.byteLength>e)throw new Error(`remote response is ${m.byteLength} bytes; exceeds cap of ${e}`);return new Uint8Array(m)}let o=n.getReader(),i=[],a=0;for(;;){let{done:m,value:p}=await o.read();if(m)break;if(p){if(a+=p.byteLength,a>e)throw await o.cancel().catch(()=>{}),new Error(`remote response exceeded cap of ${e} bytes during streaming`);i.push(p);}}let c=new Uint8Array(a),l=0;for(let m of i)c.set(m,l),l+=m.byteLength;return c}async function m_(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 i=await globalThis.fetch(n,{headers:o});if(!i.ok)throw new Error(`Failed to resolve latest release for ${t}/${e}: ${i.status} ${i.statusText}`);let a=await i.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}async function p_(t,e,r,n,o,i=false){let a=r.token??process.env.AGENTSMESH_GITHUB_TOKEN,c=r.refresh===true,l=t.tag;if(l==="latest")try{l=await m_(t.org,t.repo,a);}catch(_){if(!i)throw _;return WD(t,e,r,n,o,a)}let m=o("github",`${t.org}/${t.repo}`,l),p=join(n,m);if(!c&&await F(p)){let _=await Su(p);if(_)return {resolvedPath:join(p,_),version:l}}let u=`https://github.com/${t.org}/${t.repo}/tarball/${l}`,f={};a&&(f.Authorization=`Bearer ${a}`);let g;try{let _=await globalThis.fetch(u,{headers:f,redirect:"follow"});if(!_.ok)throw new Error(`HTTP ${_.status}: ${_.statusText}`);g=await jD(_,GD);}catch(_){if(r.allowOfflineFallback!==false&&await F(p)){let T=await Su(p);if(T)return console.warn(`[agentsmesh] Network failed for ${e}; using cached version. Error: ${_ instanceof Error?_.message:String(_)}`),{resolvedPath:join(p,T),version:l}}throw _}await rm$1(p,{recursive:true,force:true}),await mkdir(p,{recursive:true});let h=join(p,"archive.tar.gz");await writeFile(h,g);try{await l_.extract({file:h,cwd:p,strict:!0,filter:s((_,k)=>!(UD(_)||k&&"type"in k&&(k.type==="Link"||k.type==="SymbolicLink")),"filter")});}finally{await rm$1(h,{force:true}).catch(()=>{});}let R=await Su(p);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(p,R),version:l}}async function Su(t){let r=(await readdir(t,{withFileTypes:true})).filter(n=>n.isDirectory()&&!n.name.startsWith("."));return r.length===1?r[0].name:null}function c_(t,e,r){return r?`https://x-access-token:${encodeURIComponent(r)}@github.com/${t}/${e}.git`:`https://github.com/${t}/${e}.git`}function UD(t){let e=t.replace(/\\/g,"/");return e.startsWith("/")||e.split("/").includes("..")}async function WD(t,e,r,n,o,i){let a=i?[c_(t.org,t.repo,i)]:[c_(t.org,t.repo),`ssh://git@github.com/${t.org}/${t.repo}.git`],c;for(let l of a){let m={url:l};try{return await ul(m,e,r,n,o)}catch(p){c=p;}}throw c instanceof Error?c:new Error("Failed to clone GitHub default branch")}var GD,u_=d(()=>{b();Iu();GD=500*1024*1024;s(jD,"readBoundedResponse");s(m_,"resolveLatestTag");s(p_,"fetchGithubRemoteExtend");s(Su,"findExtractTopDir");s(c_,"buildGithubCloneUrl");s(UD,"isZipSlipPath");s(WD,"fetchGithubDefaultBranch");});function d_(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 i=n.slice(0,o).trim(),a=n.slice(o+1).trim();return !i||!a?null:[i,a]}function f_(t){let e=d_(t,"github:","latest");if(!e)return null;let[r,n]=e,o=r.indexOf("/");if(o<0)return null;let i=r.slice(0,o).trim(),a=r.slice(o+1).trim();return !i||!a||!n?null:{org:i,repo:a,tag:n}}function g_(t){let e=d_(t,"gitlab:");if(!e)return null;let[r,n]=e,o=r.lastIndexOf("/");if(o<0)return null;let i=r.slice(0,o).trim(),a=r.slice(o+1).trim();return !i||!a?null:{namespace:i,project:a,ref:n,cloneUrl:`https://gitlab.com/${i}/${a}.git`}}function h_(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 i;try{i=new URL(n);}catch{return null}return ["https:","http:","ssh:","file:"].includes(i.protocol)?{url:n,ref:o}:null}function Jo(t){let e=f_(t);if(e)return {kind:"github",...e};let r=g_(t);if(r)return {kind:"gitlab",...r};let n=h_(t);return n?{kind:"git",...n}:null}function Cu(t){return Jo(t)!==null}var Pa=d(()=>{s(d_,"splitSourceRef");s(f_,"parseGithubSource");s(g_,"parseGitlabSource");s(h_,"parseGitSource");s(Jo,"parseRemoteSource");s(Cu,"isSupportedRemoteSource");});function zD(t){let e=Jo(t);return e?e.kind==="github"?si("github",`${e.org}/${e.repo}`,e.tag):e.kind==="gitlab"?si("gitlab",`${e.namespace}/${e.project}`,e.ref??"HEAD"):si("git",e.url,e.ref??"HEAD"):null}async function I_(t,e){let r=zD(t);if(!r)return;let n=e??fe(),o=join(n,r);await rm$1(o,{recursive:true,force:true});}async function S_(t,e){let r=t??fe(),n=e??Number(process.env.AGENTSMESH_CACHE_MAX_AGE_DAYS??30)*864e5,o;try{o=await readdir(r);}catch{return}let i=Date.now();await Promise.all(o.map(async a=>{let c=join(r,a);try{let{mtimeMs:l}=await stat(c);i-l>n&&await rm$1(c,{recursive:!0,force:!0});}catch{}}));}var Ru=d(()=>{Ta();Pa();s(zD,"cacheKeyFromSource");s(I_,"cleanInstallCache");s(S_,"sweepStaleCache");});function si(t,e,r){let n=s(i=>i.replace(/[^a-zA-Z0-9_.-]/g,"_").replace(/^\.+/,"_"),"safe"),o;if(t==="github"){let[i,a]=e.split("/",2);i&&a?o=`${n(i)}--${n(a)}--${n(r)}`:o=`${n(t)}__${n(e)}__${n(r)}`;}else o=`${n(t)}__${n(e)}__${n(r)}`;if(o.length>O_){let i=createHash("sha256").update(o).digest("hex").slice(0,16);o=`${o.slice(0,O_-18)}--${i}`;}return o}function fe(){let t=process.env.AGENTSMESH_CACHE;if(t){let e=t.trim();if(!e)return join(homedir(),".agentsmesh","cache");if(!/^([A-Za-z]:[\\/]|\/)/.test(e))throw new Error(`AGENTSMESH_CACHE must be an absolute path (got: "${e}").`);if(e==="/"||/^[A-Za-z]:[\\/]?$/.test(e))throw new Error(`AGENTSMESH_CACHE must not be the filesystem root (got: "${e}").`);return e}return join(homedir(),".agentsmesh","cache")}async function ii(t,e,r={}){let n=Jo(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??fe();return S_(o).catch(()=>{}),n.kind==="github"?p_(n,e,r,o,si,!t.includes("@")):ul(n,e,r,o,si)}var O_,Ta=d(()=>{Iu();u_();Pa();Ru();O_=80;s(si,"buildCacheKey");s(fe,"getCacheDir");s(ii,"fetchRemoteExtend");});function ZD(t){return t.startsWith("http://")||t.startsWith("https://")}async function ai(t,e,r={}){if(t.extends.length===0)return [];if(r.refreshCache===true&&t.extends.some(o=>Cu(o.source))){let o=fe();await rm$1(o,{recursive:true,force:true}),await mkdir(o,{recursive:true});}let n=[];for(let o of t.extends){if(ZD(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(Cu(o.source)){let a=await ii(o.source,o.name,{cacheDir:fe(),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 i=resolve(e,o.source);if(!await F(i))throw new Error(`Extend "${o.name}": path does not exist: ${i}. Check extends.source in agentsmesh.yaml.`);n.push({name:o.name,resolvedPath:i,features:[...o.features],target:o.target,path:o.path,pick:o.pick});}return n}var dl=d(()=>{b();Ta();Pa();s(ZD,"isOtherRemoteSource");s(ai,"resolveExtendPaths");});function E(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 {resolve,join,sep,dirname,extname,basename,relative,win32,posix,normalize}from'path';import {rm as rm$1,readFile,readdir,stat,mkdir,writeFile,rename,lstat,unlink,chmod,access,realpath,readlink,symlink,mkdtemp,cp as cp$1,copyFile}from'fs/promises';import {realpathSync,rmSync,statSync,existsSync,mkdtempSync,readdirSync,symlinkSync,mkdirSync,constants,readFileSync}from'fs';import {z as z$1}from'zod';import {parse,stringify}from'yaml';import {homedir,tmpdir,hostname}from'os';import {execFile}from'child_process';import {fileURLToPath,pathToFileURL,URL}from'url';import {promisify}from'util';import*as JR from'tar';import {createHash}from'crypto';import {parse as parse$1}from'smol-toml';import {Buffer as Buffer$1}from'buffer';import {createRequire}from'module';import {createTwoFilesPatch}from'diff';import f1 from'chokidar';import*as FG from'readline';import {Server}from'@modelcontextprotocol/sdk/server/index.js';import {StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';import {ListToolsRequestSchema,CallToolRequestSchema,ListResourcesRequestSchema,ReadResourceRequestSchema}from'@modelcontextprotocol/sdk/types.js';import {toJSONSchema}from'zod/v4/core';var IR=Object.defineProperty;var s=(t,e)=>IR(t,"name",{value:e,configurable:true});var d=(t,e)=>()=>(t&&(e=t(t=0)),e);var gg=(t,e)=>{for(var r in e)IR(t,r,{get:e[r],enumerable:true});};function CR(){di=true;}function ER(){SR=true;}function Pa(t){SR?process.stderr.write(t):process.stdout.write(t);}function n$(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}function dl(t,e){return n$()?e:`${t}${e}${xa.reset}`}function s$(t,e){let r=[...t].length;return t+" ".repeat(Math.max(0,e-r))}var xa,di,SR,I,ft=d(()=>{xa={green:"\x1B[32m",red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",reset:"\x1B[0m"},di=false,SR=false;s(CR,"muteLogger");s(ER,"redirectLoggerToStderr");s(Pa,"out");s(n$,"noColor");s(dl,"c");s(s$,"pad");I={info(t){di||Pa(dl(xa.cyan,t)+`
3
+ `);},warn(t){di||process.stderr.write(dl(xa.yellow,"\u26A0 ")+t+`
4
+ `);},error(t){di||process.stderr.write(dl(xa.red,"\u2717 ")+t+`
5
+ `);},success(t){di||Pa(dl(xa.green,"\u2713 ")+t+`
6
+ `);},debug(t){di||process.env.AGENTSMESH_DEBUG==="1"&&Pa(dl(xa.cyan,"[debug] ")+t+`
7
+ `);},table(t){if(di||t.length===0)return;let e=t[0].length,r=[];for(let n=0;n<e;n++){let i=0;for(let a=0;a<t.length;a++){let c=[...t[a][n]].length;c>i&&(i=c);}r[n]=i;}let o="+"+r.map(n=>"-".repeat(n+2)).join("+")+"+";Pa(o+`
8
+ `);for(let n=0;n<t.length;n++){let a="| "+t[n].map((c,l)=>s$(c,r[l])).join(" | ")+" |";Pa(a+`
9
+ `);}Pa(o+`
10
+ `);}};});var un,wr,Na,po,Fa,He,dn=d(()=>{un=class extends Error{static{s(this,"AgentsMeshError");}code;constructor(e,r,o){super(r,o),this.name="AgentsMeshError",this.code=e;}},wr=class extends un{static{s(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;}},Na=class extends un{static{s(this,"ConfigValidationError");}issues;constructor(e,r,o){super("AM_CONFIG_INVALID",`Invalid config at ${e}: ${r.join("; ")}. Fix the YAML and try again.`,o),this.name="ConfigValidationError",this.issues=r;}},po=class extends un{static{s(this,"TargetNotFoundError");}target;constructor(e,r){let o=r?.supported?` Supported: ${r.supported.join(", ")}.`:"";super("AM_TARGET_NOT_FOUND",`Unknown target "${e}".${o}`,r),this.name="TargetNotFoundError",this.target=e;}},Fa=class extends un{static{s(this,"LockAcquisitionError");}lockPath;holder;constructor(e,r,o){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.`,o),this.name="LockAcquisitionError",this.lockPath=e,this.holder=r;}},He=class extends un{static{s(this,"FileSystemError");}path;errnoCode;constructor(e,r,o){super("AM_FILESYSTEM",r,o),this.name="FileSystemError",this.path=e,this.errnoCode=o?.errnoCode;}};});function xR(t){let e=extname(t).toLowerCase();if(e.length>0)return u$.has(e);let r=basename(t).toLowerCase();return d$.has(r)}function DR(t){return t.replace(/\r\n?/g,`
11
+ `)}function hg(t){return g$.has(extname(t).toLowerCase())?493:void 0}var fg,u$,d$,g$,yg=d(()=>{fg="\uFEFF",u$=new Set([".md",".mdc",".mdx",".markdown",".txt",".json",".jsonc",".yaml",".yml",".toml",".ini",".sh",".bash",".zsh",".ps1",".js",".mjs",".cjs",".ts",".tsx",".html",".css"]),d$=new Set([".gitignore",".cursorignore",".cursorindexingignore",".aiignore",".agentignore",".clineignore",".geminiignore",".codeiumignore",".continueignore",".copilotignore",".windsurfignore",".junieignore",".kiroignore",".rooignore",".antigravityignore"]);s(xR,"shouldNormalizeLineEndings");s(DR,"normalizeLineEndings");g$=new Set([".sh",".bash",".zsh"]);s(hg,"executableModeFor");});async function v(t,e){let r;try{r=await realpath(t);}catch(n){let i=n;if(i.code==="ENOENT"||i.code==="ENOTDIR"||i.code==="ELOOP")return [];throw new He(t,`Failed to read directory ${t}: ${i.message}. Check permissions.`,{cause:n,errnoCode:i.code})}let o=e??new Set;if(o.has(r))return [];o.add(r);try{let n=await readdir(t,{withFileTypes:!0}),i=[];for(let a of n){let c=join(t,a.name);a.isDirectory()||a.isSymbolicLink()&&await stat(c).then(m=>m.isDirectory(),()=>!1)?i.push(...await v(c,o)):i.push(c);}return i}catch(n){let i=n;if(i.code==="ENOENT"||i.code==="ENOTDIR"||i.code==="EACCES")return [];throw new He(t,`Failed to read directory ${t}: ${i.message}. Check permissions.`,{cause:n,errnoCode:i.code})}}async function _g(t,e){let r=resolve(t);try{if(!(await lstat(e)).isSymbolicLink()||resolve(dirname(e),await readlink(e))===r)return;await unlink(e);}catch(o){if(o.code!=="ENOENT")throw o}await symlink(r,e,"dir");}var FR=d(()=>{dn();s(v,"readDirRecursive");s(_g,"ensureCacheSymlink");});async function y(t){try{let e=await readFile(t,"utf-8");return e.startsWith(fg)?e.slice(fg.length):e}catch(e){let r=e;if(r.code==="ENOENT")return null;throw new He(t,`Failed to read ${t}: ${r.message}. Ensure the file exists and is readable.`,{cause:e,errnoCode:r.code})}}async function _(t,e,r){let o=dirname(t);await mkdir(o,{recursive:true});try{let c=await lstat(t);if(c.isDirectory())throw new He(t,`Failed to write ${t}: target exists and is a directory. Remove it or choose a different path.`,{errnoCode:"EISDIR"});c.isSymbolicLink()&&await unlink(t).catch(l=>{if(l.code!=="ENOENT")throw l});}catch(c){if(c instanceof He||c.code!=="ENOENT")throw c}let n=`${t}.tmp`,i=xR(t)?DR(e):e,a=r?.mode??hg(t);try{try{(await lstat(n)).isSymbolicLink()&&await unlink(n);}catch(l){if(l.code!=="ENOENT")throw l}let c={encoding:"utf-8",flag:"w"};a!==void 0&&(c.mode=a),await writeFile(n,i,c),await rename(n,t),a!==void 0&&await chmod(t,a);}catch(c){await rm$1(n,{force:true}).catch(()=>{});let l=c;throw new He(t,`Failed to write ${t}: ${l.message}. Check permissions and disk space.`,{cause:c,errnoCode:l.code})}}async function j(t){try{return await access(t,constants.F_OK),!0}catch{return false}}async function L(t){await mkdir(t,{recursive:true});}var T=d(()=>{dn();yg();FR();yg();s(y,"readFileSafe");s(_,"writeFileAtomic");s(j,"exists");s(L,"mkdirp");});function Tr(t){return Ig.includes(t)}var Ig,$R=d(()=>{Ig=["aider","amazon-q","amp","antigravity","augment-code","claude-code","cline","codex-cli","continue","copilot","crush","cursor","deepagents-cli","factory-droid","gemini-cli","goose","jules","junie","kilo-code","kiro","opencode","pi-agent","qwen-code","replit-agent","roo-code","rovodev","trae","warp","windsurf","zed"];s(Tr,"isBuiltinTargetId");});var kt,Rg,uo=d(()=>{$R();kt=Ig,Rg="codex-cli";});var jR,ze,va,hl,x$,D$,fl,N$,F$,gi,gn=d(()=>{uo();jR=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],ze=z$1.enum(kt),va=z$1.enum(jR),hl=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(),x$=z$1.object({name:z$1.string(),source:z$1.string(),version:z$1.string().optional(),target:ze.optional(),features:z$1.array(va),path:z$1.string().optional(),pick:hl.optional()}),D$=z$1.object({strategy:z$1.enum(["merge","lock","last-wins"]).default("merge"),lock_features:z$1.array(z$1.string()).default([])}),fl=z$1.union([z$1.boolean(),z$1.object({project:z$1.boolean().optional(),global:z$1.boolean().optional()}).strict()]),N$=z$1.object({commands_to_skills:z$1.object({"codex-cli":fl.optional()}).passthrough().optional(),agents_to_skills:z$1.object({"gemini-cli":fl.optional(),cline:fl.optional(),"codex-cli":fl.optional(),windsurf:fl.optional()}).passthrough().optional()}).strict().optional(),F$=z$1.object({id:z$1.string().regex(/^[a-z][a-z0-9-]*$/),source:z$1.string(),version:z$1.string().optional(),strict:z$1.boolean().optional()}).strict(),gi=z$1.object({version:z$1.literal(1),targets:z$1.array(ze).default([...kt]),features:z$1.array(va).default([...jR]),extends:z$1.array(x$).default([]),overrides:z$1.record(z$1.string(),z$1.record(z$1.string(),z$1.unknown())).default({}),collaboration:D$.default({strategy:"merge",lock_features:[]}),conversions:N$,plugins:z$1.array(F$).default([]),pluginTargets:z$1.array(z$1.string().regex(/^[a-z][a-z0-9-]*$/)).default([])});});async function M$(t){let e=resolve(t);for(;;){let r=join(e,Cg);if(await j(r))return r;let o=dirname(e);if(o===e)return null;e=o;}}async function $$(t){let e=await y(t);if(e===null)throw new wr(t);let r=parse(e),o=gi.safeParse(r);if(!o.success){let n=o.error.issues.map(i=>i.message);throw new Na(t,n,{cause:o.error})}return o.data}function Sg(t,e){let r={...t};for(let[o,n]of Object.entries(e)){if(n==null)continue;let i=r[o];typeof n=="object"&&!Array.isArray(n)&&n!==null&&typeof i=="object"&&i!==null&&!Array.isArray(i)?r[o]=Sg(i,n):r[o]=n;}return r}function j$(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=Sg(r.overrides??{},e.overrides)),typeof e.conversions=="object"&&e.conversions!==null&&!Array.isArray(e.conversions)&&(r.conversions=Sg(r.conversions??{},e.conversions)),Array.isArray(e.extends)&&e.extends.length>0&&(r.extends=[...t.extends??[],...e.extends]),r}async function tp(t){let e=join(t,Cg),r=await $$(e),o=join(t,G$),n=await y(o);if(n!==null){let i=parse(n);if(typeof i=="object"&&i!==null&&!Array.isArray(i)){let a=j$(r,i),c=gi.safeParse(a);if(c.success)r=c.data;else {let l=c.error.issues.map(m=>m.message).join("; ");I.warn(`Ignoring invalid agentsmesh.local.yaml at ${o}: ${l}. Using project config instead.`);}}}return {config:r,configDir:t}}async function ep(t){let e=await M$(t);if(e===null)throw new wr(join(t,Cg));return tp(dirname(e))}var Cg,G$,rp=d(()=>{T();ft();dn();gn();Cg="agentsmesh.yaml",G$="agentsmesh.local.yaml";s(M$,"findConfigPath");s($$,"loadConfig");s(Sg,"deepMergeObjects");s(j$,"mergeLocalConfig");s(tp,"loadConfigFromExactDir");s(ep,"loadConfigFromDir");});function yl(t,e="project"){if(e==="project")return {scope:e,rootBase:t,configDir:t,canonicalDir:join(t,".agentsmesh")};let r=homedir(),o=join(r,".agentsmesh");return {scope:e,rootBase:r,configDir:o,canonicalDir:o}}async function Tt(t,e="project"){if(e==="project"){let{config:o,configDir:n}=await ep(t);return {config:o,context:{scope:e,rootBase:n,configDir:n,canonicalDir:join(n,".agentsmesh")}}}let r=yl(t,e);try{let{config:o}=await tp(r.configDir);return {config:o,context:r}}catch(o){throw o instanceof wr?new wr(o.path,{cause:o,message:`agentsmesh.yaml not found at ${o.path} (global scope). Run 'agentsmesh init --global' to create it under ~/.agentsmesh, or drop the --global flag to operate on the current project.`}):o}}var Oe=d(()=>{rp();dn();s(yl,"resolveScopeContext");s(Tt,"loadScopedConfig");});function HR(t,e){if(t.startsWith("-"))throw new Error(`agentsmesh refuses ${e} starting with "-" (option-injection guard): ${t}`)}async function op(t,e,r,o,n){let i="cloneUrl"in t?"gitlab":"git",a="cloneUrl"in t?`${t.namespace}/${t.project}`:t.url,c=t.ref??"HEAD",l=n(i,a,c),m=join(o,l),p=join(m,BR),u=`${m}.tmp`,g=join(u,BR);if(!r.refresh&&await WR(p))return Ag(p);try{return await rm$1(u,{recursive:!0,force:!0}),await mkdir(u,{recursive:!0}),await Y$(J$(t),g),t.ref&&await X$(g,t.ref),await rm$1(m,{recursive:!0,force:!0}),await rename(u,m),Ag(p)}catch(f){if(await rm$1(u,{recursive:true,force:true}),r.allowOfflineFallback!==false&&await WR(p))return console.warn(`[agentsmesh] Remote fetch failed for ${e}; using cached version. Error: ${f instanceof Error?f.message:String(f)}`),Ag(p);throw f}}async function Ag(t){return {resolvedPath:t,version:await Z$(t)}}async function WR(t){return j(t)}function J$(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}async function Y$(t,e){HR(t,"clone-url"),await kg(["clone",t,e]);}async function X$(t,e){HR(e,"ref"),await kg(["checkout",e],t);}async function Z$(t){return kg(["rev-parse","HEAD"],t)}async function kg(t,e){let{stdout:r}=await V$("git",t,{cwd:e,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return r.trim()}var V$,BR,wg=d(()=>{T();V$=promisify(execFile),BR="repo";s(HR,"ensureNotFlag");s(op,"fetchGitRemoteExtend");s(Ag,"readCachedRepo");s(WR,"hasCachedRepo");s(J$,"resolveCloneUrl");s(Y$,"cloneRepo");s(X$,"checkoutRef");s(Z$,"getHeadSha");s(kg,"runGit");});async function rj(t,e){let r=typeof t.headers?.get=="function"?t.headers.get("content-length"):null;if(r!==null){let m=Number(r);if(Number.isFinite(m)&&m>e)throw new Error(`remote response declared ${m} bytes; exceeds cap of ${e}`)}let o=t.body;if(!o){let m=await t.arrayBuffer();if(m.byteLength>e)throw new Error(`remote response is ${m.byteLength} bytes; exceeds cap of ${e}`);return new Uint8Array(m)}let n=o.getReader(),i=[],a=0;for(;;){let{done:m,value:p}=await n.read();if(m)break;if(p){if(a+=p.byteLength,a>e)throw await n.cancel().catch(()=>{}),new Error(`remote response exceeded cap of ${e} bytes during streaming`);i.push(p);}}let c=new Uint8Array(a),l=0;for(let m of i)c.set(m,l),l+=m.byteLength;return c}async function YR(t,e,r){let o=`https://api.github.com/repos/${t}/${e}/releases/latest`,n={Accept:"application/vnd.github+json"};r&&(n.Authorization=`Bearer ${r}`);let i=await globalThis.fetch(o,{headers:n});if(!i.ok)throw new Error(`Failed to resolve latest release for ${t}/${e}: ${i.status} ${i.statusText}`);let a=await i.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}async function XR(t,e,r,o,n,i=false){let a=r.token??process.env.AGENTSMESH_GITHUB_TOKEN,c=r.refresh===true,l=t.tag;if(l==="latest")try{l=await YR(t.org,t.repo,a);}catch(S){if(!i)throw S;return nj(t,e,r,o,n,a)}let m=n("github",`${t.org}/${t.repo}`,l),p=join(o,m);if(!c&&await j(p)){let S=await Tg(p);if(S)return {resolvedPath:join(p,S),version:l}}let u=`https://github.com/${t.org}/${t.repo}/tarball/${l}`,g={};a&&(g.Authorization=`Bearer ${a}`);let f;try{let S=await globalThis.fetch(u,{headers:g,redirect:"follow"});if(!S.ok)throw new Error(`HTTP ${S.status}: ${S.statusText}`);f=await rj(S,ej);}catch(S){if(r.allowOfflineFallback!==false&&await j(p)){let D=await Tg(p);if(D)return console.warn(`[agentsmesh] Network failed for ${e}; using cached version. Error: ${S instanceof Error?S.message:String(S)}`),{resolvedPath:join(p,D),version:l}}throw S}await rm$1(p,{recursive:true,force:true}),await mkdir(p,{recursive:true});let h=join(p,"archive.tar.gz");await writeFile(h,f);try{await JR.extract({file:h,cwd:p,strict:!0,filter:s((S,A)=>!(oj(S)||A&&"type"in A&&(A.type==="Link"||A.type==="SymbolicLink")),"filter")});}finally{await rm$1(h,{force:true}).catch(()=>{});}let O=await Tg(p);if(!O)throw new Error(`Extend "${e}": archive has no top-level directory. Expected a single top-level directory inside the archive.`);return {resolvedPath:join(p,O),version:l}}async function Tg(t){let r=(await readdir(t,{withFileTypes:true})).filter(o=>o.isDirectory()&&!o.name.startsWith("."));return r.length===1?r[0].name:null}function VR(t,e,r){return r?`https://x-access-token:${encodeURIComponent(r)}@github.com/${t}/${e}.git`:`https://github.com/${t}/${e}.git`}function oj(t){let e=t.replace(/\\/g,"/");return e.startsWith("/")||e.split("/").includes("..")}async function nj(t,e,r,o,n,i){let a=i?[VR(t.org,t.repo,i)]:[VR(t.org,t.repo),`ssh://git@github.com/${t.org}/${t.repo}.git`],c;for(let l of a){let m={url:l};try{return await op(m,e,r,o,n)}catch(p){c=p;}}throw c instanceof Error?c:new Error("Failed to clone GitHub default branch")}var ej,ZR=d(()=>{T();wg();ej=500*1024*1024;s(rj,"readBoundedResponse");s(YR,"resolveLatestTag");s(XR,"fetchGithubRemoteExtend");s(Tg,"findExtractTopDir");s(VR,"buildGithubCloneUrl");s(oj,"isZipSlipPath");s(nj,"fetchGithubDefaultBranch");});function QR(t,e,r){if(!t.startsWith(e))return null;let o=t.slice(e.length).trim();if(!o)return null;let n=o.lastIndexOf("@");if(n<0)return [o,r];let i=o.slice(0,n).trim(),a=o.slice(n+1).trim();return !i||!a?null:[i,a]}function qR(t){let e=QR(t,"github:","latest");if(!e)return null;let[r,o]=e,n=r.indexOf("/");if(n<0)return null;let i=r.slice(0,n).trim(),a=r.slice(n+1).trim();return !i||!a||!o?null:{org:i,repo:a,tag:o}}function tS(t){let e=QR(t,"gitlab:");if(!e)return null;let[r,o]=e,n=r.lastIndexOf("/");if(n<0)return null;let i=r.slice(0,n).trim(),a=r.slice(n+1).trim();return !i||!a?null:{namespace:i,project:a,ref:o,cloneUrl:`https://gitlab.com/${i}/${a}.git`}}function eS(t){if(!t.startsWith("git+"))return null;let e=t.slice(4).trim();if(!e)return null;let r=e.lastIndexOf("#"),o=(r<0?e:e.slice(0,r)).trim(),n=r<0?void 0:e.slice(r+1).trim();if(!o||r>=0&&!n)return null;let i;try{i=new URL(o);}catch{return null}return ["https:","http:","ssh:","file:"].includes(i.protocol)?{url:o,ref:n}:null}function fi(t){let e=qR(t);if(e)return {kind:"github",...e};let r=tS(t);if(r)return {kind:"gitlab",...r};let o=eS(t);return o?{kind:"git",...o}:null}function bg(t){return fi(t)!==null}var Il=d(()=>{s(QR,"splitSourceRef");s(qR,"parseGithubSource");s(tS,"parseGitlabSource");s(eS,"parseGitSource");s(fi,"parseRemoteSource");s(bg,"isSupportedRemoteSource");});function cj(t){let e=fi(t);return e?e.kind==="github"?Ga("github",`${e.org}/${e.repo}`,e.tag):e.kind==="gitlab"?Ga("gitlab",`${e.namespace}/${e.project}`,e.ref??"HEAD"):Ga("git",e.url,e.ref??"HEAD"):null}async function nS(t,e){let r=cj(t);if(!r)return;let o=e??Le(),n=join(o,r);await rm$1(n,{recursive:true,force:true});}async function sS(t,e){let r=t??Le(),o=e??Number(process.env.AGENTSMESH_CACHE_MAX_AGE_DAYS??30)*864e5,n;try{n=await readdir(r);}catch{return}let i=Date.now();await Promise.all(n.map(async a=>{let c=join(r,a);try{let{mtimeMs:l}=await stat(c);i-l>o&&await rm$1(c,{recursive:!0,force:!0});}catch{}}));}var Pg=d(()=>{Rl();Il();s(cj,"cacheKeyFromSource");s(nS,"cleanInstallCache");s(sS,"sweepStaleCache");});function Ga(t,e,r){let o=s(i=>i.replace(/[^a-zA-Z0-9_.-]/g,"_").replace(/^\.+/,"_"),"safe"),n;if(t==="github"){let[i,a]=e.split("/",2);i&&a?n=`${o(i)}--${o(a)}--${o(r)}`:n=`${o(t)}__${o(e)}__${o(r)}`;}else n=`${o(t)}__${o(e)}__${o(r)}`;if(n.length>cS){let i=createHash("sha256").update(n).digest("hex").slice(0,16);n=`${n.slice(0,cS-18)}--${i}`;}return n}function Le(){let t=process.env.AGENTSMESH_CACHE;if(t){let e=t.trim();if(!e)return join(homedir(),".agentsmesh","cache");if(!/^([A-Za-z]:[\\/]|\/)/.test(e))throw new Error(`AGENTSMESH_CACHE must be an absolute path (got: "${e}").`);if(e==="/"||/^[A-Za-z]:[\\/]?$/.test(e))throw new Error(`AGENTSMESH_CACHE must not be the filesystem root (got: "${e}").`);return e}return join(homedir(),".agentsmesh","cache")}async function Ma(t,e,r={}){let o=fi(t);if(!o)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 n=r.cacheDir??Le();return sS(n).catch(()=>{}),o.kind==="github"?XR(o,e,r,n,Ga,!t.includes("@")):op(o,e,r,n,Ga)}var cS,Rl=d(()=>{wg();ZR();Il();Pg();cS=80;s(Ga,"buildCacheKey");s(Le,"getCacheDir");s(Ma,"fetchRemoteExtend");});function dj(t){return t.startsWith("http://")||t.startsWith("https://")}async function $a(t,e,r={}){if(t.extends.length===0)return [];if(r.refreshCache===true&&t.extends.some(n=>bg(n.source))){let n=Le();await rm$1(n,{recursive:true,force:true}),await mkdir(n,{recursive:true});}let o=[];for(let n of t.extends){if(dj(n.source))throw new Error(`Remote extends (http/https) not supported: "${n.source}" for extend "${n.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(bg(n.source)){let a=await Ma(n.source,n.name,{cacheDir:Le(),refresh:r.refreshCache===true});o.push({name:n.name,resolvedPath:a.resolvedPath,features:[...n.features],target:n.target,version:a.version,path:n.path,pick:n.pick});continue}let i=resolve(e,n.source);if(!await j(i))throw new Error(`Extend "${n.name}": path does not exist: ${i}. Check extends.source in agentsmesh.yaml.`);o.push({name:n.name,resolvedPath:i,features:[...n.features],target:n.target,path:n.path,pick:n.pick});}return o}var np=d(()=>{T();Rl();Il();s(dj,"isOtherRemoteSource");s($a,"resolveExtendPaths");});function k(t){if(t.indexOf("---")!==0)return {frontmatter:{},body:t.trim()};let r=t.indexOf("---",3);if(r===-1)return {frontmatter:{},body:t.trim()};let o=t.slice(3,r).trim(),n=t.slice(r+3).trim();return {frontmatter:o===""?{}:parse(o)??{},body:n}}function P(t,e){return Object.keys(t).length===0?e:`---
12
12
  ${stringify(t,{lineWidth:0}).trimEnd()}
13
13
  ---
14
14
 
15
- ${e}`}var v=d(()=>{s(E,"parseFrontmatter");s(N,"serializeFrontmatter");});function rN(t){let e=t.replace(/\.[^.]*$/,"").toUpperCase();return tN.has(e)}function E_(t){let e=[],r=t.split(/[\\/]/);for(let n of r)if(!(n===""||n==="."||n==="..")){if(eN.test(n)){e.push({segment:n,reason:"illegal-character"});continue}if(/[. ]$/.test(n)){e.push({segment:n,reason:"trailing-dot-or-space"});continue}rN(n)&&e.push({segment:n,reason:"reserved-name"});}return e}var tN,eN,k_=d(()=>{tN=new Set(["CON","PRN","AUX","NUL","COM1","COM2","COM3","COM4","COM5","COM6","COM7","COM8","COM9","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9"]),eN=new RegExp('[<>:"|?*\\u0000-\\u001F]');s(rN,"segmentReservedName");s(E_,"findWindowsPathIssues");});function gn(t,e){let r=E_(e);if(r.length===0)return;let n=r.map(o=>`${o.segment} (${o.reason})`).join(", ");throw new fl(t,e,`canonical ${t} name "${e}" is not portable to Windows: ${n}. Rename the file.`)}function gl(t,e,r){let n=new Map;for(let o of e){let i=o.lastIndexOf("/"),a=o.lastIndexOf("\\"),c=Math.max(i,a),l=c===-1?o:o.slice(c+1),m=l.endsWith(r)?l.slice(0,-r.length):l,p=n.get(m);if(p!==void 0&&p!==o)throw new fl(t,m,`canonical ${t} files collide on slug "${m}": ${p} vs ${o}. Rename one.`);n.set(m,o);}}var fl,Da=d(()=>{k_();fl=class extends Error{static{s(this,"CanonicalNameError");}feature;name;constructor(e,r,n){super(n),this.feature=e,this.name=r;}};s(gn,"assertCanonicalName");s(gl,"assertNoBasenameCollisions");});function L_(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}async function Yo(t){let r=(await D(t)).filter(o=>{if(!o.endsWith(".md"))return false;let i=basename(o,".md");return i==="_root"||!i.startsWith("_")}),n=[];for(let o of r){let i=await y(o);if(!i)continue;let{frontmatter:a,body:c}=E(i),l=basename(o,".md");gn("rule",l);let m=l==="_root",p=a.root===true,u=a.trigger,f=typeof u=="string"&&nN.includes(u)?u:void 0,g=a.codex_emit,h=g==="execution"?"execution":g==="advisory"?"advisory":void 0,S=a.codex_instruction==="override"?"override":void 0;n.push({source:o,root:m||p,targets:L_(a.targets),description:typeof a.description=="string"?a.description:"",globs:L_(a.globs),body:c,...f!==void 0&&{trigger:f},...h!==void 0&&{codexEmit:h},...S!==void 0&&{codexInstructionVariant:S}});}return n}var nN,hl=d(()=>{b();v();Da();nN=["always_on","model_decision","glob","manual"];s(L_,"toStrArray");s(Yo,"parseRules");});function A_(t){return t===true||t==="true"||t===1||t==="1"}function x_(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 Xo(t){let r=(await D(t)).filter(o=>o.endsWith(".md")&&!basename(o).startsWith("_"));gl("command",r,".md");let n=[];for(let o of r){let i=await y(o);if(!i)continue;let{frontmatter:a,body:c}=E(i),l=basename(o,".md");gn("command",l);let m=x_(a.allowedTools),p=x_(a["allowed-tools"]),u=m.length>0?m:p;n.push({source:o,name:l,description:typeof a.description=="string"?a.description:"",allowedTools:u,outputStyle:A_(a.outputStyle)||A_(a["output-style"]),body:c});}return n}var yl=d(()=>{b();v();Da();s(A_,"toBool");s(x_,"toToolsArray");s(Xo,"parseCommands");});function Zo(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 T_(t){return t===true||t==="true"||t===1||t==="1"}function D_(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}function oN(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)?t:{}}async function qo(t){let r=(await D(t)).filter(o=>o.endsWith(".md")&&!basename(o).startsWith("_"));gl("agent",r,".md");let n=[];for(let o of r){let i=await y(o);if(!i)continue;let{frontmatter:a,body:c}=E(i),l=basename(o,".md");gn("agent",l);let m=Zo(a.tools),p=Zo(a.tools),u=m.length>0?m:p,f=Zo(a.disallowedTools),g=Zo(a["disallowed-tools"]),h=f.length>0?f:g,R=Zo(a.mcpServers),S=Zo(a["mcp-servers"]),_=R.length>0?R:S,k=Zo(a.skills),T=D_(a.maxTurns),P=D_(a["max-turns"]),A=T>0?T:P>0?P:0;n.push({source:o,name:l,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:A,mcpServers:_,hooks:oN(a.hooks),skills:k,memory:typeof a.memory=="string"?a.memory:"",outputStyle:T_(a.outputStyle)||T_(a["output-style"]),body:c});}return n}var _l=d(()=>{b();v();Da();s(Zo,"toStrArray");s(T_,"toBool");s(D_,"toInt");s(oN,"toHooks");s(qo,"parseAgents");});async function aN(t){return await y(t)??""}function lN(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}async function N_(t){let e=await D(t),r=[];for(let n of e){let i=n.slice(t.length+1).replace(/\\/g,"/");if(i===Il||i.endsWith(`/${Il}`))continue;let a=i.split("/")[0];if(cN.some(l=>a===l)||i===".DS_Store"||i.endsWith("/.DS_Store"))continue;let c=await aN(n);r.push({relativePath:i,absolutePath:n,content:c});}return r.sort((n,o)=>n.relativePath.localeCompare(o.relativePath))}async function F_(t){let e=join(t,Il),r=await y(e);if(!r)return null;let{frontmatter:n,body:o}=E(r),i=await N_(t),c=(typeof n.name=="string"?lN(n.name):"")||basename(t);return gn("skill",c),{source:e,name:c,description:typeof n.description=="string"?n.description:"",body:o,supportingFiles:i}}async function ci(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;gn("skill",n.name);let o=join(t,n.name),i=join(o,Il),a=await y(i);if(!a)continue;let{frontmatter:c,body:l}=E(a),m=await N_(o);r.push({source:i,name:n.name,description:typeof c.description=="string"?c.description:"",body:l,supportingFiles:m});}return r.sort((n,o)=>n.name.localeCompare(o.name))}var Il,cN,Sl=d(()=>{b();v();Da();s(aN,"readContent");Il="SKILL.md",cN=[".git","node_modules"];s(lN,"sanitizeSkillName");s(N_,"listSupportingFiles");s(F_,"parseSkillDirectory");s(ci,"parseSkills");});function v_(t){return t===null||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}function mN(t){if(!t||typeof t!="object")return null;let e=t,r=typeof e.type=="string"?e.type:"stdio",n=v_(e.env),o=typeof e.description=="string"?e.description:void 0,i=typeof e.url=="string"?e.url:"";if(i)return {...o!==void 0&&{description:o},type:r,url:i,headers:v_(e.headers),env:n};let a=typeof e.command=="string"?e.command:"";if(!a)return null;let c=Array.isArray(e.args)?e.args.filter(l=>typeof l=="string"):[];return {...o!==void 0&&{description:o},type:r,command:a,args:c,env:n}}function pN(t){let e="",r=0,n=t.length;for(;r<n;){let o=t[r];if(o==='"'){for(e+=o,r++;r<n;){let i=t[r];if(e+=i,i==="\\")r++,r<n&&(e+=t[r]);else if(i==='"')break;r++;}r++;continue}if(o==="/"&&t[r+1]==="*"){for(r+=2;r<n;){if(t[r]==="*"&&t[r+1]==="/"){r+=2;break}r++;}continue}if(o==="/"&&t[r+1]==="/"){for(r+=2;r<n&&t[r]!==`
16
- `;)r++;continue}e+=o,r++;}return e}async function Ze(t){let e=await y(t);if(!e)return null;let r;try{r=JSON.parse(pN(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[i,a]of Object.entries(n)){let c=mN(a);c&&(o[i]=c);}return {mcpServers:o}}var Na=d(()=>{b();s(v_,"parseStringMap");s(mN,"parseServer");s(pN,"stripJsonComments");s(Ze,"parseMcp");});function Eu(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}async function Cl(t){let e=await y(t);if(e===null)return null;if(!e.trim())return {allow:[],deny:[],ask:[]};let r;try{r=parse(e);}catch{return null}if(!r||typeof r!="object")return null;let n=r,o=Eu(n.allow),i=Eu(n.deny),a=Eu(n.ask);return {allow:o,deny:i,ask:a}}var ku=d(()=>{b();s(Eu,"ensureStringArray");s(Cl,"parsePermissions");});function M_(t){return typeof t=="string"?t.trim():""}function At(t){return M_(t.command)}function Qt(t){return M_(t.prompt)}function wu(t){let e=At(t),r=Qt(t);return t.type==="prompt"?r||e:e||r}function hn(t){return At(t).length>0}function Ar(t){return wu(t).length>0}var qe=d(()=>{s(M_,"trimString");s(At,"getHookCommand");s(Qt,"getHookPrompt");s(wu,"getHookText");s(hn,"hasHookCommand");s(Ar,"hasHookText");});function gN(t){if(!t||typeof t!="object")return null;let e=t,r=e.matcher;if(typeof r!="string")return null;let n=wu(e);if(!n)return null;let o=typeof e.type=="string"&&fN.includes(e.type)?e.type:void 0,i=typeof e.timeout=="number"&&Number.isFinite(e.timeout)?e.timeout:void 0,a=Qt(e)||void 0;return {matcher:r,command:n,...i!==void 0&&{timeout:i},...o&&{type:o},...a&&{prompt:a}}}async function Rl(t){let e=await y(t);if(e===null)return null;if(!e.trim())return {};let r;try{r=parse(e);}catch{return null}if(!r||typeof r!="object")return null;let n={},o=r;for(let[i,a]of Object.entries(o)){if(!Array.isArray(a))continue;let c=[];for(let l of a){let m=gN(l);m&&c.push(m);}c.length>0&&(n[i]=c);}return n}var fN,Lu=d(()=>{b();qe();fN=["command","prompt"];s(gN,"toHookEntry");s(Rl,"parseHooks");});async function Ol(t){let e=await y(t);if(e===null||!e.trim())return [];let r=e.split(/\r?\n/),n=[];for(let o of r){let i=o.trim();i===""||i.startsWith("#")||n.push(i);}return n}var bu=d(()=>{b();s(Ol,"parseIgnore");});async function ge(t){let e=join(t,".agentsmesh"),r=await F(e)?e:t,[n,o,i,a,c,l,m,p]=await Promise.all([Yo(join(r,"rules")),Xo(join(r,"commands")),qo(join(r,"agents")),ci(join(r,"skills")),Ze(join(r,"mcp.json")),Cl(join(r,"permissions.yaml")),Rl(join(r,"hooks.yaml")),Ol(join(r,"ignore"))]);return {rules:n,commands:o,agents:i,skills:a,mcp:c,permissions:l,hooks:m,ignore:p}}var Qo=d(()=>{hl();yl();_l();Sl();Na();ku();Lu();bu();b();s(ge,"loadCanonicalFiles");});function $_(t){return basename(t.source,".md")}function li(t,e){let r=new Map(t.rules.map(p=>[$_(p),p]));for(let p of e.rules)r.set($_(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 i=new Map(t.skills.map(p=>[p.name,p]));for(let p of e.skills)i.set(p.name,p);let a=yN(t.mcp,e.mcp),c=_N(t.permissions,e.permissions),l=IN(t.hooks,e.hooks),m=SN(t.ignore,e.ignore);return {rules:Array.from(r.values()),commands:Array.from(n.values()),agents:Array.from(o.values()),skills:Array.from(i.values()),mcp:a,permissions:c,hooks:l,ignore:m}}function yN(t,e){if(!t&&!e)return null;let r=t?.mcpServers??{},n=e?.mcpServers??{};return {mcpServers:{...r,...n}}}function _N(t,e){if(!t&&!e)return null;let r=Au(t?.allow??[],e?.allow??[]),n=Au(t?.deny??[],e?.deny??[]),o=Au(t?.ask??[],e?.ask??[]);return {allow:r,deny:n,ask:o}}function Au(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}function IN(t,e){if(!t&&!e)return null;let r={},n=new Set([...Object.keys(t??{}),...Object.keys(e??{})]);for(let o of n){let i=e?.[o],a=t?.[o];r[o]=i!==void 0&&i.length>0?i:a??[];}return r}function SN(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}var xu=d(()=>{s($_,"ruleSlug");s(li,"mergeCanonicalFiles");s(yN,"mergeMcp");s(_N,"mergePermissions");s(Au,"mergeUniqueStrings");s(IN,"mergeHooks");s(SN,"mergeIgnore");});async function El(t){let e=null,r=0;for(let n of G_){let o=0;for(let i of n.paths)await F(join(t,i))&&o++;o>r&&(r=o,e=n.target);}return r>0?e:null}var G_,j_,Pu=d(()=>{b();G_=[{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"]}];s(El,"detectNativeFormat");j_=G_.map(t=>t.paths[0]).filter(t=>t!==void 0);});function J(t){return t.includes("\\")||Qe.test(t)?win32:posix}function ft(t){return t.replace(/\\/g,"/")}function U(t,e){let r=J(t),n=r.normalize(r===win32?e.replace(/\//g,"\\"):ft(e));return n.endsWith(r.sep)&&n.length>1?n.slice(0,-1):n}function W_(t,e){return J(t).isAbsolute(e)||Qe.test(e)}function mi(t){let e=t,r="";for(;ON.test(e);)r=e.at(-1)+r,e=e.slice(0,-1);return {candidate:e,suffix:r}}function K_(t,e){let r=J(e),n=t.replace(/^(\.\.\/)+/,"").replace(/^\.\//,"");return n&&n!==t?U(e,r.join(e,n)):null}var Qe,ON,Vt=d(()=>{Qe=/^[A-Za-z]:[\\/]/,ON=/[.!?:;]+$/;s(J,"pathApi");s(ft,"normalizeSeparators");s(U,"normalizeForProject");s(W_,"isAbsoluteForProject");s(mi,"stripTrailingPunctuation");s(K_,"rootFallbackPath");});function EN(t){return Object.prototype.hasOwnProperty.call(B_,t)}function kN(t){return Object.prototype.hasOwnProperty.call(H_,t)}function z_(t,e){if(t!==void 0)return typeof t=="boolean"?t:t[e]}function pi(t,e,r,n="project"){let o=t.conversions?.commands_to_skills?.[e],i=z_(o,n);return i!==void 0?i:EN(e)?B_[e]:r??false}function be(t,e,r,n="project"){let o=t.conversions?.agents_to_skills?.[e],i=z_(o,n);return i!==void 0?i:kN(e)?H_[e]:r??false}var B_,H_,ui=d(()=>{B_={amp:true,"codex-cli":true,goose:true,kiro:true,warp:true},H_={amp:true,"gemini-cli":false,cline:true,"codex-cli":false,windsurf:true,goose:true,antigravity:true,continue:true,warp:true};s(EN,"usesCommandSkillProjection");s(kN,"usesAgentSkillProjection");s(z_,"resolveConversionValue");s(pi,"shouldConvertCommandsToSkills");s(be,"shouldConvertAgentsToSkills");});function er(t,e){return e!==void 0?{level:t,flavor:e}:{level:t}}function tr(t){return typeof t=="string"?{level:t}:t}function V_(t){return {rules:tr(t.rules),additionalRules:tr(t.additionalRules),commands:tr(t.commands),agents:tr(t.agents),skills:tr(t.skills),mcp:tr(t.mcp),hooks:tr(t.hooks),ignore:tr(t.ignore),permissions:tr(t.permissions)}}var ts=d(()=>{s(er,"cap");s(tr,"normalizeCapabilityValue");s(V_,"normalizeTargetCapabilities");});function J_(t){for(let e of Gt)if(e.sharedArtifacts){for(let[r,n]of Object.entries(e.sharedArtifacts))if(n==="owner"&&t.startsWith(r))return e.id}return null}function wN(t){let e=[];for(let n of t)if(n.sharedArtifacts)for(let[o,i]of Object.entries(n.sharedArtifacts))i==="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 i=e[n],a=e[o];i===void 0||a===void 0||(i.prefix===a.prefix||i.prefix.startsWith(a.prefix)||a.prefix.startsWith(i.prefix))&&r.push({a:i,b:a});}return r}function Y_(t){let e=wN(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.
15
+ ${e}`}var M=d(()=>{s(k,"parseFrontmatter");s(P,"serializeFrontmatter");});function _j(t){let e=t.replace(/\.[^.]*$/,"").toUpperCase();return hj.has(e)}function lS(t){let e=[],r=t.split(/[\\/]/);for(let o of r)if(!(o===""||o==="."||o==="..")){if(yj.test(o)){e.push({segment:o,reason:"illegal-character"});continue}if(/[. ]$/.test(o)){e.push({segment:o,reason:"trailing-dot-or-space"});continue}_j(o)&&e.push({segment:o,reason:"reserved-name"});}return e}var hj,yj,mS=d(()=>{hj=new Set(["CON","PRN","AUX","NUL","COM1","COM2","COM3","COM4","COM5","COM6","COM7","COM8","COM9","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9"]),yj=new RegExp('[<>:"|?*\\u0000-\\u001F]');s(_j,"segmentReservedName");s(lS,"findWindowsPathIssues");});function fn(t,e){let r=lS(e);if(r.length===0)return;let o=r.map(n=>`${n.segment} (${n.reason})`).join(", ");throw new sp(t,e,`canonical ${t} name "${e}" is not portable to Windows: ${o}. Rename the file.`)}function ip(t,e,r){let o=new Map;for(let n of e){let i=n.lastIndexOf("/"),a=n.lastIndexOf("\\"),c=Math.max(i,a),l=c===-1?n:n.slice(c+1),m=l.endsWith(r)?l.slice(0,-r.length):l,p=o.get(m);if(p!==void 0&&p!==n)throw new sp(t,m,`canonical ${t} files collide on slug "${m}": ${p} vs ${n}. Rename one.`);o.set(m,n);}}var sp,Sl=d(()=>{mS();sp=class extends Error{static{s(this,"CanonicalNameError");}feature;name;constructor(e,r,o){super(o),this.feature=e,this.name=r;}};s(fn,"assertCanonicalName");s(ip,"assertNoBasenameCollisions");});function uS(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}async function hi(t){let r=(await v(t)).filter(n=>{if(!n.endsWith(".md"))return false;let i=basename(n,".md");return i==="_root"||!i.startsWith("_")}),o=[];for(let n of r){let i=await y(n);if(!i)continue;let{frontmatter:a,body:c}=k(i),l=basename(n,".md");fn("rule",l);let m=l==="_root",p=a.root===true,u=a.trigger,g=typeof u=="string"&&Ij.includes(u)?u:void 0,f=a.codex_emit,h=f==="execution"?"execution":f==="advisory"?"advisory":void 0,R=a.codex_instruction==="override"?"override":void 0;o.push({source:n,root:m||p,targets:uS(a.targets),description:typeof a.description=="string"?a.description:"",globs:uS(a.globs),body:c,...g!==void 0&&{trigger:g},...h!==void 0&&{codexEmit:h},...R!==void 0&&{codexInstructionVariant:R}});}return o}var Ij,ap=d(()=>{T();M();Sl();Ij=["always_on","model_decision","glob","manual"];s(uS,"toStrArray");s(hi,"parseRules");});function gS(t){return t===true||t==="true"||t===1||t==="1"}function fS(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 yi(t){let r=(await v(t)).filter(n=>n.endsWith(".md")&&!basename(n).startsWith("_"));ip("command",r,".md");let o=[];for(let n of r){let i=await y(n);if(!i)continue;let{frontmatter:a,body:c}=k(i),l=basename(n,".md");fn("command",l);let m=fS(a.allowedTools),p=fS(a["allowed-tools"]),u=m.length>0?m:p;o.push({source:n,name:l,description:typeof a.description=="string"?a.description:"",allowedTools:u,outputStyle:gS(a.outputStyle)||gS(a["output-style"]),body:c});}return o}var cp=d(()=>{T();M();Sl();s(gS,"toBool");s(fS,"toToolsArray");s(yi,"parseCommands");});function _i(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 yS(t){return t===true||t==="true"||t===1||t==="1"}function _S(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}function Rj(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)?t:{}}async function Ii(t){let r=(await v(t)).filter(n=>n.endsWith(".md")&&!basename(n).startsWith("_"));ip("agent",r,".md");let o=[];for(let n of r){let i=await y(n);if(!i)continue;let{frontmatter:a,body:c}=k(i),l=basename(n,".md");fn("agent",l);let m=_i(a.tools),p=_i(a.tools),u=m.length>0?m:p,g=_i(a.disallowedTools),f=_i(a["disallowed-tools"]),h=g.length>0?g:f,O=_i(a.mcpServers),R=_i(a["mcp-servers"]),S=O.length>0?O:R,A=_i(a.skills),D=_S(a.maxTurns),N=_S(a["max-turns"]),G=D>0?D:N>0?N:0;o.push({source:n,name:l,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:G,mcpServers:S,hooks:Rj(a.hooks),skills:A,memory:typeof a.memory=="string"?a.memory:"",outputStyle:yS(a.outputStyle)||yS(a["output-style"]),body:c});}return o}var lp=d(()=>{T();M();Sl();s(_i,"toStrArray");s(yS,"toBool");s(_S,"toInt");s(Rj,"toHooks");s(Ii,"parseAgents");});async function Ej(t){return await y(t)??""}function Lj(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}async function IS(t){let e=await v(t),r=[];for(let o of e){let i=o.slice(t.length+1).replace(/\\/g,"/");if(i===mp||i.endsWith(`/${mp}`))continue;let a=i.split("/")[0];if(Oj.some(l=>a===l)||i===".DS_Store"||i.endsWith("/.DS_Store"))continue;let c=await Ej(o);r.push({relativePath:i,absolutePath:o,content:c});}return r.sort((o,n)=>o.relativePath.localeCompare(n.relativePath))}async function RS(t){let e=join(t,mp),r=await y(e);if(!r)return null;let{frontmatter:o,body:n}=k(r),i=await IS(t),c=(typeof o.name=="string"?Lj(o.name):"")||basename(t);return fn("skill",c),{source:e,name:c,description:typeof o.description=="string"?o.description:"",body:n,supportingFiles:i}}async function ja(t){let e;try{e=await readdir(t,{withFileTypes:!0});}catch{return []}let r=[];for(let o of e){if(!o.isDirectory()||o.name.startsWith("_"))continue;fn("skill",o.name);let n=join(t,o.name),i=join(n,mp),a=await y(i);if(!a)continue;let{frontmatter:c,body:l}=k(a),m=await IS(n);r.push({source:i,name:o.name,description:typeof c.description=="string"?c.description:"",body:l,supportingFiles:m});}return r.sort((o,n)=>o.name.localeCompare(n.name))}var mp,Oj,pp=d(()=>{T();M();Sl();s(Ej,"readContent");mp="SKILL.md",Oj=[".git","node_modules"];s(Lj,"sanitizeSkillName");s(IS,"listSupportingFiles");s(RS,"parseSkillDirectory");s(ja,"parseSkills");});function SS(t){return t===null||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}function Aj(t){if(!t||typeof t!="object")return null;let e=t,r=typeof e.type=="string"?e.type:"stdio",o=SS(e.env),n=typeof e.description=="string"?e.description:void 0,i=typeof e.url=="string"?e.url:"";if(i)return {...n!==void 0&&{description:n},type:r,url:i,headers:SS(e.headers),env:o};let a=typeof e.command=="string"?e.command:"";if(!a)return null;let c=Array.isArray(e.args)?e.args.filter(l=>typeof l=="string"):[];return {...n!==void 0&&{description:n},type:r,command:a,args:c,env:o}}function kj(t){let e="",r=0,o=t.length;for(;r<o;){let n=t[r];if(n==='"'){for(e+=n,r++;r<o;){let i=t[r];if(e+=i,i==="\\")r++,r<o&&(e+=t[r]);else if(i==='"')break;r++;}r++;continue}if(n==="/"&&t[r+1]==="*"){for(r+=2;r<o;){if(t[r]==="*"&&t[r+1]==="/"){r+=2;break}r++;}continue}if(n==="/"&&t[r+1]==="/"){for(r+=2;r<o&&t[r]!==`
16
+ `;)r++;continue}e+=n,r++;}return e}async function br(t){let e=await y(t);if(!e)return null;let r;try{r=JSON.parse(kj(e));}catch{return null}if(!r||typeof r!="object")return null;let o=r.mcpServers;if(o===void 0||typeof o!="object"||o===null)return null;let n={};for(let[i,a]of Object.entries(o)){let c=Aj(a);c&&(n[i]=c);}return {mcpServers:n}}var Cl=d(()=>{T();s(SS,"parseStringMap");s(Aj,"parseServer");s(kj,"stripJsonComments");s(br,"parseMcp");});function Dg(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}async function up(t){let e=await y(t);if(e===null)return null;if(!e.trim())return {allow:[],deny:[],ask:[]};let r;try{r=parse(e);}catch{return null}if(!r||typeof r!="object")return null;let o=r,n=Dg(o.allow),i=Dg(o.deny),a=Dg(o.ask);return {allow:n,deny:i,ask:a}}var Ng=d(()=>{T();s(Dg,"ensureStringArray");s(up,"parsePermissions");});function CS(t){return typeof t=="string"?t.trim():""}function Kt(t){return CS(t.command)}function me(t){return CS(t.prompt)}function Fg(t){let e=Kt(t),r=me(t);return t.type==="prompt"?r||e:e||r}function hn(t){return Kt(t).length>0}function go(t){return Fg(t).length>0}var Pr=d(()=>{s(CS,"trimString");s(Kt,"getHookCommand");s(me,"getHookPrompt");s(Fg,"getHookText");s(hn,"hasHookCommand");s(go,"hasHookText");});function Pj(t){if(!t||typeof t!="object")return null;let e=t,r=e.matcher;if(typeof r!="string")return null;let o=Fg(e);if(!o)return null;let n=typeof e.type=="string"&&bj.includes(e.type)?e.type:void 0,i=typeof e.timeout=="number"&&Number.isFinite(e.timeout)?e.timeout:void 0,a=me(e)||void 0;return {matcher:r,command:o,...i!==void 0&&{timeout:i},...n&&{type:n},...a&&{prompt:a}}}async function dp(t){let e=await y(t);if(e===null)return null;if(!e.trim())return {};let r;try{r=parse(e);}catch{return null}if(!r||typeof r!="object")return null;let o={},n=r;for(let[i,a]of Object.entries(n)){if(!Array.isArray(a))continue;let c=[];for(let l of a){let m=Pj(l);m&&c.push(m);}c.length>0&&(o[i]=c);}return o}var bj,vg=d(()=>{T();Pr();bj=["command","prompt"];s(Pj,"toHookEntry");s(dp,"parseHooks");});async function gp(t){let e=await y(t);if(e===null||!e.trim())return [];let r=e.split(/\r?\n/),o=[];for(let n of r){let i=n.trim();i===""||i.startsWith("#")||o.push(i);}return o}var Gg=d(()=>{T();s(gp,"parseIgnore");});async function Ae(t){let e=join(t,".agentsmesh"),r=await j(e)?e:t,[o,n,i,a,c,l,m,p]=await Promise.all([hi(join(r,"rules")),yi(join(r,"commands")),Ii(join(r,"agents")),ja(join(r,"skills")),br(join(r,"mcp.json")),up(join(r,"permissions.yaml")),dp(join(r,"hooks.yaml")),gp(join(r,"ignore"))]);return {rules:o,commands:n,agents:i,skills:a,mcp:c,permissions:l,hooks:m,ignore:p}}var Ri=d(()=>{ap();cp();lp();pp();Cl();Ng();vg();Gg();T();s(Ae,"loadCanonicalFiles");});function ES(t){return basename(t.source,".md")}function Ua(t,e){let r=new Map(t.rules.map(p=>[ES(p),p]));for(let p of e.rules)r.set(ES(p),p);let o=new Map(t.commands.map(p=>[p.name,p]));for(let p of e.commands)o.set(p.name,p);let n=new Map(t.agents.map(p=>[p.name,p]));for(let p of e.agents)n.set(p.name,p);let i=new Map(t.skills.map(p=>[p.name,p]));for(let p of e.skills)i.set(p.name,p);let a=Dj(t.mcp,e.mcp),c=Nj(t.permissions,e.permissions),l=Fj(t.hooks,e.hooks),m=vj(t.ignore,e.ignore);return {rules:Array.from(r.values()),commands:Array.from(o.values()),agents:Array.from(n.values()),skills:Array.from(i.values()),mcp:a,permissions:c,hooks:l,ignore:m}}function Dj(t,e){if(!t&&!e)return null;let r=t?.mcpServers??{},o=e?.mcpServers??{};return {mcpServers:{...r,...o}}}function Nj(t,e){if(!t&&!e)return null;let r=Mg(t?.allow??[],e?.allow??[]),o=Mg(t?.deny??[],e?.deny??[]),n=Mg(t?.ask??[],e?.ask??[]);return {allow:r,deny:o,ask:n}}function Mg(t,e){let r=new Set(t),o=[...t];for(let n of e)r.has(n)||(r.add(n),o.push(n));return o}function Fj(t,e){if(!t&&!e)return null;let r={},o=new Set([...Object.keys(t??{}),...Object.keys(e??{})]);for(let n of o){let i=e?.[n],a=t?.[n];r[n]=i!==void 0&&i.length>0?i:a??[];}return r}function vj(t,e){let r=new Set(t),o=[...t];for(let n of e)r.has(n)||(r.add(n),o.push(n));return o}var $g=d(()=>{s(ES,"ruleSlug");s(Ua,"mergeCanonicalFiles");s(Dj,"mergeMcp");s(Nj,"mergePermissions");s(Mg,"mergeUniqueStrings");s(Fj,"mergeHooks");s(vj,"mergeIgnore");});async function fp(t){let e=null,r=0;for(let o of OS){let n=0;for(let i of o.paths)await j(join(t,i))&&n++;n>r&&(r=n,e=o.target);}return r>0?e:null}var OS,LS,jg=d(()=>{T();OS=[{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"]}];s(fp,"detectNativeFormat");LS=OS.map(t=>t.paths[0]).filter(t=>t!==void 0);});function et(t){return t.includes("\\")||xr.test(t)?win32:posix}function Pt(t){return t.replace(/\\/g,"/")}function V(t,e){let r=et(t),o=r.normalize(r===win32?e.replace(/\//g,"\\"):Pt(e));return o.endsWith(r.sep)&&o.length>1?o.slice(0,-1):o}function kS(t,e){return et(t).isAbsolute(e)||xr.test(e)}function Ka(t){let e=t,r="";for(;$j.test(e);)r=e.at(-1)+r,e=e.slice(0,-1);return {candidate:e,suffix:r}}function wS(t,e){let r=et(e),o=t.replace(/^(\.\.\/)+/,"").replace(/^\.\//,"");return o&&o!==t?V(e,r.join(e,o)):null}var xr,$j,re=d(()=>{xr=/^[A-Za-z]:[\\/]/,$j=/[.!?:;]+$/;s(et,"pathApi");s(Pt,"normalizeSeparators");s(V,"normalizeForProject");s(kS,"isAbsoluteForProject");s(Ka,"stripTrailingPunctuation");s(wS,"rootFallbackPath");});function jj(t){return Object.prototype.hasOwnProperty.call(TS,t)}function Uj(t){return Object.prototype.hasOwnProperty.call(bS,t)}function PS(t,e){if(t!==void 0)return typeof t=="boolean"?t:t[e]}function Ba(t,e,r,o="project"){let n=t.conversions?.commands_to_skills?.[e],i=PS(n,o);return i!==void 0?i:jj(e)?TS[e]:r??false}function Ve(t,e,r,o="project"){let n=t.conversions?.agents_to_skills?.[e],i=PS(n,o);return i!==void 0?i:Uj(e)?bS[e]:r??false}var TS,bS,Wa=d(()=>{TS={amp:true,"codex-cli":true,goose:true,kiro:true,warp:true},bS={amp:true,"gemini-cli":false,cline:true,"codex-cli":false,windsurf:true,goose:true,antigravity:true,continue:true,warp:true};s(jj,"usesCommandSkillProjection");s(Uj,"usesAgentSkillProjection");s(PS,"resolveConversionValue");s(Ba,"shouldConvertCommandsToSkills");s(Ve,"shouldConvertAgentsToSkills");});function Nr(t,e){return e!==void 0?{level:t,flavor:e}:{level:t}}function Dr(t){return typeof t=="string"?{level:t}:t}function xS(t){return {rules:Dr(t.rules),additionalRules:Dr(t.additionalRules),commands:Dr(t.commands),agents:Dr(t.agents),skills:Dr(t.skills),mcp:Dr(t.mcp),hooks:Dr(t.hooks),ignore:Dr(t.ignore),permissions:Dr(t.permissions)}}var Si=d(()=>{s(Nr,"cap");s(Dr,"normalizeCapabilityValue");s(xS,"normalizeTargetCapabilities");});function DS(t){for(let e of zt)if(e.sharedArtifacts){for(let[r,o]of Object.entries(e.sharedArtifacts))if(o==="owner"&&t.startsWith(r))return e.id}return null}function Kj(t){let e=[];for(let o of t)if(o.sharedArtifacts)for(let[n,i]of Object.entries(o.sharedArtifacts))i==="owner"&&e.push({targetId:o.id,prefix:n});let r=[];for(let o=0;o<e.length;o++)for(let n=o+1;n<e.length;n++){let i=e[o],a=e[n];i===void 0||a===void 0||(i.prefix===a.prefix||i.prefix.startsWith(a.prefix)||a.prefix.startsWith(i.prefix))&&r.push({a:i,b:a});}return r}function NS(t){let e=Kj(t);if(e.length===0)return;let r=e.map(({a:o,b:n})=>` - "${o.targetId}" owns "${o.prefix}" and "${n.targetId}" owns "${n.prefix}"`);throw new Error(`Shared-artifact ownership conflict: two targets claim the same or overlapping prefix.
17
17
  `+r.join(`
18
18
  `)+`
19
- Resolve by changing one target's role to 'consumer' or by namespacing its prefix.`)}var Tu=d(()=>{gt();s(J_,"ownerTargetIdForSharedPath");s(wN,"findSharedArtifactOwnershipConflicts");s(Y_,"assertSharedArtifactOwnersUnique");});function LN(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 at(t){return `${di}${t}`}function xr(t){let e={name:at(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 kl(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(di)?e.slice(di.length):e.startsWith(Fa)?e.slice(Fa.length):"",o=(r||n).trim();return o?{name:o,description:typeof t.description=="string"?t.description:"",allowedTools:LN(t["x-agentsmesh-allowed-tools"])}:null}function wl(t,e){return N({description:t.description,"allowed-tools":t.allowedTools},e.trim()||"")}var di,Fa,ae=d(()=>{v();di="am-command-",Fa="ab-command-";s(LN,"toStringArray");s(at,"commandSkillDirName");s(xr,"serializeCommandSkill");s(kl,"parseCommandSkillFrontmatter");s(wl,"serializeImportedCommand");});function Ll(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 bN(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 z(t){return `${fi}${t}`}function ce(t){let e={name:z(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 Pr(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(fi)?e.slice(fi.length):e.startsWith(va)?e.slice(va.length):"",o=(r||n).trim();return o?{name:o,description:typeof t.description=="string"?t.description:"",tools:Ll(t["x-agentsmesh-tools"]),disallowedTools:Ll(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:Ll(t["x-agentsmesh-mcp-servers"]),hooks:bN(t["x-agentsmesh-hooks"]),skills:Ll(t["x-agentsmesh-skills"]),memory:typeof t["x-agentsmesh-memory"]=="string"?t["x-agentsmesh-memory"]:""}:null}function Ae(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 fi,va,ht=d(()=>{v();fi="am-agent-",va="ab-agent-";s(Ll,"toStringArray");s(bN,"toHooks");s(z,"projectedAgentSkillDirName");s(ce,"serializeProjectedAgentSkill");s(Pr,"parseProjectedAgentSkillFrontmatter");s(Ae,"serializeImportedAgent");});function Ma(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Du(t,e){return new RegExp(`${Ma(t)}[\\s\\S]*?${Ma(e)}`,"g")}function tI(t,e,r,n){let o=Du(e,r);if(o.test(t))return t.replace(o,n).trim();let i=t.trim();return i?`${i}
19
+ Resolve by changing one target's role to 'consumer' or by namespacing its prefix.`)}var Ug=d(()=>{xt();s(DS,"ownerTargetIdForSharedPath");s(Kj,"findSharedArtifactOwnershipConflicts");s(NS,"assertSharedArtifactOwnersUnique");});function Bj(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 W(t){return `${Ha}${t}`}function bt(t){let e={name:W(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"],P(e,t.body.trim()||"")}function hp(t,e){if(t["x-agentsmesh-kind"]!=="command")return null;let r=typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"",o=e.startsWith(Ha)?e.slice(Ha.length):e.startsWith(El)?e.slice(El.length):"",n=(r||o).trim();return n?{name:n,description:typeof t.description=="string"?t.description:"",allowedTools:Bj(t["x-agentsmesh-allowed-tools"])}:null}function yp(t,e){return P({description:t.description,"allowed-tools":t.allowedTools},e.trim()||"")}var Ha,El,St=d(()=>{M();Ha="am-command-",El="ab-command-";s(Bj,"toStringArray");s(W,"commandSkillDirName");s(bt,"serializeCommandSkill");s(hp,"parseCommandSkillFrontmatter");s(yp,"serializeImportedCommand");});function _p(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 Wj(t){if(!t||typeof t!="object"||Array.isArray(t))return {};let e={};for(let[r,o]of Object.entries(t))Array.isArray(o)&&(e[r]=o.filter(n=>n!==null&&typeof n=="object"&&typeof n.matcher=="string"&&typeof n.command=="string"));return e}function $(t){return `${za}${t}`}function Lt(t){let e={name:$(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];}),P(e,t.body.trim()||"")}function fo(t,e){if(t["x-agentsmesh-kind"]!=="agent")return null;let r=typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"",o=e.startsWith(za)?e.slice(za.length):e.startsWith(Ol)?e.slice(Ol.length):"",n=(r||o).trim();return n?{name:n,description:typeof t.description=="string"?t.description:"",tools:_p(t["x-agentsmesh-tools"]),disallowedTools:_p(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:_p(t["x-agentsmesh-mcp-servers"]),hooks:Wj(t["x-agentsmesh-hooks"]),skills:_p(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(o=>{r[o]===void 0&&delete r[o];}),P(r,e.trim()||"")}var za,Ol,st=d(()=>{M();za="am-agent-",Ol="ab-agent-";s(_p,"toStringArray");s(Wj,"toHooks");s($,"projectedAgentSkillDirName");s(Lt,"serializeProjectedAgentSkill");s(fo,"parseProjectedAgentSkillFrontmatter");s(Je,"serializeImportedAgent");});function Ll(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Kg(t,e){return new RegExp(`${Ll(t)}[\\s\\S]*?${Ll(e)}`,"g")}function $S(t,e,r,o){let n=Kg(e,r);if(n.test(t))return t.replace(n,o).trim();let i=t.trim();return i?`${i}
20
20
 
21
- ${n}`:n}function Nu(t,e,r){return t.replace(Du(e,r),"").trim()}function PN(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 TN(t){return {source:PN(t.source),description:t.description,globs:t.globs,targets:t.targets}}function DN(t){return `${q_}${JSON.stringify(TN(t))}${Q_}`}function NN(t){let e=[DN(t)];return t.description.trim()&&e.push(`## ${t.description.trim()}`,""),e.push(t.body.trim(),Z_),e.filter(r=>r.length>0).join(`
22
- `)}function FN(t){return t.length===0?"":[bl,...t.map(NN),Al].join(`
23
- `)}function xt(t,e){let r=FN(e),n=Nu(t,bl,Al);return r?n?`${n}
21
+ ${o}`:o}function Bg(t,e,r){return t.replace(Kg(e,r),"").trim()}function Vj(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 Jj(t){return {source:Vj(t.source),description:t.description,globs:t.globs,targets:t.targets}}function Yj(t){return `${GS}${JSON.stringify(Jj(t))}${MS}`}function Xj(t){let e=[Yj(t)];return t.description.trim()&&e.push(`## ${t.description.trim()}`,""),e.push(t.body.trim(),vS),e.filter(r=>r.length>0).join(`
22
+ `)}function Zj(t){return t.length===0?"":[Ip,...t.map(Xj),Rp].join(`
23
+ `)}function it(t,e){let r=Zj(e),o=Bg(t,Ip,Rp);return r?o?`${o}
24
24
 
25
- ${r}`:r:n}function X_(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function vN(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:X_(r.globs),targets:X_(r.targets)}}catch{return null}}function MN(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 eI(t){let e=[],r=Du(bl,Al);return {rootContent:t.replace(r,o=>{let i=o.replace(bl,"").replace(Al,"").trim(),a=new RegExp(`${Ma(q_)}([\\s\\S]*?)${Ma(Q_)}([\\s\\S]*?)${Ma(Z_)}`,"g");for(let c of i.matchAll(a)){let l=c[1],m=c[2];if(l===void 0||m===void 0)continue;let p=vN(l);p&&e.push({...p,body:MN(m,p.description)});}return ""}).trim(),rules:e}}var $a,Ga,bl,Al,Z_,q_,Q_,xe=d(()=>{$a="<!-- agentsmesh:root-generation-contract:start -->",Ga="<!-- agentsmesh:root-generation-contract:end -->",bl="<!-- agentsmesh:embedded-rules:start -->",Al="<!-- agentsmesh:embedded-rules:end -->",Z_="<!-- agentsmesh:embedded-rule:end -->",q_="<!-- agentsmesh:embedded-rule:start ",Q_=" -->";s(Ma,"escapeRegExp");s(Du,"managedBlockPattern");s(tI,"replaceManagedBlock");s(Nu,"stripManagedBlock");s(PN,"ruleSource");s(TN,"markerForRule");s(DN,"embeddedRuleStart");s(NN,"renderRule");s(FN,"renderEmbeddedRulesBlock");s(xt,"appendEmbeddedRulesBlock");s(X_,"toStringArray");s(vN,"parseMarker");s(MN,"stripGeneratedHeading");s(eI,"extractEmbeddedRules");});function Fu(t){return t.replace(/\s+/g," ").trim()}function nI(t){let e=t.trim();if(e.includes($a)&&e.includes(Ga))return tI(e,$a,Ga,gi);let r=Fu(e);if(r.includes(Fu(gi)))return e;for(let n of rI)if(r.includes(Fu(n)))return e.replace(n,gi);return e?`${e}
25
+ ${r}`:r:o}function FS(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function Qj(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:FS(r.globs),targets:FS(r.targets)}}catch{return null}}function qj(t,e){let r=t.trim();if(!e.trim())return r;let o=`## ${e.trim()}`;return r.startsWith(o)?r.slice(o.length).trim():r}function jS(t){let e=[],r=Kg(Ip,Rp);return {rootContent:t.replace(r,n=>{let i=n.replace(Ip,"").replace(Rp,"").trim(),a=new RegExp(`${Ll(GS)}([\\s\\S]*?)${Ll(MS)}([\\s\\S]*?)${Ll(vS)}`,"g");for(let c of i.matchAll(a)){let l=c[1],m=c[2];if(l===void 0||m===void 0)continue;let p=Qj(l);p&&e.push({...p,body:qj(m,p.description)});}return ""}).trim(),rules:e}}var Al,kl,Ip,Rp,vS,GS,MS,Mt=d(()=>{Al="<!-- agentsmesh:root-generation-contract:start -->",kl="<!-- agentsmesh:root-generation-contract:end -->",Ip="<!-- agentsmesh:embedded-rules:start -->",Rp="<!-- agentsmesh:embedded-rules:end -->",vS="<!-- agentsmesh:embedded-rule:end -->",GS="<!-- agentsmesh:embedded-rule:start ",MS=" -->";s(Ll,"escapeRegExp");s(Kg,"managedBlockPattern");s($S,"replaceManagedBlock");s(Bg,"stripManagedBlock");s(Vj,"ruleSource");s(Jj,"markerForRule");s(Yj,"embeddedRuleStart");s(Xj,"renderRule");s(Zj,"renderEmbeddedRulesBlock");s(it,"appendEmbeddedRulesBlock");s(FS,"toStringArray");s(Qj,"parseMarker");s(qj,"stripGeneratedHeading");s(jS,"extractEmbeddedRules");});function Wg(t){return t.replace(/\s+/g," ").trim()}function KS(t){let e=t.trim();if(e.includes(Al)&&e.includes(kl))return $S(e,Al,kl,Va);let r=Wg(e);if(r.includes(Wg(Va)))return e;for(let o of US)if(r.includes(Wg(o)))return e.replace(o,Va);return e?`${e}
26
26
 
27
- ${gi}`:gi}function oI(t){let e=Nu(t,$a,Ga);e=e.replace(`
27
+ ${Va}`:Va}function BS(t){let e=Bg(t,Al,kl);e=e.replace(`
28
28
 
29
- ${gi}`,"");for(let r of rI)e=e.replace(`
29
+ ${Va}`,"");for(let r of US)e=e.replace(`
30
30
 
31
- ${r}`,"");return e.trim()}var vu,$N,GN,jN,UN,WN,KN,BN,HN,zN,VN,JN,YN,XN,ZN,qN,QN,gi,rI,Mu=d(()=>{xe();vu="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.",$N="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.",GN="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.",jN="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.",UN="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`.",WN="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`.",KN="`.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`.",BN="`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.",HN=vu,zN=`## Project-Specific Rules
31
+ ${r}`,"");return e.trim()}var Hg,tU,eU,rU,oU,nU,sU,iU,aU,cU,lU,mU,pU,uU,dU,gU,fU,Va,US,zg=d(()=>{Mt();Hg="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.",tU="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.",eU="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.",rU="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.",oU="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`.",nU="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`.",sU="`.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`.",iU="`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.",aU=Hg,cU=`## Project-Specific Rules
32
32
 
33
- ${vu}`,VN=`## AgentsMesh Generation Contract
33
+ ${Hg}`,lU=`## AgentsMesh Generation Contract
34
34
 
35
- ${vu}`,JN=`## AgentsMesh Generation Contract
35
+ ${Hg}`,mU=`## AgentsMesh Generation Contract
36
36
 
37
- ${$N}`,YN=`## AgentsMesh Generation Contract
37
+ ${tU}`,pU=`## AgentsMesh Generation Contract
38
38
 
39
- ${GN}`,XN=`## AgentsMesh Generation Contract
39
+ ${eU}`,uU=`## AgentsMesh Generation Contract
40
40
 
41
- ${jN}`,ZN=`## AgentsMesh Generation Contract
41
+ ${rU}`,dU=`## AgentsMesh Generation Contract
42
42
 
43
- ${UN}`,qN=`## AgentsMesh Generation Contract
43
+ ${oU}`,gU=`## AgentsMesh Generation Contract
44
44
 
45
- ${WN}`,QN=`## AgentsMesh Generation Contract
45
+ ${nU}`,fU=`## AgentsMesh Generation Contract
46
46
 
47
- ${KN}`,gi=`${$a}
47
+ ${sU}`,Va=`${Al}
48
48
  ## AgentsMesh Generation Contract
49
49
 
50
- ${BN}
51
- ${Ga}`;s(Fu,"normalizeWhitespace");rI=[QN,qN,ZN,XN,YN,JN,VN,zN,HN];s(nI,"appendAgentsmeshRootInstructionParagraph");s(oI,"stripAgentsmeshRootInstructionParagraph");});function te(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 hi(t){let e=await y(t);return e?E(e).frontmatter:{}}function jt(t,e){return typeof t[e]=="string"?t[e]:void 0}function $u(t){let e=t.hooks;return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function tF(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}function eF(t,e){let r=basename(t,".md")==="_root",n={...e};return delete n.root,{root:r,...n}}async function G(t,e,r){let n=await hi(t),o=basename(t,".md")==="_root"?oI(r):r.trim(),i=eF(t,tF({...n,...e})),a={root:i.root===true,description:typeof i.description=="string"?i.description:""};a.root===false&&(a.globs=te(i.globs));for(let[c,l]of Object.entries(i))c==="root"||c==="description"||c==="globs"||l===void 0||(a[c]=l);return N(a,o||"")}var Gu=d(()=>{b();v();Mu();s(te,"toStringArray");s(hi,"readExistingFrontmatter");s(jt,"readString");s($u,"readHooks");s(tF,"pruneUndefined");s(eF,"serializeCanonicalRuleFrontmatter");s(G,"serializeImportedRuleWithFallback");});async function it(t,e,r){let n=await hi(t),o=(()=>{let c=te(n.allowedTools);return c.length>0?c:te(n["allowed-tools"])})(),i=e.hasDescription?e.description??"":typeof n.description=="string"?n.description:"",a=e.hasAllowedTools?e.allowedTools??[]:o;return N({description:i,"allowed-tools":a},r.trim()||"")}async function Tr(t,e,r){let n=await hi(t),o=basename(dirname(t)),i=jt(e,"name")??jt(n,"name")??o,a=jt(e,"description")??jt(n,"description")??"";return N({name:i,description:a},r.trim()||"")}async function Pt(t,e,r){let n=await hi(t),o=Object.prototype.hasOwnProperty.call(e,"tools")?te(e.tools):(()=>{let R=te(n.tools);return R.length>0?R:[]})(),i=Object.prototype.hasOwnProperty.call(e,"disallowedTools")?te(e.disallowedTools):Object.prototype.hasOwnProperty.call(e,"disallowed-tools")?te(e["disallowed-tools"]):te(n.disallowedTools),a=Object.prototype.hasOwnProperty.call(e,"mcpServers")?te(e.mcpServers):Object.prototype.hasOwnProperty.call(e,"mcp-servers")?te(e["mcp-servers"]):te(n.mcpServers),c=Object.prototype.hasOwnProperty.call(e,"skills")?te(e.skills):te(n.skills),l=e.maxTurns??e["max-turns"]??n.maxTurns,m=typeof l=="number"?l:Number(l??0),p=$u(e)??$u(n),u={name:jt(e,"name")??jt(n,"name")??basename(t,".md"),description:jt(e,"description")??jt(n,"description")??"",tools:o};i.length>0&&(u.disallowedTools=i);let f=jt(e,"model")??jt(n,"model");f&&(u.model=f);let g=jt(e,"permissionMode")??jt(e,"permission-mode")??jt(n,"permissionMode")??jt(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),c.length>0&&(u.skills=c);let h=jt(e,"memory")??jt(n,"memory");return h&&(u.memory=h),N(u,r.trim()||"")}var aI=d(()=>{v();Gu();s(it,"serializeImportedCommandWithFallback");s(Tr,"serializeImportedSkillWithFallback");s(Pt,"serializeImportedAgentWithFallback");});var nt=d(()=>{Gu();aI();});function xl(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 Pe(t){await rm$1(t,{recursive:true,force:true});}var yi=d(()=>{s(xl,"shouldImportScopedAgentsRule");s(Pe,"removePathIfExists");});function kt(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 i of n.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");r.push({path:`${e}/${n.name}/${a}`,content:i.content});}}return r}async function Ct(t,e,r,n,o){let i=await readdir(join(t,e),{encoding:"utf8",withFileTypes:true}).catch(()=>null);if(i!==null)for(let a of i){if(!a.isDirectory())continue;let c=join(t,e,a.name),l=join(c,"SKILL.md"),m=await y(l);if(m===null)continue;let p=join(t,ja,a.name),u=join(p,"SKILL.md"),{frontmatter:f,body:g}=E(o(m,l,u)),h=kl(f,a.name);if(h){await Pe(join(t,ja,a.name));let k=join(t,cI);await O(k);let T=join(k,`${h.name}.md`);await C(T,wl(h,o(g,l,T))),n.push({fromTool:r,fromPath:l,toPath:`${cI}/${h.name}.md`,feature:"commands"});continue}let R=Pr(f,a.name);if(R){await Pe(join(t,ja,a.name));let k=join(t,lI);await O(k);let T=join(k,`${R.name}.md`);await C(T,Ae(R,o(g,l,T))),n.push({fromTool:r,fromPath:l,toPath:`${lI}/${R.name}.md`,feature:"agents"});continue}let S=await Tr(u,{...f,name:a.name},g);await O(p),await C(u,S),n.push({fromTool:r,fromPath:l,toPath:`${ja}/${a.name}/SKILL.md`,feature:"skills"});let _=await D(c);for(let k of _){if(k===l)continue;let T=relative(c,k).replace(/\\/g,"/"),P=await y(k);if(P===null)continue;let A=join(p,T);await O(dirname(A)),await C(A,o(P,k,A)),n.push({fromTool:r,fromPath:k,toPath:`${ja}/${a.name}/${T}`,feature:"skills"});}}}var ja,cI,lI,Rt=d(()=>{b();v();nt();ht();ae();yi();ja=".agentsmesh/skills",cI=".agentsmesh/commands",lI=".agentsmesh/agents";s(kt,"generateEmbeddedSkills");s(Ct,"importEmbeddedSkills");});var De,Jt,Dr,ju,_n,Ne,In,mI,es=d(()=>{De="AGENTS.md",Jt=".agents/skills",Dr=".amp/settings.json",ju=".config/amp",_n=`${ju}/AGENTS.md`,Ne=`${ju}/skills`,In=`${ju}/settings.json`,mI=".agentsmesh/rules";});function pI(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes("amp")),n=e?.body.trim()??"",o=xt(n,r);return o?[{path:De,content:o}]:[]}function uI(t){return kt(t,Jt)}function dI(t){return t.commands.map(e=>({path:`${Jt}/${at(e.name)}/SKILL.md`,content:xr(e)}))}function fI(t){return t.agents.map(e=>({path:`${Jt}/${z(e.name)}/SKILL.md`,content:ce(e)}))}var gI=d(()=>{Rt();xe();ht();ae();es();s(pI,"generateRules");s(uI,"generateSkills");s(dI,"generateCommands");s(fI,"generateAgents");});function mt(t,e,r){return t.startsWith(`${e}/`)&&!r.includes("codex-cli")?`.agents/skills/${t.slice(e.length+1)}`:null}var he=d(()=>{s(mt,"mirrorSkillsToAgents");});async function Yt(t,e,r){let n=join(t,e),i={...await lF(n),...r};await O(dirname(n)),await C(n,JSON.stringify({mcpServers:i},null,2));}async function lF(t){let e=await y(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[i,a]of Object.entries(n))!a||typeof a!="object"||Array.isArray(a)||(o[i]=a);return o}var Sn=d(()=>{b();s(Yt,"writeMcpWithMerge");s(lF,"readExistingServers");});function Cn(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}function Fe(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 _i(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function Ii(t){return !t||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}var nr=d(()=>{s(Cn,"toGlobsArray");s(Fe,"toToolsArray");s(_i,"toStringArray");s(Ii,"toStringRecord");});function uF(t,e){return e.some(r=>t.endsWith(r))}async function dt(t){let r=(await D(t.srcDir)).filter(o=>uF(o,t.extensions)),n=[];for(let o of r){let i=await y(o);if(!i)continue;let a=relative(t.srcDir,o).replace(/\\/g,"/"),c=await t.mapEntry({srcPath:o,relativePath:a,content:i,normalizeTo:s((l,m=i)=>t.normalize(m,o,l),"normalizeTo")});c&&(await O(dirname(c.destPath)),await C(c.destPath,c.content),n.push({fromTool:t.fromTool,fromPath:o,toPath:c.toPath,feature:c.feature}));}return n}var or=d(()=>{b();s(uF,"matchesExtension");s(dt,"importFileDirectory");});function hI(t){return typeof t=="string"?t:void 0}function dF(t){for(let e of Object.keys(t))t[e]===void 0&&delete t[e];return t}function Wu(t,e){return e?e(t):t}function fF(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=E(e.normalizeTo(r)),i=Wu(n,t.frontmatterRemap),a=dF({root:false,description:hI(i.description),globs:Array.isArray(i.globs)?i.globs:void 0,...i});return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:await G(r,a,o)}}}function gF(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=E(e.normalizeTo(r)),i=Wu(n,t.frontmatterRemap),a=await it(r,{hasDescription:true,description:hI(i.description),hasAllowedTools:true,allowedTools:_i(i["allowed-tools"])},o);return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:a}}}function hF(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=E(e.normalizeTo(r)),i=Wu(n,t.frontmatterRemap);return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:await Pt(r,i,o)}}}function yI(t){if(t.map)return t.map;switch(t.preset){case "rule":return fF(t);case "command":return gF(t);case "agent":return hF(t);default:throw new Error(`ImportFeatureSpec for ${t.feature} (mode: ${t.mode}) needs a \`preset\` or \`map\``)}}var _I=d(()=>{v();nt();nr();s(hI,"pickString");s(dF,"pruneUndefined");s(Wu,"applyRemap");s(fF,"ruleMapper");s(gF,"commandMapper");s(hF,"agentMapper");s(yI,"resolveMapper");});function Ku(t,e){return t?t[e]??[]:[]}var II,SI=d(()=>{II=["rules","commands","agents","skills","mcp","hooks","permissions","ignore"];s(Ku,"resolveScopedSources");});async function IF(t,e,r,n,o){if(!t.canonicalRootFilename)throw new Error(`singleFile spec for ${t.feature} must set canonicalRootFilename`);let i=join(r,t.canonicalDir);for(let a of e){let c=join(r,a),l=await y(c);if(l===null)continue;await O(i);let m=join(i,t.canonicalRootFilename),p=s(S=>o(l,c,S),"normalizeTo");if(t.map){let S=await t.map({absolutePath:c,relativePath:a,content:l,destDir:i,normalizeTo:p});if(!S)continue;return await C(S.destPath,S.content),[{fromTool:n,fromPath:c,toPath:S.toPath,feature:t.feature}]}let{frontmatter:u,body:f}=E(p(m)),g=t.frontmatterRemap?t.frontmatterRemap(u):u,h=t.markAsRoot?{...g,root:true}:g,R=await G(m,h,f);return await C(m,R),[{fromTool:n,fromPath:c,toPath:`${t.canonicalDir}/${t.canonicalRootFilename}`,feature:t.feature}]}return []}async function SF(t,e,r,n,o){let i=yI(t),a=join(r,t.canonicalDir),c=[];for(let l of e){let m=join(r,l),p=await dt({srcDir:m,destDir:a,extensions:[...t.extensions??[".md"]],fromTool:n,normalize:o,mapEntry:s(async({srcPath:u,relativePath:f,content:g,normalizeTo:h})=>{let R=await i({absolutePath:u,relativePath:f,content:g,destDir:a,normalizeTo:s(S=>h(S),"normalizeTo")});return R?{destPath:R.destPath,toPath:R.toPath,feature:t.feature,content:R.content}:null},"mapEntry")});c.push(...p);}return c}function RI(t){let e=t.canonicalFilename;return e.includes("/")||e.includes("\\")?e:posix.join(t.canonicalDir,e)}async function CF(t,e,r,n){if(!t.canonicalFilename)throw new Error(`flatFile spec for ${t.feature} must set canonicalFilename`);let o=RI(t);for(let i of e){let a=join(r,i),c=await y(a);if(c===null)continue;let l=join(r,o);return await O(dirname(l)),await C(l,c.trimEnd()),[{fromTool:n,fromPath:a,toPath:o,feature:t.feature}]}return []}function RF(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,i]of Object.entries(r)){if(!i||typeof i!="object"||Array.isArray(i))continue;let a=i,c=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:_i(a.args),env:Ii(a.env),description:c};continue}typeof a.url=="string"&&(n[o]={type:typeof a.type=="string"?a.type:"http",url:a.url,headers:Ii(a.headers),env:Ii(a.env),description:c});}return n}async function OF(t,e,r,n){if(!t.canonicalFilename)throw new Error(`mcpJson spec for ${t.feature} must set canonicalFilename`);let o=RI(t);for(let i of e){let a=join(r,i),c=await y(a);if(c===null)continue;let l=RF(c);return Object.keys(l).length===0?[]:(await Yt(r,o,l),[{fromTool:n,fromPath:a,toPath:o,feature:t.feature}])}return []}function CI(t,e,r,n,o){switch(t.mode){case "singleFile":return IF(t,e,r,n,o);case "directory":return SF(t,e,r,n,o);case "flatFile":return CF(t,e,r,n);case "mcpJson":return OF(t,e,r,n)}}async function EF(t,e,r,n,o){let i=Ku(t.source,e),a=Ku(t.fallbacks,e);if(i.length===0&&a.length===0)return [];if(i.length>0){let c=await CI(t,i,r,n,o);if(c.length>0)return c}return a.length>0?CI(t,a,r,n,o):[]}function kF(t,e){let r=t[e];return r?Array.isArray(r)?r:[r]:[]}async function tt(t,e,r,n){let o=t.importer;if(!o)return [];let i=n?.normalize??await H(t.id,e,r),a=[];for(let c of II)for(let l of kF(o,c))a.push(...await EF(l,r,e,t.id,i));return a}var Ut=d(()=>{Ot();b();Sn();v();nr();nt();or();_I();SI();s(IF,"runSingleFile");s(SF,"runDirectory");s(RI,"resolveCanonicalFilePath");s(CF,"runFlatFile");s(RF,"parseMcpJson");s(OF,"runMcpJson");s(CI,"dispatchSpec");s(EF,"runSpec");s(kF,"specsForFeature");s(tt,"runDescriptorImport");});async function EI(t,e,r){let n=await y(join(t,e));if(n===null)return;let o;try{o=JSON.parse(n);}catch{return}if(o===null||typeof o!="object"||Array.isArray(o))return;let i=o,a=i["amp.mcpServers"]??i.mcpServers;if(a==null||typeof a!="object"||Array.isArray(a)||Object.keys(a).length===0)return;let c={};for(let[l,m]of Object.entries(a))!m||typeof m!="object"||Array.isArray(m)||(c[l]=m);Object.keys(c).length!==0&&(await Yt(t,OI,c),r.push({fromTool:"amp",fromPath:e,toPath:OI,feature:"mcp"}));}var OI,kI=d(()=>{b();Sn();es();OI=".agentsmesh/mcp.json";s(EI,"importAmpMcp");});async function wI(t,e={}){let r=e.scope??"project",n=[],o=await H("amp",t,r);return n.push(...await tt(Pl,t,r,{normalize:o})),await Ct(t,r==="global"?Ne:Jt,"amp",n,o),await EI(t,r==="global"?In:Dr,n),n}var LI=d(()=>{Ot();Rt();Ut();kI();es();Bu();s(wI,"importFromAmp");});function LF(t,e){return AI(e).some(n=>bF(t,n))}function bI(t,e){return t.filter(r=>LF(r,e))}function AI(t){let e=t.match(/^(.+)\{([^}]+)\}(.*)$/);if(!e)return [t];let[,r,n,o]=e;if(!n)return [t];let i=n.split(",").map(c=>c.trim()),a=[];for(let c of i)for(let l of AI(r+c+o))a.push(l);return a}function bF(t,e){return AF(e).test(t)}function AF(t){let e=[],r=0;for(;r<t.length;){if(t.startsWith("**",r)){let i=t.slice(r+2);if(i.length===0&&e.length===0)e.push(".*");else if(e.push(i.startsWith("/")?"(?:[^/]+/)*":"(?:/[^/]+)*?"),i.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 xI=d(()=>{s(LF,"globMatch");s(bI,"globFilter");s(AI,"expandBraces");s(bF,"matchOne");s(AF,"globToRegex");});function q(t,e,r,n={}){let o=[],{rules:i}=t;if(i.length===0)return [];if(i.some(c=>c.root)||o.push({level:"error",file:relative(e,i[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 c of i){if(c.globs.length===0)continue;let l=false;for(let m of c.globs)if(bI(r,m).length>0){l=true;break}l||o.push({level:"warning",file:relative(e,c.source),message:`globs "${c.globs.join(", ")}" match 0 files in project`});}return o}var Wt=d(()=>{xI();s(q,"validateRules");});function TI(t,e,r,n){return q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:"amp"}))}var DI=d(()=>{Wt();es();s(TI,"lintRules");});function j(t,e,r){return {level:"warning",file:t,target:e,message:r}}function xF(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 Si(t,e,r,n){let o=n?.unsupportedBy??e,i=xF(r);return j(".agentsmesh/hooks.yaml",e,`${t} is not supported by ${o}; only ${i} are projected.`)}var Tt=d(()=>{s(j,"createWarning");s(xF,"formatOxfordComma");s(Si,"createUnsupportedHookWarning");});function NI(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[j(".agentsmesh/hooks.yaml","amp","Amp has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function FI(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","amp","Amp permissions are managed via amp.permissions in settings.json; canonical permissions are not projected.")]}function vI(t){return t.ignore.length===0?[]:[j(".agentsmesh/ignore","amp","Amp has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}var MI=d(()=>{Tt();s(NI,"lintHooks");s(FI,"lintPermissions");s(vI,"lintIgnore");});function w(t,e){return J(t).relative(t,e).replace(/\\/g,"/")}async function L(t,e){return D(J(t).join(t,e)).catch(()=>[])}function GI(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}function vF(t,e,r,n){let o=posix.dirname(e),i=posix.dirname(r);for(;o!==n&&o!==".";)GI(t,o,i),o=posix.dirname(o),i=posix.dirname(i);}function M(t,e,r,n){t.set(e,`${r}/${basename(e,n)}.md`);}function K(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,`${$I}/${u}/SKILL.md`);return}let[o,...i]=n.split("/"),a=i.join("/");if(!o||!a)return;let c=o.startsWith(di)?di:o.startsWith(Fa)?Fa:null;if(c&&a==="SKILL.md"){t.set(e,`${NF}/${o.slice(c.length)}.md`);return}let l=o.startsWith(fi)?fi:o.startsWith(va)?va:null;if(l&&a==="SKILL.md"){t.set(e,`${FF}/${o.slice(l.length)}.md`);return}let m=`${$I}/${o}`;a==="SKILL.md"&&GI(t,`${r}/${o}`,m);let p=`${m}/${a}`;t.set(e,p),a!=="SKILL.md"&&vF(t,e,p,`${r}/${o}`);}function MF(t){return t.split("/").filter(Boolean)[0]??""}async function $F(){if(Hu!==void 0)return Hu;let{BUILTIN_TARGETS:t}=await Promise.resolve().then(()=>(gt(),jI)),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=MF(n);o.startsWith(".")&&e.add(o);}return Hu=e,e}function Vu(t){return t.split("/").some(e=>e.startsWith("."))}async function GF(t){let e=[],r=await $F(),n=J(t);async function o(i){let a=n.join(t,i),c=await readdir(a,{withFileTypes:true}).catch(()=>[]);for(let l of c){let m=i?`${i}/${l.name}`:l.name;if(l.isDirectory()){if(r.has(l.name)||Vu(m))continue;await o(m);continue}if(l.isSymbolicLink()&&await stat(n.join(t,m)).then(p=>p.isDirectory(),()=>false)){if(r.has(l.name)||Vu(m))continue;await o(m);continue}(l.name==="AGENTS.md"||l.name==="AGENTS.override.md")&&e.push(n.join(t,m));}}return s(o,"walk"),await o(""),e}async function Tl(t,e){let r=await GF(e);for(let n of r){let o=w(e,n),i=o.endsWith("/AGENTS.md")&&o!=="AGENTS.md"&&!o.endsWith("/AGENTS.override.md"),a=o.endsWith("/AGENTS.override.md")&&o!=="AGENTS.override.md";if(!i&&!a)continue;let c=posix.dirname(o);if(Vu(c))continue;let l=c.replace(/\//g,"-");t.set(o,`${DF}/${l}.md`);}}var DF,NF,FF,$I,Hu,$t=d(()=>{Vt();b();ae();ht();DF=".agentsmesh/rules",NF=".agentsmesh/commands",FF=".agentsmesh/agents",$I=".agentsmesh/skills";s(w,"rel");s(L,"listFiles");s(GI,"addDirectoryMapping");s(vF,"addAncestorMappings");s(M,"addSimpleFileMapping");s(K,"addSkillLikeMapping");s(MF,"firstPathSegment");s($F,"targetRootSegments");s(Vu,"hasHiddenSegment");s(GF,"listScopedAgentsFiles");s(Tl,"addScopedAgentsMappings");});var x,ot,yt,Dt=d(()=>{x=".agentsmesh/rules",ot=".agentsmesh/commands",yt=".agentsmesh/agents";});async function Ju(t,e,r="project"){if(r==="global"){t.set(_n,`${x}/_root.md`);for(let n of await L(e,Ne))K(t,w(e,n),Ne);t.set(In,".agentsmesh/mcp.json");return}t.set(De,`${x}/_root.md`);for(let n of await L(e,Jt))K(t,w(e,n),Jt);t.set(Dr,".agentsmesh/mcp.json");}var UI=d(()=>{$t();es();Dt();s(Ju,"buildAmpImportPaths");});var rs,Dl,Nr,sr,Wa,ir,Rn,Ka,Fr,On,Ba,Ci,Yu,ns,Nl,WI,os=d(()=>{rs="antigravity",Dl=".agents",Nr=`${Dl}/rules`,sr=`${Nr}/general.md`,Wa=`${Nr}/_root.md`,ir=`${Dl}/skills`,Rn=`${Dl}/workflows`,Ka=`${Dl}/antigravity/mcp_config.json`,Fr=".gemini/antigravity/GEMINI.md",On=".gemini/antigravity/skills",Ba=".gemini/antigravity/workflows",Ci=".gemini/antigravity/mcp_config.json",Yu=".agentsmesh/rules/_root.md",ns=".agentsmesh/rules",Nl=".agentsmesh/commands",WI=".agentsmesh/mcp.json";});async function Xu(t,e,r="project"){if(r==="global"){t.set(Fr,`${x}/_root.md`);for(let n of await L(e,On))K(t,w(e,n),On);t.set(Ci,".agentsmesh/mcp.json");return}t.set(sr,`${x}/_root.md`),t.set(Wa,`${x}/_root.md`);for(let n of await L(e,Nr)){let o=w(e,n);o===sr||o===Wa||M(t,o,x,".md");}for(let n of await L(e,Rn))M(t,w(e,n),ot,".md");for(let n of await L(e,ir))K(t,w(e,n),ir);}var KI=d(()=>{$t();os();Dt();s(Xu,"buildAntigravityImportPaths");});var BI,so,HI,Ha,za,Va,Ja,Ya,En,Zu,Xa,Ri,Za,qa,Fl,vl,qu,Qa,Qu,ss,zI,kn=d(()=>{BI="claude-code",so=".claude/CLAUDE.md",HI="CLAUDE.md",Ha=".claude/rules",za=".claude/commands",Va=".claude/agents",Ja=".claude/skills",Ya=".claude/settings.json",En=".claude/hooks.json",Zu=".claude/output-styles",Xa=".claudeignore",Ri=".mcp.json",Za=".claude.json",qa=".agentsmesh/rules",Fl=".agentsmesh/commands",vl=".agentsmesh/agents",qu=".agentsmesh/skills",Qa=".agentsmesh/mcp.json",Qu=".agentsmesh/permissions.yaml",ss=".agentsmesh/hooks.yaml",zI=".agentsmesh/ignore";});async function td(t,e,r="project"){if(t.set(".claude/CLAUDE.md",`${x}/_root.md`),t.set(En,ss),r==="project"&&t.set("CLAUDE.md",`${x}/_root.md`),r==="global")for(let n of await L(e,".agents/skills"))K(t,w(e,n),".agents/skills");for(let n of await L(e,".claude/rules"))M(t,w(e,n),x,".md");for(let n of await L(e,".claude/commands"))M(t,w(e,n),ot,".md");for(let n of await L(e,".claude/agents"))M(t,w(e,n),yt,".md");for(let n of await L(e,".claude/skills"))K(t,w(e,n),".claude/skills");}var VI=d(()=>{$t();kn();Dt();s(td,"buildClaudeCodeImportPaths");});var io,wn,is,Ln,JI,Kt,vr,ao,as,cs,ls,ms,ed,co,Ml,rd,nd,od,YI,ve=d(()=>{io="cline",wn=".clinerules",is=".clineignore",Ln=".cline/cline_mcp_settings.json",JI=".cline/mcp_settings.json",Kt=".cline/skills",vr=".clinerules/workflows",ao="AGENTS.md",as=".clinerules/hooks",cs="Documents/Cline/Rules",ls="Documents/Cline/Workflows",ms="Documents/Cline/Hooks",ed=".agentsmesh/hooks.yaml",co=".agentsmesh/rules",Ml=".agentsmesh/commands",rd=".agentsmesh/ignore",nd=".agentsmesh/mcp.json",od=".agentsmesh/agents",YI=".agentsmesh/skills";});async function sd(t,e,r="project"){if(r==="global"){for(let n of await L(e,cs))M(t,w(e,n),x,".md");for(let n of await L(e,ls))M(t,w(e,n),ot,".md");for(let n of await L(e,Kt))K(t,w(e,n),Kt);t.set(Ln,".agentsmesh/mcp.json");return}t.set(".clinerules/_root.md",`${x}/_root.md`);for(let n of await L(e,".clinerules")){let o=w(e,n);!o.endsWith(".md")||o.includes("/workflows/")||basename(o)==="_root.md"||M(t,o,x,".md");}for(let n of await L(e,".clinerules/workflows"))M(t,w(e,n),ot,".md");for(let n of await L(e,".cline/skills"))K(t,w(e,n),".cline/skills");}var XI=d(()=>{$t();ve();Dt();s(sd,"buildClineImportPaths");});async function id(t,e,r="project"){if(r==="global"?(t.set(".codex/AGENTS.md",`${x}/_root.md`),t.set(".codex/AGENTS.override.md",`${x}/_root.md`)):(t.set("AGENTS.md",`${x}/_root.md`),t.set("codex.md",`${x}/_root.md`),await Tl(t,e)),r==="project")for(let n of await L(e,".codex/instructions"))M(t,w(e,n),x,".md");for(let n of await L(e,".codex/rules")){let o=w(e,n);o.endsWith(".rules")?M(t,o,x,".rules"):o.endsWith(".md")&&M(t,o,x,".md");}for(let n of await L(e,".codex/agents"))M(t,w(e,n),yt,".toml");for(let n of await L(e,".agents/skills"))K(t,w(e,n),".agents/skills");}var ZI=d(()=>{$t();Dt();s(id,"buildCodexCliImportPaths");});var Oi,ar,Mr,ad,$l,bn,cd,ye,Ei,tc,Gl,jl,ld,$r=d(()=>{Oi="continue",ar=".continue/rules",Mr=".continue/prompts",ad=".continue/mcpServers",$l=`${ad}/agentsmesh.json`,bn=`${ar}/general.md`,cd=`${ar}/_root.md`,ye=".continue/skills",Ei=".continue/AGENTS.md",tc=".continue/config.yaml",Gl=".agentsmesh/rules",jl=".agentsmesh/commands",ld=".agentsmesh/mcp.json";});async function md(t,e,r="project"){t.set(bn,`${x}/_root.md`),t.set(cd,`${x}/_root.md`);for(let n of await L(e,".continue/rules")){let o=w(e,n);o===bn||o===cd||M(t,o,x,".md");}for(let n of await L(e,".continue/prompts"))t.set(w(e,n),`${ot}/${basename(n,".md")}.md`);for(let n of await L(e,".continue/skills"))K(t,w(e,n),".continue/skills");if(r==="global")for(let n of await L(e,".agents/skills"))K(t,w(e,n),".agents/skills");}var qI=d(()=>{$t();$r();Dt();s(md,"buildContinueImportPaths");});function WF(t,e){if(e.endsWith(".instructions.md")){t.set(e,`${x}/${basename(e,".instructions.md")}.md`);return}M(t,e,x,".md");}async function pd(t,e){t.set(".github/copilot-instructions.md",`${x}/_root.md`);for(let r of await L(e,".github/copilot"))t.set(w(e,r),`${x}/${basename(r,".instructions.md")}.md`);for(let r of await L(e,".github/instructions"))WF(t,w(e,r));for(let r of await L(e,".github/prompts"))t.set(w(e,r),`${ot}/${basename(r,".prompt.md")}.md`);for(let r of await L(e,".github/agents"))t.set(w(e,r),`${yt}/${basename(r,".agent.md")}.md`);for(let r of await L(e,".github/skills"))K(t,w(e,r),".github/skills");}var QI=d(()=>{$t();Dt();s(WF,"addCopilotInstructionMapping");s(pd,"buildCopilotImportPaths");});var tS,lo,eS,Me,An,$e,ki,Gr,jr,Ur,Wl,cr,ud,KF,wi,lr,ec,mo,po,Wr,uo,fo,rS,Li,dd,rc,fd,wt=d(()=>{tS="cursor",lo="AGENTS.md",eS=".cursorrules",Me=".cursor/rules",An=`${Me}/general.mdc`,$e=".cursor/commands",ki=".cursor/agents",Gr=".cursor/skills",jr=".cursor/mcp.json",Ur=".cursor/hooks.json",Wl=".cursor/settings.json",cr=".cursorignore",ud=".cursorindexingignore",KF=".agentsmesh-exports/cursor",wi=`${KF}/user-rules.md`,lr=".cursor/AGENTS.md",ec=jr,mo=Gr,po=ki,Wr=".agentsmesh/rules",uo=".agentsmesh/commands",fo=".agentsmesh/agents",rS=".agentsmesh/skills",Li=".agentsmesh/mcp.json",dd=".agentsmesh/permissions.yaml",rc=".agentsmesh/hooks.yaml",fd=".agentsmesh/ignore";});async function gd(t,e,r="project"){if(r==="global"){t.set(jr,".agentsmesh/mcp.json"),t.set(".cursor/AGENTS.md",`${x}/_root.md`);for(let n of await L(e,".cursor/rules"))M(t,w(e,n),x,".mdc");for(let n of await L(e,".cursor/commands"))M(t,w(e,n),ot,".md");for(let n of await L(e,".cursor/agents"))M(t,w(e,n),yt,".md");for(let n of await L(e,".cursor/skills"))K(t,w(e,n),".cursor/skills");return}t.set("AGENTS.md",`${x}/_root.md`);for(let n of await L(e,".cursor/rules"))M(t,w(e,n),x,".mdc");for(let n of await L(e,".cursor/commands"))M(t,w(e,n),ot,".md");for(let n of await L(e,".cursor/agents"))M(t,w(e,n),yt,".md");for(let n of await L(e,".cursor/skills"))K(t,w(e,n),".cursor/skills");}var nS=d(()=>{$t();wt();Dt();s(gd,"buildCursorImportPaths");});async function hd(t,e){for(let r of await L(e,".gemini/rules"))M(t,w(e,r),x,".md");for(let r of await L(e,".gemini/commands")){let n=w(e,r);if(!n.endsWith(".toml")&&!n.endsWith(".md"))continue;let o=n.replace(/\.(toml|md)$/i,""),i=".gemini/commands/",l=(o.startsWith(i)?o.slice(i.length):o).split("/").filter(Boolean).join(":");t.set(n,`${ot}/${l}.md`);}for(let r of await L(e,".gemini/agents"))M(t,w(e,r),yt,".md");for(let r of await L(e,".gemini/skills"))K(t,w(e,r),".gemini/skills");}var oS=d(()=>{$t();Dt();s(hd,"buildGeminiCliImportPaths");});var Kr,Ge,ee,xn,sS,Pn,ps,je,iS,aS,bi=d(()=>{Kr="goose",Ge=".goosehints",ee=".agents/skills",xn=".gooseignore",sS=".config/goose",Pn=`${sS}/.goosehints`,ps=`${sS}/.gooseignore`,je=".agents/skills",iS=".agentsmesh/rules",aS=".agentsmesh/ignore";});async function yd(t,e,r="project"){if(r==="global"){t.set(Pn,`${x}/_root.md`);for(let n of await L(e,je))K(t,w(e,n),je);t.set(ps,".agentsmesh/ignore");return}t.set(Ge,`${x}/_root.md`);for(let n of await L(e,ee))K(t,w(e,n),ee);t.set(xn,".agentsmesh/ignore");}var cS=d(()=>{$t();bi();Dt();s(yd,"buildGooseImportPaths");});var us,go,Kl,lS,Br,mS,BF,nc,ds,oc,Ai,xi,sc,ic,ac,cc,lc,HF,Bl,fs,pS,_d,Hl,uS,dS,fS,gS,Pi=d(()=>{us="junie",go=".junie",Kl=`${go}/guidelines.md`,lS=`${go}/ci-guidelines.md`,Br=`${go}/AGENTS.md`,mS="AGENTS.md",BF=`${go}/mcp`,nc=`${BF}/mcp.json`,ds=`${go}/skills`,oc=`${go}/rules`,Ai=`${go}/commands`,xi=`${go}/agents`,sc=".aiignore",ic=".junie",ac=`${ic}/skills`,cc=`${ic}/agents`,lc=`${ic}/commands`,HF=`${ic}/mcp`,Bl=`${HF}/mcp.json`,fs=`${ic}/AGENTS.md`,pS=".agents/skills",_d=".agentsmesh/rules/_root.md",Hl=".agentsmesh/rules",uS=".agentsmesh/commands",dS=".agentsmesh/agents",fS=".agentsmesh/mcp.json",gS=".agentsmesh/ignore";});async function Id(t,e){t.set(Kl,`${x}/_root.md`),t.set(Br,`${x}/_root.md`),t.set("AGENTS.md",`${x}/_root.md`);for(let r of await L(e,".junie/rules"))M(t,w(e,r),x,".md");for(let r of await L(e,".junie/commands"))M(t,w(e,r),ot,".md");for(let r of await L(e,".junie/agents"))M(t,w(e,r),yt,".md");for(let r of await L(e,".junie/skills"))K(t,w(e,r),".junie/skills");}var hS=d(()=>{$t();Pi();Dt();s(Id,"buildJunieImportPaths");});var re,mc,Hr,Tn,Dn,Nn,mr,ho,Ti,zl,gs,Di,hs,pc,Vl,Ni,yo,ys,_s,Is,_o,Fi,Jl,yS,Io,vi,Ss,_S,IS,Cs=d(()=>{re="kilo-code",mc=".kilo",Hr="AGENTS.md",Tn=`${mc}/rules`,Dn=`${mc}/commands`,Nn=`${mc}/agents`,mr=`${mc}/skills`,ho=`${mc}/mcp.json`,Ti=".kilocodeignore",zl=".kilocode",gs=`${zl}/rules`,Di=`${zl}/workflows`,hs=`${zl}/skills`,pc=`${zl}/mcp.json`,Vl=".kilocodemodes",Ni=".kilo",yo=`${Ni}/AGENTS.md`,ys=`${Ni}/rules`,_s=`${Ni}/commands`,Is=`${Ni}/agents`,_o=`${Ni}/skills`,Fi=`${Ni}/mcp.json`,Jl=".kilocodeignore",yS=".agents/skills",Io=".agentsmesh/rules",vi=".agentsmesh/commands",Ss=".agentsmesh/agents",_S=".agentsmesh/mcp.json",IS=".agentsmesh/ignore";});async function Sd(t,e,r="project"){if(r==="global"){t.set(yo,`${x}/_root.md`);for(let n of await L(e,ys))M(t,w(e,n),x,".md");for(let n of await L(e,_s))M(t,w(e,n),ot,".md");for(let n of await L(e,Is))M(t,w(e,n),yt,".md");for(let n of await L(e,_o))K(t,w(e,n),_o);t.set(Fi,".agentsmesh/mcp.json");return}t.set(Hr,`${x}/_root.md`);for(let n of await L(e,Tn))M(t,w(e,n),x,".md");for(let n of await L(e,Dn))M(t,w(e,n),ot,".md");for(let n of await L(e,Nn))M(t,w(e,n),yt,".md");for(let n of await L(e,mr))K(t,w(e,n),mr);t.set(ho,".agentsmesh/mcp.json");for(let n of await L(e,gs)){let o=w(e,n);if(basename(o)==="00-root.md"){t.set(o,`${x}/_root.md`);continue}M(t,o,x,".md");}for(let n of await L(e,Di))M(t,w(e,n),ot,".md");for(let n of await L(e,hs))K(t,w(e,n),hs);t.set(pc,".agentsmesh/mcp.json");}var SS=d(()=>{$t();Cs();Dt();s(Sd,"buildKiloCodeImportPaths");});var _e,pr,uc,ur,ne,dr,So,CS,Mi,$i,Rs,fr,Co,Os,dc,fc,RS,Cd,Rd,OS,ES,Od,kS,Gi=d(()=>{_e="kiro",pr="AGENTS.md",uc=".kiro",ur=`${uc}/steering`,ne=`${uc}/skills`,dr=`${uc}/agents`,So=`${uc}/hooks`,CS=`${uc}/settings`,Mi=`${CS}/mcp.json`,$i=".kiroignore",Rs=".kiro/steering",fr=".kiro/steering/AGENTS.md",Co=".kiro/skills",Os=".kiro/agents",dc=".kiro/settings/mcp.json",fc=".kiro/settings/kiroignore",RS=".agents/skills",Cd=".agentsmesh/rules/_root.md",Rd=".agentsmesh/rules",OS=".agentsmesh/agents",ES=".agentsmesh/mcp.json",Od=".agentsmesh/hooks.yaml",kS=".agentsmesh/ignore";});async function Ed(t,e,r="project"){if(r==="global"){t.set(fr,`${x}/_root.md`);for(let n of await L(e,Rs)){let o=w(e,n);o!==fr&&M(t,o,x,".md");}for(let n of await L(e,Co))K(t,w(e,n),Co);for(let n of await L(e,Os))M(t,w(e,n),yt,".md");return}t.set(pr,`${x}/_root.md`);for(let n of await L(e,ur))M(t,w(e,n),x,".md");for(let n of await L(e,ne))K(t,w(e,n),ne);for(let n of await L(e,dr))M(t,w(e,n),yt,".md");}var wS=d(()=>{$t();Gi();Dt();s(Ed,"buildKiroImportPaths");});var gr,Yl,zr,Fn,vn,Mn,hr,Vr,ji,Ro,Es,ks,ws,Oo,Eo,LS,gc,Xl,Zl,kd,Ls=d(()=>{gr="opencode",Yl=".opencode",zr="AGENTS.md",Fn=`${Yl}/rules`,vn=`${Yl}/commands`,Mn=`${Yl}/agents`,hr=`${Yl}/skills`,Vr="opencode.json",ji=".config/opencode",Ro=`${ji}/AGENTS.md`,Es=`${ji}/rules`,ks=`${ji}/commands`,ws=`${ji}/agents`,Oo=`${ji}/skills`,Eo=`${ji}/opencode.json`,LS=".agents/skills",gc=".agentsmesh/rules",Xl=".agentsmesh/commands",Zl=".agentsmesh/agents",kd=".agentsmesh/mcp.json";});async function wd(t,e,r="project"){if(r==="global"){t.set(Ro,`${x}/_root.md`);for(let n of await L(e,Es))M(t,w(e,n),x,".md");for(let n of await L(e,ks))M(t,w(e,n),ot,".md");for(let n of await L(e,ws))M(t,w(e,n),yt,".md");for(let n of await L(e,Oo))K(t,w(e,n),Oo);t.set(Eo,".agentsmesh/mcp.json");return}t.set(zr,`${x}/_root.md`);for(let n of await L(e,Fn))M(t,w(e,n),x,".md");for(let n of await L(e,vn))M(t,w(e,n),ot,".md");for(let n of await L(e,Mn))M(t,w(e,n),yt,".md");for(let n of await L(e,hr))K(t,w(e,n),hr);t.set(Vr,".agentsmesh/mcp.json");}var bS=d(()=>{$t();Ls();Dt();s(wd,"buildOpencodeImportPaths");});var ko,bs,yr,hc,$n,Gn,Jr,yc,_c,Ui,Ic,ql,wo,Lo,jn,As,Sc,bo,AS,xs,Ql,xS,PS,Ps=d(()=>{ko="roo-code",bs=".roo",yr=`${bs}/rules/00-root.md`,hc=".roorules",$n=`${bs}/rules`,Gn=`${bs}/commands`,Jr=`${bs}/skills`,yc=`${bs}/mcp.json`,_c=".rooignore",Ui=".roomodes",Ic="settings/custom_modes.yaml",ql=".roo",wo=`${ql}/rules`,Lo=`${ql}/commands`,jn=`${ql}/skills`,As="mcp_settings.json",Sc=".rooignore",bo=`${ql}/AGENTS.md`,AS=".agents/skills",xs=".agentsmesh/rules",Ql=".agentsmesh/commands",xS=".agentsmesh/mcp.json",PS=".agentsmesh/ignore";});async function Ld(t,e,r="project"){if(r==="global"){t.set(bo,`${x}/_root.md`);for(let n of await L(e,wo))M(t,w(e,n),x,".md");for(let n of await L(e,Lo))M(t,w(e,n),ot,".md");for(let n of await L(e,jn))K(t,w(e,n),jn);t.set(As,".agentsmesh/mcp.json");return}t.set(yr,`${x}/_root.md`),t.set(hc,`${x}/_root.md`);for(let n of await L(e,$n)){let o=w(e,n);o!==yr&&M(t,o,x,".md");}for(let n of await L(e,".roo")){let o=w(e,n);/^\.roo\/rules-[^/]+\/.+\.md$/.test(o)&&M(t,o,x,".md");}for(let n of await L(e,Gn))M(t,w(e,n),ot,".md");for(let n of await L(e,Jr))K(t,w(e,n),Jr);}var TS=d(()=>{$t();Ps();Dt();s(Ld,"buildRooCodeImportPaths");});var Yr,_r,bd,Xt,Ao,le,DS,Wi=d(()=>{Yr="warp",_r="AGENTS.md",bd="WARP.md",Xt=".warp/skills",Ao=".mcp.json",le=".warp/skills",DS=".agentsmesh/rules";});async function Ad(t,e,r="project"){if(r==="global"){for(let n of await L(e,le))K(t,w(e,n),le);return}t.set(_r,`${x}/_root.md`);for(let n of await L(e,Xt))K(t,w(e,n),Xt);t.set(Ao,".agentsmesh/mcp.json");}var NS=d(()=>{$t();Wi();Dt();s(Ad,"buildWarpImportPaths");});async function xd(t,e){t.set("AGENTS.md",`${x}/_root.md`),t.set(".windsurfrules",`${x}/_root.md`),await Tl(t,e);for(let r of await L(e,".windsurf/rules"))M(t,w(e,r),x,".md");for(let r of await L(e,".windsurf/workflows"))M(t,w(e,r),ot,".md");for(let r of await L(e,".windsurf/skills"))K(t,w(e,r),".windsurf/skills");}var FS=d(()=>{$t();Dt();s(xd,"buildWindsurfImportPaths");});var Ir,Xr,VF,Zr,vS,Ts=d(()=>{Ir=".rules",Xr=".zed/settings.json",VF=".config/zed",Zr=`${VF}/settings.json`,vS=".agentsmesh/rules";});async function Pd(t,e,r="project"){if(r==="global"){t.set(Zr,".agentsmesh/mcp.json");return}t.set(Ir,`${x}/_root.md`),t.set(Xr,".agentsmesh/mcp.json");}var MS=d(()=>{Ts();Dt();s(Pd,"buildZedImportPaths");});var $S=d(()=>{UI();KI();VI();XI();ZI();qI();QI();nS();oS();cS();hS();SS();wS();bS();TS();NS();FS();MS();});var Nt=d(()=>{$S();});function ZF(t,e){if(t===null)return e;let r;try{let i=JSON.parse(t);r=i!==null&&typeof i=="object"&&!Array.isArray(i)?i:{};}catch{r={};}let n=JSON.parse(e);if(n===null||typeof n!="object"||Array.isArray(n))return t;let o=n;return o["amp.mcpServers"]!==void 0&&(r["amp.mcpServers"]=o["amp.mcpServers"]),JSON.stringify(r,null,2)}var JF,YF,XF,GS,Pl,Bu=d(()=>{ae();ht();gI();he();LI();DI();MI();Nt();es();JF={name:"amp",primaryRootInstructionPath:De,generateRules:pI,generateCommands:dI,generateAgents:fI,generateSkills:uI,importFrom:wI},YF={rootInstructionPath:De,skillDir:Jt,managedOutputs:{dirs:[Jt],files:[De,Dr]},paths:{rulePath(t){return De},commandPath(t){return `${Jt}/${at(t)}/SKILL.md`},agentPath(t){return `${Jt}/${z(t)}/SKILL.md`}}},XF={rootInstructionPath:_n,skillDir:Ne,managedOutputs:{dirs:[Ne],files:[_n,In]},rewriteGeneratedPath(t){return t===De?_n:t===Dr?In:t.startsWith(`${Jt}/`)?t.replace(`${Jt}/`,`${Ne}/`):t},mirrorGlobalPath(t,e){return mt(t,Ne,e)},paths:{rulePath(t){return _n},commandPath(t){return `${Ne}/${at(t)}/SKILL.md`},agentPath(t){return `${Ne}/${z(t)}/SKILL.md`}}},GS={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"};s(ZF,"mergeAmpSettings");Pl={id:"amp",generators:JF,capabilities:GS,emptyImportMessage:"No Amp config found (AGENTS.md, .agents/skills, or .amp/settings.json).",lintRules:TI,lint:{hooks:NI,permissions:FI,ignore:vI},supportsConversion:{commands:true,agents:true},project:YF,globalSupport:{capabilities:GS,detectionPaths:[_n,In],layout:XF},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[De],global:[_n]},canonicalDir:mI,canonicalRootFilename:"_root.md",markAsRoot:true}},emitScopedSettings(t,e){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Dr,content:JSON.stringify({"amp.mcpServers":t.mcp.mcpServers},null,2)}]},mergeGeneratedOutputContent(t,e,r,n){return n===Dr||n===In?ZF(t,r):null},sharedArtifacts:{".agents/skills/":"consumer"},buildImportPaths:Ju,detectionPaths:[De,Dr]};});function jS(t){let e=t.rules.find(n=>n.root);if(!e)return [];let r=[{path:sr,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:`${Nr}/${o}.md`,content:n.body.trim()||""});}return r}function US(t){return t.commands.map(e=>{let r=e.description.trim(),n=e.body.trim(),o=r&&n&&!n.startsWith(r)?`${r}
50
+ ${iU}
51
+ ${kl}`;s(Wg,"normalizeWhitespace");US=[fU,gU,dU,uU,pU,mU,lU,cU,aU];s(KS,"appendAgentsmeshRootInstructionParagraph");s(BS,"stripAgentsmeshRootInstructionParagraph");});function pe(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 Ja(t){let e=await y(t);return e?k(e).frontmatter:{}}function Vt(t,e){return typeof t[e]=="string"?t[e]:void 0}function Vg(t){let e=t.hooks;return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function hU(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}function yU(t,e){let r=basename(t,".md")==="_root",o={...e};return delete o.root,{root:r,...o}}async function K(t,e,r){let o=await Ja(t),n=basename(t,".md")==="_root"?BS(r):r.trim(),i=yU(t,hU({...o,...e})),a={root:i.root===true,description:typeof i.description=="string"?i.description:""};a.root===false&&(a.globs=pe(i.globs));for(let[c,l]of Object.entries(i))c==="root"||c==="description"||c==="globs"||l===void 0||(a[c]=l);return P(a,n||"")}var Jg=d(()=>{T();M();zg();s(pe,"toStringArray");s(Ja,"readExistingFrontmatter");s(Vt,"readString");s(Vg,"readHooks");s(hU,"pruneUndefined");s(yU,"serializeCanonicalRuleFrontmatter");s(K,"serializeImportedRuleWithFallback");});async function ht(t,e,r){let o=await Ja(t),n=(()=>{let c=pe(o.allowedTools);return c.length>0?c:pe(o["allowed-tools"])})(),i=e.hasDescription?e.description??"":typeof o.description=="string"?o.description:"",a=e.hasAllowedTools?e.allowedTools??[]:n;return P({description:i,"allowed-tools":a},r.trim()||"")}async function ho(t,e,r){let o=await Ja(t),n=basename(dirname(t)),i=Vt(e,"name")??Vt(o,"name")??n,a=Vt(e,"description")??Vt(o,"description")??"";return P({name:i,description:a},r.trim()||"")}async function Bt(t,e,r){let o=await Ja(t),n=Object.prototype.hasOwnProperty.call(e,"tools")?pe(e.tools):(()=>{let O=pe(o.tools);return O.length>0?O:[]})(),i=Object.prototype.hasOwnProperty.call(e,"disallowedTools")?pe(e.disallowedTools):Object.prototype.hasOwnProperty.call(e,"disallowed-tools")?pe(e["disallowed-tools"]):pe(o.disallowedTools),a=Object.prototype.hasOwnProperty.call(e,"mcpServers")?pe(e.mcpServers):Object.prototype.hasOwnProperty.call(e,"mcp-servers")?pe(e["mcp-servers"]):pe(o.mcpServers),c=Object.prototype.hasOwnProperty.call(e,"skills")?pe(e.skills):pe(o.skills),l=e.maxTurns??e["max-turns"]??o.maxTurns,m=typeof l=="number"?l:Number(l??0),p=Vg(e)??Vg(o),u={name:Vt(e,"name")??Vt(o,"name")??basename(t,".md"),description:Vt(e,"description")??Vt(o,"description")??"",tools:n};i.length>0&&(u.disallowedTools=i);let g=Vt(e,"model")??Vt(o,"model");g&&(u.model=g);let f=Vt(e,"permissionMode")??Vt(e,"permission-mode")??Vt(o,"permissionMode")??Vt(o,"permission-mode");f&&(u.permissionMode=f),Number.isInteger(m)&&m>0&&(u.maxTurns=m),a.length>0&&(u.mcpServers=a),p&&Object.keys(p).length>0&&(u.hooks=p),c.length>0&&(u.skills=c);let h=Vt(e,"memory")??Vt(o,"memory");return h&&(u.memory=h),P(u,r.trim()||"")}var zS=d(()=>{M();Jg();s(ht,"serializeImportedCommandWithFallback");s(ho,"serializeImportedSkillWithFallback");s(Bt,"serializeImportedAgentWithFallback");});var lt=d(()=>{Jg();zS();});function Sp(t){let e=t.split("/").filter(Boolean);return e.length===0||e.some(o=>o.startsWith("."))?false:!e.join("/").startsWith("tests/e2e/fixtures/")}async function Ye(t){await rm$1(t,{recursive:true,force:true});}var Ya=d(()=>{s(Sp,"shouldImportScopedAgentsRule");s(Ye,"removePathIfExists");});function tt(t,e){let r=[];for(let o of t.skills){let n={name:o.name,description:o.description||void 0};n.description===void 0&&delete n.description,r.push({path:`${e}/${o.name}/SKILL.md`,content:P(n,o.body.trim()||"")});for(let i of o.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");r.push({path:`${e}/${o.name}/${a}`,content:i.content});}}return r}async function Z(t,e,r,o,n){let i=await readdir(join(t,e),{encoding:"utf8",withFileTypes:true}).catch(()=>null);if(i!==null)for(let a of i){if(!a.isDirectory())continue;let c=join(t,e,a.name),l=join(c,"SKILL.md"),m=await y(l);if(m===null)continue;let p=join(t,wl,a.name),u=join(p,"SKILL.md"),{frontmatter:g,body:f}=k(n(m,l,u)),h=hp(g,a.name);if(h){await Ye(join(t,wl,a.name));let A=join(t,VS);await L(A);let D=join(A,`${h.name}.md`);await _(D,yp(h,n(f,l,D))),o.push({fromTool:r,fromPath:l,toPath:`${VS}/${h.name}.md`,feature:"commands"});continue}let O=fo(g,a.name);if(O){await Ye(join(t,wl,a.name));let A=join(t,JS);await L(A);let D=join(A,`${O.name}.md`);await _(D,Je(O,n(f,l,D))),o.push({fromTool:r,fromPath:l,toPath:`${JS}/${O.name}.md`,feature:"agents"});continue}let R=await ho(u,{...g,name:a.name},f);await L(p),await _(u,R),o.push({fromTool:r,fromPath:l,toPath:`${wl}/${a.name}/SKILL.md`,feature:"skills"});let S=await v(c);for(let A of S){if(A===l)continue;let D=relative(c,A).replace(/\\/g,"/"),N=await y(A);if(N===null)continue;let G=join(p,D);await L(dirname(G)),await _(G,n(N,A,G)),o.push({fromTool:r,fromPath:A,toPath:`${wl}/${a.name}/${D}`,feature:"skills"});}}}var wl,VS,JS,Q=d(()=>{T();M();lt();st();St();Ya();wl=".agentsmesh/skills",VS=".agentsmesh/commands",JS=".agentsmesh/agents";s(tt,"generateEmbeddedSkills");s(Z,"importEmbeddedSkills");});var yo,Ze,oe,_n,In,Qe,Ci,YS,XS,Xa=d(()=>{yo="aider",Ze="CONVENTIONS.md",oe=".aider/skills",_n=".aiderignore",In="CONVENTIONS.md",Qe=".aider/skills",Ci=".aiderignore",YS=".agentsmesh/rules",XS=".agentsmesh/ignore";});function ZS(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(yo)),o=e?.body.trim()??"",n=it(o,r);return n?[{path:Ze,content:n}]:[]}function QS(t){return tt(t,oe)}function qS(t){return t.commands.map(e=>({path:`${oe}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function tC(t){return t.agents.map(e=>({path:`${oe}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function eC(t){return t.ignore.length===0?[]:[{path:_n,content:t.ignore.join(`
52
+ `)}]}var rC=d(()=>{Q();Mt();st();St();Xa();s(ZS,"generateRules");s(QS,"generateSkills");s(qS,"generateCommands");s(tC,"generateAgents");s(eC,"generateIgnore");});async function $t(t,e,r){let o=join(t,e),i={...await LU(o),...r};await L(dirname(o)),await _(o,JSON.stringify({mcpServers:i},null,2));}async function LU(t){let e=await y(t);if(e===null)return {};let r;try{r=JSON.parse(e);}catch{return {}}if(!r||typeof r!="object"||Array.isArray(r))return {};let o=r.mcpServers;if(!o||typeof o!="object"||Array.isArray(o))return {};let n={};for(let[i,a]of Object.entries(o))!a||typeof a!="object"||Array.isArray(a)||(n[i]=a);return n}var Fr=d(()=>{T();s($t,"writeMcpWithMerge");s(LU,"readExistingServers");});function Rn(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}function qe(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 _s(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function _o(t){return !t||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}var tr=d(()=>{s(Rn,"toGlobsArray");s(qe,"toToolsArray");s(_s,"toStringArray");s(_o,"toStringRecord");});function wU(t,e){return e.some(r=>t.endsWith(r))}async function yt(t){let r=(await v(t.srcDir)).filter(n=>wU(n,t.extensions)),o=[];for(let n of r){let i=await y(n);if(!i)continue;let a=relative(t.srcDir,n).replace(/\\/g,"/"),c=await t.mapEntry({srcPath:n,relativePath:a,content:i,normalizeTo:s((l,m=i)=>t.normalize(m,n,l),"normalizeTo")});c&&(await L(dirname(c.destPath)),await _(c.destPath,c.content),o.push({fromTool:t.fromTool,fromPath:n,toPath:c.toPath,feature:c.feature}));}return o}var ke=d(()=>{T();s(wU,"matchesExtension");s(yt,"importFileDirectory");});function oC(t){return typeof t=="string"?t:void 0}function TU(t){for(let e of Object.keys(t))t[e]===void 0&&delete t[e];return t}function Xg(t,e){return e?e(t):t}function bU(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:o,body:n}=k(e.normalizeTo(r)),i=Xg(o,t.frontmatterRemap),a=TU({root:false,description:oC(i.description),globs:Array.isArray(i.globs)?i.globs:void 0,...i});return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:await K(r,a,n)}}}function PU(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:o,body:n}=k(e.normalizeTo(r)),i=Xg(o,t.frontmatterRemap),a=await ht(r,{hasDescription:true,description:oC(i.description),hasAllowedTools:true,allowedTools:_s(i["allowed-tools"])},n);return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:a}}}function xU(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:o,body:n}=k(e.normalizeTo(r)),i=Xg(o,t.frontmatterRemap);return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:await Bt(r,i,n)}}}function nC(t){if(t.map)return t.map;switch(t.preset){case "rule":return bU(t);case "command":return PU(t);case "agent":return xU(t);default:throw new Error(`ImportFeatureSpec for ${t.feature} (mode: ${t.mode}) needs a \`preset\` or \`map\``)}}var sC=d(()=>{M();lt();tr();s(oC,"pickString");s(TU,"pruneUndefined");s(Xg,"applyRemap");s(bU,"ruleMapper");s(PU,"commandMapper");s(xU,"agentMapper");s(nC,"resolveMapper");});function Zg(t,e){return t?t[e]??[]:[]}var iC,aC=d(()=>{iC=["rules","commands","agents","skills","mcp","hooks","permissions","ignore"];s(Zg,"resolveScopedSources");});async function FU(t,e,r,o,n){if(!t.canonicalRootFilename)throw new Error(`singleFile spec for ${t.feature} must set canonicalRootFilename`);let i=join(r,t.canonicalDir);for(let a of e){let c=join(r,a),l=await y(c);if(l===null)continue;await L(i);let m=join(i,t.canonicalRootFilename),p=s(R=>n(l,c,R),"normalizeTo");if(t.map){let R=await t.map({absolutePath:c,relativePath:a,content:l,destDir:i,normalizeTo:p});if(!R)continue;return await _(R.destPath,R.content),[{fromTool:o,fromPath:c,toPath:R.toPath,feature:t.feature}]}let{frontmatter:u,body:g}=k(p(m)),f=t.frontmatterRemap?t.frontmatterRemap(u):u,h=t.markAsRoot?{...f,root:true}:f,O=await K(m,h,g);return await _(m,O),[{fromTool:o,fromPath:c,toPath:`${t.canonicalDir}/${t.canonicalRootFilename}`,feature:t.feature}]}return []}async function vU(t,e,r,o,n){let i=nC(t),a=join(r,t.canonicalDir),c=[];for(let l of e){let m=join(r,l),p=await yt({srcDir:m,destDir:a,extensions:[...t.extensions??[".md"]],fromTool:o,normalize:n,mapEntry:s(async({srcPath:u,relativePath:g,content:f,normalizeTo:h})=>{let O=await i({absolutePath:u,relativePath:g,content:f,destDir:a,normalizeTo:s(R=>h(R),"normalizeTo")});return O?{destPath:O.destPath,toPath:O.toPath,feature:t.feature,content:O.content}:null},"mapEntry")});c.push(...p);}return c}function lC(t){let e=t.canonicalFilename;return e.includes("/")||e.includes("\\")?e:posix.join(t.canonicalDir,e)}async function GU(t,e,r,o){if(!t.canonicalFilename)throw new Error(`flatFile spec for ${t.feature} must set canonicalFilename`);let n=lC(t);for(let i of e){let a=join(r,i),c=await y(a);if(c===null)continue;let l=join(r,n);return await L(dirname(l)),await _(l,c.trimEnd()),[{fromTool:o,fromPath:a,toPath:n,feature:t.feature}]}return []}function MU(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 o={};for(let[n,i]of Object.entries(r)){if(!i||typeof i!="object"||Array.isArray(i))continue;let a=i,c=typeof a.description=="string"?a.description:void 0;if(typeof a.command=="string"){o[n]={type:typeof a.type=="string"?a.type:"stdio",command:a.command,args:_s(a.args),env:_o(a.env),description:c};continue}typeof a.url=="string"&&(o[n]={type:typeof a.type=="string"?a.type:"http",url:a.url,headers:_o(a.headers),env:_o(a.env),description:c});}return o}async function $U(t,e,r,o){if(!t.canonicalFilename)throw new Error(`mcpJson spec for ${t.feature} must set canonicalFilename`);let n=lC(t);for(let i of e){let a=join(r,i),c=await y(a);if(c===null)continue;let l=MU(c);return Object.keys(l).length===0?[]:(await $t(r,n,l),[{fromTool:o,fromPath:a,toPath:n,feature:t.feature}])}return []}function cC(t,e,r,o,n){switch(t.mode){case "singleFile":return FU(t,e,r,o,n);case "directory":return vU(t,e,r,o,n);case "flatFile":return GU(t,e,r,o);case "mcpJson":return $U(t,e,r,o)}}async function jU(t,e,r,o,n){let i=Zg(t.source,e),a=Zg(t.fallbacks,e);if(i.length===0&&a.length===0)return [];if(i.length>0){let c=await cC(t,i,r,o,n);if(c.length>0)return c}return a.length>0?cC(t,a,r,o,n):[]}function UU(t,e){let r=t[e];return r?Array.isArray(r)?r:[r]:[]}async function z(t,e,r,o){let n=t.importer;if(!n)return [];let i=o?.normalize??await U(t.id,e,r),a=[];for(let c of iC)for(let l of UU(n,c))a.push(...await jU(l,r,e,t.id,i));return a}var Ct=d(()=>{mt();T();Fr();M();tr();lt();ke();sC();aC();s(FU,"runSingleFile");s(vU,"runDirectory");s(lC,"resolveCanonicalFilePath");s(GU,"runFlatFile");s(MU,"parseMcpJson");s($U,"runMcpJson");s(cC,"dispatchSpec");s(jU,"runSpec");s(UU,"specsForFeature");s(z,"runDescriptorImport");});async function mC(t,e={}){let r=e.scope??"project",o=[],n=await U(yo,t,r);return o.push(...await z(Cp,t,r,{normalize:n})),await Z(t,r==="global"?Qe:oe,yo,o,n),o}var pC=d(()=>{mt();Q();Ct();Xa();Qg();s(mC,"importFromAider");});function KU(t,e){return dC(e).some(o=>BU(t,o))}function uC(t,e){return t.filter(r=>KU(r,e))}function dC(t){let e=t.match(/^(.+)\{([^}]+)\}(.*)$/);if(!e)return [t];let[,r,o,n]=e;if(!o)return [t];let i=o.split(",").map(c=>c.trim()),a=[];for(let c of i)for(let l of dC(r+c+n))a.push(l);return a}function BU(t,e){return WU(e).test(t)}function WU(t){let e=[],r=0;for(;r<t.length;){if(t.startsWith("**",r)){let i=t.slice(r+2);if(i.length===0&&e.length===0)e.push(".*");else if(e.push(i.startsWith("/")?"(?:[^/]+/)*":"(?:/[^/]+)*?"),i.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 o="^"+e.join("")+"$";return new RegExp(o)}var gC=d(()=>{s(KU,"globMatch");s(uC,"globFilter");s(dC,"expandBraces");s(BU,"matchOne");s(WU,"globToRegex");});function H(t,e,r,o={}){let n=[],{rules:i}=t;if(i.length===0)return [];if(i.some(c=>c.root)||n.push({level:"error",file:relative(e,i[0].source),message:"Rules exist but no root rule (_root.md or root: true). Add a root rule."}),o.checkGlobMatches===false)return n;for(let c of i){if(c.globs.length===0)continue;let l=false;for(let m of c.globs)if(uC(r,m).length>0){l=true;break}l||n.push({level:"warning",file:relative(e,c.source),message:`globs "${c.globs.join(", ")}" match 0 files in project`});}return n}var _t=d(()=>{gC();s(H,"validateRules");});function hC(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:yo}))}var yC=d(()=>{_t();Xa();s(hC,"lintRules");});function b(t,e,r){return {level:"warning",file:t,target:e,message:r}}function HU(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 Rs(t,e,r,o){let n=o?.unsupportedBy??e,i=HU(r);return b(".agentsmesh/hooks.yaml",e,`${t} is not supported by ${n}; only ${i} are projected.`)}var Et=d(()=>{s(b,"createWarning");s(HU,"formatOxfordComma");s(Rs,"createUnsupportedHookWarning");});function _C(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[b(".agentsmesh/hooks.yaml","aider","Aider has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function IC(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,o=t.permissions.ask??[];return e.length===0&&r.length===0&&o.length===0?[]:[b(".agentsmesh/permissions.yaml","aider","Aider has no permissions config; canonical permissions are not projected.")]}function RC(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[b(".agentsmesh/mcp.json","aider","Aider has no MCP config file; canonical MCP servers are not projected.")]}var SC=d(()=>{Et();s(_C,"lintHooks");s(IC,"lintPermissions");s(RC,"lintMcp");});function C(t,e){return et(t).relative(t,e).replace(/\\/g,"/")}async function E(t,e){return v(et(t).join(t,e)).catch(()=>[])}function EC(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}function ZU(t,e,r,o){let n=posix.dirname(e),i=posix.dirname(r);for(;n!==o&&n!==".";)EC(t,n,i),n=posix.dirname(n),i=posix.dirname(i);}function x(t,e,r,o){t.set(e,`${r}/${basename(e,o)}.md`);}function F(t,e,r){if(!e.startsWith(`${r}/`))return;let o=e.slice(r.length+1);if(!o)return;if(!o.includes("/")){if(!o.endsWith(".md")||basename(o)==="SKILL.md")return;let u=basename(o,".md");t.set(e,`${CC}/${u}/SKILL.md`);return}let[n,...i]=o.split("/"),a=i.join("/");if(!n||!a)return;let c=n.startsWith(Ha)?Ha:n.startsWith(El)?El:null;if(c&&a==="SKILL.md"){t.set(e,`${YU}/${n.slice(c.length)}.md`);return}let l=n.startsWith(za)?za:n.startsWith(Ol)?Ol:null;if(l&&a==="SKILL.md"){t.set(e,`${XU}/${n.slice(l.length)}.md`);return}let m=`${CC}/${n}`;a==="SKILL.md"&&EC(t,`${r}/${n}`,m);let p=`${m}/${a}`;t.set(e,p),a!=="SKILL.md"&&ZU(t,e,p,`${r}/${n}`);}function QU(t){return t.split("/").filter(Boolean)[0]??""}async function qU(){if(qg!==void 0)return qg;let{BUILTIN_TARGETS:t}=await Promise.resolve().then(()=>(xt(),OC)),e=new Set;for(let r of t)for(let o 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(o!==void 0){let n=QU(o);n.startsWith(".")&&e.add(n);}return qg=e,e}function ef(t){return t.split("/").some(e=>e.startsWith("."))}async function t0(t){let e=[],r=await qU(),o=et(t);async function n(i){let a=o.join(t,i),c=await readdir(a,{withFileTypes:true}).catch(()=>[]);for(let l of c){let m=i?`${i}/${l.name}`:l.name;if(l.isDirectory()){if(r.has(l.name)||ef(m))continue;await n(m);continue}if(l.isSymbolicLink()&&await stat(o.join(t,m)).then(p=>p.isDirectory(),()=>false)){if(r.has(l.name)||ef(m))continue;await n(m);continue}(l.name==="AGENTS.md"||l.name==="AGENTS.override.md")&&e.push(o.join(t,m));}}return s(n,"walk"),await n(""),e}async function Ep(t,e){let r=await t0(e);for(let o of r){let n=C(e,o),i=n.endsWith("/AGENTS.md")&&n!=="AGENTS.md"&&!n.endsWith("/AGENTS.override.md"),a=n.endsWith("/AGENTS.override.md")&&n!=="AGENTS.override.md";if(!i&&!a)continue;let c=posix.dirname(n);if(ef(c))continue;let l=c.replace(/\//g,"-");t.set(n,`${JU}/${l}.md`);}}var JU,YU,XU,CC,qg,It=d(()=>{re();T();St();st();JU=".agentsmesh/rules",YU=".agentsmesh/commands",XU=".agentsmesh/agents",CC=".agentsmesh/skills";s(C,"rel");s(E,"listFiles");s(EC,"addDirectoryMapping");s(ZU,"addAncestorMappings");s(x,"addSimpleFileMapping");s(F,"addSkillLikeMapping");s(QU,"firstPathSegment");s(qU,"targetRootSegments");s(ef,"hasHiddenSegment");s(t0,"listScopedAgentsFiles");s(Ep,"addScopedAgentsMappings");});var w,rt,Ot,gt=d(()=>{w=".agentsmesh/rules",rt=".agentsmesh/commands",Ot=".agentsmesh/agents";});async function rf(t,e,r="project"){if(r==="global"){t.set(In,`${w}/_root.md`);for(let o of await E(e,Qe))F(t,C(e,o),Qe);t.set(Ci,".agentsmesh/ignore");return}t.set(Ze,`${w}/_root.md`);for(let o of await E(e,oe))F(t,C(e,o),oe);t.set(_n,".agentsmesh/ignore");}var LC=d(()=>{It();Xa();gt();s(rf,"buildAiderImportPaths");});var Ei,vr,Oi,Ss,bl,AC,kC,Pl=d(()=>{Ei="amazon-q",vr=".amazonq/rules",Oi=".amazonq/mcp.json",Ss=".aws/amazonq/rules",bl=".aws/amazonq/mcp.json",AC=".agentsmesh/rules",kC=".agentsmesh/mcp.json";});async function of(t,e,r="project"){let o=r==="global"?Ss:vr;for(let n of await E(e,o)){let i=C(e,n);x(t,i,w,".md");}}var wC=d(()=>{It();Pl();gt();s(of,"buildAmazonQImportPaths");});var er,ne,Io,nf,Sn,rr,Cn,TC,Li=d(()=>{er="AGENTS.md",ne=".agents/skills",Io=".amp/settings.json",nf=".config/amp",Sn=`${nf}/AGENTS.md`,rr=`${nf}/skills`,Cn=`${nf}/settings.json`,TC=".agentsmesh/rules";});async function sf(t,e,r="project"){if(r==="global"){t.set(Sn,`${w}/_root.md`);for(let o of await E(e,rr))F(t,C(e,o),rr);t.set(Cn,".agentsmesh/mcp.json");return}t.set(er,`${w}/_root.md`);for(let o of await E(e,ne))F(t,C(e,o),ne);t.set(Io,".agentsmesh/mcp.json");}var bC=d(()=>{It();Li();gt();s(sf,"buildAmpImportPaths");});var Ai,Op,Ro,Gr,xl,Mr,En,Dl,So,On,Nl,Za,af,ki,Lp,PC,wi=d(()=>{Ai="antigravity",Op=".agents",Ro=`${Op}/rules`,Gr=`${Ro}/general.md`,xl=`${Ro}/_root.md`,Mr=`${Op}/skills`,En=`${Op}/workflows`,Dl=`${Op}/antigravity/mcp_config.json`,So=".gemini/antigravity/GEMINI.md",On=".gemini/antigravity/skills",Nl=".gemini/antigravity/workflows",Za=".gemini/antigravity/mcp_config.json",af=".agentsmesh/rules/_root.md",ki=".agentsmesh/rules",Lp=".agentsmesh/commands",PC=".agentsmesh/mcp.json";});async function cf(t,e,r="project"){if(r==="global"){t.set(So,`${w}/_root.md`);for(let o of await E(e,On))F(t,C(e,o),On);t.set(Za,".agentsmesh/mcp.json");return}t.set(Gr,`${w}/_root.md`),t.set(xl,`${w}/_root.md`);for(let o of await E(e,Ro)){let n=C(e,o);n===Gr||n===xl||x(t,n,w,".md");}for(let o of await E(e,En))x(t,C(e,o),rt,".md");for(let o of await E(e,Mr))F(t,C(e,o),Mr);}var xC=d(()=>{It();wi();gt();s(cf,"buildAntigravityImportPaths");});var se,Ap,we,or,Te,Co,Eo,kp,Ln,An,Oo,kn,lf,mf,pf,uf,Ti=d(()=>{se="augment-code",Ap=".augment",we=`${Ap}/rules`,or=`${Ap}/commands`,Te=`${Ap}/skills`,Co=`${Ap}/settings.json`,Eo=".augmentignore",kp=".augment",Ln=`${kp}/rules`,An=`${kp}/commands`,Oo=`${kp}/skills`,kn=`${kp}/settings.json`,lf=".agentsmesh/rules",mf=".agentsmesh/mcp.json",pf=".agentsmesh/hooks.yaml",uf=".agentsmesh/ignore";});async function df(t,e,r="project"){if(r==="global"){for(let o of await E(e,Ln))x(t,C(e,o),w,".md");for(let o of await E(e,An))x(t,C(e,o),rt,".md");for(let o of await E(e,Oo))F(t,C(e,o),Oo);t.set(kn,".agentsmesh/mcp.json");return}for(let o of await E(e,we))x(t,C(e,o),w,".md");for(let o of await E(e,or))x(t,C(e,o),rt,".md");for(let o of await E(e,Te))F(t,C(e,o),Te);t.set(Co,".agentsmesh/mcp.json"),t.set(Eo,".agentsmesh/ignore");}var DC=d(()=>{It();Ti();gt();s(df,"buildAugmentCodeImportPaths");});var NC,Cs,FC,Fl,vl,Gl,Ml,$l,wn,gf,jl,Qa,Ul,Kl,wp,Tp,ff,Bl,hf,bi,vC,Tn=d(()=>{NC="claude-code",Cs=".claude/CLAUDE.md",FC="CLAUDE.md",Fl=".claude/rules",vl=".claude/commands",Gl=".claude/agents",Ml=".claude/skills",$l=".claude/settings.json",wn=".claude/hooks.json",gf=".claude/output-styles",jl=".claudeignore",Qa=".mcp.json",Ul=".claude.json",Kl=".agentsmesh/rules",wp=".agentsmesh/commands",Tp=".agentsmesh/agents",ff=".agentsmesh/skills",Bl=".agentsmesh/mcp.json",hf=".agentsmesh/permissions.yaml",bi=".agentsmesh/hooks.yaml",vC=".agentsmesh/ignore";});async function yf(t,e,r="project"){if(t.set(".claude/CLAUDE.md",`${w}/_root.md`),t.set(wn,bi),r==="project"&&t.set("CLAUDE.md",`${w}/_root.md`),r==="global")for(let o of await E(e,".agents/skills"))F(t,C(e,o),".agents/skills");for(let o of await E(e,".claude/rules"))x(t,C(e,o),w,".md");for(let o of await E(e,".claude/commands"))x(t,C(e,o),rt,".md");for(let o of await E(e,".claude/agents"))x(t,C(e,o),Ot,".md");for(let o of await E(e,".claude/skills"))F(t,C(e,o),".claude/skills");}var GC=d(()=>{It();Tn();gt();s(yf,"buildClaudeCodeImportPaths");});var Es,bn,Pi,Pn,MC,Jt,Lo,Os,xi,Di,Ni,Fi,_f,Ls,bp,If,Rf,Sf,$C,nr=d(()=>{Es="cline",bn=".clinerules",Pi=".clineignore",Pn=".cline/cline_mcp_settings.json",MC=".cline/mcp_settings.json",Jt=".cline/skills",Lo=".clinerules/workflows",Os="AGENTS.md",xi=".clinerules/hooks",Di="Documents/Cline/Rules",Ni="Documents/Cline/Workflows",Fi="Documents/Cline/Hooks",_f=".agentsmesh/hooks.yaml",Ls=".agentsmesh/rules",bp=".agentsmesh/commands",If=".agentsmesh/ignore",Rf=".agentsmesh/mcp.json",Sf=".agentsmesh/agents",$C=".agentsmesh/skills";});async function Cf(t,e,r="project"){if(r==="global"){for(let o of await E(e,Di))x(t,C(e,o),w,".md");for(let o of await E(e,Ni))x(t,C(e,o),rt,".md");for(let o of await E(e,Jt))F(t,C(e,o),Jt);t.set(Pn,".agentsmesh/mcp.json");return}t.set(".clinerules/_root.md",`${w}/_root.md`);for(let o of await E(e,".clinerules")){let n=C(e,o);!n.endsWith(".md")||n.includes("/workflows/")||basename(n)==="_root.md"||x(t,n,w,".md");}for(let o of await E(e,".clinerules/workflows"))x(t,C(e,o),rt,".md");for(let o of await E(e,".cline/skills"))F(t,C(e,o),".cline/skills");}var jC=d(()=>{It();nr();gt();s(Cf,"buildClineImportPaths");});async function Ef(t,e,r="project"){if(r==="global"?(t.set(".codex/AGENTS.md",`${w}/_root.md`),t.set(".codex/AGENTS.override.md",`${w}/_root.md`)):(t.set("AGENTS.md",`${w}/_root.md`),t.set("codex.md",`${w}/_root.md`),await Ep(t,e)),r==="project")for(let o of await E(e,".codex/instructions"))x(t,C(e,o),w,".md");for(let o of await E(e,".codex/rules")){let n=C(e,o);n.endsWith(".rules")?x(t,n,w,".rules"):n.endsWith(".md")&&x(t,n,w,".md");}for(let o of await E(e,".codex/agents"))x(t,C(e,o),Ot,".toml");for(let o of await E(e,".agents/skills"))F(t,C(e,o),".agents/skills");}var UC=d(()=>{It();gt();s(Ef,"buildCodexCliImportPaths");});var qa,$r,Ao,Of,Pp,xn,Lf,be,tc,Wl,xp,Dp,Af,ko=d(()=>{qa="continue",$r=".continue/rules",Ao=".continue/prompts",Of=".continue/mcpServers",Pp=`${Of}/agentsmesh.json`,xn=`${$r}/general.md`,Lf=`${$r}/_root.md`,be=".continue/skills",tc=".continue/AGENTS.md",Wl=".continue/config.yaml",xp=".agentsmesh/rules",Dp=".agentsmesh/commands",Af=".agentsmesh/mcp.json";});async function kf(t,e,r="project"){t.set(xn,`${w}/_root.md`),t.set(Lf,`${w}/_root.md`);for(let o of await E(e,".continue/rules")){let n=C(e,o);n===xn||n===Lf||x(t,n,w,".md");}for(let o of await E(e,".continue/prompts"))t.set(C(e,o),`${rt}/${basename(o,".md")}.md`);for(let o of await E(e,".continue/skills"))F(t,C(e,o),".continue/skills");if(r==="global")for(let o of await E(e,".agents/skills"))F(t,C(e,o),".agents/skills");}var KC=d(()=>{It();ko();gt();s(kf,"buildContinueImportPaths");});function o0(t,e){if(e.endsWith(".instructions.md")){t.set(e,`${w}/${basename(e,".instructions.md")}.md`);return}x(t,e,w,".md");}async function wf(t,e){t.set(".github/copilot-instructions.md",`${w}/_root.md`);for(let r of await E(e,".github/copilot"))t.set(C(e,r),`${w}/${basename(r,".instructions.md")}.md`);for(let r of await E(e,".github/instructions"))o0(t,C(e,r));for(let r of await E(e,".github/prompts"))t.set(C(e,r),`${rt}/${basename(r,".prompt.md")}.md`);for(let r of await E(e,".github/agents"))t.set(C(e,r),`${Ot}/${basename(r,".agent.md")}.md`);for(let r of await E(e,".github/skills"))F(t,C(e,r),".github/skills");}var BC=d(()=>{It();gt();s(o0,"addCopilotInstructionMapping");s(wf,"buildCopilotImportPaths");});var sr,ir,Yt,Pe,Dn,WC,Fp,xe,vi,vp,Gp,Mp,ec=d(()=>{sr="crush",ir="CRUSH.md",Yt=".crush/skills",Pe="crush.json",Dn=".crushignore",WC=".config/crush",Fp=`${WC}/crush.json`,xe=".config/crush/skills",vi=`${WC}/CRUSH.md`,vp=".agentsmesh/rules",Gp=".agentsmesh/ignore",Mp=".agentsmesh/mcp.json";});async function Tf(t,e,r="project"){if(r==="global"){for(let o of await E(e,xe))F(t,C(e,o),xe);return}t.set(ir,`${vp}/_root.md`),t.set(Pe,Mp),t.set(Dn,Gp);for(let o of await E(e,Yt))F(t,C(e,o),Yt);}var HC=d(()=>{It();ec();s(Tf,"buildCrushImportPaths");});var zC,As,VC,ar,Nn,cr,rc,wo,To,bo,$p,jr,bf,n0,oc,Ur,Hl,ks,ws,Po,Ts,bs,JC,nc,Pf,zl,xf,jt=d(()=>{zC="cursor",As="AGENTS.md",VC=".cursorrules",ar=".cursor/rules",Nn=`${ar}/general.mdc`,cr=".cursor/commands",rc=".cursor/agents",wo=".cursor/skills",To=".cursor/mcp.json",bo=".cursor/hooks.json",$p=".cursor/settings.json",jr=".cursorignore",bf=".cursorindexingignore",n0=".agentsmesh-exports/cursor",oc=`${n0}/user-rules.md`,Ur=".cursor/AGENTS.md",Hl=To,ks=wo,ws=rc,Po=".agentsmesh/rules",Ts=".agentsmesh/commands",bs=".agentsmesh/agents",JC=".agentsmesh/skills",nc=".agentsmesh/mcp.json",Pf=".agentsmesh/permissions.yaml",zl=".agentsmesh/hooks.yaml",xf=".agentsmesh/ignore";});async function Df(t,e,r="project"){if(r==="global"){t.set(To,".agentsmesh/mcp.json"),t.set(".cursor/AGENTS.md",`${w}/_root.md`);for(let o of await E(e,".cursor/rules"))x(t,C(e,o),w,".mdc");for(let o of await E(e,".cursor/commands"))x(t,C(e,o),rt,".md");for(let o of await E(e,".cursor/agents"))x(t,C(e,o),Ot,".md");for(let o of await E(e,".cursor/skills"))F(t,C(e,o),".cursor/skills");return}t.set("AGENTS.md",`${w}/_root.md`);for(let o of await E(e,".cursor/rules"))x(t,C(e,o),w,".mdc");for(let o of await E(e,".cursor/commands"))x(t,C(e,o),rt,".md");for(let o of await E(e,".cursor/agents"))x(t,C(e,o),Ot,".md");for(let o of await E(e,".cursor/skills"))F(t,C(e,o),".cursor/skills");}var YC=d(()=>{It();jt();gt();s(Df,"buildCursorImportPaths");});var xo,lr,ie,Fn,vn,Kr,Gi,XC,sc=d(()=>{xo="deepagents-cli",lr=".deepagents/AGENTS.md",ie=".deepagents/skills",Fn=".mcp.json",vn=".deepagents/AGENTS.md",Kr=".deepagents/skills",Gi=".deepagents/.mcp.json",XC=".agentsmesh/rules";});async function Nf(t,e,r="project"){if(r==="global"){t.set(vn,`${w}/_root.md`);for(let o of await E(e,Kr))F(t,C(e,o),Kr);t.set(Gi,".agentsmesh/mcp.json");return}t.set(lr,`${w}/_root.md`);for(let o of await E(e,ie))F(t,C(e,o),ie);t.set(Fn,".agentsmesh/mcp.json");}var ZC=d(()=>{It();sc();gt();s(Nf,"buildDeepagentsCliImportPaths");});var mr,pr,_e,Do,No,Gn,Fo,Mi,Ps,QC,$i=d(()=>{mr="factory-droid",pr="AGENTS.md",_e=".factory/skills",Do=".factory/droids",No=".factory/mcp.json",Gn=".factory/AGENTS.md",Fo=".factory/skills",Mi=".factory/droids",Ps=".factory/mcp.json",QC=".agentsmesh/rules";});async function Ff(t,e,r="project"){if(r==="global"){t.set(Gn,`${w}/_root.md`);for(let o of await E(e,Mi))x(t,C(e,o),Ot,".md");for(let o of await E(e,Fo))F(t,C(e,o),Fo);t.set(Ps,".agentsmesh/mcp.json");return}t.set(pr,`${w}/_root.md`);for(let o of await E(e,Do))x(t,C(e,o),Ot,".md");for(let o of await E(e,_e))F(t,C(e,o),_e);t.set(No,".agentsmesh/mcp.json");}var qC=d(()=>{It();$i();gt();s(Ff,"buildFactoryDroidImportPaths");});async function vf(t,e){for(let r of await E(e,".gemini/rules"))x(t,C(e,r),w,".md");for(let r of await E(e,".gemini/commands")){let o=C(e,r);if(!o.endsWith(".toml")&&!o.endsWith(".md"))continue;let n=o.replace(/\.(toml|md)$/i,""),i=".gemini/commands/",l=(n.startsWith(i)?n.slice(i.length):n).split("/").filter(Boolean).join(":");t.set(o,`${rt}/${l}.md`);}for(let r of await E(e,".gemini/agents"))x(t,C(e,r),Ot,".md");for(let r of await E(e,".gemini/skills"))F(t,C(e,r),".gemini/skills");}var tE=d(()=>{It();gt();s(vf,"buildGeminiCliImportPaths");});var vo,ur,ue,Mn,eE,$n,ji,dr,rE,oE,ic=d(()=>{vo="goose",ur=".goosehints",ue=".agents/skills",Mn=".gooseignore",eE=".config/goose",$n=`${eE}/.goosehints`,ji=`${eE}/.gooseignore`,dr=".agents/skills",rE=".agentsmesh/rules",oE=".agentsmesh/ignore";});async function Gf(t,e,r="project"){if(r==="global"){t.set($n,`${w}/_root.md`);for(let o of await E(e,dr))F(t,C(e,o),dr);t.set(ji,".agentsmesh/ignore");return}t.set(ur,`${w}/_root.md`);for(let o of await E(e,ue))F(t,C(e,o),ue);t.set(Mn,".agentsmesh/ignore");}var nE=d(()=>{It();ic();gt();s(Gf,"buildGooseImportPaths");});var jn,Br,sE,ac=d(()=>{jn="jules",Br="AGENTS.md",sE=".agentsmesh/rules";});async function Mf(t,e,r="project"){r!=="global"&&t.set(Br,`${w}/_root.md`);}var iE=d(()=>{ac();gt();s(Mf,"buildJulesImportPaths");});var Ui,xs,jp,aE,Go,cE,s0,Vl,Ki,Jl,cc,lc,Yl,Xl,Zl,Ql,ql,i0,Up,Bi,lE,$f,Kp,mE,pE,uE,dE,mc=d(()=>{Ui="junie",xs=".junie",jp=`${xs}/guidelines.md`,aE=`${xs}/ci-guidelines.md`,Go=`${xs}/AGENTS.md`,cE="AGENTS.md",s0=`${xs}/mcp`,Vl=`${s0}/mcp.json`,Ki=`${xs}/skills`,Jl=`${xs}/rules`,cc=`${xs}/commands`,lc=`${xs}/agents`,Yl=".aiignore",Xl=".junie",Zl=`${Xl}/skills`,Ql=`${Xl}/agents`,ql=`${Xl}/commands`,i0=`${Xl}/mcp`,Up=`${i0}/mcp.json`,Bi=`${Xl}/AGENTS.md`,lE=".agents/skills",$f=".agentsmesh/rules/_root.md",Kp=".agentsmesh/rules",mE=".agentsmesh/commands",pE=".agentsmesh/agents",uE=".agentsmesh/mcp.json",dE=".agentsmesh/ignore";});async function jf(t,e){t.set(jp,`${w}/_root.md`),t.set(Go,`${w}/_root.md`),t.set("AGENTS.md",`${w}/_root.md`);for(let r of await E(e,".junie/rules"))x(t,C(e,r),w,".md");for(let r of await E(e,".junie/commands"))x(t,C(e,r),rt,".md");for(let r of await E(e,".junie/agents"))x(t,C(e,r),Ot,".md");for(let r of await E(e,".junie/skills"))F(t,C(e,r),".junie/skills");}var gE=d(()=>{It();mc();gt();s(jf,"buildJunieImportPaths");});var de,tm,Mo,Un,Kn,Bn,Wr,Ds,pc,Bp,Wi,uc,Hi,em,Wp,dc,Ns,zi,Vi,Ji,Fs,gc,Hp,fE,vs,fc,Yi,hE,yE,Xi=d(()=>{de="kilo-code",tm=".kilo",Mo="AGENTS.md",Un=`${tm}/rules`,Kn=`${tm}/commands`,Bn=`${tm}/agents`,Wr=`${tm}/skills`,Ds=`${tm}/mcp.json`,pc=".kilocodeignore",Bp=".kilocode",Wi=`${Bp}/rules`,uc=`${Bp}/workflows`,Hi=`${Bp}/skills`,em=`${Bp}/mcp.json`,Wp=".kilocodemodes",dc=".kilo",Ns=`${dc}/AGENTS.md`,zi=`${dc}/rules`,Vi=`${dc}/commands`,Ji=`${dc}/agents`,Fs=`${dc}/skills`,gc=`${dc}/mcp.json`,Hp=".kilocodeignore",fE=".agents/skills",vs=".agentsmesh/rules",fc=".agentsmesh/commands",Yi=".agentsmesh/agents",hE=".agentsmesh/mcp.json",yE=".agentsmesh/ignore";});async function Uf(t,e,r="project"){if(r==="global"){t.set(Ns,`${w}/_root.md`);for(let o of await E(e,zi))x(t,C(e,o),w,".md");for(let o of await E(e,Vi))x(t,C(e,o),rt,".md");for(let o of await E(e,Ji))x(t,C(e,o),Ot,".md");for(let o of await E(e,Fs))F(t,C(e,o),Fs);t.set(gc,".agentsmesh/mcp.json");return}t.set(Mo,`${w}/_root.md`);for(let o of await E(e,Un))x(t,C(e,o),w,".md");for(let o of await E(e,Kn))x(t,C(e,o),rt,".md");for(let o of await E(e,Bn))x(t,C(e,o),Ot,".md");for(let o of await E(e,Wr))F(t,C(e,o),Wr);t.set(Ds,".agentsmesh/mcp.json");for(let o of await E(e,Wi)){let n=C(e,o);if(basename(n)==="00-root.md"){t.set(n,`${w}/_root.md`);continue}x(t,n,w,".md");}for(let o of await E(e,uc))x(t,C(e,o),rt,".md");for(let o of await E(e,Hi))F(t,C(e,o),Hi);t.set(em,".agentsmesh/mcp.json");}var _E=d(()=>{It();Xi();gt();s(Uf,"buildKiloCodeImportPaths");});var De,Hr,rm,zr,ge,Vr,Gs,IE,hc,yc,Zi,Jr,Ms,Qi,om,nm,RE,Kf,Bf,SE,CE,Wf,EE,_c=d(()=>{De="kiro",Hr="AGENTS.md",rm=".kiro",zr=`${rm}/steering`,ge=`${rm}/skills`,Vr=`${rm}/agents`,Gs=`${rm}/hooks`,IE=`${rm}/settings`,hc=`${IE}/mcp.json`,yc=".kiroignore",Zi=".kiro/steering",Jr=".kiro/steering/AGENTS.md",Ms=".kiro/skills",Qi=".kiro/agents",om=".kiro/settings/mcp.json",nm=".kiro/settings/kiroignore",RE=".agents/skills",Kf=".agentsmesh/rules/_root.md",Bf=".agentsmesh/rules",SE=".agentsmesh/agents",CE=".agentsmesh/mcp.json",Wf=".agentsmesh/hooks.yaml",EE=".agentsmesh/ignore";});async function Hf(t,e,r="project"){if(r==="global"){t.set(Jr,`${w}/_root.md`);for(let o of await E(e,Zi)){let n=C(e,o);n!==Jr&&x(t,n,w,".md");}for(let o of await E(e,Ms))F(t,C(e,o),Ms);for(let o of await E(e,Qi))x(t,C(e,o),Ot,".md");return}t.set(Hr,`${w}/_root.md`);for(let o of await E(e,zr))x(t,C(e,o),w,".md");for(let o of await E(e,ge))F(t,C(e,o),ge);for(let o of await E(e,Vr))x(t,C(e,o),Ot,".md");}var OE=d(()=>{It();_c();gt();s(Hf,"buildKiroImportPaths");});var Yr,zp,$o,Wn,Hn,zn,Xr,jo,Ic,$s,qi,ta,ea,js,Us,LE,sm,Vp,Jp,zf,ra=d(()=>{Yr="opencode",zp=".opencode",$o="AGENTS.md",Wn=`${zp}/rules`,Hn=`${zp}/commands`,zn=`${zp}/agents`,Xr=`${zp}/skills`,jo="opencode.json",Ic=".config/opencode",$s=`${Ic}/AGENTS.md`,qi=`${Ic}/rules`,ta=`${Ic}/commands`,ea=`${Ic}/agents`,js=`${Ic}/skills`,Us=`${Ic}/opencode.json`,LE=".agents/skills",sm=".agentsmesh/rules",Vp=".agentsmesh/commands",Jp=".agentsmesh/agents",zf=".agentsmesh/mcp.json";});async function Vf(t,e,r="project"){if(r==="global"){t.set($s,`${w}/_root.md`);for(let o of await E(e,qi))x(t,C(e,o),w,".md");for(let o of await E(e,ta))x(t,C(e,o),rt,".md");for(let o of await E(e,ea))x(t,C(e,o),Ot,".md");for(let o of await E(e,js))F(t,C(e,o),js);t.set(Us,".agentsmesh/mcp.json");return}t.set($o,`${w}/_root.md`);for(let o of await E(e,Wn))x(t,C(e,o),w,".md");for(let o of await E(e,Hn))x(t,C(e,o),rt,".md");for(let o of await E(e,zn))x(t,C(e,o),Ot,".md");for(let o of await E(e,Xr))F(t,C(e,o),Xr);t.set(jo,".agentsmesh/mcp.json");}var AE=d(()=>{It();ra();gt();s(Vf,"buildOpencodeImportPaths");});var Uo,gr,Xt,kE,Vn,fr,wE,Rc=d(()=>{Uo="pi-agent",gr="AGENTS.md",Xt=".pi/skills",kE=".pi/agent",Vn=`${kE}/AGENTS.md`,fr=`${kE}/skills`,wE=".agentsmesh/rules";});async function Jf(t,e,r="project"){if(r==="global"){t.set(Vn,`${w}/_root.md`);for(let o of await E(e,fr))F(t,C(e,o),fr);return}t.set(gr,`${w}/_root.md`);for(let o of await E(e,Xt))F(t,C(e,o),Xt);}var Yf=d(()=>{It();Rc();gt();s(Jf,"buildPiAgentImportPaths");});var Ko,hr,Jn,Bo,Wo,Ne,Ks,Bs,Yn,oa,Ws,Ho,Hs,Xf,TE,bE,Sc=d(()=>{Ko="qwen-code",hr="QWEN.md",Jn=".qwen/rules",Bo=".qwen/commands",Wo=".qwen/agents",Ne=".qwen/skills",Ks=".qwen/settings.json",Bs=".qwenignore",Yn=".qwen/QWEN.md",oa=".qwen/settings.json",Ws=".qwen/commands",Ho=".qwen/skills",Hs=".qwen/agents",Xf=".agentsmesh/rules",TE=".agentsmesh/commands",bE=".agentsmesh/agents";});async function Zf(t,e,r="project"){if(r==="global"){t.set(Yn,`${w}/_root.md`),t.set(oa,".agentsmesh/mcp.json");for(let o of await E(e,Ws))x(t,C(e,o),rt,".md");for(let o of await E(e,Hs))x(t,C(e,o),Ot,".md");for(let o of await E(e,Ho))F(t,C(e,o),Ho);return}t.set(hr,`${w}/_root.md`),t.set(Ks,".agentsmesh/mcp.json"),t.set(Bs,".agentsmesh/ignore");for(let o of await E(e,Jn))x(t,C(e,o),w,".md");for(let o of await E(e,Bo))x(t,C(e,o),rt,".md");for(let o of await E(e,Wo))x(t,C(e,o),Ot,".md");for(let o of await E(e,Ne))F(t,C(e,o),Ne);}var PE=d(()=>{It();gt();Sc();s(Zf,"buildQwenCodeImportPaths");});var zo,Zr,Ie,xE,Cc=d(()=>{zo="replit-agent",Zr="replit.md",Ie=".agents/skills",xE=".agentsmesh/rules";});async function Qf(t,e,r="project"){if(r!=="global"){t.set(Zr,`${w}/_root.md`);for(let o of await E(e,Ie))F(t,C(e,o),Ie);}}var qf=d(()=>{It();Cc();gt();s(Qf,"buildReplitAgentImportPaths");});var zs,na,Qr,im,Xn,Zn,Vo,am,cm,Ec,lm,Yp,Vs,Js,Qn,sa,mm,Ys,DE,ia,Xp,NE,FE,aa=d(()=>{zs="roo-code",na=".roo",Qr=`${na}/rules/00-root.md`,im=".roorules",Xn=`${na}/rules`,Zn=`${na}/commands`,Vo=`${na}/skills`,am=`${na}/mcp.json`,cm=".rooignore",Ec=".roomodes",lm="settings/custom_modes.yaml",Yp=".roo",Vs=`${Yp}/rules`,Js=`${Yp}/commands`,Qn=`${Yp}/skills`,sa="mcp_settings.json",mm=".rooignore",Ys=`${Yp}/AGENTS.md`,DE=".agents/skills",ia=".agentsmesh/rules",Xp=".agentsmesh/commands",NE=".agentsmesh/mcp.json",FE=".agentsmesh/ignore";});async function th(t,e,r="project"){if(r==="global"){t.set(Ys,`${w}/_root.md`);for(let o of await E(e,Vs))x(t,C(e,o),w,".md");for(let o of await E(e,Js))x(t,C(e,o),rt,".md");for(let o of await E(e,Qn))F(t,C(e,o),Qn);t.set(sa,".agentsmesh/mcp.json");return}t.set(Qr,`${w}/_root.md`),t.set(im,`${w}/_root.md`);for(let o of await E(e,Xn)){let n=C(e,o);n!==Qr&&x(t,n,w,".md");}for(let o of await E(e,".roo")){let n=C(e,o);/^\.roo\/rules-[^/]+\/.+\.md$/.test(n)&&x(t,n,w,".md");}for(let o of await E(e,Zn))x(t,C(e,o),rt,".md");for(let o of await E(e,Vo))F(t,C(e,o),Vo);}var vE=d(()=>{It();aa();gt();s(th,"buildRooCodeImportPaths");});var Jo,yr,GE,Zt,qn,ME,ts,Fe,Oc,$E,Lc=d(()=>{Jo="rovodev",yr="AGENTS.md",GE=".rovodev",Zt=`${GE}/skills`,qn=`${GE}/mcp.json`,ME=".rovodev",ts=".rovodev/AGENTS.md",Fe=".rovodev/skills",Oc=".rovodev/mcp.json",$E=".agentsmesh/rules";});async function eh(t,e,r="project"){if(r==="global"){t.set(ts,`${w}/_root.md`);for(let o of await E(e,Fe))F(t,C(e,o),Fe);t.set(Oc,".agentsmesh/mcp.json");return}t.set(yr,`${w}/_root.md`);for(let o of await E(e,Zt))F(t,C(e,o),Zt);t.set(qn,".agentsmesh/mcp.json");}var jE=d(()=>{It();Lc();gt();s(eh,"buildRovodevImportPaths");});var _r,Zp,ve,Ge,Ir,ca,Ac,es,Rr,qr,pm,UE,um,KE,BE,kc=d(()=>{_r="trae",Zp=".trae",ve=`${Zp}/rules`,Ge=`${ve}/project_rules.md`,Ir=`${Zp}/skills`,ca=`${Zp}/mcp.json`,Ac=`${Zp}/.ignore`,es=".trae/user_rules",Rr=".trae/user_rules/rules.md",qr=".trae/skills",pm=".trae/mcp.json",UE=".agents/skills",um=".agentsmesh/rules",KE=".agentsmesh/mcp.json",BE=".agentsmesh/ignore";});async function rh(t,e,r="project"){if(r==="global"){t.set(Rr,`${w}/_root.md`);for(let o of await E(e,es)){let n=C(e,o);n!==Rr&&x(t,n,w,".md");}for(let o of await E(e,qr))F(t,C(e,o),qr);return}t.set(Ge,`${w}/_root.md`);for(let o of await E(e,ve)){let n=C(e,o);n!==Ge&&x(t,n,w,".md");}for(let o of await E(e,Ir))F(t,C(e,o),Ir);}var WE=d(()=>{It();kc();gt();s(rh,"buildTraeImportPaths");});var Yo,to,oh,ae,Xs,Re,HE,wc=d(()=>{Yo="warp",to="AGENTS.md",oh="WARP.md",ae=".warp/skills",Xs=".mcp.json",Re=".warp/skills",HE=".agentsmesh/rules";});async function nh(t,e,r="project"){if(r==="global"){for(let o of await E(e,Re))F(t,C(e,o),Re);return}t.set(to,`${w}/_root.md`);for(let o of await E(e,ae))F(t,C(e,o),ae);t.set(Xs,".agentsmesh/mcp.json");}var zE=d(()=>{It();wc();gt();s(nh,"buildWarpImportPaths");});async function sh(t,e){t.set("AGENTS.md",`${w}/_root.md`),t.set(".windsurfrules",`${w}/_root.md`),await Ep(t,e);for(let r of await E(e,".windsurf/rules"))x(t,C(e,r),w,".md");for(let r of await E(e,".windsurf/workflows"))x(t,C(e,r),rt,".md");for(let r of await E(e,".windsurf/skills"))F(t,C(e,r),".windsurf/skills");}var VE=d(()=>{It();gt();s(sh,"buildWindsurfImportPaths");});var eo,Xo,c0,Zo,JE,la=d(()=>{eo=".rules",Xo=".zed/settings.json",c0=".config/zed",Zo=`${c0}/settings.json`,JE=".agentsmesh/rules";});async function ih(t,e,r="project"){if(r==="global"){t.set(Zo,".agentsmesh/mcp.json");return}t.set(eo,`${w}/_root.md`),t.set(Xo,".agentsmesh/mcp.json");}var YE=d(()=>{la();gt();s(ih,"buildZedImportPaths");});var XE=d(()=>{LC();wC();bC();xC();DC();GC();jC();UC();KC();BC();HC();YC();ZC();qC();tE();nE();iE();gE();_E();OE();AE();Yf();PE();qf();vE();jE();WE();zE();VE();YE();});var Rt=d(()=>{XE();});var l0,m0,p0,ZE,Cp,Qg=d(()=>{St();st();rC();pC();yC();SC();Rt();Xa();l0={name:yo,primaryRootInstructionPath:Ze,generateRules:ZS,generateCommands:qS,generateAgents:tC,generateSkills:QS,generateIgnore:eC,importFrom:mC},m0={rootInstructionPath:Ze,skillDir:oe,managedOutputs:{dirs:[oe],files:[Ze,_n]},paths:{rulePath(t){return Ze},commandPath(t){return `${oe}/${W(t)}/SKILL.md`},agentPath(t){return `${oe}/${$(t)}/SKILL.md`}}},p0={rootInstructionPath:In,skillDir:Qe,managedOutputs:{dirs:[Qe],files:[In,Ci]},rewriteGeneratedPath(t){return t===Ze?In:t===_n?Ci:t.startsWith(`${oe}/`)?t.replace(`${oe}/`,`${Qe}/`):t},paths:{rulePath(t){return In},commandPath(t){return `${Qe}/${W(t)}/SKILL.md`},agentPath(t){return `${Qe}/${$(t)}/SKILL.md`}}},ZE={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"native",permissions:"none"},Cp={id:yo,metadata:{displayName:"Aider",category:"cli",officialUrl:"https://aider.chat",shortDescription:"Open-source terminal AI pair programmer"},generators:l0,capabilities:ZE,emptyImportMessage:"No Aider config found (CONVENTIONS.md, .aider/skills, or .aiderignore).",lintRules:hC,lint:{hooks:_C,permissions:IC,mcp:RC},supportsConversion:{commands:true,agents:true},project:m0,globalSupport:{capabilities:ZE,detectionPaths:[In,Ci,Qe],layout:p0},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[Ze],global:[In]},canonicalDir:YS,canonicalRootFilename:"_root.md",markAsRoot:true},ignore:{feature:"ignore",mode:"flatFile",source:{project:[_n],global:[Ci]},canonicalDir:".agentsmesh",canonicalFilename:XS}},buildImportPaths:rf,detectionPaths:[Ze,_n]};});function QE(t){let e=[];for(let r of t.rules){if(r.targets.length>0&&!r.targets.includes(Ei))continue;let o=r.root?"_root":basename(r.source,".md");e.push({path:`${vr}/${o}.md`,content:r.body.trim()});}return e}function qE(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Oi,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}var tO=d(()=>{Pl();s(QE,"generateRules");s(qE,"generateMcp");});async function eO(t,e){let r=e?.scope??"project";return z(Qp,t,r)}var rO=d(()=>{Ct();ah();s(eO,"importFromAmazonQ");});function oO(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Ei}))}var nO=d(()=>{_t();Pl();s(oO,"lintRules");});var d0,g0,f0,h0,Qp,ah=d(()=>{tO();rO();nO();Rt();Pl();d0={name:Ei,generateRules:QE,generateMcp:qE,importFrom:eO},g0={managedOutputs:{dirs:[vr],files:[Oi]},paths:{rulePath(t,e){return `${vr}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return null}}},f0={managedOutputs:{dirs:[Ss],files:[bl]},rewriteGeneratedPath(t){return t.startsWith(`${vr}/`)?t.replace(`${vr}/`,`${Ss}/`):t===Oi?bl:t},paths:{rulePath(t,e){return `${Ss}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return null}}},h0={rules:"native",additionalRules:"none",commands:"none",agents:"none",skills:"none",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Qp={id:Ei,metadata:{displayName:"Amazon Q Developer",category:"ide",officialUrl:"https://aws.amazon.com/q/developer",shortDescription:"AWS AI coding assistant"},generators:d0,capabilities:{rules:"native",additionalRules:"none",commands:"none",agents:"none",skills:"none",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},emptyImportMessage:"No Amazon Q Developer config found (.amazonq/rules/ or .amazonq/mcp.json).",lintRules:oO,project:g0,globalSupport:{capabilities:h0,detectionPaths:[Ss,bl],layout:f0},importer:{rules:{feature:"rules",mode:"directory",source:{project:[vr],global:[Ss]},canonicalDir:AC,extensions:[".md"],preset:"rule"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Oi],global:[bl]},canonicalDir:".agentsmesh",canonicalFilename:kC}},buildImportPaths:of,detectionPaths:[vr,Oi]};});function sO(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes("amp")),o=e?.body.trim()??"",n=it(o,r);return n?[{path:er,content:n}]:[]}function iO(t){return tt(t,ne)}function aO(t){return t.commands.map(e=>({path:`${ne}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function cO(t){return t.agents.map(e=>({path:`${ne}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}var lO=d(()=>{Q();Mt();st();St();Li();s(sO,"generateRules");s(iO,"generateSkills");s(aO,"generateCommands");s(cO,"generateAgents");});function ct(t,e,r){return t.startsWith(`${e}/`)&&!r.includes("codex-cli")?`.agents/skills/${t.slice(e.length+1)}`:null}var Qt=d(()=>{s(ct,"mirrorSkillsToAgents");});async function pO(t,e,r){let o=await y(join(t,e));if(o===null)return;let n;try{n=JSON.parse(o);}catch{return}if(n===null||typeof n!="object"||Array.isArray(n))return;let i=n,a=i["amp.mcpServers"]??i.mcpServers;if(a==null||typeof a!="object"||Array.isArray(a)||Object.keys(a).length===0)return;let c={};for(let[l,m]of Object.entries(a))!m||typeof m!="object"||Array.isArray(m)||(c[l]=m);Object.keys(c).length!==0&&(await $t(t,mO,c),r.push({fromTool:"amp",fromPath:e,toPath:mO,feature:"mcp"}));}var mO,uO=d(()=>{T();Fr();Li();mO=".agentsmesh/mcp.json";s(pO,"importAmpMcp");});async function dO(t,e={}){let r=e.scope??"project",o=[],n=await U("amp",t,r);return o.push(...await z(qp,t,r,{normalize:n})),await Z(t,r==="global"?rr:ne,"amp",o,n),await pO(t,r==="global"?Cn:Io,o),o}var gO=d(()=>{mt();Q();Ct();uO();Li();ch();s(dO,"importFromAmp");});function fO(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:"amp"}))}var hO=d(()=>{_t();Li();s(fO,"lintRules");});function yO(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[b(".agentsmesh/hooks.yaml","amp","Amp has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function _O(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,o=t.permissions.ask??[];return e.length===0&&r.length===0&&o.length===0?[]:[b(".agentsmesh/permissions.yaml","amp","Amp permissions are managed via amp.permissions in settings.json; canonical permissions are not projected.")]}function IO(t){return t.ignore.length===0?[]:[b(".agentsmesh/ignore","amp","Amp has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}var RO=d(()=>{Et();s(yO,"lintHooks");s(_O,"lintPermissions");s(IO,"lintIgnore");});function S0(t,e){if(t===null)return e;let r;try{let i=JSON.parse(t);r=i!==null&&typeof i=="object"&&!Array.isArray(i)?i:{};}catch{r={};}let o=JSON.parse(e);if(o===null||typeof o!="object"||Array.isArray(o))return t;let n=o;return n["amp.mcpServers"]!==void 0&&(r["amp.mcpServers"]=n["amp.mcpServers"]),JSON.stringify(r,null,2)}var _0,I0,R0,SO,qp,ch=d(()=>{St();st();lO();Qt();gO();hO();RO();Rt();Li();_0={name:"amp",primaryRootInstructionPath:er,generateRules:sO,generateCommands:aO,generateAgents:cO,generateSkills:iO,importFrom:dO},I0={rootInstructionPath:er,skillDir:ne,managedOutputs:{dirs:[ne],files:[er,Io]},paths:{rulePath(t){return er},commandPath(t){return `${ne}/${W(t)}/SKILL.md`},agentPath(t){return `${ne}/${$(t)}/SKILL.md`}}},R0={rootInstructionPath:Sn,skillDir:rr,managedOutputs:{dirs:[rr],files:[Sn,Cn]},rewriteGeneratedPath(t){return t===er?Sn:t===Io?Cn:t.startsWith(`${ne}/`)?t.replace(`${ne}/`,`${rr}/`):t},mirrorGlobalPath(t,e){return ct(t,rr,e)},paths:{rulePath(t){return Sn},commandPath(t){return `${rr}/${W(t)}/SKILL.md`},agentPath(t){return `${rr}/${$(t)}/SKILL.md`}}},SO={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"};s(S0,"mergeAmpSettings");qp={id:"amp",metadata:{displayName:"Amp",category:"cli",officialUrl:"https://ampcode.com",shortDescription:"Sourcegraph's coding agent"},generators:_0,capabilities:SO,emptyImportMessage:"No Amp config found (AGENTS.md, .agents/skills, or .amp/settings.json).",lintRules:fO,lint:{hooks:yO,permissions:_O,ignore:IO},supportsConversion:{commands:true,agents:true},project:I0,globalSupport:{capabilities:SO,detectionPaths:[Sn,Cn],layout:R0},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[er],global:[Sn]},canonicalDir:TC,canonicalRootFilename:"_root.md",markAsRoot:true}},emitScopedSettings(t,e){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Io,content:JSON.stringify({"amp.mcpServers":t.mcp.mcpServers},null,2)}]},mergeGeneratedOutputContent(t,e,r,o){return o===Io||o===Cn?S0(t,r):null},sharedArtifacts:{".agents/skills/":"consumer"},buildImportPaths:sf,detectionPaths:[er,Io]};});function CO(t){let e=t.rules.find(o=>o.root);if(!e)return [];let r=[{path:Gr,content:e.body.trim()||""}];for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes("antigravity"))continue;let n=basename(o.source,".md");r.push({path:`${Ro}/${n}.md`,content:o.body.trim()||""});}return r}function EO(t){return t.commands.map(e=>{let r=e.description.trim(),o=e.body.trim(),n=r&&o&&!o.startsWith(r)?`${r}
52
53
 
53
- ${n}`:n||r;return {path:`${Rn}/${e.name}.md`,content:o}})}function WS(t){return kt(t,ir)}function KS(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Ka,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function BS(t){return t.agents.map(e=>({path:`${ir}/${z(e.name)}/SKILL.md`,content:ce(e)}))}function HS(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 xt(e?.body.trim()??"",r)}var zS=d(()=>{Rt();xe();ht();os();s(jS,"generateRules");s(US,"generateCommands");s(WS,"generateSkills");s(KS,"generateMcp");s(BS,"generateAgents");s(HS,"renderAntigravityGlobalInstructions");});function QF(t){let e=t.replace(/\\/g,"/");return !e.startsWith("rules/")||e.endsWith("/")||!e.endsWith(".md")?null:e}async function qr(t){let e=eI(t.content),r=[];if(e.rules.length===0)return {rootContent:e.rootContent,results:r};await O(join(t.projectRoot,t.rulesDir));for(let n of e.rules){let o=QF(n.source);if(o===null||o==="rules/_root.md")continue;let i=join(t.projectRoot,".agentsmesh",o),a=t.normalize(n.body,t.sourcePath,i),{frontmatter:c,body:l}=E(a),m=await G(i,{...c,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},l);await C(i,m),r.push({fromTool:t.fromTool,fromPath:t.sourcePath,toPath:`.agentsmesh/${o}`,feature:"rules"});}return {rootContent:e.rootContent,results:r}}var Ki=d(()=>{b();v();xe();nt();s(QF,"canonicalRulePath");s(qr,"splitEmbeddedRulesToCanonical");});async function tv(t,e,r,n){let o=n==="global"?Fr:sr,i=n==="project"?[o,Wa]:[o];for(let a of i){let c=join(t,a),l=await y(c);if(l===null)continue;let m=join(t,Yu),p=await qr({content:l,projectRoot:t,rulesDir:ns,sourcePath:c,fromTool:rs,normalize:r});e.push(...p.results);let{body:u}=E(r(p.rootContent,c,m)),f=await G(m,{root:true},u);await O(join(t,ns)),await C(m,f),e.push({fromTool:rs,fromPath:c,toPath:Yu,feature:"rules"});return}}async function JS(t,e={}){let r=e.scope??"project",n=[],o=await H(rs,t,r);return await tv(t,n,o,r),n.push(...await tt(tm,t,r,{normalize:o})),await Ct(t,r==="global"?On:ir,rs,n,o),n}var YS=d(()=>{Ot();b();v();Rt();Ut();nt();Ki();os();Dd();s(tv,"importRootRule");s(JS,"importFromAntigravity");});var qS,QS,tC=d(()=>{v();nt();os();qS=s(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:i}=E(e(n));return {destPath:n,toPath:`${ns}/${t}`,content:await G(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},i)}},"nonRootRuleMapper"),QS=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=E(e(n));return {destPath:n,toPath:`${Nl}/${t}`,content:await it(n,{hasDescription:typeof o.description=="string",description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},i)}},"workflowMapper");});function eC(t,e,r,n){return q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:rs}))}var rC=d(()=>{Wt();os();s(eC,"lintRules");});var ev,rv,nv,ov,tm,Dd=d(()=>{ts();ht();zS();os();YS();tC();rC();Nt();ev={name:"antigravity",primaryRootInstructionPath:sr,generateRules:jS,generateCommands:US,generateAgents:BS,generateSkills:WS,generateMcp:KS,importFrom:JS},rv={rootInstructionPath:sr,skillDir:".agents/skills",rewriteGeneratedPath(t){return t===Ka?null:t},paths:{rulePath(t,e){return `${Nr}/${t}.md`},commandPath(t,e){return `${Rn}/${t}.md`},agentPath(t){return `${ir}/${z(t)}/SKILL.md`}}},nv={rootInstructionPath:Fr,renderPrimaryRootInstruction:HS,skillDir:On,managedOutputs:{dirs:[On,Ba],files:[Fr,Ci]},rewriteGeneratedPath(t){return t===sr?Fr:t.startsWith(`${Nr}/`)?null:t.startsWith(".agents/skills/")?t.replace(".agents/skills",On):t.startsWith(`${Rn}/`)?t.replace(Rn,Ba):t===Ka?Ci:t},paths:{rulePath(t,e){return Fr},commandPath(t,e){return `${Ba}/${t}.md`},agentPath(t){return `${ir}/${z(t)}/SKILL.md`}}},ov={rules:"native",additionalRules:"embedded",commands:er("partial","workflows"),agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},tm={id:"antigravity",generators:ev,capabilities:{rules:"native",additionalRules:"native",commands:er("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/).",supportsConversion:{agents:true},lintRules:eC,project:rv,globalSupport:{capabilities:ov,detectionPaths:[".gemini/antigravity/GEMINI.md",".gemini/antigravity/skills",".gemini/antigravity/workflows",".gemini/antigravity/mcp_config.json"],layout:nv},importer:{rules:{feature:"rules",mode:"directory",source:{project:[Nr]},canonicalDir:ns,extensions:[".md"],map:qS},commands:{feature:"commands",mode:"directory",source:{project:[Rn],global:[Ba]},canonicalDir:Nl,extensions:[".md"],map:QS},mcp:{feature:"mcp",mode:"flatFile",source:{global:[Ci]},canonicalDir:".agentsmesh",canonicalFilename:WI}},buildImportPaths:Xu,detectionPaths:[".agents/rules/general.md",".agents/rules/",".agents/skills/",".agents/workflows/"]};});function nC(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 i of n){if(!Ar(i))continue;let a=At(i),c=Qt(i),l=i.type==="prompt"?c||a:a||c,m={type:i.type==="prompt"?"prompt":"command",[i.type==="prompt"?"prompt":"command"]:l};i.timeout!==void 0&&(m.timeout=i.timeout),o.push({matcher:i.matcher,hooks:[m]});}o.length>0&&(e[r]=o);}return e}var oC=d(()=>{qe();s(nC,"buildClaudeHooksObjectFromCanonical");});function sC(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:so,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 i=basename(o.source,".md"),a={};o.description&&(a.description=o.description),o.globs.length>0&&(a.globs=o.globs);let c=N(a,o.body.trim()||"");e.push({path:`${Ha}/${i}.md`,content:c});}return e}function iC(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:`${za}/${e.name}.md`,content:n}})}function aC(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
54
+ ${o}`:o||r;return {path:`${En}/${e.name}.md`,content:n}})}function OO(t){return tt(t,Mr)}function LO(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Dl,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function AO(t){return t.agents.map(e=>({path:`${Mr}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function kO(t){let e=t.rules.find(o=>o.root),r=t.rules.filter(o=>o.root?false:o.targets.length===0||o.targets.includes("antigravity"));return it(e?.body.trim()??"",r)}var wO=d(()=>{Q();Mt();st();wi();s(CO,"generateRules");s(EO,"generateCommands");s(OO,"generateSkills");s(LO,"generateMcp");s(AO,"generateAgents");s(kO,"renderAntigravityGlobalInstructions");});function E0(t){let e=t.replace(/\\/g,"/");return !e.startsWith("rules/")||e.endsWith("/")||!e.endsWith(".md")?null:e}async function Qo(t){let e=jS(t.content),r=[];if(e.rules.length===0)return {rootContent:e.rootContent,results:r};await L(join(t.projectRoot,t.rulesDir));for(let o of e.rules){let n=E0(o.source);if(n===null||n==="rules/_root.md")continue;let i=join(t.projectRoot,".agentsmesh",n),a=t.normalize(o.body,t.sourcePath,i),{frontmatter:c,body:l}=k(a),m=await K(i,{...c,root:false,description:o.description||void 0,globs:o.globs.length>0?o.globs:void 0,targets:o.targets.length>0?o.targets:void 0},l);await _(i,m),r.push({fromTool:t.fromTool,fromPath:t.sourcePath,toPath:`.agentsmesh/${n}`,feature:"rules"});}return {rootContent:e.rootContent,results:r}}var Tc=d(()=>{T();M();Mt();lt();s(E0,"canonicalRulePath");s(Qo,"splitEmbeddedRulesToCanonical");});async function O0(t,e,r,o){let n=o==="global"?So:Gr,i=o==="project"?[n,xl]:[n];for(let a of i){let c=join(t,a),l=await y(c);if(l===null)continue;let m=join(t,af),p=await Qo({content:l,projectRoot:t,rulesDir:ki,sourcePath:c,fromTool:Ai,normalize:r});e.push(...p.results);let{body:u}=k(r(p.rootContent,c,m)),g=await K(m,{root:true},u);await L(join(t,ki)),await _(m,g),e.push({fromTool:Ai,fromPath:c,toPath:af,feature:"rules"});return}}async function bO(t,e={}){let r=e.scope??"project",o=[],n=await U(Ai,t,r);return await O0(t,o,n,r),o.push(...await z(tu,t,r,{normalize:n})),await Z(t,r==="global"?On:Mr,Ai,o,n),o}var PO=d(()=>{mt();T();M();Q();Ct();lt();Tc();wi();mh();s(O0,"importRootRule");s(bO,"importFromAntigravity");});var NO,FO,vO=d(()=>{M();lt();wi();NO=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{if(basename(t)==="general.md"||basename(t)==="_root.md")return null;let o=join(r,t),{frontmatter:n,body:i}=k(e(o));return {destPath:o,toPath:`${ki}/${t}`,content:await K(o,{root:false,description:typeof n.description=="string"?n.description:void 0,globs:Array.isArray(n.globs)?n.globs:void 0},i)}},"nonRootRuleMapper"),FO=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=k(e(o));return {destPath:o,toPath:`${Lp}/${t}`,content:await ht(o,{hasDescription:typeof n.description=="string",description:typeof n.description=="string"?n.description:void 0,hasAllowedTools:false,allowedTools:[]},i)}},"workflowMapper");});function GO(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Ai}))}var MO=d(()=>{_t();wi();s(GO,"lintRules");});var L0,A0,k0,w0,tu,mh=d(()=>{Si();st();wO();wi();PO();vO();MO();Rt();L0={name:"antigravity",primaryRootInstructionPath:Gr,generateRules:CO,generateCommands:EO,generateAgents:AO,generateSkills:OO,generateMcp:LO,importFrom:bO},A0={rootInstructionPath:Gr,skillDir:".agents/skills",rewriteGeneratedPath(t){return t===Dl?null:t},paths:{rulePath(t,e){return `${Ro}/${t}.md`},commandPath(t,e){return `${En}/${t}.md`},agentPath(t){return `${Mr}/${$(t)}/SKILL.md`}}},k0={rootInstructionPath:So,renderPrimaryRootInstruction:kO,skillDir:On,managedOutputs:{dirs:[On,Nl],files:[So,Za]},rewriteGeneratedPath(t){return t===Gr?So:t.startsWith(`${Ro}/`)?null:t.startsWith(".agents/skills/")?t.replace(".agents/skills",On):t.startsWith(`${En}/`)?t.replace(En,Nl):t===Dl?Za:t},paths:{rulePath(t,e){return So},commandPath(t,e){return `${Nl}/${t}.md`},agentPath(t){return `${Mr}/${$(t)}/SKILL.md`}}},w0={rules:"native",additionalRules:"embedded",commands:Nr("partial","workflows"),agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},tu={id:"antigravity",metadata:{displayName:"Antigravity",category:"ide",officialUrl:"https://antigravity.google",shortDescription:"Google's agentic IDE"},generators:L0,capabilities:{rules:"native",additionalRules:"native",commands:Nr("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/).",supportsConversion:{agents:true},lintRules:GO,project:A0,globalSupport:{capabilities:w0,detectionPaths:[".gemini/antigravity/GEMINI.md",".gemini/antigravity/skills",".gemini/antigravity/workflows",".gemini/antigravity/mcp_config.json"],layout:k0},importer:{rules:{feature:"rules",mode:"directory",source:{project:[Ro]},canonicalDir:ki,extensions:[".md"],map:NO},commands:{feature:"commands",mode:"directory",source:{project:[En],global:[Nl]},canonicalDir:Lp,extensions:[".md"],map:FO},mcp:{feature:"mcp",mode:"flatFile",source:{global:[Za]},canonicalDir:".agentsmesh",canonicalFilename:PC}},buildImportPaths:cf,detectionPaths:[".agents/rules/general.md",".agents/rules/",".agents/skills/",".agents/workflows/"]};});function b0(t){let e={};return t.description&&(e.description=t.description),t.globs.length>0||t.trigger==="manual"||t.trigger==="model_decision"?(e.agent_requested=true,t.globs.length>0&&(e.globs=t.globs)):e.always_apply=true,e}function P0(t){let e={};return t.description&&(e.description=t.description),e}function $O(t){let e=[];for(let r of t.rules)if(!(r.targets.length>0&&!r.targets.includes(se)))if(r.root){let o={always_apply:true};r.description&&(o.description=r.description),e.push({path:`${we}/_root.md`,content:P(o,r.body.trim())});}else {let o=basename(r.source,".md");e.push({path:`${we}/${o}.md`,content:P(b0(r),r.body.trim())});}return e}function jO(t){return t.commands.map(e=>({path:`${or}/${e.name}.md`,content:P(P0(e),e.body.trim())}))}function UO(t){return tt(t,Te)}function KO(t){return t.ignore.length===0?[]:[{path:Eo,content:t.ignore.join(`
55
+ `)}]}var BO=d(()=>{Q();M();Ti();s(b0,"ruleFrontmatter");s(P0,"commandFrontmatter");s($O,"generateRules");s(jO,"generateCommands");s(UO,"generateSkills");s(KO,"generateIgnore");});function D0(t){let e={};for(let[r,o]of Object.entries(t)){if(!Array.isArray(o))continue;let n=[];for(let i of o){if(!i||typeof i!="object")continue;let a=i,c=typeof a.matcher=="string"?a.matcher:".*",l=Array.isArray(a.hooks)?a.hooks:[];for(let m of l){let p=typeof m.command=="string"?m.command:void 0;if(!p)continue;let u={matcher:c,type:"command",command:p};typeof m.timeout=="number"&&(u.timeout=m.timeout),n.push(u);}}n.length>0&&(e[r]=n);}return e}async function HO(t,e,r){let o=await y(join(t,e));if(o===null)return;let n;try{n=JSON.parse(o);}catch{return}if(n.mcpServers&&typeof n.mcpServers=="object"){let a=n.mcpServers;await $t(t,mf,a),r.push({fromTool:se,fromPath:join(t,e),toPath:mf,feature:"mcp"});}let i=n.hooks;if(i&&typeof i=="object"&&!Array.isArray(i)){let a=D0(i);if(Object.keys(a).length>0){let c=join(t,pf);await L(dirname(c)),await _(c,stringify(a)),r.push({fromTool:se,fromPath:join(t,e),toPath:pf,feature:"hooks"});}}}async function zO(t,e,r){let o=await y(join(t,e));if(o===null)return;let n=o.split(`
56
+ `).map(a=>a.trim()).filter(a=>a.length>0&&!a.startsWith("#"));if(n.length===0)return;let i=join(t,uf);await L(dirname(i)),await _(i,n.join(`
57
+ `)),r.push({fromTool:se,fromPath:join(t,e),toPath:uf,feature:"ignore"});}var VO=d(()=>{T();Fr();Ti();s(D0,"augmentHooksToCanonical");s(HO,"importAugmentSettings");s(zO,"importAugmentIgnore");});function N0(t,e){let r={root:e,description:typeof t.description=="string"?t.description:void 0,globs:Array.isArray(t.globs)?t.globs:[]};return t.agent_requested===true&&(r.trigger="model_decision"),r}async function F0(t,e,r,o){let n=o==="global"?Ln:we,i=join(t,lf);e.push(...await yt({srcDir:join(t,n),destDir:i,extensions:[".md"],fromTool:se,normalize:r,mapEntry:s(async({relativePath:a,normalizeTo:c})=>{let l=a==="_root.md"||basename(a)==="_root.md",m=join(i,a),{frontmatter:p,body:u}=k(c(m));return {destPath:m,toPath:`${lf}/${a}`,feature:"rules",content:await K(m,N0(p,l),u)}},"mapEntry")}));}async function v0(t,e,r,o){let n=o==="global"?An:or,i=join(t,".agentsmesh/commands");e.push(...await yt({srcDir:join(t,n),destDir:i,extensions:[".md"],fromTool:se,normalize:r,mapEntry:s(async({relativePath:a,normalizeTo:c})=>{let l=basename(a,".md"),m=join(i,`${l}.md`),{frontmatter:p,body:u}=k(c(m)),g=typeof p.description=="string"?p.description:"";return {destPath:m,toPath:`.agentsmesh/commands/${l}.md`,feature:"commands",content:await ht(m,{description:g,hasDescription:true,hasAllowedTools:false},u)}},"mapEntry")}));}async function YO(t,e={}){let r=e.scope??"project",o=[],n=await U(se,t,r);return await F0(t,o,n,r),await v0(t,o,n,r),await Z(t,r==="global"?Oo:Te,se,o,n),await HO(t,r==="global"?kn:Co,o),r==="project"&&await zO(t,Eo,o),o}var XO=d(()=>{mt();ke();Q();lt();M();VO();Ti();s(N0,"canonicalRuleMeta");s(F0,"importRules");s(v0,"importCommands");s(YO,"importFromAugmentCode");});function ZO(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:se}))}var QO=d(()=>{_t();Ti();s(ZO,"lintRules");});function tL(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=new Set(qO);return Object.keys(t.hooks).filter(r=>!e.has(r)).map(r=>Rs(r,"augment-code",qO,{unsupportedBy:"AugmentCode hooks"}))}var qO,eL=d(()=>{Et();qO=["PreToolUse","PostToolUse","SessionStart","SessionEnd","Stop"];s(tL,"lintHooks");});function M0(t){let e={};for(let[r,o]of Object.entries(t)){if(!o||o.length===0)continue;let n=o.map(i=>({matcher:i.matcher,hooks:[{type:"command",command:i.command,...i.timeout!==void 0?{timeout:i.timeout}:{}}]}));e[r]=n;}return e}function $0(t,e){if(t===null)return e;let r;try{let i=JSON.parse(t);r=i!==null&&typeof i=="object"&&!Array.isArray(i)?i:{};}catch{r={};}let o=JSON.parse(e);if(o===null||typeof o!="object"||Array.isArray(o))return t;let n=o;return n.mcpServers!==void 0&&(r.mcpServers=n.mcpServers),n.hooks!==void 0&&(r.hooks=n.hooks),JSON.stringify(r,null,2)}function j0(t){let e={};return t.mcp&&Object.keys(t.mcp.mcpServers).length>0&&(e.mcpServers=t.mcp.mcpServers),t.hooks&&Object.keys(t.hooks).length>0&&(e.hooks=M0(t.hooks)),Object.keys(e).length===0?null:JSON.stringify(e,null,2)}var G0,U0,K0,B0,W0,rL,oL=d(()=>{BO();XO();QO();eL();Rt();Ti();G0={name:se,generateRules:$O,generateCommands:jO,generateSkills:UO,generateIgnore:KO,importFrom:YO};s(M0,"serializeHooksForSettings");s($0,"mergeAugmentSettings");s(j0,"buildSettingsContent");U0={skillDir:Te,managedOutputs:{dirs:[we,or,Te],files:[Co,Eo]},paths:{rulePath(t){return `${we}/${t}.md`},commandPath(t){return `${or}/${t}.md`},agentPath(t){return null}}},K0={skillDir:Oo,managedOutputs:{dirs:[Ln,An,Oo],files:[kn]},rewriteGeneratedPath(t){return t.startsWith(`${we}/`)?t.replace(`${we}/`,`${Ln}/`):t.startsWith(`${or}/`)?t.replace(`${or}/`,`${An}/`):t.startsWith(`${Te}/`)?t.replace(`${Te}/`,`${Oo}/`):t===Co?kn:t===Eo?null:t},paths:{rulePath(t){return `${Ln}/${t}.md`},commandPath(t){return `${An}/${t}.md`},agentPath(t){return null}}},B0={rules:"native",additionalRules:"native",commands:"native",agents:"none",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},W0={rules:"native",additionalRules:"native",commands:"native",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},rL={id:se,metadata:{displayName:"Augment Code",category:"ide",officialUrl:"https://www.augmentcode.com",shortDescription:"Codebase-aware AI for IDEs"},generators:G0,capabilities:B0,emptyImportMessage:"No AugmentCode config found (.augment/rules, .augment/commands, .augment/skills, .augment/settings.json, or .augmentignore).",lintRules:ZO,lint:{hooks:tL},project:U0,globalSupport:{capabilities:W0,detectionPaths:[Ln,An,Oo,kn],layout:K0},emitScopedSettings(t){let e=j0(t);return e===null?[]:[{path:Co,content:e}]},mergeGeneratedOutputContent(t,e,r,o){return o===Co||o===kn?$0(t,r):null},buildImportPaths:df,detectionPaths:[we,or,Te,Co,Eo]};});function nL(t){if(!t.hooks||Object.keys(t.hooks).length===0)return {};let e={};for(let[r,o]of Object.entries(t.hooks)){if(!Array.isArray(o))continue;let n=[];for(let i of o){if(!go(i))continue;let a=Kt(i),c=me(i),l=i.type==="prompt"?c||a:a||c,m={type:i.type==="prompt"?"prompt":"command",[i.type==="prompt"?"prompt":"command"]:l};i.timeout!==void 0&&(m.timeout=i.timeout),n.push({matcher:i.matcher,hooks:[m]});}n.length>0&&(e[r]=n);}return e}var sL=d(()=>{Pr();s(nL,"buildClaudeHooksObjectFromCanonical");});function iL(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Cs,content:r.body.trim()?r.body:""});let o=t.rules.filter(n=>!n.root&&(n.targets.length===0||n.targets.includes("claude-code")));for(let n of o){let i=basename(n.source,".md"),a={};n.description&&(a.description=n.description),n.globs.length>0&&(a.globs=n.globs);let c=P(a,n.body.trim()||"");e.push({path:`${Fl}/${i}.md`,content:c});}return e}function aL(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 o=P(r,e.body.trim()||"");return {path:`${vl}/${e.name}.md`,content:o}})}function cL(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 o=e.body.trim()||"",n=/^##\s*Role\b/m.test(o)?o:`## Role
54
58
 
55
- ${n}`,i=N(r,o);return {path:`${Va}/${e.name}.md`,content:i}})}function cC(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Ri,content:e}]}function lC(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()||"",i=!o||/^##\s*Purpose\b/m.test(o)?o:`## Purpose
59
+ ${o}`,i=P(r,n);return {path:`${Gl}/${e.name}.md`,content:i}})}function lL(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Qa,content:e}]}function mL(t){let e=[];for(let r of t.skills){let o={name:r.name,description:r.description||void 0};o.description===void 0&&delete o.description;let n=r.body.trim()||"",i=!n||/^##\s*Purpose\b/m.test(n)?n:`## Purpose
56
60
 
57
- ${o}`,a=N(n,i);e.push({path:`${Ja}/${r.name}/SKILL.md`,content:a});for(let c of r.supportingFiles){let l=c.relativePath.replace(/\\/g,"/");e.push({path:`${Ja}/${r.name}/${l}`,content:c.content});}}return e}function mC(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:Ya,content:o}]}function pC(t,e){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let r=nC(t);if(Object.keys(r).length===0)return [];if(e?.scope==="global")return [{path:En,content:JSON.stringify(r,null,2)}];let n=JSON.stringify({hooks:r},null,2);return [{path:Ya,content:n}]}function uC(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
58
- `);return [{path:Xa,content:e}]}var dC=d(()=>{v();kn();oC();s(sC,"generateRules");s(iC,"generateCommands");s(aC,"generateAgents");s(cC,"generateMcp");s(lC,"generateSkills");s(mC,"generatePermissions");s(pC,"generateHooks");s(uC,"generateIgnore");});function av(t){let e=t.description.trim();return e||(basename(t.source)||"rule").replace(/\.md$/i,"")||"Rule"}function fC(t){let e=t.rules.find(o=>o.root),r=(e?.body??"").trim();return r?`# Global Instructions
61
+ ${n}`,a=P(o,i);e.push({path:`${Ml}/${r.name}/SKILL.md`,content:a});for(let c of r.supportingFiles){let l=c.relativePath.replace(/\\/g,"/");e.push({path:`${Ml}/${r.name}/${l}`,content:c.content});}}return e}function pL(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,o=t.permissions.ask??[];if(e.length===0&&r.length===0&&o.length===0)return [];let n=JSON.stringify({permissions:{allow:e,deny:r,ask:o}},null,2);return [{path:$l,content:n}]}function uL(t,e){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let r=nL(t);if(Object.keys(r).length===0)return [];if(e?.scope==="global")return [{path:wn,content:JSON.stringify(r,null,2)}];let o=JSON.stringify({hooks:r},null,2);return [{path:$l,content:o}]}function dL(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
62
+ `);return [{path:jl,content:e}]}var gL=d(()=>{M();Tn();sL();s(iL,"generateRules");s(aL,"generateCommands");s(cL,"generateAgents");s(lL,"generateMcp");s(mL,"generateSkills");s(pL,"generatePermissions");s(uL,"generateHooks");s(dL,"generateIgnore");});function V0(t){let e=t.description.trim();return e||(basename(t.source)||"rule").replace(/\.md$/i,"")||"Rule"}function fL(t){let e=t.rules.find(n=>n.root),r=(e?.body??"").trim();return r?`# Global Instructions
59
63
 
60
- ## ${e?av(e):"Guidance"}
64
+ ## ${e?V0(e):"Guidance"}
61
65
 
62
66
  ${r}
63
- `:""}var gC=d(()=>{s(av,"ruleSectionTitle");s(fC,"renderClaudeGlobalPrimaryInstructions");});function yC(t,e){return t===null?"created":t!==e?"updated":"unchanged"}async function _C(t,e,r,n){if(r!=="global")return [];let o=n.has("agents"),i=n.has("commands");if(!o&&!i)return [];let a=[];if(o)for(let c of t.agents){if(!c.outputStyle)continue;let l={name:c.name,description:c.description||void 0},m=N(l,c.body.trim()),p=`${Zu}/${c.name}.md`,u=await y(join(e,p));a.push({target:"claude-code",path:p,content:m,currentContent:u??void 0,status:yC(u,m)});}if(i)for(let c of t.commands){if(!c.outputStyle)continue;let l={name:c.name,description:c.description||void 0},m=N(l,c.body.trim()),p=`${Zu}/${c.name}.md`,u=await y(join(e,p));a.push({target:"claude-code",path:p,content:m,currentContent:u??void 0,status:yC(u,m)});}return a}var IC=d(()=>{b();v();kn();s(yC,"computeStatus");s(_C,"generateClaudeGlobalExtras");});var SC,CC,RC,OC=d(()=>{v();nt();nr();kn();SC=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=E(e(n));return {destPath:n,toPath:`${qa}/${t}`,content:await G(n,{...o,root:false},i)}},"claudeRuleMapper"),CC=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=E(e(n)),a=Fe(o.allowedTools),c=a.length>0?a:Fe(o["allowed-tools"]);return {destPath:n,toPath:`${Fl}/${t}`,content:await it(n,{description:typeof o.description=="string"?o.description:void 0,hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),allowedTools:c,hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},i)}},"claudeCommandMapper"),RC=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=E(e(n));return {destPath:n,toPath:`${vl}/${t}`,content:await Pt(n,o,i)}},"claudeAgentMapper");});function EC(t,e,r,n){return q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(i=>({...i,target:BI}))}var kC=d(()=>{Wt();kn();s(EC,"lintRules");});var cv,wC,lv,mv,em,Fd=d(()=>{dC();kn();he();gC();IC();vd();OC();kC();Nt();cv={name:"claude-code",primaryRootInstructionPath:so,generateRules:sC,generateCommands:iC,generateAgents:aC,generateSkills:lC,generateMcp:cC,generatePermissions:mC,generateHooks:pC,generateIgnore:uC,importFrom:rm},wC={rootInstructionPath:so,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`}}},lv={rootInstructionPath:so,skillDir:".claude/skills",renderPrimaryRootInstruction:fC,managedOutputs:{dirs:[".claude/agents",".claude/commands",".claude/rules",".claude/skills",".claude/output-styles",".agents/skills"],files:[".claude/CLAUDE.md",".claude/settings.json",Za,En,".claudeignore"]},rewriteGeneratedPath(t){return t===Ri?Za:t},mirrorGlobalPath(t,e){return mt(t,".claude/skills",e)},paths:wC.paths},mv={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"native"},em={id:"claude-code",generators:cv,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:EC,project:wC,globalSupport:{capabilities:mv,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:lv,scopeExtras:_C},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[so,HI],global:[so]},canonicalDir:qa,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[Ha],global:[Ha]},canonicalDir:qa,extensions:[".md"],map:SC}],commands:{feature:"commands",mode:"directory",source:{project:[za],global:[za]},canonicalDir:Fl,extensions:[".md"],map:CC},agents:{feature:"agents",mode:"directory",source:{project:[Va],global:[Va]},canonicalDir:vl,extensions:[".md"],map:RC},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Ri],global:[Za]},canonicalDir:".agentsmesh",canonicalFilename:Qa},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Xa],global:[Xa]},canonicalDir:".agentsmesh",canonicalFilename:zI}},buildImportPaths:td,detectionPaths:["CLAUDE.md",".claude/rules",".claude/commands"]};});function uv(t){let e=basename(t,".md");return e==="_root"?"root":e}function LC(t){let e=[],r=t.rules.find(n=>n.root);if(r){let n=r.body.trim()?r.body:"";e.push({path:ao,content:n});}for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("cline"))continue;let o=uv(n.source),i={description:n.description||void 0,paths:n.globs.length>0?n.globs:void 0};Object.keys(i).forEach(c=>{i[c]===void 0&&delete i[c];});let a=Object.keys(i).length>0?N(i,n.body.trim()||""):n.body.trim()||"";e.push({path:`${wn}/${o}.md`,content:a});}return e}function bC(t){return t.commands.map(e=>{let r=e.description.trim(),n=e.body.trim(),o=r&&n?`${r}
67
+ `:""}var hL=d(()=>{s(V0,"ruleSectionTitle");s(fL,"renderClaudeGlobalPrimaryInstructions");});function _L(t,e){return t===null?"created":t!==e?"updated":"unchanged"}async function IL(t,e,r,o){if(r!=="global")return [];let n=o.has("agents"),i=o.has("commands");if(!n&&!i)return [];let a=[];if(n)for(let c of t.agents){if(!c.outputStyle)continue;let l={name:c.name,description:c.description||void 0},m=P(l,c.body.trim()),p=`${gf}/${c.name}.md`,u=await y(join(e,p));a.push({target:"claude-code",path:p,content:m,currentContent:u??void 0,status:_L(u,m)});}if(i)for(let c of t.commands){if(!c.outputStyle)continue;let l={name:c.name,description:c.description||void 0},m=P(l,c.body.trim()),p=`${gf}/${c.name}.md`,u=await y(join(e,p));a.push({target:"claude-code",path:p,content:m,currentContent:u??void 0,status:_L(u,m)});}return a}var RL=d(()=>{T();M();Tn();s(_L,"computeStatus");s(IL,"generateClaudeGlobalExtras");});var SL,CL,EL,OL=d(()=>{M();lt();tr();Tn();SL=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=k(e(o));return {destPath:o,toPath:`${Kl}/${t}`,content:await K(o,{...n,root:false},i)}},"claudeRuleMapper"),CL=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=k(e(o)),a=qe(n.allowedTools),c=a.length>0?a:qe(n["allowed-tools"]);return {destPath:o,toPath:`${wp}/${t}`,content:await ht(o,{description:typeof n.description=="string"?n.description:void 0,hasDescription:Object.prototype.hasOwnProperty.call(n,"description"),allowedTools:c,hasAllowedTools:Object.prototype.hasOwnProperty.call(n,"allowedTools")||Object.prototype.hasOwnProperty.call(n,"allowed-tools")},i)}},"claudeCommandMapper"),EL=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=k(e(o));return {destPath:o,toPath:`${Tp}/${t}`,content:await Bt(o,n,i)}},"claudeAgentMapper");});function LL(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(i=>({...i,target:NC}))}var AL=d(()=>{_t();Tn();s(LL,"lintRules");});var J0,kL,Y0,X0,eu,uh=d(()=>{gL();Tn();Qt();hL();RL();dh();OL();AL();Rt();J0={name:"claude-code",primaryRootInstructionPath:Cs,generateRules:iL,generateCommands:aL,generateAgents:cL,generateSkills:mL,generateMcp:lL,generatePermissions:pL,generateHooks:uL,generateIgnore:dL,importFrom:ru},kL={rootInstructionPath:Cs,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`}}},Y0={rootInstructionPath:Cs,skillDir:".claude/skills",renderPrimaryRootInstruction:fL,managedOutputs:{dirs:[".claude/agents",".claude/commands",".claude/rules",".claude/skills",".claude/output-styles",".agents/skills"],files:[".claude/CLAUDE.md",".claude/settings.json",Ul,wn,".claudeignore"]},rewriteGeneratedPath(t){return t===Qa?Ul:t},mirrorGlobalPath(t,e){return ct(t,".claude/skills",e)},paths:kL.paths},X0={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"native"},eu={id:"claude-code",metadata:{displayName:"Claude Code",category:"cli",officialUrl:"https://www.anthropic.com/claude-code",shortDescription:"Anthropic's terminal coding agent"},generators:J0,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:LL,project:kL,globalSupport:{capabilities:X0,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:Y0,scopeExtras:IL},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Cs,FC],global:[Cs]},canonicalDir:Kl,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[Fl],global:[Fl]},canonicalDir:Kl,extensions:[".md"],map:SL}],commands:{feature:"commands",mode:"directory",source:{project:[vl],global:[vl]},canonicalDir:wp,extensions:[".md"],map:CL},agents:{feature:"agents",mode:"directory",source:{project:[Gl],global:[Gl]},canonicalDir:Tp,extensions:[".md"],map:EL},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Qa],global:[Ul]},canonicalDir:".agentsmesh",canonicalFilename:Bl},ignore:{feature:"ignore",mode:"flatFile",source:{project:[jl],global:[jl]},canonicalDir:".agentsmesh",canonicalFilename:vC}},buildImportPaths:yf,detectionPaths:["CLAUDE.md",".claude/rules",".claude/commands"]};});function Q0(t){let e=basename(t,".md");return e==="_root"?"root":e}function wL(t){let e=[],r=t.rules.find(o=>o.root);if(r){let o=r.body.trim()?r.body:"";e.push({path:Os,content:o});}for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes("cline"))continue;let n=Q0(o.source),i={description:o.description||void 0,paths:o.globs.length>0?o.globs:void 0};Object.keys(i).forEach(c=>{i[c]===void 0&&delete i[c];});let a=Object.keys(i).length>0?P(i,o.body.trim()||""):o.body.trim()||"";e.push({path:`${bn}/${n}.md`,content:a});}return e}function TL(t){return t.commands.map(e=>{let r=e.description.trim(),o=e.body.trim(),n=r&&o?`${r}
64
68
 
65
- ${n}`:r||n;return {path:`${vr}/${e.name}.md`,content:o}})}function AC(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
66
- `);return [{path:is,content:e}]}function xC(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Ln,content:e}]}function PC(t){return t.agents.map(e=>({path:`${Kt}/${z(e.name)}/SKILL.md`,content:ce(e)}))}function dv(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function Md(t){return t.replace(/[\r\n]+/g," ")}function fv(t,e,r){return ["#!/usr/bin/env bash",`# agentsmesh-event: ${Md(t)}`,`# agentsmesh-matcher: ${Md(r)}`,`# agentsmesh-command: ${Md(e)}`,"set -eu",e,""].join(`
67
- `)}function TC(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 i of n)hn(i)&&(e.push({path:`${as}/${dv(r)}-${o}.sh`,content:fv(r,i.command,i.matcher)}),o++);}return e}function DC(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:`${Kt}/${r.name}/SKILL.md`,content:o});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${Kt}/${r.name}/${a}`,content:i.content});}}return e}var NC=d(()=>{qe();v();ht();ve();s(uv,"ruleSlug");s(LC,"generateRules");s(bC,"generateCommands");s(AC,"generateIgnore");s(xC,"generateMcp");s(PC,"generateAgents");s(dv,"safeEventName");s(Md,"safeShellLine");s(fv,"buildHookScript");s(TC,"generateHooks");s(DC,"generateSkills");});async function vC(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:i,body:a}=E(r(o)),c=Cn(i.paths??i.globs),l={root:false,description:typeof i.description=="string"?i.description:void 0,globs:c.length>0?c:void 0};return Object.keys(l).forEach(m=>{l[m]===void 0&&delete l[m];}),{destPath:o,toPath:`${co}/${n}`,feature:"rules",content:await G(o,l,a)}}async function MC(t,e,r){let n=join(e,t),{frontmatter:o,body:i}=E(r(n)),a=Object.prototype.hasOwnProperty.call(o,"description"),c=a&&typeof o.description=="string"?o.description:"",l=a,m=i;if(!l){let p=i.indexOf(`
69
+ ${o}`:r||o;return {path:`${Lo}/${e.name}.md`,content:n}})}function bL(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
70
+ `);return [{path:Pi,content:e}]}function PL(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Pn,content:e}]}function xL(t){return t.agents.map(e=>({path:`${Jt}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function q0(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function gh(t){return t.replace(/[\r\n]+/g," ")}function tK(t,e,r){return ["#!/usr/bin/env bash",`# agentsmesh-event: ${gh(t)}`,`# agentsmesh-matcher: ${gh(r)}`,`# agentsmesh-command: ${gh(e)}`,"set -eu",e,""].join(`
71
+ `)}function DL(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=[];for(let[r,o]of Object.entries(t.hooks)){if(!Array.isArray(o))continue;let n=0;for(let i of o)hn(i)&&(e.push({path:`${xi}/${q0(r)}-${n}.sh`,content:tK(r,i.command,i.matcher)}),n++);}return e}function NL(t){let e=[];for(let r of t.skills){let o={name:r.name,description:r.description||void 0};o.description===void 0&&delete o.description;let n=P(o,r.body.trim()||"");e.push({path:`${Jt}/${r.name}/SKILL.md`,content:n});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${Jt}/${r.name}/${a}`,content:i.content});}}return e}var FL=d(()=>{Pr();M();st();nr();s(Q0,"ruleSlug");s(wL,"generateRules");s(TL,"generateCommands");s(bL,"generateIgnore");s(PL,"generateMcp");s(xL,"generateAgents");s(q0,"safeEventName");s(gh,"safeShellLine");s(tK,"buildHookScript");s(DL,"generateHooks");s(NL,"generateSkills");});async function GL(t,e,r){if(t==="workflows"||t.startsWith("workflows/"))return null;let o=t.replace(/\\/g,"/");if(o==="_root.md")return null;let n=join(e,o),{frontmatter:i,body:a}=k(r(n)),c=Rn(i.paths??i.globs),l={root:false,description:typeof i.description=="string"?i.description:void 0,globs:c.length>0?c:void 0};return Object.keys(l).forEach(m=>{l[m]===void 0&&delete l[m];}),{destPath:n,toPath:`${Ls}/${o}`,feature:"rules",content:await K(n,l,a)}}async function ML(t,e,r){let o=join(e,t),{frontmatter:n,body:i}=k(r(o)),a=Object.prototype.hasOwnProperty.call(n,"description"),c=a&&typeof n.description=="string"?n.description:"",l=a,m=i;if(!l){let p=i.indexOf(`
68
72
 
69
73
  `);if(p>0){let u=i.slice(0,p).trim();u&&!u.includes(`
70
- `)&&(c=u,l=true,m=i.slice(p+2));}}return {destPath:n,toPath:`${Ml}/${t}`,feature:"commands",content:await it(n,{description:c,hasDescription:l,allowedTools:[],hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},m)}}var $d=d(()=>{v();nt();nr();ve();s(vC,"mapClineRuleFile");s(MC,"mapClineWorkflowFile");});async function $C(t,e,r){let n=join(t,co),o=join(t,wn),i=join(t,wn),a=false;try{a=(await stat(i)).isFile();}catch{}if(a){let p=await y(i);if(p!==null){await O(n);let u=join(n,"_root.md"),{frontmatter:f,body:g}=E(r(p,i,u)),R=f.root===true?f:{...f,root:true},S=await G(u,R,g);await C(u,S),e.push({fromTool:"cline",fromPath:i,toPath:`${co}/_root.md`,feature:"rules"});}return a}let c=null,l=join(o,"_root.md"),m=await y(l);if(m===null){let p=join(t,ao),u=await y(p);if(u!==null){c=p,await O(n);let f=join(n,"_root.md"),{frontmatter:g,body:h}=E(r(u,p,f)),S=g.root===true?g:{...g,root:true},_=await G(f,S,h);await C(f,_),e.push({fromTool:"cline",fromPath:p,toPath:`${co}/_root.md`,feature:"rules"});}else {let h=(await D(o)).filter(R=>R.endsWith(".md")&&!R.includes("/workflows/")).sort()[0];if(h){let R=await y(h);if(R!==null){c=h,await O(n);let S=join(n,"_root.md"),{frontmatter:_,body:k}=E(r(R,h,S)),P=_.root===true?_:{..._,root:true},A=await G(S,P,k);await C(S,A),e.push({fromTool:"cline",fromPath:h,toPath:`${co}/_root.md`,feature:"rules"});}}}}else {c=l,await O(n);let p=join(n,"_root.md"),{frontmatter:u,body:f}=E(r(m,l,p)),h=u.root===true?u:{...u,root:true},R=await G(p,h,f);await C(p,R),e.push({fromTool:"cline",fromPath:l,toPath:`${co}/_root.md`,feature:"rules"});}return e.push(...await dt({srcDir:o,destDir:n,extensions:[".md"],fromTool:"cline",normalize:r,mapEntry:s(async({srcPath:p,relativePath:u,normalizeTo:f})=>p===c?null:vC(u,n,f),"mapEntry")})),a}var GC=d(()=>{b();v();nt();or();$d();ve();s($C,"importClineRules");});function hv(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(l=>typeof l=="string"):[],i=e.env,a=i!==null&&typeof i=="object"&&!Array.isArray(i)?Object.fromEntries(Object.entries(i).filter(l=>typeof l[1]=="string")):{},c=typeof e.description=="string"?e.description:void 0;return {...c!==void 0&&{description:c},type:n,command:r,args:o,env:a}}async function jC(t,e){let r=[Ln,JI].map(l=>join(t,l)),n=null,o=null;for(let l of r){let m=await y(l);if(m!==null){n=l,o=m;break}}if(o===null)return;let i=n??r[0],a;try{a=JSON.parse(o);}catch{}let c=a?.mcpServers;if(c!==void 0&&typeof c=="object"&&c!==null&&Object.keys(c).length>0){let l={};for(let[m,p]of Object.entries(c)){let u=hv(p);u&&(l[m]=u);}Object.keys(l).length>0&&(await O(join(t,".agentsmesh")),await C(join(t,nd),JSON.stringify({mcpServers:l},null,2)),e.push({fromTool:io,fromPath:i,toPath:nd,feature:"mcp"}));}}var UC=d(()=>{b();ve();s(hv,"mapClineServerToCanonical");s(jC,"importClineMcp");});function WC(t){return yv.some(e=>e.test(t))}var yv,KC=d(()=>{yv=[/^\./,/^_ab-agent-/,/^_ab-command-/,/\.fixture\./,/\.test\./];s(WC,"isReservedArtifactName");});async function Iv(t){let e=await D(t).catch(()=>[]),r=[];for(let n of e){let o=relative(t,n).replace(/\\/g,"/"),i=basename(o);if(WC(i))continue;let a=await y(n);a!==null&&r.push({absolutePath:n,relativePath:o,content:a});}return r}async function Qr(t,e,r){let n=await Iv(e),o=join(r.projectRoot,r.destCanonicalSkillsDir,t);for(let i of n){let a=join(o,i.relativePath);await O(dirname(a));let c=r.normalize(i.content,i.absolutePath,a);if(i.relativePath==="SKILL.md"){let{frontmatter:l,body:m}=E(c),p=await Tr(a,{...l,name:t},m);await C(a,p);}else await C(a,c);r.results.push({fromTool:r.targetName,fromPath:i.absolutePath,toPath:`${r.destCanonicalSkillsDir}/${t}/${i.relativePath}`,feature:"skills"});}}async function HC(t,e,r,n){let o=join(n.projectRoot,n.destCanonicalSkillsDir,t);await O(o);let i=join(o,"SKILL.md"),a=n.normalize(r,e,i),{frontmatter:c,body:l}=E(a),m=await Tr(i,{...c,name:t},l);await C(i,m),n.results.push({fromTool:n.targetName,fromPath:e,toPath:`${n.destCanonicalSkillsDir}/${t}/SKILL.md`,feature:"skills"});}async function xo(t){let e=new Map;try{let n=(await D(t)).filter(o=>basename(o)==="SKILL.md");for(let o of n){let i=dirname(o),a=basename(i);e.set(a,i);}}catch{}return e}var Bi=d(()=>{b();v();nt();KC();s(Iv,"readNativeSkill");s(Qr,"importDirectorySkill");s(HC,"importFlatSkill");s(xo,"findDirectorySkills");});async function zC(t,e,r,n=Kt){let o=join(t,n),i=await xo(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:YI,targetName:"cline",normalize:r,results:e};for(let[c,l]of i){let m=join(l,"SKILL.md"),p=await y(m);if(!p)continue;let u=E(p),f=Pr(u.frontmatter,c);if(f){let g=join(t,od);await O(g);let h=join(g,`${f.name}.md`);await C(h,Ae(f,r(u.body,m,h))),e.push({fromTool:"cline",fromPath:m,toPath:`${od}/${f.name}.md`,feature:"agents"});continue}await Qr(c,l,a);}}var VC=d(()=>{b();v();ht();Bi();ve();s(zC,"importClineSkills");});function Ud(t,e){return t.match(new RegExp(`^# agentsmesh-${e}:\\s*(.+)$`,"m"))?.[1]?.trim()??null}async function JC(t,e){let n=(await D(t).catch(()=>[])).filter(o=>basename(o).endsWith(".sh")&&dirname(o)===t);for(let o of n){let i=await y(o);if(!i)continue;let a=Ud(i,"event"),c=Ud(i,"command");if(!a||!c)continue;let l=Ud(i,"matcher")??"*";e[a]||(e[a]=[]),e[a].push({matcher:l,command:c});}}async function XC(t,e){let r={};if(await JC(join(t,as),r),await JC(join(t,ms),r),Object.keys(r).length===0)return;let n=join(t,ed);await O(dirname(n)),await C(n,stringify(r)),e.push({fromTool:io,fromPath:join(t,ms),toPath:ed,feature:"hooks"});}var ZC=d(()=>{b();ve();s(Ud,"extractMeta");s(JC,"loadHooksFromDir");s(XC,"importClineHooks");});async function im(t){let e=[],r=await H(io,t),n=await $C(t,e,r),o=join(t,is),i=await y(o);if(i!==null&&i.trim()){let c=i.split(/\r?\n/),l=[];for(let m of c){let p=m.trim();p&&!p.startsWith("#")&&l.push(p);}if(l.length>0){await O(join(t,".agentsmesh"));let m=join(t,rd);await C(m,l.join(`
71
- `)),e.push({fromTool:"cline",fromPath:o,toPath:rd,feature:"ignore"});}}await jC(t,e);let a=join(t,Ml);return n||e.push(...await dt({srcDir:join(t,vr),destDir:a,extensions:[".md"],fromTool:"cline",normalize:r,mapEntry:s(({relativePath:c,normalizeTo:l})=>MC(c,a,l),"mapEntry")})),await zC(t,e,r),await XC(t,e),e}var Wd=d(()=>{Ot();b();or();$d();GC();ve();UC();VC();ZC();s(im,"importFromCline");});function qC(t,e,r,n){return q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(i=>({...i,target:io}))}var QC=d(()=>{Wt();ve();s(qC,"lintRules");});function tR(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 eR(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 rR=d(()=>{Tt();s(tR,"lintCommands");s(eR,"lintHooks");});var Rv,Ov,Ev,kv,nR,oR=d(()=>{NC();ts();ve();Wd();QC();rR();Nt();ui();ht();Rv={name:"cline",primaryRootInstructionPath:ao,generateRules:LC,generateCommands:bC,generateAgents:PC,generateSkills:DC,generateMcp:xC,generateHooks:TC,generateIgnore:AC,importFrom:im},Ov={rootInstructionPath:ao,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 `${wn}/${t}.md`},commandPath(t,e){return `${vr}/${t}.md`},agentPath(t,e){return be(e,"cline")?`.cline/skills/${z(t)}/SKILL.md`:null}}},Ev={skillDir:Kt,managedOutputs:{dirs:[cs,ls,ms,Kt,".agents/skills"],files:[Ln,is]},rewriteGeneratedPath(t){return t===ao?null:t.startsWith(`${as}/`)?`${ms}/${t.slice(as.length+1)}`:t.startsWith(`${vr}/`)?`${ls}/${t.slice(vr.length+1)}`:t.startsWith(`${wn}/`)?`${cs}/${t.slice(wn.length+1)}`:t},mirrorGlobalPath(t,e){return t.startsWith(`${Kt}/`)?`.agents/skills/${t.slice(Kt.length+1)}`:null},paths:{rulePath(t,e){return `${cs}/${t}.md`},commandPath(t,e){return `${ls}/${t}.md`},agentPath(t,e){return be(e,"cline")?`.cline/skills/${z(t)}/SKILL.md`:null}}},kv={rules:"native",additionalRules:"native",commands:er("native","workflows"),agents:"embedded",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},nR={id:"cline",generators:Rv,capabilities:{rules:"native",additionalRules:"native",commands:er("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:qC,lint:{commands:tR,hooks:eR},project:Ov,globalSupport:{capabilities:kv,detectionPaths:[cs,ls,ms,Kt,Ln,is],layout:Ev},buildImportPaths:sd,detectionPaths:[".clinerules",".cline"]};});var Bt,sR,Wn,Ds,iR,Sr,aR,am,Ns,tn,Fs,Kn,Kd,Hi,Rc,Bd,cR,Hd,lR,mR,zd,Vd,Jd,Zt=d(()=>{Bt="codex-cli",sR="codex.md",Wn="AGENTS.md",Ds=".codex/AGENTS.md",iR=".codex/AGENTS.override.md",Sr=".agents/skills",aR=".codex/skills",am=".codex/config.toml",Ns=".codex/instructions",tn=".codex/rules",Fs=".codex/agents",Kn=".agentsmesh/rules",Kd=".agentsmesh/commands",Hi=".agentsmesh/agents",Rc=".agentsmesh/skills",Bd=".agentsmesh/mcp.json",cR="am-codex-rule:v1",Hd="# am-json: ",lR="# am-body-b64-begin",mR="# am-body-b64-end",zd="# am64:",Vd="<!-- agentsmesh:codex-rule-index:start -->",Jd="<!-- agentsmesh:codex-rule-index:end -->";});function Yd(t){return basename(t,".md")}function Oc(t){return `${Ns}/${Yd(t.source)}.md`}function pR(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 Lv(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 \`${tn}/${Yd(t.source)}.rules\`.`),t.targets.length>0&&e.push(`Targeted to ${t.targets.map(r=>`\`${r}\``).join(", ")}.`),e.join(" ")}function uR(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||Yd(a.source)}](${Oc(a)}): ${Lv(a)}`),i=[Vd,"## Additional Rule Files",...o,Jd].join(`
74
+ `)&&(c=u,l=true,m=i.slice(p+2));}}return {destPath:o,toPath:`${bp}/${t}`,feature:"commands",content:await ht(o,{description:c,hasDescription:l,allowedTools:[],hasAllowedTools:Object.prototype.hasOwnProperty.call(n,"allowedTools")||Object.prototype.hasOwnProperty.call(n,"allowed-tools")},m)}}var fh=d(()=>{M();lt();tr();nr();s(GL,"mapClineRuleFile");s(ML,"mapClineWorkflowFile");});async function $L(t,e,r){let o=join(t,Ls),n=join(t,bn),i=join(t,bn),a=false;try{a=(await stat(i)).isFile();}catch{}if(a){let p=await y(i);if(p!==null){await L(o);let u=join(o,"_root.md"),{frontmatter:g,body:f}=k(r(p,i,u)),O=g.root===true?g:{...g,root:true},R=await K(u,O,f);await _(u,R),e.push({fromTool:"cline",fromPath:i,toPath:`${Ls}/_root.md`,feature:"rules"});}return a}let c=null,l=join(n,"_root.md"),m=await y(l);if(m===null){let p=join(t,Os),u=await y(p);if(u!==null){c=p,await L(o);let g=join(o,"_root.md"),{frontmatter:f,body:h}=k(r(u,p,g)),R=f.root===true?f:{...f,root:true},S=await K(g,R,h);await _(g,S),e.push({fromTool:"cline",fromPath:p,toPath:`${Ls}/_root.md`,feature:"rules"});}else {let h=(await v(n)).filter(O=>O.endsWith(".md")&&!O.includes("/workflows/")).sort()[0];if(h){let O=await y(h);if(O!==null){c=h,await L(o);let R=join(o,"_root.md"),{frontmatter:S,body:A}=k(r(O,h,R)),N=S.root===true?S:{...S,root:true},G=await K(R,N,A);await _(R,G),e.push({fromTool:"cline",fromPath:h,toPath:`${Ls}/_root.md`,feature:"rules"});}}}}else {c=l,await L(o);let p=join(o,"_root.md"),{frontmatter:u,body:g}=k(r(m,l,p)),h=u.root===true?u:{...u,root:true},O=await K(p,h,g);await _(p,O),e.push({fromTool:"cline",fromPath:l,toPath:`${Ls}/_root.md`,feature:"rules"});}return e.push(...await yt({srcDir:n,destDir:o,extensions:[".md"],fromTool:"cline",normalize:r,mapEntry:s(async({srcPath:p,relativePath:u,normalizeTo:g})=>p===c?null:GL(u,o,g),"mapEntry")})),a}var jL=d(()=>{T();M();lt();ke();fh();nr();s($L,"importClineRules");});function rK(t){if(!t||typeof t!="object")return null;let e=t,r=typeof e.command=="string"?e.command:"";if(!r)return null;let o=typeof e.type=="string"?e.type:typeof e.transportType=="string"?e.transportType:"stdio",n=Array.isArray(e.args)?e.args.filter(l=>typeof l=="string"):[],i=e.env,a=i!==null&&typeof i=="object"&&!Array.isArray(i)?Object.fromEntries(Object.entries(i).filter(l=>typeof l[1]=="string")):{},c=typeof e.description=="string"?e.description:void 0;return {...c!==void 0&&{description:c},type:o,command:r,args:n,env:a}}async function UL(t,e){let r=[Pn,MC].map(l=>join(t,l)),o=null,n=null;for(let l of r){let m=await y(l);if(m!==null){o=l,n=m;break}}if(n===null)return;let i=o??r[0],a;try{a=JSON.parse(n);}catch{}let c=a?.mcpServers;if(c!==void 0&&typeof c=="object"&&c!==null&&Object.keys(c).length>0){let l={};for(let[m,p]of Object.entries(c)){let u=rK(p);u&&(l[m]=u);}Object.keys(l).length>0&&(await L(join(t,".agentsmesh")),await _(join(t,Rf),JSON.stringify({mcpServers:l},null,2)),e.push({fromTool:Es,fromPath:i,toPath:Rf,feature:"mcp"}));}}var KL=d(()=>{T();nr();s(rK,"mapClineServerToCanonical");s(UL,"importClineMcp");});function BL(t){return oK.some(e=>e.test(t))}var oK,WL=d(()=>{oK=[/^\./,/^_ab-agent-/,/^_ab-command-/,/\.fixture\./,/\.test\./];s(BL,"isReservedArtifactName");});async function sK(t){let e=await v(t).catch(()=>[]),r=[];for(let o of e){let n=relative(t,o).replace(/\\/g,"/"),i=basename(n);if(BL(i))continue;let a=await y(o);a!==null&&r.push({absolutePath:o,relativePath:n,content:a});}return r}async function qo(t,e,r){let o=await sK(e),n=join(r.projectRoot,r.destCanonicalSkillsDir,t);for(let i of o){let a=join(n,i.relativePath);await L(dirname(a));let c=r.normalize(i.content,i.absolutePath,a);if(i.relativePath==="SKILL.md"){let{frontmatter:l,body:m}=k(c),p=await ho(a,{...l,name:t},m);await _(a,p);}else await _(a,c);r.results.push({fromTool:r.targetName,fromPath:i.absolutePath,toPath:`${r.destCanonicalSkillsDir}/${t}/${i.relativePath}`,feature:"skills"});}}async function zL(t,e,r,o){let n=join(o.projectRoot,o.destCanonicalSkillsDir,t);await L(n);let i=join(n,"SKILL.md"),a=o.normalize(r,e,i),{frontmatter:c,body:l}=k(a),m=await ho(i,{...c,name:t},l);await _(i,m),o.results.push({fromTool:o.targetName,fromPath:e,toPath:`${o.destCanonicalSkillsDir}/${t}/SKILL.md`,feature:"skills"});}async function Zs(t){let e=new Map;try{let o=(await v(t)).filter(n=>basename(n)==="SKILL.md");for(let n of o){let i=dirname(n),a=basename(i);e.set(a,i);}}catch{}return e}var Pc=d(()=>{T();M();lt();WL();s(sK,"readNativeSkill");s(qo,"importDirectorySkill");s(zL,"importFlatSkill");s(Zs,"findDirectorySkills");});async function VL(t,e,r,o=Jt){let n=join(t,o),i=await Zs(n),a={projectRoot:t,sourceSkillsDir:o,destCanonicalSkillsDir:$C,targetName:"cline",normalize:r,results:e};for(let[c,l]of i){let m=join(l,"SKILL.md"),p=await y(m);if(!p)continue;let u=k(p),g=fo(u.frontmatter,c);if(g){let f=join(t,Sf);await L(f);let h=join(f,`${g.name}.md`);await _(h,Je(g,r(u.body,m,h))),e.push({fromTool:"cline",fromPath:m,toPath:`${Sf}/${g.name}.md`,feature:"agents"});continue}await qo(c,l,a);}}var JL=d(()=>{T();M();st();Pc();nr();s(VL,"importClineSkills");});function _h(t,e){return t.match(new RegExp(`^# agentsmesh-${e}:\\s*(.+)$`,"m"))?.[1]?.trim()??null}async function YL(t,e){let o=(await v(t).catch(()=>[])).filter(n=>basename(n).endsWith(".sh")&&dirname(n)===t);for(let n of o){let i=await y(n);if(!i)continue;let a=_h(i,"event"),c=_h(i,"command");if(!a||!c)continue;let l=_h(i,"matcher")??"*";e[a]||(e[a]=[]),e[a].push({matcher:l,command:c});}}async function ZL(t,e){let r={};if(await YL(join(t,xi),r),await YL(join(t,Fi),r),Object.keys(r).length===0)return;let o=join(t,_f);await L(dirname(o)),await _(o,stringify(r)),e.push({fromTool:Es,fromPath:join(t,Fi),toPath:_f,feature:"hooks"});}var QL=d(()=>{T();nr();s(_h,"extractMeta");s(YL,"loadHooksFromDir");s(ZL,"importClineHooks");});async function iu(t){let e=[],r=await U(Es,t),o=await $L(t,e,r),n=join(t,Pi),i=await y(n);if(i!==null&&i.trim()){let c=i.split(/\r?\n/),l=[];for(let m of c){let p=m.trim();p&&!p.startsWith("#")&&l.push(p);}if(l.length>0){await L(join(t,".agentsmesh"));let m=join(t,If);await _(m,l.join(`
75
+ `)),e.push({fromTool:"cline",fromPath:n,toPath:If,feature:"ignore"});}}await UL(t,e);let a=join(t,bp);return o||e.push(...await yt({srcDir:join(t,Lo),destDir:a,extensions:[".md"],fromTool:"cline",normalize:r,mapEntry:s(({relativePath:c,normalizeTo:l})=>ML(c,a,l),"mapEntry")})),await VL(t,e,r),await ZL(t,e),e}var Ih=d(()=>{mt();T();ke();fh();jL();nr();KL();JL();QL();s(iu,"importFromCline");});function qL(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(i=>({...i,target:Es}))}var tA=d(()=>{_t();nr();s(qL,"lintRules");});function eA(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>b(e.source,"cline","cline workflow files are plain Markdown; command description and allowed-tools metadata are not projected."))}function rA(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[b(".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 oA=d(()=>{Et();s(eA,"lintCommands");s(rA,"lintHooks");});var cK,lK,mK,pK,nA,sA=d(()=>{FL();Si();nr();Ih();tA();oA();Rt();Wa();st();cK={name:"cline",primaryRootInstructionPath:Os,generateRules:wL,generateCommands:TL,generateAgents:xL,generateSkills:NL,generateMcp:PL,generateHooks:DL,generateIgnore:bL,importFrom:iu},lK={rootInstructionPath:Os,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 `${bn}/${t}.md`},commandPath(t,e){return `${Lo}/${t}.md`},agentPath(t,e){return Ve(e,"cline")?`.cline/skills/${$(t)}/SKILL.md`:null}}},mK={skillDir:Jt,managedOutputs:{dirs:[Di,Ni,Fi,Jt,".agents/skills"],files:[Pn,Pi]},rewriteGeneratedPath(t){return t===Os?null:t.startsWith(`${xi}/`)?`${Fi}/${t.slice(xi.length+1)}`:t.startsWith(`${Lo}/`)?`${Ni}/${t.slice(Lo.length+1)}`:t.startsWith(`${bn}/`)?`${Di}/${t.slice(bn.length+1)}`:t},mirrorGlobalPath(t,e){return t.startsWith(`${Jt}/`)?`.agents/skills/${t.slice(Jt.length+1)}`:null},paths:{rulePath(t,e){return `${Di}/${t}.md`},commandPath(t,e){return `${Ni}/${t}.md`},agentPath(t,e){return Ve(e,"cline")?`.cline/skills/${$(t)}/SKILL.md`:null}}},pK={rules:"native",additionalRules:"native",commands:Nr("native","workflows"),agents:"embedded",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},nA={id:"cline",metadata:{displayName:"Cline",category:"ide",officialUrl:"https://cline.bot",shortDescription:"Autonomous coding agent for VS Code"},generators:cK,capabilities:{rules:"native",additionalRules:"native",commands:Nr("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:qL,lint:{commands:eA,hooks:rA},project:lK,globalSupport:{capabilities:pK,detectionPaths:[Di,Ni,Fi,Jt,Pn,Pi],layout:mK},buildImportPaths:Cf,detectionPaths:[".clinerules",".cline"]};});var qt,iA,os,pa,aA,oo,cA,au,ua,tn,da,ns,Rh,xc,gm,Sh,lA,Ch,mA,pA,Eh,Oh,Lh,ce=d(()=>{qt="codex-cli",iA="codex.md",os="AGENTS.md",pa=".codex/AGENTS.md",aA=".codex/AGENTS.override.md",oo=".agents/skills",cA=".codex/skills",au=".codex/config.toml",ua=".codex/instructions",tn=".codex/rules",da=".codex/agents",ns=".agentsmesh/rules",Rh=".agentsmesh/commands",xc=".agentsmesh/agents",gm=".agentsmesh/skills",Sh=".agentsmesh/mcp.json",lA="am-codex-rule:v1",Ch="# am-json: ",mA="# am-body-b64-begin",pA="# am-body-b64-end",Eh="# am64:",Oh="<!-- agentsmesh:codex-rule-index:start -->",Lh="<!-- agentsmesh:codex-rule-index:end -->";});function Ah(t){return basename(t,".md")}function fm(t){return `${ua}/${Ah(t.source)}.md`}function uA(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];}),P(e,t.body.trim()||"")}function dK(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 \`${tn}/${Ah(t.source)}.rules\`.`),t.targets.length>0&&e.push(`Targeted to ${t.targets.map(r=>`\`${r}\``).join(", ")}.`),e.join(" ")}function dA(t,e){let r=t.trim(),o=e.filter(a=>!a.root);if(o.length===0)return r;let n=o.map(a=>`- [${a.description||Ah(a.source)}](${fm(a)}): ${dK(a)}`),i=[Oh,"## Additional Rule Files",...n,Lh].join(`
72
76
  `);return r?`${r}
73
77
 
74
- ${i}`:i}function dR(t){let e=Vd.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=Jd.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t.replace(new RegExp(`\\n?${e}[\\s\\S]*?${r}\\n?`,"g"),`
75
- `).trim()}var cm=d(()=>{v();Zt();s(Yd,"ruleSlug");s(Oc,"codexInstructionMirrorPath");s(pR,"serializeCodexInstructionMirror");s(Lv,"summarizeRule");s(uR,"appendCodexRuleIndex");s(dR,"stripCodexRuleIndex");});function Av(t){return /(^|\n)\s*[A-Za-z_][A-Za-z0-9_]*\s*\(/.test(t)}function xv(t){return t.split(`
78
+ ${i}`:i}function gA(t){let e=Oh.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=Lh.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t.replace(new RegExp(`\\n?${e}[\\s\\S]*?${r}\\n?`,"g"),`
79
+ `).trim()}var cu=d(()=>{M();ce();s(Ah,"ruleSlug");s(fm,"codexInstructionMirrorPath");s(uA,"serializeCodexInstructionMirror");s(dK,"summarizeRule");s(dA,"appendCodexRuleIndex");s(gA,"stripCodexRuleIndex");});function fK(t){return /(^|\n)\s*[A-Za-z_][A-Za-z0-9_]*\s*\(/.test(t)}function hK(t){return t.split(`
76
80
  `).map(e=>e.length>0?`# ${e}`:"#").join(`
77
- `)}function Pv(t){let e=t.trim();return e?Av(e)?`${e}
78
- `:`${["# 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.","#",...xv(e).split(`
81
+ `)}function yK(t){let e=t.trim();return e?fK(e)?`${e}
82
+ `:`${["# 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.","#",...hK(e).split(`
79
83
  `),"#","# Example template:","# prefix_rule(",'# pattern = ["git", "status"],','# decision = "allow",','# justification = "Allow safe status checks",',"# )"].join(`
80
84
  `)}
81
- `:""}function Xd(t){let e=t.rules.find(n=>n.root),r=[];e&&r.push({path:Wn,content:uR(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:`${tn}/${o}.rules`,content:Pv(n.body)}),r.push({path:Oc(n),content:pR(n)}));}return r}function Zd(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 xt(e?.body.trim()??"",r)}var fR=d(()=>{xe();Zt();cm();s(Av,"looksLikeCodexRulesDsl");s(xv,"toCodexRulesComments");s(Pv,"toSafeCodexRulesContent");s(Xd,"generateRules");s(Zd,"renderCodexGlobalInstructions");});function qd(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:`${Sr}/${r.name}/SKILL.md`,content:o});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${Sr}/${r.name}/${a}`,content:i.content});}}return e}function Tv(t){return {path:`${Sr}/${at(t.name)}/SKILL.md`,content:xr(t)}}function Qd(t){return t.commands.map(Tv)}var gR=d(()=>{v();Zt();ae();s(qd,"generateSkills");s(Tv,"commandToSkillOutput");s(Qd,"generateCommands");});function tf(t){return t.agents.map(e=>({path:`${Fs}/${e.name}.toml`,content:Dv(e)}))}function Dv(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 = """
82
- ${n}
85
+ `:""}function kh(t){let e=t.rules.find(o=>o.root),r=[];e&&r.push({path:os,content:dA(e.body,t.rules)});for(let o of t.rules){if(o.root)continue;let n=basename(o.source,".md");o.targets.length>0&&!o.targets.includes("codex-cli")||(o.codexEmit==="execution"&&r.push({path:`${tn}/${n}.rules`,content:yK(o.body)}),r.push({path:fm(o),content:uA(o)}));}return r}function wh(t){let e=t.rules.find(o=>o.root),r=t.rules.filter(o=>o.root||o.codexEmit==="execution"?false:o.targets.length===0||o.targets.includes("codex-cli"));return it(e?.body.trim()??"",r)}var fA=d(()=>{Mt();ce();cu();s(fK,"looksLikeCodexRulesDsl");s(hK,"toCodexRulesComments");s(yK,"toSafeCodexRulesContent");s(kh,"generateRules");s(wh,"renderCodexGlobalInstructions");});function Th(t){let e=[];for(let r of t.skills){let o={name:r.name,description:r.description||void 0};o.description===void 0&&delete o.description;let n=P(o,r.body.trim()||"");e.push({path:`${oo}/${r.name}/SKILL.md`,content:n});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${oo}/${r.name}/${a}`,content:i.content});}}return e}function _K(t){return {path:`${oo}/${W(t.name)}/SKILL.md`,content:bt(t)}}function bh(t){return t.commands.map(_K)}var hA=d(()=>{M();ce();St();s(Th,"generateSkills");s(_K,"commandToSkillOutput");s(bh,"generateCommands");});function Ph(t){return t.agents.map(e=>({path:`${da}/${e.name}.toml`,content:IK(e)}))}function IK(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 o=r.replace(/\\/g,"\\\\").replace(/"/g,'\\"');e.push(`developer_instructions = """
86
+ ${o}
83
87
  """`);}else e.push(`developer_instructions = '''
84
88
  ${r}
85
89
  '''`);return e.join(`
86
90
  `)+`
87
- `}var hR=d(()=>{Zt();s(tf,"generateAgents");s(Dv,"serializeAgentToCodexToml");});function lm(t){return "command"in t}function yR(t){return "url"in t}var mm=d(()=>{s(lm,"isStdioMcpServer");s(yR,"isUrlMcpServer");});function ef(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=Object.fromEntries(Object.entries(t.mcp.mcpServers).flatMap(([n,o])=>lm(o)?[[n,o]]:[]));if(Object.keys(e).length===0)return [];let r=Nv(e);return [{path:am,content:r}]}function Nv(t){let e=[];for(let[r,n]of Object.entries(t)){let o=_R(r)?`"${r}"`:r,i=[];i.push(`[mcp_servers.${o}]`),i.push(`command = ${JSON.stringify(n.command)}`);let a="["+n.args.map(l=>JSON.stringify(l)).join(", ")+"]";i.push(`args = ${a}`);let c=Object.entries(n.env);if(c.length>0){let l=c.map(([m,p])=>`${_R(m)?JSON.stringify(m):m} = ${JSON.stringify(p)}`).join(", ");i.push(`env = { ${l} }`);}e.push(i.join(`
91
+ `}var yA=d(()=>{ce();s(Ph,"generateAgents");s(IK,"serializeAgentToCodexToml");});function lu(t){return "command"in t}function _A(t){return "url"in t}var mu=d(()=>{s(lu,"isStdioMcpServer");s(_A,"isUrlMcpServer");});function xh(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=Object.fromEntries(Object.entries(t.mcp.mcpServers).flatMap(([o,n])=>lu(n)?[[o,n]]:[]));if(Object.keys(e).length===0)return [];let r=RK(e);return [{path:au,content:r}]}function RK(t){let e=[];for(let[r,o]of Object.entries(t)){let n=IA(r)?`"${r}"`:r,i=[];i.push(`[mcp_servers.${n}]`),i.push(`command = ${JSON.stringify(o.command)}`);let a="["+o.args.map(l=>JSON.stringify(l)).join(", ")+"]";i.push(`args = ${a}`);let c=Object.entries(o.env);if(c.length>0){let l=c.map(([m,p])=>`${IA(m)?JSON.stringify(m):m} = ${JSON.stringify(p)}`).join(", ");i.push(`env = { ${l} }`);}e.push(i.join(`
88
92
  `));}return e.join(`
89
93
 
90
94
  `)+`
91
- `}function _R(t){return !/^[A-Za-z0-9_-]+$/.test(t)}var IR=d(()=>{mm();Zt();s(ef,"generateMcp");s(Nv,"serializeMcpToToml");s(_R,"needsTomlQuoting");});var SR=d(()=>{fR();gR();hR();IR();});var CR=d(()=>{SR();});function Mv(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,i=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:i}}async function RR(t,e){let r=join(t,am),n=await y(r);if(n===null)return;let o;try{o=parse$1(n);}catch{return}let i=o.mcp_servers;if(!i||typeof i!="object"||Array.isArray(i)||Object.keys(i).length===0)return;let a={};for(let[c,l]of Object.entries(i)){let m=Mv(l);m&&(a[c]=m);}Object.keys(a).length!==0&&(await Yt(t,Bd,a),e.push({fromTool:Bt,fromPath:r,toPath:Bd,feature:"mcp"}));}var OR=d(()=>{b();Sn();Zt();s(Mv,"mapTomlServerToCanonical");s(RR,"importMcp");});async function ER(t,e,r){let n={projectRoot:t,sourceSkillsDir:Sr,destCanonicalSkillsDir:Rc,targetName:Bt,normalize:r,results:e};for(let o of [Sr,aR]){let i=join(t,o),a=await readdir(i,{encoding:"utf8",withFileTypes:true}).catch(()=>null);if(a===null)continue;let c=false;for(let l of a){if(!l.isDirectory()&&!l.isSymbolicLink())continue;let m=join(i,l.name),p=join(m,"SKILL.md"),u=await y(p);if(!u)continue;c=true;let f=l.name,g=join(t,Rc,f,"SKILL.md"),h=r(u,p,g),{frontmatter:R,body:S}=E(h),_=kl(R,l.name);if(_){await Pe(join(t,Rc,f));let T=join(t,Kd);await O(T);let P=join(T,`${_.name}.md`);await C(P,wl(_,r(S,p,P))),e.push({fromTool:Bt,fromPath:p,toPath:`${Kd}/${_.name}.md`,feature:"commands"});continue}let k=Pr(R,l.name);if(k){await Pe(join(t,Rc,f));let T=join(t,Hi);await O(T);let P=join(T,`${k.name}.md`);await C(P,Ae(k,r(S,p,P))),e.push({fromTool:Bt,fromPath:p,toPath:`${Hi}/${k.name}.md`,feature:"agents"});continue}await Qr(f,m,n);}if(c)return}}var kR=d(()=>{b();v();ae();ht();yi();Bi();Zt();s(ER,"importSkills");});async function wR(t,e,r){let n=join(t,Fs),o=join(t,Hi);try{let a=(await D(n)).filter(c=>c.endsWith(".toml"));for(let c of a){let l=await y(c);if(!l)continue;let m=parse$1(l);if(!m||typeof m!="object")continue;let p=typeof m.name=="string"?m.name:basename(c,".toml"),u=typeof m.description=="string"?m.description:"",f=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":"",S=Array.isArray(m.mcp_servers)?m.mcp_servers.filter(A=>typeof A=="string"):[];await O(o);let _=join(o,`${p}.md`),k=r(f,c,_),P=Ae({name:p,description:u,tools:[],disallowedTools:[],model:g,permissionMode:R,maxTurns:0,mcpServers:S,hooks:{},skills:[],memory:""},k);await C(_,P),e.push({fromTool:Bt,fromPath:c,toPath:`${Hi}/${p}.md`,feature:"agents"});}}catch{}}var LR=d(()=>{b();ht();Zt();s(wR,"importCodexAgentsFromToml");});function bR(t){if(!t.includes(cR))return null;let e=t.split(`
92
- `).find(l=>l.startsWith(Hd));if(!e)return null;let r;try{r=JSON.parse(e.slice(Hd.length));}catch{return null}if(!r||typeof r!="object")return null;let n=r,o=typeof n.description=="string"?n.description:"",i=Array.isArray(n.globs)?n.globs.filter(l=>typeof l=="string"):[],a=[],c=false;for(let l of t.split(`
93
- `)){let m=l.trimEnd();if(m===lR){c=true;continue}if(m===mR){c=false;continue}c&&m.startsWith(zd)&&a.push(m.slice(zd.length));}if(a.length===0)return null;try{let l=Buffer$1.from(a.join(""),"base64").toString("utf8");return {meta:{description:o,globs:i},body:l}}catch{return null}}var AR=d(()=>{Zt();s(bR,"tryParseEmbeddedCanonicalFromCodexRules");});async function PR(t,e,r){let n=[],o=join(t,tn);try{let i=await D(o),a=i.filter(l=>l.endsWith(".md"));for(let l of a){let m=await y(l);if(!m)continue;let p=relative(o,l).replace(/\\/g,"/"),u=join(e,p),{frontmatter:f,body:g}=E(r(m,l,u));await O(e);let h=f.root===!0?f:{...f,root:!1},R=await G(u,h,g);await C(u,R),n.push({fromTool:Bt,fromPath:l,toPath:`${Kn}/${p}`,feature:"rules"});}let c=i.filter(l=>l.endsWith(".rules"));for(let l of c){let m=await y(l);if(!m)continue;let p=relative(o,l).replace(/\\/g,"/").replace(/\.rules$/i,".md"),u=join(e,p);await O(e);let f=bR(m);if(f){let g=await G(u,{description:f.meta.description,globs:f.meta.globs,root:!1},r(f.body,l,u));await C(u,g);}else {let g=await G(u,{root:!1,description:"",globs:[],codex_emit:"execution"},r(m.trim(),l,u));await C(u,g);}n.push({fromTool:Bt,fromPath:l,toPath:`${Kn}/${p}`,feature:"rules"});}}catch{}return n}var TR=d(()=>{b();v();nt();Zt();AR();s(PR,"importCodexNonRootRuleFiles");});async function NR(t,e,r,n,o){let i=join(t,sR),a=join(t,Wn),c=join(t,iR),l=join(t,Ds),m=o==="global"?await y(c):null,p=o==="global"?await y(l):null,u=o==="project"?await y(a):null,f=o==="project"?await y(i):null,g=m!==null?c:p!==null?l:u!==null?a:i,h=join(t,Kn),R=m??p??u??f;if(R!==null){await O(h);let S=join(h,"_root.md"),_=g===a||g===l||g===c?dR(R):R,k=await qr({content:_,projectRoot:t,rulesDir:Kn,sourcePath:g,fromTool:"codex-cli",normalize:r});e.push(...k.results);let T=r(g===a||g===l||g===c?n(k.rootContent,g,S):k.rootContent,g,S),{frontmatter:P,body:A}=E(T),Z=P.root===true?P:{...P,root:true},B=await G(S,Z,A);await C(S,B),e.push({fromTool:"codex-cli",fromPath:g,toPath:`${Kn}/_root.md`,feature:"rules"});}await Bv(t,h,e,r),e.push(...await PR(t,h,r)),o!=="global"&&e.push(...await dt({srcDir:t,destDir:h,extensions:["AGENTS.md","AGENTS.override.md"],fromTool:"codex-cli",normalize:r,mapEntry:s(async({srcPath:S,normalizeTo:_})=>{let k=relative(t,dirname(S)).replace(/\\/g,"/"),T=basename(S),P=T==="AGENTS.override.md";if(!k||k==="."||!P&&T!=="AGENTS.md")return null;let A=k.replace(/\//g,"-");if(!xl(k))return await Pe(join(h,`${A}.md`)),null;let Z=join(h,`${A}.md`),{frontmatter:B,body:V}=E(_(Z));return {destPath:Z,toPath:`${Kn}/${A}.md`,feature:"rules",content:await G(Z,{...B,root:false,globs:[`${k}/**`],...P?{codex_instruction:"override"}:{}},V)}},"mapEntry")}));}async function Bv(t,e,r,n){try{let i=(await D(join(t,Ns))).filter(c=>c.endsWith(".md")),a=join(t,Ns);for(let c of i){let l=relative(a,c).replace(/\\/g,"/");if(l==="_root.md")continue;let m=await y(c);if(!m)continue;let p=join(e,l),{frontmatter:u,body:f}=E(n(m,c,p));await O(e);let g=u.root===!0?u:{...u,root:!1},h=await G(p,g,f);await C(p,h),r.push({fromTool:Bt,fromPath:c,toPath:`${Kn}/${l}`,feature:"rules"});}}catch{}}var FR=d(()=>{b();v();nt();Ki();or();yi();Zt();TR();cm();s(NR,"importCodexRules");s(Bv,"importInstructionMirrors");});async function pm(t,e){let r=e?.scope??"project",n=[],o=await H(Bt,t,r),i=await H("windsurf",t,r);return await NR(t,n,o,i,r),await ER(t,n,o),await wR(t,n,o),await RR(t,n),n}var of=d(()=>{Ot();Zt();OR();kR();LR();FR();s(pm,"importFromCodex");});function vR(t,e,r){let{rules:n}=t;return n.length===0?[]:n.some(i=>i.root)?[]:[{level:"warning",file:relative(e,n[0].source),target:Bt,message:"Codex needs a root rule to generate AGENTS.md. Add root: true to a rule."}]}var MR=d(()=>{Zt();s(vR,"lintRules");});function $R(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 GR=d(()=>{Tt();s($R,"lintMcp");});function jR(t){return Oc(t)}var UR=d(()=>{cm();s(jR,"codexAdvisoryInstructionPath");});var zv,Vv,Jv,Yv,KR,BR=d(()=>{CR();Zt();of();MR();GR();Nt();ui();UR();ae();zv={name:"codex-cli",primaryRootInstructionPath:Wn,generateRules:Xd,generateCommands:Qd,generateAgents:tf,generateSkills:qd,generateMcp:ef,importFrom:pm},Vv={rootInstructionPath:Wn,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${tn}/${e}.rules`]},skillDir:".agents/skills",managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/instructions"],files:["AGENTS.md",".codex/config.toml"]},paths:{rulePath(t,e){return jR(e)},commandPath(t,e){return pi(e,"codex-cli")?`${Sr}/${at(t)}/SKILL.md`:null},agentPath(t,e){return `${Fs}/${t}.toml`}}},Jv={rootInstructionPath:Ds,renderPrimaryRootInstruction:Zd,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${tn}/${e}.rules`]},skillDir:Sr,managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/rules"],files:[Ds,".codex/config.toml"]},rewriteGeneratedPath(t){return t===Wn?Ds:t.startsWith(`${Ns}/`)?null:t},paths:{rulePath(t,e){return e.codexEmit==="execution"?`${tn}/${t}.rules`:Ds},commandPath(t,e){return pi(e,"codex-cli")?`${Sr}/${at(t)}/SKILL.md`:null},agentPath(t,e){return `${Fs}/${t}.toml`}}},Yv={rules:"native",additionalRules:"embedded",commands:"embedded",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},KR={id:"codex-cli",generators:zv,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:vR,lint:{mcp:$R},project:Vv,globalSupport:{capabilities:Yv,detectionPaths:[".codex/AGENTS.md",".codex/AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules",".agents/skills"],layout:Jv},buildImportPaths:id,sharedArtifacts:{".agents/skills/":"owner"},detectionPaths:["codex.md","AGENTS.md","AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules"]};});function Zv(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 HR(t){return `${Mr}/${t}.md`}function zR(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 VR(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:Zv(t["x-agentsmesh-allowed-tools"])}}function JR(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 um=d(()=>{v();$r();s(Zv,"toStringArray");s(HR,"continueCommandRulePath");s(zR,"serializeCommandRule");s(VR,"parseCommandRuleFrontmatter");s(JR,"serializeImportedCommand");});function YR(t){let e=[],r=t.rules.find(n=>n.root);if(r){let n={};r.description&&(n.description=r.description),e.push({path:bn,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"),i={};n.description&&(i.description=n.description),n.globs.length>0&&(i.globs=n.globs),e.push({path:`${ar}/${o}.md`,content:N(i,n.body.trim()||"")});}return e}function XR(t){return t.commands.map(e=>({path:`${Mr}/${e.name}.md`,content:zR(e)}))}function ZR(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:$l,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function qR(t){return t.agents.map(e=>({path:`${ye}/${z(e.name)}/SKILL.md`,content:ce(e)}))}function QR(t){return kt(t,ye)}var tO=d(()=>{Rt();ht();v();um();$r();s(YR,"generateRules");s(XR,"generateCommands");s(ZR,"generateMcp");s(qR,"generateAgents");s(QR,"generateSkills");});function eM(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[i,a]of Object.entries(n)){if(!a||typeof a!="object"||Array.isArray(a))continue;let c=a;typeof c.command=="string"&&(o[i]={type:typeof c.type=="string"?c.type:"stdio",command:c.command,args:_i(c.args),env:Ii(c.env),description:typeof c.description=="string"?c.description:void 0});}return o}async function rM(t,e){let r=(await D(join(t,ad))).filter(i=>[".json",".yaml",".yml"].includes(extname(i))),n={},o=[];for(let i of r){let a=await y(i);a&&(Object.assign(n,eM(a,extname(i))),o.push(i));}if(Object.keys(n).length!==0){await Yt(t,ld,n);for(let i of o)e.push({fromTool:Oi,fromPath:i,toPath:ld,feature:"mcp"});}}async function dm(t){let e=[],r=await H(Oi,t);return e.push(...await tt(fm,t,"project",{normalize:r})),await Ct(t,ye,Oi,e,r),await rM(t,e),e}var sf=d(()=>{Ot();b();Rt();Ut();Sn();nr();$r();af();s(eM,"readMcpServers");s(rM,"importMcp");s(dm,"importFromContinue");});function nM(t){return t==="general.md"||t==="_root.md"}var rO,nO,oO=d(()=>{v();nt();um();$r();s(nM,"isContinueRootRulePath");rO=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=nM(t),o=n?"_root.md":t,i=join(r,o),{frontmatter:a,body:c}=E(e(i)),l={description:typeof a.description=="string"?a.description:void 0,globs:Array.isArray(a.globs)?a.globs:void 0,root:n};return l.description===void 0&&delete l.description,l.globs===void 0&&delete l.globs,{destPath:i,toPath:`${Gl}/${o}`,content:await G(i,l,c)}},"continueRuleMapper"),nO=s(async({absolutePath:t,relativePath:e,normalizeTo:r,destDir:n})=>{let o=join(n,e),{frontmatter:i,body:a}=E(r(o)),c=VR(i,t),l=c.name||e.replace(/\.md$/,"").replace(/^.*\//,""),m=e.includes("/")?e.slice(0,e.lastIndexOf("/")):"",p=m?`${m}/${l}.md`:`${l}.md`,u=join(n,p),f=await it(u,{description:c.description,hasDescription:!!c.description,allowedTools:c.allowedTools,hasAllowedTools:c.allowedTools.length>0},E(JR(c,a)).body);return {destPath:u,toPath:`${jl}/${p}`,content:f}},"continueCommandMapper");});function sO(t,e,r,n){return q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Oi}))}var iO=d(()=>{Wt();$r();s(sO,"lintRules");});function aO(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 cO=d(()=>{Tt();s(aO,"lintCommands");});function aM(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var lO,mO=d(()=>{b();$r();s(aM,"computeStatus");lO=s(async(t,e,r,n)=>{if(r!=="global")return [];let o=n.has("rules"),i=n.has("commands"),a=n.has("mcp");if(!(o&&t.rules.length>0||i&&t.commands.length>0||a&&t.mcp!==null&&Object.keys(t.mcp.mcpServers).length>0))return [];let l={name:"agentsmesh",version:1,schema:"v1"};if(o&&t.rules.length>0&&(l.rules=t.rules.map(u=>({name:u.description||basename(u.source,".md"),rule:u.body.trim()}))),i&&t.commands.length>0&&(l.prompts=t.commands.map(u=>{let f={name:u.name};return u.description&&(f.description=u.description),f.prompt=u.body.trim(),f})),a&&t.mcp!==null){let u=Object.entries(t.mcp.mcpServers);u.length>0&&(l.mcpServers=u.map(([f,g])=>({name:f,...g})));}let m=stringify(l),p=await y(join(e,tc));return [{target:"continue",path:tc,content:m,currentContent:p??void 0,status:aM(p,m)}]},"generateContinueGlobalConfig");});function lM(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var pO,uO=d(()=>{b();$r();mO();s(lM,"computeStatus");pO=s(async(t,e,r,n)=>{let o=await lO(t,e,r,n);if(r!=="global"||!n.has("rules"))return o;let i=t.rules.find(l=>l.root);if(!i)return o;let a=i.body.trim(),c=await y(join(e,Ei));return [...o,{target:"continue",path:Ei,content:a,currentContent:c??void 0,status:lM(c,a)}]},"generateContinueScopeExtras");});var mM,pM,uM,dM,fm,af=d(()=>{ht();tO();$r();sf();oO();iO();cO();um();Nt();uO();mM={name:"continue",primaryRootInstructionPath:bn,generateRules:YR,generateCommands:XR,generateAgents:qR,generateSkills:QR,generateMcp:ZR,importFrom:dm},pM={rootInstructionPath:bn,skillDir:".continue/skills",managedOutputs:{dirs:[".continue/prompts",".continue/rules",".continue/skills"],files:[".continue/mcpServers/agentsmesh.json"]},paths:{rulePath(t,e){return `${ar}/${t}.md`},commandPath(t,e){return HR(t)},agentPath(t){return `${ye}/${z(t)}/SKILL.md`}}},uM={rootInstructionPath:bn,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[Ei]}],skillDir:ye,managedOutputs:{dirs:[ar,Mr,ye,".agents/skills"],files:[$l,Ei,tc]},mirrorGlobalPath(t,e){return t.startsWith(`${ye}/`)?`.agents/skills/${t.slice(ye.length+1)}`:null},paths:{rulePath(t,e){return `${ar}/${t}.md`},commandPath(t,e){return `${Mr}/${t}.md`},agentPath(t){return `${ye}/${z(t)}/SKILL.md`}}},dM={rules:"native",additionalRules:"native",commands:"native",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},fm={id:"continue",generators:mM,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/*).",supportsConversion:{agents:true},lintRules:sO,lint:{commands:aO},project:pM,globalSupport:{capabilities:dM,detectionPaths:[ar,Mr,".continue/mcpServers",ye],layout:uM,scopeExtras:pO},importer:{rules:{feature:"rules",mode:"directory",source:{project:[ar],global:[ar]},canonicalDir:Gl,extensions:[".md"],map:rO},commands:{feature:"commands",mode:"directory",source:{project:[Mr],global:[Mr]},canonicalDir:jl,extensions:[".md"],map:nO}},buildImportPaths:md,detectionPaths:[".continue/rules",".continue/skills",".continue/mcpServers"]};});var Bn,vs,dO,Ms,Po,rn,nn,$s,Gs,gm,hm,fO,lf,gO,To,zi,Hn,Vi,js,mf,pf,Ue=d(()=>{Bn="copilot",vs=".github/copilot-instructions.md",dO=".github/copilot",Ms=".github/instructions",Po=".github/prompts",rn=".github/hooks",nn=".github/skills",$s=".github/agents",Gs=".agentsmesh/rules",gm=".agentsmesh/commands",hm=".agentsmesh/agents",fO=".agentsmesh/skills",lf=".agentsmesh/hooks.yaml",gO=".github/copilot-hooks",To=".copilot/copilot-instructions.md",zi=".copilot/agents",Hn=".copilot/skills",Vi=".copilot/prompts",js=".copilot/AGENTS.md",mf=".claude/skills",pf=".agents/skills";});function hO(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 ym(t){return `${Po}/${t}.prompt.md`}function yO(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 _O(t,e){let n=((typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"")||basename(e,".prompt.md")).trim(),o=hO(t["x-agentsmesh-allowed-tools"]),i=o.length>0?o:hO(t.tools);return {name:n,description:typeof t.description=="string"?t.description:"",allowedTools:i}}var _m=d(()=>{v();Ue();s(hO,"toStringArray");s(ym,"commandPromptPath");s(yO,"serializeCommandPrompt");s(_O,"parseCommandPromptFrontmatter");});function Im(t){return hn(t)}var uf=d(()=>{qe();s(Im,"hasHookCommand");});function hM(t){let e=basename(t,".md");return e==="_root"?"root":e}function yM(t){switch(t){case "PreToolUse":return "preToolUse";case "PostToolUse":return "postToolUse";case "Notification":return "notification";case "UserPromptSubmit":return "userPromptSubmitted";default:return null}}function IO(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 i=n.description?`## ${n.description}`:null;i?e.push(`${i}
95
+ `}function IA(t){return !/^[A-Za-z0-9_-]+$/.test(t)}var RA=d(()=>{mu();ce();s(xh,"generateMcp");s(RK,"serializeMcpToToml");s(IA,"needsTomlQuoting");});var SA=d(()=>{fA();hA();yA();RA();});var CA=d(()=>{SA();});function EK(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 o=Array.isArray(e.args)?e.args.filter(a=>typeof a=="string"):[],n=e.env,i=n!==null&&typeof n=="object"&&!Array.isArray(n)?Object.fromEntries(Object.entries(n).filter(a=>typeof a[1]=="string")):{};return {type:"stdio",command:r,args:o,env:i}}async function EA(t,e){let r=join(t,au),o=await y(r);if(o===null)return;let n;try{n=parse$1(o);}catch{return}let i=n.mcp_servers;if(!i||typeof i!="object"||Array.isArray(i)||Object.keys(i).length===0)return;let a={};for(let[c,l]of Object.entries(i)){let m=EK(l);m&&(a[c]=m);}Object.keys(a).length!==0&&(await $t(t,Sh,a),e.push({fromTool:qt,fromPath:r,toPath:Sh,feature:"mcp"}));}var OA=d(()=>{T();Fr();ce();s(EK,"mapTomlServerToCanonical");s(EA,"importMcp");});async function LA(t,e,r){let o={projectRoot:t,sourceSkillsDir:oo,destCanonicalSkillsDir:gm,targetName:qt,normalize:r,results:e};for(let n of [oo,cA]){let i=join(t,n),a=await readdir(i,{encoding:"utf8",withFileTypes:true}).catch(()=>null);if(a===null)continue;let c=false;for(let l of a){if(!l.isDirectory()&&!l.isSymbolicLink())continue;let m=join(i,l.name),p=join(m,"SKILL.md"),u=await y(p);if(!u)continue;c=true;let g=l.name,f=join(t,gm,g,"SKILL.md"),h=r(u,p,f),{frontmatter:O,body:R}=k(h),S=hp(O,l.name);if(S){await Ye(join(t,gm,g));let D=join(t,Rh);await L(D);let N=join(D,`${S.name}.md`);await _(N,yp(S,r(R,p,N))),e.push({fromTool:qt,fromPath:p,toPath:`${Rh}/${S.name}.md`,feature:"commands"});continue}let A=fo(O,l.name);if(A){await Ye(join(t,gm,g));let D=join(t,xc);await L(D);let N=join(D,`${A.name}.md`);await _(N,Je(A,r(R,p,N))),e.push({fromTool:qt,fromPath:p,toPath:`${xc}/${A.name}.md`,feature:"agents"});continue}await qo(g,m,o);}if(c)return}}var AA=d(()=>{T();M();St();st();Ya();Pc();ce();s(LA,"importSkills");});async function kA(t,e,r){let o=join(t,da),n=join(t,xc);try{let a=(await v(o)).filter(c=>c.endsWith(".toml"));for(let c of a){let l=await y(c);if(!l)continue;let m=parse$1(l);if(!m||typeof m!="object")continue;let p=typeof m.name=="string"?m.name:basename(c,".toml"),u=typeof m.description=="string"?m.description:"",g=typeof m.developer_instructions=="string"?m.developer_instructions.trim():"",f=typeof m.model=="string"?m.model:"",h=typeof m.sandbox_mode=="string"?m.sandbox_mode:"",O=h==="read-only"?"read-only":h==="workspace-write"?"allow":"",R=Array.isArray(m.mcp_servers)?m.mcp_servers.filter(G=>typeof G=="string"):[];await L(n);let S=join(n,`${p}.md`),A=r(g,c,S),N=Je({name:p,description:u,tools:[],disallowedTools:[],model:f,permissionMode:O,maxTurns:0,mcpServers:R,hooks:{},skills:[],memory:""},A);await _(S,N),e.push({fromTool:qt,fromPath:c,toPath:`${xc}/${p}.md`,feature:"agents"});}}catch{}}var wA=d(()=>{T();st();ce();s(kA,"importCodexAgentsFromToml");});function TA(t){if(!t.includes(lA))return null;let e=t.split(`
96
+ `).find(l=>l.startsWith(Ch));if(!e)return null;let r;try{r=JSON.parse(e.slice(Ch.length));}catch{return null}if(!r||typeof r!="object")return null;let o=r,n=typeof o.description=="string"?o.description:"",i=Array.isArray(o.globs)?o.globs.filter(l=>typeof l=="string"):[],a=[],c=false;for(let l of t.split(`
97
+ `)){let m=l.trimEnd();if(m===mA){c=true;continue}if(m===pA){c=false;continue}c&&m.startsWith(Eh)&&a.push(m.slice(Eh.length));}if(a.length===0)return null;try{let l=Buffer$1.from(a.join(""),"base64").toString("utf8");return {meta:{description:n,globs:i},body:l}}catch{return null}}var bA=d(()=>{ce();s(TA,"tryParseEmbeddedCanonicalFromCodexRules");});async function xA(t,e,r){let o=[],n=join(t,tn);try{let i=await v(n),a=i.filter(l=>l.endsWith(".md"));for(let l of a){let m=await y(l);if(!m)continue;let p=relative(n,l).replace(/\\/g,"/"),u=join(e,p),{frontmatter:g,body:f}=k(r(m,l,u));await L(e);let h=g.root===!0?g:{...g,root:!1},O=await K(u,h,f);await _(u,O),o.push({fromTool:qt,fromPath:l,toPath:`${ns}/${p}`,feature:"rules"});}let c=i.filter(l=>l.endsWith(".rules"));for(let l of c){let m=await y(l);if(!m)continue;let p=relative(n,l).replace(/\\/g,"/").replace(/\.rules$/i,".md"),u=join(e,p);await L(e);let g=TA(m);if(g){let f=await K(u,{description:g.meta.description,globs:g.meta.globs,root:!1},r(g.body,l,u));await _(u,f);}else {let f=await K(u,{root:!1,description:"",globs:[],codex_emit:"execution"},r(m.trim(),l,u));await _(u,f);}o.push({fromTool:qt,fromPath:l,toPath:`${ns}/${p}`,feature:"rules"});}}catch{}return o}var DA=d(()=>{T();M();lt();ce();bA();s(xA,"importCodexNonRootRuleFiles");});async function FA(t,e,r,o,n){let i=join(t,iA),a=join(t,os),c=join(t,aA),l=join(t,pa),m=n==="global"?await y(c):null,p=n==="global"?await y(l):null,u=n==="project"?await y(a):null,g=n==="project"?await y(i):null,f=m!==null?c:p!==null?l:u!==null?a:i,h=join(t,ns),O=m??p??u??g;if(O!==null){await L(h);let R=join(h,"_root.md"),S=f===a||f===l||f===c?gA(O):O,A=await Qo({content:S,projectRoot:t,rulesDir:ns,sourcePath:f,fromTool:"codex-cli",normalize:r});e.push(...A.results);let D=r(f===a||f===l||f===c?o(A.rootContent,f,R):A.rootContent,f,R),{frontmatter:N,body:G}=k(D),J=N.root===true?N:{...N,root:true},X=await K(R,J,G);await _(R,X),e.push({fromTool:"codex-cli",fromPath:f,toPath:`${ns}/_root.md`,feature:"rules"});}await bK(t,h,e,r),e.push(...await xA(t,h,r)),n!=="global"&&e.push(...await yt({srcDir:t,destDir:h,extensions:["AGENTS.md","AGENTS.override.md"],fromTool:"codex-cli",normalize:r,mapEntry:s(async({srcPath:R,normalizeTo:S})=>{let A=relative(t,dirname(R)).replace(/\\/g,"/"),D=basename(R),N=D==="AGENTS.override.md";if(!A||A==="."||!N&&D!=="AGENTS.md")return null;let G=A.replace(/\//g,"-");if(!Sp(A))return await Ye(join(h,`${G}.md`)),null;let J=join(h,`${G}.md`),{frontmatter:X,body:q}=k(S(J));return {destPath:J,toPath:`${ns}/${G}.md`,feature:"rules",content:await K(J,{...X,root:false,globs:[`${A}/**`],...N?{codex_instruction:"override"}:{}},q)}},"mapEntry")}));}async function bK(t,e,r,o){try{let i=(await v(join(t,ua))).filter(c=>c.endsWith(".md")),a=join(t,ua);for(let c of i){let l=relative(a,c).replace(/\\/g,"/");if(l==="_root.md")continue;let m=await y(c);if(!m)continue;let p=join(e,l),{frontmatter:u,body:g}=k(o(m,c,p));await L(e);let f=u.root===!0?u:{...u,root:!1},h=await K(p,f,g);await _(p,h),r.push({fromTool:qt,fromPath:c,toPath:`${ns}/${l}`,feature:"rules"});}}catch{}}var vA=d(()=>{T();M();lt();Tc();ke();Ya();ce();DA();cu();s(FA,"importCodexRules");s(bK,"importInstructionMirrors");});async function pu(t,e){let r=e?.scope??"project",o=[],n=await U(qt,t,r),i=await U("windsurf",t,r);return await FA(t,o,n,i,r),await LA(t,o,n),await kA(t,o,n),await EA(t,o),o}var Fh=d(()=>{mt();ce();OA();AA();wA();vA();s(pu,"importFromCodex");});function GA(t,e,r){let{rules:o}=t;return o.length===0?[]:o.some(i=>i.root)?[]:[{level:"warning",file:relative(e,o[0].source),target:qt,message:"Codex needs a root rule to generate AGENTS.md. Add root: true to a rule."}]}var MA=d(()=>{ce();s(GA,"lintRules");});function $A(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,o]of Object.entries(t.mcp.mcpServers))if(typeof o.description=="string"&&o.description&&e.push(b(".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 o||"type"in o){let n="type"in o?o.type:"url";e.push(b(".agentsmesh/mcp.json","codex-cli",`MCP server "${r}" uses ${n} transport; codex-cli only generates stdio MCP servers.`));}return e}var jA=d(()=>{Et();s($A,"lintMcp");});function UA(t){return fm(t)}var KA=d(()=>{cu();s(UA,"codexAdvisoryInstructionPath");});var xK,DK,NK,FK,WA,HA=d(()=>{CA();ce();Fh();MA();jA();Rt();Wa();KA();St();xK={name:"codex-cli",primaryRootInstructionPath:os,generateRules:kh,generateCommands:bh,generateAgents:Ph,generateSkills:Th,generateMcp:xh,importFrom:pu},DK={rootInstructionPath:os,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${tn}/${e}.rules`]},skillDir:".agents/skills",managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/instructions"],files:["AGENTS.md",".codex/config.toml"]},paths:{rulePath(t,e){return UA(e)},commandPath(t,e){return Ba(e,"codex-cli")?`${oo}/${W(t)}/SKILL.md`:null},agentPath(t,e){return `${da}/${t}.toml`}}},NK={rootInstructionPath:pa,renderPrimaryRootInstruction:wh,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${tn}/${e}.rules`]},skillDir:oo,managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/rules"],files:[pa,".codex/config.toml"]},rewriteGeneratedPath(t){return t===os?pa:t.startsWith(`${ua}/`)?null:t},paths:{rulePath(t,e){return e.codexEmit==="execution"?`${tn}/${t}.rules`:pa},commandPath(t,e){return Ba(e,"codex-cli")?`${oo}/${W(t)}/SKILL.md`:null},agentPath(t,e){return `${da}/${t}.toml`}}},FK={rules:"native",additionalRules:"embedded",commands:"embedded",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},WA={id:"codex-cli",metadata:{displayName:"Codex CLI",category:"cli",officialUrl:"https://github.com/openai/codex",shortDescription:"OpenAI's terminal coding agent"},generators:xK,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:GA,lint:{mcp:$A},project:DK,globalSupport:{capabilities:FK,detectionPaths:[".codex/AGENTS.md",".codex/AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules",".agents/skills"],layout:NK},buildImportPaths:Ef,sharedArtifacts:{".agents/skills/":"owner"},detectionPaths:["codex.md","AGENTS.md","AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules"]};});function GK(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 zA(t){return `${Ao}/${t}.md`}function VA(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"],P(e,t.body.trim()||"")}function JA(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:GK(t["x-agentsmesh-allowed-tools"])}}function YA(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"],P(r,e.trim()||"")}var uu=d(()=>{M();ko();s(GK,"toStringArray");s(zA,"continueCommandRulePath");s(VA,"serializeCommandRule");s(JA,"parseCommandRuleFrontmatter");s(YA,"serializeImportedCommand");});function XA(t){let e=[],r=t.rules.find(o=>o.root);if(r){let o={};r.description&&(o.description=r.description),e.push({path:xn,content:P(o,r.body.trim()||"")});}for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes("continue"))continue;let n=basename(o.source,".md"),i={};o.description&&(i.description=o.description),o.globs.length>0&&(i.globs=o.globs),e.push({path:`${$r}/${n}.md`,content:P(i,o.body.trim()||"")});}return e}function ZA(t){return t.commands.map(e=>({path:`${Ao}/${e.name}.md`,content:VA(e)}))}function QA(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Pp,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function qA(t){return t.agents.map(e=>({path:`${be}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function tk(t){return tt(t,be)}var ek=d(()=>{Q();st();M();uu();ko();s(XA,"generateRules");s(ZA,"generateCommands");s(QA,"generateMcp");s(qA,"generateAgents");s(tk,"generateSkills");});function UK(t,e){let o=(e===".json"?JSON.parse(t):parse(t)??{}).mcpServers;if(!o||typeof o!="object"||Array.isArray(o))return {};let n={};for(let[i,a]of Object.entries(o)){if(!a||typeof a!="object"||Array.isArray(a))continue;let c=a;typeof c.command=="string"&&(n[i]={type:typeof c.type=="string"?c.type:"stdio",command:c.command,args:_s(c.args),env:_o(c.env),description:typeof c.description=="string"?c.description:void 0});}return n}async function KK(t,e){let r=(await v(join(t,Of))).filter(i=>[".json",".yaml",".yml"].includes(extname(i))),o={},n=[];for(let i of r){let a=await y(i);a&&(Object.assign(o,UK(a,extname(i))),n.push(i));}if(Object.keys(o).length!==0){await $t(t,Af,o);for(let i of n)e.push({fromTool:qa,fromPath:i,toPath:Af,feature:"mcp"});}}async function du(t){let e=[],r=await U(qa,t);return e.push(...await z(gu,t,"project",{normalize:r})),await Z(t,be,qa,e,r),await KK(t,e),e}var vh=d(()=>{mt();T();Q();Ct();Fr();tr();ko();Gh();s(UK,"readMcpServers");s(KK,"importMcp");s(du,"importFromContinue");});function BK(t){return t==="general.md"||t==="_root.md"}var ok,nk,sk=d(()=>{M();lt();uu();ko();s(BK,"isContinueRootRulePath");ok=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=BK(t),n=o?"_root.md":t,i=join(r,n),{frontmatter:a,body:c}=k(e(i)),l={description:typeof a.description=="string"?a.description:void 0,globs:Array.isArray(a.globs)?a.globs:void 0,root:o};return l.description===void 0&&delete l.description,l.globs===void 0&&delete l.globs,{destPath:i,toPath:`${xp}/${n}`,content:await K(i,l,c)}},"continueRuleMapper"),nk=s(async({absolutePath:t,relativePath:e,normalizeTo:r,destDir:o})=>{let n=join(o,e),{frontmatter:i,body:a}=k(r(n)),c=JA(i,t),l=c.name||e.replace(/\.md$/,"").replace(/^.*\//,""),m=e.includes("/")?e.slice(0,e.lastIndexOf("/")):"",p=m?`${m}/${l}.md`:`${l}.md`,u=join(o,p),g=await ht(u,{description:c.description,hasDescription:!!c.description,allowedTools:c.allowedTools,hasAllowedTools:c.allowedTools.length>0},k(YA(c,a)).body);return {destPath:u,toPath:`${Dp}/${p}`,content:g}},"continueCommandMapper");});function ik(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:qa}))}var ak=d(()=>{_t();ko();s(ik,"lintRules");});function ck(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>b(e.source,"continue","Continue invokable prompt rules do not natively enforce canonical allowed-tools metadata."))}var lk=d(()=>{Et();s(ck,"lintCommands");});function VK(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var mk,pk=d(()=>{T();ko();s(VK,"computeStatus");mk=s(async(t,e,r,o)=>{if(r!=="global")return [];let n=o.has("rules"),i=o.has("commands"),a=o.has("mcp");if(!(n&&t.rules.length>0||i&&t.commands.length>0||a&&t.mcp!==null&&Object.keys(t.mcp.mcpServers).length>0))return [];let l={name:"agentsmesh",version:1,schema:"v1"};if(n&&t.rules.length>0&&(l.rules=t.rules.map(u=>({name:u.description||basename(u.source,".md"),rule:u.body.trim()}))),i&&t.commands.length>0&&(l.prompts=t.commands.map(u=>{let g={name:u.name};return u.description&&(g.description=u.description),g.prompt=u.body.trim(),g})),a&&t.mcp!==null){let u=Object.entries(t.mcp.mcpServers);u.length>0&&(l.mcpServers=u.map(([g,f])=>({name:g,...f})));}let m=stringify(l),p=await y(join(e,Wl));return [{target:"continue",path:Wl,content:m,currentContent:p??void 0,status:VK(p,m)}]},"generateContinueGlobalConfig");});function YK(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var uk,dk=d(()=>{T();ko();pk();s(YK,"computeStatus");uk=s(async(t,e,r,o)=>{let n=await mk(t,e,r,o);if(r!=="global"||!o.has("rules"))return n;let i=t.rules.find(l=>l.root);if(!i)return n;let a=i.body.trim(),c=await y(join(e,tc));return [...n,{target:"continue",path:tc,content:a,currentContent:c??void 0,status:YK(c,a)}]},"generateContinueScopeExtras");});var XK,ZK,QK,qK,gu,Gh=d(()=>{st();ek();ko();vh();sk();ak();lk();uu();Rt();dk();XK={name:"continue",primaryRootInstructionPath:xn,generateRules:XA,generateCommands:ZA,generateAgents:qA,generateSkills:tk,generateMcp:QA,importFrom:du},ZK={rootInstructionPath:xn,skillDir:".continue/skills",managedOutputs:{dirs:[".continue/prompts",".continue/rules",".continue/skills"],files:[".continue/mcpServers/agentsmesh.json"]},paths:{rulePath(t,e){return `${$r}/${t}.md`},commandPath(t,e){return zA(t)},agentPath(t){return `${be}/${$(t)}/SKILL.md`}}},QK={rootInstructionPath:xn,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[tc]}],skillDir:be,managedOutputs:{dirs:[$r,Ao,be,".agents/skills"],files:[Pp,tc,Wl]},mirrorGlobalPath(t,e){return t.startsWith(`${be}/`)?`.agents/skills/${t.slice(be.length+1)}`:null},paths:{rulePath(t,e){return `${$r}/${t}.md`},commandPath(t,e){return `${Ao}/${t}.md`},agentPath(t){return `${be}/${$(t)}/SKILL.md`}}},qK={rules:"native",additionalRules:"native",commands:"native",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},gu={id:"continue",metadata:{displayName:"Continue",category:"ide",officialUrl:"https://continue.dev",shortDescription:"Open-source AI code assistant"},generators:XK,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/*).",supportsConversion:{agents:true},lintRules:ik,lint:{commands:ck},project:ZK,globalSupport:{capabilities:qK,detectionPaths:[$r,Ao,".continue/mcpServers",be],layout:QK,scopeExtras:uk},importer:{rules:{feature:"rules",mode:"directory",source:{project:[$r],global:[$r]},canonicalDir:xp,extensions:[".md"],map:ok},commands:{feature:"commands",mode:"directory",source:{project:[Ao],global:[Ao]},canonicalDir:Dp,extensions:[".md"],map:nk}},buildImportPaths:kf,detectionPaths:[".continue/rules",".continue/skills",".continue/mcpServers"]};});var ss,ga,gk,fa,Qs,rn,on,ha,ya,fu,hu,fk,$h,hk,qs,Dc,is,Nc,_a,jh,Uh,Sr=d(()=>{ss="copilot",ga=".github/copilot-instructions.md",gk=".github/copilot",fa=".github/instructions",Qs=".github/prompts",rn=".github/hooks",on=".github/skills",ha=".github/agents",ya=".agentsmesh/rules",fu=".agentsmesh/commands",hu=".agentsmesh/agents",fk=".agentsmesh/skills",$h=".agentsmesh/hooks.yaml",hk=".github/copilot-hooks",qs=".copilot/copilot-instructions.md",Dc=".copilot/agents",is=".copilot/skills",Nc=".copilot/prompts",_a=".copilot/AGENTS.md",jh=".claude/skills",Uh=".agents/skills";});function yk(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 yu(t){return `${Qs}/${t}.prompt.md`}function _k(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"],P(e,t.body.trim()||"")}function Ik(t,e){let o=((typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"")||basename(e,".prompt.md")).trim(),n=yk(t["x-agentsmesh-allowed-tools"]),i=n.length>0?n:yk(t.tools);return {name:o,description:typeof t.description=="string"?t.description:"",allowedTools:i}}var _u=d(()=>{M();Sr();s(yk,"toStringArray");s(yu,"commandPromptPath");s(_k,"serializeCommandPrompt");s(Ik,"parseCommandPromptFrontmatter");});function Iu(t){return hn(t)}var Kh=d(()=>{Pr();s(Iu,"hasHookCommand");});function rB(t){let e=basename(t,".md");return e==="_root"?"root":e}function oB(t){switch(t){case "PreToolUse":return "preToolUse";case "PostToolUse":return "postToolUse";case "Notification":return "notification";case "UserPromptSubmit":return "userPromptSubmitted";default:return null}}function Rk(t){let e=[],r=t.rules.find(o=>o.root);r?.body.trim()&&e.push(r.body.trim());for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes("copilot"))continue;let n=o.body.trim();if(!n)continue;let i=o.description?`## ${o.description}`:null;i?e.push(`${i}
94
98
 
95
- ${o}`):e.push(o);}return e.join(`
99
+ ${n}`):e.push(n);}return e.join(`
96
100
 
97
- `)}function SO(t){let e=t.rules.find(n=>n.root),r=[];e&&r.push({path:vs,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=hM(n.source),i={description:n.description||void 0,applyTo:n.globs.length===1?n.globs[0]:n.globs};Object.keys(i).forEach(c=>{i[c]===void 0&&delete i[c];});let a=N(i,n.body.trim()||"");r.push({path:`${Ms}/${o}.instructions.md`,content:a});}return r}function CO(t){return t.commands.map(e=>({path:ym(e.name),content:yO(e)}))}function RO(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:`${nn}/${r.name}/SKILL.md`,content:o});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${nn}/${r.name}/${a}`,content:i.content});}}return e}function OO(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:`${$s}/${e.name}.agent.md`,content:n}})}function EO(t){if(!t.hooks)return [];let e=Object.fromEntries(Object.entries(t.hooks).flatMap(([r,n])=>{let o=yM(r);if(!o||!Array.isArray(n))return [];let i=n.filter(a=>typeof a=="object"&&a!==null&&Im(a)).map((a,c)=>{let m={type:"command",bash:`./scripts/${r.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}-${c}.sh`,comment:`Matcher: ${a.matcher}`};return a.timeout!==void 0&&(m.timeoutSec=Math.ceil(a.timeout/1e3)),m});return i.length>0?[[o,i]]:[]}));return Object.keys(e).length===0?[]:[{path:`${rn}/agentsmesh.json`,content:JSON.stringify({version:1,hooks:e},null,2)}]}var kO=d(()=>{v();Ue();_m();uf();s(hM,"ruleSlug");s(yM,"mapHookEvent");s(IO,"renderCopilotGlobalInstructions");s(SO,"generateRules");s(CO,"generateCommands");s(RO,"generateSkills");s(OO,"generateAgents");s(EO,"generateHooks");});function IM(t){switch(t){case "preToolUse":return "PreToolUse";case "postToolUse":return "PostToolUse";case "notification":return "Notification";case "userPromptSubmitted":return "UserPromptSubmit";default:return null}}function SM(t){return typeof t!="string"?"*":t.match(/^Matcher:\s*(.+)$/)?.[1]?.trim()||"*"}function bO(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[u]?\n?/m,"").trim()}async function AO(t,e){let r=join(t,rn),o=(await D(r).catch(()=>[])).filter(p=>p.endsWith(".json")),i={};for(let p of o){let u=await y(p);if(!u)continue;let f;try{f=JSON.parse(u);}catch{continue}if(!(!f||typeof f.hooks!="object"||f.hooks===null))for(let[g,h]of Object.entries(f.hooks)){let R=IM(g);if(!(!R||!Array.isArray(h)))for(let S of h){if(!S||typeof S!="object")continue;let _=S,k=typeof _.bash=="string"?_.bash:"";if(!k)continue;let T=join(r,k.replace(/^\.\//,"")),P=await y(T);if(!P)continue;let A=bO(P);A&&(i[R]||(i[R]=[]),i[R].push({matcher:SM(_.comment),command:A,type:"command"}));}}}let a=join(t,gO),l=(await D(a).catch(()=>[])).filter(p=>dirname(p)===a&&/^[^-]+-\d+\.sh$/i.test(basename(p)));for(let p of l){let u=await y(p);if(!u)continue;let f=basename(p,".sh"),g=f.lastIndexOf("-"),h=g>0?f.slice(0,g):f;i[h]||(i[h]=[]),i[h].push({matcher:"*",command:bO(u),type:"command"});}if(Object.keys(i).length===0)return;let m=join(t,lf);await O(dirname(m)),await C(m,stringify(i)),e.push({fromTool:Bn,fromPath:join(t,rn),toPath:lf,feature:"hooks"});}var xO=d(()=>{b();Ue();s(IM,"mapCopilotHookEvent");s(SM,"extractMatcher");s(bO,"extractWrapperCommand");s(AO,"importHooks");});async function PO(t,e,r,n=nn){let o=join(t,n),i=await xo(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:fO,targetName:Bn,normalize:r,results:e};for(let[c,l]of i)await Qr(c,l,a);}var TO=d(()=>{Bi();Ue();s(PO,"importSkills");});async function Sm(t,e={}){let r=e.scope??"project",n=[],o=await H(Bn,t,r);return n.push(...await tt(Cm,t,r,{normalize:o})),await PO(t,n,o,r==="global"?Hn:nn),r==="project"&&await AO(t,n),n}var df=d(()=>{Ot();Ut();Ue();xO();TO();ff();s(Sm,"importFromCopilot");});function DO(t){for(let e of Object.keys(t))t[e]===void 0&&delete t[e];return t}var NO,FO,vO,MO,$O=d(()=>{v();nt();nr();_m();Ue();s(DO,"pruneUndefined");NO=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=t.replace(/\.instructions\.md$/i,".md"),o=join(r,n),{frontmatter:i,body:a}=E(e(o)),c=Cn(i.globs),l=DO({root:false,description:typeof i.description=="string"?i.description:void 0,globs:c.length>0?c:void 0});return {destPath:o,toPath:`${Gs}/${n}`,content:await G(o,l,a)}},"copilotLegacyRuleMapper"),FO=s(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:i,body:a}=E(e(o)),c=Cn(i.applyTo!==void 0?i.applyTo:i.globs),l=DO({root:false,description:typeof i.description=="string"?i.description:void 0,globs:c.length>0?c:void 0});return {destPath:o,toPath:`${Gs}/${n}`,content:await G(o,l,a)}},"copilotNewRuleMapper"),vO=s(async({absolutePath:t,relativePath:e,normalizeTo:r,destDir:n})=>{let o=e.replace(/\.prompt\.md$/i,".md"),i=join(n,o),{frontmatter:a,body:c}=E(r(i)),l=_O(a,t),m=o.includes("/")?o.slice(0,o.lastIndexOf("/")):"",p=`${l.name}.md`,u=m?`${m}/${p}`:p,f=join(n,u);return {destPath:f,toPath:`${gm}/${u}`,content:await it(f,{description:l.description,hasDescription:Object.prototype.hasOwnProperty.call(a,"description"),allowedTools:l.allowedTools,hasAllowedTools:Object.prototype.hasOwnProperty.call(a,"tools")||Object.prototype.hasOwnProperty.call(a,"x-agentsmesh-allowed-tools")},c)}},"copilotCommandMapper"),MO=s(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"),i=join(r,n),{frontmatter:a,body:c}=E(e(i));return {destPath:i,toPath:`${hm}/${n}`,content:await Pt(i,{...a,name:typeof a.name=="string"?a.name:o},c)}},"copilotAgentMapper");});function GO(t,e,r,n){let i=q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(c=>({...c,target:Bn})),a=t.rules.filter(c=>!c.root&&c.globs.length===0);return [...i,...a.map(c=>({level:"warning",file:c.source,target:Bn,message:"Copilot path-specific instructions require applyTo globs; non-root rules without globs are not generated."}))]}var jO=d(()=>{Wt();Ue();s(GO,"lintRules");});function UO(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 WO(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(i=>!r.has(i)).map(i=>Si(i,"copilot",e,{unsupportedBy:"Copilot hooks"}));return Object.values(t.hooks).some(i=>Array.isArray(i)&&i.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 KO=d(()=>{Tt();s(UO,"lintCommands");s(WO,"lintHooks");});function kM(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function wM(t,e){let r=relative(t,e).replace(/\\/g,"/");return !r||r.startsWith("../")?null:r}function LM(t,e){let r=t.match(HO);if(!r?.groups)return t;let n=r.groups.prefix??"",o=r.groups.suffix??"";return `${n}"$HOOK_DIR/${e}"${o}`}async function bM(t,e){let n=e.match(HO)?.groups?.path;if(!n)return null;let o=join(t,n),i=await y(o);if(i===null)return null;let a=wM(t,o);return a?{assetPath:`${rn}/scripts/${a}`,content:i,rewrittenCommand:LM(e,a)}:null}function AM(t,e){return `${rn}/scripts/${kM(t)}-${e}.sh`}function BO(t){return t.replace(/[\r\n]+/g," ")}function xM(t,e){return ["#!/usr/bin/env bash",`# agentsmesh-matcher: ${BO(e)}`,`# agentsmesh-command: ${BO(t)}`,"set -eu",t,""].join(`
98
- `)}async function zO(t,e,r){if(!e.hooks)return r;let n=[],o=new Map;for(let[i,a]of Object.entries(e.hooks)){if(!Array.isArray(a))continue;let c=0;for(let l of a){if(!Im(l))continue;let m=AM(i,c),p=l.command,u=await bM(t,l.command);u&&(p=u.rewrittenCommand,o.has(u.assetPath)||o.set(u.assetPath,{path:u.assetPath,content:u.content}));let f=xM(p,l.matcher).replace(`set -eu
101
+ `)}function Sk(t){let e=t.rules.find(o=>o.root),r=[];e&&r.push({path:ga,content:e.body.trim()||""});for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes("copilot")||o.globs.length===0)continue;let n=rB(o.source),i={description:o.description||void 0,applyTo:o.globs.length===1?o.globs[0]:o.globs};Object.keys(i).forEach(c=>{i[c]===void 0&&delete i[c];});let a=P(i,o.body.trim()||"");r.push({path:`${fa}/${n}.instructions.md`,content:a});}return r}function Ck(t){return t.commands.map(e=>({path:yu(e.name),content:_k(e)}))}function Ek(t){let e=[];for(let r of t.skills){let o={name:r.name,description:r.description||void 0};o.description===void 0&&delete o.description;let n=P(o,r.body.trim()||"");e.push({path:`${on}/${r.name}/SKILL.md`,content:n});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${on}/${r.name}/${a}`,content:i.content});}}return e}function Ok(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(n=>{r[n]===void 0&&delete r[n];});let o=P(r,e.body.trim()||"");return {path:`${ha}/${e.name}.agent.md`,content:o}})}function Lk(t){if(!t.hooks)return [];let e=Object.fromEntries(Object.entries(t.hooks).flatMap(([r,o])=>{let n=oB(r);if(!n||!Array.isArray(o))return [];let i=o.filter(a=>typeof a=="object"&&a!==null&&Iu(a)).map((a,c)=>{let m={type:"command",bash:`./scripts/${r.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}-${c}.sh`,comment:`Matcher: ${a.matcher}`};return a.timeout!==void 0&&(m.timeoutSec=Math.ceil(a.timeout/1e3)),m});return i.length>0?[[n,i]]:[]}));return Object.keys(e).length===0?[]:[{path:`${rn}/agentsmesh.json`,content:JSON.stringify({version:1,hooks:e},null,2)}]}var Ak=d(()=>{M();Sr();_u();Kh();s(rB,"ruleSlug");s(oB,"mapHookEvent");s(Rk,"renderCopilotGlobalInstructions");s(Sk,"generateRules");s(Ck,"generateCommands");s(Ek,"generateSkills");s(Ok,"generateAgents");s(Lk,"generateHooks");});function sB(t){switch(t){case "preToolUse":return "PreToolUse";case "postToolUse":return "PostToolUse";case "notification":return "Notification";case "userPromptSubmitted":return "UserPromptSubmit";default:return null}}function iB(t){return typeof t!="string"?"*":t.match(/^Matcher:\s*(.+)$/)?.[1]?.trim()||"*"}function Tk(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[u]?\n?/m,"").trim()}async function bk(t,e){let r=join(t,rn),n=(await v(r).catch(()=>[])).filter(p=>p.endsWith(".json")),i={};for(let p of n){let u=await y(p);if(!u)continue;let g;try{g=JSON.parse(u);}catch{continue}if(!(!g||typeof g.hooks!="object"||g.hooks===null))for(let[f,h]of Object.entries(g.hooks)){let O=sB(f);if(!(!O||!Array.isArray(h)))for(let R of h){if(!R||typeof R!="object")continue;let S=R,A=typeof S.bash=="string"?S.bash:"";if(!A)continue;let D=join(r,A.replace(/^\.\//,"")),N=await y(D);if(!N)continue;let G=Tk(N);G&&(i[O]||(i[O]=[]),i[O].push({matcher:iB(S.comment),command:G,type:"command"}));}}}let a=join(t,hk),l=(await v(a).catch(()=>[])).filter(p=>dirname(p)===a&&/^[^-]+-\d+\.sh$/i.test(basename(p)));for(let p of l){let u=await y(p);if(!u)continue;let g=basename(p,".sh"),f=g.lastIndexOf("-"),h=f>0?g.slice(0,f):g;i[h]||(i[h]=[]),i[h].push({matcher:"*",command:Tk(u),type:"command"});}if(Object.keys(i).length===0)return;let m=join(t,$h);await L(dirname(m)),await _(m,stringify(i)),e.push({fromTool:ss,fromPath:join(t,rn),toPath:$h,feature:"hooks"});}var Pk=d(()=>{T();Sr();s(sB,"mapCopilotHookEvent");s(iB,"extractMatcher");s(Tk,"extractWrapperCommand");s(bk,"importHooks");});async function xk(t,e,r,o=on){let n=join(t,o),i=await Zs(n),a={projectRoot:t,sourceSkillsDir:o,destCanonicalSkillsDir:fk,targetName:ss,normalize:r,results:e};for(let[c,l]of i)await qo(c,l,a);}var Dk=d(()=>{Pc();Sr();s(xk,"importSkills");});async function Ru(t,e={}){let r=e.scope??"project",o=[],n=await U(ss,t,r);return o.push(...await z(Su,t,r,{normalize:n})),await xk(t,o,n,r==="global"?is:on),r==="project"&&await bk(t,o),o}var Bh=d(()=>{mt();Ct();Sr();Pk();Dk();Wh();s(Ru,"importFromCopilot");});function Nk(t){for(let e of Object.keys(t))t[e]===void 0&&delete t[e];return t}var Fk,vk,Gk,Mk,$k=d(()=>{M();lt();tr();_u();Sr();s(Nk,"pruneUndefined");Fk=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=t.replace(/\.instructions\.md$/i,".md"),n=join(r,o),{frontmatter:i,body:a}=k(e(n)),c=Rn(i.globs),l=Nk({root:false,description:typeof i.description=="string"?i.description:void 0,globs:c.length>0?c:void 0});return {destPath:n,toPath:`${ya}/${o}`,content:await K(n,l,a)}},"copilotLegacyRuleMapper"),vk=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=t.endsWith(".instructions.md")?t.replace(/\.instructions\.md$/i,".md"):t,n=join(r,o),{frontmatter:i,body:a}=k(e(n)),c=Rn(i.applyTo!==void 0?i.applyTo:i.globs),l=Nk({root:false,description:typeof i.description=="string"?i.description:void 0,globs:c.length>0?c:void 0});return {destPath:n,toPath:`${ya}/${o}`,content:await K(n,l,a)}},"copilotNewRuleMapper"),Gk=s(async({absolutePath:t,relativePath:e,normalizeTo:r,destDir:o})=>{let n=e.replace(/\.prompt\.md$/i,".md"),i=join(o,n),{frontmatter:a,body:c}=k(r(i)),l=Ik(a,t),m=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"",p=`${l.name}.md`,u=m?`${m}/${p}`:p,g=join(o,u);return {destPath:g,toPath:`${fu}/${u}`,content:await ht(g,{description:l.description,hasDescription:Object.prototype.hasOwnProperty.call(a,"description"),allowedTools:l.allowedTools,hasAllowedTools:Object.prototype.hasOwnProperty.call(a,"tools")||Object.prototype.hasOwnProperty.call(a,"x-agentsmesh-allowed-tools")},c)}},"copilotCommandMapper"),Mk=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{if(!t.endsWith(".agent.md"))return null;let o=t.replace(/\.agent\.md$/i,".md"),n=basename(o,".md"),i=join(r,o),{frontmatter:a,body:c}=k(e(i));return {destPath:i,toPath:`${hu}/${o}`,content:await Bt(i,{...a,name:typeof a.name=="string"?a.name:n},c)}},"copilotAgentMapper");});function jk(t,e,r,o){let i=H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(c=>({...c,target:ss})),a=t.rules.filter(c=>!c.root&&c.globs.length===0);return [...i,...a.map(c=>({level:"warning",file:c.source,target:ss,message:"Copilot path-specific instructions require applyTo globs; non-root rules without globs are not generated."}))]}var Uk=d(()=>{_t();Sr();s(jk,"lintRules");});function Kk(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>b(e.source,"copilot","Copilot prompt files do not enforce canonical allowed-tools natively."))}function Bk(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=["PreToolUse","PostToolUse","Notification","UserPromptSubmit"],r=new Set(e),o=Object.keys(t.hooks).filter(i=>!r.has(i)).map(i=>Rs(i,"copilot",e,{unsupportedBy:"Copilot hooks"}));return Object.values(t.hooks).some(i=>Array.isArray(i)&&i.length>0)&&o.push(b(".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.")),o}var Wk=d(()=>{Et();s(Kk,"lintCommands");s(Bk,"lintHooks");});function pB(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function uB(t,e){let r=relative(t,e).replace(/\\/g,"/");return !r||r.startsWith("../")?null:r}function dB(t,e){let r=t.match(zk);if(!r?.groups)return t;let o=r.groups.prefix??"",n=r.groups.suffix??"";return `${o}"$HOOK_DIR/${e}"${n}`}async function gB(t,e){let o=e.match(zk)?.groups?.path;if(!o)return null;let n=join(t,o),i=await y(n);if(i===null)return null;let a=uB(t,n);return a?{assetPath:`${rn}/scripts/${a}`,content:i,rewrittenCommand:dB(e,a)}:null}function fB(t,e){return `${rn}/scripts/${pB(t)}-${e}.sh`}function Hk(t){return t.replace(/[\r\n]+/g," ")}function hB(t,e){return ["#!/usr/bin/env bash",`# agentsmesh-matcher: ${Hk(e)}`,`# agentsmesh-command: ${Hk(t)}`,"set -eu",t,""].join(`
102
+ `)}async function Vk(t,e,r){if(!e.hooks)return r;let o=[],n=new Map;for(let[i,a]of Object.entries(e.hooks)){if(!Array.isArray(a))continue;let c=0;for(let l of a){if(!Iu(l))continue;let m=fB(i,c),p=l.command,u=await gB(t,l.command);u&&(p=u.rewrittenCommand,n.has(u.assetPath)||n.set(u.assetPath,{path:u.assetPath,content:u.content}));let g=hB(p,l.matcher).replace(`set -eu
99
103
  `,`set -eu
100
104
  HOOK_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
101
- `);n.push({path:m,content:f}),c++;}}return [...r,...n,...o.values()]}var HO,VO=d(()=>{b();Ue();uf();HO=/^(?<prefix>\s*(?:(?:bash|sh|zsh)\s+)?)["']?(?<path>(?:\.\.\/|\.\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?<suffix>(?:\s.*)?)$/;s(kM,"safePhaseName");s(wM,"toRepoRelative");s(LM,"rewriteWrapperCommand");s(bM,"buildAssetOutput");s(AM,"wrapperPath");s(BO,"safeShellLine");s(xM,"buildWrapper");s(zO,"addHookScriptAssets");});function TM(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var JO,YO=d(()=>{b();Ue();s(TM,"computeStatus");JO=s(async(t,e,r,n)=>{if(r!=="global"||!n.has("rules"))return [];let o=t.rules.find(c=>c.root);if(!o)return [];let i=o.body.trim(),a=await y(join(e,js));return [{target:"copilot",path:js,content:i,currentContent:a??void 0,status:TM(a,i)}]},"generateCopilotGlobalExtras");});var NM,FM,vM,MM,Cm,ff=d(()=>{kO();Ue();df();$O();jO();Nt();_m();KO();VO();YO();NM={name:"copilot",primaryRootInstructionPath:vs,generateRules:SO,generateCommands:CO,generateAgents:OO,generateSkills:RO,generateHooks:EO,importFrom:Sm},FM={rootInstructionPath:vs,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 [`${Ms}/${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 `${Ms}/${t}.instructions.md`},commandPath(t,e){return ym(t)},agentPath(t,e){return `${$s}/${t}.agent.md`}}},vM={rootInstructionPath:To,renderPrimaryRootInstruction:IO,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[js]}],skillDir:Hn,managedOutputs:{dirs:[zi,Hn,Vi,pf,mf],files:[To,js]},rewriteGeneratedPath(t){return t===vs?To:t.startsWith(`${Ms}/`)?To:t.startsWith(`${Po}/`)?t.replace(`${Po}/`,`${Vi}/`):t.startsWith(`${$s}/`)?t.replace(`${$s}/`,`${zi}/`):t.startsWith(`${nn}/`)?t.replace(`${nn}/`,`${Hn}/`):t.startsWith(`${rn}/`)?null:t},mirrorGlobalPath(t,e){if(t.startsWith(`${Hn}/`)&&!e.includes("codex-cli")){let r=t.slice(Hn.length+1);return [`.agents/skills/${r}`,`${mf}/${r}`]}return null},paths:{rulePath(t,e){return To},commandPath(t,e){return `${Vi}/${t}.prompt.md`},agentPath(t,e){return `${zi}/${t}.agent.md`}}},MM={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},Cm={id:"copilot",generators:NM,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:GO,lint:{commands:UO,hooks:WO},postProcessHookOutputs:s(async(t,e,r)=>zO(t,e,[...r]),"postProcessHookOutputs"),project:FM,globalSupport:{capabilities:MM,detectionPaths:[To,js,zi,Hn,Vi,pf],layout:vM,scopeExtras:JO},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[vs],global:[To]},canonicalDir:Gs,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[dO]},canonicalDir:Gs,extensions:[".instructions.md"],map:NO},{feature:"rules",mode:"directory",source:{project:[Ms]},canonicalDir:Gs,extensions:[".instructions.md",".md"],map:FO}],commands:{feature:"commands",mode:"directory",source:{project:[Po],global:[Vi]},canonicalDir:gm,extensions:[".prompt.md"],map:vO},agents:{feature:"agents",mode:"directory",source:{project:[$s],global:[zi]},canonicalDir:hm,extensions:[".agent.md"],map:MO}},buildImportPaths:pd,detectionPaths:[".github/copilot-instructions.md",".github/copilot",".github/instructions",".github/prompts",".github/skills",".github/agents",".github/hooks"]};});function gf(t){let e=[],r=t.rules.find(i=>i.root);if(r){let i=r.body.trim()?r.body:"";e.push({path:lo,content:i});let a={alwaysApply:true};r.description&&(a.description=r.description);let c=N(a,i);e.push({path:An,content:c});}let n=t.rules.filter(i=>!i.root&&(i.targets.length===0||i.targets.includes("cursor")));for(let i of n){let a=basename(i.source,".md"),l={alwaysApply:i.trigger==="always_on"};i.description&&(l.description=i.description),i.globs.length>0&&(l.globs=i.globs);let m=N(l,i.body.trim()||"");e.push({path:`${Me}/${a}.mdc`,content:m});}let o=XO(t);return o.trim()&&e.push({path:lr,content:o}),e}function XO(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(xt(e.body,r)):r.length>0&&n.push(xt("",r)),n.filter(Boolean).join(`
105
+ `);o.push({path:m,content:g}),c++;}}return [...r,...o,...n.values()]}var zk,Jk=d(()=>{T();Sr();Kh();zk=/^(?<prefix>\s*(?:(?:bash|sh|zsh)\s+)?)["']?(?<path>(?:\.\.\/|\.\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?<suffix>(?:\s.*)?)$/;s(pB,"safePhaseName");s(uB,"toRepoRelative");s(dB,"rewriteWrapperCommand");s(gB,"buildAssetOutput");s(fB,"wrapperPath");s(Hk,"safeShellLine");s(hB,"buildWrapper");s(Vk,"addHookScriptAssets");});function _B(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var Yk,Xk=d(()=>{T();Sr();s(_B,"computeStatus");Yk=s(async(t,e,r,o)=>{if(r!=="global"||!o.has("rules"))return [];let n=t.rules.find(c=>c.root);if(!n)return [];let i=n.body.trim(),a=await y(join(e,_a));return [{target:"copilot",path:_a,content:i,currentContent:a??void 0,status:_B(a,i)}]},"generateCopilotGlobalExtras");});var RB,SB,CB,EB,Su,Wh=d(()=>{Ak();Sr();Bh();$k();Uk();Rt();_u();Wk();Jk();Xk();RB={name:"copilot",primaryRootInstructionPath:ga,generateRules:Sk,generateCommands:Ck,generateAgents:Ok,generateSkills:Ek,generateHooks:Lk,importFrom:Ru},SB={rootInstructionPath:ga,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 [`${fa}/${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 `${fa}/${t}.instructions.md`},commandPath(t,e){return yu(t)},agentPath(t,e){return `${ha}/${t}.agent.md`}}},CB={rootInstructionPath:qs,renderPrimaryRootInstruction:Rk,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[_a]}],skillDir:is,managedOutputs:{dirs:[Dc,is,Nc,Uh,jh],files:[qs,_a]},rewriteGeneratedPath(t){return t===ga?qs:t.startsWith(`${fa}/`)?qs:t.startsWith(`${Qs}/`)?t.replace(`${Qs}/`,`${Nc}/`):t.startsWith(`${ha}/`)?t.replace(`${ha}/`,`${Dc}/`):t.startsWith(`${on}/`)?t.replace(`${on}/`,`${is}/`):t.startsWith(`${rn}/`)?null:t},mirrorGlobalPath(t,e){if(t.startsWith(`${is}/`)&&!e.includes("codex-cli")){let r=t.slice(is.length+1);return [`.agents/skills/${r}`,`${jh}/${r}`]}return null},paths:{rulePath(t,e){return qs},commandPath(t,e){return `${Nc}/${t}.prompt.md`},agentPath(t,e){return `${Dc}/${t}.agent.md`}}},EB={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},Su={id:"copilot",metadata:{displayName:"GitHub Copilot",category:"ide",officialUrl:"https://github.com/features/copilot",shortDescription:"GitHub's AI pair programmer"},generators:RB,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:jk,lint:{commands:Kk,hooks:Bk},postProcessHookOutputs:s(async(t,e,r)=>Vk(t,e,[...r]),"postProcessHookOutputs"),project:SB,globalSupport:{capabilities:EB,detectionPaths:[qs,_a,Dc,is,Nc,Uh],layout:CB,scopeExtras:Yk},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[ga],global:[qs]},canonicalDir:ya,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[gk]},canonicalDir:ya,extensions:[".instructions.md"],map:Fk},{feature:"rules",mode:"directory",source:{project:[fa]},canonicalDir:ya,extensions:[".instructions.md",".md"],map:vk}],commands:{feature:"commands",mode:"directory",source:{project:[Qs],global:[Nc]},canonicalDir:fu,extensions:[".prompt.md"],map:Gk},agents:{feature:"agents",mode:"directory",source:{project:[ha],global:[Dc]},canonicalDir:hu,extensions:[".agent.md"],map:Mk}},buildImportPaths:wf,detectionPaths:[".github/copilot-instructions.md",".github/copilot",".github/instructions",".github/prompts",".github/skills",".github/agents",".github/hooks"]};});function Cu(t){return {$schema:"https://charm.land/crush.json",...t}}var Zk=d(()=>{s(Cu,"buildCrushConfigJson");});function Qk(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(sr)),o=e?.body.trim()??"",n=it(o,r);return n?[{path:ir,content:n}]:[]}function qk(t){return tt(t,Yt)}function tw(t){return t.commands.map(e=>({path:`${Yt}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function ew(t){return t.agents.map(e=>({path:`${Yt}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function rw(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=Cu({mcp:t.mcp.mcpServers});return [{path:Pe,content:JSON.stringify(e,null,2)}]}function ow(t){if(!t.hooks)return [];let e=OB(t);if(Object.keys(e).length===0)return [];let r=Cu({hooks:e});return [{path:Pe,content:JSON.stringify(r,null,2)}]}function nw(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,o=t.permissions.ask??[];if(e.length===0&&r.length===0&&o.length===0)return [];let n={};e.length>0&&(n.allowed_tools=e),r.length>0&&(n.denied_tools=r);let i=Cu({permissions:n});return [{path:Pe,content:JSON.stringify(i,null,2)}]}function sw(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
106
+ `);return [{path:Dn,content:e}]}function OB(t){if(!t.hooks)return {};let e={};for(let[r,o]of Object.entries(t.hooks)){if(!Array.isArray(o))continue;let n=[];for(let i of o){let a=typeof i.command=="string"?i.command.trim():"";if(!a)continue;let c={matcher:i.matcher,command:a};i.timeout!==void 0&&(c.timeout=i.timeout),n.push(c);}n.length>0&&(e[r]=n);}return e}var iw=d(()=>{Q();Mt();st();St();ec();Zk();s(Qk,"generateRules");s(qk,"generateSkills");s(tw,"generateCommands");s(ew,"generateAgents");s(rw,"generateMcp");s(ow,"generateHooks");s(nw,"generatePermissions");s(sw,"generateIgnore");s(OB,"buildCrushHooksFromCanonical");});async function cw(t,e={}){let r=e.scope??"project",o=[],n=await U(sr,t,r);return o.push(...await z(Eu,t,r,{normalize:n})),await Z(t,r==="global"?xe:Yt,sr,o,n),await LB(t,o),o}async function LB(t,e){let r=join(t,Pe),o=await y(r);if(o===null)return;let n;try{n=JSON.parse(o);}catch{return}if(!n||typeof n!="object"||Array.isArray(n))return;let i=n,a=AB(i.mcp);if(Object.keys(a).length>0){let l=Mp,m=join(t,l);await L(dirname(m)),await _(m,JSON.stringify({mcpServers:a},null,2)),e.push({fromTool:sr,fromPath:r,toPath:l,feature:"mcp"});}let c=kB(i.hooks);if(c!==null&&Object.keys(c).length>0){let l=".agentsmesh/hooks.yaml",m=join(t,l);await L(dirname(m));let p=wB(c);await _(m,p),e.push({fromTool:sr,fromPath:r,toPath:l,feature:"hooks"});}}function AB(t){if(!t||typeof t!="object"||Array.isArray(t))return {};let e={};for(let[r,o]of Object.entries(t)){if(!o||typeof o!="object"||Array.isArray(o))continue;let n=o,i=typeof n.description=="string"?n.description:void 0;if(typeof n.command=="string"){e[r]={type:typeof n.type=="string"?n.type:"stdio",command:n.command,args:_s(n.args),env:_o(n.env),...i!==void 0?{description:i}:{}};continue}typeof n.url=="string"&&(e[r]={type:typeof n.type=="string"?n.type:"http",url:n.url,headers:_o(n.headers),env:_o(n.env),...i!==void 0?{description:i}:{}});}return e}function kB(t){if(!t||typeof t!="object"||Array.isArray(t))return null;let e={};for(let[r,o]of Object.entries(t)){if(!Array.isArray(o))continue;let n=[];for(let i of o){if(!i||typeof i!="object"||Array.isArray(i))continue;let a=i,c=typeof a.command=="string"?a.command.trim():"";if(!c)continue;let m={matcher:typeof a.matcher=="string"?a.matcher:"",command:c};typeof a.timeout=="number"&&(m.timeout=a.timeout),n.push(m);}n.length>0&&(e[r]=n);}return Object.keys(e).length>0?e:null}function wB(t){let e=[];for(let[r,o]of Object.entries(t)){e.push(`${r}:`);for(let n of o)e.push(` - matcher: ${JSON.stringify(n.matcher)}`),e.push(` command: ${JSON.stringify(n.command)}`),n.timeout!==void 0&&e.push(` timeout: ${n.timeout}`);}return e.join(`
107
+ `)}var lw=d(()=>{mt();Q();Ct();T();tr();zh();ec();s(cw,"importFromCrush");s(LB,"importCrushConfigJson");s(AB,"parseCrushMcpServers");s(kB,"parseCrushHooks");s(wB,"serializeHooksYaml");});function mw(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:sr}))}var pw=d(()=>{_t();ec();s(mw,"lintRules");});function uw(t){return t.commands.length===0?[]:[b(".agentsmesh/commands","crush","Crush has no native slash-command format; commands are projected as skills via supportsConversion.")]}var dw=d(()=>{Et();s(uw,"lintCommands");});function Vh(t){try{let e=JSON.parse(t);return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}catch{return {}}}function fw(t,e){let r=Vh(t),o=bB.parse(JSON.parse(e)),n={...r};o.permissions!==void 0&&(n.permissions=o.permissions),o.hooks!==void 0&&(n.hooks=o.hooks);let i=n.permissions;return i&&typeof i=="object"&&!Array.isArray(i)&&!("ask"in i)&&(i.ask=[]),JSON.stringify(n,null,2)}function hw(t,e){let r=Vh(t),o=PB.parse(JSON.parse(e)),n={...r};return o.mcpServers!==void 0&&(n.mcpServers=o.mcpServers),o.hooks!==void 0&&(n.hooks=o.hooks),o.experimental!==void 0&&(n.experimental=o.experimental),o.context!==void 0&&(n.context=o.context),JSON.stringify(n,null,2)}function yw(t,e){let r=Vh(t),o=TB.parse(JSON.parse(e)),n={...r};return o.$schema!==void 0&&(n.$schema=o.$schema),o.mcp!==void 0&&(n.mcp=o.mcp),o.hooks!==void 0&&(n.hooks=o.hooks),o.permissions!==void 0&&(n.permissions=o.permissions),o.options!==void 0&&(n.options=o.options),JSON.stringify(n,null,2)}var gw,TB,bB,PB,Ou=d(()=>{gw=[".claude/settings.json",".gemini/settings.json"],TB=z$1.object({$schema:z$1.string().optional(),mcp:z$1.record(z$1.string(),z$1.unknown()).optional(),hooks:z$1.record(z$1.string(),z$1.unknown()).optional(),permissions:z$1.record(z$1.string(),z$1.unknown()).optional(),options:z$1.record(z$1.string(),z$1.unknown()).optional()}).passthrough(),bB=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(),PB=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();s(Vh,"parseJsonObject");s(fw,"mergeSettingsJson");s(hw,"mergeGeminiSettingsJson");s(yw,"mergeCrushConfigJson");});var xB,DB,NB,FB,vB,Eu,zh=d(()=>{St();st();iw();Qt();lw();pw();dw();Rt();Ou();ec();xB={name:sr,primaryRootInstructionPath:ir,generateRules:Qk,generateCommands:tw,generateAgents:ew,generateSkills:qk,generateMcp:rw,generateHooks:ow,generatePermissions:nw,generateIgnore:sw,importFrom:cw},DB={rootInstructionPath:ir,skillDir:Yt,managedOutputs:{dirs:[Yt],files:[ir,Pe,Dn]},paths:{rulePath(t){return ir},commandPath(t){return `${Yt}/${W(t)}/SKILL.md`},agentPath(t){return `${Yt}/${$(t)}/SKILL.md`}}},NB={rootInstructionPath:vi,skillDir:xe,managedOutputs:{dirs:[xe],files:[vi,Fp]},rewriteGeneratedPath(t){return t===ir?vi:t===Pe?Fp:t===Dn?null:t.startsWith(`${Yt}/`)?t.replace(`${Yt}/`,`${xe}/`):t},mirrorGlobalPath(t,e){return ct(t,xe,e)},paths:{rulePath(t){return vi},commandPath(t){return `${xe}/${W(t)}/SKILL.md`},agentPath(t){return `${xe}/${$(t)}/SKILL.md`}}},FB={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"partial"},vB={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"native",ignore:"none",permissions:"none"},Eu={id:sr,metadata:{displayName:"Crush",category:"cli",officialUrl:"https://github.com/charmbracelet/crush",shortDescription:"Charm's TUI coding agent"},generators:xB,capabilities:FB,emptyImportMessage:"No Crush config found (CRUSH.md, .crush/skills/, crush.json, or .crushignore).",lintRules:mw,lint:{commands:uw},supportsConversion:{commands:true,agents:true},project:DB,globalSupport:{capabilities:vB,detectionPaths:[vi,Fp,xe],layout:NB},mergeGeneratedOutputContent(t,e,r,o){let n=e?.content??t;return n!==null&&o===Pe?yw(n,r):null},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[ir],global:[vi]},canonicalDir:vp,canonicalRootFilename:"_root.md",markAsRoot:true},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Dn]},canonicalDir:".agentsmesh",canonicalFilename:Gp}},buildImportPaths:Tf,detectionPaths:[ir,Pe,Yt,Dn],sharedArtifacts:{".crush/skills/":"owner"}};});function Jh(t){let e=[],r=t.rules.find(i=>i.root);if(r){let i=r.body.trim()?r.body:"";e.push({path:As,content:i});let a={alwaysApply:true};r.description&&(a.description=r.description);let c=P(a,i);e.push({path:Nn,content:c});}let o=t.rules.filter(i=>!i.root&&(i.targets.length===0||i.targets.includes("cursor")));for(let i of o){let a=basename(i.source,".md"),l={alwaysApply:i.trigger==="always_on"};i.description&&(l.description=i.description),i.globs.length>0&&(l.globs=i.globs);let m=P(l,i.body.trim()||"");e.push({path:`${ar}/${a}.mdc`,content:m});}let n=_w(t);return n.trim()&&e.push({path:Ur,content:n}),e}function _w(t){let e=t.rules.find(n=>n.root),r=t.rules.filter(n=>!n.root&&(n.targets.length===0||n.targets.includes("cursor"))),o=[];return e?.body.trim()?o.push(it(e.body,r)):r.length>0&&o.push(it("",r)),o.filter(Boolean).join(`
102
108
 
103
- `)}var ZO=d(()=>{v();xe();wt();s(gf,"generateRules");s(XO,"renderCursorGlobalUserRules");});function hf(t){return t.commands.map(e=>({path:`${$e}/${e.name}.md`,content:e.body.trim()||""}))}var qO=d(()=>{wt();s(hf,"generateCommands");});function yf(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:jr,content:e}]}var QO=d(()=>{wt();s(yf,"generateMcp");});function _f(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:`${Gr}/${r.name}/SKILL.md`,content:o});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${Gr}/${r.name}/${a}`,content:i.content});}}return e}var tE=d(()=>{v();wt();s(_f,"generateSkills");});function If(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:`${ki}/${e.name}.md`,content:n}})}var eE=d(()=>{v();wt();s(If,"generateAgents");});function Sf(t){return []}var rE=d(()=>{s(Sf,"generatePermissions");});function GM(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let i of n){if(!Ar(i))continue;let a=At(i),c=Qt(i),l=i.type==="prompt"?c||a:a||c,m={type:i.type==="prompt"?"prompt":"command",[i.type==="prompt"?"prompt":"command"]:l};i.timeout!==void 0&&(m.timeout=i.timeout),o.push({matcher:i.matcher,hooks:[m]});}o.length>0&&(e[r]=o);}return e}function Cf(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=GM(t.hooks);if(Object.keys(e).length===0)return [];let r=JSON.stringify({version:1,hooks:e},null,2);return [{path:Ur,content:r}]}var nE=d(()=>{qe();wt();s(GM,"toCursorHooks");s(Cf,"generateHooks");});function Rf(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
104
- `);return [{path:cr,content:e}]}var oE=d(()=>{wt();s(Rf,"generateIgnore");});var sE=d(()=>{ZO();qO();QO();tE();eE();rE();nE();oE();});var iE=d(()=>{sE();});async function Om(t,e,r,n){let o=t.replace(/\.mdc$/i,".md"),i=join(e,o),c=E(r(i)).frontmatter.alwaysApply===true,l=c?join(e,"_root.md"):i,{frontmatter:m,body:p}=E(r(l));c&&n();let u={...m,root:c};if(delete u.alwaysApply,!c){let f=jM(m);f!==null&&(u.trigger=f);}return {destPath:l,toPath:`${Wr}/${c?"_root.md":o}`,feature:"rules",content:await G(l,u,p)}}function jM(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 aE(t,e,r){let n=join(e,t),{frontmatter:o,body:i}=E(r(n)),a=Fe(o.allowedTools),c=a.length>0?a:Fe(o["allowed-tools"]);return {destPath:n,toPath:`${uo}/${t}`,feature:"commands",content:await it(n,{description:typeof o.description=="string"?o.description:"",hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),allowedTools:c,hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},i)}}async function cE(t,e,r){let n=join(e,t),{frontmatter:o,body:i}=E(r(n));return {destPath:n,toPath:`${fo}/${t}`,feature:"agents",content:await Pt(n,o,i)}}var Of=d(()=>{v();nt();nr();wt();s(Om,"mapCursorRuleFile");s(jM,"deriveCursorTrigger");s(aE,"mapCursorCommandFile");s(cE,"mapCursorAgentFile");});async function Ji(t){let e=join(t.projectRoot,Wr);await O(e);let r=join(e,"_root.md"),n=await qr({content:t.content,projectRoot:t.projectRoot,rulesDir:Wr,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:i,body:a}=E(o),c=i.root===true?i:{...i,root:true},l=await G(r,c,a);return await C(r,l),t.results.push({fromTool:"cursor",fromPath:t.sourcePath,toPath:`${Wr}/_root.md`,feature:"rules"}),true}var Ef=d(()=>{b();v();Ki();nt();wt();s(Ji,"importCursorRootFile");});async function mE(t,e,r){let n=join(t,Wr),o=false,i=join(t,Me);if(e.push(...await dt({srcDir:i,destDir:n,extensions:[".mdc"],fromTool:"cursor",normalize:r,mapEntry:s(async({srcPath:a,relativePath:c,normalizeTo:l})=>{if(o){let m=await y(a);if(m!==null){let{frontmatter:p}=E(m);if(p.alwaysApply===true)return null}}return Om(c,n,l,()=>{o=true;})},"mapEntry")})),!o){let a=join(t,lo),c=await y(a);c!==null&&(o=await Ji({projectRoot:t,results:e,sourcePath:a,content:c,normalize:r}));}if(!o){let a=join(t,eS),c=await y(a);c!==null&&await Ji({projectRoot:t,results:e,sourcePath:a,content:c,normalize:r});}}var pE=d(()=>{b();v();or();Of();Ef();wt();s(mE,"importCursorRules");});function uE(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let i of n){if(!i||typeof i!="object")continue;let a=i,c=typeof a.matcher=="string"?a.matcher:"";if(!c)continue;let l=Array.isArray(a.hooks)?a.hooks:[];for(let m of l){let p=m.type==="prompt"?"prompt":"command";if(!Ar({...m,type:p}))continue;let u=p==="prompt"?Qt(m)||At(m):At(m)||Qt(m),f={matcher:c,type:p,command:u};typeof m.timeout=="number"&&(f.timeout=m.timeout),o.push(f);}}o.length>0&&(e[r]=o);}return e}async function wm(t,e){let r=false,n=join(t,Ur),o=await y(n);if(o)try{let p=JSON.parse(o);if(p.hooks&&typeof p.hooks=="object"){let u=uE(p.hooks);if(Object.keys(u).length>0){let f=stringify(u),g=join(t,rc);await O(dirname(g)),await C(g,f),e.push({fromTool:"cursor",fromPath:n,toPath:rc,feature:"hooks"}),r=!0;}}}catch{}let i=join(t,Wl),a=await y(i);if(!a)return;let c;try{c=JSON.parse(a);}catch{return}let l=c.permissions;if(l&&typeof l=="object"&&!Array.isArray(l)){let p=l,u=Array.isArray(p.allow)?p.allow.filter(g=>typeof g=="string"):[],f=Array.isArray(p.deny)?p.deny.filter(g=>typeof g=="string"):[];if(u.length>0||f.length>0){let g=stringify({allow:u,deny:f}),h=join(t,dd);await O(dirname(h)),await C(h,g),e.push({fromTool:"cursor",fromPath:i,toPath:dd,feature:"permissions"});}}let m=r?void 0:c.hooks;if(m&&typeof m=="object"&&!Array.isArray(m)){let p=uE(m);if(Object.keys(p).length>0){let u=stringify(p),f=join(t,rc);await O(dirname(f)),await C(f,u),e.push({fromTool:"cursor",fromPath:i,toPath:rc,feature:"hooks"});}}}async function Lm(t,e){let r=[{path:join(t,cr),label:cr},{path:join(t,ud),label:ud}],n=[],o=[];for(let a of r){let c=await y(a.path);if(c!==null){o.push(a.label);for(let l of c.split(/\r?\n/)){let m=l.trim();m&&!n.includes(m)&&n.push(m);}}}if(n.length===0)return;let i=join(t,fd);await O(dirname(i)),await C(i,n.join(`
109
+ `)}var Iw=d(()=>{M();Mt();jt();s(Jh,"generateRules");s(_w,"renderCursorGlobalUserRules");});function Yh(t){return t.commands.map(e=>({path:`${cr}/${e.name}.md`,content:e.body.trim()||""}))}var Rw=d(()=>{jt();s(Yh,"generateCommands");});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:To,content:e}]}var Sw=d(()=>{jt();s(Xh,"generateMcp");});function Zh(t){let e=[];for(let r of t.skills){let o={name:r.name,description:r.description||void 0};o.description===void 0&&delete o.description;let n=P(o,r.body.trim()||"");e.push({path:`${wo}/${r.name}/SKILL.md`,content:n});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${wo}/${r.name}/${a}`,content:i.content});}}return e}var Cw=d(()=>{M();jt();s(Zh,"generateSkills");});function Qh(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(n=>{r[n]===void 0&&delete r[n];});let o=P(r,e.body.trim()||"");return {path:`${rc}/${e.name}.md`,content:o}})}var Ew=d(()=>{M();jt();s(Qh,"generateAgents");});function qh(t){return []}var Ow=d(()=>{s(qh,"generatePermissions");});function MB(t){let e={};for(let[r,o]of Object.entries(t)){if(!Array.isArray(o))continue;let n=[];for(let i of o){if(!go(i))continue;let a=Kt(i),c=me(i),l=i.type==="prompt"?c||a:a||c,m={type:i.type==="prompt"?"prompt":"command",[i.type==="prompt"?"prompt":"command"]:l};i.timeout!==void 0&&(m.timeout=i.timeout),n.push({matcher:i.matcher,hooks:[m]});}n.length>0&&(e[r]=n);}return e}function ty(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=MB(t.hooks);if(Object.keys(e).length===0)return [];let r=JSON.stringify({version:1,hooks:e},null,2);return [{path:bo,content:r}]}var Lw=d(()=>{Pr();jt();s(MB,"toCursorHooks");s(ty,"generateHooks");});function ey(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
110
+ `);return [{path:jr,content:e}]}var Aw=d(()=>{jt();s(ey,"generateIgnore");});var kw=d(()=>{Iw();Rw();Sw();Cw();Ew();Ow();Lw();Aw();});var ww=d(()=>{kw();});async function Au(t,e,r,o){let n=t.replace(/\.mdc$/i,".md"),i=join(e,n),c=k(r(i)).frontmatter.alwaysApply===true,l=c?join(e,"_root.md"):i,{frontmatter:m,body:p}=k(r(l));c&&o();let u={...m,root:c};if(delete u.alwaysApply,!c){let g=$B(m);g!==null&&(u.trigger=g);}return {destPath:l,toPath:`${Po}/${c?"_root.md":n}`,feature:"rules",content:await K(l,u,p)}}function $B(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 Tw(t,e,r){let o=join(e,t),{frontmatter:n,body:i}=k(r(o)),a=qe(n.allowedTools),c=a.length>0?a:qe(n["allowed-tools"]);return {destPath:o,toPath:`${Ts}/${t}`,feature:"commands",content:await ht(o,{description:typeof n.description=="string"?n.description:"",hasDescription:Object.prototype.hasOwnProperty.call(n,"description"),allowedTools:c,hasAllowedTools:Object.prototype.hasOwnProperty.call(n,"allowedTools")||Object.prototype.hasOwnProperty.call(n,"allowed-tools")},i)}}async function bw(t,e,r){let o=join(e,t),{frontmatter:n,body:i}=k(r(o));return {destPath:o,toPath:`${bs}/${t}`,feature:"agents",content:await Bt(o,n,i)}}var ry=d(()=>{M();lt();tr();jt();s(Au,"mapCursorRuleFile");s($B,"deriveCursorTrigger");s(Tw,"mapCursorCommandFile");s(bw,"mapCursorAgentFile");});async function Fc(t){let e=join(t.projectRoot,Po);await L(e);let r=join(e,"_root.md"),o=await Qo({content:t.content,projectRoot:t.projectRoot,rulesDir:Po,sourcePath:t.sourcePath,fromTool:"cursor",normalize:t.normalize});t.results.push(...o.results);let n=t.normalize(o.rootContent,t.sourcePath,r);if(!n.trim()&&o.results.length>0)return true;let{frontmatter:i,body:a}=k(n),c=i.root===true?i:{...i,root:true},l=await K(r,c,a);return await _(r,l),t.results.push({fromTool:"cursor",fromPath:t.sourcePath,toPath:`${Po}/_root.md`,feature:"rules"}),true}var oy=d(()=>{T();M();Tc();lt();jt();s(Fc,"importCursorRootFile");});async function xw(t,e,r){let o=join(t,Po),n=false,i=join(t,ar);if(e.push(...await yt({srcDir:i,destDir:o,extensions:[".mdc"],fromTool:"cursor",normalize:r,mapEntry:s(async({srcPath:a,relativePath:c,normalizeTo:l})=>{if(n){let m=await y(a);if(m!==null){let{frontmatter:p}=k(m);if(p.alwaysApply===true)return null}}return Au(c,o,l,()=>{n=true;})},"mapEntry")})),!n){let a=join(t,As),c=await y(a);c!==null&&(n=await Fc({projectRoot:t,results:e,sourcePath:a,content:c,normalize:r}));}if(!n){let a=join(t,VC),c=await y(a);c!==null&&await Fc({projectRoot:t,results:e,sourcePath:a,content:c,normalize:r});}}var Dw=d(()=>{T();M();ke();ry();oy();jt();s(xw,"importCursorRules");});function Nw(t){let e={};for(let[r,o]of Object.entries(t)){if(!Array.isArray(o))continue;let n=[];for(let i of o){if(!i||typeof i!="object")continue;let a=i,c=typeof a.matcher=="string"?a.matcher:"";if(!c)continue;let l=Array.isArray(a.hooks)?a.hooks:[];for(let m of l){let p=m.type==="prompt"?"prompt":"command";if(!go({...m,type:p}))continue;let u=p==="prompt"?me(m)||Kt(m):Kt(m)||me(m),g={matcher:c,type:p,command:u};typeof m.timeout=="number"&&(g.timeout=m.timeout),n.push(g);}}n.length>0&&(e[r]=n);}return e}async function Tu(t,e){let r=false,o=join(t,bo),n=await y(o);if(n)try{let p=JSON.parse(n);if(p.hooks&&typeof p.hooks=="object"){let u=Nw(p.hooks);if(Object.keys(u).length>0){let g=stringify(u),f=join(t,zl);await L(dirname(f)),await _(f,g),e.push({fromTool:"cursor",fromPath:o,toPath:zl,feature:"hooks"}),r=!0;}}}catch{}let i=join(t,$p),a=await y(i);if(!a)return;let c;try{c=JSON.parse(a);}catch{return}let l=c.permissions;if(l&&typeof l=="object"&&!Array.isArray(l)){let p=l,u=Array.isArray(p.allow)?p.allow.filter(f=>typeof f=="string"):[],g=Array.isArray(p.deny)?p.deny.filter(f=>typeof f=="string"):[];if(u.length>0||g.length>0){let f=stringify({allow:u,deny:g}),h=join(t,Pf);await L(dirname(h)),await _(h,f),e.push({fromTool:"cursor",fromPath:i,toPath:Pf,feature:"permissions"});}}let m=r?void 0:c.hooks;if(m&&typeof m=="object"&&!Array.isArray(m)){let p=Nw(m);if(Object.keys(p).length>0){let u=stringify(p),g=join(t,zl);await L(dirname(g)),await _(g,u),e.push({fromTool:"cursor",fromPath:i,toPath:zl,feature:"hooks"});}}}async function bu(t,e){let r=[{path:join(t,jr),label:jr},{path:join(t,bf),label:bf}],o=[],n=[];for(let a of r){let c=await y(a.path);if(c!==null){n.push(a.label);for(let l of c.split(/\r?\n/)){let m=l.trim();m&&!o.includes(m)&&o.push(m);}}}if(o.length===0)return;let i=join(t,xf);await L(dirname(i)),await _(i,o.join(`
105
111
  `)+`
106
- `),e.push({fromTool:"cursor",fromPath:join(t,o[0]),toPath:fd,feature:"ignore"});}var wf=d(()=>{qe();b();wt();s(uE,"cursorHooksToCanonical");s(wm,"importSettings");s(Lm,"importIgnore");});async function bm(t,e,r,n=Gr){let o=join(t,n),i=await xo(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:rS,targetName:"cursor",normalize:r,results:e};for(let[p,u]of i)await Qr(p,u,a);let c=await D(o).catch(()=>[]),l=c.filter(p=>p.endsWith(".md")),m=new Set(Array.from(i.values()).flatMap(p=>c.filter(u=>u.startsWith(p))));for(let p of l){if(m.has(p))continue;let u=await y(p);if(!u)continue;let f=basename(p,".md");await HC(f,p,u,a);}}var Lf=d(()=>{b();Bi();wt();s(bm,"importSkills");});async function dE(t){if(await F(join(t,Me)))return true;let e=[join(t,lr),join(t,wi),join(t,ec),join(t,Ur),join(t,cr),join(t,mo),join(t,po),join(t,$e)];for(let i of e){let a=await y(i);if(a!==null&&a.trim()!=="")return true}return !!((await D(join(t,mo))).some(i=>i.endsWith(".md"))||(await D(join(t,po))).some(i=>i.endsWith(".md"))||(await D(join(t,$e))).some(i=>i.endsWith(".md")))}async function fE(t,e,r){let n=join(t,Wr),o=false,i=join(t,Me),a=await dt({srcDir:i,destDir:n,extensions:[".mdc"],fromTool:Yi,normalize:r,mapEntry:s(async({srcPath:c,relativePath:l,normalizeTo:m})=>{if(o){let p=await y(c);if(p!==null){let{frontmatter:u}=E(p);if(u.alwaysApply===true)return null}}return Om(l,n,m,()=>{o=true;})},"mapEntry")});return e.push(...a),o}async function gE(t,e,r){let n=join(t,wi),o=await y(n);return o===null||o.trim()===""?false:Ji({projectRoot:t,results:e,sourcePath:n,content:o.trim(),normalize:r})}async function hE(t,e,r){let n=join(t,lr),o=await y(n);return o===null||o.trim()===""?false:Ji({projectRoot:t,results:e,sourcePath:n,content:o.trim(),normalize:r})}async function yE(t,e){let r=join(t,ec),n=await y(r);if(n===null||n.trim()==="")return;let o;try{o=JSON.parse(n);}catch{return}if(!o||typeof o!="object"||!("mcpServers"in o))return;let i=join(t,Li);await O(dirname(i)),await C(i,n),e.push({fromTool:Yi,fromPath:r,toPath:Li,feature:"mcp"});}async function _E(t,e,r){let n=join(t,po),o=join(t,fo);e.push(...await dt({srcDir:n,destDir:o,extensions:[".md"],fromTool:Yi,normalize:r,mapEntry:s(({relativePath:i,normalizeTo:a})=>cE(i,o,a),"mapEntry")}));}async function IE(t,e,r){let n=join(t,$e),o=join(t,uo);e.push(...await dt({srcDir:n,destDir:o,extensions:[".md"],fromTool:Yi,normalize:r,mapEntry:s(({relativePath:i,normalizeTo:a})=>aE(i,o,a),"mapEntry")}));}var Yi,SE=d(()=>{b();v();or();wt();Ef();Of();Yi="cursor";s(dE,"hasGlobalCursorArtifacts");s(fE,"importGlobalCursorRulesFromDir");s(gE,"importGlobalUserRules");s(hE,"importGlobalDotCursorAgents");s(yE,"importGlobalMcp");s(_E,"importGlobalAgents");s(IE,"importGlobalCommands");});async function CE(t){if(!await dE(t))return [];let e=[],r=await H(Yi,t,"global"),n=await fE(t,e,r);return n||(n=await gE(t,e,r)),n||await hE(t,e,r),await yE(t,e),await bm(t,e,r,mo),await _E(t,e,r),await IE(t,e,r),await wm(t,e),await Lm(t,e),e}var RE=d(()=>{Ot();wt();Lf();wf();SE();s(CE,"importFromCursorGlobalExports");});async function HM(t,e){let r=join(t,jr),n=await y(r);if(!n)return;let o;try{o=JSON.parse(n);}catch{return}if(!o||typeof o!="object"||!("mcpServers"in o))return;let i=o.mcpServers;await Yt(t,Li,i),e.push({fromTool:"cursor",fromPath:r,toPath:Li,feature:"mcp"});}async function Am(t,e={}){if(e.scope==="global")return CE(t);let r=[],n=await H("cursor",t);return await mE(t,r,n),r.push(...await tt(xm,t,"project",{normalize:n})),await bm(t,r,n),await HM(t,r),await wm(t,r),await Lm(t,r),r}var bf=d(()=>{Ot();b();Ut();Sn();pE();wf();Lf();RE();wt();Af();s(HM,"importMcp");s(Am,"importFromCursor");});var EE,kE,wE=d(()=>{v();nt();nr();wt();EE=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=E(e(n)),a=Fe(o.allowedTools),c=a.length>0?a:Fe(o["allowed-tools"]);return {destPath:n,toPath:`${uo}/${t}`,content:await it(n,{description:typeof o.description=="string"?o.description:"",hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),allowedTools:c,hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},i)}},"cursorCommandMapper"),kE=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=E(e(n));return {destPath:n,toPath:`${fo}/${t}`,content:await Pt(n,o,i)}},"cursorAgentMapper");});function LE(t,e,r,n){return q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(i=>({...i,target:tS}))}var bE=d(()=>{Wt();wt();s(LE,"lintRules");});function AE(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 xE(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,i="url"in n,a="headers"in n;(o||i||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 PE(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 TE=d(()=>{Tt();s(AE,"lintCommands");s(xE,"lintMcp");s(PE,"lintPermissions");});var zM,VM,JM,YM,xm,Af=d(()=>{iE();wt();he();bf();wE();bE();Nt();TE();zM={name:"cursor",primaryRootInstructionPath:An,generateRules:gf,generateCommands:hf,generateAgents:If,generateSkills:_f,generateMcp:yf,generatePermissions:Sf,generateHooks:Cf,generateIgnore:Rf,importFrom:Am},VM={rootInstructionPath:An,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[lo,lr]}],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`}}},JM={rootInstructionPath:An,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[lo,lr]}],skillDir:mo,managedOutputs:{dirs:[Me,$e,po,mo],files:[An,lr,ec,Ur,cr,wi]},rewriteGeneratedPath(t){return t===lo?null:t===lr||t===An||t.startsWith(`${Me}/`)||t.startsWith(`${$e}/`)||t.startsWith(`${ki}/`)||t.startsWith(`${Gr}/`)||t===jr||t===Ur||t===cr?t:t===Wl?null:t},mirrorGlobalPath(t,e){return mt(t,Gr,e)},paths:{rulePath(t,e){return `${Me}/${t}.mdc`},commandPath(t,e){return `${$e}/${t}.md`},agentPath(t,e){return `${po}/${t}.md`}}},YM={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},xm={id:"cursor",generators:zM,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:LE,lint:{commands:AE,mcp:xE,permissions:PE},project:VM,globalSupport:{capabilities:YM,detectionPaths:[An,lr,jr,Ur,cr,Gr,po,$e,wi],layout:JM},importer:{commands:{feature:"commands",mode:"directory",source:{project:[$e]},canonicalDir:uo,extensions:[".md"],map:EE},agents:{feature:"agents",mode:"directory",source:{project:[ki]},canonicalDir:fo,extensions:[".md"],map:kE}},buildImportPaths:gd,detectionPaths:[".cursor/rules",".cursor/mcp.json"],preservesManualActivation:true};});var Do,We,on,DE,NE,Ie,Pm,Us,Tm,wc,No,FE,vE,Fo,Dm,Lc,bc,xf,Pf,Xi,Tf,Zi,qi,Nm,Qi,Ws,Ac,Ft=d(()=>{Do="gemini-cli",We="GEMINI.md",on="AGENTS.md",DE=".gemini/rules",NE=".gemini/GEMINI.md",Ie=".gemini/commands",Pm=".gemini/policies",Us=".gemini/settings.json",Tm=".geminiignore",wc=".gemini/skills",No=".gemini/agents",FE=".gemini/system.md",vE=`${Pm}/permissions.toml`,Fo=".agentsmesh/rules",Dm=".agentsmesh/commands",Lc=".agentsmesh/agents",bc=".agentsmesh/skills",xf=".agentsmesh/mcp.json",Pf=".agentsmesh/hooks.yaml",Xi=".agentsmesh/ignore",Tf=".agentsmesh/permissions.yaml",Zi=".gemini/GEMINI.md",qi=".gemini/AGENTS.md",Nm=".gemini/settings.json",Qi=".gemini/commands",Ws=".gemini/skills",Ac=".gemini/agents";});function Df(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>!(i.root||i.targets.length>0&&!i.targets.includes("gemini-cli")));if(!e&&r.length===0)return [];let n=xt(e?.body.trim()??"",r),o=[{path:We,content:n}];if(e){let i=e.body.trim().replace(/\.agentsmesh\/skills\//g,".agents/skills/");o.push({path:on,content:i});}return o}var ME=d(()=>{xe();Ft();s(Df,"generateRules");});function $E(t,e){let r=t.split(":").filter(Boolean),n=r.length>0?r.pop():t;return [e,...r,`${n}.toml`].join("/")}var GE=d(()=>{s($E,"canonicalCommandNameToGeminiTomlPath");});function XM(t){let e=t.replace(/\r\n/g,`
112
+ `),e.push({fromTool:"cursor",fromPath:join(t,n[0]),toPath:xf,feature:"ignore"});}var sy=d(()=>{Pr();T();jt();s(Nw,"cursorHooksToCanonical");s(Tu,"importSettings");s(bu,"importIgnore");});async function Pu(t,e,r,o=wo){let n=join(t,o),i=await Zs(n),a={projectRoot:t,sourceSkillsDir:o,destCanonicalSkillsDir:JC,targetName:"cursor",normalize:r,results:e};for(let[p,u]of i)await qo(p,u,a);let c=await v(n).catch(()=>[]),l=c.filter(p=>p.endsWith(".md")),m=new Set(Array.from(i.values()).flatMap(p=>c.filter(u=>u.startsWith(p))));for(let p of l){if(m.has(p))continue;let u=await y(p);if(!u)continue;let g=basename(p,".md");await zL(g,p,u,a);}}var iy=d(()=>{T();Pc();jt();s(Pu,"importSkills");});async function Fw(t){if(await j(join(t,ar)))return true;let e=[join(t,Ur),join(t,oc),join(t,Hl),join(t,bo),join(t,jr),join(t,ks),join(t,ws),join(t,cr)];for(let i of e){let a=await y(i);if(a!==null&&a.trim()!=="")return true}return !!((await v(join(t,ks))).some(i=>i.endsWith(".md"))||(await v(join(t,ws))).some(i=>i.endsWith(".md"))||(await v(join(t,cr))).some(i=>i.endsWith(".md")))}async function vw(t,e,r){let o=join(t,Po),n=false,i=join(t,ar),a=await yt({srcDir:i,destDir:o,extensions:[".mdc"],fromTool:vc,normalize:r,mapEntry:s(async({srcPath:c,relativePath:l,normalizeTo:m})=>{if(n){let p=await y(c);if(p!==null){let{frontmatter:u}=k(p);if(u.alwaysApply===true)return null}}return Au(l,o,m,()=>{n=true;})},"mapEntry")});return e.push(...a),n}async function Gw(t,e,r){let o=join(t,oc),n=await y(o);return n===null||n.trim()===""?false:Fc({projectRoot:t,results:e,sourcePath:o,content:n.trim(),normalize:r})}async function Mw(t,e,r){let o=join(t,Ur),n=await y(o);return n===null||n.trim()===""?false:Fc({projectRoot:t,results:e,sourcePath:o,content:n.trim(),normalize:r})}async function $w(t,e){let r=join(t,Hl),o=await y(r);if(o===null||o.trim()==="")return;let n;try{n=JSON.parse(o);}catch{return}if(!n||typeof n!="object"||!("mcpServers"in n))return;let i=join(t,nc);await L(dirname(i)),await _(i,o),e.push({fromTool:vc,fromPath:r,toPath:nc,feature:"mcp"});}async function jw(t,e,r){let o=join(t,ws),n=join(t,bs);e.push(...await yt({srcDir:o,destDir:n,extensions:[".md"],fromTool:vc,normalize:r,mapEntry:s(({relativePath:i,normalizeTo:a})=>bw(i,n,a),"mapEntry")}));}async function Uw(t,e,r){let o=join(t,cr),n=join(t,Ts);e.push(...await yt({srcDir:o,destDir:n,extensions:[".md"],fromTool:vc,normalize:r,mapEntry:s(({relativePath:i,normalizeTo:a})=>Tw(i,n,a),"mapEntry")}));}var vc,Kw=d(()=>{T();M();ke();jt();oy();ry();vc="cursor";s(Fw,"hasGlobalCursorArtifacts");s(vw,"importGlobalCursorRulesFromDir");s(Gw,"importGlobalUserRules");s(Mw,"importGlobalDotCursorAgents");s($w,"importGlobalMcp");s(jw,"importGlobalAgents");s(Uw,"importGlobalCommands");});async function Bw(t){if(!await Fw(t))return [];let e=[],r=await U(vc,t,"global"),o=await vw(t,e,r);return o||(o=await Gw(t,e,r)),o||await Mw(t,e,r),await $w(t,e),await Pu(t,e,r,ks),await jw(t,e,r),await Uw(t,e,r),await Tu(t,e),await bu(t,e),e}var Ww=d(()=>{mt();jt();iy();sy();Kw();s(Bw,"importFromCursorGlobalExports");});async function WB(t,e){let r=join(t,To),o=await y(r);if(!o)return;let n;try{n=JSON.parse(o);}catch{return}if(!n||typeof n!="object"||!("mcpServers"in n))return;let i=n.mcpServers;await $t(t,nc,i),e.push({fromTool:"cursor",fromPath:r,toPath:nc,feature:"mcp"});}async function xu(t,e={}){if(e.scope==="global")return Bw(t);let r=[],o=await U("cursor",t);return await xw(t,r,o),r.push(...await z(Du,t,"project",{normalize:o})),await Pu(t,r,o),await WB(t,r),await Tu(t,r),await bu(t,r),r}var ay=d(()=>{mt();T();Ct();Fr();Dw();sy();iy();Ww();jt();cy();s(WB,"importMcp");s(xu,"importFromCursor");});var zw,Vw,Jw=d(()=>{M();lt();tr();jt();zw=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=k(e(o)),a=qe(n.allowedTools),c=a.length>0?a:qe(n["allowed-tools"]);return {destPath:o,toPath:`${Ts}/${t}`,content:await ht(o,{description:typeof n.description=="string"?n.description:"",hasDescription:Object.prototype.hasOwnProperty.call(n,"description"),allowedTools:c,hasAllowedTools:Object.prototype.hasOwnProperty.call(n,"allowedTools")||Object.prototype.hasOwnProperty.call(n,"allowed-tools")},i)}},"cursorCommandMapper"),Vw=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=k(e(o));return {destPath:o,toPath:`${bs}/${t}`,content:await Bt(o,n,i)}},"cursorAgentMapper");});function Yw(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(i=>({...i,target:zC}))}var Xw=d(()=>{_t();jt();s(Yw,"lintRules");});function Zw(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>b(e.source,"cursor","Cursor command files are plain Markdown; command description and allowed-tools metadata are not projected."))}function Qw(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,o]of Object.entries(t.mcp.mcpServers)){let n=o.env&&Object.keys(o.env).length>0,i="url"in o,a="headers"in o;(n||i||a)&&e.push(b(".agentsmesh/mcp.json","cursor",`MCP server "${r}" uses env vars or URL/header interpolation; Cursor handling may differ from canonical MCP.`));}return e}function qw(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?[b(".agentsmesh/permissions.yaml","cursor","Cursor permissions are partial; tool-level allow/deny may lose fidelity.")]:[]}var tT=d(()=>{Et();s(Zw,"lintCommands");s(Qw,"lintMcp");s(qw,"lintPermissions");});var HB,zB,VB,JB,Du,cy=d(()=>{ww();jt();Qt();ay();Jw();Xw();Rt();tT();HB={name:"cursor",primaryRootInstructionPath:Nn,generateRules:Jh,generateCommands:Yh,generateAgents:Qh,generateSkills:Zh,generateMcp:Xh,generatePermissions:qh,generateHooks:ty,generateIgnore:ey,importFrom:xu},zB={rootInstructionPath:Nn,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[As,Ur]}],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`}}},VB={rootInstructionPath:Nn,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[As,Ur]}],skillDir:ks,managedOutputs:{dirs:[ar,cr,ws,ks],files:[Nn,Ur,Hl,bo,jr,oc]},rewriteGeneratedPath(t){return t===As?null:t===Ur||t===Nn||t.startsWith(`${ar}/`)||t.startsWith(`${cr}/`)||t.startsWith(`${rc}/`)||t.startsWith(`${wo}/`)||t===To||t===bo||t===jr?t:t===$p?null:t},mirrorGlobalPath(t,e){return ct(t,wo,e)},paths:{rulePath(t,e){return `${ar}/${t}.mdc`},commandPath(t,e){return `${cr}/${t}.md`},agentPath(t,e){return `${ws}/${t}.md`}}},JB={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},Du={id:"cursor",metadata:{displayName:"Cursor",category:"ide",officialUrl:"https://cursor.com",shortDescription:"AI-first code editor"},generators:HB,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:Yw,lint:{commands:Zw,mcp:Qw,permissions:qw},project:zB,globalSupport:{capabilities:JB,detectionPaths:[Nn,Ur,To,bo,jr,wo,ws,cr,oc],layout:VB},importer:{commands:{feature:"commands",mode:"directory",source:{project:[cr]},canonicalDir:Ts,extensions:[".md"],map:zw},agents:{feature:"agents",mode:"directory",source:{project:[rc]},canonicalDir:bs,extensions:[".md"],map:Vw}},buildImportPaths:Df,detectionPaths:[".cursor/rules",".cursor/mcp.json"],preservesManualActivation:true};});function eT(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(xo)),o=e?.body.trim()??"",n=it(o,r);return n?[{path:lr,content:n}]:[]}function rT(t){return tt(t,ie)}function oT(t){return t.commands.map(e=>({path:`${ie}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function nT(t){return t.agents.map(e=>({path:`${ie}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function sT(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Fn,content:e}]}var iT=d(()=>{Q();Mt();st();St();sc();s(eT,"generateRules");s(rT,"generateSkills");s(oT,"generateCommands");s(nT,"generateAgents");s(sT,"generateMcp");});async function aT(t,e={}){let r=e.scope??"project",o=[],n=await U(xo,t,r);return o.push(...await z(Nu,t,r,{normalize:n})),await Z(t,r==="global"?Kr:ie,xo,o,n),o}var cT=d(()=>{mt();Q();Ct();sc();ly();s(aT,"importFromDeepagentsCli");});function lT(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:xo}))}var mT=d(()=>{_t();sc();s(lT,"lintRules");});function pT(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[b(".agentsmesh/hooks.yaml","deepagents-cli","Deep Agents CLI hooks are global-only (~/.deepagents/hooks.json); project-level canonical hooks are not projected.")]:[]:[]}function uT(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,o=t.permissions.ask??[];return e.length===0&&r.length===0&&o.length===0?[]:[b(".agentsmesh/permissions.yaml","deepagents-cli","Deep Agents CLI permissions are managed via shell allow-lists (--shell-allow-list); canonical permissions are not projected.")]}function dT(t){return t.ignore.length===0?[]:[b(".agentsmesh/ignore","deepagents-cli","Deep Agents CLI has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}var gT=d(()=>{Et();s(pT,"lintHooks");s(uT,"lintPermissions");s(dT,"lintIgnore");});var YB,XB,ZB,QB,qB,Nu,ly=d(()=>{St();st();iT();cT();mT();gT();Rt();sc();YB={name:xo,primaryRootInstructionPath:lr,generateRules:eT,generateCommands:oT,generateAgents:nT,generateSkills:rT,generateMcp:sT,importFrom:aT},XB={rootInstructionPath:lr,skillDir:ie,managedOutputs:{dirs:[ie],files:[lr,Fn]},paths:{rulePath(t){return lr},commandPath(t){return `${ie}/${W(t)}/SKILL.md`},agentPath(t){return `${ie}/${$(t)}/SKILL.md`}}},ZB={rootInstructionPath:vn,skillDir:Kr,managedOutputs:{dirs:[Kr],files:[vn,Gi]},rewriteGeneratedPath(t){return t===lr?vn:t===Fn?Gi:t.startsWith(`${ie}/`)?t.replace(`${ie}/`,`${Kr}/`):t},paths:{rulePath(t){return vn},commandPath(t){return `${Kr}/${W(t)}/SKILL.md`},agentPath(t){return `${Kr}/${$(t)}/SKILL.md`}}},QB={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},qB={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Nu={id:xo,metadata:{displayName:"Deep Agents CLI",category:"cli",officialUrl:"https://github.com/langchain-ai/deepagents",shortDescription:"LangChain Deep Agents framework CLI"},generators:YB,capabilities:QB,emptyImportMessage:"No Deep Agents CLI config found (.deepagents/AGENTS.md, .deepagents/skills, or .mcp.json).",lintRules:lT,lint:{hooks:pT,permissions:uT,ignore:dT},supportsConversion:{commands:true,agents:true},project:XB,globalSupport:{capabilities:qB,detectionPaths:[vn,Gi],layout:ZB},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[lr],global:[vn]},canonicalDir:XC,canonicalRootFilename:"_root.md",markAsRoot:true},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Fn],global:[Gi]},canonicalDir:".agentsmesh",canonicalFilename:"mcp.json"}},buildImportPaths:Nf,detectionPaths:[lr,Fn]};});function fT(t){let e={name:t.name};return t.description&&(e.description=t.description.slice(0,500)),t.model?e.model=t.model:e.model="inherit",t.tools.length>0&&(e.tools=t.tools),P(e,t.body.trim()||"")}var hT=d(()=>{M();s(fT,"serializeDroid");});function yT(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(mr)),o=e?.body.trim()??"",n=it(o,r);return n?[{path:pr,content:n}]:[]}function _T(t){return tt(t,_e)}function IT(t){return t.commands.map(e=>({path:`${_e}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function RT(t){return t.agents.map(e=>({path:`${Do}/${e.name}.md`,content:fT(e)}))}function ST(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:No,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}var CT=d(()=>{Q();Mt();St();hT();$i();s(yT,"generateRules");s(_T,"generateSkills");s(IT,"generateCommands");s(RT,"generateAgents");s(ST,"generateMcp");});async function OT(t,e,r){let o=await y(join(t,e));if(o===null)return;let n;try{n=JSON.parse(o);}catch{return}if(n===null||typeof n!="object"||Array.isArray(n))return;let a=n.mcpServers;if(a==null||typeof a!="object"||Array.isArray(a)||Object.keys(a).length===0)return;let c={};for(let[l,m]of Object.entries(a))!m||typeof m!="object"||Array.isArray(m)||(c[l]=m);Object.keys(c).length!==0&&(await $t(t,ET,c),r.push({fromTool:mr,fromPath:e,toPath:ET,feature:"mcp"}));}var ET,LT=d(()=>{T();Fr();$i();ET=".agentsmesh/mcp.json";s(OT,"importFactoryDroidMcp");});async function AT(t,e={}){let r=e.scope??"project",o=[],n=await U(mr,t,r);return o.push(...await z(Fu,t,r,{normalize:n})),await Z(t,r==="global"?Fo:_e,mr,o,n),await OT(t,r==="global"?Ps:No,o),o}var kT=d(()=>{mt();Q();Ct();LT();$i();my();s(AT,"importFromFactoryDroid");});function wT(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:mr}))}var TT=d(()=>{_t();$i();s(wT,"lintRules");});function bT(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[b(".agentsmesh/hooks.yaml","factory-droid","Factory Droid hooks are configured via settings.json events (PreToolUse/PostToolUse), not standalone files; canonical hooks are not projected.")]:[]:[]}function PT(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,o=t.permissions.ask??[];return e.length===0&&r.length===0&&o.length===0?[]:[b(".agentsmesh/permissions.yaml","factory-droid","Factory Droid permissions are managed via CLI flags (--skip-permissions-unsafe); canonical permissions are not projected.")]}function xT(t){return t.ignore.length===0?[]:[b(".agentsmesh/ignore","factory-droid","Factory Droid has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}var DT=d(()=>{Et();s(bT,"lintHooks");s(PT,"lintPermissions");s(xT,"lintIgnore");});var eW,rW,oW,NT,Fu,my=d(()=>{CT();$i();kT();TT();DT();Rt();St();eW={name:mr,primaryRootInstructionPath:pr,generateRules:yT,generateCommands:IT,generateAgents:RT,generateSkills:_T,generateMcp:ST,importFrom:AT},rW={rootInstructionPath:pr,skillDir:_e,managedOutputs:{dirs:[_e,Do],files:[pr,No]},paths:{rulePath(t){return pr},commandPath(t){return `${_e}/${W(t)}/SKILL.md`},agentPath(t){return `${Do}/${t}.md`}}},oW={rootInstructionPath:Gn,skillDir:Fo,managedOutputs:{dirs:[Fo,Mi],files:[Gn,Ps]},rewriteGeneratedPath(t){return t===pr?Gn:t===No?Ps:t.startsWith(`${_e}/`)?t.replace(`${_e}/`,`${Fo}/`):t.startsWith(`${Do}/`)?t.replace(`${Do}/`,`${Mi}/`):t},paths:{rulePath(t){return Gn},commandPath(t){return `${Fo}/${W(t)}/SKILL.md`},agentPath(t){return `${Mi}/${t}.md`}}},NT={rules:"native",additionalRules:"embedded",commands:"none",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Fu={id:mr,metadata:{displayName:"Factory Droid",category:"agent-platform",officialUrl:"https://www.factory.ai",shortDescription:"Factory.ai's coding droid"},generators:eW,capabilities:NT,emptyImportMessage:"No Factory Droid config found (AGENTS.md, .factory/skills, or .factory/mcp.json).",lintRules:wT,lint:{hooks:bT,permissions:PT,ignore:xT},supportsConversion:{commands:true},project:rW,globalSupport:{capabilities:NT,detectionPaths:[Gn,Ps,Mi],layout:oW},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[pr],global:[Gn]},canonicalDir:QC,canonicalRootFilename:"_root.md",markAsRoot:true}},buildImportPaths:Ff,detectionPaths:[pr,No,Do]};});var ti,Cr,nn,FT,vT,Me,vu,Ia,Gu,_m,ei,GT,MT,ri,Mu,Im,Rm,py,uy,Gc,dy,Mc,$c,$u,jc,Ra,Sm,Wt=d(()=>{ti="gemini-cli",Cr="GEMINI.md",nn="AGENTS.md",FT=".gemini/rules",vT=".gemini/GEMINI.md",Me=".gemini/commands",vu=".gemini/policies",Ia=".gemini/settings.json",Gu=".geminiignore",_m=".gemini/skills",ei=".gemini/agents",GT=".gemini/system.md",MT=`${vu}/permissions.toml`,ri=".agentsmesh/rules",Mu=".agentsmesh/commands",Im=".agentsmesh/agents",Rm=".agentsmesh/skills",py=".agentsmesh/mcp.json",uy=".agentsmesh/hooks.yaml",Gc=".agentsmesh/ignore",dy=".agentsmesh/permissions.yaml",Mc=".gemini/GEMINI.md",$c=".gemini/AGENTS.md",$u=".gemini/settings.json",jc=".gemini/commands",Ra=".gemini/skills",Sm=".gemini/agents";});function gy(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>!(i.root||i.targets.length>0&&!i.targets.includes("gemini-cli")));if(!e&&r.length===0)return [];let o=it(e?.body.trim()??"",r),n=[{path:Cr,content:o}];return e&&n.push({path:nn,content:e.body.trim()}),n}var $T=d(()=>{Mt();Wt();s(gy,"generateRules");});function jT(t,e){let r=t.split(":").filter(Boolean),o=r.length>0?r.pop():t;return [e,...r,`${o}.toml`].join("/")}var UT=d(()=>{s(jT,"canonicalCommandNameToGeminiTomlPath");});function nW(t){let e=t.replace(/\r\n/g,`
107
113
  `);return e.includes('"""')?JSON.stringify(e):`"""
108
114
  ${e}
109
- """`}function ZM(t){return [`description = ${JSON.stringify(t.description||t.name)}`,`prompt = ${XM(t.body.trim()||"")}`].join(`
115
+ """`}function sW(t){return [`description = ${JSON.stringify(t.description||t.name)}`,`prompt = ${nW(t.body.trim()||"")}`].join(`
110
116
  `)+`
111
- `}function Nf(t){return t.commands.map(e=>({path:$E(e.name,Ie),content:ZM(e)}))}var jE=d(()=>{Ft();GE();s(XM,"serializeTomlMultilineLiteral");s(ZM,"serializeGeminiCommand");s(Nf,"generateCommands");});function Ff(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:`${No}/${e.name}.md`,content:n}})}var UE=d(()=>{v();Ft();s(Ff,"generateAgents");});function vf(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:`${wc}/${r.name}/SKILL.md`,content:o});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${wc}/${r.name}/${a}`,content:i.content});}}return e}var WE=d(()=>{v();Ft();s(vf,"generateSkills");});function qM(t){switch(t){case "PreToolUse":return "BeforeTool";case "PostToolUse":return "AfterTool";case "Notification":return "Notification";default:return null}}function Mf(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,i])=>{let a=qM(o);if(!a||!Array.isArray(i))return [];let c=i.filter(l=>typeof l=="object"&&l!==null&&hn(l)).map((l,m)=>({matcher:l.matcher,hooks:[{name:`${a}-${m+1}`,type:"command",command:At(l),timeout:l.timeout}]}));return c.length>0?[[a,c]]:[]});n.length>0&&(e.hooks=Object.fromEntries(n),r=true);}return r&&(e.context={fileName:[We,on]}),Object.keys(e).length===0?[]:[{path:Us,content:JSON.stringify(e,null,2)}]}var $f=d(()=>{qe();Ft();s(qM,"mapHookEvent");s(Mf,"generateGeminiSettingsFiles");});function Gf(t){return !t.ignore||t.ignore.length===0?[]:[{path:Tm,content:t.ignore.join(`
112
- `)}]}var KE=d(()=>{Ft();s(Gf,"generateIgnore");});var BE=d(()=>{ME();jE();UE();WE();$f();KE();});var HE=d(()=>{BE();});function Ks(t){return JSON.stringify(t)}function QM(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function t$(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 Fm(t,e,r){return ["[[rule]]",`decision = ${Ks(t)}`,`priority = ${e}`,...r,""].join(`
113
- `)}function zE(t,e,r){let n=t$(t),o={Read:"read_file",Grep:"grep_search",LS:"list_directory",WebFetch:"web_fetch",Bash:"run_shell_command"};if(n.kind==="tool"){let i=o[n.tool]??n.tool;return Fm(e,r,[`toolName = ${Ks(i)}`])}if(n.kind==="bash"){let i=n.prefix.replace(/:\*$/u,"").replace(/\*$/u,"").trim();return Fm(e,r,[`toolName = ${Ks(o.Bash)}`,`commandPrefix = ${Ks(i)}`])}return n.kind==="read"?Fm(e,r,[`toolName = ${Ks(o.Read)}`,`argsPattern = ${Ks(QM(n.path))}`]):Fm(e,r,[`toolName = ${Ks(n.raw)}`])}function VE(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions;if(e.length+r.length===0)return [];let o=[];return e.forEach((i,a)=>{let c=zE(i,"allow",100+a);c&&o.push(c);}),r.forEach((i,a)=>{let c=zE(i,"deny",200+a);c&&o.push(c);}),o.length===0?[]:[{path:vE,content:o.join(`
114
- `)}]}var JE=d(()=>{Ft();s(Ks,"escapeTomlBasicString");s(QM,"escapeRegexLiteral");s(t$,"parsePermissionExpr");s(Fm,"ruleForDecision");s(zE,"permissionExprToGeminiRule");s(VE,"generateGeminiPermissionsPolicies");});function jf(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 vm(t){let e=t.indexOf("---"),r=t.indexOf("+++");if(e===0&&(r===-1||e<=r))return E(t);if(r===0){let n=t.indexOf("+++",3);if(n!==-1)try{let o=t.slice(3,n).trim(),i=t.slice(n+3).trim();return {frontmatter:o===""?{}:parse$1(o)??{},body:i}}catch{return {frontmatter:{},body:t.trim()}}}return {frontmatter:{},body:t.trim()}}var Uf=d(()=>{v();s(jf,"mapGeminiHookEvent");s(vm,"parseFlexibleFrontmatter");});async function Wf(t,e){let r=join(t,Us),n=await y(r);if(n===null)return;let o;try{o=JSON.parse(n);}catch{}if(!o)return;let i=o.mcpServers;if(i!==void 0&&typeof i=="object"&&i!==null&&Object.keys(i).length>0){let l=join(t,xf);await O(join(t,".agentsmesh")),await C(l,JSON.stringify({mcpServers:i},null,2)),e.push({fromTool:"gemini-cli",fromPath:r,toPath:xf,feature:"mcp"});}let a=o.ignorePatterns;if(Array.isArray(a)&&a.length>0&&a.every(l=>typeof l=="string")){let l=join(t,Xi);await O(join(t,".agentsmesh")),await C(l,a.join(`
117
+ `}function fy(t){return t.commands.map(e=>({path:jT(e.name,Me),content:sW(e)}))}var KT=d(()=>{Wt();UT();s(nW,"serializeTomlMultilineLiteral");s(sW,"serializeGeminiCommand");s(fy,"generateCommands");});function hy(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(n=>{r[n]===void 0&&delete r[n];});let o=P(r,e.body.trim()||"");return {path:`${ei}/${e.name}.md`,content:o}})}var BT=d(()=>{M();Wt();s(hy,"generateAgents");});function yy(t){let e=[];for(let r of t.skills){let o={name:r.name,description:r.description||void 0};o.description===void 0&&delete o.description;let n=P(o,r.body.trim()||"");e.push({path:`${_m}/${r.name}/SKILL.md`,content:n});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${_m}/${r.name}/${a}`,content:i.content});}}return e}var WT=d(()=>{M();Wt();s(yy,"generateSkills");});function iW(t){switch(t){case "PreToolUse":return "BeforeTool";case "PostToolUse":return "AfterTool";case "Notification":return "Notification";default:return null}}function _y(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 o=Object.entries(t.hooks).flatMap(([n,i])=>{let a=iW(n);if(!a||!Array.isArray(i))return [];let c=i.filter(l=>typeof l=="object"&&l!==null&&hn(l)).map((l,m)=>({matcher:l.matcher,hooks:[{name:`${a}-${m+1}`,type:"command",command:Kt(l),timeout:l.timeout}]}));return c.length>0?[[a,c]]:[]});o.length>0&&(e.hooks=Object.fromEntries(o),r=true);}return r&&(e.context={fileName:[Cr,nn]}),Object.keys(e).length===0?[]:[{path:Ia,content:JSON.stringify(e,null,2)}]}var Iy=d(()=>{Pr();Wt();s(iW,"mapHookEvent");s(_y,"generateGeminiSettingsFiles");});function Ry(t){return !t.ignore||t.ignore.length===0?[]:[{path:Gu,content:t.ignore.join(`
118
+ `)}]}var HT=d(()=>{Wt();s(Ry,"generateIgnore");});var zT=d(()=>{$T();KT();BT();WT();Iy();HT();});var VT=d(()=>{zT();});function Sa(t){return JSON.stringify(t)}function aW(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function cW(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 ju(t,e,r){return ["[[rule]]",`decision = ${Sa(t)}`,`priority = ${e}`,...r,""].join(`
119
+ `)}function JT(t,e,r){let o=cW(t),n={Read:"read_file",Grep:"grep_search",LS:"list_directory",WebFetch:"web_fetch",Bash:"run_shell_command"};if(o.kind==="tool"){let i=n[o.tool]??o.tool;return ju(e,r,[`toolName = ${Sa(i)}`])}if(o.kind==="bash"){let i=o.prefix.replace(/:\*$/u,"").replace(/\*$/u,"").trim();return ju(e,r,[`toolName = ${Sa(n.Bash)}`,`commandPrefix = ${Sa(i)}`])}return o.kind==="read"?ju(e,r,[`toolName = ${Sa(n.Read)}`,`argsPattern = ${Sa(aW(o.path))}`]):ju(e,r,[`toolName = ${Sa(o.raw)}`])}function YT(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions;if(e.length+r.length===0)return [];let n=[];return e.forEach((i,a)=>{let c=JT(i,"allow",100+a);c&&n.push(c);}),r.forEach((i,a)=>{let c=JT(i,"deny",200+a);c&&n.push(c);}),n.length===0?[]:[{path:MT,content:n.join(`
120
+ `)}]}var XT=d(()=>{Wt();s(Sa,"escapeTomlBasicString");s(aW,"escapeRegexLiteral");s(cW,"parsePermissionExpr");s(ju,"ruleForDecision");s(JT,"permissionExprToGeminiRule");s(YT,"generateGeminiPermissionsPolicies");});function Sy(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 Uu(t){let e=t.indexOf("---"),r=t.indexOf("+++");if(e===0&&(r===-1||e<=r))return k(t);if(r===0){let o=t.indexOf("+++",3);if(o!==-1)try{let n=t.slice(3,o).trim(),i=t.slice(o+3).trim();return {frontmatter:n===""?{}:parse$1(n)??{},body:i}}catch{return {frontmatter:{},body:t.trim()}}}return {frontmatter:{},body:t.trim()}}var Cy=d(()=>{M();s(Sy,"mapGeminiHookEvent");s(Uu,"parseFlexibleFrontmatter");});async function Ey(t,e){let r=join(t,Ia),o=await y(r);if(o===null)return;let n;try{n=JSON.parse(o);}catch{}if(!n)return;let i=n.mcpServers;if(i!==void 0&&typeof i=="object"&&i!==null&&Object.keys(i).length>0){let l=join(t,py);await L(join(t,".agentsmesh")),await _(l,JSON.stringify({mcpServers:i},null,2)),e.push({fromTool:"gemini-cli",fromPath:r,toPath:py,feature:"mcp"});}let a=n.ignorePatterns;if(Array.isArray(a)&&a.length>0&&a.every(l=>typeof l=="string")){let l=join(t,Gc);await L(join(t,".agentsmesh")),await _(l,a.join(`
115
121
  `)+`
116
- `),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Xi,feature:"ignore"});}let c=o.hooks;if(c!==void 0&&typeof c=="object"&&c!==null){let l=Object.entries(c).flatMap(([m,p])=>{let u=jf(m);if(!u||!Array.isArray(p))return [];let f=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"&&hn(h)).map(h=>({matcher:g.matcher,command:At(h),type:"command",timeout:typeof h.timeout=="number"?h.timeout:void 0})));if(f.length===0){let g=p.filter(h=>h!==null&&typeof h=="object"&&typeof h.matcher=="string"&&hn(h)).map(h=>({matcher:h.matcher,command:At(h),type:"command"}));return g.length>0?[[u,g]]:[]}return f.length>0?[[u,f]]:[]});if(l.length>0){let m=Object.fromEntries(l),p=join(t,Pf);await O(join(t,".agentsmesh")),await C(p,stringify(m,{lineWidth:0}).trimEnd()),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Pf,feature:"hooks"});}}}var YE=d(()=>{qe();b();Ft();Uf();s(Wf,"importGeminiSettings");});async function XE(t,e){let r=join(t,Tm),n=await y(r);if(n!==null&&n.trim()){let o=n.split(/\r?\n/).map(i=>i.trim()).filter(i=>i&&!i.startsWith("#"));if(o.length>0){await O(join(t,".agentsmesh"));let i=join(t,Xi);await C(i,o.join(`
122
+ `),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Gc,feature:"ignore"});}let c=n.hooks;if(c!==void 0&&typeof c=="object"&&c!==null){let l=Object.entries(c).flatMap(([m,p])=>{let u=Sy(m);if(!u||!Array.isArray(p))return [];let g=p.filter(f=>f!==null&&typeof f=="object"&&typeof f.matcher=="string"&&Array.isArray(f.hooks)).flatMap(f=>f.hooks.filter(h=>h!==null&&typeof h=="object"&&hn(h)).map(h=>({matcher:f.matcher,command:Kt(h),type:"command",timeout:typeof h.timeout=="number"?h.timeout:void 0})));if(g.length===0){let f=p.filter(h=>h!==null&&typeof h=="object"&&typeof h.matcher=="string"&&hn(h)).map(h=>({matcher:h.matcher,command:Kt(h),type:"command"}));return f.length>0?[[u,f]]:[]}return g.length>0?[[u,g]]:[]});if(l.length>0){let m=Object.fromEntries(l),p=join(t,uy);await L(join(t,".agentsmesh")),await _(p,stringify(m,{lineWidth:0}).trimEnd()),e.push({fromTool:"gemini-cli",fromPath:r,toPath:uy,feature:"hooks"});}}}var ZT=d(()=>{Pr();T();Wt();Cy();s(Ey,"importGeminiSettings");});async function QT(t,e){let r=join(t,Gu),o=await y(r);if(o!==null&&o.trim()){let n=o.split(/\r?\n/).map(i=>i.trim()).filter(i=>i&&!i.startsWith("#"));if(n.length>0){await L(join(t,".agentsmesh"));let i=join(t,Gc);await _(i,n.join(`
117
123
  `)+`
118
- `),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Xi,feature:"ignore"});}}}var Bf=d(()=>{b();Ft();Uf();YE();s(XE,"importGeminiIgnore");});function s$(t){return t.replace(/\\(.)/g,"$1")}function i$(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 a$(t){return `Bash(${t}:*)`}function c$(t){return `Read(${s$(t)})`}async function ZE(t){let e=[],r=join(t,Pm),n;try{n=await D(r);}catch{return e}let o=n.filter(u=>u.endsWith(".toml"));if(o.length===0)return e;let i=[],a=[],c=new Set,l=new Set;for(let u of o){let f=await y(u);if(!f)continue;let g;try{g=parse$1(f);}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 S=R,_=typeof S.toolName=="string"?S.toolName:null,k=typeof S.decision=="string"?S.decision:null;if(!_||!k)continue;let T=i$(_);if(!T)continue;let P=null;T==="Bash"?typeof S.commandPrefix=="string"&&S.commandPrefix.trim()&&(P=a$(S.commandPrefix.trim())):T==="Read"?typeof S.argsPattern=="string"&&S.argsPattern.trim()?P=c$(S.argsPattern.trim()):P="Read":P=T,P&&(k==="allow"?c.has(P)||(c.add(P),i.push(P)):k==="deny"&&(l.has(P)||(l.add(P),a.push(P))));}}if(i.length===0&&a.length===0)return e;await O(join(t,".agentsmesh"));let m=join(t,Tf),p=stringify({allow:i,deny:a});return await C(m,p.trimEnd()+`
119
- `),e.push({fromTool:Do,fromPath:join(t,Pm),toPath:Tf,feature:"permissions"}),e}var qE=d(()=>{b();Ft();s(s$,"unescapeRegexLiteral");s(i$,"toolNameToPermissionBase");s(a$,"commandPrefixToBashExpr");s(c$,"argsPatternToReadExpr");s(ZE,"importGeminiPolicies");});function Hf(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,i)=>{let a=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return o.replace(new RegExp(`${a}[/\\\\]\\.agentsmesh[/\\\\]`,"g"),".agentsmesh/").replaceAll(`${i}/.agentsmesh`,".agentsmesh").replaceAll(`${i}\\.agentsmesh`,".agentsmesh")},t).replace(/(?:[A-Za-z]:)?[^\s"'`()<>]+[/\\]\.agentsmesh[/\\]/g,".agentsmesh/")}var tk=d(()=>{s(Hf,"stripProjectRootCanonicalPrefix");});async function rk(t,e,r){let n=join(t,wc),i=(await D(n)).filter(c=>basename(c)==="SKILL.md");for(let c of i){let l=await y(c);if(!l)continue;let m=basename(c.slice(0,-9)),p=E(l),u=Pr(p.frontmatter,m);if(u){let k=join(t,Lc);await O(k);let T=join(k,`${u.name}.md`);await C(T,Ae(u,r(p.body,c,T))),e.push({fromTool:"gemini-cli",fromPath:c,toPath:`${Lc}/${u.name}.md`,feature:"agents"});continue}let f=join(t,bc,m,"SKILL.md"),g=r(l,c,f),h=join(t,bc,m);await O(h);let{frontmatter:R,body:S}=E(g);await C(f,await Tr(f,{...R,name:m},S)),e.push({fromTool:"gemini-cli",fromPath:c,toPath:`${bc}/${m}/SKILL.md`,feature:"skills"});let _=await D(dirname(c));for(let k of _){if(k===c)continue;let T=await y(k);if(T===null)continue;let P=relative(dirname(c),k).replace(/\\/g,"/"),A=join(h,P);await O(dirname(A)),await C(A,r(T,k,A)),e.push({fromTool:"gemini-cli",fromPath:k,toPath:`${bc}/${m}/${P}`,feature:"skills"});}}let a=join(t,No);try{let l=(await D(a)).filter(m=>m.endsWith(".md"));for(let m of l){let p=await y(m);if(!p)continue;let{frontmatter:u,body:f}=E(p),h=relative(a,m).replace(/\\/g,"/").replace(/\.md$/i,".md"),R=join(t,Lc);await O(R);let S=join(R,h),_=r(f,m,S);await C(S,await Pt(S,{...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:`${Lc}/${h}`,feature:"agents"});}}catch{}}var nk=d(()=>{b();v();nt();ht();Ft();s(rk,"importGeminiSkillsAndAgents");});async function l$(t,e,r){let n=await H("codex-cli",t),o=join(t,Fo),i=join(t,on),a=join(t,NE),c=[i,a,join(t,We),join(t,FE)],l=null,m=c[c.length-1];for(let P of c){let A=await y(P);if(A!==null){l=A,m=P;break}}if(l===null)return;await O(o);let p=join(o,"_root.md"),u=m===i||m===a?n(l,m,p):l,f=await qr({content:u,projectRoot:t,rulesDir:Fo,sourcePath:m,fromTool:Do,normalize:r});e.push(...f.results);let g=r(f.rootContent,m,p),h=Hf(g.replace(/\.agents\/skills\//g,".agentsmesh/skills/").replace(/\.agents\\skills\\/g,".agentsmesh/skills/"),t),{frontmatter:R,body:S}=E(h),k=R.root===true?R:{...R,root:true},T=Hf(await G(p,k,S),t);await C(p,T),e.push({fromTool:Do,fromPath:m,toPath:`${Fo}/_root.md`,feature:"rules"});}async function $m(t){let e=[],r=await H(Do,t);return await l$(t,e,r),e.push(...await tt(Gm,t,"project",{normalize:r})),await rk(t,e,r),await Wf(t,e),await XE(t,e),e.push(...await ZE(t)),e}var Jf=d(()=>{Ot();b();v();nt();Ki();Ut();Ft();Yf();Bf();qE();tk();nk();s(l$,"importRootRule");s($m,"importFromGemini");});async function sk(t,e,r){let n=t.replace(/\\/g,"/"),o=join(e,n),{frontmatter:i,body:a}=vm(r(o)),c=Cn(i.globs),l={root:false,description:typeof i.description=="string"?i.description:void 0,globs:c.length>0?c:void 0};return Object.keys(l).forEach(m=>{l[m]===void 0&&delete l[m];}),{destPath:o,toPath:`${Fo}/${n}`,feature:"rules",content:await G(o,l,a)}}async function ik(t,e,r){let n=t.replace(/\.(toml|md)$/i,".md").replace(/\\/g,"/"),o=join(e,n),i=r(o),{frontmatter:a,body:c}=t.endsWith(".toml")?p$(i):vm(i),l=Fe(a.allowedTools),m=Fe(a["allowed-tools"]),p=l.length>0?l:m;return {destPath:o,toPath:`${Dm}/${n}`,feature:"commands",content:await it(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")},c)}}function p$(t){try{let e=parse$1(t);return {frontmatter:e,body:typeof e.prompt=="string"?e.prompt:""}}catch{return {frontmatter:{},body:t.trim()}}}var ak=d(()=>{nt();nr();Bf();Ft();s(sk,"mapGeminiRuleFile");s(ik,"mapGeminiCommandFile");s(p$,"parseTomlCommand");});var ck,lk,mk=d(()=>{ak();ck=s(({relativePath:t,destDir:e,normalizeTo:r})=>sk(t,e,r),"geminiRuleMapper"),lk=s(({relativePath:t,destDir:e,normalizeTo:r})=>ik(t,e,r),"geminiCommandMapper");});function pk(t,e,r,n){return q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(i=>({...i,target:Do}))}var uk=d(()=>{Wt();Ft();s(pk,"lintRules");});function dk(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 fk(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=>Si(n,"gemini-cli",e))}var gk=d(()=>{Tt();s(dk,"lintCommands");s(fk,"lintHooks");});function hk(t,e){return e==="project"&&vo("gemini-cli",e)?.ignore.flavor!=="settings-embedded"?[]:Mf(t)}var yk=d(()=>{gt();$f();s(hk,"emitScopedGeminiSettings");});function Ik(t){try{let e=JSON.parse(t);return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}catch{return {}}}function Sk(t,e){let r=Ik(t),n=u$.parse(JSON.parse(e)),o={...r};n.permissions!==void 0&&(o.permissions=n.permissions),n.hooks!==void 0&&(o.hooks=n.hooks);let i=o.permissions;return i&&typeof i=="object"&&!Array.isArray(i)&&!("ask"in i)&&(i.ask=[]),JSON.stringify(o,null,2)}function Ck(t,e){let r=Ik(t),n=d$.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 _k,u$,d$,Xf=d(()=>{_k=[".claude/settings.json",".gemini/settings.json"],u$=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(),d$=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();s(Ik,"parseJsonObject");s(Sk,"mergeSettingsJson");s(Ck,"mergeGeminiSettingsJson");});var f$,g$,h$,y$,Gm,Yf=d(()=>{HE();ts();JE();Ft();Jf();mk();uk();Nt();ui();ht();gk();yk();he();Xf();f$={name:"gemini-cli",primaryRootInstructionPath:We,generateRules:Df,generateCommands:Nf,generateAgents:Ff,generateSkills:vf,generateIgnore:Gf,generatePermissions:VE,importFrom:$m},g$={rootInstructionPath:We,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[on]}],extraRuleOutputPaths(){return [on]},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 mt(t,".gemini/skills",e)},paths:{rulePath(t,e){return We},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),n=r.pop()??t;return `${Ie}/${r.join("/")}/${n}.toml`}return `${Ie}/${t}.toml`},agentPath(t,e){return be(e,"gemini-cli")?`.gemini/skills/${z(t)}/SKILL.md`:`${No}/${t}.md`}}},h$={rootInstructionPath:Zi,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[qi]}],extraRuleOutputPaths(){return [qi]},skillDir:Ws,managedOutputs:{dirs:[Qi,Ws,Ac],files:[Zi,qi,Nm]},rewriteGeneratedPath(t){return t===We?Zi:t===on?qi:t===Us?Nm:t.startsWith(`${Ie}/`)?t.replace(`${Ie}/`,`${Qi}/`):t.startsWith(".gemini/skills/")?t.replace(".gemini/skills/",`${Ws}/`):t.startsWith(`${No}/`)?t.replace(`${No}/`,`${Ac}/`):t.startsWith(".gemini/policies/")||t===".geminiignore"?null:t},mirrorGlobalPath(t,e){return mt(t,Ws,e)},paths:{rulePath(t,e){return Zi},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),n=r.pop()??t;return `${Qi}/${r.join("/")}/${n}.toml`}return `${Qi}/${t}.toml`},agentPath(t,e){return be(e,"gemini-cli")?`${Ws}/${z(t)}/SKILL.md`:`${Ac}/${t}.md`}}},y$={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:"none",permissions:"none"},Gm={id:"gemini-cli",generators:f$,capabilities:{rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:er("native","settings-embedded"),permissions:"partial"},emptyImportMessage:"No Gemini CLI config found (GEMINI.md or .gemini/rules, .gemini/commands, .gemini/settings.json).",lintRules:pk,lint:{commands:dk,hooks:fk},emitScopedSettings:hk,mergeGeneratedOutputContent(t,e,r,n){let o=e?.content??t;return o!==null&&n===Us?Ck(o,r):null},project:g$,globalSupport:{capabilities:y$,detectionPaths:[Zi,qi,Nm,Qi,Ws,Ac],layout:h$},importer:{rules:{feature:"rules",mode:"directory",source:{project:[DE]},canonicalDir:Fo,extensions:[".md"],map:ck},commands:{feature:"commands",mode:"directory",source:{project:[Ie]},canonicalDir:Dm,extensions:[".md",".toml"],map:lk}},buildImportPaths:hd,detectionPaths:["GEMINI.md",".gemini"]};});function Rk(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(Kr)),n=e?.body.trim()??"",o=xt(n,r);return o?[{path:Ge,content:o}]:[]}function Ok(t){return kt(t,ee)}function Ek(t){return t.commands.map(e=>({path:`${ee}/${at(e.name)}/SKILL.md`,content:xr(e)}))}function kk(t){return t.agents.map(e=>({path:`${ee}/${z(e.name)}/SKILL.md`,content:ce(e)}))}function wk(t){return t.ignore.length===0?[]:[{path:xn,content:t.ignore.join(`
120
- `)}]}var Lk=d(()=>{Rt();xe();ht();ae();bi();s(Rk,"generateRules");s(Ok,"generateSkills");s(Ek,"generateCommands");s(kk,"generateAgents");s(wk,"generateIgnore");});async function bk(t,e={}){let r=e.scope??"project",n=[],o=await H(Kr,t,r);return n.push(...await tt(jm,t,r,{normalize:o})),await Ct(t,r==="global"?je:ee,Kr,n,o),n}var Ak=d(()=>{Ot();Rt();Ut();bi();Zf();s(bk,"importFromGoose");});function xk(t,e,r,n){return q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Kr}))}var Pk=d(()=>{Wt();bi();s(xk,"lintRules");});function Tk(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[j(".agentsmesh/hooks.yaml","goose","Goose has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function Dk(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","goose","Goose permissions are managed at runtime via permission.yaml in ~/.config/goose/; canonical permissions are not projected.")]}function Nk(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[j(".agentsmesh/mcp.json","goose","Goose MCP extensions are configured globally in ~/.config/goose/config.yaml; project-level MCP is not projected.")]}var Fk=d(()=>{Tt();s(Tk,"lintHooks");s(Dk,"lintPermissions");s(Nk,"lintMcp");});var _$,I$,S$,vk,jm,Zf=d(()=>{ae();ht();Lk();he();Ak();Pk();Fk();Nt();bi();_$={name:Kr,primaryRootInstructionPath:Ge,generateRules:Rk,generateCommands:Ek,generateAgents:kk,generateSkills:Ok,generateIgnore:wk,importFrom:bk},I$={rootInstructionPath:Ge,skillDir:ee,managedOutputs:{dirs:[ee],files:[Ge,xn]},paths:{rulePath(t){return Ge},commandPath(t){return `${ee}/${at(t)}/SKILL.md`},agentPath(t){return `${ee}/${z(t)}/SKILL.md`}}},S$={rootInstructionPath:Pn,skillDir:je,managedOutputs:{dirs:[je],files:[Pn,ps]},rewriteGeneratedPath(t){return t===Ge?Pn:t===xn?ps:(t.startsWith(`${ee}/`),t)},mirrorGlobalPath(t,e){return mt(t,je,e)},paths:{rulePath(t){return Pn},commandPath(t){return `${je}/${at(t)}/SKILL.md`},agentPath(t){return `${je}/${z(t)}/SKILL.md`}}},vk={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"native",permissions:"none"},jm={id:Kr,generators:_$,capabilities:vk,emptyImportMessage:"No Goose config found (.goosehints, .agents/skills, or .gooseignore).",lintRules:xk,lint:{hooks:Tk,permissions:Dk,mcp:Nk},supportsConversion:{commands:true,agents:true},project:I$,globalSupport:{capabilities:vk,detectionPaths:[Pn,ps,je],layout:S$},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[Ge],global:[Pn]},canonicalDir:iS,canonicalRootFilename:"_root.md",markAsRoot:true},ignore:{feature:"ignore",mode:"flatFile",source:{project:[xn],global:[ps]},canonicalDir:".agentsmesh",canonicalFilename:aS}},sharedArtifacts:{".agents/skills/":"consumer"},buildImportPaths:yd,detectionPaths:[Ge,xn]};});function Mk(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Br,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:`${oc}/${o}.md`,content:n.body.trim()||""});}return e}function R$(t){let e={};return t.description&&(e.description=t.description),t.type!=="stdio"&&(e.type=t.type),lm(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,R$(n)]));return [{path:nc,content:JSON.stringify({mcpServers:e},null,2)}]}function Gk(t){return t.commands.map(e=>{let r={description:e.description||void 0};return r.description===void 0&&delete r.description,{path:`${Ai}/${e.name}.md`,content:N(r,e.body.trim()||"")}})}function jk(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:`${xi}/${e.name}.md`,content:N(r,e.body.trim()||"")}})}function Uk(t){return t.ignore.length===0?[]:[{path:sc,content:t.ignore.join(`
121
- `)}]}function Wk(t){return kt(t,ds)}function Kk(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 xt(e?.body.trim()??"",r)}var Bk=d(()=>{mm();Rt();xe();v();Pi();s(Mk,"generateRules");s(R$,"toJunieMcpServer");s($k,"generateMcp");s(Gk,"generateCommands");s(jk,"generateAgents");s(Uk,"generateIgnore");s(Wk,"generateSkills");s(Kk,"renderJunieGlobalInstructions");});async function O$(t,e,r){let n=[Br,Kl,lS,mS],o=join(t,_d);for(let i of n){let a=join(t,i),c=await y(a);if(c===null)continue;let l=await qr({content:c,projectRoot:t,rulesDir:Hl,sourcePath:a,fromTool:us,normalize:r});e.push(...l.results);let{frontmatter:m,body:p}=E(r(l.rootContent,a,o)),u=await G(o,{root:true,description:typeof m.description=="string"?m.description:void 0,globs:Array.isArray(m.globs)?m.globs:void 0},p);await C(o,u),e.push({fromTool:us,fromPath:a,toPath:_d,feature:"rules"});return}}async function Um(t){let e=[],r=await H(us,t);return await O$(t,e,r),e.push(...await tt(Wm,t,"project",{normalize:r})),await Ct(t,ds,us,e,r),e}var qf=d(()=>{Ot();b();v();Rt();Ki();nt();Ut();Pi();Qf();s(O$,"importRootRule");s(Um,"importFromJunie");});function zk(t,e,r,n){return q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:us}))}var Vk=d(()=>{Wt();Pi();s(zk,"lintRules");});function Jk(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.mcp.mcpServers))yR(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 Yk=d(()=>{mm();Tt();s(Jk,"lintMcp");});var E$,k$,w$,L$,Wm,Qf=d(()=>{Bk();Pi();he();qf();Vk();Yk();Nt();E$={name:"junie",primaryRootInstructionPath:Br,generateRules:Mk,generateCommands:Gk,generateAgents:jk,generateSkills:Wk,generateMcp:$k,generateIgnore:Uk,importFrom:Um},k$={rootInstructionPath:Br,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 `${oc}/${t}.md`},commandPath(t,e){return `${Ai}/${t}.md`},agentPath(t,e){return `${xi}/${t}.md`}}},w$={rootInstructionPath:fs,renderPrimaryRootInstruction:Kk,skillDir:ac,managedOutputs:{dirs:[ac,cc,lc,pS],files:[fs,Bl]},rewriteGeneratedPath(t){return t===Br?fs:t.startsWith(`${oc}/`)?fs:t.startsWith(`${ds}/`)?t.replace(`${ds}/`,`${ac}/`):t.startsWith(`${Ai}/`)?t.replace(`${Ai}/`,`${lc}/`):t.startsWith(`${xi}/`)?t.replace(`${xi}/`,`${cc}/`):t===nc?Bl:t===sc?null:t},mirrorGlobalPath(t,e){return mt(t,".junie/skills",e)},paths:{rulePath(t,e){return fs},commandPath(t,e){return `${lc}/${t}.md`},agentPath(t,e){return `${cc}/${t}.md`}}},L$={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Wm={id:"junie",generators:E$,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:zk,lint:{mcp:Jk},project:k$,globalSupport:{capabilities:L$,detectionPaths:[fs,ac,cc,lc,Bl],layout:w$},importer:{rules:{feature:"rules",mode:"directory",source:{project:[".junie/rules"]},canonicalDir:Hl,extensions:[".md"],preset:"rule"},commands:{feature:"commands",mode:"directory",source:{project:[".junie/commands"]},canonicalDir:uS,extensions:[".md"],preset:"command"},agents:{feature:"agents",mode:"directory",source:{project:[".junie/agents"]},canonicalDir:dS,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[nc]},canonicalDir:".agentsmesh",canonicalFilename:fS},ignore:{feature:"ignore",mode:"flatFile",source:{project:[sc]},canonicalDir:".agentsmesh",canonicalFilename:gS}},buildImportPaths:Id,detectionPaths:[".junie/guidelines.md",".junie/AGENTS.md",".junie/skills",".junie/mcp/mcp.json",".aiignore"]};});function Zk(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Hr,content:r.body.trim()?r.body:""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(re))continue;let o=basename(n.source,".md"),i={};n.description&&(i.description=n.description),n.globs.length>0&&(i.globs=n.globs);let a=Object.keys(i).length>0?N(i,n.body.trim()||""):n.body.trim()||"";e.push({path:`${Tn}/${o}.md`,content:a});}return e}function qk(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${Dn}/${e.name}.md`,content:N(r,e.body.trim()||"")}})}function Qk(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:`${Nn}/${r}.md`,content:N(n,e.body.trim()||"")}})}function tw(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:ho,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function ew(t){return t.ignore.length===0?[]:[{path:Ti,content:t.ignore.join(`
122
- `)}]}function rw(t){return kt(t,mr)}var nw=d(()=>{Rt();v();Cs();s(Zk,"generateRules");s(qk,"generateCommands");s(Qk,"generateAgents");s(tw,"generateMcp");s(ew,"generateIgnore");s(rw,"generateSkills");});var Km,Bm,ow,eg=d(()=>{v();nt();Cs();Km=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=E(e(n));return {destPath:n,toPath:`${Io}/${t}`,content:await G(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},i)}},"kiloNonRootRuleMapper"),Bm=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=E(e(n));return {destPath:n,toPath:`${vi}/${t}`,content:await it(n,{hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},i)}},"kiloCommandMapper"),ow=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=E(e(n));return {destPath:n,toPath:`${Ss}/${t}`,content:await Pt(n,o,i)}},"kiloAgentMapper");});async function sw(t){try{return await stat(t),!0}catch{return false}}async function x$(t,e,r){let n=join(t,gs);if(!await sw(n))return;let o=join(t,Io),i=join(n,ng),c=e.some(l=>l.toPath===rg)?null:await y(i);if(c!==null){let l=join(t,rg),m=r(c,i,l),{body:p}=E(m),u=await G(l,{root:true},p);await C(l,u),e.push({feature:"rules",fromTool:re,fromPath:`${gs}/${ng}`,toPath:rg});}e.push(...await dt({srcDir:n,destDir:o,extensions:[".md"],fromTool:re,normalize:r,mapEntry:s(async({srcPath:l,relativePath:m,content:p,normalizeTo:u})=>{let f=await Km({absolutePath:l,relativePath:m,content:p,destDir:o,normalizeTo:u});return m===ng||!f?null:{...f,feature:"rules"}},"mapEntry")}));}async function P$(t,e,r){let n=join(t,Di);if(!await sw(n))return;let o=join(t,vi);e.push(...await dt({srcDir:n,destDir:o,extensions:[".md"],fromTool:re,normalize:r,mapEntry:s(async({srcPath:i,relativePath:a,content:c,normalizeTo:l})=>{let m=await Bm({absolutePath:i,relativePath:a,content:c,destDir:o,normalizeTo:l});return m?{...m,feature:"commands"}:null},"mapEntry")}));}async function T$(t,e,r){let n=join(t,Vl),o=await y(n);if(o===null)return;let i;try{i=parse(o);}catch{return}if(!(!i||!Array.isArray(i.customModes)))for(let a of i.customModes){if(!a||typeof a!="object")continue;let c=a;if(typeof c.slug!="string"||c.slug.length===0)continue;let l=c.slug,m=join(t,Ss,`${l}.md`),p=typeof c.description=="string"?c.description:"",u=typeof c.roleDefinition=="string"?c.roleDefinition.trim():"",f=typeof c.whenToUse=="string"?c.whenToUse.trim():"",g=f?`${u}
124
+ `),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Gc,feature:"ignore"});}}}var Ly=d(()=>{T();Wt();Cy();ZT();s(QT,"importGeminiIgnore");});function dW(t){return t.replace(/\\(.)/g,"$1")}function gW(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 fW(t){return `Bash(${t}:*)`}function hW(t){return `Read(${dW(t)})`}async function qT(t){let e=[],r=join(t,vu),o;try{o=await v(r);}catch{return e}let n=o.filter(u=>u.endsWith(".toml"));if(n.length===0)return e;let i=[],a=[],c=new Set,l=new Set;for(let u of n){let g=await y(u);if(!g)continue;let f;try{f=parse$1(g);}catch{continue}let h=f&&typeof f=="object"&&"rule"in f?f.rule:void 0;if(Array.isArray(h))for(let O of h){if(!O||typeof O!="object")continue;let R=O,S=typeof R.toolName=="string"?R.toolName:null,A=typeof R.decision=="string"?R.decision:null;if(!S||!A)continue;let D=gW(S);if(!D)continue;let N=null;D==="Bash"?typeof R.commandPrefix=="string"&&R.commandPrefix.trim()&&(N=fW(R.commandPrefix.trim())):D==="Read"?typeof R.argsPattern=="string"&&R.argsPattern.trim()?N=hW(R.argsPattern.trim()):N="Read":N=D,N&&(A==="allow"?c.has(N)||(c.add(N),i.push(N)):A==="deny"&&(l.has(N)||(l.add(N),a.push(N))));}}if(i.length===0&&a.length===0)return e;await L(join(t,".agentsmesh"));let m=join(t,dy),p=stringify({allow:i,deny:a});return await _(m,p.trimEnd()+`
125
+ `),e.push({fromTool:ti,fromPath:join(t,vu),toPath:dy,feature:"permissions"}),e}var tb=d(()=>{T();Wt();s(dW,"unescapeRegexLiteral");s(gW,"toolNameToPermissionBase");s(fW,"commandPrefixToBashExpr");s(hW,"argsPatternToReadExpr");s(qT,"importGeminiPolicies");});function Ay(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((n,i)=>{let a=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return n.replace(new RegExp(`${a}[/\\\\]\\.agentsmesh[/\\\\]`,"g"),".agentsmesh/").replaceAll(`${i}/.agentsmesh`,".agentsmesh").replaceAll(`${i}\\.agentsmesh`,".agentsmesh")},t).replace(/(?:[A-Za-z]:)?[^\s"'`()<>]+[/\\]\.agentsmesh[/\\]/g,".agentsmesh/")}var rb=d(()=>{s(Ay,"stripProjectRootCanonicalPrefix");});async function nb(t,e,r){let o=join(t,_m),i=(await v(o)).filter(c=>basename(c)==="SKILL.md");for(let c of i){let l=await y(c);if(!l)continue;let m=basename(c.slice(0,-9)),p=k(l),u=fo(p.frontmatter,m);if(u){let A=join(t,Im);await L(A);let D=join(A,`${u.name}.md`);await _(D,Je(u,r(p.body,c,D))),e.push({fromTool:"gemini-cli",fromPath:c,toPath:`${Im}/${u.name}.md`,feature:"agents"});continue}let g=join(t,Rm,m,"SKILL.md"),f=r(l,c,g),h=join(t,Rm,m);await L(h);let{frontmatter:O,body:R}=k(f);await _(g,await ho(g,{...O,name:m},R)),e.push({fromTool:"gemini-cli",fromPath:c,toPath:`${Rm}/${m}/SKILL.md`,feature:"skills"});let S=await v(dirname(c));for(let A of S){if(A===c)continue;let D=await y(A);if(D===null)continue;let N=relative(dirname(c),A).replace(/\\/g,"/"),G=join(h,N);await L(dirname(G)),await _(G,r(D,A,G)),e.push({fromTool:"gemini-cli",fromPath:A,toPath:`${Rm}/${m}/${N}`,feature:"skills"});}}let a=join(t,ei);try{let l=(await v(a)).filter(m=>m.endsWith(".md"));for(let m of l){let p=await y(m);if(!p)continue;let{frontmatter:u,body:g}=k(p),h=relative(a,m).replace(/\\/g,"/").replace(/\.md$/i,".md"),O=join(t,Im);await L(O);let R=join(O,h),S=r(g,m,R);await _(R,await Bt(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},S)),e.push({fromTool:"gemini-cli",fromPath:m,toPath:`${Im}/${h}`,feature:"agents"});}}catch{}}var sb=d(()=>{T();M();lt();st();Wt();s(nb,"importGeminiSkillsAndAgents");});async function yW(t,e,r){let o=await U("codex-cli",t),n=join(t,ri),i=join(t,nn),a=join(t,vT),c=[i,a,join(t,Cr),join(t,GT)],l=null,m=c[c.length-1];for(let N of c){let G=await y(N);if(G!==null){l=G,m=N;break}}if(l===null)return;await L(n);let p=join(n,"_root.md"),u=m===i||m===a?o(l,m,p):l,g=await Qo({content:u,projectRoot:t,rulesDir:ri,sourcePath:m,fromTool:ti,normalize:r});e.push(...g.results);let f=r(g.rootContent,m,p),h=Ay(f.replace(/\.agents\/skills\//g,".agentsmesh/skills/").replace(/\.agents\\skills\\/g,".agentsmesh/skills/"),t),{frontmatter:O,body:R}=k(h),A=O.root===true?O:{...O,root:true},D=Ay(await K(p,A,R),t);await _(p,D),e.push({fromTool:ti,fromPath:m,toPath:`${ri}/_root.md`,feature:"rules"});}async function Bu(t){let e=[],r=await U(ti,t);return await yW(t,e,r),e.push(...await z(Wu,t,"project",{normalize:r})),await nb(t,e,r),await Ey(t,e),await QT(t,e),e.push(...await qT(t)),e}var Ty=d(()=>{mt();T();M();lt();Tc();Ct();Wt();by();Ly();tb();rb();sb();s(yW,"importRootRule");s(Bu,"importFromGemini");});async function ab(t,e,r){let o=t.replace(/\\/g,"/"),n=join(e,o),{frontmatter:i,body:a}=Uu(r(n)),c=Rn(i.globs),l={root:false,description:typeof i.description=="string"?i.description:void 0,globs:c.length>0?c:void 0};return Object.keys(l).forEach(m=>{l[m]===void 0&&delete l[m];}),{destPath:n,toPath:`${ri}/${o}`,feature:"rules",content:await K(n,l,a)}}async function cb(t,e,r){let o=t.replace(/\.(toml|md)$/i,".md").replace(/\\/g,"/"),n=join(e,o),i=r(n),{frontmatter:a,body:c}=t.endsWith(".toml")?IW(i):Uu(i),l=qe(a.allowedTools),m=qe(a["allowed-tools"]),p=l.length>0?l:m;return {destPath:n,toPath:`${Mu}/${o}`,feature:"commands",content:await ht(n,{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")},c)}}function IW(t){try{let e=parse$1(t);return {frontmatter:e,body:typeof e.prompt=="string"?e.prompt:""}}catch{return {frontmatter:{},body:t.trim()}}}var lb=d(()=>{lt();tr();Ly();Wt();s(ab,"mapGeminiRuleFile");s(cb,"mapGeminiCommandFile");s(IW,"parseTomlCommand");});var mb,pb,ub=d(()=>{lb();mb=s(({relativePath:t,destDir:e,normalizeTo:r})=>ab(t,e,r),"geminiRuleMapper"),pb=s(({relativePath:t,destDir:e,normalizeTo:r})=>cb(t,e,r),"geminiCommandMapper");});function db(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(i=>({...i,target:ti}))}var gb=d(()=>{_t();Wt();s(db,"lintRules");});function fb(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>b(e.source,"gemini-cli","Gemini TOML command files do not project canonical allowed-tools metadata."))}function hb(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(o=>!r.has(o)).map(o=>Rs(o,"gemini-cli",e))}var yb=d(()=>{Et();s(fb,"lintCommands");s(hb,"lintHooks");});function _b(t,e){return e==="project"&&oi("gemini-cli",e)?.ignore.flavor!=="settings-embedded"?[]:_y(t)}var Ib=d(()=>{xt();Iy();s(_b,"emitScopedGeminiSettings");});var RW,SW,CW,EW,Wu,by=d(()=>{VT();Si();XT();Wt();Ty();ub();gb();Rt();Wa();st();yb();Ib();Qt();Ou();RW={name:"gemini-cli",primaryRootInstructionPath:Cr,generateRules:gy,generateCommands:fy,generateAgents:hy,generateSkills:yy,generateIgnore:Ry,generatePermissions:YT,importFrom:Bu},SW={rootInstructionPath:Cr,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[nn]}],extraRuleOutputPaths(){return [nn]},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 Cr},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),o=r.pop()??t;return `${Me}/${r.join("/")}/${o}.toml`}return `${Me}/${t}.toml`},agentPath(t,e){return Ve(e,"gemini-cli")?`.gemini/skills/${$(t)}/SKILL.md`:`${ei}/${t}.md`}}},CW={rootInstructionPath:Mc,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[$c]}],extraRuleOutputPaths(){return [$c]},skillDir:Ra,managedOutputs:{dirs:[jc,Ra,Sm],files:[Mc,$c,$u]},rewriteGeneratedPath(t){return t===Cr?Mc:t===nn?$c:t===Ia?$u:t.startsWith(`${Me}/`)?t.replace(`${Me}/`,`${jc}/`):t.startsWith(".gemini/skills/")?t.replace(".gemini/skills/",`${Ra}/`):t.startsWith(`${ei}/`)?t.replace(`${ei}/`,`${Sm}/`):t.startsWith(".gemini/policies/")||t===".geminiignore"?null:t},mirrorGlobalPath(t,e){return ct(t,Ra,e)},paths:{rulePath(t,e){return Mc},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),o=r.pop()??t;return `${jc}/${r.join("/")}/${o}.toml`}return `${jc}/${t}.toml`},agentPath(t,e){return Ve(e,"gemini-cli")?`${Ra}/${$(t)}/SKILL.md`:`${Sm}/${t}.md`}}},EW={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:"none",permissions:"none"},Wu={id:"gemini-cli",metadata:{displayName:"Gemini CLI",category:"cli",officialUrl:"https://github.com/google-gemini/gemini-cli",shortDescription:"Google's terminal Gemini agent"},generators:RW,capabilities:{rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:Nr("native","settings-embedded"),permissions:"partial"},emptyImportMessage:"No Gemini CLI config found (GEMINI.md or .gemini/rules, .gemini/commands, .gemini/settings.json).",lintRules:db,lint:{commands:fb,hooks:hb},emitScopedSettings:_b,mergeGeneratedOutputContent(t,e,r,o){let n=e?.content??t;return n!==null&&o===Ia?hw(n,r):null},project:SW,globalSupport:{capabilities:EW,detectionPaths:[Mc,$c,$u,jc,Ra,Sm],layout:CW},importer:{rules:{feature:"rules",mode:"directory",source:{project:[FT]},canonicalDir:ri,extensions:[".md"],map:mb},commands:{feature:"commands",mode:"directory",source:{project:[Me]},canonicalDir:Mu,extensions:[".md",".toml"],map:pb}},buildImportPaths:vf,detectionPaths:["GEMINI.md",".gemini"]};});function Rb(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(vo)),o=e?.body.trim()??"",n=it(o,r);return n?[{path:ur,content:n}]:[]}function Sb(t){return tt(t,ue)}function Cb(t){return t.commands.map(e=>({path:`${ue}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function Eb(t){return t.agents.map(e=>({path:`${ue}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function Ob(t){return t.ignore.length===0?[]:[{path:Mn,content:t.ignore.join(`
126
+ `)}]}var Lb=d(()=>{Q();Mt();st();St();ic();s(Rb,"generateRules");s(Sb,"generateSkills");s(Cb,"generateCommands");s(Eb,"generateAgents");s(Ob,"generateIgnore");});async function Ab(t,e={}){let r=e.scope??"project",o=[],n=await U(vo,t,r);return o.push(...await z(Hu,t,r,{normalize:n})),await Z(t,r==="global"?dr:ue,vo,o,n),o}var kb=d(()=>{mt();Q();Ct();ic();Py();s(Ab,"importFromGoose");});function wb(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:vo}))}var Tb=d(()=>{_t();ic();s(wb,"lintRules");});function bb(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[b(".agentsmesh/hooks.yaml","goose","Goose has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function Pb(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,o=t.permissions.ask??[];return e.length===0&&r.length===0&&o.length===0?[]:[b(".agentsmesh/permissions.yaml","goose","Goose permissions are managed at runtime via permission.yaml in ~/.config/goose/; canonical permissions are not projected.")]}function xb(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[b(".agentsmesh/mcp.json","goose","Goose MCP extensions are configured globally in ~/.config/goose/config.yaml; project-level MCP is not projected.")]}var Db=d(()=>{Et();s(bb,"lintHooks");s(Pb,"lintPermissions");s(xb,"lintMcp");});var OW,LW,AW,Nb,Hu,Py=d(()=>{St();st();Lb();Qt();kb();Tb();Db();Rt();ic();OW={name:vo,primaryRootInstructionPath:ur,generateRules:Rb,generateCommands:Cb,generateAgents:Eb,generateSkills:Sb,generateIgnore:Ob,importFrom:Ab},LW={rootInstructionPath:ur,skillDir:ue,managedOutputs:{dirs:[ue],files:[ur,Mn]},paths:{rulePath(t){return ur},commandPath(t){return `${ue}/${W(t)}/SKILL.md`},agentPath(t){return `${ue}/${$(t)}/SKILL.md`}}},AW={rootInstructionPath:$n,skillDir:dr,managedOutputs:{dirs:[dr],files:[$n,ji]},rewriteGeneratedPath(t){return t===ur?$n:t===Mn?ji:(t.startsWith(`${ue}/`),t)},mirrorGlobalPath(t,e){return ct(t,dr,e)},paths:{rulePath(t){return $n},commandPath(t){return `${dr}/${W(t)}/SKILL.md`},agentPath(t){return `${dr}/${$(t)}/SKILL.md`}}},Nb={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"native",permissions:"none"},Hu={id:vo,metadata:{displayName:"Goose",category:"cli",officialUrl:"https://block.github.io/goose",shortDescription:"Block's open-source AI agent"},generators:OW,capabilities:Nb,emptyImportMessage:"No Goose config found (.goosehints, .agents/skills, or .gooseignore).",lintRules:wb,lint:{hooks:bb,permissions:Pb,mcp:xb},supportsConversion:{commands:true,agents:true},project:LW,globalSupport:{capabilities:Nb,detectionPaths:[$n,ji,dr],layout:AW},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[ur],global:[$n]},canonicalDir:rE,canonicalRootFilename:"_root.md",markAsRoot:true},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Mn],global:[ji]},canonicalDir:".agentsmesh",canonicalFilename:oE}},sharedArtifacts:{".agents/skills/":"consumer"},buildImportPaths:Gf,detectionPaths:[ur,Mn]};});function Fb(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(jn)),o=e?.body.trim()??"",n=it(o,r);return n?[{path:Br,content:n}]:[]}var vb=d(()=>{Mt();ac();s(Fb,"generateRules");});async function Gb(t,e={}){let r=e.scope??"project",o=await U(jn,t,r);return z(zu,t,r,{normalize:o})}var Mb=d(()=>{mt();Ct();ac();xy();s(Gb,"importFromJules");});function $b(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:jn}))}var jb=d(()=>{_t();ac();s($b,"lintRules");});function Ub(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[b(".agentsmesh/hooks.yaml","jules","Jules has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function Kb(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,o=t.permissions.ask??[];return e.length===0&&r.length===0&&o.length===0?[]:[b(".agentsmesh/permissions.yaml","jules","Jules has no permissions system; canonical permissions are not projected.")]}function Bb(t){return t.ignore.length===0?[]:[b(".agentsmesh/ignore","jules","Jules is a cloud-based agent with no dedicated ignore file; canonical ignore patterns are not projected.")]}function Wb(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[b(".agentsmesh/mcp.json","jules","Jules is a cloud-based agent with no MCP support; canonical MCP servers are not projected.")]}function Hb(t){return t.commands.length===0?[]:[b(".agentsmesh/commands","jules","Jules has no command system; canonical commands are not projected.")]}var zb=d(()=>{Et();s(Ub,"lintHooks");s(Kb,"lintPermissions");s(Bb,"lintIgnore");s(Wb,"lintMcp");s(Hb,"lintCommands");});var kW,wW,TW,zu,xy=d(()=>{vb();Mb();jb();zb();Rt();ac();kW={name:jn,primaryRootInstructionPath:Br,generateRules:Fb,importFrom:Gb},wW={rootInstructionPath:Br,managedOutputs:{dirs:[],files:[Br]},paths:{rulePath(t){return Br},commandPath(){return null},agentPath(){return null}}},TW={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"none",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},zu={id:jn,metadata:{displayName:"Jules",category:"agent-platform",officialUrl:"https://jules.google",shortDescription:"Google's autonomous coding agent"},generators:kW,capabilities:TW,emptyImportMessage:"No Jules config found (AGENTS.md).",lintRules:$b,lint:{hooks:Ub,permissions:Kb,ignore:Bb,mcp:Wb,commands:Hb},project:wW,importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[Br]},canonicalDir:sE,canonicalRootFilename:"_root.md",markAsRoot:true}},buildImportPaths:Mf,detectionPaths:[Br]};});function Vb(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:Go,content:r.body.trim()||""});for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes("junie"))continue;let n=basename(o.source,".md");e.push({path:`${Jl}/${n}.md`,content:o.body.trim()||""});}return e}function PW(t){let e={};return t.description&&(e.description=t.description),t.type!=="stdio"&&(e.type=t.type),lu(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 Jb(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=Object.fromEntries(Object.entries(t.mcp.mcpServers).map(([r,o])=>[r,PW(o)]));return [{path:Vl,content:JSON.stringify({mcpServers:e},null,2)}]}function Yb(t){return t.commands.map(e=>{let r={description:e.description||void 0};return r.description===void 0&&delete r.description,{path:`${cc}/${e.name}.md`,content:P(r,e.body.trim()||"")}})}function Xb(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(o=>{r[o]===void 0&&delete r[o];}),{path:`${lc}/${e.name}.md`,content:P(r,e.body.trim()||"")}})}function Zb(t){return t.ignore.length===0?[]:[{path:Yl,content:t.ignore.join(`
127
+ `)}]}function Qb(t){return tt(t,Ki)}function qb(t){let e=t.rules.find(o=>o.root),r=t.rules.filter(o=>o.root?false:o.targets.length===0||o.targets.includes("junie"));return it(e?.body.trim()??"",r)}var tP=d(()=>{mu();Q();Mt();M();mc();s(Vb,"generateRules");s(PW,"toJunieMcpServer");s(Jb,"generateMcp");s(Yb,"generateCommands");s(Xb,"generateAgents");s(Zb,"generateIgnore");s(Qb,"generateSkills");s(qb,"renderJunieGlobalInstructions");});async function xW(t,e,r){let o=[Go,jp,aE,cE],n=join(t,$f);for(let i of o){let a=join(t,i),c=await y(a);if(c===null)continue;let l=await Qo({content:c,projectRoot:t,rulesDir:Kp,sourcePath:a,fromTool:Ui,normalize:r});e.push(...l.results);let{frontmatter:m,body:p}=k(r(l.rootContent,a,n)),u=await K(n,{root:true,description:typeof m.description=="string"?m.description:void 0,globs:Array.isArray(m.globs)?m.globs:void 0},p);await _(n,u),e.push({fromTool:Ui,fromPath:a,toPath:$f,feature:"rules"});return}}async function Vu(t){let e=[],r=await U(Ui,t);return await xW(t,e,r),e.push(...await z(Ju,t,"project",{normalize:r})),await Z(t,Ki,Ui,e,r),e}var Dy=d(()=>{mt();T();M();Q();Tc();lt();Ct();mc();Ny();s(xW,"importRootRule");s(Vu,"importFromJunie");});function rP(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Ui}))}var oP=d(()=>{_t();mc();s(rP,"lintRules");});function nP(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,o]of Object.entries(t.mcp.mcpServers))_A(o)&&e.push(b(".agentsmesh/mcp.json","junie",`MCP server "${r}" uses ${o.type} transport; Junie project mcp.json currently documents stdio MCP servers only.`));return e}var sP=d(()=>{mu();Et();s(nP,"lintMcp");});var DW,NW,FW,vW,Ju,Ny=d(()=>{tP();mc();Qt();Dy();oP();sP();Rt();DW={name:"junie",primaryRootInstructionPath:Go,generateRules:Vb,generateCommands:Yb,generateAgents:Xb,generateSkills:Qb,generateMcp:Jb,generateIgnore:Zb,importFrom:Vu},NW={rootInstructionPath:Go,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 `${Jl}/${t}.md`},commandPath(t,e){return `${cc}/${t}.md`},agentPath(t,e){return `${lc}/${t}.md`}}},FW={rootInstructionPath:Bi,renderPrimaryRootInstruction:qb,skillDir:Zl,managedOutputs:{dirs:[Zl,Ql,ql,lE],files:[Bi,Up]},rewriteGeneratedPath(t){return t===Go?Bi:t.startsWith(`${Jl}/`)?Bi:t.startsWith(`${Ki}/`)?t.replace(`${Ki}/`,`${Zl}/`):t.startsWith(`${cc}/`)?t.replace(`${cc}/`,`${ql}/`):t.startsWith(`${lc}/`)?t.replace(`${lc}/`,`${Ql}/`):t===Vl?Up:t===Yl?null:t},mirrorGlobalPath(t,e){return ct(t,".junie/skills",e)},paths:{rulePath(t,e){return Bi},commandPath(t,e){return `${ql}/${t}.md`},agentPath(t,e){return `${Ql}/${t}.md`}}},vW={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Ju={id:"junie",metadata:{displayName:"Junie",category:"ide",officialUrl:"https://www.jetbrains.com/junie",shortDescription:"JetBrains AI coding agent"},generators:DW,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:rP,lint:{mcp:nP},project:NW,globalSupport:{capabilities:vW,detectionPaths:[Bi,Zl,Ql,ql,Up],layout:FW},importer:{rules:{feature:"rules",mode:"directory",source:{project:[".junie/rules"]},canonicalDir:Kp,extensions:[".md"],preset:"rule"},commands:{feature:"commands",mode:"directory",source:{project:[".junie/commands"]},canonicalDir:mE,extensions:[".md"],preset:"command"},agents:{feature:"agents",mode:"directory",source:{project:[".junie/agents"]},canonicalDir:pE,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Vl]},canonicalDir:".agentsmesh",canonicalFilename:uE},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Yl]},canonicalDir:".agentsmesh",canonicalFilename:dE}},buildImportPaths:jf,detectionPaths:[".junie/guidelines.md",".junie/AGENTS.md",".junie/skills",".junie/mcp/mcp.json",".aiignore"]};});function aP(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:Mo,content:r.body.trim()?r.body:""});for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes(de))continue;let n=basename(o.source,".md"),i={};o.description&&(i.description=o.description),o.globs.length>0&&(i.globs=o.globs);let a=Object.keys(i).length>0?P(i,o.body.trim()||""):o.body.trim()||"";e.push({path:`${Un}/${n}.md`,content:a});}return e}function cP(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${Kn}/${e.name}.md`,content:P(r,e.body.trim()||"")}})}function lP(t){return t.agents.map(e=>{let r=basename(e.source,".md"),o={mode:"subagent"};return e.description&&(o.description=e.description),e.model&&(o.model=e.model),e.tools.length>0&&(o.tools=e.tools),e.disallowedTools.length>0&&(o.disallowedTools=e.disallowedTools),{path:`${Bn}/${r}.md`,content:P(o,e.body.trim()||"")}})}function mP(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Ds,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function pP(t){return t.ignore.length===0?[]:[{path:pc,content:t.ignore.join(`
128
+ `)}]}function uP(t){return tt(t,Wr)}var dP=d(()=>{Q();M();Xi();s(aP,"generateRules");s(cP,"generateCommands");s(lP,"generateAgents");s(mP,"generateMcp");s(pP,"generateIgnore");s(uP,"generateSkills");});var Yu,Xu,gP,vy=d(()=>{M();lt();Xi();Yu=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=k(e(o));return {destPath:o,toPath:`${vs}/${t}`,content:await K(o,{root:false,description:typeof n.description=="string"?n.description:void 0,globs:Array.isArray(n.globs)?n.globs:void 0},i)}},"kiloNonRootRuleMapper"),Xu=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=k(e(o));return {destPath:o,toPath:`${fc}/${t}`,content:await ht(o,{hasDescription:Object.prototype.hasOwnProperty.call(n,"description"),description:typeof n.description=="string"?n.description:void 0,hasAllowedTools:false,allowedTools:[]},i)}},"kiloCommandMapper"),gP=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=k(e(o));return {destPath:o,toPath:`${Yi}/${t}`,content:await Bt(o,n,i)}},"kiloAgentMapper");});async function fP(t){try{return await stat(t),!0}catch{return false}}async function $W(t,e,r){let o=join(t,Wi);if(!await fP(o))return;let n=join(t,vs),i=join(o,My),c=e.some(l=>l.toPath===Gy)?null:await y(i);if(c!==null){let l=join(t,Gy),m=r(c,i,l),{body:p}=k(m),u=await K(l,{root:true},p);await _(l,u),e.push({feature:"rules",fromTool:de,fromPath:`${Wi}/${My}`,toPath:Gy});}e.push(...await yt({srcDir:o,destDir:n,extensions:[".md"],fromTool:de,normalize:r,mapEntry:s(async({srcPath:l,relativePath:m,content:p,normalizeTo:u})=>{let g=await Yu({absolutePath:l,relativePath:m,content:p,destDir:n,normalizeTo:u});return m===My||!g?null:{...g,feature:"rules"}},"mapEntry")}));}async function jW(t,e,r){let o=join(t,uc);if(!await fP(o))return;let n=join(t,fc);e.push(...await yt({srcDir:o,destDir:n,extensions:[".md"],fromTool:de,normalize:r,mapEntry:s(async({srcPath:i,relativePath:a,content:c,normalizeTo:l})=>{let m=await Xu({absolutePath:i,relativePath:a,content:c,destDir:n,normalizeTo:l});return m?{...m,feature:"commands"}:null},"mapEntry")}));}async function UW(t,e,r){let o=join(t,Wp),n=await y(o);if(n===null)return;let i;try{i=parse(n);}catch{return}if(!(!i||!Array.isArray(i.customModes)))for(let a of i.customModes){if(!a||typeof a!="object")continue;let c=a;if(typeof c.slug!="string"||c.slug.length===0)continue;let l=c.slug,m=join(t,Yi,`${l}.md`),p=typeof c.description=="string"?c.description:"",u=typeof c.roleDefinition=="string"?c.roleDefinition.trim():"",g=typeof c.whenToUse=="string"?c.whenToUse.trim():"",f=g?`${u}
123
129
 
124
130
  ## When to use
125
131
 
126
- ${f}`:u,h={};p&&(h.description=p),typeof c.name=="string"&&c.name.length>0&&(h.name=c.name);let R=await Pt(m,h,g),S=r(R,n,m);await C(m,S),e.push({feature:"agents",fromTool:re,fromPath:n,toPath:`${Ss}/${l}.md`});}}async function Hm(t,e={}){let r=e.scope??"project",n=[],o=await H(re,t,r);return n.push(...await tt(zm,t,r,{normalize:o})),await Ct(t,mr,re,n,o),r==="project"&&(await x$(t,n,o),await P$(t,n,o),await T$(t,n,o),await Ct(t,hs,re,n,o)),n}var rg,ng,og=d(()=>{Ot();Rt();or();Ut();b();nt();v();eg();Cs();sg();rg=`${Io}/_root.md`,ng="00-root.md";s(sw,"pathExists");s(x$,"importLegacyRules");s(P$,"importLegacyWorkflows");s(T$,"importLegacyModes");s(Hm,"importFromKiloCode");});function iw(t,e,r,n){return q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:re}))}var aw=d(()=>{Wt();Cs();s(iw,"lintRules");});function cw(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 lw(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 mw=d(()=>{Tt();s(cw,"lintHooks");s(lw,"lintPermissions");});var D$,N$,F$,pw,zm,sg=d(()=>{nw();Cs();he();og();eg();aw();mw();Nt();D$={name:re,primaryRootInstructionPath:Hr,generateRules:Zk,generateCommands:qk,generateAgents:Qk,generateSkills:rw,generateMcp:tw,generateIgnore:ew,importFrom:Hm},N$={rootInstructionPath:Hr,skillDir:mr,managedOutputs:{dirs:[Tn,Dn,Nn,mr],files:[Hr,ho,Ti]},paths:{rulePath(t,e){return `${Tn}/${t}.md`},commandPath(t,e){return `${Dn}/${t}.md`},agentPath(t,e){return `${Nn}/${t}.md`}}},F$={rootInstructionPath:yo,skillDir:_o,managedOutputs:{dirs:[ys,_s,Is,_o,yS],files:[yo,Fi,Jl]},rewriteGeneratedPath(t){return t===Hr?yo:t},mirrorGlobalPath(t,e){return mt(t,_o,e)},paths:{rulePath(t,e){return `${ys}/${t}.md`},commandPath(t,e){return `${_s}/${t}.md`},agentPath(t,e){return `${Is}/${t}.md`}}},pw={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},zm={id:re,generators:D$,capabilities:pw,emptyImportMessage:"No Kilo Code config found (AGENTS.md, .kilo/rules, .kilo/commands, .kilo/agents, .kilo/skills, .kilo/mcp.json, .kilocodeignore, .kilocode/, or .kilocodemodes).",lintRules:iw,lint:{hooks:cw,permissions:lw},project:N$,globalSupport:{capabilities:pw,detectionPaths:[yo,ys,_s,Is,_o,Fi,Jl],layout:F$},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Hr],global:[yo]},canonicalDir:Io,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[Tn],global:[ys]},canonicalDir:Io,extensions:[".md"],map:Km}],commands:{feature:"commands",mode:"directory",source:{project:[Dn],global:[_s]},canonicalDir:vi,extensions:[".md"],map:Bm},agents:{feature:"agents",mode:"directory",source:{project:[Nn],global:[Is]},canonicalDir:Ss,extensions:[".md"],map:ow},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[ho,pc],global:[Fi]},canonicalDir:".agentsmesh",canonicalFilename:_S},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Ti],global:[Jl]},canonicalDir:".agentsmesh",canonicalFilename:IS}},buildImportPaths:Sd,detectionPaths:[Tn,Dn,Nn,mr,ho,gs,Di,hs,pc,Vl,Ti,"kilo.jsonc","kilo.json"]};});function uw(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/_/g,"-").toLowerCase()}function $$(t){return t.type==="prompt"?t.prompt:t.command}function G$(t,e){let r=dw[t];return t==="PreToolUse"||t==="PostToolUse"?{type:r,tools:[e||"*"]}:{type:r}}function fw(t){let e=[];for(let[r,n]of Object.entries(t)){let o=r;if(!(o in dw)||!Array.isArray(n))continue;let i=1;for(let a of n){let c=$$(a);if(!c)continue;let l={name:`${uw(r)} ${i}`,version:"1",when:G$(o,a.matcher),then:a.type==="prompt"?{type:"askAgent",prompt:c}:{type:"shellCommand",command:c}};e.push({name:`${uw(r)}-${i}.kiro.hook`,content:JSON.stringify(l,null,2)}),i+=1;}}return e}function j$(t){let e=M$.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 gw(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:j$(r)}function hw(t){return stringify(t).trimEnd()}var dw,M$,ig=d(()=>{dw={UserPromptSubmit:"promptSubmit",SubagentStop:"agentStop",PreToolUse:"preToolUse",PostToolUse:"postToolUse"},M$=new Map([["promptSubmit","UserPromptSubmit"],["agentStop","SubagentStop"],["preToolUse","PreToolUse"],["postToolUse","PostToolUse"]]);s(uw,"toKebab");s($$,"hookText");s(G$,"toWhen");s(fw,"generateKiroHooks");s(j$,"toCanonicalEntry");s(gw,"parseKiroHookFile");s(hw,"serializeCanonicalHooks");});function W$(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 yw(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:pr,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(_e))continue;let o=basename(n.source,".md");e.push({path:`${ur}/${o}.md`,content:N(W$(n),n.body.trim()||"")});}return e}function _w(t){return t.commands.map(e=>({path:`${ne}/${at(e.name)}/SKILL.md`,content:xr(e)}))}function Iw(t){return kt(t,ne)}function Sw(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Mi,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function Cw(t){return !t.hooks||Object.keys(t.hooks).length===0?[]:fw(t.hooks).map(e=>({path:`${So}/${e.name}`,content:e.content}))}function Rw(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:`${dr}/${e.name}.md`,content:n}})}function Ow(t){return t.ignore.length===0?[]:[{path:$i,content:t.ignore.join(`
127
- `)}]}var Ew=d(()=>{Rt();ae();v();ig();Gi();s(W$,"steeringFrontmatter");s(yw,"generateRules");s(_w,"generateCommands");s(Iw,"generateSkills");s(Sw,"generateMcp");s(Cw,"generateHooks");s(Rw,"generateAgents");s(Ow,"generateIgnore");});function B$(t){let e=typeof t.inclusion=="string"?t.inclusion:"",r={root:false,description:typeof t.description=="string"?t.description:void 0,globs:Cn(t.fileMatchPattern)};return e==="manual"&&(r.trigger="manual"),e==="auto"&&(r.trigger="model_decision"),e==="fileMatch"&&(r.trigger="glob"),r}async function H$(t,e,r,n){let o=n==="global"?[fr,pr]:[pr,fr];for(let i of o){let a=join(t,i),c=await y(a);if(c===null)continue;let l=join(t,Cd),{frontmatter:m,body:p}=E(r(c,a,l));await C(l,await G(l,{...m,root:true},p)),e.push({fromTool:_e,fromPath:a,toPath:Cd,feature:"rules"});return}}async function z$(t,e,r){let n=join(t,Rd);e.push(...await dt({srcDir:join(t,ur),destDir:n,extensions:[".md"],fromTool:_e,normalize:r,mapEntry:s(async({relativePath:o,normalizeTo:i})=>{if(basename(o)==="AGENTS.md")return null;let a=join(n,o),{frontmatter:c,body:l}=E(i(a));return {destPath:a,toPath:`${Rd}/${o}`,feature:"rules",content:await G(a,B$(c),l)}},"mapEntry")}));}async function V$(t,e){let r={};for(let o of await D(join(t,So))){if(!o.endsWith(".kiro.hook"))continue;let i=gw(await y(o)??"");i&&(r[i.event]??=[],r[i.event].push(i.entry));}if(Object.keys(r).length===0)return;let n=join(t,Od);await O(join(t,".agentsmesh")),await C(n,hw(r)),e.push({fromTool:_e,fromPath:join(t,So),toPath:Od,feature:"hooks"});}async function Vm(t,e={}){let r=e.scope??"project",n=[],o=await H(_e,t,r);return await H$(t,n,o,r),await z$(t,n,o),n.push(...await tt(Jm,t,r,{normalize:o})),await Ct(t,ne,_e,n,o),r==="project"&&await V$(t,n),n}var ag=d(()=>{Ot();Rt();or();Ut();nt();nr();b();v();ig();Gi();cg();s(B$,"canonicalRuleMeta");s(H$,"importRoot");s(z$,"importNonRootRules");s(V$,"importHooks");s(Vm,"importFromKiro");});function kw(t,e,r,n){return q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:_e}))}var ww=d(()=>{Wt();Gi();s(kw,"lintRules");});function Lw(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=>Si(n,"kiro",e,{unsupportedBy:"Kiro hooks"}))}var bw=d(()=>{Tt();s(Lw,"lintHooks");});var J$,Y$,X$,Z$,Jm,cg=d(()=>{ae();Ew();he();ag();ww();bw();Nt();Gi();J$={name:_e,primaryRootInstructionPath:pr,generateRules:yw,generateCommands:_w,generateAgents:Rw,generateSkills:Iw,generateMcp:Sw,generateHooks:Cw,generateIgnore:Ow,importFrom:Vm},Y$={rootInstructionPath:pr,skillDir:ne,managedOutputs:{dirs:[".kiro/hooks",".kiro/skills",".kiro/steering",".kiro/agents"],files:["AGENTS.md",".kiro/settings/mcp.json",".kiroignore"]},paths:{rulePath(t,e){return `${ur}/${t}.md`},commandPath(t){return `${ne}/${at(t)}/SKILL.md`},agentPath(t,e){return `${dr}/${t}.md`}}},X$={rootInstructionPath:fr,skillDir:Co,managedOutputs:{dirs:[Rs,Co,Os,RS],files:[fr,dc,fc]},rewriteGeneratedPath(t){return t===pr?fr:t.startsWith(`${ur}/`)?t.replace(`${ur}/`,`${Rs}/`):t.startsWith(`${ne}/`)?t.replace(`${ne}/`,`${Co}/`):t.startsWith(`${dr}/`)?t.replace(`${dr}/`,`${Os}/`):t===Mi?dc:t===$i?fc:t.startsWith(`${So}/`)?null:t},mirrorGlobalPath(t,e){return mt(t,".kiro/skills",e)},paths:{rulePath(t,e){return `${Rs}/${t}.md`},commandPath(t){return `${ne}/${at(t)}/SKILL.md`},agentPath(t,e){return `${Os}/${t}.md`}}},Z$={rules:"native",additionalRules:"native",commands:"none",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},Jm={id:_e,generators:J$,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).",supportsConversion:{commands:true},lintRules:kw,lint:{hooks:Lw},project:Y$,globalSupport:{capabilities:Z$,detectionPaths:[Rs,fr,Co,Os,dc,fc],layout:X$},importer:{agents:{feature:"agents",mode:"directory",source:{project:[dr],global:[dr]},canonicalDir:OS,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Mi],global:[dc]},canonicalDir:".agentsmesh",canonicalFilename:ES},ignore:{feature:"ignore",mode:"flatFile",source:{project:[$i],global:[fc]},canonicalDir:".agentsmesh",canonicalFilename:kS}},buildImportPaths:Ed,detectionPaths:[ur,ne,dr,So,Mi,$i]};});function xw(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:zr,content:r.body.trim()?r.body:""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(gr))continue;let o=basename(n.source,".md"),i={};n.description&&(i.description=n.description),n.globs.length>0&&(i.globs=n.globs);let a=Object.keys(i).length>0?N(i,n.body.trim()||""):n.body.trim()||"";e.push({path:`${Fn}/${o}.md`,content:a});}return e}function Pw(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${vn}/${e.name}.md`,content:N(r,e.body.trim()||"")}})}function Tw(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:`${Mn}/${r}.md`,content:N(n,e.body.trim()||"")}})}function q$(t){if("url"in t){let r={type:"remote",url:t.url};return Object.keys(t.headers).length>0&&(r.headers=t.headers),t.description&&(r.description=t.description),r}let e={type:"local",command:[t.command,...t.args]};return Object.keys(t.env).length>0&&(e.environment=t.env),t.description&&(e.description=t.description),e}function Dw(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e={};for(let[r,n]of Object.entries(t.mcp.mcpServers))e[r]=q$(n);return [{path:Vr,content:JSON.stringify({mcp:e},null,2)}]}function Nw(t){return kt(t,hr)}var Fw=d(()=>{Rt();v();Ls();s(xw,"generateRules");s(Pw,"generateCommands");s(Tw,"generateAgents");s(q$,"toOpenCodeMcpServer");s(Dw,"generateMcp");s(Nw,"generateSkills");});function lg(t){if(!t||typeof t!="object"||Array.isArray(t))return {};let e={};for(let[r,n]of Object.entries(t))typeof n=="string"&&(e[r]=n);return e}function tG(t){let e;try{e=JSON.parse(t);}catch{return {}}if(!e||typeof e!="object"||Array.isArray(e))return {};let r=e.mcp;if(!r||typeof r!="object"||Array.isArray(r))return {};let n={};for(let[o,i]of Object.entries(r)){if(!i||typeof i!="object"||Array.isArray(i))continue;let a=i;if(typeof a.url=="string"){n[o]={type:"url",url:a.url,headers:lg(a.headers),env:lg(a.environment),...typeof a.description=="string"?{description:a.description}:{}};continue}if(Array.isArray(a.command)&&a.command.length>0){let c=a.command,l=c[0];if(l===void 0)continue;let m=c.slice(1);n[o]={type:"stdio",command:l,args:m,env:lg(a.environment),...typeof a.description=="string"?{description:a.description}:{}};}}return n}async function eG(t,e,r){let o=join(t,e==="global"?Eo:Vr),i=await y(o);if(i===null)return;let a=tG(i);Object.keys(a).length!==0&&(await Yt(t,kd,a),r.push({feature:"mcp",fromTool:gr,fromPath:o,toPath:kd}));}async function vw(t,e={}){let r=e.scope??"project",n=[],o=await H(gr,t,r);return n.push(...await tt(Ym,t,r,{normalize:o})),await Ct(t,hr,gr,n,o),await eG(t,r,n),n}var Mw=d(()=>{Ot();Rt();Ut();Sn();b();Ls();mg();s(lg,"toStringRecord");s(tG,"parseOpenCodeMcp");s(eG,"importMcp");s(vw,"importFromOpenCode");});var $w,Gw,jw,Uw=d(()=>{v();nt();Ls();$w=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=E(e(n));return {destPath:n,toPath:`${gc}/${t}`,content:await G(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},i)}},"opencodeNonRootRuleMapper"),Gw=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=E(e(n));return {destPath:n,toPath:`${Xl}/${t}`,content:await it(n,{hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},i)}},"opencodeCommandMapper"),jw=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=E(e(n));return {destPath:n,toPath:`${Zl}/${t}`,content:await Pt(n,o,i)}},"opencodeAgentMapper");});function Ww(t,e,r,n){return q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:gr}))}var Kw=d(()=>{Wt();Ls();s(Ww,"lintRules");});function Bw(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[j(".agentsmesh/hooks.yaml","opencode","opencode hooks are plugin-based (TypeScript/JavaScript); canonical config hooks are not projected.")]:[]:[]}function Hw(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","opencode","opencode permissions live in opencode.json, which agentsmesh does not generate in v1; canonical permissions are not projected.")]}function zw(t){return t.ignore.length===0?[]:[j(".agentsmesh/ignore","opencode","opencode has no dedicated ignore file; canonical ignore patterns are not projected. Configure watcher.ignore in opencode.json manually.")]}var Vw=d(()=>{Tt();s(Bw,"lintHooks");s(Hw,"lintPermissions");s(zw,"lintIgnore");});var rG,nG,oG,Jw,Ym,mg=d(()=>{Fw();Ls();he();Mw();Uw();Kw();Vw();Nt();rG={name:gr,primaryRootInstructionPath:zr,generateRules:xw,generateCommands:Pw,generateAgents:Tw,generateSkills:Nw,generateMcp:Dw,importFrom:vw},nG={rootInstructionPath:zr,skillDir:hr,managedOutputs:{dirs:[Fn,vn,Mn,hr],files:[zr,Vr]},paths:{rulePath(t){return `${Fn}/${t}.md`},commandPath(t){return `${vn}/${t}.md`},agentPath(t){return `${Mn}/${t}.md`}}},oG={rootInstructionPath:Ro,skillDir:Oo,managedOutputs:{dirs:[Es,ks,ws,Oo,LS],files:[Ro,Eo]},rewriteGeneratedPath(t){return t===zr?Ro:t===Vr?Eo:t},mirrorGlobalPath(t,e){return mt(t,Oo,e)},paths:{rulePath(t){return `${Es}/${t}.md`},commandPath(t){return `${ks}/${t}.md`},agentPath(t){return `${ws}/${t}.md`}}},Jw={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Ym={id:gr,generators:rG,capabilities:Jw,emptyImportMessage:"No OpenCode config found (AGENTS.md, .opencode/rules, .opencode/commands, .opencode/agents, .opencode/skills, or opencode.json).",lintRules:Ww,lint:{hooks:Bw,permissions:Hw,ignore:zw},project:nG,globalSupport:{capabilities:Jw,detectionPaths:[Ro,Es,ks,ws,Oo,Eo],layout:oG},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[zr],global:[Ro]},canonicalDir:gc,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[Fn],global:[Es]},canonicalDir:gc,extensions:[".md"],map:$w}],commands:{feature:"commands",mode:"directory",source:{project:[vn],global:[ks]},canonicalDir:Xl,extensions:[".md"],map:Gw},agents:{feature:"agents",mode:"directory",source:{project:[Mn],global:[ws]},canonicalDir:Zl,extensions:[".md"],map:jw}},buildImportPaths:wd,detectionPaths:[Fn,vn,Mn,hr,Vr,"opencode.jsonc"]};});function Xw(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:yr,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(ko))continue;let o=basename(n.source,".md");e.push({path:`${$n}/${o}.md`,content:n.body.trim()||""});}return e}function Zw(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${Gn}/${e.name}.md`,content:N(r,e.body.trim()||"")}})}function qw(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:yc,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function Qw(t){return t.ignore.length===0?[]:[{path:_c,content:t.ignore.join(`
128
- `)}]}function tL(t){return kt(t,Jr)}function eL(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:Ui,content:stringify({customModes:e})}]}var rL=d(()=>{Rt();v();Ps();s(Xw,"generateRules");s(Zw,"generateCommands");s(qw,"generateMcp");s(Qw,"generateIgnore");s(tL,"generateSkills");s(eL,"generateAgents");});var Xm,oL,ug=d(()=>{v();nt();Ps();Xm=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{if(t==="00-root.md")return null;let n=join(r,t),{frontmatter:o,body:i}=E(e(n));return {destPath:n,toPath:`${xs}/${t}`,content:await G(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},i)}},"rooNonRootRuleMapper"),oL=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=E(e(n));return {destPath:n,toPath:`${Ql}/${t}`,content:await it(n,{hasDescription:true,description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},i)}},"rooCommandMapper");});async function aG(t,e,r){let n=join(t,bs),o;try{o=await readdir(n,{withFileTypes:!0});}catch{return}let i=o.filter(c=>c.isDirectory()&&c.name.startsWith("rules-")).map(c=>c.name),a=join(t,xs);for(let c of i)e.push(...await dt({srcDir:join(n,c),destDir:a,extensions:[".md"],fromTool:ko,normalize:r,mapEntry:s(async({srcPath:l,relativePath:m,content:p,normalizeTo:u})=>{let f=await Xm({absolutePath:l,relativePath:m,content:p,destDir:a,normalizeTo:u});return f?{...f,feature:"rules"}:null},"mapEntry")}));}async function sL(t,e={}){let r=e.scope??"project",n=[],o=await H(ko,t,r);return n.push(...await tt(Zm,t,r,{normalize:o})),await aG(t,n,o),await Ct(t,Jr,ko,n,o),n}var iL=d(()=>{Ot();Rt();or();Ut();ug();Ps();fg();s(aG,"importPerModeRules");s(sL,"importFromRooCode");});function aL(t,e,r,n){return q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:ko}))}var cL=d(()=>{Wt();Ps();s(aL,"lintRules");});function dG(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var pG,uG,fG,gG,hG,Zm,fg=d(()=>{b();rL();Ps();he();iL();ug();cL();Nt();pG={name:"roo-code",primaryRootInstructionPath:yr,generateRules:Xw,generateCommands:Zw,generateSkills:tL,generateMcp:qw,generateIgnore:Qw,generateAgents:eL,importFrom:sL},uG={rootInstructionPath:yr,skillDir:".roo/skills",managedOutputs:{dirs:[".roo/rules",".roo/commands",".roo/skills"],files:[".roo/mcp.json",".rooignore",".roorules",Ui]},paths:{rulePath(t,e){return `${$n}/${t}.md`},commandPath(t,e){return `${Gn}/${t}.md`},agentPath(t,e){return null}}};s(dG,"computeStatus");fG=s(async(t,e,r,n)=>{if(r!=="global")return [];if(!n.has("agents")||t.agents.length===0)return [];let o=t.agents.map(c=>{let m={slug:basename(c.source,".md"),name:c.name};return c.description&&(m.description=c.description),c.body.trim()&&(m.roleDefinition=c.body.trim()),m}),i=stringify({customModes:o}),a=await y(join(e,Ic));return [{target:"roo-code",path:Ic,content:i,currentContent:a??void 0,status:dG(a,i)}]},"generateRooGlobalExtras"),gG={rootInstructionPath:bo,skillDir:jn,managedOutputs:{dirs:[wo,Lo,jn,AS],files:[bo,As,Sc,Ic]},rewriteGeneratedPath(t){return t===yr?bo:t===Ui?null:t.startsWith(`${$n}/`)?t.replace(`${$n}/`,`${wo}/`):t.startsWith(`${Gn}/`)?t.replace(`${Gn}/`,`${Lo}/`):t.startsWith(`${Jr}/`)?t.replace(`${Jr}/`,`${jn}/`):t===yc?As:t===_c?Sc:t},mirrorGlobalPath(t,e){return mt(t,jn,e)},paths:{rulePath(t,e){return `${wo}/${t}.md`},commandPath(t,e){return `${Lo}/${t}.md`},agentPath(t,e){return null}}},hG={rules:"native",additionalRules:"native",commands:"native",agents:"partial",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},Zm={id:"roo-code",generators:pG,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:aL,project:uG,globalSupport:{capabilities:hG,detectionPaths:[wo,Lo,jn,As,Sc,bo,Ic],layout:gG,scopeExtras:fG},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[yr,hc],global:[bo,yr,hc]},canonicalDir:xs,canonicalRootFilename:"_root.md",markAsRoot:true,frontmatterRemap:s(({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:[$n],global:[wo]},canonicalDir:xs,extensions:[".md"],map:Xm}],commands:{feature:"commands",mode:"directory",source:{project:[Gn],global:[Lo]},canonicalDir:Ql,extensions:[".md"],map:oL},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[yc],global:[As]},canonicalDir:".agentsmesh",canonicalFilename:xS},ignore:{feature:"ignore",mode:"flatFile",source:{project:[_c],global:[Sc]},canonicalDir:".agentsmesh",canonicalFilename:PS}},buildImportPaths:Ld,detectionPaths:[".roo/rules",".roo/commands",".roo/skills",".roo/mcp.json",".rooignore",".roorules",Ui]};});function lL(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(Yr)),n=e?.body.trim()??"",o=xt(n,r);return o?[{path:_r,content:o}]:[]}function mL(t){return kt(t,Xt)}function pL(t){return t.commands.map(e=>({path:`${Xt}/${at(e.name)}/SKILL.md`,content:xr(e)}))}function uL(t){return t.agents.map(e=>({path:`${Xt}/${z(e.name)}/SKILL.md`,content:ce(e)}))}function dL(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Ao,content:e}]}var fL=d(()=>{Rt();xe();ht();ae();Wi();s(lL,"generateRules");s(mL,"generateSkills");s(pL,"generateCommands");s(uL,"generateAgents");s(dL,"generateMcp");});async function gL(t,e={}){let r=e.scope??"project",n=[],o=await H(Yr,t,r);return n.push(...await tt(qm,t,r,{normalize:o})),await Ct(t,r==="global"?le:Xt,Yr,n,o),n}var hL=d(()=>{Ot();Rt();Ut();Wi();gg();s(gL,"importFromWarp");});function yL(t,e,r,n){return q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Yr}))}var _L=d(()=>{Wt();Wi();s(yL,"lintRules");});function IL(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[j(".agentsmesh/hooks.yaml","warp","Warp has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function SL(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","warp","Warp permissions are UI-managed; canonical permissions are not projected.")]}function CL(t){return t.ignore.length===0?[]:[j(".agentsmesh/ignore","warp","Warp has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}var RL=d(()=>{Tt();s(IL,"lintHooks");s(SL,"lintPermissions");s(CL,"lintIgnore");});var yG,_G,IG,SG,CG,qm,gg=d(()=>{ae();ht();fL();he();hL();_L();RL();Nt();Wi();yG={name:Yr,primaryRootInstructionPath:_r,generateRules:lL,generateCommands:pL,generateAgents:uL,generateSkills:mL,generateMcp:dL,importFrom:gL},_G={rootInstructionPath:_r,skillDir:Xt,managedOutputs:{dirs:[Xt],files:[_r,Ao]},paths:{rulePath(t){return _r},commandPath(t){return `${Xt}/${at(t)}/SKILL.md`},agentPath(t){return `${Xt}/${z(t)}/SKILL.md`}}},IG={rootInstructionPath:void 0,skillDir:le,managedOutputs:{dirs:[le],files:[]},rewriteGeneratedPath(t){return t.startsWith(`${Xt}/`)?t.replace(`${Xt}/`,`${le}/`):t},mirrorGlobalPath(t,e){return mt(t,le,e)},paths:{rulePath(){return le},commandPath(t){return `${le}/${at(t)}/SKILL.md`},agentPath(t){return `${le}/${z(t)}/SKILL.md`}}},SG={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},CG={rules:"none",additionalRules:"none",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},qm={id:Yr,generators:yG,capabilities:SG,emptyImportMessage:"No Warp config found (WARP.md, AGENTS.md, .warp/skills, or .mcp.json).",lintRules:yL,lint:{hooks:IL,permissions:SL,ignore:CL},supportsConversion:{commands:true,agents:true},project:_G,globalSupport:{capabilities:CG,detectionPaths:[le],layout:IG},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[bd,_r]},canonicalDir:DS,canonicalRootFilename:"_root.md",markAsRoot:true},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Ao]},canonicalDir:".agentsmesh",canonicalFilename:"mcp.json"}},buildImportPaths:Ad,detectionPaths:[_r,bd,Ao]};});var sn,hg,$o,OL,ea,an,ra,na,EL,Go,Rr,oa,yg,_g,Ig,Sg,Cg,Rg,sa,ia,xc,Qm,tp,ep,kL,oe=d(()=>{sn="windsurf",hg=".windsurfrules",$o=".windsurf/rules",OL=".windsurfignore",ea=".codeiumignore",an="AGENTS.md",ra=".windsurf/hooks.json",na=".windsurf/mcp_config.example.json",EL=".windsurf/mcp_config.json",Go=".windsurf/workflows",Rr=".windsurf/skills",oa=".agentsmesh/rules",yg=".agentsmesh/commands",_g=".agentsmesh/agents",Ig=".agentsmesh/skills",Sg=".agentsmesh/ignore",Cg=".agentsmesh/hooks.yaml",Rg=".agentsmesh/mcp.json",sa=".codeium/windsurf/memories/global_rules.md",ia=".codeium/windsurf/skills",xc=".codeium/windsurf/global_workflows",Qm=".codeium/windsurf/hooks.json",tp=".codeium/windsurf/mcp_config.json",ep=".codeium/.codeiumignore",kL=".agents/skills";});function OG(t){let e=basename(t,".md");return e==="_root"?"root":e}function EG(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 Og(t){let e=[],r=t.rules.find(n=>n.root);if(!r)return [];e.push({path:an,content:r.body.trim()});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("windsurf"))continue;let o=OG(n.source),i=n.trigger||(n.globs.length>0?"glob":void 0),a={description:n.description||void 0,trigger:i,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 c=Object.keys(a).length>0?N(a,n.body.trim()||""):n.body.trim()||"";e.push({path:`${$o}/${o}.md`,content:c});let l=EG(n.globs);l&&(l!==o&&e.push({path:`${$o}/${l}.md`,content:c}),e.push({path:`${l}/AGENTS.md`,content:n.body.trim()||""}));}return e}var wL=d(()=>{v();oe();s(OG,"ruleSlug");s(EG,"directoryScopedRuleDir");s(Og,"generateRules");});function Eg(t){return !t.ignore||t.ignore.length===0?[]:[{path:ea,content:t.ignore.join(`
129
- `)}]}var LL=d(()=>{oe();s(Eg,"generateIgnore");});function kg(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:`${Go}/${e.name}.md`,content:n}})}var bL=d(()=>{v();oe();s(kg,"generateCommands");});function wg(t){return t.agents.map(e=>({path:`${Rr}/${z(e.name)}/SKILL.md`,content:ce(e)}))}var AL=d(()=>{ht();oe();s(wg,"generateAgents");});function Lg(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:na,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}var xL=d(()=>{oe();s(Lg,"generateMcp");});function kG(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 wG(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let i of n){if(!Ar(i))continue;let a=At(i),c=Qt(i),l=i.type==="prompt"?c||a:a||c;l&&o.push({command:l,show_output:true});}o.length>0&&(e[kG(r)]=o);}return e}function bg(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=wG(t.hooks);return Object.keys(e).length===0?[]:[{path:ra,content:JSON.stringify({hooks:e},null,2)}]}var PL=d(()=>{qe();oe();s(kG,"windsurfEventName");s(wG,"toWindsurfHooks");s(bg,"generateHooks");});function Ag(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:`${Rr}/${r.name}/SKILL.md`,content:o});for(let i of r.supportingFiles)e.push({path:`${Rr}/${r.name}/${i.relativePath}`,content:i.content});}return e}var TL=d(()=>{v();oe();s(Ag,"generateSkills");});var DL=d(()=>{wL();LL();bL();AL();xL();PL();TL();});var NL=d(()=>{DL();});function FL(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 vL(t,e,r){let n=join(t,Go),i=(await D(n)).filter(c=>c.endsWith(".md")),a=join(t,yg);for(let c of i){let l=await y(c);if(!l)continue;let m=relative(n,c).replace(/\\/g,"/");await O(a);let p=join(a,m),u=r(l,c,p),{frontmatter:f,body:g}=E(u),h=await it(p,{description:typeof f.description=="string"?f.description:"",hasDescription:Object.prototype.hasOwnProperty.call(f,"description"),allowedTools:(()=>{let R=FL(f.allowedTools);return R.length>0?R:FL(f["allowed-tools"])})(),hasAllowedTools:Object.prototype.hasOwnProperty.call(f,"allowedTools")||Object.prototype.hasOwnProperty.call(f,"allowed-tools")},g);await C(p,h),e.push({fromTool:sn,fromPath:c,toPath:`${yg}/${m}`,feature:"commands"});}}var ML=d(()=>{b();v();nt();oe();s(FL,"toStringArray");s(vL,"importWorkflows");});async function $L(t,e,r,n=Rr){let o=join(t,n),i=await xo(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:Ig,targetName:"windsurf",normalize:r,results:e};for(let[c,l]of i){let m=join(l,"SKILL.md"),p=await y(m);if(!p)continue;let u=E(p),f=Pr(u.frontmatter,c);if(f){await Pe(join(t,Ig,c));let g=join(t,_g);await O(g);let h=join(g,`${f.name}.md`);await C(h,Ae(f,r(u.body,m,h))),e.push({fromTool:"windsurf",fromPath:m,toPath:`${_g}/${f.name}.md`,feature:"agents"});continue}await Qr(c,l,a);}}var GL=d(()=>{b();v();ht();yi();Bi();oe();s($L,"importSkills");});async function UL(t,e){let r=join(t,ra),n=await y(r);if(n)try{let o=JSON.parse(n);if(!o.hooks||typeof o.hooks!="object"||Array.isArray(o.hooks))return;let i=xG(o.hooks);if(Object.keys(i).length===0)return;let a=join(t,Cg);await O(dirname(a)),await C(a,stringify(i)),e.push({fromTool:sn,fromPath:r,toPath:Cg,feature:"hooks"});}catch{}}function AG(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 xG(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=AG(r),i=[];for(let a of n){if(!a||typeof a!="object")continue;let c=a;if(typeof c.command=="string"&&c.command.trim()){i.push({matcher:".*",type:"command",command:c.command});continue}let l=typeof c.matcher=="string"&&c.matcher.trim()?c.matcher:".*",m=Array.isArray(c.hooks)?c.hooks:[];for(let p of m){if(!p||typeof p!="object")continue;let u=p,f=typeof u.command=="string"?u.command:typeof u.prompt=="string"?u.prompt:"";if(!f.trim())continue;let g={matcher:l,type:u.type==="prompt"?"prompt":"command",command:f};typeof u.timeout=="number"&&(g.timeout=u.timeout),i.push(g);}}i.length>0&&(e[o]=i);}return e}async function WL(t,e){let r=[na,EL];for(let n of r){let o=join(t,n),i=await y(o);if(i)try{let a=JSON.parse(i);if(!a.mcpServers||typeof a.mcpServers!="object")continue;let c=join(t,Rg);await O(dirname(c)),await C(c,JSON.stringify({mcpServers:a.mcpServers},null,2)),e.push({fromTool:sn,fromPath:o,toPath:Rg,feature:"mcp"});return}catch{}}}var KL=d(()=>{b();oe();s(UL,"importWindsurfHooks");s(AG,"canonicalHookEventName");s(xG,"windsurfHooksToCanonical");s(WL,"importWindsurfMcp");});async function np(t,e){let r=e?.scope??"project",n=[],o=await H(sn,t),i=await H("codex-cli",t),a=join(t,oa),c=join(t,hg),l=await y(c);if(l!==null){await O(a);let f=join(a,"_root.md"),g=o(l,c,f).trim(),h=await G(f,{root:true},g);await C(f,h),n.push({fromTool:"windsurf",fromPath:c,toPath:`${oa}/_root.md`,feature:"rules"});}if(l===null){let f=join(t,an),g=await y(f);if(g!==null){await O(a);let h=join(a,"_root.md"),R=o(i(g,f,h),f,h).trim(),S=await G(h,{root:true},R);await C(h,S),n.push({fromTool:"windsurf",fromPath:f,toPath:`${oa}/_root.md`,feature:"rules"});}}r!=="global"&&n.push(...await dt({srcDir:t,destDir:a,extensions:["AGENTS.md"],fromTool:"windsurf",normalize:o,mapEntry:s(async({srcPath:f,normalizeTo:g})=>{let h=relative(t,dirname(f)).replace(/\\/g,"/");if(!h||h==="."||basename(f)!=="AGENTS.md")return null;let R=h.replace(/\//g,"-");if(!xl(h))return await Pe(join(a,`${R}.md`)),null;let S=join(a,`${R}.md`);return {destPath:S,toPath:`${oa}/${R}.md`,feature:"rules",content:await G(S,{root:false,globs:[`${h}/**`]},g(S))}},"mapEntry")}));let m=join(t,$o);n.push(...await dt({srcDir:m,destDir:a,extensions:[".md"],fromTool:"windsurf",normalize:o,mapEntry:s(async({relativePath:f,normalizeTo:g})=>{if(f==="_root.md"&&l!==null)return null;let h=join(a,f),{frontmatter:R,body:S}=E(g(h)),_={...R};return typeof _.glob=="string"&&_.glob.trim()&&(_.globs=[_.glob],delete _.glob),{destPath:h,toPath:`${oa}/${f}`,feature:"rules",content:await G(h,{..._,root:false},S)}},"mapEntry")}));let p=join(t,OL),u=await y(p);if((u===null||!u.trim())&&(p=join(t,ea),u=await y(p)),u!==null&&u.trim()){let f=u.split(/\r?\n/),g=[];for(let h of f){let R=h.trim();R&&!R.startsWith("#")&&g.push(R);}if(g.length>0){await O(join(t,".agentsmesh"));let h=join(t,Sg);await C(h,g.join(`
130
- `)),n.push({fromTool:"windsurf",fromPath:p,toPath:Sg,feature:"ignore"});}}return await vL(t,n,o),await $L(t,n,o),await UL(t,n),await WL(t,n),n}var Pg=d(()=>{Ot();b();v();nt();or();yi();oe();ML();GL();KL();s(np,"importFromWindsurf");});function BL(t,e,r){let n=[],{rules:o}=t;o.length>0&&(o.some(c=>c.root)||n.push({level:"warning",file:relative(e,o[0].source),target:sn,message:"Windsurf needs a root rule to generate AGENTS.md. Add root: true to a rule."}));let i=[];return t.permissions&&(t.permissions.allow.length>0||t.permissions.deny.length>0)&&i.push("permissions"),i.length>0&&n.push({level:"warning",file:".agentsmesh",target:sn,message:`Windsurf cannot project these features yet: ${i.join(", ")}.`}),n}var HL=d(()=>{oe();s(BL,"lintRules");});function zL(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 VL(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 JL=d(()=>{Tt();s(zL,"lintCommands");s(VL,"lintMcp");});function FG(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 vG,MG,$G,GG,YL,XL=d(()=>{NL();ts();oe();he();Pg();HL();JL();Nt();ui();ht();s(FG,"directoryScopedRuleDir");vG={name:"windsurf",primaryRootInstructionPath:an,generateRules:Og,generateCommands:kg,generateAgents:wg,generateSkills:Ag,generateMcp:Lg,generateHooks:bg,generateIgnore:Eg,importFrom:np},MG={rootInstructionPath:an,extraRuleOutputPaths(t){if(t.root)return [an];let e=FG(t.globs);return e!==null?[`${e}/AGENTS.md`]:[]},skillDir:Rr,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 `${$o}/${t}.md`},commandPath(t,e){return `${Go}/${t}.md`},agentPath(t,e){return be(e,"windsurf")?`.windsurf/skills/${z(t)}/SKILL.md`:null}}},$G={rootInstructionPath:sa,skillDir:ia,managedOutputs:{dirs:[ia,xc,kL],files:[sa,Qm,tp,ep]},rewriteGeneratedPath(t){return t===an?sa:t.startsWith(`${$o}/`)||/\/AGENTS\.md$/.test(t)?null:t.startsWith(`${Rr}/`)?t.replace(`${Rr}/`,`${ia}/`):t.startsWith(`${Go}/`)?t.replace(`${Go}/`,`${xc}/`):t===ra?Qm:t===na?tp:t===ea?ep:t},mirrorGlobalPath(t,e){return mt(t,".codeium/windsurf/skills",e)},paths:{rulePath(t,e){return sa},commandPath(t,e){return `${xc}/${t}.md`},agentPath(t,e){return be(e,"windsurf")?`${ia}/${z(t)}/SKILL.md`:null}}},GG={rules:"native",additionalRules:"partial",commands:er("native","workflows"),agents:"embedded",skills:"native",mcp:"partial",hooks:"native",ignore:"native",permissions:"none"},YL={id:"windsurf",generators:vG,capabilities:{rules:"native",additionalRules:"native",commands:er("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:BL,lint:{commands:zL,mcp:VL},project:MG,globalSupport:{capabilities:GG,detectionPaths:[sa,ia,xc,Qm,tp,ep],layout:$G},buildImportPaths:xd,detectionPaths:[".windsurfrules",".windsurf"]};});function ZL(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes("zed")),n=e?.body.trim()??"",o=xt(n,r);return o?[{path:Ir,content:o}]:[]}var qL=d(()=>{xe();Ts();s(ZL,"generateRules");});async function tb(t,e,r){let n=await y(join(t,e));if(n===null)return;let o;try{o=JSON.parse(n);}catch{return}if(o===null||typeof o!="object"||Array.isArray(o))return;let a=o.context_servers;if(a==null||typeof a!="object"||Array.isArray(a)||Object.keys(a).length===0)return;let c={};for(let[l,m]of Object.entries(a)){if(!m||typeof m!="object"||Array.isArray(m))continue;let p={...m};delete p.source,c[l]=p;}Object.keys(c).length!==0&&(await Yt(t,QL,c),r.push({fromTool:"zed",fromPath:e,toPath:QL,feature:"mcp"}));}var QL,eb=d(()=>{b();Sn();Ts();QL=".agentsmesh/mcp.json";s(tb,"importZedMcp");});async function rb(t,e={}){let r=e.scope??"project",n=[],o=await H("zed",t,r);return n.push(...await tt(op,t,r,{normalize:o})),await tb(t,r==="global"?Zr:Xr,n),n}var nb=d(()=>{Ot();Ut();eb();Ts();Tg();s(rb,"importFromZed");});function ob(t,e,r,n){return q(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:"zed"}))}var sb=d(()=>{Wt();Ts();s(ob,"lintRules");});function ib(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[j(".agentsmesh/hooks.yaml","zed","Zed has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function ab(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","zed","Zed permissions are managed via agent.tool_permissions in settings.json; canonical permissions are not projected.")]}function cb(t){return t.ignore.length===0?[]:[j(".agentsmesh/ignore","zed","Zed has no dedicated ignore file and relies on file_scan_exclusions in settings.json; canonical ignore patterns are not projected.")]}var lb=d(()=>{Tt();s(ib,"lintHooks");s(ab,"lintPermissions");s(cb,"lintIgnore");});function zG(t,e){if(t===null)return e;let r;try{let i=JSON.parse(t);r=i!==null&&typeof i=="object"&&!Array.isArray(i)?i:{};}catch{r={};}let n=JSON.parse(e);if(n===null||typeof n!="object"||Array.isArray(n))return t;let o=n;return o.context_servers!==void 0&&(r.context_servers=o.context_servers),JSON.stringify(r,null,2)}var UG,WG,KG,BG,HG,op,Tg=d(()=>{qL();nb();sb();lb();Nt();Ts();UG={name:"zed",primaryRootInstructionPath:Ir,generateRules:ZL,importFrom:rb},WG={rootInstructionPath:Ir,managedOutputs:{dirs:[],files:[Ir,Xr]},paths:{rulePath(t){return Ir},commandPath(){return null},agentPath(){return null}}},KG={rootInstructionPath:void 0,managedOutputs:{dirs:[],files:[Zr]},rewriteGeneratedPath(t){return t===Xr?Zr:t},paths:{rulePath(){return Zr},commandPath(){return null},agentPath(){return null}}},BG={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"none",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},HG={rules:"none",additionalRules:"none",commands:"none",agents:"none",skills:"none",mcp:"native",hooks:"none",ignore:"none",permissions:"none"};s(zG,"mergeZedSettings");op={id:"zed",generators:UG,capabilities:BG,emptyImportMessage:"No Zed config found (.rules or .zed/settings.json).",lintRules:ob,lint:{hooks:ib,permissions:ab,ignore:cb},project:WG,globalSupport:{capabilities:HG,detectionPaths:[Zr],layout:KG},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[Ir],global:[]},canonicalDir:vS,canonicalRootFilename:"_root.md",markAsRoot:true}},emitScopedSettings(t,e){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let r={};for(let[n,o]of Object.entries(t.mcp.mcpServers))r[n]=o;return [{path:Xr,content:JSON.stringify({context_servers:r},null,2)}]},mergeGeneratedOutputContent(t,e,r,n){return n===Xr||n===Zr?zG(t,r):null},buildImportPaths:Pd,detectionPaths:[Ir,Xr]};});var jI={};iu(jI,{BUILTIN_TARGETS:()=>Gt,TARGET_IDS:()=>lt,getBuiltinTargetDefinition:()=>Ke,getEffectiveTargetSupportLevel:()=>sp,getTargetCapabilities:()=>vo,getTargetDetectionPaths:()=>Ng,getTargetLayout:()=>vt,getTargetManagedOutputs:()=>Fg,getTargetPrimaryRootInstructionPath:()=>JG,getTargetSkillDir:()=>Tc,isBuiltinTargetId:()=>Ye,resolveTargetFeatureGenerator:()=>aa,rewriteGeneratedOutputPath:()=>vg});function VG(){return Dg||(Y_(Gt),Dg=new Map(Gt.map(t=>[t.id,t]))),Dg}function Ke(t){return VG().get(t)}function vo(t,e="project"){let r=Ke(t)??et(t);if(!r)return;let n=e==="global"?r.globalSupport?.capabilities??r.capabilities:r.capabilities;return V_(n)}function Ng(t,e="project"){let r=Ke(t)??et(t);return r?e==="global"?r.globalSupport?.detectionPaths??[]:r.detectionPaths:[]}function vt(t,e="project"){let r=Ke(t)??et(t);if(r)return e==="global"?r.globalSupport?.layout:r.project}function JG(t,e="project"){return vt(t,e)?.rootInstructionPath}function Tc(t,e="project"){return vt(t,e)?.skillDir}function Fg(t,e="project"){return vt(t,e)?.managedOutputs}function vg(t,e,r="project"){let n=vt(t,r);return n?n.rewriteGeneratedPath?n.rewriteGeneratedPath(e):e:null}function mb(t,e,r,n){return !t||!r?false:e==="commands"&&t.supportsConversion?.commands?!pi(r,t.id,true,n):e==="agents"&&t.supportsConversion?.agents?!be(r,t.id,true,n):false}function YG(t,e,r,n){return !t||!r?false:e==="commands"&&t.supportsConversion?.commands?pi(r,t.id,true,n):e==="agents"&&t.supportsConversion?.agents?be(r,t.id,true,n):false}function sp(t,e,r,n="project"){let o=vo(t,n)?.[e]?.level??"none",i=Ke(t)??et(t);return o==="none"&&YG(i,e,r,n)?"embedded":o!=="embedded"?o:mb(i,e,r,n)?"none":o}function aa(t,e,r,n="project"){let o=Ke(t)??et(t);if(!o?.generators||mb(o,e,r,n))return;let i=XG[e];return i===null?void 0:i(o.generators)}var Gt,Dg,XG,gt=d(()=>{ui();ts();Ce();Tu();Xe();Bu();Dd();Fd();oR();BR();af();ff();Af();Yf();Zf();Qf();sg();cg();mg();fg();gg();XL();Tg();Gt=[Pl,tm,em,nR,KR,fm,Cm,xm,Gm,jm,Wm,zm,Jm,Ym,Zm,qm,YL,op];s(VG,"builtinTargetsMap");s(Ke,"getBuiltinTargetDefinition");s(vo,"getTargetCapabilities");s(Ng,"getTargetDetectionPaths");s(vt,"getTargetLayout");s(JG,"getTargetPrimaryRootInstructionPath");s(Tc,"getTargetSkillDir");s(Fg,"getTargetManagedOutputs");s(vg,"rewriteGeneratedOutputPath");s(mb,"isFeatureSuppressedByConversion");s(YG,"isConversionUpgrading");s(sp,"getEffectiveTargetSupportLevel");XG={rules:s(t=>t.generateRules,"rules"),additionalRules:null,commands:s(t=>t.generateCommands,"commands"),agents:s(t=>t.generateAgents,"agents"),skills:s(t=>t.generateSkills,"skills"),mcp:s(t=>t.generateMcp,"mcp"),permissions:s(t=>t.generatePermissions,"permissions"),hooks:s(t=>t.generateHooks,"hooks"),ignore:s(t=>t.generateIgnore,"ignore")};s(aa,"resolveTargetFeatureGenerator");});function nj(t){return typeof t=="string"?t:t.level}function pb(t){return rj.includes(t)}function ub(t,e,r,n){for(let o of ej){let i=nj(e[o.feature]);if(i==="none")continue;let a=typeof t.generators[o.generator]=="function",c=pb(o.feature)&&typeof t.emitScopedSettings=="function";a||c||r.addIssue({code:"custom",path:[...n,o.feature],message:`Capability "${o.feature}" is "${i}" but generators.${o.generator}`+(pb(o.feature)?" or emitScopedSettings":"")+" is missing."});}}function ip(t){return sj.parse(t)}var Yn,db,ZG,qG,fb,QG,tj,ej,rj,oj,sj,Mg=d(()=>{Yn=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()})]),db=z$1.object({rules:Yn,additionalRules:Yn,commands:Yn,agents:Yn,skills:Yn,mcp:Yn,hooks:Yn,ignore:Yn,permissions:Yn}),ZG=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(),qG=z$1.object({rulePath:z$1.function(),commandPath:z$1.function(),agentPath:z$1.function()}),fb=z$1.object({paths:qG}).passthrough(),QG=z$1.object({capabilities:db,detectionPaths:z$1.array(z$1.string()),layout:fb,scopeExtras:z$1.function().optional()}).passthrough(),tj=["global","globalCapabilities","globalDetectionPaths","generateScopeExtras"],ej=[{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"}],rj=["mcp","hooks","ignore","permissions"];s(nj,"capabilityLevel");s(pb,"canUseScopedSettings");s(ub,"validateCapabilityImplementations");oj=z$1.object({id:z$1.string().regex(/^[a-z][a-z0-9-]*$/,"Target id must be lowercase with hyphens"),generators:ZG,capabilities:db,emptyImportMessage:z$1.string(),lintRules:z$1.union([z$1.function(),z$1.null()]),project:fb,globalSupport:QG.optional(),buildImportPaths:z$1.function(),detectionPaths:z$1.array(z$1.string())}).passthrough(),sj=oj.superRefine((t,e)=>{for(let r of tj)r in t&&e.addIssue({code:"custom",path:[r],message:`Use globalSupport instead of legacy field "${r}".`});ub(t,t.capabilities,e,["capabilities"]),t.globalSupport!==void 0&&ub(t,t.globalSupport.capabilities,e,["globalSupport","capabilities"]);});s(ip,"validateDescriptor");});function ij(){return $g||($g=new Map(Gt.map(t=>[t.id,t]))),$g}function ap(t){let e=ip(t);Gg.set(e.id,e);}function et(t){return Gg.get(t)??ij().get(t)}function cp(){return [...Gg.values()]}var Gg,$g,Ce=d(()=>{gt();Mg();Gg=new Map;s(ij,"builtinDescriptors");s(ap,"registerTargetDescriptor");s(et,"getDescriptor");s(cp,"getAllDescriptors");});async function gb(t,e,r="project"){let n=new Map,o=et(t);return o&&await o.buildImportPaths(n,e,r),n}var hb=d(()=>{Ce();s(gb,"buildImportReferenceMap");});function lj(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 i=o.split("/")[0];i&&i.startsWith(".")&&i.length>1&&n.add(`${i}/`);}return n}function mj(){let t=new Set([".agentsmesh/"]);for(let e of Gt)for(let r of lj(e))t.add(r);return Array.from(t)}function pj(){let t=new Set([...mj(),...jg.rootRelativePrefixes]),e=new Set([...cj,...jg.meshRootSegments]);return {protectedSchemes:[...aj,...jg.protectedSchemes],rootRelativePrefixes:Array.from(t),meshRootSegments:e}}function lp(){return Ug||(Ug=pj()),Ug}var aj,cj,jg,Ug,yb=d(()=>{gt();aj=[/\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],cj=new Set(["skills","rules","commands","agents","packs"]),jg={protectedSchemes:[],rootRelativePrefixes:[],meshRootSegments:[]};s(lj,"topLevelDotfilePrefixes");s(mj,"buildDefaultRootRelativePrefixes");s(pj,"rebuild");s(lp,"getLinkFormatRegistry");});function Or(t){let e=ft(t);return lp().rootRelativePrefixes.some(r=>e.startsWith(r))}function dj(t){let e=ft(t).replace(/^\.\//,"");if(e.startsWith("../")||e.startsWith("/")||Qe.test(e)||/^[a-zA-Z]:/.test(e)||Or(e))return false;let r=e.split("/").filter(n=>n.length>0)[0];return r!==void 0&&lp().meshRootSegments.has(r)}function Dc(t,e,r){let n=J(e),o=U(e,e),i=U(e,r),a=ft(t);if(Qe.test(t)){let c=U(e,t);return n===win32||c.startsWith(`${o}${n.sep}`)?[c]:[c]}if(n.isAbsolute(t)){let c=U(e,t);return c.startsWith(o)||existsSync(t)?[c]:[U(e,n.join(e,t))]}if(a.startsWith("./")||a.startsWith("../")){let c=U(e,n.join(n.dirname(i),a)),l=K_(a,o);return l&&l!==c?[c,l]:[c]}if(Or(a))return [U(e,n.join(o,a))];if(a.includes("/")){let c=U(e,n.join(o,".agentsmesh")),l=dj(a)?U(e,n.join(c,a)):null,m=U(e,n.join(o,a)),p=U(e,n.join(n.dirname(i),a));return l!==null?[l,m,p]:[m,p]}return fj.has(a)?[]:a.includes(".")?[U(e,n.join(n.dirname(i),a))]:[]}function Nc(t,e){let r=[e];if(!W_(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 Cb(t,e,r){let n=e>0?t.at(e-1):"",o=r<t.length?t.at(r):"";return n==="*"||o==="*"}function mp(t){let e=[];for(let r of lp().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(gj))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(hj))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(yj))e.push([r.index??0,(r.index??0)+r[0].length]);return e}var fj,gj,hj,yj,Sb,ca,jo=d(()=>{Vt();yb();s(Or,"isRootRelativePathToken");s(dj,"isMeshRootRelativePathToken");fj=new Set(["AGENTS.md","CLAUDE.md","GEMINI.md","codex.md",".windsurfrules",".cursorrules"]),gj=/^(?:```|~~~)[^\n]*\n[\s\S]*?^(?:```|~~~)/gm,hj=/<!-- agentsmesh:root-generation-contract:start -->[\s\S]*?<!-- agentsmesh:root-generation-contract:end -->/g,yj=/<!-- agentsmesh:embedded-rules:start -->[\s\S]*?<!-- agentsmesh:embedded-rules:end -->/g,Sb=/(?:\.\.[\\/]|\.\/|\.\\|\/[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,ca=/(?::(\d+)){1,2}$/;s(Dc,"resolveProjectPath");s(Nc,"expandResolvedPaths");s(Cb,"isGlobAdjacent");s(mp,"protectedRanges");});function _j(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 Rb(t){return _j(t.tokenContext)}function Wg(t,e){let r=J(t),n=U(t,t),o=U(t,e);if(o===n)return true;let i=n.endsWith(r.sep)?n:`${n}${r.sep}`;return o.startsWith(i)}function Ob(t){let e=J(t);return U(t,e.join(t,".agentsmesh"))}function Er(t,e){let r=J(t),n=Ob(t),o=U(t,e);if(o===n)return true;let i=n.endsWith(r.sep)?n:`${n}${r.sep}`;return o.startsWith(i)}function Eb(t,e,r){let n=J(t),o=Ob(t),i=U(t,e);if(!Er(t,i))return null;let a=n.relative(o,i).replace(/\\/g,"/");return a.startsWith("..")||a.length===0?null:r&&!a.endsWith("/")?`${a}/`:a}function Kg(t,e,r){let o=J(t).relative(U(t,t),U(t,e)).replace(/\\/g,"/");if(o.startsWith(".."))return null;let i=o.length>0?o:".";return r&&!i.endsWith("/")?`${i}/`:i}function la(t,e,r){let n=Kg(t,e,r);return n===null?null:{kind:"projectRoot",rest:n,text:n}}function Bg(t,e,r,n,o){let i=J(t),a=U(t,t),c=U(t,e),l=U(t,r);if(!Wg(t,l))return la(t,l,n)?.text??null;let m=U(t,i.dirname(c));if(!Wg(t,m)&&m!==a)return la(t,l,n)?.text??null;let p=i.relative(m,l).replace(/\\/g,"/");if(i.isAbsolute(p)||Qe.test(p))return Kg(t,l,n);let u=U(t,i.join(m,p));return Wg(t,u)?(p===""||p==="."?p=".":o.explicitCurrentDirLinks===true&&m!==a&&!p.startsWith("../")&&!p.startsWith("./")&&(p=`./${p}`),n&&!p.endsWith("/")?`${p}/`:p):Kg(t,l,n)}var Hg=d(()=>{Vt();s(_j,"isReadingContext");s(Rb,"isReadingContextOptions");s(Wg,"isUnderProjectRoot");s(Ob,"agentsMeshRoot");s(Er,"isUnderAgentsMesh");s(Eb,"toAgentsMeshRootRelative");s(Kg,"toProjectRootRelative");s(la,"toProjectRootReference");s(Bg,"formatLinkPathForDestinationLegacy");});function kb(t,e,r,n,o={}){let i=o.scope??"project",a=U(t,r);if(Rb(o)&&Er(t,e)&&Er(t,a)){let m=J(t),p=U(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 Bg(t,e,r,n,o);if(i==="global"&&!Er(t,e))return la(t,a,n)?.text??null;let c=(()=>{if(Er(t,a))return a;let m=o.logicalMeshSourceAbsolute;return m&&Er(t,U(t,m))?U(t,m):null})();if(!c)return la(t,a,n)?.text??null;if(n||(o.pathIsDirectory?.(a)??false)){let m=Eb(t,c,n);return m!==null?m:la(t,c,n)?.text??null}return Bg(t,e,r,n,o)}var wb=d(()=>{jo();Vt();Hg();Hg();s(kb,"formatLinkPathForDestination");});function Lb(t,e,r,n){let o=J(e),i=ft(t);if(!Or(i))return null;let a=i.split("/").filter(m=>m.length>0);if(a.length<3)return null;let c=U(e,r),l=o.dirname(c);for(let m=1;m<=a.length-1;m++){let p=a.slice(m).join("/"),u=U(e,o.join(l,p));if(u!==c&&n(u))return u}return null}var bb=d(()=>{Vt();jo();s(Lb,"resolveByDestinationSuffixStrip");});function Ab(t){let e=null,r=false,n=null,o=null,i=null;for(let l of Dc(t.candidate,t.projectRoot,t.sourceFile)){let m=null,p=null;for(let u of Nc(t.projectRoot,l)){let f=U(t.projectRoot,u),g=U(t.projectRoot,t.translatePath(f)),h=t.pathExists(f),R=t.pathExists(g);if(R&&g!==f){e=g,n=f,r=true;break}(h||R)&&m===null&&(m=g,p=f),e===null&&(e=g);}if(!r&&m!==null&&o===null&&(o=m,i=p),r)break}if(!r){let l=Lb(t.candidate,t.projectRoot,t.destinationFile,t.pathExists);l!==null&&(e=l,r=true);}!r&&o!==null&&(e=o,i!==null&&(n=i),r=true);let a=ft(t.destinationFile),c=a.includes("/.agentsmesh/")||a.startsWith(".agentsmesh/");return !r&&e!==null&&ft(t.rawToken).startsWith(".agentsmesh/")&&c&&(r=true),{translatedPath:e,resolvedBeforeTranslate:n,matchedPath:r}}var xb=d(()=>{Vt();jo();bb();s(Ab,"resolveLinkTarget");});function Pb(t,e,r){return e>=2&&t[e-2]==="~"&&t[e-1]==="/"?true:e>=1&&t[e-1]==="~"&&r.startsWith("/")}function Tb(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 Db(t){let e=ft(t);return e.startsWith("./")||e.startsWith("../")?true:e.startsWith("/")||Qe.test(e)||Or(e)?false:e.includes("/")}var Nb=d(()=>{Vt();jo();s(Pb,"isTildeHomeRelativePathToken");s(Tb,"isMarkdownLinkDestinationToken");s(Db,"isRelativePathToken");});function Ij(t,e,r){let n=e+r.length;if(t[n]!=="]"||t[n+1]!=="(")return false;let o=n+2,i="";for(;o<t.length;){let a=t[o];if(a===")"||a==="#"||a==="?"||a===" "||a===" "||a===`
131
- `)break;i+=a,o++;}return i===r}function Fb(t,e,r){let n=t.lastIndexOf(`
132
- `,e-1)+1,o=t.slice(n,e);if(!/^\s*\[[^\]\n]+\]:\s*<?\s*$/.test(o))return false;let i=r<t.length?t[r]:"";return i===""||i===`
133
- `||i==="\r"||i===">"||i===" "||i===" "||i==='"'||i==="'"||i===":"||i==="#"||i==="?"}function vb(t,e,r){let n=e>0?t[e-1]:"",o=r<t.length?t[r]:"";return n==="`"&&o==="`"?{role:"inline-code"}:Fb(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 Mb(t,e,r,n,o){if(e<0||r>t.length)return false;let{candidate:i}=mi(n),a=i.replace(ca,""),c=ft(a),l=e+a.length,m=t[e-1],p=t[r];return Fb(t,e,l)||m==="'"&&p==="'"||m==='"'&&p==='"'||m==="`"&&p==="`"||m==="<"&&p===">"?true:m==="["&&p==="]"?!(!o&&!Or(c)&&Ij(t,e,n)):m==="@"?true:m==="("?p===")"||p==="#"||p==="?"||p===" "||p===" ":o?Or(c)?true:c.includes("/")||c.includes("\\")?c.startsWith("./")||c.startsWith("../")?true:(c.split(/[\\/]/).filter(Boolean).at(-1)??"").includes("."):false:false}var $b=d(()=>{Vt();jo();s(Ij,"markdownBracketLabelDuplicatesDestination");s(Fb,"isMarkdownReferenceDefinitionDestination");s(vb,"getTokenContext");s(Mb,"shouldRewritePathToken");});function pp(t){let e=new Set,r=mp(t.content);return {content:t.content.replace(Sb,(o,i,a)=>{if(r.some(([bt,pt])=>i>=bt&&i<pt)||!Mb(a,i,i+o.length,o,t.rewriteBarePathTokens===true)||Pb(a,i,o)||Cb(a,i,i+o.length))return o;let{candidate:c,suffix:l}=mi(o);if(!c)return o;let m=ca.exec(c),p=m?c.slice(0,m.index):c,u=m?m[0]:"";if(!p)return o;let f=vb(a,i,i+p.length);if(f.role!=="markdown-link-dest"&&Qe.test(p))return o;let{translatedPath:g,resolvedBeforeTranslate:h,matchedPath:R}=Ab({candidate:p,rawToken:c,projectRoot:t.projectRoot,sourceFile:t.sourceFile,destinationFile:t.destinationFile,translatePath:t.translatePath,pathExists:t.pathExists}),S=h;if(!R||!g)return g&&e.add(g),o;let _=ft(p),k=p.endsWith("/")||t.pathIsDirectory?.(g)===true;if(k&&!_.includes("/")&&!_.includes("\\"))return o;if(S===null){let bt=ft(c);if(bt.startsWith("agentsmesh/")&&(bt=`.${bt}`),bt.startsWith(".agentsmesh/")||bt.includes("/.agentsmesh/")){let pt=J(t.projectRoot),pn=U(t.projectRoot,t.projectRoot),Ve=bt.replace(/^\.\//,"");S=U(t.projectRoot,pt.join(pn,Ve));}}let T=J(t.projectRoot);if(t.scope==="global"){let bt=ft(c),pt=bt.startsWith(".agentsmesh/")||bt.includes("/.agentsmesh/"),pn=Or(bt)||Db(bt),Ve=S!==null&&Er(t.projectRoot,S),ro=Er(t.projectRoot,g);if(S===g&&!ro&&!Ve&&!pt){let Dy=ft(T.relative(t.projectRoot,U(t.projectRoot,t.sourceFile))).split("/").filter(Boolean)[0]??"",UT=(S!==null?ft(T.relative(t.projectRoot,S)):"").split("/").filter(Boolean)[0]??"";if(Dy.length>0&&Dy===UT)return o}if(!pn&&!pt&&!Ve&&!ro)return o}let P=U(t.projectRoot,t.destinationFile),A=U(t.projectRoot,g),Z=ft(T.relative(t.projectRoot,P)),B=ft(T.relative(t.projectRoot,A)),V=Z.split("/").filter(Boolean)[0]??"",Lt=B.split("/").filter(Boolean)[0]??"",Mt=!ft(p).startsWith(".agentsmesh/")&&!k&&V.length>0&&V===Lt&&V.startsWith(".")&&V!==".agentsmesh"||f.role==="markdown-link-dest"||Tb(a,i,p),wr=kb(t.projectRoot,t.destinationFile,g,p.endsWith("/"),{explicitCurrentDirLinks:t.explicitCurrentDirLinks===true||Mt,scope:t.scope??"project",pathIsDirectory:t.pathIsDirectory,logicalMeshSourceAbsolute:k?null:S,forceRelative:Mt,tokenContext:f,originalToken:p});return wr?`${wr}${u}${l}`:o}),missing:[...e]}}var zg=d(()=>{Vt();jo();wb();xb();Nb();$b();s(pp,"rewriteFileLinks");});function jb(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 i=t.normalize(o);r.includes(i)||r.push(i);}}catch{}return r}async function H(t,e,r="project"){let n=J(e),o=new Map,i=Array.from(new Set([t,...lt]));for(let l of i){let m=await gb(l,e,r);for(let[p,u]of m.entries())o.set(p,u);}let a=new Map;for(let[l,m]of o.entries()){let p=n.normalize(n.join(e,m));for(let u of jb(n,n.join(e,l)))a.set(u,p);}let c=new Set;for(let l of new Set(o.values())){let m=n.normalize(n.join(e,l));c.add(m);for(let p of jb(n,m))c.add(n.normalize(p));}return (l,m,p)=>pp({content:l,projectRoot:e,sourceFile:m,destinationFile:p,translatePath:s(u=>a.get(u)??u,"translatePath"),pathExists:s(u=>{let f=n.normalize(u);return a.has(u)||a.has(f)||existsSync(u)||c.has(f)},"pathExists"),explicitCurrentDirLinks:false,rewriteBarePathTokens:true,scope:r,pathIsDirectory:s(u=>{try{return statSync(u).isDirectory()}catch{return false}},"pathIsDirectory")}).content}var Ot=d(()=>{Vt();hb();zg();Xe();s(jb,"pathVariants");s(H,"createImportReferenceNormalizer");});function Wb(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let i of n){if(!i||typeof i!="object")continue;let a=i,c=typeof a.matcher=="string"?a.matcher:"";if(!c)continue;let l=Array.isArray(a.hooks)?a.hooks:[];for(let m of l){let p=m.type==="prompt"?"prompt":"command";if(!Ar({...m,type:p}))continue;let u=p==="prompt"?Qt(m)||At(m):At(m)||Qt(m),f={matcher:c,type:p,command:u};typeof m.timeout=="number"&&(f.timeout=m.timeout),o.push(f);}}o.length>0&&(e[r]=o);}return e}async function Kb(t,e){let r=join(t,En),n=await y(r);if(n===null)return false;let o;try{o=JSON.parse(n);}catch{return false}if(!o||typeof o!="object"||Array.isArray(o))return false;let i=Wb(o);if(Object.keys(i).length===0)return false;let a=stringify(i),c=join(t,ss);return await O(dirname(c)),await C(c,a),e.push({fromTool:"claude-code",fromPath:r,toPath:ss,feature:"hooks"}),true}async function Bb(t,e){let r=e.some(m=>m.feature==="hooks"&&m.fromPath.replace(/\\/g,"/").endsWith(En)),n=join(t,Ya),o=await y(n);if(!o)return;let i;try{i=JSON.parse(o);}catch{return}if(!e.some(m=>m.feature==="mcp")&&i.mcpServers&&typeof i.mcpServers=="object"){let m=i.mcpServers;await Yt(t,Qa,m),e.push({fromTool:"claude-code",fromPath:n,toPath:Qa,feature:"mcp"});}let c=i.permissions;if(c&&typeof c=="object"&&!Array.isArray(c)){let m=c,p=Array.isArray(m.allow)?m.allow.filter(g=>typeof g=="string"):[],u=Array.isArray(m.deny)?m.deny.filter(g=>typeof g=="string"):[],f=Array.isArray(m.ask)?m.ask.filter(g=>typeof g=="string"):[];if(p.length>0||u.length>0||f.length>0){let g=stringify({allow:p,deny:u,ask:f}),h=join(t,Qu);await O(dirname(h)),await C(h,g),e.push({fromTool:"claude-code",fromPath:n,toPath:Qu,feature:"permissions"});}}let l=i.hooks;if(!r&&l&&typeof l=="object"&&!Array.isArray(l)){let m=Wb(l);if(Object.keys(m).length>0){let p=stringify(m),u=join(t,ss);await O(dirname(u)),await C(u,p),e.push({fromTool:"claude-code",fromPath:n,toPath:ss,feature:"hooks"});}}}var Hb=d(()=>{qe();b();Sn();kn();s(Wb,"claudeHooksToCanonical");s(Kb,"importClaudeHooksJson");s(Bb,"importSettings");});async function Vb(t,e,r){let n=join(t,Ja),o=join(t,qu),a=(await D(n)).filter(c=>c.endsWith("SKILL.md"));for(let c of a){let l=dirname(c),m=basename(l),p=join(o,m),u=await D(l);for(let f of u){let g=await y(f);if(g===null)continue;let h=relative(l,f),R=join(p,h);await O(dirname(R));let S=r(g,f,R),_=h==="SKILL.md"?E(S):null;await C(R,h==="SKILL.md"?await Tr(R,_?.frontmatter??{},_?.body??""):S);let k=`${qu}/${m}/${h}`;e.push({fromTool:"claude-code",fromPath:f,toPath:k,feature:"skills"});}}}var Jb=d(()=>{b();v();nt();kn();s(Vb,"importClaudeSkills");});async function rm(t,e={}){let r=e.scope??"project",n=[],o=await H("claude-code",t,r);return n.push(...await tt(em,t,r,{normalize:o})),await Vb(t,n,o),await Kb(t,n),await Bb(t,n),n}var vd=d(()=>{Ot();Ut();Hb();Jb();Fd();s(rm,"importFromClaudeCode");});async function vc(t,e){let r=Oj[e];if(!r)throw new Error(`No importer registered for native target: ${e}`);return r(t)}var Oj,Yg=d(()=>{vd();bf();df();Jf();of();Pg();Wd();sf();qf();ag();og();Oj={"claude-code":rm,cursor:Am,copilot:Sm,"gemini-cli":$m,"codex-cli":pm,windsurf:np,cline:im,continue:dm,junie:Um,kiro:Vm,"kilo-code":Hm};s(vc,"importNativeToCanonical");});async function Hs(t){if(!await F(t))return false;if(await F(join(t,Zg)))return true;try{let e=await readdir(t,{withFileTypes:!0});for(let r of e)if(!(!r.isDirectory()||r.name.startsWith("."))&&await F(join(t,r.name,Zg)))return !0}catch{return false}return false}async function Mc(t){if(!await F(t))return [];if(await F(join(t,Zg))){let e=await F_(t);return e?[e]:[]}return ci(t)}var Zg,dp=d(()=>{b();Sl();Zg="SKILL.md";s(Hs,"isSkillPackLayout");s(Mc,"loadSkillsAtExtendPath");});function Lj(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}function bj(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}async function fp(t){if(!await F(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),i=basename(t).replace(/\.md$/i,"");if(n==="rules")return {sliceRoot:r,implicitPick:{rules:[i]}};if(n==="commands")return {sliceRoot:r,implicitPick:{commands:[i]}};if(n==="agents")return {sliceRoot:r,implicitPick:{agents:[i]}};throw new Error(`Single-file install only supports .md files under rules/, commands/, or agents/. Got: ${t}`)}async function Aj(t){if(basename(t)==="rules")return Yo(t);let r=join(t,"rules");return await F(r)?Yo(r):[]}async function xj(t){if(basename(t)==="commands")return Xo(t);let r=join(t,"commands");return await F(r)?Xo(r):[]}async function Pj(t){if(basename(t)==="agents")return qo(t);let r=join(t,"agents");return await F(r)?qo(r):[]}async function Tj(t){if(await Hs(t))return Mc(t);let e=join(t,"skills");return await Hs(e)?Mc(e):[]}async function gp(t){let e=join(t,".agentsmesh");if(await F(e))return ge(t);let r=Lj();if(r.rules=await Aj(t),r.commands=await xj(t),r.agents=await Pj(t),r.skills=await Tj(t),bj(r))throw new Error(`No installable resources at ${t}. Expected .agentsmesh/, or rules/, commands/, agents/, or Anthropic-style skills (SKILL.md).`);return r}var qg=d(()=>{b();_l();Qo();yl();hl();dp();s(Lj,"emptyCanonical");s(bj,"isCanonicalSliceEmpty");s(fp,"normalizeSlicePath");s(Aj,"parseRulesAt");s(xj,"parseCommandsAt");s(Pj,"parseAgentsAt");s(Tj,"loadSkillsForPartialSlice");s(gp,"loadCanonicalSliceAtPath");});function Dj(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}async function Yb(t){let e=t.resolvedPath;if(!t.path){let o=join(e,".agentsmesh");if(!await F(o)){if(await Hs(e)){let a=await Mc(e);return {...Dj(),skills:a}}let i=t.target??await El(e);if(!i)throw new Error(`Extend "${t.name}": No supported agent configuration found in ${e}.
134
- Expected one of: .agentsmesh/, ${j_.join(", ")}.`);I.info(`[agentsmesh] Extend "${t.name}": ${t.target?"specified":"detected"} ${i} format, importing to .agentsmesh/...`),await vc(e,i);}return ge(e)}let r=join(e,t.path);if(!await F(r))throw new Error(`Extend "${t.name}": path does not exist: ${r}`);if(t.target){let o=join(e,".agentsmesh");return await F(o)||(I.info(`[agentsmesh] Extend "${t.name}": path "${t.path}" with target "${t.target}" \u2014 importing at extend root, then loading canonical.`),await vc(e,t.target)),ge(e)}let{sliceRoot:n}=await fp(r);try{return await gp(n)}catch(o){let i=o instanceof Error?o.message:String(o),a=new Error(`Extend "${t.name}": ${i}`);throw o instanceof Error&&(a.cause=o),a}}var Xb=d(()=>{Pu();b();st();Qo();Yg();dp();qg();s(Dj,"emptyCanonical");s(Yb,"loadCanonicalForExtend");});function hp(t,e,r,n){if(!r)return t;let o={...t};if(r.skills?.length&&e.includes("skills")){let i=new Set(r.skills),a=o.skills;o={...o,skills:a.filter(c=>i.has(c.name))};for(let c of r.skills)a.some(l=>l.name===c)||I.warn(`[agentsmesh] pick name "${c}" not found in skills from extend "${n}".`);}if(r.commands?.length&&e.includes("commands")){let i=new Set(r.commands),a=o.commands;o={...o,commands:a.filter(c=>i.has(c.name))};for(let c of r.commands)a.some(l=>l.name===c)||I.warn(`[agentsmesh] pick name "${c}" not found in commands from extend "${n}".`);}if(r.agents?.length&&e.includes("agents")){let i=new Set(r.agents),a=o.agents;o={...o,agents:a.filter(c=>i.has(c.name))};for(let c of r.agents)a.some(l=>l.name===c)||I.warn(`[agentsmesh] pick name "${c}" not found in agents from extend "${n}".`);}if(r.rules?.length&&e.includes("rules")){let i=new Set(r.rules),a=o.rules,c=s(l=>basename(l).replace(/\.md$/i,""),"stem");o={...o,rules:a.filter(l=>i.has(c(l.source)))};for(let l of r.rules)a.some(m=>c(m.source)===l)||I.warn(`[agentsmesh] pick name "${l}" not found in rules from extend "${n}".`);}return o}var th=d(()=>{st();s(hp,"applyExtendPick");});var vj,ma,yp=d(()=>{vj=["rules","commands","agents","skills"],ma=z$1.enum(vj);});var Mj,Zb,qb=d(()=>{fn();yp();Mj=z$1.enum(["github","gitlab","git","local"]),Zb=z$1.object({name:z$1.string().min(1),source:z$1.string().min(1),version:z$1.string().optional(),source_kind:Mj,installed_at:z$1.string(),updated_at:z$1.string(),features:z$1.array(oi).min(1),pick:ba.optional(),target:Le.optional(),path:z$1.string().optional(),paths:z$1.array(z$1.string().min(1)).min(1).optional(),as:ma.optional(),content_hash:z$1.string()});});function Qb(t){let e=Jo(t);return e?e.kind==="github"?`github:${e.org}/${e.repo}`:e.kind==="gitlab"?`gitlab:${e.namespace}/${e.project}`:`git+${e.url}`:t.trim()}function Gj(t,e){return e?t.length===e.length&&[...t].sort().every((r,n)=>r===[...e].sort()[n]):true}async function _p(t){let e=join(t,"pack.yaml"),r=await y(e);if(r===null)return null;try{let n=parse(r);return Zb.parse(n)}catch{return null}}async function eA(t,e,r){if(!await F(t))return null;let n=Qb(e),o;try{o=await readdir(t,{withFileTypes:!0});}catch{return null}for(let i of o){if(!i.isDirectory())continue;let a=join(t,i.name),c=await _p(a);if(c&&Qb(c.source)===n&&c.target===r.target&&c.as===r.as&&Gj(c.features,r.features))return {meta:c,packDir:a,name:c.name}}return null}async function Ip(t){if(!await F(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),i=await _p(o);i&&r.push({meta:i,packDir:o,name:i.name});}return r}var Sp=d(()=>{b();qb();Pa();s(Qb,"sourceIdentity");s(Gj,"sameFeatures");s(_p,"readPackMetadata");s(eA,"findExistingPack");s(Ip,"listPacks");});function rA(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}async function jj(t){let[e,r,n,o,i,a,c,l]=await Promise.all([Yo(join(t,"rules")),Xo(join(t,"commands")),qo(join(t,"agents")),ci(join(t,"skills")),Ze(join(t,"mcp.json")),Cl(join(t,"permissions.yaml")),Rl(join(t,"hooks.yaml")),Ol(join(t,"ignore"))]);return {...rA(),rules:e,commands:r,agents:n,skills:o,mcp:i,permissions:a,hooks:c,ignore:l}}async function nA(t){let e=join(t,"packs"),r=await Ip(e),n=rA();for(let{meta:o,packDir:i}of r){let a=await jj(i),c=rh(a,o.features),l=hp(c,o.features,o.pick,o.name);n=li(n,l);}return n}var oA=d(()=>{hl();yl();_l();Sl();Na();ku();Lu();bu();xu();ln();th();Sp();s(rA,"emptyCanonical");s(jj,"loadPackCanonical");s(nA,"loadPacksCanonical");});function rh(t,e){if(e.length===0)return sA();let r=new Set(e.flatMap(n=>Wj[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:[]}}function sA(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}async function se(t,e,r={},n=join(e,".agentsmesh")){let o=await ai(t,e,{refreshCache:r.refreshRemoteCache===true}),i=sA();for(let l of o){let m=await Yb(l),p=rh(m,l.features),u=hp(p,l.features,l.pick,l.name);i=li(i,u);}let a=await nA(n);i=li(i,a);let c=await ge(n);return i=li(i,c),{canonical:i,resolvedExtends:o}}var Wj,ln=d(()=>{dl();Qo();xu();Xb();th();oA();Wj={rules:["rules"],commands:["commands"],agents:["agents"],skills:["skills"],mcp:["mcp"],permissions:["permissions"],hooks:["hooks"],ignore:["ignore"]};s(rh,"filterCanonicalByFeatures");s(sA,"emptyCanonical");s(se,"loadCanonicalWithExtends");});function vU(t,e){let r=join(e,"node_modules",t),n=join(r,"package.json");if(!existsSync(n))throw new Error(`Cannot find package '${t}' in ${join(e,"node_modules")}`);let o=JSON.parse(readFileSync(n,"utf-8")),i=(typeof o.exports=="string"?o.exports:null)??(typeof o.main=="string"?o.main:null)??"index.js",a=resolve(r,i);if(!existsSync(a))throw new Error(`Package '${t}' entry '${i}' does not exist at ${a}`);return a}function MU(t){return t.startsWith("file:")||t.startsWith("./")||t.startsWith("../")||t.startsWith("/")||/^[A-Za-z]:[/\\]/.test(t)}async function $U(t,e){let{source:r}=t,n;if(MU(r)){let i=r.startsWith("file:")?fileURLToPath(r):r,a=resolve(e,i);n=pathToFileURL(a).href;}else {let i=vU(r,e);n=pathToFileURL(i).href;}return await import(n)}function GU(t){return "descriptor"in t?[t.descriptor]:"descriptors"in t&&Array.isArray(t.descriptors)?t.descriptors:"default"in t?[t.default]:[]}async function Tp(t,e){let r;try{r=await $U(t,e);}catch(i){throw new Error(`Plugin '${t.source}' failed to import: ${i instanceof Error?i.message:String(i)}`,{cause:i})}let n=GU(r),o=[];for(let i of n)try{let a=ip(i);ap(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}}async function GA(t,e){let r=[],n=process.env.AGENTSMESH_STRICT_PLUGINS==="1"||process.env.AGENTSMESH_STRICT_PLUGINS==="true",i=(await Promise.all(t.map(async a=>{try{let c=await Tp(a,e);return r.push(c),null}catch(c){let l=`Plugin '${a.source}' failed to load: ${c instanceof Error?c.message:String(c)}`;return a.strict===true||n?new Error(l):(I.warn(l),null)}}))).filter(a=>a!==null);if(i.length>0){let a=i.map(c=>` - ${c.message}`).join(`
132
+ ${g}`:u,h={};p&&(h.description=p),typeof c.name=="string"&&c.name.length>0&&(h.name=c.name);let O=await Bt(m,h,f),R=r(O,o,m);await _(m,R),e.push({feature:"agents",fromTool:de,fromPath:o,toPath:`${Yi}/${l}.md`});}}async function Zu(t,e={}){let r=e.scope??"project",o=[],n=await U(de,t,r);return o.push(...await z(Qu,t,r,{normalize:n})),await Z(t,Wr,de,o,n),r==="project"&&(await $W(t,o,n),await jW(t,o,n),await UW(t,o,n),await Z(t,Hi,de,o,n)),o}var Gy,My,$y=d(()=>{mt();Q();ke();Ct();T();lt();M();vy();Xi();jy();Gy=`${vs}/_root.md`,My="00-root.md";s(fP,"pathExists");s($W,"importLegacyRules");s(jW,"importLegacyWorkflows");s(UW,"importLegacyModes");s(Zu,"importFromKiloCode");});function hP(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:de}))}var yP=d(()=>{_t();Xi();s(hP,"lintRules");});function _P(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[b(".agentsmesh/hooks.yaml","kilo-code","kilo-code does not support user-defined lifecycle hooks; canonical hooks are not projected.")]:[]:[]}function IP(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,o=t.permissions.ask??[];return e.length===0&&r.length===0&&o.length===0?[]:[b(".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 RP=d(()=>{Et();s(_P,"lintHooks");s(IP,"lintPermissions");});var KW,BW,WW,SP,Qu,jy=d(()=>{dP();Xi();Qt();$y();vy();yP();RP();Rt();KW={name:de,primaryRootInstructionPath:Mo,generateRules:aP,generateCommands:cP,generateAgents:lP,generateSkills:uP,generateMcp:mP,generateIgnore:pP,importFrom:Zu},BW={rootInstructionPath:Mo,skillDir:Wr,managedOutputs:{dirs:[Un,Kn,Bn,Wr],files:[Mo,Ds,pc]},paths:{rulePath(t,e){return `${Un}/${t}.md`},commandPath(t,e){return `${Kn}/${t}.md`},agentPath(t,e){return `${Bn}/${t}.md`}}},WW={rootInstructionPath:Ns,skillDir:Fs,managedOutputs:{dirs:[zi,Vi,Ji,Fs,fE],files:[Ns,gc,Hp]},rewriteGeneratedPath(t){return t===Mo?Ns:t},mirrorGlobalPath(t,e){return ct(t,Fs,e)},paths:{rulePath(t,e){return `${zi}/${t}.md`},commandPath(t,e){return `${Vi}/${t}.md`},agentPath(t,e){return `${Ji}/${t}.md`}}},SP={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},Qu={id:de,metadata:{displayName:"Kilo Code",category:"ide",officialUrl:"https://kilocode.ai",shortDescription:"Open-source AI coding agent for VS Code"},generators:KW,capabilities:SP,emptyImportMessage:"No Kilo Code config found (AGENTS.md, .kilo/rules, .kilo/commands, .kilo/agents, .kilo/skills, .kilo/mcp.json, .kilocodeignore, .kilocode/, or .kilocodemodes).",lintRules:hP,lint:{hooks:_P,permissions:IP},project:BW,globalSupport:{capabilities:SP,detectionPaths:[Ns,zi,Vi,Ji,Fs,gc,Hp],layout:WW},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Mo],global:[Ns]},canonicalDir:vs,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[Un],global:[zi]},canonicalDir:vs,extensions:[".md"],map:Yu}],commands:{feature:"commands",mode:"directory",source:{project:[Kn],global:[Vi]},canonicalDir:fc,extensions:[".md"],map:Xu},agents:{feature:"agents",mode:"directory",source:{project:[Bn],global:[Ji]},canonicalDir:Yi,extensions:[".md"],map:gP},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Ds,em],global:[gc]},canonicalDir:".agentsmesh",canonicalFilename:hE},ignore:{feature:"ignore",mode:"flatFile",source:{project:[pc],global:[Hp]},canonicalDir:".agentsmesh",canonicalFilename:yE}},buildImportPaths:Uf,detectionPaths:[Un,Kn,Bn,Wr,Ds,Wi,uc,Hi,em,Wp,pc,"kilo.jsonc","kilo.json"]};});function CP(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/_/g,"-").toLowerCase()}function VW(t){return t.type==="prompt"?t.prompt:t.command}function JW(t,e){let r=EP[t];return t==="PreToolUse"||t==="PostToolUse"?{type:r,tools:[e||"*"]}:{type:r}}function OP(t){let e=[];for(let[r,o]of Object.entries(t)){let n=r;if(!(n in EP)||!Array.isArray(o))continue;let i=1;for(let a of o){let c=VW(a);if(!c)continue;let l={name:`${CP(r)} ${i}`,version:"1",when:JW(n,a.matcher),then:a.type==="prompt"?{type:"askAgent",prompt:c}:{type:"shellCommand",command:c}};e.push({name:`${CP(r)}-${i}.kiro.hook`,content:JSON.stringify(l,null,2)}),i+=1;}}return e}function YW(t){let e=zW.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 LP(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:YW(r)}function AP(t){return stringify(t).trimEnd()}var EP,zW,Uy=d(()=>{EP={UserPromptSubmit:"promptSubmit",SubagentStop:"agentStop",PreToolUse:"preToolUse",PostToolUse:"postToolUse"},zW=new Map([["promptSubmit","UserPromptSubmit"],["agentStop","SubagentStop"],["preToolUse","PreToolUse"],["postToolUse","PostToolUse"]]);s(CP,"toKebab");s(VW,"hookText");s(JW,"toWhen");s(OP,"generateKiroHooks");s(YW,"toCanonicalEntry");s(LP,"parseKiroHookFile");s(AP,"serializeCanonicalHooks");});function ZW(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 kP(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:Hr,content:r.body.trim()||""});for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes(De))continue;let n=basename(o.source,".md");e.push({path:`${zr}/${n}.md`,content:P(ZW(o),o.body.trim()||"")});}return e}function wP(t){return t.commands.map(e=>({path:`${ge}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function TP(t){return tt(t,ge)}function bP(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:hc,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function PP(t){return !t.hooks||Object.keys(t.hooks).length===0?[]:OP(t.hooks).map(e=>({path:`${Gs}/${e.name}`,content:e.content}))}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,model:e.model||void 0};Object.keys(r).forEach(n=>{r[n]===void 0&&delete r[n];});let o=P(r,e.body.trim()||"");return {path:`${Vr}/${e.name}.md`,content:o}})}function DP(t){return t.ignore.length===0?[]:[{path:yc,content:t.ignore.join(`
133
+ `)}]}var NP=d(()=>{Q();St();M();Uy();_c();s(ZW,"steeringFrontmatter");s(kP,"generateRules");s(wP,"generateCommands");s(TP,"generateSkills");s(bP,"generateMcp");s(PP,"generateHooks");s(xP,"generateAgents");s(DP,"generateIgnore");});function qW(t){let e=typeof t.inclusion=="string"?t.inclusion:"",r={root:false,description:typeof t.description=="string"?t.description:void 0,globs:Rn(t.fileMatchPattern)};return e==="manual"&&(r.trigger="manual"),e==="auto"&&(r.trigger="model_decision"),e==="fileMatch"&&(r.trigger="glob"),r}async function tH(t,e,r,o){let n=o==="global"?[Jr,Hr]:[Hr,Jr];for(let i of n){let a=join(t,i),c=await y(a);if(c===null)continue;let l=join(t,Kf),{frontmatter:m,body:p}=k(r(c,a,l));await _(l,await K(l,{...m,root:true},p)),e.push({fromTool:De,fromPath:a,toPath:Kf,feature:"rules"});return}}async function eH(t,e,r){let o=join(t,Bf);e.push(...await yt({srcDir:join(t,zr),destDir:o,extensions:[".md"],fromTool:De,normalize:r,mapEntry:s(async({relativePath:n,normalizeTo:i})=>{if(basename(n)==="AGENTS.md")return null;let a=join(o,n),{frontmatter:c,body:l}=k(i(a));return {destPath:a,toPath:`${Bf}/${n}`,feature:"rules",content:await K(a,qW(c),l)}},"mapEntry")}));}async function rH(t,e){let r={};for(let n of await v(join(t,Gs))){if(!n.endsWith(".kiro.hook"))continue;let i=LP(await y(n)??"");i&&(r[i.event]??=[],r[i.event].push(i.entry));}if(Object.keys(r).length===0)return;let o=join(t,Wf);await L(join(t,".agentsmesh")),await _(o,AP(r)),e.push({fromTool:De,fromPath:join(t,Gs),toPath:Wf,feature:"hooks"});}async function qu(t,e={}){let r=e.scope??"project",o=[],n=await U(De,t,r);return await tH(t,o,n,r),await eH(t,o,n),o.push(...await z(td,t,r,{normalize:n})),await Z(t,ge,De,o,n),r==="project"&&await rH(t,o),o}var Ky=d(()=>{mt();Q();ke();Ct();lt();tr();T();M();Uy();_c();By();s(qW,"canonicalRuleMeta");s(tH,"importRoot");s(eH,"importNonRootRules");s(rH,"importHooks");s(qu,"importFromKiro");});function FP(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:De}))}var vP=d(()=>{_t();_c();s(FP,"lintRules");});function GP(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(o=>!r.has(o)).map(o=>Rs(o,"kiro",e,{unsupportedBy:"Kiro hooks"}))}var MP=d(()=>{Et();s(GP,"lintHooks");});var oH,nH,sH,iH,td,By=d(()=>{St();NP();Qt();Ky();vP();MP();Rt();_c();oH={name:De,primaryRootInstructionPath:Hr,generateRules:kP,generateCommands:wP,generateAgents:xP,generateSkills:TP,generateMcp:bP,generateHooks:PP,generateIgnore:DP,importFrom:qu},nH={rootInstructionPath:Hr,skillDir:ge,managedOutputs:{dirs:[".kiro/hooks",".kiro/skills",".kiro/steering",".kiro/agents"],files:["AGENTS.md",".kiro/settings/mcp.json",".kiroignore"]},paths:{rulePath(t,e){return `${zr}/${t}.md`},commandPath(t){return `${ge}/${W(t)}/SKILL.md`},agentPath(t,e){return `${Vr}/${t}.md`}}},sH={rootInstructionPath:Jr,skillDir:Ms,managedOutputs:{dirs:[Zi,Ms,Qi,RE],files:[Jr,om,nm]},rewriteGeneratedPath(t){return t===Hr?Jr:t.startsWith(`${zr}/`)?t.replace(`${zr}/`,`${Zi}/`):t.startsWith(`${ge}/`)?t.replace(`${ge}/`,`${Ms}/`):t.startsWith(`${Vr}/`)?t.replace(`${Vr}/`,`${Qi}/`):t===hc?om:t===yc?nm:t.startsWith(`${Gs}/`)?null:t},mirrorGlobalPath(t,e){return ct(t,".kiro/skills",e)},paths:{rulePath(t,e){return `${Zi}/${t}.md`},commandPath(t){return `${ge}/${W(t)}/SKILL.md`},agentPath(t,e){return `${Qi}/${t}.md`}}},iH={rules:"native",additionalRules:"native",commands:"none",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},td={id:De,metadata:{displayName:"Kiro",category:"ide",officialUrl:"https://kiro.dev",shortDescription:"AWS spec-driven AI IDE"},generators:oH,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).",supportsConversion:{commands:true},lintRules:FP,lint:{hooks:GP},project:nH,globalSupport:{capabilities:iH,detectionPaths:[Zi,Jr,Ms,Qi,om,nm],layout:sH},importer:{agents:{feature:"agents",mode:"directory",source:{project:[Vr],global:[Vr]},canonicalDir:SE,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[hc],global:[om]},canonicalDir:".agentsmesh",canonicalFilename:CE},ignore:{feature:"ignore",mode:"flatFile",source:{project:[yc],global:[nm]},canonicalDir:".agentsmesh",canonicalFilename:EE}},buildImportPaths:Hf,detectionPaths:[zr,ge,Vr,Gs,hc,yc]};});function jP(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:$o,content:r.body.trim()?r.body:""});for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes(Yr))continue;let n=basename(o.source,".md"),i={};o.description&&(i.description=o.description),o.globs.length>0&&(i.globs=o.globs);let a=Object.keys(i).length>0?P(i,o.body.trim()||""):o.body.trim()||"";e.push({path:`${Wn}/${n}.md`,content:a});}return e}function UP(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${Hn}/${e.name}.md`,content:P(r,e.body.trim()||"")}})}function KP(t){return t.agents.map(e=>{let r=basename(e.source,".md"),o={mode:"subagent"};return e.description&&(o.description=e.description),e.model&&(o.model=e.model),e.tools.length>0&&(o.tools=e.tools),e.disallowedTools.length>0&&(o.disallowedTools=e.disallowedTools),{path:`${zn}/${r}.md`,content:P(o,e.body.trim()||"")}})}function aH(t){if("url"in t){let r={type:"remote",url:t.url};return Object.keys(t.headers).length>0&&(r.headers=t.headers),t.description&&(r.description=t.description),r}let e={type:"local",command:[t.command,...t.args]};return Object.keys(t.env).length>0&&(e.environment=t.env),t.description&&(e.description=t.description),e}function BP(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e={};for(let[r,o]of Object.entries(t.mcp.mcpServers))e[r]=aH(o);return [{path:jo,content:JSON.stringify({mcp:e},null,2)}]}function WP(t){return tt(t,Xr)}var HP=d(()=>{Q();M();ra();s(jP,"generateRules");s(UP,"generateCommands");s(KP,"generateAgents");s(aH,"toOpenCodeMcpServer");s(BP,"generateMcp");s(WP,"generateSkills");});function Wy(t){if(!t||typeof t!="object"||Array.isArray(t))return {};let e={};for(let[r,o]of Object.entries(t))typeof o=="string"&&(e[r]=o);return e}function lH(t){let e;try{e=JSON.parse(t);}catch{return {}}if(!e||typeof e!="object"||Array.isArray(e))return {};let r=e.mcp;if(!r||typeof r!="object"||Array.isArray(r))return {};let o={};for(let[n,i]of Object.entries(r)){if(!i||typeof i!="object"||Array.isArray(i))continue;let a=i;if(typeof a.url=="string"){o[n]={type:"url",url:a.url,headers:Wy(a.headers),env:Wy(a.environment),...typeof a.description=="string"?{description:a.description}:{}};continue}if(Array.isArray(a.command)&&a.command.length>0){let c=a.command,l=c[0];if(l===void 0)continue;let m=c.slice(1);o[n]={type:"stdio",command:l,args:m,env:Wy(a.environment),...typeof a.description=="string"?{description:a.description}:{}};}}return o}async function mH(t,e,r){let n=join(t,e==="global"?Us:jo),i=await y(n);if(i===null)return;let a=lH(i);Object.keys(a).length!==0&&(await $t(t,zf,a),r.push({feature:"mcp",fromTool:Yr,fromPath:n,toPath:zf}));}async function zP(t,e={}){let r=e.scope??"project",o=[],n=await U(Yr,t,r);return o.push(...await z(ed,t,r,{normalize:n})),await Z(t,Xr,Yr,o,n),await mH(t,r,o),o}var VP=d(()=>{mt();Q();Ct();Fr();T();ra();Hy();s(Wy,"toStringRecord");s(lH,"parseOpenCodeMcp");s(mH,"importMcp");s(zP,"importFromOpenCode");});var JP,YP,XP,ZP=d(()=>{M();lt();ra();JP=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=k(e(o));return {destPath:o,toPath:`${sm}/${t}`,content:await K(o,{root:false,description:typeof n.description=="string"?n.description:void 0,globs:Array.isArray(n.globs)?n.globs:void 0},i)}},"opencodeNonRootRuleMapper"),YP=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=k(e(o));return {destPath:o,toPath:`${Vp}/${t}`,content:await ht(o,{hasDescription:Object.prototype.hasOwnProperty.call(n,"description"),description:typeof n.description=="string"?n.description:void 0,hasAllowedTools:false,allowedTools:[]},i)}},"opencodeCommandMapper"),XP=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=k(e(o));return {destPath:o,toPath:`${Jp}/${t}`,content:await Bt(o,n,i)}},"opencodeAgentMapper");});function QP(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Yr}))}var qP=d(()=>{_t();ra();s(QP,"lintRules");});function tx(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[b(".agentsmesh/hooks.yaml","opencode","opencode hooks are plugin-based (TypeScript/JavaScript); canonical config hooks are not projected.")]:[]:[]}function ex(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,o=t.permissions.ask??[];return e.length===0&&r.length===0&&o.length===0?[]:[b(".agentsmesh/permissions.yaml","opencode","opencode permissions live in opencode.json, which agentsmesh does not generate in v1; canonical permissions are not projected.")]}function rx(t){return t.ignore.length===0?[]:[b(".agentsmesh/ignore","opencode","opencode has no dedicated ignore file; canonical ignore patterns are not projected. Configure watcher.ignore in opencode.json manually.")]}var ox=d(()=>{Et();s(tx,"lintHooks");s(ex,"lintPermissions");s(rx,"lintIgnore");});var pH,uH,dH,nx,ed,Hy=d(()=>{HP();ra();Qt();VP();ZP();qP();ox();Rt();pH={name:Yr,primaryRootInstructionPath:$o,generateRules:jP,generateCommands:UP,generateAgents:KP,generateSkills:WP,generateMcp:BP,importFrom:zP},uH={rootInstructionPath:$o,skillDir:Xr,managedOutputs:{dirs:[Wn,Hn,zn,Xr],files:[$o,jo]},paths:{rulePath(t){return `${Wn}/${t}.md`},commandPath(t){return `${Hn}/${t}.md`},agentPath(t){return `${zn}/${t}.md`}}},dH={rootInstructionPath:$s,skillDir:js,managedOutputs:{dirs:[qi,ta,ea,js,LE],files:[$s,Us]},rewriteGeneratedPath(t){return t===$o?$s:t===jo?Us:t},mirrorGlobalPath(t,e){return ct(t,js,e)},paths:{rulePath(t){return `${qi}/${t}.md`},commandPath(t){return `${ta}/${t}.md`},agentPath(t){return `${ea}/${t}.md`}}},nx={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},ed={id:Yr,metadata:{displayName:"OpenCode",category:"cli",officialUrl:"https://opencode.ai",shortDescription:"Open-source terminal AI agent"},generators:pH,capabilities:nx,emptyImportMessage:"No OpenCode config found (AGENTS.md, .opencode/rules, .opencode/commands, .opencode/agents, .opencode/skills, or opencode.json).",lintRules:QP,lint:{hooks:tx,permissions:ex,ignore:rx},project:uH,globalSupport:{capabilities:nx,detectionPaths:[$s,qi,ta,ea,js,Us],layout:dH},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[$o],global:[$s]},canonicalDir:sm,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[Wn],global:[qi]},canonicalDir:sm,extensions:[".md"],map:JP}],commands:{feature:"commands",mode:"directory",source:{project:[Hn],global:[ta]},canonicalDir:Vp,extensions:[".md"],map:YP},agents:{feature:"agents",mode:"directory",source:{project:[zn],global:[ea]},canonicalDir:Jp,extensions:[".md"],map:XP}},buildImportPaths:Vf,detectionPaths:[Wn,Hn,zn,Xr,jo,"opencode.jsonc"]};});function sx(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(Uo)),o=e?.body.trim()??"",n=it(o,r);return n?[{path:gr,content:n}]:[]}function ix(t){return tt(t,Xt)}function ax(t){return t.commands.map(e=>({path:`${Xt}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function cx(t){return t.agents.map(e=>({path:`${Xt}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}var lx=d(()=>{Q();Mt();st();St();Rc();s(sx,"generateRules");s(ix,"generateSkills");s(ax,"generateCommands");s(cx,"generateAgents");});async function mx(t,e={}){let r=e.scope??"project",o=[],n=await U(Uo,t,r);return o.push(...await z(rd,t,r,{normalize:n})),await Z(t,r==="global"?fr:Xt,Uo,o,n),o}var px=d(()=>{mt();Q();Ct();Rc();Vy();s(mx,"importFromPiAgent");});function ux(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Uo}))}var dx=d(()=>{_t();Rc();s(ux,"lintRules");});function gx(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[b(".agentsmesh/hooks.yaml","pi-agent","Pi Coding Agent has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function fx(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,o=t.permissions.ask??[];return e.length===0&&r.length===0&&o.length===0?[]:[b(".agentsmesh/permissions.yaml","pi-agent","Pi Coding Agent has no dedicated permissions config; canonical permissions are not projected.")]}function hx(t){return t.ignore.length===0?[]:[b(".agentsmesh/ignore","pi-agent","Pi Coding Agent has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}function yx(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[b(".agentsmesh/mcp.json","pi-agent","Pi Coding Agent manages MCP servers via extensions, not a dedicated config file; canonical MCP servers are not projected.")]}var _x=d(()=>{Et();s(gx,"lintHooks");s(fx,"lintPermissions");s(hx,"lintIgnore");s(yx,"lintMcp");});var gH,fH,hH,Ix,rd,Vy=d(()=>{St();st();lx();Qt();px();dx();_x();Yf();Rc();gH={name:Uo,primaryRootInstructionPath:gr,generateRules:sx,generateCommands:ax,generateAgents:cx,generateSkills:ix,importFrom:mx},fH={rootInstructionPath:gr,skillDir:Xt,managedOutputs:{dirs:[Xt],files:[gr]},paths:{rulePath(t){return gr},commandPath(t){return `${Xt}/${W(t)}/SKILL.md`},agentPath(t){return `${Xt}/${$(t)}/SKILL.md`}}},hH={rootInstructionPath:Vn,skillDir:fr,managedOutputs:{dirs:[fr],files:[Vn]},rewriteGeneratedPath(t){return t===gr?Vn:t.startsWith(`${Xt}/`)?t.replace(`${Xt}/`,`${fr}/`):t},mirrorGlobalPath(t,e){return ct(t,fr,e)},paths:{rulePath(t){return Vn},commandPath(t){return `${fr}/${W(t)}/SKILL.md`},agentPath(t){return `${fr}/${$(t)}/SKILL.md`}}},Ix={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},rd={id:Uo,metadata:{displayName:"Pi Agent",category:"cli",officialUrl:"https://github.com/pi-labs/pi-agent",shortDescription:"Pi coding agent"},generators:gH,capabilities:Ix,emptyImportMessage:"No Pi Coding Agent config found (AGENTS.md or .pi/skills).",lintRules:ux,lint:{hooks:gx,permissions:fx,ignore:hx,mcp:yx},supportsConversion:{commands:true,agents:true},project:fH,globalSupport:{capabilities:Ix,detectionPaths:[Vn],layout:hH},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[gr],global:[Vn]},canonicalDir:wE,canonicalRootFilename:"_root.md",markAsRoot:true}},sharedArtifacts:{".agents/skills/":"consumer"},buildImportPaths:Jf,detectionPaths:[gr,Xt]};});function Rx(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:hr,content:r.body.trim()?r.body:""});let o=t.rules.filter(n=>!n.root&&(n.targets.length===0||n.targets.includes(Ko)));for(let n of o){let i=basename(n.source,".md"),a={};n.description&&(a.description=n.description),n.globs.length>0&&(a.globs=n.globs);let c=P(a,n.body.trim()||"");e.push({path:`${Jn}/${i}.md`,content:c});}return e}function Sx(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 o=P(r,e.body.trim()||"");return {path:`${Bo}/${e.name}.md`,content:o}})}function Cx(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0};Object.keys(r).forEach(n=>{r[n]===void 0&&delete r[n];});let o=P(r,e.body.trim()||"");return {path:`${Wo}/${e.name}.md`,content:o}})}function Ex(t){let e=[];for(let r of t.skills){let o={name:r.name,description:r.description||void 0};o.description===void 0&&delete o.description;let n=P(o,r.body.trim()||"");e.push({path:`${Ne}/${r.name}/SKILL.md`,content:n});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${Ne}/${r.name}/${a}`,content:i.content});}}return e}function Ox(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Ks,content:e}]}function Lx(t){return !t.ignore||t.ignore.length===0?[]:[{path:Bs,content:t.ignore.join(`
134
+ `)}]}var Ax=d(()=>{M();Sc();s(Rx,"generateRules");s(Sx,"generateCommands");s(Cx,"generateAgents");s(Ex,"generateSkills");s(Ox,"generateMcp");s(Lx,"generateIgnore");});async function kx(t,e={}){let r=e.scope??"project",o=[],n=await U(Ko,t,r);return o.push(...await z(od,t,r,{normalize:n})),await Z(t,r==="global"?Ho:Ne,Ko,o,n),o}var wx=d(()=>{mt();Ct();Q();Sc();Jy();s(kx,"importFromQwenCode");});function Tx(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Ko}))}var bx=d(()=>{_t();Sc();s(Tx,"lintRules");});var _H,IH,RH,SH,CH,od,Jy=d(()=>{Ax();wx();bx();Rt();Sc();_H={name:Ko,primaryRootInstructionPath:hr,generateRules:Rx,generateCommands:Sx,generateAgents:Cx,generateSkills:Ex,generateMcp:Ox,generateIgnore:Lx,importFrom:kx},IH={rootInstructionPath:hr,skillDir:Ne,managedOutputs:{dirs:[Jn,Bo,Wo,Ne],files:[hr,Ks,Bs]},paths:{rulePath(t,e){return e.root?hr:`${Jn}/${t}.md`},commandPath(t){return `${Bo}/${t}.md`},agentPath(t){return `${Wo}/${t}.md`}}},RH={rootInstructionPath:Yn,skillDir:Ho,managedOutputs:{dirs:[Ws,Hs,Ho],files:[Yn,oa]},rewriteGeneratedPath(t){return t===hr?Yn:t===Ks?oa:t===Bs?null:t.startsWith(`${Bo}/`)?t.replace(`${Bo}/`,`${Ws}/`):t.startsWith(`${Wo}/`)?t.replace(`${Wo}/`,`${Hs}/`):t.startsWith(`${Ne}/`)?t.replace(`${Ne}/`,`${Ho}/`):t.startsWith(`${Jn}/`)?null:t},paths:{rulePath(t,e){return Yn},commandPath(t){return `${Ws}/${t}.md`},agentPath(t){return `${Hs}/${t}.md`}}},SH={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},CH={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},od={id:Ko,metadata:{displayName:"Qwen Code",category:"cli",officialUrl:"https://github.com/QwenLM/qwen-code",shortDescription:"Alibaba's Qwen coding CLI"},generators:_H,capabilities:SH,emptyImportMessage:"No Qwen Code config found (QWEN.md or .qwen/rules, .qwen/commands, .qwen/settings.json).",lintRules:Tx,project:IH,globalSupport:{capabilities:CH,detectionPaths:[Yn,oa,Ws,Hs,Ho],layout:RH},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[hr],global:[Yn]},canonicalDir:Xf,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[Jn],global:[]},canonicalDir:Xf,extensions:[".md"],preset:"rule"}],commands:{feature:"commands",mode:"directory",source:{project:[Bo],global:[Ws]},canonicalDir:TE,extensions:[".md"],preset:"command"},agents:{feature:"agents",mode:"directory",source:{project:[Wo],global:[Hs]},canonicalDir:bE,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Ks],global:[oa]},canonicalDir:".agentsmesh",canonicalFilename:".agentsmesh/mcp.json"},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Bs],global:[]},canonicalDir:".agentsmesh",canonicalFilename:".agentsmesh/ignore"}},buildImportPaths:Zf,detectionPaths:[hr,".qwen/settings.json",".qwen/commands",".qwen/rules"]};});function Px(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(zo)),o=e?.body.trim()??"",n=it(o,r);return n?[{path:Zr,content:n}]:[]}function xx(t){return tt(t,Ie)}function Dx(t){return t.commands.map(e=>({path:`${Ie}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function Nx(t){return t.agents.map(e=>({path:`${Ie}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}var Fx=d(()=>{Q();Mt();st();St();Cc();s(Px,"generateRules");s(xx,"generateSkills");s(Dx,"generateCommands");s(Nx,"generateAgents");});async function vx(t,e={}){let r=e.scope??"project",o=[],n=await U(zo,t,r);return o.push(...await z(nd,t,r,{normalize:n})),await Z(t,Ie,zo,o,n),o}var Gx=d(()=>{mt();Q();Ct();Cc();Yy();s(vx,"importFromReplitAgent");});function Mx(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:zo}))}var $x=d(()=>{_t();Cc();s(Mx,"lintRules");});function jx(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[b(".agentsmesh/hooks.yaml","replit-agent","Replit Agent has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function Ux(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,o=t.permissions.ask??[];return e.length===0&&r.length===0&&o.length===0?[]:[b(".agentsmesh/permissions.yaml","replit-agent","Replit Agent permissions are managed in the cloud UI; canonical permissions are not projected.")]}function Kx(t){return t.ignore.length===0?[]:[b(".agentsmesh/ignore","replit-agent","Replit Agent has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}function Bx(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[b(".agentsmesh/mcp.json","replit-agent","Replit Agent MCP servers are configured via the Integrations UI, not file-based; canonical MCP config is not projected.")]}var Wx=d(()=>{Et();s(jx,"lintHooks");s(Ux,"lintPermissions");s(Kx,"lintIgnore");s(Bx,"lintMcp");});var EH,OH,LH,nd,Yy=d(()=>{St();st();Fx();Gx();$x();Wx();qf();Cc();EH={name:zo,primaryRootInstructionPath:Zr,generateRules:Px,generateCommands:Dx,generateAgents:Nx,generateSkills:xx,importFrom:vx},OH={rootInstructionPath:Zr,skillDir:Ie,managedOutputs:{dirs:[Ie],files:[Zr]},paths:{rulePath(t){return Zr},commandPath(t){return `${Ie}/${W(t)}/SKILL.md`},agentPath(t){return `${Ie}/${$(t)}/SKILL.md`}}},LH={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},nd={id:zo,metadata:{displayName:"Replit Agent",category:"agent-platform",officialUrl:"https://replit.com",shortDescription:"Replit's autonomous coding agent"},generators:EH,capabilities:LH,emptyImportMessage:"No Replit Agent config found (replit.md or .agents/skills).",lintRules:Mx,lint:{hooks:jx,permissions:Ux,ignore:Kx,mcp:Bx},supportsConversion:{commands:true,agents:true},project:OH,sharedArtifacts:{".agents/skills/":"consumer"},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[Zr]},canonicalDir:xE,canonicalRootFilename:"_root.md",markAsRoot:true}},buildImportPaths:Qf,detectionPaths:[Zr]};});function zx(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:Qr,content:r.body.trim()||""});for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes(zs))continue;let n=basename(o.source,".md");e.push({path:`${Xn}/${n}.md`,content:o.body.trim()||""});}return e}function Vx(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${Zn}/${e.name}.md`,content:P(r,e.body.trim()||"")}})}function Jx(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:am,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function Yx(t){return t.ignore.length===0?[]:[{path:cm,content:t.ignore.join(`
135
+ `)}]}function Xx(t){return tt(t,Vo)}function Zx(t){if(t.agents.length===0)return [];let e=t.agents.map(r=>{let n={slug:basename(r.source,".md"),name:r.name};return r.description&&(n.description=r.description),r.body.trim()&&(n.roleDefinition=r.body.trim()),n});return [{path:Ec,content:stringify({customModes:e})}]}var Qx=d(()=>{Q();M();aa();s(zx,"generateRules");s(Vx,"generateCommands");s(Jx,"generateMcp");s(Yx,"generateIgnore");s(Xx,"generateSkills");s(Zx,"generateAgents");});var sd,tD,Xy=d(()=>{M();lt();aa();sd=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{if(t==="00-root.md")return null;let o=join(r,t),{frontmatter:n,body:i}=k(e(o));return {destPath:o,toPath:`${ia}/${t}`,content:await K(o,{root:false,description:typeof n.description=="string"?n.description:void 0,globs:Array.isArray(n.globs)?n.globs:void 0},i)}},"rooNonRootRuleMapper"),tD=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=k(e(o));return {destPath:o,toPath:`${Xp}/${t}`,content:await ht(o,{hasDescription:true,description:typeof n.description=="string"?n.description:void 0,hasAllowedTools:false,allowedTools:[]},i)}},"rooCommandMapper");});async function wH(t,e,r){let o=join(t,na),n;try{n=await readdir(o,{withFileTypes:!0});}catch{return}let i=n.filter(c=>c.isDirectory()&&c.name.startsWith("rules-")).map(c=>c.name),a=join(t,ia);for(let c of i)e.push(...await yt({srcDir:join(o,c),destDir:a,extensions:[".md"],fromTool:zs,normalize:r,mapEntry:s(async({srcPath:l,relativePath:m,content:p,normalizeTo:u})=>{let g=await sd({absolutePath:l,relativePath:m,content:p,destDir:a,normalizeTo:u});return g?{...g,feature:"rules"}:null},"mapEntry")}));}async function eD(t,e={}){let r=e.scope??"project",o=[],n=await U(zs,t,r);return o.push(...await z(id,t,r,{normalize:n})),await wH(t,o,n),await Z(t,Vo,zs,o,n),o}var rD=d(()=>{mt();Q();ke();Ct();Xy();aa();Qy();s(wH,"importPerModeRules");s(eD,"importFromRooCode");});function oD(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:zs}))}var nD=d(()=>{_t();aa();s(oD,"lintRules");});function NH(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var xH,DH,FH,vH,GH,id,Qy=d(()=>{T();Qx();aa();Qt();rD();Xy();nD();Rt();xH={name:"roo-code",primaryRootInstructionPath:Qr,generateRules:zx,generateCommands:Vx,generateSkills:Xx,generateMcp:Jx,generateIgnore:Yx,generateAgents:Zx,importFrom:eD},DH={rootInstructionPath:Qr,skillDir:".roo/skills",managedOutputs:{dirs:[".roo/rules",".roo/commands",".roo/skills"],files:[".roo/mcp.json",".rooignore",".roorules",Ec]},paths:{rulePath(t,e){return `${Xn}/${t}.md`},commandPath(t,e){return `${Zn}/${t}.md`},agentPath(t,e){return null}}};s(NH,"computeStatus");FH=s(async(t,e,r,o)=>{if(r!=="global")return [];if(!o.has("agents")||t.agents.length===0)return [];let n=t.agents.map(c=>{let m={slug:basename(c.source,".md"),name:c.name};return c.description&&(m.description=c.description),c.body.trim()&&(m.roleDefinition=c.body.trim()),m}),i=stringify({customModes:n}),a=await y(join(e,lm));return [{target:"roo-code",path:lm,content:i,currentContent:a??void 0,status:NH(a,i)}]},"generateRooGlobalExtras"),vH={rootInstructionPath:Ys,skillDir:Qn,managedOutputs:{dirs:[Vs,Js,Qn,DE],files:[Ys,sa,mm,lm]},rewriteGeneratedPath(t){return t===Qr?Ys:t===Ec?null:t.startsWith(`${Xn}/`)?t.replace(`${Xn}/`,`${Vs}/`):t.startsWith(`${Zn}/`)?t.replace(`${Zn}/`,`${Js}/`):t.startsWith(`${Vo}/`)?t.replace(`${Vo}/`,`${Qn}/`):t===am?sa:t===cm?mm:t},mirrorGlobalPath(t,e){return ct(t,Qn,e)},paths:{rulePath(t,e){return `${Vs}/${t}.md`},commandPath(t,e){return `${Js}/${t}.md`},agentPath(t,e){return null}}},GH={rules:"native",additionalRules:"native",commands:"native",agents:"partial",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},id={id:"roo-code",metadata:{displayName:"Roo Code",category:"ide",officialUrl:"https://roocode.com",shortDescription:"Open-source AI VS Code extension"},generators:xH,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:oD,project:DH,globalSupport:{capabilities:GH,detectionPaths:[Vs,Js,Qn,sa,mm,Ys,lm],layout:vH,scopeExtras:FH},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Qr,im],global:[Ys,Qr,im]},canonicalDir:ia,canonicalRootFilename:"_root.md",markAsRoot:true,frontmatterRemap:s(({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:[Xn],global:[Vs]},canonicalDir:ia,extensions:[".md"],map:sd}],commands:{feature:"commands",mode:"directory",source:{project:[Zn],global:[Js]},canonicalDir:Xp,extensions:[".md"],map:tD},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[am],global:[sa]},canonicalDir:".agentsmesh",canonicalFilename:NE},ignore:{feature:"ignore",mode:"flatFile",source:{project:[cm],global:[mm]},canonicalDir:".agentsmesh",canonicalFilename:FE}},buildImportPaths:th,detectionPaths:[".roo/rules",".roo/commands",".roo/skills",".roo/mcp.json",".rooignore",".roorules",Ec]};});function sD(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(Jo)),o=e?.body.trim()??"",n=it(o,r);return n?[{path:yr,content:n}]:[]}function iD(t){return tt(t,Zt)}function aD(t){return t.commands.map(e=>({path:`${Zt}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function cD(t){return t.agents.map(e=>({path:`${Zt}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function lD(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:qn,content:e}]}var mD=d(()=>{Q();Mt();st();St();Lc();s(sD,"generateRules");s(iD,"generateSkills");s(aD,"generateCommands");s(cD,"generateAgents");s(lD,"generateMcp");});async function pD(t,e={}){let r=e.scope??"project",o=[],n=await U(Jo,t,r);return o.push(...await z(ad,t,r,{normalize:n})),await Z(t,r==="global"?Fe:Zt,Jo,o,n),o}var uD=d(()=>{mt();Q();Ct();Lc();qy();s(pD,"importFromRovodev");});function dD(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Jo}))}var gD=d(()=>{_t();Lc();s(dD,"lintRules");});function fD(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[b(".agentsmesh/hooks.yaml","rovodev","Rovo Dev has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function hD(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,o=t.permissions.ask??[];return e.length===0&&r.length===0&&o.length===0?[]:[b(".agentsmesh/permissions.yaml","rovodev","Rovo Dev permissions are managed in config.yaml; canonical permissions are not projected.")]}function yD(t){return t.ignore.length===0?[]:[b(".agentsmesh/ignore","rovodev","Rovo Dev has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}var _D=d(()=>{Et();s(fD,"lintHooks");s(hD,"lintPermissions");s(yD,"lintIgnore");});var MH,$H,jH,UH,KH,ad,qy=d(()=>{St();st();mD();Qt();uD();gD();_D();Rt();Lc();MH={name:Jo,primaryRootInstructionPath:yr,generateRules:sD,generateCommands:aD,generateAgents:cD,generateSkills:iD,generateMcp:lD,importFrom:pD},$H={rootInstructionPath:yr,skillDir:Zt,managedOutputs:{dirs:[Zt],files:[yr,qn]},paths:{rulePath(t){return yr},commandPath(t){return `${Zt}/${W(t)}/SKILL.md`},agentPath(t){return `${Zt}/${$(t)}/SKILL.md`}}},jH={rootInstructionPath:ts,skillDir:Fe,managedOutputs:{dirs:[Fe],files:[ts,Oc]},rewriteGeneratedPath(t){return t===yr?ts:t.startsWith(`${Zt}/`)?t.replace(`${Zt}/`,`${Fe}/`):t===qn?Oc:t},mirrorGlobalPath(t,e){return ct(t,Fe,e)},paths:{rulePath(t){return ts},commandPath(t){return `${Fe}/${W(t)}/SKILL.md`},agentPath(t){return `${Fe}/${$(t)}/SKILL.md`}}},UH={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},KH={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},ad={id:Jo,metadata:{displayName:"Rovo Dev",category:"cli",officialUrl:"https://www.atlassian.com/solutions/devops/rovo-dev",shortDescription:"Atlassian's coding agent"},generators:MH,capabilities:UH,emptyImportMessage:"No Rovo Dev config found (AGENTS.md, .rovodev/skills, or .rovodev/mcp.json).",lintRules:dD,lint:{hooks:fD,permissions:hD,ignore:yD},supportsConversion:{commands:true,agents:true},project:$H,globalSupport:{capabilities:KH,detectionPaths:[ME,ts,Fe],layout:jH},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[yr],global:[ts]},canonicalDir:$E,canonicalRootFilename:"_root.md",markAsRoot:true},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[qn],global:[Oc]},canonicalDir:".agentsmesh",canonicalFilename:"mcp.json"}},buildImportPaths:eh,detectionPaths:[yr,Zt,qn]};});function ID(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:Ge,content:r.body.trim()});for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes(_r))continue;let n=basename(o.source,".md");e.push({path:`${ve}/${n}.md`,content:o.body.trim()});}return e}function RD(t){return tt(t,Ir)}function SD(t){return t.mcp===null||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:ca,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function CD(t){return t.ignore.length===0?[]:[{path:Ac,content:t.ignore.join(`
136
+ `)}]}var ED=d(()=>{Q();kc();s(ID,"generateRules");s(RD,"generateSkills");s(SD,"generateMcp");s(CD,"generateIgnore");});async function HH(t,e,r,o){let n=o==="global"?[Rr,Ge]:[Ge,Rr];for(let i of n){let a=join(t,i),c=await y(a);if(c===null)continue;let l=join(t,OD),{frontmatter:m,body:p}=k(r(c,a,l));await L(join(t,um)),await _(l,await K(l,{...m,root:true},p)),e.push({fromTool:_r,fromPath:a,toPath:OD,feature:"rules"});return}}async function zH(t,e,r,o){let n=join(t,o==="global"?es:ve),i=join(t,um);e.push(...await yt({srcDir:n,destDir:i,extensions:[".md"],fromTool:_r,normalize:r,mapEntry:s(async({relativePath:a,normalizeTo:c})=>{let l=basename(a);if(l==="project_rules.md"||l==="rules.md")return null;let m=join(i,a),{frontmatter:p,body:u}=k(c(m));return {destPath:m,toPath:`${um}/${a}`,feature:"rules",content:await K(m,{...p,root:false},u)}},"mapEntry")}));}async function LD(t,e={}){let r=e.scope??"project",o=[],n=await U(_r,t,r);return await HH(t,o,n,r),await zH(t,o,n,r),o.push(...await z(cd,t,r,{normalize:n})),await Z(t,r==="global"?qr:Ir,_r,o,n),o}var OD,AD=d(()=>{mt();Q();ke();Ct();lt();T();M();kc();t_();OD=`${um}/_root.md`;s(HH,"importRoot");s(zH,"importNonRootRules");s(LD,"importFromTrae");});function kD(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:_r}))}var wD=d(()=>{_t();kc();s(kD,"lintRules");});var VH,JH,YH,XH,cd,t_=d(()=>{ED();Qt();AD();wD();Rt();kc();VH={name:_r,primaryRootInstructionPath:Ge,generateRules:ID,generateSkills:RD,generateMcp:SD,generateIgnore:CD,importFrom:LD},JH={rootInstructionPath:Ge,skillDir:Ir,managedOutputs:{dirs:[ve,Ir],files:[ca,Ac]},paths:{rulePath(t,e){return `${ve}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return null}}},YH={rootInstructionPath:Rr,skillDir:qr,managedOutputs:{dirs:[es,qr,UE],files:[Rr,pm]},rewriteGeneratedPath(t){return t===Ge?Rr:t.startsWith(`${ve}/`)?t.replace(`${ve}/`,`${es}/`):t.startsWith(`${Ir}/`)?t.replace(`${Ir}/`,`${qr}/`):t===ca?pm:t===Ac?null:t},mirrorGlobalPath(t,e){return ct(t,qr,e)},paths:{rulePath(t,e){return t==="_root"?Rr:`${es}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return null}}},XH={rules:"native",additionalRules:"native",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},cd={id:_r,metadata:{displayName:"Trae",category:"ide",officialUrl:"https://www.trae.ai",shortDescription:"ByteDance's adaptive AI IDE"},generators:VH,capabilities:{rules:"native",additionalRules:"native",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},emptyImportMessage:"No Trae config found (.trae/rules/project_rules.md, .trae/rules/*.md, .trae/skills/, .trae/mcp.json, or .trae/.ignore).",lintRules:kD,project:JH,globalSupport:{capabilities:XH,detectionPaths:[Rr,es,qr,pm],layout:YH},importer:{mcp:{feature:"mcp",mode:"mcpJson",source:{project:[ca],global:[pm]},canonicalDir:".agentsmesh",canonicalFilename:KE},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Ac]},canonicalDir:".agentsmesh",canonicalFilename:BE}},buildImportPaths:rh,detectionPaths:[ve,ca,Ge]};});function TD(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(Yo)),o=e?.body.trim()??"",n=it(o,r);return n?[{path:to,content:n}]:[]}function bD(t){return tt(t,ae)}function PD(t){return t.commands.map(e=>({path:`${ae}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function xD(t){return t.agents.map(e=>({path:`${ae}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function DD(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Xs,content:e}]}var ND=d(()=>{Q();Mt();st();St();wc();s(TD,"generateRules");s(bD,"generateSkills");s(PD,"generateCommands");s(xD,"generateAgents");s(DD,"generateMcp");});async function FD(t,e={}){let r=e.scope??"project",o=[],n=await U(Yo,t,r);return o.push(...await z(ld,t,r,{normalize:n})),await Z(t,r==="global"?Re:ae,Yo,o,n),o}var vD=d(()=>{mt();Q();Ct();wc();e_();s(FD,"importFromWarp");});function GD(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Yo}))}var MD=d(()=>{_t();wc();s(GD,"lintRules");});function $D(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[b(".agentsmesh/hooks.yaml","warp","Warp has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function jD(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,o=t.permissions.ask??[];return e.length===0&&r.length===0&&o.length===0?[]:[b(".agentsmesh/permissions.yaml","warp","Warp permissions are UI-managed; canonical permissions are not projected.")]}function UD(t){return t.ignore.length===0?[]:[b(".agentsmesh/ignore","warp","Warp has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}var KD=d(()=>{Et();s($D,"lintHooks");s(jD,"lintPermissions");s(UD,"lintIgnore");});var ZH,QH,qH,tz,ez,ld,e_=d(()=>{St();st();ND();Qt();vD();MD();KD();Rt();wc();ZH={name:Yo,primaryRootInstructionPath:to,generateRules:TD,generateCommands:PD,generateAgents:xD,generateSkills:bD,generateMcp:DD,importFrom:FD},QH={rootInstructionPath:to,skillDir:ae,managedOutputs:{dirs:[ae],files:[to,Xs]},paths:{rulePath(t){return to},commandPath(t){return `${ae}/${W(t)}/SKILL.md`},agentPath(t){return `${ae}/${$(t)}/SKILL.md`}}},qH={rootInstructionPath:void 0,skillDir:Re,managedOutputs:{dirs:[Re],files:[]},rewriteGeneratedPath(t){return t.startsWith(`${ae}/`)?t.replace(`${ae}/`,`${Re}/`):t},mirrorGlobalPath(t,e){return ct(t,Re,e)},paths:{rulePath(){return Re},commandPath(t){return `${Re}/${W(t)}/SKILL.md`},agentPath(t){return `${Re}/${$(t)}/SKILL.md`}}},tz={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},ez={rules:"none",additionalRules:"none",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},ld={id:Yo,metadata:{displayName:"Warp",category:"cli",officialUrl:"https://www.warp.dev",shortDescription:"AI-powered terminal"},generators:ZH,capabilities:tz,emptyImportMessage:"No Warp config found (WARP.md, AGENTS.md, .warp/skills, or .mcp.json).",lintRules:GD,lint:{hooks:$D,permissions:jD,ignore:UD},supportsConversion:{commands:true,agents:true},project:QH,globalSupport:{capabilities:ez,detectionPaths:[Re],layout:qH},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[oh,to]},canonicalDir:HE,canonicalRootFilename:"_root.md",markAsRoot:true},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Xs]},canonicalDir:".agentsmesh",canonicalFilename:"mcp.json"}},buildImportPaths:nh,detectionPaths:[to,oh,Xs]};});var sn,r_,si,BD,Bc,an,Wc,Hc,WD,ii,so,zc,o_,n_,s_,i_,a_,c_,Vc,Jc,Cm,md,pd,ud,HD,fe=d(()=>{sn="windsurf",r_=".windsurfrules",si=".windsurf/rules",BD=".windsurfignore",Bc=".codeiumignore",an="AGENTS.md",Wc=".windsurf/hooks.json",Hc=".windsurf/mcp_config.example.json",WD=".windsurf/mcp_config.json",ii=".windsurf/workflows",so=".windsurf/skills",zc=".agentsmesh/rules",o_=".agentsmesh/commands",n_=".agentsmesh/agents",s_=".agentsmesh/skills",i_=".agentsmesh/ignore",a_=".agentsmesh/hooks.yaml",c_=".agentsmesh/mcp.json",Vc=".codeium/windsurf/memories/global_rules.md",Jc=".codeium/windsurf/skills",Cm=".codeium/windsurf/global_workflows",md=".codeium/windsurf/hooks.json",pd=".codeium/windsurf/mcp_config.json",ud=".codeium/.codeiumignore",HD=".agents/skills";});function oz(t){let e=basename(t,".md");return e==="_root"?"root":e}function nz(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 l_(t){let e=[],r=t.rules.find(o=>o.root);if(!r)return [];e.push({path:an,content:r.body.trim()});for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes("windsurf"))continue;let n=oz(o.source),i=o.trigger||(o.globs.length>0?"glob":void 0),a={description:o.description||void 0,trigger:i,glob:o.globs.length===1?o.globs[0]:void 0,globs:o.globs.length>1?o.globs:void 0};Object.keys(a).forEach(m=>{a[m]===void 0&&delete a[m];});let c=Object.keys(a).length>0?P(a,o.body.trim()||""):o.body.trim()||"";e.push({path:`${si}/${n}.md`,content:c});let l=nz(o.globs);l&&(l!==n&&e.push({path:`${si}/${l}.md`,content:c}),e.push({path:`${l}/AGENTS.md`,content:o.body.trim()||""}));}return e}var zD=d(()=>{M();fe();s(oz,"ruleSlug");s(nz,"directoryScopedRuleDir");s(l_,"generateRules");});function m_(t){return !t.ignore||t.ignore.length===0?[]:[{path:Bc,content:t.ignore.join(`
137
+ `)}]}var VD=d(()=>{fe();s(m_,"generateIgnore");});function p_(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(n=>{r[n]===void 0&&delete r[n];});let o=Object.keys(r).length>0?P(r,e.body.trim()||""):e.body.trim();return {path:`${ii}/${e.name}.md`,content:o}})}var JD=d(()=>{M();fe();s(p_,"generateCommands");});function u_(t){return t.agents.map(e=>({path:`${so}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}var YD=d(()=>{st();fe();s(u_,"generateAgents");});function d_(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Hc,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}var XD=d(()=>{fe();s(d_,"generateMcp");});function sz(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 iz(t){let e={};for(let[r,o]of Object.entries(t)){if(!Array.isArray(o))continue;let n=[];for(let i of o){if(!go(i))continue;let a=Kt(i),c=me(i),l=i.type==="prompt"?c||a:a||c;l&&n.push({command:l,show_output:true});}n.length>0&&(e[sz(r)]=n);}return e}function g_(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=iz(t.hooks);return Object.keys(e).length===0?[]:[{path:Wc,content:JSON.stringify({hooks:e},null,2)}]}var ZD=d(()=>{Pr();fe();s(sz,"windsurfEventName");s(iz,"toWindsurfHooks");s(g_,"generateHooks");});function f_(t){let e=[];for(let r of t.skills){let o={name:r.name,description:r.description||void 0};o.description===void 0&&delete o.description;let n=Object.keys(o).length>0?P(o,r.body.trim()||""):r.body.trim()||"";e.push({path:`${so}/${r.name}/SKILL.md`,content:n});for(let i of r.supportingFiles)e.push({path:`${so}/${r.name}/${i.relativePath}`,content:i.content});}return e}var QD=d(()=>{M();fe();s(f_,"generateSkills");});var qD=d(()=>{zD();VD();JD();YD();XD();ZD();QD();});var tN=d(()=>{qD();});function eN(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 rN(t,e,r){let o=join(t,ii),i=(await v(o)).filter(c=>c.endsWith(".md")),a=join(t,o_);for(let c of i){let l=await y(c);if(!l)continue;let m=relative(o,c).replace(/\\/g,"/");await L(a);let p=join(a,m),u=r(l,c,p),{frontmatter:g,body:f}=k(u),h=await ht(p,{description:typeof g.description=="string"?g.description:"",hasDescription:Object.prototype.hasOwnProperty.call(g,"description"),allowedTools:(()=>{let O=eN(g.allowedTools);return O.length>0?O:eN(g["allowed-tools"])})(),hasAllowedTools:Object.prototype.hasOwnProperty.call(g,"allowedTools")||Object.prototype.hasOwnProperty.call(g,"allowed-tools")},f);await _(p,h),e.push({fromTool:sn,fromPath:c,toPath:`${o_}/${m}`,feature:"commands"});}}var oN=d(()=>{T();M();lt();fe();s(eN,"toStringArray");s(rN,"importWorkflows");});async function nN(t,e,r,o=so){let n=join(t,o),i=await Zs(n),a={projectRoot:t,sourceSkillsDir:o,destCanonicalSkillsDir:s_,targetName:"windsurf",normalize:r,results:e};for(let[c,l]of i){let m=join(l,"SKILL.md"),p=await y(m);if(!p)continue;let u=k(p),g=fo(u.frontmatter,c);if(g){await Ye(join(t,s_,c));let f=join(t,n_);await L(f);let h=join(f,`${g.name}.md`);await _(h,Je(g,r(u.body,m,h))),e.push({fromTool:"windsurf",fromPath:m,toPath:`${n_}/${g.name}.md`,feature:"agents"});continue}await qo(c,l,a);}}var sN=d(()=>{T();M();st();Ya();Pc();fe();s(nN,"importSkills");});async function aN(t,e){let r=join(t,Wc),o=await y(r);if(o)try{let n=JSON.parse(o);if(!n.hooks||typeof n.hooks!="object"||Array.isArray(n.hooks))return;let i=mz(n.hooks);if(Object.keys(i).length===0)return;let a=join(t,a_);await L(dirname(a)),await _(a,stringify(i)),e.push({fromTool:sn,fromPath:r,toPath:a_,feature:"hooks"});}catch{}}function lz(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 mz(t){let e={};for(let[r,o]of Object.entries(t)){if(!Array.isArray(o))continue;let n=lz(r),i=[];for(let a of o){if(!a||typeof a!="object")continue;let c=a;if(typeof c.command=="string"&&c.command.trim()){i.push({matcher:".*",type:"command",command:c.command});continue}let l=typeof c.matcher=="string"&&c.matcher.trim()?c.matcher:".*",m=Array.isArray(c.hooks)?c.hooks:[];for(let p of m){if(!p||typeof p!="object")continue;let u=p,g=typeof u.command=="string"?u.command:typeof u.prompt=="string"?u.prompt:"";if(!g.trim())continue;let f={matcher:l,type:u.type==="prompt"?"prompt":"command",command:g};typeof u.timeout=="number"&&(f.timeout=u.timeout),i.push(f);}}i.length>0&&(e[n]=i);}return e}async function cN(t,e){let r=[Hc,WD];for(let o of r){let n=join(t,o),i=await y(n);if(i)try{let a=JSON.parse(i);if(!a.mcpServers||typeof a.mcpServers!="object")continue;let c=join(t,c_);await L(dirname(c)),await _(c,JSON.stringify({mcpServers:a.mcpServers},null,2)),e.push({fromTool:sn,fromPath:n,toPath:c_,feature:"mcp"});return}catch{}}}var lN=d(()=>{T();fe();s(aN,"importWindsurfHooks");s(lz,"canonicalHookEventName");s(mz,"windsurfHooksToCanonical");s(cN,"importWindsurfMcp");});async function gd(t,e){let r=e?.scope??"project",o=[],n=await U(sn,t),i=await U("codex-cli",t),a=join(t,zc),c=join(t,r_),l=await y(c);if(l!==null){await L(a);let g=join(a,"_root.md"),f=n(l,c,g).trim(),h=await K(g,{root:true},f);await _(g,h),o.push({fromTool:"windsurf",fromPath:c,toPath:`${zc}/_root.md`,feature:"rules"});}if(l===null){let g=join(t,an),f=await y(g);if(f!==null){await L(a);let h=join(a,"_root.md"),O=n(i(f,g,h),g,h).trim(),R=await K(h,{root:true},O);await _(h,R),o.push({fromTool:"windsurf",fromPath:g,toPath:`${zc}/_root.md`,feature:"rules"});}}r!=="global"&&o.push(...await yt({srcDir:t,destDir:a,extensions:["AGENTS.md"],fromTool:"windsurf",normalize:n,mapEntry:s(async({srcPath:g,normalizeTo:f})=>{let h=relative(t,dirname(g)).replace(/\\/g,"/");if(!h||h==="."||basename(g)!=="AGENTS.md")return null;let O=h.replace(/\//g,"-");if(!Sp(h))return await Ye(join(a,`${O}.md`)),null;let R=join(a,`${O}.md`);return {destPath:R,toPath:`${zc}/${O}.md`,feature:"rules",content:await K(R,{root:false,globs:[`${h}/**`]},f(R))}},"mapEntry")}));let m=join(t,si);o.push(...await yt({srcDir:m,destDir:a,extensions:[".md"],fromTool:"windsurf",normalize:n,mapEntry:s(async({relativePath:g,normalizeTo:f})=>{if(g==="_root.md"&&l!==null)return null;let h=join(a,g),{frontmatter:O,body:R}=k(f(h)),S={...O};return typeof S.glob=="string"&&S.glob.trim()&&(S.globs=[S.glob],delete S.glob),{destPath:h,toPath:`${zc}/${g}`,feature:"rules",content:await K(h,{...S,root:false},R)}},"mapEntry")}));let p=join(t,BD),u=await y(p);if((u===null||!u.trim())&&(p=join(t,Bc),u=await y(p)),u!==null&&u.trim()){let g=u.split(/\r?\n/),f=[];for(let h of g){let O=h.trim();O&&!O.startsWith("#")&&f.push(O);}if(f.length>0){await L(join(t,".agentsmesh"));let h=join(t,i_);await _(h,f.join(`
138
+ `)),o.push({fromTool:"windsurf",fromPath:p,toPath:i_,feature:"ignore"});}}return await rN(t,o,n),await nN(t,o,n),await aN(t,o),await cN(t,o),o}var y_=d(()=>{mt();T();M();lt();ke();Ya();fe();oN();sN();lN();s(gd,"importFromWindsurf");});function mN(t,e,r){let o=[],{rules:n}=t;n.length>0&&(n.some(c=>c.root)||o.push({level:"warning",file:relative(e,n[0].source),target:sn,message:"Windsurf needs a root rule to generate AGENTS.md. Add root: true to a rule."}));let i=[];return t.permissions&&(t.permissions.allow.length>0||t.permissions.deny.length>0)&&i.push("permissions"),i.length>0&&o.push({level:"warning",file:".agentsmesh",target:sn,message:`Windsurf cannot project these features yet: ${i.join(", ")}.`}),o}var pN=d(()=>{fe();s(mN,"lintRules");});function uN(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>b(e.source,"windsurf","windsurf workflow files are plain Markdown; command description and allowed-tools metadata are not projected."))}function dN(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[b(".agentsmesh/mcp.json","windsurf","Windsurf MCP is partial; generated .windsurf/mcp_config.example.json is a reference artifact and may require manual setup.")]}var gN=d(()=>{Et();s(uN,"lintCommands");s(dN,"lintMcp");});function fz(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 hz,yz,_z,Iz,fN,hN=d(()=>{tN();Si();fe();Qt();y_();pN();gN();Rt();Wa();st();s(fz,"directoryScopedRuleDir");hz={name:"windsurf",primaryRootInstructionPath:an,generateRules:l_,generateCommands:p_,generateAgents:u_,generateSkills:f_,generateMcp:d_,generateHooks:g_,generateIgnore:m_,importFrom:gd},yz={rootInstructionPath:an,extraRuleOutputPaths(t){if(t.root)return [an];let e=fz(t.globs);return e!==null?[`${e}/AGENTS.md`]:[]},skillDir:so,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 `${si}/${t}.md`},commandPath(t,e){return `${ii}/${t}.md`},agentPath(t,e){return Ve(e,"windsurf")?`.windsurf/skills/${$(t)}/SKILL.md`:null}}},_z={rootInstructionPath:Vc,skillDir:Jc,managedOutputs:{dirs:[Jc,Cm,HD],files:[Vc,md,pd,ud]},rewriteGeneratedPath(t){return t===an?Vc:t.startsWith(`${si}/`)||/\/AGENTS\.md$/.test(t)?null:t.startsWith(`${so}/`)?t.replace(`${so}/`,`${Jc}/`):t.startsWith(`${ii}/`)?t.replace(`${ii}/`,`${Cm}/`):t===Wc?md:t===Hc?pd:t===Bc?ud:t},mirrorGlobalPath(t,e){return ct(t,".codeium/windsurf/skills",e)},paths:{rulePath(t,e){return Vc},commandPath(t,e){return `${Cm}/${t}.md`},agentPath(t,e){return Ve(e,"windsurf")?`${Jc}/${$(t)}/SKILL.md`:null}}},Iz={rules:"native",additionalRules:"partial",commands:Nr("native","workflows"),agents:"embedded",skills:"native",mcp:"partial",hooks:"native",ignore:"native",permissions:"none"},fN={id:"windsurf",metadata:{displayName:"Windsurf",category:"ide",officialUrl:"https://windsurf.com",shortDescription:"Codeium's agentic IDE"},generators:hz,capabilities:{rules:"native",additionalRules:"native",commands:Nr("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:mN,lint:{commands:uN,mcp:dN},project:yz,globalSupport:{capabilities:Iz,detectionPaths:[Vc,Jc,Cm,md,pd,ud],layout:_z},buildImportPaths:sh,detectionPaths:[".windsurfrules",".windsurf"]};});function yN(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes("zed")),o=e?.body.trim()??"",n=it(o,r);return n?[{path:eo,content:n}]:[]}var _N=d(()=>{Mt();la();s(yN,"generateRules");});async function RN(t,e,r){let o=await y(join(t,e));if(o===null)return;let n;try{n=JSON.parse(o);}catch{return}if(n===null||typeof n!="object"||Array.isArray(n))return;let a=n.context_servers;if(a==null||typeof a!="object"||Array.isArray(a)||Object.keys(a).length===0)return;let c={};for(let[l,m]of Object.entries(a)){if(!m||typeof m!="object"||Array.isArray(m))continue;let p={...m};delete p.source,c[l]=p;}Object.keys(c).length!==0&&(await $t(t,IN,c),r.push({fromTool:"zed",fromPath:e,toPath:IN,feature:"mcp"}));}var IN,SN=d(()=>{T();Fr();la();IN=".agentsmesh/mcp.json";s(RN,"importZedMcp");});async function CN(t,e={}){let r=e.scope??"project",o=[],n=await U("zed",t,r);return o.push(...await z(fd,t,r,{normalize:n})),await RN(t,r==="global"?Zo:Xo,o),o}var EN=d(()=>{mt();Ct();SN();la();__();s(CN,"importFromZed");});function ON(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:"zed"}))}var LN=d(()=>{_t();la();s(ON,"lintRules");});function AN(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[b(".agentsmesh/hooks.yaml","zed","Zed has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function kN(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,o=t.permissions.ask??[];return e.length===0&&r.length===0&&o.length===0?[]:[b(".agentsmesh/permissions.yaml","zed","Zed permissions are managed via agent.tool_permissions in settings.json; canonical permissions are not projected.")]}function wN(t){return t.ignore.length===0?[]:[b(".agentsmesh/ignore","zed","Zed has no dedicated ignore file and relies on file_scan_exclusions in settings.json; canonical ignore patterns are not projected.")]}var TN=d(()=>{Et();s(AN,"lintHooks");s(kN,"lintPermissions");s(wN,"lintIgnore");});function Az(t,e){if(t===null)return e;let r;try{let i=JSON.parse(t);r=i!==null&&typeof i=="object"&&!Array.isArray(i)?i:{};}catch{r={};}let o=JSON.parse(e);if(o===null||typeof o!="object"||Array.isArray(o))return t;let n=o;return n.context_servers!==void 0&&(r.context_servers=n.context_servers),JSON.stringify(r,null,2)}var Sz,Cz,Ez,Oz,Lz,fd,__=d(()=>{_N();EN();LN();TN();Rt();la();Sz={name:"zed",primaryRootInstructionPath:eo,generateRules:yN,importFrom:CN},Cz={rootInstructionPath:eo,managedOutputs:{dirs:[],files:[eo,Xo]},paths:{rulePath(t){return eo},commandPath(){return null},agentPath(){return null}}},Ez={rootInstructionPath:void 0,managedOutputs:{dirs:[],files:[Zo]},rewriteGeneratedPath(t){return t===Xo?Zo:t},paths:{rulePath(){return Zo},commandPath(){return null},agentPath(){return null}}},Oz={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"none",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Lz={rules:"none",additionalRules:"none",commands:"none",agents:"none",skills:"none",mcp:"native",hooks:"none",ignore:"none",permissions:"none"};s(Az,"mergeZedSettings");fd={id:"zed",metadata:{displayName:"Zed",category:"ide",officialUrl:"https://zed.dev",shortDescription:"Collaborative AI editor"},generators:Sz,capabilities:Oz,emptyImportMessage:"No Zed config found (.rules or .zed/settings.json).",lintRules:ON,lint:{hooks:AN,permissions:kN,ignore:wN},project:Cz,globalSupport:{capabilities:Lz,detectionPaths:[Zo],layout:Ez},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[eo],global:[]},canonicalDir:JE,canonicalRootFilename:"_root.md",markAsRoot:true}},emitScopedSettings(t,e){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let r={};for(let[o,n]of Object.entries(t.mcp.mcpServers))r[o]=n;return [{path:Xo,content:JSON.stringify({context_servers:r},null,2)}]},mergeGeneratedOutputContent(t,e,r,o){return o===Xo||o===Zo?Az(t,r):null},buildImportPaths:ih,detectionPaths:[eo,Xo]};});var OC={};gg(OC,{BUILTIN_TARGETS:()=>zt,TARGET_IDS:()=>kt,getBuiltinTargetDefinition:()=>Er,getEffectiveTargetSupportLevel:()=>hd,getTargetCapabilities:()=>oi,getTargetDetectionPaths:()=>R_,getTargetLayout:()=>vt,getTargetManagedOutputs:()=>S_,getTargetPrimaryRootInstructionPath:()=>wz,getTargetSkillDir:()=>Om,isBuiltinTargetId:()=>Tr,resolveTargetFeatureGenerator:()=>Yc,rewriteGeneratedOutputPath:()=>C_});function kz(){return I_||(NS(zt),I_=new Map(zt.map(t=>[t.id,t]))),I_}function Er(t){return kz().get(t)}function oi(t,e="project"){let r=Er(t)??ut(t);if(!r)return;let o=e==="global"?r.globalSupport?.capabilities??r.capabilities:r.capabilities;return xS(o)}function R_(t,e="project"){let r=Er(t)??ut(t);return r?e==="global"?r.globalSupport?.detectionPaths??[]:r.detectionPaths:[]}function vt(t,e="project"){let r=Er(t)??ut(t);if(r)return e==="global"?r.globalSupport?.layout:r.project}function wz(t,e="project"){return vt(t,e)?.rootInstructionPath}function Om(t,e="project"){return vt(t,e)?.skillDir}function S_(t,e="project"){return vt(t,e)?.managedOutputs}function C_(t,e,r="project"){let o=vt(t,r);return o?o.rewriteGeneratedPath?o.rewriteGeneratedPath(e):e:null}function bN(t,e,r,o){return !t||!r?false:e==="commands"&&t.supportsConversion?.commands?!Ba(r,t.id,true,o):e==="agents"&&t.supportsConversion?.agents?!Ve(r,t.id,true,o):false}function Tz(t,e,r,o){return !t||!r?false:e==="commands"&&t.supportsConversion?.commands?Ba(r,t.id,true,o):e==="agents"&&t.supportsConversion?.agents?Ve(r,t.id,true,o):false}function hd(t,e,r,o="project"){let n=oi(t,o)?.[e]?.level??"none",i=Er(t)??ut(t);return n==="none"&&Tz(i,e,r,o)?"embedded":n!=="embedded"?n:bN(i,e,r,o)?"none":n}function Yc(t,e,r,o="project"){let n=Er(t)??ut(t);if(!n?.generators||bN(n,e,r,o))return;let i=bz[e];return i===null?void 0:i(n.generators)}var zt,I_,bz,xt=d(()=>{Wa();Si();je();Ug();uo();Qg();ah();ch();mh();oL();uh();sA();HA();Gh();Wh();zh();cy();ly();my();by();Py();xy();Ny();jy();By();Hy();Vy();Jy();Yy();Qy();qy();t_();e_();hN();__();zt=[Cp,Qp,qp,tu,rL,eu,nA,WA,gu,Su,Eu,Du,Nu,Fu,Wu,Hu,zu,Ju,Qu,td,ed,rd,od,nd,id,ad,cd,ld,fN,fd];s(kz,"builtinTargetsMap");s(Er,"getBuiltinTargetDefinition");s(oi,"getTargetCapabilities");s(R_,"getTargetDetectionPaths");s(vt,"getTargetLayout");s(wz,"getTargetPrimaryRootInstructionPath");s(Om,"getTargetSkillDir");s(S_,"getTargetManagedOutputs");s(C_,"rewriteGeneratedOutputPath");s(bN,"isFeatureSuppressedByConversion");s(Tz,"isConversionUpgrading");s(hd,"getEffectiveTargetSupportLevel");bz={rules:s(t=>t.generateRules,"rules"),additionalRules:null,commands:s(t=>t.generateCommands,"commands"),agents:s(t=>t.generateAgents,"agents"),skills:s(t=>t.generateSkills,"skills"),mcp:s(t=>t.generateMcp,"mcp"),permissions:s(t=>t.generatePermissions,"permissions"),hooks:s(t=>t.generateHooks,"hooks"),ignore:s(t=>t.generateIgnore,"ignore")};s(Yc,"resolveTargetFeatureGenerator");});function Gz(t){return typeof t=="string"?t:t.level}function PN(t){return vz.includes(t)}function xN(t,e,r,o){for(let n of Fz){let i=Gz(e[n.feature]);if(i==="none")continue;let a=typeof t.generators[n.generator]=="function",c=PN(n.feature)&&typeof t.emitScopedSettings=="function";a||c||r.addIssue({code:"custom",path:[...o,n.feature],message:`Capability "${n.feature}" is "${i}" but generators.${n.generator}`+(PN(n.feature)?" or emitScopedSettings":"")+" is missing."});}}function yd(t){return $z.parse(t)}var ms,DN,Pz,xz,NN,Dz,Nz,Fz,vz,Mz,$z,E_=d(()=>{ms=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()})]),DN=z$1.object({rules:ms,additionalRules:ms,commands:ms,agents:ms,skills:ms,mcp:ms,hooks:ms,ignore:ms,permissions:ms}),Pz=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(),xz=z$1.object({rulePath:z$1.function(),commandPath:z$1.function(),agentPath:z$1.function()}),NN=z$1.object({paths:xz}).passthrough(),Dz=z$1.object({capabilities:DN,detectionPaths:z$1.array(z$1.string()),layout:NN,scopeExtras:z$1.function().optional()}).passthrough(),Nz=["global","globalCapabilities","globalDetectionPaths","generateScopeExtras"],Fz=[{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"}],vz=["mcp","hooks","ignore","permissions"];s(Gz,"capabilityLevel");s(PN,"canUseScopedSettings");s(xN,"validateCapabilityImplementations");Mz=z$1.object({id:z$1.string().regex(/^[a-z][a-z0-9-]*$/,"Target id must be lowercase with hyphens"),generators:Pz,capabilities:DN,emptyImportMessage:z$1.string(),lintRules:z$1.union([z$1.function(),z$1.null()]),project:NN,globalSupport:Dz.optional(),buildImportPaths:z$1.function(),detectionPaths:z$1.array(z$1.string())}).passthrough(),$z=Mz.superRefine((t,e)=>{for(let r of Nz)r in t&&e.addIssue({code:"custom",path:[r],message:`Use globalSupport instead of legacy field "${r}".`});xN(t,t.capabilities,e,["capabilities"]),t.globalSupport!==void 0&&xN(t,t.globalSupport.capabilities,e,["globalSupport","capabilities"]);});s(yd,"validateDescriptor");});function jz(){return O_||(O_=new Map(zt.map(t=>[t.id,t]))),O_}function _d(t){let e=yd(t);L_.set(e.id,e);}function ut(t){return L_.get(t)??jz().get(t)}function Id(){return [...L_.values()]}var L_,O_,je=d(()=>{xt();E_();L_=new Map;s(jz,"builtinDescriptors");s(_d,"registerTargetDescriptor");s(ut,"getDescriptor");s(Id,"getAllDescriptors");});async function FN(t,e,r="project"){let o=new Map,n=ut(t);return n&&await n.buildImportPaths(o,e,r),o}var vN=d(()=>{je();s(FN,"buildImportReferenceMap");});function Bz(t){let e=[t.project,t.globalSupport?.layout].filter(n=>n!==void 0),r=[...t.detectionPaths,...e.flatMap(n=>n.managedOutputs?.dirs??[]),...e.flatMap(n=>n.managedOutputs?.files??[])],o=new Set;for(let n of r){let i=n.split("/")[0];i&&i.startsWith(".")&&i.length>1&&o.add(`${i}/`);}return o}function Wz(){let t=new Set([".agentsmesh/"]);for(let e of zt)for(let r of Bz(e))t.add(r);return Array.from(t)}function Hz(){let t=new Set([...Wz(),...A_.rootRelativePrefixes]),e=new Set([...Kz,...A_.meshRootSegments]);return {protectedSchemes:[...Uz,...A_.protectedSchemes],rootRelativePrefixes:Array.from(t),meshRootSegments:e}}function Rd(){return k_||(k_=Hz()),k_}var Uz,Kz,A_,k_,GN=d(()=>{xt();Uz=[/\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],Kz=new Set(["skills","rules","commands","agents","packs"]),A_={protectedSchemes:[],rootRelativePrefixes:[],meshRootSegments:[]};s(Bz,"topLevelDotfilePrefixes");s(Wz,"buildDefaultRootRelativePrefixes");s(Hz,"rebuild");s(Rd,"getLinkFormatRegistry");});function io(t){let e=Pt(t);return Rd().rootRelativePrefixes.some(r=>e.startsWith(r))}function Vz(t){let e=Pt(t).replace(/^\.\//,"");if(e.startsWith("../")||e.startsWith("/")||xr.test(e)||/^[a-zA-Z]:/.test(e)||io(e))return false;let r=e.split("/").filter(o=>o.length>0)[0];return r!==void 0&&Rd().meshRootSegments.has(r)}function Lm(t,e,r){let o=et(e),n=V(e,e),i=V(e,r),a=Pt(t);if(xr.test(t)){let c=V(e,t);return o===win32||c.startsWith(`${n}${o.sep}`)?[c]:[c]}if(o.isAbsolute(t)){let c=V(e,t);return c.startsWith(n)||existsSync(t)?[c]:[V(e,o.join(e,t))]}if(a.startsWith("./")||a.startsWith("../")){let c=V(e,o.join(o.dirname(i),a)),l=wS(a,n);return l&&l!==c?[c,l]:[c]}if(io(a))return [V(e,o.join(n,a))];if(a.includes("/")){let c=V(e,o.join(n,".agentsmesh")),l=Vz(a)?V(e,o.join(c,a)):null,m=V(e,o.join(n,a)),p=V(e,o.join(o.dirname(i),a));return l!==null?[l,m,p]:[m,p]}return Jz.has(a)?[]:a.includes(".")?[V(e,o.join(o.dirname(i),a))]:[]}function Am(t,e){let r=[e];if(!kS(t,e)||!existsSync(e))return r;try{let o=[realpathSync(e),realpathSync.native(e)];for(let n of o)n!==e&&!r.includes(n)&&r.push(n);}catch{}return r}function UN(t,e,r){let o=e>0?t.at(e-1):"",n=r<t.length?t.at(r):"";return o==="*"||n==="*"}function Sd(t){let e=[];for(let r of Rd().protectedSchemes){let o=r.flags.includes("g")?r:new RegExp(r.source,`${r.flags}g`);for(let n of t.matchAll(o))e.push([n.index??0,(n.index??0)+n[0].length]);}for(let r of t.matchAll(Yz))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(Xz))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(Zz))e.push([r.index??0,(r.index??0)+r[0].length]);return e}var Jz,Yz,Xz,Zz,jN,Xc,ai=d(()=>{re();GN();s(io,"isRootRelativePathToken");s(Vz,"isMeshRootRelativePathToken");Jz=new Set(["AGENTS.md","CLAUDE.md","GEMINI.md","codex.md",".windsurfrules",".cursorrules"]),Yz=/^(?:```|~~~)[^\n]*\n[\s\S]*?^(?:```|~~~)/gm,Xz=/<!-- agentsmesh:root-generation-contract:start -->[\s\S]*?<!-- agentsmesh:root-generation-contract:end -->/g,Zz=/<!-- agentsmesh:embedded-rules:start -->[\s\S]*?<!-- agentsmesh:embedded-rules:end -->/g,jN=/(?:\.\.[\\/]|\.\/|\.\\|\/[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,Xc=/(?::(\d+)){1,2}$/;s(Lm,"resolveProjectPath");s(Am,"expandResolvedPaths");s(UN,"isGlobAdjacent");s(Sd,"protectedRanges");});function Qz(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 KN(t){return Qz(t.tokenContext)}function w_(t,e){let r=et(t),o=V(t,t),n=V(t,e);if(n===o)return true;let i=o.endsWith(r.sep)?o:`${o}${r.sep}`;return n.startsWith(i)}function BN(t){let e=et(t);return V(t,e.join(t,".agentsmesh"))}function ao(t,e){let r=et(t),o=BN(t),n=V(t,e);if(n===o)return true;let i=o.endsWith(r.sep)?o:`${o}${r.sep}`;return n.startsWith(i)}function WN(t,e,r){let o=et(t),n=BN(t),i=V(t,e);if(!ao(t,i))return null;let a=o.relative(n,i).replace(/\\/g,"/");return a.startsWith("..")||a.length===0?null:r&&!a.endsWith("/")?`${a}/`:a}function T_(t,e,r){let n=et(t).relative(V(t,t),V(t,e)).replace(/\\/g,"/");if(n.startsWith(".."))return null;let i=n.length>0?n:".";return r&&!i.endsWith("/")?`${i}/`:i}function Zc(t,e,r){let o=T_(t,e,r);return o===null?null:{kind:"projectRoot",rest:o,text:o}}function b_(t,e,r,o,n){let i=et(t),a=V(t,t),c=V(t,e),l=V(t,r);if(!w_(t,l))return Zc(t,l,o)?.text??null;let m=V(t,i.dirname(c));if(!w_(t,m)&&m!==a)return Zc(t,l,o)?.text??null;let p=i.relative(m,l).replace(/\\/g,"/");if(i.isAbsolute(p)||xr.test(p))return T_(t,l,o);let u=V(t,i.join(m,p));return w_(t,u)?(p===""||p==="."?p=".":n.explicitCurrentDirLinks===true&&m!==a&&!p.startsWith("../")&&!p.startsWith("./")&&(p=`./${p}`),o&&!p.endsWith("/")?`${p}/`:p):T_(t,l,o)}var P_=d(()=>{re();s(Qz,"isReadingContext");s(KN,"isReadingContextOptions");s(w_,"isUnderProjectRoot");s(BN,"agentsMeshRoot");s(ao,"isUnderAgentsMesh");s(WN,"toAgentsMeshRootRelative");s(T_,"toProjectRootRelative");s(Zc,"toProjectRootReference");s(b_,"formatLinkPathForDestinationLegacy");});function HN(t,e,r,o,n={}){let i=n.scope??"project",a=V(t,r);if(KN(n)&&ao(t,e)&&ao(t,a)){let m=et(t),p=V(t,t),u=m.relative(p,a).replace(/\\/g,"/");if(!u.startsWith("..")&&u.length>0)return o&&!u.endsWith("/")?`${u}/`:u}if(n.forceRelative)return b_(t,e,r,o,n);if(i==="global"&&!ao(t,e))return Zc(t,a,o)?.text??null;let c=(()=>{if(ao(t,a))return a;let m=n.logicalMeshSourceAbsolute;return m&&ao(t,V(t,m))?V(t,m):null})();if(!c)return Zc(t,a,o)?.text??null;if(o||(n.pathIsDirectory?.(a)??false)){let m=WN(t,c,o);return m!==null?m:Zc(t,c,o)?.text??null}return b_(t,e,r,o,n)}var zN=d(()=>{ai();re();P_();P_();s(HN,"formatLinkPathForDestination");});function VN(t,e,r,o){let n=et(e),i=Pt(t);if(!io(i))return null;let a=i.split("/").filter(m=>m.length>0);if(a.length<3)return null;let c=V(e,r),l=n.dirname(c);for(let m=1;m<=a.length-1;m++){let p=a.slice(m).join("/"),u=V(e,n.join(l,p));if(u!==c&&o(u))return u}return null}var JN=d(()=>{re();ai();s(VN,"resolveByDestinationSuffixStrip");});function YN(t){let e=null,r=false,o=null,n=null,i=null;for(let l of Lm(t.candidate,t.projectRoot,t.sourceFile)){let m=null,p=null;for(let u of Am(t.projectRoot,l)){let g=V(t.projectRoot,u),f=V(t.projectRoot,t.translatePath(g)),h=t.pathExists(g),O=t.pathExists(f);if(O&&f!==g){e=f,o=g,r=true;break}(h||O)&&m===null&&(m=f,p=g),e===null&&(e=f);}if(!r&&m!==null&&n===null&&(n=m,i=p),r)break}if(!r){let l=VN(t.candidate,t.projectRoot,t.destinationFile,t.pathExists);l!==null&&(e=l,r=true);}!r&&n!==null&&(e=n,i!==null&&(o=i),r=true);let a=Pt(t.destinationFile),c=a.includes("/.agentsmesh/")||a.startsWith(".agentsmesh/");return !r&&e!==null&&Pt(t.rawToken).startsWith(".agentsmesh/")&&c&&(r=true),{translatedPath:e,resolvedBeforeTranslate:o,matchedPath:r}}var XN=d(()=>{re();ai();JN();s(YN,"resolveLinkTarget");});function ZN(t,e,r){return e>=2&&t[e-2]==="~"&&t[e-1]==="/"?true:e>=1&&t[e-1]==="~"&&r.startsWith("/")}function QN(t,e,r){if(e<=0||t[e-1]!=="(")return false;let o=e+r.length,n=t[o];return n!==")"&&n!=="#"&&n!=="?"&&n!==" "&&n!==" "?false:t[e-2]==="]"}function qN(t){let e=Pt(t);return e.startsWith("./")||e.startsWith("../")?true:e.startsWith("/")||xr.test(e)||io(e)?false:e.includes("/")}var tF=d(()=>{re();ai();s(ZN,"isTildeHomeRelativePathToken");s(QN,"isMarkdownLinkDestinationToken");s(qN,"isRelativePathToken");});function qz(t,e,r){let o=e+r.length;if(t[o]!=="]"||t[o+1]!=="(")return false;let n=o+2,i="";for(;n<t.length;){let a=t[n];if(a===")"||a==="#"||a==="?"||a===" "||a===" "||a===`
139
+ `)break;i+=a,n++;}return i===r}function eF(t,e,r){let o=t.lastIndexOf(`
140
+ `,e-1)+1,n=t.slice(o,e);if(!/^\s*\[[^\]\n]+\]:\s*<?\s*$/.test(n))return false;let i=r<t.length?t[r]:"";return i===""||i===`
141
+ `||i==="\r"||i===">"||i===" "||i===" "||i==='"'||i==="'"||i===":"||i==="#"||i==="?"}function rF(t,e,r){let o=e>0?t[e-1]:"",n=r<t.length?t[r]:"";return o==="`"&&n==="`"?{role:"inline-code"}:eF(t,e,r)?{role:"markdown-link-dest"}:o==="<"&&n===">"?{role:"bracketed"}:o==="'"&&n==="'"||o==='"'&&n==='"'?{role:"quoted"}:o==="@"?{role:"at-prefix"}:o==="("&&t[e-2]==="]"?{role:"markdown-link-dest"}:o==="["&&n==="]"?{role:"bracket-label"}:{role:"bare-prose"}}function oF(t,e,r,o,n){if(e<0||r>t.length)return false;let{candidate:i}=Ka(o),a=i.replace(Xc,""),c=Pt(a),l=e+a.length,m=t[e-1],p=t[r];return eF(t,e,l)||m==="'"&&p==="'"||m==='"'&&p==='"'||m==="`"&&p==="`"||m==="<"&&p===">"?true:m==="["&&p==="]"?!(!n&&!io(c)&&qz(t,e,o)):m==="@"?true:m==="("?p===")"||p==="#"||p==="?"||p===" "||p===" ":n?io(c)?true:c.includes("/")||c.includes("\\")?c.startsWith("./")||c.startsWith("../")?true:(c.split(/[\\/]/).filter(Boolean).at(-1)??"").includes("."):false:false}var nF=d(()=>{re();ai();s(qz,"markdownBracketLabelDuplicatesDestination");s(eF,"isMarkdownReferenceDefinitionDestination");s(rF,"getTokenContext");s(oF,"shouldRewritePathToken");});function Cd(t){let e=new Set,r=Sd(t.content);return {content:t.content.replace(jN,(n,i,a)=>{if(r.some(([Ut,wt])=>i>=Ut&&i<wt)||!oF(a,i,i+n.length,n,t.rewriteBarePathTokens===true)||ZN(a,i,n)||UN(a,i,i+n.length))return n;let{candidate:c,suffix:l}=Ka(n);if(!c)return n;let m=Xc.exec(c),p=m?c.slice(0,m.index):c,u=m?m[0]:"";if(!p)return n;let g=rF(a,i,i+p.length);if(g.role!=="markdown-link-dest"&&xr.test(p))return n;let{translatedPath:f,resolvedBeforeTranslate:h,matchedPath:O}=YN({candidate:p,rawToken:c,projectRoot:t.projectRoot,sourceFile:t.sourceFile,destinationFile:t.destinationFile,translatePath:t.translatePath,pathExists:t.pathExists}),R=h;if(!O||!f)return f&&e.add(f),n;let S=Pt(p),A=p.endsWith("/")||t.pathIsDirectory?.(f)===true;if(A&&!S.includes("/")&&!S.includes("\\"))return n;if(R===null){let Ut=Pt(c);if(Ut.startsWith("agentsmesh/")&&(Ut=`.${Ut}`),Ut.startsWith(".agentsmesh/")||Ut.includes("/.agentsmesh/")){let wt=et(t.projectRoot),pn=V(t.projectRoot,t.projectRoot),kr=Ut.replace(/^\.\//,"");R=V(t.projectRoot,wt.join(pn,kr));}}let D=et(t.projectRoot);if(t.scope==="global"){let Ut=Pt(c),wt=Ut.startsWith(".agentsmesh/")||Ut.includes("/.agentsmesh/"),pn=io(Ut)||qN(Ut),kr=R!==null&&ao(t.projectRoot,R),hs=ao(t.projectRoot,f);if(R===f&&!hs&&!kr&&!wt){let _R=Pt(D.relative(t.projectRoot,V(t.projectRoot,t.sourceFile))).split("/").filter(Boolean)[0]??"",o$=(R!==null?Pt(D.relative(t.projectRoot,R)):"").split("/").filter(Boolean)[0]??"";if(_R.length>0&&_R===o$)return n}if(!pn&&!wt&&!kr&&!hs)return n}let N=V(t.projectRoot,t.destinationFile),G=V(t.projectRoot,f),J=Pt(D.relative(t.projectRoot,N)),X=Pt(D.relative(t.projectRoot,G)),q=J.split("/").filter(Boolean)[0]??"",Ft=X.split("/").filter(Boolean)[0]??"",Ht=!Pt(p).startsWith(".agentsmesh/")&&!A&&q.length>0&&q===Ft&&q.startsWith(".")&&q!==".agentsmesh"||g.role==="markdown-link-dest"||QN(a,i,p),lo=HN(t.projectRoot,t.destinationFile,f,p.endsWith("/"),{explicitCurrentDirLinks:t.explicitCurrentDirLinks===true||Ht,scope:t.scope??"project",pathIsDirectory:t.pathIsDirectory,logicalMeshSourceAbsolute:A?null:R,forceRelative:Ht,tokenContext:g,originalToken:p});return lo?`${lo}${u}${l}`:n}),missing:[...e]}}var x_=d(()=>{re();ai();zN();XN();tF();nF();s(Cd,"rewriteFileLinks");});function iF(t,e){let r=[t.normalize(e)];if(!existsSync(e))return r;try{let o=[realpathSync(e),realpathSync.native(e)];for(let n of o){let i=t.normalize(n);r.includes(i)||r.push(i);}}catch{}return r}async function U(t,e,r="project"){let o=et(e),n=new Map,i=Array.from(new Set([t,...kt]));for(let l of i){let m=await FN(l,e,r);for(let[p,u]of m.entries())n.set(p,u);}let a=new Map;for(let[l,m]of n.entries()){let p=o.normalize(o.join(e,m));for(let u of iF(o,o.join(e,l)))a.set(u,p);}let c=new Set;for(let l of new Set(n.values())){let m=o.normalize(o.join(e,l));c.add(m);for(let p of iF(o,m))c.add(o.normalize(p));}return (l,m,p)=>Cd({content:l,projectRoot:e,sourceFile:m,destinationFile:p,translatePath:s(u=>a.get(u)??u,"translatePath"),pathExists:s(u=>{let g=o.normalize(u);return a.has(u)||a.has(g)||existsSync(u)||c.has(g)},"pathExists"),explicitCurrentDirLinks:false,rewriteBarePathTokens:true,scope:r,pathIsDirectory:s(u=>{try{return statSync(u).isDirectory()}catch{return false}},"pathIsDirectory")}).content}var mt=d(()=>{re();vN();x_();uo();s(iF,"pathVariants");s(U,"createImportReferenceNormalizer");});function cF(t){let e={};for(let[r,o]of Object.entries(t)){if(!Array.isArray(o))continue;let n=[];for(let i of o){if(!i||typeof i!="object")continue;let a=i,c=typeof a.matcher=="string"?a.matcher:"";if(!c)continue;let l=Array.isArray(a.hooks)?a.hooks:[];for(let m of l){let p=m.type==="prompt"?"prompt":"command";if(!go({...m,type:p}))continue;let u=p==="prompt"?me(m)||Kt(m):Kt(m)||me(m),g={matcher:c,type:p,command:u};typeof m.timeout=="number"&&(g.timeout=m.timeout),n.push(g);}}n.length>0&&(e[r]=n);}return e}async function lF(t,e){let r=join(t,wn),o=await y(r);if(o===null)return false;let n;try{n=JSON.parse(o);}catch{return false}if(!n||typeof n!="object"||Array.isArray(n))return false;let i=cF(n);if(Object.keys(i).length===0)return false;let a=stringify(i),c=join(t,bi);return await L(dirname(c)),await _(c,a),e.push({fromTool:"claude-code",fromPath:r,toPath:bi,feature:"hooks"}),true}async function mF(t,e){let r=e.some(m=>m.feature==="hooks"&&m.fromPath.replace(/\\/g,"/").endsWith(wn)),o=join(t,$l),n=await y(o);if(!n)return;let i;try{i=JSON.parse(n);}catch{return}if(!e.some(m=>m.feature==="mcp")&&i.mcpServers&&typeof i.mcpServers=="object"){let m=i.mcpServers;await $t(t,Bl,m),e.push({fromTool:"claude-code",fromPath:o,toPath:Bl,feature:"mcp"});}let c=i.permissions;if(c&&typeof c=="object"&&!Array.isArray(c)){let m=c,p=Array.isArray(m.allow)?m.allow.filter(f=>typeof f=="string"):[],u=Array.isArray(m.deny)?m.deny.filter(f=>typeof f=="string"):[],g=Array.isArray(m.ask)?m.ask.filter(f=>typeof f=="string"):[];if(p.length>0||u.length>0||g.length>0){let f=stringify({allow:p,deny:u,ask:g}),h=join(t,hf);await L(dirname(h)),await _(h,f),e.push({fromTool:"claude-code",fromPath:o,toPath:hf,feature:"permissions"});}}let l=i.hooks;if(!r&&l&&typeof l=="object"&&!Array.isArray(l)){let m=cF(l);if(Object.keys(m).length>0){let p=stringify(m),u=join(t,bi);await L(dirname(u)),await _(u,p),e.push({fromTool:"claude-code",fromPath:o,toPath:bi,feature:"hooks"});}}}var pF=d(()=>{Pr();T();Fr();Tn();s(cF,"claudeHooksToCanonical");s(lF,"importClaudeHooksJson");s(mF,"importSettings");});async function dF(t,e,r){let o=join(t,Ml),n=join(t,ff),a=(await v(o)).filter(c=>c.endsWith("SKILL.md"));for(let c of a){let l=dirname(c),m=basename(l),p=join(n,m),u=await v(l);for(let g of u){let f=await y(g);if(f===null)continue;let h=relative(l,g),O=join(p,h);await L(dirname(O));let R=r(f,g,O),S=h==="SKILL.md"?k(R):null;await _(O,h==="SKILL.md"?await ho(O,S?.frontmatter??{},S?.body??""):R);let A=`${ff}/${m}/${h}`;e.push({fromTool:"claude-code",fromPath:g,toPath:A,feature:"skills"});}}}var gF=d(()=>{T();M();lt();Tn();s(dF,"importClaudeSkills");});async function ru(t,e={}){let r=e.scope??"project",o=[],n=await U("claude-code",t,r);return o.push(...await z(eu,t,r,{normalize:n})),await dF(t,o,n),await lF(t,o),await mF(t,o),o}var dh=d(()=>{mt();Ct();pF();gF();uh();s(ru,"importFromClaudeCode");});async function wm(t,e){let r=oV[e];if(!r)throw new Error(`No importer registered for native target: ${e}`);return r(t)}var oV,F_=d(()=>{dh();ay();Bh();Ty();Fh();y_();Ih();vh();Dy();Ky();$y();oV={"claude-code":ru,cursor:xu,copilot:Ru,"gemini-cli":Bu,"codex-cli":pu,windsurf:gd,cline:iu,continue:du,junie:Vu,kiro:qu,"kilo-code":Zu};s(wm,"importNativeToCanonical");});async function Ea(t){if(!await j(t))return false;if(await j(join(t,G_)))return true;try{let e=await readdir(t,{withFileTypes:!0});for(let r of e)if(!(!r.isDirectory()||r.name.startsWith("."))&&await j(join(t,r.name,G_)))return !0}catch{return false}return false}async function Tm(t){if(!await j(t))return [];if(await j(join(t,G_))){let e=await RS(t);return e?[e]:[]}return ja(t)}var G_,Od=d(()=>{T();pp();G_="SKILL.md";s(Ea,"isSkillPackLayout");s(Tm,"loadSkillsAtExtendPath");});function aV(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}function cV(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}async function Ld(t){if(!await j(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),o=basename(r),i=basename(t).replace(/\.md$/i,"");if(o==="rules")return {sliceRoot:r,implicitPick:{rules:[i]}};if(o==="commands")return {sliceRoot:r,implicitPick:{commands:[i]}};if(o==="agents")return {sliceRoot:r,implicitPick:{agents:[i]}};throw new Error(`Single-file install only supports .md files under rules/, commands/, or agents/. Got: ${t}`)}async function lV(t){if(basename(t)==="rules")return hi(t);let r=join(t,"rules");return await j(r)?hi(r):[]}async function mV(t){if(basename(t)==="commands")return yi(t);let r=join(t,"commands");return await j(r)?yi(r):[]}async function pV(t){if(basename(t)==="agents")return Ii(t);let r=join(t,"agents");return await j(r)?Ii(r):[]}async function uV(t){if(await Ea(t))return Tm(t);let e=join(t,"skills");return await Ea(e)?Tm(e):[]}async function Ad(t){let e=join(t,".agentsmesh");if(await j(e))return Ae(t);let r=aV();if(r.rules=await lV(t),r.commands=await mV(t),r.agents=await pV(t),r.skills=await uV(t),cV(r))throw new Error(`No installable resources at ${t}. Expected .agentsmesh/, or rules/, commands/, agents/, or Anthropic-style skills (SKILL.md).`);return r}var M_=d(()=>{T();lp();Ri();cp();ap();Od();s(aV,"emptyCanonical");s(cV,"isCanonicalSliceEmpty");s(Ld,"normalizeSlicePath");s(lV,"parseRulesAt");s(mV,"parseCommandsAt");s(pV,"parseAgentsAt");s(uV,"loadSkillsForPartialSlice");s(Ad,"loadCanonicalSliceAtPath");});function dV(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}async function fF(t){let e=t.resolvedPath;if(!t.path){let n=join(e,".agentsmesh");if(!await j(n)){if(await Ea(e)){let a=await Tm(e);return {...dV(),skills:a}}let i=t.target??await fp(e);if(!i)throw new Error(`Extend "${t.name}": No supported agent configuration found in ${e}.
142
+ Expected one of: .agentsmesh/, ${LS.join(", ")}.`);I.info(`[agentsmesh] Extend "${t.name}": ${t.target?"specified":"detected"} ${i} format, importing to .agentsmesh/...`),await wm(e,i);}return Ae(e)}let r=join(e,t.path);if(!await j(r))throw new Error(`Extend "${t.name}": path does not exist: ${r}`);if(t.target){let n=join(e,".agentsmesh");return await j(n)||(I.info(`[agentsmesh] Extend "${t.name}": path "${t.path}" with target "${t.target}" \u2014 importing at extend root, then loading canonical.`),await wm(e,t.target)),Ae(e)}let{sliceRoot:o}=await Ld(r);try{return await Ad(o)}catch(n){let i=n instanceof Error?n.message:String(n),a=new Error(`Extend "${t.name}": ${i}`);throw n instanceof Error&&(a.cause=n),a}}var hF=d(()=>{jg();T();ft();Ri();F_();Od();M_();s(dV,"emptyCanonical");s(fF,"loadCanonicalForExtend");});function kd(t,e,r,o){if(!r)return t;let n={...t};if(r.skills?.length&&e.includes("skills")){let i=new Set(r.skills),a=n.skills;n={...n,skills:a.filter(c=>i.has(c.name))};for(let c of r.skills)a.some(l=>l.name===c)||I.warn(`[agentsmesh] pick name "${c}" not found in skills from extend "${o}".`);}if(r.commands?.length&&e.includes("commands")){let i=new Set(r.commands),a=n.commands;n={...n,commands:a.filter(c=>i.has(c.name))};for(let c of r.commands)a.some(l=>l.name===c)||I.warn(`[agentsmesh] pick name "${c}" not found in commands from extend "${o}".`);}if(r.agents?.length&&e.includes("agents")){let i=new Set(r.agents),a=n.agents;n={...n,agents:a.filter(c=>i.has(c.name))};for(let c of r.agents)a.some(l=>l.name===c)||I.warn(`[agentsmesh] pick name "${c}" not found in agents from extend "${o}".`);}if(r.rules?.length&&e.includes("rules")){let i=new Set(r.rules),a=n.rules,c=s(l=>basename(l).replace(/\.md$/i,""),"stem");n={...n,rules:a.filter(l=>i.has(c(l.source)))};for(let l of r.rules)a.some(m=>c(m.source)===l)||I.warn(`[agentsmesh] pick name "${l}" not found in rules from extend "${o}".`);}return n}var j_=d(()=>{ft();s(kd,"applyExtendPick");});var hV,Qc,wd=d(()=>{hV=["rules","commands","agents","skills"],Qc=z$1.enum(hV);});var yV,yF,_F=d(()=>{gn();wd();yV=z$1.enum(["github","gitlab","git","local"]),yF=z$1.object({name:z$1.string().min(1),source:z$1.string().min(1),version:z$1.string().optional(),source_kind:yV,installed_at:z$1.string(),updated_at:z$1.string(),features:z$1.array(va).min(1),pick:hl.optional(),target:ze.optional(),path:z$1.string().optional(),paths:z$1.array(z$1.string().min(1)).min(1).optional(),as:Qc.optional(),content_hash:z$1.string()});});function IF(t){let e=fi(t);return e?e.kind==="github"?`github:${e.org}/${e.repo}`:e.kind==="gitlab"?`gitlab:${e.namespace}/${e.project}`:`git+${e.url}`:t.trim()}function IV(t,e){return e?t.length===e.length&&[...t].sort().every((r,o)=>r===[...e].sort()[o]):true}async function Td(t){let e=join(t,"pack.yaml"),r=await y(e);if(r===null)return null;try{let o=parse(r);return yF.parse(o)}catch{return null}}async function SF(t,e,r){if(!await j(t))return null;let o=IF(e),n;try{n=await readdir(t,{withFileTypes:!0});}catch{return null}for(let i of n){if(!i.isDirectory())continue;let a=join(t,i.name),c=await Td(a);if(c&&IF(c.source)===o&&c.target===r.target&&c.as===r.as&&IV(c.features,r.features))return {meta:c,packDir:a,name:c.name}}return null}async function bd(t){if(!await j(t))return [];let e;try{e=await readdir(t,{withFileTypes:!0});}catch{return []}let r=[];for(let o of e){if(!o.isDirectory())continue;let n=join(t,o.name),i=await Td(n);i&&r.push({meta:i,packDir:n,name:i.name});}return r}var Pd=d(()=>{T();_F();Il();s(IF,"sourceIdentity");s(IV,"sameFeatures");s(Td,"readPackMetadata");s(SF,"findExistingPack");s(bd,"listPacks");});function CF(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}async function RV(t){let[e,r,o,n,i,a,c,l]=await Promise.all([hi(join(t,"rules")),yi(join(t,"commands")),Ii(join(t,"agents")),ja(join(t,"skills")),br(join(t,"mcp.json")),up(join(t,"permissions.yaml")),dp(join(t,"hooks.yaml")),gp(join(t,"ignore"))]);return {...CF(),rules:e,commands:r,agents:o,skills:n,mcp:i,permissions:a,hooks:c,ignore:l}}async function EF(t){let e=join(t,"packs"),r=await bd(e),o=CF();for(let{meta:n,packDir:i}of r){let a=await RV(i),c=K_(a,n.features),l=kd(c,n.features,n.pick,n.name);o=Ua(o,l);}return o}var OF=d(()=>{ap();cp();lp();pp();Cl();Ng();vg();Gg();$g();ln();j_();Pd();s(CF,"emptyCanonical");s(RV,"loadPackCanonical");s(EF,"loadPacksCanonical");});function K_(t,e){if(e.length===0)return LF();let r=new Set(e.flatMap(o=>CV[o]??[]));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:[]}}function LF(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}async function he(t,e,r={},o=join(e,".agentsmesh")){let n=await $a(t,e,{refreshCache:r.refreshRemoteCache===true}),i=LF();for(let l of n){let m=await fF(l),p=K_(m,l.features),u=kd(p,l.features,l.pick,l.name);i=Ua(i,u);}let a=await EF(o);i=Ua(i,a);let c=await Ae(o);return i=Ua(i,c),{canonical:i,resolvedExtends:n}}var CV,ln=d(()=>{np();Ri();$g();hF();j_();OF();CV={rules:["rules"],commands:["commands"],agents:["agents"],skills:["skills"],mcp:["mcp"],permissions:["permissions"],hooks:["hooks"],ignore:["ignore"]};s(K_,"filterCanonicalByFeatures");s(LF,"emptyCanonical");s(he,"loadCanonicalWithExtends");});function pJ(t,e){let r=join(e,"node_modules",t),o=join(r,"package.json");if(!existsSync(o))throw new Error(`Cannot find package '${t}' in ${join(e,"node_modules")}`);let n=JSON.parse(readFileSync(o,"utf-8")),i=(typeof n.exports=="string"?n.exports:null)??(typeof n.main=="string"?n.main:null)??"index.js",a=resolve(r,i);if(!existsSync(a))throw new Error(`Package '${t}' entry '${i}' does not exist at ${a}`);return a}function uJ(t){return t.startsWith("file:")||t.startsWith("./")||t.startsWith("../")||t.startsWith("/")||/^[A-Za-z]:[/\\]/.test(t)}async function dJ(t,e){let{source:r}=t,o;if(uJ(r)){let i=r.startsWith("file:")?fileURLToPath(r):r,a=resolve(e,i);o=pathToFileURL(a).href;}else {let i=pJ(r,e);o=pathToFileURL(i).href;}return await import(o)}function gJ(t){return "descriptor"in t?[t.descriptor]:"descriptors"in t&&Array.isArray(t.descriptors)?t.descriptors:"default"in t?[t.default]:[]}async function jd(t,e){let r;try{r=await dJ(t,e);}catch(i){throw new Error(`Plugin '${t.source}' failed to import: ${i instanceof Error?i.message:String(i)}`,{cause:i})}let o=gJ(r),n=[];for(let i of o)try{let a=yd(i);_d(a),n.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:n}}async function ev(t,e){let r=[],o=process.env.AGENTSMESH_STRICT_PLUGINS==="1"||process.env.AGENTSMESH_STRICT_PLUGINS==="true",i=(await Promise.all(t.map(async a=>{try{let c=await jd(a,e);return r.push(c),null}catch(c){let l=`Plugin '${a.source}' failed to load: ${c instanceof Error?c.message:String(c)}`;return a.strict===true||o?new Error(l):(I.warn(l),null)}}))).filter(a=>a!==null);if(i.length>0){let a=i.map(c=>` - ${c.message}`).join(`
135
143
  `);throw new Error(`agentsmesh: ${i.length} plugin(s) failed strict load:
136
- ${a}`)}return r}var uh=d(()=>{Mg();Ce();st();s(vU,"resolveNpmSpecifier");s(MU,"isLocalSource");s($U,"importPluginModule");s(GU,"extractDescriptors");s(Tp,"loadPlugin");s(GA,"loadAllPlugins");});async function qt(t,e){t.plugins.length!==0&&await GA(t.plugins,e);}var Qn=d(()=>{uh();s(qt,"bootstrapPlugins");});function gh(t,e,r="project"){let n=[],o=[...t.targets,...t.pluginTargets??[]];for(let i of t.features){let a,c;switch(i){case "rules":c=e.rules.length,a="rules";break;case "commands":c=e.commands.length,a=c>0?`commands (${c})`:"commands";break;case "agents":c=e.agents.length,a=c>0?`agents (${c})`:"agents";break;case "skills":c=e.skills.length,a=c>0?`skills (${c})`:"skills";break;case "mcp":c=e.mcp?Object.keys(e.mcp.mcpServers).length:0,a=c>0?`mcp (${c} servers)`:"mcp";break;case "hooks":c=c0(e.hooks),a=c>0?`hooks (${c})`:"hooks";break;case "ignore":c=e.ignore.length>0?1:0,a="ignore";break;case "permissions":c=e.permissions&&(e.permissions.allow.length>0||e.permissions.deny.length>0)?1:0,a="permissions";break;default:continue}let l={};for(let m of o)l[m]=sp(m,i,t,r);if(n.push({feature:a,count:c,support:l}),i==="rules"){let m=e.rules.filter(p=>!p.root);if(m.length>0){let p={};for(let u of o)p[u]=sp(u,"additionalRules",t,r);n.push({feature:`additional rules (${m.length})`,count:m.length,support:p});}}}return n}function c0(t){if(!t)return 0;let e=0;for(let r of Object.values(t))Array.isArray(r)&&(e+=r.length);return e}var YA=d(()=>{gt();s(gh,"buildCompatibilityMatrix");s(c0,"countHooks");});function XA(t){return l0[t]??t}var l0,ZA=d(()=>{l0={"claude-code":"Claude"};s(XA,"matrixColumnLabel");});function qA(t){return Object.fromEntries(m0.map(e=>[e,Object.fromEntries(lt.map(r=>{let o=vo(r,t)?.[e];return [r,o??{level:"none"}]}))]))}function p0(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}function u0(t,e){return p0()?e:`${t}${e}${Kc.reset}`}function tx(t){let e=hh[t];return u0(d0[t],e)}var m0,QA,hh,Kc,d0,yh=d(()=>{Xe();gt();m0=["rules","additionalRules","commands","agents","skills","mcp","hooks","ignore","permissions"];s(qA,"buildSupportMatrix");QA=qA("project"),qA("global"),hh={native:"\u2713",embedded:"\u25C6",partial:"\u25D0",none:"\u2013"},Kc={green:"\x1B[32m",blue:"\x1B[34m",yellow:"\x1B[33m",dim:"\x1B[2m",cyan:"\x1B[36m",magenta:"\x1B[35m",bold:"\x1B[1m",reset:"\x1B[0m"};s(p0,"noColor");s(u0,"colorize");d0={native:Kc.green,embedded:Kc.blue,partial:Kc.yellow,none:Kc.dim};s(tx,"coloredSymbol");});function _h(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=s((B,V)=>r?V:`${B}${V}${n.reset}`,"c"),i=s(B=>B.replace(/\u001b\[[0-9;]*m/g,"").length,"visibleLength"),a=s((B,V)=>{let Lt=i(B),Et=Math.max(0,V-Lt);return B+" ".repeat(Et)},"padWithColor"),c=Math.max(12,...e.map(B=>B.length)),l=e.map(B=>XA(B)),m=Math.max(8,c),p=Math.max(12,...t.map(B=>B.feature.length)),u=s(B=>o(n.dim,"\u250C"+B.map(V=>"\u2500".repeat(V)).join("\u252C")+"\u2510"),"border"),f=s(B=>o(n.dim,"\u251C"+B.map(V=>"\u2500".repeat(V)).join("\u253C")+"\u2524"),"sep"),g=s(B=>o(n.dim,"\u2514"+B.map(V=>"\u2500".repeat(V)).join("\u2534")+"\u2518"),"bottom"),h=[p,...e.map(()=>m)],R=u(h),S=[a(o(n.bold+n.cyan,"Feature"),p),...l.map(B=>a(o(n.bold+n.magenta,B),m))],_=o(n.dim,"\u2502")+S.join(o(n.dim,"\u2502"))+o(n.dim,"\u2502"),k=f(h),T=t.map(B=>{let V=[a(o(n.cyan,B.feature),p)];for(let Lt of e){let Et=B.support[Lt]??"none",kr=r?hh[Et]:tx(Et);V.push(a(` ${kr} `,m));}return o(n.dim,"\u2502")+V.join(o(n.dim,"\u2502"))+o(n.dim,"\u2502")}),P=g(h),A=[R,_,k,...T,P];A.push("");let Z=[o(n.green,"\u2713")+" = native",o(n.blue,"\u25C6")+" = embedded",o(n.yellow,"\u25D0")+" = partial",o(n.dim,"\u2013")+" = not supported"];return A.push(o(n.bold,"Legend: ")+Z.join(" ")),A.join(`
137
- `)}var ex=d(()=>{ZA();yh();s(_h,"formatMatrix");});function Sh(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?"":`
144
+ ${a}`)}return r}var Z_=d(()=>{E_();je();ft();s(pJ,"resolveNpmSpecifier");s(uJ,"isLocalSource");s(dJ,"importPluginModule");s(gJ,"extractDescriptors");s(jd,"loadPlugin");s(ev,"loadAllPlugins");});async function le(t,e){t.plugins.length!==0&&await ev(t.plugins,e);}var ds=d(()=>{Z_();s(le,"bootstrapPlugins");});function tI(t,e,r="project"){let o=[],n=[...t.targets,...t.pluginTargets??[]];for(let i of t.features){let a,c;switch(i){case "rules":c=e.rules.length,a="rules";break;case "commands":c=e.commands.length,a=c>0?`commands (${c})`:"commands";break;case "agents":c=e.agents.length,a=c>0?`agents (${c})`:"agents";break;case "skills":c=e.skills.length,a=c>0?`skills (${c})`:"skills";break;case "mcp":c=e.mcp?Object.keys(e.mcp.mcpServers).length:0,a=c>0?`mcp (${c} servers)`:"mcp";break;case "hooks":c=GJ(e.hooks),a=c>0?`hooks (${c})`:"hooks";break;case "ignore":c=e.ignore.length>0?1:0,a="ignore";break;case "permissions":c=e.permissions&&(e.permissions.allow.length>0||e.permissions.deny.length>0)?1:0,a="permissions";break;default:continue}let l={};for(let m of n)l[m]=hd(m,i,t,r);if(o.push({feature:a,count:c,support:l}),i==="rules"){let m=e.rules.filter(p=>!p.root);if(m.length>0){let p={};for(let u of n)p[u]=hd(u,"additionalRules",t,r);o.push({feature:`additional rules (${m.length})`,count:m.length,support:p});}}}return o}function GJ(t){if(!t)return 0;let e=0;for(let r of Object.values(t))Array.isArray(r)&&(e+=r.length);return e}var pv=d(()=>{xt();s(tI,"buildCompatibilityMatrix");s(GJ,"countHooks");});function uv(t){return MJ[t]??t}var MJ,dv=d(()=>{MJ={"claude-code":"Claude"};s(uv,"matrixColumnLabel");});function gv(t){return Object.fromEntries($J.map(e=>[e,Object.fromEntries(kt.map(r=>{let n=oi(r,t)?.[e];return [r,n??{level:"none"}]}))]))}function jJ(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}function UJ(t,e){return jJ()?e:`${t}${e}${Nm.reset}`}function hv(t){let e=eI[t];return UJ(KJ[t],e)}var $J,fv,eI,Nm,KJ,rI=d(()=>{uo();xt();$J=["rules","additionalRules","commands","agents","skills","mcp","hooks","ignore","permissions"];s(gv,"buildSupportMatrix");fv=gv("project"),gv("global"),eI={native:"\u2713",embedded:"\u25C6",partial:"\u25D0",none:"\u2013"},Nm={green:"\x1B[32m",blue:"\x1B[34m",yellow:"\x1B[33m",dim:"\x1B[2m",cyan:"\x1B[36m",magenta:"\x1B[35m",bold:"\x1B[1m",reset:"\x1B[0m"};s(jJ,"noColor");s(UJ,"colorize");KJ={native:Nm.green,embedded:Nm.blue,partial:Nm.yellow,none:Nm.dim};s(hv,"coloredSymbol");});function oI(t,e){let r=process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!=="",o={cyan:"\x1B[36m",magenta:"\x1B[35m",bold:"\x1B[1m",dim:"\x1B[2m",green:"\x1B[32m",blue:"\x1B[34m",yellow:"\x1B[33m",reset:"\x1B[0m"},n=s((X,q)=>r?q:`${X}${q}${o.reset}`,"c"),i=s(X=>X.replace(/\u001b\[[0-9;]*m/g,"").length,"visibleLength"),a=s((X,q)=>{let Ft=i(X),Gt=Math.max(0,q-Ft);return X+" ".repeat(Gt)},"padWithColor"),c=Math.max(12,...e.map(X=>X.length)),l=e.map(X=>uv(X)),m=Math.max(8,c),p=Math.max(12,...t.map(X=>X.feature.length)),u=s(X=>n(o.dim,"\u250C"+X.map(q=>"\u2500".repeat(q)).join("\u252C")+"\u2510"),"border"),g=s(X=>n(o.dim,"\u251C"+X.map(q=>"\u2500".repeat(q)).join("\u253C")+"\u2524"),"sep"),f=s(X=>n(o.dim,"\u2514"+X.map(q=>"\u2500".repeat(q)).join("\u2534")+"\u2518"),"bottom"),h=[p,...e.map(()=>m)],O=u(h),R=[a(n(o.bold+o.cyan,"Feature"),p),...l.map(X=>a(n(o.bold+o.magenta,X),m))],S=n(o.dim,"\u2502")+R.join(n(o.dim,"\u2502"))+n(o.dim,"\u2502"),A=g(h),D=t.map(X=>{let q=[a(n(o.cyan,X.feature),p)];for(let Ft of e){let Gt=X.support[Ft]??"none",co=r?eI[Gt]:hv(Gt);q.push(a(` ${co} `,m));}return n(o.dim,"\u2502")+q.join(n(o.dim,"\u2502"))+n(o.dim,"\u2502")}),N=f(h),G=[O,S,A,...D,N];G.push("");let J=[n(o.green,"\u2713")+" = native",n(o.blue,"\u25C6")+" = embedded",n(o.yellow,"\u25D0")+" = partial",n(o.dim,"\u2013")+" = not supported"];return G.push(n(o.bold,"Legend: ")+J.join(" ")),G.join(`
145
+ `)}var yv=d(()=>{dv();rI();s(oI,"formatMatrix");});function sI(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((o,n)=>o+(Array.isArray(n)?n.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?"":`
138
146
  Per-file details:
139
147
  `+e.join(`
140
148
  `)+`
141
- `}var rx=d(()=>{s(Sh,"formatVerboseDetails");});var Ch=d(()=>{YA();ex();rx();});var Rh={};iu(Rh,{runMatrix:()=>Bc});async function Bc(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",o=t.targets,i=typeof o=="string"&&o?o.split(",").map(f=>f.trim()).filter(Boolean):void 0,{config:a,context:c}=await ut(r,n);await qt(a,r);let{canonical:l}=await se(a,c.configDir,{},c.canonicalDir),m=i??[...a.targets,...a.pluginTargets??[]],p=gh(a,l,n),u=Sh(l);return {exitCode:0,data:{targets:m,features:p.map(f=>({name:f.feature,support:f.support}))},verboseDetails:u||void 0}}var Hc=d(()=>{de();ln();Ch();Qn();s(Bc,"runMatrix");});var Oh={};iu(Oh,{renderMatrix:()=>zc});function zc(t,e){if(t.data.features.length===0){I.info("No features enabled. Enable features in agentsmesh.yaml.");return}let r=t.data.features.map(o=>({feature:o.name,count:0,support:o.support})),n=_h(r,t.data.targets);process.stdout.write(n),process.stdout.write(`
149
+ `}var _v=d(()=>{s(sI,"formatVerboseDetails");});var iI=d(()=>{pv();yv();_v();});var aI={};gg(aI,{runMatrix:()=>Fm});async function Fm(t,e){let r=e??process.cwd(),o=t.global===true?"global":"project",n=t.targets,i=typeof n=="string"&&n?n.split(",").map(g=>g.trim()).filter(Boolean):void 0,{config:a,context:c}=await Tt(r,o);await le(a,r);let{canonical:l}=await he(a,c.configDir,{},c.canonicalDir),m=i??[...a.targets,...a.pluginTargets??[]],p=tI(a,l,o),u=sI(l);return {exitCode:0,data:{targets:m,features:p.map(g=>({name:g.feature,support:g.support}))},verboseDetails:u||void 0}}var vm=d(()=>{Oe();ln();iI();ds();s(Fm,"runMatrix");});var cI={};gg(cI,{renderMatrix:()=>Gm});function Gm(t,e){if(t.data.features.length===0){I.info("No features enabled. Enable features in agentsmesh.yaml.");return}let r=t.data.features.map(n=>({feature:n.name,count:0,support:n.support})),o=oI(r,t.data.targets);process.stdout.write(o),process.stdout.write(`
142
150
  `),e?.verbose&&t.verboseDetails&&(process.stdout.write(t.verboseDetails),process.stdout.write(`
143
- `));}var Vc=d(()=>{st();Ch();s(zc,"renderMatrix");});function Fy(t){let e=Object.keys(t);return {async route(r,n,o){let i=t[r];if(i){await i(n,o);return}throw new Error(`Unknown command "${r}". Available: ${e.join(", ")}`)},commands:s(()=>[...e],"commands")}}s(Fy,"createRouter");st();var Gy=[{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"},{name:"--json",description:"Output machine-readable JSON (single envelope to stdout)"}],jy=[{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:"convert",usage:"agentsmesh convert --from <target> --to <target> [flags]",description:"Convert configuration directly from one tool to another",flags:[{name:"--from <target>",description:"Source tool ID to convert from (required)"},{name:"--to <target>",description:"Destination tool ID to convert to (required)"},{name:"--global",description:"Convert user-level config (use home directory paths)"},{name:"--dry-run",description:"Preview conversion without writing files"}]},{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 (implied by --json)"}]},{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)"}]},{name:"mcp",usage:"agentsmesh mcp",description:"Start the agentsmesh MCP server (stdio)",flags:[]}];function Uy(t,e=18){return t.length===0?" (no command-specific flags)":t.map(r=>` ${r.name.padEnd(e)}${r.description}`).join(`
144
- `)}s(Uy,"formatFlags");function Wy(){let t=jy.map(e=>`- ${e.name.padEnd(8)} ${e.description}
151
+ `));}var Mm=d(()=>{ft();iI();s(Gm,"renderMatrix");});function RR(t){let e=Object.keys(t);return {async route(r,o,n){let i=t[r];if(i){await i(o,n);return}throw new Error(`Unknown command "${r}". Available: ${e.join(", ")}`)},commands:s(()=>[...e],"commands")}}s(RR,"createRouter");ft();var OR=[{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"},{name:"--json",description:"Output machine-readable JSON (single envelope to stdout)"}],LR=[{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:"convert",usage:"agentsmesh convert --from <target> --to <target> [flags]",description:"Convert configuration directly from one tool to another",flags:[{name:"--from <target>",description:"Source tool ID to convert from (required)"},{name:"--to <target>",description:"Destination tool ID to convert to (required)"},{name:"--global",description:"Convert user-level config (use home directory paths)"},{name:"--dry-run",description:"Preview conversion without writing files"}]},{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 (implied by --json)"}]},{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)"}]},{name:"mcp",usage:"agentsmesh mcp",description:"Start the agentsmesh MCP server (stdio)",flags:[]}];function AR(t,e=18){return t.length===0?" (no command-specific flags)":t.map(r=>` ${r.name.padEnd(e)}${r.description}`).join(`
152
+ `)}s(AR,"formatFlags");function kR(){let t=LR.map(e=>`- ${e.name.padEnd(8)} ${e.description}
145
153
  Usage: ${e.usage}
146
- ${Uy(e.flags)}`).join(`
154
+ ${AR(e.flags)}`).join(`
147
155
 
148
156
  `);I.info(`agentsmesh <command> [flags]
149
157
 
150
158
  Global flags:
151
- ${Uy(Gy)}
159
+ ${AR(OR)}
152
160
 
153
161
  Commands:
154
162
  ${t}
155
163
 
156
- Tip: run "agentsmesh <command> --help" for this same command reference.`);}s(Wy,"printHelp");var al;function VT(){try{let t=createRequire(import.meta.url),e=dirname(fileURLToPath(import.meta.url)),r=e.endsWith("dist")?join(e,"..","package.json"):join(e,"..","..","package.json");return t(r).version}catch{return}}s(VT,"readPackageVersion");function JT(){if(typeof __AGENTSMESH_VERSION__<"u")return __AGENTSMESH_VERSION__;let t=globalThis.__AGENTSMESH_VERSION__;return typeof t=="string"?t:"unknown"}s(JT,"getVersionFallback");function ka(){return al||(al=VT()??JT(),al)}s(ka,"getVersion");function By(){process.stdout.write(`agentsmesh v${ka()}
157
- `);}s(By,"printVersion");st();function ei(t,e){let r={success:e.success,command:t};e.success?r.data=e.data:(r.error=e.error,e.data!==void 0&&(r.data=e.data)),process.stdout.write(JSON.stringify(r)+`
158
- `);}s(ei,"emitJson");var Lr=class extends Error{static{s(this,"CliUsageError");}constructor(e){super(e),this.name="CliUsageError";}};function Hy(t,e){let r=t instanceof Lr?2:1;if(e?.json)return ei(e.command??"unknown",{success:false,error:t.message}),process.exit(r);e?.verbose&&t.stack?process.stderr.write(t.stack+`
159
- `):I.error(t.message),process.exit(r);}s(Hy,"handleError");st();function ue(t,e,r,n){if(r.json===true){let o=e.exitCode===0;ei(t,o?{success:true,data:e.data}:{success:false,error:`Command '${t}' failed`,data:e.data}),process.exit(e.exitCode);return}n(),e.exitCode!==0&&process.exit(e.exitCode);}s(ue,"handleResult");de();ln();b();function jc(t){return createHash("sha256").update(t,"utf8").digest("hex")}s(jc,"hashContent");async function Cp(t){try{let e=await readFile(t,"utf8");return jc(e)}catch(e){if(e instanceof Error&&"code"in e&&e.code==="ENOENT")return null;throw e}}s(Cp,"hashFile");Sp();var oh=".lock",Jj=[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 Yj(t){return t.startsWith("packs/")?false:Jj.some(e=>e(t))}s(Yj,"isCanonical");var Xj={rules:s(t=>t.startsWith("rules/"),"rules"),commands:s(t=>t.startsWith("commands/"),"commands"),agents:s(t=>t.startsWith("agents/"),"agents"),skills:s(t=>/^skills\/[^/]+\/.+$/.test(t),"skills"),mcp:s(t=>t==="mcp.json","mcp"),permissions:s(t=>t==="permissions.yaml","permissions"),hooks:s(t=>t==="hooks.yaml","hooks"),ignore:s(t=>t==="ignore","ignore")};async function Rp(t){let e=join(t,oh),r=await y(e);if(r===null)return null;try{let n=parse(r);return !n||typeof n!="object"?null:{generatedAt:String(n.generated_at??""),generatedBy:String(n.generated_by??""),libVersion:String(n.lib_version??""),checksums:n.checksums&&typeof n.checksums=="object"?n.checksums:{},extends:n.extends&&typeof n.extends=="object"?n.extends:{},packs:n.packs&&typeof n.packs=="object"?n.packs:{}}}catch{return null}}s(Rp,"readLock");async function Op(t,e){let r=join(t,oh),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.
164
+ Tip: run "agentsmesh <command> --help" for this same command reference.`);}s(kR,"printHelp");var Qm;function l$(){try{let t=createRequire(import.meta.url),e=dirname(fileURLToPath(import.meta.url)),r=e.endsWith("dist")?join(e,"..","package.json"):join(e,"..","..","package.json");return t(r).version}catch{return}}s(l$,"readPackageVersion");function m$(){if(typeof __AGENTSMESH_VERSION__<"u")return __AGENTSMESH_VERSION__;let t=globalThis.__AGENTSMESH_VERSION__;return typeof t=="string"?t:"unknown"}s(m$,"getVersionFallback");function gl(){return Qm||(Qm=l$()??m$(),Qm)}s(gl,"getVersion");function TR(){process.stdout.write(`agentsmesh v${gl()}
165
+ `);}s(TR,"printVersion");ft();function Da(t,e){let r={success:e.success,command:t};e.success?r.data=e.data:(r.error=e.error,e.data!==void 0&&(r.data=e.data)),process.stdout.write(JSON.stringify(r)+`
166
+ `);}s(Da,"emitJson");var mo=class extends Error{static{s(this,"CliUsageError");}constructor(e){super(e),this.name="CliUsageError";}};function bR(t,e){let r=t instanceof mo?2:1;if(e?.json)return Da(e.command??"unknown",{success:false,error:t.message}),process.exit(r);e?.verbose&&t.stack?process.stderr.write(t.stack+`
167
+ `):I.error(t.message),process.exit(r);}s(bR,"handleError");ft();function Ee(t,e,r,o){if(r.json===true){let n=e.exitCode===0;Da(t,n?{success:true,data:e.data}:{success:false,error:`Command '${t}' failed`,data:e.data}),process.exit(e.exitCode);return}o(),e.exitCode!==0&&process.exit(e.exitCode);}s(Ee,"handleResult");Oe();ln();T();function xm(t){return createHash("sha256").update(t,"utf8").digest("hex")}s(xm,"hashContent");async function xd(t){try{let e=await readFile(t,"utf8");return xm(e)}catch(e){if(e instanceof Error&&"code"in e&&e.code==="ENOENT")return null;throw e}}s(xd,"hashFile");Pd();var W_=".lock",wV=[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 TV(t){return t.startsWith("packs/")?false:wV.some(e=>e(t))}s(TV,"isCanonical");var bV={rules:s(t=>t.startsWith("rules/"),"rules"),commands:s(t=>t.startsWith("commands/"),"commands"),agents:s(t=>t.startsWith("agents/"),"agents"),skills:s(t=>/^skills\/[^/]+\/.+$/.test(t),"skills"),mcp:s(t=>t==="mcp.json","mcp"),permissions:s(t=>t==="permissions.yaml","permissions"),hooks:s(t=>t==="hooks.yaml","hooks"),ignore:s(t=>t==="ignore","ignore")};async function Dd(t){let e=join(t,W_),r=await y(e);if(r===null)return null;try{let o=parse(r);return !o||typeof o!="object"?null:{generatedAt:String(o.generated_at??""),generatedBy:String(o.generated_by??""),libVersion:String(o.lib_version??""),checksums:o.checksums&&typeof o.checksums=="object"?o.checksums:{},extends:o.extends&&typeof o.extends=="object"?o.extends:{},packs:o.packs&&typeof o.packs=="object"?o.packs:{}}}catch{return null}}s(Dd,"readLock");async function Nd(t,e){let r=join(t,W_),o={generated_at:e.generatedAt,generated_by:e.generatedBy,lib_version:e.libVersion,checksums:e.checksums,extends:e.extends,packs:e.packs},n=`# Auto-generated. DO NOT EDIT MANUALLY.
160
168
  # Tracks the state of all config files for team conflict resolution.
161
169
 
162
- `+stringify(n);await C(r,o);}s(Op,"writeLock");async function Zn(t){if(!await F(t))return {};let e=await D(t),r={};for(let n of e){let o=relative(t,n).replace(/\\/g,"/");if(o===oh||!Yj(o))continue;let i=await Cp(n);i!==null&&(r[o]=i.startsWith("sha256:")?i:`sha256:${i}`);}return r}s(Zn,"buildChecksums");function Ep(t,e,r){if(r.length===0)return [];let n=r.map(a=>Xj[a]).filter(a=>a!==void 0);if(n.length===0)return [];let o=new Set([...Object.keys(t),...Object.keys(e)]),i=[];for(let a of o)n.some(c=>c(a))&&t[a]!==e[a]&&i.push(a);return i}s(Ep,"detectLockedFeatureViolations");async function kp(t){let e=await Ip(t),r={};for(let{meta:n}of e)r[n.name]=n.content_hash;return r}s(kp,"buildPackChecksums");async function pa(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 Zn(n),i=Object.keys(o).sort().map(l=>`${l}:${o[l]}`).join(`
163
- `),a=jc(i),c=a.startsWith("sha256:")?a:`sha256:${a}`;e[r.name]=`local:${c}`;}return e}s(pa,"buildExtendChecksums");gt();Ce();function Zj(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}s(Zj,"addDirectoryMapping");function iA(t,e,r){let n=posix.dirname(e),o=posix.dirname(r);for(;n!==".agentsmesh/skills"&&n!==".";)Zj(t,n,o),n=posix.dirname(n),o=posix.dirname(o);}s(iA,"addSkillDirectoryMappings");gt();function aA(t,e,r="project"){let n=vt(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)}s(aA,"ruleTargetPath");function cA(t,e,r,n="project"){let o=vt(t,n);return o?o.paths.commandPath(e,r):null}s(cA,"commandTargetPath");function lA(t,e,r,n="project"){let o=vt(t,n);return o?o.paths.agentPath(e,r):null}s(lA,"agentTargetPath");Zt();Ft();oe();gt();function tU(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}s(tU,"addDirectoryMapping");function Uc(t,e,r,n="project"){let o=new Map;for(let a of e.rules){let c=aA(t,a,n);c&&o.set(`.agentsmesh/rules/${basename(a.source)}`,c);}for(let a of e.commands){let c=cA(t,a.name,r,n);c&&o.set(`.agentsmesh/commands/${a.name}.md`,c);}for(let a of e.agents){let c=lA(t,a.name,r,n);c&&o.set(`.agentsmesh/agents/${a.name}.md`,c);}let i=Tc(t,n);if(!i)return o;for(let a of e.skills){tU(o,`.agentsmesh/skills/${a.name}`,`${i}/${a.name}`),o.set(`.agentsmesh/skills/${a.name}/SKILL.md`,`${i}/${a.name}/SKILL.md`);for(let c of a.supportingFiles){let l=c.relativePath.replace(/\\/g,"/"),m=`.agentsmesh/skills/${a.name}/${l}`,p=`${i}/${a.name}/${l}`;o.set(m,p),iA(o,m,p);}}return o}s(Uc,"buildReferenceMap");Xe();var qn="AGENTS.md";function eU(t){return t.target===wa&&t.path.endsWith(qn)}s(eU,"isCodexAgents");function mA(t){return t.target==="windsurf"&&t.path.endsWith(qn)}s(mA,"isWindsurfAgents");function pA(t){return t.target==="cline"&&t.path.endsWith(qn)}s(pA,"isClineAgents");function sh(t){return t.target==="cursor"&&t.path.endsWith(qn)}s(sh,"isCursorAgents");function ih(t){return t.target==="gemini-cli"&&t.path.endsWith(qn)}s(ih,"isGeminiAgents");function rU(t){return t.target==="kiro"&&t.path.endsWith(qn)}s(rU,"isKiroAgents");function nU(t){return t.target==="kilo-code"&&t.path.endsWith(qn)}s(nU,"isKiloCodeAgents");function uA(t){return t.target==="warp"&&t.path.endsWith(qn)}s(uA,"isWarpAgents");function oU(t){return sh(t)||ih(t)}s(oU,"isCompatibilityAgents");function Lp(t,e,r,n){let o=n.get(t);if(o)return o;let i=new Map;for(let[a,c]of Uc(t,e,r))i.has(c)||i.set(c,a);return n.set(t,i),i}s(Lp,"reverseReferenceMap");function bp(t,e){let r=[...e.entries()].sort(([o],[i])=>i.length-o.length),n=t;for(let[o,i]of r)n=n.split(o).join(i);return n}s(bp,"normalizeContent");function sU(t,e,r,n,o){let i=Lp(t.target,r,n,o),a=Lp(e.target,r,n,o);return bp(t.content,i)===bp(e.content,a)}s(sU,"hasEquivalentCanonicalContent");function iU(t,e,r,n,o){let i=Lp(t.target,r,n,o),a=Lp(e.target,r,n,o),c=bp(t.content,i).trim(),l=bp(e.content,a).trim();return c.length>l.length&&c.includes(l)}s(iU,"hasCanonicalSupersetContent");function dA(t,e,r){let n=new Map;for(let a of t){if(!a.path.endsWith(qn))continue;let c=n.get(a.path)??new Set;c.add(a.target),n.set(a.path,c);}let o=new Map;for(let a of t)eU(a)&&o.set(a.path,a);let i=new Map;return t.filter(a=>{if(sh(a)){let l=n.get(a.path);if(l&&[...l].some(m=>m!=="cursor"))return false}if(ih(a)){let l=n.get(a.path);if(l&&[...l].some(m=>m!=="cursor"&&m!=="gemini-cli"))return false}if(!mA(a)&&!pA(a)&&!sh(a)&&!ih(a)&&!rU(a)&&!nU(a)&&!uA(a))return true;let c=o.get(a.path);return c?oU(a)||mA(a)||pA(a)||uA(a)?false:!(sU(c,a,e,r,i)||iU(c,a,e,r,i)):true})}s(dA,"preferEquivalentCodexAgents");Vt();zg();Vt();Vt();gt();function gA(t,e,r,n){let o=n.normalize(e),i=n.normalize(r);t.set(o,i),t.set(`${o}/`,`${i}/`);}s(gA,"addPackAbsoluteDirMapping");function aU(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 i=posix.dirname(o);if(i===o)break;o=i;}}return [...e]}s(aU,"skillSupportingDirPrefixes");function hA(t,e,r,n,o){let i=Tc(e,o);if(!i)return;let a=J(n),c=a.join(n,".agentsmesh","packs");for(let l of r.skills){let m=a.dirname(l.source);if(!m.startsWith(c))continue;let p=a.normalize(a.join(n,i,l.name));gA(t,m,p,a),t.set(a.normalize(l.source),a.normalize(a.join(p,"SKILL.md")));for(let u of l.supportingFiles){let f=a.normalize(a.join(p,u.relativePath));t.set(a.normalize(u.absolutePath),f);}for(let u of aU(l.supportingFiles))gA(t,a.join(m,u),a.join(p,u),a);}}s(hA,"addPackSkillArtifactMappings");Vt();function cU(t){return `.agentsmesh/rules/${basename(t.source)}`}s(cU,"canonicalRulePath");function lU(t){return `.github/instructions/${basename(t.source,".md")}.instructions.md`}s(lU,"copilotInstructionsPath");function _A(t,e,r,n,o){if(t!=="copilot"||!n?.startsWith(".github/instructions/"))return;let i=J(r);for(let a of o.rules)a.root||a.globs.length===0||e.set(i.normalize(i.join(r,cU(a))),i.normalize(i.join(r,lU(a))));}s(_A,"applyCopilotInstructionArtifactRefs");gt();function Ap(t){return t?(t.outputFamilies??[]).filter(e=>e.kind==="additional").flatMap(e=>[...e.explicitPaths??[]]):[]}s(Ap,"getAdditionalRootDecorationPaths");function IA(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"}s(IA,"resolveRewriteFamilyId");function ah(t,e){e!==void 0&&e.length>0&&!t.includes(e)&&t.push(e);}s(ah,"pushUnique");function SA(t,e,r,n){let o=[],i=r.get(`.agentsmesh/rules/${basename(e.source)}`);ah(o,i);let a=vt(t,n);if(e.root)for(let c of Ap(a))ah(o,c);for(let c of a?.extraRuleOutputPaths?.(e,{refs:r,scope:n})??[])ah(o,c);return o}s(SA,"extraRuleOutputPaths");gt();function CA(t,e,r,n,o,i){let a=vt(t,e);if(!a?.mirrorGlobalPath)return;let c=a.mirrorGlobalPath(r,i??[]),l=c===null?[]:Array.isArray(c)?c:[c];for(let m of l)m!==r&&o.set(m,n);}s(CA,"addSkillMirrorSourceEntry");function pU(t){return `.agentsmesh/commands/${t.name}.md`}s(pU,"canonicalCommandPath");function uU(t){return `.agentsmesh/agents/${t.name}.md`}s(uU,"canonicalAgentPath");function dU(t){return `.agentsmesh/skills/${t.name}/SKILL.md`}s(dU,"canonicalSkillPath");function RA(t,e,r,n,o,i){let a=i?.scope??"project",c=J(n),l=new Map([...Uc(t,e,r,a)].map(([m,p])=>[c.normalize(c.join(n,m)),c.normalize(c.join(n,p))]));return _A(t,l,n,o,e),hA(l,t,e,n,a),l}s(RA,"buildArtifactPathMap");function OA(t,e,r,n="project",o){let i=Uc(t,e,r,n),a=new Map;for(let c of e.rules)for(let l of SA(t,c,i,n))a.set(l,c.source);for(let c of e.commands){let l=i.get(pU(c));l&&a.set(l,c.source);}for(let c of e.agents){let l=i.get(uU(c));l&&a.set(l,c.source);}for(let c of e.skills){let l=i.get(dU(c));l&&(a.set(l,c.source),CA(t,n,l,c.source,a,o));for(let m of c.supportingFiles){let p=`.agentsmesh/skills/${c.name}/${m.relativePath.replace(/\\/g,"/")}`,u=i.get(p);u&&(a.set(u,m.absolutePath),CA(t,n,u,m.absolutePath,a,o));}}return a}s(OA,"buildOutputSourceMap");gt();Ce();Tu();function hU(t,e){if(!e)return null;for(let r of e){let n=et(r);if(n?.sharedArtifacts){for(let[o,i]of Object.entries(n.sharedArtifacts))if(i==="owner"&&t.startsWith(o))return r}}return null}s(hU,"findSharedArtifactOwner");function EA(t,e,r){if(e==="global"){let n=hU(t.path,r);if(n)return n;let o=J_(t.path);if(o)return o}return t.target}s(EA,"artifactMapTargetForResult");function yU(t,e){return `${t}\0${(e??[]).join(",")}`}s(yU,"sourceMapCacheKey");function ch(t,e){let r=J(t),n=new Set;for(let o of e){let i=r.join(t,o.path);n.add(i);let a=r.dirname(i);for(;a.startsWith(t)&&!n.has(a)&&(n.add(a),a!==t);)a=r.dirname(a);}return n}s(ch,"collectPlannedPaths");function _U(t,e,r){let n=vt(t.target,e),o=IA(n,t.path);if(o!=="default")return `${t.target}:${o}`;let i=EA(t,e,r);return i===t.target?t.target:`${t.target}~via~${i}`}s(_U,"artifactCacheKey");function kA(t,e,r,n,o="project",i){let a=ch(n,t),c=new Map,l=new Map;return t.map(m=>{let p=yU(m.target,i),f=(l.get(p)??(()=>{let _=OA(m.target,e,r,o,i);return l.set(p,_),_})()).get(m.path);if(!f)return m;let g=EA(m,o,i),h=_U(m,o,i),R=c.get(h)??(()=>{let _=RA(g,e,r,n,m.path,{scope:o});return c.set(h,_),_})(),S=pp({content:m.content,projectRoot:n,sourceFile:f,destinationFile:J(n).join(n,m.path),translatePath:s(_=>R.get(_)??_,"translatePath"),pathExists:s(_=>a.has(_)||existsSync(_),"pathExists"),explicitCurrentDirLinks:true,rewriteBarePathTokens:true,scope:o,pathIsDirectory:s(_=>{try{return statSync(_).isDirectory()}catch{return false}},"pathIsDirectory")});return S.content===m.content?m:{...m,content:S.content}})}s(kA,"rewriteGeneratedReferences");Vt();jo();var SU=/!?\[[^\]]*\]\(([^)]+)\)/g,CU=/^\s*\[[^\]\n]+\]:\s*(?:<([^>\n]*)>|(\S+))/gm;function RU(t){return t.endsWith(".md")||t.endsWith(".mdc")}s(RU,"isMarkdownLikeOutput");function OU(t,e){return e.some(([r,n])=>t>=r&&t<n)}s(OU,"isOffsetInRanges");function EU(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}s(EU,"parseMarkdownLinkDestination");function kU(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)}s(kU,"shouldSkipLocalValidation");function wU(t,e){if(e.has(t))return true;try{let r=statSync(t);return r.isFile()||r.isDirectory()}catch{return false}}s(wU,"pathExistsForGenerate");function LU(t,e,r){let o=EU(t).split("#")[0]??"",{candidate:i}=mi(o),a=i,c=ca.exec(a);c&&(a=a.slice(0,c.index));let l;try{l=decodeURIComponent(a);}catch{l=a;}if(kU(l))return [];let m=Dc(l,e,r);if(m.length===0){let u=J(e),f=U(e,r);m=[U(e,u.join(u.dirname(f),l)),U(e,u.join(e,l))];}let p=[];for(let u of m)for(let f of Nc(e,u)){let g=U(e,f);p.includes(g)||p.push(g);}return p}s(LU,"resolveMarkdownLinkTargets");function bU(t,e){let r=ch(e,t),n=[];for(let o of t){if(!RU(o.path))continue;let i=U(e,J(e).join(e,o.path)),a=mp(o.content),c=s((l,m)=>{if(OU(m,a))return;let p=LU(l,e,i);p.length!==0&&(p.some(u=>wU(u,r))||n.push({generatePath:o.path,target:o.target,rawLink:l.trim(),checkedPaths:p}));},"visitDestination");for(let l of o.content.matchAll(SU)){let m=l[1];m!==void 0&&c(m,l.index??0);}for(let l of o.content.matchAll(CU)){let m=(l[1]??l[2]??"").trim();m&&c(m,l.index??0);}}return n}s(bU,"findBrokenMarkdownLinks");function wA(t,e){let r=bU(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:
164
- ${n.join(`
170
+ `+stringify(o);await _(r,n);}s(Nd,"writeLock");async function us(t){if(!await j(t))return {};let e=await v(t),r={};for(let o of e){let n=relative(t,o).replace(/\\/g,"/");if(n===W_||!TV(n))continue;let i=await xd(o);i!==null&&(r[n]=i.startsWith("sha256:")?i:`sha256:${i}`);}return r}s(us,"buildChecksums");function Fd(t,e,r){if(r.length===0)return [];let o=r.map(a=>bV[a]).filter(a=>a!==void 0);if(o.length===0)return [];let n=new Set([...Object.keys(t),...Object.keys(e)]),i=[];for(let a of n)o.some(c=>c(a))&&t[a]!==e[a]&&i.push(a);return i}s(Fd,"detectLockedFeatureViolations");async function vd(t){let e=await bd(t),r={};for(let{meta:o}of e)r[o.name]=o.content_hash;return r}s(vd,"buildPackChecksums");async function qc(t){let e={};for(let r of t){if(r.version!==void 0){e[r.name]=r.version;continue}let o=join(r.resolvedPath,".agentsmesh"),n=await us(o),i=Object.keys(n).sort().map(l=>`${l}:${n[l]}`).join(`
171
+ `),a=xm(i),c=a.startsWith("sha256:")?a:`sha256:${a}`;e[r.name]=`local:${c}`;}return e}s(qc,"buildExtendChecksums");xt();je();function tl(t){return t?(t.outputFamilies??[]).filter(e=>e.kind==="additional").flatMap(e=>[...e.explicitPaths??[]]):[]}s(tl,"getAdditionalRootDecorationPaths");function AF(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"}s(AF,"resolveRewriteFamilyId");re();x_();function PV(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}s(PV,"addDirectoryMapping");function kF(t,e,r){let o=posix.dirname(e),n=posix.dirname(r);for(;o!==".agentsmesh/skills"&&o!==".";)PV(t,o,n),o=posix.dirname(o),n=posix.dirname(n);}s(kF,"addSkillDirectoryMappings");xt();function wF(t,e,r="project"){let o=vt(t,r);if(!o)return null;if(e.root)return o.rootInstructionPath??null;if(e.targets.length>0&&!e.targets.includes(t))return null;let n=posix.basename(e.source.replace(/\\/g,"/"),".md");return o.paths.rulePath(n,e)}s(wF,"ruleTargetPath");function TF(t,e,r,o="project"){let n=vt(t,o);return n?n.paths.commandPath(e,r):null}s(TF,"commandTargetPath");function bF(t,e,r,o="project"){let n=vt(t,o);return n?n.paths.agentPath(e,r):null}s(bF,"agentTargetPath");ce();Wt();fe();xt();function NV(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}s(NV,"addDirectoryMapping");function H_(t,e,r,o="project"){let n=new Map;for(let a of e.rules){let c=wF(t,a,o);c&&n.set(`.agentsmesh/rules/${basename(a.source)}`,c);}for(let a of e.commands){let c=TF(t,a.name,r,o);c&&n.set(`.agentsmesh/commands/${a.name}.md`,c);}for(let a of e.agents){let c=bF(t,a.name,r,o);c&&n.set(`.agentsmesh/agents/${a.name}.md`,c);}let i=Om(t,o);if(!i)return n;for(let a of e.skills){NV(n,`.agentsmesh/skills/${a.name}`,`${i}/${a.name}`),n.set(`.agentsmesh/skills/${a.name}/SKILL.md`,`${i}/${a.name}/SKILL.md`);for(let c of a.supportingFiles){let l=c.relativePath.replace(/\\/g,"/"),m=`.agentsmesh/skills/${a.name}/${l}`,p=`${i}/${a.name}/${l}`;n.set(m,p),kF(n,m,p);}}return n}s(H_,"buildReferenceMap");re();re();xt();function xF(t,e,r,o){let n=o.normalize(e),i=o.normalize(r);t.set(n,i),t.set(`${n}/`,`${i}/`);}s(xF,"addPackAbsoluteDirMapping");function FV(t){let e=new Set;for(let{relativePath:r}of t){let o=r.replace(/\\/g,"/"),n=posix.dirname(o);for(;n!=="."&&n.length>0;){e.add(n);let i=posix.dirname(n);if(i===n)break;n=i;}}return [...e]}s(FV,"skillSupportingDirPrefixes");function DF(t,e,r,o,n){let i=Om(e,n);if(!i)return;let a=et(o),c=a.join(o,".agentsmesh","packs");for(let l of r.skills){let m=a.dirname(l.source);if(!m.startsWith(c))continue;let p=a.normalize(a.join(o,i,l.name));xF(t,m,p,a),t.set(a.normalize(l.source),a.normalize(a.join(p,"SKILL.md")));for(let u of l.supportingFiles){let g=a.normalize(a.join(p,u.relativePath));t.set(a.normalize(u.absolutePath),g);}for(let u of FV(l.supportingFiles))xF(t,a.join(m,u),a.join(p,u),a);}}s(DF,"addPackSkillArtifactMappings");re();function vV(t){return `.agentsmesh/rules/${basename(t.source)}`}s(vV,"canonicalRulePath");function GV(t){return `.github/instructions/${basename(t.source,".md")}.instructions.md`}s(GV,"copilotInstructionsPath");function FF(t,e,r,o,n){if(t!=="copilot"||!o?.startsWith(".github/instructions/"))return;let i=et(r);for(let a of n.rules)a.root||a.globs.length===0||e.set(i.normalize(i.join(r,vV(a))),i.normalize(i.join(r,GV(a))));}s(FF,"applyCopilotInstructionArtifactRefs");xt();function z_(t,e){e!==void 0&&e.length>0&&!t.includes(e)&&t.push(e);}s(z_,"pushUnique");function vF(t,e,r,o){let n=[],i=r.get(`.agentsmesh/rules/${basename(e.source)}`);z_(n,i);let a=vt(t,o);if(e.root)for(let c of tl(a))z_(n,c);for(let c of a?.extraRuleOutputPaths?.(e,{refs:r,scope:o})??[])z_(n,c);return n}s(vF,"extraRuleOutputPaths");xt();function GF(t,e,r,o,n,i){let a=vt(t,e);if(!a?.mirrorGlobalPath)return;let c=a.mirrorGlobalPath(r,i??[]),l=c===null?[]:Array.isArray(c)?c:[c];for(let m of l)m!==r&&n.set(m,o);}s(GF,"addSkillMirrorSourceEntry");function $V(t){return `.agentsmesh/commands/${t.name}.md`}s($V,"canonicalCommandPath");function jV(t){return `.agentsmesh/agents/${t.name}.md`}s(jV,"canonicalAgentPath");function UV(t){return `.agentsmesh/skills/${t.name}/SKILL.md`}s(UV,"canonicalSkillPath");function MF(t,e,r,o,n,i){let a=i?.scope??"project",c=et(o),l=new Map([...H_(t,e,r,a)].map(([m,p])=>[c.normalize(c.join(o,m)),c.normalize(c.join(o,p))]));return FF(t,l,o,n,e),DF(l,t,e,o,a),l}s(MF,"buildArtifactPathMap");function $F(t,e,r,o="project",n){let i=H_(t,e,r,o),a=new Map;for(let c of e.rules)for(let l of vF(t,c,i,o))a.set(l,c.source);for(let c of e.commands){let l=i.get($V(c));l&&a.set(l,c.source);}for(let c of e.agents){let l=i.get(jV(c));l&&a.set(l,c.source);}for(let c of e.skills){let l=i.get(UV(c));l&&(a.set(l,c.source),GF(t,o,l,c.source,a,n));for(let m of c.supportingFiles){let p=`.agentsmesh/skills/${c.name}/${m.relativePath.replace(/\\/g,"/")}`,u=i.get(p);u&&(a.set(u,m.absolutePath),GF(t,o,u,m.absolutePath,a,n));}}return a}s($F,"buildOutputSourceMap");xt();je();Ug();function WV(t,e){if(!e)return null;for(let r of e){let o=ut(r);if(o?.sharedArtifacts){for(let[n,i]of Object.entries(o.sharedArtifacts))if(i==="owner"&&t.startsWith(n))return r}}return null}s(WV,"findSharedArtifactOwner");function jF(t,e,r){if(e==="global"){let o=WV(t.path,r);if(o)return o;let n=DS(t.path);if(n)return n}return t.target}s(jF,"artifactMapTargetForResult");function HV(t,e){return `${t}\0${(e??[]).join(",")}`}s(HV,"sourceMapCacheKey");function V_(t,e){let r=et(t),o=new Set;for(let n of e){let i=r.join(t,n.path);o.add(i);let a=r.dirname(i);for(;a.startsWith(t)&&!o.has(a)&&(o.add(a),a!==t);)a=r.dirname(a);}return o}s(V_,"collectPlannedPaths");function zV(t,e,r){let o=vt(t.target,e),n=AF(o,t.path);if(n!=="default")return `${t.target}:${n}`;let i=jF(t,e,r);return i===t.target?t.target:`${t.target}~via~${i}`}s(zV,"artifactCacheKey");function UF(t,e,r,o,n="project",i,a){let c=V_(o,t),l=new Map,m=new Map;return t.map(p=>{if(a?.has(p.path))return p;let u=HV(p.target,i),f=(m.get(u)??(()=>{let A=$F(p.target,e,r,n,i);return m.set(u,A),A})()).get(p.path);if(!f)return p;let h=jF(p,n,i),O=zV(p,n,i),R=l.get(O)??(()=>{let A=MF(h,e,r,o,p.path,{scope:n});return l.set(O,A),A})(),S=Cd({content:p.content,projectRoot:o,sourceFile:f,destinationFile:et(o).join(o,p.path),translatePath:s(A=>R.get(A)??A,"translatePath"),pathExists:s(A=>c.has(A)||existsSync(A),"pathExists"),explicitCurrentDirLinks:true,rewriteBarePathTokens:true,scope:n,pathIsDirectory:s(A=>{try{return statSync(A).isDirectory()}catch{return false}},"pathIsDirectory")});return S.content===p.content?p:{...p,content:S.content}})}s(UF,"rewriteGeneratedReferences");re();ai();var JV=/!?\[[^\]]*\]\(([^)]+)\)/g,YV=/^\s*\[[^\]\n]+\]:\s*(?:<([^>\n]*)>|(\S+))/gm;function XV(t){return t.endsWith(".md")||t.endsWith(".mdc")}s(XV,"isMarkdownLikeOutput");function ZV(t,e){return e.some(([r,o])=>t>=r&&t<o)}s(ZV,"isOffsetInRanges");function QV(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}s(QV,"parseMarkdownLinkDestination");function qV(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)}s(qV,"shouldSkipLocalValidation");function tJ(t,e){if(e.has(t))return true;try{let r=statSync(t);return r.isFile()||r.isDirectory()}catch{return false}}s(tJ,"pathExistsForGenerate");function eJ(t,e,r){let n=QV(t).split("#")[0]??"",{candidate:i}=Ka(n),a=i,c=Xc.exec(a);c&&(a=a.slice(0,c.index));let l;try{l=decodeURIComponent(a);}catch{l=a;}if(qV(l))return [];let m=Lm(l,e,r);if(m.length===0){let u=et(e),g=V(e,r);m=[V(e,u.join(u.dirname(g),l)),V(e,u.join(e,l))];}let p=[];for(let u of m)for(let g of Am(e,u)){let f=V(e,g);p.includes(f)||p.push(f);}return p}s(eJ,"resolveMarkdownLinkTargets");function rJ(t,e){let r=V_(e,t),o=[];for(let n of t){if(!XV(n.path))continue;let i=V(e,et(e).join(e,n.path)),a=Sd(n.content),c=s((l,m)=>{if(ZV(m,a))return;let p=eJ(l,e,i);p.length!==0&&(p.some(u=>tJ(u,r))||o.push({generatePath:n.path,target:n.target,rawLink:l.trim(),checkedPaths:p}));},"visitDestination");for(let l of n.content.matchAll(JV)){let m=l[1];m!==void 0&&c(m,l.index??0);}for(let l of n.content.matchAll(YV)){let m=(l[1]??l[2]??"").trim();m&&c(m,l.index??0);}}return o}s(rJ,"findBrokenMarkdownLinks");function KF(t,e){let r=rJ(t,e);if(r.length===0)return;let o=r.map(n=>` ${n.generatePath} (${n.target}): "${n.rawLink}" \u2192 not found (tried: ${n.checkedPaths.join(", ")})`);throw new Error(`Generated markdown contains broken local links:
172
+ ${o.join(`
165
173
  `)}
166
- Fix canonical sources or generators so every local link targets an existing file or folder.`)}s(wA,"validateGeneratedMarkdownLinks");Xe();var bA="AGENTS.md";function LA(t){switch(t){case "created":return 3;case "updated":return 2;case "unchanged":return 1;case "skipped":return 0}}s(LA,"statusRank");function AU(t,e){return LA(e.status)<=LA(t.status)?t:{...t,status:e.status,currentContent:e.currentContent??t.currentContent}}s(AU,"mergeDuplicateMetadata");function xp(t){return t.trim()}s(xp,"trimmedContent");function xU(t,e){if(!t.path.endsWith(bA)||t.path!==e.path)return null;let r=xp(t.content),n=xp(e.content);if(!r||!n)return null;let o=r.includes(n),i=n.includes(r);return o===i?null:o?t:e}s(xU,"richerAgentsResult");function PU(t,e){if(!t.path.endsWith(bA)||t.path!==e.path)return null;let r=t.target===wa?t:e.target===wa?e:null,n=r===t?e:t;if(!r)return null;let o=xp(r.content).length,i=xp(n.content).length;return o===i?null:o>i?r:n}s(PU,"richerCodexAgentsResult");function Pp(t){let e=[];for(let r of t){let n=e.findIndex(i=>i.path===r.path);if(n===-1){e.push(r);continue}let o=e[n];if(o.content!==r.content){let i=xU(o,r);if(i){e[n]=i;continue}let a=PU(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]=AU(o,r);}return e}s(Pp,"resolveOutputCollisions");function AA(t){let e=t.currentContent===void 0?"created":t.currentContent!==t.content?"updated":"unchanged";return t.status===e?t:{...t,status:e}}s(AA,"refreshResultStatus");b();gt();Ce();function PA(t,e){return t===null?"created":t!==e?"updated":"unchanged"}s(PA,"computeStatus");function TU(t,e,r){let n=vg(t,e,r);if(n!==null)return n;let o=et(t);if(!o)return null;let i=r==="global"?o.globalSupport?.layout:o.project;return i?(n=i.rewriteGeneratedPath?i.rewriteGeneratedPath(e):e,n):null}s(TU,"resolveGeneratedOutputPath");async function Wc(t,e,r,n,o,i){let a=TU(e,r.path,o);if(a===null)return null;let c=await y(join(n,a)),l=t.findIndex(u=>u.path===a&&u.target===e),m=l>=0?t[l]:void 0,p=i?.mergeContent?.(c,m,r.content,a)??r.content;return l>=0&&t.splice(l,1),t.push({target:e,path:a,content:p,currentContent:c??void 0,status:PA(c,p)}),a}s(Wc,"emitGeneratedOutput");function lh(t,e,r){return {capability:vo(t,r)?.[e]??{level:"none"},scope:r}}s(lh,"featureContext");async function zs(t,e,r,n,o,i,a,c){if(o)for(let l of e){let m=c(l);if(!m)continue;let p=lh(l,a,i);for(let u of m(r,p)){let f=await Wc(t,l,u,n,i);if(f===null)continue;let g=vt(l,i);if(g?.mirrorGlobalPath){let h=g.mirrorGlobalPath(f,e),R=h===null?[]:Array.isArray(h)?h:[h];for(let S of R){let _=await y(join(n,S));t.push({target:l,path:S,content:u.content,currentContent:_??void 0,status:PA(_,u.content)});}}}}}s(zs,"generateFeature");Mu();gt();function DU(t){return t?.rootInstructionPath?[t.rootInstructionPath,...Ap(t)]:[]}s(DU,"rootDecorationPaths");function TA(t,e,r="project"){return t.map(n=>{let o=vt(n.target,r);if(!o)return n;let i=DU(o);if(i.length===0||!i.includes(n.path))return n;let c=n.path===o.rootInstructionPath&&o.renderPrimaryRootInstruction?o.renderPrimaryRootInstruction(e):n.content,l=nI(c);return l===n.content?n:{...n,content:l}})}s(TA,"decoratePrimaryRootInstructions");gt();Ce();Xf();function mh(t,e,r,n,o){let a=(Ke(t)??et(t))?.mergeGeneratedOutputContent?.(e,r,n,o);if(a!=null)return a;let c=r?.content??e;return c!==null&&_k.includes(o)?Sk(c,n):n}s(mh,"mergeOutputContent");async function DA(t,e,r,n,o){for(let i of e){let a=aa(i,"permissions",void 0,o)??et(i)?.generators.generatePermissions;if(a)for(let c of a(r))await Wc(t,i,c,n,o,{mergeContent:s((l,m,p,u)=>mh(i,l,m,p,u),"mergeContent")});}}s(DA,"generatePermissionsFeature");async function NA(t,e,r,n,o,i){for(let a of e){let c=aa(a,"hooks",i,o)??et(a)?.generators.generateHooks;if(!c)continue;let l=lh(a,"hooks",o),m=[...c(r,l)],u=(Ke(a)??et(a))?.postProcessHookOutputs;u&&(m=[...await u(n,r,m)]);for(let f of m)await Wc(t,a,f,n,o,{mergeContent:s((g,h,R,S)=>mh(a,g,h,R,S),"mergeContent")});}}s(NA,"generateHooksFeature");async function FA(t,e,r,n,o){for(let i of e){let c=(Ke(i)??et(i))?.emitScopedSettings;if(!c)continue;let l=c(r,o);if(l.length!==0)for(let m of l)await Wc(t,i,m,n,o,{mergeContent:s((p,u,f,g)=>mh(i,p,u,f,g),"mergeContent")});}}s(FA,"generateScopedSettingsFeature");async function He(t){let{config:e,canonical:r,projectRoot:n,scope:o="project",targetFilter:i}=t,a=[...e.targets,...e.pluginTargets??[]],c=i?a.filter(A=>i.includes(A)):a;function l(A,Z){return aa(A,Z,e,o)}s(l,"resolveGen");let m=e.features.includes("rules"),p=e.features.includes("commands"),u=e.features.includes("agents"),f=e.features.includes("skills"),g=e.features.includes("mcp"),h=e.features.includes("permissions"),R=e.features.includes("hooks"),S=e.features.includes("ignore"),_=[];await zs(_,c,r,n,m,o,"rules",A=>l(A,"rules")),await zs(_,c,r,n,p,o,"commands",A=>l(A,"commands")),await zs(_,c,r,n,u,o,"agents",A=>l(A,"agents")),await zs(_,c,r,n,f,o,"skills",A=>l(A,"skills")),await zs(_,c,r,n,g,o,"mcp",A=>l(A,"mcp")),h&&await DA(_,c,r,n,o),R&&await NA(_,c,r,n,o,e),await zs(_,c,r,n,S,o,"ignore",A=>l(A,"ignore"));let k=new Set(e.features);for(let A of c){let B=(Ke(A)??et(A))?.globalSupport?.scopeExtras;if(B){let V=await B(r,n,o,k);_.push(...V);}}(g||S||R||u||h)&&await FA(_,c,r,n,o);let T=TA(_,r,o),P=kA(T,r,e,n,o,c);return wA(P,n),Pp(dA(P.map(AA),r,e))}s(He,"generate");Qn();st();b();dn();var zU=6e4,VU=30,JU=200,YU=2e3;async function KA(t,e={}){let r=e.retries??VU,n=e.retryDelayMs??JU,o=e.staleMs??zU;await mkdir(dirname(t),{recursive:true});let i=0;for(;;){let a=await XU(t);if(a)return a;let c=await ZU(t);if(c!=="young"&&qU(c,o)){await rm$1(t,{recursive:true,force:true}).catch(()=>{});continue}if(i>=r){let l=c==="young"?null:c;throw new ni(t,t0(l))}i++,await r0(n);}}s(KA,"acquireProcessLock");async function XU(t){try{await mkdir(t,{recursive:!1});}catch(i){if(i.code==="EEXIST")return null;throw i}let e=join(t,"holder.json"),r={pid:process.pid,started:Date.now(),hostname:BA()};await writeFile(e,JSON.stringify(r),"utf-8");let n=false,o=s(()=>{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(()=>{}));}}s(XU,"tryAcquire");async function ZU(t){try{let e=await readFile(join(t,"holder.json"),"utf-8"),r=JSON.parse(e);return e0(r)?r:null}catch{try{let e=await stat(t);if(Date.now()-e.mtimeMs<YU)return "young"}catch{}return null}}s(ZU,"inspectLock");function qU(t,e){return !t||Date.now()-t.started>e?true:t.hostname&&t.hostname!==BA()?false:!QU(t.pid)}s(qU,"isStale");function QU(t){if(!Number.isInteger(t)||t<=0)return false;try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}s(QU,"isProcessAlive");function t0(t){return t?`${t.hostname?`${t.hostname}:`:""}pid ${t.pid} (running ${Date.now()-t.started}ms)`:"unknown (unreadable lock metadata)"}s(t0,"describeHolder");function e0(t){if(typeof t!="object"||t===null)return false;let e=t;return typeof e.pid=="number"&&typeof e.started=="number"}s(e0,"isLockMetadata");function BA(){return hostname()}s(BA,"getHostname");function r0(t){return new Promise(e=>setTimeout(e,t))}s(r0,"sleep");b();gt();async function HA(t,e=t){let r=await readdir(t,{withFileTypes:true}),n=[];for(let o of r){let i=join(t,o.name);if(o.isDirectory()){n.push(...await HA(i,e));continue}n.push(relative(e,i).replace(/\\/g,"/"));}return n}s(HA,"listFiles");async function i0(t,e,r){if(r.has(e))return;let n=join(t,e);await F(n)&&await rm$1(n,{recursive:true,force:true});}s(i0,"removeIfStale");async function zA(t){let e=new Set(t.expectedPaths),r=new Set,n=t.scope??"project";for(let o of t.targets){let i=Fg(o,n);if(i){for(let a of i.files)r.add(a);for(let a of i.dirs){let c=join(t.projectRoot,a);if(await F(c))for(let l of await HA(c))r.add(`${a}/${l}`.replace(/\/+/g,"/"));}}}for(let o of r)await i0(t.projectRoot,o,e);}s(zA,"cleanupStaleGeneratedOutputs");function ua(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}`)}s(ua,"ensurePathInsideRoot");Ta();b();st();async function fh(t,e){let r=await Zn(t.canonicalDir),n=e.length>0?await pa(e):{},o=await kp(join(t.canonicalDir,"packs")),i=process.env.USER??process.env.USERNAME??"unknown";await Op(t.canonicalDir,{generatedAt:new Date().toISOString(),generatedBy:i,libVersion:ka(),checksums:r,extends:n,packs:o});try{await mu(fe(),join(t.configDir,".agentsmeshcache"));}catch(a){I.warn(`Could not create .agentsmeshcache symlink: ${a instanceof Error?a.message:String(a)}`);}}s(fh,"writeLockFile");async function nx(t){let{mode:e,scope:r,dryRun:n,context:o,resolvedExtends:i,flags:a,root:c,options:l}=t;if(e==="check")return {exitCode:0,data:{scope:r,mode:e,files:[],summary:Dp([])}};if(n||await fh(o,i),l.printMatrix!==false){let{runMatrix:m}=await Promise.resolve().then(()=>(Hc(),Rh)),{renderMatrix:p}=await Promise.resolve().then(()=>(Vc(),Oh)),u=await m(a,c);p(u,{verbose:a.verbose===true});}return {exitCode:0,data:{scope:r,mode:e,files:[],summary:Dp([])}}}s(nx,"handleEmptyResults");function ox(t,e){let r=t.filter(a=>a.status!=="skipped"),n=r.filter(a=>a.status!=="unchanged"),o=r.map(a=>({path:a.path,target:a.target,status:a.status}));return {exitCode:n.length===0?0:1,data:{scope:e,mode:"check",files:o,summary:Dp(r)}}}s(ox,"buildCheckResult");async function sx(t){let{results:e,dryRun:r,scope:n,mode:o,context:i,activeTargets:a,resolvedExtends:c,flags:l,root:m,options:p}=t,u=r?null:await KA(join(i.canonicalDir,".generate.lock"));try{if(!r){for(let h of e)if(h.status==="created"||h.status==="updated"){let R=ua(i.rootBase,h.path,h.target);await C(R,h.content);}await zA({projectRoot:i.rootBase,targets:a,expectedPaths:e.map(h=>h.path),scope:n}),await fh(i,c);}}finally{u&&await u();}if(p.printMatrix!==false){let{runMatrix:h}=await Promise.resolve().then(()=>(Hc(),Rh)),{renderMatrix:R}=await Promise.resolve().then(()=>(Vc(),Oh)),S=await h(l,m);R(S,{verbose:l.verbose===true});}let f=e.filter(h=>h.status!=="skipped"),g=f.map(h=>({path:h.path,target:h.target,status:h.status}));return {exitCode:0,data:{scope:n,mode:o,files:g,summary:Dp(f)}}}s(sx,"handleGenerateOrDryRun");function Dp(t){return {created:t.filter(e=>e.status==="created").length,updated:t.filter(e=>e.status==="updated").length,unchanged:t.filter(e=>e.status==="unchanged").length}}s(Dp,"buildSummary");async function da(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,i=t["dry-run"]===true,a=t.force===true,c=t.global===true?"global":"project",l=t["refresh-cache"]===true||t["no-cache"]===true,m=t.targets,p=typeof m=="string"&&m?m.split(",").map(P=>P.trim()).filter(Boolean):void 0,u=o?"check":i?"dry-run":"generate",{config:f,context:g}=await ut(n,c);await qt(f,n);let h=f.collaboration?.lock_features??[];if(f.collaboration?.strategy==="lock"&&!a&&h.length>0){let P=await Rp(g.canonicalDir);if(P!==null){let A=await Zn(g.canonicalDir),Z=Ep(P.checksums,A,h);if(Z.length>0){I.error("Locked feature violation (strategy: lock). Modified files:");for(let B of Z)I.error(` ${B}`);throw I.error("Run 'agentsmesh generate --force' to accept these changes."),new Error("Locked feature violation. Use --force to override.")}}}let{canonical:R,resolvedExtends:S}=await se(f,g.configDir,{refreshRemoteCache:l},g.canonicalDir),_=[...f.targets,...f.pluginTargets??[]];if(p){let P=p.filter(A=>!_.includes(A));if(P.length>0)throw new Error(`Unknown target(s) in --targets: ${P.join(", ")}. Available: ${_.join(", ")}`)}let k=p?_.filter(P=>p.includes(P)):_,T=await He({config:f,canonical:R,projectRoot:g.rootBase,scope:c,targetFilter:p});return T.length===0?nx({mode:u,scope:c,dryRun:i,context:g,resolvedExtends:S,flags:t,root:n,options:r}):o?ox(T,c):sx({results:T,dryRun:i,scope:c,mode:u,context:g,activeTargets:k,resolvedExtends:S,flags:t,root:n,options:r})}s(da,"runGenerate");st();function Eh(t,e){return t==="global"?`~/${e}`:e}s(Eh,"formatDisplayPath");function fa(t){let{data:e}=t,{scope:r,mode:n,files:o}=e;if(o.length===0){I.info("No files to generate (no root rule or rules feature disabled)."),n==="check"&&I.success("Generated files are in sync.");return}if(n==="check"){let l=o.filter(m=>m.status!=="unchanged");if(l.length===0){I.success("Generated files are in sync.");return}for(let m of l)I.error(`[check] ${m.status} ${Eh(r,m.path)} (${m.target})`);I.error("Generated files are out of sync. Run 'agentsmesh generate' to update them.");return}if(n==="dry-run"){for(let l of o)I.info(`[dry-run] ${l.status} ${Eh(r,l.path)} (${l.target})`);return}for(let l of o)(l.status==="created"||l.status==="updated")&&I.success(`${l.status} ${Eh(r,l.path)}`);let{created:i,updated:a,unchanged:c}=e.summary;i>0||a>0?I.info(`Generated: ${i} created, ${a} updated, ${c} unchanged`):I.info(`Nothing changed. (${c} unchanged)`);}s(fa,"renderGenerate");b();gt();Xe();var g0=["codex-cli"];function ix(){return lt.filter(t=>!g0.includes(t))}s(ix,"starterInitTargetIds");var h0=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],y0=ix();function Np(t,e=y0){let r=(t.length>0?t:e).map(o=>` - ${o}`).join(`
167
- `),n=h0.map(o=>` - ${o}`).join(`
174
+ Fix canonical sources or generators so every local link targets an existing file or folder.`)}s(KF,"validateGeneratedMarkdownLinks");uo();var WF="AGENTS.md";function BF(t){switch(t){case "created":return 3;case "updated":return 2;case "unchanged":return 1;case "skipped":return 0}}s(BF,"statusRank");function oJ(t,e){return BF(e.status)<=BF(t.status)?t:{...t,status:e.status,currentContent:e.currentContent??t.currentContent}}s(oJ,"mergeDuplicateMetadata");function Md(t){return t.trim()}s(Md,"trimmedContent");function nJ(t,e){if(!t.path.endsWith(WF)||t.path!==e.path)return null;let r=Md(t.content),o=Md(e.content);if(!r||!o)return null;let n=r.includes(o),i=o.includes(r);return n===i?null:n?t:e}s(nJ,"richerAgentsResult");function sJ(t,e){if(!t.path.endsWith(WF)||t.path!==e.path)return null;let r=t.target===Rg?t:e.target===Rg?e:null,o=r===t?e:t;if(!r)return null;let n=Md(r.content).length,i=Md(o.content).length;return n===i?null:n>i?r:o}s(sJ,"richerCodexAgentsResult");function $d(t){let e=[];for(let r of t){let o=e.findIndex(i=>i.path===r.path);if(o===-1){e.push(r);continue}let n=e[o];if(n.content!==r.content){let i=nJ(n,r);if(i){e[o]=i;continue}let a=sJ(n,r);if(a){e[o]=a;continue}throw new Error(`Conflicting generated outputs for ${r.path}: ${n.target} and ${r.target} produce different content.`)}e[o]=oJ(n,r);}return e}s($d,"resolveOutputCollisions");function HF(t){let e=t.currentContent===void 0?"created":t.currentContent!==t.content?"updated":"unchanged";return t.status===e?t:{...t,status:e}}s(HF,"refreshResultStatus");T();xt();je();function VF(t,e){return t===null?"created":t!==e?"updated":"unchanged"}s(VF,"computeStatus");function iJ(t,e,r){let o=C_(t,e,r);if(o!==null)return o;let n=ut(t);if(!n)return null;let i=r==="global"?n.globalSupport?.layout:n.project;return i?(o=i.rewriteGeneratedPath?i.rewriteGeneratedPath(e):e,o):null}s(iJ,"resolveGeneratedOutputPath");async function Dm(t,e,r,o,n,i){let a=iJ(e,r.path,n);if(a===null)return null;let c=await y(join(o,a)),l=t.findIndex(u=>u.path===a&&u.target===e),m=l>=0?t[l]:void 0,p=i?.mergeContent?.(c,m,r.content,a)??r.content;return l>=0&&t.splice(l,1),t.push({target:e,path:a,content:p,currentContent:c??void 0,status:VF(c,p)}),a}s(Dm,"emitGeneratedOutput");function J_(t,e,r){return {capability:oi(t,r)?.[e]??{level:"none"},scope:r}}s(J_,"featureContext");async function Oa(t,e,r,o,n,i,a,c){if(n)for(let l of e){let m=c(l);if(!m)continue;let p=J_(l,a,i);for(let u of m(r,p)){let g=await Dm(t,l,u,o,i);if(g===null)continue;let f=vt(l,i);if(f?.mirrorGlobalPath){let h=f.mirrorGlobalPath(g,e),O=h===null?[]:Array.isArray(h)?h:[h];for(let R of O){let S=await y(join(o,R));t.push({target:l,path:R,content:u.content,currentContent:S??void 0,status:VF(S,u.content)});}}}}}s(Oa,"generateFeature");zg();xt();function aJ(t){return t?.rootInstructionPath?[t.rootInstructionPath,...tl(t)]:[]}s(aJ,"rootDecorationPaths");function JF(t,e,r="project"){return t.map(o=>{let n=vt(o.target,r);if(!n)return o;let i=aJ(n);if(i.length===0||!i.includes(o.path))return o;let c=o.path===n.rootInstructionPath&&n.renderPrimaryRootInstruction?n.renderPrimaryRootInstruction(e):o.content,l=KS(c);return l===o.content?o:{...o,content:l}})}s(JF,"decoratePrimaryRootInstructions");xt();je();Ou();function Y_(t,e,r,o,n){let a=(Er(t)??ut(t))?.mergeGeneratedOutputContent?.(e,r,o,n);if(a!=null)return a;let c=r?.content??e;return c!==null&&gw.includes(n)?fw(c,o):o}s(Y_,"mergeOutputContent");async function YF(t,e,r,o,n){for(let i of e){let a=Yc(i,"permissions",void 0,n)??ut(i)?.generators.generatePermissions;if(a)for(let c of a(r))await Dm(t,i,c,o,n,{mergeContent:s((l,m,p,u)=>Y_(i,l,m,p,u),"mergeContent")});}}s(YF,"generatePermissionsFeature");async function XF(t,e,r,o,n,i){for(let a of e){let c=Yc(a,"hooks",i,n)??ut(a)?.generators.generateHooks;if(!c)continue;let l=J_(a,"hooks",n),m=[...c(r,l)],u=(Er(a)??ut(a))?.postProcessHookOutputs;u&&(m=[...await u(o,r,m)]);for(let g of m)await Dm(t,a,g,o,n,{mergeContent:s((f,h,O,R)=>Y_(a,f,h,O,R),"mergeContent")});}}s(XF,"generateHooksFeature");async function ZF(t,e,r,o,n){for(let i of e){let c=(Er(i)??ut(i))?.emitScopedSettings;if(!c)continue;let l=c(r,n);if(l.length!==0)for(let m of l)await Dm(t,i,m,o,n,{mergeContent:s((p,u,g,f)=>Y_(i,p,u,g,f),"mergeContent")});}}s(ZF,"generateScopedSettingsFeature");async function Lr(t){let{config:e,canonical:r,projectRoot:o,scope:n="project",targetFilter:i}=t,a=[...e.targets,...e.pluginTargets??[]],c=i?a.filter(J=>i.includes(J)):a;function l(J,X){return Yc(J,X,e,n)}s(l,"resolveGen");let m=e.features.includes("rules"),p=e.features.includes("commands"),u=e.features.includes("agents"),g=e.features.includes("skills"),f=e.features.includes("mcp"),h=e.features.includes("permissions"),O=e.features.includes("hooks"),R=e.features.includes("ignore"),S=[];await Oa(S,c,r,o,m,n,"rules",J=>l(J,"rules")),await Oa(S,c,r,o,p,n,"commands",J=>l(J,"commands")),await Oa(S,c,r,o,u,n,"agents",J=>l(J,"agents")),await Oa(S,c,r,o,g,n,"skills",J=>l(J,"skills")),await Oa(S,c,r,o,f,n,"mcp",J=>l(J,"mcp")),h&&await YF(S,c,r,o,n),O&&await XF(S,c,r,o,n,e),await Oa(S,c,r,o,R,n,"ignore",J=>l(J,"ignore"));let A=new Set(e.features);for(let J of c){let q=(Er(J)??ut(J))?.globalSupport?.scopeExtras;if(q){let Ft=await q(r,o,n,A);S.push(...Ft);}}(f||R||O||u||h)&&await ZF(S,c,r,o,n);let D=JF(S,r,n),N=cJ(D,n),G=UF(D,r,e,o,n,c,N);return KF(G,o),$d(G.map(HF))}s(Lr,"generate");function cJ(t,e){let r=new Map;function o(a){let c=r.get(a);if(c)return c;let l=vt(a,e),m=new Set;if(l?.rootInstructionPath){m.add(l.rootInstructionPath);for(let p of tl(l))m.add(p);}return r.set(a,m),m}s(o,"rootPathsFor");let n=new Map;for(let a of t){if(!o(a.target).has(a.path))continue;let c=n.get(a.path)??new Set;c.add(a.target),n.set(a.path,c);}let i=new Set;for(let[a,c]of n)c.size>1&&i.add(a);return i}s(cJ,"computeSharedRootInstructionPaths");ds();ft();T();dn();var SJ=6e4,CJ=30,EJ=200,OJ=2e3;async function sv(t,e={}){let r=e.retries??CJ,o=e.retryDelayMs??EJ,n=e.staleMs??SJ;await mkdir(dirname(t),{recursive:true});let i=0;for(;;){let a=await LJ(t);if(a)return a;let c=await AJ(t);if(c!=="young"&&kJ(c,n)){await rm$1(t,{recursive:true,force:true}).catch(()=>{});continue}if(i>=r){let l=c==="young"?null:c;throw new Fa(t,TJ(l))}i++,await PJ(o);}}s(sv,"acquireProcessLock");async function LJ(t){try{await mkdir(t,{recursive:!1});}catch(i){if(i.code==="EEXIST")return null;throw i}let e=join(t,"holder.json"),r={pid:process.pid,started:Date.now(),hostname:iv()};await writeFile(e,JSON.stringify(r),"utf-8");let o=false,n=s(()=>{if(!o){o=true;try{rmSync(t,{recursive:!0,force:!0});}catch{}}},"signalHandler");return process.once("SIGINT",n),process.once("SIGTERM",n),process.once("exit",n),async()=>{o||(o=true,process.off("SIGINT",n),process.off("SIGTERM",n),process.off("exit",n),await rm$1(t,{recursive:true,force:true}).catch(()=>{}));}}s(LJ,"tryAcquire");async function AJ(t){try{let e=await readFile(join(t,"holder.json"),"utf-8"),r=JSON.parse(e);return bJ(r)?r:null}catch{try{let e=await stat(t);if(Date.now()-e.mtimeMs<OJ)return "young"}catch{}return null}}s(AJ,"inspectLock");function kJ(t,e){return !t||Date.now()-t.started>e?true:t.hostname&&t.hostname!==iv()?false:!wJ(t.pid)}s(kJ,"isStale");function wJ(t){if(!Number.isInteger(t)||t<=0)return false;try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}s(wJ,"isProcessAlive");function TJ(t){return t?`${t.hostname?`${t.hostname}:`:""}pid ${t.pid} (running ${Date.now()-t.started}ms)`:"unknown (unreadable lock metadata)"}s(TJ,"describeHolder");function bJ(t){if(typeof t!="object"||t===null)return false;let e=t;return typeof e.pid=="number"&&typeof e.started=="number"}s(bJ,"isLockMetadata");function iv(){return hostname()}s(iv,"getHostname");function PJ(t){return new Promise(e=>setTimeout(e,t))}s(PJ,"sleep");T();xt();async function av(t,e=t){let r=await readdir(t,{withFileTypes:true}),o=[];for(let n of r){let i=join(t,n.name);if(n.isDirectory()){o.push(...await av(i,e));continue}o.push(relative(e,i).replace(/\\/g,"/"));}return o}s(av,"listFiles");async function FJ(t,e,r){if(r.has(e))return;let o=join(t,e);await j(o)&&await rm$1(o,{recursive:true,force:true});}s(FJ,"removeIfStale");async function cv(t){let e=new Set(t.expectedPaths),r=new Set,o=t.scope??"project";for(let n of t.targets){let i=S_(n,o);if(i){for(let a of i.files)r.add(a);for(let a of i.dirs){let c=join(t.projectRoot,a);if(await j(c))for(let l of await av(c))r.add(`${a}/${l}`.replace(/\/+/g,"/"));}}}for(let n of r)await FJ(t.projectRoot,n,e);}s(cv,"cleanupStaleGeneratedOutputs");function el(t,e,r){let o=resolve(t),n=resolve(t,e);if(n===o||n.startsWith(`${o}${sep}`))return n;throw new Error(`Unsafe generated output path for ${r}: ${e}`)}s(el,"ensurePathInsideRoot");Rl();T();ft();async function q_(t,e){let r=await us(t.canonicalDir),o=e.length>0?await qc(e):{},n=await vd(join(t.canonicalDir,"packs")),i=process.env.USER??process.env.USERNAME??"unknown";await Nd(t.canonicalDir,{generatedAt:new Date().toISOString(),generatedBy:i,libVersion:gl(),checksums:r,extends:o,packs:n});try{await _g(Le(),join(t.configDir,".agentsmeshcache"));}catch(a){I.warn(`Could not create .agentsmeshcache symlink: ${a instanceof Error?a.message:String(a)}`);}}s(q_,"writeLockFile");async function Iv(t){let{mode:e,scope:r,dryRun:o,context:n,resolvedExtends:i,flags:a,root:c,options:l}=t;if(e==="check")return {exitCode:0,data:{scope:r,mode:e,files:[],summary:Ud([])}};if(o||await q_(n,i),l.printMatrix!==false){let{runMatrix:m}=await Promise.resolve().then(()=>(vm(),aI)),{renderMatrix:p}=await Promise.resolve().then(()=>(Mm(),cI)),u=await m(a,c);p(u,{verbose:a.verbose===true});}return {exitCode:0,data:{scope:r,mode:e,files:[],summary:Ud([])}}}s(Iv,"handleEmptyResults");function Rv(t,e){let r=t.filter(a=>a.status!=="skipped"),o=r.filter(a=>a.status!=="unchanged"),n=r.map(a=>({path:a.path,target:a.target,status:a.status}));return {exitCode:o.length===0?0:1,data:{scope:e,mode:"check",files:n,summary:Ud(r)}}}s(Rv,"buildCheckResult");async function Sv(t){let{results:e,dryRun:r,scope:o,mode:n,context:i,activeTargets:a,resolvedExtends:c,flags:l,root:m,options:p}=t,u=r?null:await sv(join(i.canonicalDir,".generate.lock"));try{if(!r){for(let h of e)if(h.status==="created"||h.status==="updated"){let O=el(i.rootBase,h.path,h.target);await _(O,h.content);}await cv({projectRoot:i.rootBase,targets:a,expectedPaths:e.map(h=>h.path),scope:o}),await q_(i,c);}}finally{u&&await u();}if(p.printMatrix!==false){let{runMatrix:h}=await Promise.resolve().then(()=>(vm(),aI)),{renderMatrix:O}=await Promise.resolve().then(()=>(Mm(),cI)),R=await h(l,m);O(R,{verbose:l.verbose===true});}let g=e.filter(h=>h.status!=="skipped"),f=g.map(h=>({path:h.path,target:h.target,status:h.status}));return {exitCode:0,data:{scope:o,mode:n,files:f,summary:Ud(g)}}}s(Sv,"handleGenerateOrDryRun");function Ud(t){return {created:t.filter(e=>e.status==="created").length,updated:t.filter(e=>e.status==="updated").length,unchanged:t.filter(e=>e.status==="unchanged").length}}s(Ud,"buildSummary");async function rl(t,e,r={}){if(t.features!==void 0)throw new Error("--features is no longer supported. Configure features in agentsmesh.yaml.");let o=e??process.cwd(),n=t.check===true,i=t["dry-run"]===true,a=t.force===true,c=t.global===true?"global":"project",l=t["refresh-cache"]===true||t["no-cache"]===true,m=t.targets,p=typeof m=="string"&&m?m.split(",").map(N=>N.trim()).filter(Boolean):void 0,u=n?"check":i?"dry-run":"generate",{config:g,context:f}=await Tt(o,c);await le(g,o);let h=g.collaboration?.lock_features??[];if(g.collaboration?.strategy==="lock"&&!a&&h.length>0){let N=await Dd(f.canonicalDir);if(N!==null){let G=await us(f.canonicalDir),J=Fd(N.checksums,G,h);if(J.length>0){I.error("Locked feature violation (strategy: lock). Modified files:");for(let X of J)I.error(` ${X}`);throw I.error("Run 'agentsmesh generate --force' to accept these changes."),new Error("Locked feature violation. Use --force to override.")}}}let{canonical:O,resolvedExtends:R}=await he(g,f.configDir,{refreshRemoteCache:l},f.canonicalDir),S=[...g.targets,...g.pluginTargets??[]];if(p){let N=p.filter(G=>!S.includes(G));if(N.length>0)throw new Error(`Unknown target(s) in --targets: ${N.join(", ")}. Available: ${S.join(", ")}`)}let A=p?S.filter(N=>p.includes(N)):S,D=await Lr({config:g,canonical:O,projectRoot:f.rootBase,scope:c,targetFilter:p});return D.length===0?Iv({mode:u,scope:c,dryRun:i,context:f,resolvedExtends:R,flags:t,root:o,options:r}):n?Rv(D,c):Sv({results:D,dryRun:i,scope:c,mode:u,context:f,activeTargets:A,resolvedExtends:R,flags:t,root:o,options:r})}s(rl,"runGenerate");ft();function lI(t,e){return t==="global"?`~/${e}`:e}s(lI,"formatDisplayPath");function ol(t){let{data:e}=t,{scope:r,mode:o,files:n}=e;if(n.length===0){I.info("No files to generate (no root rule or rules feature disabled)."),o==="check"&&I.success("Generated files are in sync.");return}if(o==="check"){let l=n.filter(m=>m.status!=="unchanged");if(l.length===0){I.success("Generated files are in sync.");return}for(let m of l)I.error(`[check] ${m.status} ${lI(r,m.path)} (${m.target})`);I.error("Generated files are out of sync. Run 'agentsmesh generate' to update them.");return}if(o==="dry-run"){for(let l of n)I.info(`[dry-run] ${l.status} ${lI(r,l.path)} (${l.target})`);return}for(let l of n)(l.status==="created"||l.status==="updated")&&I.success(`${l.status} ${lI(r,l.path)}`);let{created:i,updated:a,unchanged:c}=e.summary;i>0||a>0?I.info(`Generated: ${i} created, ${a} updated, ${c} unchanged`):I.info(`Nothing changed. (${c} unchanged)`);}s(ol,"renderGenerate");T();xt();uo();var WJ=["codex-cli"];function Cv(){return kt.filter(t=>!WJ.includes(t))}s(Cv,"starterInitTargetIds");var HJ=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],zJ=Cv();function Kd(t,e=zJ){let r=(t.length>0?t:e).map(n=>` - ${n}`).join(`
175
+ `),o=HJ.map(n=>` - ${n}`).join(`
168
176
  `);return `# yaml-language-server: $schema=https://unpkg.com/agentsmesh/schemas/agentsmesh.json
169
177
  version: 1
170
178
  targets:
171
179
  ${r}
172
180
  features:
173
- ${n}
174
- `}s(Np,"buildConfig");var Fp=`---
181
+ ${o}
182
+ `}s(Kd,"buildConfig");var Bd=`---
175
183
  root: true
176
184
  description: "Project rules"
177
185
  ---
@@ -180,7 +188,7 @@ description: "Project rules"
180
188
 
181
189
  Add your project-wide instructions here.
182
190
  This file is always included in AI tool context and synced to all configured tools.
183
- `,kh=`---
191
+ `,mI=`---
184
192
  description: "Example contextual rule \u2014 rename and customize"
185
193
  # targets: [claude-code, cursor] # limit to specific tools (optional)
186
194
  # globs: ["src/**/*.ts"] # activate only for matching files (optional)
@@ -189,14 +197,14 @@ description: "Example contextual rule \u2014 rename and customize"
189
197
  # Example Rule
190
198
 
191
199
  Replace this with your coding standards, conventions, or domain-specific guidelines.
192
- `,wh=`---
200
+ `,pI=`---
193
201
  description: "Example command \u2014 rename and customize"
194
202
  # allowed-tools: [Read, Grep, Glob, Bash]
195
203
  ---
196
204
 
197
205
  Describe the task for this command here.
198
206
  Commands are invoked on-demand (e.g. /example) with a focused tool set.
199
- `,Lh=`---
207
+ `,uI=`---
200
208
  name: example-agent
201
209
  description: "Example subagent \u2014 rename and customize"
202
210
  # tools: [Read, Grep, Glob]
@@ -207,7 +215,7 @@ description: "Example subagent \u2014 rename and customize"
207
215
 
208
216
  Describe this agent's role and instructions here.
209
217
  Agents are specialized subagents with restricted tools and a specific purpose.
210
- `,bh=`---
218
+ `,dI=`---
211
219
  name: example-skill
212
220
  description: "Example skill \u2014 rename and customize"
213
221
  ---
@@ -216,7 +224,7 @@ description: "Example skill \u2014 rename and customize"
216
224
 
217
225
  Describe the skill procedure here.
218
226
  Skills are reusable multi-step procedures that commands and agents can reference.
219
- `,Ah=`{
227
+ `,gI=`{
220
228
  "mcpServers": {
221
229
  // agentsmesh self-serve MCP server \u2014 exposes your canonical config to AI agents.
222
230
  // Lets agents introspect rules/commands/agents/skills and trigger generate.
@@ -243,7 +251,7 @@ Skills are reusable multi-step procedures that commands and agents can reference
243
251
  // }
244
252
  }
245
253
  }
246
- `,xh=`# Lifecycle hooks \u2014 run shell commands before/after AI tool use
254
+ `,fI=`# Lifecycle hooks \u2014 run shell commands before/after AI tool use
247
255
  # Events: PreToolUse, PostToolUse, SubagentStart, SubagentStop
248
256
  # Matcher: tool name pattern (e.g. "Edit|Write", "Bash", "*")
249
257
  #
@@ -256,7 +264,7 @@ Skills are reusable multi-step procedures that commands and agents can reference
256
264
  # - matcher: Edit|Write
257
265
  # type: command
258
266
  # command: npm test --passWithNoTests
259
- `,Ph=`# Tool permission allow/deny lists
267
+ `,hI=`# Tool permission allow/deny lists
260
268
  #
261
269
  # allow:
262
270
  # - Bash(npm run:*)
@@ -272,14 +280,14 @@ Skills are reusable multi-step procedures that commands and agents can reference
272
280
  allow: []
273
281
  deny: []
274
282
  ask: []
275
- `,Th=`# Patterns ignored by all configured AI tools (gitignore syntax)
283
+ `,yI=`# Patterns ignored by all configured AI tools (gitignore syntax)
276
284
  #
277
285
  # node_modules/
278
286
  # dist/
279
287
  # .env*
280
288
  # *.log
281
289
  # coverage/
282
- `,ax=`# yaml-language-server: $schema=https://unpkg.com/agentsmesh/schemas/agentsmesh.json
290
+ `,Ev=`# yaml-language-server: $schema=https://unpkg.com/agentsmesh/schemas/agentsmesh.json
283
291
  # Personal overrides \u2014 NOT committed to git
284
292
  # Uncomment and customize for your local setup:
285
293
 
@@ -298,27 +306,27 @@ ask: []
298
306
  # overrides:
299
307
  # claude-code:
300
308
  # model: opus
301
- `;b();gt();function cx(t){let e=[];for(let r of Gt)for(let n of Ng(r.id,t))e.push({target:r.id,path:n});return e}s(cx,"collectDetectionPaths");function lx(t){let e=new Map;for(let{target:r,path:n}of cx(t)){let o=e.get(r)??[];o.push(n),e.set(r,o);}return [...e.entries()].map(([r,n])=>({id:r,paths:n}))}s(lx,"toolIndicators");lx("project");async function mx(t,e="project"){let r=[];for(let{id:n,paths:o}of lx(e))for(let i of o){let a=join(t,i);if(await F(a)){r.push(n);break}}return [...new Set(r)]}s(mx,"detectExistingConfigs");b();st();function Ht(t,e){return join(t,e)}s(Ht,"ab");async function Dh(t){return await F(t)?(await readdir(t,{withFileTypes:true})).filter(r=>r.isFile()&&r.name.endsWith(".md")).length:0}s(Dh,"countMdFiles");async function I0(t){let e=Ht(t,"skills");if(!await F(e))return false;let r=await readdir(e,{withFileTypes:true});for(let n of r)if(n.isDirectory()&&!n.name.startsWith("_")&&await F(join(e,n.name,"SKILL.md")))return true;return false}s(I0,"hasAnyImportedSkill");async function Nh(t){let e=Ht(t,"rules");await O(e),await C(join(e,"_root.md"),Fp),I.success("Created .agentsmesh/rules/_root.md"),await C(join(e,"_example.md"),kh),I.success("Created .agentsmesh/rules/_example.md");let r=Ht(t,"commands");await O(r),await C(join(r,"_example.md"),wh),I.success("Created .agentsmesh/commands/_example.md");let n=Ht(t,"agents");await O(n),await C(join(n,"_example.md"),Lh),I.success("Created .agentsmesh/agents/_example.md");let o=Ht(t,join("skills","_example"));await O(o),await C(join(o,"SKILL.md"),bh),I.success("Created .agentsmesh/skills/_example/SKILL.md"),await C(Ht(t,"mcp.json"),Ah),I.success("Created .agentsmesh/mcp.json"),await C(Ht(t,"hooks.yaml"),xh),I.success("Created .agentsmesh/hooks.yaml"),await C(Ht(t,"permissions.yaml"),Ph),I.success("Created .agentsmesh/permissions.yaml"),await C(Ht(t,"ignore"),Th),I.success("Created .agentsmesh/ignore");}s(Nh,"writeScaffoldFull");async function ux(t){let e=Ht(t,"rules"),r=await Dh(e),n=join(e,"_root.md"),o=await F(n);await O(e),r===0?(await C(n,Fp),I.success("Created .agentsmesh/rules/_root.md"),await C(join(e,"_example.md"),kh),I.success("Created .agentsmesh/rules/_example.md")):o||(await C(n,Fp),I.success("Created .agentsmesh/rules/_root.md"));let i=Ht(t,"commands");await Dh(i)===0&&(await O(i),await C(join(i,"_example.md"),wh),I.success("Created .agentsmesh/commands/_example.md"));let a=Ht(t,"agents");if(await Dh(a)===0&&(await O(a),await C(join(a,"_example.md"),Lh),I.success("Created .agentsmesh/agents/_example.md")),!await I0(t)){let u=Ht(t,join("skills","_example"));await O(u),await C(join(u,"SKILL.md"),bh),I.success("Created .agentsmesh/skills/_example/SKILL.md");}let c=Ht(t,"mcp.json");await F(c)||(await C(c,Ah),I.success("Created .agentsmesh/mcp.json"));let l=Ht(t,"hooks.yaml");await F(l)||(await C(l,xh),I.success("Created .agentsmesh/hooks.yaml"));let m=Ht(t,"permissions.yaml");await F(m)||(await C(m,Ph),I.success("Created .agentsmesh/permissions.yaml"));let p=Ht(t,"ignore");await F(p)||(await C(p,Th),I.success("Created .agentsmesh/ignore"));}s(ux,"writeScaffoldGapFill");de();var Fh="agentsmesh.yaml",dx="agentsmesh.local.yaml",C0=["agentsmesh.local.yaml",".agentsmeshcache",".agentsmesh/.lock.tmp",".agentsmesh/packs/"],R0=Object.fromEntries(Gt.map(t=>[t.id,(e,r)=>t.generators.importFrom(e,{scope:r})])),fx=Gt.filter(t=>t.globalSupport!==void 0).map(t=>t.id);function O0(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}s(O0,"isCoveredByExisting");async function E0(t){let e=join(t,".gitignore"),r=await y(e)??"",n=new Set(r.split(`
302
- `).map(a=>a.trim()).filter(a=>a.length>0&&!a.startsWith("#"))),o=C0.filter(a=>!O0(a,n));if(o.length===0)return false;let i=r.endsWith(`
309
+ `;T();xt();function Ov(t){let e=[];for(let r of zt)for(let o of R_(r.id,t))e.push({target:r.id,path:o});return e}s(Ov,"collectDetectionPaths");function Lv(t){let e=new Map;for(let{target:r,path:o}of Ov(t)){let n=e.get(r)??[];n.push(o),e.set(r,n);}return [...e.entries()].map(([r,o])=>({id:r,paths:o}))}s(Lv,"toolIndicators");Lv("project");async function Av(t,e="project"){let r=[];for(let{id:o,paths:n}of Lv(e))for(let i of n){let a=join(t,i);if(await j(a)){r.push(o);break}}return [...new Set(r)]}s(Av,"detectExistingConfigs");T();ft();function te(t,e){return join(t,e)}s(te,"ab");async function _I(t){return await j(t)?(await readdir(t,{withFileTypes:true})).filter(r=>r.isFile()&&r.name.endsWith(".md")).length:0}s(_I,"countMdFiles");async function JJ(t){let e=te(t,"skills");if(!await j(e))return false;let r=await readdir(e,{withFileTypes:true});for(let o of r)if(o.isDirectory()&&!o.name.startsWith("_")&&await j(join(e,o.name,"SKILL.md")))return true;return false}s(JJ,"hasAnyImportedSkill");async function II(t){let e=te(t,"rules");await L(e),await _(join(e,"_root.md"),Bd),I.success("Created .agentsmesh/rules/_root.md"),await _(join(e,"_example.md"),mI),I.success("Created .agentsmesh/rules/_example.md");let r=te(t,"commands");await L(r),await _(join(r,"_example.md"),pI),I.success("Created .agentsmesh/commands/_example.md");let o=te(t,"agents");await L(o),await _(join(o,"_example.md"),uI),I.success("Created .agentsmesh/agents/_example.md");let n=te(t,join("skills","_example"));await L(n),await _(join(n,"SKILL.md"),dI),I.success("Created .agentsmesh/skills/_example/SKILL.md"),await _(te(t,"mcp.json"),gI),I.success("Created .agentsmesh/mcp.json"),await _(te(t,"hooks.yaml"),fI),I.success("Created .agentsmesh/hooks.yaml"),await _(te(t,"permissions.yaml"),hI),I.success("Created .agentsmesh/permissions.yaml"),await _(te(t,"ignore"),yI),I.success("Created .agentsmesh/ignore");}s(II,"writeScaffoldFull");async function wv(t){let e=te(t,"rules"),r=await _I(e),o=join(e,"_root.md"),n=await j(o);await L(e),r===0?(await _(o,Bd),I.success("Created .agentsmesh/rules/_root.md"),await _(join(e,"_example.md"),mI),I.success("Created .agentsmesh/rules/_example.md")):n||(await _(o,Bd),I.success("Created .agentsmesh/rules/_root.md"));let i=te(t,"commands");await _I(i)===0&&(await L(i),await _(join(i,"_example.md"),pI),I.success("Created .agentsmesh/commands/_example.md"));let a=te(t,"agents");if(await _I(a)===0&&(await L(a),await _(join(a,"_example.md"),uI),I.success("Created .agentsmesh/agents/_example.md")),!await JJ(t)){let u=te(t,join("skills","_example"));await L(u),await _(join(u,"SKILL.md"),dI),I.success("Created .agentsmesh/skills/_example/SKILL.md");}let c=te(t,"mcp.json");await j(c)||(await _(c,gI),I.success("Created .agentsmesh/mcp.json"));let l=te(t,"hooks.yaml");await j(l)||(await _(l,fI),I.success("Created .agentsmesh/hooks.yaml"));let m=te(t,"permissions.yaml");await j(m)||(await _(m,hI),I.success("Created .agentsmesh/permissions.yaml"));let p=te(t,"ignore");await j(p)||(await _(p,yI),I.success("Created .agentsmesh/ignore"));}s(wv,"writeScaffoldGapFill");Oe();var RI="agentsmesh.yaml",Tv="agentsmesh.local.yaml",XJ=["agentsmesh.local.yaml",".agentsmeshcache",".agentsmesh/.lock.tmp",".agentsmesh/packs/"],ZJ=Object.fromEntries(zt.map(t=>[t.id,(e,r)=>t.generators.importFrom(e,{scope:r})])),bv=zt.filter(t=>t.globalSupport!==void 0).map(t=>t.id);function QJ(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}s(QJ,"isCoveredByExisting");async function qJ(t){let e=join(t,".gitignore"),r=await y(e)??"",o=new Set(r.split(`
310
+ `).map(a=>a.trim()).filter(a=>a.length>0&&!a.startsWith("#"))),n=XJ.filter(a=>!QJ(a,o));if(n.length===0)return false;let i=r.endsWith(`
303
311
  `)||r===""?"":`
304
- `;return await C(e,r+i+o.join(`
312
+ `;return await _(e,r+i+n.join(`
305
313
  `)+`
306
- `),true}s(E0,"appendToGitignore");async function gx(t,e={}){let r=e.global===true?"global":"project",n=Aa(t,r),o=join(n.configDir,Fh);if(await F(o))throw new Error(`Already initialized. ${Fh} exists. Remove it first to re-init.`);let i=await mx(n.rootBase,r),a=r==="global"?i.filter(g=>fx.includes(g)):i,c=r==="global"?fx:void 0,l=[],m,p=0;if(a.length>0)if(e.yes){for(let g of a){let h=R0[g];if(!h)continue;let R=await h(n.rootBase,r);for(let S of R)l.push({from:relative(n.rootBase,S.fromPath).replaceAll("\\","/"),to:S.toPath.replaceAll("\\","/")});}p=a.length,await ux(n.canonicalDir),m="gap-fill",await C(o,Np(a,c));}else await Nh(n.canonicalDir),m="full",await C(o,Np([],c));else await Nh(n.canonicalDir),m="full",await C(o,Np([],c));let u=join(n.configDir,dx);await C(u,ax);let f=false;return r==="project"&&(f=await E0(t)),{exitCode:0,data:{scope:r,configFile:Fh,localConfigFile:dx,detectedConfigs:a,imported:l,importedToolCount:p,scaffoldType:m,gitignoreUpdated:f}}}s(gx,"runInit");st();function hx(t){let{data:e}=t;if(e.detectedConfigs.length>0&&I.info(`Found existing configurations: ${e.detectedConfigs.join(", ")}`),e.detectedConfigs.length>0&&e.imported.length===0&&I.info("Run 'agentsmesh init --yes' to auto-import, or 'agentsmesh import --from <tool>' manually."),e.imported.length>0){I.info("Auto-importing existing configurations (--yes)...");for(let n of e.imported)I.success(` ${n.from} \u2192 ${n.to}`);I.info(`Imported ${e.imported.length} file(s) from ${e.importedToolCount} tool(s).`);}let r=e.imported.length>0&&e.detectedConfigs.length>0?` (targets: ${e.detectedConfigs.join(", ")})`:"";I.success(`Created ${e.configFile}${r}`),I.success(`Created ${e.localConfigFile}`),e.gitignoreUpdated&&I.success("Updated .gitignore");}s(hx,"renderInit");de();gt();var k0=Object.fromEntries(Gt.map(t=>[t.id,{importFrom:t.generators.importFrom,emptyImportMessage:t.emptyImportMessage,lintRules:t.lintRules,lint:t.lint,capabilities:t.capabilities}]));function vp(t){let e=k0[t];if(!e)throw new Error(`Unknown target: ${t}`);return e}s(vp,"getTargetCatalogEntry");Ce();Qn();Na();var P0={type:"stdio",command:"npx",args:["-y","agentsmesh","mcp"]};function T0(t){return t.mcpServers.agentsmesh!==void 0?false:(t.mcpServers.agentsmesh=P0,true)}s(T0,"injectAgentsmeshEntry");async function Mh(t){let e=resolve(t,".agentsmesh/mcp.json");try{let r;try{r=await Ze(e)??{mcpServers:{}};}catch{r={mcpServers:{}};}if(!T0(r))return !1;let n=JSON.stringify(r,null,2)+`
307
- `;await mkdir(dirname(e),{recursive:!0});let o=`${e}.tmp.${process.pid}.${Date.now()}`;return await writeFile(o,n,"utf8"),await rename(o,e),!0}catch(r){return process.stderr.write(`[agentsmesh] warning: could not seed agentsmesh MCP server entry into mcp.json: ${r instanceof Error?r.message:String(r)}
308
- `),false}}s(Mh,"seedAgentsmeshMcpEntry");function yx(t,e){return t.map(r=>({from:relative(e,r.fromPath).replaceAll("\\","/"),to:r.toPath}))}s(yx,"mapResults");async function _x(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(),i=t.global===true?"global":"project";if(Ye(o)){let p=Aa(r,i),f=await vp(o).importFrom(p.rootBase,{scope:i});return f.length>0&&await Mh(p.rootBase),{exitCode:0,data:{scope:i,target:o,files:yx(f,p.rootBase)}}}let a,c;try{({config:a,context:c}=await ut(r,i));}catch{throw new Error(`Unknown --from "${n}" and no agentsmesh.yaml found. Run 'agentsmesh init' to enable plugin targets, or use a builtin: ${lt.join(", ")}.`)}await qt(a,r);let l=et(o);if(!l)throw new Error(`Unknown --from "${n}". Supported: ${[...lt,...a.pluginTargets??[]].join(", ")}.`);let m=await l.generators.importFrom(c.rootBase,{scope:i});return m.length>0&&await Mh(c.rootBase),{exitCode:0,data:{scope:i,target:o,files:yx(m,c.rootBase)}}}s(_x,"runImport");de();ln();function Mp(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}}s(Mp,"computeDiff");function $p(t){return `${t.new} files would be created, ${t.updated} updated, ${t.unchanged} unchanged, ${t.deleted} deleted`}s($p,"formatDiffSummary");Qn();async function Sx(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",o=t.targets,i=typeof o=="string"&&o?o.split(",").map(g=>g.trim()).filter(Boolean):void 0,{config:a,context:c}=await ut(r,n);await qt(a,r);let{canonical:l}=await se(a,c.configDir,{},c.canonicalDir),m=await He({config:a,canonical:l,projectRoot:c.rootBase,scope:n,targetFilter:i});if(m.length===0)return {exitCode:0,data:{files:[],patches:[],summary:{created:0,updated:0,unchanged:0,deleted:0}}};let{diffs:p,summary:u}=Mp(m);return {exitCode:0,data:{files:m.filter(g=>g.status!=="unchanged"&&g.status!=="skipped").map(g=>({path:g.path,target:g.target,status:g.status})),patches:p.map(g=>({path:g.path,patch:g.patch})),summary:{created:u.new,updated:u.updated,unchanged:u.unchanged,deleted:u.deleted}}}}s(Sx,"runDiff");de();ln();b();Ce();ts();Tt();var N0=[{canonicalKey:"permissions",capabilityKey:"permissions",featureFlag:"permissions",file:".agentsmesh/permissions.yaml",label:"permissions",hasContent:s(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:s(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:s(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:s(t=>t.commands.length>0,"hasContent")},{canonicalKey:"agents",capabilityKey:"agents",featureFlag:"agents",file:".agentsmesh/agents",label:"agents",hasContent:s(t=>t.agents.length>0,"hasContent")},{canonicalKey:"skills",capabilityKey:"skills",featureFlag:"skills",file:".agentsmesh/skills",label:"skills",hasContent:s(t=>t.skills.length>0,"hasContent")},{canonicalKey:"ignore",capabilityKey:"ignore",featureFlag:"ignore",file:".agentsmesh/ignore",label:"ignore patterns",hasContent:s(t=>t.ignore.length>0,"hasContent")}];function Cx(t){let e=new Set(t.enabledFeatures),r=[];for(let n of N0)!e.has(n.featureFlag)||!n.hasContent(t.canonical)||tr(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}s(Cx,"lintSilentFeatureDrops");Tt();var F0=/^(?:\s*(?:bash|sh|zsh|pwsh|powershell)\s+)?["']?(?<path>(?:\.{1,2}\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?:\s|$)/;function v0(t){let r=t.match(F0)?.groups?.path;return typeof r=="string"?r:null}s(v0,"extractScriptToken");function Rx(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 i=v0(o.command);i&&r.push(j(".agentsmesh/hooks.yaml",t.target,`${t.target} hook command references script "${i}"; 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}s(Rx,"lintHookScriptReferences");Tt();function Ox(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}s(Ox,"lintRuleScopeInversion");var M0=["node_modules",".git","dist","coverage",".agentsmesh"];async function $0(t){return (await D(t)).filter(n=>{let o=relative(t,n);return !M0.some(i=>o.includes(`/${i}/`)||o.startsWith(`${i}/`))}).map(n=>relative(t,n))}s($0,"getProjectFiles");async function Gp(t,e,r,n,o={}){let i=o.scope??"project",a=[...t.targets,...t.pluginTargets??[]],c=n?a.filter(S=>n.includes(S)):a,l=t.features.includes("rules"),m=t.features.includes("commands"),p=t.features.includes("mcp"),u=t.features.includes("permissions"),f=t.features.includes("hooks"),g=[],h=i==="global"?[]:await $0(r);for(let S of c){let _=et(S),k=Ye(S)?vp(S):_;k?.capabilities&&g.push(...Cx({target:S,capabilities:k.capabilities,canonical:e,enabledFeatures:t.features})),f&&g.push(...Rx({target:S,canonical:e,hasScriptProjection:_?.postProcessHookOutputs!==void 0})),l&&g.push(...Ox({target:S,canonical:e,preservesManualActivation:_?.preservesManualActivation===true})),l&&k?.lintRules&&g.push(...k.lintRules(e,r,h,{scope:i})),_?.generators.lint&&g.push(..._.generators.lint(e));let T={scope:i};m&&k?.lint?.commands&&g.push(...k.lint.commands(e,T)),p&&k?.lint?.mcp&&g.push(...k.lint.mcp(e,T)),u&&k?.lint?.permissions&&g.push(...k.lint.permissions(e,T)),f&&k?.lint?.hooks&&g.push(...k.lint.hooks(e,T));}let R=g.some(S=>S.level==="error");return {diagnostics:g,hasErrors:R}}s(Gp,"runLint");Qn();async function kx(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",o=t.targets,i=typeof o=="string"&&o?o.split(",").map(u=>u.trim()).filter(Boolean):void 0,{config:a,context:c}=await ut(r,n);await qt(a,r);let{canonical:l}=await se(a,c.configDir,{},c.canonicalDir),{diagnostics:m,hasErrors:p}=await Gp(a,l,c.configDir,i,{scope:n});return {exitCode:p?1:0,data:{diagnostics:m.map(u=>({level:u.level,file:u.file,target:u.target,message:u.message})),summary:{errors:m.filter(u=>u.level==="error").length,warnings:m.filter(u=>u.level==="warning").length}}}}s(kx,"runLintCmd");st();function wx(t){let{data:e}=t;if(e.diagnostics.length===0){I.success("All checks passed.");return}let r=e.diagnostics.filter(a=>a.level==="error"),n=e.diagnostics.filter(a=>a.level==="warning");for(let a of r)I.error(`${a.file} (${a.target}): ${a.message}`);for(let a of n)I.warn(`${a.file} (${a.target}): ${a.message}`);let o=e.summary.errors,i=e.summary.warnings;I.info(`${o} error${o!==1?"s":""}, ${i} warning${i!==1?"s":""}`);}s(wx,"renderLint");st();function Lx(t){let{data:e}=t;if(!e.hasLock){I.error("Not initialized for collaboration. Run 'agentsmesh generate' first.");return}if(e.inSync){I.success("Lock file is in sync.");return}let r=new Set(e.lockedViolations);I.error("Conflict detected:");for(let n of e.extendsModified)I.error(` extend "${n}" was modified`);for(let n of e.modified){let o=r.has(n)?" [LOCKED]":"";I.error(` ${n} was modified${o}`);}for(let n of e.added){let o=r.has(n)?" [LOCKED]":"";I.error(` ${n} was added${o}`);}for(let n of e.removed){let o=r.has(n)?" [LOCKED]":"";I.error(` ${n} was removed${o}`);}I.info("Run 'agentsmesh merge' to resolve, or 'agentsmesh generate --force' to accept current state.");}s(Lx,"renderCheck");st();function bx(t){let{data:e}=t;if(e.files.length===0){I.info(`Nothing to import from ${e.target}.`);return}for(let n of e.files)I.success(`${n.from} \u2192 ${n.to}`);let r=e.scope==="global"?" --global":"";I.info(`Imported ${e.files.length} file(s). Run 'agentsmesh generate${r}' to sync to other tools.`);}s(bx,"renderImport");st();function Ax(t){let{summary:e}=t.data;if(e.created+e.updated+e.unchanged+e.deleted===0){I.info("No files to generate (no root rule or rules feature disabled).");return}for(let n of t.data.patches)process.stdout.write(n.patch);I.info($p({new:e.created,updated:e.updated,unchanged:e.unchanged,deleted:e.deleted}));}s(Ax,"renderDiff");st();function xx(t){if(!t.data.hadConflict){I.info("No conflicts to resolve.");return}I.success("Lock file conflict resolved.");}s(xx,"renderMerge");Hc();Vc();de();ln();Hc();Vc();st();var U0=300;function W0(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}s(W0,"normalizeWatchPath");function K0(t,e,r){let n=W0(relative(t,e));return n===""?true: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/")}s(K0,"shouldIgnoreWatchPath");function B0(t,e,r,n,o,i,a,c,l){return JSON.stringify({features:t,rulesCount:e,commandsCount:r,agentsCount:n,skillsCount:o,mcpServerCount:i,permissionsCount:a,hooksCount:c,ignoreCount:l})}s(B0,"featureFingerprint");async function Tx(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{context:o}=await ut(r,n),i=[o.canonicalDir,join(o.configDir,"agentsmesh.yaml"),join(o.configDir,"agentsmesh.local.yaml")],a=null,c=null,l=false,m=null,u=s(async()=>{if(l)return;a=null;let{config:R,context:S}=await ut(r,n),{canonical:_}=await se(R,S.configDir,{},S.canonicalDir),k=_.mcp?Object.keys(_.mcp.mcpServers).length:0,T=_.permissions?_.permissions.allow.length+_.permissions.deny.length:0,P=_.hooks?Object.values(_.hooks).reduce((Lt,Et)=>Lt+(Array.isArray(Et)?Et.length:0),0):0,A=_.ignore.length,Z=B0(R.features,_.rules.length,_.commands.length,_.agents.length,_.skills.length,k,T,P,A),B=c!==null&&c!==Z;if(c=Z,l)return;let V=await da(t,r,{printMatrix:false});if(fa(V),!l)if(B){let Lt=await Bc(t,r);zc(Lt,{verbose:t.verbose===true});}else I.info("Regenerated.");},"run"),f=s(()=>{let R=u().catch(S=>{if(!l){let _=S instanceof Error?S.message:String(S);I.error(_);}}).finally(()=>{m===R&&(m=null);});m=R;},"scheduleRun"),g=s(()=>{l||(a&&clearTimeout(a),a=setTimeout(f,U0));},"schedule"),h=j0.watch(i,{ignoreInitial:true,usePolling:process.platform==="win32"});return h.on("all",(R,S)=>{K0(o.canonicalDir,S)||g();}),await new Promise((R,S)=>{h.once("ready",R),h.once("error",S);}),I.info(n==="global"?"Watching ~/.agentsmesh/ and agentsmesh.yaml...":"Watching .agentsmesh/ and agentsmesh.yaml..."),m=u(),await m,m=null,{stop:s(async()=>{l=true,a&&(clearTimeout(a),a=null),await h.close(),m&&await m;},"stop")}}s(Tx,"runWatch");de();dl();async function jp(t){let{config:e,configDir:r,canonicalDir:n}=t,o=await Rp(n);if(o===null)return {inSync:false,hasLock:false,modified:[],added:[],removed:[],extendsModified:[],lockedViolations:[]};let i=await Zn(n),a=await ai(e,r),c=a.length>0?await pa(a):{},l=new Set(Object.keys(o.checksums)),m=new Set(Object.keys(i)),p=[],u=[],f=[];for(let _ of l){let k=i[_];k===void 0?f.push(_):k!==o.checksums[_]&&p.push(_);}for(let _ of m)l.has(_)||u.push(_);let g=new Set([...Object.keys(o.extends),...Object.keys(c)]),h=[];for(let _ of g)c[_]!==o.extends[_]&&h.push(_);let R=Ep(o.checksums,i,e.collaboration?.lock_features??[]);return {inSync:p.length===0&&u.length===0&&f.length===0&&h.length===0,hasLock:true,modified:p,added:u,removed:f,extendsModified:h,lockedViolations:R}}s(jp,"checkLockSync");Qn();async function Dx(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{config:o,context:i}=await ut(r,n);await qt(o,r);let a=await jp({config:o,configDir:i.configDir,canonicalDir:i.canonicalDir});return a.hasLock?{exitCode:a.inSync?0:1,data:{hasLock:true,inSync:a.inSync,modified:[...a.modified],added:[...a.added],removed:[...a.removed],extendsModified:[...a.extendsModified],lockedViolations:[...a.lockedViolations]}}:{exitCode:1,data:{hasLock:false,inSync:false,modified:[],added:[],removed:[],extendsModified:[],lockedViolations:[]}}}s(Dx,"runCheck");de();b();dl();var z0=".lock",V0="<<<<<<<";async function $h(t){let e=join(t,z0),r=await y(e);return r===null?false:r.includes(V0)}s($h,"hasLockConflict");async function Fx(t,e,r){if(!await $h(t))throw new Error("No conflict to resolve.");let o=await Zn(t),i=dirname(t),a=r?await ai(r,i):[],c=a.length>0?await pa(a):{},l=await kp(join(t,"packs")),m=process.env.USER??process.env.USERNAME??"unknown";await Op(t,{generatedAt:new Date().toISOString(),generatedBy:m,libVersion:e,checksums:o,extends:c,packs:l});}s(Fx,"resolveLockConflict");async function vx(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{config:o,context:i}=await ut(r,n),a=i.canonicalDir;return await $h(a)?(await Fx(a,ka(),o),{exitCode:0,data:{hadConflict:true,resolved:true}}):{exitCode:0,data:{hadConflict:false,resolved:false}}}s(vx,"runMerge");de();b();Ta();var X0=promisify(execFile);function Up(t,e){if(t.startsWith("-"))throw new Error(`agentsmesh refuses ${e} starting with "-" (option-injection guard): ${t}`)}s(Up,"ensureNotFlag");async function Gh(t){let{stdout:e}=await X0("git",t,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return e.trim()}s(Gh,"runGit");async function Mx(){try{return await Gh(["--version"]),!0}catch{return false}}s(Mx,"isGitAvailable");async function Z0(t,e){Up(t,"remote-url"),Up(e,"ref");let r=[e,`refs/heads/${e}`,`refs/tags/${e}`],n;for(let o of r)try{let a=(await Gh(["ls-remote",t,o])).split(`
309
- `).map(l=>l.trim()).find(l=>l.length>0);if(!a)continue;let c=a.split(/\s+/)[0];if(c&&/^[0-9a-f]{40}$/i.test(c))return c}catch(i){n=i;}throw new Error(`Could not resolve ref "${e}" for ${t}: ${n instanceof Error?n.message:String(n)}`)}s(Z0,"gitLsRemoteResolve");async function $x(t,e){Up(e,"remote-url");let r=t===""?"HEAD":t;if(Up(r,"ref"),/^[0-9a-f]{40}$/i.test(r))return r.toLowerCase();if(r==="HEAD"){let o=(await Gh(["ls-remote",e,"HEAD"])).split(`
310
- `).find(a=>a.trim().length>0);if(!o)throw new Error(`Could not resolve HEAD for ${e}`);let i=o.split(/\s+/)[0];if(!i||!/^[0-9a-f]{40}$/i.test(i))throw new Error(`Invalid ls-remote HEAD line for ${e}`);return i.toLowerCase()}return Z0(e,r)}s($x,"resolveRemoteRefForInstall");async function Gx(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 $x(t.rawRef||"HEAD",e);if(t.kind==="github"){let c=`github:${t.org}/${t.repo}@${r}`;return {resolvedPath:(await ii(c,"install",{cacheDir:fe(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:c,version:r}}if(t.kind==="gitlab"){let c=`gitlab:${t.org}/${t.repo}@${r}`;return {resolvedPath:(await ii(c,"install",{cacheDir:fe(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:c,version:r}}let n=r,i=`git+${(t.gitPlusBase??e).split("#")[0]}#${n}`;return {resolvedPath:(await ii(i,"install",{cacheDir:fe(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:i,version:r}}s(Gx,"fetchInstallSource");async function jx(t,e){if(t.kind==="local")return {resolvedPath:t.localRoot,sourceForYaml:t.localSourceForYaml};try{let r=await Gx(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}}s(jx,"resolveInstallResolvedPath");function jh(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],i=r[1],a=r[n+1],c=r.slice(n+2).join("/");return !o||!i||!a?null:{org:o,repo:i,ref:a,path:c||""}}catch{return null}}s(jh,"parseGithubTreeUrl");function Uh(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],i=r[1],a=r[n+1],c=r.slice(n+2).join("/");return !o||!i||!a||!c?null:{org:o,repo:i,ref:a,path:c}}catch{return null}}s(Uh,"parseGithubBlobUrl");function Wh(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 i=r[o+1],a=r.slice(o+2).join("/"),c=r.slice(0,n);if(c.length<2)return null;let l=c[c.length-1],m=c.slice(0,-1).join("/");return !m||!l||!i?null:{namespace:m,project:l,ref:i,path:a||""}}catch{return null}}s(Wh,"parseGitlabTreeUrl");function Kh(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 i=r[o+1],a=r.slice(o+2).join("/"),c=r.slice(0,n);if(c.length<2)return null;let l=c[c.length-1],m=c.slice(0,-1).join("/");return !m||!l||!i||!a?null:{namespace:m,project:l,ref:i,path:a}}catch{return null}}s(Kh,"parseGitlabBlobUrl");var q0=new Set(["tree","blob","commit","releases","actions","issues","pulls","settings","wiki","discussions","security","projects","packages"]);function Bh(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean).map(i=>i.replace(/\.git$/i,""));if(r.length<2||r.length>2||q0.has(r[1]))return null;let n=r[0],o=r[1];return {org:n,repo:o}}catch{return null}}s(Bh,"parseGithubRepoUrl");function Hh(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean).map(i=>i.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}}s(Hh,"parseGitlabRepoUrl");function zh(t){let e=t.match(/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?$/i);return e?{org:e[1],repo:e[2].replace(/\.git$/i,"")}:null}s(zh,"parseGitSshGithub");function Vh(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}}s(Vh,"parseGitSshGitlab");b();var eW=/^[A-Za-z]:[\\/]/,rW=/^[A-Za-z]:\//;function Ux(...t){return t.some(e=>e.includes("\\")||eW.test(e))?win32:posix}s(Ux,"pathApiFor");function Yc(t){return t.replace(/\\/g,"/")}s(Yc,"toPosixPath");function Jc(t){return Yc(t).replace(/^\/+|\/+$/g,"")}s(Jc,"normalizeInstallPathField");function Wp(t){let e=Yc(t);return e===""||e==="."||e==="./."?".":e.startsWith("./")||e.startsWith("../")||e.startsWith("/")||rW.test(e)?e:`./${e}`}s(Wp,"normalizeLocalSourceForYaml");function Uo(t){return {...t,source:t.source_kind==="local"?Wp(t.source):t.source,...t.path!==void 0?{path:Jc(t.path)}:{},...t.paths!==void 0?{paths:t.paths.map(e=>Jc(e))}:{}}}s(Uo,"normalizePersistedInstallPaths");function Wx(t,e,r){let n=Ux(t,e),o=n.normalize(t),i=n.normalize(e),a=Jc(r),c=`${n.sep}.agentsmesh${n.sep}`,l=o.indexOf(c);if(l>=0){let p=o.slice(0,l),u=o.slice(l+c.length),f=Jc(u),g=Yc(n.relative(i,p))||".";return {kind:"local",rawRef:"",pathInRepo:a||f.replace(/\.md$/i,"").replace(/\/$/,""),localRoot:p,localSourceForYaml:Wp(g)}}let m=Yc(n.relative(i,o))||".";return {kind:"local",rawRef:"",pathInRepo:a,localRoot:o,localSourceForYaml:Wp(m)}}s(Wx,"localParsedFromAbsPath");async function Jh(t,e,r){let n=t.trim(),o=r?.trim().replace(/\\/g,"/")??"";if(n.startsWith("git+")){let l=n.lastIndexOf("#"),m=l<0?n:n.slice(0,l),p=l<0?"HEAD":n.slice(l+1),u=m.slice(4);return {kind:"git",rawRef:p,gitPlusBase:u,gitRemoteUrl:u,pathInRepo:o}}if(n.startsWith("https://")||n.startsWith("http://")){let l=jh(n)??Uh(n);if(l)return {kind:"github",rawRef:l.ref,org:l.org,repo:l.repo,gitRemoteUrl:`https://github.com/${l.org}/${l.repo}.git`,pathInRepo:o||l.path};let m=Bh(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=Wh(n)??Kh(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=Hh(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 l=zh(n);if(!l)throw new Error(`Invalid GitHub SSH URL: ${n}`);return {kind:"github",rawRef:"HEAD",org:l.org,repo:l.repo,gitRemoteUrl:`https://github.com/${l.org}/${l.repo}.git`,pathInRepo:o}}if(n.startsWith("git@gitlab.com:")){let l=Vh(n);if(!l)throw new Error(`Invalid GitLab SSH URL: ${n}`);return {kind:"gitlab",rawRef:"HEAD",gitRemoteUrl:`https://gitlab.com/${l.namespace}/${l.project}.git`,pathInRepo:o}}if(n.startsWith("git@")){let l=n.match(/^git@([^:]+):(.+?)(?:\.git)?$/);if(!l)throw new Error(`Invalid SSH git URL: ${n}`);let m=l[1],p=l[2].replace(/\.git$/i,"");return {kind:"git",rawRef:"HEAD",gitRemoteUrl:`ssh://git@${m}/${p}.git`,pathInRepo:o}}let i=n.match(/^github:([^/]+)\/(.+?)@([^/@]+)$/);if(i){let l=i[1],m=i[2];return {kind:"github",rawRef:i[3],org:l,repo:m,gitRemoteUrl:`https://github.com/${l}/${m}.git`,pathInRepo:o}}let a=n.match(/^gitlab:(.+)\/([^/@]+)@([^/@]+)$/);if(a){let l=a[1],m=a[2];return {kind:"gitlab",rawRef:a[3],org:l,repo:m,gitRemoteUrl:`https://gitlab.com/${l}/${m}.git`,pathInRepo:o}}let c=resolve(e,n);if(!await F(c))throw new Error(`Path does not exist: ${c}`);return Wx(c,e,o)}s(Jh,"parseInstallSource");b();st();fn();b();yp();var Kx=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(oi).min(1),pick:ba.optional(),target:Le.optional(),path:z$1.string().optional(),paths:z$1.array(z$1.string().min(1)).min(1).optional(),as:ma.optional()}),aW=z$1.object({version:z$1.literal(1),installs:z$1.array(Kx).default([])});function cW(t,e){return t.length===e.length&&[...t].sort().every((r,n)=>r===[...e].sort()[n])}s(cW,"sameFeatures");function lW(t,e){return t.source===e.source&&t.target===e.target&&t.as===e.as&&cW(t.features,e.features)}s(lW,"sameInstallIdentity");function Bx(t){return join(t,"installs.yaml")}s(Bx,"manifestPath");async function Yh(t){let e=await y(Bx(t));if(e===null)return [];try{return aW.parse(parse(e)).installs.map(r=>Uo(r))}catch{return []}}s(Yh,"readInstallManifest");async function Hx(t,e){let r=Uo(e),o=(await Yh(t)).filter(i=>i.name!==r.name&&!lW(i,r));o.push(r),await C(Bx(t),stringify({version:1,installs:o.sort((i,a)=>i.name.localeCompare(a.name))}));}s(Hx,"upsertInstallManifestEntry");function zx(t){return Uo(Kx.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}))}s(zx,"buildInstallManifestEntry");async function pW(t){let e=await Yh(t.canonicalDir);if(e.length===0){I.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 F(o)||r.push(n);}if(r.length===0){I.info("All recorded packs are already installed.");return}for(let n of r)await t.reinstall(n);I.success(`Reinstalled ${r.length} pack(s) from .agentsmesh/installs.yaml.`);}s(pW,"syncInstalledPacks");async function Vx(t){return t.sync?(await pW({canonicalDir:t.canonicalDir,reinstall:t.reinstall}),true):false}s(Vx,"maybeRunInstallSync");yp();function Jx(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"?ma.parse(t.as.trim()):void 0,nameOverride:typeof t.name=="string"?t.name.trim():""}}s(Jx,"readInstallFlags");qg();function Vs(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}s(Vs,"featuresFromCanonical");async function Kp(t){let{sliceRoot:e,implicitPick:r}=await fp(t),n=await gp(e);return {canonical:n,features:Vs(n),implicitPick:r}}s(Kp,"discoverFromContentRoot");function Yx(t){return t.description.trim()?{skill:t,ok:true}:{skill:t,ok:false,reason:"missing description in frontmatter"}}s(Yx,"validateSkill");function Xx(t){return t.description.trim()?{rule:t,ok:true}:{rule:t,ok:false,reason:"missing description in frontmatter"}}s(Xx,"validateRule");function Zx(t){return t.description.trim()?{command:t,ok:true}:{command:t,ok:false,reason:"missing description in frontmatter"}}s(Zx,"validateCommand");function qx(t){return t.description.trim()?{agent:t,ok:true}:{agent:t,ok:false,reason:"missing description in frontmatter"}}s(qx,"validateAgent");function pe(t){return basename(t.source).replace(/\.md$/i,"")}s(pe,"ruleSlug");function dW(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}s(dW,"featuresFromImplicitPick");function ha(t,e){let{implicitPick:r}=e,n=e.scopedFeatures??dW(r);if(!r&&!n)return t;let o=new Set(n??[]),i={...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);i={...i,skills:r.skills.length===0?[]:i.skills.filter(c=>a.has(c.name))};}else n&&!o.has("skills")&&(i={...i,skills:[]});if(r?.rules!==void 0){let a=new Set(r.rules);i={...i,rules:r.rules.length===0?[]:i.rules.filter(c=>a.has(pe(c)))};}else n&&!o.has("rules")&&(i={...i,rules:[]});if(r?.commands!==void 0){let a=new Set(r.commands);i={...i,commands:r.commands.length===0?[]:i.commands.filter(c=>a.has(c.name))};}else n&&!o.has("commands")&&(i={...i,commands:[]});if(r?.agents!==void 0){let a=new Set(r.agents);i={...i,agents:r.agents.length===0?[]:i.agents.filter(c=>a.has(c.name))};}else n&&!o.has("agents")&&(i={...i,agents:[]});return i}s(ha,"narrowDiscoveredForInstallScope");b();dp();b();v();var hW=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"]),yW=new Set([".git",".github",".gitlab","node_modules",".vscode",".idea"]);async function Bp(t){let e=await y(t);if(!e)return "";let{frontmatter:r}=E(e);return typeof r.name!="string"?"":r.name.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}s(Bp,"readSkillFrontmatterName");async function Qx(t,e){await cp$1(t,e,{recursive:true,filter:s(r=>{let n=relative(t,r).replace(/\\/g,"/");if(n==="")return true;let o=n.split("/")[0];return !(yW.has(o)||!n.includes("/")&&hW.has(n))},"filter")});}s(Qx,"cpFilteredSkill");async function RW(){let t=await mkdtemp(join(tmpdir(),"am-install-manual-")),e=join(t,"repo");return await O(join(e,".agentsmesh")),{discoveryRoot:e,cleanup:s(async()=>{await rm$1(t,{recursive:true,force:true});},"cleanup")}}s(RW,"createStageRoot");async function OW(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 O(e),await cp$1(t,join(e,basename(t)));return}let n=(await D(t)).filter(i=>i.toLowerCase().endsWith(".md"));if(n.length===0)throw new Error(`No .md files found under ${t} for manual install.`);let o=new Map;await O(e);for(let i of n){let a=basename(i),c=o.get(a);if(c)throw new Error(`Manual install found duplicate file name "${a}" under ${t} (${c} and ${i}).`);o.set(a,i),await cp$1(i,join(e,a));}}s(OW,"stageMarkdownCollection");async function tP(t,e,r){if(r.length===0)return false;let n=new Set(r),o=new Map;for(let i of await D(t)){if(!i.endsWith("/SKILL.md")&&!i.endsWith("\\SKILL.md"))continue;let a=dirname(i),c=basename(a);if(!n.has(c))continue;let l=o.get(c);if(l&&l!==a)throw new Error(`Manual skill replay found duplicate skill "${c}" under ${t} (${l} and ${a}).`);o.set(c,a);}if(o.size!==r.length)return false;await O(e);for(let i of r)await cp$1(o.get(i),join(e,i),{recursive:true});return true}s(tP,"stagePreferredSkills");async function EW(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)),i=join(e,o);await O(i),await cp$1(dirname(t),i,{recursive:true});return}if(await Hs(t)){if((await stat(join(t,"SKILL.md")).catch(()=>null))?.isFile()){if(await tP(t,e,r.preferredSkillNames??[]))return;let c=await Bp(join(t,"SKILL.md"))||basename(t),l=join(e,c);await O(e),await Qx(t,l);return}if(await tP(t,e,r.preferredSkillNames??[]))return;await O(e);let o=await D(t),i=new Set;for(let a of o.filter(c=>c.endsWith("/SKILL.md")||c.endsWith("\\SKILL.md")))i.add(relative(t,dirname(a)).split(/[\\/]/)[0]);for(let a of i)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}.`)}s(EW,"stageSkills");async function eP(t,e,r={}){let n=await RW();try{let o=join(n.discoveryRoot,".agentsmesh",e);return e==="skills"?await EW(t,o,r):await OW(t,o),n}catch(o){throw await n.cleanup(),o}}s(eP,"stageManualInstallScope");async function rP(t,e,r,n){let o=await eP(t,e,{preferredSkillNames:e==="skills"?n?.skills:void 0}),{canonical:i}=await Kp(o.discoveryRoot),a=ha(i,{scopedFeatures:[e]});return {prep:{yamlTarget:r,scopedFeatures:[e],cleanup:o.cleanup},narrowed:a,discoveredFeatures:Vs(a)}}s(rP,"resolveManualDiscoveredForInstall");fn();Pu();b();var kW=[{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 wW(t){return t.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"")}s(wW,"norm");function zp(t){let e=wW(t),r=[...kW].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}s(zp,"targetHintFromNativePath");function Zh(t,e){return zp(t)===e}s(Zh,"pathSupportsNativePick");function nP(t,e){if(!t||!e)return;let r=zp(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.`)}s(nP,"validateTargetMatchesPath");function oP(t){return (t.commands?.length??0)+(t.rules?.length??0)+(t.skills?.length??0)+(t.agents?.length??0)>0}s(oP,"extendPickHasArrays");b();b();Ft();async function iP(t,e){let r=join(t,...Ie.split("/")),n=join(t,...e.split("/")),o=await D(n),i=[];for(let a of o){if(!/\.(toml|md)$/i.test(a))continue;let c=relative(r,a).replace(/\\/g,"/");if(c.startsWith("..")||c==="")continue;let m=c.replace(/\.(toml|md)$/i,"").split("/").filter(Boolean).join(":");m&&i.push(m);}return [...new Set(i)].sort()}s(iP,"inferGeminiCommandNamesFromFiles");Ft();ve();b();async function Js(t){let e=await D(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()}s(Js,"skillNamesFromNativeSkillDir");b();Ue();async function aP(t,e){let r=join(t,...e.split("/"));if(e.startsWith(Po)){let n=await D(r),o=[...new Set(n.filter(i=>i.toLowerCase().endsWith(".prompt.md")).map(i=>basename(i,".prompt.md")))].sort();return o.length?{commands:o}:{}}if(e.startsWith(".github/copilot")&&!e.includes("copilot-instructions.md")){let n=await D(r),o=[...new Set(n.filter(i=>i.includes(".instructions.md")).map(i=>basename(i).replace(/\.instructions\.md$/i,"")))].sort();return o.length?{rules:o}:{}}if(e.startsWith(".github/instructions")){let n=await D(r),o=new Set;for(let a of n){let c=basename(a);c.toLowerCase().endsWith(".instructions.md")?o.add(c.replace(/\.instructions\.md$/i,"")):c.toLowerCase().endsWith(".md")&&o.add(basename(a,".md"));}let i=[...o].sort();return i.length?{rules:i}:{}}if(e.startsWith(".github/skills")){let n=await Js(r);return n.length?{skills:n}:{}}if(e.startsWith(".github/agents")){let n=await D(r),o=[...new Set(n.filter(i=>i.toLowerCase().endsWith(".agent.md")).map(i=>basename(i,".agent.md")))].sort();return o.length?{agents:o}:{}}return {}}s(aP,"inferCopilotPickFromPath");async function Oe(t,e){let r=await D(t),n=e.toLowerCase();return [...new Set(r.filter(o=>o.toLowerCase().endsWith(n)).map(o=>basename(o,e)))].sort()}s(Oe,"mdNames");async function lP(t,e,r){let n=e.replace(/\\/g,"/").replace(/^\/+|\/+$/g,""),o=join(t,...n.split("/"));if(r==="gemini-cli"){if(n===Ie||n.startsWith(`${Ie}/`)){let i=await iP(t,n);return i.length?{commands:i}:{}}return {}}if(r==="claude-code"){if(n.startsWith(".claude/commands")){let i=await Oe(o,".md");return i.length?{commands:i}:{}}if(n.startsWith(".claude/rules")){let i=await Oe(o,".md");return i.length?{rules:i}:{}}if(n.startsWith(".claude/agents")){let i=await Oe(o,".md");return i.length?{agents:i}:{}}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 i=await Oe(o,".mdc");return i.length?{rules:i}:{}}if(n.startsWith(".cursor/commands")){let i=await Oe(o,".md");return i.length?{commands:i}:{}}if(n.startsWith(".cursor/agents")){let i=await Oe(o,".md");return i.length?{agents:i}:{}}if(n.startsWith(".cursor/skills")){let i=await Js(o);return i.length?{skills:i}:{}}return {}}if(r==="copilot")return aP(t,n);if(r==="windsurf"&&n.startsWith(".windsurf/rules")){let i=await Oe(o,".md");return i.length?{rules:i}:{}}if(r==="cline"){if(n.startsWith(Kt)){let i=await Js(o);return i.length?{skills:i}:{}}if(n.startsWith(vr)){let i=await Oe(o,".md");return i.length?{commands:i}:{}}return {}}if(r==="continue"){if(n.startsWith(".continue/rules")){let i=await Oe(o,".md");return i.length?{rules:i}:{}}if(n.startsWith(".continue/prompts")){let i=await Oe(o,".md");return i.length?{commands:i}:{}}if(n.startsWith(".continue/skills")){let i=await Js(o);return i.length?{skills:i}:{}}return {}}if(r==="junie"){if(n.startsWith(".junie/commands")){let i=await Oe(o,".md");return i.length?{commands:i}:{}}if(n.startsWith(".junie/rules")){let i=await Oe(o,".md");return i.length?{rules:i}:{}}if(n.startsWith(".junie/agents")){let i=await Oe(o,".md");return i.length?{agents:i}:{}}if(n.startsWith(".junie/skills")){let i=await Js(o);return i.length?{skills:i}:{}}return {}}if(r==="codex-cli"&&n.startsWith(".codex")){let i=await D(o),a=[...new Set(i.filter(c=>c.toLowerCase().endsWith(".md")).map(c=>basename(c,".md")))].sort();return a.length?{rules:a}:{}}return {}}s(lP,"inferImplicitPickFromNativePath");function mP(t){return (t.commands?.length??0)+(t.rules?.length??0)+(t.skills?.length??0)+(t.agents?.length??0)===0}s(mP,"isImplicitPickEmpty");Yg();function qc(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}s(qc,"normalizePath");function vW(t,e){let r=qc(t),n=qc(e);return r===n||r.startsWith(`${n}/`)||n.startsWith(`${r}/`)}s(vW,"overlapsPath");function Vp(t,e){let r=t??[];return r.includes(e)||r.push(e),r}s(Vp,"addUnique");async function MW(t){let e=await mkdtemp(join(tmpdir(),"am-install-native-")),r=join(e,"repo"),n=s(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}}s(MW,"makeStageRoot");function $W(t,e){let r;for(let o of t){if(o.feature==="rules"&&o.toPath.startsWith(".agentsmesh/rules/")){r={...r,rules:Vp(r?.rules,basename(o.toPath,".md"))};continue}if(o.feature==="commands"&&o.toPath.startsWith(".agentsmesh/commands/")){let i=qc(relative(join(e,".agentsmesh","commands"),join(e,o.toPath)));r={...r,commands:Vp(r?.commands,i.replace(/\.md$/i,"").split("/").filter(Boolean).join(":"))};continue}if(o.feature==="agents"&&o.toPath.startsWith(".agentsmesh/agents/")){r={...r,agents:Vp(r?.agents,basename(o.toPath,".md"))};continue}if(o.feature==="skills"&&o.toPath.startsWith(".agentsmesh/skills/")){let a=qc(relative(join(e,".agentsmesh","skills"),join(e,o.toPath))).split("/")[0];a&&(r={...r,skills:Vp(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}s($W,"buildPickFromResults");function GW(t,e,r,n){let o=join(e,...qc(t).split("/")),i=r.filter(a=>vW(o,a.fromPath));if(i.length===0)throw new Error(`No installable native resources found under "${t}" for target "${n}".`);return {features:[...new Set(i.map(a=>a.feature))],pick:$W(i,e)}}s(GW,"scopeImportedResults");async function Qh(t,e){let{stageRoot:r,cleanup:n}=await MW(t);try{let o=await vc(r,e);return {stageRoot:r,results:o,cleanup:n}}catch(o){throw await n(),o}}s(Qh,"stageImportedNativeRepo");async function ty(t,e,r){let n=await Qh(t,r);try{return {stageRoot:n.stageRoot,cleanup:n.cleanup,...GW(e,n.stageRoot,n.results,r)}}catch(o){throw await n.cleanup(),o}}s(ty,"stageNativeInstallScope");async function fP(t,e,r,n){let o=n.explicitTarget?.trim();o&&Le.parse(o);let i=r.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"");nP(o,i);let a=join(t,".agentsmesh"),c=await F(a),l=i?zp(i):void 0,m=!c&&!o?await El(t)??void 0:void 0;if(!o&&l&&m&&l!==m)throw new Error(`Install path suggests native layout "${l}" but auto-detect imported "${m}". Use --target ${l} for this path, or install from the repo root without a conflicting subtree path.`);let p=o??l??m,u=!!i&&!!p&&!i.startsWith(".agentsmesh");if(!c&&p){if(u){let k=await ty(t,i,p);return {discoveryRoot:k.stageRoot,implicitPick:k.pick,scopedFeatures:k.features,yamlTarget:p,importHappened:true,cleanup:k.cleanup}}let _=await Qh(t,p);return {discoveryRoot:i?join(_.stageRoot,i):_.stageRoot,yamlTarget:p,importHappened:true,cleanup:_.cleanup}}let f;c?i?p&&Zh(i,p)?f=t:f=e:f=t:f=e;let g,h,R;if(u&&p){let _=await ty(t,i,p);f=_.stageRoot,g=_.pick,h=_.features,R=_.cleanup;}else if(f===t&&i&&p&&Zh(i,p)&&(g=await lP(t,i,p),mP(g)))throw new Error(`No installable native resources found under "${i}" for target "${p}".`);let S;return o?S=o:p&&(g&&oP(g)||(h?.length??0)>0)&&(S=p),{discoveryRoot:f,implicitPick:g,scopedFeatures:h,yamlTarget:S,importHappened:R!==void 0,cleanup:R}}s(fP,"prepareInstallDiscovery");async function gP(t,e,r,n){let o=await fP(t,e,r,{explicitTarget:n}),{canonical:i,implicitPick:a}=await Kp(o.discoveryRoot),c=a??o.implicitPick,l=ha(i,{implicitPick:c,scopedFeatures:o.scopedFeatures}),m=Vs(l);return {prep:o,discovered:i,implicitPick:c,narrowed:l,discoveredFeatures:m}}s(gP,"resolveDiscoveredForInstall");async function hP(t){return t.explicitAs?{implicitPick:void 0,...await rP(t.contentRoot,t.explicitAs,t.explicitTarget,t.replayPick)}:gP(t.resolvedPath,t.contentRoot,t.pathInRepo,t.explicitTarget)}s(hP,"resolveInstallDiscovery");function _a(t){return t==="."||t===""?void 0:t}s(_a,"trimDot");function UW(t,e){let r=basename(e).replace(/\.md$/i,"");return t==="agents"?{agents:[r]}:t==="commands"?{commands:[r]}:{rules:[r]}}s(UW,"markdownPick");async function _P(t){if(!t.as)return {pathInRepo:_a(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:_a(dirname(e)),pick:UW(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:_a(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 Bp(o);return {pathInRepo:_a(dirname(n)),pick:{skills:[a||basename(n)]}}}}catch{return {pathInRepo:_a(e)}}}}return {pathInRepo:_a(e)}}s(_P,"resolveManualInstallPersistence");ln();st();async function mn(t){return process.stdin.isTTY?new Promise(e=>{let r=IP.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}s(mn,"confirm");function WW(t){return !!(t.skills.length||t.rules.length||t.commands.length||t.agents.length)}s(WW,"hasArrayResources");function SP(t){return WW(t)||t.mcp!==null||t.permissions!==null||t.hooks!==null||t.ignore.length>0}s(SP,"hasInstallableResources");async function CP(t,e,r,n){let o=t.skills.map(c=>Yx(c)),i=o.filter(c=>c.ok).map(c=>c.skill),a=o.filter(c=>!c.ok);if(!e&&!r&&n)for(let c of a)await mn(`Include invalid skill "${c.skill.name}" anyway? (${c.reason}). You can fix it later.`)&&i.push(c.skill);else e&&(i=o.map(c=>c.skill));return r&&(i=o.filter(c=>c.ok).map(c=>c.skill)),i}s(CP,"resolveSkillPool");async function RP(t,e,r,n){let o=t.rules.map(c=>Xx(c)),i=o.filter(c=>c.ok).map(c=>c.rule),a=o.filter(c=>!c.ok);if(!e&&!r&&n)for(let c of a)await mn(`Include invalid rule "${pe(c.rule)}" anyway? (${c.reason}). You can fix it later.`)&&i.push(c.rule);else e&&(i=o.map(c=>c.rule));return r&&(i=o.filter(c=>c.ok).map(c=>c.rule)),i}s(RP,"resolveRulePool");async function OP(t,e,r,n){let o=t.commands.map(c=>Zx(c)),i=o.filter(c=>c.ok).map(c=>c.command),a=o.filter(c=>!c.ok);if(!e&&!r&&n)for(let c of a)await mn(`Include invalid command "${c.command.name}" anyway? (${c.reason}). You can fix it later.`)&&i.push(c.command);else e&&(i=o.map(c=>c.command));return r&&(i=o.filter(c=>c.ok).map(c=>c.command)),i}s(OP,"resolveCommandPool");async function EP(t,e,r,n){let o=t.agents.map(c=>qx(c)),i=o.filter(c=>c.ok).map(c=>c.agent),a=o.filter(c=>!c.ok);if(!e&&!r&&n)for(let c of a)await mn(`Include invalid agent "${c.agent.name}" anyway? (${c.reason}). You can fix it later.`)&&i.push(c.agent);else e&&(i=o.map(c=>c.agent));return r&&(i=o.filter(c=>c.ok).map(c=>c.agent)),i}s(EP,"resolveAgentPool");async function kP(t,e){let r=e.skills.map(a=>a.name),n=e.rules.map(a=>pe(a)),o=e.commands.map(a=>a.name),i=e.agents.map(a=>a.name);for(let a of e.skills)t.skills.some(c=>c.name===a.name)&&(await mn(`Skill "${a.name}" already exists in merged config. Add extend anyway?`)||(r=r.filter(l=>l!==a.name)));for(let a of e.rules){let c=pe(a);t.rules.some(l=>pe(l)===c)&&(await mn(`Rule "${c}" already exists in merged config. Add extend anyway?`)||(n=n.filter(m=>m!==c)));}for(let a of e.commands)t.commands.some(c=>c.name===a.name)&&(await mn(`Command "${a.name}" already exists in merged config. Add extend anyway?`)||(o=o.filter(l=>l!==a.name)));for(let a of e.agents)t.agents.some(c=>c.name===a.name)&&(await mn(`Agent "${a.name}" already exists in merged config. Add extend anyway?`)||(i=i.filter(l=>l!==a.name)));return {skillNames:r,ruleSlugs:n,commandNames:o,agentNames:i}}s(kP,"resolveInstallConflicts");function wP(t,e){if(!t)return;let r={},n=t.skills?.filter(c=>e.skillNames.includes(c)),o=t.rules?.filter(c=>e.ruleSlugs.includes(c)),i=t.commands?.filter(c=>e.commandNames.includes(c)),a=t.agents?.filter(c=>e.agentNames.includes(c));return n&&n.length>0&&(r.skills=n),o&&o.length>0&&(r.rules=o),i&&i.length>0&&(r.commands=i),a&&a.length>0&&(r.agents=a),Object.keys(r).length>0?r:void 0}s(wP,"pickForSelectedResources");function KW(t,e){let r=t.split("/").filter(Boolean);return r.length>0&&r[r.length-1]===e}s(KW,"pathEndsWithName");function Jp(t,e,r){return r!==1||e.length!==1?false:KW(t,e[0])}s(Jp,"inferSingleNamePick");function LP(t){let{pathInRepo:e,implicitPick:r,preConflictCounts:n,selected:o}=t,i={},a=o.skillNames.length>0&&(!!r?.skills?.length||o.skillNames.length<n.skills||Jp(e,o.skillNames,n.skills)),c=o.ruleSlugs.length>0&&(!!r?.rules?.length||o.ruleSlugs.length<n.rules||Jp(e,o.ruleSlugs,n.rules)),l=o.commandNames.length>0&&(!!r?.commands?.length||o.commandNames.length<n.commands||Jp(e,o.commandNames,n.commands)),m=o.agentNames.length>0&&(!!r?.agents?.length||o.agentNames.length<n.agents||Jp(e,o.agentNames,n.agents));return a&&(i.skills=[...o.skillNames]),c&&(i.rules=[...o.ruleSlugs]),l&&(i.commands=[...o.commandNames]),m&&(i.agents=[...o.agentNames]),Object.keys(i).length?i:void 0}s(LP,"buildInstallPick");function bP(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]}s(bP,"deriveInstallFeatures");function BW(t){return t.skillNames.length===0&&t.ruleSlugs.length===0&&t.commandNames.length===0&&t.agentNames.length===0}s(BW,"isEmptyInstallSelection");function AP(t){let{selected:e,discoveredFeatures:r,preConflict:n}=t,o=s(c=>r.includes(c),"had"),i=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(i)throw new Error(`No ${i} selected to install.`);let a=r.some(c=>["mcp","permissions","hooks","ignore"].includes(c));if(BW(e)&&!a)throw new Error("No resources selected to install.")}s(AP,"ensureInstallSelection");fn();function xP(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.`)}s(xP,"assertExtendNameAvailable");function HW(t,e,r){if(r===void 0){if(!t)return;let o={...t};for(let i of ["skills","commands","rules","agents"])e.includes(i)&&delete o[i];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 i=r[o];if(i===void 0||i.length===0){delete n[o];continue}n[o]=[...new Set([...t?.[o]??[],...i])];}return Object.keys(n).length?n:void 0}s(HW,"mergePick");function PP(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])],i=HW(n.pick,e.features,e.pick);return t.map((a,c)=>c===r?{name:e.name,source:e.source,version:e.version??n.version,features:o,path:e.path!==void 0?e.path:n.path,pick:i,target:e.target??n.target}:a)}s(PP,"mergeExtendList");b();async function TP(t,e,r){let n=await y(t);if(n===null)throw new Error(`Missing config: ${t}`);let o=parse(n),i=PP(e.extends,r);o.extends=i;let a=stringify(o,{indent:2,lineWidth:0});await C(t,a.endsWith(`
314
+ `),true}s(qJ,"appendToGitignore");async function Pv(t,e={}){let r=e.global===true?"global":"project",o=yl(t,r),n=join(o.configDir,RI);if(await j(n))throw new Error(`Already initialized. ${RI} exists. Remove it first to re-init.`);let i=await Av(o.rootBase,r),a=r==="global"?i.filter(f=>bv.includes(f)):i,c=r==="global"?bv:void 0,l=[],m,p=0;if(a.length>0)if(e.yes){for(let f of a){let h=ZJ[f];if(!h)continue;let O=await h(o.rootBase,r);for(let R of O)l.push({from:relative(o.rootBase,R.fromPath).replaceAll("\\","/"),to:R.toPath.replaceAll("\\","/")});}p=a.length,await wv(o.canonicalDir),m="gap-fill",await _(n,Kd(a,c));}else await II(o.canonicalDir),m="full",await _(n,Kd([],c));else await II(o.canonicalDir),m="full",await _(n,Kd([],c));let u=join(o.configDir,Tv);await _(u,Ev);let g=false;return r==="project"&&(g=await qJ(t)),{exitCode:0,data:{scope:r,configFile:RI,localConfigFile:Tv,detectedConfigs:a,imported:l,importedToolCount:p,scaffoldType:m,gitignoreUpdated:g}}}s(Pv,"runInit");ft();function xv(t){let{data:e}=t;if(e.detectedConfigs.length>0&&I.info(`Found existing configurations: ${e.detectedConfigs.join(", ")}`),e.detectedConfigs.length>0&&e.imported.length===0&&I.info("Run 'agentsmesh init --yes' to auto-import, or 'agentsmesh import --from <tool>' manually."),e.imported.length>0){I.info("Auto-importing existing configurations (--yes)...");for(let o of e.imported)I.success(` ${o.from} \u2192 ${o.to}`);I.info(`Imported ${e.imported.length} file(s) from ${e.importedToolCount} tool(s).`);}let r=e.imported.length>0&&e.detectedConfigs.length>0?` (targets: ${e.detectedConfigs.join(", ")})`:"";I.success(`Created ${e.configFile}${r}`),I.success(`Created ${e.localConfigFile}`),e.gitignoreUpdated&&I.success("Updated .gitignore");}s(xv,"renderInit");Oe();xt();var t1=Object.fromEntries(zt.map(t=>[t.id,{importFrom:t.generators.importFrom,emptyImportMessage:t.emptyImportMessage,lintRules:t.lintRules,lint:t.lint,capabilities:t.capabilities}]));function Wd(t){let e=t1[t];if(!e)throw new Error(`Unknown target: ${t}`);return e}s(Wd,"getTargetCatalogEntry");je();ds();Cl();var i1={type:"stdio",command:"npx",args:["-y","agentsmesh","mcp"]};function a1(t){return t.mcpServers.agentsmesh!==void 0?false:(t.mcpServers.agentsmesh=i1,true)}s(a1,"injectAgentsmeshEntry");async function CI(t){let e=resolve(t,".agentsmesh/mcp.json");try{let r;try{r=await br(e)??{mcpServers:{}};}catch{r={mcpServers:{}};}if(!a1(r))return !1;let o=JSON.stringify(r,null,2)+`
315
+ `;await mkdir(dirname(e),{recursive:!0});let n=`${e}.tmp.${process.pid}.${Date.now()}`;return await writeFile(n,o,"utf8"),await rename(n,e),!0}catch(r){return process.stderr.write(`[agentsmesh] warning: could not seed agentsmesh MCP server entry into mcp.json: ${r instanceof Error?r.message:String(r)}
316
+ `),false}}s(CI,"seedAgentsmeshMcpEntry");function Dv(t,e){return t.map(r=>({from:relative(e,r.fromPath).replaceAll("\\","/"),to:r.toPath}))}s(Dv,"mapResults");async function Nv(t,e){let r=e??process.cwd(),o=t.from;if(typeof o!="string"||!o)throw new Error("--from is required. Example: agentsmesh import --from claude-code");let n=o.toLowerCase().trim(),i=t.global===true?"global":"project";if(Tr(n)){let p=yl(r,i),g=await Wd(n).importFrom(p.rootBase,{scope:i});return g.length>0&&await CI(p.rootBase),{exitCode:0,data:{scope:i,target:n,files:Dv(g,p.rootBase)}}}let a,c;try{({config:a,context:c}=await Tt(r,i));}catch{throw new Error(`Unknown --from "${o}" and no agentsmesh.yaml found. Run 'agentsmesh init' to enable plugin targets, or use a builtin: ${kt.join(", ")}.`)}await le(a,r);let l=ut(n);if(!l)throw new Error(`Unknown --from "${o}". Supported: ${[...kt,...a.pluginTargets??[]].join(", ")}.`);let m=await l.generators.importFrom(c.rootBase,{scope:i});return m.length>0&&await CI(c.rootBase),{exitCode:0,data:{scope:i,target:n,files:Dv(m,c.rootBase)}}}s(Nv,"runImport");Oe();ln();function Hd(t){let e=[],r={new:0,updated:0,unchanged:0,deleted:0};for(let o of t){if(o.status==="unchanged"){r.unchanged++;continue}if(o.status==="created"){r.new++;let n=createTwoFilesPatch(`${o.path} (current)`,`${o.path} (generated)`,"",o.content,void 0,void 0,{context:3});e.push({path:o.path,patch:n});continue}if(o.status==="updated"&&o.currentContent!==void 0){r.updated++;let n=createTwoFilesPatch(`${o.path} (current)`,`${o.path} (generated)`,o.currentContent,o.content,void 0,void 0,{context:3});e.push({path:o.path,patch:n});continue}}return {diffs:e,summary:r}}s(Hd,"computeDiff");function zd(t){return `${t.new} files would be created, ${t.updated} updated, ${t.unchanged} unchanged, ${t.deleted} deleted`}s(zd,"formatDiffSummary");ds();async function vv(t,e){let r=e??process.cwd(),o=t.global===true?"global":"project",n=t.targets,i=typeof n=="string"&&n?n.split(",").map(f=>f.trim()).filter(Boolean):void 0,{config:a,context:c}=await Tt(r,o);await le(a,r);let{canonical:l}=await he(a,c.configDir,{},c.canonicalDir),m=await Lr({config:a,canonical:l,projectRoot:c.rootBase,scope:o,targetFilter:i});if(m.length===0)return {exitCode:0,data:{files:[],patches:[],summary:{created:0,updated:0,unchanged:0,deleted:0}}};let{diffs:p,summary:u}=Hd(m);return {exitCode:0,data:{files:m.filter(f=>f.status!=="unchanged"&&f.status!=="skipped").map(f=>({path:f.path,target:f.target,status:f.status})),patches:p.map(f=>({path:f.path,patch:f.patch})),summary:{created:u.new,updated:u.updated,unchanged:u.unchanged,deleted:u.deleted}}}}s(vv,"runDiff");Oe();ln();T();je();Si();Et();var l1=[{canonicalKey:"permissions",capabilityKey:"permissions",featureFlag:"permissions",file:".agentsmesh/permissions.yaml",label:"permissions",hasContent:s(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:s(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:s(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:s(t=>t.commands.length>0,"hasContent")},{canonicalKey:"agents",capabilityKey:"agents",featureFlag:"agents",file:".agentsmesh/agents",label:"agents",hasContent:s(t=>t.agents.length>0,"hasContent")},{canonicalKey:"skills",capabilityKey:"skills",featureFlag:"skills",file:".agentsmesh/skills",label:"skills",hasContent:s(t=>t.skills.length>0,"hasContent")},{canonicalKey:"ignore",capabilityKey:"ignore",featureFlag:"ignore",file:".agentsmesh/ignore",label:"ignore patterns",hasContent:s(t=>t.ignore.length>0,"hasContent")}];function Gv(t){let e=new Set(t.enabledFeatures),r=[];for(let o of l1)!e.has(o.featureFlag)||!o.hasContent(t.canonical)||Dr(t.capabilities[o.capabilityKey]).level!=="none"||r.push(b(o.file,t.target,`${t.target} does not support ${o.label}; canonical entries are silently dropped during generation. Disable the feature for this target or remove the canonical content.`));return r}s(Gv,"lintSilentFeatureDrops");Et();var m1=/^(?:\s*(?:bash|sh|zsh|pwsh|powershell)\s+)?["']?(?<path>(?:\.{1,2}\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?:\s|$)/;function p1(t){let r=t.match(m1)?.groups?.path;return typeof r=="string"?r:null}s(p1,"extractScriptToken");function Mv(t){if(t.hasScriptProjection)return [];let e=t.canonical.hooks;if(!e)return [];let r=[];for(let o of Object.values(e))if(Array.isArray(o))for(let n of o){if(typeof n?.command!="string")continue;let i=p1(n.command);i&&r.push(b(".agentsmesh/hooks.yaml",t.target,`${t.target} hook command references script "${i}"; 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}s(Mv,"lintHookScriptReferences");Et();function $v(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(b(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}s($v,"lintRuleScopeInversion");var u1=["node_modules",".git","dist","coverage",".agentsmesh"];async function d1(t){return (await v(t)).filter(o=>{let n=relative(t,o);return !u1.some(i=>n.includes(`/${i}/`)||n.startsWith(`${i}/`))}).map(o=>relative(t,o))}s(d1,"getProjectFiles");async function Vd(t,e,r,o,n={}){let i=n.scope??"project",a=[...t.targets,...t.pluginTargets??[]],c=o?a.filter(R=>o.includes(R)):a,l=t.features.includes("rules"),m=t.features.includes("commands"),p=t.features.includes("mcp"),u=t.features.includes("permissions"),g=t.features.includes("hooks"),f=[],h=i==="global"?[]:await d1(r);for(let R of c){let S=ut(R),A=Tr(R)?Wd(R):S;A?.capabilities&&f.push(...Gv({target:R,capabilities:A.capabilities,canonical:e,enabledFeatures:t.features})),g&&f.push(...Mv({target:R,canonical:e,hasScriptProjection:S?.postProcessHookOutputs!==void 0})),l&&f.push(...$v({target:R,canonical:e,preservesManualActivation:S?.preservesManualActivation===true})),l&&A?.lintRules&&f.push(...A.lintRules(e,r,h,{scope:i})),S?.generators.lint&&f.push(...S.generators.lint(e));let D={scope:i};m&&A?.lint?.commands&&f.push(...A.lint.commands(e,D)),p&&A?.lint?.mcp&&f.push(...A.lint.mcp(e,D)),u&&A?.lint?.permissions&&f.push(...A.lint.permissions(e,D)),g&&A?.lint?.hooks&&f.push(...A.lint.hooks(e,D));}let O=f.some(R=>R.level==="error");return {diagnostics:f,hasErrors:O}}s(Vd,"runLint");ds();async function Uv(t,e){let r=e??process.cwd(),o=t.global===true?"global":"project",n=t.targets,i=typeof n=="string"&&n?n.split(",").map(u=>u.trim()).filter(Boolean):void 0,{config:a,context:c}=await Tt(r,o);await le(a,r);let{canonical:l}=await he(a,c.configDir,{},c.canonicalDir),{diagnostics:m,hasErrors:p}=await Vd(a,l,c.configDir,i,{scope:o});return {exitCode:p?1:0,data:{diagnostics:m.map(u=>({level:u.level,file:u.file,target:u.target,message:u.message})),summary:{errors:m.filter(u=>u.level==="error").length,warnings:m.filter(u=>u.level==="warning").length}}}}s(Uv,"runLintCmd");ft();function Kv(t){let{data:e}=t;if(e.diagnostics.length===0){I.success("All checks passed.");return}let r=e.diagnostics.filter(a=>a.level==="error"),o=e.diagnostics.filter(a=>a.level==="warning");for(let a of r)I.error(`${a.file} (${a.target}): ${a.message}`);for(let a of o)I.warn(`${a.file} (${a.target}): ${a.message}`);let n=e.summary.errors,i=e.summary.warnings;I.info(`${n} error${n!==1?"s":""}, ${i} warning${i!==1?"s":""}`);}s(Kv,"renderLint");ft();function Bv(t){let{data:e}=t;if(!e.hasLock){I.error("Not initialized for collaboration. Run 'agentsmesh generate' first.");return}if(e.inSync){I.success("Lock file is in sync.");return}let r=new Set(e.lockedViolations);I.error("Conflict detected:");for(let o of e.extendsModified)I.error(` extend "${o}" was modified`);for(let o of e.modified){let n=r.has(o)?" [LOCKED]":"";I.error(` ${o} was modified${n}`);}for(let o of e.added){let n=r.has(o)?" [LOCKED]":"";I.error(` ${o} was added${n}`);}for(let o of e.removed){let n=r.has(o)?" [LOCKED]":"";I.error(` ${o} was removed${n}`);}I.info("Run 'agentsmesh merge' to resolve, or 'agentsmesh generate --force' to accept current state.");}s(Bv,"renderCheck");ft();function Wv(t){let{data:e}=t;if(e.files.length===0){I.info(`Nothing to import from ${e.target}.`);return}for(let o of e.files)I.success(`${o.from} \u2192 ${o.to}`);let r=e.scope==="global"?" --global":"";I.info(`Imported ${e.files.length} file(s). Run 'agentsmesh generate${r}' to sync to other tools.`);}s(Wv,"renderImport");ft();function Hv(t){let{summary:e}=t.data;if(e.created+e.updated+e.unchanged+e.deleted===0){I.info("No files to generate (no root rule or rules feature disabled).");return}for(let o of t.data.patches)process.stdout.write(o.patch);I.info(zd({new:e.created,updated:e.updated,unchanged:e.unchanged,deleted:e.deleted}));}s(Hv,"renderDiff");ft();function zv(t){if(!t.data.hadConflict){I.info("No conflicts to resolve.");return}I.success("Lock file conflict resolved.");}s(zv,"renderMerge");vm();Mm();Oe();ln();vm();Mm();ft();var h1=300;function y1(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}s(y1,"normalizeWatchPath");function _1(t,e,r){let o=y1(relative(t,e));return o===""?true:o===".lock"||o===".lock.tmp"||o===".generate.lock"||o.endsWith("/.lock")||o.endsWith("/.lock.tmp")||o.endsWith("/.generate.lock")||o.includes("/.generate.lock/")||o.startsWith(".generate.lock/")}s(_1,"shouldIgnoreWatchPath");function I1(t,e,r,o,n,i,a,c,l){return JSON.stringify({features:t,rulesCount:e,commandsCount:r,agentsCount:o,skillsCount:n,mcpServerCount:i,permissionsCount:a,hooksCount:c,ignoreCount:l})}s(I1,"featureFingerprint");async function Jv(t,e){let r=e??process.cwd(),o=t.global===true?"global":"project",{context:n}=await Tt(r,o),i=[n.canonicalDir,join(n.configDir,"agentsmesh.yaml"),join(n.configDir,"agentsmesh.local.yaml")],a=null,c=null,l=false,m=null,u=s(async()=>{if(l)return;a=null;let{config:O,context:R}=await Tt(r,o),{canonical:S}=await he(O,R.configDir,{},R.canonicalDir),A=S.mcp?Object.keys(S.mcp.mcpServers).length:0,D=S.permissions?S.permissions.allow.length+S.permissions.deny.length:0,N=S.hooks?Object.values(S.hooks).reduce((Ft,Gt)=>Ft+(Array.isArray(Gt)?Gt.length:0),0):0,G=S.ignore.length,J=I1(O.features,S.rules.length,S.commands.length,S.agents.length,S.skills.length,A,D,N,G),X=c!==null&&c!==J;if(c=J,l)return;let q=await rl(t,r,{printMatrix:false});if(ol(q),!l)if(X){let Ft=await Fm(t,r);Gm(Ft,{verbose:t.verbose===true});}else I.info("Regenerated.");},"run"),g=s(()=>{let O=u().catch(R=>{if(!l){let S=R instanceof Error?R.message:String(R);I.error(S);}}).finally(()=>{m===O&&(m=null);});m=O;},"scheduleRun"),f=s(()=>{l||(a&&clearTimeout(a),a=setTimeout(g,h1));},"schedule"),h=f1.watch(i,{ignoreInitial:true,usePolling:process.platform==="win32"});return h.on("all",(O,R)=>{_1(n.canonicalDir,R)||f();}),await new Promise((O,R)=>{h.once("ready",O),h.once("error",R);}),I.info(o==="global"?"Watching ~/.agentsmesh/ and agentsmesh.yaml...":"Watching .agentsmesh/ and agentsmesh.yaml..."),m=u(),await m,m=null,{stop:s(async()=>{l=true,a&&(clearTimeout(a),a=null),await h.close(),m&&await m;},"stop")}}s(Jv,"runWatch");Oe();np();async function Jd(t){let{config:e,configDir:r,canonicalDir:o}=t,n=await Dd(o);if(n===null)return {inSync:false,hasLock:false,modified:[],added:[],removed:[],extendsModified:[],lockedViolations:[]};let i=await us(o),a=await $a(e,r),c=a.length>0?await qc(a):{},l=new Set(Object.keys(n.checksums)),m=new Set(Object.keys(i)),p=[],u=[],g=[];for(let S of l){let A=i[S];A===void 0?g.push(S):A!==n.checksums[S]&&p.push(S);}for(let S of m)l.has(S)||u.push(S);let f=new Set([...Object.keys(n.extends),...Object.keys(c)]),h=[];for(let S of f)c[S]!==n.extends[S]&&h.push(S);let O=Fd(n.checksums,i,e.collaboration?.lock_features??[]);return {inSync:p.length===0&&u.length===0&&g.length===0&&h.length===0,hasLock:true,modified:p,added:u,removed:g,extendsModified:h,lockedViolations:O}}s(Jd,"checkLockSync");ds();async function Yv(t,e){let r=e??process.cwd(),o=t.global===true?"global":"project",{config:n,context:i}=await Tt(r,o);await le(n,r);let a=await Jd({config:n,configDir:i.configDir,canonicalDir:i.canonicalDir});return a.hasLock?{exitCode:a.inSync?0:1,data:{hasLock:true,inSync:a.inSync,modified:[...a.modified],added:[...a.added],removed:[...a.removed],extendsModified:[...a.extendsModified],lockedViolations:[...a.lockedViolations]}}:{exitCode:1,data:{hasLock:false,inSync:false,modified:[],added:[],removed:[],extendsModified:[],lockedViolations:[]}}}s(Yv,"runCheck");Oe();T();np();var S1=".lock",C1="<<<<<<<";async function EI(t){let e=join(t,S1),r=await y(e);return r===null?false:r.includes(C1)}s(EI,"hasLockConflict");async function Zv(t,e,r){if(!await EI(t))throw new Error("No conflict to resolve.");let n=await us(t),i=dirname(t),a=r?await $a(r,i):[],c=a.length>0?await qc(a):{},l=await vd(join(t,"packs")),m=process.env.USER??process.env.USERNAME??"unknown";await Nd(t,{generatedAt:new Date().toISOString(),generatedBy:m,libVersion:e,checksums:n,extends:c,packs:l});}s(Zv,"resolveLockConflict");async function Qv(t,e){let r=e??process.cwd(),o=t.global===true?"global":"project",{config:n,context:i}=await Tt(r,o),a=i.canonicalDir;return await EI(a)?(await Zv(a,gl(),n),{exitCode:0,data:{hadConflict:true,resolved:true}}):{exitCode:0,data:{hadConflict:false,resolved:false}}}s(Qv,"runMerge");Oe();T();Rl();var L1=promisify(execFile);function Yd(t,e){if(t.startsWith("-"))throw new Error(`agentsmesh refuses ${e} starting with "-" (option-injection guard): ${t}`)}s(Yd,"ensureNotFlag");async function OI(t){let{stdout:e}=await L1("git",t,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return e.trim()}s(OI,"runGit");async function qv(){try{return await OI(["--version"]),!0}catch{return false}}s(qv,"isGitAvailable");async function A1(t,e){Yd(t,"remote-url"),Yd(e,"ref");let r=[e,`refs/heads/${e}`,`refs/tags/${e}`],o;for(let n of r)try{let a=(await OI(["ls-remote",t,n])).split(`
317
+ `).map(l=>l.trim()).find(l=>l.length>0);if(!a)continue;let c=a.split(/\s+/)[0];if(c&&/^[0-9a-f]{40}$/i.test(c))return c}catch(i){o=i;}throw new Error(`Could not resolve ref "${e}" for ${t}: ${o instanceof Error?o.message:String(o)}`)}s(A1,"gitLsRemoteResolve");async function tG(t,e){Yd(e,"remote-url");let r=t===""?"HEAD":t;if(Yd(r,"ref"),/^[0-9a-f]{40}$/i.test(r))return r.toLowerCase();if(r==="HEAD"){let n=(await OI(["ls-remote",e,"HEAD"])).split(`
318
+ `).find(a=>a.trim().length>0);if(!n)throw new Error(`Could not resolve HEAD for ${e}`);let i=n.split(/\s+/)[0];if(!i||!/^[0-9a-f]{40}$/i.test(i))throw new Error(`Invalid ls-remote HEAD line for ${e}`);return i.toLowerCase()}return A1(e,r)}s(tG,"resolveRemoteRefForInstall");async function eG(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 tG(t.rawRef||"HEAD",e);if(t.kind==="github"){let c=`github:${t.org}/${t.repo}@${r}`;return {resolvedPath:(await Ma(c,"install",{cacheDir:Le(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:c,version:r}}if(t.kind==="gitlab"){let c=`gitlab:${t.org}/${t.repo}@${r}`;return {resolvedPath:(await Ma(c,"install",{cacheDir:Le(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:c,version:r}}let o=r,i=`git+${(t.gitPlusBase??e).split("#")[0]}#${o}`;return {resolvedPath:(await Ma(i,"install",{cacheDir:Le(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:i,version:r}}s(eG,"fetchInstallSource");async function rG(t,e){if(t.kind==="local")return {resolvedPath:t.localRoot,sourceForYaml:t.localSourceForYaml};try{let r=await eG(t);return {resolvedPath:r.resolvedPath,sourceForYaml:r.sourceForYaml,version:r.version}}catch(r){let o=r instanceof Error?r.message:String(r),n=new Error(`Failed to fetch from ${e}: ${o}. Check your network connection and try again.`);throw r instanceof Error&&(n.cause=r),n}}s(rG,"resolveInstallResolvedPath");function LI(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean),o=r.indexOf("tree");if(o<2||o+1>=r.length)return null;let n=r[0],i=r[1],a=r[o+1],c=r.slice(o+2).join("/");return !n||!i||!a?null:{org:n,repo:i,ref:a,path:c||""}}catch{return null}}s(LI,"parseGithubTreeUrl");function AI(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean),o=r.indexOf("blob");if(o<2||o+1>=r.length)return null;let n=r[0],i=r[1],a=r[o+1],c=r.slice(o+2).join("/");return !n||!i||!a||!c?null:{org:n,repo:i,ref:a,path:c}}catch{return null}}s(AI,"parseGithubBlobUrl");function kI(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean),o=r.indexOf("-");if(o<0||r[o+1]!=="tree")return null;let n=o+1;if(n+1>=r.length)return null;let i=r[n+1],a=r.slice(n+2).join("/"),c=r.slice(0,o);if(c.length<2)return null;let l=c[c.length-1],m=c.slice(0,-1).join("/");return !m||!l||!i?null:{namespace:m,project:l,ref:i,path:a||""}}catch{return null}}s(kI,"parseGitlabTreeUrl");function wI(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean),o=r.indexOf("-");if(o<0||r[o+1]!=="blob")return null;let n=o+1;if(n+1>=r.length)return null;let i=r[n+1],a=r.slice(n+2).join("/"),c=r.slice(0,o);if(c.length<2)return null;let l=c[c.length-1],m=c.slice(0,-1).join("/");return !m||!l||!i||!a?null:{namespace:m,project:l,ref:i,path:a}}catch{return null}}s(wI,"parseGitlabBlobUrl");var k1=new Set(["tree","blob","commit","releases","actions","issues","pulls","settings","wiki","discussions","security","projects","packages"]);function TI(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean).map(i=>i.replace(/\.git$/i,""));if(r.length<2||r.length>2||k1.has(r[1]))return null;let o=r[0],n=r[1];return {org:o,repo:n}}catch{return null}}s(TI,"parseGithubRepoUrl");function bI(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean).map(i=>i.replace(/\.git$/i,""));if(r.length<2||r.includes("-"))return null;let o=r[r.length-1],n=r.slice(0,-1).join("/");return !n||!o?null:{namespace:n,project:o}}catch{return null}}s(bI,"parseGitlabRepoUrl");function PI(t){let e=t.match(/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?$/i);return e?{org:e[1],repo:e[2].replace(/\.git$/i,"")}:null}s(PI,"parseGitSshGithub");function xI(t){let e=t.match(/^git@gitlab\.com:(.+?)(?:\.git)?$/i);if(!e)return null;let o=e[1].replace(/\.git$/i,"").split("/").filter(Boolean);if(o.length<2)return null;let n=o[o.length-1];return {namespace:o.slice(0,-1).join("/"),project:n}}s(xI,"parseGitSshGitlab");T();var b1=/^[A-Za-z]:[\\/]/,P1=/^[A-Za-z]:\//;function oG(...t){return t.some(e=>e.includes("\\")||b1.test(e))?win32:posix}s(oG,"pathApiFor");function jm(t){return t.replace(/\\/g,"/")}s(jm,"toPosixPath");function $m(t){return jm(t).replace(/^\/+|\/+$/g,"")}s($m,"normalizeInstallPathField");function Xd(t){let e=jm(t);return e===""||e==="."||e==="./."?".":e.startsWith("./")||e.startsWith("../")||e.startsWith("/")||P1.test(e)?e:`./${e}`}s(Xd,"normalizeLocalSourceForYaml");function ci(t){return {...t,source:t.source_kind==="local"?Xd(t.source):t.source,...t.path!==void 0?{path:$m(t.path)}:{},...t.paths!==void 0?{paths:t.paths.map(e=>$m(e))}:{}}}s(ci,"normalizePersistedInstallPaths");function nG(t,e,r){let o=oG(t,e),n=o.normalize(t),i=o.normalize(e),a=$m(r),c=`${o.sep}.agentsmesh${o.sep}`,l=n.indexOf(c);if(l>=0){let p=n.slice(0,l),u=n.slice(l+c.length),g=$m(u),f=jm(o.relative(i,p))||".";return {kind:"local",rawRef:"",pathInRepo:a||g.replace(/\.md$/i,"").replace(/\/$/,""),localRoot:p,localSourceForYaml:Xd(f)}}let m=jm(o.relative(i,n))||".";return {kind:"local",rawRef:"",pathInRepo:a,localRoot:n,localSourceForYaml:Xd(m)}}s(nG,"localParsedFromAbsPath");async function DI(t,e,r){let o=t.trim(),n=r?.trim().replace(/\\/g,"/")??"";if(o.startsWith("git+")){let l=o.lastIndexOf("#"),m=l<0?o:o.slice(0,l),p=l<0?"HEAD":o.slice(l+1),u=m.slice(4);return {kind:"git",rawRef:p,gitPlusBase:u,gitRemoteUrl:u,pathInRepo:n}}if(o.startsWith("https://")||o.startsWith("http://")){let l=LI(o)??AI(o);if(l)return {kind:"github",rawRef:l.ref,org:l.org,repo:l.repo,gitRemoteUrl:`https://github.com/${l.org}/${l.repo}.git`,pathInRepo:n||l.path};let m=TI(o);if(m)return {kind:"github",rawRef:"HEAD",org:m.org,repo:m.repo,gitRemoteUrl:`https://github.com/${m.org}/${m.repo}.git`,pathInRepo:n};let p=kI(o)??wI(o);if(p)return {kind:"gitlab",rawRef:p.ref,org:p.namespace,repo:p.project,gitRemoteUrl:`https://gitlab.com/${p.namespace}/${p.project}.git`,pathInRepo:n||p.path};let u=bI(o);if(u)return {kind:"gitlab",rawRef:"HEAD",org:u.namespace,repo:u.project,gitRemoteUrl:`https://gitlab.com/${u.namespace}/${u.project}.git`,pathInRepo:n}}if(o.startsWith("git@github.com:")){let l=PI(o);if(!l)throw new Error(`Invalid GitHub SSH URL: ${o}`);return {kind:"github",rawRef:"HEAD",org:l.org,repo:l.repo,gitRemoteUrl:`https://github.com/${l.org}/${l.repo}.git`,pathInRepo:n}}if(o.startsWith("git@gitlab.com:")){let l=xI(o);if(!l)throw new Error(`Invalid GitLab SSH URL: ${o}`);return {kind:"gitlab",rawRef:"HEAD",gitRemoteUrl:`https://gitlab.com/${l.namespace}/${l.project}.git`,pathInRepo:n}}if(o.startsWith("git@")){let l=o.match(/^git@([^:]+):(.+?)(?:\.git)?$/);if(!l)throw new Error(`Invalid SSH git URL: ${o}`);let m=l[1],p=l[2].replace(/\.git$/i,"");return {kind:"git",rawRef:"HEAD",gitRemoteUrl:`ssh://git@${m}/${p}.git`,pathInRepo:n}}let i=o.match(/^github:([^/]+)\/(.+?)@([^/@]+)$/);if(i){let l=i[1],m=i[2];return {kind:"github",rawRef:i[3],org:l,repo:m,gitRemoteUrl:`https://github.com/${l}/${m}.git`,pathInRepo:n}}let a=o.match(/^gitlab:(.+)\/([^/@]+)@([^/@]+)$/);if(a){let l=a[1],m=a[2];return {kind:"gitlab",rawRef:a[3],org:l,repo:m,gitRemoteUrl:`https://gitlab.com/${l}/${m}.git`,pathInRepo:n}}let c=resolve(e,o);if(!await j(c))throw new Error(`Path does not exist: ${c}`);return nG(c,e,n)}s(DI,"parseInstallSource");T();ft();gn();T();wd();var sG=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(va).min(1),pick:hl.optional(),target:ze.optional(),path:z$1.string().optional(),paths:z$1.array(z$1.string().min(1)).min(1).optional(),as:Qc.optional()}),v1=z$1.object({version:z$1.literal(1),installs:z$1.array(sG).default([])});function G1(t,e){return t.length===e.length&&[...t].sort().every((r,o)=>r===[...e].sort()[o])}s(G1,"sameFeatures");function M1(t,e){return t.source===e.source&&t.target===e.target&&t.as===e.as&&G1(t.features,e.features)}s(M1,"sameInstallIdentity");function iG(t){return join(t,"installs.yaml")}s(iG,"manifestPath");async function NI(t){let e=await y(iG(t));if(e===null)return [];try{return v1.parse(parse(e)).installs.map(r=>ci(r))}catch{return []}}s(NI,"readInstallManifest");async function aG(t,e){let r=ci(e),n=(await NI(t)).filter(i=>i.name!==r.name&&!M1(i,r));n.push(r),await _(iG(t),stringify({version:1,installs:n.sort((i,a)=>i.name.localeCompare(a.name))}));}s(aG,"upsertInstallManifestEntry");function cG(t){return ci(sG.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}))}s(cG,"buildInstallManifestEntry");async function j1(t){let e=await NI(t.canonicalDir);if(e.length===0){I.info("No recorded installs found in .agentsmesh/installs.yaml.");return}let r=[];for(let o of e){let n=join(t.canonicalDir,"packs",o.name);await j(n)||r.push(o);}if(r.length===0){I.info("All recorded packs are already installed.");return}for(let o of r)await t.reinstall(o);I.success(`Reinstalled ${r.length} pack(s) from .agentsmesh/installs.yaml.`);}s(j1,"syncInstalledPacks");async function lG(t){return t.sync?(await j1({canonicalDir:t.canonicalDir,reinstall:t.reinstall}),true):false}s(lG,"maybeRunInstallSync");wd();function mG(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"?Qc.parse(t.as.trim()):void 0,nameOverride:typeof t.name=="string"?t.name.trim():""}}s(mG,"readInstallFlags");M_();function La(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}s(La,"featuresFromCanonical");async function Zd(t){let{sliceRoot:e,implicitPick:r}=await Ld(t),o=await Ad(e);return {canonical:o,features:La(o),implicitPick:r}}s(Zd,"discoverFromContentRoot");function pG(t){return t.description.trim()?{skill:t,ok:true}:{skill:t,ok:false,reason:"missing description in frontmatter"}}s(pG,"validateSkill");function uG(t){return t.description.trim()?{rule:t,ok:true}:{rule:t,ok:false,reason:"missing description in frontmatter"}}s(uG,"validateRule");function dG(t){return t.description.trim()?{command:t,ok:true}:{command:t,ok:false,reason:"missing description in frontmatter"}}s(dG,"validateCommand");function gG(t){return t.description.trim()?{agent:t,ok:true}:{agent:t,ok:false,reason:"missing description in frontmatter"}}s(gG,"validateAgent");function Ce(t){return basename(t.source).replace(/\.md$/i,"")}s(Ce,"ruleSlug");function K1(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}s(K1,"featuresFromImplicitPick");function sl(t,e){let{implicitPick:r}=e,o=e.scopedFeatures??K1(r);if(!r&&!o)return t;let n=new Set(o??[]),i={...t,mcp:!o||n.has("mcp")?t.mcp:null,permissions:!o||n.has("permissions")?t.permissions:null,hooks:!o||n.has("hooks")?t.hooks:null,ignore:!o||n.has("ignore")?t.ignore:[]};if(r?.skills!==void 0){let a=new Set(r.skills);i={...i,skills:r.skills.length===0?[]:i.skills.filter(c=>a.has(c.name))};}else o&&!n.has("skills")&&(i={...i,skills:[]});if(r?.rules!==void 0){let a=new Set(r.rules);i={...i,rules:r.rules.length===0?[]:i.rules.filter(c=>a.has(Ce(c)))};}else o&&!n.has("rules")&&(i={...i,rules:[]});if(r?.commands!==void 0){let a=new Set(r.commands);i={...i,commands:r.commands.length===0?[]:i.commands.filter(c=>a.has(c.name))};}else o&&!n.has("commands")&&(i={...i,commands:[]});if(r?.agents!==void 0){let a=new Set(r.agents);i={...i,agents:r.agents.length===0?[]:i.agents.filter(c=>a.has(c.name))};}else o&&!n.has("agents")&&(i={...i,agents:[]});return i}s(sl,"narrowDiscoveredForInstallScope");T();Od();T();M();var H1=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"]),z1=new Set([".git",".github",".gitlab","node_modules",".vscode",".idea"]);async function Qd(t){let e=await y(t);if(!e)return "";let{frontmatter:r}=k(e);return typeof r.name!="string"?"":r.name.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}s(Qd,"readSkillFrontmatterName");async function fG(t,e){await cp$1(t,e,{recursive:true,filter:s(r=>{let o=relative(t,r).replace(/\\/g,"/");if(o==="")return true;let n=o.split("/")[0];return !(z1.has(n)||!o.includes("/")&&H1.has(o))},"filter")});}s(fG,"cpFilteredSkill");async function Z1(){let t=await mkdtemp(join(tmpdir(),"am-install-manual-")),e=join(t,"repo");return await L(join(e,".agentsmesh")),{discoveryRoot:e,cleanup:s(async()=>{await rm$1(t,{recursive:true,force:true});},"cleanup")}}s(Z1,"createStageRoot");async function Q1(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 L(e),await cp$1(t,join(e,basename(t)));return}let o=(await v(t)).filter(i=>i.toLowerCase().endsWith(".md"));if(o.length===0)throw new Error(`No .md files found under ${t} for manual install.`);let n=new Map;await L(e);for(let i of o){let a=basename(i),c=n.get(a);if(c)throw new Error(`Manual install found duplicate file name "${a}" under ${t} (${c} and ${i}).`);n.set(a,i),await cp$1(i,join(e,a));}}s(Q1,"stageMarkdownCollection");async function hG(t,e,r){if(r.length===0)return false;let o=new Set(r),n=new Map;for(let i of await v(t)){if(!i.endsWith("/SKILL.md")&&!i.endsWith("\\SKILL.md"))continue;let a=dirname(i),c=basename(a);if(!o.has(c))continue;let l=n.get(c);if(l&&l!==a)throw new Error(`Manual skill replay found duplicate skill "${c}" under ${t} (${l} and ${a}).`);n.set(c,a);}if(n.size!==r.length)return false;await L(e);for(let i of r)await cp$1(n.get(i),join(e,i),{recursive:true});return true}s(hG,"stagePreferredSkills");async function q1(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 n=basename(dirname(t)),i=join(e,n);await L(i),await cp$1(dirname(t),i,{recursive:true});return}if(await Ea(t)){if((await stat(join(t,"SKILL.md")).catch(()=>null))?.isFile()){if(await hG(t,e,r.preferredSkillNames??[]))return;let c=await Qd(join(t,"SKILL.md"))||basename(t),l=join(e,c);await L(e),await fG(t,l);return}if(await hG(t,e,r.preferredSkillNames??[]))return;await L(e);let n=await v(t),i=new Set;for(let a of n.filter(c=>c.endsWith("/SKILL.md")||c.endsWith("\\SKILL.md")))i.add(relative(t,dirname(a)).split(/[\\/]/)[0]);for(let a of i)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}.`)}s(q1,"stageSkills");async function yG(t,e,r={}){let o=await Z1();try{let n=join(o.discoveryRoot,".agentsmesh",e);return e==="skills"?await q1(t,n,r):await Q1(t,n),o}catch(n){throw await o.cleanup(),n}}s(yG,"stageManualInstallScope");async function _G(t,e,r,o){let n=await yG(t,e,{preferredSkillNames:e==="skills"?o?.skills:void 0}),{canonical:i}=await Zd(n.discoveryRoot),a=sl(i,{scopedFeatures:[e]});return {prep:{yamlTarget:r,scopedFeatures:[e],cleanup:n.cleanup},narrowed:a,discoveredFeatures:La(a)}}s(_G,"resolveManualDiscoveredForInstall");gn();jg();T();var tY=[{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 eY(t){return t.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"")}s(eY,"norm");function tg(t){let e=eY(t),r=[...tY].sort((o,n)=>n.prefix.length-o.prefix.length);for(let{prefix:o,target:n}of r)if(e===o||e.startsWith(`${o}/`))return n}s(tg,"targetHintFromNativePath");function vI(t,e){return tg(t)===e}s(vI,"pathSupportsNativePick");function IG(t,e){if(!t||!e)return;let r=tg(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.`)}s(IG,"validateTargetMatchesPath");function RG(t){return (t.commands?.length??0)+(t.rules?.length??0)+(t.skills?.length??0)+(t.agents?.length??0)>0}s(RG,"extendPickHasArrays");T();T();Wt();async function CG(t,e){let r=join(t,...Me.split("/")),o=join(t,...e.split("/")),n=await v(o),i=[];for(let a of n){if(!/\.(toml|md)$/i.test(a))continue;let c=relative(r,a).replace(/\\/g,"/");if(c.startsWith("..")||c==="")continue;let m=c.replace(/\.(toml|md)$/i,"").split("/").filter(Boolean).join(":");m&&i.push(m);}return [...new Set(i)].sort()}s(CG,"inferGeminiCommandNamesFromFiles");Wt();nr();T();async function Aa(t){let e=await v(t),r=new Set;for(let o of e){if(basename(o)==="SKILL.md"){r.add(basename(dirname(o)));continue}!relative(t,o).replace(/\\/g,"/").includes("/")&&o.toLowerCase().endsWith(".md")&&r.add(basename(o,".md"));}return [...r].filter(Boolean).sort()}s(Aa,"skillNamesFromNativeSkillDir");T();Sr();async function EG(t,e){let r=join(t,...e.split("/"));if(e.startsWith(Qs)){let o=await v(r),n=[...new Set(o.filter(i=>i.toLowerCase().endsWith(".prompt.md")).map(i=>basename(i,".prompt.md")))].sort();return n.length?{commands:n}:{}}if(e.startsWith(".github/copilot")&&!e.includes("copilot-instructions.md")){let o=await v(r),n=[...new Set(o.filter(i=>i.includes(".instructions.md")).map(i=>basename(i).replace(/\.instructions\.md$/i,"")))].sort();return n.length?{rules:n}:{}}if(e.startsWith(".github/instructions")){let o=await v(r),n=new Set;for(let a of o){let c=basename(a);c.toLowerCase().endsWith(".instructions.md")?n.add(c.replace(/\.instructions\.md$/i,"")):c.toLowerCase().endsWith(".md")&&n.add(basename(a,".md"));}let i=[...n].sort();return i.length?{rules:i}:{}}if(e.startsWith(".github/skills")){let o=await Aa(r);return o.length?{skills:o}:{}}if(e.startsWith(".github/agents")){let o=await v(r),n=[...new Set(o.filter(i=>i.toLowerCase().endsWith(".agent.md")).map(i=>basename(i,".agent.md")))].sort();return n.length?{agents:n}:{}}return {}}s(EG,"inferCopilotPickFromPath");async function Ke(t,e){let r=await v(t),o=e.toLowerCase();return [...new Set(r.filter(n=>n.toLowerCase().endsWith(o)).map(n=>basename(n,e)))].sort()}s(Ke,"mdNames");async function LG(t,e,r){let o=e.replace(/\\/g,"/").replace(/^\/+|\/+$/g,""),n=join(t,...o.split("/"));if(r==="gemini-cli"){if(o===Me||o.startsWith(`${Me}/`)){let i=await CG(t,o);return i.length?{commands:i}:{}}return {}}if(r==="claude-code"){if(o.startsWith(".claude/commands")){let i=await Ke(n,".md");return i.length?{commands:i}:{}}if(o.startsWith(".claude/rules")){let i=await Ke(n,".md");return i.length?{rules:i}:{}}if(o.startsWith(".claude/agents")){let i=await Ke(n,".md");return i.length?{agents:i}:{}}if(o.startsWith(".claude/skills/")){let a=o.replace(/^\.claude\/skills\/?/,"").split("/").filter(Boolean)[0];return a?{skills:[a]}:{}}return {}}if(r==="cursor"){if(o.startsWith(".cursor/rules")){let i=await Ke(n,".mdc");return i.length?{rules:i}:{}}if(o.startsWith(".cursor/commands")){let i=await Ke(n,".md");return i.length?{commands:i}:{}}if(o.startsWith(".cursor/agents")){let i=await Ke(n,".md");return i.length?{agents:i}:{}}if(o.startsWith(".cursor/skills")){let i=await Aa(n);return i.length?{skills:i}:{}}return {}}if(r==="copilot")return EG(t,o);if(r==="windsurf"&&o.startsWith(".windsurf/rules")){let i=await Ke(n,".md");return i.length?{rules:i}:{}}if(r==="cline"){if(o.startsWith(Jt)){let i=await Aa(n);return i.length?{skills:i}:{}}if(o.startsWith(Lo)){let i=await Ke(n,".md");return i.length?{commands:i}:{}}return {}}if(r==="continue"){if(o.startsWith(".continue/rules")){let i=await Ke(n,".md");return i.length?{rules:i}:{}}if(o.startsWith(".continue/prompts")){let i=await Ke(n,".md");return i.length?{commands:i}:{}}if(o.startsWith(".continue/skills")){let i=await Aa(n);return i.length?{skills:i}:{}}return {}}if(r==="junie"){if(o.startsWith(".junie/commands")){let i=await Ke(n,".md");return i.length?{commands:i}:{}}if(o.startsWith(".junie/rules")){let i=await Ke(n,".md");return i.length?{rules:i}:{}}if(o.startsWith(".junie/agents")){let i=await Ke(n,".md");return i.length?{agents:i}:{}}if(o.startsWith(".junie/skills")){let i=await Aa(n);return i.length?{skills:i}:{}}return {}}if(r==="codex-cli"&&o.startsWith(".codex")){let i=await v(n),a=[...new Set(i.filter(c=>c.toLowerCase().endsWith(".md")).map(c=>basename(c,".md")))].sort();return a.length?{rules:a}:{}}return {}}s(LG,"inferImplicitPickFromNativePath");function AG(t){return (t.commands?.length??0)+(t.rules?.length??0)+(t.skills?.length??0)+(t.agents?.length??0)===0}s(AG,"isImplicitPickEmpty");F_();function Bm(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}s(Bm,"normalizePath");function pY(t,e){let r=Bm(t),o=Bm(e);return r===o||r.startsWith(`${o}/`)||o.startsWith(`${r}/`)}s(pY,"overlapsPath");function eg(t,e){let r=t??[];return r.includes(e)||r.push(e),r}s(eg,"addUnique");async function uY(t){let e=await mkdtemp(join(tmpdir(),"am-install-native-")),r=join(e,"repo"),o=s(async()=>{await rm$1(e,{recursive:true,force:true});},"cleanup");try{return await cp$1(t,r,{recursive:!0}),{stageRoot:r,cleanup:o}}catch(n){throw await o(),n}}s(uY,"makeStageRoot");function dY(t,e){let r;for(let n of t){if(n.feature==="rules"&&n.toPath.startsWith(".agentsmesh/rules/")){r={...r,rules:eg(r?.rules,basename(n.toPath,".md"))};continue}if(n.feature==="commands"&&n.toPath.startsWith(".agentsmesh/commands/")){let i=Bm(relative(join(e,".agentsmesh","commands"),join(e,n.toPath)));r={...r,commands:eg(r?.commands,i.replace(/\.md$/i,"").split("/").filter(Boolean).join(":"))};continue}if(n.feature==="agents"&&n.toPath.startsWith(".agentsmesh/agents/")){r={...r,agents:eg(r?.agents,basename(n.toPath,".md"))};continue}if(n.feature==="skills"&&n.toPath.startsWith(".agentsmesh/skills/")){let a=Bm(relative(join(e,".agentsmesh","skills"),join(e,n.toPath))).split("/")[0];a&&(r={...r,skills:eg(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}s(dY,"buildPickFromResults");function gY(t,e,r,o){let n=join(e,...Bm(t).split("/")),i=r.filter(a=>pY(n,a.fromPath));if(i.length===0)throw new Error(`No installable native resources found under "${t}" for target "${o}".`);return {features:[...new Set(i.map(a=>a.feature))],pick:dY(i,e)}}s(gY,"scopeImportedResults");async function MI(t,e){let{stageRoot:r,cleanup:o}=await uY(t);try{let n=await wm(r,e);return {stageRoot:r,results:n,cleanup:o}}catch(n){throw await o(),n}}s(MI,"stageImportedNativeRepo");async function $I(t,e,r){let o=await MI(t,r);try{return {stageRoot:o.stageRoot,cleanup:o.cleanup,...gY(e,o.stageRoot,o.results,r)}}catch(n){throw await o.cleanup(),n}}s($I,"stageNativeInstallScope");async function bG(t,e,r,o){let n=o.explicitTarget?.trim();n&&ze.parse(n);let i=r.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"");IG(n,i);let a=join(t,".agentsmesh"),c=await j(a),l=i?tg(i):void 0,m=!c&&!n?await fp(t)??void 0:void 0;if(!n&&l&&m&&l!==m)throw new Error(`Install path suggests native layout "${l}" but auto-detect imported "${m}". Use --target ${l} for this path, or install from the repo root without a conflicting subtree path.`);let p=n??l??m,u=!!i&&!!p&&!i.startsWith(".agentsmesh");if(!c&&p){if(u){let A=await $I(t,i,p);return {discoveryRoot:A.stageRoot,implicitPick:A.pick,scopedFeatures:A.features,yamlTarget:p,importHappened:true,cleanup:A.cleanup}}let S=await MI(t,p);return {discoveryRoot:i?join(S.stageRoot,i):S.stageRoot,yamlTarget:p,importHappened:true,cleanup:S.cleanup}}let g;c?i?p&&vI(i,p)?g=t:g=e:g=t:g=e;let f,h,O;if(u&&p){let S=await $I(t,i,p);g=S.stageRoot,f=S.pick,h=S.features,O=S.cleanup;}else if(g===t&&i&&p&&vI(i,p)&&(f=await LG(t,i,p),AG(f)))throw new Error(`No installable native resources found under "${i}" for target "${p}".`);let R;return n?R=n:p&&(f&&RG(f)||(h?.length??0)>0)&&(R=p),{discoveryRoot:g,implicitPick:f,scopedFeatures:h,yamlTarget:R,importHappened:O!==void 0,cleanup:O}}s(bG,"prepareInstallDiscovery");async function PG(t,e,r,o){let n=await bG(t,e,r,{explicitTarget:o}),{canonical:i,implicitPick:a}=await Zd(n.discoveryRoot),c=a??n.implicitPick,l=sl(i,{implicitPick:c,scopedFeatures:n.scopedFeatures}),m=La(l);return {prep:n,discovered:i,implicitPick:c,narrowed:l,discoveredFeatures:m}}s(PG,"resolveDiscoveredForInstall");async function xG(t){return t.explicitAs?{implicitPick:void 0,...await _G(t.contentRoot,t.explicitAs,t.explicitTarget,t.replayPick)}:PG(t.resolvedPath,t.contentRoot,t.pathInRepo,t.explicitTarget)}s(xG,"resolveInstallDiscovery");function al(t){return t==="."||t===""?void 0:t}s(al,"trimDot");function hY(t,e){let r=basename(e).replace(/\.md$/i,"");return t==="agents"?{agents:[r]}:t==="commands"?{commands:[r]}:{rules:[r]}}s(hY,"markdownPick");async function NG(t){if(!t.as)return {pathInRepo:al(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:al(dirname(e)),pick:hY(t.as,e||t.contentRoot)};if(t.as==="skills"){if(r.isFile()&&basename(t.contentRoot)==="SKILL.md"){let o=e?dirname(e):dirname(t.contentRoot);return {pathInRepo:al(dirname(o)),pick:{skills:[basename(o)]}}}if(r.isDirectory()){let o=e||basename(t.contentRoot),n=join(t.contentRoot.replace(/\/+$/g,""),"SKILL.md");try{if((await stat(n)).isFile()){let a=await Qd(n);return {pathInRepo:al(dirname(o)),pick:{skills:[a||basename(o)]}}}}catch{return {pathInRepo:al(e)}}}}return {pathInRepo:al(e)}}s(NG,"resolveManualInstallPersistence");ln();ft();async function mn(t){return process.stdin.isTTY?new Promise(e=>{let r=FG.createInterface({input:process.stdin,output:process.stdout});r.question(`${t} (y/n) `,o=>{r.close();let n=o.trim().toLowerCase();e(n==="y"||n==="yes");});}):false}s(mn,"confirm");function yY(t){return !!(t.skills.length||t.rules.length||t.commands.length||t.agents.length)}s(yY,"hasArrayResources");function vG(t){return yY(t)||t.mcp!==null||t.permissions!==null||t.hooks!==null||t.ignore.length>0}s(vG,"hasInstallableResources");async function GG(t,e,r,o){let n=t.skills.map(c=>pG(c)),i=n.filter(c=>c.ok).map(c=>c.skill),a=n.filter(c=>!c.ok);if(!e&&!r&&o)for(let c of a)await mn(`Include invalid skill "${c.skill.name}" anyway? (${c.reason}). You can fix it later.`)&&i.push(c.skill);else e&&(i=n.map(c=>c.skill));return r&&(i=n.filter(c=>c.ok).map(c=>c.skill)),i}s(GG,"resolveSkillPool");async function MG(t,e,r,o){let n=t.rules.map(c=>uG(c)),i=n.filter(c=>c.ok).map(c=>c.rule),a=n.filter(c=>!c.ok);if(!e&&!r&&o)for(let c of a)await mn(`Include invalid rule "${Ce(c.rule)}" anyway? (${c.reason}). You can fix it later.`)&&i.push(c.rule);else e&&(i=n.map(c=>c.rule));return r&&(i=n.filter(c=>c.ok).map(c=>c.rule)),i}s(MG,"resolveRulePool");async function $G(t,e,r,o){let n=t.commands.map(c=>dG(c)),i=n.filter(c=>c.ok).map(c=>c.command),a=n.filter(c=>!c.ok);if(!e&&!r&&o)for(let c of a)await mn(`Include invalid command "${c.command.name}" anyway? (${c.reason}). You can fix it later.`)&&i.push(c.command);else e&&(i=n.map(c=>c.command));return r&&(i=n.filter(c=>c.ok).map(c=>c.command)),i}s($G,"resolveCommandPool");async function jG(t,e,r,o){let n=t.agents.map(c=>gG(c)),i=n.filter(c=>c.ok).map(c=>c.agent),a=n.filter(c=>!c.ok);if(!e&&!r&&o)for(let c of a)await mn(`Include invalid agent "${c.agent.name}" anyway? (${c.reason}). You can fix it later.`)&&i.push(c.agent);else e&&(i=n.map(c=>c.agent));return r&&(i=n.filter(c=>c.ok).map(c=>c.agent)),i}s(jG,"resolveAgentPool");async function UG(t,e){let r=e.skills.map(a=>a.name),o=e.rules.map(a=>Ce(a)),n=e.commands.map(a=>a.name),i=e.agents.map(a=>a.name);for(let a of e.skills)t.skills.some(c=>c.name===a.name)&&(await mn(`Skill "${a.name}" already exists in merged config. Add extend anyway?`)||(r=r.filter(l=>l!==a.name)));for(let a of e.rules){let c=Ce(a);t.rules.some(l=>Ce(l)===c)&&(await mn(`Rule "${c}" already exists in merged config. Add extend anyway?`)||(o=o.filter(m=>m!==c)));}for(let a of e.commands)t.commands.some(c=>c.name===a.name)&&(await mn(`Command "${a.name}" already exists in merged config. Add extend anyway?`)||(n=n.filter(l=>l!==a.name)));for(let a of e.agents)t.agents.some(c=>c.name===a.name)&&(await mn(`Agent "${a.name}" already exists in merged config. Add extend anyway?`)||(i=i.filter(l=>l!==a.name)));return {skillNames:r,ruleSlugs:o,commandNames:n,agentNames:i}}s(UG,"resolveInstallConflicts");function KG(t,e){if(!t)return;let r={},o=t.skills?.filter(c=>e.skillNames.includes(c)),n=t.rules?.filter(c=>e.ruleSlugs.includes(c)),i=t.commands?.filter(c=>e.commandNames.includes(c)),a=t.agents?.filter(c=>e.agentNames.includes(c));return o&&o.length>0&&(r.skills=o),n&&n.length>0&&(r.rules=n),i&&i.length>0&&(r.commands=i),a&&a.length>0&&(r.agents=a),Object.keys(r).length>0?r:void 0}s(KG,"pickForSelectedResources");function _Y(t,e){let r=t.split("/").filter(Boolean);return r.length>0&&r[r.length-1]===e}s(_Y,"pathEndsWithName");function rg(t,e,r){return r!==1||e.length!==1?false:_Y(t,e[0])}s(rg,"inferSingleNamePick");function BG(t){let{pathInRepo:e,implicitPick:r,preConflictCounts:o,selected:n}=t,i={},a=n.skillNames.length>0&&(!!r?.skills?.length||n.skillNames.length<o.skills||rg(e,n.skillNames,o.skills)),c=n.ruleSlugs.length>0&&(!!r?.rules?.length||n.ruleSlugs.length<o.rules||rg(e,n.ruleSlugs,o.rules)),l=n.commandNames.length>0&&(!!r?.commands?.length||n.commandNames.length<o.commands||rg(e,n.commandNames,o.commands)),m=n.agentNames.length>0&&(!!r?.agents?.length||n.agentNames.length<o.agents||rg(e,n.agentNames,o.agents));return a&&(i.skills=[...n.skillNames]),c&&(i.rules=[...n.ruleSlugs]),l&&(i.commands=[...n.commandNames]),m&&(i.agents=[...n.agentNames]),Object.keys(i).length?i:void 0}s(BG,"buildInstallPick");function WG(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]}s(WG,"deriveInstallFeatures");function IY(t){return t.skillNames.length===0&&t.ruleSlugs.length===0&&t.commandNames.length===0&&t.agentNames.length===0}s(IY,"isEmptyInstallSelection");function HG(t){let{selected:e,discoveredFeatures:r,preConflict:o}=t,n=s(c=>r.includes(c),"had"),i=n("skills")&&e.skillNames.length===0&&o.skills>0&&"skills"||n("rules")&&e.ruleSlugs.length===0&&o.rules>0&&"rules"||n("commands")&&e.commandNames.length===0&&o.commands>0&&"commands"||n("agents")&&e.agentNames.length===0&&o.agents>0&&"agents";if(i)throw new Error(`No ${i} selected to install.`);let a=r.some(c=>["mcp","permissions","hooks","ignore"].includes(c));if(IY(e)&&!a)throw new Error("No resources selected to install.")}s(HG,"ensureInstallSelection");gn();function zG(t,e){if(t.find(o=>o.name===e.name&&o.source!==e.source))throw new Error(`Extends entry "${e.name}" already exists with a different source. Use --name to provide a different name.`)}s(zG,"assertExtendNameAvailable");function RY(t,e,r){if(r===void 0){if(!t)return;let n={...t};for(let i of ["skills","commands","rules","agents"])e.includes(i)&&delete n[i];return Object.keys(n).length?n:void 0}let o={...t};for(let n of ["skills","commands","rules","agents"]){if(!(n in r))continue;let i=r[n];if(i===void 0||i.length===0){delete o[n];continue}o[n]=[...new Set([...t?.[n]??[],...i])];}return Object.keys(o).length?o:void 0}s(RY,"mergePick");function VG(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 o=t[r],n=[...new Set([...o.features,...e.features])],i=RY(o.pick,e.features,e.pick);return t.map((a,c)=>c===r?{name:e.name,source:e.source,version:e.version??o.version,features:n,path:e.path!==void 0?e.path:o.path,pick:i,target:e.target??o.target}:a)}s(VG,"mergeExtendList");T();async function JG(t,e,r){let o=await y(t);if(o===null)throw new Error(`Missing config: ${t}`);let n=parse(o),i=VG(e.extends,r);n.extends=i;let a=stringify(n,{indent:2,lineWidth:0});await _(t,a.endsWith(`
311
319
  `)?a:`${a}
312
- `);}s(TP,"writeAgentsmeshWithNewExtend");st();async function DP(t){let{configDir:e,config:r,entryArgs:n,dryRun:o}=t,i=YW(n);if(xP(r.extends,i),o){I.info(`[dry-run] Would add extend:
313
- ${JSON.stringify(i,null,2)}`);return}let a=join(e,"agentsmesh.yaml");await TP(a,r,i),I.success(`Wrote extends entry "${i.name}" to agentsmesh.yaml.`);}s(DP,"writeInstallAsExtend");function YW(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?Le.parse(t.yamlTarget):void 0}}s(YW,"toNewExtendEntry");b();b();var ZW="pack.yaml";async function Yp(t){let e=await D(t),r=[];for(let i of e.sort()){let a=relative(t,i).replace(/\\/g,"/");if(a===ZW)continue;let c=await Cp(i);c!==null&&r.push(`${a}:${c}`);}let n=r.join(`
314
- `);return `sha256:${jc(n)}`}s(Yp,"hashPackContent");async function eK(t,e){if(t.rules.length===0)return;let r=join(e,"rules");await O(r);for(let n of t.rules){let o=join(r,basename(n.source));await copyFile(n.source,o);}}s(eK,"writeRules");async function rK(t,e){if(t.commands.length===0)return;let r=join(e,"commands");await O(r);for(let n of t.commands){let o=join(r,basename(n.source));await copyFile(n.source,o);}}s(rK,"writeCommands");async function nK(t,e){if(t.agents.length===0)return;let r=join(e,"agents");await O(r);for(let n of t.agents){let o=join(r,basename(n.source));await copyFile(n.source,o);}}s(nK,"writeAgents");async function oK(t,e){if(t.skills.length===0)return;let r=join(e,"skills");await O(r);for(let n of t.skills){let o=join(r,n.name);await O(o),await copyFile(n.source,join(o,"SKILL.md"));for(let i of n.supportingFiles){let a=join(o,i.relativePath);await O(dirname(a)),await copyFile(i.absolutePath,a);}}}s(oK,"writeSkills");async function sK(t,e){t.mcp!==null&&await C(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
315
- `),t.permissions!==null&&await C(join(e,"permissions.yaml"),stringify(t.permissions)),t.hooks!==null&&await C(join(e,"hooks.yaml"),stringify(t.hooks)),t.ignore.length>0&&await C(join(e,"ignore"),`${t.ignore.join(`
320
+ `);}s(JG,"writeAgentsmeshWithNewExtend");ft();async function YG(t){let{configDir:e,config:r,entryArgs:o,dryRun:n}=t,i=OY(o);if(zG(r.extends,i),n){I.info(`[dry-run] Would add extend:
321
+ ${JSON.stringify(i,null,2)}`);return}let a=join(e,"agentsmesh.yaml");await JG(a,r,i),I.success(`Wrote extends entry "${i.name}" to agentsmesh.yaml.`);}s(YG,"writeInstallAsExtend");function OY(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?ze.parse(t.yamlTarget):void 0}}s(OY,"toNewExtendEntry");T();T();var AY="pack.yaml";async function og(t){let e=await v(t),r=[];for(let i of e.sort()){let a=relative(t,i).replace(/\\/g,"/");if(a===AY)continue;let c=await xd(i);c!==null&&r.push(`${a}:${c}`);}let o=r.join(`
322
+ `);return `sha256:${xm(o)}`}s(og,"hashPackContent");async function bY(t,e){if(t.rules.length===0)return;let r=join(e,"rules");await L(r);for(let o of t.rules){let n=join(r,basename(o.source));await copyFile(o.source,n);}}s(bY,"writeRules");async function PY(t,e){if(t.commands.length===0)return;let r=join(e,"commands");await L(r);for(let o of t.commands){let n=join(r,basename(o.source));await copyFile(o.source,n);}}s(PY,"writeCommands");async function xY(t,e){if(t.agents.length===0)return;let r=join(e,"agents");await L(r);for(let o of t.agents){let n=join(r,basename(o.source));await copyFile(o.source,n);}}s(xY,"writeAgents");async function DY(t,e){if(t.skills.length===0)return;let r=join(e,"skills");await L(r);for(let o of t.skills){let n=join(r,o.name);await L(n),await copyFile(o.source,join(n,"SKILL.md"));for(let i of o.supportingFiles){let a=join(n,i.relativePath);await L(dirname(a)),await copyFile(i.absolutePath,a);}}}s(DY,"writeSkills");async function NY(t,e){t.mcp!==null&&await _(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
323
+ `),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(`
316
324
  `)}
317
- `);}s(sK,"writeSettings");function iK(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.`)}s(iK,"validatePackName");async function FP(t,e,r,n){iK(e);let o=join(t,`${e}.tmp`),i=join(t,e);await F(o)&&await rm$1(o,{recursive:true,force:true}),await O(o),await eK(r,o),await rK(r,o),await nK(r,o),await oK(r,o),await sK(r,o);let a=await Yp(o),c=Uo({...n,content_hash:a});return await C(join(o,"pack.yaml"),stringify(c)),await F(i)&&await rm$1(i,{recursive:true,force:true}),await mkdir(t,{recursive:true}),await rename(o,i),c}s(FP,"materializePack");Sp();b();function sy(t,e){return [...new Set([...t,...e])]}s(sy,"union");function cK(t,e){if(t.path===void 0&&t.paths===void 0||e===void 0)return {path:void 0,paths:void 0};let n=sy(t.paths??(t.path?[t.path]:[]),[e]);return n.length===1?{path:n[0],paths:void 0}:{path:void 0,paths:n}}s(cK,"mergePathScope");function lK(t,e,r){let n={...t};for(let i of e)r&&r[i]!==void 0?n[i]=sy(n[i]??[],r[i]):delete n[i];return (n.skills?.length??0)>0||(n.rules?.length??0)>0||(n.commands?.length??0)>0||(n.agents?.length??0)>0?n:void 0}s(lK,"mergePick");async function mK(t,e){if(t.rules.length===0)return;let r=join(e,"rules");await O(r);for(let n of t.rules)await copyFile(n.source,join(r,basename(n.source)));}s(mK,"mergeRules");async function pK(t,e){if(t.commands.length===0)return;let r=join(e,"commands");await O(r);for(let n of t.commands)await copyFile(n.source,join(r,basename(n.source)));}s(pK,"mergeCommands");async function uK(t,e){if(t.agents.length===0)return;let r=join(e,"agents");await O(r);for(let n of t.agents)await copyFile(n.source,join(r,basename(n.source)));}s(uK,"mergeAgents");async function dK(t,e){if(t.skills.length===0)return;let r=join(e,"skills");await O(r);for(let n of t.skills){let o=join(r,n.name);await O(o),await copyFile(n.source,join(o,"SKILL.md"));for(let i of n.supportingFiles){let a=join(o,i.relativePath);await O(dirname(a)),await copyFile(i.absolutePath,a);}}}s(dK,"mergeSkills");async function fK(t,e){t.mcp!==null&&await C(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
318
- `),t.permissions!==null&&await C(join(e,"permissions.yaml"),stringify(t.permissions)),t.hooks!==null&&await C(join(e,"hooks.yaml"),stringify(t.hooks)),t.ignore.length>0&&await C(join(e,"ignore"),`${t.ignore.join(`
325
+ `);}s(NY,"writeSettings");function FY(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.`)}s(FY,"validatePackName");async function ZG(t,e,r,o){FY(e);let n=join(t,`${e}.tmp`),i=join(t,e);await j(n)&&await rm$1(n,{recursive:true,force:true}),await L(n),await bY(r,n),await PY(r,n),await xY(r,n),await DY(r,n),await NY(r,n);let a=await og(n),c=ci({...o,content_hash:a});return await _(join(n,"pack.yaml"),stringify(c)),await j(i)&&await rm$1(i,{recursive:true,force:true}),await mkdir(t,{recursive:true}),await rename(n,i),c}s(ZG,"materializePack");Pd();T();function WI(t,e){return [...new Set([...t,...e])]}s(WI,"union");function GY(t,e){if(t.path===void 0&&t.paths===void 0||e===void 0)return {path:void 0,paths:void 0};let o=WI(t.paths??(t.path?[t.path]:[]),[e]);return o.length===1?{path:o[0],paths:void 0}:{path:void 0,paths:o}}s(GY,"mergePathScope");function MY(t,e,r){let o={...t};for(let i of e)r&&r[i]!==void 0?o[i]=WI(o[i]??[],r[i]):delete o[i];return (o.skills?.length??0)>0||(o.rules?.length??0)>0||(o.commands?.length??0)>0||(o.agents?.length??0)>0?o:void 0}s(MY,"mergePick");async function $Y(t,e){if(t.rules.length===0)return;let r=join(e,"rules");await L(r);for(let o of t.rules)await copyFile(o.source,join(r,basename(o.source)));}s($Y,"mergeRules");async function jY(t,e){if(t.commands.length===0)return;let r=join(e,"commands");await L(r);for(let o of t.commands)await copyFile(o.source,join(r,basename(o.source)));}s(jY,"mergeCommands");async function UY(t,e){if(t.agents.length===0)return;let r=join(e,"agents");await L(r);for(let o of t.agents)await copyFile(o.source,join(r,basename(o.source)));}s(UY,"mergeAgents");async function KY(t,e){if(t.skills.length===0)return;let r=join(e,"skills");await L(r);for(let o of t.skills){let n=join(r,o.name);await L(n),await copyFile(o.source,join(n,"SKILL.md"));for(let i of o.supportingFiles){let a=join(n,i.relativePath);await L(dirname(a)),await copyFile(i.absolutePath,a);}}}s(KY,"mergeSkills");async function BY(t,e){t.mcp!==null&&await _(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
326
+ `),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(`
319
327
  `)}
320
- `);}s(fK,"mergeSettings");async function vP(t,e,r,n,o,i){await mK(r,t),await pK(r,t),await uK(r,t),await dK(r,t),await fK(r,t);let a=sy(e.features,n),c=lK(e.pick,n,o),l=cK(e,i?.path),m=await Yp(t),p=new Date().toISOString(),u=Uo({...e,source:i?.source??e.source,...i?.version!==void 0?{version:i.version}:e.version!==void 0?{version:e.version}:{},features:a,pick:c,...i?.target!==void 0?{target:i.target}:e.target!==void 0?{target:e.target}:{},...l,...i?.as!==void 0?{as:i.as}:e.as!==void 0?{as:e.as}:{},updated_at:p,content_hash:m});return await C(join(t,"pack.yaml"),stringify(u)),u}s(vP,"mergeIntoPack");Ru();fn();st();b();function hK(t){return t?{path:t,paths:void 0}:{path:void 0,paths:void 0}}s(hK,"pathScope");function yK(t,e){let r=new Set(e.skillNames),n=new Set(e.ruleSlugs),o=new Set(e.commandNames),i=new Set(e.agentNames);return {...t,skills:t.skills.filter(a=>r.has(a.name)),rules:t.rules.filter(a=>n.has(pe(a))),commands:t.commands.filter(a=>o.has(a.name)),agents:t.agents.filter(a=>i.has(a.name))}}s(yK,"applySelection");async function MP(t){let{canonicalDir:e,packName:r,narrowed:n,selected:o,sourceForYaml:i,version:a,sourceKind:c,entryFeatures:l,pick:m,yamlTarget:p,pathInRepo:u,manualAs:f,renameExistingPack:g}=t,h=join(e,"packs"),R=yK(n,o),S=new Date().toISOString(),_=p!==void 0?Le.parse(p):void 0,k=await eA(h,i,{target:_,as:f,features:l}),T=r,P=l,A=m,Z=u,B;if(k){let V=k.packDir,Lt=k.meta;if(g&&k.name!==r){let kr=join(h,r);if(await F(kr))throw new Error(`Auto-generated pack name "${r}" collides with an existing incompatible pack. Use --name to choose a different pack name.`);await rename(k.packDir,kr),V=kr,Lt={...k.meta,name:r};}let Et=await vP(V,Lt,R,l,m,{source:i,...a!==void 0?{version:a}:{},..._!==void 0?{target:_}:{},...u?{path:u}:{},...f!==void 0?{as:f}:{}});T=Et.name,P=Et.features,A=Et.pick,Z=Et.path,B=Et.paths,I.success(`Updated pack "${Et.name}" in .agentsmesh/packs/.`);}else {if(await _p(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 FP(h,r,R,{name:r,source:i,...a!==void 0&&{version:a},source_kind:c,installed_at:S,updated_at:S,features:l,...m!==void 0&&{pick:m},..._!==void 0&&{target:_},...hK(u),...f!==void 0&&{as:f}}),I.success(`Installed pack "${r}" to .agentsmesh/packs/.`);}await Hx(e,zx({name:T,source:i,version:a,sourceKind:c,features:P,pick:A,target:_,path:Z,paths:B,as:f})),c!=="local"&&await I_(i);}s(MP,"installAsPack");function IK(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}s(IK,"sanitize");function SK(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"}}s(SK,"gitUrlLastSegments");function $P(t,e,r){let n;if(t.kind==="local"){let c=(t.localRoot??"local").split(/[/\\]/).filter(Boolean);n=c[c.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=SK(t.gitRemoteUrl):n="extend";e.featureHint?n=`${n}-${e.featureHint}`:n=`${n}-pack`;let o=IK(n)||"extend";if(!r.has(o))return o;let i=2;for(;r.has(`${o}-${i}`);)i++;return `${o}-${i}`}s($P,"suggestExtendName");function GP(t){let{config:e,parsed:r,entryFeatures:n,nameOverride:o}=t,i=new Set(e.extends.map(a=>a.name));return o||$P(r,{featureHint:n.length===1?n[0]:void 0},i)}s(GP,"selectInstallEntryName");function jP(t,e,r){if(!r?.features&&!r?.pick)return {narrowed:t,discoveredFeatures:e};let n=ha(t,{scopedFeatures:r.features,implicitPick:r.pick});return {narrowed:n,discoveredFeatures:Vs(n)}}s(jP,"applyReplayInstallScope");function UP(t,e){let r=[];for(let n of t.skillNames)r.push({kind:"skill",name:n,path:e});for(let n of t.ruleSlugs)r.push({kind:"rule",name:n,path:e});for(let n of t.commandNames)r.push({kind:"command",name:n,path:e});for(let n of t.agentNames)r.push({kind:"agent",name:n,path:e});return r}s(UP,"buildInstalledList");function WP(t,e,r,n,o){let i=[];for(let a of t)o.skillNames.includes(a.name)||i.push({kind:"skill",name:a.name,reason:"conflict"});for(let a of e){let c=pe(a);o.ruleSlugs.includes(c)||i.push({kind:"rule",name:c,reason:"conflict"});}for(let a of r)o.commandNames.includes(a.name)||i.push({kind:"command",name:a.name,reason:"conflict"});for(let a of n)o.agentNames.includes(a.name)||i.push({kind:"agent",name:a.name,reason:"conflict"});return i}s(WP,"buildSkippedList");async function KP(t){let{scope:e,force:r,dryRun:n,tty:o,useExtends:i,nameOverride:a,explicitAs:c,config:l,context:m,parsed:p,sourceForYaml:u,version:f,pathInRepo:g,persisted:h,replay:R,prep:S,implicitPick:_,narrowed:k,discoveredFeatures:T}=t,{narrowed:P,discoveredFeatures:A}=jP(k,T,R);if(!SP(P))throw new Error(_||S.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 Z=await CP(P,r,n,o),B=await RP(P,r,n,o),V=await OP(P,r,n,o),Lt=await EP(P,r,n,o),Et={skills:Z.length,rules:B.length,commands:V.length,agents:Lt.length},{canonical:kr}=await se(l,m.configDir,{},m.canonicalDir),Mt=!r&&!n&&o?await kP(kr,{skills:Z,rules:B,commands:V,agents:Lt}):{skillNames:Z.map(no=>no.name),ruleSlugs:B.map(no=>pe(no)),commandNames:V.map(no=>no.name),agentNames:Lt.map(no=>no.name)};AP({selected:Mt,discoveredFeatures:A,preConflict:Et});let wr=R?.features??bP(A,Mt);if(wr.length===0)throw new Error("No features left to install after selection.");let bt=wP(R?.pick,Mt)??h.pick??LP({pathInRepo:h.pathInRepo??g,implicitPick:_,preConflictCounts:Et,selected:Mt}),pt=GP({config:l,parsed:p,entryFeatures:wr,nameOverride:a}),pn=UP(Mt,pt),Ve=WP(Z,B,V,Lt,Mt);if(i){if(await DP({configDir:m.configDir,config:l,entryArgs:{name:pt,source:u,version:f,features:wr,path:h.pathInRepo,pick:bt,yamlTarget:S.yamlTarget},dryRun:n}),n)return {installed:pn,skipped:Ve}}else {if(n)return I.info(`[dry-run] Would install pack "${pt}" to ${e==="global"?"~/.agentsmesh/packs/.":".agentsmesh/packs/."}`),{installed:pn,skipped:Ve};await MP({canonicalDir:m.canonicalDir,packName:pt,narrowed:P,selected:Mt,sourceForYaml:u,version:f,sourceKind:p.kind,entryFeatures:wr,pick:bt,yamlTarget:S.yamlTarget,pathInRepo:h.pathInRepo,manualAs:c,renameExistingPack:a===""});}let ro=await da(e==="global"?{global:true}:{},m.rootBase);return fa(ro),ro.exitCode!==0&&I.warn(`Generate failed after install. Fix the issue and run agentsmesh generate${e==="global"?" --global":""}.`),{installed:pn,skipped:Ve}}s(KP,"executeRunInstallPoolsAndWrite");async function ay(t,e,r,n){let{sync:o,dryRun:i,force:a,useExtends:c,explicitPath:l,explicitTarget:m,explicitAs:p,nameOverride:u}=Jx(t),f=t.global===true?"global":"project",g=e[0]?.trim();if(o){let{context:Mt}=await ut(r,f),wr=[],bt=[];if(await Vx({sync:o,canonicalDir:Mt.canonicalDir,reinstall:s(async pt=>{let pn=pt.paths&&pt.paths.length>0?pt.paths:[pt.path];for(let Ve of pn){let ro=await ay({...a?{force:true}:{},...i?{"dry-run":true}:{},...f==="global"?{global:true}:{},name:pt.name,...pt.target?{target:pt.target}:{},...Ve?{path:Ve}:{},...pt.as?{as:pt.as}:{}},[pt.source],r,{features:pt.features,pick:pt.pick});wr.push(...ro.data.installed),bt.push(...ro.data.skipped);}},"reinstall")}))return {exitCode:0,data:{source:"",mode:"sync",installed:wr,skipped:bt,dryRun:i}}}if(!g)throw new Error("Missing source. Usage: agentsmesh install <source> [--path ...] [--target ...]");let h=process.stdin.isTTY;if(!h&&!a&&!i)throw new Error("Non-interactive terminal: use --force or --dry-run for agentsmesh install.");let{config:R,context:S}=await ut(r,f),_=await Jh(g,S.configDir,l);if(_.kind!=="local"&&!await Mx())throw new Error("git is required for remote installs. Please install git and try again.");let{resolvedPath:k,sourceForYaml:T,version:P}=await jx(_,g),A=_.pathInRepo.replace(/^\/+|\/+$/g,"");if(A){let Mt=normalize(A).replace(/\\/g,"/");if(Mt===".."||Mt.startsWith("../"))throw new Error(`Install --path "${_.pathInRepo}" escapes the source root. Path must stay within the source.`)}let Z=A?join(k,A):k;if(!await F(Z))throw new Error(`Install path does not exist: ${Z}`);let B=await _P({as:p,contentRoot:Z,pathInRepo:A}),{prep:V,implicitPick:Lt,narrowed:Et,discoveredFeatures:kr}=await hP({resolvedPath:k,contentRoot:Z,pathInRepo:A,explicitTarget:m,explicitAs:p,replayPick:n?.pick});try{let Mt=await KP({scope:f,force:a,dryRun:i,tty:h,useExtends:c,nameOverride:u,explicitAs:p,config:R,context:S,parsed:_,sourceForYaml:T,version:P,pathInRepo:A,persisted:B,replay:n,prep:V,implicitPick:Lt,narrowed:Et,discoveredFeatures:kr});return {exitCode:0,data:{source:g,mode:"install",installed:Mt.installed,skipped:Mt.skipped,dryRun:i}}}finally{V.cleanup&&await V.cleanup();}}s(ay,"runInstall");async function BP(t,e,r){return ay(t,e,r)}s(BP,"runInstall");st();function HP(t){let{data:e}=t;if(!(e.mode==="sync"&&e.installed.length===0&&e.skipped.length===0)){if(e.installed.length>0&&!e.dryRun){let n=[...new Set(e.installed.map(o=>o.kind))].map(o=>{let i=e.installed.filter(a=>a.kind===o).length;return `${i} ${o}${i>1?"s":""}`}).join(", ");I.success(`Installed ${n}.`);}if(e.skipped.length>0)for(let r of e.skipped)I.warn(`Skipped ${r.kind} "${r.name}": ${r.reason}`);}}s(HP,"renderInstall");uh();b();var my="agentsmesh.yaml";async function py(t){let e=join(t,my),r=await y(e);return r===null?{}:parse(r)??{}}s(py,"readScopedConfigRaw");async function VP(t,e){let r=join(t,my),n=await y(r)??`version: 1
321
- `,o=parse(n)??{};if(o.plugins||(o.plugins=[]),o.plugins.some(a=>a.id===e.id))return;let i={id:e.id,source:e.source};e.version!==void 0&&(i.version=e.version),o.plugins.push(i),await C(r,stringify(o));}s(VP,"writePluginEntry");async function JP(t,e){let r=join(t,my),n=await y(r);if(n===null)return false;let o=parse(n)??{},i=(o.plugins??[]).length;o.plugins=(o.plugins??[]).filter(c=>c.id!==e),o.pluginTargets&&(o.pluginTargets=o.pluginTargets.filter(c=>c!==e));let a=o.plugins.length<i;return a&&await C(r,stringify(o)),a}s(JP,"removePluginEntry");async function YP(t,e,r){let n=e[0];if(n===void 0||n==="")return {exitCode:0,data:{subcommand:"list",plugins:[]},showHelp:true};switch(n){case "add":return OK(t,e.slice(1),r);case "list":return EK(r);case "remove":return kK(e.slice(1),r);case "info":return wK(e.slice(1),r);default:return {exitCode:2,data:{subcommand:"list",plugins:[]},showHelp:true,error:`Unknown plugin subcommand: ${n}`}}}s(YP,"runPlugin");async function OK(t,e,r){let n=e[0];if(!n)throw new Lr("Usage: agentsmesh plugin add <source> [--version <v>] [--id <id>]");let o=typeof t.version=="string"?t.version:"latest",a=(typeof t.id=="string"?t.id:void 0)??LK(n);return await VP(r,{id:a,source:n,version:o==="latest"?void 0:o}),{exitCode:0,data:{subcommand:"add",id:a,package:n,version:o}}}s(OK,"runPluginAdd");async function EK(t){let r=(await py(t)).plugins??[],n=[];for(let o of r){let i="\u2717",a="";try{let c=await Tp(o,t);i=c.descriptors.length>0?"\u2713":"\u2713 (0 descriptors)",a=c.descriptors.map(l=>l.id).join(", ");}catch{}n.push({id:o.id,package:o.source,version:o.version,status:i,targets:a});}return {exitCode:0,data:{subcommand:"list",plugins:n}}}s(EK,"runPluginList");async function kK(t,e){let r=t[0];if(!r)throw new Lr("Usage: agentsmesh plugin remove <id>");let n=await JP(e,r);return {exitCode:0,data:{subcommand:"remove",id:r,found:n}}}s(kK,"runPluginRemove");async function wK(t,e){let r=t[0];if(!r)throw new Lr("Usage: agentsmesh plugin info <id>");let o=((await py(e)).plugins??[]).find(c=>c.id===r);if(!o)return {exitCode:1,data:{subcommand:"info",id:r,package:"",descriptors:[]}};let i;try{i=await Tp(o,e);}catch{return {exitCode:1,data:{subcommand:"info",id:r,package:o.source,version:o.version,descriptors:[]}}}let a=i.descriptors.map(c=>({id:c.id,description:c.emptyImportMessage}));return {exitCode:0,data:{subcommand:"info",id:r,package:o.source,version:o.version,descriptors:a}}}s(wK,"runPluginInfo");function LK(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"}s(LK,"derivePluginId");st();function XP(t){if(t.error&&I.error(t.error),t.showHelp){TK();return}let{data:e}=t;switch(e.subcommand){case "add":bK(e.id,e.package,e.version);break;case "list":AK(e.plugins);break;case "remove":xK(e.id,e.found);break;case "info":PK(e,t.exitCode);break}}s(XP,"renderPlugin");function bK(t,e,r){I.success(`Plugin '${t}' added to agentsmesh.yaml`),I.warn("Plugins load as trusted Node.js modules and run with full process privileges. Only install plugins from sources you trust.");let n=r!=="latest"?`@${r}`:"@latest";I.info(`Next: npm install ${e}${n}`),I.info(`Then add '${t}' to pluginTargets in agentsmesh.yaml to enable it.`);}s(bK,"renderAdd");function AK(t){if(t.length===0){I.info("No plugins configured. Use: agentsmesh plugin add <source>");return}I.info("Configured plugins:");for(let e of t){let r=e.version!==void 0?`@${e.version}`:"",n=e.status??"",o=e.targets??"";I.info(` ${e.id} | ${e.package}${r} | ${n} | ${o}`);}}s(AK,"renderList");function xK(t,e){e?I.success(`Plugin '${t}' removed from agentsmesh.yaml`):I.warn(`Plugin '${t}' was not found in agentsmesh.yaml`);}s(xK,"renderRemove");function PK(t,e){if(e!==0&&t.package===""){I.error(`Plugin '${t.id}' not found in agentsmesh.yaml. Use: agentsmesh plugin add`);return}if(e!==0){I.error(`Failed to load plugin '${t.id}'`);return}I.info(`Plugin: ${t.id}`),I.info(`Source: ${t.package}${t.version!==void 0?`@${t.version}`:""}`),I.info(`Descriptors: ${t.descriptors.length}`);for(let r of t.descriptors)I.info(` - ${r.id}: ${r.description}`);}s(PK,"renderInfo");function TK(){I.info("Usage: agentsmesh plugin <subcommand> [args] [flags]"),I.info(""),I.info("Subcommands:"),I.info(" add <source> Register a plugin package in agentsmesh.yaml"),I.info(" list Show all configured plugins and load status"),I.info(" remove <id> Remove a plugin from agentsmesh.yaml"),I.info(" info <id> Show descriptor details for a configured plugin"),I.info(""),I.info("Flags (add):"),I.info(" --version <v> Pin plugin version"),I.info(" --id <id> Override derived plugin id"),I.info(""),I.info("Note: plugins load as trusted Node.js modules and run with full process privileges."),I.info(" Only install plugins from sources you trust.");}s(TK,"printPluginHelp");b();Xe();function Wo(t){return t.toUpperCase().replace(/-/g,"_")}s(Wo,"toPrefix");function to(t){return t.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join("")}s(to,"toPascal");function uy(t){let e=Wo(t.id),r=to(t.id);return `import type { TargetGenerators } from '../catalog/target.interface.js';
328
+ `);}s(BY,"mergeSettings");async function QG(t,e,r,o,n,i){await $Y(r,t),await jY(r,t),await UY(r,t),await KY(r,t),await BY(r,t);let a=WI(e.features,o),c=MY(e.pick,o,n),l=GY(e,i?.path),m=await og(t),p=new Date().toISOString(),u=ci({...e,source:i?.source??e.source,...i?.version!==void 0?{version:i.version}:e.version!==void 0?{version:e.version}:{},features:a,pick:c,...i?.target!==void 0?{target:i.target}:e.target!==void 0?{target:e.target}:{},...l,...i?.as!==void 0?{as:i.as}:e.as!==void 0?{as:e.as}:{},updated_at:p,content_hash:m});return await _(join(t,"pack.yaml"),stringify(u)),u}s(QG,"mergeIntoPack");Pg();gn();ft();T();function HY(t){return t?{path:t,paths:void 0}:{path:void 0,paths:void 0}}s(HY,"pathScope");function zY(t,e){let r=new Set(e.skillNames),o=new Set(e.ruleSlugs),n=new Set(e.commandNames),i=new Set(e.agentNames);return {...t,skills:t.skills.filter(a=>r.has(a.name)),rules:t.rules.filter(a=>o.has(Ce(a))),commands:t.commands.filter(a=>n.has(a.name)),agents:t.agents.filter(a=>i.has(a.name))}}s(zY,"applySelection");async function qG(t){let{canonicalDir:e,packName:r,narrowed:o,selected:n,sourceForYaml:i,version:a,sourceKind:c,entryFeatures:l,pick:m,yamlTarget:p,pathInRepo:u,manualAs:g,renameExistingPack:f}=t,h=join(e,"packs"),O=zY(o,n),R=new Date().toISOString(),S=p!==void 0?ze.parse(p):void 0,A=await SF(h,i,{target:S,as:g,features:l}),D=r,N=l,G=m,J=u,X;if(A){let q=A.packDir,Ft=A.meta;if(f&&A.name!==r){let co=join(h,r);if(await j(co))throw new Error(`Auto-generated pack name "${r}" collides with an existing incompatible pack. Use --name to choose a different pack name.`);await rename(A.packDir,co),q=co,Ft={...A.meta,name:r};}let Gt=await QG(q,Ft,O,l,m,{source:i,...a!==void 0?{version:a}:{},...S!==void 0?{target:S}:{},...u?{path:u}:{},...g!==void 0?{as:g}:{}});D=Gt.name,N=Gt.features,G=Gt.pick,J=Gt.path,X=Gt.paths,I.success(`Updated pack "${Gt.name}" in .agentsmesh/packs/.`);}else {if(await Td(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 ZG(h,r,O,{name:r,source:i,...a!==void 0&&{version:a},source_kind:c,installed_at:R,updated_at:R,features:l,...m!==void 0&&{pick:m},...S!==void 0&&{target:S},...HY(u),...g!==void 0&&{as:g}}),I.success(`Installed pack "${r}" to .agentsmesh/packs/.`);}await aG(e,cG({name:D,source:i,version:a,sourceKind:c,features:N,pick:G,target:S,path:J,paths:X,as:g})),c!=="local"&&await nS(i);}s(qG,"installAsPack");function JY(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}s(JY,"sanitize");function YY(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 o=r[r.length-1].replace(/\.git$/i,"");return r.length>=2?`${r[r.length-2].replace(/\.git$/i,"")}-${o}`:o}catch{return "repo"}}s(YY,"gitUrlLastSegments");function tM(t,e,r){let o;if(t.kind==="local"){let c=(t.localRoot??"local").split(/[/\\]/).filter(Boolean);o=c[c.length-1]??"local";}else t.kind==="github"&&t.org&&t.repo?o=`${t.org}-${t.repo}`:t.kind==="gitlab"&&t.org&&t.repo?o=`${t.org.replace(/\//g,"-")}-${t.repo}`:t.gitRemoteUrl?o=YY(t.gitRemoteUrl):o="extend";e.featureHint?o=`${o}-${e.featureHint}`:o=`${o}-pack`;let n=JY(o)||"extend";if(!r.has(n))return n;let i=2;for(;r.has(`${n}-${i}`);)i++;return `${n}-${i}`}s(tM,"suggestExtendName");function eM(t){let{config:e,parsed:r,entryFeatures:o,nameOverride:n}=t,i=new Set(e.extends.map(a=>a.name));return n||tM(r,{featureHint:o.length===1?o[0]:void 0},i)}s(eM,"selectInstallEntryName");function rM(t,e,r){if(!r?.features&&!r?.pick)return {narrowed:t,discoveredFeatures:e};let o=sl(t,{scopedFeatures:r.features,implicitPick:r.pick});return {narrowed:o,discoveredFeatures:La(o)}}s(rM,"applyReplayInstallScope");function oM(t,e){let r=[];for(let o of t.skillNames)r.push({kind:"skill",name:o,path:e});for(let o of t.ruleSlugs)r.push({kind:"rule",name:o,path:e});for(let o of t.commandNames)r.push({kind:"command",name:o,path:e});for(let o of t.agentNames)r.push({kind:"agent",name:o,path:e});return r}s(oM,"buildInstalledList");function nM(t,e,r,o,n){let i=[];for(let a of t)n.skillNames.includes(a.name)||i.push({kind:"skill",name:a.name,reason:"conflict"});for(let a of e){let c=Ce(a);n.ruleSlugs.includes(c)||i.push({kind:"rule",name:c,reason:"conflict"});}for(let a of r)n.commandNames.includes(a.name)||i.push({kind:"command",name:a.name,reason:"conflict"});for(let a of o)n.agentNames.includes(a.name)||i.push({kind:"agent",name:a.name,reason:"conflict"});return i}s(nM,"buildSkippedList");async function sM(t){let{scope:e,force:r,dryRun:o,tty:n,useExtends:i,nameOverride:a,explicitAs:c,config:l,context:m,parsed:p,sourceForYaml:u,version:g,pathInRepo:f,persisted:h,replay:O,prep:R,implicitPick:S,narrowed:A,discoveredFeatures:D}=t,{narrowed:N,discoveredFeatures:G}=rM(A,D,O);if(!vG(N))throw new Error(S||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 J=await GG(N,r,o,n),X=await MG(N,r,o,n),q=await $G(N,r,o,n),Ft=await jG(N,r,o,n),Gt={skills:J.length,rules:X.length,commands:q.length,agents:Ft.length},{canonical:co}=await he(l,m.configDir,{},m.canonicalDir),Ht=!r&&!o&&n?await UG(co,{skills:J,rules:X,commands:q,agents:Ft}):{skillNames:J.map(ys=>ys.name),ruleSlugs:X.map(ys=>Ce(ys)),commandNames:q.map(ys=>ys.name),agentNames:Ft.map(ys=>ys.name)};HG({selected:Ht,discoveredFeatures:G,preConflict:Gt});let lo=O?.features??WG(G,Ht);if(lo.length===0)throw new Error("No features left to install after selection.");let Ut=KG(O?.pick,Ht)??h.pick??BG({pathInRepo:h.pathInRepo??f,implicitPick:S,preConflictCounts:Gt,selected:Ht}),wt=eM({config:l,parsed:p,entryFeatures:lo,nameOverride:a}),pn=oM(Ht,wt),kr=nM(J,X,q,Ft,Ht);if(i){if(await YG({configDir:m.configDir,config:l,entryArgs:{name:wt,source:u,version:g,features:lo,path:h.pathInRepo,pick:Ut,yamlTarget:R.yamlTarget},dryRun:o}),o)return {installed:pn,skipped:kr}}else {if(o)return I.info(`[dry-run] Would install pack "${wt}" to ${e==="global"?"~/.agentsmesh/packs/.":".agentsmesh/packs/."}`),{installed:pn,skipped:kr};await qG({canonicalDir:m.canonicalDir,packName:wt,narrowed:N,selected:Ht,sourceForYaml:u,version:g,sourceKind:p.kind,entryFeatures:lo,pick:Ut,yamlTarget:R.yamlTarget,pathInRepo:h.pathInRepo,manualAs:c,renameExistingPack:a===""});}let hs=await rl(e==="global"?{global:true}:{},m.rootBase);return ol(hs),hs.exitCode!==0&&I.warn(`Generate failed after install. Fix the issue and run agentsmesh generate${e==="global"?" --global":""}.`),{installed:pn,skipped:kr}}s(sM,"executeRunInstallPoolsAndWrite");async function zI(t,e,r,o){let{sync:n,dryRun:i,force:a,useExtends:c,explicitPath:l,explicitTarget:m,explicitAs:p,nameOverride:u}=mG(t),g=t.global===true?"global":"project",f=e[0]?.trim();if(n){let{context:Ht}=await Tt(r,g),lo=[],Ut=[];if(await lG({sync:n,canonicalDir:Ht.canonicalDir,reinstall:s(async wt=>{let pn=wt.paths&&wt.paths.length>0?wt.paths:[wt.path];for(let kr of pn){let hs=await zI({...a?{force:true}:{},...i?{"dry-run":true}:{},...g==="global"?{global:true}:{},name:wt.name,...wt.target?{target:wt.target}:{},...kr?{path:kr}:{},...wt.as?{as:wt.as}:{}},[wt.source],r,{features:wt.features,pick:wt.pick});lo.push(...hs.data.installed),Ut.push(...hs.data.skipped);}},"reinstall")}))return {exitCode:0,data:{source:"",mode:"sync",installed:lo,skipped:Ut,dryRun:i}}}if(!f)throw new Error("Missing source. Usage: agentsmesh install <source> [--path ...] [--target ...]");let h=process.stdin.isTTY;if(!h&&!a&&!i)throw new Error("Non-interactive terminal: use --force or --dry-run for agentsmesh install.");let{config:O,context:R}=await Tt(r,g),S=await DI(f,R.configDir,l);if(S.kind!=="local"&&!await qv())throw new Error("git is required for remote installs. Please install git and try again.");let{resolvedPath:A,sourceForYaml:D,version:N}=await rG(S,f),G=S.pathInRepo.replace(/^\/+|\/+$/g,"");if(G){let Ht=normalize(G).replace(/\\/g,"/");if(Ht===".."||Ht.startsWith("../"))throw new Error(`Install --path "${S.pathInRepo}" escapes the source root. Path must stay within the source.`)}let J=G?join(A,G):A;if(!await j(J))throw new Error(`Install path does not exist: ${J}`);let X=await NG({as:p,contentRoot:J,pathInRepo:G}),{prep:q,implicitPick:Ft,narrowed:Gt,discoveredFeatures:co}=await xG({resolvedPath:A,contentRoot:J,pathInRepo:G,explicitTarget:m,explicitAs:p,replayPick:o?.pick});try{let Ht=await sM({scope:g,force:a,dryRun:i,tty:h,useExtends:c,nameOverride:u,explicitAs:p,config:O,context:R,parsed:S,sourceForYaml:D,version:N,pathInRepo:G,persisted:X,replay:o,prep:q,implicitPick:Ft,narrowed:Gt,discoveredFeatures:co});return {exitCode:0,data:{source:f,mode:"install",installed:Ht.installed,skipped:Ht.skipped,dryRun:i}}}finally{q.cleanup&&await q.cleanup();}}s(zI,"runInstall");async function iM(t,e,r){return zI(t,e,r)}s(iM,"runInstall");ft();function aM(t){let{data:e}=t;if(!(e.mode==="sync"&&e.installed.length===0&&e.skipped.length===0)){if(e.installed.length>0&&!e.dryRun){let o=[...new Set(e.installed.map(n=>n.kind))].map(n=>{let i=e.installed.filter(a=>a.kind===n).length;return `${i} ${n}${i>1?"s":""}`}).join(", ");I.success(`Installed ${o}.`);}if(e.skipped.length>0)for(let r of e.skipped)I.warn(`Skipped ${r.kind} "${r.name}": ${r.reason}`);}}s(aM,"renderInstall");Z_();T();var YI="agentsmesh.yaml";async function XI(t){let e=join(t,YI),r=await y(e);return r===null?{}:parse(r)??{}}s(XI,"readScopedConfigRaw");async function lM(t,e){let r=join(t,YI),o=await y(r)??`version: 1
329
+ `,n=parse(o)??{};if(n.plugins||(n.plugins=[]),n.plugins.some(a=>a.id===e.id))return;let i={id:e.id,source:e.source};e.version!==void 0&&(i.version=e.version),n.plugins.push(i),await _(r,stringify(n));}s(lM,"writePluginEntry");async function mM(t,e){let r=join(t,YI),o=await y(r);if(o===null)return false;let n=parse(o)??{},i=(n.plugins??[]).length;n.plugins=(n.plugins??[]).filter(c=>c.id!==e),n.pluginTargets&&(n.pluginTargets=n.pluginTargets.filter(c=>c!==e));let a=n.plugins.length<i;return a&&await _(r,stringify(n)),a}s(mM,"removePluginEntry");async function pM(t,e,r){let o=e[0];if(o===void 0||o==="")return {exitCode:0,data:{subcommand:"list",plugins:[]},showHelp:true};switch(o){case "add":return QY(t,e.slice(1),r);case "list":return qY(r);case "remove":return tX(e.slice(1),r);case "info":return eX(e.slice(1),r);default:return {exitCode:2,data:{subcommand:"list",plugins:[]},showHelp:true,error:`Unknown plugin subcommand: ${o}`}}}s(pM,"runPlugin");async function QY(t,e,r){let o=e[0];if(!o)throw new mo("Usage: agentsmesh plugin add <source> [--version <v>] [--id <id>]");let n=typeof t.version=="string"?t.version:"latest",a=(typeof t.id=="string"?t.id:void 0)??rX(o);return await lM(r,{id:a,source:o,version:n==="latest"?void 0:n}),{exitCode:0,data:{subcommand:"add",id:a,package:o,version:n}}}s(QY,"runPluginAdd");async function qY(t){let r=(await XI(t)).plugins??[],o=[];for(let n of r){let i="\u2717",a="";try{let c=await jd(n,t);i=c.descriptors.length>0?"\u2713":"\u2713 (0 descriptors)",a=c.descriptors.map(l=>l.id).join(", ");}catch{}o.push({id:n.id,package:n.source,version:n.version,status:i,targets:a});}return {exitCode:0,data:{subcommand:"list",plugins:o}}}s(qY,"runPluginList");async function tX(t,e){let r=t[0];if(!r)throw new mo("Usage: agentsmesh plugin remove <id>");let o=await mM(e,r);return {exitCode:0,data:{subcommand:"remove",id:r,found:o}}}s(tX,"runPluginRemove");async function eX(t,e){let r=t[0];if(!r)throw new mo("Usage: agentsmesh plugin info <id>");let n=((await XI(e)).plugins??[]).find(c=>c.id===r);if(!n)return {exitCode:1,data:{subcommand:"info",id:r,package:"",descriptors:[]}};let i;try{i=await jd(n,e);}catch{return {exitCode:1,data:{subcommand:"info",id:r,package:n.source,version:n.version,descriptors:[]}}}let a=i.descriptors.map(c=>({id:c.id,description:c.emptyImportMessage}));return {exitCode:0,data:{subcommand:"info",id:r,package:n.source,version:n.version,descriptors:a}}}s(eX,"runPluginInfo");function rX(t){let e=t;if(e.startsWith("@")){let o=e.indexOf("/");o!==-1&&(e=e.slice(o+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"}s(rX,"derivePluginId");ft();function uM(t){if(t.error&&I.error(t.error),t.showHelp){aX();return}let{data:e}=t;switch(e.subcommand){case "add":oX(e.id,e.package,e.version);break;case "list":nX(e.plugins);break;case "remove":sX(e.id,e.found);break;case "info":iX(e,t.exitCode);break}}s(uM,"renderPlugin");function oX(t,e,r){I.success(`Plugin '${t}' added to agentsmesh.yaml`),I.warn("Plugins load as trusted Node.js modules and run with full process privileges. Only install plugins from sources you trust.");let o=r!=="latest"?`@${r}`:"@latest";I.info(`Next: npm install ${e}${o}`),I.info(`Then add '${t}' to pluginTargets in agentsmesh.yaml to enable it.`);}s(oX,"renderAdd");function nX(t){if(t.length===0){I.info("No plugins configured. Use: agentsmesh plugin add <source>");return}I.info("Configured plugins:");for(let e of t){let r=e.version!==void 0?`@${e.version}`:"",o=e.status??"",n=e.targets??"";I.info(` ${e.id} | ${e.package}${r} | ${o} | ${n}`);}}s(nX,"renderList");function sX(t,e){e?I.success(`Plugin '${t}' removed from agentsmesh.yaml`):I.warn(`Plugin '${t}' was not found in agentsmesh.yaml`);}s(sX,"renderRemove");function iX(t,e){if(e!==0&&t.package===""){I.error(`Plugin '${t.id}' not found in agentsmesh.yaml. Use: agentsmesh plugin add`);return}if(e!==0){I.error(`Failed to load plugin '${t.id}'`);return}I.info(`Plugin: ${t.id}`),I.info(`Source: ${t.package}${t.version!==void 0?`@${t.version}`:""}`),I.info(`Descriptors: ${t.descriptors.length}`);for(let r of t.descriptors)I.info(` - ${r.id}: ${r.description}`);}s(iX,"renderInfo");function aX(){I.info("Usage: agentsmesh plugin <subcommand> [args] [flags]"),I.info(""),I.info("Subcommands:"),I.info(" add <source> Register a plugin package in agentsmesh.yaml"),I.info(" list Show all configured plugins and load status"),I.info(" remove <id> Remove a plugin from agentsmesh.yaml"),I.info(" info <id> Show descriptor details for a configured plugin"),I.info(""),I.info("Flags (add):"),I.info(" --version <v> Pin plugin version"),I.info(" --id <id> Override derived plugin id"),I.info(""),I.info("Note: plugins load as trusted Node.js modules and run with full process privileges."),I.info(" Only install plugins from sources you trust.");}s(aX,"printPluginHelp");T();uo();function li(t){return t.toUpperCase().replace(/-/g,"_")}s(li,"toPrefix");function gs(t){return t.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join("")}s(gs,"toPascal");function ZI(t){let e=li(t.id),r=gs(t.id);return `import type { TargetGenerators } from '../catalog/target.interface.js';
322
330
  import type { TargetDescriptor, TargetLayout } from '../catalog/target-descriptor.js';
323
331
  import { generateRules } from './generator.js';
324
332
  import { importFrom${r} } from './importer.js';
@@ -377,6 +385,12 @@ const global: TargetLayout = {
377
385
 
378
386
  export const descriptor = {
379
387
  id: ${e}_TARGET,
388
+ metadata: {
389
+ displayName: '${t.displayName}',
390
+ category: 'cli', // TODO(agentsmesh-scaffold): 'cli' | 'ide' | 'agent-platform'
391
+ officialUrl: 'https://example.com', // TODO(agentsmesh-scaffold): official tool homepage or canonical docs URL
392
+ shortDescription: '${t.displayName} \u2014 TODO(agentsmesh-scaffold): one-line description used in tool lists',
393
+ },
380
394
  generators: target,
381
395
  capabilities: {
382
396
  rules: 'native',
@@ -415,7 +429,7 @@ export const descriptor = {
415
429
  buildImportPaths: build${r}ImportPaths,
416
430
  detectionPaths: [${e}_DIR],
417
431
  } satisfies TargetDescriptor;
418
- `}s(uy,"TEMPLATE_INDEX");function dy(t){return `import { describe, it, expect } from 'vitest';
432
+ `}s(ZI,"TEMPLATE_INDEX");function QI(t){return `import { describe, it, expect } from 'vitest';
419
433
  import type { CanonicalFiles } from '../../../../src/core/types.js';
420
434
  import { generateRules } from '../../../../src/targets/${t.id}/generator.js';
421
435
 
@@ -444,7 +458,7 @@ describe('generateRules (${t.id})', () => {
444
458
  expect(result).toHaveLength(0);
445
459
  });
446
460
  });
447
- `}s(dy,"TEMPLATE_GENERATOR_TEST");function fy(t){let e=to(t.id);return `import { describe, it, expect } from 'vitest';
461
+ `}s(QI,"TEMPLATE_GENERATOR_TEST");function qI(t){let e=gs(t.id);return `import { describe, it, expect } from 'vitest';
448
462
  import { importFrom${e} } from '../../../../src/targets/${t.id}/importer.js';
449
463
 
450
464
  describe('importFrom${e} (${t.id})', () => {
@@ -458,10 +472,10 @@ describe('importFrom${e} (${t.id})', () => {
458
472
  expect(result).toHaveLength(0);
459
473
  });
460
474
  });
461
- `}s(fy,"TEMPLATE_IMPORTER_TEST");function gy(t){return `# ${t.displayName} Workspace
475
+ `}s(qI,"TEMPLATE_IMPORTER_TEST");function tR(t){return `# ${t.displayName} Workspace
462
476
 
463
477
  Follow the ${t.displayName} configuration files and keep changes small.
464
- `}s(gy,"TEMPLATE_FIXTURE_ROOT_MD");function ZP(t){let e=Wo(t.id);return `export const ${e}_TARGET = '${t.id}';
478
+ `}s(tR,"TEMPLATE_FIXTURE_ROOT_MD");function dM(t){let e=li(t.id);return `export const ${e}_TARGET = '${t.id}';
465
479
 
466
480
  // Project-level paths
467
481
  export const ${e}_DIR = '.${t.id}';
@@ -474,21 +488,21 @@ export const ${e}_GLOBAL_RULES_DIR = '~/.${t.id}/rules';
474
488
  // Canonical paths
475
489
  export const ${e}_CANONICAL_ROOT_RULE = '.agentsmesh/rules/_root.md';
476
490
  export const ${e}_CANONICAL_RULES_DIR = '.agentsmesh/rules';
477
- `}s(ZP,"TEMPLATE_CONSTANTS");function qP(t){let e=Wo(t.id);return `import type { CanonicalFiles } from '../../core/types.js';
491
+ `}s(dM,"TEMPLATE_CONSTANTS");function gM(t){let e=li(t.id);return `import type { CanonicalFiles } from '../../core/types.js';
478
492
  import { ${e}_TARGET, ${e}_DIR } from './constants.js';
479
493
 
480
- export interface ${to(t.id)}Output {
494
+ export interface ${gs(t.id)}Output {
481
495
  path: string;
482
496
  content: string;
483
497
  }
484
498
 
485
- export function generateRules(_canonical: CanonicalFiles): ${to(t.id)}Output[] {
499
+ export function generateRules(_canonical: CanonicalFiles): ${gs(t.id)}Output[] {
486
500
  // TODO(agentsmesh-scaffold): implement generateRules for ${t.displayName}
487
501
  void ${e}_TARGET;
488
502
  void ${e}_DIR;
489
503
  return [];
490
504
  }
491
- `}s(qP,"TEMPLATE_GENERATOR");function QP(t){let e=to(t.id),r=Wo(t.id);return `import type { ImportResult } from '../../core/types.js';
505
+ `}s(gM,"TEMPLATE_GENERATOR");function fM(t){let e=gs(t.id),r=li(t.id);return `import type { ImportResult } from '../../core/types.js';
492
506
  import type { TargetLayoutScope } from '../catalog/target-descriptor.js';
493
507
  import { ${r}_TARGET } from './constants.js';
494
508
 
@@ -500,7 +514,7 @@ export async function importFrom${e}(
500
514
  void ${r}_TARGET;
501
515
  return [];
502
516
  }
503
- `}s(QP,"TEMPLATE_IMPORTER");function tT(t){let e=Wo(t.id);return `/** Lint rules for the ${t.id} target. */
517
+ `}s(fM,"TEMPLATE_IMPORTER");function hM(t){let e=li(t.id);return `/** Lint rules for the ${t.id} target. */
504
518
  import type { CanonicalFiles, LintDiagnostic } from '../../core/types.js';
505
519
  import { validateRules } from '../../core/lint/validate-rules.js';
506
520
  import { ${e}_TARGET } from './constants.js';
@@ -518,7 +532,7 @@ export function lintRules(
518
532
  target: ${e}_TARGET,
519
533
  }));
520
534
  }
521
- `}s(tT,"TEMPLATE_LINTER");function eT(t){return `/**
535
+ `}s(hM,"TEMPLATE_LINTER");function yM(t){return `/**
522
536
  * ${t.displayName}-specific lint hooks.
523
537
  */
524
538
 
@@ -528,7 +542,7 @@ export function lintHooks(_canonical: CanonicalFiles): LintDiagnostic[] {
528
542
  // TODO(agentsmesh-scaffold): implement target-specific hook validation for ${t.displayName}
529
543
  return [];
530
544
  }
531
- `}s(eT,"TEMPLATE_LINT_HOOKS");function rT(t){let e=to(t.id),r=Wo(t.id);return `import type { TargetLayoutScope } from '../../../targets/catalog/target-descriptor.js';
545
+ `}s(yM,"TEMPLATE_LINT_HOOKS");function _M(t){let e=gs(t.id),r=li(t.id);return `import type { TargetLayoutScope } from '../../../targets/catalog/target-descriptor.js';
532
546
  import { ${r}_DIR } from '../../../targets/${t.id}/constants.js';
533
547
 
534
548
  export async function build${e}ImportPaths(
@@ -540,14 +554,14 @@ export async function build${e}ImportPaths(
540
554
  // Reference: src/core/reference/import-maps/kiro.ts for a full example
541
555
  void ${r}_DIR;
542
556
  }
543
- `}s(rT,"TEMPLATE_IMPORT_MAP");var NK=/^[a-z][a-z0-9-]*$/;async function nT(t){let{id:e,projectRoot:r,force:n=false}=t,o=t.displayName??e,i={id:e,displayName:o};if(!NK.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(lt.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:ZP(i)},{rel:`src/targets/${e}/index.ts`,content:uy(i)},{rel:`src/targets/${e}/generator.ts`,content:qP(i)},{rel:`src/targets/${e}/importer.ts`,content:QP(i)},{rel:`src/targets/${e}/linter.ts`,content:tT(i)},{rel:`src/targets/${e}/lint.ts`,content:eT(i)},{rel:`src/core/reference/import-maps/${e}.ts`,content:rT(i)},{rel:`tests/unit/targets/${e}/generator.test.ts`,content:dy(i)},{rel:`tests/unit/targets/${e}/importer.test.ts`,content:fy(i)},{rel:`tests/e2e/fixtures/${e}-project/AGENTS.md`,content:gy(i)}],c=[],l=[];for(let p of a){let u=join(r,p.rel);if(!n&&await F(u)){l.push(u);continue}await C(u,p.content),c.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:c,skipped:l,postSteps:m}}s(nT,"writeTargetScaffold");async function sT(t,e,r){let n=e[0];return n===void 0||n===""?{exitCode:0,data:{id:"",written:[],skipped:[],postSteps:[]},showHelp:true}:n==="scaffold"?FK(t,e.slice(1),r):{exitCode:2,data:{id:"",written:[],skipped:[],postSteps:[]},showHelp:true,error:`Unknown target subcommand: ${n}`}}s(sT,"runTarget");async function FK(t,e,r){let n=e[0];if(!n)throw new Lr("Usage: agentsmesh target scaffold <id> [--name <displayName>] [--force]");let o=typeof t.name=="string"?t.name:void 0,i=t.force===true,a;try{a=await nT({id:n,displayName:o,projectRoot:r,force:i});}catch(c){return {exitCode:1,data:{id:n,written:[],skipped:[],postSteps:[]},error:c instanceof Error?c.message:String(c)}}return {exitCode:0,data:{id:n,written:a.written.map(c=>oT(c,r)),skipped:a.skipped.map(c=>oT(c,r)),postSteps:a.postSteps}}}s(FK,"runScaffold");function oT(t,e){return (t.startsWith(e)?t.slice(e.length+1):t).replaceAll("\\","/")}s(oT,"relativize");st();function iT(t){if(t.error&&I.error(t.error),t.showHelp){vK();return}let{data:e}=t;for(let r of e.written)I.success(`created ${r}`);for(let r of e.skipped)I.warn(`skipped ${r} (already exists \u2014 use --force to overwrite)`);if(e.written.length>0){I.info(""),I.info("Next steps:");for(let r of e.postSteps)I.info(` ${r}`);}}s(iT,"renderTarget");function vK(){I.info("Usage: agentsmesh target <subcommand> [args] [flags]"),I.info(""),I.info("Subcommands:"),I.info(" scaffold <id> Generate a new target skeleton (files, tests, fixture)"),I.info(""),I.info("Flags (scaffold):"),I.info(" --name <displayName> Human-readable name (defaults to id)"),I.info(" --force Overwrite existing files");}s(vK,"printTargetHelp");Ce();Qo();b();de();Qn();fn();function BK(t,e){return t===".agentsmesh"?false:!!(t.startsWith(".")||!e)}s(BK,"shouldSymlink");function HK(t){let e=mkdtempSync(join(tmpdir(),"am-convert-")),r=readdirSync(t,{withFileTypes:true});for(let n of r){if(!BK(n.name,n.isDirectory()))continue;let o=join(t,n.name),i=join(e,n.name);symlinkSync(o,i,n.isDirectory()?"dir":"file");}return mkdirSync(join(e,".agentsmesh"),{recursive:true}),e}s(HK,"createTempProjectRoot");async function Zp(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",o=n==="global"?homedir():r,i=t.from,a=t.to;if(typeof i!="string"||!i)throw new Error("--from is required. Example: agentsmesh convert --from cursor --to claude-code");if(typeof a!="string"||!a)throw new Error("--to is required. Example: agentsmesh convert --from cursor --to claude-code");let c=i.toLowerCase().trim(),l=a.toLowerCase().trim();if(c===l)throw new Error("--from and --to must be different targets.");let m=Ye(c),p=Ye(l);if(!m||!p)try{let{config:S}=await ut(r,"project");await qt(S,r);}catch{let S=[];throw m||S.push(`--from "${i}"`),p||S.push(`--to "${a}"`),new Error(`Unknown ${S.join(" and ")}. Supported: ${lt.join(", ")}.`)}let u=et(c);if(!u)throw new Error(`Unknown --from "${i}". Supported: ${lt.join(", ")}.`);if(!et(l))throw new Error(`Unknown --to "${a}". Supported: ${lt.join(", ")}.`);let g=t["dry-run"]===true,h=g?"dry-run":"convert",R=HK(o);try{await u.generators.importFrom(R,{scope:n});let S=await ge(R),_=Vo.parse({version:1,targets:p?[l]:[],pluginTargets:p?[]:[l]}),k=await He({config:_,canonical:S,projectRoot:o,scope:n,targetFilter:[l]});if(!g){for(let A of k)if(A.status==="created"||A.status==="updated"){let Z=ua(o,A.path,A.target);await C(Z,A.content);}}let T=k.filter(A=>A.status!=="skipped"),P=T.map(A=>({path:A.path,target:A.target,status:A.status}));return {exitCode:0,data:{from:c,to:l,mode:h,files:P,summary:{created:T.filter(A=>A.status==="created").length,updated:T.filter(A=>A.status==="updated").length,unchanged:T.filter(A=>A.status==="unchanged").length}}}}finally{rmSync(R,{recursive:true,force:true});}}s(Zp,"runConvert");st();function aT(t){let{data:e}=t;if(e.files.length===0){I.info(`No files found to convert from ${e.from}.`);return}if(e.mode==="dry-run"){for(let i of e.files)I.info(`[dry-run] ${i.status} ${i.path} (${i.target})`);return}for(let i of e.files)(i.status==="created"||i.status==="updated")&&I.success(`${i.status} ${i.path}`);let{created:r,updated:n,unchanged:o}=e.summary;r>0||n>0?I.info(`Converted from ${e.from} \u2192 ${e.to}: ${r} created, ${n} updated, ${o} unchanged`):I.info(`Nothing changed. (${o} unchanged)`);}s(aT,"renderConvert");var zK=/(^|\s)\/[A-Za-z]|^[A-Z]:[\\/]/,$=class extends Error{static{s(this,"McpError");}code;details;constructor(e,r,n){if(zK.test(r))throw new Error(`McpError refuses absolute fs path in message: ${r}`);super(r),this.code=e,this.details=n;}toEnvelope(){return this.details===void 0?{code:this.code,message:this.message}:{code:this.code,message:this.message,details:this.details}}};function cT(t){return t.replace(/(['"`])\/[^'"`\s]+\1/gu,"$1<redacted>$1").replace(/(\s|^)\/[A-Za-z][^\s'"`]*/gu,"$1<redacted>").replace(/(\s|^)[A-Z]:[\\/][^\s'"`]*/gu,"$1<redacted>")}s(cT,"redactAbsolutePaths");async function hy(t){let e=resolve(t.projectRoot,".agentsmesh",t.feature),r=resolve(e,t.relativePath);if(!r.startsWith(e+sep)&&r!==e)throw new $("PATH_TRAVERSAL",`path escapes ${t.feature} directory`);if(Buffer.byteLength(t.content,"utf8")>1048576)throw new $("LIMIT_EXCEEDED","file body exceeds 1 MiB cap",{limit:1048576,actual:Buffer.byteLength(t.content,"utf8")});await mkdir(dirname(r),{recursive:true});let n=`${r}.tmp.${process.pid}.${Date.now()}`;return await writeFile(n,t.content,"utf8"),await rename(n,r),r}s(hy,"safeWrite");var tB=/^---\r?\n([\s\S]*?)\r?\n---\r?\n\r?\n?([\s\S]*)$/;function Bo(t){let e=tB.exec(t);return e?{frontmatter:parse(e[1]??"")??{},body:e[2]??""}:{frontmatter:{},body:t}}s(Bo,"parseMd");function Ia(t,e){return Object.keys(t).length===0?e:`---
557
+ `}s(_M,"TEMPLATE_IMPORT_MAP");var lX=/^[a-z][a-z0-9-]*$/;async function IM(t){let{id:e,projectRoot:r,force:o=false}=t,n=t.displayName??e,i={id:e,displayName:n};if(!lX.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(kt.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:dM(i)},{rel:`src/targets/${e}/index.ts`,content:ZI(i)},{rel:`src/targets/${e}/generator.ts`,content:gM(i)},{rel:`src/targets/${e}/importer.ts`,content:fM(i)},{rel:`src/targets/${e}/linter.ts`,content:hM(i)},{rel:`src/targets/${e}/lint.ts`,content:yM(i)},{rel:`src/core/reference/import-maps/${e}.ts`,content:_M(i)},{rel:`tests/unit/targets/${e}/generator.test.ts`,content:QI(i)},{rel:`tests/unit/targets/${e}/importer.test.ts`,content:qI(i)},{rel:`tests/e2e/fixtures/${e}-project/AGENTS.md`,content:tR(i)}],c=[],l=[];for(let p of a){let u=join(r,p.rel);if(!o&&await j(u)){l.push(u);continue}await _(u,p.content),c.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:c,skipped:l,postSteps:m}}s(IM,"writeTargetScaffold");async function SM(t,e,r){let o=e[0];return o===void 0||o===""?{exitCode:0,data:{id:"",written:[],skipped:[],postSteps:[]},showHelp:true}:o==="scaffold"?mX(t,e.slice(1),r):{exitCode:2,data:{id:"",written:[],skipped:[],postSteps:[]},showHelp:true,error:`Unknown target subcommand: ${o}`}}s(SM,"runTarget");async function mX(t,e,r){let o=e[0];if(!o)throw new mo("Usage: agentsmesh target scaffold <id> [--name <displayName>] [--force]");let n=typeof t.name=="string"?t.name:void 0,i=t.force===true,a;try{a=await IM({id:o,displayName:n,projectRoot:r,force:i});}catch(c){return {exitCode:1,data:{id:o,written:[],skipped:[],postSteps:[]},error:c instanceof Error?c.message:String(c)}}return {exitCode:0,data:{id:o,written:a.written.map(c=>RM(c,r)),skipped:a.skipped.map(c=>RM(c,r)),postSteps:a.postSteps}}}s(mX,"runScaffold");function RM(t,e){return (t.startsWith(e)?t.slice(e.length+1):t).replaceAll("\\","/")}s(RM,"relativize");ft();function CM(t){if(t.error&&I.error(t.error),t.showHelp){pX();return}let{data:e}=t;for(let r of e.written)I.success(`created ${r}`);for(let r of e.skipped)I.warn(`skipped ${r} (already exists \u2014 use --force to overwrite)`);if(e.written.length>0){I.info(""),I.info("Next steps:");for(let r of e.postSteps)I.info(` ${r}`);}}s(CM,"renderTarget");function pX(){I.info("Usage: agentsmesh target <subcommand> [args] [flags]"),I.info(""),I.info("Subcommands:"),I.info(" scaffold <id> Generate a new target skeleton (files, tests, fixture)"),I.info(""),I.info("Flags (scaffold):"),I.info(" --name <displayName> Human-readable name (defaults to id)"),I.info(" --force Overwrite existing files");}s(pX,"printTargetHelp");je();Ri();T();Oe();ds();gn();function IX(t,e){return t===".agentsmesh"?false:!!(t.startsWith(".")||!e)}s(IX,"shouldSymlink");function RX(t){let e=mkdtempSync(join(tmpdir(),"am-convert-")),r=readdirSync(t,{withFileTypes:true});for(let o of r){if(!IX(o.name,o.isDirectory()))continue;let n=join(t,o.name),i=join(e,o.name);symlinkSync(n,i,o.isDirectory()?"dir":"file");}return mkdirSync(join(e,".agentsmesh"),{recursive:true}),e}s(RX,"createTempProjectRoot");async function sg(t,e){let r=e??process.cwd(),o=t.global===true?"global":"project",n=o==="global"?homedir():r,i=t.from,a=t.to;if(typeof i!="string"||!i)throw new Error("--from is required. Example: agentsmesh convert --from cursor --to claude-code");if(typeof a!="string"||!a)throw new Error("--to is required. Example: agentsmesh convert --from cursor --to claude-code");let c=i.toLowerCase().trim(),l=a.toLowerCase().trim();if(c===l)throw new Error("--from and --to must be different targets.");let m=Tr(c),p=Tr(l);if(!m||!p)try{let{config:R}=await Tt(r,"project");await le(R,r);}catch{let R=[];throw m||R.push(`--from "${i}"`),p||R.push(`--to "${a}"`),new Error(`Unknown ${R.join(" and ")}. Supported: ${kt.join(", ")}.`)}let u=ut(c);if(!u)throw new Error(`Unknown --from "${i}". Supported: ${kt.join(", ")}.`);if(!ut(l))throw new Error(`Unknown --to "${a}". Supported: ${kt.join(", ")}.`);let f=t["dry-run"]===true,h=f?"dry-run":"convert",O=RX(n);try{await u.generators.importFrom(O,{scope:o});let R=await Ae(O),S=gi.parse({version:1,targets:p?[l]:[],pluginTargets:p?[]:[l]}),A=await Lr({config:S,canonical:R,projectRoot:n,scope:o,targetFilter:[l]});if(!f){for(let G of A)if(G.status==="created"||G.status==="updated"){let J=el(n,G.path,G.target);await _(J,G.content);}}let D=A.filter(G=>G.status!=="skipped"),N=D.map(G=>({path:G.path,target:G.target,status:G.status}));return {exitCode:0,data:{from:c,to:l,mode:h,files:N,summary:{created:D.filter(G=>G.status==="created").length,updated:D.filter(G=>G.status==="updated").length,unchanged:D.filter(G=>G.status==="unchanged").length}}}}finally{rmSync(O,{recursive:true,force:true});}}s(sg,"runConvert");ft();function EM(t){let{data:e}=t;if(e.files.length===0){I.info(`No files found to convert from ${e.from}.`);return}if(e.mode==="dry-run"){for(let i of e.files)I.info(`[dry-run] ${i.status} ${i.path} (${i.target})`);return}for(let i of e.files)(i.status==="created"||i.status==="updated")&&I.success(`${i.status} ${i.path}`);let{created:r,updated:o,unchanged:n}=e.summary;r>0||o>0?I.info(`Converted from ${e.from} \u2192 ${e.to}: ${r} created, ${o} updated, ${n} unchanged`):I.info(`Nothing changed. (${n} unchanged)`);}s(EM,"renderConvert");var SX=/(^|\s)\/[A-Za-z]|^[A-Z]:[\\/]/,B=class extends Error{static{s(this,"McpError");}code;details;constructor(e,r,o){if(SX.test(r))throw new Error(`McpError refuses absolute fs path in message: ${r}`);super(r),this.code=e,this.details=o;}toEnvelope(){return this.details===void 0?{code:this.code,message:this.message}:{code:this.code,message:this.message,details:this.details}}};function OM(t){return t.replace(/(['"`])\/[^'"`\s]+\1/gu,"$1<redacted>$1").replace(/(\s|^)\/[A-Za-z][^\s'"`]*/gu,"$1<redacted>").replace(/(\s|^)[A-Z]:[\\/][^\s'"`]*/gu,"$1<redacted>")}s(OM,"redactAbsolutePaths");async function eR(t){let e=resolve(t.projectRoot,".agentsmesh",t.feature),r=resolve(e,t.relativePath);if(!r.startsWith(e+sep)&&r!==e)throw new B("PATH_TRAVERSAL",`path escapes ${t.feature} directory`);if(Buffer.byteLength(t.content,"utf8")>1048576)throw new B("LIMIT_EXCEEDED","file body exceeds 1 MiB cap",{limit:1048576,actual:Buffer.byteLength(t.content,"utf8")});await mkdir(dirname(r),{recursive:true});let o=`${r}.tmp.${process.pid}.${Date.now()}`;return await writeFile(o,t.content,"utf8"),await rename(o,r),r}s(eR,"safeWrite");var TX=/^---\r?\n([\s\S]*?)\r?\n---\r?\n\r?\n?([\s\S]*)$/;function pi(t){let e=TX.exec(t);return e?{frontmatter:parse(e[1]??"")??{},body:e[2]??""}:{frontmatter:{},body:t}}s(pi,"parseMd");function cl(t,e){return Object.keys(t).length===0?e:`---
544
558
  ${stringify(t).trimEnd()}
545
559
  ---
546
560
 
547
- ${e}`}s(Ia,"serializeMd");var sB=/^[a-zA-Z0-9_][a-zA-Z0-9_-]*$/,iB={rules:"_root"};function qp(t){if(!sB.test(t)||t.includes(".."))throw new $("INVALID_NAME",`invalid name: ${t}`)}s(qp,"checkName");function Qp(t,e,r){return resolve(t,".agentsmesh",e,`${r}.md`)}s(Qp,"pathFor");function Sa(t){let{feature:e,frontmatterSchema:r,toSummary:n}=t,o=s(c=>resolve(c,".agentsmesh",e),"featureDir");async function i(c){try{return (await readdir(o(c),{withFileTypes:!0})).filter(m=>m.isFile()&&m.name.endsWith(".md")).map(m=>m.name)}catch{return []}}s(i,"listFiles");async function a(c){try{return await stat(c),!0}catch{return false}}return s(a,"exists"),{async list(c){let l=await i(c.projectRoot),m=[];for(let p of l){let u=p.replace(/\.md$/,""),f=await readFile(join(o(c.projectRoot),p),"utf8"),{frontmatter:g}=Bo(f);m.push(n(u,g));}return m},async get(c,{name:l}){qp(l);let m=Qp(c.projectRoot,e,l);try{let p=await readFile(m,"utf8"),{frontmatter:u,body:f}=Bo(p);return {name:l,frontmatter:u,body:f}}catch(p){let u=p.code;throw u==="ENOENT"?new $("NOT_FOUND",`${e} "${l}" not found`):new $("IO_ERROR",`failed to read ${e}`,{errno:u})}},async create(c,{name:l,frontmatter:m,body:p,dry_run:u}){qp(l);let f=r.safeParse(m);if(!f.success)throw new $("VALIDATION_FAILED","invalid frontmatter",f.error.issues);let g=Qp(c.projectRoot,e,l);if(await a(g))throw new $("ALREADY_EXISTS",`${e} "${l}" exists`);if((await i(c.projectRoot)).length>=1e3)throw new $("LIMIT_EXCEEDED",`${e} dir at ${1e3} entries`);let R=Ia(m,p);return u===true?{path:g,written:false}:(await hy({projectRoot:c.projectRoot,feature:e,relativePath:`${l}.md`,content:R}),{path:g,written:true})},async update(c,{name:l,frontmatter:m,body:p,merge:u,dry_run:f}){qp(l);let g=Qp(c.projectRoot,e,l),h;try{let T=await readFile(g,"utf8");h=Bo(T);}catch(T){let P=T.code;throw P==="ENOENT"?new $("NOT_FOUND",`${e} "${l}" not found`):new $("IO_ERROR",`failed to read ${e}`,{errno:P})}let R=m===void 0?h.frontmatter:u===true?{...h.frontmatter,...m}:m,S=r.safeParse(R);if(!S.success)throw new $("VALIDATION_FAILED","invalid frontmatter",S.error.issues);let _=p!==void 0?p:h.body,k=Ia(R,_);return f===true?{path:g,written:false}:(await hy({projectRoot:c.projectRoot,feature:e,relativePath:`${l}.md`,content:k}),{path:g,written:true})},async delete(c,{name:l,force:m,dry_run:p}){if(qp(l),iB[e]===l&&m!==true)throw new $("PROTECTED_FILE",`${e} "${l}" requires force: true`);let u=Qp(c.projectRoot,e,l);if(!await a(u))throw new $("NOT_FOUND",`${e} "${l}" not found`);return p===true?{path:u,deleted:false}:(await rm$1(u),{path:u,deleted:true})}}}s(Sa,"createCanonicalHandlers");var aB=z$1.object({description:z$1.string().optional(),root:z$1.boolean().optional(),globs:z$1.array(z$1.string()).nullable().optional(),targets:z$1.array(z$1.string()).nullable().optional()}).passthrough(),pT=Sa({feature:"rules",frontmatterSchema:aB,toSummary:s((t,e)=>({name:t,description:e.description??null,root:!!e.root,globs:e.globs??null,targets:e.targets??null}),"toSummary")});var cB=z$1.object({description:z$1.string().optional(),"allowed-tools":z$1.array(z$1.string()).optional()}).passthrough(),uT=Sa({feature:"commands",frontmatterSchema:cB,toSummary:s((t,e)=>({name:t,description:e.description??null,allowedTools:e["allowed-tools"]??null}),"toSummary")});var lB=z$1.object({name:z$1.string().optional(),description:z$1.string().optional(),tools:z$1.array(z$1.string()).optional(),model:z$1.string().optional()}).passthrough(),dT=Sa({feature:"agents",frontmatterSchema:lB,toSummary:s((t,e)=>({name:t,description:e.description??null,tools:e.tools??null,model:e.model??null}),"toSummary")});var mB=z$1.object({name:z$1.string().describe('Item name (e.g. "auth", "code-review")')}),pB=z$1.object({name:z$1.string().describe('Item name (e.g. "auth", "code-review")'),frontmatter:z$1.record(z$1.string(),z$1.unknown()).describe("YAML frontmatter fields (e.g. { description, globs, targets })"),body:z$1.string().describe("Markdown body content"),dry_run:z$1.boolean().optional().describe("Preview changes without writing to disk")}),uB=z$1.object({}).strict();function _y(t,e){let r=t==="rule"?"rules":t==="command"?"commands":"agents";return [{name:`list_${r}`,description:`List ${r} with summary metadata`,inputSchema:uB,handler:s(n=>e.list(n),"handler"),resourceUri:`agentsmesh://canonical/${r}`},{name:`get_${t}`,description:`Get a single ${t} by name`,inputSchema:mB,handler:s((n,o)=>e.get(n,o),"handler"),resourceUri:`agentsmesh://canonical/${r}/{name}`},{name:`create_${t}`,description:`Create a new ${t}`,inputSchema:pB,handler:s((n,o)=>e.create(n,o),"handler")},{name:`update_${t}`,description:`Update a ${t}. Default: replace frontmatter entirely. Set merge=true to shallow-merge. Omitting body preserves the existing body.`,inputSchema:z$1.object({name:z$1.string().describe("Name of the item to update"),frontmatter:z$1.record(z$1.string(),z$1.unknown()).optional().describe("New frontmatter fields (replaces by default; set merge=true to shallow-merge)"),body:z$1.string().optional().describe("New markdown body (omit to preserve existing)"),merge:z$1.boolean().optional().describe("If true, shallow-merge frontmatter instead of replacing"),dry_run:z$1.boolean().optional().describe("Preview changes without writing to disk")}),handler:s((n,o)=>e.update(n,o),"handler")},{name:`delete_${t}`,description:`Delete a ${t}. For rules: deleting _root requires force=true.`,inputSchema:z$1.object({name:z$1.string().describe("Name of the item to delete"),force:z$1.boolean().optional().describe("Required to delete protected files like _root"),dry_run:z$1.boolean().optional().describe("Preview without deleting")}),handler:s((n,o)=>e.delete(n,o),"handler")}]}s(_y,"canonicalTools");var fT=[..._y("rule",pT),..._y("command",uT),..._y("agent",dT)];async function hT(t){let e=resolve(t.projectRoot,".agentsmesh/skills",t.skillName),r=resolve(e,t.filePath);if(!r.startsWith(e+sep)&&r!==e)throw new $("PATH_TRAVERSAL","file escapes skill directory");try{return await readFile(r,"utf8")}catch(n){throw n.code==="ENOENT"?new $("NOT_FOUND",`skill file not found: ${t.filePath}`):new $("IO_ERROR","failed to read skill file")}}s(hT,"safeRead");var IB=/^[a-zA-Z0-9_][a-zA-Z0-9_-]*$/,SB=/^[a-zA-Z0-9_][a-zA-Z0-9_/-]*\.[a-zA-Z0-9]+$/,ST=z$1.object({name:z$1.string().optional(),description:z$1.string().optional()}).passthrough();function nl(t){if(!IB.test(t))throw new $("INVALID_NAME",`invalid skill name: ${t}`)}s(nl,"checkName");function Cy(t){if(!SB.test(t)||t.includes("..")||t.includes("//"))throw new $("PATH_TRAVERSAL",`invalid supporting-file path: ${t}`)}s(Cy,"checkSupportPath");async function ru(t,e){if(Buffer.byteLength(e,"utf8")>1048576)throw new $("LIMIT_EXCEEDED","file body exceeds 1 MiB cap");await mkdir(dirname(t),{recursive:true});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await writeFile(r,e,"utf8"),await rename(r,t);}s(ru,"atomicWrite");var CT=s(t=>resolve(t,".agentsmesh/skills"),"skillsDir"),ol=s((t,e)=>resolve(CT(t),e),"skillDir"),Zs={async list(t){let e;try{e=(await readdir(CT(t.projectRoot),{withFileTypes:!0})).filter(n=>n.isDirectory()).map(n=>n.name);}catch{return []}let r=[];for(let n of e)try{let o=await readFile(resolve(ol(t.projectRoot,n),"SKILL.md"),"utf8"),i=Bo(o).frontmatter;r.push({name:n,description:i.description??null});}catch{}return r},async get(t,{name:e}){nl(e);let r=ol(t.projectRoot,e);try{let n=await readFile(resolve(r,"SKILL.md"),"utf8"),{frontmatter:o,body:i}=Bo(n),c=(await readdir(r)).filter(l=>l!=="SKILL.md").sort();return {name:e,frontmatter:o,body:i,supportingFiles:c}}catch(n){throw n.code==="ENOENT"?new $("NOT_FOUND",`skill "${e}" not found`):new $("IO_ERROR","failed to read skill")}},async getFile(t,{name:e,path:r}){return nl(e),Cy(r),{content:await hT({projectRoot:t.projectRoot,skillName:e,filePath:r}),encoding:"utf-8"}},async create(t,e){nl(e.name);let r=ST.safeParse(e.frontmatter);if(!r.success)throw new $("VALIDATION_FAILED","invalid frontmatter",r.error.issues);let n=ol(t.projectRoot,e.name),o=false;try{await stat(n),o=!0;}catch{}if(o)throw new $("ALREADY_EXISTS",`skill "${e.name}" exists`);let i=e.supportingFiles??{},a=Object.keys(i);if(a.forEach(Cy),a.length+1>1e3)throw new $("LIMIT_EXCEEDED","supporting files exceed cap");if(e.dry_run===true)return {path:n,written:false,supportingFilesWritten:[]};let c=resolve(n,"SKILL.md");await ru(c,Ia(e.frontmatter,e.body));for(let[l,m]of Object.entries(i))await ru(resolve(n,l),m);return {path:n,written:true,supportingFilesWritten:a}},async update(t,e){nl(e.name);let r=ol(t.projectRoot,e.name),n;try{let p=await readFile(resolve(r,"SKILL.md"),"utf8");n=Bo(p);}catch(p){throw p.code==="ENOENT"?new $("NOT_FOUND",`skill "${e.name}" not found`):new $("IO_ERROR","failed to read skill")}let o=e.frontmatter===void 0?n.frontmatter:e.merge===true?{...n.frontmatter,...e.frontmatter}:e.frontmatter,i=ST.safeParse(o);if(!i.success)throw new $("VALIDATION_FAILED","invalid frontmatter",i.error.issues);let a=e.body!==void 0?e.body:n.body,c=e.supportingFiles??{};Object.keys(c).forEach(Cy);let l=[],m=[];if(e.dry_run===true)return Object.entries(c).forEach(([p,u])=>(u===null?m:l).push(p)),{path:r,written:false,supportingFilesAffected:{written:l,deleted:m}};await ru(resolve(r,"SKILL.md"),Ia(o,a));for(let[p,u]of Object.entries(c)){let f=resolve(r,p);if(u===null)try{await rm$1(f),m.push(p);}catch{}else await ru(f,u),l.push(p);}return {path:r,written:true,supportingFilesAffected:{written:l,deleted:m}}},async delete(t,{name:e,dry_run:r}){nl(e);let n=ol(t.projectRoot,e);try{await stat(n);}catch{throw new $("NOT_FOUND",`skill "${e}" not found`)}return r===true?{path:n,deleted:false}:(await rm$1(n,{recursive:true}),{path:n,deleted:true})}};var CB=z$1.object({}).strict(),RB=z$1.object({name:z$1.string().describe("Item name")}),RT=[{name:"list_skills",description:"List skills",inputSchema:CB,handler:s(t=>Zs.list(t),"handler"),resourceUri:"agentsmesh://canonical/skills"},{name:"get_skill",description:"Get one skill (frontmatter + body + supporting filenames)",inputSchema:RB,handler:s((t,e)=>Zs.get(t,e),"handler"),resourceUri:"agentsmesh://canonical/skills/{name}"},{name:"get_skill_file",description:"Read a skill supporting file by name and relative path",inputSchema:z$1.object({name:z$1.string().describe("Skill name"),path:z$1.string().describe('Relative path within the skill directory (e.g. "helper.md")')}),handler:s((t,e)=>Zs.getFile(t,e),"handler"),resourceUri:"agentsmesh://canonical/skills/{name}/files/{path}"},{name:"create_skill",description:"Create a skill directory with SKILL.md and optional supporting files",inputSchema:z$1.object({name:z$1.string().describe("Skill name (becomes directory name)"),frontmatter:z$1.record(z$1.string(),z$1.unknown()).describe("YAML frontmatter for SKILL.md"),body:z$1.string().describe("Markdown body for SKILL.md"),supportingFiles:z$1.record(z$1.string(),z$1.string()).optional().describe("Map of relative-path \u2192 content for supporting files"),dry_run:z$1.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>Zs.create(t,e),"handler")},{name:"update_skill",description:"Update a skill. supportingFiles: string value writes/replaces, null deletes, unlisted files are untouched.",inputSchema:z$1.object({name:z$1.string().describe("Skill name"),frontmatter:z$1.record(z$1.string(),z$1.unknown()).optional().describe("New frontmatter (replaces by default; merge=true to shallow-merge)"),body:z$1.string().optional().describe("New body (omit to preserve existing)"),merge:z$1.boolean().optional().describe("Shallow-merge frontmatter instead of replacing"),supportingFiles:z$1.record(z$1.string(),z$1.union([z$1.string(),z$1.null()])).optional().describe("Map of path \u2192 content (string=write, null=delete, absent=keep)"),dry_run:z$1.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>Zs.update(t,e),"handler")},{name:"delete_skill",description:"Delete a skill",inputSchema:z$1.object({name:z$1.string(),dry_run:z$1.boolean().optional()}),handler:s((t,e)=>Zs.delete(t,e),"handler")}];async function OT(t){if(t.filename!==void 0&&t.filename!=="agentsmesh.yaml")throw new $("PATH_TRAVERSAL","only agentsmesh.yaml is writable");if(Buffer.byteLength(t.content,"utf8")>1048576)throw new $("LIMIT_EXCEEDED","config exceeds 1 MiB cap");let e=resolve(t.projectRoot,"agentsmesh.yaml"),r=`${e}.tmp.${process.pid}.${Date.now()}`;return await writeFile(r,t.content,"utf8"),await rename(r,e),e}s(OT,"safeConfigWrite");fn();Na();async function sl(t){try{return parse(await readFile(t,"utf8"))}catch(e){if(e.code==="ENOENT")return null;throw new $("IO_ERROR","failed to read yaml")}}s(sl,"readYaml");async function Ra(t,e){if(Buffer.byteLength(e,"utf8")>1048576)throw new $("LIMIT_EXCEEDED","file exceeds 1 MiB cap");let r=`${t}.tmp.${process.pid}.${Date.now()}`;await writeFile(r,e,"utf8"),await rename(r,t);}s(Ra,"atomicWrite");var ke={async getConfig(t){let e=await sl(resolve(t.projectRoot,"agentsmesh.yaml"));if(e===null)throw new $("NO_PROJECT","agentsmesh.yaml missing");return e},async listMcpServers(t){let e=resolve(t.projectRoot,".agentsmesh/mcp.json");try{return {servers:(await Ze(e))?.mcpServers??null}}catch{return {servers:null}}},async getPermissions(t){return await sl(resolve(t.projectRoot,".agentsmesh/permissions.yaml"))??null},async getHooks(t){return await sl(resolve(t.projectRoot,".agentsmesh/hooks.yaml"))??null},async getIgnore(t){try{return {patterns:(await readFile(resolve(t.projectRoot,".agentsmesh/ignore"),"utf8")).split(/\r?\n/).filter(r=>r!==""&&!r.startsWith("#"))}}catch{return {patterns:null}}},async updateConfig(t,e){let r=await sl(resolve(t.projectRoot,"agentsmesh.yaml"))??{},n={...r},o=s((l,m)=>{m!==void 0&&(n[l]=e.merge===true&&Array.isArray(r[l])?Array.from(new Set([...r[l],...m])):m);},"apply");o("targets",e.targets),o("features",e.features),e.conversions!==void 0&&(n.conversions=e.merge===true&&r.conversions!==void 0?{...r.conversions,...e.conversions}:e.conversions);let i=Vo.safeParse(n);if(!i.success)throw new $("VALIDATION_FAILED","invalid config",i.error.issues);let a=stringify(n);return e.dry_run===true?{path:resolve(t.projectRoot,"agentsmesh.yaml"),written:false}:{path:await OT({projectRoot:t.projectRoot,content:a,filename:e.filename}),written:true}},async addMcpServer(t,e){let r=resolve(t.projectRoot,".agentsmesh/mcp.json"),n=await Ze(r).catch(()=>null)??{mcpServers:{}};if(n.mcpServers[e.name]!==void 0)throw new $("ALREADY_EXISTS",`server "${e.name}" exists`);return n.mcpServers[e.name]=e.server,e.dry_run===true?{path:r,written:false}:(await Ra(r,JSON.stringify(n,null,2)+`
548
- `),{path:r,written:true})},async updateMcpServer(t,e){let r=resolve(t.projectRoot,".agentsmesh/mcp.json"),n=await Ze(r).catch(()=>null);if(n===null||n.mcpServers[e.name]===void 0)throw new $("NOT_FOUND",`server "${e.name}" not found`);return n.mcpServers[e.name]=e.merge===true?{...n.mcpServers[e.name],...e.server}:e.server,e.dry_run===true?{path:r,written:false}:(await Ra(r,JSON.stringify(n,null,2)+`
549
- `),{path:r,written:true})},async removeMcpServer(t,e){let r=resolve(t.projectRoot,".agentsmesh/mcp.json"),n=await Ze(r).catch(()=>null);if(n===null||n.mcpServers[e.name]===void 0)throw new $("NOT_FOUND",`server "${e.name}" not found`);return delete n.mcpServers[e.name],e.dry_run===true?{path:r,removed:false}:(await Ra(r,JSON.stringify(n,null,2)+`
550
- `),{path:r,removed:true})},async updatePermissions(t,e){let r=resolve(t.projectRoot,".agentsmesh/permissions.yaml"),n=await sl(r)??{allow:[],deny:[],ask:[]},o={...n},i=s((a,c)=>{c!==void 0&&(o[a]=e.mode==="append"?Array.from(new Set([...n[a]??[],...c])):c);},"apply");return i("allow",e.allow),i("deny",e.deny),i("ask",e.ask),e.dry_run===true?{path:r,written:false}:(await Ra(r,stringify(o)),{path:r,written:true})},async updateHooks(t,e){let r=resolve(t.projectRoot,".agentsmesh/hooks.yaml");return e.dry_run===true?{path:r,written:false}:(await Ra(r,stringify(e.hooks)),{path:r,written:true})},async updateIgnore(t,e){let r=resolve(t.projectRoot,".agentsmesh/ignore"),n;if(e.mode==="append"){let o=(await readFile(r,"utf8").catch(()=>"")).split(/\r?\n/).filter(Boolean);n=Array.from(new Set([...o,...e.patterns]));}else n=e.patterns;return e.dry_run===true?{path:r,written:false}:(await Ra(r,n.join(`
561
+ ${e}`}s(cl,"serializeMd");var NX=/^[a-zA-Z0-9_][a-zA-Z0-9_-]*$/,FX={rules:"_root"};function ig(t){if(!NX.test(t)||t.includes(".."))throw new B("INVALID_NAME",`invalid name: ${t}`)}s(ig,"checkName");function ag(t,e,r){return resolve(t,".agentsmesh",e,`${r}.md`)}s(ag,"pathFor");function ll(t){let{feature:e,frontmatterSchema:r,toSummary:o}=t,n=s(c=>resolve(c,".agentsmesh",e),"featureDir");async function i(c){try{return (await readdir(n(c),{withFileTypes:!0})).filter(m=>m.isFile()&&m.name.endsWith(".md")).map(m=>m.name)}catch{return []}}s(i,"listFiles");async function a(c){try{return await stat(c),!0}catch{return false}}return s(a,"exists"),{async list(c){let l=await i(c.projectRoot),m=[];for(let p of l){let u=p.replace(/\.md$/,""),g=await readFile(join(n(c.projectRoot),p),"utf8"),{frontmatter:f}=pi(g);m.push(o(u,f));}return m},async get(c,{name:l}){ig(l);let m=ag(c.projectRoot,e,l);try{let p=await readFile(m,"utf8"),{frontmatter:u,body:g}=pi(p);return {name:l,frontmatter:u,body:g}}catch(p){let u=p.code;throw u==="ENOENT"?new B("NOT_FOUND",`${e} "${l}" not found`):new B("IO_ERROR",`failed to read ${e}`,{errno:u})}},async create(c,{name:l,frontmatter:m,body:p,dry_run:u}){ig(l);let g=r.safeParse(m);if(!g.success)throw new B("VALIDATION_FAILED","invalid frontmatter",g.error.issues);let f=ag(c.projectRoot,e,l);if(await a(f))throw new B("ALREADY_EXISTS",`${e} "${l}" exists`);if((await i(c.projectRoot)).length>=1e3)throw new B("LIMIT_EXCEEDED",`${e} dir at ${1e3} entries`);let O=cl(m,p);return u===true?{path:f,written:false}:(await eR({projectRoot:c.projectRoot,feature:e,relativePath:`${l}.md`,content:O}),{path:f,written:true})},async update(c,{name:l,frontmatter:m,body:p,merge:u,dry_run:g}){ig(l);let f=ag(c.projectRoot,e,l),h;try{let D=await readFile(f,"utf8");h=pi(D);}catch(D){let N=D.code;throw N==="ENOENT"?new B("NOT_FOUND",`${e} "${l}" not found`):new B("IO_ERROR",`failed to read ${e}`,{errno:N})}let O=m===void 0?h.frontmatter:u===true?{...h.frontmatter,...m}:m,R=r.safeParse(O);if(!R.success)throw new B("VALIDATION_FAILED","invalid frontmatter",R.error.issues);let S=p!==void 0?p:h.body,A=cl(O,S);return g===true?{path:f,written:false}:(await eR({projectRoot:c.projectRoot,feature:e,relativePath:`${l}.md`,content:A}),{path:f,written:true})},async delete(c,{name:l,force:m,dry_run:p}){if(ig(l),FX[e]===l&&m!==true)throw new B("PROTECTED_FILE",`${e} "${l}" requires force: true`);let u=ag(c.projectRoot,e,l);if(!await a(u))throw new B("NOT_FOUND",`${e} "${l}" not found`);return p===true?{path:u,deleted:false}:(await rm$1(u),{path:u,deleted:true})}}}s(ll,"createCanonicalHandlers");var vX=z$1.object({description:z$1.string().optional(),root:z$1.boolean().optional(),globs:z$1.array(z$1.string()).nullable().optional(),targets:z$1.array(z$1.string()).nullable().optional()}).passthrough(),kM=ll({feature:"rules",frontmatterSchema:vX,toSummary:s((t,e)=>({name:t,description:e.description??null,root:!!e.root,globs:e.globs??null,targets:e.targets??null}),"toSummary")});var GX=z$1.object({description:z$1.string().optional(),"allowed-tools":z$1.array(z$1.string()).optional()}).passthrough(),wM=ll({feature:"commands",frontmatterSchema:GX,toSummary:s((t,e)=>({name:t,description:e.description??null,allowedTools:e["allowed-tools"]??null}),"toSummary")});var MX=z$1.object({name:z$1.string().optional(),description:z$1.string().optional(),tools:z$1.array(z$1.string()).optional(),model:z$1.string().optional()}).passthrough(),TM=ll({feature:"agents",frontmatterSchema:MX,toSummary:s((t,e)=>({name:t,description:e.description??null,tools:e.tools??null,model:e.model??null}),"toSummary")});var $X=z$1.object({name:z$1.string().describe('Item name (e.g. "auth", "code-review")')}),jX=z$1.object({name:z$1.string().describe('Item name (e.g. "auth", "code-review")'),frontmatter:z$1.record(z$1.string(),z$1.unknown()).describe("YAML frontmatter fields (e.g. { description, globs, targets })"),body:z$1.string().describe("Markdown body content"),dry_run:z$1.boolean().optional().describe("Preview changes without writing to disk")}),UX=z$1.object({}).strict();function oR(t,e){let r=t==="rule"?"rules":t==="command"?"commands":"agents";return [{name:`list_${r}`,description:`List ${r} with summary metadata`,inputSchema:UX,handler:s(o=>e.list(o),"handler"),resourceUri:`agentsmesh://canonical/${r}`},{name:`get_${t}`,description:`Get a single ${t} by name`,inputSchema:$X,handler:s((o,n)=>e.get(o,n),"handler"),resourceUri:`agentsmesh://canonical/${r}/{name}`},{name:`create_${t}`,description:`Create a new ${t}`,inputSchema:jX,handler:s((o,n)=>e.create(o,n),"handler")},{name:`update_${t}`,description:`Update a ${t}. Default: replace frontmatter entirely. Set merge=true to shallow-merge. Omitting body preserves the existing body.`,inputSchema:z$1.object({name:z$1.string().describe("Name of the item to update"),frontmatter:z$1.record(z$1.string(),z$1.unknown()).optional().describe("New frontmatter fields (replaces by default; set merge=true to shallow-merge)"),body:z$1.string().optional().describe("New markdown body (omit to preserve existing)"),merge:z$1.boolean().optional().describe("If true, shallow-merge frontmatter instead of replacing"),dry_run:z$1.boolean().optional().describe("Preview changes without writing to disk")}),handler:s((o,n)=>e.update(o,n),"handler")},{name:`delete_${t}`,description:`Delete a ${t}. For rules: deleting _root requires force=true.`,inputSchema:z$1.object({name:z$1.string().describe("Name of the item to delete"),force:z$1.boolean().optional().describe("Required to delete protected files like _root"),dry_run:z$1.boolean().optional().describe("Preview without deleting")}),handler:s((o,n)=>e.delete(o,n),"handler")}]}s(oR,"canonicalTools");var bM=[...oR("rule",kM),...oR("command",wM),...oR("agent",TM)];async function xM(t){let e=resolve(t.projectRoot,".agentsmesh/skills",t.skillName),r=resolve(e,t.filePath);if(!r.startsWith(e+sep)&&r!==e)throw new B("PATH_TRAVERSAL","file escapes skill directory");try{return await readFile(r,"utf8")}catch(o){throw o.code==="ENOENT"?new B("NOT_FOUND",`skill file not found: ${t.filePath}`):new B("IO_ERROR","failed to read skill file")}}s(xM,"safeRead");var JX=/^[a-zA-Z0-9_][a-zA-Z0-9_-]*$/,YX=/^[a-zA-Z0-9_][a-zA-Z0-9_/-]*\.[a-zA-Z0-9]+$/,vM=z$1.object({name:z$1.string().optional(),description:z$1.string().optional()}).passthrough();function Jm(t){if(!JX.test(t))throw new B("INVALID_NAME",`invalid skill name: ${t}`)}s(Jm,"checkName");function iR(t){if(!YX.test(t)||t.includes("..")||t.includes("//"))throw new B("PATH_TRAVERSAL",`invalid supporting-file path: ${t}`)}s(iR,"checkSupportPath");async function mg(t,e){if(Buffer.byteLength(e,"utf8")>1048576)throw new B("LIMIT_EXCEEDED","file body exceeds 1 MiB cap");await mkdir(dirname(t),{recursive:true});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await writeFile(r,e,"utf8"),await rename(r,t);}s(mg,"atomicWrite");var GM=s(t=>resolve(t,".agentsmesh/skills"),"skillsDir"),Ym=s((t,e)=>resolve(GM(t),e),"skillDir"),Ta={async list(t){let e;try{e=(await readdir(GM(t.projectRoot),{withFileTypes:!0})).filter(o=>o.isDirectory()).map(o=>o.name);}catch{return []}let r=[];for(let o of e)try{let n=await readFile(resolve(Ym(t.projectRoot,o),"SKILL.md"),"utf8"),i=pi(n).frontmatter;r.push({name:o,description:i.description??null});}catch{}return r},async get(t,{name:e}){Jm(e);let r=Ym(t.projectRoot,e);try{let o=await readFile(resolve(r,"SKILL.md"),"utf8"),{frontmatter:n,body:i}=pi(o),c=(await readdir(r)).filter(l=>l!=="SKILL.md").sort();return {name:e,frontmatter:n,body:i,supportingFiles:c}}catch(o){throw o.code==="ENOENT"?new B("NOT_FOUND",`skill "${e}" not found`):new B("IO_ERROR","failed to read skill")}},async getFile(t,{name:e,path:r}){return Jm(e),iR(r),{content:await xM({projectRoot:t.projectRoot,skillName:e,filePath:r}),encoding:"utf-8"}},async create(t,e){Jm(e.name);let r=vM.safeParse(e.frontmatter);if(!r.success)throw new B("VALIDATION_FAILED","invalid frontmatter",r.error.issues);let o=Ym(t.projectRoot,e.name),n=false;try{await stat(o),n=!0;}catch{}if(n)throw new B("ALREADY_EXISTS",`skill "${e.name}" exists`);let i=e.supportingFiles??{},a=Object.keys(i);if(a.forEach(iR),a.length+1>1e3)throw new B("LIMIT_EXCEEDED","supporting files exceed cap");if(e.dry_run===true)return {path:o,written:false,supportingFilesWritten:[]};let c=resolve(o,"SKILL.md");await mg(c,cl(e.frontmatter,e.body));for(let[l,m]of Object.entries(i))await mg(resolve(o,l),m);return {path:o,written:true,supportingFilesWritten:a}},async update(t,e){Jm(e.name);let r=Ym(t.projectRoot,e.name),o;try{let p=await readFile(resolve(r,"SKILL.md"),"utf8");o=pi(p);}catch(p){throw p.code==="ENOENT"?new B("NOT_FOUND",`skill "${e.name}" not found`):new B("IO_ERROR","failed to read skill")}let n=e.frontmatter===void 0?o.frontmatter:e.merge===true?{...o.frontmatter,...e.frontmatter}:e.frontmatter,i=vM.safeParse(n);if(!i.success)throw new B("VALIDATION_FAILED","invalid frontmatter",i.error.issues);let a=e.body!==void 0?e.body:o.body,c=e.supportingFiles??{};Object.keys(c).forEach(iR);let l=[],m=[];if(e.dry_run===true)return Object.entries(c).forEach(([p,u])=>(u===null?m:l).push(p)),{path:r,written:false,supportingFilesAffected:{written:l,deleted:m}};await mg(resolve(r,"SKILL.md"),cl(n,a));for(let[p,u]of Object.entries(c)){let g=resolve(r,p);if(u===null)try{await rm$1(g),m.push(p);}catch{}else await mg(g,u),l.push(p);}return {path:r,written:true,supportingFilesAffected:{written:l,deleted:m}}},async delete(t,{name:e,dry_run:r}){Jm(e);let o=Ym(t.projectRoot,e);try{await stat(o);}catch{throw new B("NOT_FOUND",`skill "${e}" not found`)}return r===true?{path:o,deleted:false}:(await rm$1(o,{recursive:true}),{path:o,deleted:true})}};var XX=z$1.object({}).strict(),ZX=z$1.object({name:z$1.string().describe("Item name")}),MM=[{name:"list_skills",description:"List skills",inputSchema:XX,handler:s(t=>Ta.list(t),"handler"),resourceUri:"agentsmesh://canonical/skills"},{name:"get_skill",description:"Get one skill (frontmatter + body + supporting filenames)",inputSchema:ZX,handler:s((t,e)=>Ta.get(t,e),"handler"),resourceUri:"agentsmesh://canonical/skills/{name}"},{name:"get_skill_file",description:"Read a skill supporting file by name and relative path",inputSchema:z$1.object({name:z$1.string().describe("Skill name"),path:z$1.string().describe('Relative path within the skill directory (e.g. "helper.md")')}),handler:s((t,e)=>Ta.getFile(t,e),"handler"),resourceUri:"agentsmesh://canonical/skills/{name}/files/{path}"},{name:"create_skill",description:"Create a skill directory with SKILL.md and optional supporting files",inputSchema:z$1.object({name:z$1.string().describe("Skill name (becomes directory name)"),frontmatter:z$1.record(z$1.string(),z$1.unknown()).describe("YAML frontmatter for SKILL.md"),body:z$1.string().describe("Markdown body for SKILL.md"),supportingFiles:z$1.record(z$1.string(),z$1.string()).optional().describe("Map of relative-path \u2192 content for supporting files"),dry_run:z$1.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>Ta.create(t,e),"handler")},{name:"update_skill",description:"Update a skill. supportingFiles: string value writes/replaces, null deletes, unlisted files are untouched.",inputSchema:z$1.object({name:z$1.string().describe("Skill name"),frontmatter:z$1.record(z$1.string(),z$1.unknown()).optional().describe("New frontmatter (replaces by default; merge=true to shallow-merge)"),body:z$1.string().optional().describe("New body (omit to preserve existing)"),merge:z$1.boolean().optional().describe("Shallow-merge frontmatter instead of replacing"),supportingFiles:z$1.record(z$1.string(),z$1.union([z$1.string(),z$1.null()])).optional().describe("Map of path \u2192 content (string=write, null=delete, absent=keep)"),dry_run:z$1.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>Ta.update(t,e),"handler")},{name:"delete_skill",description:"Delete a skill",inputSchema:z$1.object({name:z$1.string(),dry_run:z$1.boolean().optional()}),handler:s((t,e)=>Ta.delete(t,e),"handler")}];async function $M(t){if(t.filename!==void 0&&t.filename!=="agentsmesh.yaml")throw new B("PATH_TRAVERSAL","only agentsmesh.yaml is writable");if(Buffer.byteLength(t.content,"utf8")>1048576)throw new B("LIMIT_EXCEEDED","config exceeds 1 MiB cap");let e=resolve(t.projectRoot,"agentsmesh.yaml"),r=`${e}.tmp.${process.pid}.${Date.now()}`;return await writeFile(r,t.content,"utf8"),await rename(r,e),e}s($M,"safeConfigWrite");gn();Cl();async function Xm(t){try{return parse(await readFile(t,"utf8"))}catch(e){if(e.code==="ENOENT")return null;throw new B("IO_ERROR","failed to read yaml")}}s(Xm,"readYaml");async function pl(t,e){if(Buffer.byteLength(e,"utf8")>1048576)throw new B("LIMIT_EXCEEDED","file exceeds 1 MiB cap");let r=`${t}.tmp.${process.pid}.${Date.now()}`;await writeFile(r,e,"utf8"),await rename(r,t);}s(pl,"atomicWrite");var We={async getConfig(t){let e=await Xm(resolve(t.projectRoot,"agentsmesh.yaml"));if(e===null)throw new B("NO_PROJECT","agentsmesh.yaml missing");return e},async listMcpServers(t){let e=resolve(t.projectRoot,".agentsmesh/mcp.json");try{return {servers:(await br(e))?.mcpServers??null}}catch{return {servers:null}}},async getPermissions(t){return await Xm(resolve(t.projectRoot,".agentsmesh/permissions.yaml"))??null},async getHooks(t){return await Xm(resolve(t.projectRoot,".agentsmesh/hooks.yaml"))??null},async getIgnore(t){try{return {patterns:(await readFile(resolve(t.projectRoot,".agentsmesh/ignore"),"utf8")).split(/\r?\n/).filter(r=>r!==""&&!r.startsWith("#"))}}catch{return {patterns:null}}},async updateConfig(t,e){let r=await Xm(resolve(t.projectRoot,"agentsmesh.yaml"))??{},o={...r},n=s((l,m)=>{m!==void 0&&(o[l]=e.merge===true&&Array.isArray(r[l])?Array.from(new Set([...r[l],...m])):m);},"apply");n("targets",e.targets),n("features",e.features),e.conversions!==void 0&&(o.conversions=e.merge===true&&r.conversions!==void 0?{...r.conversions,...e.conversions}:e.conversions);let i=gi.safeParse(o);if(!i.success)throw new B("VALIDATION_FAILED","invalid config",i.error.issues);let a=stringify(o);return e.dry_run===true?{path:resolve(t.projectRoot,"agentsmesh.yaml"),written:false}:{path:await $M({projectRoot:t.projectRoot,content:a,filename:e.filename}),written:true}},async addMcpServer(t,e){let r=resolve(t.projectRoot,".agentsmesh/mcp.json"),o=await br(r).catch(()=>null)??{mcpServers:{}};if(o.mcpServers[e.name]!==void 0)throw new B("ALREADY_EXISTS",`server "${e.name}" exists`);return o.mcpServers[e.name]=e.server,e.dry_run===true?{path:r,written:false}:(await pl(r,JSON.stringify(o,null,2)+`
562
+ `),{path:r,written:true})},async updateMcpServer(t,e){let r=resolve(t.projectRoot,".agentsmesh/mcp.json"),o=await br(r).catch(()=>null);if(o===null||o.mcpServers[e.name]===void 0)throw new B("NOT_FOUND",`server "${e.name}" not found`);return o.mcpServers[e.name]=e.merge===true?{...o.mcpServers[e.name],...e.server}:e.server,e.dry_run===true?{path:r,written:false}:(await pl(r,JSON.stringify(o,null,2)+`
563
+ `),{path:r,written:true})},async removeMcpServer(t,e){let r=resolve(t.projectRoot,".agentsmesh/mcp.json"),o=await br(r).catch(()=>null);if(o===null||o.mcpServers[e.name]===void 0)throw new B("NOT_FOUND",`server "${e.name}" not found`);return delete o.mcpServers[e.name],e.dry_run===true?{path:r,removed:false}:(await pl(r,JSON.stringify(o,null,2)+`
564
+ `),{path:r,removed:true})},async updatePermissions(t,e){let r=resolve(t.projectRoot,".agentsmesh/permissions.yaml"),o=await Xm(r)??{allow:[],deny:[],ask:[]},n={...o},i=s((a,c)=>{c!==void 0&&(n[a]=e.mode==="append"?Array.from(new Set([...o[a]??[],...c])):c);},"apply");return i("allow",e.allow),i("deny",e.deny),i("ask",e.ask),e.dry_run===true?{path:r,written:false}:(await pl(r,stringify(n)),{path:r,written:true})},async updateHooks(t,e){let r=resolve(t.projectRoot,".agentsmesh/hooks.yaml");return e.dry_run===true?{path:r,written:false}:(await pl(r,stringify(e.hooks)),{path:r,written:true})},async updateIgnore(t,e){let r=resolve(t.projectRoot,".agentsmesh/ignore"),o;if(e.mode==="append"){let n=(await readFile(r,"utf8").catch(()=>"")).split(/\r?\n/).filter(Boolean);o=Array.from(new Set([...n,...e.patterns]));}else o=e.patterns;return e.dry_run===true?{path:r,written:false}:(await pl(r,o.join(`
551
565
  `)+`
552
- `),{path:r,written:true})}};var $B=/[;&|`$<>!\\\r\n]/u,GB=/^[A-Za-z_][A-Za-z0-9_]*$/u,jB=/^[A-Za-z][A-Za-z0-9_-]*$/u,UB=/^[A-Za-z][A-Za-z0-9_-]*(\([^)]*\))?$/u,wT=/[\r\n]/u;function WB(t){return z$1.string().min(1).max(512).refine(e=>!$B.test(e),{message:`${t} must not contain shell metacharacters (;&|\`$<>!\\\\, newlines)`})}s(WB,"noShellMeta");var Ey=z$1.object({type:z$1.enum(["stdio","sse","http","streamable-http","streamable_http"]).optional(),description:z$1.string().max(1024).optional(),command:WB("command").optional(),args:z$1.array(z$1.string().max(2048)).max(100).optional(),env:z$1.record(z$1.string().regex(GB,"env key must be a valid identifier"),z$1.string().max(8192)).optional(),url:z$1.string().url().max(2048).refine(t=>/^https?:\/\//u.test(t),{message:"url must use http(s) protocol"}).optional(),headers:z$1.record(z$1.string().regex(jB,"header name must be a valid identifier"),z$1.string().max(8192)).optional(),cwd:z$1.string().max(2048).optional(),disabled:z$1.boolean().optional(),timeout:z$1.number().int().nonnegative().max(36e5).optional()}).strict(),KB=z$1.object({type:z$1.enum(["command","prompt"]).optional(),command:z$1.string().min(1).max(8192).optional(),prompt:z$1.string().min(1).max(8192).optional(),timeout:z$1.number().int().nonnegative().max(36e5).optional()}).strict().refine(t=>(t.command??"").length>0||(t.prompt??"").length>0,{message:"hook entry must define command or prompt"}),LT=z$1.string().max(256).refine(t=>!wT.test(t),{message:"hook matcher must not contain newlines"}),BB=z$1.object({matcher:LT,type:z$1.enum(["command","prompt"]).optional(),command:z$1.string().min(1).max(8192).optional(),prompt:z$1.string().min(1).max(8192).optional(),timeout:z$1.number().int().nonnegative().max(36e5).optional()}).strict().refine(t=>(t.command??"").length>0||(t.prompt??"").length>0,{message:"hook entry must define command or prompt"}),HB=z$1.object({matcher:LT,hooks:z$1.array(KB).min(1).max(50)}).strict(),zB=z$1.union([BB,HB]),bT=z$1.record(z$1.string().min(1).max(64),z$1.array(zB).max(100)),VB=z$1.string().min(1).max(256).refine(t=>!wT.test(t),{message:"permission pattern must not contain newlines"}).refine(t=>UB.test(t),{message:"permission pattern must match Tool or Tool(matcher) form"}),ou=z$1.array(VB).max(500);var il=z$1.object({}).strict(),JB=[{name:"get_config",description:"Read agentsmesh.yaml",inputSchema:il,handler:s(t=>ke.getConfig(t),"handler"),resourceUri:"agentsmesh://config"},{name:"list_mcp_servers",description:"List MCP servers in canonical mcp.json",inputSchema:il,handler:s(t=>ke.listMcpServers(t),"handler"),resourceUri:"agentsmesh://canonical/mcp"},{name:"get_permissions",description:"Read permissions.yaml",inputSchema:il,handler:s(t=>ke.getPermissions(t),"handler"),resourceUri:"agentsmesh://canonical/permissions"},{name:"get_hooks",description:"Read hooks.yaml",inputSchema:il,handler:s(t=>ke.getHooks(t),"handler"),resourceUri:"agentsmesh://canonical/hooks"},{name:"get_ignore",description:"Read ignore patterns",inputSchema:il,handler:s(t=>ke.getIgnore(t),"handler"),resourceUri:"agentsmesh://canonical/ignore"}],YB=[{name:"update_config",description:"Update agentsmesh.yaml. Default: replace listed fields. Set merge=true to union arrays and shallow-merge objects. Only writes agentsmesh.yaml, never agentsmesh.local.yaml.",inputSchema:z$1.object({targets:z$1.array(z$1.string()).optional().describe('Target tool IDs (e.g. ["claude-code", "cursor"])'),features:z$1.array(z$1.string()).optional().describe('Feature names (e.g. ["rules", "commands", "mcp"])'),conversions:z$1.record(z$1.string(),z$1.unknown()).optional().describe("Conversion overrides"),merge:z$1.boolean().optional().describe("If true, union arrays and shallow-merge objects instead of replacing"),dry_run:z$1.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>ke.updateConfig(t,e),"handler")},{name:"add_mcp_server",description:"Add an MCP server entry to .agentsmesh/mcp.json. Fails if name already exists.",inputSchema:z$1.object({name:z$1.string().describe('Server name (e.g. "github", "filesystem")'),server:Ey.describe('Server config (e.g. { type: "stdio", command: "npx", args: [...], env: {...} })'),dry_run:z$1.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>ke.addMcpServer(t,e),"handler")},{name:"update_mcp_server",description:"Update an MCP server entry (replace or merge)",inputSchema:z$1.object({name:z$1.string(),server:Ey,merge:z$1.boolean().optional(),dry_run:z$1.boolean().optional()}),handler:s((t,e)=>ke.updateMcpServer(t,e),"handler")},{name:"remove_mcp_server",description:"Remove an MCP server entry",inputSchema:z$1.object({name:z$1.string(),dry_run:z$1.boolean().optional()}),handler:s((t,e)=>ke.removeMcpServer(t,e),"handler")},{name:"update_permissions",description:"Update permissions.yaml. mode=replace (default) overwrites listed fields; mode=append unions and dedups.",inputSchema:z$1.object({allow:ou.optional().describe('Allowed tool patterns (e.g. ["Bash(npm run:*)"])'),deny:ou.optional().describe("Denied tool patterns"),ask:ou.optional().describe("Tools requiring confirmation"),mode:z$1.enum(["replace","append"]).optional().describe("replace=overwrite, append=union+dedup (default: replace)"),dry_run:z$1.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>ke.updatePermissions(t,e),"handler")},{name:"update_hooks",description:"Replace hooks.yaml content entirely. Read current hooks with get_hooks, modify, then write back.",inputSchema:z$1.object({hooks:bT.describe("Full hooks structure (e.g. { PreToolUse: [...], PostToolUse: [...] })"),dry_run:z$1.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>ke.updateHooks(t,e),"handler")},{name:"update_ignore",description:"Update .agentsmesh/ignore patterns. mode=replace (default) overwrites; mode=append adds new patterns.",inputSchema:z$1.object({patterns:z$1.array(z$1.string()).describe('Gitignore-syntax patterns (e.g. ["node_modules/", "dist/", ".env*"])'),mode:z$1.enum(["replace","append"]).optional().describe("replace=overwrite, append=add (default: replace)"),dry_run:z$1.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>ke.updateIgnore(t,e),"handler")}],AT=[...JB,...YB];yh();Xe();function XB(){return Object.fromEntries(lt.map(t=>[t,Object.fromEntries(Object.entries(QA).map(([e,r])=>[e,r[t]]))]))}s(XB,"buildTargetIndex");var xT=XB(),ky={async list(){return xT},async get(t){let e=xT[t.targetId];if(e===void 0)throw new $("NOT_FOUND",`unknown target: ${t.targetId}`);return {targetId:t.targetId,capabilities:e}}};dn();dn();pl();de();ln();Qn();Ce();Xe();async function wy(t,e){let r=et(t);if(!r)throw new br(t,{supported:[...lt,...cp().map(n=>n.id)]});return r.generators.importFrom(e.root,{scope:e.scope??"project"})}s(wy,"importFrom");async function Oa(t,e={}){let r=e.scope??"project",{config:n,context:o}=await ut(t,r);await qt(n,t);let{canonical:i}=await se(n,o.configDir,{refreshRemoteCache:e.refreshRemoteCache===true},o.canonicalDir);return {config:n,canonical:i,projectRoot:o.rootBase,scope:r,configDir:o.configDir,canonicalDir:o.canonicalDir}}s(Oa,"loadProjectContext");async function Ly(t){let e=t.targetFilter?[...t.targetFilter]:void 0;return Gp(t.config,t.canonical,t.projectRoot,e,{scope:t.scope})}s(Ly,"lint");async function by(t){let e=await He(t);return {...Mp(e),results:e}}s(by,"diff");async function Ay(t){return jp(t)}s(Ay,"check");dn();ln();Qo();pl();gt();Ce();Ut();b();function Ho(t){if(t instanceof $)throw t;if(t instanceof br)throw new $("VALIDATION_FAILED",t.message);let e=t instanceof Error?t.message:String(t);throw /unknown.*--from|unknown.*--to|unknown target/i.test(e)?new $("VALIDATION_FAILED",e):/lock/i.test(e)?new $("LOCK_HELD","generate lock is held"):new $("IO_ERROR","engine failure",{reason:e})}s(Ho,"wrapEngineError");async function PT(t,e){if(e.dry_run===true)throw new $("VALIDATION_FAILED","dry_run is not supported for import \u2014 the engine writes files directly. Use diff to preview changes instead.");try{let r=await wy(e.from,{root:t.projectRoot,scope:"project"});return {imported:r.length,files:r.map(n=>({fromPath:n.fromPath,toPath:n.toPath,feature:n.feature})),warnings:[],errors:[]}}catch(r){if(r instanceof br)throw new $("VALIDATION_FAILED",`unknown target "${e.from}"`);let n=r instanceof Error?r.message:String(r);if(/unknown target|invalid target|not found/i.test(n))throw new $("VALIDATION_FAILED",n);Ho(r);}}s(PT,"importFromTarget");async function TT(t,e){try{let r={from:e.from,to:e.to,"dry-run":e.dry_run===!0},n=await Zp(r,t.projectRoot);return {filesAffected:n.data.summary.created+n.data.summary.updated,dryRun:e.dry_run===!0,warnings:[],errors:[]}}catch(r){let n=r instanceof Error?r.message:String(r);if(/unknown.*--from|unknown.*--to|unknown target/i.test(n))throw new $("VALIDATION_FAILED",n);Ho(r);}}s(TT,"convert");async function tH(t,e){try{let r=await Oa(t.projectRoot),n=e.targets&&e.targets.length>0?e.targets:void 0,i=(await He({config:r.config,canonical:r.canonical,projectRoot:r.projectRoot,scope:r.scope,targetFilter:n})).filter(m=>m.status!=="skipped"),a=i.filter(m=>m.status==="created"||m.status==="updated");if(!e.dry_run)for(let m of a){let p=ua(r.projectRoot,m.path,m.target);await C(p,m.content);}let c={};for(let m of a){let p=c[m.target]??{filesWritten:0};c[m.target]={filesWritten:p.filesWritten+1};}let l={filesWritten:a.length,byTarget:c,lockfileUpdated:!e.dry_run&&a.length>=0,errors:[],warnings:[]};return e.verbose===!0&&(l.files=i.map(m=>m.path)),l}catch(r){Ho(r);}}s(tH,"generate");async function eH(t,e){try{let r=await Oa(t.projectRoot),n=await Ly({config:r.config,canonical:r.canonical,projectRoot:r.projectRoot,scope:r.scope});return {issues:(e.severity?n.diagnostics.filter(i=>i.level===e.severity):n.diagnostics).map(i=>({level:i.level,file:i.file,target:i.target,message:i.message}))}}catch(r){Ho(r);}}s(eH,"lint");async function rH(t){try{let e=await Oa(t.projectRoot),r=await Ay({config:e.config,configDir:e.configDir,canonicalDir:e.canonicalDir});return {drift:!r.inSync,missing:[...r.removed],extra:[...r.added],modified:[...r.modified]}}catch(e){Ho(e);}}s(rH,"check");async function nH(t,e){try{let r=await Oa(t.projectRoot),n=e.targets&&e.targets.length>0?e.targets:void 0,o=await by({config:r.config,canonical:r.canonical,projectRoot:r.projectRoot,scope:r.scope,targetFilter:n});return {willCreate:o.summary.new,willModify:o.summary.updated,willDelete:o.summary.deleted}}catch(r){Ho(r);}}s(nH,"diff");var qs={generate:tH,lint:eH,check:rH,diff:nH,import:PT,convert:TT};var DT=z$1.object({}).strict(),NT=[{name:"list_target_capabilities",description:"List support matrix for all targets",inputSchema:DT,handler:s(()=>ky.list(),"handler"),resourceUri:"agentsmesh://capabilities"},{name:"get_target_capabilities",description:"Get feature support levels for a specific target (e.g. which features are native, mapped, or unsupported)",inputSchema:z$1.object({targetId:z$1.string().describe('Target tool ID (e.g. "claude-code", "cursor")')}),handler:s((t,e)=>ky.get(e),"handler"),resourceUri:"agentsmesh://capabilities/{targetId}"},{name:"generate",description:"Generate target-native config files from canonical .agentsmesh/ content. Propagates rules, commands, agents, skills, MCP, hooks, ignore, and permissions to all configured targets.",inputSchema:z$1.object({targets:z$1.array(z$1.string()).optional().describe("Filter to specific targets (default: all from agentsmesh.yaml)"),features:z$1.array(z$1.string()).optional().describe("Filter to specific features"),verbose:z$1.boolean().optional().describe("Include full file list in response"),dry_run:z$1.boolean().optional().describe("Preview without writing files")}),handler:s((t,e)=>qs.generate(t,e),"handler")},{name:"lint",description:"Lint canonical .agentsmesh/ files for schema errors, missing frontmatter, and other issues",inputSchema:z$1.object({severity:z$1.enum(["error","warning","info"]).optional().describe("Filter results by minimum severity")}),handler:s((t,e)=>qs.lint(t,e),"handler")},{name:"check",description:"Detect drift between canonical and lockfile",inputSchema:DT,handler:s(t=>qs.check(t),"handler")},{name:"diff",description:"Preview what generate would create, modify, or delete without writing",inputSchema:z$1.object({targets:z$1.array(z$1.string()).optional().describe("Filter to specific targets"),features:z$1.array(z$1.string()).optional().describe("Filter to specific features")}),handler:s((t,e)=>qs.diff(t,e),"handler")},{name:"import",description:"Import another tool's native config into canonical .agentsmesh/. Note: dry_run is not supported (the engine writes directly).",inputSchema:z$1.object({from:z$1.string().describe('Source target ID to import from (e.g. "cursor", "claude-code")'),features:z$1.array(z$1.string()).optional().describe("Restrict import to specific features"),dry_run:z$1.boolean().optional().describe("NOT SUPPORTED \u2014 will throw VALIDATION_FAILED. Use diff instead.")}),handler:s((t,e)=>qs.import(t,e),"handler")},{name:"convert",description:"Convert config directly from one tool to another (e.g. Cursor \u2192 Claude Code) without creating canonical .agentsmesh/ files",inputSchema:z$1.object({from:z$1.string().describe('Source target ID (e.g. "cursor")'),to:z$1.string().describe('Destination target ID (e.g. "claude-code")'),dry_run:z$1.boolean().optional().describe("Preview conversion without writing files")}),handler:s((t,e)=>qs.convert(t,e),"handler")}];function FT(t){let e=toJSONSchema(t,{target:"draft-07"});return delete e.$schema,e}s(FT,"zodToMcpSchema");var su=[...fT,...RT,...AT,...NT],xy=su.filter(t=>t.resourceUri!==void 0).map(t=>({uri:t.resourceUri,name:t.name,description:t.description,read:s((e,r)=>t.handler(e,r),"read")}));Qo();async function aH(t){let e=resolve(t);for(;;){try{return await stat(resolve(e,"agentsmesh.yaml")),e}catch{}let r=dirname(e);if(r===e)throw new $("NO_PROJECT","agentsmesh.yaml not found");e=r;}}s(aH,"findProjectRoot");async function Py(t){let e=await aH(t.cwd);return {projectRoot:e,loadCanonical:s(()=>ge(e),"loadCanonical")}}s(Py,"resolveContext");async function yH(){let t=dirname(fileURLToPath(import.meta.url));for(let e of [resolve(t,"../../package.json"),resolve(t,"../package.json"),resolve(t,"../../../package.json")])try{let r=JSON.parse(await readFile(e,"utf8"));if(r.name==="agentsmesh")return r.version}catch{}return "0.0.0"}s(yH,"pkgVersion");function _H(t,e){return new RegExp("^"+t.replace(/\{[^}]+\}/g,"([^/]+)")+"$").test(e)}s(_H,"matchTemplate");function IH(t,e){let r=[...t.matchAll(/\{([^}]+)\}/g)].map(i=>i[1]),o=new RegExp("^"+t.replace(/\{[^}]+\}/g,"([^/]+)")+"$").exec(e);return o?Object.fromEntries(r.map((i,a)=>[i,o[a+1]])):{}}s(IH,"extractTemplateParams");async function MT(){let t=new Server({name:"agentsmesh-mcp",version:await yH()},{capabilities:{tools:{},resources:{}}});t.setRequestHandler(ListToolsRequestSchema,async()=>({tools:su.map(e=>({name:e.name,description:e.description,inputSchema:FT(e.inputSchema)}))})),t.setRequestHandler(CallToolRequestSchema,async e=>{let r=su.find(n=>n.name===e.params.name);if(!r)return {isError:true,content:[{type:"text",text:JSON.stringify({code:"NOT_FOUND",message:`unknown tool: ${e.params.name}`})}]};try{let n=r.inputSchema.safeParse(e.params.arguments??{});if(!n.success)throw new $("VALIDATION_FAILED","invalid input",n.error.issues);let o=await Py({cwd:process.cwd()}),i=await r.handler(o,n.data);return {content:[{type:"text",text:JSON.stringify(i)}]}}catch(n){let o=n instanceof $?n.toEnvelope():{code:"IO_ERROR",message:cT(n instanceof Error?n.message:"unknown error")};return {isError:true,content:[{type:"text",text:JSON.stringify(o)}]}}}),t.setRequestHandler(ListResourcesRequestSchema,async()=>({resources:xy.map(e=>({uri:e.uri,name:e.name,description:e.description}))})),t.setRequestHandler(ReadResourceRequestSchema,async e=>{let r=xy.find(a=>a.uri===e.params.uri||_H(a.uri,e.params.uri));if(!r)throw new $("NOT_FOUND",`resource not found: ${e.params.uri}`);let n=await Py({cwd:process.cwd()}),o=IH(r.uri,e.params.uri),i=await r.read(n,o);return {contents:[{uri:e.params.uri,mimeType:"application/json",text:JSON.stringify(i)}]}}),await t.connect(new StdioServerTransport);}s(MT,"startServer");st();async function $T(t,e){$y(),await MT();}s($T,"runMcp");var GT={generate:s(async(t,e)=>{let r=await da(t,void 0,{printMatrix:t.json!==true});ue("generate",r,t,()=>fa(r));},"generate"),init:s(async(t,e)=>{let r=await gx(process.cwd(),{yes:t.yes===true,global:t.global===true});ue("init",r,t,()=>hx(r));},"init"),import:s(async(t,e)=>{let r=await _x(t);ue("import",r,t,()=>bx(r));},"import"),diff:s(async(t,e)=>{let r=await Sx(t);ue("diff",r,t,()=>Ax(r));},"diff"),lint:s(async(t,e)=>{let r=await kx(t);ue("lint",r,t,()=>wx(r));},"lint"),check:s(async(t,e)=>{let r=await Dx(t);ue("check",r,t,()=>Lx(r));},"check"),merge:s(async(t,e)=>{let r=await vx(t);ue("merge",r,t,()=>xx(r));},"merge"),matrix:s(async(t,e)=>{let r=await Bc(t);ue("matrix",r,t,()=>zc(r,{verbose:t.verbose===true}));},"matrix"),watch:s(async(t,e)=>{if(t.json===true){ei("watch",{success:false,error:"--json is not supported with watch"}),process.exit(1);return}let r=await Tx(t),n=s(()=>{r.stop().then(()=>process.exit(0));},"stop");process.on("SIGINT",n),process.on("SIGTERM",n);},"watch"),install:s(async(t,e)=>{t.json===true&&(t.force=true);let r=await BP(t,e,process.cwd());ue("install",r,t,()=>HP(r));},"install"),plugin:s(async(t,e)=>{let r=await YP(t,e,process.cwd());ue("plugin",r,t,()=>XP(r));},"plugin"),target:s(async(t,e)=>{let r=await sT(t,e,process.cwd());ue("target",r,t,()=>iT(r));},"target"),convert:s(async(t,e)=>{let r=await Zp(t);ue("convert",r,t,()=>aT(r));},"convert"),mcp:s(async(t,e)=>{await $T();},"mcp")};function RH(t){let e={},r=[],n="help";for(let o=0;o<t.length;o++){let i=t[o];if(n==="help"&&i==="--version")return {command:"version",flags:{},args:[]};if(n==="help"&&i==="--help")return {command:"help",flags:{},args:[]};if(i.startsWith("--")){let a=i.slice(2),c=t[o+1];c===void 0||c.startsWith("--")?e[a]=true:(e[a]=c,o++);continue}n==="help"?n=i:r.push(i);}return {command:n,flags:e,args:r}}s(RH,"parseArgs");var OH=Fy(GT);async function EH(t){let{command:e,flags:r,args:n}=t;if(e==="help"){Wy();return}if(e==="version"){By();return}r.json===true&&My(),await OH.route(e,r,n);}s(EH,"main");function kH(){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")}}s(kH,"isMainModule");if(kH()){let t=RH(process.argv.slice(2));EH(t).catch(e=>Hy(e instanceof Error?e:new Error(String(e)),{verbose:t.flags.verbose===true,json:t.flags.json===true,command:t.command}));}
553
- export{RH as parseArgs};
566
+ `),{path:r,written:true})}};var d2=/[;&|`$<>!\\\r\n]/u,g2=/^[A-Za-z_][A-Za-z0-9_]*$/u,f2=/^[A-Za-z][A-Za-z0-9_-]*$/u,h2=/^[A-Za-z][A-Za-z0-9_-]*(\([^)]*\))?$/u,KM=/[\r\n]/u;function y2(t){return z$1.string().min(1).max(512).refine(e=>!d2.test(e),{message:`${t} must not contain shell metacharacters (;&|\`$<>!\\\\, newlines)`})}s(y2,"noShellMeta");var lR=z$1.object({type:z$1.enum(["stdio","sse","http","streamable-http","streamable_http"]).optional(),description:z$1.string().max(1024).optional(),command:y2("command").optional(),args:z$1.array(z$1.string().max(2048)).max(100).optional(),env:z$1.record(z$1.string().regex(g2,"env key must be a valid identifier"),z$1.string().max(8192)).optional(),url:z$1.string().url().max(2048).refine(t=>/^https?:\/\//u.test(t),{message:"url must use http(s) protocol"}).optional(),headers:z$1.record(z$1.string().regex(f2,"header name must be a valid identifier"),z$1.string().max(8192)).optional(),cwd:z$1.string().max(2048).optional(),disabled:z$1.boolean().optional(),timeout:z$1.number().int().nonnegative().max(36e5).optional()}).strict(),_2=z$1.object({type:z$1.enum(["command","prompt"]).optional(),command:z$1.string().min(1).max(8192).optional(),prompt:z$1.string().min(1).max(8192).optional(),timeout:z$1.number().int().nonnegative().max(36e5).optional()}).strict().refine(t=>(t.command??"").length>0||(t.prompt??"").length>0,{message:"hook entry must define command or prompt"}),BM=z$1.string().max(256).refine(t=>!KM.test(t),{message:"hook matcher must not contain newlines"}),I2=z$1.object({matcher:BM,type:z$1.enum(["command","prompt"]).optional(),command:z$1.string().min(1).max(8192).optional(),prompt:z$1.string().min(1).max(8192).optional(),timeout:z$1.number().int().nonnegative().max(36e5).optional()}).strict().refine(t=>(t.command??"").length>0||(t.prompt??"").length>0,{message:"hook entry must define command or prompt"}),R2=z$1.object({matcher:BM,hooks:z$1.array(_2).min(1).max(50)}).strict(),S2=z$1.union([I2,R2]),WM=z$1.record(z$1.string().min(1).max(64),z$1.array(S2).max(100)),C2=z$1.string().min(1).max(256).refine(t=>!KM.test(t),{message:"permission pattern must not contain newlines"}).refine(t=>h2.test(t),{message:"permission pattern must match Tool or Tool(matcher) form"}),ug=z$1.array(C2).max(500);var Zm=z$1.object({}).strict(),E2=[{name:"get_config",description:"Read agentsmesh.yaml",inputSchema:Zm,handler:s(t=>We.getConfig(t),"handler"),resourceUri:"agentsmesh://config"},{name:"list_mcp_servers",description:"List MCP servers in canonical mcp.json",inputSchema:Zm,handler:s(t=>We.listMcpServers(t),"handler"),resourceUri:"agentsmesh://canonical/mcp"},{name:"get_permissions",description:"Read permissions.yaml",inputSchema:Zm,handler:s(t=>We.getPermissions(t),"handler"),resourceUri:"agentsmesh://canonical/permissions"},{name:"get_hooks",description:"Read hooks.yaml",inputSchema:Zm,handler:s(t=>We.getHooks(t),"handler"),resourceUri:"agentsmesh://canonical/hooks"},{name:"get_ignore",description:"Read ignore patterns",inputSchema:Zm,handler:s(t=>We.getIgnore(t),"handler"),resourceUri:"agentsmesh://canonical/ignore"}],O2=[{name:"update_config",description:"Update agentsmesh.yaml. Default: replace listed fields. Set merge=true to union arrays and shallow-merge objects. Only writes agentsmesh.yaml, never agentsmesh.local.yaml.",inputSchema:z$1.object({targets:z$1.array(z$1.string()).optional().describe('Target tool IDs (e.g. ["claude-code", "cursor"])'),features:z$1.array(z$1.string()).optional().describe('Feature names (e.g. ["rules", "commands", "mcp"])'),conversions:z$1.record(z$1.string(),z$1.unknown()).optional().describe("Conversion overrides"),merge:z$1.boolean().optional().describe("If true, union arrays and shallow-merge objects instead of replacing"),dry_run:z$1.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>We.updateConfig(t,e),"handler")},{name:"add_mcp_server",description:"Add an MCP server entry to .agentsmesh/mcp.json. Fails if name already exists.",inputSchema:z$1.object({name:z$1.string().describe('Server name (e.g. "github", "filesystem")'),server:lR.describe('Server config (e.g. { type: "stdio", command: "npx", args: [...], env: {...} })'),dry_run:z$1.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>We.addMcpServer(t,e),"handler")},{name:"update_mcp_server",description:"Update an MCP server entry (replace or merge)",inputSchema:z$1.object({name:z$1.string(),server:lR,merge:z$1.boolean().optional(),dry_run:z$1.boolean().optional()}),handler:s((t,e)=>We.updateMcpServer(t,e),"handler")},{name:"remove_mcp_server",description:"Remove an MCP server entry",inputSchema:z$1.object({name:z$1.string(),dry_run:z$1.boolean().optional()}),handler:s((t,e)=>We.removeMcpServer(t,e),"handler")},{name:"update_permissions",description:"Update permissions.yaml. mode=replace (default) overwrites listed fields; mode=append unions and dedups.",inputSchema:z$1.object({allow:ug.optional().describe('Allowed tool patterns (e.g. ["Bash(npm run:*)"])'),deny:ug.optional().describe("Denied tool patterns"),ask:ug.optional().describe("Tools requiring confirmation"),mode:z$1.enum(["replace","append"]).optional().describe("replace=overwrite, append=union+dedup (default: replace)"),dry_run:z$1.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>We.updatePermissions(t,e),"handler")},{name:"update_hooks",description:"Replace hooks.yaml content entirely. Read current hooks with get_hooks, modify, then write back.",inputSchema:z$1.object({hooks:WM.describe("Full hooks structure (e.g. { PreToolUse: [...], PostToolUse: [...] })"),dry_run:z$1.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>We.updateHooks(t,e),"handler")},{name:"update_ignore",description:"Update .agentsmesh/ignore patterns. mode=replace (default) overwrites; mode=append adds new patterns.",inputSchema:z$1.object({patterns:z$1.array(z$1.string()).describe('Gitignore-syntax patterns (e.g. ["node_modules/", "dist/", ".env*"])'),mode:z$1.enum(["replace","append"]).optional().describe("replace=overwrite, append=add (default: replace)"),dry_run:z$1.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>We.updateIgnore(t,e),"handler")}],HM=[...E2,...O2];rI();uo();function L2(){return Object.fromEntries(kt.map(t=>[t,Object.fromEntries(Object.entries(fv).map(([e,r])=>[e,r[t]]))]))}s(L2,"buildTargetIndex");var zM=L2(),mR={async list(){return zM},async get(t){let e=zM[t.targetId];if(e===void 0)throw new B("NOT_FOUND",`unknown target: ${t.targetId}`);return {targetId:t.targetId,capabilities:e}}};dn();dn();rp();Oe();ln();ds();je();uo();async function pR(t,e){let r=ut(t);if(!r)throw new po(t,{supported:[...kt,...Id().map(o=>o.id)]});return r.generators.importFrom(e.root,{scope:e.scope??"project"})}s(pR,"importFrom");async function ul(t,e={}){let r=e.scope??"project",{config:o,context:n}=await Tt(t,r);await le(o,t);let{canonical:i}=await he(o,n.configDir,{refreshRemoteCache:e.refreshRemoteCache===true},n.canonicalDir);return {config:o,canonical:i,projectRoot:n.rootBase,scope:r,configDir:n.configDir,canonicalDir:n.canonicalDir}}s(ul,"loadProjectContext");async function uR(t){let e=t.targetFilter?[...t.targetFilter]:void 0;return Vd(t.config,t.canonical,t.projectRoot,e,{scope:t.scope})}s(uR,"lint");async function dR(t){let e=await Lr(t);return {...Hd(e),results:e}}s(dR,"diff");async function gR(t){return Jd(t)}s(gR,"check");dn();ln();Ri();rp();xt();je();Ct();T();function ui(t){if(t instanceof B)throw t;if(t instanceof po)throw new B("VALIDATION_FAILED",t.message);let e=t instanceof Error?t.message:String(t);throw /unknown.*--from|unknown.*--to|unknown target/i.test(e)?new B("VALIDATION_FAILED",e):/lock/i.test(e)?new B("LOCK_HELD","generate lock is held"):new B("IO_ERROR","engine failure",{reason:e})}s(ui,"wrapEngineError");async function VM(t,e){if(e.dry_run===true)throw new B("VALIDATION_FAILED","dry_run is not supported for import \u2014 the engine writes files directly. Use diff to preview changes instead.");try{let r=await pR(e.from,{root:t.projectRoot,scope:"project"});return {imported:r.length,files:r.map(o=>({fromPath:o.fromPath,toPath:o.toPath,feature:o.feature})),warnings:[],errors:[]}}catch(r){if(r instanceof po)throw new B("VALIDATION_FAILED",`unknown target "${e.from}"`);let o=r instanceof Error?r.message:String(r);if(/unknown target|invalid target|not found/i.test(o))throw new B("VALIDATION_FAILED",o);ui(r);}}s(VM,"importFromTarget");async function JM(t,e){try{let r={from:e.from,to:e.to,"dry-run":e.dry_run===!0},o=await sg(r,t.projectRoot);return {filesAffected:o.data.summary.created+o.data.summary.updated,dryRun:e.dry_run===!0,warnings:[],errors:[]}}catch(r){let o=r instanceof Error?r.message:String(r);if(/unknown.*--from|unknown.*--to|unknown target/i.test(o))throw new B("VALIDATION_FAILED",o);ui(r);}}s(JM,"convert");async function T2(t,e){try{let r=await ul(t.projectRoot),o=e.targets&&e.targets.length>0?e.targets:void 0,i=(await Lr({config:r.config,canonical:r.canonical,projectRoot:r.projectRoot,scope:r.scope,targetFilter:o})).filter(m=>m.status!=="skipped"),a=i.filter(m=>m.status==="created"||m.status==="updated");if(!e.dry_run)for(let m of a){let p=el(r.projectRoot,m.path,m.target);await _(p,m.content);}let c={};for(let m of a){let p=c[m.target]??{filesWritten:0};c[m.target]={filesWritten:p.filesWritten+1};}let l={filesWritten:a.length,byTarget:c,lockfileUpdated:!e.dry_run&&a.length>=0,errors:[],warnings:[]};return e.verbose===!0&&(l.files=i.map(m=>m.path)),l}catch(r){ui(r);}}s(T2,"generate");async function b2(t,e){try{let r=await ul(t.projectRoot),o=await uR({config:r.config,canonical:r.canonical,projectRoot:r.projectRoot,scope:r.scope});return {issues:(e.severity?o.diagnostics.filter(i=>i.level===e.severity):o.diagnostics).map(i=>({level:i.level,file:i.file,target:i.target,message:i.message}))}}catch(r){ui(r);}}s(b2,"lint");async function P2(t){try{let e=await ul(t.projectRoot),r=await gR({config:e.config,configDir:e.configDir,canonicalDir:e.canonicalDir});return {drift:!r.inSync,missing:[...r.removed],extra:[...r.added],modified:[...r.modified]}}catch(e){ui(e);}}s(P2,"check");async function x2(t,e){try{let r=await ul(t.projectRoot),o=e.targets&&e.targets.length>0?e.targets:void 0,n=await dR({config:r.config,canonical:r.canonical,projectRoot:r.projectRoot,scope:r.scope,targetFilter:o});return {willCreate:n.summary.new,willModify:n.summary.updated,willDelete:n.summary.deleted}}catch(r){ui(r);}}s(x2,"diff");var ba={generate:T2,lint:b2,check:P2,diff:x2,import:VM,convert:JM};var YM=z$1.object({}).strict(),XM=[{name:"list_target_capabilities",description:"List support matrix for all targets",inputSchema:YM,handler:s(()=>mR.list(),"handler"),resourceUri:"agentsmesh://capabilities"},{name:"get_target_capabilities",description:"Get feature support levels for a specific target (e.g. which features are native, mapped, or unsupported)",inputSchema:z$1.object({targetId:z$1.string().describe('Target tool ID (e.g. "claude-code", "cursor")')}),handler:s((t,e)=>mR.get(e),"handler"),resourceUri:"agentsmesh://capabilities/{targetId}"},{name:"generate",description:"Generate target-native config files from canonical .agentsmesh/ content. Propagates rules, commands, agents, skills, MCP, hooks, ignore, and permissions to all configured targets.",inputSchema:z$1.object({targets:z$1.array(z$1.string()).optional().describe("Filter to specific targets (default: all from agentsmesh.yaml)"),features:z$1.array(z$1.string()).optional().describe("Filter to specific features"),verbose:z$1.boolean().optional().describe("Include full file list in response"),dry_run:z$1.boolean().optional().describe("Preview without writing files")}),handler:s((t,e)=>ba.generate(t,e),"handler")},{name:"lint",description:"Lint canonical .agentsmesh/ files for schema errors, missing frontmatter, and other issues",inputSchema:z$1.object({severity:z$1.enum(["error","warning","info"]).optional().describe("Filter results by minimum severity")}),handler:s((t,e)=>ba.lint(t,e),"handler")},{name:"check",description:"Detect drift between canonical and lockfile",inputSchema:YM,handler:s(t=>ba.check(t),"handler")},{name:"diff",description:"Preview what generate would create, modify, or delete without writing",inputSchema:z$1.object({targets:z$1.array(z$1.string()).optional().describe("Filter to specific targets"),features:z$1.array(z$1.string()).optional().describe("Filter to specific features")}),handler:s((t,e)=>ba.diff(t,e),"handler")},{name:"import",description:"Import another tool's native config into canonical .agentsmesh/. Note: dry_run is not supported (the engine writes directly).",inputSchema:z$1.object({from:z$1.string().describe('Source target ID to import from (e.g. "cursor", "claude-code")'),features:z$1.array(z$1.string()).optional().describe("Restrict import to specific features"),dry_run:z$1.boolean().optional().describe("NOT SUPPORTED \u2014 will throw VALIDATION_FAILED. Use diff instead.")}),handler:s((t,e)=>ba.import(t,e),"handler")},{name:"convert",description:"Convert config directly from one tool to another (e.g. Cursor \u2192 Claude Code) without creating canonical .agentsmesh/ files",inputSchema:z$1.object({from:z$1.string().describe('Source target ID (e.g. "cursor")'),to:z$1.string().describe('Destination target ID (e.g. "claude-code")'),dry_run:z$1.boolean().optional().describe("Preview conversion without writing files")}),handler:s((t,e)=>ba.convert(t,e),"handler")}];function ZM(t){let e=toJSONSchema(t,{target:"draft-07"});return delete e.$schema,e}s(ZM,"zodToMcpSchema");var dg=[...bM,...MM,...HM,...XM],fR=dg.filter(t=>t.resourceUri!==void 0).map(t=>({uri:t.resourceUri,name:t.name,description:t.description,read:s((e,r)=>t.handler(e,r),"read")}));Ri();async function v2(t){let e=resolve(t);for(;;){try{return await stat(resolve(e,"agentsmesh.yaml")),e}catch{}let r=dirname(e);if(r===e)throw new B("NO_PROJECT","agentsmesh.yaml not found");e=r;}}s(v2,"findProjectRoot");async function hR(t){let e=await v2(t.cwd);return {projectRoot:e,loadCanonical:s(()=>Ae(e),"loadCanonical")}}s(hR,"resolveContext");async function z2(){let t=dirname(fileURLToPath(import.meta.url));for(let e of [resolve(t,"../../package.json"),resolve(t,"../package.json"),resolve(t,"../../../package.json")])try{let r=JSON.parse(await readFile(e,"utf8"));if(r.name==="agentsmesh")return r.version}catch{}return "0.0.0"}s(z2,"pkgVersion");function V2(t,e){return new RegExp("^"+t.replace(/\{[^}]+\}/g,"([^/]+)")+"$").test(e)}s(V2,"matchTemplate");function J2(t,e){let r=[...t.matchAll(/\{([^}]+)\}/g)].map(i=>i[1]),n=new RegExp("^"+t.replace(/\{[^}]+\}/g,"([^/]+)")+"$").exec(e);return n?Object.fromEntries(r.map((i,a)=>[i,n[a+1]])):{}}s(J2,"extractTemplateParams");async function qM(){let t=new Server({name:"agentsmesh-mcp",version:await z2()},{capabilities:{tools:{},resources:{}}});t.setRequestHandler(ListToolsRequestSchema,async()=>({tools:dg.map(e=>({name:e.name,description:e.description,inputSchema:ZM(e.inputSchema)}))})),t.setRequestHandler(CallToolRequestSchema,async e=>{let r=dg.find(o=>o.name===e.params.name);if(!r)return {isError:true,content:[{type:"text",text:JSON.stringify({code:"NOT_FOUND",message:`unknown tool: ${e.params.name}`})}]};try{let o=r.inputSchema.safeParse(e.params.arguments??{});if(!o.success)throw new B("VALIDATION_FAILED","invalid input",o.error.issues);let n=await hR({cwd:process.cwd()}),i=await r.handler(n,o.data);return {content:[{type:"text",text:JSON.stringify(i)}]}}catch(o){let n=o instanceof B?o.toEnvelope():{code:"IO_ERROR",message:OM(o instanceof Error?o.message:"unknown error")};return {isError:true,content:[{type:"text",text:JSON.stringify(n)}]}}}),t.setRequestHandler(ListResourcesRequestSchema,async()=>({resources:fR.map(e=>({uri:e.uri,name:e.name,description:e.description}))})),t.setRequestHandler(ReadResourceRequestSchema,async e=>{let r=fR.find(a=>a.uri===e.params.uri||V2(a.uri,e.params.uri));if(!r)throw new B("NOT_FOUND",`resource not found: ${e.params.uri}`);let o=await hR({cwd:process.cwd()}),n=J2(r.uri,e.params.uri),i=await r.read(o,n);return {contents:[{uri:e.params.uri,mimeType:"application/json",text:JSON.stringify(i)}]}}),await t.connect(new StdioServerTransport);}s(qM,"startServer");ft();async function t$(t,e){ER(),await qM();}s(t$,"runMcp");var e$={generate:s(async(t,e)=>{let r=await rl(t,void 0,{printMatrix:t.json!==true});Ee("generate",r,t,()=>ol(r));},"generate"),init:s(async(t,e)=>{let r=await Pv(process.cwd(),{yes:t.yes===true,global:t.global===true});Ee("init",r,t,()=>xv(r));},"init"),import:s(async(t,e)=>{let r=await Nv(t);Ee("import",r,t,()=>Wv(r));},"import"),diff:s(async(t,e)=>{let r=await vv(t);Ee("diff",r,t,()=>Hv(r));},"diff"),lint:s(async(t,e)=>{let r=await Uv(t);Ee("lint",r,t,()=>Kv(r));},"lint"),check:s(async(t,e)=>{let r=await Yv(t);Ee("check",r,t,()=>Bv(r));},"check"),merge:s(async(t,e)=>{let r=await Qv(t);Ee("merge",r,t,()=>zv(r));},"merge"),matrix:s(async(t,e)=>{let r=await Fm(t);Ee("matrix",r,t,()=>Gm(r,{verbose:t.verbose===true}));},"matrix"),watch:s(async(t,e)=>{if(t.json===true){Da("watch",{success:false,error:"--json is not supported with watch"}),process.exit(1);return}let r=await Jv(t),o=s(()=>{r.stop().then(()=>process.exit(0));},"stop");process.on("SIGINT",o),process.on("SIGTERM",o);},"watch"),install:s(async(t,e)=>{t.json===true&&(t.force=true);let r=await iM(t,e,process.cwd());Ee("install",r,t,()=>aM(r));},"install"),plugin:s(async(t,e)=>{let r=await pM(t,e,process.cwd());Ee("plugin",r,t,()=>uM(r));},"plugin"),target:s(async(t,e)=>{let r=await SM(t,e,process.cwd());Ee("target",r,t,()=>CM(r));},"target"),convert:s(async(t,e)=>{let r=await sg(t);Ee("convert",r,t,()=>EM(r));},"convert"),mcp:s(async(t,e)=>{await t$();},"mcp")};function Z2(t){let e={},r=[],o="help";for(let n=0;n<t.length;n++){let i=t[n];if(o==="help"&&i==="--version")return {command:"version",flags:{},args:[]};if(o==="help"&&i==="--help")return {command:"help",flags:{},args:[]};if(i.startsWith("--")){let a=i.slice(2),c=t[n+1];c===void 0||c.startsWith("--")?e[a]=true:(e[a]=c,n++);continue}o==="help"?o=i:r.push(i);}return {command:o,flags:e,args:r}}s(Z2,"parseArgs");var Q2=RR(e$);async function q2(t){let{command:e,flags:r,args:o}=t;if(e==="help"){kR();return}if(e==="version"){TR();return}r.json===true&&CR(),await Q2.route(e,r,o);}s(q2,"main");function tZ(){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")}}s(tZ,"isMainModule");if(tZ()){let t=Z2(process.argv.slice(2));q2(t).catch(e=>bR(e instanceof Error?e:new Error(String(e)),{verbose:t.flags.verbose===true,json:t.flags.json===true,command:t.command}));}
567
+ export{Z2 as parseArgs};