agentsmesh 0.18.1 → 0.19.1

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,185 +1,201 @@
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 KR 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 g1 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 dR=Object.defineProperty;var s=(t,e)=>dR(t,"name",{value:e,configurable:true});var u=(t,e)=>()=>(t&&(e=t(t=0)),e);var ug=(t,e)=>{for(var r in e)dR(t,r,{get:e[r],enumerable:true});};function hR(){mi=true;}function yR(){fR=true;}function wa(t){fR?process.stderr.write(t):process.stdout.write(t);}function n$(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}function pl(t,e){return n$()?e:`${t}${e}${Ta.reset}`}function s$(t,e){let r=[...t].length;return t+" ".repeat(Math.max(0,e-r))}var Ta,mi,fR,_,ft=u(()=>{Ta={green:"\x1B[32m",red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",reset:"\x1B[0m"},mi=false,fR=false;s(hR,"muteLogger");s(yR,"redirectLoggerToStderr");s(wa,"out");s(n$,"noColor");s(pl,"c");s(s$,"pad");_={info(t){mi||wa(pl(Ta.cyan,t)+`
3
- `);},warn(t){mi||process.stderr.write(pl(Ta.yellow,"\u26A0 ")+t+`
4
- `);},error(t){mi||process.stderr.write(pl(Ta.red,"\u2717 ")+t+`
5
- `);},success(t){mi||wa(pl(Ta.green,"\u2713 ")+t+`
6
- `);},debug(t){mi||process.env.AGENTSMESH_DEBUG==="1"&&wa(pl(Ta.cyan,"[debug] ")+t+`
7
- `);},table(t){if(mi||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("+")+"+";wa(o+`
8
- `);for(let n=0;n<t.length;n++){let a="| "+t[n].map((c,l)=>s$(c,r[l])).join(" | ")+" |";wa(a+`
9
- `);}wa(o+`
10
- `);}};});var ln,kr,Pa,lo,xa,He,mn=u(()=>{ln=class extends Error{static{s(this,"AgentsMeshError");}code;constructor(e,r,o){super(r,o),this.name="AgentsMeshError",this.code=e;}},kr=class extends ln{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;}},Pa=class extends ln{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;}},lo=class extends ln{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;}},xa=class extends ln{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 ln{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 AR(t){let e=extname(t).toLowerCase();if(e.length>0)return u$.has(e);let r=basename(t).toLowerCase();return d$.has(r)}function kR(t){return t.replace(/\r\n?/g,`
11
- `)}function gg(t){return g$.has(extname(t).toLowerCase())?493:void 0}var dg,u$,d$,g$,fg=u(()=>{dg="\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(AR,"shouldNormalizeLineEndings");s(kR,"normalizeLineEndings");g$=new Set([".sh",".bash",".zsh"]);s(gg,"executableModeFor");});async function N(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 N(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 hg(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 TR=u(()=>{mn();s(N,"readDirRecursive");s(hg,"ensureCacheSymlink");});async function y(t){try{let e=await readFile(t,"utf-8");return e.startsWith(dg)?e.slice(dg.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 I(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=AR(t)?kR(e):e,a=r?.mode??gg(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=u(()=>{mn();fg();TR();fg();s(y,"readFileSafe");s(I,"writeFileAtomic");s(j,"exists");s(L,"mkdirp");});function wr(t){return yg.includes(t)}var yg,DR=u(()=>{yg=["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(wr,"isBuiltinTargetId");});var kt,_g,mo=u(()=>{DR();kt=yg,_g="codex-cli";});var NR,ze,Da,gl,x$,D$,dl,N$,F$,pi,pn=u(()=>{mo();NR=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],ze=z$1.enum(kt),Da=z$1.enum(NR),gl=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(Da),path:z$1.string().optional(),pick:gl.optional()}),D$=z$1.object({strategy:z$1.enum(["merge","lock","last-wins"]).default("merge"),lock_features:z$1.array(z$1.string()).default([])}),dl=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":dl.optional()}).passthrough().optional(),agents_to_skills:z$1.object({"gemini-cli":dl.optional(),cline:dl.optional(),"codex-cli":dl.optional(),windsurf:dl.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(),pi=z$1.object({version:z$1.literal(1),targets:z$1.array(ze).default([...kt]),features:z$1.array(Da).default([...NR]),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,Rg);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 kr(t);let r=parse(e),o=pi.safeParse(r);if(!o.success){let n=o.error.issues.map(i=>i.message);throw new Pa(t,n,{cause:o.error})}return o.data}function Ig(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]=Ig(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=Ig(r.overrides??{},e.overrides)),typeof e.conversions=="object"&&e.conversions!==null&&!Array.isArray(e.conversions)&&(r.conversions=Ig(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,Rg),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=pi.safeParse(a);if(c.success)r=c.data;else {let l=c.error.issues.map(m=>m.message).join("; ");_.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 kr(join(t,Rg));return tp(dirname(e))}var Rg,G$,rp=u(()=>{T();ft();mn();pn();Rg="agentsmesh.yaml",G$="agentsmesh.local.yaml";s(M$,"findConfigPath");s($$,"loadConfig");s(Ig,"deepMergeObjects");s(j$,"mergeLocalConfig");s(tp,"loadConfigFromExactDir");s(ep,"loadConfigFromDir");});function fl(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=fl(t,e);try{let{config:o}=await tp(r.configDir);return {config:o,context:r}}catch(o){throw o instanceof kr?new kr(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=u(()=>{rp();mn();s(fl,"resolveScopeContext");s(Tt,"loadScopedConfig");});function $R(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,GR),d=`${m}.tmp`,g=join(d,GR);if(!r.refresh&&await MR(p))return Og(p);try{return await rm$1(d,{recursive:!0,force:!0}),await mkdir(d,{recursive:!0}),await Y$(J$(t),g),t.ref&&await X$(g,t.ref),await rm$1(m,{recursive:!0,force:!0}),await rename(d,m),Og(p)}catch(f){if(await rm$1(d,{recursive:true,force:true}),r.allowOfflineFallback!==false&&await MR(p))return console.warn(`[agentsmesh] Remote fetch failed for ${e}; using cached version. Error: ${f instanceof Error?f.message:String(f)}`),Og(p);throw f}}async function Og(t){return {resolvedPath:t,version:await Z$(t)}}async function MR(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){$R(t,"clone-url"),await Lg(["clone",t,e]);}async function X$(t,e){$R(e,"ref"),await Lg(["checkout",e],t);}async function Z$(t){return Lg(["rev-parse","HEAD"],t)}async function Lg(t,e){let{stdout:r}=await V$("git",t,{cwd:e,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return r.trim()}var V$,GR,Ag=u(()=>{T();V$=promisify(execFile),GR="repo";s($R,"ensureNotFlag");s(op,"fetchGitRemoteExtend");s(Og,"readCachedRepo");s(MR,"hasCachedRepo");s(J$,"resolveCloneUrl");s(Y$,"cloneRepo");s(X$,"checkoutRef");s(Z$,"getHeadSha");s(Lg,"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 BR(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 WR(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 BR(t.org,t.repo,a);}catch(E){if(!i)throw E;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 E=await kg(p);if(E)return {resolvedPath:join(p,E),version:l}}let d=`https://github.com/${t.org}/${t.repo}/tarball/${l}`,g={};a&&(g.Authorization=`Bearer ${a}`);let f;try{let E=await globalThis.fetch(d,{headers:g,redirect:"follow"});if(!E.ok)throw new Error(`HTTP ${E.status}: ${E.statusText}`);f=await rj(E,ej);}catch(E){if(r.allowOfflineFallback!==false&&await j(p)){let F=await kg(p);if(F)return console.warn(`[agentsmesh] Network failed for ${e}; using cached version. Error: ${E instanceof Error?E.message:String(E)}`),{resolvedPath:join(p,F),version:l}}throw E}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 KR.extract({file:h,cwd:p,strict:!0,filter:s((E,A)=>!(oj(E)||A&&"type"in A&&(A.type==="Link"||A.type==="SymbolicLink")),"filter")});}finally{await rm$1(h,{force:true}).catch(()=>{});}let O=await kg(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 kg(t){let r=(await readdir(t,{withFileTypes:true})).filter(o=>o.isDirectory()&&!o.name.startsWith("."));return r.length===1?r[0].name:null}function UR(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?[UR(t.org,t.repo,i)]:[UR(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,HR=u(()=>{T();Ag();ej=500*1024*1024;s(rj,"readBoundedResponse");s(BR,"resolveLatestTag");s(WR,"fetchGithubRemoteExtend");s(kg,"findExtractTopDir");s(UR,"buildGithubCloneUrl");s(oj,"isZipSlipPath");s(nj,"fetchGithubDefaultBranch");});function zR(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 VR(t){let e=zR(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 JR(t){let e=zR(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 YR(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 ui(t){let e=VR(t);if(e)return {kind:"github",...e};let r=JR(t);if(r)return {kind:"gitlab",...r};let o=YR(t);return o?{kind:"git",...o}:null}function wg(t){return ui(t)!==null}var yl=u(()=>{s(zR,"splitSourceRef");s(VR,"parseGithubSource");s(JR,"parseGitlabSource");s(YR,"parseGitSource");s(ui,"parseRemoteSource");s(wg,"isSupportedRemoteSource");});function cj(t){let e=ui(t);return e?e.kind==="github"?Na("github",`${e.org}/${e.repo}`,e.tag):e.kind==="gitlab"?Na("gitlab",`${e.namespace}/${e.project}`,e.ref??"HEAD"):Na("git",e.url,e.ref??"HEAD"):null}async function QR(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 qR(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 Tg=u(()=>{_l();yl();s(cj,"cacheKeyFromSource");s(QR,"cleanInstallCache");s(qR,"sweepStaleCache");});function Na(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>rS){let i=createHash("sha256").update(n).digest("hex").slice(0,16);n=`${n.slice(0,rS-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 Fa(t,e,r={}){let o=ui(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 qR(n).catch(()=>{}),o.kind==="github"?WR(o,e,r,n,Na,!t.includes("@")):op(o,e,r,n,Na)}var rS,_l=u(()=>{Ag();HR();yl();Tg();rS=80;s(Na,"buildCacheKey");s(Le,"getCacheDir");s(Fa,"fetchRemoteExtend");});function dj(t){return t.startsWith("http://")||t.startsWith("https://")}async function va(t,e,r={}){if(t.extends.length===0)return [];if(r.refreshCache===true&&t.extends.some(n=>wg(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(wg(n.source)){let a=await Fa(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=u(()=>{T();_l();yl();s(dj,"isOtherRemoteSource");s(va,"resolveExtendPaths");});function w(t){if(t.indexOf("---")!==0)return {frontmatter:{},body:t.trim()};let r=t.indexOf("---",3);if(r===-1)return {frontmatter:{},body:t.trim()};let 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:`---
2
+ import {resolve,join,sep,dirname,extname,basename,relative,win32,posix,normalize,isAbsolute}from'path';import {rm,readFile,readdir,stat,mkdir,writeFile,rename,lstat,unlink,chmod,access,realpath,mkdtemp,cp as cp$1,readlink,symlink,copyFile}from'fs/promises';import {realpathSync,rmSync,statSync,existsSync,mkdtempSync,readdirSync,symlinkSync,mkdirSync,constants,readFileSync}from'fs';import {z}from'zod';import {parse,stringify}from'yaml';import {homedir,tmpdir,hostname}from'os';import {execFile}from'child_process';import {fileURLToPath,URL,pathToFileURL}from'url';import {promisify}from'util';import*as VS 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 IZ from'chokidar';import*as QG 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 _S=Object.defineProperty;var s=(t,e)=>_S(t,"name",{value:e,configurable:true});var d=(t,e)=>()=>(t&&(e=t(t=0)),e);var og=(t,e)=>{for(var r in e)_S(t,r,{get:e[r],enumerable:true});};function SS(){Si=true;}function CS(){IS=true;}function Ka(t){IS?process.stderr.write(t):process.stdout.write(t);}function h0(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}function Fc(t,e){return h0()?e:`${t}${e}${Wa.reset}`}function y0(t,e){let r=[...t].length;return t+" ".repeat(Math.max(0,e-r))}var Wa,Si,IS,y,ot=d(()=>{Wa={green:"\x1B[32m",red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",reset:"\x1B[0m"},Si=false,IS=false;s(SS,"muteLogger");s(CS,"redirectLoggerToStderr");s(Ka,"out");s(h0,"noColor");s(Fc,"c");s(y0,"pad");y={info(t){Si||Ka(Fc(Wa.cyan,t)+`
3
+ `);},warn(t){Si||process.stderr.write(Fc(Wa.yellow,"\u26A0 ")+t+`
4
+ `);},error(t){Si||process.stderr.write(Fc(Wa.red,"\u2717 ")+t+`
5
+ `);},success(t){Si||Ka(Fc(Wa.green,"\u2713 ")+t+`
6
+ `);},debug(t){Si||process.env.AGENTSMESH_DEBUG==="1"&&Ka(Fc(Wa.cyan,"[debug] ")+t+`
7
+ `);},table(t){if(Si||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 l=[...t[a][o]].length;l>i&&(i=l);}r[o]=i;}let n="+"+r.map(o=>"-".repeat(o+2)).join("+")+"+";Ka(n+`
8
+ `);for(let o=0;o<t.length;o++){let a="| "+t[o].map((l,c)=>y0(l,r[c])).join(" | ")+" |";Ka(a+`
9
+ `);}Ka(n+`
10
+ `);}};});var yo,Nr,za,_n,Va,be,_o=d(()=>{yo=class extends Error{static{s(this,"AgentsMeshError");}code;constructor(e,r,n){super(r,n),this.name="AgentsMeshError",this.code=e;}},Nr=class extends yo{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;}},za=class extends yo{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;}},_n=class extends yo{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;}},Va=class extends yo{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;}},be=class extends yo{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 Ap(t){let e=extname(t).toLowerCase();if(e.length>0)return E0.has(e);let r=basename(t).toLowerCase();return L0.has(r)}function wp(t){return t.replace(/\r\n?/g,`
11
+ `)}function lg(t){return O0.has(extname(t).toLowerCase())?493:void 0}var Ja,E0,L0,O0,bp=d(()=>{Ja="\uFEFF",E0=new Set([".md",".mdc",".mdx",".markdown",".txt",".json",".jsonc",".yaml",".yml",".toml",".ini",".sh",".bash",".zsh",".ps1",".js",".mjs",".cjs",".ts",".tsx",".html",".css"]),L0=new Set([".gitignore",".cursorignore",".cursorindexingignore",".aiignore",".agentignore",".clineignore",".geminiignore",".codeiumignore",".continueignore",".copilotignore",".windsurfignore",".junieignore",".kiroignore",".rooignore",".antigravityignore"]);s(Ap,"shouldNormalizeLineEndings");s(wp,"normalizeLineEndings");O0=new Set([".sh",".bash",".zsh"]);s(lg,"executableModeFor");});function TS(t){if(t.length>N0)return true;let e=new Map;for(let r of t){let n=(e.get(r)??0)+1;if(n>=F0)return true;e.set(r,n);}return false}async function v(t,e,r){let n=r??[basename(t)],o;try{o=await realpath(t);}catch(a){let l=a;if(l.code==="ENOENT"||l.code==="ENOTDIR"||l.code==="ELOOP")return [];throw new be(t,`Failed to read directory ${t}: ${l.message}. Check permissions.`,{cause:a,errnoCode:l.code})}let i=e??new Set;if(i.has(o))return [];i.add(o);try{let a=await readdir(t,{withFileTypes:!0}),l=[];for(let c of a){let m=join(t,c.name);if(c.isDirectory()||c.isSymbolicLink()&&await stat(m).then(u=>u.isDirectory(),()=>!1)){let u=[...n,c.name];if(TS(u))continue;l.push(...await v(m,i,u));}else l.push(m);}return l}catch(a){let l=a;if(l.code==="ENOENT"||l.code==="ENOTDIR"||l.code==="EACCES")return [];throw new be(t,`Failed to read directory ${t}: ${l.message}. Check permissions.`,{cause:a,errnoCode:l.code})}}async function Ya(t,e){let r=e??[basename(t)];try{let n=await readdir(t,{withFileTypes:!0}),o=[];for(let i of n){if(i.isSymbolicLink())continue;let a=join(t,i.name);if(i.isDirectory()){let l=[...r,i.name];if(TS(l))continue;o.push(...await Ya(a,l));}else i.isFile()&&o.push(a);}return o}catch(n){let o=n;if(o.code==="ENOENT"||o.code==="ENOTDIR"||o.code==="EACCES")return [];throw new be(t,`Failed to read directory ${t}: ${o.message}. Check permissions.`,{cause:n,errnoCode:o.code})}}async function cg(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 N0,F0,xS=d(()=>{_o();N0=32,F0=3;s(TS,"shouldSkipRecursiveBranch");s(v,"readDirRecursive");s(Ya,"readDirRecursiveNoSymlinks");s(cg,"ensureCacheSymlink");});async function _(t){try{let e=await readFile(t,"utf-8");return e.startsWith(Ja)?e.slice(Ja.length):e}catch(e){let r=e;if(r.code==="ENOENT")return null;throw new be(t,`Failed to read ${t}: ${r.message}. Ensure the file exists and is readable.`,{cause:e,errnoCode:r.code})}}async function I(t,e,r){let n=dirname(t);await mkdir(n,{recursive:true});try{let l=await lstat(t);if(l.isDirectory())throw new be(t,`Failed to write ${t}: target exists and is a directory. Remove it or choose a different path.`,{errnoCode:"EISDIR"});l.isSymbolicLink()&&await unlink(t).catch(c=>{if(c.code!=="ENOENT")throw c});}catch(l){if(l instanceof be||l.code!=="ENOENT")throw l}let o=`${t}.tmp`,i=Ap(t)?wp(e):e,a=r?.mode??lg(t);try{try{(await lstat(o)).isSymbolicLink()&&await unlink(o);}catch(c){if(c.code!=="ENOENT")throw c}let l={encoding:"utf-8",flag:"w"};a!==void 0&&(l.mode=a),await writeFile(o,i,l),await rename(o,t),a!==void 0&&await chmod(t,a);}catch(l){await rm(o,{force:true}).catch(()=>{});let c=l;throw new be(t,`Failed to write ${t}: ${c.message}. Check permissions and disk space.`,{cause:l,errnoCode:c.code})}}async function $(t){try{return await access(t,constants.F_OK),!0}catch{return false}}async function O(t){await mkdir(t,{recursive:true});}var w=d(()=>{_o();bp();xS();bp();s(_,"readFileSafe");s(I,"writeFileAtomic");s($,"exists");s(O,"mkdirp");});function Pe(t){return mg.includes(t)}var mg,vS=d(()=>{mg=["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(Pe,"isBuiltinTargetId");});var Ft,pg,Rn=d(()=>{vS();Ft=mg,pg="codex-cli";});var MS,Qe,Xa,W0,Mc,H0,z0,vc,V0,J0,ki,Ro=d(()=>{Rn();MS=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],Qe=z.enum(Ft),Xa=z.enum(MS),W0=z.enum(["rules","commands","agents","skills"]),Mc=z.object({skills:z.array(z.string()).optional(),commands:z.array(z.string()).optional(),rules:z.array(z.string()).optional(),agents:z.array(z.string()).optional()}).strict(),H0=z.object({name:z.string(),source:z.string(),version:z.string().optional(),target:Qe.optional(),as:W0.optional(),features:z.array(Xa),path:z.string().optional(),pick:Mc.optional()}),z0=z.object({strategy:z.enum(["merge","lock","last-wins"]).default("merge"),lock_features:z.array(z.string()).default([])}),vc=z.union([z.boolean(),z.object({project:z.boolean().optional(),global:z.boolean().optional()}).strict()]),V0=z.object({commands_to_skills:z.object({"codex-cli":vc.optional()}).passthrough().optional(),agents_to_skills:z.object({"gemini-cli":vc.optional(),cline:vc.optional(),"codex-cli":vc.optional(),windsurf:vc.optional()}).passthrough().optional()}).strict().optional(),J0=z.object({id:z.string().regex(/^[a-z][a-z0-9-]*$/),source:z.string(),version:z.string().optional(),strict:z.boolean().optional()}).strict(),ki=z.object({version:z.literal(1),targets:z.array(Qe).default([...Ft]),features:z.array(Xa).default([...MS]),extends:z.array(H0).default([]),overrides:z.record(z.string(),z.record(z.string(),z.unknown())).default({}),collaboration:z0.default({strategy:"merge",lock_features:[]}),conversions:V0,plugins:z.array(J0).default([]),pluginTargets:z.array(z.string().regex(/^[a-z][a-z0-9-]*$/)).default([])});});async function Z0(t){let e=resolve(t);for(;;){let r=join(e,dg);if(await $(r))return r;let n=dirname(e);if(n===e)return null;e=n;}}async function Q0(t){let e=await _(t);if(e===null)throw new Nr(t);let r=parse(e),n=ki.safeParse(r);if(!n.success){let o=n.error.issues.map(i=>i.message);throw new za(t,o,{cause:n.error})}return n.data}function ug(t,e){let r={...t};for(let[n,o]of Object.entries(e)){if(o==null||q0.has(n))continue;let i=r[n];typeof o=="object"&&!Array.isArray(o)&&o!==null&&typeof i=="object"&&i!==null&&!Array.isArray(i)?r[n]=ug(i,o):r[n]=o;}return r}function tB(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=ug(r.overrides??{},e.overrides)),typeof e.conversions=="object"&&e.conversions!==null&&!Array.isArray(e.conversions)&&(r.conversions=ug(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,dg),r=await Q0(e),n=join(t,X0),o=await _(n);if(o!==null){let i=parse(o);if(typeof i=="object"&&i!==null&&!Array.isArray(i)){let a=tB(r,i),l=ki.safeParse(a);if(l.success)r=l.data;else {let c=l.error.issues.map(m=>m.message).join("; ");y.warn(`Ignoring invalid agentsmesh.local.yaml at ${n}: ${c}. Using project config instead.`);}}}return {config:r,configDir:t}}async function xp(t){let e=await Z0(t);if(e===null)throw new Nr(join(t,dg));return Tp(dirname(e))}var dg,X0,q0,Dp=d(()=>{w();ot();_o();Ro();dg="agentsmesh.yaml",X0="agentsmesh.local.yaml";s(Z0,"findConfigPath");s(Q0,"loadConfig");q0=new Set(["__proto__","constructor","prototype"]);s(ug,"deepMergeObjects");s(tB,"mergeLocalConfig");s(Tp,"loadConfigFromExactDir");s(xp,"loadConfigFromDir");});function Ei(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 yt(t,e="project"){if(e==="project"){let{config:n,configDir:o}=await xp(t);return {config:n,context:{scope:e,rootBase:o,configDir:o,canonicalDir:join(o,".agentsmesh")}}}let r=Ei(t,e);try{let{config:n}=await Tp(r.configDir);return {config:n,context:r}}catch(n){throw n instanceof Nr?new Nr(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 Yt=d(()=>{Dp();_o();s(Ei,"resolveScopeContext");s(yt,"loadScopedConfig");});function BS(t,e){if(t.startsWith("-"))throw new Error(`agentsmesh refuses ${e} starting with "-" (option-injection guard): ${t}`)}async function Np(t,e,r,n,o){let i="cloneUrl"in t?"gitlab":"git",a="cloneUrl"in t?`${t.namespace}/${t.project}`:t.url,l=t.ref??"HEAD",c=o(i,a,l),m=join(n,c),p=join(m,jS),u=`${m}.tmp`,f=join(u,jS);if(!r.refresh&&await US(p))return yg(p);try{return await rm(u,{recursive:!0,force:!0}),await mkdir(u,{recursive:!0}),await cB(lB(t),f),t.ref&&await mB(f,t.ref),await rm(m,{recursive:!0,force:!0}),await rename(u,m),yg(p)}catch(g){if(await rm(u,{recursive:true,force:true}),r.allowOfflineFallback!==false&&await US(p))return console.warn(`[agentsmesh] Remote fetch failed for ${e}; using cached version. Error: ${g instanceof Error?g.message:String(g)}`),yg(p);throw g}}async function yg(t){return {resolvedPath:t,version:await pB(t)}}async function US(t){return $(t)}function lB(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 cB(t,e){BS(t,"clone-url"),await _g(["clone",t,e]);}async function mB(t,e){BS(e,"ref"),await _g(["checkout",e],t);}async function pB(t){return _g(["rev-parse","HEAD"],t)}async function _g(t,e){let{stdout:r}=await aB("git",t,{cwd:e,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return r.trim()}var aB,jS,Rg=d(()=>{w();aB=promisify(execFile),jS="repo";s(BS,"ensureNotFlag");s(Np,"fetchGitRemoteExtend");s(yg,"readCachedRepo");s(US,"hasCachedRepo");s(lB,"resolveCloneUrl");s(cB,"cloneRepo");s(mB,"checkoutRef");s(pB,"getHeadSha");s(_g,"runGit");});function gB(){let t=process.env.AGENTSMESH_MAX_TARBALL_MB;if(t===void 0||t==="")return Gc*1024*1024;let e=Number(t);return !Number.isFinite(e)||!Number.isInteger(e)?(console.warn(`[agentsmesh] AGENTSMESH_MAX_TARBALL_MB="${t}" is not an integer; using default ${Gc} MiB.`),Gc*1024*1024):e<WS||e>HS?(console.warn(`[agentsmesh] AGENTSMESH_MAX_TARBALL_MB=${e} is outside [${WS}, ${HS}]; using default ${Gc} MiB.`),Gc*1024*1024):e*1024*1024}async function yB(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 l=new Uint8Array(a),c=0;for(let m of i)l.set(m,c),c+=m.byteLength;return l}async function JS(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 YS(t,e,r,n,o,i=false){let a=r.token??process.env.AGENTSMESH_GITHUB_TOKEN,l=r.refresh===true,c=t.tag;if(c==="latest")try{c=await JS(t.org,t.repo,a);}catch(S){if(!i)throw S;return RB(t,e,r,n,o,a)}let m=o("github",`${t.org}/${t.repo}`,c),p=join(n,m);if(!l&&await $(p)){let S=await Ig(p);if(S)return {resolvedPath:join(p,S),version:c}}let u=`https://github.com/${t.org}/${t.repo}/tarball/${c}`,f={};a&&(f.Authorization=`Bearer ${a}`);let g;try{let S=await globalThis.fetch(u,{headers:f,redirect:"follow"});if(!S.ok)throw new Error(`HTTP ${S.status}: ${S.statusText}`);g=await yB(S,hB);}catch(S){if(r.allowOfflineFallback!==false&&await $(p)){let P=await Ig(p);if(P)return console.warn(`[agentsmesh] Network failed for ${e}; using cached version. Error: ${S instanceof Error?S.message:String(S)}`),{resolvedPath:join(p,P),version:c}}throw S}await rm(p,{recursive:true,force:true}),await mkdir(p,{recursive:true});let h=join(p,"archive.tar.gz");await writeFile(h,g);try{await VS.extract({file:h,cwd:p,strict:!0,filter:s((S,k)=>!(_B(S)||k&&"type"in k&&(k.type==="Link"||k.type==="SymbolicLink")),"filter")});}finally{await rm(h,{force:true}).catch(()=>{});}let R=await Ig(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:c}}async function Ig(t){let r=(await readdir(t,{withFileTypes:true})).filter(n=>n.isDirectory()&&!n.name.startsWith("."));return r.length===1?r[0].name:null}function zS(t,e,r){return r?`https://x-access-token:${encodeURIComponent(r)}@github.com/${t}/${e}.git`:`https://github.com/${t}/${e}.git`}function _B(t){let e=t.replace(/\\/g,"/");return e.startsWith("/")||e.split("/").includes("..")}async function RB(t,e,r,n,o,i){let a=i?[zS(t.org,t.repo,i)]:[zS(t.org,t.repo),`ssh://git@github.com/${t.org}/${t.repo}.git`],l;for(let c of a){let m={url:c};try{return await Np(m,e,r,n,o)}catch(p){l=p;}}throw l instanceof Error?l:new Error("Failed to clone GitHub default branch")}var Gc,WS,HS,hB,XS=d(()=>{w();Rg();Gc=500,WS=1,HS=4096;s(gB,"resolveMaxTarballBytes");hB=gB();s(yB,"readBoundedResponse");s(JS,"resolveLatestTag");s(YS,"fetchGithubRemoteExtend");s(Ig,"findExtractTopDir");s(zS,"buildGithubCloneUrl");s(_B,"isZipSlipPath");s(RB,"fetchGithubDefaultBranch");});function ZS(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 QS(t){let e=ZS(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 qS(t){let e=ZS(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 tC(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 (process.env.AGENTSMESH_ALLOW_INSECURE_GIT==="1"||process.env.AGENTSMESH_ALLOW_INSECURE_GIT==="true"?["https:","http:","ssh:","file:"]:["https:","ssh:","file:"]).includes(i.protocol)?{url:n,ref:o}:null}function Li(t){let e=QS(t);if(e)return {kind:"github",...e};let r=qS(t);if(r)return {kind:"gitlab",...r};let n=tC(t);return n?{kind:"git",...n}:null}function Sg(t){return Li(t)!==null}var jc=d(()=>{s(ZS,"splitSourceRef");s(QS,"parseGithubSource");s(qS,"parseGitlabSource");s(tC,"parseGitSource");s(Li,"parseRemoteSource");s(Sg,"isSupportedRemoteSource");});function kB(t){let e=Li(t);return e?e.kind==="github"?Za("github",`${e.org}/${e.repo}`,e.tag):e.kind==="gitlab"?Za("gitlab",`${e.namespace}/${e.project}`,e.ref??"HEAD"):Za("git",e.url,e.ref??"HEAD"):null}async function nC(t,e){let r=kB(t);if(!r)return;let n=e??Te(),o=join(n,r);await rm(o,{recursive:true,force:true});}async function oC(t,e){let r=t??Te(),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 l=join(r,a);try{let{mtimeMs:c}=await stat(l);i-c>n&&await rm(l,{recursive:!0,force:!0});}catch{}}));}var Cg=d(()=>{Uc();jc();s(kB,"cacheKeyFromSource");s(nC,"cleanInstallCache");s(oC,"sweepStaleCache");});function Za(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>aC){let i=createHash("sha256").update(o).digest("hex").slice(0,16);o=`${o.slice(0,aC-18)}--${i}`;}return o}function Te(){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 Qa(t,e,r={}){let n=Li(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??Te();return oC(o).catch(()=>{}),n.kind==="github"?YS(n,e,r,o,Za,!t.includes("@")):Np(n,e,r,o,Za)}var aC,Uc=d(()=>{Rg();XS();jc();Cg();aC=80;s(Za,"buildCacheKey");s(Te,"getCacheDir");s(Qa,"fetchRemoteExtend");});function wB(t){return t.startsWith("http://")||t.startsWith("https://")}async function qa(t,e,r={}){if(t.extends.length===0)return [];if(r.refreshCache===true&&t.extends.some(o=>Sg(o.source))){let o=Te();await rm(o,{recursive:true,force:true}),await mkdir(o,{recursive:true});}let n=[];for(let o of t.extends){if(wB(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(Sg(o.source)){let a=await Qa(o.source,o.name,{cacheDir:Te(),refresh:r.refreshCache===true});n.push({name:o.name,resolvedPath:a.resolvedPath,features:[...o.features],target:o.target,as:o.as,version:a.version,path:o.path,pick:o.pick});continue}let i=resolve(e,o.source);if(!await $(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,as:o.as,path:o.path,pick:o.pick});}return n}var Fp=d(()=>{w();Uc();jc();s(wB,"isOtherRemoteSource");s(qa,"resolveExtendPaths");});function b(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 TB(t){if(t.indexOf("---")!==0)return t.trim();let e=t.indexOf("---",3);return e===-1?t.trim():t.slice(e+3).trim()}function Fr(t,e){try{return {ok:!0,value:b(t)}}catch(r){let n=r instanceof Error?r.message:String(r);return {ok:false,error:new Error(`Failed to parse frontmatter in ${e}: ${n}`,{cause:r}),bodyFallback:TB(t)}}}function Io(t,e,r){let n=Fr(t,e);if(n.ok)return n.value;if(r)return r(n.error,e),null;throw n.error}function T(t,e){return Object.keys(t).length===0?e:`---
12
12
  ${stringify(t,{lineWidth:0}).trimEnd()}
13
13
  ---
14
14
 
15
- ${e}`}var M=u(()=>{s(w,"parseFrontmatter");s(P,"serializeFrontmatter");});function _j(t){let e=t.replace(/\.[^.]*$/,"").toUpperCase();return hj.has(e)}function oS(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,nS=u(()=>{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(oS,"findWindowsPathIssues");});function un(t,e){let r=oS(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,Il=u(()=>{nS();sp=class extends Error{static{s(this,"CanonicalNameError");}feature;name;constructor(e,r,o){super(o),this.feature=e,this.name=r;}};s(un,"assertCanonicalName");s(ip,"assertNoBasenameCollisions");});function iS(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}async function di(t){let r=(await N(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}=w(i),l=basename(n,".md");un("rule",l);let m=l==="_root",p=a.root===true,d=a.trigger,g=typeof d=="string"&&Ij.includes(d)?d: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:iS(a.targets),description:typeof a.description=="string"?a.description:"",globs:iS(a.globs),body:c,...g!==void 0&&{trigger:g},...h!==void 0&&{codexEmit:h},...R!==void 0&&{codexInstructionVariant:R}});}return o}var Ij,ap=u(()=>{T();M();Il();Ij=["always_on","model_decision","glob","manual"];s(iS,"toStrArray");s(di,"parseRules");});function cS(t){return t===true||t==="true"||t===1||t==="1"}function lS(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 gi(t){let r=(await N(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}=w(i),l=basename(n,".md");un("command",l);let m=lS(a.allowedTools),p=lS(a["allowed-tools"]),d=m.length>0?m:p;o.push({source:n,name:l,description:typeof a.description=="string"?a.description:"",allowedTools:d,outputStyle:cS(a.outputStyle)||cS(a["output-style"]),body:c});}return o}var cp=u(()=>{T();M();Il();s(cS,"toBool");s(lS,"toToolsArray");s(gi,"parseCommands");});function fi(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 pS(t){return t===true||t==="true"||t===1||t==="1"}function uS(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 hi(t){let r=(await N(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}=w(i),l=basename(n,".md");un("agent",l);let m=fi(a.tools),p=fi(a.tools),d=m.length>0?m:p,g=fi(a.disallowedTools),f=fi(a["disallowed-tools"]),h=g.length>0?g:f,O=fi(a.mcpServers),R=fi(a["mcp-servers"]),E=O.length>0?O:R,A=fi(a.skills),F=uS(a.maxTurns),v=uS(a["max-turns"]),G=F>0?F:v>0?v:0;o.push({source:n,name:l,description:typeof a.description=="string"?a.description:"",tools:d,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:E,hooks:Rj(a.hooks),skills:A,memory:typeof a.memory=="string"?a.memory:"",outputStyle:pS(a.outputStyle)||pS(a["output-style"]),body:c});}return o}var lp=u(()=>{T();M();Il();s(fi,"toStrArray");s(pS,"toBool");s(uS,"toInt");s(Rj,"toHooks");s(hi,"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 dS(t){let e=await N(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 gS(t){let e=join(t,mp),r=await y(e);if(!r)return null;let{frontmatter:o,body:n}=w(r),i=await dS(t),c=(typeof o.name=="string"?Lj(o.name):"")||basename(t);return un("skill",c),{source:e,name:c,description:typeof o.description=="string"?o.description:"",body:n,supportingFiles:i}}async function Ga(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;un("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}=w(a),m=await dS(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=u(()=>{T();M();Il();s(Ej,"readContent");mp="SKILL.md",Oj=[".git","node_modules"];s(Lj,"sanitizeSkillName");s(dS,"listSupportingFiles");s(gS,"parseSkillDirectory");s(Ga,"parseSkills");});function fS(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=fS(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:fS(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 Tr(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 Rl=u(()=>{T();s(fS,"parseStringMap");s(Aj,"parseServer");s(kj,"stripJsonComments");s(Tr,"parseMcp");});function Pg(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=Pg(o.allow),i=Pg(o.deny),a=Pg(o.ask);return {allow:n,deny:i,ask:a}}var xg=u(()=>{T();s(Pg,"ensureStringArray");s(up,"parsePermissions");});function hS(t){return typeof t=="string"?t.trim():""}function Kt(t){return hS(t.command)}function le(t){return hS(t.prompt)}function Dg(t){let e=Kt(t),r=le(t);return t.type==="prompt"?r||e:e||r}function dn(t){return Kt(t).length>0}function po(t){return Dg(t).length>0}var br=u(()=>{s(hS,"trimString");s(Kt,"getHookCommand");s(le,"getHookPrompt");s(Dg,"getHookText");s(dn,"hasHookCommand");s(po,"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=Dg(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=le(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,Ng=u(()=>{T();br();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 Fg=u(()=>{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([di(join(r,"rules")),gi(join(r,"commands")),hi(join(r,"agents")),Ga(join(r,"skills")),Tr(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 yi=u(()=>{ap();cp();lp();pp();Rl();xg();Ng();Fg();T();s(Ae,"loadCanonicalFiles");});function yS(t){return basename(t.source,".md")}function Ma(t,e){let r=new Map(t.rules.map(p=>[yS(p),p]));for(let p of e.rules)r.set(yS(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=vg(t?.allow??[],e?.allow??[]),o=vg(t?.deny??[],e?.deny??[]),n=vg(t?.ask??[],e?.ask??[]);return {allow:r,deny:o,ask:n}}function vg(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 Gg=u(()=>{s(yS,"ruleSlug");s(Ma,"mergeCanonicalFiles");s(Dj,"mergeMcp");s(Nj,"mergePermissions");s(vg,"mergeUniqueStrings");s(Fj,"mergeHooks");s(vj,"mergeIgnore");});async function fp(t){let e=null,r=0;for(let o of _S){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 _S,IS,Mg=u(()=>{T();_S=[{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");IS=_S.map(t=>t.paths[0]).filter(t=>t!==void 0);});function et(t){return t.includes("\\")||Pr.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 SS(t,e){return et(t).isAbsolute(e)||Pr.test(e)}function $a(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 CS(t,e){let r=et(e),o=t.replace(/^(\.\.\/)+/,"").replace(/^\.\//,"");return o&&o!==t?V(e,r.join(e,o)):null}var Pr,$j,ee=u(()=>{Pr=/^[A-Za-z]:[\\/]/,$j=/[.!?:;]+$/;s(et,"pathApi");s(Pt,"normalizeSeparators");s(V,"normalizeForProject");s(SS,"isAbsoluteForProject");s($a,"stripTrailingPunctuation");s(CS,"rootFallbackPath");});function jj(t){return Object.prototype.hasOwnProperty.call(ES,t)}function Uj(t){return Object.prototype.hasOwnProperty.call(OS,t)}function LS(t,e){if(t!==void 0)return typeof t=="boolean"?t:t[e]}function ja(t,e,r,o="project"){let n=t.conversions?.commands_to_skills?.[e],i=LS(n,o);return i!==void 0?i:jj(e)?ES[e]:r??false}function Ve(t,e,r,o="project"){let n=t.conversions?.agents_to_skills?.[e],i=LS(n,o);return i!==void 0?i:Uj(e)?OS[e]:r??false}var ES,OS,Ua=u(()=>{ES={amp:true,"codex-cli":true,goose:true,kiro:true,warp:true},OS={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(LS,"resolveConversionValue");s(ja,"shouldConvertCommandsToSkills");s(Ve,"shouldConvertAgentsToSkills");});function Dr(t,e){return e!==void 0?{level:t,flavor:e}:{level:t}}function xr(t){return typeof t=="string"?{level:t}:t}function AS(t){return {rules:xr(t.rules),additionalRules:xr(t.additionalRules),commands:xr(t.commands),agents:xr(t.agents),skills:xr(t.skills),mcp:xr(t.mcp),hooks:xr(t.hooks),ignore:xr(t.ignore),permissions:xr(t.permissions)}}var _i=u(()=>{s(Dr,"cap");s(xr,"normalizeCapabilityValue");s(AS,"normalizeTargetCapabilities");});function kS(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 wS(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.
15
+ ${e}`}var j=d(()=>{s(b,"parseFrontmatter");s(TB,"extractBody");s(Fr,"tryParseFrontmatter");s(Io,"parseOrSkipFrontmatter");s(T,"serializeFrontmatter");});function NB(t){let e=t.replace(/\.[^.]*$/,"").toUpperCase();return xB.has(e)}function lC(t){let e=[],r=t.split(/[\\/]/);for(let n of r)if(!(n===""||n==="."||n==="..")){if(DB.test(n)){e.push({segment:n,reason:"illegal-character"});continue}if(/[. ]$/.test(n)){e.push({segment:n,reason:"trailing-dot-or-space"});continue}NB(n)&&e.push({segment:n,reason:"reserved-name"});}return e}var xB,DB,cC=d(()=>{xB=new Set(["CON","PRN","AUX","NUL","COM1","COM2","COM3","COM4","COM5","COM6","COM7","COM8","COM9","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9"]),DB=new RegExp('[<>:"|?*\\u0000-\\u001F]');s(NB,"segmentReservedName");s(lC,"findWindowsPathIssues");});function So(t,e){let r=lC(e);if(r.length===0)return;let n=r.map(o=>`${o.segment} (${o.reason})`).join(", ");throw new vp(t,e,`canonical ${t} name "${e}" is not portable to Windows: ${n}. Rename the file.`)}function Mp(t,e,r){let n=new Map;for(let o of e){let i=o.lastIndexOf("/"),a=o.lastIndexOf("\\"),l=Math.max(i,a),c=l===-1?o:o.slice(l+1),m=c.endsWith(r)?c.slice(0,-r.length):c,p=n.get(m);if(p!==void 0&&p!==o)throw new vp(t,m,`canonical ${t} files collide on slug "${m}": ${p} vs ${o}. Rename one.`);n.set(m,o);}}var vp,Bc=d(()=>{cC();vp=class extends Error{static{s(this,"CanonicalNameError");}feature;name;constructor(e,r,n){super(n),this.feature=e,this.name=r;}};s(So,"assertCanonicalName");s(Mp,"assertNoBasenameCollisions");});function tl(t,e,r,n,o={}){if(r.length===0)return;let i=new Set(n),a=o.handledByOtherReader,l=new Set,c=0;for(let p of r){if(i.has(p)||basename(p).startsWith("."))continue;let u=extname(p).toLowerCase();MB.has(u)&&(a?.has(u)||(l.add(u),c++));}if(c===0)return;let m=[...l].sort().join(", ");y.warn(`Skipped ${c} ${t} file(s) in ${e} (format${l.size===1?"":"s"}: ${m}). agentsmesh ${t} are parsed from .md files only.`);}var MB,$p=d(()=>{ot();MB=new Set([".toml",".yaml",".yml",".json"]);s(tl,"warnIfUnrecognizedResourceFormats");});function pC(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}async function Cs(t,e={}){let r=await v(t),n=r.filter(i=>{if(!i.endsWith(".md"))return false;let a=basename(i,".md");return a==="_root"||!a.startsWith("_")});tl("rules",t,r,n,{handledByOtherReader:e.handledByOtherReader});let o=[];for(let i of n){let a=await _(i);if(!a)continue;let l=Io(a,i,e.onParseError);if(!l)continue;let{frontmatter:c,body:m}=l,p=basename(i,".md");So("rule",p);let u=p==="_root",f=c.root===true,g=c.trigger,h=typeof g=="string"&&$B.includes(g)?g:void 0,R=c.codex_emit,C=R==="execution"?"execution":R==="advisory"?"advisory":void 0,k=c.codex_instruction==="override"?"override":void 0;o.push({source:i,root:u||f,targets:pC(c.targets),description:typeof c.description=="string"?c.description:"",globs:pC(c.globs),body:m,...h!==void 0&&{trigger:h},...C!==void 0&&{codexEmit:C},...k!==void 0&&{codexInstructionVariant:k}});}return o}var $B,Kc=d(()=>{w();j();Bc();$p();$B=["always_on","model_decision","glob","manual"];s(pC,"toStrArray");s(Cs,"parseRules");});function dC(t){return t===true||t==="true"||t===1||t==="1"}function fC(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 ks(t,e={}){let r=await v(t),n=r.filter(i=>i.endsWith(".md")&&!basename(i).startsWith("_"));tl("commands",t,r,n,{handledByOtherReader:e.handledByOtherReader}),Mp("command",n,".md");let o=[];for(let i of n){let a=await _(i);if(!a)continue;let l=Io(a,i,e.onParseError);if(!l)continue;let{frontmatter:c,body:m}=l,p=basename(i,".md");So("command",p);let u=fC(c.allowedTools),f=fC(c["allowed-tools"]),g=u.length>0?u:f;o.push({source:i,name:p,description:typeof c.description=="string"?c.description:"",allowedTools:g,outputStyle:dC(c.outputStyle)||dC(c["output-style"]),body:m});}return o}var Wc=d(()=>{w();j();Bc();$p();s(dC,"toBool");s(fC,"toToolsArray");s(ks,"parseCommands");});function Oi(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 hC(t){return t===true||t==="true"||t===1||t==="1"}function yC(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 GB(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)?t:{}}async function Es(t,e={}){let r=await v(t),n=r.filter(i=>i.endsWith(".md")&&!basename(i).startsWith("_"));tl("agents",t,r,n,{handledByOtherReader:e.handledByOtherReader}),Mp("agent",n,".md");let o=[];for(let i of n){let a=await _(i);if(!a)continue;let l=Io(a,i,e.onParseError);if(!l)continue;let{frontmatter:c,body:m}=l,p=basename(i,".md");So("agent",p);let u=Oi(c.tools),f=Oi(c.tools),g=u.length>0?u:f,h=Oi(c.disallowedTools),R=Oi(c["disallowed-tools"]),C=h.length>0?h:R,S=Oi(c.mcpServers),k=Oi(c["mcp-servers"]),P=S.length>0?S:k,N=Oi(c.skills),F=yC(c.maxTurns),W=yC(c["max-turns"]),z=F>0?F:W>0?W:0;o.push({source:i,name:p,description:typeof c.description=="string"?c.description:"",tools:g,disallowedTools:C,model:typeof c.model=="string"?c.model:"",permissionMode:typeof c.permissionMode=="string"?c.permissionMode:typeof c["permission-mode"]=="string"?c["permission-mode"]:"",maxTurns:z,mcpServers:P,hooks:GB(c.hooks),skills:N,memory:typeof c.memory=="string"?c.memory:"",outputStyle:hC(c.outputStyle)||hC(c["output-style"]),body:m});}return o}var Hc=d(()=>{w();j();Bc();$p();s(Oi,"toStrArray");s(hC,"toBool");s(yC,"toInt");s(GB,"toHooks");s(Es,"parseAgents");});function kg(t){let e=t.toLowerCase(),r=e.lastIndexOf("."),n=r>0?e.slice(0,r):e;return jB.get(n)}function In(t){return kg(t)!==void 0}function Gp(t){return kg(t)==="preserved"}function jp(t){return kg(t)==="noise"}function _C(t){return UB.has(t)}function RC(t){return BB.has(t)}var jB,UB,BB,Co=d(()=>{jB=new Map([["contributing","noise"],["changelog","noise"],["changes","noise"],["history","noise"],["code_of_conduct","noise"],["security","noise"],["support","noise"],["maintainers","noise"],["governance","noise"],["authors","noise"],["contributors","noise"],["codeowners","noise"],["citation","noise"],["acknowledgments","noise"],["acknowledgements","noise"],["license","preserved"],["license-mit","preserved"],["license-apache","preserved"],["license-bsd","preserved"],["license-gpl","preserved"],["notice","preserved"],["copying","preserved"],["copyright","preserved"],["readme","preserved"]]),UB=new Set([".git",".github",".gitlab","node_modules",".vscode",".idea"]),BB=new Set(["package.json","package-lock.json","pnpm-lock.yaml","yarn.lock",".gitignore",".gitattributes",".editorconfig",".DS_Store"]);s(kg,"boilerplateKind");s(In,"isBoilerplate");s(Gp,"isPreservedBoilerplate");s(jp,"isNoiseBoilerplate");s(_C,"isRepoNonContentDir");s(RC,"isRepoNonContentFile");});async function HB(t){return await _(t)??""}function VB(t){let e=t.lastIndexOf(".");return e<0?true:zB.has(t.slice(e).toLowerCase())}function YB(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}async function IC(t){let e=await v(t),r=[];for(let n of e){let i=n.slice(t.length+1).replace(/\\/g,"/");if(i===Up||i.endsWith(`/${Up}`))continue;let a=i.split("/")[0];if(JB.some(m=>a===m)||i===".DS_Store"||i.endsWith("/.DS_Store"))continue;let l=i.includes("/")?i.slice(i.lastIndexOf("/")+1):i;if(VB(l)&&jp(l))continue;let c=await HB(n);r.push({relativePath:i,absolutePath:n,content:c});}return r.sort((n,o)=>n.relativePath.localeCompare(o.relativePath))}async function Bp(t,e={}){let r=join(t,Up),n=await _(r);if(!n)return null;let o=Io(n,r,e.onParseError);if(!o)return null;let{frontmatter:i,body:a}=o,l=await IC(t),m=(typeof i.name=="string"?YB(i.name):"")||basename(t);return So("skill",m),{source:r,name:m,description:typeof i.description=="string"?i.description:"",body:a,supportingFiles:l}}async function Ls(t,e={}){let r;try{r=await readdir(t,{withFileTypes:!0});}catch{return []}let n=[];for(let o of r){if(!o.isDirectory()||o.name.startsWith("_"))continue;So("skill",o.name);let i=join(t,o.name),a=join(i,Up),l=await _(a);if(!l)continue;let c=Io(l,a,e.onParseError);if(!c)continue;let{frontmatter:m,body:p}=c,u=await IC(i);n.push({source:a,name:o.name,description:typeof m.description=="string"?m.description:"",body:p,supportingFiles:u});}return n.sort((o,i)=>o.name.localeCompare(i.name))}var Up,zB,JB,el=d(()=>{w();j();Co();Bc();s(HB,"readContent");Up="SKILL.md",zB=new Set([".md",".mdx",".rst",".txt"]);s(VB,"isMarkdownLikeDoc");JB=[".git","node_modules"];s(YB,"sanitizeSkillName");s(IC,"listSupportingFiles");s(Bp,"parseSkillDirectory");s(Ls,"parseSkills");});function SC(t){return t===null||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}function XB(t){if(!t||typeof t!="object")return null;let e=t,r=typeof e.type=="string"?e.type:"stdio",n=SC(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:SC(e.headers),env:n};let a=typeof e.command=="string"?e.command:"";if(!a)return null;let l=Array.isArray(e.args)?e.args.filter(c=>typeof c=="string"):[];return {...o!==void 0&&{description:o},type:r,command:a,args:l,env:n}}function ZB(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 vr(t){let e=await _(t);if(!e)return null;let r;try{r=JSON.parse(ZB(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 l=XB(a);l&&(o[i]=l);}return {mcpServers:o}}var zc=d(()=>{w();s(SC,"parseStringMap");s(XB,"parseServer");s(ZB,"stripJsonComments");s(vr,"parseMcp");});function Lg(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}async function Kp(t){let e=await _(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=Lg(n.allow),i=Lg(n.deny),a=Lg(n.ask);return {allow:o,deny:i,ask:a}}var Og=d(()=>{w();s(Lg,"ensureStringArray");s(Kp,"parsePermissions");});function CC(t){return typeof t=="string"?t.trim():""}function zt(t){return CC(t.command)}function he(t){return CC(t.prompt)}function Ag(t){let e=zt(t),r=he(t);return t.type==="prompt"?r||e:e||r}function ko(t){return zt(t).length>0}function Sn(t){return Ag(t).length>0}var Mr=d(()=>{s(CC,"trimString");s(zt,"getHookCommand");s(he,"getHookPrompt");s(Ag,"getHookText");s(ko,"hasHookCommand");s(Sn,"hasHookText");});function eK(t){if(!t||typeof t!="object")return null;let e=t,r=e.matcher;if(typeof r!="string")return null;let n=Ag(e);if(!n)return null;let o=typeof e.type=="string"&&tK.includes(e.type)?e.type:void 0,i=typeof e.timeout=="number"&&Number.isFinite(e.timeout)?e.timeout:void 0,a=he(e)||void 0;return {matcher:r,command:n,...i!==void 0&&{timeout:i},...o&&{type:o},...a&&{prompt:a}}}async function Wp(t){let e=await _(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 l=[];for(let c of a){let m=eK(c);m&&l.push(m);}l.length>0&&(n[i]=l);}return n}var tK,wg=d(()=>{w();Mr();tK=["command","prompt"];s(eK,"toHookEntry");s(Wp,"parseHooks");});async function Hp(t){let e=await _(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 bg=d(()=>{w();s(Hp,"parseIgnore");});async function Ee(t,e={}){let r=join(t,".agentsmesh"),n=await $(r)?r:t,[o,i,a,l,c,m,p,u]=await Promise.all([Cs(join(n,"rules"),e),ks(join(n,"commands"),e),Es(join(n,"agents"),e),Ls(join(n,"skills"),e),vr(join(n,"mcp.json")),Kp(join(n,"permissions.yaml")),Wp(join(n,"hooks.yaml")),Hp(join(n,"ignore"))]);return {rules:o,commands:i,agents:a,skills:l,mcp:c,permissions:m,hooks:p,ignore:u}}var Ai=d(()=>{Kc();Wc();Hc();el();zc();Og();wg();bg();w();s(Ee,"loadCanonicalFiles");});function kC(t){return basename(t.source,".md")}function rl(t,e){let r=new Map(t.rules.map(p=>[kC(p),p]));for(let p of e.rules)r.set(kC(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=nK(t.mcp,e.mcp),l=oK(t.permissions,e.permissions),c=sK(t.hooks,e.hooks),m=iK(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:l,hooks:c,ignore:m}}function nK(t,e){if(!t&&!e)return null;let r=t?.mcpServers??{},n=e?.mcpServers??{};return {mcpServers:{...r,...n}}}function oK(t,e){if(!t&&!e)return null;let r=Pg(t?.allow??[],e?.allow??[]),n=Pg(t?.deny??[],e?.deny??[]),o=Pg(t?.ask??[],e?.ask??[]);return {allow:r,deny:n,ask:o}}function Pg(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 sK(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 iK(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 Tg=d(()=>{s(kC,"ruleSlug");s(rl,"mergeCanonicalFiles");s(nK,"mergeMcp");s(oK,"mergePermissions");s(Pg,"mergeUniqueStrings");s(sK,"mergeHooks");s(iK,"mergeIgnore");});function dK(t){return typeof t=="string"?t:t.level}function EC(t){return uK.includes(t)}function LC(t,e,r,n){for(let o of pK){let i=dK(e[o.feature]);if(i==="none")continue;let a=typeof t.generators[o.generator]=="function",l=EC(o.feature)&&typeof t.emitScopedSettings=="function";a||l||r.addIssue({code:"custom",path:[...n,o.feature],message:`Capability "${o.feature}" is "${i}" but generators.${o.generator}`+(EC(o.feature)?" or emitScopedSettings":"")+" is missing."});}}function zp(t){return yK.parse(t)}var Lo,OC,aK,lK,AC,cK,mK,pK,uK,fK,gK,hK,yK,xg=d(()=>{Lo=z.union([z.enum(["native","embedded","partial","none"]),z.object({level:z.enum(["native","embedded","partial","none"]),flavor:z.string().optional()})]),OC=z.object({rules:Lo,additionalRules:Lo,commands:Lo,agents:Lo,skills:Lo,mcp:Lo,hooks:Lo,ignore:Lo,permissions:Lo}),aK=z.object({name:z.string(),generateRules:z.function(),importFrom:z.function(),generateCommands:z.function().optional(),generateAgents:z.function().optional(),generateSkills:z.function().optional(),generateMcp:z.function().optional(),generatePermissions:z.function().optional(),generateHooks:z.function().optional(),generateIgnore:z.function().optional(),lint:z.function().optional()}).passthrough(),lK=z.object({rulePath:z.function(),commandPath:z.function(),agentPath:z.function()}),AC=z.object({paths:lK}).passthrough(),cK=z.object({capabilities:OC,detectionPaths:z.array(z.string()),layout:AC,scopeExtras:z.function().optional()}).passthrough(),mK=["global","globalCapabilities","globalDetectionPaths","generateScopeExtras"],pK=[{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"}],uK=["mcp","hooks","ignore","permissions"];s(dK,"capabilityLevel");s(EC,"canUseScopedSettings");s(LC,"validateCapabilityImplementations");fK=z.object({commandsToSkills:z.boolean().optional(),agentsToSkills:z.boolean().optional()}).strict(),gK=z.object({displayName:z.string().min(1),category:z.enum(["cli","ide","agent-platform"]),officialUrl:z.string().min(1),shortDescription:z.string().min(1)}).passthrough(),hK=z.object({id:z.string().regex(/^[a-z][a-z0-9-]*$/,"Target id must be lowercase with hyphens"),metadata:gK,generators:aK,capabilities:OC,emptyImportMessage:z.string(),lintRules:z.union([z.function(),z.null()]),project:AC,globalSupport:cK.optional(),buildImportPaths:z.function(),detectionPaths:z.array(z.string()),excludeFromStarterInit:z.boolean().optional(),conversionDefaults:fK.optional(),emitScopedSettings:z.function().optional(),mergeGeneratedOutputContent:z.function().optional(),postProcessHookOutputs:z.function().optional(),preservesManualActivation:z.boolean().optional()}).passthrough(),yK=hK.superRefine((t,e)=>{for(let r of mK)r in t&&e.addIssue({code:"custom",path:[r],message:`Use globalSupport instead of legacy field "${r}".`});LC(t,t.capabilities,e,["capabilities"]),t.globalSupport!==void 0&&LC(t,t.globalSupport.capabilities,e,["globalSupport","capabilities"]);});s(zp,"validateDescriptor");});function wC(){if(Dg)return Dg;let t=bt.filter(r=>r!==void 0&&typeof r.id=="string"),e=new Map(t.map(r=>[r.id,r]));return t.length===bt.length&&(Dg=e),e}function Jp(t){let e=zp(t);Vp.set(e.id,e);}function et(t){return Vp.get(t)??wC().get(t)}function Yp(){return [...Vp.values()]}function bC(){return [...new Set([...wC().keys(),...Vp.keys()])]}var Vp,Dg,se=d(()=>{Pt();xg();Vp=new Map;s(wC,"builtinDescriptors");s(Jp,"registerTargetDescriptor");s(et,"getDescriptor");s(Yp,"getAllDescriptors");s(bC,"getAllRegisteredDescriptorIds");});function PC(t,e){return et(t)?.conversionDefaults?.[e]}function TC(t,e){if(t!==void 0)return typeof t=="boolean"?t:t[e]}function nl(t,e,r,n="project"){let o=t.conversions?.commands_to_skills?.[e],i=TC(o,n);if(i!==void 0)return i;let a=PC(e,"commandsToSkills");return a!==void 0?a:r??false}function qe(t,e,r,n="project"){let o=t.conversions?.agents_to_skills?.[e],i=TC(o,n);if(i!==void 0)return i;let a=PC(e,"agentsToSkills");return a!==void 0?a:r??false}var ol=d(()=>{se();s(PC,"builtinDefault");s(TC,"resolveConversionValue");s(nl,"shouldConvertCommandsToSkills");s(qe,"shouldConvertAgentsToSkills");});function Gr(t,e){return e!==void 0?{level:t,flavor:e}:{level:t}}function $r(t){return typeof t=="string"?{level:t}:t}function xC(t){return {rules:$r(t.rules),additionalRules:$r(t.additionalRules),commands:$r(t.commands),agents:$r(t.agents),skills:$r(t.skills),mcp:$r(t.mcp),hooks:$r(t.hooks),ignore:$r(t.ignore),permissions:$r(t.permissions)}}var wi=d(()=>{s(Gr,"cap");s($r,"normalizeCapabilityValue");s(xC,"normalizeTargetCapabilities");});function DC(t){for(let e of bt)if(e.sharedArtifacts){for(let[r,n]of Object.entries(e.sharedArtifacts))if(n==="owner"&&t.startsWith(r))return e.id}return null}function _K(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 NC(t){let e=_K(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.
17
17
  `+r.join(`
18
18
  `)+`
19
- Resolve by changing one target's role to 'consumer' or by namespacing its prefix.`)}var $g=u(()=>{xt();s(kS,"ownerTargetIdForSharedPath");s(Kj,"findSharedArtifactOwnershipConflicts");s(wS,"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 `${Ka}${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(Ka)?e.slice(Ka.length):e.startsWith(Sl)?e.slice(Sl.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 Ka,Sl,St=u(()=>{M();Ka="am-command-",Sl="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 `${Ba}${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 Wa(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(Ba)?e.slice(Ba.length):e.startsWith(Cl)?e.slice(Cl.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 fs(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 Ba,Cl,at=u(()=>{M();Ba="am-agent-",Cl="ab-agent-";s(_p,"toStringArray");s(Wj,"toHooks");s($,"projectedAgentSkillDirName");s(Lt,"serializeProjectedAgentSkill");s(Wa,"parseProjectedAgentSkillFrontmatter");s(fs,"serializeImportedAgent");});function El(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function jg(t,e){return new RegExp(`${El(t)}[\\s\\S]*?${El(e)}`,"g")}function DS(t,e,r,o){let n=jg(e,r);if(n.test(t))return t.replace(n,o).trim();let i=t.trim();return i?`${i}
19
+ Resolve by changing one target's role to 'consumer' or by namespacing its prefix.`)}var Ng=d(()=>{Pt();s(DC,"ownerTargetIdForSharedPath");s(_K,"findSharedArtifactOwnershipConflicts");s(NC,"assertSharedArtifactOwnersUnique");});function RK(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 H(t){return `${sl}${t}`}function Nt(t){let e={name:H(t.name),description:t.description||void 0,"x-agentsmesh-kind":"command","x-agentsmesh-name":t.name,"x-agentsmesh-allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return e.description===void 0&&delete e.description,e["x-agentsmesh-allowed-tools"]===void 0&&delete e["x-agentsmesh-allowed-tools"],T(e,t.body.trim()||"")}function Xp(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(sl)?e.slice(sl.length):e.startsWith(Vc)?e.slice(Vc.length):"",o=(r||n).trim();return o?{name:o,description:typeof t.description=="string"?t.description:"",allowedTools:RK(t["x-agentsmesh-allowed-tools"])}:null}function Zp(t,e){return T({description:t.description,"allowed-tools":t.allowedTools},e.trim()||"")}var sl,Vc,kt=d(()=>{j();sl="am-command-",Vc="ab-command-";s(RK,"toStringArray");s(H,"commandSkillDirName");s(Nt,"serializeCommandSkill");s(Xp,"parseCommandSkillFrontmatter");s(Zp,"serializeImportedCommand");});function Qp(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 IK(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 U(t){return `${il}${t}`}function Tt(t){let e={name:U(t.name),description:t.description||void 0,"x-agentsmesh-kind":"agent","x-agentsmesh-name":t.name,"x-agentsmesh-tools":t.tools.length>0?t.tools:void 0,"x-agentsmesh-disallowed-tools":t.disallowedTools.length>0?t.disallowedTools:void 0,"x-agentsmesh-model":t.model||void 0,"x-agentsmesh-permission-mode":t.permissionMode||void 0,"x-agentsmesh-max-turns":t.maxTurns>0?t.maxTurns:void 0,"x-agentsmesh-mcp-servers":t.mcpServers.length>0?t.mcpServers:void 0,"x-agentsmesh-hooks":Object.keys(t.hooks).length>0?t.hooks:void 0,"x-agentsmesh-skills":t.skills.length>0?t.skills:void 0,"x-agentsmesh-memory":t.memory||void 0};return Object.keys(e).forEach(r=>{e[r]===void 0&&delete e[r];}),T(e,t.body.trim()||"")}function al(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(il)?e.slice(il.length):e.startsWith(Jc)?e.slice(Jc.length):"",o=(r||n).trim();return o?{name:o,description:typeof t.description=="string"?t.description:"",tools:Qp(t["x-agentsmesh-tools"]),disallowedTools:Qp(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:Qp(t["x-agentsmesh-mcp-servers"]),hooks:IK(t["x-agentsmesh-hooks"]),skills:Qp(t["x-agentsmesh-skills"]),memory:typeof t["x-agentsmesh-memory"]=="string"?t["x-agentsmesh-memory"]:""}:null}function Os(t,e){let r={name:t.name,description:t.description,tools:t.tools,disallowedTools:t.disallowedTools.length>0?t.disallowedTools:void 0,model:t.model||void 0,permissionMode:t.permissionMode||void 0,maxTurns:t.maxTurns>0?t.maxTurns:void 0,mcpServers:t.mcpServers.length>0?t.mcpServers:void 0,hooks:Object.keys(t.hooks).length>0?t.hooks:void 0,skills:t.skills.length>0?t.skills:void 0,memory:t.memory||void 0};return Object.keys(r).forEach(n=>{r[n]===void 0&&delete r[n];}),T(r,e.trim()||"")}var il,Jc,mt=d(()=>{j();il="am-agent-",Jc="ab-agent-";s(Qp,"toStringArray");s(IK,"toHooks");s(U,"projectedAgentSkillDirName");s(Tt,"serializeProjectedAgentSkill");s(al,"parseProjectedAgentSkillFrontmatter");s(Os,"serializeImportedAgent");});function Yc(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Fg(t,e){return new RegExp(`${Yc(t)}[\\s\\S]*?${Yc(e)}`,"g")}function GC(t,e,r,n){let o=Fg(e,r);if(o.test(t))return t.replace(o,n).trim();let i=t.trim();return i?`${i}
20
20
 
21
- ${o}`:o}function Ug(t,e,r){return t.replace(jg(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 `${PS}${JSON.stringify(Jj(t))}${xS}`}function Xj(t){let e=[Yj(t)];return t.description.trim()&&e.push(`## ${t.description.trim()}`,""),e.push(t.body.trim(),bS),e.filter(r=>r.length>0).join(`
22
- `)}function Zj(t){return t.length===0?"":[Ip,...t.map(Xj),Rp].join(`
23
- `)}function st(t,e){let r=Zj(e),o=Ug(t,Ip,Rp);return r?o?`${o}
21
+ ${n}`:n}function vg(t,e,r){return t.replace(Fg(e,r),"").trim()}function kK(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 EK(t){return {source:kK(t.source),description:t.description,globs:t.globs,targets:t.targets}}function LK(t){return `${MC}${JSON.stringify(EK(t))}${$C}`}function OK(t){let e=[LK(t)];return t.description.trim()&&e.push(`## ${t.description.trim()}`,""),e.push(t.body.trim(),vC),e.filter(r=>r.length>0).join(`
22
+ `)}function AK(t){return t.length===0?"":[qp,...t.map(OK),tu].join(`
23
+ `)}function lt(t,e){let r=AK(e),n=vg(t,qp,tu);return r?n?`${n}
24
24
 
25
- ${r}`:r:o}function TS(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:TS(r.globs),targets:TS(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 NS(t){let e=[],r=jg(Ip,Rp);return {rootContent:t.replace(r,n=>{let i=n.replace(Ip,"").replace(Rp,"").trim(),a=new RegExp(`${El(PS)}([\\s\\S]*?)${El(xS)}([\\s\\S]*?)${El(bS)}`,"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 Ol,Ll,Ip,Rp,bS,PS,xS,Mt=u(()=>{Ol="<!-- agentsmesh:root-generation-contract:start -->",Ll="<!-- agentsmesh:root-generation-contract:end -->",Ip="<!-- agentsmesh:embedded-rules:start -->",Rp="<!-- agentsmesh:embedded-rules:end -->",bS="<!-- agentsmesh:embedded-rule:end -->",PS="<!-- agentsmesh:embedded-rule:start ",xS=" -->";s(El,"escapeRegExp");s(jg,"managedBlockPattern");s(DS,"replaceManagedBlock");s(Ug,"stripManagedBlock");s(Vj,"ruleSource");s(Jj,"markerForRule");s(Yj,"embeddedRuleStart");s(Xj,"renderRule");s(Zj,"renderEmbeddedRulesBlock");s(st,"appendEmbeddedRulesBlock");s(TS,"toStringArray");s(Qj,"parseMarker");s(qj,"stripGeneratedHeading");s(NS,"extractEmbeddedRules");});function Kg(t){return t.replace(/\s+/g," ").trim()}function vS(t){let e=t.trim();if(e.includes(Ol)&&e.includes(Ll))return DS(e,Ol,Ll,Ha);let r=Kg(e);if(r.includes(Kg(Ha)))return e;for(let o of FS)if(r.includes(Kg(o)))return e.replace(o,Ha);return e?`${e}
25
+ ${r}`:r:n}function FC(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function wK(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:FC(r.globs),targets:FC(r.targets)}}catch{return null}}function bK(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 jC(t){let e=[],r=Fg(qp,tu);return {rootContent:t.replace(r,o=>{let i=o.replace(qp,"").replace(tu,"").trim(),a=new RegExp(`${Yc(MC)}([\\s\\S]*?)${Yc($C)}([\\s\\S]*?)${Yc(vC)}`,"g");for(let l of i.matchAll(a)){let c=l[1],m=l[2];if(c===void 0||m===void 0)continue;let p=wK(c);p&&e.push({...p,body:bK(m,p.description)});}return ""}).trim(),rules:e}}var Xc,Zc,qp,tu,vC,MC,$C,Ut=d(()=>{Xc="<!-- agentsmesh:root-generation-contract:start -->",Zc="<!-- agentsmesh:root-generation-contract:end -->",qp="<!-- agentsmesh:embedded-rules:start -->",tu="<!-- agentsmesh:embedded-rules:end -->",vC="<!-- agentsmesh:embedded-rule:end -->",MC="<!-- agentsmesh:embedded-rule:start ",$C=" -->";s(Yc,"escapeRegExp");s(Fg,"managedBlockPattern");s(GC,"replaceManagedBlock");s(vg,"stripManagedBlock");s(kK,"ruleSource");s(EK,"markerForRule");s(LK,"embeddedRuleStart");s(OK,"renderRule");s(AK,"renderEmbeddedRulesBlock");s(lt,"appendEmbeddedRulesBlock");s(FC,"toStringArray");s(wK,"parseMarker");s(bK,"stripGeneratedHeading");s(jC,"extractEmbeddedRules");});function Mg(t){return t.replace(/\s+/g," ").trim()}function BC(t){let e=t.trim();if(e.includes(Xc)&&e.includes(Zc))return GC(e,Xc,Zc,ll);let r=Mg(e);if(r.includes(Mg(ll)))return e;for(let n of UC)if(r.includes(Mg(n)))return e.replace(n,ll);return e?`${e}
26
26
 
27
- ${Ha}`:Ha}function GS(t){let e=Ug(t,Ol,Ll);e=e.replace(`
27
+ ${ll}`:ll}function KC(t){let e=vg(t,Xc,Zc);e=e.replace(`
28
28
 
29
- ${Ha}`,"");for(let r of FS)e=e.replace(`
29
+ ${ll}`,"");for(let r of UC)e=e.replace(`
30
30
 
31
- ${r}`,"");return e.trim()}var Bg,tU,eU,rU,oU,nU,sU,iU,aU,cU,lU,mU,pU,uU,dU,gU,fU,Ha,FS,Wg=u(()=>{Mt();Bg="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=Bg,cU=`## Project-Specific Rules
31
+ ${r}`,"");return e.trim()}var $g,PK,TK,xK,DK,NK,FK,vK,MK,$K,GK,jK,UK,BK,KK,WK,HK,ll,UC,Gg=d(()=>{Ut();$g="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.",PK="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.",TK="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.",xK="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.",DK="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`.",NK="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`.",FK="`.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`.",vK="`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.",MK=$g,$K=`## Project-Specific Rules
32
32
 
33
- ${Bg}`,lU=`## AgentsMesh Generation Contract
33
+ ${$g}`,GK=`## AgentsMesh Generation Contract
34
34
 
35
- ${Bg}`,mU=`## AgentsMesh Generation Contract
35
+ ${$g}`,jK=`## AgentsMesh Generation Contract
36
36
 
37
- ${tU}`,pU=`## AgentsMesh Generation Contract
37
+ ${PK}`,UK=`## AgentsMesh Generation Contract
38
38
 
39
- ${eU}`,uU=`## AgentsMesh Generation Contract
39
+ ${TK}`,BK=`## AgentsMesh Generation Contract
40
40
 
41
- ${rU}`,dU=`## AgentsMesh Generation Contract
41
+ ${xK}`,KK=`## AgentsMesh Generation Contract
42
42
 
43
- ${oU}`,gU=`## AgentsMesh Generation Contract
43
+ ${DK}`,WK=`## AgentsMesh Generation Contract
44
44
 
45
- ${nU}`,fU=`## AgentsMesh Generation Contract
45
+ ${NK}`,HK=`## AgentsMesh Generation Contract
46
46
 
47
- ${sU}`,Ha=`${Ol}
47
+ ${FK}`,ll=`${Xc}
48
48
  ## AgentsMesh Generation Contract
49
49
 
50
- ${iU}
51
- ${Ll}`;s(Kg,"normalizeWhitespace");FS=[fU,gU,dU,uU,pU,mU,lU,cU,aU];s(vS,"appendAgentsmeshRootInstructionParagraph");s(GS,"stripAgentsmeshRootInstructionParagraph");});function me(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 za(t){let e=await y(t);return e?w(e).frontmatter:{}}function Vt(t,e){return typeof t[e]=="string"?t[e]:void 0}function Hg(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 za(t),n=basename(t,".md")==="_root"?GS(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=me(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 zg=u(()=>{T();M();Wg();s(me,"toStringArray");s(za,"readExistingFrontmatter");s(Vt,"readString");s(Hg,"readHooks");s(hU,"pruneUndefined");s(yU,"serializeCanonicalRuleFrontmatter");s(K,"serializeImportedRuleWithFallback");});async function ht(t,e,r){let o=await za(t),n=(()=>{let c=me(o.allowedTools);return c.length>0?c:me(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 uo(t,e,r){let o=await za(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 za(t),n=Object.prototype.hasOwnProperty.call(e,"tools")?me(e.tools):(()=>{let O=me(o.tools);return O.length>0?O:[]})(),i=Object.prototype.hasOwnProperty.call(e,"disallowedTools")?me(e.disallowedTools):Object.prototype.hasOwnProperty.call(e,"disallowed-tools")?me(e["disallowed-tools"]):me(o.disallowedTools),a=Object.prototype.hasOwnProperty.call(e,"mcpServers")?me(e.mcpServers):Object.prototype.hasOwnProperty.call(e,"mcp-servers")?me(e["mcp-servers"]):me(o.mcpServers),c=Object.prototype.hasOwnProperty.call(e,"skills")?me(e.skills):me(o.skills),l=e.maxTurns??e["max-turns"]??o.maxTurns,m=typeof l=="number"?l:Number(l??0),p=Hg(e)??Hg(o),d={name:Vt(e,"name")??Vt(o,"name")??basename(t,".md"),description:Vt(e,"description")??Vt(o,"description")??"",tools:n};i.length>0&&(d.disallowedTools=i);let g=Vt(e,"model")??Vt(o,"model");g&&(d.model=g);let f=Vt(e,"permissionMode")??Vt(e,"permission-mode")??Vt(o,"permissionMode")??Vt(o,"permission-mode");f&&(d.permissionMode=f),Number.isInteger(m)&&m>0&&(d.maxTurns=m),a.length>0&&(d.mcpServers=a),p&&Object.keys(p).length>0&&(d.hooks=p),c.length>0&&(d.skills=c);let h=Vt(e,"memory")??Vt(o,"memory");return h&&(d.memory=h),P(d,r.trim()||"")}var jS=u(()=>{M();zg();s(ht,"serializeImportedCommandWithFallback");s(uo,"serializeImportedSkillWithFallback");s(Bt,"serializeImportedAgentWithFallback");});var lt=u(()=>{zg();jS();});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 go(t){await rm$1(t,{recursive:true,force:true});}var Al=u(()=>{s(Sp,"shouldImportScopedAgentsRule");s(go,"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,kl,a.name),d=join(p,"SKILL.md"),{frontmatter:g,body:f}=w(n(m,l,d)),h=hp(g,a.name);if(h){await go(join(t,kl,a.name));let A=join(t,US);await L(A);let F=join(A,`${h.name}.md`);await I(F,yp(h,n(f,l,F))),o.push({fromTool:r,fromPath:l,toPath:`${US}/${h.name}.md`,feature:"commands"});continue}let O=Wa(g,a.name);if(O){await go(join(t,kl,a.name));let A=join(t,KS);await L(A);let F=join(A,`${O.name}.md`);await I(F,fs(O,n(f,l,F))),o.push({fromTool:r,fromPath:l,toPath:`${KS}/${O.name}.md`,feature:"agents"});continue}let R=await uo(d,{...g,name:a.name},f);await L(p),await I(d,R),o.push({fromTool:r,fromPath:l,toPath:`${kl}/${a.name}/SKILL.md`,feature:"skills"});let E=await N(c);for(let A of E){if(A===l)continue;let F=relative(c,A).replace(/\\/g,"/"),v=await y(A);if(v===null)continue;let G=join(p,F);await L(dirname(G)),await I(G,n(v,A,G)),o.push({fromTool:r,fromPath:A,toPath:`${kl}/${a.name}/${F}`,feature:"skills"});}}}var kl,US,KS,Q=u(()=>{T();M();lt();at();St();Al();kl=".agentsmesh/skills",US=".agentsmesh/commands",KS=".agentsmesh/agents";s(tt,"generateEmbeddedSkills");s(Z,"importEmbeddedSkills");});var fo,Ye,re,fn,hn,Xe,Ii,BS,WS,Va=u(()=>{fo="aider",Ye="CONVENTIONS.md",re=".aider/skills",fn=".aiderignore",hn="CONVENTIONS.md",Xe=".aider/skills",Ii=".aiderignore",BS=".agentsmesh/rules",WS=".agentsmesh/ignore";});function HS(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(fo)),o=e?.body.trim()??"",n=st(o,r);return n?[{path:Ye,content:n}]:[]}function zS(t){return tt(t,re)}function VS(t){return t.commands.map(e=>({path:`${re}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function JS(t){return t.agents.map(e=>({path:`${re}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function YS(t){return t.ignore.length===0?[]:[{path:fn,content:t.ignore.join(`
52
- `)}]}var XS=u(()=>{Q();Mt();at();St();Va();s(HS,"generateRules");s(zS,"generateSkills");s(VS,"generateCommands");s(JS,"generateAgents");s(YS,"generateIgnore");});async function $t(t,e,r){let o=join(t,e),i={...await LU(o),...r};await L(dirname(o)),await I(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 Nr=u(()=>{T();s($t,"writeMcpWithMerge");s(LU,"readExistingServers");});function yn(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}function Ze(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 hs(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function ho(t){return !t||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}var Qe=u(()=>{s(yn,"toGlobsArray");s(Ze,"toToolsArray");s(hs,"toStringArray");s(ho,"toStringRecord");});function wU(t,e){return e.some(r=>t.endsWith(r))}async function yt(t){let r=(await N(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 I(c.destPath,c.content),o.push({fromTool:t.fromTool,fromPath:n,toPath:c.toPath,feature:c.feature}));}return o}var ke=u(()=>{T();s(wU,"matchesExtension");s(yt,"importFileDirectory");});function ZS(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 Jg(t,e){return e?e(t):t}function bU(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:o,body:n}=w(e.normalizeTo(r)),i=Jg(o,t.frontmatterRemap),a=TU({root:false,description:ZS(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}=w(e.normalizeTo(r)),i=Jg(o,t.frontmatterRemap),a=await ht(r,{hasDescription:true,description:ZS(i.description),hasAllowedTools:true,allowedTools:hs(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}=w(e.normalizeTo(r)),i=Jg(o,t.frontmatterRemap);return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:await Bt(r,i,n)}}}function QS(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 qS=u(()=>{M();lt();Qe();s(ZS,"pickString");s(TU,"pruneUndefined");s(Jg,"applyRemap");s(bU,"ruleMapper");s(PU,"commandMapper");s(xU,"agentMapper");s(QS,"resolveMapper");});function Yg(t,e){return t?t[e]??[]:[]}var tC,eC=u(()=>{tC=["rules","commands","agents","skills","mcp","hooks","permissions","ignore"];s(Yg,"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 I(R.destPath,R.content),[{fromTool:o,fromPath:c,toPath:R.toPath,feature:t.feature}]}let{frontmatter:d,body:g}=w(p(m)),f=t.frontmatterRemap?t.frontmatterRemap(d):d,h=t.markAsRoot?{...f,root:true}:f,O=await K(m,h,g);return await I(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=QS(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:d,relativePath:g,content:f,normalizeTo:h})=>{let O=await i({absolutePath:d,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 oC(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=oC(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 I(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:hs(a.args),env:ho(a.env),description:c};continue}typeof a.url=="string"&&(o[n]={type:typeof a.type=="string"?a.type:"http",url:a.url,headers:ho(a.headers),env:ho(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=oC(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 rC(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=Yg(t.source,e),a=Yg(t.fallbacks,e);if(i.length===0&&a.length===0)return [];if(i.length>0){let c=await rC(t,i,r,o,n);if(c.length>0)return c}return a.length>0?rC(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 tC)for(let l of UU(n,c))a.push(...await jU(l,r,e,t.id,i));return a}var Ct=u(()=>{mt();T();Nr();M();Qe();lt();ke();qS();eC();s(FU,"runSingleFile");s(vU,"runDirectory");s(oC,"resolveCanonicalFilePath");s(GU,"runFlatFile");s(MU,"parseMcpJson");s($U,"runMcpJson");s(rC,"dispatchSpec");s(jU,"runSpec");s(UU,"specsForFeature");s(z,"runDescriptorImport");});async function nC(t,e={}){let r=e.scope??"project",o=[],n=await U(fo,t,r);return o.push(...await z(Cp,t,r,{normalize:n})),await Z(t,r==="global"?Xe:re,fo,o,n),o}var sC=u(()=>{mt();Q();Ct();Va();Xg();s(nC,"importFromAider");});function KU(t,e){return aC(e).some(o=>BU(t,o))}function iC(t,e){return t.filter(r=>KU(r,e))}function aC(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 aC(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 cC=u(()=>{s(KU,"globMatch");s(iC,"globFilter");s(aC,"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(iC(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=u(()=>{cC();s(H,"validateRules");});function mC(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:fo}))}var pC=u(()=>{_t();Va();s(mC,"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 _s(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=u(()=>{s(b,"createWarning");s(HU,"formatOxfordComma");s(_s,"createUnsupportedHookWarning");});function uC(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 dC(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 gC(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 fC=u(()=>{Et();s(uC,"lintHooks");s(dC,"lintPermissions");s(gC,"lintMcp");});function S(t,e){return et(t).relative(t,e).replace(/\\/g,"/")}async function C(t,e){return N(et(t).join(t,e)).catch(()=>[])}function yC(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!==".";)yC(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 D(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 d=basename(o,".md");t.set(e,`${hC}/${d}/SKILL.md`);return}let[n,...i]=o.split("/"),a=i.join("/");if(!n||!a)return;let c=n.startsWith(Ka)?Ka:n.startsWith(Sl)?Sl:null;if(c&&a==="SKILL.md"){t.set(e,`${YU}/${n.slice(c.length)}.md`);return}let l=n.startsWith(Ba)?Ba:n.startsWith(Cl)?Cl:null;if(l&&a==="SKILL.md"){t.set(e,`${XU}/${n.slice(l.length)}.md`);return}let m=`${hC}/${n}`;a==="SKILL.md"&&yC(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(Zg!==void 0)return Zg;let{BUILTIN_TARGETS:t}=await Promise.resolve().then(()=>(xt(),_C)),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 Zg=e,e}function qg(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)||qg(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)||qg(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=S(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(qg(c))continue;let l=c.replace(/\//g,"-");t.set(n,`${JU}/${l}.md`);}}var JU,YU,XU,hC,Zg,It=u(()=>{ee();T();St();at();JU=".agentsmesh/rules",YU=".agentsmesh/commands",XU=".agentsmesh/agents",hC=".agentsmesh/skills";s(S,"rel");s(C,"listFiles");s(yC,"addDirectoryMapping");s(ZU,"addAncestorMappings");s(x,"addSimpleFileMapping");s(D,"addSkillLikeMapping");s(QU,"firstPathSegment");s(qU,"targetRootSegments");s(qg,"hasHiddenSegment");s(t0,"listScopedAgentsFiles");s(Ep,"addScopedAgentsMappings");});var k,rt,Ot,gt=u(()=>{k=".agentsmesh/rules",rt=".agentsmesh/commands",Ot=".agentsmesh/agents";});async function tf(t,e,r="project"){if(r==="global"){t.set(hn,`${k}/_root.md`);for(let o of await C(e,Xe))D(t,S(e,o),Xe);t.set(Ii,".agentsmesh/ignore");return}t.set(Ye,`${k}/_root.md`);for(let o of await C(e,re))D(t,S(e,o),re);t.set(fn,".agentsmesh/ignore");}var IC=u(()=>{It();Va();gt();s(tf,"buildAiderImportPaths");});var Ri,Fr,Si,Is,Tl,RC,SC,bl=u(()=>{Ri="amazon-q",Fr=".amazonq/rules",Si=".amazonq/mcp.json",Is=".aws/amazonq/rules",Tl=".aws/amazonq/mcp.json",RC=".agentsmesh/rules",SC=".agentsmesh/mcp.json";});async function ef(t,e,r="project"){let o=r==="global"?Is:Fr;for(let n of await C(e,o)){let i=S(e,n);x(t,i,k,".md");}}var CC=u(()=>{It();bl();gt();s(ef,"buildAmazonQImportPaths");});var qe,oe,yo,rf,_n,tr,In,EC,Ci=u(()=>{qe="AGENTS.md",oe=".agents/skills",yo=".amp/settings.json",rf=".config/amp",_n=`${rf}/AGENTS.md`,tr=`${rf}/skills`,In=`${rf}/settings.json`,EC=".agentsmesh/rules";});async function of(t,e,r="project"){if(r==="global"){t.set(_n,`${k}/_root.md`);for(let o of await C(e,tr))D(t,S(e,o),tr);t.set(In,".agentsmesh/mcp.json");return}t.set(qe,`${k}/_root.md`);for(let o of await C(e,oe))D(t,S(e,o),oe);t.set(yo,".agentsmesh/mcp.json");}var OC=u(()=>{It();Ci();gt();s(of,"buildAmpImportPaths");});var Ei,Op,_o,vr,Pl,Gr,Rn,xl,Io,Sn,Dl,Ja,nf,Oi,Lp,LC,Li=u(()=>{Ei="antigravity",Op=".agents",_o=`${Op}/rules`,vr=`${_o}/general.md`,Pl=`${_o}/_root.md`,Gr=`${Op}/skills`,Rn=`${Op}/workflows`,xl=`${Op}/antigravity/mcp_config.json`,Io=".gemini/antigravity/GEMINI.md",Sn=".gemini/antigravity/skills",Dl=".gemini/antigravity/workflows",Ja=".gemini/antigravity/mcp_config.json",nf=".agentsmesh/rules/_root.md",Oi=".agentsmesh/rules",Lp=".agentsmesh/commands",LC=".agentsmesh/mcp.json";});async function sf(t,e,r="project"){if(r==="global"){t.set(Io,`${k}/_root.md`);for(let o of await C(e,Sn))D(t,S(e,o),Sn);t.set(Ja,".agentsmesh/mcp.json");return}t.set(vr,`${k}/_root.md`),t.set(Pl,`${k}/_root.md`);for(let o of await C(e,_o)){let n=S(e,o);n===vr||n===Pl||x(t,n,k,".md");}for(let o of await C(e,Rn))x(t,S(e,o),rt,".md");for(let o of await C(e,Gr))D(t,S(e,o),Gr);}var AC=u(()=>{It();Li();gt();s(sf,"buildAntigravityImportPaths");});var ne,Ap,we,er,Te,Ro,So,kp,Cn,En,Co,On,af,cf,lf,mf,Ai=u(()=>{ne="augment-code",Ap=".augment",we=`${Ap}/rules`,er=`${Ap}/commands`,Te=`${Ap}/skills`,Ro=`${Ap}/settings.json`,So=".augmentignore",kp=".augment",Cn=`${kp}/rules`,En=`${kp}/commands`,Co=`${kp}/skills`,On=`${kp}/settings.json`,af=".agentsmesh/rules",cf=".agentsmesh/mcp.json",lf=".agentsmesh/hooks.yaml",mf=".agentsmesh/ignore";});async function pf(t,e,r="project"){if(r==="global"){for(let o of await C(e,Cn))x(t,S(e,o),k,".md");for(let o of await C(e,En))x(t,S(e,o),rt,".md");for(let o of await C(e,Co))D(t,S(e,o),Co);t.set(On,".agentsmesh/mcp.json");return}for(let o of await C(e,we))x(t,S(e,o),k,".md");for(let o of await C(e,er))x(t,S(e,o),rt,".md");for(let o of await C(e,Te))D(t,S(e,o),Te);t.set(Ro,".agentsmesh/mcp.json"),t.set(So,".agentsmesh/ignore");}var kC=u(()=>{It();Ai();gt();s(pf,"buildAugmentCodeImportPaths");});var wC,Rs,TC,Nl,Fl,vl,Gl,Ml,Ln,uf,$l,Ya,jl,Ul,wp,Tp,df,Kl,gf,ki,bC,An=u(()=>{wC="claude-code",Rs=".claude/CLAUDE.md",TC="CLAUDE.md",Nl=".claude/rules",Fl=".claude/commands",vl=".claude/agents",Gl=".claude/skills",Ml=".claude/settings.json",Ln=".claude/hooks.json",uf=".claude/output-styles",$l=".claudeignore",Ya=".mcp.json",jl=".claude.json",Ul=".agentsmesh/rules",wp=".agentsmesh/commands",Tp=".agentsmesh/agents",df=".agentsmesh/skills",Kl=".agentsmesh/mcp.json",gf=".agentsmesh/permissions.yaml",ki=".agentsmesh/hooks.yaml",bC=".agentsmesh/ignore";});async function ff(t,e,r="project"){if(t.set(".claude/CLAUDE.md",`${k}/_root.md`),t.set(Ln,ki),r==="project"&&t.set("CLAUDE.md",`${k}/_root.md`),r==="global")for(let o of await C(e,".agents/skills"))D(t,S(e,o),".agents/skills");for(let o of await C(e,".claude/rules"))x(t,S(e,o),k,".md");for(let o of await C(e,".claude/commands"))x(t,S(e,o),rt,".md");for(let o of await C(e,".claude/agents"))x(t,S(e,o),Ot,".md");for(let o of await C(e,".claude/skills"))D(t,S(e,o),".claude/skills");}var PC=u(()=>{It();An();gt();s(ff,"buildClaudeCodeImportPaths");});var Ss,kn,wi,wn,xC,Jt,Eo,Cs,Ti,bi,Pi,xi,hf,Es,bp,yf,_f,DC,NC,rr=u(()=>{Ss="cline",kn=".clinerules",wi=".clineignore",wn=".cline/cline_mcp_settings.json",xC=".cline/mcp_settings.json",Jt=".cline/skills",Eo=".clinerules/workflows",Cs="AGENTS.md",Ti=".clinerules/hooks",bi="Documents/Cline/Rules",Pi="Documents/Cline/Workflows",xi="Documents/Cline/Hooks",hf=".agentsmesh/hooks.yaml",Es=".agentsmesh/rules",bp=".agentsmesh/commands",yf=".agentsmesh/ignore",_f=".agentsmesh/mcp.json",DC=".agentsmesh/agents",NC=".agentsmesh/skills";});async function If(t,e,r="project"){if(r==="global"){for(let o of await C(e,bi))x(t,S(e,o),k,".md");for(let o of await C(e,Pi))x(t,S(e,o),rt,".md");for(let o of await C(e,Jt))D(t,S(e,o),Jt);t.set(wn,".agentsmesh/mcp.json");return}t.set(".clinerules/_root.md",`${k}/_root.md`);for(let o of await C(e,".clinerules")){let n=S(e,o);!n.endsWith(".md")||n.includes("/workflows/")||basename(n)==="_root.md"||x(t,n,k,".md");}for(let o of await C(e,".clinerules/workflows"))x(t,S(e,o),rt,".md");for(let o of await C(e,".cline/skills"))D(t,S(e,o),".cline/skills");}var FC=u(()=>{It();rr();gt();s(If,"buildClineImportPaths");});async function Rf(t,e,r="project"){if(r==="global"?(t.set(".codex/AGENTS.md",`${k}/_root.md`),t.set(".codex/AGENTS.override.md",`${k}/_root.md`)):(t.set("AGENTS.md",`${k}/_root.md`),t.set("codex.md",`${k}/_root.md`),await Ep(t,e)),r==="project")for(let o of await C(e,".codex/instructions"))x(t,S(e,o),k,".md");for(let o of await C(e,".codex/rules")){let n=S(e,o);n.endsWith(".rules")?x(t,n,k,".rules"):n.endsWith(".md")&&x(t,n,k,".md");}for(let o of await C(e,".codex/agents"))x(t,S(e,o),Ot,".toml");for(let o of await C(e,".agents/skills"))D(t,S(e,o),".agents/skills");}var vC=u(()=>{It();gt();s(Rf,"buildCodexCliImportPaths");});var Xa,Mr,Oo,Sf,Pp,Tn,Cf,be,Za,Bl,xp,Dp,Ef,Lo=u(()=>{Xa="continue",Mr=".continue/rules",Oo=".continue/prompts",Sf=".continue/mcpServers",Pp=`${Sf}/agentsmesh.json`,Tn=`${Mr}/general.md`,Cf=`${Mr}/_root.md`,be=".continue/skills",Za=".continue/AGENTS.md",Bl=".continue/config.yaml",xp=".agentsmesh/rules",Dp=".agentsmesh/commands",Ef=".agentsmesh/mcp.json";});async function Of(t,e,r="project"){t.set(Tn,`${k}/_root.md`),t.set(Cf,`${k}/_root.md`);for(let o of await C(e,".continue/rules")){let n=S(e,o);n===Tn||n===Cf||x(t,n,k,".md");}for(let o of await C(e,".continue/prompts"))t.set(S(e,o),`${rt}/${basename(o,".md")}.md`);for(let o of await C(e,".continue/skills"))D(t,S(e,o),".continue/skills");if(r==="global")for(let o of await C(e,".agents/skills"))D(t,S(e,o),".agents/skills");}var GC=u(()=>{It();Lo();gt();s(Of,"buildContinueImportPaths");});function o0(t,e){if(e.endsWith(".instructions.md")){t.set(e,`${k}/${basename(e,".instructions.md")}.md`);return}x(t,e,k,".md");}async function Lf(t,e){t.set(".github/copilot-instructions.md",`${k}/_root.md`);for(let r of await C(e,".github/copilot"))t.set(S(e,r),`${k}/${basename(r,".instructions.md")}.md`);for(let r of await C(e,".github/instructions"))o0(t,S(e,r));for(let r of await C(e,".github/prompts"))t.set(S(e,r),`${rt}/${basename(r,".prompt.md")}.md`);for(let r of await C(e,".github/agents"))t.set(S(e,r),`${Ot}/${basename(r,".agent.md")}.md`);for(let r of await C(e,".github/skills"))D(t,S(e,r),".github/skills");}var MC=u(()=>{It();gt();s(o0,"addCopilotInstructionMapping");s(Lf,"buildCopilotImportPaths");});var or,nr,Yt,Pe,bn,$C,Fp,xe,Di,vp,Gp,Mp,Qa=u(()=>{or="crush",nr="CRUSH.md",Yt=".crush/skills",Pe="crush.json",bn=".crushignore",$C=".config/crush",Fp=`${$C}/crush.json`,xe=".config/crush/skills",Di=`${$C}/CRUSH.md`,vp=".agentsmesh/rules",Gp=".agentsmesh/ignore",Mp=".agentsmesh/mcp.json";});async function Af(t,e,r="project"){if(r==="global"){for(let o of await C(e,xe))D(t,S(e,o),xe);return}t.set(nr,`${vp}/_root.md`),t.set(Pe,Mp),t.set(bn,Gp);for(let o of await C(e,Yt))D(t,S(e,o),Yt);}var jC=u(()=>{It();Qa();s(Af,"buildCrushImportPaths");});var UC,Os,KC,sr,Pn,ir,qa,Ao,ko,wo,$p,$r,kf,n0,tc,jr,Wl,Ls,As,To,ks,ws,BC,ec,wf,Hl,Tf,jt=u(()=>{UC="cursor",Os="AGENTS.md",KC=".cursorrules",sr=".cursor/rules",Pn=`${sr}/general.mdc`,ir=".cursor/commands",qa=".cursor/agents",Ao=".cursor/skills",ko=".cursor/mcp.json",wo=".cursor/hooks.json",$p=".cursor/settings.json",$r=".cursorignore",kf=".cursorindexingignore",n0=".agentsmesh-exports/cursor",tc=`${n0}/user-rules.md`,jr=".cursor/AGENTS.md",Wl=ko,Ls=Ao,As=qa,To=".agentsmesh/rules",ks=".agentsmesh/commands",ws=".agentsmesh/agents",BC=".agentsmesh/skills",ec=".agentsmesh/mcp.json",wf=".agentsmesh/permissions.yaml",Hl=".agentsmesh/hooks.yaml",Tf=".agentsmesh/ignore";});async function bf(t,e,r="project"){if(r==="global"){t.set(ko,".agentsmesh/mcp.json"),t.set(".cursor/AGENTS.md",`${k}/_root.md`);for(let o of await C(e,".cursor/rules"))x(t,S(e,o),k,".mdc");for(let o of await C(e,".cursor/commands"))x(t,S(e,o),rt,".md");for(let o of await C(e,".cursor/agents"))x(t,S(e,o),Ot,".md");for(let o of await C(e,".cursor/skills"))D(t,S(e,o),".cursor/skills");return}t.set("AGENTS.md",`${k}/_root.md`);for(let o of await C(e,".cursor/rules"))x(t,S(e,o),k,".mdc");for(let o of await C(e,".cursor/commands"))x(t,S(e,o),rt,".md");for(let o of await C(e,".cursor/agents"))x(t,S(e,o),Ot,".md");for(let o of await C(e,".cursor/skills"))D(t,S(e,o),".cursor/skills");}var WC=u(()=>{It();jt();gt();s(bf,"buildCursorImportPaths");});var bo,ar,se,xn,Dn,Ur,Ni,HC,rc=u(()=>{bo="deepagents-cli",ar=".deepagents/AGENTS.md",se=".deepagents/skills",xn=".mcp.json",Dn=".deepagents/AGENTS.md",Ur=".deepagents/skills",Ni=".deepagents/.mcp.json",HC=".agentsmesh/rules";});async function Pf(t,e,r="project"){if(r==="global"){t.set(Dn,`${k}/_root.md`);for(let o of await C(e,Ur))D(t,S(e,o),Ur);t.set(Ni,".agentsmesh/mcp.json");return}t.set(ar,`${k}/_root.md`);for(let o of await C(e,se))D(t,S(e,o),se);t.set(xn,".agentsmesh/mcp.json");}var zC=u(()=>{It();rc();gt();s(Pf,"buildDeepagentsCliImportPaths");});var cr,lr,_e,Po,xo,Nn,Do,Fi,Ts,VC,vi=u(()=>{cr="factory-droid",lr="AGENTS.md",_e=".factory/skills",Po=".factory/droids",xo=".factory/mcp.json",Nn=".factory/AGENTS.md",Do=".factory/skills",Fi=".factory/droids",Ts=".factory/mcp.json",VC=".agentsmesh/rules";});async function xf(t,e,r="project"){if(r==="global"){t.set(Nn,`${k}/_root.md`);for(let o of await C(e,Fi))x(t,S(e,o),Ot,".md");for(let o of await C(e,Do))D(t,S(e,o),Do);t.set(Ts,".agentsmesh/mcp.json");return}t.set(lr,`${k}/_root.md`);for(let o of await C(e,Po))x(t,S(e,o),Ot,".md");for(let o of await C(e,_e))D(t,S(e,o),_e);t.set(xo,".agentsmesh/mcp.json");}var JC=u(()=>{It();vi();gt();s(xf,"buildFactoryDroidImportPaths");});async function Df(t,e){for(let r of await C(e,".gemini/rules"))x(t,S(e,r),k,".md");for(let r of await C(e,".gemini/commands")){let o=S(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 C(e,".gemini/agents"))x(t,S(e,r),Ot,".md");for(let r of await C(e,".gemini/skills"))D(t,S(e,r),".gemini/skills");}var YC=u(()=>{It();gt();s(Df,"buildGeminiCliImportPaths");});var No,mr,pe,Fn,XC,vn,Gi,pr,ZC,QC,oc=u(()=>{No="goose",mr=".goosehints",pe=".agents/skills",Fn=".gooseignore",XC=".config/goose",vn=`${XC}/.goosehints`,Gi=`${XC}/.gooseignore`,pr=".agents/skills",ZC=".agentsmesh/rules",QC=".agentsmesh/ignore";});async function Nf(t,e,r="project"){if(r==="global"){t.set(vn,`${k}/_root.md`);for(let o of await C(e,pr))D(t,S(e,o),pr);t.set(Gi,".agentsmesh/ignore");return}t.set(mr,`${k}/_root.md`);for(let o of await C(e,pe))D(t,S(e,o),pe);t.set(Fn,".agentsmesh/ignore");}var qC=u(()=>{It();oc();gt();s(Nf,"buildGooseImportPaths");});var Gn,Kr,tE,nc=u(()=>{Gn="jules",Kr="AGENTS.md",tE=".agentsmesh/rules";});async function Ff(t,e,r="project"){r!=="global"&&t.set(Kr,`${k}/_root.md`);}var eE=u(()=>{nc();gt();s(Ff,"buildJulesImportPaths");});var Mi,bs,jp,rE,Fo,oE,s0,zl,$i,Vl,sc,ic,Jl,Yl,Xl,Zl,Ql,i0,Up,ji,nE,vf,Kp,sE,iE,aE,cE,ac=u(()=>{Mi="junie",bs=".junie",jp=`${bs}/guidelines.md`,rE=`${bs}/ci-guidelines.md`,Fo=`${bs}/AGENTS.md`,oE="AGENTS.md",s0=`${bs}/mcp`,zl=`${s0}/mcp.json`,$i=`${bs}/skills`,Vl=`${bs}/rules`,sc=`${bs}/commands`,ic=`${bs}/agents`,Jl=".aiignore",Yl=".junie",Xl=`${Yl}/skills`,Zl=`${Yl}/agents`,Ql=`${Yl}/commands`,i0=`${Yl}/mcp`,Up=`${i0}/mcp.json`,ji=`${Yl}/AGENTS.md`,nE=".agents/skills",vf=".agentsmesh/rules/_root.md",Kp=".agentsmesh/rules",sE=".agentsmesh/commands",iE=".agentsmesh/agents",aE=".agentsmesh/mcp.json",cE=".agentsmesh/ignore";});async function Gf(t,e){t.set(jp,`${k}/_root.md`),t.set(Fo,`${k}/_root.md`),t.set("AGENTS.md",`${k}/_root.md`);for(let r of await C(e,".junie/rules"))x(t,S(e,r),k,".md");for(let r of await C(e,".junie/commands"))x(t,S(e,r),rt,".md");for(let r of await C(e,".junie/agents"))x(t,S(e,r),Ot,".md");for(let r of await C(e,".junie/skills"))D(t,S(e,r),".junie/skills");}var lE=u(()=>{It();ac();gt();s(Gf,"buildJunieImportPaths");});var ue,ql,vo,Mn,$n,jn,Br,Ps,cc,Bp,Ui,lc,Ki,tm,Wp,mc,xs,Bi,Wi,Hi,Ds,pc,Hp,mE,Ns,uc,zi,pE,uE,Vi=u(()=>{ue="kilo-code",ql=".kilo",vo="AGENTS.md",Mn=`${ql}/rules`,$n=`${ql}/commands`,jn=`${ql}/agents`,Br=`${ql}/skills`,Ps=`${ql}/mcp.json`,cc=".kilocodeignore",Bp=".kilocode",Ui=`${Bp}/rules`,lc=`${Bp}/workflows`,Ki=`${Bp}/skills`,tm=`${Bp}/mcp.json`,Wp=".kilocodemodes",mc=".kilo",xs=`${mc}/AGENTS.md`,Bi=`${mc}/rules`,Wi=`${mc}/commands`,Hi=`${mc}/agents`,Ds=`${mc}/skills`,pc=`${mc}/mcp.json`,Hp=".kilocodeignore",mE=".agents/skills",Ns=".agentsmesh/rules",uc=".agentsmesh/commands",zi=".agentsmesh/agents",pE=".agentsmesh/mcp.json",uE=".agentsmesh/ignore";});async function Mf(t,e,r="project"){if(r==="global"){t.set(xs,`${k}/_root.md`);for(let o of await C(e,Bi))x(t,S(e,o),k,".md");for(let o of await C(e,Wi))x(t,S(e,o),rt,".md");for(let o of await C(e,Hi))x(t,S(e,o),Ot,".md");for(let o of await C(e,Ds))D(t,S(e,o),Ds);t.set(pc,".agentsmesh/mcp.json");return}t.set(vo,`${k}/_root.md`);for(let o of await C(e,Mn))x(t,S(e,o),k,".md");for(let o of await C(e,$n))x(t,S(e,o),rt,".md");for(let o of await C(e,jn))x(t,S(e,o),Ot,".md");for(let o of await C(e,Br))D(t,S(e,o),Br);t.set(Ps,".agentsmesh/mcp.json");for(let o of await C(e,Ui)){let n=S(e,o);if(basename(n)==="00-root.md"){t.set(n,`${k}/_root.md`);continue}x(t,n,k,".md");}for(let o of await C(e,lc))x(t,S(e,o),rt,".md");for(let o of await C(e,Ki))D(t,S(e,o),Ki);t.set(tm,".agentsmesh/mcp.json");}var dE=u(()=>{It();Vi();gt();s(Mf,"buildKiloCodeImportPaths");});var De,Wr,em,Hr,de,zr,Fs,gE,dc,gc,Ji,Vr,vs,Yi,rm,om,fE,$f,jf,hE,yE,Uf,_E,fc=u(()=>{De="kiro",Wr="AGENTS.md",em=".kiro",Hr=`${em}/steering`,de=`${em}/skills`,zr=`${em}/agents`,Fs=`${em}/hooks`,gE=`${em}/settings`,dc=`${gE}/mcp.json`,gc=".kiroignore",Ji=".kiro/steering",Vr=".kiro/steering/AGENTS.md",vs=".kiro/skills",Yi=".kiro/agents",rm=".kiro/settings/mcp.json",om=".kiro/settings/kiroignore",fE=".agents/skills",$f=".agentsmesh/rules/_root.md",jf=".agentsmesh/rules",hE=".agentsmesh/agents",yE=".agentsmesh/mcp.json",Uf=".agentsmesh/hooks.yaml",_E=".agentsmesh/ignore";});async function Kf(t,e,r="project"){if(r==="global"){t.set(Vr,`${k}/_root.md`);for(let o of await C(e,Ji)){let n=S(e,o);n!==Vr&&x(t,n,k,".md");}for(let o of await C(e,vs))D(t,S(e,o),vs);for(let o of await C(e,Yi))x(t,S(e,o),Ot,".md");return}t.set(Wr,`${k}/_root.md`);for(let o of await C(e,Hr))x(t,S(e,o),k,".md");for(let o of await C(e,de))D(t,S(e,o),de);for(let o of await C(e,zr))x(t,S(e,o),Ot,".md");}var IE=u(()=>{It();fc();gt();s(Kf,"buildKiroImportPaths");});var Jr,zp,Go,Un,Kn,Bn,Yr,Mo,hc,Gs,Xi,Zi,Qi,Ms,$s,RE,nm,Vp,Jp,Bf,qi=u(()=>{Jr="opencode",zp=".opencode",Go="AGENTS.md",Un=`${zp}/rules`,Kn=`${zp}/commands`,Bn=`${zp}/agents`,Yr=`${zp}/skills`,Mo="opencode.json",hc=".config/opencode",Gs=`${hc}/AGENTS.md`,Xi=`${hc}/rules`,Zi=`${hc}/commands`,Qi=`${hc}/agents`,Ms=`${hc}/skills`,$s=`${hc}/opencode.json`,RE=".agents/skills",nm=".agentsmesh/rules",Vp=".agentsmesh/commands",Jp=".agentsmesh/agents",Bf=".agentsmesh/mcp.json";});async function Wf(t,e,r="project"){if(r==="global"){t.set(Gs,`${k}/_root.md`);for(let o of await C(e,Xi))x(t,S(e,o),k,".md");for(let o of await C(e,Zi))x(t,S(e,o),rt,".md");for(let o of await C(e,Qi))x(t,S(e,o),Ot,".md");for(let o of await C(e,Ms))D(t,S(e,o),Ms);t.set($s,".agentsmesh/mcp.json");return}t.set(Go,`${k}/_root.md`);for(let o of await C(e,Un))x(t,S(e,o),k,".md");for(let o of await C(e,Kn))x(t,S(e,o),rt,".md");for(let o of await C(e,Bn))x(t,S(e,o),Ot,".md");for(let o of await C(e,Yr))D(t,S(e,o),Yr);t.set(Mo,".agentsmesh/mcp.json");}var SE=u(()=>{It();qi();gt();s(Wf,"buildOpencodeImportPaths");});var $o,ur,Xt,CE,Wn,dr,EE,yc=u(()=>{$o="pi-agent",ur="AGENTS.md",Xt=".pi/skills",CE=".pi/agent",Wn=`${CE}/AGENTS.md`,dr=`${CE}/skills`,EE=".agentsmesh/rules";});async function Hf(t,e,r="project"){if(r==="global"){t.set(Wn,`${k}/_root.md`);for(let o of await C(e,dr))D(t,S(e,o),dr);return}t.set(ur,`${k}/_root.md`);for(let o of await C(e,Xt))D(t,S(e,o),Xt);}var zf=u(()=>{It();yc();gt();s(Hf,"buildPiAgentImportPaths");});var jo,gr,Hn,Uo,Ko,Ne,js,Us,zn,ta,Ks,Bo,Bs,Vf,OE,LE,_c=u(()=>{jo="qwen-code",gr="QWEN.md",Hn=".qwen/rules",Uo=".qwen/commands",Ko=".qwen/agents",Ne=".qwen/skills",js=".qwen/settings.json",Us=".qwenignore",zn=".qwen/QWEN.md",ta=".qwen/settings.json",Ks=".qwen/commands",Bo=".qwen/skills",Bs=".qwen/agents",Vf=".agentsmesh/rules",OE=".agentsmesh/commands",LE=".agentsmesh/agents";});async function Jf(t,e,r="project"){if(r==="global"){t.set(zn,`${k}/_root.md`),t.set(ta,".agentsmesh/mcp.json");for(let o of await C(e,Ks))x(t,S(e,o),rt,".md");for(let o of await C(e,Bs))x(t,S(e,o),Ot,".md");for(let o of await C(e,Bo))D(t,S(e,o),Bo);return}t.set(gr,`${k}/_root.md`),t.set(js,".agentsmesh/mcp.json"),t.set(Us,".agentsmesh/ignore");for(let o of await C(e,Hn))x(t,S(e,o),k,".md");for(let o of await C(e,Uo))x(t,S(e,o),rt,".md");for(let o of await C(e,Ko))x(t,S(e,o),Ot,".md");for(let o of await C(e,Ne))D(t,S(e,o),Ne);}var AE=u(()=>{It();gt();_c();s(Jf,"buildQwenCodeImportPaths");});var Wo,Xr,Ie,kE,Ic=u(()=>{Wo="replit-agent",Xr="replit.md",Ie=".agents/skills",kE=".agentsmesh/rules";});async function Yf(t,e,r="project"){if(r!=="global"){t.set(Xr,`${k}/_root.md`);for(let o of await C(e,Ie))D(t,S(e,o),Ie);}}var Xf=u(()=>{It();Ic();gt();s(Yf,"buildReplitAgentImportPaths");});var Ws,ea,Zr,sm,Vn,Jn,Ho,im,am,Rc,cm,Yp,Hs,zs,Yn,ra,lm,Vs,wE,oa,Xp,TE,bE,na=u(()=>{Ws="roo-code",ea=".roo",Zr=`${ea}/rules/00-root.md`,sm=".roorules",Vn=`${ea}/rules`,Jn=`${ea}/commands`,Ho=`${ea}/skills`,im=`${ea}/mcp.json`,am=".rooignore",Rc=".roomodes",cm="settings/custom_modes.yaml",Yp=".roo",Hs=`${Yp}/rules`,zs=`${Yp}/commands`,Yn=`${Yp}/skills`,ra="mcp_settings.json",lm=".rooignore",Vs=`${Yp}/AGENTS.md`,wE=".agents/skills",oa=".agentsmesh/rules",Xp=".agentsmesh/commands",TE=".agentsmesh/mcp.json",bE=".agentsmesh/ignore";});async function Zf(t,e,r="project"){if(r==="global"){t.set(Vs,`${k}/_root.md`);for(let o of await C(e,Hs))x(t,S(e,o),k,".md");for(let o of await C(e,zs))x(t,S(e,o),rt,".md");for(let o of await C(e,Yn))D(t,S(e,o),Yn);t.set(ra,".agentsmesh/mcp.json");return}t.set(Zr,`${k}/_root.md`),t.set(sm,`${k}/_root.md`);for(let o of await C(e,Vn)){let n=S(e,o);n!==Zr&&x(t,n,k,".md");}for(let o of await C(e,".roo")){let n=S(e,o);/^\.roo\/rules-[^/]+\/.+\.md$/.test(n)&&x(t,n,k,".md");}for(let o of await C(e,Jn))x(t,S(e,o),rt,".md");for(let o of await C(e,Ho))D(t,S(e,o),Ho);}var PE=u(()=>{It();na();gt();s(Zf,"buildRooCodeImportPaths");});var zo,fr,xE,Zt,Xn,DE,Zn,Fe,Sc,NE,Cc=u(()=>{zo="rovodev",fr="AGENTS.md",xE=".rovodev",Zt=`${xE}/skills`,Xn=`${xE}/mcp.json`,DE=".rovodev",Zn=".rovodev/AGENTS.md",Fe=".rovodev/skills",Sc=".rovodev/mcp.json",NE=".agentsmesh/rules";});async function Qf(t,e,r="project"){if(r==="global"){t.set(Zn,`${k}/_root.md`);for(let o of await C(e,Fe))D(t,S(e,o),Fe);t.set(Sc,".agentsmesh/mcp.json");return}t.set(fr,`${k}/_root.md`);for(let o of await C(e,Zt))D(t,S(e,o),Zt);t.set(Xn,".agentsmesh/mcp.json");}var FE=u(()=>{It();Cc();gt();s(Qf,"buildRovodevImportPaths");});var hr,Zp,ve,Ge,yr,sa,Ec,Qn,_r,Qr,mm,vE,pm,GE,ME,Oc=u(()=>{hr="trae",Zp=".trae",ve=`${Zp}/rules`,Ge=`${ve}/project_rules.md`,yr=`${Zp}/skills`,sa=`${Zp}/mcp.json`,Ec=`${Zp}/.ignore`,Qn=".trae/user_rules",_r=".trae/user_rules/rules.md",Qr=".trae/skills",mm=".trae/mcp.json",vE=".agents/skills",pm=".agentsmesh/rules",GE=".agentsmesh/mcp.json",ME=".agentsmesh/ignore";});async function qf(t,e,r="project"){if(r==="global"){t.set(_r,`${k}/_root.md`);for(let o of await C(e,Qn)){let n=S(e,o);n!==_r&&x(t,n,k,".md");}for(let o of await C(e,Qr))D(t,S(e,o),Qr);return}t.set(Ge,`${k}/_root.md`);for(let o of await C(e,ve)){let n=S(e,o);n!==Ge&&x(t,n,k,".md");}for(let o of await C(e,yr))D(t,S(e,o),yr);}var $E=u(()=>{It();Oc();gt();s(qf,"buildTraeImportPaths");});var Vo,qr,th,ie,Js,Re,jE,Lc=u(()=>{Vo="warp",qr="AGENTS.md",th="WARP.md",ie=".warp/skills",Js=".mcp.json",Re=".warp/skills",jE=".agentsmesh/rules";});async function eh(t,e,r="project"){if(r==="global"){for(let o of await C(e,Re))D(t,S(e,o),Re);return}t.set(qr,`${k}/_root.md`);for(let o of await C(e,ie))D(t,S(e,o),ie);t.set(Js,".agentsmesh/mcp.json");}var UE=u(()=>{It();Lc();gt();s(eh,"buildWarpImportPaths");});async function rh(t,e){t.set("AGENTS.md",`${k}/_root.md`),t.set(".windsurfrules",`${k}/_root.md`),await Ep(t,e);for(let r of await C(e,".windsurf/rules"))x(t,S(e,r),k,".md");for(let r of await C(e,".windsurf/workflows"))x(t,S(e,r),rt,".md");for(let r of await C(e,".windsurf/skills"))D(t,S(e,r),".windsurf/skills");}var KE=u(()=>{It();gt();s(rh,"buildWindsurfImportPaths");});var to,Jo,c0,Yo,BE,ia=u(()=>{to=".rules",Jo=".zed/settings.json",c0=".config/zed",Yo=`${c0}/settings.json`,BE=".agentsmesh/rules";});async function oh(t,e,r="project"){if(r==="global"){t.set(Yo,".agentsmesh/mcp.json");return}t.set(to,`${k}/_root.md`),t.set(Jo,".agentsmesh/mcp.json");}var WE=u(()=>{ia();gt();s(oh,"buildZedImportPaths");});var HE=u(()=>{IC();CC();OC();AC();kC();PC();FC();vC();GC();MC();jC();WC();zC();JC();YC();qC();eE();lE();dE();IE();SE();zf();AE();Xf();PE();FE();$E();UE();KE();WE();});var Rt=u(()=>{HE();});var l0,m0,p0,zE,Cp,Xg=u(()=>{St();at();XS();sC();pC();fC();Rt();Va();l0={name:fo,primaryRootInstructionPath:Ye,generateRules:HS,generateCommands:VS,generateAgents:JS,generateSkills:zS,generateIgnore:YS,importFrom:nC},m0={rootInstructionPath:Ye,skillDir:re,managedOutputs:{dirs:[re],files:[Ye,fn]},paths:{rulePath(t){return Ye},commandPath(t){return `${re}/${W(t)}/SKILL.md`},agentPath(t){return `${re}/${$(t)}/SKILL.md`}}},p0={rootInstructionPath:hn,skillDir:Xe,managedOutputs:{dirs:[Xe],files:[hn,Ii]},rewriteGeneratedPath(t){return t===Ye?hn:t===fn?Ii:t.startsWith(`${re}/`)?t.replace(`${re}/`,`${Xe}/`):t},paths:{rulePath(t){return hn},commandPath(t){return `${Xe}/${W(t)}/SKILL.md`},agentPath(t){return `${Xe}/${$(t)}/SKILL.md`}}},zE={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"native",permissions:"none"},Cp={id:fo,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:mC,lint:{hooks:uC,permissions:dC,mcp:gC},supportsConversion:{commands:true,agents:true},project:m0,globalSupport:{capabilities:zE,detectionPaths:[hn,Ii,Xe],layout:p0},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[Ye],global:[hn]},canonicalDir:BS,canonicalRootFilename:"_root.md",markAsRoot:true},ignore:{feature:"ignore",mode:"flatFile",source:{project:[fn],global:[Ii]},canonicalDir:".agentsmesh",canonicalFilename:WS}},buildImportPaths:tf,detectionPaths:[Ye,fn]};});function VE(t){let e=[];for(let r of t.rules){if(r.targets.length>0&&!r.targets.includes(Ri))continue;let o=r.root?"_root":basename(r.source,".md");e.push({path:`${Fr}/${o}.md`,content:r.body.trim()});}return e}function JE(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Si,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}var YE=u(()=>{bl();s(VE,"generateRules");s(JE,"generateMcp");});async function XE(t,e){let r=e?.scope??"project";return z(Qp,t,r)}var ZE=u(()=>{Ct();nh();s(XE,"importFromAmazonQ");});function QE(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Ri}))}var qE=u(()=>{_t();bl();s(QE,"lintRules");});var d0,g0,f0,h0,Qp,nh=u(()=>{YE();ZE();qE();Rt();bl();d0={name:Ri,generateRules:VE,generateMcp:JE,importFrom:XE},g0={managedOutputs:{dirs:[Fr],files:[Si]},paths:{rulePath(t,e){return `${Fr}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return null}}},f0={managedOutputs:{dirs:[Is],files:[Tl]},rewriteGeneratedPath(t){return t.startsWith(`${Fr}/`)?t.replace(`${Fr}/`,`${Is}/`):t===Si?Tl:t},paths:{rulePath(t,e){return `${Is}/${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:Ri,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:QE,project:g0,globalSupport:{capabilities:h0,detectionPaths:[Is,Tl],layout:f0},importer:{rules:{feature:"rules",mode:"directory",source:{project:[Fr],global:[Is]},canonicalDir:RC,extensions:[".md"],preset:"rule"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Si],global:[Tl]},canonicalDir:".agentsmesh",canonicalFilename:SC}},buildImportPaths:ef,detectionPaths:[Fr,Si]};});function tO(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=st(o,r);return n?[{path:qe,content:n}]:[]}function eO(t){return tt(t,oe)}function rO(t){return t.commands.map(e=>({path:`${oe}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function oO(t){return t.agents.map(e=>({path:`${oe}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}var nO=u(()=>{Q();Mt();at();St();Ci();s(tO,"generateRules");s(eO,"generateSkills");s(rO,"generateCommands");s(oO,"generateAgents");});function ct(t,e,r){return t.startsWith(`${e}/`)&&!r.includes("codex-cli")?`.agents/skills/${t.slice(e.length+1)}`:null}var Qt=u(()=>{s(ct,"mirrorSkillsToAgents");});async function iO(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,sO,c),r.push({fromTool:"amp",fromPath:e,toPath:sO,feature:"mcp"}));}var sO,aO=u(()=>{T();Nr();Ci();sO=".agentsmesh/mcp.json";s(iO,"importAmpMcp");});async function cO(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"?tr:oe,"amp",o,n),await iO(t,r==="global"?In:yo,o),o}var lO=u(()=>{mt();Q();Ct();aO();Ci();sh();s(cO,"importFromAmp");});function mO(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:"amp"}))}var pO=u(()=>{_t();Ci();s(mO,"lintRules");});function uO(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 dO(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 gO(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 fO=u(()=>{Et();s(uO,"lintHooks");s(dO,"lintPermissions");s(gO,"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,hO,qp,sh=u(()=>{St();at();nO();Qt();lO();pO();fO();Rt();Ci();_0={name:"amp",primaryRootInstructionPath:qe,generateRules:tO,generateCommands:rO,generateAgents:oO,generateSkills:eO,importFrom:cO},I0={rootInstructionPath:qe,skillDir:oe,managedOutputs:{dirs:[oe],files:[qe,yo]},paths:{rulePath(t){return qe},commandPath(t){return `${oe}/${W(t)}/SKILL.md`},agentPath(t){return `${oe}/${$(t)}/SKILL.md`}}},R0={rootInstructionPath:_n,skillDir:tr,managedOutputs:{dirs:[tr],files:[_n,In]},rewriteGeneratedPath(t){return t===qe?_n:t===yo?In:t.startsWith(`${oe}/`)?t.replace(`${oe}/`,`${tr}/`):t},mirrorGlobalPath(t,e){return ct(t,tr,e)},paths:{rulePath(t){return _n},commandPath(t){return `${tr}/${W(t)}/SKILL.md`},agentPath(t){return `${tr}/${$(t)}/SKILL.md`}}},hO={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:hO,emptyImportMessage:"No Amp config found (AGENTS.md, .agents/skills, or .amp/settings.json).",lintRules:mO,lint:{hooks:uO,permissions:dO,ignore:gO},supportsConversion:{commands:true,agents:true},project:I0,globalSupport:{capabilities:hO,detectionPaths:[_n,In],layout:R0},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[qe],global:[_n]},canonicalDir:EC,canonicalRootFilename:"_root.md",markAsRoot:true}},emitScopedSettings(t,e){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:yo,content:JSON.stringify({"amp.mcpServers":t.mcp.mcpServers},null,2)}]},mergeGeneratedOutputContent(t,e,r,o){return o===yo||o===In?S0(t,r):null},sharedArtifacts:{".agents/skills/":"consumer"},buildImportPaths:of,detectionPaths:[qe,yo]};});function yO(t){let e=t.rules.find(o=>o.root);if(!e)return [];let r=[{path:vr,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:`${_o}/${n}.md`,content:o.body.trim()||""});}return r}function _O(t){return t.commands.map(e=>{let r=e.description.trim(),o=e.body.trim(),n=r&&o&&!o.startsWith(r)?`${r}
50
+ ${vK}
51
+ ${Zc}`;s(Mg,"normalizeWhitespace");UC=[HK,WK,KK,BK,UK,jK,GK,$K,MK];s(BC,"appendAgentsmeshRootInstructionParagraph");s(KC,"stripAgentsmeshRootInstructionParagraph");});function ye(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 cl(t){let e=await _(t);return e?b(e).frontmatter:{}}function Xt(t,e){return typeof t[e]=="string"?t[e]:void 0}function jg(t){let e=t.hooks;return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function zK(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}function VK(t,e){let r=basename(t,".md")==="_root",n={...e};return delete n.root,{root:r,...n}}async function K(t,e,r){let n=await cl(t),o=basename(t,".md")==="_root"?KC(r):r.trim(),i=VK(t,zK({...n,...e})),a={root:i.root===true,description:typeof i.description=="string"?i.description:""};a.root===false&&(a.globs=ye(i.globs));for(let[l,c]of Object.entries(i))l==="root"||l==="description"||l==="globs"||c===void 0||(a[l]=c);return T(a,o||"")}var Ug=d(()=>{w();j();Gg();s(ye,"toStringArray");s(cl,"readExistingFrontmatter");s(Xt,"readString");s(jg,"readHooks");s(zK,"pruneUndefined");s(VK,"serializeCanonicalRuleFrontmatter");s(K,"serializeImportedRuleWithFallback");});async function _t(t,e,r){let n=await cl(t),o=(()=>{let l=ye(n.allowedTools);return l.length>0?l:ye(n["allowed-tools"])})(),i=e.hasDescription?e.description??"":typeof n.description=="string"?n.description:"",a=e.hasAllowedTools?e.allowedTools??[]:o;return T({description:i,"allowed-tools":a},r.trim()||"")}async function Cn(t,e,r){let n=await cl(t),o=basename(dirname(t)),i=Xt(e,"name")??Xt(n,"name")??o,a=Xt(e,"description")??Xt(n,"description")??"";return T({name:i,description:a},r.trim()||"")}async function Vt(t,e,r){let n=await cl(t),o=Object.prototype.hasOwnProperty.call(e,"tools")?ye(e.tools):(()=>{let R=ye(n.tools);return R.length>0?R:[]})(),i=Object.prototype.hasOwnProperty.call(e,"disallowedTools")?ye(e.disallowedTools):Object.prototype.hasOwnProperty.call(e,"disallowed-tools")?ye(e["disallowed-tools"]):ye(n.disallowedTools),a=Object.prototype.hasOwnProperty.call(e,"mcpServers")?ye(e.mcpServers):Object.prototype.hasOwnProperty.call(e,"mcp-servers")?ye(e["mcp-servers"]):ye(n.mcpServers),l=Object.prototype.hasOwnProperty.call(e,"skills")?ye(e.skills):ye(n.skills),c=e.maxTurns??e["max-turns"]??n.maxTurns,m=typeof c=="number"?c:Number(c??0),p=jg(e)??jg(n),u={name:Xt(e,"name")??Xt(n,"name")??basename(t,".md"),description:Xt(e,"description")??Xt(n,"description")??"",tools:o};i.length>0&&(u.disallowedTools=i);let f=Xt(e,"model")??Xt(n,"model");f&&(u.model=f);let g=Xt(e,"permissionMode")??Xt(e,"permission-mode")??Xt(n,"permissionMode")??Xt(n,"permission-mode");g&&(u.permissionMode=g),Number.isInteger(m)&&m>0&&(u.maxTurns=m),a.length>0&&(u.mcpServers=a),p&&Object.keys(p).length>0&&(u.hooks=p),l.length>0&&(u.skills=l);let h=Xt(e,"memory")??Xt(n,"memory");return h&&(u.memory=h),T(u,r.trim()||"")}var zC=d(()=>{j();Ug();s(_t,"serializeImportedCommandWithFallback");s(Cn,"serializeImportedSkillWithFallback");s(Vt,"serializeImportedAgentWithFallback");});var ut=d(()=>{Ug();zC();});function eu(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 kn(t){await rm(t,{recursive:true,force:true});}var Qc=d(()=>{s(eu,"shouldImportScopedAgentsRule");s(kn,"removePathIfExists");});function rt(t,e){let r=[];for(let n of t.skills){let o={name:n.name,description:n.description||void 0};o.description===void 0&&delete o.description,r.push({path:`${e}/${n.name}/SKILL.md`,content:T(o,n.body.trim()||"")});for(let i of n.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");r.push({path:`${e}/${n.name}/${a}`,content:i.content});}}return r}async function q(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 l=join(t,e,a.name),c=join(l,"SKILL.md"),m=await _(c);if(m===null)continue;let p=join(t,qc,a.name),u=join(p,"SKILL.md"),{frontmatter:f,body:g}=b(o(m,c,u)),h=Xp(f,a.name);if(h){await kn(join(t,qc,a.name));let k=join(t,VC);await O(k);let P=join(k,`${h.name}.md`);await I(P,Zp(h,o(g,c,P))),n.push({fromTool:r,fromPath:c,toPath:`${VC}/${h.name}.md`,feature:"commands"});continue}let R=al(f,a.name);if(R){await kn(join(t,qc,a.name));let k=join(t,JC);await O(k);let P=join(k,`${R.name}.md`);await I(P,Os(R,o(g,c,P))),n.push({fromTool:r,fromPath:c,toPath:`${JC}/${R.name}.md`,feature:"agents"});continue}let C=await Cn(u,{...f,name:a.name},g);await O(p),await I(u,C),n.push({fromTool:r,fromPath:c,toPath:`${qc}/${a.name}/SKILL.md`,feature:"skills"});let S=await v(l);for(let k of S){if(k===c)continue;let P=relative(l,k).replace(/\\/g,"/"),N=await _(k);if(N===null)continue;let F=join(p,P);await O(dirname(F)),await I(F,o(N,k,F)),n.push({fromTool:r,fromPath:k,toPath:`${qc}/${a.name}/${P}`,feature:"skills"});}}}var qc,VC,JC,tt=d(()=>{w();j();ut();mt();kt();Qc();qc=".agentsmesh/skills",VC=".agentsmesh/commands",JC=".agentsmesh/agents";s(rt,"generateEmbeddedSkills");s(q,"importEmbeddedSkills");});var En,er,ie,Oo,Ao,rr,bi,YC,XC,ml=d(()=>{En="aider",er="CONVENTIONS.md",ie=".aider/skills",Oo=".aiderignore",Ao="CONVENTIONS.md",rr=".aider/skills",bi=".aiderignore",YC=".agentsmesh/rules",XC=".agentsmesh/ignore";});function ZC(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(En)),n=e?.body.trim()??"",o=lt(n,r);return o?[{path:er,content:o}]:[]}function QC(t){return rt(t,ie)}function qC(t){return t.commands.map(e=>({path:`${ie}/${H(e.name)}/SKILL.md`,content:Nt(e)}))}function tk(t){return t.agents.map(e=>({path:`${ie}/${U(e.name)}/SKILL.md`,content:Tt(e)}))}function ek(t){return t.ignore.length===0?[]:[{path:Oo,content:t.ignore.join(`
52
+ `)}]}var rk=d(()=>{tt();Ut();mt();kt();ml();s(ZC,"generateRules");s(QC,"generateSkills");s(qC,"generateCommands");s(tk,"generateAgents");s(ek,"generateIgnore");});function nt(t){return t.includes("\\")||jr.test(t)?win32:posix}function vt(t){return t.replace(/\\/g,"/")}function Y(t,e){let r=nt(t),n=r.normalize(r===win32?e.replace(/\//g,"\\"):vt(e));return n.endsWith(r.sep)&&n.length>1?n.slice(0,-1):n}function ok(t,e){return nt(t).isAbsolute(e)||jr.test(e)}function pl(t){let e=t,r="";for(;tW.test(e);)r=e.at(-1)+r,e=e.slice(0,-1);return {candidate:e,suffix:r}}function sk(t,e){let r=nt(e),n=t.replace(/^(\.\.\/)+/,"").replace(/^\.\//,"");return n&&n!==t?Y(e,r.join(e,n)):null}var jr,tW,ae=d(()=>{jr=/^[A-Za-z]:[\\/]/,tW=/[.!?:;]+$/;s(nt,"pathApi");s(vt,"normalizeSeparators");s(Y,"normalizeForProject");s(ok,"isAbsoluteForProject");s(pl,"stripTrailingPunctuation");s(sk,"rootFallbackPath");});async function ik(t,e,r="project"){let n=new Map,o=et(t);return o&&await o.buildImportPaths(n,e,r),n}var ak=d(()=>{se();s(ik,"buildImportReferenceMap");});function nW(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 oW(){let t=new Set([".agentsmesh/"]);for(let e of bt)for(let r of nW(e))t.add(r);return Array.from(t)}function sW(){let t=new Set([...oW(),...Bg.rootRelativePrefixes]),e=new Set([...rW,...Bg.meshRootSegments]);return {protectedSchemes:[...eW,...Bg.protectedSchemes],rootRelativePrefixes:Array.from(t),meshRootSegments:e}}function ru(){return Kg||(Kg=sW()),Kg}var eW,rW,Bg,Kg,lk=d(()=>{Pt();eW=[/\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],rW=new Set(["skills","rules","commands","agents","packs"]),Bg={protectedSchemes:[],rootRelativePrefixes:[],meshRootSegments:[]};s(nW,"topLevelDotfilePrefixes");s(oW,"buildDefaultRootRelativePrefixes");s(sW,"rebuild");s(ru,"getLinkFormatRegistry");});function Ur(t){let e=vt(t);return ru().rootRelativePrefixes.some(r=>e.startsWith(r))}function aW(t){let e=vt(t).replace(/^\.\//,"");if(e.startsWith("../")||e.startsWith("/")||jr.test(e)||/^[a-zA-Z]:/.test(e)||Ur(e))return false;let r=e.split("/").filter(n=>n.length>0)[0];return r!==void 0&&ru().meshRootSegments.has(r)}function tm(t,e,r){let n=nt(e),o=Y(e,e),i=Y(e,r),a=vt(t);if(jr.test(t)){let l=Y(e,t);return n===win32||l.startsWith(`${o}${n.sep}`)?[l]:[l]}if(n.isAbsolute(t)){let l=Y(e,t);return l.startsWith(o)||existsSync(t)?[l]:[Y(e,n.join(e,t))]}if(a.startsWith("./")||a.startsWith("../")){let l=Y(e,n.join(n.dirname(i),a)),c=sk(a,o);return c&&c!==l?[l,c]:[l]}if(Ur(a))return [Y(e,n.join(o,a))];if(a.includes("/")){let l=Y(e,n.join(o,".agentsmesh")),c=aW(a)?Y(e,n.join(l,a)):null,m=Y(e,n.join(o,a)),p=Y(e,n.join(n.dirname(i),a));return c!==null?[c,m,p]:[m,p]}return lW.has(a)?[]:a.includes(".")?[Y(e,n.join(n.dirname(i),a))]:[]}function em(t,e){let r=[e];if(!ok(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 uk(t,e,r){let n=e>0?t.at(e-1):"",o=r<t.length?t.at(r):"";return n==="*"||o==="*"}function nu(t){let e=[];for(let r of ru().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(cW))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(mW))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(pW))e.push([r.index??0,(r.index??0)+r[0].length]);return e}var lW,cW,mW,pW,pk,ul,As=d(()=>{ae();lk();s(Ur,"isRootRelativePathToken");s(aW,"isMeshRootRelativePathToken");lW=new Set(["AGENTS.md","CLAUDE.md","GEMINI.md","codex.md",".windsurfrules",".cursorrules"]),cW=/^(?:```|~~~)[^\n]*\n[\s\S]*?^(?:```|~~~)/gm,mW=/<!-- agentsmesh:root-generation-contract:start -->[\s\S]*?<!-- agentsmesh:root-generation-contract:end -->/g,pW=/<!-- agentsmesh:embedded-rules:start -->[\s\S]*?<!-- agentsmesh:embedded-rules:end -->/g,pk=/(?:\.\.[\\/]|\.\/|\.\\|\/[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,ul=/(?::(\d+)){1,2}$/;s(tm,"resolveProjectPath");s(em,"expandResolvedPaths");s(uk,"isGlobAdjacent");s(nu,"protectedRanges");});function uW(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 dk(t){return uW(t.tokenContext)}function Wg(t,e){let r=nt(t),n=Y(t,t),o=Y(t,e);if(o===n)return true;let i=n.endsWith(r.sep)?n:`${n}${r.sep}`;return o.startsWith(i)}function fk(t){let e=nt(t);return Y(t,e.join(t,".agentsmesh"))}function Br(t,e){let r=nt(t),n=fk(t),o=Y(t,e);if(o===n)return true;let i=n.endsWith(r.sep)?n:`${n}${r.sep}`;return o.startsWith(i)}function gk(t,e,r){let n=nt(t),o=fk(t),i=Y(t,e);if(!Br(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 Hg(t,e,r){let o=nt(t).relative(Y(t,t),Y(t,e)).replace(/\\/g,"/");if(o.startsWith(".."))return null;let i=o.length>0?o:".";return r&&!i.endsWith("/")?`${i}/`:i}function dl(t,e,r){let n=Hg(t,e,r);return n===null?null:{kind:"projectRoot",rest:n,text:n}}function zg(t,e,r,n,o){let i=nt(t),a=Y(t,t),l=Y(t,e),c=Y(t,r);if(!Wg(t,c))return dl(t,c,n)?.text??null;let m=Y(t,i.dirname(l));if(!Wg(t,m)&&m!==a)return dl(t,c,n)?.text??null;let p=i.relative(m,c).replace(/\\/g,"/");if(i.isAbsolute(p)||jr.test(p))return Hg(t,c,n);let u=Y(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):Hg(t,c,n)}var Vg=d(()=>{ae();s(uW,"isReadingContext");s(dk,"isReadingContextOptions");s(Wg,"isUnderProjectRoot");s(fk,"agentsMeshRoot");s(Br,"isUnderAgentsMesh");s(gk,"toAgentsMeshRootRelative");s(Hg,"toProjectRootRelative");s(dl,"toProjectRootReference");s(zg,"formatLinkPathForDestinationLegacy");});function hk(t,e,r,n,o={}){let i=o.scope??"project",a=Y(t,r);if(dk(o)&&Br(t,e)&&Br(t,a)){let m=nt(t),p=Y(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 zg(t,e,r,n,o);if(i==="global"&&!Br(t,e))return dl(t,a,n)?.text??null;let l=(()=>{if(Br(t,a))return a;let m=o.logicalMeshSourceAbsolute;return m&&Br(t,Y(t,m))?Y(t,m):null})();if(!l)return dl(t,a,n)?.text??null;if(n||(o.pathIsDirectory?.(a)??false)){let m=gk(t,l,n);return m!==null?m:dl(t,l,n)?.text??null}return zg(t,e,r,n,o)}var yk=d(()=>{As();ae();Vg();Vg();s(hk,"formatLinkPathForDestination");});function _k(t,e,r,n){let o=nt(e),i=vt(t);if(!Ur(i))return null;let a=i.split("/").filter(m=>m.length>0);if(a.length<3)return null;let l=Y(e,r),c=o.dirname(l);for(let m=1;m<=a.length-1;m++){let p=a.slice(m).join("/"),u=Y(e,o.join(c,p));if(u!==l&&n(u))return u}return null}var Rk=d(()=>{ae();As();s(_k,"resolveByDestinationSuffixStrip");});function Ik(t){let e=null,r=false,n=null,o=null,i=null;for(let c of tm(t.candidate,t.projectRoot,t.sourceFile)){let m=null,p=null;for(let u of em(t.projectRoot,c)){let f=Y(t.projectRoot,u),g=Y(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 c=_k(t.candidate,t.projectRoot,t.destinationFile,t.pathExists);c!==null&&(e=c,r=true);}!r&&o!==null&&(e=o,i!==null&&(n=i),r=true);let a=vt(t.destinationFile),l=a.includes("/.agentsmesh/")||a.startsWith(".agentsmesh/");return !r&&e!==null&&vt(t.rawToken).startsWith(".agentsmesh/")&&l&&(r=true),{translatedPath:e,resolvedBeforeTranslate:n,matchedPath:r}}var Sk=d(()=>{ae();As();Rk();s(Ik,"resolveLinkTarget");});function Ck(t,e,r){return e>=2&&t[e-2]==="~"&&t[e-1]==="/"?true:e>=1&&t[e-1]==="~"&&r.startsWith("/")}function kk(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 Ek(t){let e=vt(t);return e.startsWith("./")||e.startsWith("../")?true:e.startsWith("/")||jr.test(e)||Ur(e)?false:e.includes("/")}var Lk=d(()=>{ae();As();s(Ck,"isTildeHomeRelativePathToken");s(kk,"isMarkdownLinkDestinationToken");s(Ek,"isRelativePathToken");});function dW(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===`
53
+ `)break;i+=a,o++;}return i===r}function Ok(t,e,r){let n=t.lastIndexOf(`
54
+ `,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===`
55
+ `||i==="\r"||i===">"||i===" "||i===" "||i==='"'||i==="'"||i===":"||i==="#"||i==="?"}function Ak(t,e,r){let n=e>0?t[e-1]:"",o=r<t.length?t[r]:"";return n==="`"&&o==="`"?{role:"inline-code"}:Ok(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 wk(t,e,r,n,o){if(e<0||r>t.length)return false;let{candidate:i}=pl(n),a=i.replace(ul,""),l=vt(a),c=e+a.length,m=t[e-1],p=t[r];return Ok(t,e,c)||m==="'"&&p==="'"||m==='"'&&p==='"'||m==="`"&&p==="`"||m==="<"&&p===">"?true:m==="["&&p==="]"?!(!o&&!Ur(l)&&dW(t,e,n)):m==="@"?true:m==="("&&t[e-2]==="]"?p===")"||p==="#"||p==="?"||p===" "||p===" ":o?Ur(l)?true:l.includes("/")||l.includes("\\")?l.startsWith("./")||l.startsWith("../")?true:(l.split(/[\\/]/).filter(Boolean).at(-1)??"").includes("."):false:false}var bk=d(()=>{ae();As();s(dW,"markdownBracketLabelDuplicatesDestination");s(Ok,"isMarkdownReferenceDefinitionDestination");s(Ak,"getTokenContext");s(wk,"shouldRewritePathToken");});function ou(t){let e=new Set,r=nu(t.content);return {content:t.content.replace(pk,(o,i,a)=>{if(r.some(([Dt,Ze])=>i>=Dt&&i<Ze)||!wk(a,i,i+o.length,o,t.rewriteBarePathTokens===true)||Ck(a,i,o)||uk(a,i,i+o.length))return o;let{candidate:l,suffix:c}=pl(o);if(!l)return o;let m=ul.exec(l),p=m?l.slice(0,m.index):l,u=m?m[0]:"";if(!p)return o;let f=Ak(a,i,i+p.length);if(f.role!=="markdown-link-dest"&&jr.test(p))return o;let{translatedPath:g,resolvedBeforeTranslate:h,matchedPath:R}=Ik({candidate:p,rawToken:l,projectRoot:t.projectRoot,sourceFile:t.sourceFile,destinationFile:t.destinationFile,translatePath:t.translatePath,pathExists:t.pathExists}),C=h;if(!R||!g)return g&&e.add(g),o;let S=vt(p),k=p.endsWith("/")||t.pathIsDirectory?.(g)===true;if(k&&!S.includes("/")&&!S.includes("\\"))return o;if(C===null){let Dt=vt(l);if(Dt.startsWith("agentsmesh/")&&(Dt=`.${Dt}`),Dt.startsWith(".agentsmesh/")||Dt.includes("/.agentsmesh/")){let Ze=nt(t.projectRoot),ja=Y(t.projectRoot,t.projectRoot),Ua=Dt.replace(/^\.\//,"");C=Y(t.projectRoot,Ze.join(ja,Ua));}}let P=nt(t.projectRoot);if(t.scope==="global"){let Dt=vt(l),Ze=Dt.startsWith(".agentsmesh/")||Dt.includes("/.agentsmesh/"),ja=Ur(Dt)||Ek(Dt),Ua=C!==null&&Br(t.projectRoot,C),Dc=Br(t.projectRoot,g);if(C===g&&!Dc&&!Ua&&!Ze){let Ba=vt(P.relative(t.projectRoot,Y(t.projectRoot,t.sourceFile))).split("/").filter(Boolean)[0]??"",g0=(C!==null?vt(P.relative(t.projectRoot,C)):"").split("/").filter(Boolean)[0]??"";if(Ba.length>0&&Ba===g0)return o}if(!ja&&!Ze&&!Ua&&!Dc)return o}let N=Y(t.projectRoot,t.destinationFile),F=Y(t.projectRoot,g),W=vt(P.relative(t.projectRoot,N)),z=vt(P.relative(t.projectRoot,F)),Q=W.split("/").filter(Boolean)[0]??"",at=z.split("/").filter(Boolean)[0]??"",oe=!vt(p).startsWith(".agentsmesh/")&&!k&&Q.length>0&&Q===at&&Q.startsWith(".")&&Q!==".agentsmesh"||f.role==="markdown-link-dest"||kk(a,i,p),Dr=hk(t.projectRoot,t.destinationFile,g,p.endsWith("/"),{explicitCurrentDirLinks:t.explicitCurrentDirLinks===true||oe,scope:t.scope??"project",pathIsDirectory:t.pathIsDirectory,logicalMeshSourceAbsolute:k?null:C,forceRelative:oe,tokenContext:f,originalToken:p});return Dr?`${Dr}${u}${c}`:o}),missing:[...e]}}var Jg=d(()=>{ae();As();yk();Sk();Lk();bk();s(ou,"rewriteFileLinks");});function Tk(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 B(t,e,r="project"){let n=nt(e),o=new Map,i=Array.from(new Set([t,...Ft]));for(let c of i){let m=await ik(c,e,r);for(let[p,u]of m.entries())o.set(p,u);}let a=new Map;for(let[c,m]of o.entries()){let p=n.normalize(n.join(e,m));for(let u of Tk(n,n.join(e,c)))a.set(u,p);}let l=new Set;for(let c of new Set(o.values())){let m=n.normalize(n.join(e,c));l.add(m);for(let p of Tk(n,m))l.add(n.normalize(p));}return (c,m,p)=>ou({content:c,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)||l.has(f)},"pathExists"),explicitCurrentDirLinks:false,rewriteBarePathTokens:true,scope:r,pathIsDirectory:s(u=>{try{return statSync(u).isDirectory()}catch{return false}},"pathIsDirectory")}).content}var dt=d(()=>{ae();ak();Jg();Rn();s(Tk,"pathVariants");s(B,"createImportReferenceNormalizer");});async function Bt(t,e,r){let n=join(t,e),i={...await yW(n),...r};await O(dirname(n)),await I(n,JSON.stringify({mcpServers:i},null,2));}async function yW(t){let e=await _(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 Kr=d(()=>{w();s(Bt,"writeMcpWithMerge");s(yW,"readExistingServers");});function wo(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}function nr(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 ws(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function Ln(t){return !t||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}var or=d(()=>{s(wo,"toGlobsArray");s(nr,"toToolsArray");s(ws,"toStringArray");s(Ln,"toStringRecord");});function IW(t,e){return e.some(r=>t.endsWith(r))}async function Rt(t){let r=(await v(t.srcDir)).filter(o=>IW(o,t.extensions)),n=[];for(let o of r){let i=await _(o);if(!i)continue;let a=relative(t.srcDir,o).replace(/\\/g,"/"),l=await t.mapEntry({srcPath:o,relativePath:a,content:i,normalizeTo:s((c,m=i)=>t.normalize(m,o,c),"normalizeTo")});l&&(await O(dirname(l.destPath)),await I(l.destPath,l.content),n.push({fromTool:t.fromTool,fromPath:o,toPath:l.toPath,feature:l.feature}));}return n}var xe=d(()=>{w();s(IW,"matchesExtension");s(Rt,"importFileDirectory");});function Dk(t){return typeof t=="string"?t:void 0}function SW(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 CW(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=b(e.normalizeTo(r)),i=Xg(n,t.frontmatterRemap),a=SW({root:false,description:Dk(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,o)}}}function kW(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=b(e.normalizeTo(r)),i=Xg(n,t.frontmatterRemap),a=await _t(r,{hasDescription:true,description:Dk(i.description),hasAllowedTools:true,allowedTools:ws(i["allowed-tools"])},o);return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:a}}}function EW(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=b(e.normalizeTo(r)),i=Xg(n,t.frontmatterRemap);return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:await Vt(r,i,o)}}}function Nk(t){if(t.map)return t.map;switch(t.preset){case "rule":return CW(t);case "command":return kW(t);case "agent":return EW(t);default:throw new Error(`ImportFeatureSpec for ${t.feature} (mode: ${t.mode}) needs a \`preset\` or \`map\``)}}var Fk=d(()=>{j();ut();or();s(Dk,"pickString");s(SW,"pruneUndefined");s(Xg,"applyRemap");s(CW,"ruleMapper");s(kW,"commandMapper");s(EW,"agentMapper");s(Nk,"resolveMapper");});function Zg(t,e){return t?t[e]??[]:[]}var vk,Mk=d(()=>{vk=["rules","commands","agents","skills","mcp","hooks","permissions","ignore"];s(Zg,"resolveScopedSources");});async function wW(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 l=join(r,a),c=await _(l);if(c===null)continue;await O(i);let m=join(i,t.canonicalRootFilename),p=s(S=>o(c,l,S),"normalizeTo");if(t.map){let S;try{S=await t.map({absolutePath:l,relativePath:a,content:c,destDir:i,normalizeTo:p});}catch(k){let P=k instanceof Error?k.message:String(k);process.stderr.write(`\u26A0 skipping ${l}: ${P}
56
+ `);continue}if(!S)continue;return await I(S.destPath,S.content),[{fromTool:n,fromPath:l,toPath:S.toPath,feature:t.feature}]}let u=Fr(p(m),l);if(!u.ok){process.stderr.write(`\u26A0 skipping ${l}: ${u.error.message}
57
+ `);continue}let{frontmatter:f,body:g}=u.value,h=t.frontmatterRemap?t.frontmatterRemap(f):f,R=t.markAsRoot?{...h,root:true}:h,C=await K(m,R,g);return await I(m,C),[{fromTool:n,fromPath:l,toPath:`${t.canonicalDir}/${t.canonicalRootFilename}`,feature:t.feature}]}return []}async function bW(t,e,r,n,o){let i=Nk(t),a=join(r,t.canonicalDir),l=[];for(let c of e){let m=join(r,c),p=await Rt({srcDir:m,destDir:a,extensions:[...t.extensions??[".md"]],fromTool:n,normalize:o,mapEntry:s(async({srcPath:u,relativePath:f,content:g,normalizeTo:h})=>{if(Gp(basename(u)))return null;let R;try{R=await i({absolutePath:u,relativePath:f,content:g,destDir:a,normalizeTo:s(C=>h(C),"normalizeTo")});}catch(C){let S=C instanceof Error?C.message:String(C);return process.stderr.write(`\u26A0 skipping ${u}: ${S}
58
+ `),null}return R?{destPath:R.destPath,toPath:R.toPath,feature:t.feature,content:R.content}:null},"mapEntry")});l.push(...p);}return l}function Gk(t){let e=t.canonicalFilename;return e.includes("/")||e.includes("\\")?e:posix.join(t.canonicalDir,e)}async function PW(t,e,r,n){if(!t.canonicalFilename)throw new Error(`flatFile spec for ${t.feature} must set canonicalFilename`);let o=Gk(t);for(let i of e){let a=join(r,i),l=await _(a);if(l===null)continue;let c=join(r,o);return await O(dirname(c)),await I(c,l.trimEnd()),[{fromTool:n,fromPath:a,toPath:o,feature:t.feature}]}return []}function TW(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,l=typeof a.description=="string"?a.description:void 0;if(typeof a.command=="string"){n[o]={type:typeof a.type=="string"?a.type:"stdio",command:a.command,args:ws(a.args),env:Ln(a.env),description:l};continue}typeof a.url=="string"&&(n[o]={type:typeof a.type=="string"?a.type:"http",url:a.url,headers:Ln(a.headers),env:Ln(a.env),description:l});}return n}async function xW(t,e,r,n){if(!t.canonicalFilename)throw new Error(`mcpJson spec for ${t.feature} must set canonicalFilename`);let o=Gk(t);for(let i of e){let a=join(r,i),l=await _(a);if(l===null)continue;let c=TW(l);return Object.keys(c).length===0?[]:(await Bt(r,o,c),[{fromTool:n,fromPath:a,toPath:o,feature:t.feature}])}return []}function $k(t,e,r,n,o){switch(t.mode){case "singleFile":return wW(t,e,r,n,o);case "directory":return bW(t,e,r,n,o);case "flatFile":return PW(t,e,r,n);case "mcpJson":return xW(t,e,r,n)}}async function DW(t,e,r,n,o){let i=Zg(t.source,e),a=Zg(t.fallbacks,e);if(i.length===0&&a.length===0)return [];if(i.length>0){let l=await $k(t,i,r,n,o);if(l.length>0)return l}return a.length>0?$k(t,a,r,n,o):[]}function NW(t,e){let r=t[e];return r?Array.isArray(r)?r:[r]:[]}async function J(t,e,r,n){let o=t.importer;if(!o)return [];let i=n?.normalize??await B(t.id,e,r),a=[];for(let l of vk)for(let c of NW(o,l))a.push(...await DW(c,r,e,t.id,i));return a}var Et=d(()=>{dt();w();Kr();j();or();ut();xe();Fk();Co();Mk();s(wW,"runSingleFile");s(bW,"runDirectory");s(Gk,"resolveCanonicalFilePath");s(PW,"runFlatFile");s(TW,"parseMcpJson");s(xW,"runMcpJson");s($k,"dispatchSpec");s(DW,"runSpec");s(NW,"specsForFeature");s(J,"runDescriptorImport");});async function jk(t,e={}){let r=e.scope??"project",n=[],o=await B(En,t,r);return n.push(...await J(su,t,r,{normalize:o})),await q(t,r==="global"?rr:ie,En,n,o),n}var Uk=d(()=>{dt();tt();Et();ml();Qg();s(jk,"importFromAider");});function FW(t,e){return Kk(e).some(n=>vW(t,n))}function Bk(t,e){return t.filter(r=>FW(r,e))}function Kk(t){let e=t.match(/^(.+)\{([^}]+)\}(.*)$/);if(!e)return [t];let[,r,n,o]=e;if(!n)return [t];let i=n.split(",").map(l=>l.trim()),a=[];for(let l of i)for(let c of Kk(r+l+o))a.push(c);return a}function vW(t,e){return MW(e).test(t)}function MW(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 Wk=d(()=>{s(FW,"globMatch");s(Bk,"globFilter");s(Kk,"expandBraces");s(vW,"matchOne");s(MW,"globToRegex");});function V(t,e,r,n={}){let o=[],{rules:i}=t;if(i.length===0)return [];if(i.some(l=>l.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 l of i){if(l.globs.length===0)continue;let c=false;for(let m of l.globs)if(Bk(r,m).length>0){c=true;break}c||o.push({level:"warning",file:relative(e,l.source),message:`globs "${l.globs.join(", ")}" match 0 files in project`});}return o}var It=d(()=>{Wk();s(V,"validateRules");});function zk(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:En}))}var Vk=d(()=>{It();ml();s(zk,"lintRules");});function x(t,e,r){return {level:"warning",file:t,target:e,message:r}}function $W(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 Ps(t,e,r,n){let o=n?.unsupportedBy??e,i=$W(r);return x(".agentsmesh/hooks.yaml",e,`${t} is not supported by ${o}; only ${i} are projected.`)}var Lt=d(()=>{s(x,"createWarning");s($W,"formatOxfordComma");s(Ps,"createUnsupportedHookWarning");});function Jk(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[x(".agentsmesh/hooks.yaml","aider","Aider has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function Yk(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?[]:[x(".agentsmesh/permissions.yaml","aider","Aider has no permissions config; canonical permissions are not projected.")]}function Xk(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[x(".agentsmesh/mcp.json","aider","Aider has no MCP config file; canonical MCP servers are not projected.")]}var Zk=d(()=>{Lt();s(Jk,"lintHooks");s(Yk,"lintPermissions");s(Xk,"lintMcp");});function E(t,e){return nt(t).relative(t,e).replace(/\\/g,"/")}async function L(t,e){return v(nt(t).join(t,e)).catch(()=>[])}function qk(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}function WW(t,e,r,n){let o=posix.dirname(e),i=posix.dirname(r);for(;o!==n&&o!==".";)qk(t,o,i),o=posix.dirname(o),i=posix.dirname(i);}function D(t,e,r,n){t.set(e,`${r}/${basename(e,n)}.md`);}function M(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,`${Qk}/${u}/SKILL.md`);return}let[o,...i]=n.split("/"),a=i.join("/");if(!o||!a)return;let l=o.startsWith(sl)?sl:o.startsWith(Vc)?Vc:null;if(l&&a==="SKILL.md"){t.set(e,`${BW}/${o.slice(l.length)}.md`);return}let c=o.startsWith(il)?il:o.startsWith(Jc)?Jc:null;if(c&&a==="SKILL.md"){t.set(e,`${KW}/${o.slice(c.length)}.md`);return}let m=`${Qk}/${o}`;a==="SKILL.md"&&qk(t,`${r}/${o}`,m);let p=`${m}/${a}`;t.set(e,p),a!=="SKILL.md"&&WW(t,e,p,`${r}/${o}`);}function HW(t){return t.split("/").filter(Boolean)[0]??""}async function zW(){if(qg!==void 0)return qg;let{BUILTIN_TARGETS:t}=await Promise.resolve().then(()=>(Pt(),tE)),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=HW(n);o.startsWith(".")&&e.add(o);}return qg=e,e}function eh(t){return t.split("/").some(e=>e.startsWith("."))}async function VW(t){let e=[],r=await zW(),n=nt(t);async function o(i){let a=n.join(t,i),l=await readdir(a,{withFileTypes:true}).catch(()=>[]);for(let c of l){let m=i?`${i}/${c.name}`:c.name;if(c.isDirectory()){if(r.has(c.name)||eh(m))continue;await o(m);continue}if(c.isSymbolicLink()&&await stat(n.join(t,m)).then(p=>p.isDirectory(),()=>false)){if(r.has(c.name)||eh(m))continue;await o(m);continue}(c.name==="AGENTS.md"||c.name==="AGENTS.override.md")&&e.push(n.join(t,m));}}return s(o,"walk"),await o(""),e}async function iu(t,e){let r=await VW(e);for(let n of r){let o=E(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 l=posix.dirname(o);if(eh(l))continue;let c=l.replace(/\//g,"-");t.set(o,`${UW}/${c}.md`);}}var UW,BW,KW,Qk,qg,St=d(()=>{ae();w();kt();mt();UW=".agentsmesh/rules",BW=".agentsmesh/commands",KW=".agentsmesh/agents",Qk=".agentsmesh/skills";s(E,"rel");s(L,"listFiles");s(qk,"addDirectoryMapping");s(WW,"addAncestorMappings");s(D,"addSimpleFileMapping");s(M,"addSkillLikeMapping");s(HW,"firstPathSegment");s(zW,"targetRootSegments");s(eh,"hasHiddenSegment");s(VW,"listScopedAgentsFiles");s(iu,"addScopedAgentsMappings");});var A,st,Ot,ht=d(()=>{A=".agentsmesh/rules",st=".agentsmesh/commands",Ot=".agentsmesh/agents";});async function rh(t,e,r="project"){if(r==="global"){t.set(Ao,`${A}/_root.md`);for(let n of await L(e,rr))M(t,E(e,n),rr);t.set(bi,".agentsmesh/ignore");return}t.set(er,`${A}/_root.md`);for(let n of await L(e,ie))M(t,E(e,n),ie);t.set(Oo,".agentsmesh/ignore");}var eE=d(()=>{St();ml();ht();s(rh,"buildAiderImportPaths");});var Pi,Wr,Ti,Ts,nm,rE,nE,om=d(()=>{Pi="amazon-q",Wr=".amazonq/rules",Ti=".amazonq/mcp.json",Ts=".aws/amazonq/rules",nm=".aws/amazonq/mcp.json",rE=".agentsmesh/rules",nE=".agentsmesh/mcp.json";});async function nh(t,e,r="project"){let n=r==="global"?Ts:Wr;for(let o of await L(e,n)){let i=E(e,o);D(t,i,A,".md");}}var oE=d(()=>{St();om();ht();s(nh,"buildAmazonQImportPaths");});var sr,le,On,oh,bo,ir,Po,sE,xi=d(()=>{sr="AGENTS.md",le=".agents/skills",On=".amp/settings.json",oh=".config/amp",bo=`${oh}/AGENTS.md`,ir=`${oh}/skills`,Po=`${oh}/settings.json`,sE=".agentsmesh/rules";});async function sh(t,e,r="project"){if(r==="global"){t.set(bo,`${A}/_root.md`);for(let n of await L(e,ir))M(t,E(e,n),ir);t.set(Po,".agentsmesh/mcp.json");return}t.set(sr,`${A}/_root.md`);for(let n of await L(e,le))M(t,E(e,n),le);t.set(On,".agentsmesh/mcp.json");}var iE=d(()=>{St();xi();ht();s(sh,"buildAmpImportPaths");});var Di,au,Hr,ar,sm,zr,An,im,wn,bn,am,fl,ih,Ni,lu,aE,Fi=d(()=>{Di="antigravity",au=".agents",Hr=`${au}/rules`,ar=`${Hr}/general.md`,sm=`${Hr}/_root.md`,zr=`${au}/skills`,An=`${au}/workflows`,im=`${au}/antigravity/mcp_config.json`,wn=".gemini/antigravity/GEMINI.md",bn=".gemini/antigravity/skills",am=".gemini/antigravity/workflows",fl=".gemini/antigravity/mcp_config.json",ih=".agentsmesh/rules/_root.md",Ni=".agentsmesh/rules",lu=".agentsmesh/commands",aE=".agentsmesh/mcp.json";});async function ah(t,e,r="project"){if(r==="global"){t.set(wn,`${A}/_root.md`);for(let n of await L(e,bn))M(t,E(e,n),bn);t.set(fl,".agentsmesh/mcp.json");return}t.set(ar,`${A}/_root.md`),t.set(sm,`${A}/_root.md`);for(let n of await L(e,Hr)){let o=E(e,n);o===ar||o===sm||D(t,o,A,".md");}for(let n of await L(e,An))D(t,E(e,n),st,".md");for(let n of await L(e,zr))M(t,E(e,n),zr);}var lE=d(()=>{St();Fi();ht();s(ah,"buildAntigravityImportPaths");});var ce,cu,De,lr,Ne,Pn,Tn,mu,To,xo,xn,Do,lh,ch,mh,ph,vi=d(()=>{ce="augment-code",cu=".augment",De=`${cu}/rules`,lr=`${cu}/commands`,Ne=`${cu}/skills`,Pn=`${cu}/settings.json`,Tn=".augmentignore",mu=".augment",To=`${mu}/rules`,xo=`${mu}/commands`,xn=`${mu}/skills`,Do=`${mu}/settings.json`,lh=".agentsmesh/rules",ch=".agentsmesh/mcp.json",mh=".agentsmesh/hooks.yaml",ph=".agentsmesh/ignore";});async function uh(t,e,r="project"){if(r==="global"){for(let n of await L(e,To))D(t,E(e,n),A,".md");for(let n of await L(e,xo))D(t,E(e,n),st,".md");for(let n of await L(e,xn))M(t,E(e,n),xn);t.set(Do,".agentsmesh/mcp.json");return}for(let n of await L(e,De))D(t,E(e,n),A,".md");for(let n of await L(e,lr))D(t,E(e,n),st,".md");for(let n of await L(e,Ne))M(t,E(e,n),Ne);t.set(Pn,".agentsmesh/mcp.json"),t.set(Tn,".agentsmesh/ignore");}var cE=d(()=>{St();vi();ht();s(uh,"buildAugmentCodeImportPaths");});var mE,xs,pE,lm,cm,mm,pm,um,No,dh,dm,gl,fm,gm,pu,uu,fh,hm,gh,Mi,uE,Fo=d(()=>{mE="claude-code",xs=".claude/CLAUDE.md",pE="CLAUDE.md",lm=".claude/rules",cm=".claude/commands",mm=".claude/agents",pm=".claude/skills",um=".claude/settings.json",No=".claude/hooks.json",dh=".claude/output-styles",dm=".claudeignore",gl=".mcp.json",fm=".claude.json",gm=".agentsmesh/rules",pu=".agentsmesh/commands",uu=".agentsmesh/agents",fh=".agentsmesh/skills",hm=".agentsmesh/mcp.json",gh=".agentsmesh/permissions.yaml",Mi=".agentsmesh/hooks.yaml",uE=".agentsmesh/ignore";});async function hh(t,e,r="project"){if(t.set(".claude/CLAUDE.md",`${A}/_root.md`),t.set(No,Mi),r==="project"&&t.set("CLAUDE.md",`${A}/_root.md`),r==="global")for(let n of await L(e,".agents/skills"))M(t,E(e,n),".agents/skills");for(let n of await L(e,".claude/rules"))D(t,E(e,n),A,".md");for(let n of await L(e,".claude/commands"))D(t,E(e,n),st,".md");for(let n of await L(e,".claude/agents"))D(t,E(e,n),Ot,".md");for(let n of await L(e,".claude/skills"))M(t,E(e,n),".claude/skills");}var dE=d(()=>{St();Fo();ht();s(hh,"buildClaudeCodeImportPaths");});var Ds,vo,$i,Mo,fE,Zt,Dn,Ns,Gi,ji,Ui,Bi,yh,Fs,du,_h,Rh,gE,hE,cr=d(()=>{Ds="cline",vo=".clinerules",$i=".clineignore",Mo=".cline/cline_mcp_settings.json",fE=".cline/mcp_settings.json",Zt=".cline/skills",Dn=".clinerules/workflows",Ns="AGENTS.md",Gi=".clinerules/hooks",ji="Documents/Cline/Rules",Ui="Documents/Cline/Workflows",Bi="Documents/Cline/Hooks",yh=".agentsmesh/hooks.yaml",Fs=".agentsmesh/rules",du=".agentsmesh/commands",_h=".agentsmesh/ignore",Rh=".agentsmesh/mcp.json",gE=".agentsmesh/agents",hE=".agentsmesh/skills";});async function Ih(t,e,r="project"){if(r==="global"){for(let n of await L(e,ji))D(t,E(e,n),A,".md");for(let n of await L(e,Ui))D(t,E(e,n),st,".md");for(let n of await L(e,Zt))M(t,E(e,n),Zt);t.set(Mo,".agentsmesh/mcp.json");return}t.set(".clinerules/_root.md",`${A}/_root.md`);for(let n of await L(e,".clinerules")){let o=E(e,n);!o.endsWith(".md")||o.includes("/workflows/")||basename(o)==="_root.md"||D(t,o,A,".md");}for(let n of await L(e,".clinerules/workflows"))D(t,E(e,n),st,".md");for(let n of await L(e,".cline/skills"))M(t,E(e,n),".cline/skills");}var yE=d(()=>{St();cr();ht();s(Ih,"buildClineImportPaths");});async function Sh(t,e,r="project"){if(r==="global"?(t.set(".codex/AGENTS.md",`${A}/_root.md`),t.set(".codex/AGENTS.override.md",`${A}/_root.md`)):(t.set("AGENTS.md",`${A}/_root.md`),t.set("codex.md",`${A}/_root.md`),await iu(t,e)),r==="project")for(let n of await L(e,".codex/instructions"))D(t,E(e,n),A,".md");for(let n of await L(e,".codex/rules")){let o=E(e,n);o.endsWith(".rules")?D(t,o,A,".rules"):o.endsWith(".md")&&D(t,o,A,".md");}for(let n of await L(e,".codex/agents"))D(t,E(e,n),Ot,".toml");for(let n of await L(e,".agents/skills"))M(t,E(e,n),".agents/skills");}var _E=d(()=>{St();ht();s(Sh,"buildCodexCliImportPaths");});var hl,Vr,Nn,Ch,fu,$o,kh,Fe,yl,ym,gu,hu,Eh,Fn=d(()=>{hl="continue",Vr=".continue/rules",Nn=".continue/prompts",Ch=".continue/mcpServers",fu=`${Ch}/agentsmesh.json`,$o=`${Vr}/general.md`,kh=`${Vr}/_root.md`,Fe=".continue/skills",yl=".continue/AGENTS.md",ym=".continue/config.yaml",gu=".agentsmesh/rules",hu=".agentsmesh/commands",Eh=".agentsmesh/mcp.json";});async function Lh(t,e,r="project"){t.set($o,`${A}/_root.md`),t.set(kh,`${A}/_root.md`);for(let n of await L(e,".continue/rules")){let o=E(e,n);o===$o||o===kh||D(t,o,A,".md");}for(let n of await L(e,".continue/prompts"))t.set(E(e,n),`${st}/${basename(n,".md")}.md`);for(let n of await L(e,".continue/skills"))M(t,E(e,n),".continue/skills");if(r==="global")for(let n of await L(e,".agents/skills"))M(t,E(e,n),".agents/skills");}var RE=d(()=>{St();Fn();ht();s(Lh,"buildContinueImportPaths");});function XW(t,e){if(e.endsWith(".instructions.md")){t.set(e,`${A}/${basename(e,".instructions.md")}.md`);return}D(t,e,A,".md");}async function Oh(t,e){t.set(".github/copilot-instructions.md",`${A}/_root.md`);for(let r of await L(e,".github/copilot"))t.set(E(e,r),`${A}/${basename(r,".instructions.md")}.md`);for(let r of await L(e,".github/instructions"))XW(t,E(e,r));for(let r of await L(e,".github/prompts"))t.set(E(e,r),`${st}/${basename(r,".prompt.md")}.md`);for(let r of await L(e,".github/agents"))t.set(E(e,r),`${Ot}/${basename(r,".agent.md")}.md`);for(let r of await L(e,".github/skills"))M(t,E(e,r),".github/skills");}var IE=d(()=>{St();ht();s(XW,"addCopilotInstructionMapping");s(Oh,"buildCopilotImportPaths");});var mr,pr,Qt,ve,Go,SE,_u,Me,Ki,Ru,Iu,Su,_l=d(()=>{mr="crush",pr="CRUSH.md",Qt=".crush/skills",ve="crush.json",Go=".crushignore",SE=".config/crush",_u=`${SE}/crush.json`,Me=".config/crush/skills",Ki=`${SE}/CRUSH.md`,Ru=".agentsmesh/rules",Iu=".agentsmesh/ignore",Su=".agentsmesh/mcp.json";});async function Ah(t,e,r="project"){if(r==="global"){for(let n of await L(e,Me))M(t,E(e,n),Me);return}t.set(pr,`${Ru}/_root.md`),t.set(ve,Su),t.set(Go,Iu);for(let n of await L(e,Qt))M(t,E(e,n),Qt);}var CE=d(()=>{St();_l();s(Ah,"buildCrushImportPaths");});var kE,vs,EE,ur,jo,dr,fr,me,$e,vn,Cu,Jr,wh,ZW,Rl,Yr,Mn,Ms,$s,LE,Il,bh,_m,Ph,Kt=d(()=>{kE="cursor",vs="AGENTS.md",EE=".cursorrules",ur=".cursor/rules",jo=`${ur}/general.mdc`,dr=".cursor/commands",fr=".cursor/agents",me=".cursor/skills",$e=".cursor/mcp.json",vn=".cursor/hooks.json",Cu=".cursor/settings.json",Jr=".cursorignore",wh=".cursorindexingignore",ZW=".agentsmesh-exports/cursor",Rl=`${ZW}/user-rules.md`,Yr=".cursor/AGENTS.md",Mn=".agentsmesh/rules",Ms=".agentsmesh/commands",$s=".agentsmesh/agents",LE=".agentsmesh/skills",Il=".agentsmesh/mcp.json",bh=".agentsmesh/permissions.yaml",_m=".agentsmesh/hooks.yaml",Ph=".agentsmesh/ignore";});async function Th(t,e,r="project"){if(r==="global"){t.set($e,".agentsmesh/mcp.json"),t.set(".cursor/AGENTS.md",`${A}/_root.md`);for(let n of await L(e,".cursor/rules"))D(t,E(e,n),A,".mdc");for(let n of await L(e,".cursor/commands"))D(t,E(e,n),st,".md");for(let n of await L(e,".cursor/agents"))D(t,E(e,n),Ot,".md");for(let n of await L(e,".cursor/skills"))M(t,E(e,n),".cursor/skills");return}t.set("AGENTS.md",`${A}/_root.md`);for(let n of await L(e,".cursor/rules"))D(t,E(e,n),A,".mdc");for(let n of await L(e,".cursor/commands"))D(t,E(e,n),st,".md");for(let n of await L(e,".cursor/agents"))D(t,E(e,n),Ot,".md");for(let n of await L(e,".cursor/skills"))M(t,E(e,n),".cursor/skills");}var OE=d(()=>{St();Kt();ht();s(Th,"buildCursorImportPaths");});var $n,gr,pe,Uo,Bo,Xr,Wi,AE,Sl=d(()=>{$n="deepagents-cli",gr=".deepagents/AGENTS.md",pe=".deepagents/skills",Uo=".mcp.json",Bo=".deepagents/AGENTS.md",Xr=".deepagents/skills",Wi=".deepagents/.mcp.json",AE=".agentsmesh/rules";});async function xh(t,e,r="project"){if(r==="global"){t.set(Bo,`${A}/_root.md`);for(let n of await L(e,Xr))M(t,E(e,n),Xr);t.set(Wi,".agentsmesh/mcp.json");return}t.set(gr,`${A}/_root.md`);for(let n of await L(e,pe))M(t,E(e,n),pe);t.set(Uo,".agentsmesh/mcp.json");}var wE=d(()=>{St();Sl();ht();s(xh,"buildDeepagentsCliImportPaths");});var hr,yr,Le,Gn,jn,Ko,Un,Hi,Gs,bE,zi=d(()=>{hr="factory-droid",yr="AGENTS.md",Le=".factory/skills",Gn=".factory/droids",jn=".factory/mcp.json",Ko=".factory/AGENTS.md",Un=".factory/skills",Hi=".factory/droids",Gs=".factory/mcp.json",bE=".agentsmesh/rules";});async function Dh(t,e,r="project"){if(r==="global"){t.set(Ko,`${A}/_root.md`);for(let n of await L(e,Hi))D(t,E(e,n),Ot,".md");for(let n of await L(e,Un))M(t,E(e,n),Un);t.set(Gs,".agentsmesh/mcp.json");return}t.set(yr,`${A}/_root.md`);for(let n of await L(e,Gn))D(t,E(e,n),Ot,".md");for(let n of await L(e,Le))M(t,E(e,n),Le);t.set(jn,".agentsmesh/mcp.json");}var PE=d(()=>{St();zi();ht();s(Dh,"buildFactoryDroidImportPaths");});async function Nh(t,e){for(let r of await L(e,".gemini/rules"))D(t,E(e,r),A,".md");for(let r of await L(e,".gemini/commands")){let n=E(e,r);if(!n.endsWith(".toml")&&!n.endsWith(".md"))continue;let o=n.replace(/\.(toml|md)$/i,""),i=".gemini/commands/",c=(o.startsWith(i)?o.slice(i.length):o).split("/").filter(Boolean).join(":");t.set(n,`${st}/${c}.md`);}for(let r of await L(e,".gemini/agents"))D(t,E(e,r),Ot,".md");for(let r of await L(e,".gemini/skills"))M(t,E(e,r),".gemini/skills");}var TE=d(()=>{St();ht();s(Nh,"buildGeminiCliImportPaths");});var Bn,_r,Oe,Wo,xE,Ho,Vi,Rr,DE,NE,Cl=d(()=>{Bn="goose",_r=".goosehints",Oe=".agents/skills",Wo=".gooseignore",xE=".config/goose",Ho=`${xE}/.goosehints`,Vi=`${xE}/.gooseignore`,Rr=".agents/skills",DE=".agentsmesh/rules",NE=".agentsmesh/ignore";});async function Fh(t,e,r="project"){if(r==="global"){t.set(Ho,`${A}/_root.md`);for(let n of await L(e,Rr))M(t,E(e,n),Rr);t.set(Vi,".agentsmesh/ignore");return}t.set(_r,`${A}/_root.md`);for(let n of await L(e,Oe))M(t,E(e,n),Oe);t.set(Wo,".agentsmesh/ignore");}var FE=d(()=>{St();Cl();ht();s(Fh,"buildGooseImportPaths");});var zo,Zr,vE,kl=d(()=>{zo="jules",Zr="AGENTS.md",vE=".agentsmesh/rules";});async function vh(t,e,r="project"){r!=="global"&&t.set(Zr,`${A}/_root.md`);}var ME=d(()=>{kl();ht();s(vh,"buildJulesImportPaths");});var Ji,js,ku,$E,Kn,GE,QW,Rm,Yi,Im,El,Ll,Sm,Cm,km,Em,Lm,qW,Eu,Xi,jE,Mh,Lu,UE,BE,KE,WE,Ol=d(()=>{Ji="junie",js=".junie",ku=`${js}/guidelines.md`,$E=`${js}/ci-guidelines.md`,Kn=`${js}/AGENTS.md`,GE="AGENTS.md",QW=`${js}/mcp`,Rm=`${QW}/mcp.json`,Yi=`${js}/skills`,Im=`${js}/rules`,El=`${js}/commands`,Ll=`${js}/agents`,Sm=".aiignore",Cm=".junie",km=`${Cm}/skills`,Em=`${Cm}/agents`,Lm=`${Cm}/commands`,qW=`${Cm}/mcp`,Eu=`${qW}/mcp.json`,Xi=`${Cm}/AGENTS.md`,jE=".agents/skills",Mh=".agentsmesh/rules/_root.md",Lu=".agentsmesh/rules",UE=".agentsmesh/commands",BE=".agentsmesh/agents",KE=".agentsmesh/mcp.json",WE=".agentsmesh/ignore";});async function $h(t,e){t.set(ku,`${A}/_root.md`),t.set(Kn,`${A}/_root.md`),t.set("AGENTS.md",`${A}/_root.md`);for(let r of await L(e,".junie/rules"))D(t,E(e,r),A,".md");for(let r of await L(e,".junie/commands"))D(t,E(e,r),st,".md");for(let r of await L(e,".junie/agents"))D(t,E(e,r),Ot,".md");for(let r of await L(e,".junie/skills"))M(t,E(e,r),".junie/skills");}var HE=d(()=>{St();Ol();ht();s($h,"buildJunieImportPaths");});var _e,Om,Wn,Vo,Jo,Yo,Qr,Us,Al,Ou,Zi,wl,Qi,Am,Au,bl,Bs,qi,ta,ea,Ks,Pl,wu,zE,Ws,Tl,ra,VE,JE,na=d(()=>{_e="kilo-code",Om=".kilo",Wn="AGENTS.md",Vo=`${Om}/rules`,Jo=`${Om}/commands`,Yo=`${Om}/agents`,Qr=`${Om}/skills`,Us=`${Om}/mcp.json`,Al=".kilocodeignore",Ou=".kilocode",Zi=`${Ou}/rules`,wl=`${Ou}/workflows`,Qi=`${Ou}/skills`,Am=`${Ou}/mcp.json`,Au=".kilocodemodes",bl=".kilo",Bs=`${bl}/AGENTS.md`,qi=`${bl}/rules`,ta=`${bl}/commands`,ea=`${bl}/agents`,Ks=`${bl}/skills`,Pl=`${bl}/mcp.json`,wu=".kilocodeignore",zE=".agents/skills",Ws=".agentsmesh/rules",Tl=".agentsmesh/commands",ra=".agentsmesh/agents",VE=".agentsmesh/mcp.json",JE=".agentsmesh/ignore";});async function Gh(t,e,r="project"){if(r==="global"){t.set(Bs,`${A}/_root.md`);for(let n of await L(e,qi))D(t,E(e,n),A,".md");for(let n of await L(e,ta))D(t,E(e,n),st,".md");for(let n of await L(e,ea))D(t,E(e,n),Ot,".md");for(let n of await L(e,Ks))M(t,E(e,n),Ks);t.set(Pl,".agentsmesh/mcp.json");return}t.set(Wn,`${A}/_root.md`);for(let n of await L(e,Vo))D(t,E(e,n),A,".md");for(let n of await L(e,Jo))D(t,E(e,n),st,".md");for(let n of await L(e,Yo))D(t,E(e,n),Ot,".md");for(let n of await L(e,Qr))M(t,E(e,n),Qr);t.set(Us,".agentsmesh/mcp.json");for(let n of await L(e,Zi)){let o=E(e,n);if(basename(o)==="00-root.md"){t.set(o,`${A}/_root.md`);continue}D(t,o,A,".md");}for(let n of await L(e,wl))D(t,E(e,n),st,".md");for(let n of await L(e,Qi))M(t,E(e,n),Qi);t.set(Am,".agentsmesh/mcp.json");}var YE=d(()=>{St();na();ht();s(Gh,"buildKiloCodeImportPaths");});var Ge,qr,wm,tn,Re,en,Hs,eH,xl,Dl,oa,rn,zs,sa,bm,Pm,XE,jh,Uh,ZE,QE,Bh,qE,Nl=d(()=>{Ge="kiro",qr="AGENTS.md",wm=".kiro",tn=`${wm}/steering`,Re=`${wm}/skills`,en=`${wm}/agents`,Hs=`${wm}/hooks`,eH=`${wm}/settings`,xl=`${eH}/mcp.json`,Dl=".kiroignore",oa=".kiro/steering",rn=".kiro/steering/AGENTS.md",zs=".kiro/skills",sa=".kiro/agents",bm=".kiro/settings/mcp.json",Pm=".kiro/settings/kiroignore",XE=".agents/skills",jh=".agentsmesh/rules/_root.md",Uh=".agentsmesh/rules",ZE=".agentsmesh/agents",QE=".agentsmesh/mcp.json",Bh=".agentsmesh/hooks.yaml",qE=".agentsmesh/ignore";});async function Kh(t,e,r="project"){if(r==="global"){t.set(rn,`${A}/_root.md`);for(let n of await L(e,oa)){let o=E(e,n);o!==rn&&D(t,o,A,".md");}for(let n of await L(e,zs))M(t,E(e,n),zs);for(let n of await L(e,sa))D(t,E(e,n),Ot,".md");return}t.set(qr,`${A}/_root.md`);for(let n of await L(e,tn))D(t,E(e,n),A,".md");for(let n of await L(e,Re))M(t,E(e,n),Re);for(let n of await L(e,en))D(t,E(e,n),Ot,".md");}var tL=d(()=>{St();Nl();ht();s(Kh,"buildKiroImportPaths");});var nn,bu,Hn,Xo,Zo,Qo,on,zn,Fl,Vs,ia,aa,la,Js,Ys,eL,Tm,Pu,Tu,Wh,ca=d(()=>{nn="opencode",bu=".opencode",Hn="AGENTS.md",Xo=`${bu}/rules`,Zo=`${bu}/commands`,Qo=`${bu}/agents`,on=`${bu}/skills`,zn="opencode.json",Fl=".config/opencode",Vs=`${Fl}/AGENTS.md`,ia=`${Fl}/rules`,aa=`${Fl}/commands`,la=`${Fl}/agents`,Js=`${Fl}/skills`,Ys=`${Fl}/opencode.json`,eL=".agents/skills",Tm=".agentsmesh/rules",Pu=".agentsmesh/commands",Tu=".agentsmesh/agents",Wh=".agentsmesh/mcp.json";});async function Hh(t,e,r="project"){if(r==="global"){t.set(Vs,`${A}/_root.md`);for(let n of await L(e,ia))D(t,E(e,n),A,".md");for(let n of await L(e,aa))D(t,E(e,n),st,".md");for(let n of await L(e,la))D(t,E(e,n),Ot,".md");for(let n of await L(e,Js))M(t,E(e,n),Js);t.set(Ys,".agentsmesh/mcp.json");return}t.set(Hn,`${A}/_root.md`);for(let n of await L(e,Xo))D(t,E(e,n),A,".md");for(let n of await L(e,Zo))D(t,E(e,n),st,".md");for(let n of await L(e,Qo))D(t,E(e,n),Ot,".md");for(let n of await L(e,on))M(t,E(e,n),on);t.set(zn,".agentsmesh/mcp.json");}var rL=d(()=>{St();ca();ht();s(Hh,"buildOpencodeImportPaths");});var Vn,Ir,qt,nL,qo,Sr,oL,vl=d(()=>{Vn="pi-agent",Ir="AGENTS.md",qt=".pi/skills",nL=".pi/agent",qo=`${nL}/AGENTS.md`,Sr=`${nL}/skills`,oL=".agentsmesh/rules";});async function zh(t,e,r="project"){if(r==="global"){t.set(qo,`${A}/_root.md`);for(let n of await L(e,Sr))M(t,E(e,n),Sr);return}t.set(Ir,`${A}/_root.md`);for(let n of await L(e,qt))M(t,E(e,n),qt);}var Vh=d(()=>{St();vl();ht();s(zh,"buildPiAgentImportPaths");});var Jn,Cr,ts,Yn,Xn,je,Xs,Zs,es,ma,Qs,Zn,qs,Jh,sL,iL,Ml=d(()=>{Jn="qwen-code",Cr="QWEN.md",ts=".qwen/rules",Yn=".qwen/commands",Xn=".qwen/agents",je=".qwen/skills",Xs=".qwen/settings.json",Zs=".qwenignore",es=".qwen/QWEN.md",ma=".qwen/settings.json",Qs=".qwen/commands",Zn=".qwen/skills",qs=".qwen/agents",Jh=".agentsmesh/rules",sL=".agentsmesh/commands",iL=".agentsmesh/agents";});async function Yh(t,e,r="project"){if(r==="global"){t.set(es,`${A}/_root.md`),t.set(ma,".agentsmesh/mcp.json");for(let n of await L(e,Qs))D(t,E(e,n),st,".md");for(let n of await L(e,qs))D(t,E(e,n),Ot,".md");for(let n of await L(e,Zn))M(t,E(e,n),Zn);return}t.set(Cr,`${A}/_root.md`),t.set(Xs,".agentsmesh/mcp.json"),t.set(Zs,".agentsmesh/ignore");for(let n of await L(e,ts))D(t,E(e,n),A,".md");for(let n of await L(e,Yn))D(t,E(e,n),st,".md");for(let n of await L(e,Xn))D(t,E(e,n),Ot,".md");for(let n of await L(e,je))M(t,E(e,n),je);}var aL=d(()=>{St();ht();Ml();s(Yh,"buildQwenCodeImportPaths");});var Qn,sn,Ae,lL,$l=d(()=>{Qn="replit-agent",sn="replit.md",Ae=".agents/skills",lL=".agentsmesh/rules";});async function Xh(t,e,r="project"){if(r!=="global"){t.set(sn,`${A}/_root.md`);for(let n of await L(e,Ae))M(t,E(e,n),Ae);}}var Zh=d(()=>{St();$l();ht();s(Xh,"buildReplitAgentImportPaths");});var ti,pa,an,xm,rs,ns,qn,Dm,Nm,Gl,Fm,xu,ei,ri,os,ua,vm,ni,cL,da,Du,mL,pL,fa=d(()=>{ti="roo-code",pa=".roo",an=`${pa}/rules/00-root.md`,xm=".roorules",rs=`${pa}/rules`,ns=`${pa}/commands`,qn=`${pa}/skills`,Dm=`${pa}/mcp.json`,Nm=".rooignore",Gl=".roomodes",Fm="settings/custom_modes.yaml",xu=".roo",ei=`${xu}/rules`,ri=`${xu}/commands`,os=`${xu}/skills`,ua="mcp_settings.json",vm=".rooignore",ni=`${xu}/AGENTS.md`,cL=".agents/skills",da=".agentsmesh/rules",Du=".agentsmesh/commands",mL=".agentsmesh/mcp.json",pL=".agentsmesh/ignore";});async function Qh(t,e,r="project"){if(r==="global"){t.set(ni,`${A}/_root.md`);for(let n of await L(e,ei))D(t,E(e,n),A,".md");for(let n of await L(e,ri))D(t,E(e,n),st,".md");for(let n of await L(e,os))M(t,E(e,n),os);t.set(ua,".agentsmesh/mcp.json");return}t.set(an,`${A}/_root.md`),t.set(xm,`${A}/_root.md`);for(let n of await L(e,rs)){let o=E(e,n);o!==an&&D(t,o,A,".md");}for(let n of await L(e,".roo")){let o=E(e,n);/^\.roo\/rules-[^/]+\/.+\.md$/.test(o)&&D(t,o,A,".md");}for(let n of await L(e,ns))D(t,E(e,n),st,".md");for(let n of await L(e,qn))M(t,E(e,n),qn);}var uL=d(()=>{St();fa();ht();s(Qh,"buildRooCodeImportPaths");});var to,kr,dL,te,ss,fL,is,Ue,jl,gL,Ul=d(()=>{to="rovodev",kr="AGENTS.md",dL=".rovodev",te=`${dL}/skills`,ss=`${dL}/mcp.json`,fL=".rovodev",is=".rovodev/AGENTS.md",Ue=".rovodev/skills",jl=".rovodev/mcp.json",gL=".agentsmesh/rules";});async function qh(t,e,r="project"){if(r==="global"){t.set(is,`${A}/_root.md`);for(let n of await L(e,Ue))M(t,E(e,n),Ue);t.set(jl,".agentsmesh/mcp.json");return}t.set(kr,`${A}/_root.md`);for(let n of await L(e,te))M(t,E(e,n),te);t.set(ss,".agentsmesh/mcp.json");}var hL=d(()=>{St();Ul();ht();s(qh,"buildRovodevImportPaths");});var Er,Nu,Be,Ke,Lr,ga,Bl,as,Or,ln,Mm,yL,$m,_L,RL,Kl=d(()=>{Er="trae",Nu=".trae",Be=`${Nu}/rules`,Ke=`${Be}/project_rules.md`,Lr=`${Nu}/skills`,ga=`${Nu}/mcp.json`,Bl=`${Nu}/.ignore`,as=".trae/user_rules",Or=".trae/user_rules/rules.md",ln=".trae/skills",Mm=".trae/mcp.json",yL=".agents/skills",$m=".agentsmesh/rules",_L=".agentsmesh/mcp.json",RL=".agentsmesh/ignore";});async function ty(t,e,r="project"){if(r==="global"){t.set(Or,`${A}/_root.md`);for(let n of await L(e,as)){let o=E(e,n);o!==Or&&D(t,o,A,".md");}for(let n of await L(e,ln))M(t,E(e,n),ln);return}t.set(Ke,`${A}/_root.md`);for(let n of await L(e,Be)){let o=E(e,n);o!==Ke&&D(t,o,A,".md");}for(let n of await L(e,Lr))M(t,E(e,n),Lr);}var IL=d(()=>{St();Kl();ht();s(ty,"buildTraeImportPaths");});var eo,cn,ey,ue,oi,We,SL,Wl=d(()=>{eo="warp",cn="AGENTS.md",ey="WARP.md",ue=".warp/skills",oi=".mcp.json",We=".warp/skills",SL=".agentsmesh/rules";});async function ry(t,e,r="project"){if(r==="global"){for(let n of await L(e,We))M(t,E(e,n),We);return}t.set(cn,`${A}/_root.md`);for(let n of await L(e,ue))M(t,E(e,n),ue);t.set(oi,".agentsmesh/mcp.json");}var CL=d(()=>{St();Wl();ht();s(ry,"buildWarpImportPaths");});async function ny(t,e){t.set("AGENTS.md",`${A}/_root.md`),t.set(".windsurfrules",`${A}/_root.md`),await iu(t,e);for(let r of await L(e,".windsurf/rules"))D(t,E(e,r),A,".md");for(let r of await L(e,".windsurf/workflows"))D(t,E(e,r),st,".md");for(let r of await L(e,".windsurf/skills"))M(t,E(e,r),".windsurf/skills");}var kL=d(()=>{St();ht();s(ny,"buildWindsurfImportPaths");});var mn,ro,rH,no,EL,ha=d(()=>{mn=".rules",ro=".zed/settings.json",rH=".config/zed",no=`${rH}/settings.json`,EL=".agentsmesh/rules";});async function oy(t,e,r="project"){if(r==="global"){t.set(no,".agentsmesh/mcp.json");return}t.set(mn,`${A}/_root.md`),t.set(ro,".agentsmesh/mcp.json");}var LL=d(()=>{ha();ht();s(oy,"buildZedImportPaths");});var OL=d(()=>{eE();oE();iE();lE();cE();dE();yE();_E();RE();IE();CE();OE();wE();PE();TE();FE();ME();HE();YE();tL();rL();Vh();aL();Zh();uL();hL();IL();CL();kL();LL();});var Ct=d(()=>{OL();});var nH,oH,sH,AL,su,Qg=d(()=>{kt();mt();rk();Uk();Vk();Zk();Ct();ml();nH={name:En,primaryRootInstructionPath:er,generateRules:ZC,generateCommands:qC,generateAgents:tk,generateSkills:QC,generateIgnore:ek,importFrom:jk},oH={rootInstructionPath:er,skillDir:ie,managedOutputs:{dirs:[ie],files:[er,Oo]},paths:{rulePath(t){return er},commandPath(t){return `${ie}/${H(t)}/SKILL.md`},agentPath(t){return `${ie}/${U(t)}/SKILL.md`}}},sH={rootInstructionPath:Ao,skillDir:rr,managedOutputs:{dirs:[rr],files:[Ao,bi]},rewriteGeneratedPath(t){return t===er?Ao:t===Oo?bi:t.startsWith(`${ie}/`)?t.replace(`${ie}/`,`${rr}/`):t},paths:{rulePath(t){return Ao},commandPath(t){return `${rr}/${H(t)}/SKILL.md`},agentPath(t){return `${rr}/${U(t)}/SKILL.md`}}},AL={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"native",permissions:"none"},su={id:En,metadata:{displayName:"Aider",category:"cli",officialUrl:"https://aider.chat",shortDescription:"Open-source terminal AI pair programmer"},generators:nH,capabilities:AL,emptyImportMessage:"No Aider config found (CONVENTIONS.md, .aider/skills, or .aiderignore).",lintRules:zk,lint:{hooks:Jk,permissions:Yk,mcp:Xk},supportsConversion:{commands:true,agents:true},project:oH,globalSupport:{capabilities:AL,detectionPaths:[Ao,bi,rr],layout:sH},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[er],global:[Ao]},canonicalDir:YC,canonicalRootFilename:"_root.md",markAsRoot:true},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Oo],global:[bi]},canonicalDir:".agentsmesh",canonicalFilename:XC}},buildImportPaths:rh,detectionPaths:[er,Oo]};});function wL(t){let e=[];for(let r of t.rules){if(r.targets.length>0&&!r.targets.includes(Pi))continue;let n=r.root?"_root":basename(r.source,".md");e.push({path:`${Wr}/${n}.md`,content:r.body.trim()});}return e}function bL(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Ti,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}var PL=d(()=>{om();s(wL,"generateRules");s(bL,"generateMcp");});async function TL(t,e){let r=e?.scope??"project";return J(Fu,t,r)}var xL=d(()=>{Et();sy();s(TL,"importFromAmazonQ");});function DL(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Pi}))}var NL=d(()=>{It();om();s(DL,"lintRules");});var aH,lH,cH,mH,Fu,sy=d(()=>{PL();xL();NL();Ct();om();aH={name:Pi,generateRules:wL,generateMcp:bL,importFrom:TL},lH={managedOutputs:{dirs:[Wr],files:[Ti]},paths:{rulePath(t,e){return `${Wr}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return null}}},cH={managedOutputs:{dirs:[Ts],files:[nm]},rewriteGeneratedPath(t){return t.startsWith(`${Wr}/`)?t.replace(`${Wr}/`,`${Ts}/`):t===Ti?nm:t},paths:{rulePath(t,e){return `${Ts}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return null}}},mH={rules:"native",additionalRules:"none",commands:"none",agents:"none",skills:"none",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Fu={id:Pi,metadata:{displayName:"Amazon Q Developer",category:"ide",officialUrl:"https://aws.amazon.com/q/developer",shortDescription:"AWS AI coding assistant"},generators:aH,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:DL,project:lH,globalSupport:{capabilities:mH,detectionPaths:[Ts,nm],layout:cH},importer:{rules:{feature:"rules",mode:"directory",source:{project:[Wr],global:[Ts]},canonicalDir:rE,extensions:[".md"],preset:"rule"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Ti],global:[nm]},canonicalDir:".agentsmesh",canonicalFilename:nE}},buildImportPaths:nh,detectionPaths:[Wr,Ti]};});function FL(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=lt(n,r);return o?[{path:sr,content:o}]:[]}function vL(t){return rt(t,le)}function ML(t){return t.commands.map(e=>({path:`${le}/${H(e.name)}/SKILL.md`,content:Nt(e)}))}function $L(t){return t.agents.map(e=>({path:`${le}/${U(e.name)}/SKILL.md`,content:Tt(e)}))}var GL=d(()=>{tt();Ut();mt();kt();xi();s(FL,"generateRules");s(vL,"generateSkills");s(ML,"generateCommands");s($L,"generateAgents");});function pt(t,e,r){let n=r.some(o=>pH.includes(o));return t.startsWith(`${e}/`)&&!n?`.agents/skills/${t.slice(e.length+1)}`:null}var pH,ee=d(()=>{pH=["amp","antigravity","codex-cli","goose","replit-agent"];s(pt,"mirrorSkillsToAgents");});async function UL(t,e,r){let n=await _(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 l={};for(let[c,m]of Object.entries(a))!m||typeof m!="object"||Array.isArray(m)||(l[c]=m);Object.keys(l).length!==0&&(await Bt(t,jL,l),r.push({fromTool:"amp",fromPath:e,toPath:jL,feature:"mcp"}));}var jL,BL=d(()=>{w();Kr();xi();jL=".agentsmesh/mcp.json";s(UL,"importAmpMcp");});async function KL(t,e={}){let r=e.scope??"project",n=[],o=await B("amp",t,r);return n.push(...await J(vu,t,r,{normalize:o})),await q(t,r==="global"?ir:le,"amp",n,o),await UL(t,r==="global"?Po:On,n),n}var WL=d(()=>{dt();tt();Et();BL();xi();iy();s(KL,"importFromAmp");});function HL(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:"amp"}))}var zL=d(()=>{It();xi();s(HL,"lintRules");});function VL(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[x(".agentsmesh/hooks.yaml","amp","Amp has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function JL(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?[]:[x(".agentsmesh/permissions.yaml","amp","Amp permissions are managed via amp.permissions in settings.json; canonical permissions are not projected.")]}function YL(t){return t.ignore.length===0?[]:[x(".agentsmesh/ignore","amp","Amp has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}var XL=d(()=>{Lt();s(VL,"lintHooks");s(JL,"lintPermissions");s(YL,"lintIgnore");});function hH(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 dH,fH,gH,ZL,vu,iy=d(()=>{kt();mt();GL();ee();WL();zL();XL();Ct();xi();dH={name:"amp",primaryRootInstructionPath:sr,generateRules:FL,generateCommands:ML,generateAgents:$L,generateSkills:vL,importFrom:KL},fH={rootInstructionPath:sr,skillDir:le,managedOutputs:{dirs:[le],files:[sr,On]},paths:{rulePath(t){return sr},commandPath(t){return `${le}/${H(t)}/SKILL.md`},agentPath(t){return `${le}/${U(t)}/SKILL.md`}}},gH={rootInstructionPath:bo,skillDir:ir,managedOutputs:{dirs:[ir],files:[bo,Po]},rewriteGeneratedPath(t){return t===sr?bo:t===On?Po:t.startsWith(`${le}/`)?t.replace(`${le}/`,`${ir}/`):t},mirrorGlobalPath(t,e){return pt(t,ir,e)},paths:{rulePath(t){return bo},commandPath(t){return `${ir}/${H(t)}/SKILL.md`},agentPath(t){return `${ir}/${U(t)}/SKILL.md`}}},ZL={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"};s(hH,"mergeAmpSettings");vu={id:"amp",metadata:{displayName:"Amp",category:"cli",officialUrl:"https://ampcode.com",shortDescription:"Sourcegraph's coding agent"},generators:dH,capabilities:ZL,emptyImportMessage:"No Amp config found (AGENTS.md, .agents/skills, or .amp/settings.json).",lintRules:HL,lint:{hooks:VL,permissions:JL,ignore:YL},supportsConversion:{commands:true,agents:true},project:fH,globalSupport:{capabilities:ZL,detectionPaths:[bo,Po],layout:gH},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[sr],global:[bo]},canonicalDir:sE,canonicalRootFilename:"_root.md",markAsRoot:true}},emitScopedSettings(t,e){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:On,content:JSON.stringify({"amp.mcpServers":t.mcp.mcpServers},null,2)}]},mergeGeneratedOutputContent(t,e,r,n){return n===On||n===Po?hH(t,r):null},sharedArtifacts:{".agents/skills/":"consumer"},buildImportPaths:sh,detectionPaths:[sr,On],conversionDefaults:{commandsToSkills:true,agentsToSkills:true}};});function QL(t){let e=t.rules.find(n=>n.root);if(!e)return [];let r=[{path:ar,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:`${Hr}/${o}.md`,content:n.body.trim()||""});}return r}function qL(t){return t.commands.map(e=>{let r=e.description.trim(),n=e.body.trim(),o=r&&n&&!n.startsWith(r)?`${r}
53
59
 
54
- ${o}`:o||r;return {path:`${Rn}/${e.name}.md`,content:n}})}function IO(t){return tt(t,Gr)}function RO(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:xl,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function SO(t){return t.agents.map(e=>({path:`${Gr}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function CO(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 st(e?.body.trim()??"",r)}var EO=u(()=>{Q();Mt();at();Li();s(yO,"generateRules");s(_O,"generateCommands");s(IO,"generateSkills");s(RO,"generateMcp");s(SO,"generateAgents");s(CO,"renderAntigravityGlobalInstructions");});function E0(t){let e=t.replace(/\\/g,"/");return !e.startsWith("rules/")||e.endsWith("/")||!e.endsWith(".md")?null:e}async function Xo(t){let e=NS(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}=w(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(i,m),r.push({fromTool:t.fromTool,fromPath:t.sourcePath,toPath:`.agentsmesh/${n}`,feature:"rules"});}return {rootContent:e.rootContent,results:r}}var Ac=u(()=>{T();M();Mt();lt();s(E0,"canonicalRulePath");s(Xo,"splitEmbeddedRulesToCanonical");});async function O0(t,e,r,o){let n=o==="global"?Io:vr,i=o==="project"?[n,Pl]:[n];for(let a of i){let c=join(t,a),l=await y(c);if(l===null)continue;let m=join(t,nf),p=await Xo({content:l,projectRoot:t,rulesDir:Oi,sourcePath:c,fromTool:Ei,normalize:r});e.push(...p.results);let{body:d}=w(r(p.rootContent,c,m)),g=await K(m,{root:true},d);await L(join(t,Oi)),await I(m,g),e.push({fromTool:Ei,fromPath:c,toPath:nf,feature:"rules"});return}}async function LO(t,e={}){let r=e.scope??"project",o=[],n=await U(Ei,t,r);return await O0(t,o,n,r),o.push(...await z(tu,t,r,{normalize:n})),await Z(t,r==="global"?Sn:Gr,Ei,o,n),o}var AO=u(()=>{mt();T();M();Q();Ct();lt();Ac();Li();ah();s(O0,"importRootRule");s(LO,"importFromAntigravity");});var TO,bO,PO=u(()=>{M();lt();Li();TO=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}=w(e(o));return {destPath:o,toPath:`${Oi}/${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"),bO=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=w(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 xO(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Ei}))}var DO=u(()=>{_t();Li();s(xO,"lintRules");});var L0,A0,k0,w0,tu,ah=u(()=>{_i();at();EO();Li();AO();PO();DO();Rt();L0={name:"antigravity",primaryRootInstructionPath:vr,generateRules:yO,generateCommands:_O,generateAgents:SO,generateSkills:IO,generateMcp:RO,importFrom:LO},A0={rootInstructionPath:vr,skillDir:".agents/skills",rewriteGeneratedPath(t){return t===xl?null:t},paths:{rulePath(t,e){return `${_o}/${t}.md`},commandPath(t,e){return `${Rn}/${t}.md`},agentPath(t){return `${Gr}/${$(t)}/SKILL.md`}}},k0={rootInstructionPath:Io,renderPrimaryRootInstruction:CO,skillDir:Sn,managedOutputs:{dirs:[Sn,Dl],files:[Io,Ja]},rewriteGeneratedPath(t){return t===vr?Io:t.startsWith(`${_o}/`)?null:t.startsWith(".agents/skills/")?t.replace(".agents/skills",Sn):t.startsWith(`${Rn}/`)?t.replace(Rn,Dl):t===xl?Ja:t},paths:{rulePath(t,e){return Io},commandPath(t,e){return `${Dl}/${t}.md`},agentPath(t){return `${Gr}/${$(t)}/SKILL.md`}}},w0={rules:"native",additionalRules:"embedded",commands:Dr("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:Dr("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:xO,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:[_o]},canonicalDir:Oi,extensions:[".md"],map:TO},commands:{feature:"commands",mode:"directory",source:{project:[Rn],global:[Dl]},canonicalDir:Lp,extensions:[".md"],map:bO},mcp:{feature:"mcp",mode:"flatFile",source:{global:[Ja]},canonicalDir:".agentsmesh",canonicalFilename:LC}},buildImportPaths:sf,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 NO(t){let e=[];for(let r of t.rules)if(!(r.targets.length>0&&!r.targets.includes(ne)))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 FO(t){return t.commands.map(e=>({path:`${er}/${e.name}.md`,content:P(P0(e),e.body.trim())}))}function vO(t){return tt(t,Te)}function GO(t){return t.ignore.length===0?[]:[{path:So,content:t.ignore.join(`
55
- `)}]}var MO=u(()=>{Q();M();Ai();s(b0,"ruleFrontmatter");s(P0,"commandFrontmatter");s(NO,"generateRules");s(FO,"generateCommands");s(vO,"generateSkills");s(GO,"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 d={matcher:c,type:"command",command:p};typeof m.timeout=="number"&&(d.timeout=m.timeout),n.push(d);}}n.length>0&&(e[r]=n);}return e}async function jO(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,cf,a),r.push({fromTool:ne,fromPath:join(t,e),toPath:cf,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,lf);await L(dirname(c)),await I(c,stringify(a)),r.push({fromTool:ne,fromPath:join(t,e),toPath:lf,feature:"hooks"});}}}async function UO(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,mf);await L(dirname(i)),await I(i,n.join(`
57
- `)),r.push({fromTool:ne,fromPath:join(t,e),toPath:mf,feature:"ignore"});}var KO=u(()=>{T();Nr();Ai();s(D0,"augmentHooksToCanonical");s(jO,"importAugmentSettings");s(UO,"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"?Cn:we,i=join(t,af);e.push(...await yt({srcDir:join(t,n),destDir:i,extensions:[".md"],fromTool:ne,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:d}=w(c(m));return {destPath:m,toPath:`${af}/${a}`,feature:"rules",content:await K(m,N0(p,l),d)}},"mapEntry")}));}async function v0(t,e,r,o){let n=o==="global"?En:er,i=join(t,".agentsmesh/commands");e.push(...await yt({srcDir:join(t,n),destDir:i,extensions:[".md"],fromTool:ne,normalize:r,mapEntry:s(async({relativePath:a,normalizeTo:c})=>{let l=basename(a,".md"),m=join(i,`${l}.md`),{frontmatter:p,body:d}=w(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},d)}},"mapEntry")}));}async function WO(t,e={}){let r=e.scope??"project",o=[],n=await U(ne,t,r);return await F0(t,o,n,r),await v0(t,o,n,r),await Z(t,r==="global"?Co:Te,ne,o,n),await jO(t,r==="global"?On:Ro,o),r==="project"&&await UO(t,So,o),o}var HO=u(()=>{mt();ke();Q();lt();M();KO();Ai();s(N0,"canonicalRuleMeta");s(F0,"importRules");s(v0,"importCommands");s(WO,"importFromAugmentCode");});function zO(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:ne}))}var VO=u(()=>{_t();Ai();s(zO,"lintRules");});function YO(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=new Set(JO);return Object.keys(t.hooks).filter(r=>!e.has(r)).map(r=>_s(r,"augment-code",JO,{unsupportedBy:"AugmentCode hooks"}))}var JO,XO=u(()=>{Et();JO=["PreToolUse","PostToolUse","SessionStart","SessionEnd","Stop"];s(YO,"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,ZO,QO=u(()=>{MO();HO();VO();XO();Rt();Ai();G0={name:ne,generateRules:NO,generateCommands:FO,generateSkills:vO,generateIgnore:GO,importFrom:WO};s(M0,"serializeHooksForSettings");s($0,"mergeAugmentSettings");s(j0,"buildSettingsContent");U0={skillDir:Te,managedOutputs:{dirs:[we,er,Te],files:[Ro,So]},paths:{rulePath(t){return `${we}/${t}.md`},commandPath(t){return `${er}/${t}.md`},agentPath(t){return null}}},K0={skillDir:Co,managedOutputs:{dirs:[Cn,En,Co],files:[On]},rewriteGeneratedPath(t){return t.startsWith(`${we}/`)?t.replace(`${we}/`,`${Cn}/`):t.startsWith(`${er}/`)?t.replace(`${er}/`,`${En}/`):t.startsWith(`${Te}/`)?t.replace(`${Te}/`,`${Co}/`):t===Ro?On:t===So?null:t},paths:{rulePath(t){return `${Cn}/${t}.md`},commandPath(t){return `${En}/${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"},ZO={id:ne,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:YO},project:U0,globalSupport:{capabilities:W0,detectionPaths:[Cn,En,Co,On],layout:K0},emitScopedSettings(t){let e=j0(t);return e===null?[]:[{path:Ro,content:e}]},mergeGeneratedOutputContent(t,e,r,o){return o===Ro||o===On?$0(t,r):null},buildImportPaths:pf,detectionPaths:[we,er,Te,Ro,So]};});function qO(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(!po(i))continue;let a=Kt(i),c=le(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 tL=u(()=>{br();s(qO,"buildClaudeHooksObjectFromCanonical");});function eL(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Rs,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:`${Nl}/${i}.md`,content:c});}return e}function rL(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:`${Fl}/${e.name}.md`,content:o}})}function oL(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
60
+ ${n}`:n||r;return {path:`${An}/${e.name}.md`,content:o}})}function tO(t){return rt(t,zr)}function eO(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:im,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function rO(t){return t.agents.map(e=>({path:`${zr}/${U(e.name)}/SKILL.md`,content:Tt(e)}))}function nO(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 lt(e?.body.trim()??"",r)}var oO=d(()=>{tt();Ut();mt();Fi();s(QL,"generateRules");s(qL,"generateCommands");s(tO,"generateSkills");s(eO,"generateMcp");s(rO,"generateAgents");s(nO,"renderAntigravityGlobalInstructions");});function _H(t){let e=t.replace(/\\/g,"/");return !e.startsWith("rules/")||e.endsWith("/")||!e.endsWith(".md")?null:e}async function oo(t){let e=jC(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=_H(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:l,body:c}=b(a),m=await K(i,{...l,root:false,description:n.description||void 0,globs:n.globs.length>0?n.globs:void 0,targets:n.targets.length>0?n.targets:void 0},c);await I(i,m),r.push({fromTool:t.fromTool,fromPath:t.sourcePath,toPath:`.agentsmesh/${o}`,feature:"rules"});}return {rootContent:e.rootContent,results:r}}var Hl=d(()=>{w();j();Ut();ut();s(_H,"canonicalRulePath");s(oo,"splitEmbeddedRulesToCanonical");});async function RH(t,e,r,n){let o=n==="global"?wn:ar,i=n==="project"?[o,sm]:[o];for(let a of i){let l=join(t,a),c=await _(l);if(c===null)continue;let m=join(t,ih),p=await oo({content:c,projectRoot:t,rulesDir:Ni,sourcePath:l,fromTool:Di,normalize:r});e.push(...p.results);let{body:u}=b(r(p.rootContent,l,m)),f=await K(m,{root:true},u);await O(join(t,Ni)),await I(m,f),e.push({fromTool:Di,fromPath:l,toPath:ih,feature:"rules"});return}}async function iO(t,e={}){let r=e.scope??"project",n=[],o=await B(Di,t,r);return await RH(t,n,o,r),n.push(...await J(Mu,t,r,{normalize:o})),await q(t,r==="global"?bn:zr,Di,n,o),n}var aO=d(()=>{dt();w();j();tt();Et();ut();Hl();Fi();ly();s(RH,"importRootRule");s(iO,"importFromAntigravity");});var mO,pO,uO=d(()=>{j();ut();Fi();mO=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}=b(e(n));return {destPath:n,toPath:`${Ni}/${t}`,content:await K(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},i)}},"nonRootRuleMapper"),pO=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=b(e(n));return {destPath:n,toPath:`${lu}/${t}`,content:await _t(n,{hasDescription:typeof o.description=="string",description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},i)}},"workflowMapper");});function dO(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Di}))}var fO=d(()=>{It();Fi();s(dO,"lintRules");});var IH,SH,CH,kH,Mu,ly=d(()=>{wi();mt();oO();Fi();aO();uO();fO();Ct();IH={name:"antigravity",primaryRootInstructionPath:ar,generateRules:QL,generateCommands:qL,generateAgents:rO,generateSkills:tO,generateMcp:eO,importFrom:iO},SH={rootInstructionPath:ar,skillDir:".agents/skills",managedOutputs:{dirs:[Hr,An,zr],files:[ar]},rewriteGeneratedPath(t){return t===im?null:t},paths:{rulePath(t,e){return `${Hr}/${t}.md`},commandPath(t,e){return `${An}/${t}.md`},agentPath(t){return `${zr}/${U(t)}/SKILL.md`}}},CH={rootInstructionPath:wn,renderPrimaryRootInstruction:nO,skillDir:bn,managedOutputs:{dirs:[bn,am],files:[wn,fl]},rewriteGeneratedPath(t){return t===ar?wn:t.startsWith(`${Hr}/`)?null:t.startsWith(".agents/skills/")?t.replace(".agents/skills",bn):t.startsWith(`${An}/`)?t.replace(An,am):t===im?fl:t},paths:{rulePath(t,e){return wn},commandPath(t,e){return `${am}/${t}.md`},agentPath(t){return `${bn}/${U(t)}/SKILL.md`}}},kH={rules:"native",additionalRules:"embedded",commands:Gr("partial","workflows"),agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Mu={id:"antigravity",metadata:{displayName:"Antigravity",category:"ide",officialUrl:"https://antigravity.google",shortDescription:"Google's agentic IDE"},generators:IH,capabilities:{rules:"native",additionalRules:"native",commands:Gr("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:dO,project:SH,globalSupport:{capabilities:kH,detectionPaths:[".gemini/antigravity/GEMINI.md",".gemini/antigravity/skills",".gemini/antigravity/workflows",".gemini/antigravity/mcp_config.json"],layout:CH},importer:{rules:{feature:"rules",mode:"directory",source:{project:[Hr]},canonicalDir:Ni,extensions:[".md"],map:mO},commands:{feature:"commands",mode:"directory",source:{project:[An],global:[am]},canonicalDir:lu,extensions:[".md"],map:pO},mcp:{feature:"mcp",mode:"flatFile",source:{global:[fl]},canonicalDir:".agentsmesh",canonicalFilename:aE}},buildImportPaths:ah,detectionPaths:[".agents/rules/general.md",".agents/rules/",".agents/skills/",".agents/workflows/"],conversionDefaults:{agentsToSkills:true}};});function LH(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 OH(t){let e={};return t.description&&(e.description=t.description),e}function gO(t){let e=[];for(let r of t.rules)if(!(r.targets.length>0&&!r.targets.includes(ce)))if(r.root){let n={always_apply:true};r.description&&(n.description=r.description),e.push({path:`${De}/_root.md`,content:T(n,r.body.trim())});}else {let n=basename(r.source,".md");e.push({path:`${De}/${n}.md`,content:T(LH(r),r.body.trim())});}return e}function hO(t){return t.commands.map(e=>({path:`${lr}/${e.name}.md`,content:T(OH(e),e.body.trim())}))}function yO(t){return rt(t,Ne)}function _O(t){return t.ignore.length===0?[]:[{path:Tn,content:t.ignore.join(`
61
+ `)}]}var RO=d(()=>{tt();j();vi();s(LH,"ruleFrontmatter");s(OH,"commandFrontmatter");s(gO,"generateRules");s(hO,"generateCommands");s(yO,"generateSkills");s(_O,"generateIgnore");});function wH(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,l=typeof a.matcher=="string"?a.matcher:".*",c=Array.isArray(a.hooks)?a.hooks:[];for(let m of c){let p=typeof m.command=="string"?m.command:void 0;if(!p)continue;let u={matcher:l,type:"command",command:p};typeof m.timeout=="number"&&(u.timeout=m.timeout),o.push(u);}}o.length>0&&(e[r]=o);}return e}async function SO(t,e,r){let n=await _(join(t,e));if(n===null)return;let o;try{o=JSON.parse(n);}catch{return}if(o.mcpServers&&typeof o.mcpServers=="object"){let a=o.mcpServers;await Bt(t,ch,a),r.push({fromTool:ce,fromPath:join(t,e),toPath:ch,feature:"mcp"});}let i=o.hooks;if(i&&typeof i=="object"&&!Array.isArray(i)){let a=wH(i);if(Object.keys(a).length>0){let l=join(t,mh);await O(dirname(l)),await I(l,stringify(a)),r.push({fromTool:ce,fromPath:join(t,e),toPath:mh,feature:"hooks"});}}}async function CO(t,e,r){let n=await _(join(t,e));if(n===null)return;let o=n.split(`
62
+ `).map(a=>a.trim()).filter(a=>a.length>0&&!a.startsWith("#"));if(o.length===0)return;let i=join(t,ph);await O(dirname(i)),await I(i,o.join(`
63
+ `)),r.push({fromTool:ce,fromPath:join(t,e),toPath:ph,feature:"ignore"});}var kO=d(()=>{w();Kr();vi();s(wH,"augmentHooksToCanonical");s(SO,"importAugmentSettings");s(CO,"importAugmentIgnore");});function bH(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 PH(t,e,r,n){let o=n==="global"?To:De,i=join(t,lh);e.push(...await Rt({srcDir:join(t,o),destDir:i,extensions:[".md"],fromTool:ce,normalize:r,mapEntry:s(async({relativePath:a,normalizeTo:l})=>{let c=a==="_root.md"||basename(a)==="_root.md",m=join(i,a),{frontmatter:p,body:u}=b(l(m));return {destPath:m,toPath:`${lh}/${a}`,feature:"rules",content:await K(m,bH(p,c),u)}},"mapEntry")}));}async function TH(t,e,r,n){let o=n==="global"?xo:lr,i=join(t,".agentsmesh/commands");e.push(...await Rt({srcDir:join(t,o),destDir:i,extensions:[".md"],fromTool:ce,normalize:r,mapEntry:s(async({relativePath:a,normalizeTo:l})=>{let c=basename(a,".md"),m=join(i,`${c}.md`),{frontmatter:p,body:u}=b(l(m)),f=typeof p.description=="string"?p.description:"";return {destPath:m,toPath:`.agentsmesh/commands/${c}.md`,feature:"commands",content:await _t(m,{description:f,hasDescription:true,hasAllowedTools:false},u)}},"mapEntry")}));}async function LO(t,e={}){let r=e.scope??"project",n=[],o=await B(ce,t,r);return await PH(t,n,o,r),await TH(t,n,o,r),await q(t,r==="global"?xn:Ne,ce,n,o),await SO(t,r==="global"?Do:Pn,n),r==="project"&&await CO(t,Tn,n),n}var OO=d(()=>{dt();xe();tt();ut();j();kO();vi();s(bH,"canonicalRuleMeta");s(PH,"importRules");s(TH,"importCommands");s(LO,"importFromAugmentCode");});function AO(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:ce}))}var wO=d(()=>{It();vi();s(AO,"lintRules");});function PO(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=new Set(bO);return Object.keys(t.hooks).filter(r=>!e.has(r)).map(r=>Ps(r,"augment-code",bO,{unsupportedBy:"AugmentCode hooks"}))}var bO,TO=d(()=>{Lt();bO=["PreToolUse","PostToolUse","SessionStart","SessionEnd","Stop"];s(PO,"lintHooks");});function DH(t){let e={};for(let[r,n]of Object.entries(t)){if(!n||n.length===0)continue;let o=n.map(i=>({matcher:i.matcher,hooks:[{type:"command",command:i.command,...i.timeout!==void 0?{timeout:i.timeout}:{}}]}));e[r]=o;}return e}function NH(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.mcpServers!==void 0&&(r.mcpServers=o.mcpServers),o.hooks!==void 0&&(r.hooks=o.hooks),JSON.stringify(r,null,2)}function FH(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=DH(t.hooks)),Object.keys(e).length===0?null:JSON.stringify(e,null,2)}var xH,vH,MH,$H,GH,xO,DO=d(()=>{RO();OO();wO();TO();Ct();vi();xH={name:ce,generateRules:gO,generateCommands:hO,generateSkills:yO,generateIgnore:_O,importFrom:LO};s(DH,"serializeHooksForSettings");s(NH,"mergeAugmentSettings");s(FH,"buildSettingsContent");vH={skillDir:Ne,managedOutputs:{dirs:[De,lr,Ne],files:[Pn,Tn]},paths:{rulePath(t){return `${De}/${t}.md`},commandPath(t){return `${lr}/${t}.md`},agentPath(t){return null}}},MH={skillDir:xn,managedOutputs:{dirs:[To,xo,xn],files:[Do]},rewriteGeneratedPath(t){return t.startsWith(`${De}/`)?t.replace(`${De}/`,`${To}/`):t.startsWith(`${lr}/`)?t.replace(`${lr}/`,`${xo}/`):t.startsWith(`${Ne}/`)?t.replace(`${Ne}/`,`${xn}/`):t===Pn?Do:t===Tn?null:t},paths:{rulePath(t){return `${To}/${t}.md`},commandPath(t){return `${xo}/${t}.md`},agentPath(t){return null}}},$H={rules:"native",additionalRules:"native",commands:"native",agents:"none",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},GH={rules:"native",additionalRules:"native",commands:"native",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},xO={id:ce,metadata:{displayName:"Augment Code",category:"ide",officialUrl:"https://www.augmentcode.com",shortDescription:"Codebase-aware AI for IDEs"},generators:xH,capabilities:$H,emptyImportMessage:"No AugmentCode config found (.augment/rules, .augment/commands, .augment/skills, .augment/settings.json, or .augmentignore).",lintRules:AO,lint:{hooks:PO},project:vH,globalSupport:{capabilities:GH,detectionPaths:[To,xo,xn,Do],layout:MH},emitScopedSettings(t){let e=FH(t);return e===null?[]:[{path:Pn,content:e}]},mergeGeneratedOutputContent(t,e,r,n){return n===Pn||n===Do?NH(t,r):null},buildImportPaths:uh,detectionPaths:[De,lr,Ne,Pn,Tn]};});function NO(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(!Sn(i))continue;let a=zt(i),l=he(i),c=i.type==="prompt"?l||a:a||l,m={type:i.type==="prompt"?"prompt":"command",[i.type==="prompt"?"prompt":"command"]:c};i.timeout!==void 0&&(m.timeout=i.timeout),o.push({matcher:i.matcher,hooks:[m]});}o.length>0&&(e[r]=o);}return e}var FO=d(()=>{Mr();s(NO,"buildClaudeHooksObjectFromCanonical");});function vO(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:xs,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 l=T(a,o.body.trim()||"");e.push({path:`${lm}/${i}.md`,content:l});}return e}function MO(t){return t.commands.map(e=>{let r={description:e.description,"allowed-tools":e.allowedTools.length>0?e.allowedTools:void 0};r["allowed-tools"]===void 0&&delete r["allowed-tools"];let n=T(r,e.body.trim()||"");return {path:`${cm}/${e.name}.md`,content:n}})}function $O(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
58
64
 
59
- ${o}`,i=P(r,n);return {path:`${vl}/${e.name}.md`,content:i}})}function nL(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Ya,content:e}]}function sL(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
65
+ ${n}`,i=T(r,o);return {path:`${mm}/${e.name}.md`,content:i}})}function GO(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:gl,content:e}]}function jO(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
60
66
 
61
- ${n}`,a=P(o,i);e.push({path:`${Gl}/${r.name}/SKILL.md`,content:a});for(let c of r.supportingFiles){let l=c.relativePath.replace(/\\/g,"/");e.push({path:`${Gl}/${r.name}/${l}`,content:c.content});}}return e}function iL(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:Ml,content:n}]}function aL(t,e){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let r=qO(t);if(Object.keys(r).length===0)return [];if(e?.scope==="global")return [{path:Ln,content:JSON.stringify(r,null,2)}];let o=JSON.stringify({hooks:r},null,2);return [{path:Ml,content:o}]}function cL(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
62
- `);return [{path:$l,content:e}]}var lL=u(()=>{M();An();tL();s(eL,"generateRules");s(rL,"generateCommands");s(oL,"generateAgents");s(nL,"generateMcp");s(sL,"generateSkills");s(iL,"generatePermissions");s(aL,"generateHooks");s(cL,"generateIgnore");});function V0(t){let e=t.description.trim();return e||(basename(t.source)||"rule").replace(/\.md$/i,"")||"Rule"}function mL(t){let e=t.rules.find(n=>n.root),r=(e?.body??"").trim();return r?`# Global Instructions
67
+ ${o}`,a=T(n,i);e.push({path:`${pm}/${r.name}/SKILL.md`,content:a});for(let l of r.supportingFiles){let c=l.relativePath.replace(/\\/g,"/");e.push({path:`${pm}/${r.name}/${c}`,content:l.content});}}return e}function UO(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:um,content:o}]}function BO(t,e){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let r=NO(t);if(Object.keys(r).length===0)return [];if(e?.scope==="global")return [{path:No,content:JSON.stringify(r,null,2)}];let n=JSON.stringify({hooks:r},null,2);return [{path:um,content:n}]}function KO(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
68
+ `);return [{path:dm,content:e}]}var WO=d(()=>{j();Fo();FO();s(vO,"generateRules");s(MO,"generateCommands");s($O,"generateAgents");s(GO,"generateMcp");s(jO,"generateSkills");s(UO,"generatePermissions");s(BO,"generateHooks");s(KO,"generateIgnore");});function BH(t){let e=t.description.trim();return e||(basename(t.source)||"rule").replace(/\.md$/i,"")||"Rule"}function HO(t){let e=t.rules.find(o=>o.root),r=(e?.body??"").trim();return r?`# Global Instructions
63
69
 
64
- ## ${e?V0(e):"Guidance"}
70
+ ## ${e?BH(e):"Guidance"}
65
71
 
66
72
  ${r}
67
- `:""}var pL=u(()=>{s(V0,"ruleSectionTitle");s(mL,"renderClaudeGlobalPrimaryInstructions");});function dL(t,e){return t===null?"created":t!==e?"updated":"unchanged"}async function gL(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=`${uf}/${c.name}.md`,d=await y(join(e,p));a.push({target:"claude-code",path:p,content:m,currentContent:d??void 0,status:dL(d,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=`${uf}/${c.name}.md`,d=await y(join(e,p));a.push({target:"claude-code",path:p,content:m,currentContent:d??void 0,status:dL(d,m)});}return a}var fL=u(()=>{T();M();An();s(dL,"computeStatus");s(gL,"generateClaudeGlobalExtras");});var hL,yL,_L,IL=u(()=>{M();lt();Qe();An();hL=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=w(e(o));return {destPath:o,toPath:`${Ul}/${t}`,content:await K(o,{...n,root:false},i)}},"claudeRuleMapper"),yL=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=w(e(o)),a=Ze(n.allowedTools),c=a.length>0?a:Ze(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"),_L=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=w(e(o));return {destPath:o,toPath:`${Tp}/${t}`,content:await Bt(o,n,i)}},"claudeAgentMapper");});function RL(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(i=>({...i,target:wC}))}var SL=u(()=>{_t();An();s(RL,"lintRules");});var J0,CL,Y0,X0,eu,lh=u(()=>{lL();An();Qt();pL();fL();mh();IL();SL();Rt();J0={name:"claude-code",primaryRootInstructionPath:Rs,generateRules:eL,generateCommands:rL,generateAgents:oL,generateSkills:sL,generateMcp:nL,generatePermissions:iL,generateHooks:aL,generateIgnore:cL,importFrom:ru},CL={rootInstructionPath:Rs,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:Rs,skillDir:".claude/skills",renderPrimaryRootInstruction:mL,managedOutputs:{dirs:[".claude/agents",".claude/commands",".claude/rules",".claude/skills",".claude/output-styles",".agents/skills"],files:[".claude/CLAUDE.md",".claude/settings.json",jl,Ln,".claudeignore"]},rewriteGeneratedPath(t){return t===Ya?jl:t},mirrorGlobalPath(t,e){return ct(t,".claude/skills",e)},paths:CL.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:RL,project:CL,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:gL},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Rs,TC],global:[Rs]},canonicalDir:Ul,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[Nl],global:[Nl]},canonicalDir:Ul,extensions:[".md"],map:hL}],commands:{feature:"commands",mode:"directory",source:{project:[Fl],global:[Fl]},canonicalDir:wp,extensions:[".md"],map:yL},agents:{feature:"agents",mode:"directory",source:{project:[vl],global:[vl]},canonicalDir:Tp,extensions:[".md"],map:_L},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Ya],global:[jl]},canonicalDir:".agentsmesh",canonicalFilename:Kl},ignore:{feature:"ignore",mode:"flatFile",source:{project:[$l],global:[$l]},canonicalDir:".agentsmesh",canonicalFilename:bC}},buildImportPaths:ff,detectionPaths:["CLAUDE.md",".claude/rules",".claude/commands"]};});function Q0(t){let e=basename(t,".md");return e==="_root"?"root":e}function EL(t){let e=[],r=t.rules.find(o=>o.root);if(r){let o=r.body.trim()?r.body:"";e.push({path:Cs,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:`${kn}/${n}.md`,content:a});}return e}function OL(t){return t.commands.map(e=>{let r=e.description.trim(),o=e.body.trim(),n=r&&o?`${r}
73
+ `:""}var zO=d(()=>{s(BH,"ruleSectionTitle");s(HO,"renderClaudeGlobalPrimaryInstructions");});function JO(t,e){return t===null?"created":t!==e?"updated":"unchanged"}async function YO(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 l of t.agents){if(!l.outputStyle)continue;let c={name:l.name,description:l.description||void 0},m=T(c,l.body.trim()),p=`${dh}/${l.name}.md`,u=await _(join(e,p));a.push({target:"claude-code",path:p,content:m,currentContent:u??void 0,status:JO(u,m)});}if(i)for(let l of t.commands){if(!l.outputStyle)continue;let c={name:l.name,description:l.description||void 0},m=T(c,l.body.trim()),p=`${dh}/${l.name}.md`,u=await _(join(e,p));a.push({target:"claude-code",path:p,content:m,currentContent:u??void 0,status:JO(u,m)});}return a}var XO=d(()=>{w();j();Fo();s(JO,"computeStatus");s(YO,"generateClaudeGlobalExtras");});function ZO(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,l=typeof a.matcher=="string"?a.matcher:"";if(!l)continue;let c=Array.isArray(a.hooks)?a.hooks:[];for(let m of c){let p=m.type==="prompt"?"prompt":"command";if(!Sn({...m,type:p}))continue;let u=p==="prompt"?he(m)||zt(m):zt(m)||he(m),f={matcher:l,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 QO(t,e){let r=join(t,No),n=await _(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=ZO(o);if(Object.keys(i).length===0)return false;let a=stringify(i),l=join(t,Mi);return await O(dirname(l)),await I(l,a),e.push({fromTool:"claude-code",fromPath:r,toPath:Mi,feature:"hooks"}),true}async function qO(t,e){let r=e.some(m=>m.feature==="hooks"&&m.fromPath.replace(/\\/g,"/").endsWith(No)),n=join(t,um),o=await _(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 Bt(t,hm,m),e.push({fromTool:"claude-code",fromPath:n,toPath:hm,feature:"mcp"});}let l=i.permissions;if(l&&typeof l=="object"&&!Array.isArray(l)){let m=l,p=Array.isArray(m.allow)?m.allow.filter(g=>typeof g=="string"):[],u=Array.isArray(m.deny)?m.deny.filter(g=>typeof g=="string"):[],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,gh);await O(dirname(h)),await I(h,g),e.push({fromTool:"claude-code",fromPath:n,toPath:gh,feature:"permissions"});}}let c=i.hooks;if(!r&&c&&typeof c=="object"&&!Array.isArray(c)){let m=ZO(c);if(Object.keys(m).length>0){let p=stringify(m),u=join(t,Mi);await O(dirname(u)),await I(u,p),e.push({fromTool:"claude-code",fromPath:n,toPath:Mi,feature:"hooks"});}}}var tA=d(()=>{Mr();w();Kr();Fo();s(ZO,"claudeHooksToCanonical");s(QO,"importClaudeHooksJson");s(qO,"importSettings");});async function rA(t,e,r){let n=join(t,pm),o=join(t,fh),a=(await v(n)).filter(l=>l.endsWith("SKILL.md"));for(let l of a){let c=dirname(l),m=basename(c),p=join(o,m),u=await _(l);if(u===null)continue;let f=r(u,l,join(p,"SKILL.md")),g=Fr(f,l);if(!g.ok){process.stderr.write(`\u26A0 skipping ${l}: ${g.error.message}
74
+ `);continue}let h=await v(c);for(let R of h){let C=await _(R);if(C===null)continue;let S=relative(c,R),k=join(p,S);await O(dirname(k));let P=r(C,R,k);await I(k,S==="SKILL.md"?await Cn(k,g.value.frontmatter,g.value.body):P);let N=`${fh}/${m}/${S}`;e.push({fromTool:"claude-code",fromPath:R,toPath:N,feature:"skills"});}}}var nA=d(()=>{w();j();ut();Fo();s(rA,"importClaudeSkills");});async function oA(t,e={}){let r=e.scope??"project",n=[],o=await B("claude-code",t,r);return n.push(...await J($u,t,r,{normalize:o})),await rA(t,n,o),await QO(t,n),await qO(t,n),n}var sA=d(()=>{dt();Et();tA();nA();py();s(oA,"importFromClaudeCode");});var iA,aA,lA,cA=d(()=>{j();ut();or();Fo();iA=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=b(e(n));return {destPath:n,toPath:`${gm}/${t}`,content:await K(n,{...o,root:false},i)}},"claudeRuleMapper"),aA=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=b(e(n)),a=nr(o.allowedTools),l=a.length>0?a:nr(o["allowed-tools"]);return {destPath:n,toPath:`${pu}/${t}`,content:await _t(n,{description:typeof o.description=="string"?o.description:void 0,hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),allowedTools:l,hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},i)}},"claudeCommandMapper"),lA=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=b(e(n));return {destPath:n,toPath:`${uu}/${t}`,content:await Vt(n,o,i)}},"claudeAgentMapper");});function mA(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(i=>({...i,target:mE}))}var pA=d(()=>{It();Fo();s(mA,"lintRules");});var HH,uA,zH,VH,$u,py=d(()=>{WO();Fo();ee();zO();XO();sA();cA();pA();Ct();HH={name:"claude-code",primaryRootInstructionPath:xs,generateRules:vO,generateCommands:MO,generateAgents:$O,generateSkills:jO,generateMcp:GO,generatePermissions:UO,generateHooks:BO,generateIgnore:KO,importFrom:oA},uA={rootInstructionPath:xs,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`}}},zH={rootInstructionPath:xs,skillDir:".claude/skills",renderPrimaryRootInstruction:HO,managedOutputs:{dirs:[".claude/agents",".claude/commands",".claude/rules",".claude/skills",".claude/output-styles",".agents/skills"],files:[".claude/CLAUDE.md",".claude/settings.json",fm,No,".claudeignore"]},rewriteGeneratedPath(t){return t===gl?fm:t},mirrorGlobalPath(t,e){return pt(t,".claude/skills",e)},paths:uA.paths},VH={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"native"},$u={id:"claude-code",metadata:{displayName:"Claude Code",category:"cli",officialUrl:"https://www.anthropic.com/claude-code",shortDescription:"Anthropic's terminal coding agent"},generators:HH,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:mA,project:uA,globalSupport:{capabilities:VH,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:zH,scopeExtras:YO},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[xs,pE],global:[xs]},canonicalDir:gm,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[lm],global:[lm]},canonicalDir:gm,extensions:[".md"],map:iA}],commands:{feature:"commands",mode:"directory",source:{project:[cm],global:[cm]},canonicalDir:pu,extensions:[".md"],map:aA},agents:{feature:"agents",mode:"directory",source:{project:[mm],global:[mm]},canonicalDir:uu,extensions:[".md"],map:lA},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[gl],global:[fm]},canonicalDir:".agentsmesh",canonicalFilename:hm},ignore:{feature:"ignore",mode:"flatFile",source:{project:[dm],global:[dm]},canonicalDir:".agentsmesh",canonicalFilename:uE}},buildImportPaths:hh,detectionPaths:["CLAUDE.md",".claude/rules",".claude/commands"]};});function YH(t){let e=basename(t,".md");return e==="_root"?"root":e}function dA(t){let e=[],r=t.rules.find(n=>n.root);if(r){let n=r.body.trim()?r.body:"";e.push({path:Ns,content:n});}for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("cline"))continue;let o=YH(n.source),i={description:n.description||void 0,paths:n.globs.length>0?n.globs:void 0};Object.keys(i).forEach(l=>{i[l]===void 0&&delete i[l];});let a=Object.keys(i).length>0?T(i,n.body.trim()||""):n.body.trim()||"";e.push({path:`${vo}/${o}.md`,content:a});}return e}function fA(t){return t.commands.map(e=>{let r=e.description.trim(),n=e.body.trim(),o=r&&n?`${r}
68
75
 
69
- ${o}`:r||o;return {path:`${Eo}/${e.name}.md`,content:n}})}function LL(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
70
- `);return [{path:wi,content:e}]}function AL(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:wn,content:e}]}function kL(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 ph(t){return t.replace(/[\r\n]+/g," ")}function tK(t,e,r){return ["#!/usr/bin/env bash",`# agentsmesh-event: ${ph(t)}`,`# agentsmesh-matcher: ${ph(r)}`,`# agentsmesh-command: ${ph(e)}`,"set -eu",e,""].join(`
71
- `)}function wL(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)dn(i)&&(e.push({path:`${Ti}/${q0(r)}-${n}.sh`,content:tK(r,i.command,i.matcher)}),n++);}return e}function TL(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 bL=u(()=>{br();M();at();rr();s(Q0,"ruleSlug");s(EL,"generateRules");s(OL,"generateCommands");s(LL,"generateIgnore");s(AL,"generateMcp");s(kL,"generateAgents");s(q0,"safeEventName");s(ph,"safeShellLine");s(tK,"buildHookScript");s(wL,"generateHooks");s(TL,"generateSkills");});async function xL(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}=w(r(n)),c=yn(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:`${Es}/${o}`,feature:"rules",content:await K(n,l,a)}}async function DL(t,e,r){let o=join(e,t),{frontmatter:n,body:i}=w(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(`
76
+ ${n}`:r||n;return {path:`${Dn}/${e.name}.md`,content:o}})}function gA(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
77
+ `);return [{path:$i,content:e}]}function hA(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Mo,content:e}]}function yA(t){return t.agents.map(e=>({path:`${Zt}/${U(e.name)}/SKILL.md`,content:Tt(e)}))}function XH(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function dy(t){return t.replace(/[\r\n]+/g," ")}function ZH(t,e,r){return ["#!/usr/bin/env bash",`# agentsmesh-event: ${dy(t)}`,`# agentsmesh-matcher: ${dy(r)}`,`# agentsmesh-command: ${dy(e)}`,"set -eu",e,""].join(`
78
+ `)}function _A(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)ko(i)&&(e.push({path:`${Gi}/${XH(r)}-${o}.sh`,content:ZH(r,i.command,i.matcher)}),o++);}return e}function RA(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=T(n,r.body.trim()||"");e.push({path:`${Zt}/${r.name}/SKILL.md`,content:o});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${Zt}/${r.name}/${a}`,content:i.content});}}return e}var IA=d(()=>{Mr();j();mt();cr();s(YH,"ruleSlug");s(dA,"generateRules");s(fA,"generateCommands");s(gA,"generateIgnore");s(hA,"generateMcp");s(yA,"generateAgents");s(XH,"safeEventName");s(dy,"safeShellLine");s(ZH,"buildHookScript");s(_A,"generateHooks");s(RA,"generateSkills");});async function CA(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}=b(r(o)),l=wo(i.paths??i.globs),c={root:false,description:typeof i.description=="string"?i.description:void 0,globs:l.length>0?l:void 0};return Object.keys(c).forEach(m=>{c[m]===void 0&&delete c[m];}),{destPath:o,toPath:`${Fs}/${n}`,feature:"rules",content:await K(o,c,a)}}async function kA(t,e,r){let n=join(e,t),{frontmatter:o,body:i}=b(r(n)),a=Object.prototype.hasOwnProperty.call(o,"description"),l=a&&typeof o.description=="string"?o.description:"",c=a,m=i;if(!c){let p=i.indexOf(`
72
79
 
73
- `);if(p>0){let d=i.slice(0,p).trim();d&&!d.includes(`
74
- `)&&(c=d,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 uh=u(()=>{M();lt();Qe();rr();s(xL,"mapClineRuleFile");s(DL,"mapClineWorkflowFile");});async function NL(t,e,r){let o=join(t,Es),n=join(t,kn),i=join(t,kn),a=false;try{a=(await stat(i)).isFile();}catch{}if(a){let p=await y(i);if(p!==null){await L(o);let d=join(o,"_root.md"),{frontmatter:g,body:f}=w(r(p,i,d)),O=g.root===true?g:{...g,root:true},R=await K(d,O,f);await I(d,R),e.push({fromTool:"cline",fromPath:i,toPath:`${Es}/_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,Cs),d=await y(p);if(d!==null){c=p,await L(o);let g=join(o,"_root.md"),{frontmatter:f,body:h}=w(r(d,p,g)),R=f.root===true?f:{...f,root:true},E=await K(g,R,h);await I(g,E),e.push({fromTool:"cline",fromPath:p,toPath:`${Es}/_root.md`,feature:"rules"});}else {let h=(await N(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:E,body:A}=w(r(O,h,R)),v=E.root===true?E:{...E,root:true},G=await K(R,v,A);await I(R,G),e.push({fromTool:"cline",fromPath:h,toPath:`${Es}/_root.md`,feature:"rules"});}}}}else {c=l,await L(o);let p=join(o,"_root.md"),{frontmatter:d,body:g}=w(r(m,l,p)),h=d.root===true?d:{...d,root:true},O=await K(p,h,g);await I(p,O),e.push({fromTool:"cline",fromPath:l,toPath:`${Es}/_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:d,normalizeTo:g})=>p===c?null:xL(d,o,g),"mapEntry")})),a}var FL=u(()=>{T();M();lt();ke();uh();rr();s(NL,"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 vL(t,e){let r=[wn,xC].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 d=rK(p);d&&(l[m]=d);}Object.keys(l).length>0&&(await L(join(t,".agentsmesh")),await I(join(t,_f),JSON.stringify({mcpServers:l},null,2)),e.push({fromTool:Ss,fromPath:i,toPath:_f,feature:"mcp"}));}}var GL=u(()=>{T();rr();s(rK,"mapClineServerToCanonical");s(vL,"importClineMcp");});function ML(t){return oK.some(e=>e.test(t))}var oK,$L=u(()=>{oK=[/^\./,/^_ab-agent-/,/^_ab-command-/,/\.fixture\./,/\.test\./];s(ML,"isReservedArtifactName");});async function sK(t){let e=await N(t).catch(()=>[]),r=[];for(let o of e){let n=relative(t,o).replace(/\\/g,"/"),i=basename(n);if(ML(i))continue;let a=await y(o);a!==null&&r.push({absolutePath:o,relativePath:n,content:a});}return r}async function um(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}=w(c),p=await uo(a,{...l,name:t},m);await I(a,p);}else await I(a,c);r.results.push({fromTool:r.targetName,fromPath:i.absolutePath,toPath:`${r.destCanonicalSkillsDir}/${t}/${i.relativePath}`,feature:"skills"});}}async function UL(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}=w(a),m=await uo(i,{...c,name:t},l);await I(i,m),o.results.push({fromTool:o.targetName,fromPath:e,toPath:`${o.destCanonicalSkillsDir}/${t}/SKILL.md`,feature:"skills"});}async function dm(t){let e=new Map;try{let o=(await N(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}async function wc(t,e,r=[]){for(let o of t){let n=join(e.projectRoot,o),i=await dm(n);if(i.size===0)continue;let a=false;for(let[c,l]of i){let m=join(l,"SKILL.md"),p=await y(m);if(p===null)continue;a=true;let{frontmatter:d,body:g}=w(p),f={skillName:c,skillDir:l,skillMdPath:m,rawContent:p,frontmatter:d,rawBody:g,options:e},h=false;for(let O of r)if(await O.recognize(f)){h=true;break}h||await um(c,l,e);}if(a)return}}function Tc(t){return {async recognize(e){let r=Wa(e.frontmatter,e.skillName);if(!r)return false;let{options:o}=e;await go(join(o.projectRoot,o.destCanonicalSkillsDir,e.skillName));let n=join(o.projectRoot,t.canonicalAgentsDir);await L(n);let i=join(n,`${r.name}.md`),a=o.normalize(e.rawBody,e.skillMdPath,i);return await I(i,fs(r,a)),o.results.push({fromTool:o.targetName,fromPath:e.skillMdPath,toPath:`${t.canonicalAgentsDir}/${r.name}.md`,feature:"agents"}),true}}}function KL(t){return {async recognize(e){let r=hp(e.frontmatter,e.skillName);if(!r)return false;let{options:o}=e;await go(join(o.projectRoot,o.destCanonicalSkillsDir,e.skillName));let n=join(o.projectRoot,t.canonicalCommandsDir);await L(n);let i=join(n,`${r.name}.md`),a=o.normalize(e.rawBody,e.skillMdPath,i);return await I(i,yp(r,a)),o.results.push({fromTool:o.targetName,fromPath:e.skillMdPath,toPath:`${t.canonicalCommandsDir}/${r.name}.md`,feature:"commands"}),true}}}var bc=u(()=>{T();M();lt();$L();at();St();Al();s(sK,"readNativeSkill");s(um,"importDirectorySkill");s(UL,"importFlatSkill");s(dm,"findDirectorySkills");s(wc,"importSkillsDirectory");s(Tc,"projectedAgentRecognizer");s(KL,"commandSkillRecognizer");});async function BL(t,e,r,o=Jt){await wc([o],{projectRoot:t,destCanonicalSkillsDir:NC,targetName:"cline",normalize:r,results:e},[Tc({canonicalAgentsDir:DC})]);}var WL=u(()=>{bc();rr();s(BL,"importClineSkills");});function fh(t,e){return t.match(new RegExp(`^# agentsmesh-${e}:\\s*(.+)$`,"m"))?.[1]?.trim()??null}async function HL(t,e){let o=(await N(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=fh(i,"event"),c=fh(i,"command");if(!a||!c)continue;let l=fh(i,"matcher")??"*";e[a]||(e[a]=[]),e[a].push({matcher:l,command:c});}}async function VL(t,e){let r={};if(await HL(join(t,Ti),r),await HL(join(t,xi),r),Object.keys(r).length===0)return;let o=join(t,hf);await L(dirname(o)),await I(o,stringify(r)),e.push({fromTool:Ss,fromPath:join(t,xi),toPath:hf,feature:"hooks"});}var JL=u(()=>{T();rr();s(fh,"extractMeta");s(HL,"loadHooksFromDir");s(VL,"importClineHooks");});async function nu(t){let e=[],r=await U(Ss,t),o=await NL(t,e,r),n=join(t,wi),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,yf);await I(m,l.join(`
75
- `)),e.push({fromTool:"cline",fromPath:n,toPath:yf,feature:"ignore"});}}await vL(t,e);let a=join(t,bp);return o||e.push(...await yt({srcDir:join(t,Eo),destDir:a,extensions:[".md"],fromTool:"cline",normalize:r,mapEntry:s(({relativePath:c,normalizeTo:l})=>DL(c,a,l),"mapEntry")})),await BL(t,e,r),await VL(t,e),e}var hh=u(()=>{mt();T();ke();uh();FL();rr();GL();WL();JL();s(nu,"importFromCline");});function YL(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(i=>({...i,target:Ss}))}var XL=u(()=>{_t();rr();s(YL,"lintRules");});function ZL(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 QL(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 qL=u(()=>{Et();s(ZL,"lintCommands");s(QL,"lintHooks");});var cK,lK,mK,pK,tA,eA=u(()=>{bL();_i();rr();hh();XL();qL();Rt();Ua();at();cK={name:"cline",primaryRootInstructionPath:Cs,generateRules:EL,generateCommands:OL,generateAgents:kL,generateSkills:TL,generateMcp:AL,generateHooks:wL,generateIgnore:LL,importFrom:nu},lK={rootInstructionPath:Cs,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 `${kn}/${t}.md`},commandPath(t,e){return `${Eo}/${t}.md`},agentPath(t,e){return Ve(e,"cline")?`.cline/skills/${$(t)}/SKILL.md`:null}}},mK={skillDir:Jt,managedOutputs:{dirs:[bi,Pi,xi,Jt,".agents/skills"],files:[wn,wi]},rewriteGeneratedPath(t){return t===Cs?null:t.startsWith(`${Ti}/`)?`${xi}/${t.slice(Ti.length+1)}`:t.startsWith(`${Eo}/`)?`${Pi}/${t.slice(Eo.length+1)}`:t.startsWith(`${kn}/`)?`${bi}/${t.slice(kn.length+1)}`:t},mirrorGlobalPath(t,e){return t.startsWith(`${Jt}/`)?`.agents/skills/${t.slice(Jt.length+1)}`:null},paths:{rulePath(t,e){return `${bi}/${t}.md`},commandPath(t,e){return `${Pi}/${t}.md`},agentPath(t,e){return Ve(e,"cline")?`.cline/skills/${$(t)}/SKILL.md`:null}}},pK={rules:"native",additionalRules:"native",commands:Dr("native","workflows"),agents:"embedded",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},tA={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:Dr("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:YL,lint:{commands:ZL,hooks:QL},project:lK,globalSupport:{capabilities:pK,detectionPaths:[bi,Pi,xi,Jt,wn,wi],layout:mK},buildImportPaths:If,detectionPaths:[".clinerules",".cline"]};});var ge,rA,ts,ca,oA,Zo,nA,su,la,Qo,ma,es,sA,fm,iA,yh,aA,_h,cA,lA,Ih,Rh,Sh,ae=u(()=>{ge="codex-cli",rA="codex.md",ts="AGENTS.md",ca=".codex/AGENTS.md",oA=".codex/AGENTS.override.md",Zo=".agents/skills",nA=".codex/skills",su=".codex/config.toml",la=".codex/instructions",Qo=".codex/rules",ma=".codex/agents",es=".agentsmesh/rules",sA=".agentsmesh/commands",fm=".agentsmesh/agents",iA=".agentsmesh/skills",yh=".agentsmesh/mcp.json",aA="am-codex-rule:v1",_h="# am-json: ",cA="# am-body-b64-begin",lA="# am-body-b64-end",Ih="# am64:",Rh="<!-- agentsmesh:codex-rule-index:start -->",Sh="<!-- agentsmesh:codex-rule-index:end -->";});function Ch(t){return basename(t,".md")}function hm(t){return `${la}/${Ch(t.source)}.md`}function mA(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 \`${Qo}/${Ch(t.source)}.rules\`.`),t.targets.length>0&&e.push(`Targeted to ${t.targets.map(r=>`\`${r}\``).join(", ")}.`),e.join(" ")}function pA(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||Ch(a.source)}](${hm(a)}): ${dK(a)}`),i=[Rh,"## Additional Rule Files",...n,Sh].join(`
80
+ `);if(p>0){let u=i.slice(0,p).trim();u&&!u.includes(`
81
+ `)&&(l=u,c=true,m=i.slice(p+2));}}return {destPath:n,toPath:`${du}/${t}`,feature:"commands",content:await _t(n,{description:l,hasDescription:c,allowedTools:[],hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},m)}}var fy=d(()=>{j();ut();or();cr();s(CA,"mapClineRuleFile");s(kA,"mapClineWorkflowFile");});async function EA(t,e,r){let n=join(t,Fs),o=join(t,vo),i=join(t,vo),a=false;try{a=(await stat(i)).isFile();}catch{}if(a){let p=await _(i);if(p!==null){await O(n);let u=join(n,"_root.md"),{frontmatter:f,body:g}=b(r(p,i,u)),R=f.root===true?f:{...f,root:true},C=await K(u,R,g);await I(u,C),e.push({fromTool:"cline",fromPath:i,toPath:`${Fs}/_root.md`,feature:"rules"});}return a}let l=null,c=join(o,"_root.md"),m=await _(c);if(m===null){let p=join(t,Ns),u=await _(p);if(u!==null){l=p,await O(n);let f=join(n,"_root.md"),{frontmatter:g,body:h}=b(r(u,p,f)),C=g.root===true?g:{...g,root:true},S=await K(f,C,h);await I(f,S),e.push({fromTool:"cline",fromPath:p,toPath:`${Fs}/_root.md`,feature:"rules"});}else {let h=(await v(o)).filter(R=>R.endsWith(".md")&&!R.includes("/workflows/")).sort()[0];if(h){let R=await _(h);if(R!==null){l=h,await O(n);let C=join(n,"_root.md"),{frontmatter:S,body:k}=b(r(R,h,C)),N=S.root===true?S:{...S,root:true},F=await K(C,N,k);await I(C,F),e.push({fromTool:"cline",fromPath:h,toPath:`${Fs}/_root.md`,feature:"rules"});}}}}else {l=c,await O(n);let p=join(n,"_root.md"),{frontmatter:u,body:f}=b(r(m,c,p)),h=u.root===true?u:{...u,root:true},R=await K(p,h,f);await I(p,R),e.push({fromTool:"cline",fromPath:c,toPath:`${Fs}/_root.md`,feature:"rules"});}return e.push(...await Rt({srcDir:o,destDir:n,extensions:[".md"],fromTool:"cline",normalize:r,mapEntry:s(async({srcPath:p,relativePath:u,normalizeTo:f})=>p===l?null:CA(u,n,f),"mapEntry")})),a}var LA=d(()=>{w();j();ut();xe();fy();cr();s(EA,"importClineRules");});function qH(t){if(!t||typeof t!="object")return null;let e=t,r=typeof e.command=="string"?e.command:"";if(!r)return null;let n=typeof e.type=="string"?e.type:typeof e.transportType=="string"?e.transportType:"stdio",o=Array.isArray(e.args)?e.args.filter(c=>typeof c=="string"):[],i=e.env,a=i!==null&&typeof i=="object"&&!Array.isArray(i)?Object.fromEntries(Object.entries(i).filter(c=>typeof c[1]=="string")):{},l=typeof e.description=="string"?e.description:void 0;return {...l!==void 0&&{description:l},type:n,command:r,args:o,env:a}}async function OA(t,e){let r=[Mo,fE].map(c=>join(t,c)),n=null,o=null;for(let c of r){let m=await _(c);if(m!==null){n=c,o=m;break}}if(o===null)return;let i=n??r[0],a;try{a=JSON.parse(o);}catch{}let l=a?.mcpServers;if(l!==void 0&&typeof l=="object"&&l!==null&&Object.keys(l).length>0){let c={};for(let[m,p]of Object.entries(l)){let u=qH(p);u&&(c[m]=u);}Object.keys(c).length>0&&(await O(join(t,".agentsmesh")),await I(join(t,Rh),JSON.stringify({mcpServers:c},null,2)),e.push({fromTool:Ds,fromPath:i,toPath:Rh,feature:"mcp"}));}}var AA=d(()=>{w();cr();s(qH,"mapClineServerToCanonical");s(OA,"importClineMcp");});function wA(t){return tz.some(e=>e.test(t))}var tz,bA=d(()=>{tz=[/^\./,/^_ab-agent-/,/^_ab-command-/,/\.fixture\./,/\.test\./];s(wA,"isReservedArtifactName");});async function rz(t){let e=await v(t).catch(()=>[]),r=[];for(let n of e){let o=relative(t,n).replace(/\\/g,"/"),i=basename(o);if(wA(i))continue;let a=await _(n);a!==null&&r.push({absolutePath:n,relativePath:o,content:a});}return r}async function Um(t,e,r){let n=await rz(e),o=join(r.projectRoot,r.destCanonicalSkillsDir,t);for(let i of n){let a=join(o,i.relativePath);await O(dirname(a));let l=r.normalize(i.content,i.absolutePath,a);if(i.relativePath==="SKILL.md"){let{frontmatter:c,body:m}=b(l),p=await Cn(a,{...c,name:t},m);await I(a,p);}else await I(a,l);r.results.push({fromTool:r.targetName,fromPath:i.absolutePath,toPath:`${r.destCanonicalSkillsDir}/${t}/${i.relativePath}`,feature:"skills"});}}async function TA(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:l,body:c}=b(a),m=await Cn(i,{...l,name:t},c);await I(i,m),n.results.push({fromTool:n.targetName,fromPath:e,toPath:`${n.destCanonicalSkillsDir}/${t}/SKILL.md`,feature:"skills"});}async function Bm(t){let e=new Map;try{let n=(await v(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}async function Vl(t,e,r=[]){for(let n of t){let o=join(e.projectRoot,n),i=await Bm(o);if(i.size===0)continue;let a=false;for(let[l,c]of i){let m=join(c,"SKILL.md"),p=await _(m);if(p===null)continue;a=true;let{frontmatter:u,body:f}=b(p),g={skillName:l,skillDir:c,skillMdPath:m,rawContent:p,frontmatter:u,rawBody:f,options:e},h=false;for(let R of r)if(await R.recognize(g)){h=true;break}h||await Um(l,c,e);}if(a)return}}function Jl(t){return {async recognize(e){let r=al(e.frontmatter,e.skillName);if(!r)return false;let{options:n}=e;await kn(join(n.projectRoot,n.destCanonicalSkillsDir,e.skillName));let o=join(n.projectRoot,t.canonicalAgentsDir);await O(o);let i=join(o,`${r.name}.md`),a=n.normalize(e.rawBody,e.skillMdPath,i);return await I(i,Os(r,a)),n.results.push({fromTool:n.targetName,fromPath:e.skillMdPath,toPath:`${t.canonicalAgentsDir}/${r.name}.md`,feature:"agents"}),true}}}function xA(t){return {async recognize(e){let r=Xp(e.frontmatter,e.skillName);if(!r)return false;let{options:n}=e;await kn(join(n.projectRoot,n.destCanonicalSkillsDir,e.skillName));let o=join(n.projectRoot,t.canonicalCommandsDir);await O(o);let i=join(o,`${r.name}.md`),a=n.normalize(e.rawBody,e.skillMdPath,i);return await I(i,Zp(r,a)),n.results.push({fromTool:n.targetName,fromPath:e.skillMdPath,toPath:`${t.canonicalCommandsDir}/${r.name}.md`,feature:"commands"}),true}}}var Yl=d(()=>{w();j();ut();bA();mt();kt();Qc();s(rz,"readNativeSkill");s(Um,"importDirectorySkill");s(TA,"importFlatSkill");s(Bm,"findDirectorySkills");s(Vl,"importSkillsDirectory");s(Jl,"projectedAgentRecognizer");s(xA,"commandSkillRecognizer");});async function DA(t,e,r,n=Zt){await Vl([n],{projectRoot:t,destCanonicalSkillsDir:hE,targetName:"cline",normalize:r,results:e},[Jl({canonicalAgentsDir:gE})]);}var NA=d(()=>{Yl();cr();s(DA,"importClineSkills");});function yy(t,e){return t.match(new RegExp(`^# agentsmesh-${e}:\\s*(.+)$`,"m"))?.[1]?.trim()??null}async function FA(t,e){let n=(await v(t).catch(()=>[])).filter(o=>basename(o).endsWith(".sh")&&dirname(o)===t);for(let o of n){let i=await _(o);if(!i)continue;let a=yy(i,"event"),l=yy(i,"command");if(!a||!l)continue;let c=yy(i,"matcher")??"*";e[a]||(e[a]=[]),e[a].push({matcher:c,command:l});}}async function MA(t,e){let r={};if(await FA(join(t,Gi),r),await FA(join(t,Bi),r),Object.keys(r).length===0)return;let n=join(t,yh);await O(dirname(n)),await I(n,stringify(r)),e.push({fromTool:Ds,fromPath:join(t,Bi),toPath:yh,feature:"hooks"});}var $A=d(()=>{w();cr();s(yy,"extractMeta");s(FA,"loadHooksFromDir");s(MA,"importClineHooks");});async function GA(t){let e=[],r=await B(Ds,t),n=await EA(t,e,r),o=join(t,$i),i=await _(o);if(i!==null&&i.trim()){let l=i.split(/\r?\n/),c=[];for(let m of l){let p=m.trim();p&&!p.startsWith("#")&&c.push(p);}if(c.length>0){await O(join(t,".agentsmesh"));let m=join(t,_h);await I(m,c.join(`
82
+ `)),e.push({fromTool:"cline",fromPath:o,toPath:_h,feature:"ignore"});}}await OA(t,e);let a=join(t,du);return n||e.push(...await Rt({srcDir:join(t,Dn),destDir:a,extensions:[".md"],fromTool:"cline",normalize:r,mapEntry:s(({relativePath:l,normalizeTo:c})=>kA(l,a,c),"mapEntry")})),await DA(t,e,r),await MA(t,e),e}var jA=d(()=>{dt();w();xe();fy();LA();cr();AA();NA();$A();s(GA,"importFromCline");});function UA(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(i=>({...i,target:Ds}))}var BA=d(()=>{It();cr();s(UA,"lintRules");});function KA(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>x(e.source,"cline","cline workflow files are plain Markdown; command description and allowed-tools metadata are not projected."))}function WA(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[x(".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 HA=d(()=>{Lt();s(KA,"lintCommands");s(WA,"lintHooks");});var sz,iz,az,lz,zA,VA=d(()=>{IA();wi();cr();jA();BA();HA();Ct();ol();mt();sz={name:"cline",primaryRootInstructionPath:Ns,generateRules:dA,generateCommands:fA,generateAgents:yA,generateSkills:RA,generateMcp:hA,generateHooks:_A,generateIgnore:gA,importFrom:GA},iz={rootInstructionPath:Ns,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 `${vo}/${t}.md`},commandPath(t,e){return `${Dn}/${t}.md`},agentPath(t,e){return qe(e,"cline")?`.cline/skills/${U(t)}/SKILL.md`:null}}},az={skillDir:Zt,managedOutputs:{dirs:[ji,Ui,Bi,Zt,".agents/skills"],files:[Mo,$i]},rewriteGeneratedPath(t){return t===Ns?null:t.startsWith(`${Gi}/`)?`${Bi}/${t.slice(Gi.length+1)}`:t.startsWith(`${Dn}/`)?`${Ui}/${t.slice(Dn.length+1)}`:t.startsWith(`${vo}/`)?`${ji}/${t.slice(vo.length+1)}`:t},mirrorGlobalPath(t,e){return t.startsWith(`${Zt}/`)?`.agents/skills/${t.slice(Zt.length+1)}`:null},paths:{rulePath(t,e){return `${ji}/${t}.md`},commandPath(t,e){return `${Ui}/${t}.md`},agentPath(t,e){return qe(e,"cline")?`.cline/skills/${U(t)}/SKILL.md`:null}}},lz={rules:"native",additionalRules:"native",commands:Gr("native","workflows"),agents:"embedded",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},zA={id:"cline",metadata:{displayName:"Cline",category:"ide",officialUrl:"https://cline.bot",shortDescription:"Autonomous coding agent for VS Code"},generators:sz,capabilities:{rules:"native",additionalRules:"native",commands:Gr("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:UA,lint:{commands:KA,hooks:WA},project:iz,globalSupport:{capabilities:lz,detectionPaths:[ji,Ui,Bi,Zt,Mo,$i],layout:az},buildImportPaths:Ih,detectionPaths:[".clinerules",".cline"],conversionDefaults:{agentsToSkills:true}};});var Ie,JA,cs,_a,YA,so,XA,ju,Ra,io,Ia,ms,ZA,Wm,QA,_y,qA,Ry,tw,ew,Iy,Sy,Cy,de=d(()=>{Ie="codex-cli",JA="codex.md",cs="AGENTS.md",_a=".codex/AGENTS.md",YA=".codex/AGENTS.override.md",so=".agents/skills",XA=".codex/skills",ju=".codex/config.toml",Ra=".codex/instructions",io=".codex/rules",Ia=".codex/agents",ms=".agentsmesh/rules",ZA=".agentsmesh/commands",Wm=".agentsmesh/agents",QA=".agentsmesh/skills",_y=".agentsmesh/mcp.json",qA="am-codex-rule:v1",Ry="# am-json: ",tw="# am-body-b64-begin",ew="# am-body-b64-end",Iy="# am64:",Sy="<!-- agentsmesh:codex-rule-index:start -->",Cy="<!-- agentsmesh:codex-rule-index:end -->";});function ky(t){return basename(t,".md")}function Hm(t){return `${Ra}/${ky(t.source)}.md`}function rw(t){let e={root:t.root,description:t.description||void 0,globs:t.globs.length>0?t.globs:void 0,targets:t.targets.length>0?t.targets:void 0,codex_emit:t.codexEmit||void 0,codex_instruction:t.codexInstructionVariant&&t.codexInstructionVariant!=="default"?t.codexInstructionVariant:void 0};return Object.keys(e).forEach(r=>{e[r]===void 0&&delete e[r];}),T(e,t.body.trim()||"")}function mz(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 \`${io}/${ky(t.source)}.rules\`.`),t.targets.length>0&&e.push(`Targeted to ${t.targets.map(r=>`\`${r}\``).join(", ")}.`),e.join(" ")}function nw(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||ky(a.source)}](${Hm(a)}): ${mz(a)}`),i=[Sy,"## Additional Rule Files",...o,Cy].join(`
76
83
  `);return r?`${r}
77
84
 
78
- ${i}`:i}function uA(t){let e=Rh.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=Sh.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t.replace(new RegExp(`\\n?${e}[\\s\\S]*?${r}\\n?`,"g"),`
79
- `).trim()}var iu=u(()=>{M();ae();s(Ch,"ruleSlug");s(hm,"codexInstructionMirrorPath");s(mA,"serializeCodexInstructionMirror");s(dK,"summarizeRule");s(pA,"appendCodexRuleIndex");s(uA,"stripCodexRuleIndex");});function fK(t){return /(^|\n)\s*[A-Za-z_][A-Za-z0-9_]*\s*\(/.test(t)}function hK(t){return t.split(`
85
+ ${i}`:i}function ow(t){let e=Sy.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=Cy.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t.replace(new RegExp(`\\n?${e}[\\s\\S]*?${r}\\n?`,"g"),`
86
+ `).trim()}var Uu=d(()=>{j();de();s(ky,"ruleSlug");s(Hm,"codexInstructionMirrorPath");s(rw,"serializeCodexInstructionMirror");s(mz,"summarizeRule");s(nw,"appendCodexRuleIndex");s(ow,"stripCodexRuleIndex");});function uz(t){return /(^|\n)\s*[A-Za-z_][A-Za-z0-9_]*\s*\(/.test(t)}function dz(t){return t.split(`
80
87
  `).map(e=>e.length>0?`# ${e}`:"#").join(`
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(`
88
+ `)}function fz(t){let e=t.trim();return e?uz(e)?`${e}
89
+ `:`${["# 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.","#",...dz(e).split(`
83
90
  `),"#","# Example template:","# prefix_rule(",'# pattern = ["git", "status"],','# decision = "allow",','# justification = "Allow safe status checks",',"# )"].join(`
84
91
  `)}
85
- `:""}function Eh(t){let e=t.rules.find(o=>o.root),r=[];e&&r.push({path:ts,content:pA(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:`${Qo}/${n}.rules`,content:yK(o.body)}),r.push({path:hm(o),content:mA(o)}));}return r}function Oh(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 st(e?.body.trim()??"",r)}var dA=u(()=>{Mt();ae();iu();s(fK,"looksLikeCodexRulesDsl");s(hK,"toCodexRulesComments");s(yK,"toSafeCodexRulesContent");s(Eh,"generateRules");s(Oh,"renderCodexGlobalInstructions");});function Lh(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:`${Zo}/${r.name}/SKILL.md`,content:n});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${Zo}/${r.name}/${a}`,content:i.content});}}return e}function _K(t){return {path:`${Zo}/${W(t.name)}/SKILL.md`,content:bt(t)}}function Ah(t){return t.commands.map(_K)}var gA=u(()=>{M();ae();St();s(Lh,"generateSkills");s(_K,"commandToSkillOutput");s(Ah,"generateCommands");});function kh(t){return t.agents.map(e=>({path:`${ma}/${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}
92
+ `:""}function Ey(t){let e=t.rules.find(n=>n.root),r=[];e&&r.push({path:cs,content:nw(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:`${io}/${o}.rules`,content:fz(n.body)}),r.push({path:Hm(n),content:rw(n)}));}return r}function Ly(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 lt(e?.body.trim()??"",r)}var sw=d(()=>{Ut();de();Uu();s(uz,"looksLikeCodexRulesDsl");s(dz,"toCodexRulesComments");s(fz,"toSafeCodexRulesContent");s(Ey,"generateRules");s(Ly,"renderCodexGlobalInstructions");});function Oy(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=T(n,r.body.trim()||"");e.push({path:`${so}/${r.name}/SKILL.md`,content:o});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${so}/${r.name}/${a}`,content:i.content});}}return e}function gz(t){return {path:`${so}/${H(t.name)}/SKILL.md`,content:Nt(t)}}function Ay(t){return t.commands.map(gz)}var iw=d(()=>{j();de();kt();s(Oy,"generateSkills");s(gz,"commandToSkillOutput");s(Ay,"generateCommands");});function wy(t){return t.agents.map(e=>({path:`${Ia}/${e.name}.toml`,content:hz(e)}))}function hz(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 = """
93
+ ${n}
87
94
  """`);}else e.push(`developer_instructions = '''
88
95
  ${r}
89
96
  '''`);return e.join(`
90
97
  `)+`
91
- `}var fA=u(()=>{ae();s(kh,"generateAgents");s(IK,"serializeAgentToCodexToml");});function au(t){return "command"in t}function hA(t){return "url"in t}var cu=u(()=>{s(au,"isStdioMcpServer");s(hA,"isUrlMcpServer");});function wh(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=Object.fromEntries(Object.entries(t.mcp.mcpServers).flatMap(([o,n])=>au(n)?[[o,n]]:[]));if(Object.keys(e).length===0)return [];let r=RK(e);return [{path:su,content:r}]}function RK(t){let e=[];for(let[r,o]of Object.entries(t)){let n=yA(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])=>`${yA(m)?JSON.stringify(m):m} = ${JSON.stringify(p)}`).join(", ");i.push(`env = { ${l} }`);}e.push(i.join(`
98
+ `}var aw=d(()=>{de();s(wy,"generateAgents");s(hz,"serializeAgentToCodexToml");});function Bu(t){return "command"in t}function lw(t){return "url"in t}var Ku=d(()=>{s(Bu,"isStdioMcpServer");s(lw,"isUrlMcpServer");});function by(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=Object.fromEntries(Object.entries(t.mcp.mcpServers).flatMap(([n,o])=>Bu(o)?[[n,o]]:[]));if(Object.keys(e).length===0)return [];let r=yz(e);return [{path:ju,content:r}]}function yz(t){let e=[];for(let[r,n]of Object.entries(t)){let o=cw(r)?`"${r}"`:r,i=[];i.push(`[mcp_servers.${o}]`),i.push(`command = ${JSON.stringify(n.command)}`);let a="["+n.args.map(c=>JSON.stringify(c)).join(", ")+"]";i.push(`args = ${a}`);let l=Object.entries(n.env);if(l.length>0){let c=l.map(([m,p])=>`${cw(m)?JSON.stringify(m):m} = ${JSON.stringify(p)}`).join(", ");i.push(`env = { ${c} }`);}e.push(i.join(`
92
99
  `));}return e.join(`
93
100
 
94
101
  `)+`
95
- `}function yA(t){return !/^[A-Za-z0-9_-]+$/.test(t)}var _A=u(()=>{cu();ae();s(wh,"generateMcp");s(RK,"serializeMcpToToml");s(yA,"needsTomlQuoting");});var IA=u(()=>{dA();gA();fA();_A();});var RA=u(()=>{IA();});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 SA(t,e){let r=join(t,su),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,yh,a),e.push({fromTool:ge,fromPath:r,toPath:yh,feature:"mcp"}));}var CA=u(()=>{T();Nr();ae();s(EK,"mapTomlServerToCanonical");s(SA,"importMcp");});async function EA(t,e,r){await wc([Zo,nA],{projectRoot:t,destCanonicalSkillsDir:iA,targetName:ge,normalize:r,results:e},[KL({canonicalCommandsDir:sA}),Tc({canonicalAgentsDir:fm})]);}var OA=u(()=>{bc();ae();s(EA,"importSkills");});async function LA(t,e,r){let o=join(t,ma),n=join(t,fm);try{let a=(await N(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"),d=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 E=join(n,`${p}.md`),A=r(g,c,E),v=fs({name:p,description:d,tools:[],disallowedTools:[],model:f,permissionMode:O,maxTurns:0,mcpServers:R,hooks:{},skills:[],memory:""},A);await I(E,v),e.push({fromTool:ge,fromPath:c,toPath:`${fm}/${p}.md`,feature:"agents"});}}catch{}}var AA=u(()=>{T();at();ae();s(LA,"importCodexAgentsFromToml");});function kA(t){if(!t.includes(aA))return null;let e=t.split(`
96
- `).find(l=>l.startsWith(_h));if(!e)return null;let r;try{r=JSON.parse(e.slice(_h.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===cA){c=true;continue}if(m===lA){c=false;continue}c&&m.startsWith(Ih)&&a.push(m.slice(Ih.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 wA=u(()=>{ae();s(kA,"tryParseEmbeddedCanonicalFromCodexRules");});async function bA(t,e,r){let o=[],n=join(t,Qo);try{let i=await N(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,"/"),d=join(e,p),{frontmatter:g,body:f}=w(r(m,l,d));await L(e);let h=g.root===!0?g:{...g,root:!1},O=await K(d,h,f);await I(d,O),o.push({fromTool:ge,fromPath:l,toPath:`${es}/${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"),d=join(e,p);await L(e);let g=kA(m);if(g){let f=await K(d,{description:g.meta.description,globs:g.meta.globs,root:!1},r(g.body,l,d));await I(d,f);}else {let f=await K(d,{root:!1,description:"",globs:[],codex_emit:"execution"},r(m.trim(),l,d));await I(d,f);}o.push({fromTool:ge,fromPath:l,toPath:`${es}/${p}`,feature:"rules"});}}catch{}return o}var PA=u(()=>{T();M();lt();ae();wA();s(bA,"importCodexNonRootRuleFiles");});async function DA(t,e,r,o,n){let i=join(t,rA),a=join(t,ts),c=join(t,oA),l=join(t,ca),m=n==="global"?await y(c):null,p=n==="global"?await y(l):null,d=n==="project"?await y(a):null,g=n==="project"?await y(i):null,f=m!==null?c:p!==null?l:d!==null?a:i,h=join(t,es),O=m??p??d??g;if(O!==null){await L(h);let R=join(h,"_root.md"),E=f===a||f===l||f===c?uA(O):O,A=await Xo({content:E,projectRoot:t,rulesDir:es,sourcePath:f,fromTool:"codex-cli",normalize:r});e.push(...A.results);let F=r(f===a||f===l||f===c?o(A.rootContent,f,R):A.rootContent,f,R),{frontmatter:v,body:G}=w(F),J=v.root===true?v:{...v,root:true},Y=await K(R,J,G);await I(R,Y),e.push({fromTool:"codex-cli",fromPath:f,toPath:`${es}/_root.md`,feature:"rules"});}await TK(t,h,e,r),e.push(...await bA(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:E})=>{let A=relative(t,dirname(R)).replace(/\\/g,"/"),F=basename(R),v=F==="AGENTS.override.md";if(!A||A==="."||!v&&F!=="AGENTS.md")return null;let G=A.replace(/\//g,"-");if(!Sp(A))return await go(join(h,`${G}.md`)),null;let J=join(h,`${G}.md`),{frontmatter:Y,body:q}=w(E(J));return {destPath:J,toPath:`${es}/${G}.md`,feature:"rules",content:await K(J,{...Y,root:false,globs:[`${A}/**`],...v?{codex_instruction:"override"}:{}},q)}},"mapEntry")}));}async function TK(t,e,r,o){try{let i=(await N(join(t,la))).filter(c=>c.endsWith(".md")),a=join(t,la);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:d,body:g}=w(o(m,c,p));await L(e);let f=d.root===!0?d:{...d,root:!1},h=await K(p,f,g);await I(p,h),r.push({fromTool:ge,fromPath:c,toPath:`${es}/${l}`,feature:"rules"});}}catch{}}var NA=u(()=>{T();M();lt();Ac();ke();Al();ae();PA();iu();s(DA,"importCodexRules");s(TK,"importInstructionMirrors");});async function lu(t,e){let r=e?.scope??"project",o=[],n=await U(ge,t,r),i=await U("windsurf",t,r);return await DA(t,o,n,i,r),await EA(t,o,n),await LA(t,o,n),await SA(t,o),o}var Ph=u(()=>{mt();ae();CA();OA();AA();NA();s(lu,"importFromCodex");});function FA(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:ge,message:"Codex needs a root rule to generate AGENTS.md. Add root: true to a rule."}]}var vA=u(()=>{ae();s(FA,"lintRules");});function GA(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 MA=u(()=>{Et();s(GA,"lintMcp");});function $A(t){return hm(t)}var jA=u(()=>{iu();s($A,"codexAdvisoryInstructionPath");});var PK,xK,DK,NK,KA,BA=u(()=>{RA();ae();Ph();vA();MA();Rt();Ua();jA();St();PK={name:"codex-cli",primaryRootInstructionPath:ts,generateRules:Eh,generateCommands:Ah,generateAgents:kh,generateSkills:Lh,generateMcp:wh,importFrom:lu},xK={rootInstructionPath:ts,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${Qo}/${e}.rules`]},skillDir:".agents/skills",managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/instructions"],files:["AGENTS.md",".codex/config.toml"]},paths:{rulePath(t,e){return $A(e)},commandPath(t,e){return ja(e,"codex-cli")?`${Zo}/${W(t)}/SKILL.md`:null},agentPath(t,e){return `${ma}/${t}.toml`}}},DK={rootInstructionPath:ca,renderPrimaryRootInstruction:Oh,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${Qo}/${e}.rules`]},skillDir:Zo,managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/rules"],files:[ca,".codex/config.toml"]},rewriteGeneratedPath(t){return t===ts?ca:t.startsWith(`${la}/`)?null:t},paths:{rulePath(t,e){return e.codexEmit==="execution"?`${Qo}/${t}.rules`:ca},commandPath(t,e){return ja(e,"codex-cli")?`${Zo}/${W(t)}/SKILL.md`:null},agentPath(t,e){return `${ma}/${t}.toml`}}},NK={rules:"native",additionalRules:"embedded",commands:"embedded",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},KA={id:"codex-cli",metadata:{displayName:"Codex CLI",category:"cli",officialUrl:"https://github.com/openai/codex",shortDescription:"OpenAI's terminal coding agent"},generators:PK,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:FA,lint:{mcp:GA},project:xK,globalSupport:{capabilities:NK,detectionPaths:[".codex/AGENTS.md",".codex/AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules",".agents/skills"],layout:DK},buildImportPaths:Rf,sharedArtifacts:{".agents/skills/":"owner"},detectionPaths:["codex.md","AGENTS.md","AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules"]};});function vK(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 WA(t){return `${Oo}/${t}.md`}function HA(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 zA(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:vK(t["x-agentsmesh-allowed-tools"])}}function VA(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 mu=u(()=>{M();Lo();s(vK,"toStringArray");s(WA,"continueCommandRulePath");s(HA,"serializeCommandRule");s(zA,"parseCommandRuleFrontmatter");s(VA,"serializeImportedCommand");});function JA(t){let e=[],r=t.rules.find(o=>o.root);if(r){let o={};r.description&&(o.description=r.description),e.push({path:Tn,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:`${Mr}/${n}.md`,content:P(i,o.body.trim()||"")});}return e}function YA(t){return t.commands.map(e=>({path:`${Oo}/${e.name}.md`,content:HA(e)}))}function XA(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Pp,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function ZA(t){return t.agents.map(e=>({path:`${be}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function QA(t){return tt(t,be)}var qA=u(()=>{Q();at();M();mu();Lo();s(JA,"generateRules");s(YA,"generateCommands");s(XA,"generateMcp");s(ZA,"generateAgents");s(QA,"generateSkills");});function jK(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:hs(c.args),env:ho(c.env),description:typeof c.description=="string"?c.description:void 0});}return n}async function UK(t,e){let r=(await N(join(t,Sf))).filter(i=>[".json",".yaml",".yml"].includes(extname(i))),o={},n=[];for(let i of r){let a=await y(i);a&&(Object.assign(o,jK(a,extname(i))),n.push(i));}if(Object.keys(o).length!==0){await $t(t,Ef,o);for(let i of n)e.push({fromTool:Xa,fromPath:i,toPath:Ef,feature:"mcp"});}}async function pu(t){let e=[],r=await U(Xa,t);return e.push(...await z(uu,t,"project",{normalize:r})),await Z(t,be,Xa,e,r),await UK(t,e),e}var xh=u(()=>{mt();T();Q();Ct();Nr();Qe();Lo();Dh();s(jK,"readMcpServers");s(UK,"importMcp");s(pu,"importFromContinue");});function KK(t){return t==="general.md"||t==="_root.md"}var ek,rk,ok=u(()=>{M();lt();mu();Lo();s(KK,"isContinueRootRulePath");ek=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=KK(t),n=o?"_root.md":t,i=join(r,n),{frontmatter:a,body:c}=w(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"),rk=s(async({absolutePath:t,relativePath:e,normalizeTo:r,destDir:o})=>{let n=join(o,e),{frontmatter:i,body:a}=w(r(n)),c=zA(i,t),l=c.name||e.replace(/\.md$/,"").replace(/^.*\//,""),m=e.includes("/")?e.slice(0,e.lastIndexOf("/")):"",p=m?`${m}/${l}.md`:`${l}.md`,d=join(o,p),g=await ht(d,{description:c.description,hasDescription:!!c.description,allowedTools:c.allowedTools,hasAllowedTools:c.allowedTools.length>0},w(VA(c,a)).body);return {destPath:d,toPath:`${Dp}/${p}`,content:g}},"continueCommandMapper");});function nk(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Xa}))}var sk=u(()=>{_t();Lo();s(nk,"lintRules");});function ik(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 ak=u(()=>{Et();s(ik,"lintCommands");});function zK(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var ck,lk=u(()=>{T();Lo();s(zK,"computeStatus");ck=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(d=>({name:d.description||basename(d.source,".md"),rule:d.body.trim()}))),i&&t.commands.length>0&&(l.prompts=t.commands.map(d=>{let g={name:d.name};return d.description&&(g.description=d.description),g.prompt=d.body.trim(),g})),a&&t.mcp!==null){let d=Object.entries(t.mcp.mcpServers);d.length>0&&(l.mcpServers=d.map(([g,f])=>({name:g,...f})));}let m=stringify(l),p=await y(join(e,Bl));return [{target:"continue",path:Bl,content:m,currentContent:p??void 0,status:zK(p,m)}]},"generateContinueGlobalConfig");});function JK(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var mk,pk=u(()=>{T();Lo();lk();s(JK,"computeStatus");mk=s(async(t,e,r,o)=>{let n=await ck(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,Za));return [...n,{target:"continue",path:Za,content:a,currentContent:c??void 0,status:JK(c,a)}]},"generateContinueScopeExtras");});var YK,XK,ZK,QK,uu,Dh=u(()=>{at();qA();Lo();xh();ok();sk();ak();mu();Rt();pk();YK={name:"continue",primaryRootInstructionPath:Tn,generateRules:JA,generateCommands:YA,generateAgents:ZA,generateSkills:QA,generateMcp:XA,importFrom:pu},XK={rootInstructionPath:Tn,skillDir:".continue/skills",managedOutputs:{dirs:[".continue/prompts",".continue/rules",".continue/skills"],files:[".continue/mcpServers/agentsmesh.json"]},paths:{rulePath(t,e){return `${Mr}/${t}.md`},commandPath(t,e){return WA(t)},agentPath(t){return `${be}/${$(t)}/SKILL.md`}}},ZK={rootInstructionPath:Tn,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[Za]}],skillDir:be,managedOutputs:{dirs:[Mr,Oo,be,".agents/skills"],files:[Pp,Za,Bl]},mirrorGlobalPath(t,e){return t.startsWith(`${be}/`)?`.agents/skills/${t.slice(be.length+1)}`:null},paths:{rulePath(t,e){return `${Mr}/${t}.md`},commandPath(t,e){return `${Oo}/${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"},uu={id:"continue",metadata:{displayName:"Continue",category:"ide",officialUrl:"https://continue.dev",shortDescription:"Open-source AI code assistant"},generators:YK,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:nk,lint:{commands:ik},project:XK,globalSupport:{capabilities:QK,detectionPaths:[Mr,Oo,".continue/mcpServers",be],layout:ZK,scopeExtras:mk},importer:{rules:{feature:"rules",mode:"directory",source:{project:[Mr],global:[Mr]},canonicalDir:xp,extensions:[".md"],map:ek},commands:{feature:"commands",mode:"directory",source:{project:[Oo],global:[Oo]},canonicalDir:Dp,extensions:[".md"],map:rk}},buildImportPaths:Of,detectionPaths:[".continue/rules",".continue/skills",".continue/mcpServers"]};});var rs,pa,uk,ua,Ys,qo,tn,da,ga,du,gu,dk,Fh,gk,Xs,Pc,os,xc,fa,vh,Gh,Rr=u(()=>{rs="copilot",pa=".github/copilot-instructions.md",uk=".github/copilot",ua=".github/instructions",Ys=".github/prompts",qo=".github/hooks",tn=".github/skills",da=".github/agents",ga=".agentsmesh/rules",du=".agentsmesh/commands",gu=".agentsmesh/agents",dk=".agentsmesh/skills",Fh=".agentsmesh/hooks.yaml",gk=".github/copilot-hooks",Xs=".copilot/copilot-instructions.md",Pc=".copilot/agents",os=".copilot/skills",xc=".copilot/prompts",fa=".copilot/AGENTS.md",vh=".claude/skills",Gh=".agents/skills";});function fk(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 fu(t){return `${Ys}/${t}.prompt.md`}function hk(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 yk(t,e){let o=((typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"")||basename(e,".prompt.md")).trim(),n=fk(t["x-agentsmesh-allowed-tools"]),i=n.length>0?n:fk(t.tools);return {name:o,description:typeof t.description=="string"?t.description:"",allowedTools:i}}var hu=u(()=>{M();Rr();s(fk,"toStringArray");s(fu,"commandPromptPath");s(hk,"serializeCommandPrompt");s(yk,"parseCommandPromptFrontmatter");});function yu(t){return dn(t)}var Mh=u(()=>{br();s(yu,"hasHookCommand");});function eB(t){let e=basename(t,".md");return e==="_root"?"root":e}function rB(t){switch(t){case "PreToolUse":return "preToolUse";case "PostToolUse":return "postToolUse";case "Notification":return "notification";case "UserPromptSubmit":return "userPromptSubmitted";default:return null}}function _k(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}
102
+ `}function cw(t){return !/^[A-Za-z0-9_-]+$/.test(t)}var mw=d(()=>{Ku();de();s(by,"generateMcp");s(yz,"serializeMcpToToml");s(cw,"needsTomlQuoting");});var pw=d(()=>{sw();iw();aw();mw();});var uw=d(()=>{pw();});function Iz(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 dw(t,e){let r=join(t,ju),n=await _(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[l,c]of Object.entries(i)){let m=Iz(c);m&&(a[l]=m);}Object.keys(a).length!==0&&(await Bt(t,_y,a),e.push({fromTool:Ie,fromPath:r,toPath:_y,feature:"mcp"}));}var fw=d(()=>{w();Kr();de();s(Iz,"mapTomlServerToCanonical");s(dw,"importMcp");});async function gw(t,e,r){await Vl([so,XA],{projectRoot:t,destCanonicalSkillsDir:QA,targetName:Ie,normalize:r,results:e},[xA({canonicalCommandsDir:ZA}),Jl({canonicalAgentsDir:Wm})]);}var hw=d(()=>{Yl();de();s(gw,"importSkills");});async function yw(t,e,r){let n=join(t,Ia),o=join(t,Wm);try{let a=(await v(n)).filter(l=>l.endsWith(".toml"));for(let l of a){let c=await _(l);if(!c)continue;let m=parse$1(c);if(!m||typeof m!="object")continue;let p=typeof m.name=="string"?m.name:basename(l,".toml"),u=typeof m.description=="string"?m.description:"",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":"",C=Array.isArray(m.mcp_servers)?m.mcp_servers.filter(F=>typeof F=="string"):[];await O(o);let S=join(o,`${p}.md`),k=r(f,l,S),N=Os({name:p,description:u,tools:[],disallowedTools:[],model:g,permissionMode:R,maxTurns:0,mcpServers:C,hooks:{},skills:[],memory:""},k);await I(S,N),e.push({fromTool:Ie,fromPath:l,toPath:`${Wm}/${p}.md`,feature:"agents"});}}catch{}}var _w=d(()=>{w();mt();de();s(yw,"importCodexAgentsFromToml");});function Rw(t){if(!t.includes(qA))return null;let e=t.split(`
103
+ `).find(c=>c.startsWith(Ry));if(!e)return null;let r;try{r=JSON.parse(e.slice(Ry.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(c=>typeof c=="string"):[],a=[],l=false;for(let c of t.split(`
104
+ `)){let m=c.trimEnd();if(m===tw){l=true;continue}if(m===ew){l=false;continue}l&&m.startsWith(Iy)&&a.push(m.slice(Iy.length));}if(a.length===0)return null;try{let c=Buffer$1.from(a.join(""),"base64").toString("utf8");return {meta:{description:o,globs:i},body:c}}catch{return null}}var Iw=d(()=>{de();s(Rw,"tryParseEmbeddedCanonicalFromCodexRules");});async function Cw(t,e,r){let n=[],o=join(t,io);try{let i=await v(o),a=i.filter(c=>c.endsWith(".md"));for(let c of a){let m=await _(c);if(!m)continue;let p=relative(o,c).replace(/\\/g,"/"),u=join(e,p),{frontmatter:f,body:g}=b(r(m,c,u));await O(e);let h=f.root===!0?f:{...f,root:!1},R=await K(u,h,g);await I(u,R),n.push({fromTool:Ie,fromPath:c,toPath:`${ms}/${p}`,feature:"rules"});}let l=i.filter(c=>c.endsWith(".rules"));for(let c of l){let m=await _(c);if(!m)continue;let p=relative(o,c).replace(/\\/g,"/").replace(/\.rules$/i,".md"),u=join(e,p);await O(e);let f=Rw(m);if(f){let g=await K(u,{description:f.meta.description,globs:f.meta.globs,root:!1},r(f.body,c,u));await I(u,g);}else {let g=await K(u,{root:!1,description:"",globs:[],codex_emit:"execution"},r(m.trim(),c,u));await I(u,g);}n.push({fromTool:Ie,fromPath:c,toPath:`${ms}/${p}`,feature:"rules"});}}catch{}return n}var kw=d(()=>{w();j();ut();de();Iw();s(Cw,"importCodexNonRootRuleFiles");});async function Lw(t,e,r,n,o){let i=join(t,JA),a=join(t,cs),l=join(t,YA),c=join(t,_a),m=o==="global"?await _(l):null,p=o==="global"?await _(c):null,u=o==="project"?await _(a):null,f=o==="project"?await _(i):null,g=m!==null?l:p!==null?c:u!==null?a:i,h=join(t,ms),R=m??p??u??f;if(R!==null){await O(h);let C=join(h,"_root.md"),S=g===a||g===c||g===l?ow(R):R,k=await oo({content:S,projectRoot:t,rulesDir:ms,sourcePath:g,fromTool:"codex-cli",normalize:r});e.push(...k.results);let P=r(g===a||g===c||g===l?n(k.rootContent,g,C):k.rootContent,g,C),{frontmatter:N,body:F}=b(P),W=N.root===true?N:{...N,root:true},z=await K(C,W,F);await I(C,z),e.push({fromTool:"codex-cli",fromPath:g,toPath:`${ms}/_root.md`,feature:"rules"});}await Oz(t,h,e,r),e.push(...await Cw(t,h,r)),o!=="global"&&e.push(...await Rt({srcDir:t,destDir:h,extensions:["AGENTS.md","AGENTS.override.md"],fromTool:"codex-cli",normalize:r,mapEntry:s(async({srcPath:C,normalizeTo:S})=>{let k=relative(t,dirname(C)).replace(/\\/g,"/"),P=basename(C),N=P==="AGENTS.override.md";if(!k||k==="."||!N&&P!=="AGENTS.md")return null;let F=k.replace(/\//g,"-");if(!eu(k))return await kn(join(h,`${F}.md`)),null;let W=join(h,`${F}.md`),{frontmatter:z,body:Q}=b(S(W));return {destPath:W,toPath:`${ms}/${F}.md`,feature:"rules",content:await K(W,{...z,root:false,globs:[`${k}/**`],...N?{codex_instruction:"override"}:{}},Q)}},"mapEntry")}));}async function Oz(t,e,r,n){try{let i=(await v(join(t,Ra))).filter(l=>l.endsWith(".md")),a=join(t,Ra);for(let l of i){let c=relative(a,l).replace(/\\/g,"/");if(c==="_root.md")continue;let m=await _(l);if(!m)continue;let p=join(e,c),{frontmatter:u,body:f}=b(n(m,l,p));await O(e);let g=u.root===!0?u:{...u,root:!1},h=await K(p,g,f);await I(p,h),r.push({fromTool:Ie,fromPath:l,toPath:`${ms}/${c}`,feature:"rules"});}}catch{}}var Ow=d(()=>{w();j();ut();Hl();xe();Qc();de();kw();Uu();s(Lw,"importCodexRules");s(Oz,"importInstructionMirrors");});async function Aw(t,e){let r=e?.scope??"project",n=[],o=await B(Ie,t,r),i=await B("windsurf",t,r);return await Lw(t,n,o,i,r),await gw(t,n,o),await yw(t,n,o),await dw(t,n),n}var ww=d(()=>{dt();de();fw();hw();_w();Ow();s(Aw,"importFromCodex");});function bw(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:Ie,message:"Codex needs a root rule to generate AGENTS.md. Add root: true to a rule."}]}var Pw=d(()=>{de();s(bw,"lintRules");});function Tw(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(x(".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(x(".agentsmesh/mcp.json","codex-cli",`MCP server "${r}" uses ${o} transport; codex-cli only generates stdio MCP servers.`));}return e}var xw=d(()=>{Lt();s(Tw,"lintMcp");});function Dw(t){return Hm(t)}var Nw=d(()=>{Uu();s(Dw,"codexAdvisoryInstructionPath");});var wz,bz,Pz,Tz,vw,Mw=d(()=>{uw();de();ww();Pw();xw();Ct();ol();Nw();kt();wz={name:"codex-cli",primaryRootInstructionPath:cs,generateRules:Ey,generateCommands:Ay,generateAgents:wy,generateSkills:Oy,generateMcp:by,importFrom:Aw},bz={rootInstructionPath:cs,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${io}/${e}.rules`]},skillDir:".agents/skills",managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/instructions"],files:["AGENTS.md",".codex/config.toml"]},paths:{rulePath(t,e){return Dw(e)},commandPath(t,e){return nl(e,"codex-cli")?`${so}/${H(t)}/SKILL.md`:null},agentPath(t,e){return `${Ia}/${t}.toml`}}},Pz={rootInstructionPath:_a,renderPrimaryRootInstruction:Ly,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${io}/${e}.rules`]},skillDir:so,managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/rules"],files:[_a,".codex/config.toml"]},rewriteGeneratedPath(t){return t===cs?_a:t.startsWith(`${Ra}/`)?null:t},paths:{rulePath(t,e){return e.codexEmit==="execution"?`${io}/${t}.rules`:_a},commandPath(t,e){return nl(e,"codex-cli")?`${so}/${H(t)}/SKILL.md`:null},agentPath(t,e){return `${Ia}/${t}.toml`}}},Tz={rules:"native",additionalRules:"embedded",commands:"embedded",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},vw={id:"codex-cli",metadata:{displayName:"Codex CLI",category:"cli",officialUrl:"https://github.com/openai/codex",shortDescription:"OpenAI's terminal coding agent"},generators:wz,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:bw,lint:{mcp:Tw},project:bz,globalSupport:{capabilities:Tz,detectionPaths:[".codex/AGENTS.md",".codex/AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules",".agents/skills"],layout:Pz},buildImportPaths:Sh,sharedArtifacts:{".agents/skills/":"owner"},detectionPaths:["codex.md","AGENTS.md","AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules"],excludeFromStarterInit:true,conversionDefaults:{commandsToSkills:true,agentsToSkills:false}};});function Dz(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 `${Nn}/${t}.md`}function Gw(t){let e={description:t.description||void 0,"x-agentsmesh-kind":"command","x-agentsmesh-name":t.name,"x-agentsmesh-allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return e.description===void 0&&delete e.description,e["x-agentsmesh-allowed-tools"]===void 0&&delete e["x-agentsmesh-allowed-tools"],T(e,t.body.trim()||"")}function jw(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:Dz(t["x-agentsmesh-allowed-tools"])}}function Uw(t,e){let r={description:t.description||void 0,"allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return r.description===void 0&&delete r.description,r["allowed-tools"]===void 0&&delete r["allowed-tools"],T(r,e.trim()||"")}var Wu=d(()=>{j();Fn();s(Dz,"toStringArray");s($w,"continueCommandRulePath");s(Gw,"serializeCommandRule");s(jw,"parseCommandRuleFrontmatter");s(Uw,"serializeImportedCommand");});function Bw(t){let e=[],r=t.rules.find(n=>n.root);if(r){let n={};r.description&&(n.description=r.description),e.push({path:$o,content:T(n,r.body.trim()||"")});}for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("continue"))continue;let o=basename(n.source,".md"),i={};n.description&&(i.description=n.description),n.globs.length>0&&(i.globs=n.globs),e.push({path:`${Vr}/${o}.md`,content:T(i,n.body.trim()||"")});}return e}function Kw(t){return t.commands.map(e=>({path:`${Nn}/${e.name}.md`,content:Gw(e)}))}function Ww(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:fu,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function Hw(t){return t.agents.map(e=>({path:`${Fe}/${U(e.name)}/SKILL.md`,content:Tt(e)}))}function zw(t){return rt(t,Fe)}var Vw=d(()=>{tt();mt();j();Wu();Fn();s(Bw,"generateRules");s(Kw,"generateCommands");s(Ww,"generateMcp");s(Hw,"generateAgents");s(zw,"generateSkills");});function Mz(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 l=a;typeof l.command=="string"&&(o[i]={type:typeof l.type=="string"?l.type:"stdio",command:l.command,args:ws(l.args),env:Ln(l.env),description:typeof l.description=="string"?l.description:void 0});}return o}async function $z(t,e){let r=(await v(join(t,Ch))).filter(i=>[".json",".yaml",".yml"].includes(extname(i))),n={},o=[];for(let i of r){let a=await _(i);a&&(Object.assign(n,Mz(a,extname(i))),o.push(i));}if(Object.keys(n).length!==0){await Bt(t,Eh,n);for(let i of o)e.push({fromTool:hl,fromPath:i,toPath:Eh,feature:"mcp"});}}async function Yw(t){let e=[],r=await B(hl,t);return e.push(...await J(Hu,t,"project",{normalize:r})),await q(t,Fe,hl,e,r),await $z(t,e),e}var Xw=d(()=>{dt();w();tt();Et();Kr();or();Fn();xy();s(Mz,"readMcpServers");s($z,"importMcp");s(Yw,"importFromContinue");});function Gz(t){return t==="general.md"||t==="_root.md"}var Zw,Qw,qw=d(()=>{j();ut();Wu();Fn();s(Gz,"isContinueRootRulePath");Zw=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=Gz(t),o=n?"_root.md":t,i=join(r,o),{frontmatter:a,body:l}=b(e(i)),c={description:typeof a.description=="string"?a.description:void 0,globs:Array.isArray(a.globs)?a.globs:void 0,root:n};return c.description===void 0&&delete c.description,c.globs===void 0&&delete c.globs,{destPath:i,toPath:`${gu}/${o}`,content:await K(i,c,l)}},"continueRuleMapper"),Qw=s(async({absolutePath:t,relativePath:e,normalizeTo:r,destDir:n})=>{let o=join(n,e),{frontmatter:i,body:a}=b(r(o)),l=jw(i,t),c=l.name||e.replace(/\.md$/,"").replace(/^.*\//,""),m=e.includes("/")?e.slice(0,e.lastIndexOf("/")):"",p=m?`${m}/${c}.md`:`${c}.md`,u=join(n,p),f=await _t(u,{description:l.description,hasDescription:!!l.description,allowedTools:l.allowedTools,hasAllowedTools:l.allowedTools.length>0},b(Uw(l,a)).body);return {destPath:u,toPath:`${hu}/${p}`,content:f}},"continueCommandMapper");});function tb(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:hl}))}var eb=d(()=>{It();Fn();s(tb,"lintRules");});function rb(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>x(e.source,"continue","Continue invokable prompt rules do not natively enforce canonical allowed-tools metadata."))}var nb=d(()=>{Lt();s(rb,"lintCommands");});function Kz(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var ob,sb=d(()=>{w();Fn();s(Kz,"computeStatus");ob=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 c={name:"agentsmesh",version:1,schema:"v1"};if(o&&t.rules.length>0&&(c.rules=t.rules.map(u=>({name:u.description||basename(u.source,".md"),rule:u.body.trim()}))),i&&t.commands.length>0&&(c.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&&(c.mcpServers=u.map(([f,g])=>({name:f,...g})));}let m=stringify(c),p=await _(join(e,ym));return [{target:"continue",path:ym,content:m,currentContent:p??void 0,status:Kz(p,m)}]},"generateContinueGlobalConfig");});function Hz(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var ib,ab=d(()=>{w();Fn();sb();s(Hz,"computeStatus");ib=s(async(t,e,r,n)=>{let o=await ob(t,e,r,n);if(r!=="global"||!n.has("rules"))return o;let i=t.rules.find(c=>c.root);if(!i)return o;let a=i.body.trim(),l=await _(join(e,yl));return [...o,{target:"continue",path:yl,content:a,currentContent:l??void 0,status:Hz(l,a)}]},"generateContinueScopeExtras");});var zz,Vz,Jz,Yz,Hu,xy=d(()=>{mt();Vw();Fn();Xw();qw();eb();nb();Wu();Ct();ab();zz={name:"continue",primaryRootInstructionPath:$o,generateRules:Bw,generateCommands:Kw,generateAgents:Hw,generateSkills:zw,generateMcp:Ww,importFrom:Yw},Vz={rootInstructionPath:$o,skillDir:".continue/skills",managedOutputs:{dirs:[".continue/prompts",".continue/rules",".continue/skills"],files:[".continue/mcpServers/agentsmesh.json"]},paths:{rulePath(t,e){return `${Vr}/${t}.md`},commandPath(t,e){return $w(t)},agentPath(t){return `${Fe}/${U(t)}/SKILL.md`}}},Jz={rootInstructionPath:$o,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[yl]}],skillDir:Fe,managedOutputs:{dirs:[Vr,Nn,Fe,".agents/skills"],files:[fu,yl,ym]},mirrorGlobalPath(t,e){return t.startsWith(`${Fe}/`)?`.agents/skills/${t.slice(Fe.length+1)}`:null},paths:{rulePath(t,e){return `${Vr}/${t}.md`},commandPath(t,e){return `${Nn}/${t}.md`},agentPath(t){return `${Fe}/${U(t)}/SKILL.md`}}},Yz={rules:"native",additionalRules:"native",commands:"native",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Hu={id:"continue",metadata:{displayName:"Continue",category:"ide",officialUrl:"https://continue.dev",shortDescription:"Open-source AI code assistant"},generators:zz,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:tb,lint:{commands:rb},project:Vz,globalSupport:{capabilities:Yz,detectionPaths:[Vr,Nn,".continue/mcpServers",Fe],layout:Jz,scopeExtras:ib},importer:{rules:{feature:"rules",mode:"directory",source:{project:[Vr],global:[Vr]},canonicalDir:gu,extensions:[".md"],map:Zw},commands:{feature:"commands",mode:"directory",source:{project:[Nn],global:[Nn]},canonicalDir:hu,extensions:[".md"],map:Qw}},buildImportPaths:Lh,detectionPaths:[".continue/rules",".continue/skills",".continue/mcpServers"],conversionDefaults:{agentsToSkills:true}};});var ps,Sa,lb,Ca,si,ao,lo,ka,Ea,zu,Vu,cb,Ny,mb,ii,Xl,us,Zl,La,Fy,vy,wr=d(()=>{ps="copilot",Sa=".github/copilot-instructions.md",lb=".github/copilot",Ca=".github/instructions",si=".github/prompts",ao=".github/hooks",lo=".github/skills",ka=".github/agents",Ea=".agentsmesh/rules",zu=".agentsmesh/commands",Vu=".agentsmesh/agents",cb=".agentsmesh/skills",Ny=".agentsmesh/hooks.yaml",mb=".github/copilot-hooks",ii=".copilot/copilot-instructions.md",Xl=".copilot/agents",us=".copilot/skills",Zl=".copilot/prompts",La=".copilot/AGENTS.md",Fy=".claude/skills",vy=".agents/skills";});function pb(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 Ju(t){return `${si}/${t}.prompt.md`}function ub(t){let e={agent:"agent",description:t.description||void 0,"x-agentsmesh-kind":"command","x-agentsmesh-name":t.name,"x-agentsmesh-allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return e.description===void 0&&delete e.description,e["x-agentsmesh-allowed-tools"]===void 0&&delete e["x-agentsmesh-allowed-tools"],T(e,t.body.trim()||"")}function db(t,e){let n=((typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"")||basename(e,".prompt.md")).trim(),o=pb(t["x-agentsmesh-allowed-tools"]),i=o.length>0?o:pb(t.tools);return {name:n,description:typeof t.description=="string"?t.description:"",allowedTools:i}}var Yu=d(()=>{j();wr();s(pb,"toStringArray");s(Ju,"commandPromptPath");s(ub,"serializeCommandPrompt");s(db,"parseCommandPromptFrontmatter");});function Xu(t){return ko(t)}var My=d(()=>{Mr();s(Xu,"hasHookCommand");});function Qz(t){let e=basename(t,".md");return e==="_root"?"root":e}function qz(t){switch(t){case "PreToolUse":return "preToolUse";case "PostToolUse":return "postToolUse";case "Notification":return "notification";case "UserPromptSubmit":return "userPromptSubmitted";default:return null}}function fb(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}
98
105
 
99
- ${n}`):e.push(n);}return e.join(`
106
+ ${o}`):e.push(o);}return e.join(`
100
107
 
101
- `)}function Ik(t){let e=t.rules.find(o=>o.root),r=[];e&&r.push({path:pa,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=eB(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:`${ua}/${n}.instructions.md`,content:a});}return r}function Rk(t){return t.commands.map(e=>({path:fu(e.name),content:hk(e)}))}function Sk(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:`${tn}/${r.name}/SKILL.md`,content:n});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${tn}/${r.name}/${a}`,content:i.content});}}return e}function Ck(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:`${da}/${e.name}.agent.md`,content:o}})}function Ek(t){if(!t.hooks)return [];let e=Object.fromEntries(Object.entries(t.hooks).flatMap(([r,o])=>{let n=rB(r);if(!n||!Array.isArray(o))return [];let i=o.filter(a=>typeof a=="object"&&a!==null&&yu(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:`${qo}/agentsmesh.json`,content:JSON.stringify({version:1,hooks:e},null,2)}]}var Ok=u(()=>{M();Rr();hu();Mh();s(eB,"ruleSlug");s(rB,"mapHookEvent");s(_k,"renderCopilotGlobalInstructions");s(Ik,"generateRules");s(Rk,"generateCommands");s(Sk,"generateSkills");s(Ck,"generateAgents");s(Ek,"generateHooks");});function nB(t){switch(t){case "preToolUse":return "PreToolUse";case "postToolUse":return "PostToolUse";case "notification":return "Notification";case "userPromptSubmitted":return "UserPromptSubmit";default:return null}}function sB(t){return typeof t!="string"?"*":t.match(/^Matcher:\s*(.+)$/)?.[1]?.trim()||"*"}function kk(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 wk(t,e){let r=join(t,qo),n=(await N(r).catch(()=>[])).filter(p=>p.endsWith(".json")),i={};for(let p of n){let d=await y(p);if(!d)continue;let g;try{g=JSON.parse(d);}catch{continue}if(!(!g||typeof g.hooks!="object"||g.hooks===null))for(let[f,h]of Object.entries(g.hooks)){let O=nB(f);if(!(!O||!Array.isArray(h)))for(let R of h){if(!R||typeof R!="object")continue;let E=R,A=typeof E.bash=="string"?E.bash:"";if(!A)continue;let F=join(r,A.replace(/^\.\//,"")),v=await y(F);if(!v)continue;let G=kk(v);G&&(i[O]||(i[O]=[]),i[O].push({matcher:sB(E.comment),command:G,type:"command"}));}}}let a=join(t,gk),l=(await N(a).catch(()=>[])).filter(p=>dirname(p)===a&&/^[^-]+-\d+\.sh$/i.test(basename(p)));for(let p of l){let d=await y(p);if(!d)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:kk(d),type:"command"});}if(Object.keys(i).length===0)return;let m=join(t,Fh);await L(dirname(m)),await I(m,stringify(i)),e.push({fromTool:rs,fromPath:join(t,qo),toPath:Fh,feature:"hooks"});}var Tk=u(()=>{T();Rr();s(nB,"mapCopilotHookEvent");s(sB,"extractMatcher");s(kk,"extractWrapperCommand");s(wk,"importHooks");});async function bk(t,e,r,o=tn){let n=join(t,o),i=await dm(n),a={projectRoot:t,destCanonicalSkillsDir:dk,targetName:rs,normalize:r,results:e};for(let[c,l]of i)await um(c,l,a);}var Pk=u(()=>{bc();Rr();s(bk,"importSkills");});async function _u(t,e={}){let r=e.scope??"project",o=[],n=await U(rs,t,r);return o.push(...await z(Iu,t,r,{normalize:n})),await bk(t,o,n,r==="global"?os:tn),r==="project"&&await wk(t,o),o}var $h=u(()=>{mt();Ct();Rr();Tk();Pk();jh();s(_u,"importFromCopilot");});function xk(t){for(let e of Object.keys(t))t[e]===void 0&&delete t[e];return t}var Dk,Nk,Fk,vk,Gk=u(()=>{M();lt();Qe();hu();Rr();s(xk,"pruneUndefined");Dk=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=t.replace(/\.instructions\.md$/i,".md"),n=join(r,o),{frontmatter:i,body:a}=w(e(n)),c=yn(i.globs),l=xk({root:false,description:typeof i.description=="string"?i.description:void 0,globs:c.length>0?c:void 0});return {destPath:n,toPath:`${ga}/${o}`,content:await K(n,l,a)}},"copilotLegacyRuleMapper"),Nk=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}=w(e(n)),c=yn(i.applyTo!==void 0?i.applyTo:i.globs),l=xk({root:false,description:typeof i.description=="string"?i.description:void 0,globs:c.length>0?c:void 0});return {destPath:n,toPath:`${ga}/${o}`,content:await K(n,l,a)}},"copilotNewRuleMapper"),Fk=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}=w(r(i)),l=yk(a,t),m=n.includes("/")?n.slice(0,n.lastIndexOf("/")):"",p=`${l.name}.md`,d=m?`${m}/${p}`:p,g=join(o,d);return {destPath:g,toPath:`${du}/${d}`,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"),vk=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}=w(e(i));return {destPath:i,toPath:`${gu}/${o}`,content:await Bt(i,{...a,name:typeof a.name=="string"?a.name:n},c)}},"copilotAgentMapper");});function Mk(t,e,r,o){let i=H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(c=>({...c,target:rs})),a=t.rules.filter(c=>!c.root&&c.globs.length===0);return [...i,...a.map(c=>({level:"warning",file:c.source,target:rs,message:"Copilot path-specific instructions require applyTo globs; non-root rules without globs are not generated."}))]}var $k=u(()=>{_t();Rr();s(Mk,"lintRules");});function jk(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 Uk(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=>_s(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 Kk=u(()=>{Et();s(jk,"lintCommands");s(Uk,"lintHooks");});function mB(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function pB(t,e){let r=relative(t,e).replace(/\\/g,"/");return !r||r.startsWith("../")?null:r}function uB(t,e){let r=t.match(Wk);if(!r?.groups)return t;let o=r.groups.prefix??"",n=r.groups.suffix??"";return `${o}"$HOOK_DIR/${e}"${n}`}async function dB(t,e){let o=e.match(Wk)?.groups?.path;if(!o)return null;let n=join(t,o),i=await y(n);if(i===null)return null;let a=pB(t,n);return a?{assetPath:`${qo}/scripts/${a}`,content:i,rewrittenCommand:uB(e,a)}:null}function gB(t,e){return `${qo}/scripts/${mB(t)}-${e}.sh`}function Bk(t){return t.replace(/[\r\n]+/g," ")}function fB(t,e){return ["#!/usr/bin/env bash",`# agentsmesh-matcher: ${Bk(e)}`,`# agentsmesh-command: ${Bk(t)}`,"set -eu",t,""].join(`
102
- `)}async function Hk(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(!yu(l))continue;let m=gB(i,c),p=l.command,d=await dB(t,l.command);d&&(p=d.rewrittenCommand,n.has(d.assetPath)||n.set(d.assetPath,{path:d.assetPath,content:d.content}));let g=fB(p,l.matcher).replace(`set -eu
108
+ `)}function gb(t){let e=t.rules.find(n=>n.root),r=[];e&&r.push({path:Sa,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=Qz(n.source),i={description:n.description||void 0,applyTo:n.globs.length===1?n.globs[0]:n.globs};Object.keys(i).forEach(l=>{i[l]===void 0&&delete i[l];});let a=T(i,n.body.trim()||"");r.push({path:`${Ca}/${o}.instructions.md`,content:a});}return r}function hb(t){return t.commands.map(e=>({path:Ju(e.name),content:ub(e)}))}function yb(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=T(n,r.body.trim()||"");e.push({path:`${lo}/${r.name}/SKILL.md`,content:o});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${lo}/${r.name}/${a}`,content:i.content});}}return e}function _b(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,model:e.model||void 0,"mcp-servers":e.mcpServers.length>0?e.mcpServers:void 0,skills:e.skills.length>0?e.skills:void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=T(r,e.body.trim()||"");return {path:`${ka}/${e.name}.agent.md`,content:n}})}function Rb(t){if(!t.hooks)return [];let e=Object.fromEntries(Object.entries(t.hooks).flatMap(([r,n])=>{let o=qz(r);if(!o||!Array.isArray(n))return [];let i=n.filter(a=>typeof a=="object"&&a!==null&&Xu(a)).map((a,l)=>{let m={type:"command",bash:`./scripts/${r.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}-${l}.sh`,comment:`Matcher: ${a.matcher}`};return a.timeout!==void 0&&(m.timeoutSec=Math.ceil(a.timeout/1e3)),m});return i.length>0?[[o,i]]:[]}));return Object.keys(e).length===0?[]:[{path:`${ao}/agentsmesh.json`,content:JSON.stringify({version:1,hooks:e},null,2)}]}var Ib=d(()=>{j();wr();Yu();My();s(Qz,"ruleSlug");s(qz,"mapHookEvent");s(fb,"renderCopilotGlobalInstructions");s(gb,"generateRules");s(hb,"generateCommands");s(yb,"generateSkills");s(_b,"generateAgents");s(Rb,"generateHooks");});function eV(t){switch(t){case "preToolUse":return "PreToolUse";case "postToolUse":return "PostToolUse";case "notification":return "Notification";case "userPromptSubmitted":return "UserPromptSubmit";default:return null}}function rV(t){return typeof t!="string"?"*":t.match(/^Matcher:\s*(.+)$/)?.[1]?.trim()||"*"}function kb(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 Eb(t,e){let r=join(t,ao),o=(await v(r).catch(()=>[])).filter(p=>p.endsWith(".json")),i={};for(let p of o){let u=await _(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=eV(g);if(!(!R||!Array.isArray(h)))for(let C of h){if(!C||typeof C!="object")continue;let S=C,k=typeof S.bash=="string"?S.bash:"";if(!k)continue;let P=join(r,k.replace(/^\.\//,"")),N=await _(P);if(!N)continue;let F=kb(N);F&&(i[R]||(i[R]=[]),i[R].push({matcher:rV(S.comment),command:F,type:"command"}));}}}let a=join(t,mb),c=(await v(a).catch(()=>[])).filter(p=>dirname(p)===a&&/^[^-]+-\d+\.sh$/i.test(basename(p)));for(let p of c){let u=await _(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:kb(u),type:"command"});}if(Object.keys(i).length===0)return;let m=join(t,Ny);await O(dirname(m)),await I(m,stringify(i)),e.push({fromTool:ps,fromPath:join(t,ao),toPath:Ny,feature:"hooks"});}var Lb=d(()=>{w();wr();s(eV,"mapCopilotHookEvent");s(rV,"extractMatcher");s(kb,"extractWrapperCommand");s(Eb,"importHooks");});async function Ob(t,e,r,n=lo){let o=join(t,n),i=await Bm(o),a={projectRoot:t,destCanonicalSkillsDir:cb,targetName:ps,normalize:r,results:e};for(let[l,c]of i)await Um(l,c,a);}var Ab=d(()=>{Yl();wr();s(Ob,"importSkills");});async function wb(t,e={}){let r=e.scope??"project",n=[],o=await B(ps,t,r);return n.push(...await J(Zu,t,r,{normalize:o})),await Ob(t,n,o,r==="global"?us:lo),r==="project"&&await Eb(t,n),n}var bb=d(()=>{dt();Et();wr();Lb();Ab();$y();s(wb,"importFromCopilot");});function Pb(t){for(let e of Object.keys(t))t[e]===void 0&&delete t[e];return t}var Tb,xb,Db,Nb,Fb=d(()=>{j();ut();or();Yu();wr();s(Pb,"pruneUndefined");Tb=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=t.replace(/\.instructions\.md$/i,".md"),o=join(r,n),{frontmatter:i,body:a}=b(e(o)),l=wo(i.globs),c=Pb({root:false,description:typeof i.description=="string"?i.description:void 0,globs:l.length>0?l:void 0});return {destPath:o,toPath:`${Ea}/${n}`,content:await K(o,c,a)}},"copilotLegacyRuleMapper"),xb=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}=b(e(o)),l=wo(i.applyTo!==void 0?i.applyTo:i.globs),c=Pb({root:false,description:typeof i.description=="string"?i.description:void 0,globs:l.length>0?l:void 0});return {destPath:o,toPath:`${Ea}/${n}`,content:await K(o,c,a)}},"copilotNewRuleMapper"),Db=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:l}=b(r(i)),c=db(a,t),m=o.includes("/")?o.slice(0,o.lastIndexOf("/")):"",p=`${c.name}.md`,u=m?`${m}/${p}`:p,f=join(n,u);return {destPath:f,toPath:`${zu}/${u}`,content:await _t(f,{description:c.description,hasDescription:Object.prototype.hasOwnProperty.call(a,"description"),allowedTools:c.allowedTools,hasAllowedTools:Object.prototype.hasOwnProperty.call(a,"tools")||Object.prototype.hasOwnProperty.call(a,"x-agentsmesh-allowed-tools")},l)}},"copilotCommandMapper"),Nb=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:l}=b(e(i));return {destPath:i,toPath:`${Vu}/${n}`,content:await Vt(i,{...a,name:typeof a.name=="string"?a.name:o},l)}},"copilotAgentMapper");});function vb(t,e,r,n){let i=V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(l=>({...l,target:ps})),a=t.rules.filter(l=>!l.root&&l.globs.length===0);return [...i,...a.map(l=>({level:"warning",file:l.source,target:ps,message:"Copilot path-specific instructions require applyTo globs; non-root rules without globs are not generated."}))]}var Mb=d(()=>{It();wr();s(vb,"lintRules");});function $b(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>x(e.source,"copilot","Copilot prompt files do not enforce canonical allowed-tools natively."))}function Gb(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=>Ps(i,"copilot",e,{unsupportedBy:"Copilot hooks"}));return Object.values(t.hooks).some(i=>Array.isArray(i)&&i.length>0)&&n.push(x(".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 jb=d(()=>{Lt();s($b,"lintCommands");s(Gb,"lintHooks");});function aV(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function lV(t,e){let r=relative(t,e).replace(/\\/g,"/");return !r||r.startsWith("../")?null:r}function cV(t,e){let r=t.match(Bb);if(!r?.groups)return t;let n=r.groups.prefix??"",o=r.groups.suffix??"";return `${n}"$HOOK_DIR/${e}"${o}`}async function mV(t,e){let n=e.match(Bb)?.groups?.path;if(!n)return null;let o=join(t,n),i=await _(o);if(i===null)return null;let a=lV(t,o);return a?{assetPath:`${ao}/scripts/${a}`,content:i,rewrittenCommand:cV(e,a)}:null}function pV(t,e){return `${ao}/scripts/${aV(t)}-${e}.sh`}function Ub(t){return t.replace(/[\r\n]+/g," ")}function uV(t,e){return ["#!/usr/bin/env bash",`# agentsmesh-matcher: ${Ub(e)}`,`# agentsmesh-command: ${Ub(t)}`,"set -eu",t,""].join(`
109
+ `)}async function Kb(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 l=0;for(let c of a){if(!Xu(c))continue;let m=pV(i,l),p=c.command,u=await mV(t,c.command);u&&(p=u.rewrittenCommand,o.has(u.assetPath)||o.set(u.assetPath,{path:u.assetPath,content:u.content}));let f=uV(p,c.matcher).replace(`set -eu
103
110
  `,`set -eu
104
111
  HOOK_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
105
- `);o.push({path:m,content:g}),c++;}}return [...r,...o,...n.values()]}var Wk,zk=u(()=>{T();Rr();Mh();Wk=/^(?<prefix>\s*(?:(?:bash|sh|zsh)\s+)?)["']?(?<path>(?:\.\.\/|\.\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?<suffix>(?:\s.*)?)$/;s(mB,"safePhaseName");s(pB,"toRepoRelative");s(uB,"rewriteWrapperCommand");s(dB,"buildAssetOutput");s(gB,"wrapperPath");s(Bk,"safeShellLine");s(fB,"buildWrapper");s(Hk,"addHookScriptAssets");});function yB(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var Vk,Jk=u(()=>{T();Rr();s(yB,"computeStatus");Vk=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,fa));return [{target:"copilot",path:fa,content:i,currentContent:a??void 0,status:yB(a,i)}]},"generateCopilotGlobalExtras");});var IB,RB,SB,CB,Iu,jh=u(()=>{Ok();Rr();$h();Gk();$k();Rt();hu();Kk();zk();Jk();IB={name:"copilot",primaryRootInstructionPath:pa,generateRules:Ik,generateCommands:Rk,generateAgents:Ck,generateSkills:Sk,generateHooks:Ek,importFrom:_u},RB={rootInstructionPath:pa,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 [`${ua}/${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 `${ua}/${t}.instructions.md`},commandPath(t,e){return fu(t)},agentPath(t,e){return `${da}/${t}.agent.md`}}},SB={rootInstructionPath:Xs,renderPrimaryRootInstruction:_k,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[fa]}],skillDir:os,managedOutputs:{dirs:[Pc,os,xc,Gh,vh],files:[Xs,fa]},rewriteGeneratedPath(t){return t===pa?Xs:t.startsWith(`${ua}/`)?Xs:t.startsWith(`${Ys}/`)?t.replace(`${Ys}/`,`${xc}/`):t.startsWith(`${da}/`)?t.replace(`${da}/`,`${Pc}/`):t.startsWith(`${tn}/`)?t.replace(`${tn}/`,`${os}/`):t.startsWith(`${qo}/`)?null:t},mirrorGlobalPath(t,e){if(t.startsWith(`${os}/`)&&!e.includes("codex-cli")){let r=t.slice(os.length+1);return [`.agents/skills/${r}`,`${vh}/${r}`]}return null},paths:{rulePath(t,e){return Xs},commandPath(t,e){return `${xc}/${t}.prompt.md`},agentPath(t,e){return `${Pc}/${t}.agent.md`}}},CB={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},Iu={id:"copilot",metadata:{displayName:"GitHub Copilot",category:"ide",officialUrl:"https://github.com/features/copilot",shortDescription:"GitHub's AI pair programmer"},generators:IB,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:Mk,lint:{commands:jk,hooks:Uk},postProcessHookOutputs:s(async(t,e,r)=>Hk(t,e,[...r]),"postProcessHookOutputs"),project:RB,globalSupport:{capabilities:CB,detectionPaths:[Xs,fa,Pc,os,xc,Gh],layout:SB,scopeExtras:Vk},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[pa],global:[Xs]},canonicalDir:ga,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[uk]},canonicalDir:ga,extensions:[".instructions.md"],map:Dk},{feature:"rules",mode:"directory",source:{project:[ua]},canonicalDir:ga,extensions:[".instructions.md",".md"],map:Nk}],commands:{feature:"commands",mode:"directory",source:{project:[Ys],global:[xc]},canonicalDir:du,extensions:[".prompt.md"],map:Fk},agents:{feature:"agents",mode:"directory",source:{project:[da],global:[Pc]},canonicalDir:gu,extensions:[".agent.md"],map:vk}},buildImportPaths:Lf,detectionPaths:[".github/copilot-instructions.md",".github/copilot",".github/instructions",".github/prompts",".github/skills",".github/agents",".github/hooks"]};});function Ru(t){return {$schema:"https://charm.land/crush.json",...t}}var Yk=u(()=>{s(Ru,"buildCrushConfigJson");});function Xk(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(or)),o=e?.body.trim()??"",n=st(o,r);return n?[{path:nr,content:n}]:[]}function Zk(t){return tt(t,Yt)}function Qk(t){return t.commands.map(e=>({path:`${Yt}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function qk(t){return t.agents.map(e=>({path:`${Yt}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function tw(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=Ru({mcp:t.mcp.mcpServers});return [{path:Pe,content:JSON.stringify(e,null,2)}]}function ew(t){if(!t.hooks)return [];let e=EB(t);if(Object.keys(e).length===0)return [];let r=Ru({hooks:e});return [{path:Pe,content:JSON.stringify(r,null,2)}]}function rw(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=Ru({permissions:n});return [{path:Pe,content:JSON.stringify(i,null,2)}]}function ow(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
106
- `);return [{path:bn,content:e}]}function EB(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 nw=u(()=>{Q();Mt();at();St();Qa();Yk();s(Xk,"generateRules");s(Zk,"generateSkills");s(Qk,"generateCommands");s(qk,"generateAgents");s(tw,"generateMcp");s(ew,"generateHooks");s(rw,"generatePermissions");s(ow,"generateIgnore");s(EB,"buildCrushHooksFromCanonical");});async function iw(t,e={}){let r=e.scope??"project",o=[],n=await U(or,t,r);return o.push(...await z(Su,t,r,{normalize:n})),await Z(t,r==="global"?xe:Yt,or,o,n),await OB(t,o),o}async function OB(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=LB(i.mcp);if(Object.keys(a).length>0){let l=Mp,m=join(t,l);await L(dirname(m)),await I(m,JSON.stringify({mcpServers:a},null,2)),e.push({fromTool:or,fromPath:r,toPath:l,feature:"mcp"});}let c=AB(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=kB(c);await I(m,p),e.push({fromTool:or,fromPath:r,toPath:l,feature:"hooks"});}}function LB(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:hs(n.args),env:ho(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:ho(n.headers),env:ho(n.env),...i!==void 0?{description:i}:{}});}return e}function AB(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 kB(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 aw=u(()=>{mt();Q();Ct();T();Qe();Kh();Qa();s(iw,"importFromCrush");s(OB,"importCrushConfigJson");s(LB,"parseCrushMcpServers");s(AB,"parseCrushHooks");s(kB,"serializeHooksYaml");});function cw(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:or}))}var lw=u(()=>{_t();Qa();s(cw,"lintRules");});function mw(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 pw=u(()=>{Et();s(mw,"lintCommands");});function Bh(t){try{let e=JSON.parse(t);return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}catch{return {}}}function dw(t,e){let r=Bh(t),o=TB.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 gw(t,e){let r=Bh(t),o=bB.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 fw(t,e){let r=Bh(t),o=wB.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 uw,wB,TB,bB,Cu=u(()=>{uw=[".claude/settings.json",".gemini/settings.json"],wB=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(),TB=z$1.object({permissions:z$1.object({allow:z$1.array(z$1.string()).optional(),deny:z$1.array(z$1.string()).optional()}).passthrough().optional(),hooks:z$1.record(z$1.string(),z$1.unknown()).optional()}).passthrough(),bB=z$1.object({mcpServers:z$1.record(z$1.string(),z$1.unknown()).optional(),hooks:z$1.record(z$1.string(),z$1.unknown()).optional(),experimental:z$1.record(z$1.string(),z$1.unknown()).optional(),context:z$1.record(z$1.string(),z$1.unknown()).optional()}).passthrough();s(Bh,"parseJsonObject");s(dw,"mergeSettingsJson");s(gw,"mergeGeminiSettingsJson");s(fw,"mergeCrushConfigJson");});var PB,xB,DB,NB,FB,Su,Kh=u(()=>{St();at();nw();Qt();aw();lw();pw();Rt();Cu();Qa();PB={name:or,primaryRootInstructionPath:nr,generateRules:Xk,generateCommands:Qk,generateAgents:qk,generateSkills:Zk,generateMcp:tw,generateHooks:ew,generatePermissions:rw,generateIgnore:ow,importFrom:iw},xB={rootInstructionPath:nr,skillDir:Yt,managedOutputs:{dirs:[Yt],files:[nr,Pe,bn]},paths:{rulePath(t){return nr},commandPath(t){return `${Yt}/${W(t)}/SKILL.md`},agentPath(t){return `${Yt}/${$(t)}/SKILL.md`}}},DB={rootInstructionPath:Di,skillDir:xe,managedOutputs:{dirs:[xe],files:[Di,Fp]},rewriteGeneratedPath(t){return t===nr?Di:t===Pe?Fp:t===bn?null:t.startsWith(`${Yt}/`)?t.replace(`${Yt}/`,`${xe}/`):t},mirrorGlobalPath(t,e){return ct(t,xe,e)},paths:{rulePath(t){return Di},commandPath(t){return `${xe}/${W(t)}/SKILL.md`},agentPath(t){return `${xe}/${$(t)}/SKILL.md`}}},NB={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"partial"},FB={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"native",ignore:"none",permissions:"none"},Su={id:or,metadata:{displayName:"Crush",category:"cli",officialUrl:"https://github.com/charmbracelet/crush",shortDescription:"Charm's TUI coding agent"},generators:PB,capabilities:NB,emptyImportMessage:"No Crush config found (CRUSH.md, .crush/skills/, crush.json, or .crushignore).",lintRules:cw,lint:{commands:mw},supportsConversion:{commands:true,agents:true},project:xB,globalSupport:{capabilities:FB,detectionPaths:[Di,Fp,xe],layout:DB},mergeGeneratedOutputContent(t,e,r,o){let n=e?.content??t;return n!==null&&o===Pe?fw(n,r):null},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[nr],global:[Di]},canonicalDir:vp,canonicalRootFilename:"_root.md",markAsRoot:true},ignore:{feature:"ignore",mode:"flatFile",source:{project:[bn]},canonicalDir:".agentsmesh",canonicalFilename:Gp}},buildImportPaths:Af,detectionPaths:[nr,Pe,Yt,bn],sharedArtifacts:{".crush/skills/":"owner"}};});function Wh(t){let e=[],r=t.rules.find(i=>i.root);if(r){let i=r.body.trim()?r.body:"";e.push({path:Os,content:i});let a={alwaysApply:true};r.description&&(a.description=r.description);let c=P(a,i);e.push({path:Pn,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:`${sr}/${a}.mdc`,content:m});}let n=hw(t);return n.trim()&&e.push({path:jr,content:n}),e}function hw(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(st(e.body,r)):r.length>0&&o.push(st("",r)),o.filter(Boolean).join(`
112
+ `);n.push({path:m,content:f}),l++;}}return [...r,...n,...o.values()]}var Bb,Wb=d(()=>{w();wr();My();Bb=/^(?<prefix>\s*(?:(?:bash|sh|zsh)\s+)?)["']?(?<path>(?:\.\.\/|\.\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?<suffix>(?:\s.*)?)$/;s(aV,"safePhaseName");s(lV,"toRepoRelative");s(cV,"rewriteWrapperCommand");s(mV,"buildAssetOutput");s(pV,"wrapperPath");s(Ub,"safeShellLine");s(uV,"buildWrapper");s(Kb,"addHookScriptAssets");});function fV(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var Hb,zb=d(()=>{w();wr();s(fV,"computeStatus");Hb=s(async(t,e,r,n)=>{if(r!=="global"||!n.has("rules"))return [];let o=t.rules.find(l=>l.root);if(!o)return [];let i=o.body.trim(),a=await _(join(e,La));return [{target:"copilot",path:La,content:i,currentContent:a??void 0,status:fV(a,i)}]},"generateCopilotGlobalExtras");});var hV,yV,_V,RV,Zu,$y=d(()=>{Ib();wr();bb();Fb();Mb();Ct();Yu();jb();Wb();zb();hV={name:"copilot",primaryRootInstructionPath:Sa,generateRules:gb,generateCommands:hb,generateAgents:_b,generateSkills:yb,generateHooks:Rb,importFrom:wb},yV={rootInstructionPath:Sa,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 [`${Ca}/${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 `${Ca}/${t}.instructions.md`},commandPath(t,e){return Ju(t)},agentPath(t,e){return `${ka}/${t}.agent.md`}}},_V={rootInstructionPath:ii,renderPrimaryRootInstruction:fb,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[La]}],skillDir:us,managedOutputs:{dirs:[Xl,us,Zl,vy,Fy],files:[ii,La]},rewriteGeneratedPath(t){return t===Sa?ii:t.startsWith(`${Ca}/`)?ii:t.startsWith(`${si}/`)?t.replace(`${si}/`,`${Zl}/`):t.startsWith(`${ka}/`)?t.replace(`${ka}/`,`${Xl}/`):t.startsWith(`${lo}/`)?t.replace(`${lo}/`,`${us}/`):t.startsWith(`${ao}/`)?null:t},mirrorGlobalPath(t,e){if(t.startsWith(`${us}/`)&&!e.includes("codex-cli")){let r=t.slice(us.length+1);return [`.agents/skills/${r}`,`${Fy}/${r}`]}return null},paths:{rulePath(t,e){return ii},commandPath(t,e){return `${Zl}/${t}.prompt.md`},agentPath(t,e){return `${Xl}/${t}.agent.md`}}},RV={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},Zu={id:"copilot",metadata:{displayName:"GitHub Copilot",category:"ide",officialUrl:"https://github.com/features/copilot",shortDescription:"GitHub's AI pair programmer"},generators:hV,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:vb,lint:{commands:$b,hooks:Gb},postProcessHookOutputs:s(async(t,e,r)=>Kb(t,e,[...r]),"postProcessHookOutputs"),project:yV,globalSupport:{capabilities:RV,detectionPaths:[ii,La,Xl,us,Zl,vy],layout:_V,scopeExtras:Hb},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Sa],global:[ii]},canonicalDir:Ea,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[lb]},canonicalDir:Ea,extensions:[".instructions.md"],map:Tb},{feature:"rules",mode:"directory",source:{project:[Ca]},canonicalDir:Ea,extensions:[".instructions.md",".md"],map:xb}],commands:{feature:"commands",mode:"directory",source:{project:[si],global:[Zl]},canonicalDir:zu,extensions:[".prompt.md"],map:Db},agents:{feature:"agents",mode:"directory",source:{project:[ka],global:[Xl]},canonicalDir:Vu,extensions:[".agent.md"],map:Nb}},buildImportPaths:Oh,detectionPaths:[".github/copilot-instructions.md",".github/copilot",".github/instructions",".github/prompts",".github/skills",".github/agents",".github/hooks"]};});function Qu(t){return {$schema:"https://charm.land/crush.json",...t}}var Vb=d(()=>{s(Qu,"buildCrushConfigJson");});function Jb(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)),n=e?.body.trim()??"",o=lt(n,r);return o?[{path:pr,content:o}]:[]}function Yb(t){return rt(t,Qt)}function Xb(t){return t.commands.map(e=>({path:`${Qt}/${H(e.name)}/SKILL.md`,content:Nt(e)}))}function Zb(t){return t.agents.map(e=>({path:`${Qt}/${U(e.name)}/SKILL.md`,content:Tt(e)}))}function Qb(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=Qu({mcp:t.mcp.mcpServers});return [{path:ve,content:JSON.stringify(e,null,2)}]}function qb(t){if(!t.hooks)return [];let e=IV(t);if(Object.keys(e).length===0)return [];let r=Qu({hooks:e});return [{path:ve,content:JSON.stringify(r,null,2)}]}function tP(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={};e.length>0&&(o.allowed_tools=e),r.length>0&&(o.denied_tools=r);let i=Qu({permissions:o});return [{path:ve,content:JSON.stringify(i,null,2)}]}function eP(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
113
+ `);return [{path:Go,content:e}]}function IV(t){if(!t.hooks)return {};let e={};for(let[r,n]of Object.entries(t.hooks)){if(!Array.isArray(n))continue;let o=[];for(let i of n){let a=typeof i.command=="string"?i.command.trim():"";if(!a)continue;let l={matcher:i.matcher,command:a};i.timeout!==void 0&&(l.timeout=i.timeout),o.push(l);}o.length>0&&(e[r]=o);}return e}var rP=d(()=>{tt();Ut();mt();kt();_l();Vb();s(Jb,"generateRules");s(Yb,"generateSkills");s(Xb,"generateCommands");s(Zb,"generateAgents");s(Qb,"generateMcp");s(qb,"generateHooks");s(tP,"generatePermissions");s(eP,"generateIgnore");s(IV,"buildCrushHooksFromCanonical");});async function oP(t,e={}){let r=e.scope??"project",n=[],o=await B(mr,t,r);return n.push(...await J(qu,t,r,{normalize:o})),await q(t,r==="global"?Me:Qt,mr,n,o),await SV(t,n),n}async function SV(t,e){let r=join(t,ve),n=await _(r);if(n===null)return;let o;try{o=JSON.parse(n);}catch{return}if(!o||typeof o!="object"||Array.isArray(o))return;let i=o,a=CV(i.mcp);if(Object.keys(a).length>0){let c=Su,m=join(t,c);await O(dirname(m)),await I(m,JSON.stringify({mcpServers:a},null,2)),e.push({fromTool:mr,fromPath:r,toPath:c,feature:"mcp"});}let l=kV(i.hooks);if(l!==null&&Object.keys(l).length>0){let c=".agentsmesh/hooks.yaml",m=join(t,c);await O(dirname(m));let p=EV(l);await I(m,p),e.push({fromTool:mr,fromPath:r,toPath:c,feature:"hooks"});}}function CV(t){if(!t||typeof t!="object"||Array.isArray(t))return {};let e={};for(let[r,n]of Object.entries(t)){if(!n||typeof n!="object"||Array.isArray(n))continue;let o=n,i=typeof o.description=="string"?o.description:void 0;if(typeof o.command=="string"){e[r]={type:typeof o.type=="string"?o.type:"stdio",command:o.command,args:ws(o.args),env:Ln(o.env),...i!==void 0?{description:i}:{}};continue}typeof o.url=="string"&&(e[r]={type:typeof o.type=="string"?o.type:"http",url:o.url,headers:Ln(o.headers),env:Ln(o.env),...i!==void 0?{description:i}:{}});}return e}function kV(t){if(!t||typeof t!="object"||Array.isArray(t))return null;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"||Array.isArray(i))continue;let a=i,l=typeof a.command=="string"?a.command.trim():"";if(!l)continue;let m={matcher:typeof a.matcher=="string"?a.matcher:"",command:l};typeof a.timeout=="number"&&(m.timeout=a.timeout),o.push(m);}o.length>0&&(e[r]=o);}return Object.keys(e).length>0?e:null}function EV(t){let e=[];for(let[r,n]of Object.entries(t)){e.push(`${r}:`);for(let o of n)e.push(` - matcher: ${JSON.stringify(o.matcher)}`),e.push(` command: ${JSON.stringify(o.command)}`),o.timeout!==void 0&&e.push(` timeout: ${o.timeout}`);}return e.join(`
114
+ `)}var sP=d(()=>{dt();tt();Et();w();or();jy();_l();s(oP,"importFromCrush");s(SV,"importCrushConfigJson");s(CV,"parseCrushMcpServers");s(kV,"parseCrushHooks");s(EV,"serializeHooksYaml");});function iP(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:mr}))}var aP=d(()=>{It();_l();s(iP,"lintRules");});function lP(t){return t.commands.length===0?[]:[x(".agentsmesh/commands","crush","Crush has no native slash-command format; commands are projected as skills via supportsConversion.")]}var cP=d(()=>{Lt();s(lP,"lintCommands");});function Uy(t){try{let e=JSON.parse(t);return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}catch{return {}}}function pP(t,e){let r=Uy(t),n=OV.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 uP(t,e){let r=Uy(t),n=AV.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)}function dP(t,e){let r=Uy(t),n=LV.parse(JSON.parse(e)),o={...r};return n.$schema!==void 0&&(o.$schema=n.$schema),n.mcp!==void 0&&(o.mcp=n.mcp),n.hooks!==void 0&&(o.hooks=n.hooks),n.permissions!==void 0&&(o.permissions=n.permissions),n.options!==void 0&&(o.options=n.options),JSON.stringify(o,null,2)}var mP,LV,OV,AV,td=d(()=>{mP=[".claude/settings.json",".gemini/settings.json"],LV=z.object({$schema:z.string().optional(),mcp:z.record(z.string(),z.unknown()).optional(),hooks:z.record(z.string(),z.unknown()).optional(),permissions:z.record(z.string(),z.unknown()).optional(),options:z.record(z.string(),z.unknown()).optional()}).passthrough(),OV=z.object({permissions:z.object({allow:z.array(z.string()).optional(),deny:z.array(z.string()).optional()}).passthrough().optional(),hooks:z.record(z.string(),z.unknown()).optional()}).passthrough(),AV=z.object({mcpServers:z.record(z.string(),z.unknown()).optional(),hooks:z.record(z.string(),z.unknown()).optional(),experimental:z.record(z.string(),z.unknown()).optional(),context:z.record(z.string(),z.unknown()).optional()}).passthrough();s(Uy,"parseJsonObject");s(pP,"mergeSettingsJson");s(uP,"mergeGeminiSettingsJson");s(dP,"mergeCrushConfigJson");});var wV,bV,PV,TV,xV,qu,jy=d(()=>{kt();mt();rP();ee();sP();aP();cP();Ct();td();_l();wV={name:mr,primaryRootInstructionPath:pr,generateRules:Jb,generateCommands:Xb,generateAgents:Zb,generateSkills:Yb,generateMcp:Qb,generateHooks:qb,generatePermissions:tP,generateIgnore:eP,importFrom:oP},bV={rootInstructionPath:pr,skillDir:Qt,managedOutputs:{dirs:[Qt],files:[pr,ve,Go]},paths:{rulePath(t){return pr},commandPath(t){return `${Qt}/${H(t)}/SKILL.md`},agentPath(t){return `${Qt}/${U(t)}/SKILL.md`}}},PV={rootInstructionPath:Ki,skillDir:Me,managedOutputs:{dirs:[Me],files:[Ki,_u]},rewriteGeneratedPath(t){return t===pr?Ki:t===ve?_u:t===Go?null:t.startsWith(`${Qt}/`)?t.replace(`${Qt}/`,`${Me}/`):t},mirrorGlobalPath(t,e){return pt(t,Me,e)},paths:{rulePath(t){return Ki},commandPath(t){return `${Me}/${H(t)}/SKILL.md`},agentPath(t){return `${Me}/${U(t)}/SKILL.md`}}},TV={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"partial"},xV={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"native",ignore:"none",permissions:"none"},qu={id:mr,metadata:{displayName:"Crush",category:"cli",officialUrl:"https://github.com/charmbracelet/crush",shortDescription:"Charm's TUI coding agent"},generators:wV,capabilities:TV,emptyImportMessage:"No Crush config found (CRUSH.md, .crush/skills/, crush.json, or .crushignore).",lintRules:iP,lint:{commands:lP},supportsConversion:{commands:true,agents:true},project:bV,globalSupport:{capabilities:xV,detectionPaths:[Ki,_u,Me],layout:PV},mergeGeneratedOutputContent(t,e,r,n){let o=e?.content??t;return o!==null&&n===ve?dP(o,r):null},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[pr],global:[Ki]},canonicalDir:Ru,canonicalRootFilename:"_root.md",markAsRoot:true},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Go]},canonicalDir:".agentsmesh",canonicalFilename:Iu}},buildImportPaths:Ah,detectionPaths:[pr,ve,Qt,Go],sharedArtifacts:{".crush/skills/":"owner"}};});function By(t){let e=[],r=t.rules.find(i=>i.root);if(r){let i=r.body.trim()?r.body:"";e.push({path:vs,content:i});let a={alwaysApply:true};r.description&&(a.description=r.description);let l=T(a,i);e.push({path:jo,content:l});}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"),c={alwaysApply:i.trigger==="always_on"};i.description&&(c.description=i.description),i.globs.length>0&&(c.globs=i.globs);let m=T(c,i.body.trim()||"");e.push({path:`${ur}/${a}.mdc`,content:m});}let o=fP(t);return o.trim()&&e.push({path:Yr,content:o}),e}function fP(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(lt(e.body,r)):r.length>0&&n.push(lt("",r)),n.filter(Boolean).join(`
108
115
 
109
- `)}var yw=u(()=>{M();Mt();jt();s(Wh,"generateRules");s(hw,"renderCursorGlobalUserRules");});function Hh(t){return t.commands.map(e=>({path:`${ir}/${e.name}.md`,content:e.body.trim()||""}))}var _w=u(()=>{jt();s(Hh,"generateCommands");});function zh(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:ko,content:e}]}var Iw=u(()=>{jt();s(zh,"generateMcp");});function Vh(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:`${Ao}/${r.name}/SKILL.md`,content:n});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${Ao}/${r.name}/${a}`,content:i.content});}}return e}var Rw=u(()=>{M();jt();s(Vh,"generateSkills");});function Jh(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:`${qa}/${e.name}.md`,content:o}})}var Sw=u(()=>{M();jt();s(Jh,"generateAgents");});function Yh(t){return []}var Cw=u(()=>{s(Yh,"generatePermissions");});function GB(t){let e={};for(let[r,o]of Object.entries(t)){if(!Array.isArray(o))continue;let n=[];for(let i of o){if(!po(i))continue;let a=Kt(i),c=le(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 Xh(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=GB(t.hooks);if(Object.keys(e).length===0)return [];let r=JSON.stringify({version:1,hooks:e},null,2);return [{path:wo,content:r}]}var Ew=u(()=>{br();jt();s(GB,"toCursorHooks");s(Xh,"generateHooks");});function Zh(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
110
- `);return [{path:$r,content:e}]}var Ow=u(()=>{jt();s(Zh,"generateIgnore");});var Lw=u(()=>{yw();_w();Iw();Rw();Sw();Cw();Ew();Ow();});var Aw=u(()=>{Lw();});async function Ou(t,e,r,o){let n=t.replace(/\.mdc$/i,".md"),i=join(e,n),c=w(r(i)).frontmatter.alwaysApply===true,l=c?join(e,"_root.md"):i,{frontmatter:m,body:p}=w(r(l));c&&o();let d={...m,root:c};if(delete d.alwaysApply,!c){let g=MB(m);g!==null&&(d.trigger=g);}return {destPath:l,toPath:`${To}/${c?"_root.md":n}`,feature:"rules",content:await K(l,d,p)}}function MB(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 kw(t,e,r){let o=join(e,t),{frontmatter:n,body:i}=w(r(o)),a=Ze(n.allowedTools),c=a.length>0?a:Ze(n["allowed-tools"]);return {destPath:o,toPath:`${ks}/${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 ww(t,e,r){let o=join(e,t),{frontmatter:n,body:i}=w(r(o));return {destPath:o,toPath:`${ws}/${t}`,feature:"agents",content:await Bt(o,n,i)}}var Qh=u(()=>{M();lt();Qe();jt();s(Ou,"mapCursorRuleFile");s(MB,"deriveCursorTrigger");s(kw,"mapCursorCommandFile");s(ww,"mapCursorAgentFile");});async function Dc(t){let e=join(t.projectRoot,To);await L(e);let r=join(e,"_root.md"),o=await Xo({content:t.content,projectRoot:t.projectRoot,rulesDir:To,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}=w(n),c=i.root===true?i:{...i,root:true},l=await K(r,c,a);return await I(r,l),t.results.push({fromTool:"cursor",fromPath:t.sourcePath,toPath:`${To}/_root.md`,feature:"rules"}),true}var qh=u(()=>{T();M();Ac();lt();jt();s(Dc,"importCursorRootFile");});async function bw(t,e,r){let o=join(t,To),n=false,i=join(t,sr);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}=w(m);if(p.alwaysApply===true)return null}}return Ou(c,o,l,()=>{n=true;})},"mapEntry")})),!n){let a=join(t,Os),c=await y(a);c!==null&&(n=await Dc({projectRoot:t,results:e,sourcePath:a,content:c,normalize:r}));}if(!n){let a=join(t,KC),c=await y(a);c!==null&&await Dc({projectRoot:t,results:e,sourcePath:a,content:c,normalize:r});}}var Pw=u(()=>{T();M();ke();Qh();qh();jt();s(bw,"importCursorRules");});function xw(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(!po({...m,type:p}))continue;let d=p==="prompt"?le(m)||Kt(m):Kt(m)||le(m),g={matcher:c,type:p,command:d};typeof m.timeout=="number"&&(g.timeout=m.timeout),n.push(g);}}n.length>0&&(e[r]=n);}return e}async function ku(t,e){let r=false,o=join(t,wo),n=await y(o);if(n)try{let p=JSON.parse(n);if(p.hooks&&typeof p.hooks=="object"){let d=xw(p.hooks);if(Object.keys(d).length>0){let g=stringify(d),f=join(t,Hl);await L(dirname(f)),await I(f,g),e.push({fromTool:"cursor",fromPath:o,toPath:Hl,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,d=Array.isArray(p.allow)?p.allow.filter(f=>typeof f=="string"):[],g=Array.isArray(p.deny)?p.deny.filter(f=>typeof f=="string"):[];if(d.length>0||g.length>0){let f=stringify({allow:d,deny:g}),h=join(t,wf);await L(dirname(h)),await I(h,f),e.push({fromTool:"cursor",fromPath:i,toPath:wf,feature:"permissions"});}}let m=r?void 0:c.hooks;if(m&&typeof m=="object"&&!Array.isArray(m)){let p=xw(m);if(Object.keys(p).length>0){let d=stringify(p),g=join(t,Hl);await L(dirname(g)),await I(g,d),e.push({fromTool:"cursor",fromPath:i,toPath:Hl,feature:"hooks"});}}}async function wu(t,e){let r=[{path:join(t,$r),label:$r},{path:join(t,kf),label:kf}],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,Tf);await L(dirname(i)),await I(i,o.join(`
116
+ `)}var gP=d(()=>{j();Ut();Kt();s(By,"generateRules");s(fP,"renderCursorGlobalUserRules");});function Ky(t){return t.commands.map(e=>({path:`${dr}/${e.name}.md`,content:e.body.trim()||""}))}var hP=d(()=>{Kt();s(Ky,"generateCommands");});function Wy(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:$e,content:e}]}var yP=d(()=>{Kt();s(Wy,"generateMcp");});function Hy(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=T(n,r.body.trim()||"");e.push({path:`${me}/${r.name}/SKILL.md`,content:o});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${me}/${r.name}/${a}`,content:i.content});}}return e}var _P=d(()=>{j();Kt();s(Hy,"generateSkills");});function zy(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0,model:e.model||void 0,permissionMode:e.permissionMode||void 0,maxTurns:e.maxTurns>0?e.maxTurns:void 0,mcpServers:e.mcpServers.length>0?e.mcpServers:void 0,hooks:Object.keys(e.hooks).length>0?e.hooks:void 0,skills:e.skills.length>0?e.skills:void 0,memory:e.memory||void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=T(r,e.body.trim()||"");return {path:`${fr}/${e.name}.md`,content:n}})}var RP=d(()=>{j();Kt();s(zy,"generateAgents");});function Vy(t){return []}var IP=d(()=>{s(Vy,"generatePermissions");});function NV(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let i of n){if(!Sn(i))continue;let a=zt(i),l=he(i),c=i.type==="prompt"?l||a:a||l,m={type:i.type==="prompt"?"prompt":"command",[i.type==="prompt"?"prompt":"command"]:c};i.timeout!==void 0&&(m.timeout=i.timeout),o.push({matcher:i.matcher,hooks:[m]});}o.length>0&&(e[r]=o);}return e}function Jy(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=NV(t.hooks);if(Object.keys(e).length===0)return [];let r=JSON.stringify({version:1,hooks:e},null,2);return [{path:vn,content:r}]}var SP=d(()=>{Mr();Kt();s(NV,"toCursorHooks");s(Jy,"generateHooks");});function Yy(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
117
+ `);return [{path:Jr,content:e}]}var CP=d(()=>{Kt();s(Yy,"generateIgnore");});var kP=d(()=>{gP();hP();yP();_P();RP();IP();SP();CP();});var EP=d(()=>{kP();});async function rd(t,e,r,n){let o=t.replace(/\.mdc$/i,".md"),i=join(e,o),l=b(r(i)).frontmatter.alwaysApply===true,c=l?join(e,"_root.md"):i,{frontmatter:m,body:p}=b(r(c));l&&n();let u={...m,root:l};if(delete u.alwaysApply,!l){let f=FV(m);f!==null&&(u.trigger=f);}return {destPath:c,toPath:`${Mn}/${l?"_root.md":o}`,feature:"rules",content:await K(c,u,p)}}function FV(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 LP(t,e,r){let n=join(e,t),{frontmatter:o,body:i}=b(r(n)),a=nr(o.allowedTools),l=a.length>0?a:nr(o["allowed-tools"]);return {destPath:n,toPath:`${Ms}/${t}`,feature:"commands",content:await _t(n,{description:typeof o.description=="string"?o.description:"",hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),allowedTools:l,hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},i)}}async function OP(t,e,r){let n=join(e,t),{frontmatter:o,body:i}=b(r(n));return {destPath:n,toPath:`${$s}/${t}`,feature:"agents",content:await Vt(n,o,i)}}var Xy=d(()=>{j();ut();or();Kt();s(rd,"mapCursorRuleFile");s(FV,"deriveCursorTrigger");s(LP,"mapCursorCommandFile");s(OP,"mapCursorAgentFile");});async function Ql(t){let e=join(t.projectRoot,Mn);await O(e);let r=join(e,"_root.md"),n=await oo({content:t.content,projectRoot:t.projectRoot,rulesDir:Mn,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}=b(o),l=i.root===true?i:{...i,root:true},c=await K(r,l,a);return await I(r,c),t.results.push({fromTool:"cursor",fromPath:t.sourcePath,toPath:`${Mn}/_root.md`,feature:"rules"}),true}var Zy=d(()=>{w();j();Hl();ut();Kt();s(Ql,"importCursorRootFile");});async function wP(t,e,r){let n=join(t,Mn),o=false,i=join(t,ur);if(e.push(...await Rt({srcDir:i,destDir:n,extensions:[".mdc"],fromTool:"cursor",normalize:r,mapEntry:s(async({srcPath:a,relativePath:l,normalizeTo:c})=>{if(o){let m=await _(a);if(m!==null){let{frontmatter:p}=b(m);if(p.alwaysApply===true)return null}}return rd(l,n,c,()=>{o=true;})},"mapEntry")})),!o){let a=join(t,vs),l=await _(a);l!==null&&(o=await Ql({projectRoot:t,results:e,sourcePath:a,content:l,normalize:r}));}if(!o){let a=join(t,EE),l=await _(a);l!==null&&await Ql({projectRoot:t,results:e,sourcePath:a,content:l,normalize:r});}}var bP=d(()=>{w();j();xe();Xy();Zy();Kt();s(wP,"importCursorRules");});function PP(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,l=typeof a.matcher=="string"?a.matcher:"";if(!l)continue;let c=Array.isArray(a.hooks)?a.hooks:[];for(let m of c){let p=m.type==="prompt"?"prompt":"command";if(!Sn({...m,type:p}))continue;let u=p==="prompt"?he(m)||zt(m):zt(m)||he(m),f={matcher:l,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 sd(t,e){let r=false,n=join(t,vn),o=await _(n);if(o)try{let p=JSON.parse(o);if(p.hooks&&typeof p.hooks=="object"){let u=PP(p.hooks);if(Object.keys(u).length>0){let f=stringify(u),g=join(t,_m);await O(dirname(g)),await I(g,f),e.push({fromTool:"cursor",fromPath:n,toPath:_m,feature:"hooks"}),r=!0;}}}catch{}let i=join(t,Cu),a=await _(i);if(!a)return;let l;try{l=JSON.parse(a);}catch{return}let c=l.permissions;if(c&&typeof c=="object"&&!Array.isArray(c)){let p=c,u=Array.isArray(p.allow)?p.allow.filter(g=>typeof g=="string"):[],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,bh);await O(dirname(h)),await I(h,g),e.push({fromTool:"cursor",fromPath:i,toPath:bh,feature:"permissions"});}}let m=r?void 0:l.hooks;if(m&&typeof m=="object"&&!Array.isArray(m)){let p=PP(m);if(Object.keys(p).length>0){let u=stringify(p),f=join(t,_m);await O(dirname(f)),await I(f,u),e.push({fromTool:"cursor",fromPath:i,toPath:_m,feature:"hooks"});}}}async function id(t,e){let r=[{path:join(t,Jr),label:Jr},{path:join(t,wh),label:wh}],n=[],o=[];for(let a of r){let l=await _(a.path);if(l!==null){o.push(a.label);for(let c of l.split(/\r?\n/)){let m=c.trim();m&&!n.includes(m)&&n.push(m);}}}if(n.length===0)return;let i=join(t,Ph);await O(dirname(i)),await I(i,n.join(`
111
118
  `)+`
112
- `),e.push({fromTool:"cursor",fromPath:join(t,n[0]),toPath:Tf,feature:"ignore"});}var ey=u(()=>{br();T();jt();s(xw,"cursorHooksToCanonical");s(ku,"importSettings");s(wu,"importIgnore");});async function Tu(t,e,r,o=Ao){let n=join(t,o),i=await dm(n),a={projectRoot:t,destCanonicalSkillsDir:BC,targetName:"cursor",normalize:r,results:e};for(let[p,d]of i)await um(p,d,a);let c=await N(n).catch(()=>[]),l=c.filter(p=>p.endsWith(".md")),m=new Set(Array.from(i.values()).flatMap(p=>c.filter(d=>d.startsWith(p))));for(let p of l){if(m.has(p))continue;let d=await y(p);if(!d)continue;let g=basename(p,".md");await UL(g,p,d,a);}}var ry=u(()=>{T();bc();jt();s(Tu,"importSkills");});async function Dw(t){if(await j(join(t,sr)))return true;let e=[join(t,jr),join(t,tc),join(t,Wl),join(t,wo),join(t,$r),join(t,Ls),join(t,As),join(t,ir)];for(let i of e){let a=await y(i);if(a!==null&&a.trim()!=="")return true}return !!((await N(join(t,Ls))).some(i=>i.endsWith(".md"))||(await N(join(t,As))).some(i=>i.endsWith(".md"))||(await N(join(t,ir))).some(i=>i.endsWith(".md")))}async function Nw(t,e,r){let o=join(t,To),n=false,i=join(t,sr),a=await yt({srcDir:i,destDir:o,extensions:[".mdc"],fromTool:Nc,normalize:r,mapEntry:s(async({srcPath:c,relativePath:l,normalizeTo:m})=>{if(n){let p=await y(c);if(p!==null){let{frontmatter:d}=w(p);if(d.alwaysApply===true)return null}}return Ou(l,o,m,()=>{n=true;})},"mapEntry")});return e.push(...a),n}async function Fw(t,e,r){let o=join(t,tc),n=await y(o);return n===null||n.trim()===""?false:Dc({projectRoot:t,results:e,sourcePath:o,content:n.trim(),normalize:r})}async function vw(t,e,r){let o=join(t,jr),n=await y(o);return n===null||n.trim()===""?false:Dc({projectRoot:t,results:e,sourcePath:o,content:n.trim(),normalize:r})}async function Gw(t,e){let r=join(t,Wl),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,ec);await L(dirname(i)),await I(i,o),e.push({fromTool:Nc,fromPath:r,toPath:ec,feature:"mcp"});}async function Mw(t,e,r){let o=join(t,As),n=join(t,ws);e.push(...await yt({srcDir:o,destDir:n,extensions:[".md"],fromTool:Nc,normalize:r,mapEntry:s(({relativePath:i,normalizeTo:a})=>ww(i,n,a),"mapEntry")}));}async function $w(t,e,r){let o=join(t,ir),n=join(t,ks);e.push(...await yt({srcDir:o,destDir:n,extensions:[".md"],fromTool:Nc,normalize:r,mapEntry:s(({relativePath:i,normalizeTo:a})=>kw(i,n,a),"mapEntry")}));}var Nc,jw=u(()=>{T();M();ke();jt();qh();Qh();Nc="cursor";s(Dw,"hasGlobalCursorArtifacts");s(Nw,"importGlobalCursorRulesFromDir");s(Fw,"importGlobalUserRules");s(vw,"importGlobalDotCursorAgents");s(Gw,"importGlobalMcp");s(Mw,"importGlobalAgents");s($w,"importGlobalCommands");});async function Uw(t){if(!await Dw(t))return [];let e=[],r=await U(Nc,t,"global"),o=await Nw(t,e,r);return o||(o=await Fw(t,e,r)),o||await vw(t,e,r),await Gw(t,e),await Tu(t,e,r,Ls),await Mw(t,e,r),await $w(t,e,r),await ku(t,e),await wu(t,e),e}var Kw=u(()=>{mt();jt();ry();ey();jw();s(Uw,"importFromCursorGlobalExports");});async function BB(t,e){let r=join(t,ko),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,ec,i),e.push({fromTool:"cursor",fromPath:r,toPath:ec,feature:"mcp"});}async function bu(t,e={}){if(e.scope==="global")return Uw(t);let r=[],o=await U("cursor",t);return await bw(t,r,o),r.push(...await z(Pu,t,"project",{normalize:o})),await Tu(t,r,o),await BB(t,r),await ku(t,r),await wu(t,r),r}var oy=u(()=>{mt();T();Ct();Nr();Pw();ey();ry();Kw();jt();ny();s(BB,"importMcp");s(bu,"importFromCursor");});var Ww,Hw,zw=u(()=>{M();lt();Qe();jt();Ww=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=w(e(o)),a=Ze(n.allowedTools),c=a.length>0?a:Ze(n["allowed-tools"]);return {destPath:o,toPath:`${ks}/${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"),Hw=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=w(e(o));return {destPath:o,toPath:`${ws}/${t}`,content:await Bt(o,n,i)}},"cursorAgentMapper");});function Vw(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(i=>({...i,target:UC}))}var Jw=u(()=>{_t();jt();s(Vw,"lintRules");});function Yw(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 Xw(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 Zw(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 Qw=u(()=>{Et();s(Yw,"lintCommands");s(Xw,"lintMcp");s(Zw,"lintPermissions");});var WB,HB,zB,VB,Pu,ny=u(()=>{Aw();jt();Qt();oy();zw();Jw();Rt();Qw();WB={name:"cursor",primaryRootInstructionPath:Pn,generateRules:Wh,generateCommands:Hh,generateAgents:Jh,generateSkills:Vh,generateMcp:zh,generatePermissions:Yh,generateHooks:Xh,generateIgnore:Zh,importFrom:bu},HB={rootInstructionPath:Pn,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[Os,jr]}],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`}}},zB={rootInstructionPath:Pn,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[Os,jr]}],skillDir:Ls,managedOutputs:{dirs:[sr,ir,As,Ls],files:[Pn,jr,Wl,wo,$r,tc]},rewriteGeneratedPath(t){return t===Os?null:t===jr||t===Pn||t.startsWith(`${sr}/`)||t.startsWith(`${ir}/`)||t.startsWith(`${qa}/`)||t.startsWith(`${Ao}/`)||t===ko||t===wo||t===$r?t:t===$p?null:t},mirrorGlobalPath(t,e){return ct(t,Ao,e)},paths:{rulePath(t,e){return `${sr}/${t}.mdc`},commandPath(t,e){return `${ir}/${t}.md`},agentPath(t,e){return `${As}/${t}.md`}}},VB={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},Pu={id:"cursor",metadata:{displayName:"Cursor",category:"ide",officialUrl:"https://cursor.com",shortDescription:"AI-first code editor"},generators:WB,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:Vw,lint:{commands:Yw,mcp:Xw,permissions:Zw},project:HB,globalSupport:{capabilities:VB,detectionPaths:[Pn,jr,ko,wo,$r,Ao,As,ir,tc],layout:zB},importer:{commands:{feature:"commands",mode:"directory",source:{project:[ir]},canonicalDir:ks,extensions:[".md"],map:Ww},agents:{feature:"agents",mode:"directory",source:{project:[qa]},canonicalDir:ws,extensions:[".md"],map:Hw}},buildImportPaths:bf,detectionPaths:[".cursor/rules",".cursor/mcp.json"],preservesManualActivation:true};});function qw(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(bo)),o=e?.body.trim()??"",n=st(o,r);return n?[{path:ar,content:n}]:[]}function tT(t){return tt(t,se)}function eT(t){return t.commands.map(e=>({path:`${se}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function rT(t){return t.agents.map(e=>({path:`${se}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function oT(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:xn,content:e}]}var nT=u(()=>{Q();Mt();at();St();rc();s(qw,"generateRules");s(tT,"generateSkills");s(eT,"generateCommands");s(rT,"generateAgents");s(oT,"generateMcp");});async function sT(t,e={}){let r=e.scope??"project",o=[],n=await U(bo,t,r);return o.push(...await z(xu,t,r,{normalize:n})),await Z(t,r==="global"?Ur:se,bo,o,n),o}var iT=u(()=>{mt();Q();Ct();rc();sy();s(sT,"importFromDeepagentsCli");});function aT(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:bo}))}var cT=u(()=>{_t();rc();s(aT,"lintRules");});function lT(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 mT(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 pT(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 uT=u(()=>{Et();s(lT,"lintHooks");s(mT,"lintPermissions");s(pT,"lintIgnore");});var JB,YB,XB,ZB,QB,xu,sy=u(()=>{St();at();nT();iT();cT();uT();Rt();rc();JB={name:bo,primaryRootInstructionPath:ar,generateRules:qw,generateCommands:eT,generateAgents:rT,generateSkills:tT,generateMcp:oT,importFrom:sT},YB={rootInstructionPath:ar,skillDir:se,managedOutputs:{dirs:[se],files:[ar,xn]},paths:{rulePath(t){return ar},commandPath(t){return `${se}/${W(t)}/SKILL.md`},agentPath(t){return `${se}/${$(t)}/SKILL.md`}}},XB={rootInstructionPath:Dn,skillDir:Ur,managedOutputs:{dirs:[Ur],files:[Dn,Ni]},rewriteGeneratedPath(t){return t===ar?Dn:t===xn?Ni:t.startsWith(`${se}/`)?t.replace(`${se}/`,`${Ur}/`):t},paths:{rulePath(t){return Dn},commandPath(t){return `${Ur}/${W(t)}/SKILL.md`},agentPath(t){return `${Ur}/${$(t)}/SKILL.md`}}},ZB={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"},xu={id:bo,metadata:{displayName:"Deep Agents CLI",category:"cli",officialUrl:"https://github.com/langchain-ai/deepagents",shortDescription:"LangChain Deep Agents framework CLI"},generators:JB,capabilities:ZB,emptyImportMessage:"No Deep Agents CLI config found (.deepagents/AGENTS.md, .deepagents/skills, or .mcp.json).",lintRules:aT,lint:{hooks:lT,permissions:mT,ignore:pT},supportsConversion:{commands:true,agents:true},project:YB,globalSupport:{capabilities:QB,detectionPaths:[Dn,Ni],layout:XB},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[ar],global:[Dn]},canonicalDir:HC,canonicalRootFilename:"_root.md",markAsRoot:true},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[xn],global:[Ni]},canonicalDir:".agentsmesh",canonicalFilename:"mcp.json"}},buildImportPaths:Pf,detectionPaths:[ar,xn]};});function dT(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 gT=u(()=>{M();s(dT,"serializeDroid");});function fT(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(cr)),o=e?.body.trim()??"",n=st(o,r);return n?[{path:lr,content:n}]:[]}function hT(t){return tt(t,_e)}function yT(t){return t.commands.map(e=>({path:`${_e}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function _T(t){return t.agents.map(e=>({path:`${Po}/${e.name}.md`,content:dT(e)}))}function IT(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:xo,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}var RT=u(()=>{Q();Mt();St();gT();vi();s(fT,"generateRules");s(hT,"generateSkills");s(yT,"generateCommands");s(_T,"generateAgents");s(IT,"generateMcp");});async function CT(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,ST,c),r.push({fromTool:cr,fromPath:e,toPath:ST,feature:"mcp"}));}var ST,ET=u(()=>{T();Nr();vi();ST=".agentsmesh/mcp.json";s(CT,"importFactoryDroidMcp");});async function OT(t,e={}){let r=e.scope??"project",o=[],n=await U(cr,t,r);return o.push(...await z(Du,t,r,{normalize:n})),await Z(t,r==="global"?Do:_e,cr,o,n),await CT(t,r==="global"?Ts:xo,o),o}var LT=u(()=>{mt();Q();Ct();ET();vi();iy();s(OT,"importFromFactoryDroid");});function AT(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:cr}))}var kT=u(()=>{_t();vi();s(AT,"lintRules");});function wT(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 TT(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 bT(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 PT=u(()=>{Et();s(wT,"lintHooks");s(TT,"lintPermissions");s(bT,"lintIgnore");});var tW,eW,rW,xT,Du,iy=u(()=>{RT();vi();LT();kT();PT();Rt();St();tW={name:cr,primaryRootInstructionPath:lr,generateRules:fT,generateCommands:yT,generateAgents:_T,generateSkills:hT,generateMcp:IT,importFrom:OT},eW={rootInstructionPath:lr,skillDir:_e,managedOutputs:{dirs:[_e,Po],files:[lr,xo]},paths:{rulePath(t){return lr},commandPath(t){return `${_e}/${W(t)}/SKILL.md`},agentPath(t){return `${Po}/${t}.md`}}},rW={rootInstructionPath:Nn,skillDir:Do,managedOutputs:{dirs:[Do,Fi],files:[Nn,Ts]},rewriteGeneratedPath(t){return t===lr?Nn:t===xo?Ts:t.startsWith(`${_e}/`)?t.replace(`${_e}/`,`${Do}/`):t.startsWith(`${Po}/`)?t.replace(`${Po}/`,`${Fi}/`):t},paths:{rulePath(t){return Nn},commandPath(t){return `${Do}/${W(t)}/SKILL.md`},agentPath(t){return `${Fi}/${t}.md`}}},xT={rules:"native",additionalRules:"embedded",commands:"none",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Du={id:cr,metadata:{displayName:"Factory Droid",category:"agent-platform",officialUrl:"https://www.factory.ai",shortDescription:"Factory.ai's coding droid"},generators:tW,capabilities:xT,emptyImportMessage:"No Factory Droid config found (AGENTS.md, .factory/skills, or .factory/mcp.json).",lintRules:AT,lint:{hooks:wT,permissions:TT,ignore:bT},supportsConversion:{commands:true},project:eW,globalSupport:{capabilities:xT,detectionPaths:[Nn,Ts,Fi],layout:rW},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[lr],global:[Nn]},canonicalDir:VC,canonicalRootFilename:"_root.md",markAsRoot:true}},buildImportPaths:xf,detectionPaths:[lr,xo,Po]};});var Zs,Sr,en,DT,NT,Me,Nu,ha,Fu,Im,Qs,FT,vT,qs,vu,Rm,Sm,ay,cy,Fc,ly,vc,Gc,Gu,Mc,ya,Cm,Wt=u(()=>{Zs="gemini-cli",Sr="GEMINI.md",en="AGENTS.md",DT=".gemini/rules",NT=".gemini/GEMINI.md",Me=".gemini/commands",Nu=".gemini/policies",ha=".gemini/settings.json",Fu=".geminiignore",Im=".gemini/skills",Qs=".gemini/agents",FT=".gemini/system.md",vT=`${Nu}/permissions.toml`,qs=".agentsmesh/rules",vu=".agentsmesh/commands",Rm=".agentsmesh/agents",Sm=".agentsmesh/skills",ay=".agentsmesh/mcp.json",cy=".agentsmesh/hooks.yaml",Fc=".agentsmesh/ignore",ly=".agentsmesh/permissions.yaml",vc=".gemini/GEMINI.md",Gc=".gemini/AGENTS.md",Gu=".gemini/settings.json",Mc=".gemini/commands",ya=".gemini/skills",Cm=".gemini/agents";});function my(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=st(e?.body.trim()??"",r),n=[{path:Sr,content:o}];return e&&n.push({path:en,content:e.body.trim()}),n}var GT=u(()=>{Mt();Wt();s(my,"generateRules");});function MT(t,e){let r=t.split(":").filter(Boolean),o=r.length>0?r.pop():t;return [e,...r,`${o}.toml`].join("/")}var $T=u(()=>{s(MT,"canonicalCommandNameToGeminiTomlPath");});function oW(t){let e=t.replace(/\r\n/g,`
119
+ `),e.push({fromTool:"cursor",fromPath:join(t,o[0]),toPath:Ph,feature:"ignore"});}var qy=d(()=>{Mr();w();Kt();s(PP,"cursorHooksToCanonical");s(sd,"importSettings");s(id,"importIgnore");});async function ad(t,e,r,n=me){let o=join(t,n),i=await Bm(o),a={projectRoot:t,destCanonicalSkillsDir:LE,targetName:"cursor",normalize:r,results:e};for(let[p,u]of i)await Um(p,u,a);let l=await v(o).catch(()=>[]),c=l.filter(p=>p.endsWith(".md")),m=new Set(Array.from(i.values()).flatMap(p=>l.filter(u=>u.startsWith(p))));for(let p of c){if(m.has(p))continue;let u=await _(p);if(!u)continue;let f=basename(p,".md");await TA(f,p,u,a);}}var t_=d(()=>{w();Yl();Kt();s(ad,"importSkills");});async function TP(t){if(await $(join(t,ur)))return true;let e=[join(t,Yr),join(t,Rl),join(t,$e),join(t,vn),join(t,Jr),join(t,me),join(t,fr),join(t,dr)];for(let i of e){let a=await _(i);if(a!==null&&a.trim()!=="")return true}return !!((await v(join(t,me))).some(i=>i.endsWith(".md"))||(await v(join(t,fr))).some(i=>i.endsWith(".md"))||(await v(join(t,dr))).some(i=>i.endsWith(".md")))}async function xP(t,e,r){let n=join(t,Mn),o=false,i=join(t,ur),a=await Rt({srcDir:i,destDir:n,extensions:[".mdc"],fromTool:ql,normalize:r,mapEntry:s(async({srcPath:l,relativePath:c,normalizeTo:m})=>{if(o){let p=await _(l);if(p!==null){let{frontmatter:u}=b(p);if(u.alwaysApply===true)return null}}return rd(c,n,m,()=>{o=true;})},"mapEntry")});return e.push(...a),o}async function DP(t,e,r){let n=join(t,Rl),o=await _(n);return o===null||o.trim()===""?false:Ql({projectRoot:t,results:e,sourcePath:n,content:o.trim(),normalize:r})}async function NP(t,e,r){let n=join(t,Yr),o=await _(n);return o===null||o.trim()===""?false:Ql({projectRoot:t,results:e,sourcePath:n,content:o.trim(),normalize:r})}async function FP(t,e){let r=join(t,$e),n=await _(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,Il);await O(dirname(i)),await I(i,n),e.push({fromTool:ql,fromPath:r,toPath:Il,feature:"mcp"});}async function vP(t,e,r){let n=join(t,fr),o=join(t,$s);e.push(...await Rt({srcDir:n,destDir:o,extensions:[".md"],fromTool:ql,normalize:r,mapEntry:s(({relativePath:i,normalizeTo:a})=>OP(i,o,a),"mapEntry")}));}async function MP(t,e,r){let n=join(t,dr),o=join(t,Ms);e.push(...await Rt({srcDir:n,destDir:o,extensions:[".md"],fromTool:ql,normalize:r,mapEntry:s(({relativePath:i,normalizeTo:a})=>LP(i,o,a),"mapEntry")}));}var ql,$P=d(()=>{w();j();xe();Kt();Zy();Xy();ql="cursor";s(TP,"hasGlobalCursorArtifacts");s(xP,"importGlobalCursorRulesFromDir");s(DP,"importGlobalUserRules");s(NP,"importGlobalDotCursorAgents");s(FP,"importGlobalMcp");s(vP,"importGlobalAgents");s(MP,"importGlobalCommands");});async function GP(t){if(!await TP(t))return [];let e=[],r=await B(ql,t,"global"),n=await xP(t,e,r);return n||(n=await DP(t,e,r)),n||await NP(t,e,r),await FP(t,e),await ad(t,e,r,me),await vP(t,e,r),await MP(t,e,r),await sd(t,e),await id(t,e),e}var jP=d(()=>{dt();Kt();t_();qy();$P();s(GP,"importFromCursorGlobalExports");});async function jV(t,e){let r=join(t,$e),n=await _(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 Bt(t,Il,i),e.push({fromTool:"cursor",fromPath:r,toPath:Il,feature:"mcp"});}async function UP(t,e={}){if(e.scope==="global")return GP(t);let r=[],n=await B("cursor",t);return await wP(t,r,n),r.push(...await J(ld,t,"project",{normalize:n})),await ad(t,r,n),await jV(t,r),await sd(t,r),await id(t,r),r}var BP=d(()=>{dt();w();Et();Kr();bP();qy();t_();jP();Kt();e_();s(jV,"importMcp");s(UP,"importFromCursor");});var WP,HP,zP=d(()=>{j();ut();or();Kt();WP=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=b(e(n)),a=nr(o.allowedTools),l=a.length>0?a:nr(o["allowed-tools"]);return {destPath:n,toPath:`${Ms}/${t}`,content:await _t(n,{description:typeof o.description=="string"?o.description:"",hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),allowedTools:l,hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},i)}},"cursorCommandMapper"),HP=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=b(e(n));return {destPath:n,toPath:`${$s}/${t}`,content:await Vt(n,o,i)}},"cursorAgentMapper");});function VP(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(i=>({...i,target:kE}))}var JP=d(()=>{It();Kt();s(VP,"lintRules");});function YP(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>x(e.source,"cursor","Cursor command files are plain Markdown; command description and allowed-tools metadata are not projected."))}function XP(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(x(".agentsmesh/mcp.json","cursor",`MCP server "${r}" uses env vars or URL/header interpolation; Cursor handling may differ from canonical MCP.`));}return e}function ZP(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?[x(".agentsmesh/permissions.yaml","cursor","Cursor permissions are partial; tool-level allow/deny may lose fidelity.")]:[]}var QP=d(()=>{Lt();s(YP,"lintCommands");s(XP,"lintMcp");s(ZP,"lintPermissions");});var UV,BV,KV,WV,ld,e_=d(()=>{EP();Kt();ee();BP();zP();JP();Ct();QP();UV={name:"cursor",primaryRootInstructionPath:jo,generateRules:By,generateCommands:Ky,generateAgents:zy,generateSkills:Hy,generateMcp:Wy,generatePermissions:Vy,generateHooks:Jy,generateIgnore:Yy,importFrom:UP},BV={rootInstructionPath:jo,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[vs,Yr]}],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`}}},KV={rootInstructionPath:jo,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[vs,Yr]}],skillDir:me,managedOutputs:{dirs:[ur,dr,fr,me],files:[jo,Yr,$e,vn,Jr,Rl]},rewriteGeneratedPath(t){return t===vs?null:t===Yr||t===jo||t.startsWith(`${ur}/`)||t.startsWith(`${dr}/`)||t.startsWith(`${fr}/`)||t.startsWith(`${me}/`)||t===$e||t===vn||t===Jr?t:t===Cu?null:t},mirrorGlobalPath(t,e){return pt(t,me,e)},paths:{rulePath(t,e){return `${ur}/${t}.mdc`},commandPath(t,e){return `${dr}/${t}.md`},agentPath(t,e){return `${fr}/${t}.md`}}},WV={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},ld={id:"cursor",metadata:{displayName:"Cursor",category:"ide",officialUrl:"https://cursor.com",shortDescription:"AI-first code editor"},generators:UV,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:VP,lint:{commands:YP,mcp:XP,permissions:ZP},project:BV,globalSupport:{capabilities:WV,detectionPaths:[jo,Yr,$e,vn,Jr,me,fr,dr,Rl],layout:KV},importer:{commands:{feature:"commands",mode:"directory",source:{project:[dr]},canonicalDir:Ms,extensions:[".md"],map:WP},agents:{feature:"agents",mode:"directory",source:{project:[fr]},canonicalDir:$s,extensions:[".md"],map:HP}},buildImportPaths:Th,detectionPaths:[".cursor/rules",".cursor/mcp.json"],preservesManualActivation:true};});function qP(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes($n)),n=e?.body.trim()??"",o=lt(n,r);return o?[{path:gr,content:o}]:[]}function tT(t){return rt(t,pe)}function eT(t){return t.commands.map(e=>({path:`${pe}/${H(e.name)}/SKILL.md`,content:Nt(e)}))}function rT(t){return t.agents.map(e=>({path:`${pe}/${U(e.name)}/SKILL.md`,content:Tt(e)}))}function nT(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Uo,content:e}]}var oT=d(()=>{tt();Ut();mt();kt();Sl();s(qP,"generateRules");s(tT,"generateSkills");s(eT,"generateCommands");s(rT,"generateAgents");s(nT,"generateMcp");});async function sT(t,e={}){let r=e.scope??"project",n=[],o=await B($n,t,r);return n.push(...await J(cd,t,r,{normalize:o})),await q(t,r==="global"?Xr:pe,$n,n,o),n}var iT=d(()=>{dt();tt();Et();Sl();r_();s(sT,"importFromDeepagentsCli");});function aT(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:$n}))}var lT=d(()=>{It();Sl();s(aT,"lintRules");});function cT(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[x(".agentsmesh/hooks.yaml","deepagents-cli","Deep Agents CLI hooks are global-only (~/.deepagents/hooks.json); project-level canonical hooks are not projected.")]:[]:[]}function mT(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?[]:[x(".agentsmesh/permissions.yaml","deepagents-cli","Deep Agents CLI permissions are managed via shell allow-lists (--shell-allow-list); canonical permissions are not projected.")]}function pT(t){return t.ignore.length===0?[]:[x(".agentsmesh/ignore","deepagents-cli","Deep Agents CLI has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}var uT=d(()=>{Lt();s(cT,"lintHooks");s(mT,"lintPermissions");s(pT,"lintIgnore");});var HV,zV,VV,JV,YV,cd,r_=d(()=>{kt();mt();oT();iT();lT();uT();Ct();Sl();HV={name:$n,primaryRootInstructionPath:gr,generateRules:qP,generateCommands:eT,generateAgents:rT,generateSkills:tT,generateMcp:nT,importFrom:sT},zV={rootInstructionPath:gr,skillDir:pe,managedOutputs:{dirs:[pe],files:[gr,Uo]},paths:{rulePath(t){return gr},commandPath(t){return `${pe}/${H(t)}/SKILL.md`},agentPath(t){return `${pe}/${U(t)}/SKILL.md`}}},VV={rootInstructionPath:Bo,skillDir:Xr,managedOutputs:{dirs:[Xr],files:[Bo,Wi]},rewriteGeneratedPath(t){return t===gr?Bo:t===Uo?Wi:t.startsWith(`${pe}/`)?t.replace(`${pe}/`,`${Xr}/`):t},paths:{rulePath(t){return Bo},commandPath(t){return `${Xr}/${H(t)}/SKILL.md`},agentPath(t){return `${Xr}/${U(t)}/SKILL.md`}}},JV={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},YV={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},cd={id:$n,metadata:{displayName:"Deep Agents CLI",category:"cli",officialUrl:"https://github.com/langchain-ai/deepagents",shortDescription:"LangChain Deep Agents framework CLI"},generators:HV,capabilities:JV,emptyImportMessage:"No Deep Agents CLI config found (.deepagents/AGENTS.md, .deepagents/skills, or .mcp.json).",lintRules:aT,lint:{hooks:cT,permissions:mT,ignore:pT},supportsConversion:{commands:true,agents:true},project:zV,globalSupport:{capabilities:YV,detectionPaths:[Bo,Wi],layout:VV},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[gr],global:[Bo]},canonicalDir:AE,canonicalRootFilename:"_root.md",markAsRoot:true},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Uo],global:[Wi]},canonicalDir:".agentsmesh",canonicalFilename:"mcp.json"}},buildImportPaths:xh,detectionPaths:[gr,Uo]};});function dT(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),T(e,t.body.trim()||"")}var fT=d(()=>{j();s(dT,"serializeDroid");});function gT(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(hr)),n=e?.body.trim()??"",o=lt(n,r);return o?[{path:yr,content:o}]:[]}function hT(t){return rt(t,Le)}function yT(t){return t.commands.map(e=>({path:`${Le}/${H(e.name)}/SKILL.md`,content:Nt(e)}))}function _T(t){return t.agents.map(e=>({path:`${Gn}/${e.name}.md`,content:dT(e)}))}function RT(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:jn,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}var IT=d(()=>{tt();Ut();kt();fT();zi();s(gT,"generateRules");s(hT,"generateSkills");s(yT,"generateCommands");s(_T,"generateAgents");s(RT,"generateMcp");});async function CT(t,e,r){let n=await _(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.mcpServers;if(a==null||typeof a!="object"||Array.isArray(a)||Object.keys(a).length===0)return;let l={};for(let[c,m]of Object.entries(a))!m||typeof m!="object"||Array.isArray(m)||(l[c]=m);Object.keys(l).length!==0&&(await Bt(t,ST,l),r.push({fromTool:hr,fromPath:e,toPath:ST,feature:"mcp"}));}var ST,kT=d(()=>{w();Kr();zi();ST=".agentsmesh/mcp.json";s(CT,"importFactoryDroidMcp");});async function ET(t,e={}){let r=e.scope??"project",n=[],o=await B(hr,t,r);return n.push(...await J(md,t,r,{normalize:o})),await q(t,r==="global"?Un:Le,hr,n,o),await CT(t,r==="global"?Gs:jn,n),n}var LT=d(()=>{dt();tt();Et();kT();zi();n_();s(ET,"importFromFactoryDroid");});function OT(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:hr}))}var AT=d(()=>{It();zi();s(OT,"lintRules");});function wT(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[x(".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 bT(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?[]:[x(".agentsmesh/permissions.yaml","factory-droid","Factory Droid permissions are managed via CLI flags (--skip-permissions-unsafe); canonical permissions are not projected.")]}function PT(t){return t.ignore.length===0?[]:[x(".agentsmesh/ignore","factory-droid","Factory Droid has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}var TT=d(()=>{Lt();s(wT,"lintHooks");s(bT,"lintPermissions");s(PT,"lintIgnore");});var ZV,QV,qV,xT,md,n_=d(()=>{IT();zi();LT();AT();TT();Ct();kt();ZV={name:hr,primaryRootInstructionPath:yr,generateRules:gT,generateCommands:yT,generateAgents:_T,generateSkills:hT,generateMcp:RT,importFrom:ET},QV={rootInstructionPath:yr,skillDir:Le,managedOutputs:{dirs:[Le,Gn],files:[yr,jn]},paths:{rulePath(t){return yr},commandPath(t){return `${Le}/${H(t)}/SKILL.md`},agentPath(t){return `${Gn}/${t}.md`}}},qV={rootInstructionPath:Ko,skillDir:Un,managedOutputs:{dirs:[Un,Hi],files:[Ko,Gs]},rewriteGeneratedPath(t){return t===yr?Ko:t===jn?Gs:t.startsWith(`${Le}/`)?t.replace(`${Le}/`,`${Un}/`):t.startsWith(`${Gn}/`)?t.replace(`${Gn}/`,`${Hi}/`):t},paths:{rulePath(t){return Ko},commandPath(t){return `${Un}/${H(t)}/SKILL.md`},agentPath(t){return `${Hi}/${t}.md`}}},xT={rules:"native",additionalRules:"embedded",commands:"none",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},md={id:hr,metadata:{displayName:"Factory Droid",category:"agent-platform",officialUrl:"https://www.factory.ai",shortDescription:"Factory.ai's coding droid"},generators:ZV,capabilities:xT,emptyImportMessage:"No Factory Droid config found (AGENTS.md, .factory/skills, or .factory/mcp.json).",lintRules:OT,lint:{hooks:wT,permissions:bT,ignore:PT},supportsConversion:{commands:true},project:QV,globalSupport:{capabilities:xT,detectionPaths:[Ko,Gs,Hi],layout:qV},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[yr],global:[Ko]},canonicalDir:bE,canonicalRootFilename:"_root.md",markAsRoot:true}},buildImportPaths:Dh,detectionPaths:[yr,jn,Gn]};});var ai,br,co,DT,NT,He,pd,Oa,ud,Jm,li,FT,vT,ci,dd,Ym,Xm,o_,s_,tc,i_,ec,rc,fd,nc,Aa,Zm,Jt=d(()=>{ai="gemini-cli",br="GEMINI.md",co="AGENTS.md",DT=".gemini/rules",NT=".gemini/GEMINI.md",He=".gemini/commands",pd=".gemini/policies",Oa=".gemini/settings.json",ud=".geminiignore",Jm=".gemini/skills",li=".gemini/agents",FT=".gemini/system.md",vT=`${pd}/permissions.toml`,ci=".agentsmesh/rules",dd=".agentsmesh/commands",Ym=".agentsmesh/agents",Xm=".agentsmesh/skills",o_=".agentsmesh/mcp.json",s_=".agentsmesh/hooks.yaml",tc=".agentsmesh/ignore",i_=".agentsmesh/permissions.yaml",ec=".gemini/GEMINI.md",rc=".gemini/AGENTS.md",fd=".gemini/settings.json",nc=".gemini/commands",Aa=".gemini/skills",Zm=".gemini/agents";});function a_(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=lt(e?.body.trim()??"",r),o=[{path:br,content:n}];return e&&o.push({path:co,content:e.body.trim()}),o}var MT=d(()=>{Ut();Jt();s(a_,"generateRules");});function $T(t,e){let r=t.split(":").filter(Boolean),n=r.length>0?r.pop():t;return [e,...r,`${n}.toml`].join("/")}var GT=d(()=>{s($T,"canonicalCommandNameToGeminiTomlPath");});function t1(t){let e=t.replace(/\r\n/g,`
113
120
  `);return e.includes('"""')?JSON.stringify(e):`"""
114
121
  ${e}
115
- """`}function nW(t){return [`description = ${JSON.stringify(t.description||t.name)}`,`prompt = ${oW(t.body.trim()||"")}`].join(`
122
+ """`}function e1(t){return [`description = ${JSON.stringify(t.description||t.name)}`,`prompt = ${t1(t.body.trim()||"")}`].join(`
116
123
  `)+`
117
- `}function py(t){return t.commands.map(e=>({path:MT(e.name,Me),content:nW(e)}))}var jT=u(()=>{Wt();$T();s(oW,"serializeTomlMultilineLiteral");s(nW,"serializeGeminiCommand");s(py,"generateCommands");});function uy(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:`${Qs}/${e.name}.md`,content:o}})}var UT=u(()=>{M();Wt();s(uy,"generateAgents");});function dy(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:`${Im}/${r.name}/SKILL.md`,content:n});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${Im}/${r.name}/${a}`,content:i.content});}}return e}var KT=u(()=>{M();Wt();s(dy,"generateSkills");});function sW(t){switch(t){case "PreToolUse":return "BeforeTool";case "PostToolUse":return "AfterTool";case "Notification":return "Notification";default:return null}}function gy(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=sW(n);if(!a||!Array.isArray(i))return [];let c=i.filter(l=>typeof l=="object"&&l!==null&&dn(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:[Sr,en]}),Object.keys(e).length===0?[]:[{path:ha,content:JSON.stringify(e,null,2)}]}var fy=u(()=>{br();Wt();s(sW,"mapHookEvent");s(gy,"generateGeminiSettingsFiles");});function hy(t){return !t.ignore||t.ignore.length===0?[]:[{path:Fu,content:t.ignore.join(`
118
- `)}]}var BT=u(()=>{Wt();s(hy,"generateIgnore");});var WT=u(()=>{GT();jT();UT();KT();fy();BT();});var HT=u(()=>{WT();});function _a(t){return JSON.stringify(t)}function iW(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function aW(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 Mu(t,e,r){return ["[[rule]]",`decision = ${_a(t)}`,`priority = ${e}`,...r,""].join(`
119
- `)}function zT(t,e,r){let o=aW(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 Mu(e,r,[`toolName = ${_a(i)}`])}if(o.kind==="bash"){let i=o.prefix.replace(/:\*$/u,"").replace(/\*$/u,"").trim();return Mu(e,r,[`toolName = ${_a(n.Bash)}`,`commandPrefix = ${_a(i)}`])}return o.kind==="read"?Mu(e,r,[`toolName = ${_a(n.Read)}`,`argsPattern = ${_a(iW(o.path))}`]):Mu(e,r,[`toolName = ${_a(o.raw)}`])}function VT(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=zT(i,"allow",100+a);c&&n.push(c);}),r.forEach((i,a)=>{let c=zT(i,"deny",200+a);c&&n.push(c);}),n.length===0?[]:[{path:vT,content:n.join(`
120
- `)}]}var JT=u(()=>{Wt();s(_a,"escapeTomlBasicString");s(iW,"escapeRegexLiteral");s(aW,"parsePermissionExpr");s(Mu,"ruleForDecision");s(zT,"permissionExprToGeminiRule");s(VT,"generateGeminiPermissionsPolicies");});function yy(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 $u(t){let e=t.indexOf("---"),r=t.indexOf("+++");if(e===0&&(r===-1||e<=r))return w(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 _y=u(()=>{M();s(yy,"mapGeminiHookEvent");s($u,"parseFlexibleFrontmatter");});async function Iy(t,e){let r=join(t,ha),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,ay);await L(join(t,".agentsmesh")),await I(l,JSON.stringify({mcpServers:i},null,2)),e.push({fromTool:"gemini-cli",fromPath:r,toPath:ay,feature:"mcp"});}let a=n.ignorePatterns;if(Array.isArray(a)&&a.length>0&&a.every(l=>typeof l=="string")){let l=join(t,Fc);await L(join(t,".agentsmesh")),await I(l,a.join(`
124
+ `}function l_(t){return t.commands.map(e=>({path:$T(e.name,He),content:e1(e)}))}var jT=d(()=>{Jt();GT();s(t1,"serializeTomlMultilineLiteral");s(e1,"serializeGeminiCommand");s(l_,"generateCommands");});function c_(t){return t.agents.map(e=>{let r={name:e.name,kind:"local",description:e.description||void 0,tools:e.tools.length>0?e.tools:void 0,model:e.model||void 0,maxTurns:e.maxTurns>0?e.maxTurns:void 0,permissionMode:e.permissionMode||void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=T(r,e.body.trim()||"");return {path:`${li}/${e.name}.md`,content:n}})}var UT=d(()=>{j();Jt();s(c_,"generateAgents");});function m_(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=T(n,r.body.trim()||"");e.push({path:`${Jm}/${r.name}/SKILL.md`,content:o});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${Jm}/${r.name}/${a}`,content:i.content});}}return e}var BT=d(()=>{j();Jt();s(m_,"generateSkills");});function r1(t){switch(t){case "PreToolUse":return "BeforeTool";case "PostToolUse":return "AfterTool";case "Notification":return "Notification";default:return null}}function p_(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=r1(o);if(!a||!Array.isArray(i))return [];let l=i.filter(c=>typeof c=="object"&&c!==null&&ko(c)).map((c,m)=>({matcher:c.matcher,hooks:[{name:`${a}-${m+1}`,type:"command",command:zt(c),timeout:c.timeout}]}));return l.length>0?[[a,l]]:[]});n.length>0&&(e.hooks=Object.fromEntries(n),r=true);}return r&&(e.context={fileName:[br,co]}),Object.keys(e).length===0?[]:[{path:Oa,content:JSON.stringify(e,null,2)}]}var u_=d(()=>{Mr();Jt();s(r1,"mapHookEvent");s(p_,"generateGeminiSettingsFiles");});function d_(t){return !t.ignore||t.ignore.length===0?[]:[{path:ud,content:t.ignore.join(`
125
+ `)}]}var KT=d(()=>{Jt();s(d_,"generateIgnore");});var WT=d(()=>{MT();jT();UT();BT();u_();KT();});var HT=d(()=>{WT();});function wa(t){return JSON.stringify(t)}function n1(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function o1(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 gd(t,e,r){return ["[[rule]]",`decision = ${wa(t)}`,`priority = ${e}`,...r,""].join(`
126
+ `)}function zT(t,e,r){let n=o1(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 gd(e,r,[`toolName = ${wa(i)}`])}if(n.kind==="bash"){let i=n.prefix.replace(/:\*$/u,"").replace(/\*$/u,"").trim();return gd(e,r,[`toolName = ${wa(o.Bash)}`,`commandPrefix = ${wa(i)}`])}return n.kind==="read"?gd(e,r,[`toolName = ${wa(o.Read)}`,`argsPattern = ${wa(n1(n.path))}`]):gd(e,r,[`toolName = ${wa(n.raw)}`])}function VT(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 l=zT(i,"allow",100+a);l&&o.push(l);}),r.forEach((i,a)=>{let l=zT(i,"deny",200+a);l&&o.push(l);}),o.length===0?[]:[{path:vT,content:o.join(`
127
+ `)}]}var JT=d(()=>{Jt();s(wa,"escapeTomlBasicString");s(n1,"escapeRegexLiteral");s(o1,"parsePermissionExpr");s(gd,"ruleForDecision");s(zT,"permissionExprToGeminiRule");s(VT,"generateGeminiPermissionsPolicies");});function f_(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 hd(t){let e=t.indexOf("---"),r=t.indexOf("+++");if(e===0&&(r===-1||e<=r))return b(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 g_=d(()=>{j();s(f_,"mapGeminiHookEvent");s(hd,"parseFlexibleFrontmatter");});async function h_(t,e){let r=join(t,Oa),n=await _(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 c=join(t,o_);await O(join(t,".agentsmesh")),await I(c,JSON.stringify({mcpServers:i},null,2)),e.push({fromTool:"gemini-cli",fromPath:r,toPath:o_,feature:"mcp"});}let a=o.ignorePatterns;if(Array.isArray(a)&&a.length>0&&a.every(c=>typeof c=="string")){let c=join(t,tc);await O(join(t,".agentsmesh")),await I(c,a.join(`
121
128
  `)+`
122
- `),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Fc,feature:"ignore"});}let c=n.hooks;if(c!==void 0&&typeof c=="object"&&c!==null){let l=Object.entries(c).flatMap(([m,p])=>{let d=yy(m);if(!d||!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"&&dn(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"&&dn(h)).map(h=>({matcher:h.matcher,command:Kt(h),type:"command"}));return f.length>0?[[d,f]]:[]}return g.length>0?[[d,g]]:[]});if(l.length>0){let m=Object.fromEntries(l),p=join(t,cy);await L(join(t,".agentsmesh")),await I(p,stringify(m,{lineWidth:0}).trimEnd()),e.push({fromTool:"gemini-cli",fromPath:r,toPath:cy,feature:"hooks"});}}}var YT=u(()=>{br();T();Wt();_y();s(Iy,"importGeminiSettings");});async function XT(t,e){let r=join(t,Fu),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,Fc);await I(i,n.join(`
129
+ `),e.push({fromTool:"gemini-cli",fromPath:r,toPath:tc,feature:"ignore"});}let l=o.hooks;if(l!==void 0&&typeof l=="object"&&l!==null){let c=Object.entries(l).flatMap(([m,p])=>{let u=f_(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"&&ko(h)).map(h=>({matcher:g.matcher,command:zt(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"&&ko(h)).map(h=>({matcher:h.matcher,command:zt(h),type:"command"}));return g.length>0?[[u,g]]:[]}return f.length>0?[[u,f]]:[]});if(c.length>0){let m=Object.fromEntries(c),p=join(t,s_);await O(join(t,".agentsmesh")),await I(p,stringify(m,{lineWidth:0}).trimEnd()),e.push({fromTool:"gemini-cli",fromPath:r,toPath:s_,feature:"hooks"});}}}var YT=d(()=>{Mr();w();Jt();g_();s(h_,"importGeminiSettings");});async function XT(t,e){let r=join(t,ud),n=await _(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,tc);await I(i,o.join(`
123
130
  `)+`
124
- `),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Fc,feature:"ignore"});}}}var Sy=u(()=>{T();Wt();_y();YT();s(XT,"importGeminiIgnore");});function uW(t){return t.replace(/\\(.)/g,"$1")}function dW(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 gW(t){return `Bash(${t}:*)`}function fW(t){return `Read(${uW(t)})`}async function ZT(t){let e=[],r=join(t,Nu),o;try{o=await N(r);}catch{return e}let n=o.filter(d=>d.endsWith(".toml"));if(n.length===0)return e;let i=[],a=[],c=new Set,l=new Set;for(let d of n){let g=await y(d);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,E=typeof R.toolName=="string"?R.toolName:null,A=typeof R.decision=="string"?R.decision:null;if(!E||!A)continue;let F=dW(E);if(!F)continue;let v=null;F==="Bash"?typeof R.commandPrefix=="string"&&R.commandPrefix.trim()&&(v=gW(R.commandPrefix.trim())):F==="Read"?typeof R.argsPattern=="string"&&R.argsPattern.trim()?v=fW(R.argsPattern.trim()):v="Read":v=F,v&&(A==="allow"?c.has(v)||(c.add(v),i.push(v)):A==="deny"&&(l.has(v)||(l.add(v),a.push(v))));}}if(i.length===0&&a.length===0)return e;await L(join(t,".agentsmesh"));let m=join(t,ly),p=stringify({allow:i,deny:a});return await I(m,p.trimEnd()+`
125
- `),e.push({fromTool:Zs,fromPath:join(t,Nu),toPath:ly,feature:"permissions"}),e}var QT=u(()=>{T();Wt();s(uW,"unescapeRegexLiteral");s(dW,"toolNameToPermissionBase");s(gW,"commandPrefixToBashExpr");s(fW,"argsPatternToReadExpr");s(ZT,"importGeminiPolicies");});function Cy(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 tb=u(()=>{s(Cy,"stripProjectRootCanonicalPrefix");});async function rb(t,e,r){let o=join(t,Im),i=(await N(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=w(l),d=Wa(p.frontmatter,m);if(d){let A=join(t,Rm);await L(A);let F=join(A,`${d.name}.md`);await I(F,fs(d,r(p.body,c,F))),e.push({fromTool:"gemini-cli",fromPath:c,toPath:`${Rm}/${d.name}.md`,feature:"agents"});continue}let g=join(t,Sm,m,"SKILL.md"),f=r(l,c,g),h=join(t,Sm,m);await L(h);let{frontmatter:O,body:R}=w(f);await I(g,await uo(g,{...O,name:m},R)),e.push({fromTool:"gemini-cli",fromPath:c,toPath:`${Sm}/${m}/SKILL.md`,feature:"skills"});let E=await N(dirname(c));for(let A of E){if(A===c)continue;let F=await y(A);if(F===null)continue;let v=relative(dirname(c),A).replace(/\\/g,"/"),G=join(h,v);await L(dirname(G)),await I(G,r(F,A,G)),e.push({fromTool:"gemini-cli",fromPath:A,toPath:`${Sm}/${m}/${v}`,feature:"skills"});}}let a=join(t,Qs);try{let l=(await N(a)).filter(m=>m.endsWith(".md"));for(let m of l){let p=await y(m);if(!p)continue;let{frontmatter:d,body:g}=w(p),h=relative(a,m).replace(/\\/g,"/").replace(/\.md$/i,".md"),O=join(t,Rm);await L(O);let R=join(O,h),E=r(g,m,R);await I(R,await Bt(R,{...d,name:typeof d.name=="string"?d.name:basename(h,".md"),maxTurns:d.maxTurns??d["max-turns"]??d.max_turns,permissionMode:d.permissionMode??d["permission-mode"]??d.permission_mode,disallowedTools:d.disallowedTools??d["disallowed-tools"]??d.disallowed_tools},E)),e.push({fromTool:"gemini-cli",fromPath:m,toPath:`${Rm}/${h}`,feature:"agents"});}}catch{}}var ob=u(()=>{T();M();lt();at();Wt();s(rb,"importGeminiSkillsAndAgents");});async function hW(t,e,r){let o=await U("codex-cli",t),n=join(t,qs),i=join(t,en),a=join(t,NT),c=[i,a,join(t,Sr),join(t,FT)],l=null,m=c[c.length-1];for(let v of c){let G=await y(v);if(G!==null){l=G,m=v;break}}if(l===null)return;await L(n);let p=join(n,"_root.md"),d=m===i||m===a?o(l,m,p):l,g=await Xo({content:d,projectRoot:t,rulesDir:qs,sourcePath:m,fromTool:Zs,normalize:r});e.push(...g.results);let f=r(g.rootContent,m,p),h=Cy(f.replace(/\.agents\/skills\//g,".agentsmesh/skills/").replace(/\.agents\\skills\\/g,".agentsmesh/skills/"),t),{frontmatter:O,body:R}=w(h),A=O.root===true?O:{...O,root:true},F=Cy(await K(p,A,R),t);await I(p,F),e.push({fromTool:Zs,fromPath:m,toPath:`${qs}/_root.md`,feature:"rules"});}async function Uu(t){let e=[],r=await U(Zs,t);return await hW(t,e,r),e.push(...await z(Ku,t,"project",{normalize:r})),await rb(t,e,r),await Iy(t,e),await XT(t,e),e.push(...await ZT(t)),e}var Ly=u(()=>{mt();T();M();lt();Ac();Ct();Wt();Ay();Sy();QT();tb();ob();s(hW,"importRootRule");s(Uu,"importFromGemini");});async function sb(t,e,r){let o=t.replace(/\\/g,"/"),n=join(e,o),{frontmatter:i,body:a}=$u(r(n)),c=yn(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:`${qs}/${o}`,feature:"rules",content:await K(n,l,a)}}async function ib(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")?_W(i):$u(i),l=Ze(a.allowedTools),m=Ze(a["allowed-tools"]),p=l.length>0?l:m;return {destPath:n,toPath:`${vu}/${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 _W(t){try{let e=parse$1(t);return {frontmatter:e,body:typeof e.prompt=="string"?e.prompt:""}}catch{return {frontmatter:{},body:t.trim()}}}var ab=u(()=>{lt();Qe();Sy();Wt();s(sb,"mapGeminiRuleFile");s(ib,"mapGeminiCommandFile");s(_W,"parseTomlCommand");});var cb,lb,mb=u(()=>{ab();cb=s(({relativePath:t,destDir:e,normalizeTo:r})=>sb(t,e,r),"geminiRuleMapper"),lb=s(({relativePath:t,destDir:e,normalizeTo:r})=>ib(t,e,r),"geminiCommandMapper");});function pb(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(i=>({...i,target:Zs}))}var ub=u(()=>{_t();Wt();s(pb,"lintRules");});function db(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 gb(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=>_s(o,"gemini-cli",e))}var fb=u(()=>{Et();s(db,"lintCommands");s(gb,"lintHooks");});function hb(t,e){return e==="project"&&ti("gemini-cli",e)?.ignore.flavor!=="settings-embedded"?[]:gy(t)}var yb=u(()=>{xt();fy();s(hb,"emitScopedGeminiSettings");});var IW,RW,SW,CW,Ku,Ay=u(()=>{HT();_i();JT();Wt();Ly();mb();ub();Rt();Ua();at();fb();yb();Qt();Cu();IW={name:"gemini-cli",primaryRootInstructionPath:Sr,generateRules:my,generateCommands:py,generateAgents:uy,generateSkills:dy,generateIgnore:hy,generatePermissions:VT,importFrom:Uu},RW={rootInstructionPath:Sr,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[en]}],extraRuleOutputPaths(){return [en]},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 Sr},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`:`${Qs}/${t}.md`}}},SW={rootInstructionPath:vc,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[Gc]}],extraRuleOutputPaths(){return [Gc]},skillDir:ya,managedOutputs:{dirs:[Mc,ya,Cm],files:[vc,Gc,Gu]},rewriteGeneratedPath(t){return t===Sr?vc:t===en?Gc:t===ha?Gu:t.startsWith(`${Me}/`)?t.replace(`${Me}/`,`${Mc}/`):t.startsWith(".gemini/skills/")?t.replace(".gemini/skills/",`${ya}/`):t.startsWith(`${Qs}/`)?t.replace(`${Qs}/`,`${Cm}/`):t.startsWith(".gemini/policies/")||t===".geminiignore"?null:t},mirrorGlobalPath(t,e){return ct(t,ya,e)},paths:{rulePath(t,e){return vc},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),o=r.pop()??t;return `${Mc}/${r.join("/")}/${o}.toml`}return `${Mc}/${t}.toml`},agentPath(t,e){return Ve(e,"gemini-cli")?`${ya}/${$(t)}/SKILL.md`:`${Cm}/${t}.md`}}},CW={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:"none",permissions:"none"},Ku={id:"gemini-cli",metadata:{displayName:"Gemini CLI",category:"cli",officialUrl:"https://github.com/google-gemini/gemini-cli",shortDescription:"Google's terminal Gemini agent"},generators:IW,capabilities:{rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:Dr("native","settings-embedded"),permissions:"partial"},emptyImportMessage:"No Gemini CLI config found (GEMINI.md or .gemini/rules, .gemini/commands, .gemini/settings.json).",lintRules:pb,lint:{commands:db,hooks:gb},emitScopedSettings:hb,mergeGeneratedOutputContent(t,e,r,o){let n=e?.content??t;return n!==null&&o===ha?gw(n,r):null},project:RW,globalSupport:{capabilities:CW,detectionPaths:[vc,Gc,Gu,Mc,ya,Cm],layout:SW},importer:{rules:{feature:"rules",mode:"directory",source:{project:[DT]},canonicalDir:qs,extensions:[".md"],map:cb},commands:{feature:"commands",mode:"directory",source:{project:[Me]},canonicalDir:vu,extensions:[".md",".toml"],map:lb}},buildImportPaths:Df,detectionPaths:["GEMINI.md",".gemini"]};});function _b(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(No)),o=e?.body.trim()??"",n=st(o,r);return n?[{path:mr,content:n}]:[]}function Ib(t){return tt(t,pe)}function Rb(t){return t.commands.map(e=>({path:`${pe}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function Sb(t){return t.agents.map(e=>({path:`${pe}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function Cb(t){return t.ignore.length===0?[]:[{path:Fn,content:t.ignore.join(`
126
- `)}]}var Eb=u(()=>{Q();Mt();at();St();oc();s(_b,"generateRules");s(Ib,"generateSkills");s(Rb,"generateCommands");s(Sb,"generateAgents");s(Cb,"generateIgnore");});async function Ob(t,e={}){let r=e.scope??"project",o=[],n=await U(No,t,r);return o.push(...await z(Bu,t,r,{normalize:n})),await Z(t,r==="global"?pr:pe,No,o,n),o}var Lb=u(()=>{mt();Q();Ct();oc();ky();s(Ob,"importFromGoose");});function Ab(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:No}))}var kb=u(()=>{_t();oc();s(Ab,"lintRules");});function wb(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 Tb(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 bb(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 Pb=u(()=>{Et();s(wb,"lintHooks");s(Tb,"lintPermissions");s(bb,"lintMcp");});var EW,OW,LW,xb,Bu,ky=u(()=>{St();at();Eb();Qt();Lb();kb();Pb();Rt();oc();EW={name:No,primaryRootInstructionPath:mr,generateRules:_b,generateCommands:Rb,generateAgents:Sb,generateSkills:Ib,generateIgnore:Cb,importFrom:Ob},OW={rootInstructionPath:mr,skillDir:pe,managedOutputs:{dirs:[pe],files:[mr,Fn]},paths:{rulePath(t){return mr},commandPath(t){return `${pe}/${W(t)}/SKILL.md`},agentPath(t){return `${pe}/${$(t)}/SKILL.md`}}},LW={rootInstructionPath:vn,skillDir:pr,managedOutputs:{dirs:[pr],files:[vn,Gi]},rewriteGeneratedPath(t){return t===mr?vn:t===Fn?Gi:(t.startsWith(`${pe}/`),t)},mirrorGlobalPath(t,e){return ct(t,pr,e)},paths:{rulePath(t){return vn},commandPath(t){return `${pr}/${W(t)}/SKILL.md`},agentPath(t){return `${pr}/${$(t)}/SKILL.md`}}},xb={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"native",permissions:"none"},Bu={id:No,metadata:{displayName:"Goose",category:"cli",officialUrl:"https://block.github.io/goose",shortDescription:"Block's open-source AI agent"},generators:EW,capabilities:xb,emptyImportMessage:"No Goose config found (.goosehints, .agents/skills, or .gooseignore).",lintRules:Ab,lint:{hooks:wb,permissions:Tb,mcp:bb},supportsConversion:{commands:true,agents:true},project:OW,globalSupport:{capabilities:xb,detectionPaths:[vn,Gi,pr],layout:LW},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[mr],global:[vn]},canonicalDir:ZC,canonicalRootFilename:"_root.md",markAsRoot:true},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Fn],global:[Gi]},canonicalDir:".agentsmesh",canonicalFilename:QC}},sharedArtifacts:{".agents/skills/":"consumer"},buildImportPaths:Nf,detectionPaths:[mr,Fn]};});function Db(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(Gn)),o=e?.body.trim()??"",n=st(o,r);return n?[{path:Kr,content:n}]:[]}var Nb=u(()=>{Mt();nc();s(Db,"generateRules");});async function Fb(t,e={}){let r=e.scope??"project",o=await U(Gn,t,r);return z(Wu,t,r,{normalize:o})}var vb=u(()=>{mt();Ct();nc();wy();s(Fb,"importFromJules");});function Gb(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Gn}))}var Mb=u(()=>{_t();nc();s(Gb,"lintRules");});function $b(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 jb(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 Ub(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 Kb(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 Bb(t){return t.commands.length===0?[]:[b(".agentsmesh/commands","jules","Jules has no command system; canonical commands are not projected.")]}var Wb=u(()=>{Et();s($b,"lintHooks");s(jb,"lintPermissions");s(Ub,"lintIgnore");s(Kb,"lintMcp");s(Bb,"lintCommands");});var AW,kW,wW,Wu,wy=u(()=>{Nb();vb();Mb();Wb();Rt();nc();AW={name:Gn,primaryRootInstructionPath:Kr,generateRules:Db,importFrom:Fb},kW={rootInstructionPath:Kr,managedOutputs:{dirs:[],files:[Kr]},paths:{rulePath(t){return Kr},commandPath(){return null},agentPath(){return null}}},wW={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"none",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},Wu={id:Gn,metadata:{displayName:"Jules",category:"agent-platform",officialUrl:"https://jules.google",shortDescription:"Google's autonomous coding agent"},generators:AW,capabilities:wW,emptyImportMessage:"No Jules config found (AGENTS.md).",lintRules:Gb,lint:{hooks:$b,permissions:jb,ignore:Ub,mcp:Kb,commands:Bb},project:kW,importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[Kr]},canonicalDir:tE,canonicalRootFilename:"_root.md",markAsRoot:true}},buildImportPaths:Ff,detectionPaths:[Kr]};});function Hb(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:Fo,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:`${Vl}/${n}.md`,content:o.body.trim()||""});}return e}function bW(t){let e={};return t.description&&(e.description=t.description),t.type!=="stdio"&&(e.type=t.type),au(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 zb(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,bW(o)]));return [{path:zl,content:JSON.stringify({mcpServers:e},null,2)}]}function Vb(t){return t.commands.map(e=>{let r={description:e.description||void 0};return r.description===void 0&&delete r.description,{path:`${sc}/${e.name}.md`,content:P(r,e.body.trim()||"")}})}function Jb(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:`${ic}/${e.name}.md`,content:P(r,e.body.trim()||"")}})}function Yb(t){return t.ignore.length===0?[]:[{path:Jl,content:t.ignore.join(`
127
- `)}]}function Xb(t){return tt(t,$i)}function Zb(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 st(e?.body.trim()??"",r)}var Qb=u(()=>{cu();Q();Mt();M();ac();s(Hb,"generateRules");s(bW,"toJunieMcpServer");s(zb,"generateMcp");s(Vb,"generateCommands");s(Jb,"generateAgents");s(Yb,"generateIgnore");s(Xb,"generateSkills");s(Zb,"renderJunieGlobalInstructions");});async function PW(t,e,r){let o=[Fo,jp,rE,oE],n=join(t,vf);for(let i of o){let a=join(t,i),c=await y(a);if(c===null)continue;let l=await Xo({content:c,projectRoot:t,rulesDir:Kp,sourcePath:a,fromTool:Mi,normalize:r});e.push(...l.results);let{frontmatter:m,body:p}=w(r(l.rootContent,a,n)),d=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 I(n,d),e.push({fromTool:Mi,fromPath:a,toPath:vf,feature:"rules"});return}}async function Hu(t){let e=[],r=await U(Mi,t);return await PW(t,e,r),e.push(...await z(zu,t,"project",{normalize:r})),await Z(t,$i,Mi,e,r),e}var Ty=u(()=>{mt();T();M();Q();Ac();lt();Ct();ac();by();s(PW,"importRootRule");s(Hu,"importFromJunie");});function tP(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Mi}))}var eP=u(()=>{_t();ac();s(tP,"lintRules");});function rP(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,o]of Object.entries(t.mcp.mcpServers))hA(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 oP=u(()=>{cu();Et();s(rP,"lintMcp");});var xW,DW,NW,FW,zu,by=u(()=>{Qb();ac();Qt();Ty();eP();oP();Rt();xW={name:"junie",primaryRootInstructionPath:Fo,generateRules:Hb,generateCommands:Vb,generateAgents:Jb,generateSkills:Xb,generateMcp:zb,generateIgnore:Yb,importFrom:Hu},DW={rootInstructionPath:Fo,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 `${Vl}/${t}.md`},commandPath(t,e){return `${sc}/${t}.md`},agentPath(t,e){return `${ic}/${t}.md`}}},NW={rootInstructionPath:ji,renderPrimaryRootInstruction:Zb,skillDir:Xl,managedOutputs:{dirs:[Xl,Zl,Ql,nE],files:[ji,Up]},rewriteGeneratedPath(t){return t===Fo?ji:t.startsWith(`${Vl}/`)?ji:t.startsWith(`${$i}/`)?t.replace(`${$i}/`,`${Xl}/`):t.startsWith(`${sc}/`)?t.replace(`${sc}/`,`${Ql}/`):t.startsWith(`${ic}/`)?t.replace(`${ic}/`,`${Zl}/`):t===zl?Up:t===Jl?null:t},mirrorGlobalPath(t,e){return ct(t,".junie/skills",e)},paths:{rulePath(t,e){return ji},commandPath(t,e){return `${Ql}/${t}.md`},agentPath(t,e){return `${Zl}/${t}.md`}}},FW={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},zu={id:"junie",metadata:{displayName:"Junie",category:"ide",officialUrl:"https://www.jetbrains.com/junie",shortDescription:"JetBrains AI coding agent"},generators:xW,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:tP,lint:{mcp:rP},project:DW,globalSupport:{capabilities:FW,detectionPaths:[ji,Xl,Zl,Ql,Up],layout:NW},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:sE,extensions:[".md"],preset:"command"},agents:{feature:"agents",mode:"directory",source:{project:[".junie/agents"]},canonicalDir:iE,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[zl]},canonicalDir:".agentsmesh",canonicalFilename:aE},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Jl]},canonicalDir:".agentsmesh",canonicalFilename:cE}},buildImportPaths:Gf,detectionPaths:[".junie/guidelines.md",".junie/AGENTS.md",".junie/skills",".junie/mcp/mcp.json",".aiignore"]};});function sP(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:vo,content:r.body.trim()?r.body:""});for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes(ue))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:`${Mn}/${n}.md`,content:a});}return e}function iP(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${$n}/${e.name}.md`,content:P(r,e.body.trim()||"")}})}function aP(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:`${jn}/${r}.md`,content:P(o,e.body.trim()||"")}})}function cP(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Ps,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function lP(t){return t.ignore.length===0?[]:[{path:cc,content:t.ignore.join(`
128
- `)}]}function mP(t){return tt(t,Br)}var pP=u(()=>{Q();M();Vi();s(sP,"generateRules");s(iP,"generateCommands");s(aP,"generateAgents");s(cP,"generateMcp");s(lP,"generateIgnore");s(mP,"generateSkills");});var Vu,Ju,uP,xy=u(()=>{M();lt();Vi();Vu=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=w(e(o));return {destPath:o,toPath:`${Ns}/${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"),Ju=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=w(e(o));return {destPath:o,toPath:`${uc}/${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"),uP=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=w(e(o));return {destPath:o,toPath:`${zi}/${t}`,content:await Bt(o,n,i)}},"kiloAgentMapper");});async function dP(t){try{return await stat(t),!0}catch{return false}}async function MW(t,e,r){let o=join(t,Ui);if(!await dP(o))return;let n=join(t,Ns),i=join(o,Ny),c=e.some(l=>l.toPath===Dy)?null:await y(i);if(c!==null){let l=join(t,Dy),m=r(c,i,l),{body:p}=w(m),d=await K(l,{root:true},p);await I(l,d),e.push({feature:"rules",fromTool:ue,fromPath:`${Ui}/${Ny}`,toPath:Dy});}e.push(...await yt({srcDir:o,destDir:n,extensions:[".md"],fromTool:ue,normalize:r,mapEntry:s(async({srcPath:l,relativePath:m,content:p,normalizeTo:d})=>{let g=await Vu({absolutePath:l,relativePath:m,content:p,destDir:n,normalizeTo:d});return m===Ny||!g?null:{...g,feature:"rules"}},"mapEntry")}));}async function $W(t,e,r){let o=join(t,lc);if(!await dP(o))return;let n=join(t,uc);e.push(...await yt({srcDir:o,destDir:n,extensions:[".md"],fromTool:ue,normalize:r,mapEntry:s(async({srcPath:i,relativePath:a,content:c,normalizeTo:l})=>{let m=await Ju({absolutePath:i,relativePath:a,content:c,destDir:n,normalizeTo:l});return m?{...m,feature:"commands"}:null},"mapEntry")}));}async function jW(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,zi,`${l}.md`),p=typeof c.description=="string"?c.description:"",d=typeof c.roleDefinition=="string"?c.roleDefinition.trim():"",g=typeof c.whenToUse=="string"?c.whenToUse.trim():"",f=g?`${d}
131
+ `),e.push({fromTool:"gemini-cli",fromPath:r,toPath:tc,feature:"ignore"});}}}var __=d(()=>{w();Jt();g_();YT();s(XT,"importGeminiIgnore");});function c1(t){return t.replace(/\\(.)/g,"$1")}function m1(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 p1(t){return `Bash(${t}:*)`}function u1(t){return `Read(${c1(t)})`}async function ZT(t){let e=[],r=join(t,pd),n;try{n=await v(r);}catch{return e}let o=n.filter(u=>u.endsWith(".toml"));if(o.length===0)return e;let i=[],a=[],l=new Set,c=new Set;for(let u of o){let f=await _(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 C=R,S=typeof C.toolName=="string"?C.toolName:null,k=typeof C.decision=="string"?C.decision:null;if(!S||!k)continue;let P=m1(S);if(!P)continue;let N=null;P==="Bash"?typeof C.commandPrefix=="string"&&C.commandPrefix.trim()&&(N=p1(C.commandPrefix.trim())):P==="Read"?typeof C.argsPattern=="string"&&C.argsPattern.trim()?N=u1(C.argsPattern.trim()):N="Read":N=P,N&&(k==="allow"?l.has(N)||(l.add(N),i.push(N)):k==="deny"&&(c.has(N)||(c.add(N),a.push(N))));}}if(i.length===0&&a.length===0)return e;await O(join(t,".agentsmesh"));let m=join(t,i_),p=stringify({allow:i,deny:a});return await I(m,p.trimEnd()+`
132
+ `),e.push({fromTool:ai,fromPath:join(t,pd),toPath:i_,feature:"permissions"}),e}var QT=d(()=>{w();Jt();s(c1,"unescapeRegexLiteral");s(m1,"toolNameToPermissionBase");s(p1,"commandPrefixToBashExpr");s(u1,"argsPatternToReadExpr");s(ZT,"importGeminiPolicies");});function R_(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 tx=d(()=>{s(R_,"stripProjectRootCanonicalPrefix");});async function rx(t,e,r){let n=join(t,Jm),i=(await v(n)).filter(l=>basename(l)==="SKILL.md");for(let l of i){let c=await _(l);if(!c)continue;let m=basename(l.slice(0,-9)),p=b(c),u=al(p.frontmatter,m);if(u){let k=join(t,Ym);await O(k);let P=join(k,`${u.name}.md`);await I(P,Os(u,r(p.body,l,P))),e.push({fromTool:"gemini-cli",fromPath:l,toPath:`${Ym}/${u.name}.md`,feature:"agents"});continue}let f=join(t,Xm,m,"SKILL.md"),g=r(c,l,f),h=join(t,Xm,m);await O(h);let{frontmatter:R,body:C}=b(g);await I(f,await Cn(f,{...R,name:m},C)),e.push({fromTool:"gemini-cli",fromPath:l,toPath:`${Xm}/${m}/SKILL.md`,feature:"skills"});let S=await v(dirname(l));for(let k of S){if(k===l)continue;let P=await _(k);if(P===null)continue;let N=relative(dirname(l),k).replace(/\\/g,"/"),F=join(h,N);await O(dirname(F)),await I(F,r(P,k,F)),e.push({fromTool:"gemini-cli",fromPath:k,toPath:`${Xm}/${m}/${N}`,feature:"skills"});}}let a=join(t,li);try{let c=(await v(a)).filter(m=>m.endsWith(".md"));for(let m of c){let p=await _(m);if(!p)continue;let{frontmatter:u,body:f}=b(p),h=relative(a,m).replace(/\\/g,"/").replace(/\.md$/i,".md"),R=join(t,Ym);await O(R);let C=join(R,h),S=r(f,m,C);await I(C,await Vt(C,{...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:`${Ym}/${h}`,feature:"agents"});}}catch{}}var nx=d(()=>{w();j();ut();mt();Jt();s(rx,"importGeminiSkillsAndAgents");});async function d1(t,e,r){let n=await B("codex-cli",t),o=join(t,ci),i=join(t,co),a=join(t,NT),l=[i,a,join(t,br),join(t,FT)],c=null,m=l[l.length-1];for(let N of l){let F=await _(N);if(F!==null){c=F,m=N;break}}if(c===null)return;await O(o);let p=join(o,"_root.md"),u=m===i||m===a?n(c,m,p):c,f=await oo({content:u,projectRoot:t,rulesDir:ci,sourcePath:m,fromTool:ai,normalize:r});e.push(...f.results);let g=r(f.rootContent,m,p),h=R_(g.replace(/\.agents\/skills\//g,".agentsmesh/skills/").replace(/\.agents\\skills\\/g,".agentsmesh/skills/"),t),{frontmatter:R,body:C}=b(h),k=R.root===true?R:{...R,root:true},P=R_(await K(p,k,C),t);await I(p,P),e.push({fromTool:ai,fromPath:m,toPath:`${ci}/_root.md`,feature:"rules"});}async function ox(t){let e=[],r=await B(ai,t);return await d1(t,e,r),e.push(...await J(_d,t,"project",{normalize:r})),await rx(t,e,r),await h_(t,e),await XT(t,e),e.push(...await ZT(t)),e}var sx=d(()=>{dt();w();j();ut();Hl();Et();Jt();C_();__();QT();tx();nx();s(d1,"importRootRule");s(ox,"importFromGemini");});async function ax(t,e,r){let n=t.replace(/\\/g,"/"),o=join(e,n),{frontmatter:i,body:a}=hd(r(o)),l=wo(i.globs),c={root:false,description:typeof i.description=="string"?i.description:void 0,globs:l.length>0?l:void 0};return Object.keys(c).forEach(m=>{c[m]===void 0&&delete c[m];}),{destPath:o,toPath:`${ci}/${n}`,feature:"rules",content:await K(o,c,a)}}async function lx(t,e,r){let n=t.replace(/\.(toml|md)$/i,".md").replace(/\\/g,"/"),o=join(e,n),i=r(o),{frontmatter:a,body:l}=t.endsWith(".toml")?g1(i):hd(i),c=nr(a.allowedTools),m=nr(a["allowed-tools"]),p=c.length>0?c:m;return {destPath:o,toPath:`${dd}/${n}`,feature:"commands",content:await _t(o,{description:typeof a.description=="string"?a.description:"",hasDescription:Object.prototype.hasOwnProperty.call(a,"description"),allowedTools:p,hasAllowedTools:Object.prototype.hasOwnProperty.call(a,"allowedTools")||Object.prototype.hasOwnProperty.call(a,"allowed-tools")},l)}}function g1(t){try{let e=parse$1(t);return {frontmatter:e,body:typeof e.prompt=="string"?e.prompt:""}}catch{return {frontmatter:{},body:t.trim()}}}var cx=d(()=>{ut();or();__();Jt();s(ax,"mapGeminiRuleFile");s(lx,"mapGeminiCommandFile");s(g1,"parseTomlCommand");});var mx,px,ux=d(()=>{cx();mx=s(({relativePath:t,destDir:e,normalizeTo:r})=>ax(t,e,r),"geminiRuleMapper"),px=s(({relativePath:t,destDir:e,normalizeTo:r})=>lx(t,e,r),"geminiCommandMapper");});function dx(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(i=>({...i,target:ai}))}var fx=d(()=>{It();Jt();s(dx,"lintRules");});function gx(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>x(e.source,"gemini-cli","Gemini TOML command files do not project canonical allowed-tools metadata."))}function hx(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=>Ps(n,"gemini-cli",e))}var yx=d(()=>{Lt();s(gx,"lintCommands");s(hx,"lintHooks");});function _x(t,e){return e==="project"&&mi("gemini-cli",e)?.ignore.flavor!=="settings-embedded"?[]:p_(t)}var Rx=d(()=>{Pt();u_();s(_x,"emitScopedGeminiSettings");});var h1,y1,_1,R1,_d,C_=d(()=>{HT();wi();JT();Jt();sx();ux();fx();Ct();ol();mt();yx();Rx();ee();td();h1={name:"gemini-cli",primaryRootInstructionPath:br,generateRules:a_,generateCommands:l_,generateAgents:c_,generateSkills:m_,generateIgnore:d_,generatePermissions:VT,importFrom:ox},y1={rootInstructionPath:br,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[co]}],extraRuleOutputPaths(){return [co]},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 pt(t,".gemini/skills",e)},paths:{rulePath(t,e){return br},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),n=r.pop()??t;return `${He}/${r.join("/")}/${n}.toml`}return `${He}/${t}.toml`},agentPath(t,e){return qe(e,"gemini-cli")?`.gemini/skills/${U(t)}/SKILL.md`:`${li}/${t}.md`}}},_1={rootInstructionPath:ec,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[rc]}],extraRuleOutputPaths(){return [rc]},skillDir:Aa,managedOutputs:{dirs:[nc,Aa,Zm],files:[ec,rc,fd]},rewriteGeneratedPath(t){return t===br?ec:t===co?rc:t===Oa?fd:t.startsWith(`${He}/`)?t.replace(`${He}/`,`${nc}/`):t.startsWith(".gemini/skills/")?t.replace(".gemini/skills/",`${Aa}/`):t.startsWith(`${li}/`)?t.replace(`${li}/`,`${Zm}/`):t.startsWith(".gemini/policies/")||t===".geminiignore"?null:t},mirrorGlobalPath(t,e){return pt(t,Aa,e)},paths:{rulePath(t,e){return ec},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),n=r.pop()??t;return `${nc}/${r.join("/")}/${n}.toml`}return `${nc}/${t}.toml`},agentPath(t,e){return qe(e,"gemini-cli")?`${Aa}/${U(t)}/SKILL.md`:`${Zm}/${t}.md`}}},R1={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:"none",permissions:"none"},_d={id:"gemini-cli",metadata:{displayName:"Gemini CLI",category:"cli",officialUrl:"https://github.com/google-gemini/gemini-cli",shortDescription:"Google's terminal Gemini agent"},generators:h1,capabilities:{rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:Gr("native","settings-embedded"),permissions:"partial"},emptyImportMessage:"No Gemini CLI config found (GEMINI.md or .gemini/rules, .gemini/commands, .gemini/settings.json).",lintRules:dx,lint:{commands:gx,hooks:hx},emitScopedSettings:_x,mergeGeneratedOutputContent(t,e,r,n){let o=e?.content??t;return o!==null&&n===Oa?uP(o,r):null},project:y1,globalSupport:{capabilities:R1,detectionPaths:[ec,rc,fd,nc,Aa,Zm],layout:_1},importer:{rules:{feature:"rules",mode:"directory",source:{project:[DT]},canonicalDir:ci,extensions:[".md"],map:mx},commands:{feature:"commands",mode:"directory",source:{project:[He]},canonicalDir:dd,extensions:[".md",".toml"],map:px}},buildImportPaths:Nh,detectionPaths:["GEMINI.md",".gemini"],conversionDefaults:{agentsToSkills:false}};});function Ix(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(Bn)),n=e?.body.trim()??"",o=lt(n,r);return o?[{path:_r,content:o}]:[]}function Sx(t){return rt(t,Oe)}function Cx(t){return t.commands.map(e=>({path:`${Oe}/${H(e.name)}/SKILL.md`,content:Nt(e)}))}function kx(t){return t.agents.map(e=>({path:`${Oe}/${U(e.name)}/SKILL.md`,content:Tt(e)}))}function Ex(t){return t.ignore.length===0?[]:[{path:Wo,content:t.ignore.join(`
133
+ `)}]}var Lx=d(()=>{tt();Ut();mt();kt();Cl();s(Ix,"generateRules");s(Sx,"generateSkills");s(Cx,"generateCommands");s(kx,"generateAgents");s(Ex,"generateIgnore");});async function Ox(t,e={}){let r=e.scope??"project",n=[],o=await B(Bn,t,r);return n.push(...await J(Rd,t,r,{normalize:o})),await q(t,r==="global"?Rr:Oe,Bn,n,o),n}var Ax=d(()=>{dt();tt();Et();Cl();k_();s(Ox,"importFromGoose");});function wx(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Bn}))}var bx=d(()=>{It();Cl();s(wx,"lintRules");});function Px(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[x(".agentsmesh/hooks.yaml","goose","Goose has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function Tx(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?[]:[x(".agentsmesh/permissions.yaml","goose","Goose permissions are managed at runtime via permission.yaml in ~/.config/goose/; canonical permissions are not projected.")]}function xx(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[x(".agentsmesh/mcp.json","goose","Goose MCP extensions are configured globally in ~/.config/goose/config.yaml; project-level MCP is not projected.")]}var Dx=d(()=>{Lt();s(Px,"lintHooks");s(Tx,"lintPermissions");s(xx,"lintMcp");});var I1,S1,C1,Nx,Rd,k_=d(()=>{kt();mt();Lx();ee();Ax();bx();Dx();Ct();Cl();I1={name:Bn,primaryRootInstructionPath:_r,generateRules:Ix,generateCommands:Cx,generateAgents:kx,generateSkills:Sx,generateIgnore:Ex,importFrom:Ox},S1={rootInstructionPath:_r,skillDir:Oe,managedOutputs:{dirs:[Oe],files:[_r,Wo]},paths:{rulePath(t){return _r},commandPath(t){return `${Oe}/${H(t)}/SKILL.md`},agentPath(t){return `${Oe}/${U(t)}/SKILL.md`}}},C1={rootInstructionPath:Ho,skillDir:Rr,managedOutputs:{dirs:[Rr],files:[Ho,Vi]},rewriteGeneratedPath(t){return t===_r?Ho:t===Wo?Vi:t},mirrorGlobalPath(t,e){return pt(t,Rr,e)},paths:{rulePath(t){return Ho},commandPath(t){return `${Rr}/${H(t)}/SKILL.md`},agentPath(t){return `${Rr}/${U(t)}/SKILL.md`}}},Nx={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"native",permissions:"none"},Rd={id:Bn,metadata:{displayName:"Goose",category:"cli",officialUrl:"https://block.github.io/goose",shortDescription:"Block's open-source AI agent"},generators:I1,capabilities:Nx,emptyImportMessage:"No Goose config found (.goosehints, .agents/skills, or .gooseignore).",lintRules:wx,lint:{hooks:Px,permissions:Tx,mcp:xx},supportsConversion:{commands:true,agents:true},project:S1,globalSupport:{capabilities:Nx,detectionPaths:[Ho,Vi,Rr],layout:C1},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[_r],global:[Ho]},canonicalDir:DE,canonicalRootFilename:"_root.md",markAsRoot:true},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Wo],global:[Vi]},canonicalDir:".agentsmesh",canonicalFilename:NE}},sharedArtifacts:{".agents/skills/":"consumer"},buildImportPaths:Fh,detectionPaths:[_r,Wo],conversionDefaults:{commandsToSkills:true,agentsToSkills:true}};});function Fx(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)),n=e?.body.trim()??"",o=lt(n,r);return o?[{path:Zr,content:o}]:[]}var vx=d(()=>{Ut();kl();s(Fx,"generateRules");});async function Mx(t,e={}){let r=e.scope??"project",n=await B(zo,t,r);return J(Id,t,r,{normalize:n})}var $x=d(()=>{dt();Et();kl();E_();s(Mx,"importFromJules");});function Gx(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:zo}))}var jx=d(()=>{It();kl();s(Gx,"lintRules");});function Ux(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[x(".agentsmesh/hooks.yaml","jules","Jules has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function Bx(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?[]:[x(".agentsmesh/permissions.yaml","jules","Jules has no permissions system; canonical permissions are not projected.")]}function Kx(t){return t.ignore.length===0?[]:[x(".agentsmesh/ignore","jules","Jules is a cloud-based agent with no dedicated ignore file; canonical ignore patterns are not projected.")]}function Wx(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[x(".agentsmesh/mcp.json","jules","Jules is a cloud-based agent with no MCP support; canonical MCP servers are not projected.")]}function Hx(t){return t.commands.length===0?[]:[x(".agentsmesh/commands","jules","Jules has no command system; canonical commands are not projected.")]}var zx=d(()=>{Lt();s(Ux,"lintHooks");s(Bx,"lintPermissions");s(Kx,"lintIgnore");s(Wx,"lintMcp");s(Hx,"lintCommands");});var k1,E1,L1,Id,E_=d(()=>{vx();$x();jx();zx();Ct();kl();k1={name:zo,primaryRootInstructionPath:Zr,generateRules:Fx,importFrom:Mx},E1={rootInstructionPath:Zr,managedOutputs:{dirs:[],files:[Zr]},paths:{rulePath(t){return Zr},commandPath(){return null},agentPath(){return null}}},L1={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"none",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},Id={id:zo,metadata:{displayName:"Jules",category:"agent-platform",officialUrl:"https://jules.google",shortDescription:"Google's autonomous coding agent"},generators:k1,capabilities:L1,emptyImportMessage:"No Jules config found (AGENTS.md).",lintRules:Gx,lint:{hooks:Ux,permissions:Bx,ignore:Kx,mcp:Wx,commands:Hx},project:E1,importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[Zr]},canonicalDir:vE,canonicalRootFilename:"_root.md",markAsRoot:true}},buildImportPaths:vh,detectionPaths:[Zr]};});function Vx(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Kn,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:`${Im}/${o}.md`,content:n.body.trim()||""});}return e}function A1(t){let e={};return t.description&&(e.description=t.description),t.type!=="stdio"&&(e.type=t.type),Bu(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 Jx(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,A1(n)]));return [{path:Rm,content:JSON.stringify({mcpServers:e},null,2)}]}function Yx(t){return t.commands.map(e=>{let r={description:e.description||void 0};return r.description===void 0&&delete r.description,{path:`${El}/${e.name}.md`,content:T(r,e.body.trim()||"")}})}function Xx(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:`${Ll}/${e.name}.md`,content:T(r,e.body.trim()||"")}})}function Zx(t){return t.ignore.length===0?[]:[{path:Sm,content:t.ignore.join(`
134
+ `)}]}function Qx(t){return rt(t,Yi)}function qx(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 lt(e?.body.trim()??"",r)}var tD=d(()=>{Ku();tt();Ut();j();Ol();s(Vx,"generateRules");s(A1,"toJunieMcpServer");s(Jx,"generateMcp");s(Yx,"generateCommands");s(Xx,"generateAgents");s(Zx,"generateIgnore");s(Qx,"generateSkills");s(qx,"renderJunieGlobalInstructions");});async function w1(t,e,r){let n=[Kn,ku,$E,GE],o=join(t,Mh);for(let i of n){let a=join(t,i),l=await _(a);if(l===null)continue;let c=await oo({content:l,projectRoot:t,rulesDir:Lu,sourcePath:a,fromTool:Ji,normalize:r});e.push(...c.results);let{frontmatter:m,body:p}=b(r(c.rootContent,a,o)),u=await K(o,{root:true,description:typeof m.description=="string"?m.description:void 0,globs:Array.isArray(m.globs)?m.globs:void 0},p);await I(o,u),e.push({fromTool:Ji,fromPath:a,toPath:Mh,feature:"rules"});return}}async function rD(t){let e=[],r=await B(Ji,t);return await w1(t,e,r),e.push(...await J(Sd,t,"project",{normalize:r})),await q(t,Yi,Ji,e,r),e}var nD=d(()=>{dt();w();j();tt();Hl();ut();Et();Ol();L_();s(w1,"importRootRule");s(rD,"importFromJunie");});function oD(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Ji}))}var sD=d(()=>{It();Ol();s(oD,"lintRules");});function iD(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.mcp.mcpServers))lw(n)&&e.push(x(".agentsmesh/mcp.json","junie",`MCP server "${r}" uses ${n.type} transport; Junie project mcp.json currently documents stdio MCP servers only.`));return e}var aD=d(()=>{Ku();Lt();s(iD,"lintMcp");});var b1,P1,T1,x1,Sd,L_=d(()=>{tD();Ol();ee();nD();sD();aD();Ct();b1={name:"junie",primaryRootInstructionPath:Kn,generateRules:Vx,generateCommands:Yx,generateAgents:Xx,generateSkills:Qx,generateMcp:Jx,generateIgnore:Zx,importFrom:rD},P1={rootInstructionPath:Kn,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 `${Im}/${t}.md`},commandPath(t,e){return `${El}/${t}.md`},agentPath(t,e){return `${Ll}/${t}.md`}}},T1={rootInstructionPath:Xi,renderPrimaryRootInstruction:qx,skillDir:km,managedOutputs:{dirs:[km,Em,Lm,jE],files:[Xi,Eu]},rewriteGeneratedPath(t){return t===Kn?Xi:t.startsWith(`${Im}/`)?Xi:t.startsWith(`${Yi}/`)?t.replace(`${Yi}/`,`${km}/`):t.startsWith(`${El}/`)?t.replace(`${El}/`,`${Lm}/`):t.startsWith(`${Ll}/`)?t.replace(`${Ll}/`,`${Em}/`):t===Rm?Eu:t===Sm?null:t},mirrorGlobalPath(t,e){return pt(t,".junie/skills",e)},paths:{rulePath(t,e){return Xi},commandPath(t,e){return `${Lm}/${t}.md`},agentPath(t,e){return `${Em}/${t}.md`}}},x1={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Sd={id:"junie",metadata:{displayName:"Junie",category:"ide",officialUrl:"https://www.jetbrains.com/junie",shortDescription:"JetBrains AI coding agent"},generators:b1,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:oD,lint:{mcp:iD},project:P1,globalSupport:{capabilities:x1,detectionPaths:[Xi,km,Em,Lm,Eu],layout:T1},importer:{rules:{feature:"rules",mode:"directory",source:{project:[".junie/rules"]},canonicalDir:Lu,extensions:[".md"],preset:"rule"},commands:{feature:"commands",mode:"directory",source:{project:[".junie/commands"]},canonicalDir:UE,extensions:[".md"],preset:"command"},agents:{feature:"agents",mode:"directory",source:{project:[".junie/agents"]},canonicalDir:BE,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Rm]},canonicalDir:".agentsmesh",canonicalFilename:KE},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Sm]},canonicalDir:".agentsmesh",canonicalFilename:WE}},buildImportPaths:$h,detectionPaths:[".junie/guidelines.md",".junie/AGENTS.md",".junie/skills",".junie/mcp/mcp.json",".aiignore"]};});function cD(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Wn,content:r.body.trim()?r.body:""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(_e))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?T(i,n.body.trim()||""):n.body.trim()||"";e.push({path:`${Vo}/${o}.md`,content:a});}return e}function mD(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${Jo}/${e.name}.md`,content:T(r,e.body.trim()||"")}})}function pD(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:`${Yo}/${r}.md`,content:T(n,e.body.trim()||"")}})}function uD(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Us,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function dD(t){return t.ignore.length===0?[]:[{path:Al,content:t.ignore.join(`
135
+ `)}]}function fD(t){return rt(t,Qr)}var gD=d(()=>{tt();j();na();s(cD,"generateRules");s(mD,"generateCommands");s(pD,"generateAgents");s(uD,"generateMcp");s(dD,"generateIgnore");s(fD,"generateSkills");});var Cd,kd,hD,A_=d(()=>{j();ut();na();Cd=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=b(e(n));return {destPath:n,toPath:`${Ws}/${t}`,content:await K(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},i)}},"kiloNonRootRuleMapper"),kd=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=b(e(n));return {destPath:n,toPath:`${Tl}/${t}`,content:await _t(n,{hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},i)}},"kiloCommandMapper"),hD=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=b(e(n));return {destPath:n,toPath:`${ra}/${t}`,content:await Vt(n,o,i)}},"kiloAgentMapper");});async function yD(t){try{return await stat(t),!0}catch{return false}}async function F1(t,e,r){let n=join(t,Zi);if(!await yD(n))return;let o=join(t,Ws),i=join(n,b_),l=e.some(c=>c.toPath===w_)?null:await _(i);if(l!==null){let c=join(t,w_),m=r(l,i,c),{body:p}=b(m),u=await K(c,{root:true},p);await I(c,u),e.push({feature:"rules",fromTool:_e,fromPath:`${Zi}/${b_}`,toPath:w_});}e.push(...await Rt({srcDir:n,destDir:o,extensions:[".md"],fromTool:_e,normalize:r,mapEntry:s(async({srcPath:c,relativePath:m,content:p,normalizeTo:u})=>{let f=await Cd({absolutePath:c,relativePath:m,content:p,destDir:o,normalizeTo:u});return m===b_||!f?null:{...f,feature:"rules"}},"mapEntry")}));}async function v1(t,e,r){let n=join(t,wl);if(!await yD(n))return;let o=join(t,Tl);e.push(...await Rt({srcDir:n,destDir:o,extensions:[".md"],fromTool:_e,normalize:r,mapEntry:s(async({srcPath:i,relativePath:a,content:l,normalizeTo:c})=>{let m=await kd({absolutePath:i,relativePath:a,content:l,destDir:o,normalizeTo:c});return m?{...m,feature:"commands"}:null},"mapEntry")}));}async function M1(t,e,r){let n=join(t,Au),o=await _(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 l=a;if(typeof l.slug!="string"||l.slug.length===0)continue;let c=l.slug,m=join(t,ra,`${c}.md`),p=typeof l.description=="string"?l.description:"",u=typeof l.roleDefinition=="string"?l.roleDefinition.trim():"",f=typeof l.whenToUse=="string"?l.whenToUse.trim():"",g=f?`${u}
129
136
 
130
137
  ## When to use
131
138
 
132
- ${g}`:d,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 I(m,R),e.push({feature:"agents",fromTool:ue,fromPath:o,toPath:`${zi}/${l}.md`});}}async function Yu(t,e={}){let r=e.scope??"project",o=[],n=await U(ue,t,r);return o.push(...await z(Xu,t,r,{normalize:n})),await Z(t,Br,ue,o,n),r==="project"&&(await MW(t,o,n),await $W(t,o,n),await jW(t,o,n),await Z(t,Ki,ue,o,n)),o}var Dy,Ny,Fy=u(()=>{mt();Q();ke();Ct();T();lt();M();xy();Vi();vy();Dy=`${Ns}/_root.md`,Ny="00-root.md";s(dP,"pathExists");s(MW,"importLegacyRules");s($W,"importLegacyWorkflows");s(jW,"importLegacyModes");s(Yu,"importFromKiloCode");});function gP(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:ue}))}var fP=u(()=>{_t();Vi();s(gP,"lintRules");});function hP(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 yP(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 _P=u(()=>{Et();s(hP,"lintHooks");s(yP,"lintPermissions");});var UW,KW,BW,IP,Xu,vy=u(()=>{pP();Vi();Qt();Fy();xy();fP();_P();Rt();UW={name:ue,primaryRootInstructionPath:vo,generateRules:sP,generateCommands:iP,generateAgents:aP,generateSkills:mP,generateMcp:cP,generateIgnore:lP,importFrom:Yu},KW={rootInstructionPath:vo,skillDir:Br,managedOutputs:{dirs:[Mn,$n,jn,Br],files:[vo,Ps,cc]},paths:{rulePath(t,e){return `${Mn}/${t}.md`},commandPath(t,e){return `${$n}/${t}.md`},agentPath(t,e){return `${jn}/${t}.md`}}},BW={rootInstructionPath:xs,skillDir:Ds,managedOutputs:{dirs:[Bi,Wi,Hi,Ds,mE],files:[xs,pc,Hp]},rewriteGeneratedPath(t){return t===vo?xs:t},mirrorGlobalPath(t,e){return ct(t,Ds,e)},paths:{rulePath(t,e){return `${Bi}/${t}.md`},commandPath(t,e){return `${Wi}/${t}.md`},agentPath(t,e){return `${Hi}/${t}.md`}}},IP={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},Xu={id:ue,metadata:{displayName:"Kilo Code",category:"ide",officialUrl:"https://kilocode.ai",shortDescription:"Open-source AI coding agent for VS Code"},generators:UW,capabilities:IP,emptyImportMessage:"No Kilo Code config found (AGENTS.md, .kilo/rules, .kilo/commands, .kilo/agents, .kilo/skills, .kilo/mcp.json, .kilocodeignore, .kilocode/, or .kilocodemodes).",lintRules:gP,lint:{hooks:hP,permissions:yP},project:KW,globalSupport:{capabilities:IP,detectionPaths:[xs,Bi,Wi,Hi,Ds,pc,Hp],layout:BW},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[vo],global:[xs]},canonicalDir:Ns,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[Mn],global:[Bi]},canonicalDir:Ns,extensions:[".md"],map:Vu}],commands:{feature:"commands",mode:"directory",source:{project:[$n],global:[Wi]},canonicalDir:uc,extensions:[".md"],map:Ju},agents:{feature:"agents",mode:"directory",source:{project:[jn],global:[Hi]},canonicalDir:zi,extensions:[".md"],map:uP},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Ps,tm],global:[pc]},canonicalDir:".agentsmesh",canonicalFilename:pE},ignore:{feature:"ignore",mode:"flatFile",source:{project:[cc],global:[Hp]},canonicalDir:".agentsmesh",canonicalFilename:uE}},buildImportPaths:Mf,detectionPaths:[Mn,$n,jn,Br,Ps,Ui,lc,Ki,tm,Wp,cc,"kilo.jsonc","kilo.json"]};});function RP(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/_/g,"-").toLowerCase()}function zW(t){return t.type==="prompt"?t.prompt:t.command}function VW(t,e){let r=SP[t];return t==="PreToolUse"||t==="PostToolUse"?{type:r,tools:[e||"*"]}:{type:r}}function CP(t){let e=[];for(let[r,o]of Object.entries(t)){let n=r;if(!(n in SP)||!Array.isArray(o))continue;let i=1;for(let a of o){let c=zW(a);if(!c)continue;let l={name:`${RP(r)} ${i}`,version:"1",when:VW(n,a.matcher),then:a.type==="prompt"?{type:"askAgent",prompt:c}:{type:"shellCommand",command:c}};e.push({name:`${RP(r)}-${i}.kiro.hook`,content:JSON.stringify(l,null,2)}),i+=1;}}return e}function JW(t){let e=HW.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 EP(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:JW(r)}function OP(t){return stringify(t).trimEnd()}var SP,HW,Gy=u(()=>{SP={UserPromptSubmit:"promptSubmit",SubagentStop:"agentStop",PreToolUse:"preToolUse",PostToolUse:"postToolUse"},HW=new Map([["promptSubmit","UserPromptSubmit"],["agentStop","SubagentStop"],["preToolUse","PreToolUse"],["postToolUse","PostToolUse"]]);s(RP,"toKebab");s(zW,"hookText");s(VW,"toWhen");s(CP,"generateKiroHooks");s(JW,"toCanonicalEntry");s(EP,"parseKiroHookFile");s(OP,"serializeCanonicalHooks");});function XW(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 LP(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:Wr,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:`${Hr}/${n}.md`,content:P(XW(o),o.body.trim()||"")});}return e}function AP(t){return t.commands.map(e=>({path:`${de}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function kP(t){return tt(t,de)}function wP(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:dc,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function TP(t){return !t.hooks||Object.keys(t.hooks).length===0?[]:CP(t.hooks).map(e=>({path:`${Fs}/${e.name}`,content:e.content}))}function bP(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:`${zr}/${e.name}.md`,content:o}})}function PP(t){return t.ignore.length===0?[]:[{path:gc,content:t.ignore.join(`
133
- `)}]}var xP=u(()=>{Q();St();M();Gy();fc();s(XW,"steeringFrontmatter");s(LP,"generateRules");s(AP,"generateCommands");s(kP,"generateSkills");s(wP,"generateMcp");s(TP,"generateHooks");s(bP,"generateAgents");s(PP,"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:yn(t.fileMatchPattern)};return e==="manual"&&(r.trigger="manual"),e==="auto"&&(r.trigger="model_decision"),e==="fileMatch"&&(r.trigger="glob"),r}async function qW(t,e,r,o){let n=o==="global"?[Vr,Wr]:[Wr,Vr];for(let i of n){let a=join(t,i),c=await y(a);if(c===null)continue;let l=join(t,$f),{frontmatter:m,body:p}=w(r(c,a,l));await I(l,await K(l,{...m,root:true},p)),e.push({fromTool:De,fromPath:a,toPath:$f,feature:"rules"});return}}async function tH(t,e,r){let o=join(t,jf);e.push(...await yt({srcDir:join(t,Hr),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}=w(i(a));return {destPath:a,toPath:`${jf}/${n}`,feature:"rules",content:await K(a,QW(c),l)}},"mapEntry")}));}async function eH(t,e){let r={};for(let n of await N(join(t,Fs))){if(!n.endsWith(".kiro.hook"))continue;let i=EP(await y(n)??"");i&&(r[i.event]??=[],r[i.event].push(i.entry));}if(Object.keys(r).length===0)return;let o=join(t,Uf);await L(join(t,".agentsmesh")),await I(o,OP(r)),e.push({fromTool:De,fromPath:join(t,Fs),toPath:Uf,feature:"hooks"});}async function Zu(t,e={}){let r=e.scope??"project",o=[],n=await U(De,t,r);return await qW(t,o,n,r),await tH(t,o,n),o.push(...await z(Qu,t,r,{normalize:n})),await Z(t,de,De,o,n),r==="project"&&await eH(t,o),o}var My=u(()=>{mt();Q();ke();Ct();lt();Qe();T();M();Gy();fc();$y();s(QW,"canonicalRuleMeta");s(qW,"importRoot");s(tH,"importNonRootRules");s(eH,"importHooks");s(Zu,"importFromKiro");});function DP(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:De}))}var NP=u(()=>{_t();fc();s(DP,"lintRules");});function FP(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=>_s(o,"kiro",e,{unsupportedBy:"Kiro hooks"}))}var vP=u(()=>{Et();s(FP,"lintHooks");});var rH,oH,nH,sH,Qu,$y=u(()=>{St();xP();Qt();My();NP();vP();Rt();fc();rH={name:De,primaryRootInstructionPath:Wr,generateRules:LP,generateCommands:AP,generateAgents:bP,generateSkills:kP,generateMcp:wP,generateHooks:TP,generateIgnore:PP,importFrom:Zu},oH={rootInstructionPath:Wr,skillDir:de,managedOutputs:{dirs:[".kiro/hooks",".kiro/skills",".kiro/steering",".kiro/agents"],files:["AGENTS.md",".kiro/settings/mcp.json",".kiroignore"]},paths:{rulePath(t,e){return `${Hr}/${t}.md`},commandPath(t){return `${de}/${W(t)}/SKILL.md`},agentPath(t,e){return `${zr}/${t}.md`}}},nH={rootInstructionPath:Vr,skillDir:vs,managedOutputs:{dirs:[Ji,vs,Yi,fE],files:[Vr,rm,om]},rewriteGeneratedPath(t){return t===Wr?Vr:t.startsWith(`${Hr}/`)?t.replace(`${Hr}/`,`${Ji}/`):t.startsWith(`${de}/`)?t.replace(`${de}/`,`${vs}/`):t.startsWith(`${zr}/`)?t.replace(`${zr}/`,`${Yi}/`):t===dc?rm:t===gc?om:t.startsWith(`${Fs}/`)?null:t},mirrorGlobalPath(t,e){return ct(t,".kiro/skills",e)},paths:{rulePath(t,e){return `${Ji}/${t}.md`},commandPath(t){return `${de}/${W(t)}/SKILL.md`},agentPath(t,e){return `${Yi}/${t}.md`}}},sH={rules:"native",additionalRules:"native",commands:"none",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},Qu={id:De,metadata:{displayName:"Kiro",category:"ide",officialUrl:"https://kiro.dev",shortDescription:"AWS spec-driven AI IDE"},generators:rH,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:DP,lint:{hooks:FP},project:oH,globalSupport:{capabilities:sH,detectionPaths:[Ji,Vr,vs,Yi,rm,om],layout:nH},importer:{agents:{feature:"agents",mode:"directory",source:{project:[zr],global:[zr]},canonicalDir:hE,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[dc],global:[rm]},canonicalDir:".agentsmesh",canonicalFilename:yE},ignore:{feature:"ignore",mode:"flatFile",source:{project:[gc],global:[om]},canonicalDir:".agentsmesh",canonicalFilename:_E}},buildImportPaths:Kf,detectionPaths:[Hr,de,zr,Fs,dc,gc]};});function MP(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:Go,content:r.body.trim()?r.body:""});for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes(Jr))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 $P(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 jP(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 iH(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 UP(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]=iH(o);return [{path:Mo,content:JSON.stringify({mcp:e},null,2)}]}function KP(t){return tt(t,Yr)}var BP=u(()=>{Q();M();qi();s(MP,"generateRules");s($P,"generateCommands");s(jP,"generateAgents");s(iH,"toOpenCodeMcpServer");s(UP,"generateMcp");s(KP,"generateSkills");});function jy(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 cH(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:jy(a.headers),env:jy(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:jy(a.environment),...typeof a.description=="string"?{description:a.description}:{}};}}return o}async function lH(t,e,r){let n=join(t,e==="global"?$s:Mo),i=await y(n);if(i===null)return;let a=cH(i);Object.keys(a).length!==0&&(await $t(t,Bf,a),r.push({feature:"mcp",fromTool:Jr,fromPath:n,toPath:Bf}));}async function WP(t,e={}){let r=e.scope??"project",o=[],n=await U(Jr,t,r);return o.push(...await z(qu,t,r,{normalize:n})),await Z(t,Yr,Jr,o,n),await lH(t,r,o),o}var HP=u(()=>{mt();Q();Ct();Nr();T();qi();Uy();s(jy,"toStringRecord");s(cH,"parseOpenCodeMcp");s(lH,"importMcp");s(WP,"importFromOpenCode");});var zP,VP,JP,YP=u(()=>{M();lt();qi();zP=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=w(e(o));return {destPath:o,toPath:`${nm}/${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"),VP=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=w(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"),JP=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=w(e(o));return {destPath:o,toPath:`${Jp}/${t}`,content:await Bt(o,n,i)}},"opencodeAgentMapper");});function XP(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Jr}))}var ZP=u(()=>{_t();qi();s(XP,"lintRules");});function QP(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 qP(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 tx(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 ex=u(()=>{Et();s(QP,"lintHooks");s(qP,"lintPermissions");s(tx,"lintIgnore");});var mH,pH,uH,rx,qu,Uy=u(()=>{BP();qi();Qt();HP();YP();ZP();ex();Rt();mH={name:Jr,primaryRootInstructionPath:Go,generateRules:MP,generateCommands:$P,generateAgents:jP,generateSkills:KP,generateMcp:UP,importFrom:WP},pH={rootInstructionPath:Go,skillDir:Yr,managedOutputs:{dirs:[Un,Kn,Bn,Yr],files:[Go,Mo]},paths:{rulePath(t){return `${Un}/${t}.md`},commandPath(t){return `${Kn}/${t}.md`},agentPath(t){return `${Bn}/${t}.md`}}},uH={rootInstructionPath:Gs,skillDir:Ms,managedOutputs:{dirs:[Xi,Zi,Qi,Ms,RE],files:[Gs,$s]},rewriteGeneratedPath(t){return t===Go?Gs:t===Mo?$s:t},mirrorGlobalPath(t,e){return ct(t,Ms,e)},paths:{rulePath(t){return `${Xi}/${t}.md`},commandPath(t){return `${Zi}/${t}.md`},agentPath(t){return `${Qi}/${t}.md`}}},rx={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},qu={id:Jr,metadata:{displayName:"OpenCode",category:"cli",officialUrl:"https://opencode.ai",shortDescription:"Open-source terminal AI agent"},generators:mH,capabilities:rx,emptyImportMessage:"No OpenCode config found (AGENTS.md, .opencode/rules, .opencode/commands, .opencode/agents, .opencode/skills, or opencode.json).",lintRules:XP,lint:{hooks:QP,permissions:qP,ignore:tx},project:pH,globalSupport:{capabilities:rx,detectionPaths:[Gs,Xi,Zi,Qi,Ms,$s],layout:uH},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Go],global:[Gs]},canonicalDir:nm,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[Un],global:[Xi]},canonicalDir:nm,extensions:[".md"],map:zP}],commands:{feature:"commands",mode:"directory",source:{project:[Kn],global:[Zi]},canonicalDir:Vp,extensions:[".md"],map:VP},agents:{feature:"agents",mode:"directory",source:{project:[Bn],global:[Qi]},canonicalDir:Jp,extensions:[".md"],map:JP}},buildImportPaths:Wf,detectionPaths:[Un,Kn,Bn,Yr,Mo,"opencode.jsonc"]};});function ox(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes($o)),o=e?.body.trim()??"",n=st(o,r);return n?[{path:ur,content:n}]:[]}function nx(t){return tt(t,Xt)}function sx(t){return t.commands.map(e=>({path:`${Xt}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function ix(t){return t.agents.map(e=>({path:`${Xt}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}var ax=u(()=>{Q();Mt();at();St();yc();s(ox,"generateRules");s(nx,"generateSkills");s(sx,"generateCommands");s(ix,"generateAgents");});async function cx(t,e={}){let r=e.scope??"project",o=[],n=await U($o,t,r);return o.push(...await z(td,t,r,{normalize:n})),await Z(t,r==="global"?dr:Xt,$o,o,n),o}var lx=u(()=>{mt();Q();Ct();yc();By();s(cx,"importFromPiAgent");});function mx(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:$o}))}var px=u(()=>{_t();yc();s(mx,"lintRules");});function ux(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 dx(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 gx(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 fx(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 hx=u(()=>{Et();s(ux,"lintHooks");s(dx,"lintPermissions");s(gx,"lintIgnore");s(fx,"lintMcp");});var dH,gH,fH,yx,td,By=u(()=>{St();at();ax();Qt();lx();px();hx();zf();yc();dH={name:$o,primaryRootInstructionPath:ur,generateRules:ox,generateCommands:sx,generateAgents:ix,generateSkills:nx,importFrom:cx},gH={rootInstructionPath:ur,skillDir:Xt,managedOutputs:{dirs:[Xt],files:[ur]},paths:{rulePath(t){return ur},commandPath(t){return `${Xt}/${W(t)}/SKILL.md`},agentPath(t){return `${Xt}/${$(t)}/SKILL.md`}}},fH={rootInstructionPath:Wn,skillDir:dr,managedOutputs:{dirs:[dr],files:[Wn]},rewriteGeneratedPath(t){return t===ur?Wn:t.startsWith(`${Xt}/`)?t.replace(`${Xt}/`,`${dr}/`):t},mirrorGlobalPath(t,e){return ct(t,dr,e)},paths:{rulePath(t){return Wn},commandPath(t){return `${dr}/${W(t)}/SKILL.md`},agentPath(t){return `${dr}/${$(t)}/SKILL.md`}}},yx={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},td={id:$o,metadata:{displayName:"Pi Agent",category:"cli",officialUrl:"https://github.com/pi-labs/pi-agent",shortDescription:"Pi coding agent"},generators:dH,capabilities:yx,emptyImportMessage:"No Pi Coding Agent config found (AGENTS.md or .pi/skills).",lintRules:mx,lint:{hooks:ux,permissions:dx,ignore:gx,mcp:fx},supportsConversion:{commands:true,agents:true},project:gH,globalSupport:{capabilities:yx,detectionPaths:[Wn],layout:fH},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[ur],global:[Wn]},canonicalDir:EE,canonicalRootFilename:"_root.md",markAsRoot:true}},sharedArtifacts:{".agents/skills/":"consumer"},buildImportPaths:Hf,detectionPaths:[ur,Xt]};});function _x(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:gr,content:r.body.trim()?r.body:""});let o=t.rules.filter(n=>!n.root&&(n.targets.length===0||n.targets.includes(jo)));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:`${Hn}/${i}.md`,content:c});}return e}function Ix(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:`${Uo}/${e.name}.md`,content:o}})}function Rx(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:`${Ko}/${e.name}.md`,content:o}})}function Sx(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 Cx(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:js,content:e}]}function Ex(t){return !t.ignore||t.ignore.length===0?[]:[{path:Us,content:t.ignore.join(`
134
- `)}]}var Ox=u(()=>{M();_c();s(_x,"generateRules");s(Ix,"generateCommands");s(Rx,"generateAgents");s(Sx,"generateSkills");s(Cx,"generateMcp");s(Ex,"generateIgnore");});async function Lx(t,e={}){let r=e.scope??"project",o=[],n=await U(jo,t,r);return o.push(...await z(ed,t,r,{normalize:n})),await Z(t,r==="global"?Bo:Ne,jo,o,n),o}var Ax=u(()=>{mt();Ct();Q();_c();Wy();s(Lx,"importFromQwenCode");});function kx(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:jo}))}var wx=u(()=>{_t();_c();s(kx,"lintRules");});var yH,_H,IH,RH,SH,ed,Wy=u(()=>{Ox();Ax();wx();Rt();_c();yH={name:jo,primaryRootInstructionPath:gr,generateRules:_x,generateCommands:Ix,generateAgents:Rx,generateSkills:Sx,generateMcp:Cx,generateIgnore:Ex,importFrom:Lx},_H={rootInstructionPath:gr,skillDir:Ne,managedOutputs:{dirs:[Hn,Uo,Ko,Ne],files:[gr,js,Us]},paths:{rulePath(t,e){return e.root?gr:`${Hn}/${t}.md`},commandPath(t){return `${Uo}/${t}.md`},agentPath(t){return `${Ko}/${t}.md`}}},IH={rootInstructionPath:zn,skillDir:Bo,managedOutputs:{dirs:[Ks,Bs,Bo],files:[zn,ta]},rewriteGeneratedPath(t){return t===gr?zn:t===js?ta:t===Us?null:t.startsWith(`${Uo}/`)?t.replace(`${Uo}/`,`${Ks}/`):t.startsWith(`${Ko}/`)?t.replace(`${Ko}/`,`${Bs}/`):t.startsWith(`${Ne}/`)?t.replace(`${Ne}/`,`${Bo}/`):t.startsWith(`${Hn}/`)?null:t},paths:{rulePath(t,e){return zn},commandPath(t){return `${Ks}/${t}.md`},agentPath(t){return `${Bs}/${t}.md`}}},RH={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},SH={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},ed={id:jo,metadata:{displayName:"Qwen Code",category:"cli",officialUrl:"https://github.com/QwenLM/qwen-code",shortDescription:"Alibaba's Qwen coding CLI"},generators:yH,capabilities:RH,emptyImportMessage:"No Qwen Code config found (QWEN.md or .qwen/rules, .qwen/commands, .qwen/settings.json).",lintRules:kx,project:_H,globalSupport:{capabilities:SH,detectionPaths:[zn,ta,Ks,Bs,Bo],layout:IH},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[gr],global:[zn]},canonicalDir:Vf,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[Hn],global:[]},canonicalDir:Vf,extensions:[".md"],preset:"rule"}],commands:{feature:"commands",mode:"directory",source:{project:[Uo],global:[Ks]},canonicalDir:OE,extensions:[".md"],preset:"command"},agents:{feature:"agents",mode:"directory",source:{project:[Ko],global:[Bs]},canonicalDir:LE,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[js],global:[ta]},canonicalDir:".agentsmesh",canonicalFilename:".agentsmesh/mcp.json"},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Us],global:[]},canonicalDir:".agentsmesh",canonicalFilename:".agentsmesh/ignore"}},buildImportPaths:Jf,detectionPaths:[gr,".qwen/settings.json",".qwen/commands",".qwen/rules"]};});function Tx(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(Wo)),o=e?.body.trim()??"",n=st(o,r);return n?[{path:Xr,content:n}]:[]}function bx(t){return tt(t,Ie)}function Px(t){return t.commands.map(e=>({path:`${Ie}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function xx(t){return t.agents.map(e=>({path:`${Ie}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}var Dx=u(()=>{Q();Mt();at();St();Ic();s(Tx,"generateRules");s(bx,"generateSkills");s(Px,"generateCommands");s(xx,"generateAgents");});async function Nx(t,e={}){let r=e.scope??"project",o=[],n=await U(Wo,t,r);return o.push(...await z(rd,t,r,{normalize:n})),await Z(t,Ie,Wo,o,n),o}var Fx=u(()=>{mt();Q();Ct();Ic();Hy();s(Nx,"importFromReplitAgent");});function vx(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Wo}))}var Gx=u(()=>{_t();Ic();s(vx,"lintRules");});function Mx(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 $x(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 jx(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 Ux(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 Kx=u(()=>{Et();s(Mx,"lintHooks");s($x,"lintPermissions");s(jx,"lintIgnore");s(Ux,"lintMcp");});var CH,EH,OH,rd,Hy=u(()=>{St();at();Dx();Fx();Gx();Kx();Xf();Ic();CH={name:Wo,primaryRootInstructionPath:Xr,generateRules:Tx,generateCommands:Px,generateAgents:xx,generateSkills:bx,importFrom:Nx},EH={rootInstructionPath:Xr,skillDir:Ie,managedOutputs:{dirs:[Ie],files:[Xr]},paths:{rulePath(t){return Xr},commandPath(t){return `${Ie}/${W(t)}/SKILL.md`},agentPath(t){return `${Ie}/${$(t)}/SKILL.md`}}},OH={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},rd={id:Wo,metadata:{displayName:"Replit Agent",category:"agent-platform",officialUrl:"https://replit.com",shortDescription:"Replit's autonomous coding agent"},generators:CH,capabilities:OH,emptyImportMessage:"No Replit Agent config found (replit.md or .agents/skills).",lintRules:vx,lint:{hooks:Mx,permissions:$x,ignore:jx,mcp:Ux},supportsConversion:{commands:true,agents:true},project:EH,sharedArtifacts:{".agents/skills/":"consumer"},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[Xr]},canonicalDir:kE,canonicalRootFilename:"_root.md",markAsRoot:true}},buildImportPaths:Yf,detectionPaths:[Xr]};});function Wx(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:Zr,content:r.body.trim()||""});for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes(Ws))continue;let n=basename(o.source,".md");e.push({path:`${Vn}/${n}.md`,content:o.body.trim()||""});}return e}function Hx(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${Jn}/${e.name}.md`,content:P(r,e.body.trim()||"")}})}function zx(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:im,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function Vx(t){return t.ignore.length===0?[]:[{path:am,content:t.ignore.join(`
135
- `)}]}function Jx(t){return tt(t,Ho)}function Yx(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:Rc,content:stringify({customModes:e})}]}var Xx=u(()=>{Q();M();na();s(Wx,"generateRules");s(Hx,"generateCommands");s(zx,"generateMcp");s(Vx,"generateIgnore");s(Jx,"generateSkills");s(Yx,"generateAgents");});var od,Qx,zy=u(()=>{M();lt();na();od=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{if(t==="00-root.md")return null;let o=join(r,t),{frontmatter:n,body:i}=w(e(o));return {destPath:o,toPath:`${oa}/${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"),Qx=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let o=join(r,t),{frontmatter:n,body:i}=w(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 kH(t,e,r){let o=join(t,ea),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,oa);for(let c of i)e.push(...await yt({srcDir:join(o,c),destDir:a,extensions:[".md"],fromTool:Ws,normalize:r,mapEntry:s(async({srcPath:l,relativePath:m,content:p,normalizeTo:d})=>{let g=await od({absolutePath:l,relativePath:m,content:p,destDir:a,normalizeTo:d});return g?{...g,feature:"rules"}:null},"mapEntry")}));}async function qx(t,e={}){let r=e.scope??"project",o=[],n=await U(Ws,t,r);return o.push(...await z(nd,t,r,{normalize:n})),await kH(t,o,n),await Z(t,Ho,Ws,o,n),o}var tD=u(()=>{mt();Q();ke();Ct();zy();na();Jy();s(kH,"importPerModeRules");s(qx,"importFromRooCode");});function eD(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Ws}))}var rD=u(()=>{_t();na();s(eD,"lintRules");});function DH(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var PH,xH,NH,FH,vH,nd,Jy=u(()=>{T();Xx();na();Qt();tD();zy();rD();Rt();PH={name:"roo-code",primaryRootInstructionPath:Zr,generateRules:Wx,generateCommands:Hx,generateSkills:Jx,generateMcp:zx,generateIgnore:Vx,generateAgents:Yx,importFrom:qx},xH={rootInstructionPath:Zr,skillDir:".roo/skills",managedOutputs:{dirs:[".roo/rules",".roo/commands",".roo/skills"],files:[".roo/mcp.json",".rooignore",".roorules",Rc]},paths:{rulePath(t,e){return `${Vn}/${t}.md`},commandPath(t,e){return `${Jn}/${t}.md`},agentPath(t,e){return null}}};s(DH,"computeStatus");NH=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,cm));return [{target:"roo-code",path:cm,content:i,currentContent:a??void 0,status:DH(a,i)}]},"generateRooGlobalExtras"),FH={rootInstructionPath:Vs,skillDir:Yn,managedOutputs:{dirs:[Hs,zs,Yn,wE],files:[Vs,ra,lm,cm]},rewriteGeneratedPath(t){return t===Zr?Vs:t===Rc?null:t.startsWith(`${Vn}/`)?t.replace(`${Vn}/`,`${Hs}/`):t.startsWith(`${Jn}/`)?t.replace(`${Jn}/`,`${zs}/`):t.startsWith(`${Ho}/`)?t.replace(`${Ho}/`,`${Yn}/`):t===im?ra:t===am?lm:t},mirrorGlobalPath(t,e){return ct(t,Yn,e)},paths:{rulePath(t,e){return `${Hs}/${t}.md`},commandPath(t,e){return `${zs}/${t}.md`},agentPath(t,e){return null}}},vH={rules:"native",additionalRules:"native",commands:"native",agents:"partial",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},nd={id:"roo-code",metadata:{displayName:"Roo Code",category:"ide",officialUrl:"https://roocode.com",shortDescription:"Open-source AI VS Code extension"},generators:PH,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:eD,project:xH,globalSupport:{capabilities:vH,detectionPaths:[Hs,zs,Yn,ra,lm,Vs,cm],layout:FH,scopeExtras:NH},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Zr,sm],global:[Vs,Zr,sm]},canonicalDir:oa,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:[Vn],global:[Hs]},canonicalDir:oa,extensions:[".md"],map:od}],commands:{feature:"commands",mode:"directory",source:{project:[Jn],global:[zs]},canonicalDir:Xp,extensions:[".md"],map:Qx},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[im],global:[ra]},canonicalDir:".agentsmesh",canonicalFilename:TE},ignore:{feature:"ignore",mode:"flatFile",source:{project:[am],global:[lm]},canonicalDir:".agentsmesh",canonicalFilename:bE}},buildImportPaths:Zf,detectionPaths:[".roo/rules",".roo/commands",".roo/skills",".roo/mcp.json",".rooignore",".roorules",Rc]};});function oD(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=st(o,r);return n?[{path:fr,content:n}]:[]}function nD(t){return tt(t,Zt)}function sD(t){return t.commands.map(e=>({path:`${Zt}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function iD(t){return t.agents.map(e=>({path:`${Zt}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function aD(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Xn,content:e}]}var cD=u(()=>{Q();Mt();at();St();Cc();s(oD,"generateRules");s(nD,"generateSkills");s(sD,"generateCommands");s(iD,"generateAgents");s(aD,"generateMcp");});async function lD(t,e={}){let r=e.scope??"project",o=[],n=await U(zo,t,r);return o.push(...await z(sd,t,r,{normalize:n})),await Z(t,r==="global"?Fe:Zt,zo,o,n),o}var mD=u(()=>{mt();Q();Ct();Cc();Yy();s(lD,"importFromRovodev");});function pD(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:zo}))}var uD=u(()=>{_t();Cc();s(pD,"lintRules");});function dD(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 gD(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 fD(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 hD=u(()=>{Et();s(dD,"lintHooks");s(gD,"lintPermissions");s(fD,"lintIgnore");});var GH,MH,$H,jH,UH,sd,Yy=u(()=>{St();at();cD();Qt();mD();uD();hD();Rt();Cc();GH={name:zo,primaryRootInstructionPath:fr,generateRules:oD,generateCommands:sD,generateAgents:iD,generateSkills:nD,generateMcp:aD,importFrom:lD},MH={rootInstructionPath:fr,skillDir:Zt,managedOutputs:{dirs:[Zt],files:[fr,Xn]},paths:{rulePath(t){return fr},commandPath(t){return `${Zt}/${W(t)}/SKILL.md`},agentPath(t){return `${Zt}/${$(t)}/SKILL.md`}}},$H={rootInstructionPath:Zn,skillDir:Fe,managedOutputs:{dirs:[Fe],files:[Zn,Sc]},rewriteGeneratedPath(t){return t===fr?Zn:t.startsWith(`${Zt}/`)?t.replace(`${Zt}/`,`${Fe}/`):t===Xn?Sc:t},mirrorGlobalPath(t,e){return ct(t,Fe,e)},paths:{rulePath(t){return Zn},commandPath(t){return `${Fe}/${W(t)}/SKILL.md`},agentPath(t){return `${Fe}/${$(t)}/SKILL.md`}}},jH={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},UH={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},sd={id:zo,metadata:{displayName:"Rovo Dev",category:"cli",officialUrl:"https://www.atlassian.com/solutions/devops/rovo-dev",shortDescription:"Atlassian's coding agent"},generators:GH,capabilities:jH,emptyImportMessage:"No Rovo Dev config found (AGENTS.md, .rovodev/skills, or .rovodev/mcp.json).",lintRules:pD,lint:{hooks:dD,permissions:gD,ignore:fD},supportsConversion:{commands:true,agents:true},project:MH,globalSupport:{capabilities:UH,detectionPaths:[DE,Zn,Fe],layout:$H},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[fr],global:[Zn]},canonicalDir:NE,canonicalRootFilename:"_root.md",markAsRoot:true},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Xn],global:[Sc]},canonicalDir:".agentsmesh",canonicalFilename:"mcp.json"}},buildImportPaths:Qf,detectionPaths:[fr,Zt,Xn]};});function yD(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(hr))continue;let n=basename(o.source,".md");e.push({path:`${ve}/${n}.md`,content:o.body.trim()});}return e}function _D(t){return tt(t,yr)}function ID(t){return t.mcp===null||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:sa,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function RD(t){return t.ignore.length===0?[]:[{path:Ec,content:t.ignore.join(`
136
- `)}]}var SD=u(()=>{Q();Oc();s(yD,"generateRules");s(_D,"generateSkills");s(ID,"generateMcp");s(RD,"generateIgnore");});async function WH(t,e,r,o){let n=o==="global"?[_r,Ge]:[Ge,_r];for(let i of n){let a=join(t,i),c=await y(a);if(c===null)continue;let l=join(t,CD),{frontmatter:m,body:p}=w(r(c,a,l));await L(join(t,pm)),await I(l,await K(l,{...m,root:true},p)),e.push({fromTool:hr,fromPath:a,toPath:CD,feature:"rules"});return}}async function HH(t,e,r,o){let n=join(t,o==="global"?Qn:ve),i=join(t,pm);e.push(...await yt({srcDir:n,destDir:i,extensions:[".md"],fromTool:hr,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:d}=w(c(m));return {destPath:m,toPath:`${pm}/${a}`,feature:"rules",content:await K(m,{...p,root:false},d)}},"mapEntry")}));}async function ED(t,e={}){let r=e.scope??"project",o=[],n=await U(hr,t,r);return await WH(t,o,n,r),await HH(t,o,n,r),o.push(...await z(id,t,r,{normalize:n})),await Z(t,r==="global"?Qr:yr,hr,o,n),o}var CD,OD=u(()=>{mt();Q();ke();Ct();lt();T();M();Oc();Xy();CD=`${pm}/_root.md`;s(WH,"importRoot");s(HH,"importNonRootRules");s(ED,"importFromTrae");});function LD(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:hr}))}var AD=u(()=>{_t();Oc();s(LD,"lintRules");});var zH,VH,JH,YH,id,Xy=u(()=>{SD();Qt();OD();AD();Rt();Oc();zH={name:hr,primaryRootInstructionPath:Ge,generateRules:yD,generateSkills:_D,generateMcp:ID,generateIgnore:RD,importFrom:ED},VH={rootInstructionPath:Ge,skillDir:yr,managedOutputs:{dirs:[ve,yr],files:[sa,Ec]},paths:{rulePath(t,e){return `${ve}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return null}}},JH={rootInstructionPath:_r,skillDir:Qr,managedOutputs:{dirs:[Qn,Qr,vE],files:[_r,mm]},rewriteGeneratedPath(t){return t===Ge?_r:t.startsWith(`${ve}/`)?t.replace(`${ve}/`,`${Qn}/`):t.startsWith(`${yr}/`)?t.replace(`${yr}/`,`${Qr}/`):t===sa?mm:t===Ec?null:t},mirrorGlobalPath(t,e){return ct(t,Qr,e)},paths:{rulePath(t,e){return t==="_root"?_r:`${Qn}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return null}}},YH={rules:"native",additionalRules:"native",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},id={id:hr,metadata:{displayName:"Trae",category:"ide",officialUrl:"https://www.trae.ai",shortDescription:"ByteDance's adaptive AI IDE"},generators:zH,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:LD,project:VH,globalSupport:{capabilities:YH,detectionPaths:[_r,Qn,Qr,mm],layout:JH},importer:{mcp:{feature:"mcp",mode:"mcpJson",source:{project:[sa],global:[mm]},canonicalDir:".agentsmesh",canonicalFilename:GE},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Ec]},canonicalDir:".agentsmesh",canonicalFilename:ME}},buildImportPaths:qf,detectionPaths:[ve,sa,Ge]};});function kD(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=st(o,r);return n?[{path:qr,content:n}]:[]}function wD(t){return tt(t,ie)}function TD(t){return t.commands.map(e=>({path:`${ie}/${W(e.name)}/SKILL.md`,content:bt(e)}))}function bD(t){return t.agents.map(e=>({path:`${ie}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}function PD(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Js,content:e}]}var xD=u(()=>{Q();Mt();at();St();Lc();s(kD,"generateRules");s(wD,"generateSkills");s(TD,"generateCommands");s(bD,"generateAgents");s(PD,"generateMcp");});async function DD(t,e={}){let r=e.scope??"project",o=[],n=await U(Vo,t,r);return o.push(...await z(ad,t,r,{normalize:n})),await Z(t,r==="global"?Re:ie,Vo,o,n),o}var ND=u(()=>{mt();Q();Ct();Lc();Zy();s(DD,"importFromWarp");});function FD(t,e,r,o){return H(t,e,r,{checkGlobMatches:o?.scope!=="global"}).map(n=>({...n,target:Vo}))}var vD=u(()=>{_t();Lc();s(FD,"lintRules");});function GD(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 MD(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 $D(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 jD=u(()=>{Et();s(GD,"lintHooks");s(MD,"lintPermissions");s($D,"lintIgnore");});var XH,ZH,QH,qH,tz,ad,Zy=u(()=>{St();at();xD();Qt();ND();vD();jD();Rt();Lc();XH={name:Vo,primaryRootInstructionPath:qr,generateRules:kD,generateCommands:TD,generateAgents:bD,generateSkills:wD,generateMcp:PD,importFrom:DD},ZH={rootInstructionPath:qr,skillDir:ie,managedOutputs:{dirs:[ie],files:[qr,Js]},paths:{rulePath(t){return qr},commandPath(t){return `${ie}/${W(t)}/SKILL.md`},agentPath(t){return `${ie}/${$(t)}/SKILL.md`}}},QH={rootInstructionPath:void 0,skillDir:Re,managedOutputs:{dirs:[Re],files:[]},rewriteGeneratedPath(t){return t.startsWith(`${ie}/`)?t.replace(`${ie}/`,`${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`}}},qH={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},tz={rules:"none",additionalRules:"none",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},ad={id:Vo,metadata:{displayName:"Warp",category:"cli",officialUrl:"https://www.warp.dev",shortDescription:"AI-powered terminal"},generators:XH,capabilities:qH,emptyImportMessage:"No Warp config found (WARP.md, AGENTS.md, .warp/skills, or .mcp.json).",lintRules:FD,lint:{hooks:GD,permissions:MD,ignore:$D},supportsConversion:{commands:true,agents:true},project:ZH,globalSupport:{capabilities:tz,detectionPaths:[Re],layout:QH},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[th,qr]},canonicalDir:jE,canonicalRootFilename:"_root.md",markAsRoot:true},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Js]},canonicalDir:".agentsmesh",canonicalFilename:"mcp.json"}},buildImportPaths:eh,detectionPaths:[qr,th,Js]};});var rn,Qy,ri,UD,Uc,on,Kc,Bc,KD,oi,oo,Wc,qy,BD,WD,t_,e_,r_,Hc,zc,Em,cd,ld,md,HD,fe=u(()=>{rn="windsurf",Qy=".windsurfrules",ri=".windsurf/rules",UD=".windsurfignore",Uc=".codeiumignore",on="AGENTS.md",Kc=".windsurf/hooks.json",Bc=".windsurf/mcp_config.example.json",KD=".windsurf/mcp_config.json",oi=".windsurf/workflows",oo=".windsurf/skills",Wc=".agentsmesh/rules",qy=".agentsmesh/commands",BD=".agentsmesh/agents",WD=".agentsmesh/skills",t_=".agentsmesh/ignore",e_=".agentsmesh/hooks.yaml",r_=".agentsmesh/mcp.json",Hc=".codeium/windsurf/memories/global_rules.md",zc=".codeium/windsurf/skills",Em=".codeium/windsurf/global_workflows",cd=".codeium/windsurf/hooks.json",ld=".codeium/windsurf/mcp_config.json",md=".codeium/.codeiumignore",HD=".agents/skills";});function rz(t){let e=basename(t,".md");return e==="_root"?"root":e}function oz(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 o_(t){let e=[],r=t.rules.find(o=>o.root);if(!r)return [];e.push({path:on,content:r.body.trim()});for(let o of t.rules){if(o.root||o.targets.length>0&&!o.targets.includes("windsurf"))continue;let n=rz(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:`${ri}/${n}.md`,content:c});let l=oz(o.globs);l&&(l!==n&&e.push({path:`${ri}/${l}.md`,content:c}),e.push({path:`${l}/AGENTS.md`,content:o.body.trim()||""}));}return e}var zD=u(()=>{M();fe();s(rz,"ruleSlug");s(oz,"directoryScopedRuleDir");s(o_,"generateRules");});function n_(t){return !t.ignore||t.ignore.length===0?[]:[{path:Uc,content:t.ignore.join(`
137
- `)}]}var VD=u(()=>{fe();s(n_,"generateIgnore");});function s_(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:`${oi}/${e.name}.md`,content:o}})}var JD=u(()=>{M();fe();s(s_,"generateCommands");});function i_(t){return t.agents.map(e=>({path:`${oo}/${$(e.name)}/SKILL.md`,content:Lt(e)}))}var YD=u(()=>{at();fe();s(i_,"generateAgents");});function a_(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Bc,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}var XD=u(()=>{fe();s(a_,"generateMcp");});function nz(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 sz(t){let e={};for(let[r,o]of Object.entries(t)){if(!Array.isArray(o))continue;let n=[];for(let i of o){if(!po(i))continue;let a=Kt(i),c=le(i),l=i.type==="prompt"?c||a:a||c;l&&n.push({command:l,show_output:true});}n.length>0&&(e[nz(r)]=n);}return e}function c_(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=sz(t.hooks);return Object.keys(e).length===0?[]:[{path:Kc,content:JSON.stringify({hooks:e},null,2)}]}var ZD=u(()=>{br();fe();s(nz,"windsurfEventName");s(sz,"toWindsurfHooks");s(c_,"generateHooks");});function l_(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:`${oo}/${r.name}/SKILL.md`,content:n});for(let i of r.supportingFiles)e.push({path:`${oo}/${r.name}/${i.relativePath}`,content:i.content});}return e}var QD=u(()=>{M();fe();s(l_,"generateSkills");});var qD=u(()=>{zD();VD();JD();YD();XD();ZD();QD();});var tN=u(()=>{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,oi),i=(await N(o)).filter(c=>c.endsWith(".md")),a=join(t,qy);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),d=r(l,c,p),{frontmatter:g,body:f}=w(d),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 I(p,h),e.push({fromTool:rn,fromPath:c,toPath:`${qy}/${m}`,feature:"commands"});}}var oN=u(()=>{T();M();lt();fe();s(eN,"toStringArray");s(rN,"importWorkflows");});async function nN(t,e,r,o=oo){await wc([o],{projectRoot:t,destCanonicalSkillsDir:WD,targetName:"windsurf",normalize:r,results:e},[Tc({canonicalAgentsDir:BD})]);}var sN=u(()=>{bc();fe();s(nN,"importSkills");});async function aN(t,e){let r=join(t,Kc),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=lz(n.hooks);if(Object.keys(i).length===0)return;let a=join(t,e_);await L(dirname(a)),await I(a,stringify(i)),e.push({fromTool:rn,fromPath:r,toPath:e_,feature:"hooks"});}catch{}}function cz(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 lz(t){let e={};for(let[r,o]of Object.entries(t)){if(!Array.isArray(o))continue;let n=cz(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 d=p,g=typeof d.command=="string"?d.command:typeof d.prompt=="string"?d.prompt:"";if(!g.trim())continue;let f={matcher:l,type:d.type==="prompt"?"prompt":"command",command:g};typeof d.timeout=="number"&&(f.timeout=d.timeout),i.push(f);}}i.length>0&&(e[n]=i);}return e}async function cN(t,e){let r=[Bc,KD];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,r_);await L(dirname(c)),await I(c,JSON.stringify({mcpServers:a.mcpServers},null,2)),e.push({fromTool:rn,fromPath:n,toPath:r_,feature:"mcp"});return}catch{}}}var lN=u(()=>{T();fe();s(aN,"importWindsurfHooks");s(cz,"canonicalHookEventName");s(lz,"windsurfHooksToCanonical");s(cN,"importWindsurfMcp");});async function ud(t,e){let r=e?.scope??"project",o=[],n=await U(rn,t),i=await U("codex-cli",t),a=join(t,Wc),c=join(t,Qy),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 I(g,h),o.push({fromTool:"windsurf",fromPath:c,toPath:`${Wc}/_root.md`,feature:"rules"});}if(l===null){let g=join(t,on),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 I(h,R),o.push({fromTool:"windsurf",fromPath:g,toPath:`${Wc}/_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 go(join(a,`${O}.md`)),null;let R=join(a,`${O}.md`);return {destPath:R,toPath:`${Wc}/${O}.md`,feature:"rules",content:await K(R,{root:false,globs:[`${h}/**`]},f(R))}},"mapEntry")}));let m=join(t,ri);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}=w(f(h)),E={...O};return typeof E.glob=="string"&&E.glob.trim()&&(E.globs=[E.glob],delete E.glob),{destPath:h,toPath:`${Wc}/${g}`,feature:"rules",content:await K(h,{...E,root:false},R)}},"mapEntry")}));let p=join(t,UD),d=await y(p);if((d===null||!d.trim())&&(p=join(t,Uc),d=await y(p)),d!==null&&d.trim()){let g=d.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,t_);await I(h,f.join(`
138
- `)),o.push({fromTool:"windsurf",fromPath:p,toPath:t_,feature:"ignore"});}}return await rN(t,o,n),await nN(t,o,n),await aN(t,o),await cN(t,o),o}var p_=u(()=>{mt();T();M();lt();ke();Al();fe();oN();sN();lN();s(ud,"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:rn,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:rn,message:`Windsurf cannot project these features yet: ${i.join(", ")}.`}),o}var pN=u(()=>{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=u(()=>{Et();s(uN,"lintCommands");s(dN,"lintMcp");});function gz(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 fz,hz,yz,_z,fN,hN=u(()=>{tN();_i();fe();Qt();p_();pN();gN();Rt();Ua();at();s(gz,"directoryScopedRuleDir");fz={name:"windsurf",primaryRootInstructionPath:on,generateRules:o_,generateCommands:s_,generateAgents:i_,generateSkills:l_,generateMcp:a_,generateHooks:c_,generateIgnore:n_,importFrom:ud},hz={rootInstructionPath:on,extraRuleOutputPaths(t){if(t.root)return [on];let e=gz(t.globs);return e!==null?[`${e}/AGENTS.md`]:[]},skillDir:oo,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 `${ri}/${t}.md`},commandPath(t,e){return `${oi}/${t}.md`},agentPath(t,e){return Ve(e,"windsurf")?`.windsurf/skills/${$(t)}/SKILL.md`:null}}},yz={rootInstructionPath:Hc,skillDir:zc,managedOutputs:{dirs:[zc,Em,HD],files:[Hc,cd,ld,md]},rewriteGeneratedPath(t){return t===on?Hc:t.startsWith(`${ri}/`)||/\/AGENTS\.md$/.test(t)?null:t.startsWith(`${oo}/`)?t.replace(`${oo}/`,`${zc}/`):t.startsWith(`${oi}/`)?t.replace(`${oi}/`,`${Em}/`):t===Kc?cd:t===Bc?ld:t===Uc?md:t},mirrorGlobalPath(t,e){return ct(t,".codeium/windsurf/skills",e)},paths:{rulePath(t,e){return Hc},commandPath(t,e){return `${Em}/${t}.md`},agentPath(t,e){return Ve(e,"windsurf")?`${zc}/${$(t)}/SKILL.md`:null}}},_z={rules:"native",additionalRules:"partial",commands:Dr("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:fz,capabilities:{rules:"native",additionalRules:"native",commands:Dr("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:hz,globalSupport:{capabilities:_z,detectionPaths:[Hc,zc,Em,cd,ld,md],layout:yz},buildImportPaths:rh,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=st(o,r);return n?[{path:to,content:n}]:[]}var _N=u(()=>{Mt();ia();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=u(()=>{T();Nr();ia();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(dd,t,r,{normalize:n})),await RN(t,r==="global"?Yo:Jo,o),o}var EN=u(()=>{mt();Ct();SN();ia();u_();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=u(()=>{_t();ia();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=u(()=>{Et();s(AN,"lintHooks");s(kN,"lintPermissions");s(wN,"lintIgnore");});function Lz(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 Rz,Sz,Cz,Ez,Oz,dd,u_=u(()=>{_N();EN();LN();TN();Rt();ia();Rz={name:"zed",primaryRootInstructionPath:to,generateRules:yN,importFrom:CN},Sz={rootInstructionPath:to,managedOutputs:{dirs:[],files:[to,Jo]},paths:{rulePath(t){return to},commandPath(){return null},agentPath(){return null}}},Cz={rootInstructionPath:void 0,managedOutputs:{dirs:[],files:[Yo]},rewriteGeneratedPath(t){return t===Jo?Yo:t},paths:{rulePath(){return Yo},commandPath(){return null},agentPath(){return null}}},Ez={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"none",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Oz={rules:"none",additionalRules:"none",commands:"none",agents:"none",skills:"none",mcp:"native",hooks:"none",ignore:"none",permissions:"none"};s(Lz,"mergeZedSettings");dd={id:"zed",metadata:{displayName:"Zed",category:"ide",officialUrl:"https://zed.dev",shortDescription:"Collaborative AI editor"},generators:Rz,capabilities:Ez,emptyImportMessage:"No Zed config found (.rules or .zed/settings.json).",lintRules:ON,lint:{hooks:AN,permissions:kN,ignore:wN},project:Sz,globalSupport:{capabilities:Oz,detectionPaths:[Yo],layout:Cz},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[to],global:[]},canonicalDir:BE,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:Jo,content:JSON.stringify({context_servers:r},null,2)}]},mergeGeneratedOutputContent(t,e,r,o){return o===Jo||o===Yo?Lz(t,r):null},buildImportPaths:oh,detectionPaths:[to,Jo]};});var _C={};ug(_C,{BUILTIN_TARGETS:()=>zt,TARGET_IDS:()=>kt,getBuiltinTargetDefinition:()=>Cr,getEffectiveTargetSupportLevel:()=>gd,getTargetCapabilities:()=>ti,getTargetDetectionPaths:()=>g_,getTargetLayout:()=>vt,getTargetManagedOutputs:()=>f_,getTargetPrimaryRootInstructionPath:()=>kz,getTargetSkillDir:()=>Om,isBuiltinTargetId:()=>wr,resolveTargetFeatureGenerator:()=>Vc,rewriteGeneratedOutputPath:()=>h_});function Az(){return d_||(wS(zt),d_=new Map(zt.map(t=>[t.id,t]))),d_}function Cr(t){return Az().get(t)}function ti(t,e="project"){let r=Cr(t)??ut(t);if(!r)return;let o=e==="global"?r.globalSupport?.capabilities??r.capabilities:r.capabilities;return AS(o)}function g_(t,e="project"){let r=Cr(t)??ut(t);return r?e==="global"?r.globalSupport?.detectionPaths??[]:r.detectionPaths:[]}function vt(t,e="project"){let r=Cr(t)??ut(t);if(r)return e==="global"?r.globalSupport?.layout:r.project}function kz(t,e="project"){return vt(t,e)?.rootInstructionPath}function Om(t,e="project"){return vt(t,e)?.skillDir}function f_(t,e="project"){return vt(t,e)?.managedOutputs}function h_(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?!ja(r,t.id,true,o):e==="agents"&&t.supportsConversion?.agents?!Ve(r,t.id,true,o):false}function wz(t,e,r,o){return !t||!r?false:e==="commands"&&t.supportsConversion?.commands?ja(r,t.id,true,o):e==="agents"&&t.supportsConversion?.agents?Ve(r,t.id,true,o):false}function gd(t,e,r,o="project"){let n=ti(t,o)?.[e]?.level??"none",i=Cr(t)??ut(t);return n==="none"&&wz(i,e,r,o)?"embedded":n!=="embedded"?n:bN(i,e,r,o)?"none":n}function Vc(t,e,r,o="project"){let n=Cr(t)??ut(t);if(!n?.generators||bN(n,e,r,o))return;let i=Tz[e];return i===null?void 0:i(n.generators)}var zt,d_,Tz,xt=u(()=>{Ua();_i();je();$g();mo();Xg();nh();sh();ah();QO();lh();eA();BA();Dh();jh();Kh();ny();sy();iy();Ay();ky();wy();by();vy();$y();Uy();By();Wy();Hy();Jy();Yy();Xy();Zy();hN();u_();zt=[Cp,Qp,qp,tu,ZO,eu,tA,KA,uu,Iu,Su,Pu,xu,Du,Ku,Bu,Wu,zu,Xu,Qu,qu,td,ed,rd,nd,sd,id,ad,fN,dd];s(Az,"builtinTargetsMap");s(Cr,"getBuiltinTargetDefinition");s(ti,"getTargetCapabilities");s(g_,"getTargetDetectionPaths");s(vt,"getTargetLayout");s(kz,"getTargetPrimaryRootInstructionPath");s(Om,"getTargetSkillDir");s(f_,"getTargetManagedOutputs");s(h_,"rewriteGeneratedOutputPath");s(bN,"isFeatureSuppressedByConversion");s(wz,"isConversionUpgrading");s(gd,"getEffectiveTargetSupportLevel");Tz={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(Vc,"resolveTargetFeatureGenerator");});function vz(t){return typeof t=="string"?t:t.level}function PN(t){return Fz.includes(t)}function xN(t,e,r,o){for(let n of Nz){let i=vz(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 fd(t){return Mz.parse(t)}var as,DN,bz,Pz,NN,xz,Dz,Nz,Fz,Gz,Mz,y_=u(()=>{as=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:as,additionalRules:as,commands:as,agents:as,skills:as,mcp:as,hooks:as,ignore:as,permissions:as}),bz=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(),Pz=z$1.object({rulePath:z$1.function(),commandPath:z$1.function(),agentPath:z$1.function()}),NN=z$1.object({paths:Pz}).passthrough(),xz=z$1.object({capabilities:DN,detectionPaths:z$1.array(z$1.string()),layout:NN,scopeExtras:z$1.function().optional()}).passthrough(),Dz=["global","globalCapabilities","globalDetectionPaths","generateScopeExtras"],Nz=[{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"}],Fz=["mcp","hooks","ignore","permissions"];s(vz,"capabilityLevel");s(PN,"canUseScopedSettings");s(xN,"validateCapabilityImplementations");Gz=z$1.object({id:z$1.string().regex(/^[a-z][a-z0-9-]*$/,"Target id must be lowercase with hyphens"),generators:bz,capabilities:DN,emptyImportMessage:z$1.string(),lintRules:z$1.union([z$1.function(),z$1.null()]),project:NN,globalSupport:xz.optional(),buildImportPaths:z$1.function(),detectionPaths:z$1.array(z$1.string())}).passthrough(),Mz=Gz.superRefine((t,e)=>{for(let r of Dz)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(fd,"validateDescriptor");});function $z(){return __||(__=new Map(zt.map(t=>[t.id,t]))),__}function hd(t){let e=fd(t);I_.set(e.id,e);}function ut(t){return I_.get(t)??$z().get(t)}function yd(){return [...I_.values()]}var I_,__,je=u(()=>{xt();y_();I_=new Map;s($z,"builtinDescriptors");s(hd,"registerTargetDescriptor");s(ut,"getDescriptor");s(yd,"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=u(()=>{je();s(FN,"buildImportReferenceMap");});function Kz(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 Bz(){let t=new Set([".agentsmesh/"]);for(let e of zt)for(let r of Kz(e))t.add(r);return Array.from(t)}function Wz(){let t=new Set([...Bz(),...R_.rootRelativePrefixes]),e=new Set([...Uz,...R_.meshRootSegments]);return {protectedSchemes:[...jz,...R_.protectedSchemes],rootRelativePrefixes:Array.from(t),meshRootSegments:e}}function _d(){return S_||(S_=Wz()),S_}var jz,Uz,R_,S_,GN=u(()=>{xt();jz=[/\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],Uz=new Set(["skills","rules","commands","agents","packs"]),R_={protectedSchemes:[],rootRelativePrefixes:[],meshRootSegments:[]};s(Kz,"topLevelDotfilePrefixes");s(Bz,"buildDefaultRootRelativePrefixes");s(Wz,"rebuild");s(_d,"getLinkFormatRegistry");});function no(t){let e=Pt(t);return _d().rootRelativePrefixes.some(r=>e.startsWith(r))}function zz(t){let e=Pt(t).replace(/^\.\//,"");if(e.startsWith("../")||e.startsWith("/")||Pr.test(e)||/^[a-zA-Z]:/.test(e)||no(e))return false;let r=e.split("/").filter(o=>o.length>0)[0];return r!==void 0&&_d().meshRootSegments.has(r)}function Lm(t,e,r){let o=et(e),n=V(e,e),i=V(e,r),a=Pt(t);if(Pr.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=CS(a,n);return l&&l!==c?[c,l]:[c]}if(no(a))return [V(e,o.join(n,a))];if(a.includes("/")){let c=V(e,o.join(n,".agentsmesh")),l=zz(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 Vz.has(a)?[]:a.includes(".")?[V(e,o.join(o.dirname(i),a))]:[]}function Am(t,e){let r=[e];if(!SS(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 Id(t){let e=[];for(let r of _d().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(Jz))e.push([r.index??0,(r.index??0)+r[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]);return e}var Vz,Jz,Yz,Xz,jN,Jc,ni=u(()=>{ee();GN();s(no,"isRootRelativePathToken");s(zz,"isMeshRootRelativePathToken");Vz=new Set(["AGENTS.md","CLAUDE.md","GEMINI.md","codex.md",".windsurfrules",".cursorrules"]),Jz=/^(?:```|~~~)[^\n]*\n[\s\S]*?^(?:```|~~~)/gm,Yz=/<!-- agentsmesh:root-generation-contract:start -->[\s\S]*?<!-- agentsmesh:root-generation-contract:end -->/g,Xz=/<!-- 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,Jc=/(?::(\d+)){1,2}$/;s(Lm,"resolveProjectPath");s(Am,"expandResolvedPaths");s(UN,"isGlobAdjacent");s(Id,"protectedRanges");});function Zz(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 Zz(t.tokenContext)}function C_(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 so(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(!so(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 E_(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 Yc(t,e,r){let o=E_(t,e,r);return o===null?null:{kind:"projectRoot",rest:o,text:o}}function O_(t,e,r,o,n){let i=et(t),a=V(t,t),c=V(t,e),l=V(t,r);if(!C_(t,l))return Yc(t,l,o)?.text??null;let m=V(t,i.dirname(c));if(!C_(t,m)&&m!==a)return Yc(t,l,o)?.text??null;let p=i.relative(m,l).replace(/\\/g,"/");if(i.isAbsolute(p)||Pr.test(p))return E_(t,l,o);let d=V(t,i.join(m,p));return C_(t,d)?(p===""||p==="."?p=".":n.explicitCurrentDirLinks===true&&m!==a&&!p.startsWith("../")&&!p.startsWith("./")&&(p=`./${p}`),o&&!p.endsWith("/")?`${p}/`:p):E_(t,l,o)}var L_=u(()=>{ee();s(Zz,"isReadingContext");s(KN,"isReadingContextOptions");s(C_,"isUnderProjectRoot");s(BN,"agentsMeshRoot");s(so,"isUnderAgentsMesh");s(WN,"toAgentsMeshRootRelative");s(E_,"toProjectRootRelative");s(Yc,"toProjectRootReference");s(O_,"formatLinkPathForDestinationLegacy");});function HN(t,e,r,o,n={}){let i=n.scope??"project",a=V(t,r);if(KN(n)&&so(t,e)&&so(t,a)){let m=et(t),p=V(t,t),d=m.relative(p,a).replace(/\\/g,"/");if(!d.startsWith("..")&&d.length>0)return o&&!d.endsWith("/")?`${d}/`:d}if(n.forceRelative)return O_(t,e,r,o,n);if(i==="global"&&!so(t,e))return Yc(t,a,o)?.text??null;let c=(()=>{if(so(t,a))return a;let m=n.logicalMeshSourceAbsolute;return m&&so(t,V(t,m))?V(t,m):null})();if(!c)return Yc(t,a,o)?.text??null;if(o||(n.pathIsDirectory?.(a)??false)){let m=WN(t,c,o);return m!==null?m:Yc(t,c,o)?.text??null}return O_(t,e,r,o,n)}var zN=u(()=>{ni();ee();L_();L_();s(HN,"formatLinkPathForDestination");});function VN(t,e,r,o){let n=et(e),i=Pt(t);if(!no(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("/"),d=V(e,n.join(l,p));if(d!==c&&o(d))return d}return null}var JN=u(()=>{ee();ni();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 d of Am(t.projectRoot,l)){let g=V(t.projectRoot,d),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=u(()=>{ee();ni();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("/")||Pr.test(e)||no(e)?false:e.includes("/")}var tF=u(()=>{ee();ni();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}=$a(o),a=i.replace(Jc,""),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&&!no(c)&&Qz(t,e,o)):m==="@"?true:m==="("?p===")"||p==="#"||p==="?"||p===" "||p===" ":n?no(c)?true:c.includes("/")||c.includes("\\")?c.startsWith("./")||c.startsWith("../")?true:(c.split(/[\\/]/).filter(Boolean).at(-1)??"").includes("."):false:false}var nF=u(()=>{ee();ni();s(Qz,"markdownBracketLabelDuplicatesDestination");s(eF,"isMarkdownReferenceDefinitionDestination");s(rF,"getTokenContext");s(oF,"shouldRewritePathToken");});function Rd(t){let e=new Set,r=Id(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}=$a(n);if(!c)return n;let m=Jc.exec(c),p=m?c.slice(0,m.index):c,d=m?m[0]:"";if(!p)return n;let g=rF(a,i,i+p.length);if(g.role!=="markdown-link-dest"&&Pr.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 E=Pt(p),A=p.endsWith("/")||t.pathIsDirectory?.(f)===true;if(A&&!E.includes("/")&&!E.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),cn=V(t.projectRoot,t.projectRoot),Ar=Ut.replace(/^\.\//,"");R=V(t.projectRoot,wt.join(cn,Ar));}}let F=et(t.projectRoot);if(t.scope==="global"){let Ut=Pt(c),wt=Ut.startsWith(".agentsmesh/")||Ut.includes("/.agentsmesh/"),cn=no(Ut)||qN(Ut),Ar=R!==null&&so(t.projectRoot,R),ds=so(t.projectRoot,f);if(R===f&&!ds&&!Ar&&!wt){let uR=Pt(F.relative(t.projectRoot,V(t.projectRoot,t.sourceFile))).split("/").filter(Boolean)[0]??"",o$=(R!==null?Pt(F.relative(t.projectRoot,R)):"").split("/").filter(Boolean)[0]??"";if(uR.length>0&&uR===o$)return n}if(!cn&&!wt&&!Ar&&!ds)return n}let v=V(t.projectRoot,t.destinationFile),G=V(t.projectRoot,f),J=Pt(F.relative(t.projectRoot,v)),Y=Pt(F.relative(t.projectRoot,G)),q=J.split("/").filter(Boolean)[0]??"",Ft=Y.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),ao=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 ao?`${ao}${d}${l}`:n}),missing:[...e]}}var A_=u(()=>{ee();ni();zN();XN();tF();nF();s(Rd,"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,d]of m.entries())n.set(p,d);}let a=new Map;for(let[l,m]of n.entries()){let p=o.normalize(o.join(e,m));for(let d of iF(o,o.join(e,l)))a.set(d,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)=>Rd({content:l,projectRoot:e,sourceFile:m,destinationFile:p,translatePath:s(d=>a.get(d)??d,"translatePath"),pathExists:s(d=>{let g=o.normalize(d);return a.has(d)||a.has(g)||existsSync(d)||c.has(g)},"pathExists"),explicitCurrentDirLinks:false,rewriteBarePathTokens:true,scope:r,pathIsDirectory:s(d=>{try{return statSync(d).isDirectory()}catch{return false}},"pathIsDirectory")}).content}var mt=u(()=>{ee();vN();A_();mo();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(!po({...m,type:p}))continue;let d=p==="prompt"?le(m)||Kt(m):Kt(m)||le(m),g={matcher:c,type:p,command:d};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,Ln),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,ki);return await L(dirname(c)),await I(c,a),e.push({fromTool:"claude-code",fromPath:r,toPath:ki,feature:"hooks"}),true}async function mF(t,e){let r=e.some(m=>m.feature==="hooks"&&m.fromPath.replace(/\\/g,"/").endsWith(Ln)),o=join(t,Ml),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,Kl,m),e.push({fromTool:"claude-code",fromPath:o,toPath:Kl,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"):[],d=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||d.length>0||g.length>0){let f=stringify({allow:p,deny:d,ask:g}),h=join(t,gf);await L(dirname(h)),await I(h,f),e.push({fromTool:"claude-code",fromPath:o,toPath:gf,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),d=join(t,ki);await L(dirname(d)),await I(d,p),e.push({fromTool:"claude-code",fromPath:o,toPath:ki,feature:"hooks"});}}}var pF=u(()=>{br();T();Nr();An();s(cF,"claudeHooksToCanonical");s(lF,"importClaudeHooksJson");s(mF,"importSettings");});async function dF(t,e,r){let o=join(t,Gl),n=join(t,df),a=(await N(o)).filter(c=>c.endsWith("SKILL.md"));for(let c of a){let l=dirname(c),m=basename(l),p=join(n,m),d=await N(l);for(let g of d){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),E=h==="SKILL.md"?w(R):null;await I(O,h==="SKILL.md"?await uo(O,E?.frontmatter??{},E?.body??""):R);let A=`${df}/${m}/${h}`;e.push({fromTool:"claude-code",fromPath:g,toPath:A,feature:"skills"});}}}var gF=u(()=>{T();M();lt();An();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 mh=u(()=>{mt();Ct();pF();gF();lh();s(ru,"importFromClaudeCode");});async function wm(t,e){let r=rV[e];if(!r)throw new Error(`No importer registered for native target: ${e}`);return r(t)}var rV,T_=u(()=>{mh();oy();$h();Ly();Ph();p_();hh();xh();Ty();My();Fy();rV={"claude-code":ru,cursor:bu,copilot:_u,"gemini-cli":Uu,"codex-cli":lu,windsurf:ud,cline:nu,continue:pu,junie:Hu,kiro:Zu,"kilo-code":Yu};s(wm,"importNativeToCanonical");});async function Ra(t){if(!await j(t))return false;if(await j(join(t,P_)))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,P_)))return !0}catch{return false}return false}async function Tm(t){if(!await j(t))return [];if(await j(join(t,P_))){let e=await gS(t);return e?[e]:[]}return Ga(t)}var P_,Cd=u(()=>{T();pp();P_="SKILL.md";s(Ra,"isSkillPackLayout");s(Tm,"loadSkillsAtExtendPath");});function iV(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}function aV(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 Ed(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 cV(t){if(basename(t)==="rules")return di(t);let r=join(t,"rules");return await j(r)?di(r):[]}async function lV(t){if(basename(t)==="commands")return gi(t);let r=join(t,"commands");return await j(r)?gi(r):[]}async function mV(t){if(basename(t)==="agents")return hi(t);let r=join(t,"agents");return await j(r)?hi(r):[]}async function pV(t){if(await Ra(t))return Tm(t);let e=join(t,"skills");return await Ra(e)?Tm(e):[]}async function Od(t){let e=join(t,".agentsmesh");if(await j(e))return Ae(t);let r=iV();if(r.rules=await cV(t),r.commands=await lV(t),r.agents=await mV(t),r.skills=await pV(t),aV(r))throw new Error(`No installable resources at ${t}. Expected .agentsmesh/, or rules/, commands/, agents/, or Anthropic-style skills (SKILL.md).`);return r}var x_=u(()=>{T();lp();yi();cp();ap();Cd();s(iV,"emptyCanonical");s(aV,"isCanonicalSliceEmpty");s(Ed,"normalizeSlicePath");s(cV,"parseRulesAt");s(lV,"parseCommandsAt");s(mV,"parseAgentsAt");s(pV,"loadSkillsForPartialSlice");s(Od,"loadCanonicalSliceAtPath");});function uV(){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 Ra(e)){let a=await Tm(e);return {...uV(),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/, ${IS.join(", ")}.`);_.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)||(_.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 Ed(r);try{return await Od(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=u(()=>{Mg();T();ft();yi();T_();Cd();x_();s(uV,"emptyCanonical");s(fF,"loadCanonicalForExtend");});function Ld(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)||_.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)||_.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)||_.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)||_.warn(`[agentsmesh] pick name "${l}" not found in rules from extend "${o}".`);}return n}var N_=u(()=>{ft();s(Ld,"applyExtendPick");});var fV,Xc,Ad=u(()=>{fV=["rules","commands","agents","skills"],Xc=z$1.enum(fV);});var hV,yF,_F=u(()=>{pn();Ad();hV=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:hV,installed_at:z$1.string(),updated_at:z$1.string(),features:z$1.array(Da).min(1),pick:gl.optional(),target:ze.optional(),path:z$1.string().optional(),paths:z$1.array(z$1.string().min(1)).min(1).optional(),as:Xc.optional(),content_hash:z$1.string()});});function IF(t){let e=ui(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 _V(t,e){return e?t.length===e.length&&[...t].sort().every((r,o)=>r===[...e].sort()[o]):true}async function kd(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 kd(a);if(c&&IF(c.source)===o&&c.target===r.target&&c.as===r.as&&_V(c.features,r.features))return {meta:c,packDir:a,name:c.name}}return null}async function wd(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 kd(n);i&&r.push({meta:i,packDir:n,name:i.name});}return r}var Td=u(()=>{T();_F();yl();s(IF,"sourceIdentity");s(_V,"sameFeatures");s(kd,"readPackMetadata");s(SF,"findExistingPack");s(wd,"listPacks");});function CF(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}async function IV(t){let[e,r,o,n,i,a,c,l]=await Promise.all([di(join(t,"rules")),gi(join(t,"commands")),hi(join(t,"agents")),Ga(join(t,"skills")),Tr(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 wd(e),o=CF();for(let{meta:n,packDir:i}of r){let a=await IV(i),c=v_(a,n.features),l=Ld(c,n.features,n.pick,n.name);o=Ma(o,l);}return o}var OF=u(()=>{ap();cp();lp();pp();Rl();xg();Ng();Fg();Gg();sn();N_();Td();s(CF,"emptyCanonical");s(IV,"loadPackCanonical");s(EF,"loadPacksCanonical");});function v_(t,e){if(e.length===0)return LF();let r=new Set(e.flatMap(o=>SV[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 va(t,e,{refreshCache:r.refreshRemoteCache===true}),i=LF();for(let l of n){let m=await fF(l),p=v_(m,l.features),d=Ld(p,l.features,l.pick,l.name);i=Ma(i,d);}let a=await EF(o);i=Ma(i,a);let c=await Ae(o);return i=Ma(i,c),{canonical:i,resolvedExtends:n}}var SV,sn=u(()=>{np();yi();Gg();hF();N_();OF();SV={rules:["rules"],commands:["commands"],agents:["agents"],skills:["skills"],mcp:["mcp"],permissions:["permissions"],hooks:["hooks"],ignore:["ignore"]};s(v_,"filterCanonicalByFeatures");s(LF,"emptyCanonical");s(he,"loadCanonicalWithExtends");});function mJ(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 pJ(t){return t.startsWith("file:")||t.startsWith("./")||t.startsWith("../")||t.startsWith("/")||/^[A-Za-z]:[/\\]/.test(t)}async function uJ(t,e){let{source:r}=t,o;if(pJ(r)){let i=r.startsWith("file:")?fileURLToPath(r):r,a=resolve(e,i);o=pathToFileURL(a).href;}else {let i=mJ(r,e);o=pathToFileURL(i).href;}return await import(o)}function dJ(t){return "descriptor"in t?[t.descriptor]:"descriptors"in t&&Array.isArray(t.descriptors)?t.descriptors:"default"in t?[t.default]:[]}async function Md(t,e){let r;try{r=await uJ(t,e);}catch(i){throw new Error(`Plugin '${t.source}' failed to import: ${i instanceof Error?i.message:String(i)}`,{cause:i})}let o=dJ(r),n=[];for(let i of o)try{let a=fd(i);hd(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 Md(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):(_.warn(l),null)}}))).filter(a=>a!==null);if(i.length>0){let a=i.map(c=>` - ${c.message}`).join(`
139
+ ${f}`:u,h={};p&&(h.description=p),typeof l.name=="string"&&l.name.length>0&&(h.name=l.name);let R=await Vt(m,h,g),C=r(R,n,m);await I(m,C),e.push({feature:"agents",fromTool:_e,fromPath:n,toPath:`${ra}/${c}.md`});}}async function _D(t,e={}){let r=e.scope??"project",n=[],o=await B(_e,t,r);return n.push(...await J(Ed,t,r,{normalize:o})),await q(t,Qr,_e,n,o),r==="project"&&(await F1(t,n,o),await v1(t,n,o),await M1(t,n,o),await q(t,Qi,_e,n,o)),n}var w_,b_,RD=d(()=>{dt();tt();xe();Et();w();ut();j();A_();na();P_();w_=`${Ws}/_root.md`,b_="00-root.md";s(yD,"pathExists");s(F1,"importLegacyRules");s(v1,"importLegacyWorkflows");s(M1,"importLegacyModes");s(_D,"importFromKiloCode");});function ID(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:_e}))}var SD=d(()=>{It();na();s(ID,"lintRules");});function CD(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[x(".agentsmesh/hooks.yaml","kilo-code","kilo-code does not support user-defined lifecycle hooks; canonical hooks are not projected.")]:[]:[]}function kD(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?[]:[x(".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 ED=d(()=>{Lt();s(CD,"lintHooks");s(kD,"lintPermissions");});var $1,G1,j1,LD,Ed,P_=d(()=>{gD();na();ee();RD();A_();SD();ED();Ct();$1={name:_e,primaryRootInstructionPath:Wn,generateRules:cD,generateCommands:mD,generateAgents:pD,generateSkills:fD,generateMcp:uD,generateIgnore:dD,importFrom:_D},G1={rootInstructionPath:Wn,skillDir:Qr,managedOutputs:{dirs:[Vo,Jo,Yo,Qr],files:[Wn,Us,Al]},paths:{rulePath(t,e){return `${Vo}/${t}.md`},commandPath(t,e){return `${Jo}/${t}.md`},agentPath(t,e){return `${Yo}/${t}.md`}}},j1={rootInstructionPath:Bs,skillDir:Ks,managedOutputs:{dirs:[qi,ta,ea,Ks,zE],files:[Bs,Pl,wu]},rewriteGeneratedPath(t){return t===Wn?Bs:t},mirrorGlobalPath(t,e){return pt(t,Ks,e)},paths:{rulePath(t,e){return `${qi}/${t}.md`},commandPath(t,e){return `${ta}/${t}.md`},agentPath(t,e){return `${ea}/${t}.md`}}},LD={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},Ed={id:_e,metadata:{displayName:"Kilo Code",category:"ide",officialUrl:"https://kilocode.ai",shortDescription:"Open-source AI coding agent for VS Code"},generators:$1,capabilities:LD,emptyImportMessage:"No Kilo Code config found (AGENTS.md, .kilo/rules, .kilo/commands, .kilo/agents, .kilo/skills, .kilo/mcp.json, .kilocodeignore, .kilocode/, or .kilocodemodes).",lintRules:ID,lint:{hooks:CD,permissions:kD},project:G1,globalSupport:{capabilities:LD,detectionPaths:[Bs,qi,ta,ea,Ks,Pl,wu],layout:j1},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Wn],global:[Bs]},canonicalDir:Ws,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[Vo],global:[qi]},canonicalDir:Ws,extensions:[".md"],map:Cd}],commands:{feature:"commands",mode:"directory",source:{project:[Jo],global:[ta]},canonicalDir:Tl,extensions:[".md"],map:kd},agents:{feature:"agents",mode:"directory",source:{project:[Yo],global:[ea]},canonicalDir:ra,extensions:[".md"],map:hD},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Us,Am],global:[Pl]},canonicalDir:".agentsmesh",canonicalFilename:VE},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Al],global:[wu]},canonicalDir:".agentsmesh",canonicalFilename:JE}},buildImportPaths:Gh,detectionPaths:[Vo,Jo,Yo,Qr,Us,Zi,wl,Qi,Am,Au,Al,"kilo.jsonc","kilo.json"]};});function OD(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/_/g,"-").toLowerCase()}function K1(t){return t.type==="prompt"?t.prompt:t.command}function W1(t,e){let r=AD[t];return t==="PreToolUse"||t==="PostToolUse"?{type:r,tools:[e||"*"]}:{type:r}}function wD(t){let e=[];for(let[r,n]of Object.entries(t)){let o=r;if(!(o in AD)||!Array.isArray(n))continue;let i=1;for(let a of n){let l=K1(a);if(!l)continue;let c={name:`${OD(r)} ${i}`,version:"1",when:W1(o,a.matcher),then:a.type==="prompt"?{type:"askAgent",prompt:l}:{type:"shellCommand",command:l}};e.push({name:`${OD(r)}-${i}.kiro.hook`,content:JSON.stringify(c,null,2)}),i+=1;}}return e}function H1(t){let e=B1.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 bD(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:H1(r)}function PD(t){return stringify(t).trimEnd()}var AD,B1,T_=d(()=>{AD={UserPromptSubmit:"promptSubmit",SubagentStop:"agentStop",PreToolUse:"preToolUse",PostToolUse:"postToolUse"},B1=new Map([["promptSubmit","UserPromptSubmit"],["agentStop","SubagentStop"],["preToolUse","PreToolUse"],["postToolUse","PostToolUse"]]);s(OD,"toKebab");s(K1,"hookText");s(W1,"toWhen");s(wD,"generateKiroHooks");s(H1,"toCanonicalEntry");s(bD,"parseKiroHookFile");s(PD,"serializeCanonicalHooks");});function V1(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 TD(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:qr,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(Ge))continue;let o=basename(n.source,".md");e.push({path:`${tn}/${o}.md`,content:T(V1(n),n.body.trim()||"")});}return e}function xD(t){return t.commands.map(e=>({path:`${Re}/${H(e.name)}/SKILL.md`,content:Nt(e)}))}function DD(t){return rt(t,Re)}function ND(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:xl,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function FD(t){return !t.hooks||Object.keys(t.hooks).length===0?[]:wD(t.hooks).map(e=>({path:`${Hs}/${e.name}`,content:e.content}))}function vD(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,model:e.model||void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=T(r,e.body.trim()||"");return {path:`${en}/${e.name}.md`,content:n}})}function MD(t){return t.ignore.length===0?[]:[{path:Dl,content:t.ignore.join(`
140
+ `)}]}var $D=d(()=>{tt();kt();j();T_();Nl();s(V1,"steeringFrontmatter");s(TD,"generateRules");s(xD,"generateCommands");s(DD,"generateSkills");s(ND,"generateMcp");s(FD,"generateHooks");s(vD,"generateAgents");s(MD,"generateIgnore");});function Y1(t){let e=typeof t.inclusion=="string"?t.inclusion:"",r={root:false,description:typeof t.description=="string"?t.description:void 0,globs:wo(t.fileMatchPattern)};return e==="manual"&&(r.trigger="manual"),e==="auto"&&(r.trigger="model_decision"),e==="fileMatch"&&(r.trigger="glob"),r}async function X1(t,e,r,n){let o=n==="global"?[rn,qr]:[qr,rn];for(let i of o){let a=join(t,i),l=await _(a);if(l===null)continue;let c=join(t,jh),{frontmatter:m,body:p}=b(r(l,a,c));await I(c,await K(c,{...m,root:true},p)),e.push({fromTool:Ge,fromPath:a,toPath:jh,feature:"rules"});return}}async function Z1(t,e,r){let n=join(t,Uh);e.push(...await Rt({srcDir:join(t,tn),destDir:n,extensions:[".md"],fromTool:Ge,normalize:r,mapEntry:s(async({relativePath:o,normalizeTo:i})=>{if(basename(o)==="AGENTS.md")return null;let a=join(n,o),{frontmatter:l,body:c}=b(i(a));return {destPath:a,toPath:`${Uh}/${o}`,feature:"rules",content:await K(a,Y1(l),c)}},"mapEntry")}));}async function Q1(t,e){let r={};for(let o of await v(join(t,Hs))){if(!o.endsWith(".kiro.hook"))continue;let i=bD(await _(o)??"");i&&(r[i.event]??=[],r[i.event].push(i.entry));}if(Object.keys(r).length===0)return;let n=join(t,Bh);await O(join(t,".agentsmesh")),await I(n,PD(r)),e.push({fromTool:Ge,fromPath:join(t,Hs),toPath:Bh,feature:"hooks"});}async function GD(t,e={}){let r=e.scope??"project",n=[],o=await B(Ge,t,r);return await X1(t,n,o,r),await Z1(t,n,o),n.push(...await J(Ld,t,r,{normalize:o})),await q(t,Re,Ge,n,o),r==="project"&&await Q1(t,n),n}var jD=d(()=>{dt();tt();xe();Et();ut();or();w();j();T_();Nl();x_();s(Y1,"canonicalRuleMeta");s(X1,"importRoot");s(Z1,"importNonRootRules");s(Q1,"importHooks");s(GD,"importFromKiro");});function UD(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Ge}))}var BD=d(()=>{It();Nl();s(UD,"lintRules");});function KD(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=>Ps(n,"kiro",e,{unsupportedBy:"Kiro hooks"}))}var WD=d(()=>{Lt();s(KD,"lintHooks");});var q1,tJ,eJ,rJ,Ld,x_=d(()=>{kt();$D();ee();jD();BD();WD();Ct();Nl();q1={name:Ge,primaryRootInstructionPath:qr,generateRules:TD,generateCommands:xD,generateAgents:vD,generateSkills:DD,generateMcp:ND,generateHooks:FD,generateIgnore:MD,importFrom:GD},tJ={rootInstructionPath:qr,skillDir:Re,managedOutputs:{dirs:[".kiro/hooks",".kiro/skills",".kiro/steering",".kiro/agents"],files:["AGENTS.md",".kiro/settings/mcp.json",".kiroignore"]},paths:{rulePath(t,e){return `${tn}/${t}.md`},commandPath(t){return `${Re}/${H(t)}/SKILL.md`},agentPath(t,e){return `${en}/${t}.md`}}},eJ={rootInstructionPath:rn,skillDir:zs,managedOutputs:{dirs:[oa,zs,sa,XE],files:[rn,bm,Pm]},rewriteGeneratedPath(t){return t===qr?rn:t.startsWith(`${tn}/`)?t.replace(`${tn}/`,`${oa}/`):t.startsWith(`${Re}/`)?t.replace(`${Re}/`,`${zs}/`):t.startsWith(`${en}/`)?t.replace(`${en}/`,`${sa}/`):t===xl?bm:t===Dl?Pm:t.startsWith(`${Hs}/`)?null:t},mirrorGlobalPath(t,e){return pt(t,".kiro/skills",e)},paths:{rulePath(t,e){return `${oa}/${t}.md`},commandPath(t){return `${Re}/${H(t)}/SKILL.md`},agentPath(t,e){return `${sa}/${t}.md`}}},rJ={rules:"native",additionalRules:"native",commands:"none",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},Ld={id:Ge,metadata:{displayName:"Kiro",category:"ide",officialUrl:"https://kiro.dev",shortDescription:"AWS spec-driven AI IDE"},generators:q1,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:UD,lint:{hooks:KD},project:tJ,globalSupport:{capabilities:rJ,detectionPaths:[oa,rn,zs,sa,bm,Pm],layout:eJ},importer:{agents:{feature:"agents",mode:"directory",source:{project:[en],global:[en]},canonicalDir:ZE,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[xl],global:[bm]},canonicalDir:".agentsmesh",canonicalFilename:QE},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Dl],global:[Pm]},canonicalDir:".agentsmesh",canonicalFilename:qE}},buildImportPaths:Kh,detectionPaths:[tn,Re,en,Hs,xl,Dl],conversionDefaults:{commandsToSkills:true}};});function zD(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Hn,content:r.body.trim()?r.body:""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(nn))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?T(i,n.body.trim()||""):n.body.trim()||"";e.push({path:`${Xo}/${o}.md`,content:a});}return e}function VD(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${Zo}/${e.name}.md`,content:T(r,e.body.trim()||"")}})}function JD(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:`${Qo}/${r}.md`,content:T(n,e.body.trim()||"")}})}function nJ(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 YD(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]=nJ(n);return [{path:zn,content:JSON.stringify({mcp:e},null,2)}]}function XD(t){return rt(t,on)}var ZD=d(()=>{tt();j();ca();s(zD,"generateRules");s(VD,"generateCommands");s(JD,"generateAgents");s(nJ,"toOpenCodeMcpServer");s(YD,"generateMcp");s(XD,"generateSkills");});function D_(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 sJ(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:D_(a.headers),env:D_(a.environment),...typeof a.description=="string"?{description:a.description}:{}};continue}if(Array.isArray(a.command)&&a.command.length>0){let l=a.command,c=l[0];if(c===void 0)continue;let m=l.slice(1);n[o]={type:"stdio",command:c,args:m,env:D_(a.environment),...typeof a.description=="string"?{description:a.description}:{}};}}return n}async function iJ(t,e,r){let o=join(t,e==="global"?Ys:zn),i=await _(o);if(i===null)return;let a=sJ(i);Object.keys(a).length!==0&&(await Bt(t,Wh,a),r.push({feature:"mcp",fromTool:nn,fromPath:o,toPath:Wh}));}async function QD(t,e={}){let r=e.scope??"project",n=[],o=await B(nn,t,r);return n.push(...await J(Od,t,r,{normalize:o})),await q(t,on,nn,n,o),await iJ(t,r,n),n}var qD=d(()=>{dt();tt();Et();Kr();w();ca();N_();s(D_,"toStringRecord");s(sJ,"parseOpenCodeMcp");s(iJ,"importMcp");s(QD,"importFromOpenCode");});var tN,eN,rN,nN=d(()=>{j();ut();ca();tN=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=b(e(n));return {destPath:n,toPath:`${Tm}/${t}`,content:await K(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},i)}},"opencodeNonRootRuleMapper"),eN=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=b(e(n));return {destPath:n,toPath:`${Pu}/${t}`,content:await _t(n,{hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},i)}},"opencodeCommandMapper"),rN=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=b(e(n));return {destPath:n,toPath:`${Tu}/${t}`,content:await Vt(n,o,i)}},"opencodeAgentMapper");});function oN(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:nn}))}var sN=d(()=>{It();ca();s(oN,"lintRules");});function iN(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[x(".agentsmesh/hooks.yaml","opencode","opencode hooks are plugin-based (TypeScript/JavaScript); canonical config hooks are not projected.")]:[]:[]}function aN(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?[]:[x(".agentsmesh/permissions.yaml","opencode","opencode permissions live in opencode.json, which agentsmesh does not generate in v1; canonical permissions are not projected.")]}function lN(t){return t.ignore.length===0?[]:[x(".agentsmesh/ignore","opencode","opencode has no dedicated ignore file; canonical ignore patterns are not projected. Configure watcher.ignore in opencode.json manually.")]}var cN=d(()=>{Lt();s(iN,"lintHooks");s(aN,"lintPermissions");s(lN,"lintIgnore");});var aJ,lJ,cJ,mN,Od,N_=d(()=>{ZD();ca();ee();qD();nN();sN();cN();Ct();aJ={name:nn,primaryRootInstructionPath:Hn,generateRules:zD,generateCommands:VD,generateAgents:JD,generateSkills:XD,generateMcp:YD,importFrom:QD},lJ={rootInstructionPath:Hn,skillDir:on,managedOutputs:{dirs:[Xo,Zo,Qo,on],files:[Hn,zn]},paths:{rulePath(t){return `${Xo}/${t}.md`},commandPath(t){return `${Zo}/${t}.md`},agentPath(t){return `${Qo}/${t}.md`}}},cJ={rootInstructionPath:Vs,skillDir:Js,managedOutputs:{dirs:[ia,aa,la,Js,eL],files:[Vs,Ys]},rewriteGeneratedPath(t){return t===Hn?Vs:t===zn?Ys:t},mirrorGlobalPath(t,e){return pt(t,Js,e)},paths:{rulePath(t){return `${ia}/${t}.md`},commandPath(t){return `${aa}/${t}.md`},agentPath(t){return `${la}/${t}.md`}}},mN={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Od={id:nn,metadata:{displayName:"OpenCode",category:"cli",officialUrl:"https://opencode.ai",shortDescription:"Open-source terminal AI agent"},generators:aJ,capabilities:mN,emptyImportMessage:"No OpenCode config found (AGENTS.md, .opencode/rules, .opencode/commands, .opencode/agents, .opencode/skills, or opencode.json).",lintRules:oN,lint:{hooks:iN,permissions:aN,ignore:lN},project:lJ,globalSupport:{capabilities:mN,detectionPaths:[Vs,ia,aa,la,Js,Ys],layout:cJ},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Hn],global:[Vs]},canonicalDir:Tm,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[Xo],global:[ia]},canonicalDir:Tm,extensions:[".md"],map:tN}],commands:{feature:"commands",mode:"directory",source:{project:[Zo],global:[aa]},canonicalDir:Pu,extensions:[".md"],map:eN},agents:{feature:"agents",mode:"directory",source:{project:[Qo],global:[la]},canonicalDir:Tu,extensions:[".md"],map:rN}},buildImportPaths:Hh,detectionPaths:[Xo,Zo,Qo,on,zn,"opencode.jsonc"]};});function pN(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(Vn)),n=e?.body.trim()??"",o=lt(n,r);return o?[{path:Ir,content:o}]:[]}function uN(t){return rt(t,qt)}function dN(t){return t.commands.map(e=>({path:`${qt}/${H(e.name)}/SKILL.md`,content:Nt(e)}))}function fN(t){return t.agents.map(e=>({path:`${qt}/${U(e.name)}/SKILL.md`,content:Tt(e)}))}var gN=d(()=>{tt();Ut();mt();kt();vl();s(pN,"generateRules");s(uN,"generateSkills");s(dN,"generateCommands");s(fN,"generateAgents");});async function hN(t,e={}){let r=e.scope??"project",n=[],o=await B(Vn,t,r);return n.push(...await J(Ad,t,r,{normalize:o})),await q(t,r==="global"?Sr:qt,Vn,n,o),n}var yN=d(()=>{dt();tt();Et();vl();v_();s(hN,"importFromPiAgent");});function _N(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Vn}))}var RN=d(()=>{It();vl();s(_N,"lintRules");});function IN(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[x(".agentsmesh/hooks.yaml","pi-agent","Pi Coding Agent has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function SN(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?[]:[x(".agentsmesh/permissions.yaml","pi-agent","Pi Coding Agent has no dedicated permissions config; canonical permissions are not projected.")]}function CN(t){return t.ignore.length===0?[]:[x(".agentsmesh/ignore","pi-agent","Pi Coding Agent has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}function kN(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[x(".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 EN=d(()=>{Lt();s(IN,"lintHooks");s(SN,"lintPermissions");s(CN,"lintIgnore");s(kN,"lintMcp");});var mJ,pJ,uJ,LN,Ad,v_=d(()=>{kt();mt();gN();ee();yN();RN();EN();Vh();vl();mJ={name:Vn,primaryRootInstructionPath:Ir,generateRules:pN,generateCommands:dN,generateAgents:fN,generateSkills:uN,importFrom:hN},pJ={rootInstructionPath:Ir,skillDir:qt,managedOutputs:{dirs:[qt],files:[Ir]},paths:{rulePath(t){return Ir},commandPath(t){return `${qt}/${H(t)}/SKILL.md`},agentPath(t){return `${qt}/${U(t)}/SKILL.md`}}},uJ={rootInstructionPath:qo,skillDir:Sr,managedOutputs:{dirs:[Sr],files:[qo]},rewriteGeneratedPath(t){return t===Ir?qo:t.startsWith(`${qt}/`)?t.replace(`${qt}/`,`${Sr}/`):t},mirrorGlobalPath(t,e){return pt(t,Sr,e)},paths:{rulePath(t){return qo},commandPath(t){return `${Sr}/${H(t)}/SKILL.md`},agentPath(t){return `${Sr}/${U(t)}/SKILL.md`}}},LN={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},Ad={id:Vn,metadata:{displayName:"Pi Agent",category:"cli",officialUrl:"https://github.com/pi-labs/pi-agent",shortDescription:"Pi coding agent"},generators:mJ,capabilities:LN,emptyImportMessage:"No Pi Coding Agent config found (AGENTS.md or .pi/skills).",lintRules:_N,lint:{hooks:IN,permissions:SN,ignore:CN,mcp:kN},supportsConversion:{commands:true,agents:true},project:pJ,globalSupport:{capabilities:LN,detectionPaths:[qo],layout:uJ},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[Ir],global:[qo]},canonicalDir:oL,canonicalRootFilename:"_root.md",markAsRoot:true}},sharedArtifacts:{".agents/skills/":"consumer"},buildImportPaths:zh,detectionPaths:[Ir,qt]};});function ON(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:Cr,content:r.body.trim()?r.body:""});let n=t.rules.filter(o=>!o.root&&(o.targets.length===0||o.targets.includes(Jn)));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 l=T(a,o.body.trim()||"");e.push({path:`${ts}/${i}.md`,content:l});}return e}function AN(t){return t.commands.map(e=>{let r={description:e.description,"allowed-tools":e.allowedTools.length>0?e.allowedTools:void 0};r["allowed-tools"]===void 0&&delete r["allowed-tools"];let n=T(r,e.body.trim()||"");return {path:`${Yn}/${e.name}.md`,content:n}})}function wN(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(o=>{r[o]===void 0&&delete r[o];});let n=T(r,e.body.trim()||"");return {path:`${Xn}/${e.name}.md`,content:n}})}function bN(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=T(n,r.body.trim()||"");e.push({path:`${je}/${r.name}/SKILL.md`,content:o});for(let i of r.supportingFiles){let a=i.relativePath.replace(/\\/g,"/");e.push({path:`${je}/${r.name}/${a}`,content:i.content});}}return e}function PN(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}]}function TN(t){return !t.ignore||t.ignore.length===0?[]:[{path:Zs,content:t.ignore.join(`
141
+ `)}]}var xN=d(()=>{j();Ml();s(ON,"generateRules");s(AN,"generateCommands");s(wN,"generateAgents");s(bN,"generateSkills");s(PN,"generateMcp");s(TN,"generateIgnore");});async function DN(t,e={}){let r=e.scope??"project",n=[],o=await B(Jn,t,r);return n.push(...await J(wd,t,r,{normalize:o})),await q(t,r==="global"?Zn:je,Jn,n,o),n}var NN=d(()=>{dt();Et();tt();Ml();M_();s(DN,"importFromQwenCode");});function FN(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Jn}))}var vN=d(()=>{It();Ml();s(FN,"lintRules");});var fJ,gJ,hJ,yJ,_J,wd,M_=d(()=>{xN();NN();vN();Ct();Ml();fJ={name:Jn,primaryRootInstructionPath:Cr,generateRules:ON,generateCommands:AN,generateAgents:wN,generateSkills:bN,generateMcp:PN,generateIgnore:TN,importFrom:DN},gJ={rootInstructionPath:Cr,skillDir:je,managedOutputs:{dirs:[ts,Yn,Xn,je],files:[Cr,Xs,Zs]},paths:{rulePath(t,e){return e.root?Cr:`${ts}/${t}.md`},commandPath(t){return `${Yn}/${t}.md`},agentPath(t){return `${Xn}/${t}.md`}}},hJ={rootInstructionPath:es,skillDir:Zn,managedOutputs:{dirs:[Qs,qs,Zn],files:[es,ma]},rewriteGeneratedPath(t){return t===Cr?es:t===Xs?ma:t===Zs?null:t.startsWith(`${Yn}/`)?t.replace(`${Yn}/`,`${Qs}/`):t.startsWith(`${Xn}/`)?t.replace(`${Xn}/`,`${qs}/`):t.startsWith(`${je}/`)?t.replace(`${je}/`,`${Zn}/`):t.startsWith(`${ts}/`)?null:t},paths:{rulePath(t,e){return es},commandPath(t){return `${Qs}/${t}.md`},agentPath(t){return `${qs}/${t}.md`}}},yJ={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},_J={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},wd={id:Jn,metadata:{displayName:"Qwen Code",category:"cli",officialUrl:"https://github.com/QwenLM/qwen-code",shortDescription:"Alibaba's Qwen coding CLI"},generators:fJ,capabilities:yJ,emptyImportMessage:"No Qwen Code config found (QWEN.md or .qwen/rules, .qwen/commands, .qwen/settings.json).",lintRules:FN,project:gJ,globalSupport:{capabilities:_J,detectionPaths:[es,ma,Qs,qs,Zn],layout:hJ},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Cr],global:[es]},canonicalDir:Jh,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[ts],global:[]},canonicalDir:Jh,extensions:[".md"],preset:"rule"}],commands:{feature:"commands",mode:"directory",source:{project:[Yn],global:[Qs]},canonicalDir:sL,extensions:[".md"],preset:"command"},agents:{feature:"agents",mode:"directory",source:{project:[Xn],global:[qs]},canonicalDir:iL,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Xs],global:[ma]},canonicalDir:".agentsmesh",canonicalFilename:".agentsmesh/mcp.json"},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Zs],global:[]},canonicalDir:".agentsmesh",canonicalFilename:".agentsmesh/ignore"}},buildImportPaths:Yh,detectionPaths:[Cr,".qwen/settings.json",".qwen/commands",".qwen/rules"]};});function MN(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(Qn)),n=e?.body.trim()??"",o=lt(n,r);return o?[{path:sn,content:o}]:[]}function $N(t){return rt(t,Ae)}function GN(t){return t.commands.map(e=>({path:`${Ae}/${H(e.name)}/SKILL.md`,content:Nt(e)}))}function jN(t){return t.agents.map(e=>({path:`${Ae}/${U(e.name)}/SKILL.md`,content:Tt(e)}))}var UN=d(()=>{tt();Ut();mt();kt();$l();s(MN,"generateRules");s($N,"generateSkills");s(GN,"generateCommands");s(jN,"generateAgents");});async function BN(t,e={}){let r=e.scope??"project",n=[],o=await B(Qn,t,r);return n.push(...await J(bd,t,r,{normalize:o})),await q(t,Ae,Qn,n,o),n}var KN=d(()=>{dt();tt();Et();$l();$_();s(BN,"importFromReplitAgent");});function WN(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Qn}))}var HN=d(()=>{It();$l();s(WN,"lintRules");});function zN(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[x(".agentsmesh/hooks.yaml","replit-agent","Replit Agent has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function VN(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?[]:[x(".agentsmesh/permissions.yaml","replit-agent","Replit Agent permissions are managed in the cloud UI; canonical permissions are not projected.")]}function JN(t){return t.ignore.length===0?[]:[x(".agentsmesh/ignore","replit-agent","Replit Agent has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}function YN(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[x(".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 XN=d(()=>{Lt();s(zN,"lintHooks");s(VN,"lintPermissions");s(JN,"lintIgnore");s(YN,"lintMcp");});var RJ,IJ,SJ,bd,$_=d(()=>{kt();mt();UN();KN();HN();XN();Zh();$l();RJ={name:Qn,primaryRootInstructionPath:sn,generateRules:MN,generateCommands:GN,generateAgents:jN,generateSkills:$N,importFrom:BN},IJ={rootInstructionPath:sn,skillDir:Ae,managedOutputs:{dirs:[Ae],files:[sn]},paths:{rulePath(t){return sn},commandPath(t){return `${Ae}/${H(t)}/SKILL.md`},agentPath(t){return `${Ae}/${U(t)}/SKILL.md`}}},SJ={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},bd={id:Qn,metadata:{displayName:"Replit Agent",category:"agent-platform",officialUrl:"https://replit.com",shortDescription:"Replit's autonomous coding agent"},generators:RJ,capabilities:SJ,emptyImportMessage:"No Replit Agent config found (replit.md or .agents/skills).",lintRules:WN,lint:{hooks:zN,permissions:VN,ignore:JN,mcp:YN},supportsConversion:{commands:true,agents:true},project:IJ,sharedArtifacts:{".agents/skills/":"consumer"},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[sn]},canonicalDir:lL,canonicalRootFilename:"_root.md",markAsRoot:true}},buildImportPaths:Xh,detectionPaths:[sn]};});function QN(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:an,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(ti))continue;let o=basename(n.source,".md");e.push({path:`${rs}/${o}.md`,content:n.body.trim()||""});}return e}function qN(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${ns}/${e.name}.md`,content:T(r,e.body.trim()||"")}})}function tF(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Dm,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function eF(t){return t.ignore.length===0?[]:[{path:Nm,content:t.ignore.join(`
142
+ `)}]}function rF(t){return rt(t,qn)}function nF(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:Gl,content:stringify({customModes:e})}]}var oF=d(()=>{tt();j();fa();s(QN,"generateRules");s(qN,"generateCommands");s(tF,"generateMcp");s(eF,"generateIgnore");s(rF,"generateSkills");s(nF,"generateAgents");});var Pd,iF,G_=d(()=>{j();ut();fa();Pd=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{if(t==="00-root.md")return null;let n=join(r,t),{frontmatter:o,body:i}=b(e(n));return {destPath:n,toPath:`${da}/${t}`,content:await K(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},i)}},"rooNonRootRuleMapper"),iF=s(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:i}=b(e(n));return {destPath:n,toPath:`${Du}/${t}`,content:await _t(n,{hasDescription:true,description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},i)}},"rooCommandMapper");});async function EJ(t,e,r){let n=join(t,pa),o;try{o=await readdir(n,{withFileTypes:!0});}catch{return}let i=o.filter(l=>l.isDirectory()&&l.name.startsWith("rules-")).map(l=>l.name),a=join(t,da);for(let l of i)e.push(...await Rt({srcDir:join(n,l),destDir:a,extensions:[".md"],fromTool:ti,normalize:r,mapEntry:s(async({srcPath:c,relativePath:m,content:p,normalizeTo:u})=>{let f=await Pd({absolutePath:c,relativePath:m,content:p,destDir:a,normalizeTo:u});return f?{...f,feature:"rules"}:null},"mapEntry")}));}async function aF(t,e={}){let r=e.scope??"project",n=[],o=await B(ti,t,r);return n.push(...await J(Td,t,r,{normalize:o})),await EJ(t,n,o),await q(t,qn,ti,n,o),n}var lF=d(()=>{dt();tt();xe();Et();G_();fa();U_();s(EJ,"importPerModeRules");s(aF,"importFromRooCode");});function cF(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:ti}))}var mF=d(()=>{It();fa();s(cF,"lintRules");});function PJ(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var wJ,bJ,TJ,xJ,DJ,Td,U_=d(()=>{w();oF();fa();ee();lF();G_();mF();Ct();wJ={name:"roo-code",primaryRootInstructionPath:an,generateRules:QN,generateCommands:qN,generateSkills:rF,generateMcp:tF,generateIgnore:eF,generateAgents:nF,importFrom:aF},bJ={rootInstructionPath:an,skillDir:".roo/skills",managedOutputs:{dirs:[".roo/rules",".roo/commands",".roo/skills"],files:[".roo/mcp.json",".rooignore",".roorules",Gl]},paths:{rulePath(t,e){return `${rs}/${t}.md`},commandPath(t,e){return `${ns}/${t}.md`},agentPath(t,e){return null}}};s(PJ,"computeStatus");TJ=s(async(t,e,r,n)=>{if(r!=="global")return [];if(!n.has("agents")||t.agents.length===0)return [];let o=t.agents.map(l=>{let m={slug:basename(l.source,".md"),name:l.name};return l.description&&(m.description=l.description),l.body.trim()&&(m.roleDefinition=l.body.trim()),m}),i=stringify({customModes:o}),a=await _(join(e,Fm));return [{target:"roo-code",path:Fm,content:i,currentContent:a??void 0,status:PJ(a,i)}]},"generateRooGlobalExtras"),xJ={rootInstructionPath:ni,skillDir:os,managedOutputs:{dirs:[ei,ri,os,cL],files:[ni,ua,vm,Fm]},rewriteGeneratedPath(t){return t===an?ni:t===Gl?null:t.startsWith(`${rs}/`)?t.replace(`${rs}/`,`${ei}/`):t.startsWith(`${ns}/`)?t.replace(`${ns}/`,`${ri}/`):t.startsWith(`${qn}/`)?t.replace(`${qn}/`,`${os}/`):t===Dm?ua:t===Nm?vm:t},mirrorGlobalPath(t,e){return pt(t,os,e)},paths:{rulePath(t,e){return `${ei}/${t}.md`},commandPath(t,e){return `${ri}/${t}.md`},agentPath(t,e){return null}}},DJ={rules:"native",additionalRules:"native",commands:"native",agents:"partial",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},Td={id:"roo-code",metadata:{displayName:"Roo Code",category:"ide",officialUrl:"https://roocode.com",shortDescription:"Open-source AI VS Code extension"},generators:wJ,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:cF,project:bJ,globalSupport:{capabilities:DJ,detectionPaths:[ei,ri,os,ua,vm,ni,Fm],layout:xJ,scopeExtras:TJ},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[an,xm],global:[ni,an,xm]},canonicalDir:da,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:[rs],global:[ei]},canonicalDir:da,extensions:[".md"],map:Pd}],commands:{feature:"commands",mode:"directory",source:{project:[ns],global:[ri]},canonicalDir:Du,extensions:[".md"],map:iF},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Dm],global:[ua]},canonicalDir:".agentsmesh",canonicalFilename:mL},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Nm],global:[vm]},canonicalDir:".agentsmesh",canonicalFilename:pL}},buildImportPaths:Qh,detectionPaths:[".roo/rules",".roo/commands",".roo/skills",".roo/mcp.json",".rooignore",".roorules",Gl]};});function pF(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(to)),n=e?.body.trim()??"",o=lt(n,r);return o?[{path:kr,content:o}]:[]}function uF(t){return rt(t,te)}function dF(t){return t.commands.map(e=>({path:`${te}/${H(e.name)}/SKILL.md`,content:Nt(e)}))}function fF(t){return t.agents.map(e=>({path:`${te}/${U(e.name)}/SKILL.md`,content:Tt(e)}))}function gF(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:ss,content:e}]}var hF=d(()=>{tt();Ut();mt();kt();Ul();s(pF,"generateRules");s(uF,"generateSkills");s(dF,"generateCommands");s(fF,"generateAgents");s(gF,"generateMcp");});async function yF(t,e={}){let r=e.scope??"project",n=[],o=await B(to,t,r);return n.push(...await J(xd,t,r,{normalize:o})),await q(t,r==="global"?Ue:te,to,n,o),n}var _F=d(()=>{dt();tt();Et();Ul();B_();s(yF,"importFromRovodev");});function RF(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:to}))}var IF=d(()=>{It();Ul();s(RF,"lintRules");});function SF(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[x(".agentsmesh/hooks.yaml","rovodev","Rovo Dev has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function CF(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?[]:[x(".agentsmesh/permissions.yaml","rovodev","Rovo Dev permissions are managed in config.yaml; canonical permissions are not projected.")]}function kF(t){return t.ignore.length===0?[]:[x(".agentsmesh/ignore","rovodev","Rovo Dev has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}var EF=d(()=>{Lt();s(SF,"lintHooks");s(CF,"lintPermissions");s(kF,"lintIgnore");});var NJ,FJ,vJ,MJ,$J,xd,B_=d(()=>{kt();mt();hF();ee();_F();IF();EF();Ct();Ul();NJ={name:to,primaryRootInstructionPath:kr,generateRules:pF,generateCommands:dF,generateAgents:fF,generateSkills:uF,generateMcp:gF,importFrom:yF},FJ={rootInstructionPath:kr,skillDir:te,managedOutputs:{dirs:[te],files:[kr,ss]},paths:{rulePath(t){return kr},commandPath(t){return `${te}/${H(t)}/SKILL.md`},agentPath(t){return `${te}/${U(t)}/SKILL.md`}}},vJ={rootInstructionPath:is,skillDir:Ue,managedOutputs:{dirs:[Ue],files:[is,jl]},rewriteGeneratedPath(t){return t===kr?is:t.startsWith(`${te}/`)?t.replace(`${te}/`,`${Ue}/`):t===ss?jl:t},mirrorGlobalPath(t,e){return pt(t,Ue,e)},paths:{rulePath(t){return is},commandPath(t){return `${Ue}/${H(t)}/SKILL.md`},agentPath(t){return `${Ue}/${U(t)}/SKILL.md`}}},MJ={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},$J={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},xd={id:to,metadata:{displayName:"Rovo Dev",category:"cli",officialUrl:"https://www.atlassian.com/solutions/devops/rovo-dev",shortDescription:"Atlassian's coding agent"},generators:NJ,capabilities:MJ,emptyImportMessage:"No Rovo Dev config found (AGENTS.md, .rovodev/skills, or .rovodev/mcp.json).",lintRules:RF,lint:{hooks:SF,permissions:CF,ignore:kF},supportsConversion:{commands:true,agents:true},project:FJ,globalSupport:{capabilities:$J,detectionPaths:[fL,is,Ue],layout:vJ},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[kr],global:[is]},canonicalDir:gL,canonicalRootFilename:"_root.md",markAsRoot:true},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[ss],global:[jl]},canonicalDir:".agentsmesh",canonicalFilename:"mcp.json"}},buildImportPaths:qh,detectionPaths:[kr,te,ss]};});function LF(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Ke,content:r.body.trim()});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(Er))continue;let o=basename(n.source,".md");e.push({path:`${Be}/${o}.md`,content:n.body.trim()});}return e}function OF(t){return rt(t,Lr)}function AF(t){return t.mcp===null||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:ga,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function wF(t){return t.ignore.length===0?[]:[{path:Bl,content:t.ignore.join(`
143
+ `)}]}var bF=d(()=>{tt();Kl();s(LF,"generateRules");s(OF,"generateSkills");s(AF,"generateMcp");s(wF,"generateIgnore");});async function UJ(t,e,r,n){let o=n==="global"?[Or,Ke]:[Ke,Or];for(let i of o){let a=join(t,i),l=await _(a);if(l===null)continue;let c=join(t,PF),{frontmatter:m,body:p}=b(r(l,a,c));await O(join(t,$m)),await I(c,await K(c,{...m,root:true},p)),e.push({fromTool:Er,fromPath:a,toPath:PF,feature:"rules"});return}}async function BJ(t,e,r,n){let o=join(t,n==="global"?as:Be),i=join(t,$m);e.push(...await Rt({srcDir:o,destDir:i,extensions:[".md"],fromTool:Er,normalize:r,mapEntry:s(async({relativePath:a,normalizeTo:l})=>{let c=basename(a);if(c==="project_rules.md"||c==="rules.md")return null;let m=join(i,a),{frontmatter:p,body:u}=b(l(m));return {destPath:m,toPath:`${$m}/${a}`,feature:"rules",content:await K(m,{...p,root:false},u)}},"mapEntry")}));}async function TF(t,e={}){let r=e.scope??"project",n=[],o=await B(Er,t,r);return await UJ(t,n,o,r),await BJ(t,n,o,r),n.push(...await J(Dd,t,r,{normalize:o})),await q(t,r==="global"?ln:Lr,Er,n,o),n}var PF,xF=d(()=>{dt();tt();xe();Et();ut();w();j();Kl();K_();PF=`${$m}/_root.md`;s(UJ,"importRoot");s(BJ,"importNonRootRules");s(TF,"importFromTrae");});function DF(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Er}))}var NF=d(()=>{It();Kl();s(DF,"lintRules");});var KJ,WJ,HJ,zJ,Dd,K_=d(()=>{bF();ee();xF();NF();Ct();Kl();KJ={name:Er,primaryRootInstructionPath:Ke,generateRules:LF,generateSkills:OF,generateMcp:AF,generateIgnore:wF,importFrom:TF},WJ={rootInstructionPath:Ke,skillDir:Lr,managedOutputs:{dirs:[Be,Lr],files:[ga,Bl]},paths:{rulePath(t,e){return `${Be}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return null}}},HJ={rootInstructionPath:Or,skillDir:ln,managedOutputs:{dirs:[as,ln,yL],files:[Or,Mm]},rewriteGeneratedPath(t){return t===Ke?Or:t.startsWith(`${Be}/`)?t.replace(`${Be}/`,`${as}/`):t.startsWith(`${Lr}/`)?t.replace(`${Lr}/`,`${ln}/`):t===ga?Mm:t===Bl?null:t},mirrorGlobalPath(t,e){return pt(t,ln,e)},paths:{rulePath(t,e){return t==="_root"?Or:`${as}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return null}}},zJ={rules:"native",additionalRules:"native",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Dd={id:Er,metadata:{displayName:"Trae",category:"ide",officialUrl:"https://www.trae.ai",shortDescription:"ByteDance's adaptive AI IDE"},generators:KJ,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:DF,project:WJ,globalSupport:{capabilities:zJ,detectionPaths:[Or,as,ln,Mm],layout:HJ},importer:{mcp:{feature:"mcp",mode:"mcpJson",source:{project:[ga],global:[Mm]},canonicalDir:".agentsmesh",canonicalFilename:_L},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Bl]},canonicalDir:".agentsmesh",canonicalFilename:RL}},buildImportPaths:ty,detectionPaths:[Be,ga,Ke]};});function FF(t){let e=t.rules.find(i=>i.root),r=t.rules.filter(i=>i.root?false:i.targets.length===0||i.targets.includes(eo)),n=e?.body.trim()??"",o=lt(n,r);return o?[{path:cn,content:o}]:[]}function vF(t){return rt(t,ue)}function MF(t){return t.commands.map(e=>({path:`${ue}/${H(e.name)}/SKILL.md`,content:Nt(e)}))}function $F(t){return t.agents.map(e=>({path:`${ue}/${U(e.name)}/SKILL.md`,content:Tt(e)}))}function GF(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:oi,content:e}]}var jF=d(()=>{tt();Ut();mt();kt();Wl();s(FF,"generateRules");s(vF,"generateSkills");s(MF,"generateCommands");s($F,"generateAgents");s(GF,"generateMcp");});async function UF(t,e={}){let r=e.scope??"project",n=[],o=await B(eo,t,r);return n.push(...await J(Nd,t,r,{normalize:o})),await q(t,r==="global"?We:ue,eo,n,o),n}var BF=d(()=>{dt();tt();Et();Wl();W_();s(UF,"importFromWarp");});function KF(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:eo}))}var WF=d(()=>{It();Wl();s(KF,"lintRules");});function HF(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[x(".agentsmesh/hooks.yaml","warp","Warp has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function zF(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?[]:[x(".agentsmesh/permissions.yaml","warp","Warp permissions are UI-managed; canonical permissions are not projected.")]}function VF(t){return t.ignore.length===0?[]:[x(".agentsmesh/ignore","warp","Warp has no dedicated ignore file and relies on .gitignore; canonical ignore patterns are not projected.")]}var JF=d(()=>{Lt();s(HF,"lintHooks");s(zF,"lintPermissions");s(VF,"lintIgnore");});var VJ,JJ,YJ,XJ,ZJ,Nd,W_=d(()=>{kt();mt();jF();ee();BF();WF();JF();Ct();Wl();VJ={name:eo,primaryRootInstructionPath:cn,generateRules:FF,generateCommands:MF,generateAgents:$F,generateSkills:vF,generateMcp:GF,importFrom:UF},JJ={rootInstructionPath:cn,skillDir:ue,managedOutputs:{dirs:[ue],files:[cn,oi]},paths:{rulePath(t){return cn},commandPath(t){return `${ue}/${H(t)}/SKILL.md`},agentPath(t){return `${ue}/${U(t)}/SKILL.md`}}},YJ={rootInstructionPath:void 0,skillDir:We,managedOutputs:{dirs:[We],files:[]},rewriteGeneratedPath(t){return t.startsWith(`${ue}/`)?t.replace(`${ue}/`,`${We}/`):t},mirrorGlobalPath(t,e){return pt(t,We,e)},paths:{rulePath(){return null},commandPath(t){return `${We}/${H(t)}/SKILL.md`},agentPath(t){return `${We}/${U(t)}/SKILL.md`}}},XJ={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},ZJ={rules:"none",additionalRules:"none",commands:"none",agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},Nd={id:eo,metadata:{displayName:"Warp",category:"cli",officialUrl:"https://www.warp.dev",shortDescription:"AI-powered terminal"},generators:VJ,capabilities:XJ,emptyImportMessage:"No Warp config found (WARP.md, AGENTS.md, .warp/skills, or .mcp.json).",lintRules:KF,lint:{hooks:HF,permissions:zF,ignore:VF},supportsConversion:{commands:true,agents:true},project:JJ,globalSupport:{capabilities:ZJ,detectionPaths:[We],layout:YJ},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[ey,cn]},canonicalDir:SL,canonicalRootFilename:"_root.md",markAsRoot:true},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[oi]},canonicalDir:".agentsmesh",canonicalFilename:"mcp.json"}},buildImportPaths:ry,detectionPaths:[cn,ey,oi],conversionDefaults:{commandsToSkills:true,agentsToSkills:true}};});var mo,H_,ui,YF,ic,po,ac,lc,XF,di,dn,cc,z_,ZF,QF,V_,J_,Y_,mc,pc,Qm,Fd,vd,Md,qF,Se=d(()=>{mo="windsurf",H_=".windsurfrules",ui=".windsurf/rules",YF=".windsurfignore",ic=".codeiumignore",po="AGENTS.md",ac=".windsurf/hooks.json",lc=".windsurf/mcp_config.example.json",XF=".windsurf/mcp_config.json",di=".windsurf/workflows",dn=".windsurf/skills",cc=".agentsmesh/rules",z_=".agentsmesh/commands",ZF=".agentsmesh/agents",QF=".agentsmesh/skills",V_=".agentsmesh/ignore",J_=".agentsmesh/hooks.yaml",Y_=".agentsmesh/mcp.json",mc=".codeium/windsurf/memories/global_rules.md",pc=".codeium/windsurf/skills",Qm=".codeium/windsurf/global_workflows",Fd=".codeium/windsurf/hooks.json",vd=".codeium/windsurf/mcp_config.json",Md=".codeium/.codeiumignore",qF=".agents/skills";});function qJ(t){let e=basename(t,".md");return e==="_root"?"root":e}function tY(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 X_(t){let e=[],r=t.rules.find(n=>n.root);if(!r)return [];e.push({path:po,content:r.body.trim()});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("windsurf"))continue;let o=qJ(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 l=Object.keys(a).length>0?T(a,n.body.trim()||""):n.body.trim()||"";e.push({path:`${ui}/${o}.md`,content:l});let c=tY(n.globs);c&&(c!==o&&e.push({path:`${ui}/${c}.md`,content:l}),e.push({path:`${c}/AGENTS.md`,content:n.body.trim()||""}));}return e}var tv=d(()=>{j();Se();s(qJ,"ruleSlug");s(tY,"directoryScopedRuleDir");s(X_,"generateRules");});function Z_(t){return !t.ignore||t.ignore.length===0?[]:[{path:ic,content:t.ignore.join(`
144
+ `)}]}var ev=d(()=>{Se();s(Z_,"generateIgnore");});function Q_(t){return t.commands.map(e=>{let r={description:e.description.trim()||void 0,allowedTools:e.allowedTools.length>0?e.allowedTools:void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=Object.keys(r).length>0?T(r,e.body.trim()||""):e.body.trim();return {path:`${di}/${e.name}.md`,content:n}})}var rv=d(()=>{j();Se();s(Q_,"generateCommands");});function q_(t){return t.agents.map(e=>({path:`${dn}/${U(e.name)}/SKILL.md`,content:Tt(e)}))}var nv=d(()=>{mt();Se();s(q_,"generateAgents");});function tR(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:lc,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}var ov=d(()=>{Se();s(tR,"generateMcp");});function eY(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 rY(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let i of n){if(!Sn(i))continue;let a=zt(i),l=he(i),c=i.type==="prompt"?l||a:a||l;c&&o.push({command:c,show_output:true});}o.length>0&&(e[eY(r)]=o);}return e}function eR(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=rY(t.hooks);return Object.keys(e).length===0?[]:[{path:ac,content:JSON.stringify({hooks:e},null,2)}]}var sv=d(()=>{Mr();Se();s(eY,"windsurfEventName");s(rY,"toWindsurfHooks");s(eR,"generateHooks");});function rR(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=Object.keys(n).length>0?T(n,r.body.trim()||""):r.body.trim()||"";e.push({path:`${dn}/${r.name}/SKILL.md`,content:o});for(let i of r.supportingFiles)e.push({path:`${dn}/${r.name}/${i.relativePath}`,content:i.content});}return e}var iv=d(()=>{j();Se();s(rR,"generateSkills");});var av=d(()=>{tv();ev();rv();nv();ov();sv();iv();});var lv=d(()=>{av();});function cv(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 mv(t,e,r){let n=join(t,di),i=(await v(n)).filter(l=>l.endsWith(".md")),a=join(t,z_);for(let l of i){let c=await _(l);if(!c)continue;let m=relative(n,l).replace(/\\/g,"/");await O(a);let p=join(a,m),u=r(c,l,p),{frontmatter:f,body:g}=b(u),h=await _t(p,{description:typeof f.description=="string"?f.description:"",hasDescription:Object.prototype.hasOwnProperty.call(f,"description"),allowedTools:(()=>{let R=cv(f.allowedTools);return R.length>0?R:cv(f["allowed-tools"])})(),hasAllowedTools:Object.prototype.hasOwnProperty.call(f,"allowedTools")||Object.prototype.hasOwnProperty.call(f,"allowed-tools")},g);await I(p,h),e.push({fromTool:mo,fromPath:l,toPath:`${z_}/${m}`,feature:"commands"});}}var pv=d(()=>{w();j();ut();Se();s(cv,"toStringArray");s(mv,"importWorkflows");});async function uv(t,e,r,n=dn){await Vl([n],{projectRoot:t,destCanonicalSkillsDir:QF,targetName:"windsurf",normalize:r,results:e},[Jl({canonicalAgentsDir:ZF})]);}var dv=d(()=>{Yl();Se();s(uv,"importSkills");});async function gv(t,e){let r=join(t,ac),n=await _(r);if(n)try{let o=JSON.parse(n);if(!o.hooks||typeof o.hooks!="object"||Array.isArray(o.hooks))return;let i=iY(o.hooks);if(Object.keys(i).length===0)return;let a=join(t,J_);await O(dirname(a)),await I(a,stringify(i)),e.push({fromTool:mo,fromPath:r,toPath:J_,feature:"hooks"});}catch{}}function sY(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 iY(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=sY(r),i=[];for(let a of n){if(!a||typeof a!="object")continue;let l=a;if(typeof l.command=="string"&&l.command.trim()){i.push({matcher:".*",type:"command",command:l.command});continue}let c=typeof l.matcher=="string"&&l.matcher.trim()?l.matcher:".*",m=Array.isArray(l.hooks)?l.hooks:[];for(let p of m){if(!p||typeof p!="object")continue;let u=p,f=typeof u.command=="string"?u.command:typeof u.prompt=="string"?u.prompt:"";if(!f.trim())continue;let g={matcher:c,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 hv(t,e){let r=[lc,XF];for(let n of r){let o=join(t,n),i=await _(o);if(i)try{let a=JSON.parse(i);if(!a.mcpServers||typeof a.mcpServers!="object")continue;let l=join(t,Y_);await O(dirname(l)),await I(l,JSON.stringify({mcpServers:a.mcpServers},null,2)),e.push({fromTool:mo,fromPath:o,toPath:Y_,feature:"mcp"});return}catch{}}}var yv=d(()=>{w();Se();s(gv,"importWindsurfHooks");s(sY,"canonicalHookEventName");s(iY,"windsurfHooksToCanonical");s(hv,"importWindsurfMcp");});async function _v(t,e){let r=e?.scope??"project",n=[],o=await B(mo,t),i=await B("codex-cli",t),a=join(t,cc),l=join(t,H_),c=await _(l);if(c!==null){await O(a);let f=join(a,"_root.md"),g=o(c,l,f).trim(),h=await K(f,{root:true},g);await I(f,h),n.push({fromTool:"windsurf",fromPath:l,toPath:`${cc}/_root.md`,feature:"rules"});}if(c===null){let f=join(t,po),g=await _(f);if(g!==null){await O(a);let h=join(a,"_root.md"),R=o(i(g,f,h),f,h).trim(),C=await K(h,{root:true},R);await I(h,C),n.push({fromTool:"windsurf",fromPath:f,toPath:`${cc}/_root.md`,feature:"rules"});}}r!=="global"&&n.push(...await Rt({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(!eu(h))return await kn(join(a,`${R}.md`)),null;let C=join(a,`${R}.md`);return {destPath:C,toPath:`${cc}/${R}.md`,feature:"rules",content:await K(C,{root:false,globs:[`${h}/**`]},g(C))}},"mapEntry")}));let m=join(t,ui);n.push(...await Rt({srcDir:m,destDir:a,extensions:[".md"],fromTool:"windsurf",normalize:o,mapEntry:s(async({relativePath:f,normalizeTo:g})=>{if(f==="_root.md"&&c!==null)return null;let h=join(a,f),{frontmatter:R,body:C}=b(g(h)),S={...R};return typeof S.glob=="string"&&S.glob.trim()&&(S.globs=[S.glob],delete S.glob),{destPath:h,toPath:`${cc}/${f}`,feature:"rules",content:await K(h,{...S,root:false},C)}},"mapEntry")}));let p=join(t,YF),u=await _(p);if((u===null||!u.trim())&&(p=join(t,ic),u=await _(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,V_);await I(h,g.join(`
145
+ `)),n.push({fromTool:"windsurf",fromPath:p,toPath:V_,feature:"ignore"});}}return await mv(t,n,o),await uv(t,n,o),await gv(t,n),await hv(t,n),n}var Rv=d(()=>{dt();w();j();ut();xe();Qc();Se();pv();dv();yv();s(_v,"importFromWindsurf");});function Iv(t,e,r){let n=[],{rules:o}=t;o.length>0&&(o.some(l=>l.root)||n.push({level:"warning",file:relative(e,o[0].source),target:mo,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:mo,message:`Windsurf cannot project these features yet: ${i.join(", ")}.`}),n}var Sv=d(()=>{Se();s(Iv,"lintRules");});function Cv(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>x(e.source,"windsurf","windsurf workflow files are plain Markdown; command description and allowed-tools metadata are not projected."))}function kv(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[x(".agentsmesh/mcp.json","windsurf","Windsurf MCP is partial; generated .windsurf/mcp_config.example.json is a reference artifact and may require manual setup.")]}var Ev=d(()=>{Lt();s(Cv,"lintCommands");s(kv,"lintMcp");});function pY(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 uY,dY,fY,gY,Lv,Ov=d(()=>{lv();wi();Se();ee();Rv();Sv();Ev();Ct();ol();mt();s(pY,"directoryScopedRuleDir");uY={name:"windsurf",primaryRootInstructionPath:po,generateRules:X_,generateCommands:Q_,generateAgents:q_,generateSkills:rR,generateMcp:tR,generateHooks:eR,generateIgnore:Z_,importFrom:_v},dY={rootInstructionPath:po,extraRuleOutputPaths(t){if(t.root)return [po];let e=pY(t.globs);return e!==null?[`${e}/AGENTS.md`]:[]},skillDir:dn,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 `${ui}/${t}.md`},commandPath(t,e){return `${di}/${t}.md`},agentPath(t,e){return qe(e,"windsurf")?`.windsurf/skills/${U(t)}/SKILL.md`:null}}},fY={rootInstructionPath:mc,skillDir:pc,managedOutputs:{dirs:[pc,Qm,qF],files:[mc,Fd,vd,Md]},rewriteGeneratedPath(t){return t===po?mc:t.startsWith(`${ui}/`)||/\/AGENTS\.md$/.test(t)?null:t.startsWith(`${dn}/`)?t.replace(`${dn}/`,`${pc}/`):t.startsWith(`${di}/`)?t.replace(`${di}/`,`${Qm}/`):t===ac?Fd:t===lc?vd:t===ic?Md:t},mirrorGlobalPath(t,e){return pt(t,".codeium/windsurf/skills",e)},paths:{rulePath(t,e){return mc},commandPath(t,e){return `${Qm}/${t}.md`},agentPath(t,e){return qe(e,"windsurf")?`${pc}/${U(t)}/SKILL.md`:null}}},gY={rules:"native",additionalRules:"partial",commands:Gr("native","workflows"),agents:"embedded",skills:"native",mcp:"partial",hooks:"native",ignore:"native",permissions:"none"},Lv={id:"windsurf",metadata:{displayName:"Windsurf",category:"ide",officialUrl:"https://windsurf.com",shortDescription:"Codeium's agentic IDE"},generators:uY,capabilities:{rules:"native",additionalRules:"native",commands:Gr("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:Iv,lint:{commands:Cv,mcp:kv},project:dY,globalSupport:{capabilities:gY,detectionPaths:[mc,pc,Qm,Fd,vd,Md],layout:fY},buildImportPaths:ny,detectionPaths:[".windsurfrules",".windsurf"],conversionDefaults:{agentsToSkills:true}};});function Av(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=lt(n,r);return o?[{path:mn,content:o}]:[]}var wv=d(()=>{Ut();ha();s(Av,"generateRules");});async function Pv(t,e,r){let n=await _(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 l={};for(let[c,m]of Object.entries(a)){if(!m||typeof m!="object"||Array.isArray(m))continue;let p={...m};delete p.source,l[c]=p;}Object.keys(l).length!==0&&(await Bt(t,bv,l),r.push({fromTool:"zed",fromPath:e,toPath:bv,feature:"mcp"}));}var bv,Tv=d(()=>{w();Kr();ha();bv=".agentsmesh/mcp.json";s(Pv,"importZedMcp");});async function xv(t,e={}){let r=e.scope??"project",n=[],o=await B("zed",t,r);return n.push(...await J(Gd,t,r,{normalize:o})),await Pv(t,r==="global"?no:ro,n),n}var Dv=d(()=>{dt();Et();Tv();ha();oR();s(xv,"importFromZed");});function Nv(t,e,r,n){return V(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:"zed"}))}var Fv=d(()=>{It();ha();s(Nv,"lintRules");});function vv(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[x(".agentsmesh/hooks.yaml","zed","Zed has no lifecycle hook system; canonical hooks are not projected.")]:[]:[]}function Mv(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?[]:[x(".agentsmesh/permissions.yaml","zed","Zed permissions are managed via agent.tool_permissions in settings.json; canonical permissions are not projected.")]}function $v(t){return t.ignore.length===0?[]:[x(".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 Gv=d(()=>{Lt();s(vv,"lintHooks");s(Mv,"lintPermissions");s($v,"lintIgnore");});function CY(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 yY,_Y,RY,IY,SY,Gd,oR=d(()=>{wv();Dv();Fv();Gv();Ct();ha();yY={name:"zed",primaryRootInstructionPath:mn,generateRules:Av,importFrom:xv},_Y={rootInstructionPath:mn,managedOutputs:{dirs:[],files:[mn,ro]},paths:{rulePath(t){return mn},commandPath(){return null},agentPath(){return null}}},RY={rootInstructionPath:void 0,managedOutputs:{dirs:[],files:[no]},rewriteGeneratedPath(t){return t===ro?no:t},paths:{rulePath(){return no},commandPath(){return null},agentPath(){return null}}},IY={rules:"native",additionalRules:"embedded",commands:"none",agents:"none",skills:"none",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},SY={rules:"none",additionalRules:"none",commands:"none",agents:"none",skills:"none",mcp:"native",hooks:"none",ignore:"none",permissions:"none"};s(CY,"mergeZedSettings");Gd={id:"zed",metadata:{displayName:"Zed",category:"ide",officialUrl:"https://zed.dev",shortDescription:"Collaborative AI editor"},generators:yY,capabilities:IY,emptyImportMessage:"No Zed config found (.rules or .zed/settings.json).",lintRules:Nv,lint:{hooks:vv,permissions:Mv,ignore:$v},project:_Y,globalSupport:{capabilities:SY,detectionPaths:[no],layout:RY},importer:{rules:{feature:"rules",mode:"singleFile",source:{project:[mn],global:[]},canonicalDir:EL,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:ro,content:JSON.stringify({context_servers:r},null,2)}]},mergeGeneratedOutputContent(t,e,r,n){return n===ro||n===no?CY(t,r):null},buildImportPaths:oy,detectionPaths:[mn,ro]};});var tE={};og(tE,{BUILTIN_TARGETS:()=>bt,TARGET_IDS:()=>Ft,getBuiltinTargetDefinition:()=>Pr,getEffectiveTargetSupportLevel:()=>jd,getTargetCapabilities:()=>mi,getTargetDetectionPaths:()=>iR,getTargetLayout:()=>Gt,getTargetManagedOutputs:()=>aR,getTargetPrimaryRootInstructionPath:()=>EY,getTargetSkillDir:()=>qm,isBuiltinTargetId:()=>Pe,resolveTargetFeatureGenerator:()=>uc,rewriteGeneratedOutputPath:()=>lR});function kY(){return sR||(NC(bt),sR=new Map(bt.map(t=>[t.id,t]))),sR}function Pr(t){return kY().get(t)}function mi(t,e="project"){let r=Pr(t)??et(t);if(!r)return;let n=e==="global"?r.globalSupport?.capabilities??r.capabilities:r.capabilities;return xC(n)}function iR(t,e="project"){let r=Pr(t)??et(t);return r?e==="global"?r.globalSupport?.detectionPaths??[]:r.detectionPaths:[]}function Gt(t,e="project"){let r=Pr(t)??et(t);if(r)return e==="global"?r.globalSupport?.layout:r.project}function EY(t,e="project"){return Gt(t,e)?.rootInstructionPath}function qm(t,e="project"){return Gt(t,e)?.skillDir}function aR(t,e="project"){return Gt(t,e)?.managedOutputs}function lR(t,e,r="project"){let n=Gt(t,r);return n?n.rewriteGeneratedPath?n.rewriteGeneratedPath(e):e:null}function jv(t,e,r,n){return !t||!r?false:e==="commands"&&t.supportsConversion?.commands?!nl(r,t.id,true,n):e==="agents"&&t.supportsConversion?.agents?!qe(r,t.id,true,n):false}function LY(t,e,r,n){return !t||!r?false:e==="commands"&&t.supportsConversion?.commands?nl(r,t.id,true,n):e==="agents"&&t.supportsConversion?.agents?qe(r,t.id,true,n):false}function jd(t,e,r,n="project"){let o=mi(t,n)?.[e]?.level??"none",i=Pr(t)??et(t);return o==="none"&&LY(i,e,r,n)?"embedded":o!=="embedded"?o:jv(i,e,r,n)?"none":o}function uc(t,e,r,n="project"){let o=Pr(t)??et(t);if(!o?.generators||jv(o,e,r,n))return;let i=OY[e];return i===null?void 0:i(o.generators)}var bt,sR,OY,Pt=d(()=>{ol();wi();se();Ng();Rn();Qg();sy();iy();ly();DO();py();VA();Mw();xy();$y();jy();e_();r_();n_();C_();k_();E_();L_();P_();x_();N_();v_();M_();$_();U_();B_();K_();W_();Ov();oR();bt=[su,Fu,vu,Mu,xO,$u,zA,vw,Hu,Zu,qu,ld,cd,md,_d,Rd,Id,Sd,Ed,Ld,Od,Ad,wd,bd,Td,xd,Dd,Nd,Lv,Gd];s(kY,"builtinTargetsMap");s(Pr,"getBuiltinTargetDefinition");s(mi,"getTargetCapabilities");s(iR,"getTargetDetectionPaths");s(Gt,"getTargetLayout");s(EY,"getTargetPrimaryRootInstructionPath");s(qm,"getTargetSkillDir");s(aR,"getTargetManagedOutputs");s(lR,"rewriteGeneratedOutputPath");s(jv,"isFeatureSuppressedByConversion");s(LY,"isConversionUpgrading");s(jd,"getEffectiveTargetSupportLevel");OY={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(uc,"resolveTargetFeatureGenerator");});function bY(t,e){return t.uniqueHits!==e.uniqueHits?e.uniqueHits-t.uniqueHits:t.sharedScore!==e.sharedScore?e.sharedScore-t.sharedScore:t.id.localeCompare(e.id)}async function Ud(t){let e=[];for(let n of bt){let o=0,i=0;for(let a of n.detectionPaths){if(!await $(join(t,a)))continue;let l=wY.get(a)??1;l===1?o+=1:i+=1/l;}(o>0||i>0)&&e.push({id:n.id,uniqueHits:o,sharedScore:i});}if(e.length===0)return null;e.sort(bY);let r=e[0];return r.uniqueHits===0?null:r.id}var wY,Uv,cR=d(()=>{w();Pt();wY=(()=>{let t=new Map;for(let e of bt)for(let r of e.detectionPaths)t.set(r,(t.get(r)??0)+1);return t})();s(bY,"compare");s(Ud,"detectNativeFormat");Uv=bt.map(t=>t.detectionPaths[0]).filter(t=>t!==void 0);});async function tp(t,e){let r=et(e);if(!r)throw new Error(`No importer registered for native target: ${e}`);return r.generators.importFrom(t)}var mR=d(()=>{se();s(tp,"importNativeToCanonical");});async function Pa(t){if(!await $(t))return false;if(await $(join(t,uR)))return true;try{let e=await readdir(t,{withFileTypes:!0});for(let r of e)if(!(!r.isDirectory()||r.name.startsWith("."))&&await $(join(t,r.name,uR)))return !0}catch{return false}return false}async function ep(t,e={}){if(!await $(t))return [];if(await $(join(t,uR))){let r=await Bp(t,e);return r?[r]:[]}return Ls(t,e)}var uR,Bd=d(()=>{w();el();uR="SKILL.md";s(Pa,"isSkillPackLayout");s(ep,"loadSkillsAtExtendPath");});async function Kd(t,e={}){return (await Es(t,e)).filter(n=>!In(basename(n.source)))}async function Wd(t,e={}){return (await ks(t,e)).filter(n=>!In(basename(n.source)))}async function Hd(t,e={}){return (await Cs(t,e)).filter(n=>!In(basename(n.source)))}async function Bv(t,e={}){return Ls(t,e)}var zd=d(()=>{Hc();Wc();Kc();el();Co();s(Kd,"importAgents");s(Wd,"importCommands");s(Hd,"importRules");s(Bv,"importSkills");});function fR(t,e){let r=t?.[e];if(!r)return [];let n=Array.isArray(r)?r:[r],o=[];for(let i of n)i.mode!=="directory"||!i.map||!i.extensions||o.push({extensions:i.extensions,map:i.map});return o}function gR(t){return t.toLowerCase().endsWith(".md")}function Wv(t,e){for(let r of fR(et(t)?.importer,e))if(r.extensions.some(n=>!gR(n)))return true;return false}function MY(t,e){let r=new Set;for(let n of fR(et(t)?.importer,e))for(let o of n.extensions)gR(o)||r.add(o.toLowerCase());return r}function $Y(t){return bC().filter(e=>Wv(e,t))}async function UY(t,e,r){return GY[t](e,r)}async function BY(t,e,r){return jY[t](e,r)}async function KY(t,e,r,n={}){let o=fR(et(e)?.importer,r),i=await v(t),a=new Set;for(let p of o)for(let u of p.extensions)gR(u)||a.add(u.toLowerCase());let l=i.filter(p=>[...a].some(u=>p.toLowerCase().endsWith(u))&&!In(basename(p)));if(l.length===0)return {entities:[],cleanup:s(async()=>{},"cleanup")};let c=await mkdtemp(join(tmpdir(),`am-tool-${r}-${e}-`)),m=s(async()=>{await rm(c,{recursive:true,force:true});},"cleanup");try{for(let u of l){let f=await _(u);if(f===null)continue;let g=relative(t,u).replaceAll("\\","/"),h=null;for(let R of o){if(!R.extensions.some(k=>u.toLowerCase().endsWith(k.toLowerCase())))continue;let S=await R.map({absolutePath:u,relativePath:g,content:f,destDir:c,normalizeTo:s(()=>f,"normalizeTo")});if(S){h=S;break}}h&&(await O(dirname(h.destPath)),await I(h.destPath,h.content));}return {entities:await UY(r,c,n),cleanup:m}}catch(p){throw await m(),p}}async function hR(t,e,r={}){let n=r.restrictToTarget,o=n?Wv(n,e)?[n]:[]:$Y(e),i=new Set;for(let f of o)for(let g of MY(f,e))i.add(g);let a=await BY(e,t,{...r.parseOpts,handledByOtherReader:i.size>0?i:void 0}),l=[],c=s(f=>basename(f.source).replace(/\.[^.]+$/,""),"slugOf"),m=new Map;for(let f of a)m.set(c(f),f);for(let f of o){let g=await KY(t,f,e,r.parseOpts??{});l.push(g.cleanup);for(let h of g.entities){let R=c(h);m.has(R)||m.set(R,h);}}return {entities:[...m.values()].sort((f,g)=>c(f).localeCompare(c(g))),cleanup:s(async()=>{await Promise.allSettled(l.map(f=>f()));},"cleanup")}}async function Vd(t,e={}){let r=await hR(t,"commands",e);return {commands:[...r.entities],cleanup:r.cleanup}}async function Jd(t,e={}){let r=await hR(t,"rules",e);return {rules:[...r.entities],cleanup:r.cleanup}}async function Yd(t,e={}){let r=await hR(t,"agents",e);return {agents:[...r.entities],cleanup:r.cleanup}}var GY,jY,Xd=d(()=>{Hc();Wc();Kc();w();se();Co();zd();s(fR,"directorySpecsFor");s(gR,"isMarkdownExtension");s(Wv,"hasNonMdEntityMapper");s(MY,"nonMdEntityExtensions");s($Y,"targetsWithNonMdEntityMapper");GY={rules:Cs,commands:ks,agents:Es},jY={rules:Hd,commands:Wd,agents:Kd};s(UY,"parseEntityDir");s(BY,"importEntities");s(KY,"readToolNativeEntities");s(hR,"readEntityDirWithMappers");s(Vd,"readCommandsDirWithMappers");s(Jd,"readRulesDirWithMappers");s(Yd,"readAgentsDirWithMappers");});function zY(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}function VY(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 Zd(t){if(!await $(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 RR(t,e){if(basename(t)===e)return t;let r=join(t,e);return await $(r)?r:null}async function JY(t,e,r){let n=s(async()=>{},"noop"),o=await RR(t,"rules");if(!o)return {rules:[],cleanup:n};if(!r)return {rules:await Hd(o,e),cleanup:n};let i=await Jd(o,{parseOpts:e});return {rules:[...i.rules],cleanup:i.cleanup}}async function YY(t,e,r){let n=s(async()=>{},"noop"),o=await RR(t,"commands");if(!o)return {commands:[],cleanup:n};if(!r)return {commands:await Wd(o,e),cleanup:n};let i=await Vd(o,{parseOpts:e});return {commands:[...i.commands],cleanup:i.cleanup}}async function XY(t,e,r){let n=s(async()=>{},"noop"),o=await RR(t,"agents");if(!o)return {agents:[],cleanup:n};if(!r)return {agents:await Kd(o,e),cleanup:n};let i=await Yd(o,{parseOpts:e});return {agents:[...i.agents],cleanup:i.cleanup}}async function ZY(t,e){if(await Pa(t))return ep(t,e);let r=join(t,"skills");return await Pa(r)?ep(r,e):[]}async function Qd(t,e={}){let r=s(async()=>{},"noop"),n=join(t,".agentsmesh");if(await $(n))return {canonical:await Ee(t,e),cleanup:r};let o=e.enableTargetEntityMappers??false,i=zY(),a=await JY(t,e,o);i.rules=a.rules;let l=await YY(t,e,o);i.commands=l.commands;let c=await XY(t,e,o);i.agents=c.agents,i.skills=await ZY(t,e);let m=s(async()=>{await Promise.allSettled([a.cleanup(),l.cleanup(),c.cleanup()]);},"mergedCleanup");if(VY(i))throw await m(),new Error(`No installable resources at ${t}. Expected .agentsmesh/, or rules/, commands/, agents/, or Anthropic-style skills (SKILL.md). Hint: pass --as commands|agents|rules|skills to force a kind for flat markdown directories.`);return {canonical:i,cleanup:m}}var IR=d(()=>{w();zd();Xd();Ai();Bd();s(zY,"emptyCanonical");s(VY,"isCanonicalSliceEmpty");s(Zd,"normalizeSlicePath");s(RR,"resolveEntityDir");s(JY,"parseRulesAt");s(YY,"parseCommandsAt");s(XY,"parseAgentsAt");s(ZY,"loadSkillsForPartialSlice");s(Qd,"loadCanonicalSliceAtPath");});async function qd(t){let e=await _(t);if(!e)return "";let r=Fr(e,t);if(!r.ok)return "";let{frontmatter:n}=r.value;return typeof n.name!="string"?"":n.name.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}async function Hv(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 !(_C(o)||!n.includes("/")&&(jp(n)||RC(n)))},"filter")});}var SR=d(()=>{w();j();Co();s(qd,"readSkillFrontmatterName");s(Hv,"cpFilteredSkill");});function CR(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}function tX(t){let e={...t},r=t.alwaysApply===true;if(e.root=r,delete e.alwaysApply,!r){let n=CR(t.globs),o=typeof t.description=="string"?t.description.trim():"";n.length>0?e.trigger="glob":o.length>0?e.trigger="model_decision":e.trigger="manual";}return e}function eX(t){let e={...t};return e.trigger==="always"&&(e.trigger="always_on"),typeof e.glob=="string"&&(e.globs=CR(e.globs).length>0?CR(e.globs):[e.glob],delete e.glob),e}function kR(t){let e=Fr(t,"<mdc>");if(!e.ok)return e.bodyFallback;let{frontmatter:r,body:n}=e.value;if(Object.keys(r).length===0&&!t.startsWith("---"))return t;let o;return "alwaysApply"in r?o=tX(r):"trigger"in r||"glob"in r?o=eX(r):o=r,T(o,n.trim())}var zv=d(()=>{j();s(CR,"toStrArray");s(tX,"normalizeCursorKeys");s(eX,"normalizeWindsurfKeys");s(kR,"normalizeMdcToCanonical");});function ER(t){return t.toLowerCase().replace(/[^a-z0-9.-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}function LR(t){return t.toLowerCase().endsWith(".mdc")?basename(t).replace(/\.mdc$/i,".md"):basename(t)}function Jv(t,e,r){let o=relative(t,e).replace(/\\/g,"/").split("/");if(o.pop(),o.length===0)return r;let i=ER(o[o.length-1]);return i?`${i}-${r}`:r}var Yv=d(()=>{s(ER,"sanitizeNameSegment");s(LR,"computeDestName");s(Jv,"namespacedName");});async function iX(){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(t,{recursive:true,force:true});},"cleanup")}}function qv(t,e){let r=t.toLowerCase();return !!(r.endsWith(".md")||e&&r.endsWith(".mdc"))}async function aX(t,e,r){if(!qv(t,r))throw new Error(`Manual install only supports .md files for this collection: ${t}`);if(await O(e),t.toLowerCase().endsWith(".mdc")){let n=await _(t);if(!n)return;let o=basename(t).replace(/\.mdc$/i,".md");await writeFile(join(e,o),kR(n));}else await cp$1(t,join(e,basename(t)));}async function lX(t,e,r){if((await stat(t)).isFile())return aX(t,e,r);let o=(await v(t)).filter(l=>qv(l,r)&&!In(basename(l)));if(o.length===0)throw new Error(`No installable files found under ${t} for manual install. Try a different --path to point at the directory holding *.md (or *.mdc) files, or omit --as so agentsmesh can auto-detect the layout.`);let i=new Map;for(let l of o){let c=LR(l);i.set(c,(i.get(c)??0)+1);}let a=new Map;await O(e);for(let l of o){let c=LR(l),p=(i.get(c)??0)>1?Jv(t,l,c):c;if(a.has(p)&&a.get(p)!==l){let f=relative(t,l).replace(/\\/g,"/").split("/").map(ER).filter(Boolean),g=c.includes(".")?"."+c.split(".").pop():"";p=f.join("-").replace(/\.(md|mdc)$/i,"")+g||p;}if(a.has(p))throw new Error(`Manual install could not resolve duplicate name "${p}" under ${t} (${a.get(p)} and ${l}).`);if(a.set(p,l),l.toLowerCase().endsWith(".mdc")){let f=await _(l);if(!f)continue;await writeFile(join(e,p),kR(f));}else await cp$1(l,join(e,p));}}async function Xv(t,e,r){if(r.length===0)return false;let n=new Set(r),o=new Map;for(let i of await v(t)){if(!i.endsWith("/SKILL.md")&&!i.endsWith("\\SKILL.md"))continue;let a=dirname(i),l=basename(a);if(!n.has(l))continue;let c=o.get(l);if(c&&c!==a)throw new Error(`Manual skill replay found duplicate skill "${l}" under ${t} (${c} and ${a}).`);o.set(l,a);}if(o.size!==r.length)return false;await O(e);for(let i of r)await cp$1(o.get(i),join(e,i),{recursive:true});return true}async function cX(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 Pa(t)){if((await stat(join(t,"SKILL.md")).catch(()=>null))?.isFile()){if(await Xv(t,e,r.preferredSkillNames??[]))return;let l=await qd(join(t,"SKILL.md"))||basename(t),c=join(e,l);await O(e),await Hv(t,c);return}if(await Xv(t,e,r.preferredSkillNames??[]))return;await O(e);let o=await v(t),i=new Set;for(let a of o.filter(l=>l.endsWith("/SKILL.md")||l.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}.`)}async function ef(t,e,r={}){let n=await iX();try{let o=join(n.discoveryRoot,".agentsmesh",e);return e==="skills"?await cX(t,o,r):await lX(t,o,e==="rules"),n}catch(o){throw await n.cleanup(),o}}var AR=d(()=>{w();Bd();SR();Co();zv();Yv();s(iX,"createStageRoot");s(qv,"isAcceptedFile");s(aX,"stageSingleFile");s(lX,"stageMarkdownCollection");s(Xv,"stagePreferredSkills");s(cX,"stageSkills");s(ef,"stageManualInstallScope");});function mX(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}async function tM(t){let e=t.resolvedPath;if(t.as!==void 0){let o=t.path?join(e,t.path):e;if(!await $(o))throw new Error(`Extend "${t.name}": path does not exist: ${o}`);let i=await ef(o,t.as);try{return Ee(join(i.discoveryRoot,".agentsmesh"))}finally{await i.cleanup();}}if(!t.path){let o=join(e,".agentsmesh");if(!await $(o)){if(await Pa(e)){let a=await ep(e);return {...mX(),skills:a}}let i=t.target??await Ud(e);if(!i)throw new Error(`Extend "${t.name}": No supported agent configuration found in ${e}.
146
+ Expected one of: .agentsmesh/, ${Uv.join(", ")}.`);y.info(`[agentsmesh] Extend "${t.name}": ${t.target?"specified":"detected"} ${i} format, importing to .agentsmesh/...`),await tp(e,i);}return Ee(e)}let r=join(e,t.path);if(!await $(r))throw new Error(`Extend "${t.name}": path does not exist: ${r}`);if(t.target){let o=join(e,".agentsmesh");return await $(o)||(y.info(`[agentsmesh] Extend "${t.name}": path "${t.path}" with target "${t.target}" \u2014 importing at extend root, then loading canonical.`),await tp(e,t.target)),Ee(e)}let{sliceRoot:n}=await Zd(r);try{let{canonical:o}=await Qd(n);return o}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 eM=d(()=>{cR();w();ot();Ai();mR();Bd();IR();AR();s(mX,"emptyCanonical");s(tM,"loadCanonicalForExtend");});function rf(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(l=>i.has(l.name))};for(let l of r.skills)a.some(c=>c.name===l)||y.warn(`[agentsmesh] pick name "${l}" not found in skills from extend "${n}".`);}if(r.commands?.length&&e.includes("commands")){let i=new Set(r.commands),a=o.commands;o={...o,commands:a.filter(l=>i.has(l.name))};for(let l of r.commands)a.some(c=>c.name===l)||y.warn(`[agentsmesh] pick name "${l}" not found in commands from extend "${n}".`);}if(r.agents?.length&&e.includes("agents")){let i=new Set(r.agents),a=o.agents;o={...o,agents:a.filter(l=>i.has(l.name))};for(let l of r.agents)a.some(c=>c.name===l)||y.warn(`[agentsmesh] pick name "${l}" not found in agents from extend "${n}".`);}if(r.rules?.length&&e.includes("rules")){let i=new Set(r.rules),a=o.rules,l=s(c=>basename(c).replace(/\.md$/i,""),"stem");o={...o,rules:a.filter(c=>i.has(l(c.source)))};for(let c of r.rules)a.some(m=>l(m.source)===c)||y.warn(`[agentsmesh] pick name "${c}" not found in rules from extend "${n}".`);}return o}var wR=d(()=>{ot();s(rf,"applyExtendPick");});var dX,dc,nf=d(()=>{dX=["rules","commands","agents","skills"],dc=z.enum(dX);});var fX,rM,nM=d(()=>{Ro();nf();fX=z.enum(["github","gitlab","git","local"]),rM=z.object({name:z.string().min(1),source:z.string().min(1),version:z.string().optional(),source_kind:fX,installed_at:z.string(),updated_at:z.string(),features:z.array(Xa).min(1),pick:Mc.optional(),target:Qe.optional(),path:z.string().optional(),paths:z.array(z.string().min(1)).min(1).optional(),as:dc.optional(),content_hash:z.string(),license:z.string().nullable().optional()});});function oM(t){let e=Li(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 hX(t,e){return e?t.length===e.length&&[...t].sort().every((r,n)=>r===[...e].sort()[n]):true}async function fi(t){let e=join(t,"pack.yaml"),r=await _(e);if(r===null)return null;try{let n=parse(r);return rM.parse(n)}catch{return null}}async function iM(t,e,r){if(!await $(t))return null;let n=oM(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),l=await fi(a);if(l&&oM(l.source)===n&&l.target===r.target&&l.as===r.as&&hX(l.features,r.features))return {meta:l,packDir:a,name:l.name}}return null}async function of(t){if(!await $(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 fi(o);i&&r.push({meta:i,packDir:o,name:i.name});}return r}var fc=d(()=>{w();nM();jc();s(oM,"sourceIdentity");s(hX,"sameFeatures");s(fi,"readPackMetadata");s(iM,"findExistingPack");s(of,"listPacks");});function aM(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}async function yX(t){let[e,r,n,o,i,a,l,c]=await Promise.all([Cs(join(t,"rules")),ks(join(t,"commands")),Es(join(t,"agents")),Ls(join(t,"skills")),vr(join(t,"mcp.json")),Kp(join(t,"permissions.yaml")),Wp(join(t,"hooks.yaml")),Hp(join(t,"ignore"))]);return {...aM(),rules:e,commands:r,agents:n,skills:o,mcp:i,permissions:a,hooks:l,ignore:c}}async function lM(t){let e=join(t,"packs"),r=await of(e),n=aM();for(let{meta:o,packDir:i}of r){let a=await yX(i),l=PR(a,o.features),c=rf(l,o.features,o.pick,o.name);n=rl(n,c);}return n}var cM=d(()=>{Kc();Wc();Hc();el();zc();Og();wg();bg();Tg();fo();wR();fc();s(aM,"emptyCanonical");s(yX,"loadPackCanonical");s(lM,"loadPacksCanonical");});function PR(t,e){if(e.length===0)return mM();let r=new Set(e.flatMap(n=>RX[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 mM(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}async function ke(t,e,r={},n=join(e,".agentsmesh")){let o=await qa(t,e,{refreshCache:r.refreshRemoteCache===true}),i=mM();for(let c of o){let m=await tM(c),p=PR(m,c.features),u=rf(p,c.features,c.pick,c.name);i=rl(i,u);}let a=await lM(n);i=rl(i,a);let l=await Ee(n);return i=rl(i,l),{canonical:i,resolvedExtends:o}}var RX,fo=d(()=>{Fp();Ai();Tg();eM();wR();cM();RX={rules:["rules"],commands:["commands"],agents:["agents"],skills:["skills"],mcp:["mcp"],permissions:["permissions"],hooks:["hooks"],ignore:["ignore"]};s(PR,"filterCanonicalByFeatures");s(mM,"emptyCanonical");s(ke,"loadCanonicalWithExtends");});function h2(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 y2(t){return t.startsWith("file:")||t.startsWith("./")||t.startsWith("../")||t.startsWith("/")||/^[A-Za-z]:[/\\]/.test(t)}function KM(t){try{return realpathSync(t)}catch{return t}}function WM(t,e){let r=KM(resolve(e)),n=KM(t);if(!(n===r||n.startsWith(`${r}${sep}`)))throw new Error(`Plugin source resolves outside project root (escapes ${r}): ${n}`)}async function _2(t,e){let{source:r}=t,n;if(y2(r)){let i=r.startsWith("file:")?fileURLToPath(r):r,a=resolve(e,i);WM(a,e),n=pathToFileURL(a).href;}else {let i=h2(r,e);WM(i,e),n=pathToFileURL(i).href;}return await import(n)}function R2(t){return "descriptor"in t?[t.descriptor]:"descriptors"in t&&Array.isArray(t.descriptors)?t.descriptors:"default"in t?[t.default]:[]}async function _f(t,e){let r;try{r=await _2(t,e);}catch(i){throw new Error(`Plugin '${t.source}' failed to import: ${i instanceof Error?i.message:String(i)}`,{cause:i})}let n=R2(r),o=[];for(let i of n)try{let a=zp(i);Jp(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 HM(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 l=await _f(a,e);return r.push(l),null}catch(l){let c=`Plugin '${a.source}' failed to load: ${l instanceof Error?l.message:String(l)}`;return a.strict===true||n?new Error(c):(y.warn(c),null)}}))).filter(a=>a!==null);if(i.length>0){let a=i.map(l=>` - ${l.message}`).join(`
143
147
  `);throw new Error(`agentsmesh: ${i.length} plugin(s) failed strict load:
144
- ${a}`)}return r}var H_=u(()=>{y_();je();ft();s(mJ,"resolveNpmSpecifier");s(pJ,"isLocalSource");s(uJ,"importPluginModule");s(dJ,"extractDescriptors");s(Md,"loadPlugin");s(ev,"loadAllPlugins");});async function ce(t,e){t.plugins.length!==0&&await ev(t.plugins,e);}var ms=u(()=>{H_();s(ce,"bootstrapPlugins");});function J_(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=vJ(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]=gd(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 d of n)p[d]=gd(d,"additionalRules",t,r);o.push({feature:`additional rules (${m.length})`,count:m.length,support:p});}}}return o}function vJ(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=u(()=>{xt();s(J_,"buildCompatibilityMatrix");s(vJ,"countHooks");});function uv(t){return GJ[t]??t}var GJ,dv=u(()=>{GJ={"claude-code":"Claude"};s(uv,"matrixColumnLabel");});function gv(t){return Object.fromEntries(MJ.map(e=>[e,Object.fromEntries(kt.map(r=>{let n=ti(r,t)?.[e];return [r,n??{level:"none"}]}))]))}function $J(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}function jJ(t,e){return $J()?e:`${t}${e}${Nm.reset}`}function hv(t){let e=Y_[t];return jJ(UJ[t],e)}var MJ,fv,Y_,Nm,UJ,X_=u(()=>{mo();xt();MJ=["rules","additionalRules","commands","agents","skills","mcp","hooks","ignore","permissions"];s(gv,"buildSupportMatrix");fv=gv("project"),gv("global"),Y_={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($J,"noColor");s(jJ,"colorize");UJ={native:Nm.green,embedded:Nm.blue,partial:Nm.yellow,none:Nm.dim};s(hv,"coloredSymbol");});function Z_(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((Y,q)=>r?q:`${Y}${q}${o.reset}`,"c"),i=s(Y=>Y.replace(/\u001b\[[0-9;]*m/g,"").length,"visibleLength"),a=s((Y,q)=>{let Ft=i(Y),Gt=Math.max(0,q-Ft);return Y+" ".repeat(Gt)},"padWithColor"),c=Math.max(12,...e.map(Y=>Y.length)),l=e.map(Y=>uv(Y)),m=Math.max(8,c),p=Math.max(12,...t.map(Y=>Y.feature.length)),d=s(Y=>n(o.dim,"\u250C"+Y.map(q=>"\u2500".repeat(q)).join("\u252C")+"\u2510"),"border"),g=s(Y=>n(o.dim,"\u251C"+Y.map(q=>"\u2500".repeat(q)).join("\u253C")+"\u2524"),"sep"),f=s(Y=>n(o.dim,"\u2514"+Y.map(q=>"\u2500".repeat(q)).join("\u2534")+"\u2518"),"bottom"),h=[p,...e.map(()=>m)],O=d(h),R=[a(n(o.bold+o.cyan,"Feature"),p),...l.map(Y=>a(n(o.bold+o.magenta,Y),m))],E=n(o.dim,"\u2502")+R.join(n(o.dim,"\u2502"))+n(o.dim,"\u2502"),A=g(h),F=t.map(Y=>{let q=[a(n(o.cyan,Y.feature),p)];for(let Ft of e){let Gt=Y.support[Ft]??"none",io=r?Y_[Gt]:hv(Gt);q.push(a(` ${io} `,m));}return n(o.dim,"\u2502")+q.join(n(o.dim,"\u2502"))+n(o.dim,"\u2502")}),v=f(h),G=[O,E,A,...F,v];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=u(()=>{dv();X_();s(Z_,"formatMatrix");});function q_(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?"":`
148
+ ${a}`)}return r}var BR=d(()=>{xg();se();ot();s(h2,"resolveNpmSpecifier");s(y2,"isLocalSource");s(KM,"canonicalize");s(WM,"assertSourceInsideProjectRoot");s(_2,"importPluginModule");s(R2,"extractDescriptors");s(_f,"loadPlugin");s(HM,"loadAllPlugins");});async function Wt(t,e){t.plugins.length!==0&&await HM(t.plugins,e);}var fn=d(()=>{BR();s(Wt,"bootstrapPlugins");});function HR(t,e,r="project"){let n=[],o=[...t.targets,...t.pluginTargets??[]];for(let i of t.features){let a,l;switch(i){case "rules":l=e.rules.length,a="rules";break;case "commands":l=e.commands.length,a=l>0?`commands (${l})`:"commands";break;case "agents":l=e.agents.length,a=l>0?`agents (${l})`:"agents";break;case "skills":l=e.skills.length,a=l>0?`skills (${l})`:"skills";break;case "mcp":l=e.mcp?Object.keys(e.mcp.mcpServers).length:0,a=l>0?`mcp (${l} servers)`:"mcp";break;case "hooks":l=B2(e.hooks),a=l>0?`hooks (${l})`:"hooks";break;case "ignore":l=e.ignore.length>0?1:0,a="ignore";break;case "permissions":l=e.permissions&&(e.permissions.allow.length>0||e.permissions.deny.length>0)?1:0,a="permissions";break;default:continue}let c={};for(let m of o)c[m]=jd(m,i,t,r);if(n.push({feature:a,count:l,support:c}),i==="rules"){let m=e.rules.filter(p=>!p.root);if(m.length>0){let p={};for(let u of o)p[u]=jd(u,"additionalRules",t,r);n.push({feature:`additional rules (${m.length})`,count:m.length,support:p});}}}return n}function B2(t){if(!t)return 0;let e=0;for(let r of Object.values(t))Array.isArray(r)&&(e+=r.length);return e}var t$=d(()=>{Pt();s(HR,"buildCompatibilityMatrix");s(B2,"countHooks");});function e$(t){return K2[t]??t}var K2,r$=d(()=>{K2={"claude-code":"Claude"};s(e$,"matrixColumnLabel");});function n$(t){return Object.fromEntries(W2.map(e=>[e,Object.fromEntries(Ft.map(r=>{let o=mi(r,t)?.[e];return [r,o??{level:"none"}]}))]))}function H2(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}function z2(t,e){return H2()?e:`${t}${e}${sp.reset}`}function s$(t){let e=zR[t];return z2(V2[t],e)}var W2,o$,zR,sp,V2,VR=d(()=>{Rn();Pt();W2=["rules","additionalRules","commands","agents","skills","mcp","hooks","ignore","permissions"];s(n$,"buildSupportMatrix");o$=n$("project"),n$("global"),zR={native:"\u2713",embedded:"\u25C6",partial:"\u25D0",none:"\u2013"},sp={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(H2,"noColor");s(z2,"colorize");V2={native:sp.green,embedded:sp.blue,partial:sp.yellow,none:sp.dim};s(s$,"coloredSymbol");});function JR(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((z,Q)=>r?Q:`${z}${Q}${n.reset}`,"c"),i=s(z=>z.replace(/\u001b\[[0-9;]*m/g,"").length,"visibleLength"),a=s((z,Q)=>{let at=i(z),At=Math.max(0,Q-at);return z+" ".repeat(At)},"padWithColor"),l=Math.max(12,...e.map(z=>z.length)),c=e.map(z=>e$(z)),m=Math.max(8,l),p=Math.max(12,...t.map(z=>z.feature.length)),u=s(z=>o(n.dim,"\u250C"+z.map(Q=>"\u2500".repeat(Q)).join("\u252C")+"\u2510"),"border"),f=s(z=>o(n.dim,"\u251C"+z.map(Q=>"\u2500".repeat(Q)).join("\u253C")+"\u2524"),"sep"),g=s(z=>o(n.dim,"\u2514"+z.map(Q=>"\u2500".repeat(Q)).join("\u2534")+"\u2518"),"bottom"),h=[p,...e.map(()=>m)],R=u(h),C=[a(o(n.bold+n.cyan,"Feature"),p),...c.map(z=>a(o(n.bold+n.magenta,z),m))],S=o(n.dim,"\u2502")+C.join(o(n.dim,"\u2502"))+o(n.dim,"\u2502"),k=f(h),P=t.map(z=>{let Q=[a(o(n.cyan,z.feature),p)];for(let at of e){let At=z.support[at]??"none",wt=r?zR[At]:s$(At);Q.push(a(` ${wt} `,m));}return o(n.dim,"\u2502")+Q.join(o(n.dim,"\u2502"))+o(n.dim,"\u2502")}),N=g(h),F=[R,S,k,...P,N];F.push("");let W=[o(n.green,"\u2713")+" = native",o(n.blue,"\u25C6")+" = embedded",o(n.yellow,"\u25D0")+" = partial",o(n.dim,"\u2013")+" = not supported"];return F.push(o(n.bold,"Legend: ")+W.join(" ")),F.join(`
149
+ `)}var i$=d(()=>{r$();VR();s(JR,"formatMatrix");});function XR(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?"":`
146
150
  Per-file details:
147
151
  `+e.join(`
148
152
  `)+`
149
- `}var _v=u(()=>{s(q_,"formatVerboseDetails");});var tI=u(()=>{pv();yv();_v();});var eI={};ug(eI,{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 ce(a,r);let{canonical:l}=await he(a,c.configDir,{},c.canonicalDir),m=i??[...a.targets,...a.pluginTargets??[]],p=J_(a,l,o),d=q_(l);return {exitCode:0,data:{targets:m,features:p.map(g=>({name:g.feature,support:g.support}))},verboseDetails:d||void 0}}var vm=u(()=>{Oe();sn();tI();ms();s(Fm,"runMatrix");});var rI={};ug(rI,{renderMatrix:()=>Gm});function Gm(t,e){if(t.data.features.length===0){_.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=Z_(r,t.data.targets);process.stdout.write(o),process.stdout.write(`
153
+ `}var a$=d(()=>{s(XR,"formatVerboseDetails");});var ZR=d(()=>{t$();i$();a$();});var QR={};og(QR,{runMatrix:()=>ip});async function ip(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:l}=await yt(r,n);await Wt(a,r);let{canonical:c}=await ke(a,l.configDir,{},l.canonicalDir),m=i??[...a.targets,...a.pluginTargets??[]],p=HR(a,c,n),u=XR(c);return {exitCode:0,data:{targets:m,features:p.map(f=>({name:f.feature,support:f.support}))},verboseDetails:u||void 0}}var ap=d(()=>{Yt();fo();ZR();fn();s(ip,"runMatrix");});var qR={};og(qR,{renderMatrix:()=>lp});function lp(t,e){if(t.data.features.length===0){y.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=JR(r,t.data.targets);process.stdout.write(n),process.stdout.write(`
150
154
  `),e?.verbose&&t.verboseDetails&&(process.stdout.write(t.verboseDetails),process.stdout.write(`
151
- `));}var Mm=u(()=>{ft();tI();s(Gm,"renderMatrix");});function gR(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(gR,"createRouter");ft();var _R=[{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)"}],IR=[{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 RR(t,e=18){return t.length===0?" (no command-specific flags)":t.map(r=>` ${r.name.padEnd(e)}${r.description}`).join(`
152
- `)}s(RR,"formatFlags");function SR(){let t=IR.map(e=>`- ${e.name.padEnd(8)} ${e.description}
155
+ `));}var cp=d(()=>{ot();ZR();s(lp,"renderMatrix");});function RS(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(RS,"createRouter");ot();var sg=[{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)"}],ig=[{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 rules/commands/agents/skills from a local path or remote repo. Auto-classifies anthropic-skill-pack / canonical-agentsmesh / tool-native sources. When auto-detection is ambiguous or refuses a non-standard layout, override with: --path <dir> to narrow scope, --as <kind> to force a flat collection (rules|commands|agents|skills), --target <id> to lock the native importer, or --all to install every sub-pack of a marketplace.",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:"--all",description:"Install every sub-pack from a marketplace source"},{name:"--force",description:"Non-interactive mode; include invalid resources and skip selection prompts (implied by --json)"}]},{name:"installs",usage:"agentsmesh installs <subcommand> [flags]",description:"Read-only inventory of installed packs (subcommands: list)",flags:[{name:"list",description:"List installed packs (NAME, SOURCE, FEATURES, INSTALLED)"},{name:"--global",description:"Read from ~/.agentsmesh/installs.yaml"}]},{name:"uninstall",usage:"agentsmesh uninstall <name>[,<name>...] [flags]",description:"Remove an installed pack; cleans installs.yaml, extends, and generated outputs",flags:[{name:"<name>",description:"Install entry name from installs.yaml (comma-separated for batch)"},{name:"--all",description:"Remove every installed pack in this scope"},{name:"--keep-pack",description:"Keep .agentsmesh/packs/<name>/ on disk; only drop yaml/extends entries"},{name:"--keep-generated",description:"Skip the post-uninstall generate pass; warn about stale target files"},{name:"--global",description:"Uninstall from ~/.agentsmesh/"},{name:"--dry-run",description:"Preview removal plan; no writes"},{name:"--force",description:"Non-interactive mode; accept all prompts (delete-anyway on modifications). 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 Ep(t,e=18){return t.length===0?" (no command-specific flags)":t.map(r=>` ${r.name.padEnd(e)}${r.description}`).join(`
156
+ `)}s(Ep,"formatFlags");function ag(){let t=ig.map(e=>`- ${e.name.padEnd(8)} ${e.description}
153
157
  Usage: ${e.usage}
154
- ${RR(e.flags)}`).join(`
158
+ ${Ep(e.flags)}`).join(`
155
159
 
156
- `);_.info(`agentsmesh <command> [flags]
160
+ `);y.info(`agentsmesh <command> [flags]
157
161
 
158
162
  Global flags:
159
- ${RR(_R)}
163
+ ${Ep(sg)}
160
164
 
161
165
  Commands:
162
166
  ${t}
163
167
 
164
- Tip: run "agentsmesh <command> --help" for this same command reference.`);}s(SR,"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 ul(){return Qm||(Qm=l$()??m$(),Qm)}s(ul,"getVersion");function ER(){process.stdout.write(`agentsmesh v${ul()}
165
- `);}s(ER,"printVersion");ft();function ba(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(ba,"emitJson");var co=class extends Error{static{s(this,"CliUsageError");}constructor(e){super(e),this.name="CliUsageError";}};function OR(t,e){let r=t instanceof co?2:1;if(e?.json)return ba(e.command??"unknown",{success:false,error:t.message}),process.exit(r);e?.verbose&&t.stack?process.stderr.write(t.stack+`
167
- `):_.error(t.message),process.exit(r);}s(OR,"handleError");ft();function Ee(t,e,r,o){if(r.json===true){let n=e.exitCode===0;ba(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();sn();T();function xm(t){return createHash("sha256").update(t,"utf8").digest("hex")}s(xm,"hashContent");async function bd(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(bd,"hashFile");Td();var M_=".lock",kV=[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 wV(t){return t.startsWith("packs/")?false:kV.some(e=>e(t))}s(wV,"isCanonical");var TV={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 Pd(t){let e=join(t,M_),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(Pd,"readLock");async function xd(t,e){let r=join(t,M_),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.
168
+ Tip: run "agentsmesh <command> --help" for this same command reference.`);}s(ag,"printHelp");function Lp(t){let e=ig.find(r=>r.name===t);if(!e){ag();return}y.info(`${e.usage}
169
+
170
+ ${e.description}
171
+
172
+ Command flags:
173
+ ${Ep(e.flags)}
174
+
175
+ Global flags:
176
+ ${Ep(sg)}`);}s(Lp,"printCommandHelp");var Op;function S0(){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(S0,"readPackageVersion");function C0(){if(typeof __AGENTSMESH_VERSION__<"u")return __AGENTSMESH_VERSION__;let t=globalThis.__AGENTSMESH_VERSION__;return typeof t=="string"?t:"unknown"}s(C0,"getVersionFallback");function Ci(){return Op||(Op=S0()??C0(),Op)}s(Ci,"getVersion");function ES(){process.stdout.write(`agentsmesh v${Ci()}
177
+ `);}s(ES,"printVersion");ot();function Ha(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)+`
178
+ `);}s(Ha,"emitJson");var yn=class extends Error{static{s(this,"CliUsageError");}constructor(e){super(e),this.name="CliUsageError";}};function LS(t,e){let r=t instanceof yn?2:1;if(e?.json)return Ha(e.command??"unknown",{success:false,error:t.message}),process.exit(r);e?.verbose&&t.stack?process.stderr.write(t.stack+`
179
+ `):y.error(t.message),process.exit(r);}s(LS,"handleError");ot();function ge(t,e,r,n){if(r.json===true){let o=e.exitCode===0;Ha(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(ge,"handleResult");Yt();fo();w();bp();function af(t){return createHash("sha256").update(t,"utf8").digest("hex")}s(af,"hashContent");async function lf(t){try{let e=await readFile(t);return createHash("sha256").update(e).digest("hex")}catch(e){if(e instanceof Error&&"code"in e&&e.code==="ENOENT")return null;throw e}}s(lf,"hashFile");async function cf(t){try{if(!Ap(t)){let r=await readFile(t);return createHash("sha256").update(r).digest("hex")}let e=await readFile(t,"utf-8");return e.startsWith(Ja)&&(e=e.slice(Ja.length)),e=wp(e),createHash("sha256").update(e,"utf8").digest("hex")}catch(e){if(e instanceof Error&&"code"in e&&e.code==="ENOENT")return null;throw e}}s(cf,"hashFileForManifest");fc();var DR=".lock",kX=[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 EX(t){return t.startsWith("packs/")?false:kX.some(e=>e(t))}s(EX,"isCanonical");var LX={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 mf(t){let e=join(t,DR),r=await _(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(mf,"readLock");async function pf(t,e){let r=join(t,DR),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.
168
180
  # Tracks the state of all config files for team conflict resolution.
169
181
 
170
- `+stringify(o);await I(r,n);}s(xd,"writeLock");async function ls(t){if(!await j(t))return {};let e=await N(t),r={};for(let o of e){let n=relative(t,o).replace(/\\/g,"/");if(n===M_||!wV(n))continue;let i=await bd(o);i!==null&&(r[n]=i.startsWith("sha256:")?i:`sha256:${i}`);}return r}s(ls,"buildChecksums");function Dd(t,e,r){if(r.length===0)return [];let o=r.map(a=>TV[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(Dd,"detectLockedFeatureViolations");async function Nd(t){let e=await wd(t),r={};for(let{meta:o}of e)r[o.name]=o.content_hash;return r}s(Nd,"buildPackChecksums");async function Zc(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 ls(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(Zc,"buildExtendChecksums");xt();je();function Qc(t){return t?(t.outputFamilies??[]).filter(e=>e.kind==="additional").flatMap(e=>[...e.explicitPaths??[]]):[]}s(Qc,"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");ee();A_();function bV(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}s(bV,"addDirectoryMapping");function kF(t,e,r){let o=posix.dirname(e),n=posix.dirname(r);for(;o!==".agentsmesh/skills"&&o!==".";)bV(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");ae();Wt();fe();xt();function DV(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}s(DV,"addDirectoryMapping");function $_(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){DV(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($_,"buildReferenceMap");ee();ee();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 NV(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(NV,"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 d of l.supportingFiles){let g=a.normalize(a.join(p,d.relativePath));t.set(a.normalize(d.absolutePath),g);}for(let d of NV(l.supportingFiles))xF(t,a.join(m,d),a.join(p,d),a);}}s(DF,"addPackSkillArtifactMappings");ee();function FV(t){return `.agentsmesh/rules/${basename(t.source)}`}s(FV,"canonicalRulePath");function vV(t){return `.github/instructions/${basename(t.source,".md")}.instructions.md`}s(vV,"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,FV(a))),i.normalize(i.join(r,vV(a))));}s(FF,"applyCopilotInstructionArtifactRefs");xt();function j_(t,e){e!==void 0&&e.length>0&&!t.includes(e)&&t.push(e);}s(j_,"pushUnique");function vF(t,e,r,o){let n=[],i=r.get(`.agentsmesh/rules/${basename(e.source)}`);j_(n,i);let a=vt(t,o);if(e.root)for(let c of Qc(a))j_(n,c);for(let c of a?.extraRuleOutputPaths?.(e,{refs:r,scope:o})??[])j_(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 MV(t){return `.agentsmesh/commands/${t.name}.md`}s(MV,"canonicalCommandPath");function $V(t){return `.agentsmesh/agents/${t.name}.md`}s($V,"canonicalAgentPath");function jV(t){return `.agentsmesh/skills/${t.name}/SKILL.md`}s(jV,"canonicalSkillPath");function MF(t,e,r,o,n,i){let a=i?.scope??"project",c=et(o),l=new Map([...$_(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=$_(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(MV(c));l&&a.set(l,c.source);}for(let c of e.agents){let l=i.get($V(c));l&&a.set(l,c.source);}for(let c of e.skills){let l=i.get(jV(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,"/")}`,d=i.get(p);d&&(a.set(d,m.absolutePath),GF(t,o,d,m.absolutePath,a,n));}}return a}s($F,"buildOutputSourceMap");xt();je();$g();function BV(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(BV,"findSharedArtifactOwner");function jF(t,e,r){if(e==="global"){let o=BV(t.path,r);if(o)return o;let n=kS(t.path);if(n)return n}return t.target}s(jF,"artifactMapTargetForResult");function WV(t,e){return `${t}\0${(e??[]).join(",")}`}s(WV,"sourceMapCacheKey");function U_(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(U_,"collectPlannedPaths");function HV(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(HV,"artifactCacheKey");function UF(t,e,r,o,n="project",i,a){let c=U_(o,t),l=new Map,m=new Map;return t.map(p=>{if(a?.has(p.path))return p;let d=WV(p.target,i),f=(m.get(d)??(()=>{let A=$F(p.target,e,r,n,i);return m.set(d,A),A})()).get(p.path);if(!f)return p;let h=jF(p,n,i),O=HV(p,n,i),R=l.get(O)??(()=>{let A=MF(h,e,r,o,p.path,{scope:n});return l.set(O,A),A})(),E=Rd({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 E.content===p.content?p:{...p,content:E.content}})}s(UF,"rewriteGeneratedReferences");ee();ni();var VV=/!?\[[^\]]*\]\(([^)]+)\)/g,JV=/^\s*\[[^\]\n]+\]:\s*(?:<([^>\n]*)>|(\S+))/gm;function YV(t){return t.endsWith(".md")||t.endsWith(".mdc")}s(YV,"isMarkdownLikeOutput");function XV(t,e){return e.some(([r,o])=>t>=r&&t<o)}s(XV,"isOffsetInRanges");function ZV(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(ZV,"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 qV(t,e){if(e.has(t))return true;try{let r=statSync(t);return r.isFile()||r.isDirectory()}catch{return false}}s(qV,"pathExistsForGenerate");function tJ(t,e,r){let n=ZV(t).split("#")[0]??"",{candidate:i}=$a(n),a=i,c=Jc.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 d=et(e),g=V(e,r);m=[V(e,d.join(d.dirname(g),l)),V(e,d.join(e,l))];}let p=[];for(let d of m)for(let g of Am(e,d)){let f=V(e,g);p.includes(f)||p.push(f);}return p}s(tJ,"resolveMarkdownLinkTargets");function eJ(t,e){let r=U_(e,t),o=[];for(let n of t){if(!YV(n.path))continue;let i=V(e,et(e).join(e,n.path)),a=Id(n.content),c=s((l,m)=>{if(XV(m,a))return;let p=tJ(l,e,i);p.length!==0&&(p.some(d=>qV(d,r))||o.push({generatePath:n.path,target:n.target,rawLink:l.trim(),checkedPaths:p}));},"visitDestination");for(let l of n.content.matchAll(VV)){let m=l[1];m!==void 0&&c(m,l.index??0);}for(let l of n.content.matchAll(JV)){let m=(l[1]??l[2]??"").trim();m&&c(m,l.index??0);}}return o}s(eJ,"findBrokenMarkdownLinks");function KF(t,e){let r=eJ(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(`
182
+ `+stringify(n);await I(r,o);}s(pf,"writeLock");async function ys(t){if(!await $(t))return {};let e=await v(t),r={};for(let n of e){let o=relative(t,n).replace(/\\/g,"/");if(o===DR||!EX(o))continue;let i=await lf(n);i!==null&&(r[o]=i.startsWith("sha256:")?i:`sha256:${i}`);}return r}s(ys,"buildChecksums");function uf(t,e,r){if(r.length===0)return [];let n=r.map(a=>LX[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(l=>l(a))&&t[a]!==e[a]&&i.push(a);return i}s(uf,"detectLockedFeatureViolations");async function df(t){let e=await of(t),r={};for(let{meta:n}of e)r[n.name]=n.content_hash;return r}s(df,"buildPackChecksums");async function gc(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 ys(n),i=Object.keys(o).sort().map(c=>`${c}:${o[c]}`).join(`
183
+ `),a=af(i),l=a.startsWith("sha256:")?a:`sha256:${a}`;e[r.name]=`local:${l}`;}return e}s(gc,"buildExtendChecksums");Pt();se();function hc(t){return t?(t.outputFamilies??[]).filter(e=>e.kind==="additional").flatMap(e=>[...e.explicitPaths??[]]):[]}s(hc,"getAdditionalRootDecorationPaths");function pM(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(pM,"resolveRewriteFamilyId");ae();Jg();function OX(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}s(OX,"addDirectoryMapping");function uM(t,e,r){let n=posix.dirname(e),o=posix.dirname(r);for(;n!==".agentsmesh/skills"&&n!==".";)OX(t,n,o),n=posix.dirname(n),o=posix.dirname(o);}s(uM,"addSkillDirectoryMappings");Pt();function dM(t,e,r="project"){let n=Gt(t,r);if(!n)return null;if(e.root)return n.rootInstructionPath??null;if(e.targets.length>0&&!e.targets.includes(t))return null;let o=posix.basename(e.source.replace(/\\/g,"/"),".md");return n.paths.rulePath(o,e)}s(dM,"ruleTargetPath");function fM(t,e,r,n="project"){let o=Gt(t,n);return o?o.paths.commandPath(e,r):null}s(fM,"commandTargetPath");function gM(t,e,r,n="project"){let o=Gt(t,n);return o?o.paths.agentPath(e,r):null}s(gM,"agentTargetPath");de();Jt();Se();Pt();function bX(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}s(bX,"addDirectoryMapping");function NR(t,e,r,n="project"){let o=new Map;for(let a of e.rules){let l=dM(t,a,n);l&&o.set(`.agentsmesh/rules/${basename(a.source)}`,l);}for(let a of e.commands){let l=fM(t,a.name,r,n);l&&o.set(`.agentsmesh/commands/${a.name}.md`,l);}for(let a of e.agents){let l=gM(t,a.name,r,n);l&&o.set(`.agentsmesh/agents/${a.name}.md`,l);}let i=qm(t,n);if(!i)return o;for(let a of e.skills){bX(o,`.agentsmesh/skills/${a.name}`,`${i}/${a.name}`),o.set(`.agentsmesh/skills/${a.name}/SKILL.md`,`${i}/${a.name}/SKILL.md`);for(let l of a.supportingFiles){let c=l.relativePath.replace(/\\/g,"/"),m=`.agentsmesh/skills/${a.name}/${c}`,p=`${i}/${a.name}/${c}`;o.set(m,p),uM(o,m,p);}}return o}s(NR,"buildReferenceMap");ae();ae();Pt();function yM(t,e,r,n){let o=n.normalize(e),i=n.normalize(r);t.set(o,i),t.set(`${o}/`,`${i}/`);}s(yM,"addPackAbsoluteDirMapping");function PX(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(PX,"skillSupportingDirPrefixes");function _M(t,e,r,n,o){let i=qm(e,o);if(!i)return;let a=nt(n),l=a.join(n,".agentsmesh","packs");for(let c of r.skills){let m=a.dirname(c.source);if(!m.startsWith(l))continue;let p=a.normalize(a.join(n,i,c.name));yM(t,m,p,a),t.set(a.normalize(c.source),a.normalize(a.join(p,"SKILL.md")));for(let u of c.supportingFiles){let f=a.normalize(a.join(p,u.relativePath));t.set(a.normalize(u.absolutePath),f);}for(let u of PX(c.supportingFiles))yM(t,a.join(m,u),a.join(p,u),a);}}s(_M,"addPackSkillArtifactMappings");ae();function TX(t){return `.agentsmesh/rules/${basename(t.source)}`}s(TX,"canonicalRulePath");function xX(t){return `.github/instructions/${basename(t.source,".md")}.instructions.md`}s(xX,"copilotInstructionsPath");function IM(t,e,r,n,o){if(t!=="copilot"||!n?.startsWith(".github/instructions/"))return;let i=nt(r);for(let a of o.rules)a.root||a.globs.length===0||e.set(i.normalize(i.join(r,TX(a))),i.normalize(i.join(r,xX(a))));}s(IM,"applyCopilotInstructionArtifactRefs");Pt();function FR(t,e){e!==void 0&&e.length>0&&!t.includes(e)&&t.push(e);}s(FR,"pushUnique");function SM(t,e,r,n){let o=[],i=r.get(`.agentsmesh/rules/${basename(e.source)}`);FR(o,i);let a=Gt(t,n);if(e.root)for(let l of hc(a))FR(o,l);for(let l of a?.extraRuleOutputPaths?.(e,{refs:r,scope:n})??[])FR(o,l);return o}s(SM,"extraRuleOutputPaths");Pt();function CM(t,e,r,n,o,i){let a=Gt(t,e);if(!a?.mirrorGlobalPath)return;let l=a.mirrorGlobalPath(r,i??[]),c=l===null?[]:Array.isArray(l)?l:[l];for(let m of c)m!==r&&o.set(m,n);}s(CM,"addSkillMirrorSourceEntry");function NX(t){return `.agentsmesh/commands/${t.name}.md`}s(NX,"canonicalCommandPath");function FX(t){return `.agentsmesh/agents/${t.name}.md`}s(FX,"canonicalAgentPath");function vX(t){return `.agentsmesh/skills/${t.name}/SKILL.md`}s(vX,"canonicalSkillPath");function kM(t,e,r,n,o,i){let a=i?.scope??"project",l=nt(n),c=new Map([...NR(t,e,r,a)].map(([m,p])=>[l.normalize(l.join(n,m)),l.normalize(l.join(n,p))]));return IM(t,c,n,o,e),_M(c,t,e,n,a),c}s(kM,"buildArtifactPathMap");function EM(t,e,r,n="project",o){let i=NR(t,e,r,n),a=new Map;for(let l of e.rules)for(let c of SM(t,l,i,n))a.set(c,l.source);for(let l of e.commands){let c=i.get(NX(l));c&&a.set(c,l.source);}for(let l of e.agents){let c=i.get(FX(l));c&&a.set(c,l.source);}for(let l of e.skills){let c=i.get(vX(l));c&&(a.set(c,l.source),CM(t,n,c,l.source,a,o));for(let m of l.supportingFiles){let p=`.agentsmesh/skills/${l.name}/${m.relativePath.replace(/\\/g,"/")}`,u=i.get(p);u&&(a.set(u,m.absolutePath),CM(t,n,u,m.absolutePath,a,o));}}return a}s(EM,"buildOutputSourceMap");Pt();se();Ng();function GX(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(GX,"findSharedArtifactOwner");function LM(t,e,r){if(e==="global"){let n=GX(t.path,r);if(n)return n;let o=DC(t.path);if(o)return o}return t.target}s(LM,"artifactMapTargetForResult");function jX(t,e){return `${t}\0${(e??[]).join(",")}`}s(jX,"sourceMapCacheKey");function vR(t,e){let r=nt(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(vR,"collectPlannedPaths");function UX(t,e,r){let n=Gt(t.target,e),o=pM(n,t.path);if(o!=="default")return `${t.target}:${o}`;let i=LM(t,e,r);return i===t.target?t.target:`${t.target}~via~${i}`}s(UX,"artifactCacheKey");function OM(t,e,r,n,o="project",i,a){let l=vR(n,t),c=new Map,m=new Map;return t.map(p=>{if(a?.has(p.path))return p;let u=jX(p.target,i),g=(m.get(u)??(()=>{let k=EM(p.target,e,r,o,i);return m.set(u,k),k})()).get(p.path);if(!g)return p;let h=LM(p,o,i),R=UX(p,o,i),C=c.get(R)??(()=>{let k=kM(h,e,r,n,p.path,{scope:o});return c.set(R,k),k})(),S=ou({content:p.content,projectRoot:n,sourceFile:g,destinationFile:nt(n).join(n,p.path),translatePath:s(k=>C.get(k)??k,"translatePath"),pathExists:s(k=>l.has(k)||existsSync(k),"pathExists"),explicitCurrentDirLinks:true,rewriteBarePathTokens:true,scope:o,pathIsDirectory:s(k=>{try{return statSync(k).isDirectory()}catch{return false}},"pathIsDirectory")});return S.content===p.content?p:{...p,content:S.content}})}s(OM,"rewriteGeneratedReferences");ae();As();ot();var KX=/!?\[[^\]]*\]\(([^)]+)\)/g,WX=/^\s*\[[^\]\n]+\]:\s*(?:<([^>\n]*)>|(\S+))/gm;function HX(t){return t.endsWith(".md")||t.endsWith(".mdc")}s(HX,"isMarkdownLikeOutput");function zX(t,e){return e.some(([r,n])=>t>=r&&t<n)}s(zX,"isOffsetInRanges");function VX(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(VX,"parseMarkdownLinkDestination");function JX(t,e){let r=t.trim();if(!r||r.startsWith("#")||/^https?:\/\//i.test(r)||/^mailto:/i.test(r)||/^data:/i.test(r)||/^javascript:/i.test(r)||/^ftp:/i.test(r))return true;if(/^[a-zA-Z]:[\\/]/.test(r))return false;if(/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(r))return true;if(r.startsWith("/")){let n=Y(e,e),o=Y(e,r);if(!o.startsWith(`${n}/`)&&o!==n)return true}return false}s(JX,"shouldSkipLocalValidation");function YX(t){return /(?:^|\/)[^/]+\/skills\/[^/]+\//.test(t)}s(YX,"isSkillGeneratedOutput");var XX={rules:"rules",steering:"rules",commands:"commands",agents:"agents",skills:"skills",droids:"agents",instructions:"rules",prompts:"commands"},ZX={".clinerules":"rules"},QX=[".agent.md",".instructions.md",".prompt.md"];function AM(t){for(let e of QX)if(t.endsWith(e))return t.slice(0,-e.length);return t.endsWith(".mdc")?t.slice(0,-4):t.endsWith(".md")?t.slice(0,-3):t}s(AM,"stripMarkdownExt");function qX(t){let e=/^[^/]+\/([^/]+)\/([^/]+)/.exec(t);if(e){let n=XX[e[1]??""];if(n){let o=e[2]??"";return n!=="skills"&&(o=AM(o)),`${n}/${o}`}}let r=/^([^/]+)\/([^/]+)/.exec(t);if(r){let n=ZX[r[1]??""];if(n)return `${n}/${AM(r[2]??"")}`}return null}s(qX,"canonicalKeyFromOutputPath");function t2(t,e){if(e.has(t))return true;try{let r=statSync(t);return r.isFile()||r.isDirectory()}catch{return false}}s(t2,"pathExistsForGenerate");function e2(t,e,r){let o=VX(t).split("#")[0]??"",{candidate:i}=pl(o),a=i,l=ul.exec(a);l&&(a=a.slice(0,l.index));let c;try{c=decodeURIComponent(a);}catch{c=a;}if(JX(c,e))return [];let m=tm(c,e,r);if(m.length===0){let u=nt(e),f=Y(e,r);m=[Y(e,u.join(u.dirname(f),c)),Y(e,u.join(e,c))];}let p=[];for(let u of m)for(let f of em(e,u)){let g=Y(e,f);p.includes(g)||p.push(g);}return p}s(e2,"resolveMarkdownLinkTargets");function r2(t,e){let r=vR(e,t),n=[];for(let o of t){if(!HX(o.path))continue;let i=Y(e,nt(e).join(e,o.path)),a=nu(o.content),l=s((c,m)=>{if(zX(m,a))return;let p=e2(c,e,i);p.length!==0&&(p.some(u=>t2(u,r))||n.push({generatePath:o.path,target:o.target,rawLink:c.trim(),checkedPaths:p}));},"visitDestination");for(let c of o.content.matchAll(KX)){let m=c[1];m!==void 0&&l(m,c.index??0);}for(let c of o.content.matchAll(WX)){let m=(c[1]??c[2]??"").trim();m&&l(m,c.index??0);}}return n}s(r2,"findBrokenMarkdownLinks");function wM(t,e,r={}){let n=r2(t,e);if(n.length===0)return;let o=r.packOriginatedKeys,i=[],a=[];for(let c of n){let m=qX(c.generatePath),p=o!==void 0&&m!==null&&o.has(m);YX(c.generatePath)||p?a.push(c):i.push(c);}if(a.length>0){let c=a.map(m=>` ${m.generatePath} (${m.target}): "${m.rawLink}" \u2192 not found`);y.warn(`Third-party content contains ${a.length} broken local link${a.length===1?"":"s"} (warning only; outputs from installed packs and skill subtrees are treated as advisory):
184
+ ${c.join(`
185
+ `)}`);}if(i.length===0)return;let l=i.map(c=>` ${c.generatePath} (${c.target}): "${c.rawLink}" \u2192 not found (tried: ${c.checkedPaths.join(", ")})`);throw new Error(`Generated markdown contains broken local links:
186
+ ${l.join(`
173
187
  `)}
174
- Fix canonical sources or generators so every local link targets an existing file or folder.`)}s(KF,"validateGeneratedMarkdownLinks");mo();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 rJ(t,e){return BF(e.status)<=BF(t.status)?t:{...t,status:e.status,currentContent:e.currentContent??t.currentContent}}s(rJ,"mergeDuplicateMetadata");function vd(t){return t.trim()}s(vd,"trimmedContent");function oJ(t,e){if(!t.path.endsWith(WF)||t.path!==e.path)return null;let r=vd(t.content),o=vd(e.content);if(!r||!o)return null;let n=r.includes(o),i=o.includes(r);return n===i?null:n?t:e}s(oJ,"richerAgentsResult");function nJ(t,e){if(!t.path.endsWith(WF)||t.path!==e.path)return null;let r=t.target===_g?t:e.target===_g?e:null,o=r===t?e:t;if(!r)return null;let n=vd(r.content).length,i=vd(o.content).length;return n===i?null:n>i?r:o}s(nJ,"richerCodexAgentsResult");function Gd(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=oJ(n,r);if(i){e[o]=i;continue}let a=nJ(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]=rJ(n,r);}return e}s(Gd,"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 sJ(t,e,r){let o=h_(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(sJ,"resolveGeneratedOutputPath");async function Dm(t,e,r,o,n,i){let a=sJ(e,r.path,n);if(a===null)return null;let c=await y(join(o,a)),l=t.findIndex(d=>d.path===a&&d.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 K_(t,e,r){return {capability:ti(t,r)?.[e]??{level:"none"},scope:r}}s(K_,"featureContext");async function Sa(t,e,r,o,n,i,a,c){if(n)for(let l of e){let m=c(l);if(!m)continue;let p=K_(l,a,i);for(let d of m(r,p)){let g=await Dm(t,l,d,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 E=await y(join(o,R));t.push({target:l,path:R,content:d.content,currentContent:E??void 0,status:VF(E,d.content)});}}}}}s(Sa,"generateFeature");Wg();xt();function iJ(t){return t?.rootInstructionPath?[t.rootInstructionPath,...Qc(t)]:[]}s(iJ,"rootDecorationPaths");function JF(t,e,r="project"){return t.map(o=>{let n=vt(o.target,r);if(!n)return o;let i=iJ(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=vS(c);return l===o.content?o:{...o,content:l}})}s(JF,"decoratePrimaryRootInstructions");xt();je();Cu();function B_(t,e,r,o,n){let a=(Cr(t)??ut(t))?.mergeGeneratedOutputContent?.(e,r,o,n);if(a!=null)return a;let c=r?.content??e;return c!==null&&uw.includes(n)?dw(c,o):o}s(B_,"mergeOutputContent");async function YF(t,e,r,o,n){for(let i of e){let a=Vc(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,d)=>B_(i,l,m,p,d),"mergeContent")});}}s(YF,"generatePermissionsFeature");async function XF(t,e,r,o,n,i){for(let a of e){let c=Vc(a,"hooks",i,n)??ut(a)?.generators.generateHooks;if(!c)continue;let l=K_(a,"hooks",n),m=[...c(r,l)],d=(Cr(a)??ut(a))?.postProcessHookOutputs;d&&(m=[...await d(o,r,m)]);for(let g of m)await Dm(t,a,g,o,n,{mergeContent:s((f,h,O,R)=>B_(a,f,h,O,R),"mergeContent")});}}s(XF,"generateHooksFeature");async function ZF(t,e,r,o,n){for(let i of e){let c=(Cr(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,d,g,f)=>B_(i,p,d,g,f),"mergeContent")});}}s(ZF,"generateScopedSettingsFeature");async function Or(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,Y){return Vc(J,Y,e,n)}s(l,"resolveGen");let m=e.features.includes("rules"),p=e.features.includes("commands"),d=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"),E=[];await Sa(E,c,r,o,m,n,"rules",J=>l(J,"rules")),await Sa(E,c,r,o,p,n,"commands",J=>l(J,"commands")),await Sa(E,c,r,o,d,n,"agents",J=>l(J,"agents")),await Sa(E,c,r,o,g,n,"skills",J=>l(J,"skills")),await Sa(E,c,r,o,f,n,"mcp",J=>l(J,"mcp")),h&&await YF(E,c,r,o,n),O&&await XF(E,c,r,o,n,e),await Sa(E,c,r,o,R,n,"ignore",J=>l(J,"ignore"));let A=new Set(e.features);for(let J of c){let q=(Cr(J)??ut(J))?.globalSupport?.scopeExtras;if(q){let Ft=await q(r,o,n,A);E.push(...Ft);}}(f||R||O||d||h)&&await ZF(E,c,r,o,n);let F=JF(E,r,n),v=aJ(F,n),G=UF(F,r,e,o,n,c,v);return KF(G,o),Gd(G.map(HF))}s(Or,"generate");function aJ(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 Qc(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(aJ,"computeSharedRootInstructionPaths");ms();ft();T();mn();var RJ=6e4,SJ=30,CJ=200,EJ=2e3;async function sv(t,e={}){let r=e.retries??SJ,o=e.retryDelayMs??CJ,n=e.staleMs??RJ;await mkdir(dirname(t),{recursive:true});let i=0;for(;;){let a=await OJ(t);if(a)return a;let c=await LJ(t);if(c!=="young"&&AJ(c,n)){await rm$1(t,{recursive:true,force:true}).catch(()=>{});continue}if(i>=r){let l=c==="young"?null:c;throw new xa(t,wJ(l))}i++,await bJ(o);}}s(sv,"acquireProcessLock");async function OJ(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(OJ,"tryAcquire");async function LJ(t){try{let e=await readFile(join(t,"holder.json"),"utf-8"),r=JSON.parse(e);return TJ(r)?r:null}catch{try{let e=await stat(t);if(Date.now()-e.mtimeMs<EJ)return "young"}catch{}return null}}s(LJ,"inspectLock");function AJ(t,e){return !t||Date.now()-t.started>e?true:t.hostname&&t.hostname!==iv()?false:!kJ(t.pid)}s(AJ,"isStale");function kJ(t){if(!Number.isInteger(t)||t<=0)return false;try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}s(kJ,"isProcessAlive");function wJ(t){return t?`${t.hostname?`${t.hostname}:`:""}pid ${t.pid} (running ${Date.now()-t.started}ms)`:"unknown (unreadable lock metadata)"}s(wJ,"describeHolder");function TJ(t){if(typeof t!="object"||t===null)return false;let e=t;return typeof e.pid=="number"&&typeof e.started=="number"}s(TJ,"isLockMetadata");function iv(){return hostname()}s(iv,"getHostname");function bJ(t){return new Promise(e=>setTimeout(e,t))}s(bJ,"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 NJ(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(NJ,"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=f_(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 NJ(t.projectRoot,n,e);}s(cv,"cleanupStaleGeneratedOutputs");function qc(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(qc,"ensurePathInsideRoot");_l();T();ft();async function V_(t,e){let r=await ls(t.canonicalDir),o=e.length>0?await Zc(e):{},n=await Nd(join(t.canonicalDir,"packs")),i=process.env.USER??process.env.USERNAME??"unknown";await xd(t.canonicalDir,{generatedAt:new Date().toISOString(),generatedBy:i,libVersion:ul(),checksums:r,extends:o,packs:n});try{await hg(Le(),join(t.configDir,".agentsmeshcache"));}catch(a){_.warn(`Could not create .agentsmeshcache symlink: ${a instanceof Error?a.message:String(a)}`);}}s(V_,"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:$d([])}};if(o||await V_(n,i),l.printMatrix!==false){let{runMatrix:m}=await Promise.resolve().then(()=>(vm(),eI)),{renderMatrix:p}=await Promise.resolve().then(()=>(Mm(),rI)),d=await m(a,c);p(d,{verbose:a.verbose===true});}return {exitCode:0,data:{scope:r,mode:e,files:[],summary:$d([])}}}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:$d(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,d=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=qc(i.rootBase,h.path,h.target);await I(O,h.content);}await cv({projectRoot:i.rootBase,targets:a,expectedPaths:e.map(h=>h.path),scope:o}),await V_(i,c);}}finally{d&&await d();}if(p.printMatrix!==false){let{runMatrix:h}=await Promise.resolve().then(()=>(vm(),eI)),{renderMatrix:O}=await Promise.resolve().then(()=>(Mm(),rI)),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:$d(g)}}}s(Sv,"handleGenerateOrDryRun");function $d(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($d,"buildSummary");async function tl(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(v=>v.trim()).filter(Boolean):void 0,d=n?"check":i?"dry-run":"generate",{config:g,context:f}=await Tt(o,c);await ce(g,o);let h=g.collaboration?.lock_features??[];if(g.collaboration?.strategy==="lock"&&!a&&h.length>0){let v=await Pd(f.canonicalDir);if(v!==null){let G=await ls(f.canonicalDir),J=Dd(v.checksums,G,h);if(J.length>0){_.error("Locked feature violation (strategy: lock). Modified files:");for(let Y of J)_.error(` ${Y}`);throw _.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),E=[...g.targets,...g.pluginTargets??[]];if(p){let v=p.filter(G=>!E.includes(G));if(v.length>0)throw new Error(`Unknown target(s) in --targets: ${v.join(", ")}. Available: ${E.join(", ")}`)}let A=p?E.filter(v=>p.includes(v)):E,F=await Or({config:g,canonical:O,projectRoot:f.rootBase,scope:c,targetFilter:p});return F.length===0?Iv({mode:d,scope:c,dryRun:i,context:f,resolvedExtends:R,flags:t,root:o,options:r}):n?Rv(F,c):Sv({results:F,dryRun:i,scope:c,mode:d,context:f,activeTargets:A,resolvedExtends:R,flags:t,root:o,options:r})}s(tl,"runGenerate");ft();function oI(t,e){return t==="global"?`~/${e}`:e}s(oI,"formatDisplayPath");function el(t){let{data:e}=t,{scope:r,mode:o,files:n}=e;if(n.length===0){_.info("No files to generate (no root rule or rules feature disabled)."),o==="check"&&_.success("Generated files are in sync.");return}if(o==="check"){let l=n.filter(m=>m.status!=="unchanged");if(l.length===0){_.success("Generated files are in sync.");return}for(let m of l)_.error(`[check] ${m.status} ${oI(r,m.path)} (${m.target})`);_.error("Generated files are out of sync. Run 'agentsmesh generate' to update them.");return}if(o==="dry-run"){for(let l of n)_.info(`[dry-run] ${l.status} ${oI(r,l.path)} (${l.target})`);return}for(let l of n)(l.status==="created"||l.status==="updated")&&_.success(`${l.status} ${oI(r,l.path)}`);let{created:i,updated:a,unchanged:c}=e.summary;i>0||a>0?_.info(`Generated: ${i} created, ${a} updated, ${c} unchanged`):_.info(`Nothing changed. (${c} unchanged)`);}s(el,"renderGenerate");T();xt();mo();var BJ=["codex-cli"];function Cv(){return kt.filter(t=>!BJ.includes(t))}s(Cv,"starterInitTargetIds");var WJ=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],HJ=Cv();function jd(t,e=HJ){let r=(t.length>0?t:e).map(n=>` - ${n}`).join(`
175
- `),o=WJ.map(n=>` - ${n}`).join(`
176
- `);return `# yaml-language-server: $schema=https://unpkg.com/agentsmesh/schemas/agentsmesh.json
177
- version: 1
188
+ Fix canonical sources or generators so every local link targets an existing file or folder.`)}s(wM,"validateGeneratedMarkdownLinks");var n2=[`${sep}.agentsmesh${sep}packs${sep}`,"/.agentsmesh/packs/"];function gf(t){return n2.some(e=>t.includes(e))}s(gf,"isUnderPacks");function bM(t){let e=new Set;for(let r of t.rules)if(gf(r.source)){let n=r.root?"_root":o2(r.source);n&&e.add(`rules/${n}`);}for(let r of t.agents)gf(r.source)&&e.add(`agents/${r.name}`);for(let r of t.commands)gf(r.source)&&e.add(`commands/${r.name}`);for(let r of t.skills)gf(r.source)&&e.add(`skills/${r.name}`);return e}s(bM,"buildPackOriginatedKeys");function o2(t){let r=t.replace(/\\/g,"/").split("/").pop()??"";return r.endsWith(".md")?r.slice(0,-3):r}s(o2,"ruleNameFromSource");Rn();var DM="AGENTS.md";function PM(t){switch(t){case "created":return 3;case "updated":return 2;case "unchanged":return 1;case "skipped":return 0}}s(PM,"statusRank");function s2(t,e){return PM(e.status)<=PM(t.status)?t:{...t,status:e.status,currentContent:e.currentContent??t.currentContent}}s(s2,"mergeDuplicateMetadata");function hf(t){return t.trim()}s(hf,"trimmedContent");var i2=[/<!-- agentsmesh:embedded-rules:start -->[\s\S]*?<!-- agentsmesh:embedded-rules:end -->\n*/g];function TM(t){let e=t;for(let r of i2)e=e.replace(r,"");return e.trim().replace(/\n{2,}/g,`
189
+
190
+ `)}s(TM,"normalizeAgentsContent");function xM(t){return /<!-- agentsmesh:embedded-rules:start -->/.test(t)}s(xM,"hasOptionalAgentsBlock");function a2(t,e){if(!t.path.endsWith(DM)||t.path!==e.path)return null;let r=hf(t.content),n=hf(e.content);if(!r||!n)return null;let o=r.includes(n),i=n.includes(r);if(o!==i)return o?t:e;if(TM(t.content)===TM(e.content)){let a=xM(t.content),l=xM(e.content);if(a!==l)return a?t:e}return null}s(a2,"richerAgentsResult");function l2(t,e){if(!t.path.endsWith(DM)||t.path!==e.path)return null;let r=t.target===pg?t:e.target===pg?e:null,n=r===t?e:t;if(!r)return null;let o=hf(r.content).length,i=hf(n.content).length;return o===i?null:o>i?r:n}s(l2,"richerCodexAgentsResult");function yf(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=a2(o,r);if(i){e[n]=i;continue}let a=l2(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]=s2(o,r);}return e}s(yf,"resolveOutputCollisions");function NM(t){let e=t.currentContent===void 0?"created":t.currentContent!==t.content?"updated":"unchanged";return t.status===e?t:{...t,status:e}}s(NM,"refreshResultStatus");w();Pt();se();function vM(t,e){return t===null?"created":t!==e?"updated":"unchanged"}s(vM,"computeStatus");function c2(t,e,r){let n=lR(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(c2,"resolveGeneratedOutputPath");async function op(t,e,r,n,o,i){let a=c2(e,r.path,o);if(a===null)return null;let l=await _(join(n,a)),c=t.findIndex(u=>u.path===a&&u.target===e),m=c>=0?t[c]:void 0,p=i?.mergeContent?.(l,m,r.content,a)??r.content;return c>=0&&t.splice(c,1),t.push({target:e,path:a,content:p,currentContent:l??void 0,status:vM(l,p)}),a}s(op,"emitGeneratedOutput");function $R(t,e,r){return {capability:mi(t,r)?.[e]??{level:"none"},scope:r}}s($R,"featureContext");async function xa(t,e,r,n,o,i,a,l){if(o)for(let c of e){let m=l(c);if(!m)continue;let p=$R(c,a,i);for(let u of m(r,p)){let f=await op(t,c,u,n,i);if(f===null)continue;let g=Gt(c,i);if(g?.mirrorGlobalPath){let h=g.mirrorGlobalPath(f,e),R=h===null?[]:Array.isArray(h)?h:[h];for(let C of R){let S=await _(join(n,C));t.push({target:c,path:C,content:u.content,currentContent:S??void 0,status:vM(S,u.content)});}}}}}s(xa,"generateFeature");Gg();Pt();function m2(t){return t?.rootInstructionPath?[t.rootInstructionPath,...hc(t)]:[]}s(m2,"rootDecorationPaths");function MM(t,e,r="project"){return t.map(n=>{let o=Gt(n.target,r);if(!o)return n;let i=m2(o);if(i.length===0||!i.includes(n.path))return n;let l=n.path===o.rootInstructionPath&&o.renderPrimaryRootInstruction?o.renderPrimaryRootInstruction(e):n.content,c=BC(l);return c===n.content?n:{...n,content:c}})}s(MM,"decoratePrimaryRootInstructions");Pt();se();td();function GR(t,e,r,n,o){let a=(Pr(t)??et(t))?.mergeGeneratedOutputContent?.(e,r,n,o);if(a!=null)return a;let l=r?.content??e;return l!==null&&mP.includes(o)?pP(l,n):n}s(GR,"mergeOutputContent");async function $M(t,e,r,n,o){for(let i of e){let a=uc(i,"permissions",void 0,o)??et(i)?.generators.generatePermissions;if(a)for(let l of a(r))await op(t,i,l,n,o,{mergeContent:s((c,m,p,u)=>GR(i,c,m,p,u),"mergeContent")});}}s($M,"generatePermissionsFeature");async function GM(t,e,r,n,o,i){for(let a of e){let l=uc(a,"hooks",i,o)??et(a)?.generators.generateHooks;if(!l)continue;let c=$R(a,"hooks",o),m=[...l(r,c)],u=(Pr(a)??et(a))?.postProcessHookOutputs;u&&(m=[...await u(n,r,m)]);for(let f of m)await op(t,a,f,n,o,{mergeContent:s((g,h,R,C)=>GR(a,g,h,R,C),"mergeContent")});}}s(GM,"generateHooksFeature");async function jM(t,e,r,n,o){for(let i of e){let l=(Pr(i)??et(i))?.emitScopedSettings;if(!l)continue;let c=l(r,o);if(c.length!==0)for(let m of c)await op(t,i,m,n,o,{mergeContent:s((p,u,f,g)=>GR(i,p,u,f,g),"mergeContent")});}}s(jM,"generateScopedSettingsFeature");async function Tr(t){let{config:e,canonical:r,projectRoot:n,scope:o="project",targetFilter:i}=t,a=[...e.targets,...e.pluginTargets??[]],l=i?a.filter(W=>i.includes(W)):a;function c(W,z){return uc(W,z,e,o)}s(c,"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"),C=e.features.includes("ignore"),S=[];await xa(S,l,r,n,m,o,"rules",W=>c(W,"rules")),await xa(S,l,r,n,p,o,"commands",W=>c(W,"commands")),await xa(S,l,r,n,u,o,"agents",W=>c(W,"agents")),await xa(S,l,r,n,f,o,"skills",W=>c(W,"skills")),await xa(S,l,r,n,g,o,"mcp",W=>c(W,"mcp")),h&&await $M(S,l,r,n,o),R&&await GM(S,l,r,n,o,e),await xa(S,l,r,n,C,o,"ignore",W=>c(W,"ignore"));let k=new Set(e.features);for(let W of l){let Q=(Pr(W)??et(W))?.globalSupport?.scopeExtras;if(Q){let at=await Q(r,n,o,k);S.push(...at);}}(g||C||R||u||h)&&await jM(S,l,r,n,o);let P=MM(S,r,o),N=p2(P,o),F=OM(P,r,e,n,o,l,N);return wM(F,n,{packOriginatedKeys:bM(r)}),yf(F.map(NM))}s(Tr,"generate");function p2(t,e){let r=new Map;function n(a){let l=r.get(a);if(l)return l;let c=Gt(a,e),m=new Set;if(c?.rootInstructionPath){m.add(c.rootInstructionPath);for(let p of hc(c))m.add(p);}return r.set(a,m),m}s(n,"rootPathsFor");let o=new Map;for(let a of t){if(!n(a.target).has(a.path))continue;let l=o.get(a.path)??new Set;l.add(a.target),o.set(a.path,l);}let i=new Set;for(let[a,l]of o)l.size>1&&i.add(a);return i}s(p2,"computeSharedRootInstructionPaths");fn();ot();w();_o();var O2=6e4,A2=30,w2=200,b2=2e3;async function Rf(t,e={}){let r=e.retries??A2,n=e.retryDelayMs??w2,o=e.staleMs??O2;await mkdir(dirname(t),{recursive:true});let i=0;for(;;){let a=await P2(t);if(a)return a;let l=await T2(t);if(l!=="young"&&x2(l,o)){await rm(t,{recursive:true,force:true}).catch(()=>{});continue}if(i>=r){let c=l==="young"?null:l;throw new Va(t,N2(c))}i++,await v2(n);}}s(Rf,"acquireProcessLock");async function P2(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:YM()};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(t,{recursive:true,force:true}).catch(()=>{}));}}s(P2,"tryAcquire");async function T2(t){try{let e=await readFile(join(t,"holder.json"),"utf-8"),r=JSON.parse(e);return F2(r)?r:null}catch{try{let e=await stat(t);if(Date.now()-e.mtimeMs<b2)return "young"}catch{}return null}}s(T2,"inspectLock");function x2(t,e){return !t||Date.now()-t.started>e?true:t.hostname&&t.hostname!==YM()?false:!D2(t.pid)}s(x2,"isStale");function D2(t){if(!Number.isInteger(t)||t<=0)return false;try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}s(D2,"isProcessAlive");function N2(t){return t?`${t.hostname?`${t.hostname}:`:""}pid ${t.pid} (running ${Date.now()-t.started}ms)`:"unknown (unreadable lock metadata)"}s(N2,"describeHolder");function F2(t){if(typeof t!="object"||t===null)return false;let e=t;return typeof e.pid=="number"&&typeof e.started=="number"}s(F2,"isLockMetadata");function YM(){return hostname()}s(YM,"getHostname");function v2(t){return new Promise(e=>setTimeout(e,t))}s(v2,"sleep");w();Pt();async function XM(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 XM(i,e));continue}n.push(relative(e,i).replace(/\\/g,"/"));}return n}s(XM,"listFiles");async function j2(t,e,r){if(r.has(e))return;let n=join(t,e);await $(n)&&await rm(n,{recursive:true,force:true});}s(j2,"removeIfStale");async function ZM(t){let e=new Set(t.expectedPaths),r=new Set,n=t.scope??"project";for(let o of t.targets){let i=aR(o,n);if(i){for(let a of i.files)r.add(a);for(let a of i.dirs){let l=join(t.projectRoot,a);if(await $(l))for(let c of await XM(l))r.add(`${a}/${c}`.replace(/\/+/g,"/"));}}}for(let o of r)await j2(t.projectRoot,o,e);}s(ZM,"cleanupStaleGeneratedOutputs");function yc(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(yc,"ensurePathInsideRoot");Uc();w();ot();async function WR(t,e){let r=await ys(t.canonicalDir),n=e.length>0?await gc(e):{},o=await df(join(t.canonicalDir,"packs")),i=process.env.USER??process.env.USERNAME??"unknown";await pf(t.canonicalDir,{generatedAt:new Date().toISOString(),generatedBy:i,libVersion:Ci(),checksums:r,extends:n,packs:o});try{await cg(Te(),join(t.configDir,".agentsmeshcache"));}catch(a){y.warn(`Could not create .agentsmeshcache symlink: ${a instanceof Error?a.message:String(a)}`);}}s(WR,"writeLockFile");async function l$(t){let{mode:e,scope:r,dryRun:n,context:o,resolvedExtends:i,flags:a,root:l,options:c}=t;if(e==="check")return {exitCode:0,data:{scope:r,mode:e,files:[],summary:If([])}};if(n||await WR(o,i),c.printMatrix!==false){let{runMatrix:m}=await Promise.resolve().then(()=>(ap(),QR)),{renderMatrix:p}=await Promise.resolve().then(()=>(cp(),qR)),u=await m(a,l);p(u,{verbose:a.verbose===true});}return {exitCode:0,data:{scope:r,mode:e,files:[],summary:If([])}}}s(l$,"handleEmptyResults");function c$(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:If(r)}}}s(c$,"buildCheckResult");async function m$(t){let{results:e,dryRun:r,scope:n,mode:o,context:i,activeTargets:a,resolvedExtends:l,flags:c,root:m,options:p}=t,u=r?null:await Rf(join(i.canonicalDir,".generate.lock"));try{if(!r){for(let h of e)if(h.status==="created"||h.status==="updated"){let R=yc(i.rootBase,h.path,h.target);await I(R,h.content);}await ZM({projectRoot:i.rootBase,targets:a,expectedPaths:e.map(h=>h.path),scope:n}),await WR(i,l);}}finally{u&&await u();}if(p.printMatrix!==false){let{runMatrix:h}=await Promise.resolve().then(()=>(ap(),QR)),{renderMatrix:R}=await Promise.resolve().then(()=>(cp(),qR)),C=await h(c,m);R(C,{verbose:c.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:If(f)}}}s(m$,"handleGenerateOrDryRun");function If(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(If,"buildSummary");async function _c(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,l=t.global===true?"global":"project",c=t["refresh-cache"]===true||t["no-cache"]===true,m=t.targets,p=typeof m=="string"&&m?m.split(",").map(N=>N.trim()).filter(Boolean):void 0,u=o?"check":i?"dry-run":"generate",{config:f,context:g}=await yt(n,l);await Wt(f,n);let h=f.collaboration?.lock_features??[];if(f.collaboration?.strategy==="lock"&&!a&&h.length>0){let N=await mf(g.canonicalDir);if(N!==null){let F=await ys(g.canonicalDir),W=uf(N.checksums,F,h);if(W.length>0){y.error("Locked feature violation (strategy: lock). Modified files:");for(let z of W)y.error(` ${z}`);throw y.error("Run 'agentsmesh generate --force' to accept these changes."),new Error("Locked feature violation. Use --force to override.")}}}let{canonical:R,resolvedExtends:C}=await ke(f,g.configDir,{refreshRemoteCache:c},g.canonicalDir),S=[...f.targets,...f.pluginTargets??[]];if(p){let N=p.filter(F=>!S.includes(F));if(N.length>0)throw new Error(`Unknown target(s) in --targets: ${N.join(", ")}. Available: ${S.join(", ")}`)}let k=p?S.filter(N=>p.includes(N)):S,P=await Tr({config:f,canonical:R,projectRoot:g.rootBase,scope:l,targetFilter:p});return P.length===0?l$({mode:u,scope:l,dryRun:i,context:g,resolvedExtends:C,flags:t,root:n,options:r}):o?c$(P,l):m$({results:P,dryRun:i,scope:l,mode:u,context:g,activeTargets:k,resolvedExtends:C,flags:t,root:n,options:r})}s(_c,"runGenerate");ot();function tI(t,e){return t==="global"?`~/${e}`:e}s(tI,"formatDisplayPath");function Rc(t){let{data:e}=t,{scope:r,mode:n,files:o}=e;if(o.length===0){y.info("No files to generate (no root rule or rules feature disabled)."),n==="check"&&y.success("Generated files are in sync.");return}if(n==="check"){let c=o.filter(m=>m.status!=="unchanged");if(c.length===0){y.success("Generated files are in sync.");return}for(let m of c)y.error(`[check] ${m.status} ${tI(r,m.path)} (${m.target})`);y.error("Generated files are out of sync. Run 'agentsmesh generate' to update them.");return}if(n==="dry-run"){for(let c of o)y.info(`[dry-run] ${c.status} ${tI(r,c.path)} (${c.target})`);return}for(let c of o)(c.status==="created"||c.status==="updated")&&y.success(`${c.status} ${tI(r,c.path)}`);let{created:i,updated:a,unchanged:l}=e.summary;i>0||a>0?y.info(`Generated: ${i} created, ${a} updated, ${l} unchanged`):y.info(`Nothing changed. (${l} unchanged)`);}s(Rc,"renderGenerate");w();Pt();Pt();Rn();function p$(){return bt.filter(t=>!t.excludeFromStarterInit).map(t=>t.id).filter(Pe)}s(p$,"starterInitTargetIds");var u$=/^# yaml-language-server: \$schema=[^\n]*\n?/;function Y2(){let t=Ci();return `https://unpkg.com/agentsmesh${t&&t!=="unknown"?`@${t}`:""}/schemas`}s(Y2,"schemaBaseUrl");function d$(t){return `${Y2()}/${t}.json`}s(d$,"schemaUrl");function Ic(t){return `# yaml-language-server: $schema=${d$(t)}
191
+ `}s(Ic,"yamlSchemaDirective");function Da(t,e){let r=Ic(e);return u$.test(t)?t.replace(u$,r):`${r}${t}`}s(Da,"prependYamlSchemaDirective");function f$(t,e){let{$schema:r,...n}=t;return {$schema:d$(e),...n}}s(f$,"stampJsonSchemaField");var X2=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],Z2=p$();function Sf(t,e=Z2){let r=(t.length>0?t:e).map(o=>` - ${o}`).join(`
192
+ `),n=X2.map(o=>` - ${o}`).join(`
193
+ `);return `${Ic("agentsmesh")}version: 1
178
194
  targets:
179
195
  ${r}
180
196
  features:
181
- ${o}
182
- `}s(jd,"buildConfig");var Ud=`---
197
+ ${n}
198
+ `}s(Sf,"buildConfig");var Cf=`---
183
199
  root: true
184
200
  description: "Project rules"
185
201
  ---
@@ -188,7 +204,7 @@ description: "Project rules"
188
204
 
189
205
  Add your project-wide instructions here.
190
206
  This file is always included in AI tool context and synced to all configured tools.
191
- `,nI=`---
207
+ `,eI=`---
192
208
  description: "Example contextual rule \u2014 rename and customize"
193
209
  # targets: [claude-code, cursor] # limit to specific tools (optional)
194
210
  # globs: ["src/**/*.ts"] # activate only for matching files (optional)
@@ -197,14 +213,14 @@ description: "Example contextual rule \u2014 rename and customize"
197
213
  # Example Rule
198
214
 
199
215
  Replace this with your coding standards, conventions, or domain-specific guidelines.
200
- `,sI=`---
216
+ `,rI=`---
201
217
  description: "Example command \u2014 rename and customize"
202
218
  # allowed-tools: [Read, Grep, Glob, Bash]
203
219
  ---
204
220
 
205
221
  Describe the task for this command here.
206
222
  Commands are invoked on-demand (e.g. /example) with a focused tool set.
207
- `,iI=`---
223
+ `,nI=`---
208
224
  name: example-agent
209
225
  description: "Example subagent \u2014 rename and customize"
210
226
  # tools: [Read, Grep, Glob]
@@ -215,7 +231,7 @@ description: "Example subagent \u2014 rename and customize"
215
231
 
216
232
  Describe this agent's role and instructions here.
217
233
  Agents are specialized subagents with restricted tools and a specific purpose.
218
- `,aI=`---
234
+ `,oI=`---
219
235
  name: example-skill
220
236
  description: "Example skill \u2014 rename and customize"
221
237
  ---
@@ -224,7 +240,7 @@ description: "Example skill \u2014 rename and customize"
224
240
 
225
241
  Describe the skill procedure here.
226
242
  Skills are reusable multi-step procedures that commands and agents can reference.
227
- `,cI=`{
243
+ `,sI=`{
228
244
  "mcpServers": {
229
245
  // agentsmesh self-serve MCP server \u2014 exposes your canonical config to AI agents.
230
246
  // Lets agents introspect rules/commands/agents/skills and trigger generate.
@@ -251,7 +267,7 @@ Skills are reusable multi-step procedures that commands and agents can reference
251
267
  // }
252
268
  }
253
269
  }
254
- `,lI=`# Lifecycle hooks \u2014 run shell commands before/after AI tool use
270
+ `,iI=`${Ic("hooks")}# Lifecycle hooks \u2014 run shell commands before/after AI tool use
255
271
  # Events: PreToolUse, PostToolUse, SubagentStart, SubagentStop
256
272
  # Matcher: tool name pattern (e.g. "Edit|Write", "Bash", "*")
257
273
  #
@@ -264,7 +280,7 @@ Skills are reusable multi-step procedures that commands and agents can reference
264
280
  # - matcher: Edit|Write
265
281
  # type: command
266
282
  # command: npm test --passWithNoTests
267
- `,mI=`# Tool permission allow/deny lists
283
+ `,aI=`${Ic("permissions")}# Tool permission allow/deny lists
268
284
  #
269
285
  # allow:
270
286
  # - Bash(npm run:*)
@@ -280,15 +296,14 @@ Skills are reusable multi-step procedures that commands and agents can reference
280
296
  allow: []
281
297
  deny: []
282
298
  ask: []
283
- `,pI=`# Patterns ignored by all configured AI tools (gitignore syntax)
299
+ `,lI=`# Patterns ignored by all configured AI tools (gitignore syntax)
284
300
  #
285
301
  # node_modules/
286
302
  # dist/
287
303
  # .env*
288
304
  # *.log
289
305
  # coverage/
290
- `,Ev=`# yaml-language-server: $schema=https://unpkg.com/agentsmesh/schemas/agentsmesh.json
291
- # Personal overrides \u2014 NOT committed to git
306
+ `,g$=`${Ic("agentsmesh")}# Personal overrides \u2014 NOT committed to git
292
307
  # Uncomment and customize for your local setup:
293
308
 
294
309
  # targets:
@@ -306,27 +321,44 @@ ask: []
306
321
  # overrides:
307
322
  # claude-code:
308
323
  # model: opus
309
- `;T();xt();function Ov(t){let e=[];for(let r of zt)for(let o of g_(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 qt(t,e){return join(t,e)}s(qt,"ab");async function uI(t){return await j(t)?(await readdir(t,{withFileTypes:true})).filter(r=>r.isFile()&&r.name.endsWith(".md")).length:0}s(uI,"countMdFiles");async function VJ(t){let e=qt(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(VJ,"hasAnyImportedSkill");async function dI(t){let e=qt(t,"rules");await L(e),await I(join(e,"_root.md"),Ud),_.success("Created .agentsmesh/rules/_root.md"),await I(join(e,"_example.md"),nI),_.success("Created .agentsmesh/rules/_example.md");let r=qt(t,"commands");await L(r),await I(join(r,"_example.md"),sI),_.success("Created .agentsmesh/commands/_example.md");let o=qt(t,"agents");await L(o),await I(join(o,"_example.md"),iI),_.success("Created .agentsmesh/agents/_example.md");let n=qt(t,join("skills","_example"));await L(n),await I(join(n,"SKILL.md"),aI),_.success("Created .agentsmesh/skills/_example/SKILL.md"),await I(qt(t,"mcp.json"),cI),_.success("Created .agentsmesh/mcp.json"),await I(qt(t,"hooks.yaml"),lI),_.success("Created .agentsmesh/hooks.yaml"),await I(qt(t,"permissions.yaml"),mI),_.success("Created .agentsmesh/permissions.yaml"),await I(qt(t,"ignore"),pI),_.success("Created .agentsmesh/ignore");}s(dI,"writeScaffoldFull");async function wv(t){let e=qt(t,"rules"),r=await uI(e),o=join(e,"_root.md"),n=await j(o);await L(e),r===0?(await I(o,Ud),_.success("Created .agentsmesh/rules/_root.md"),await I(join(e,"_example.md"),nI),_.success("Created .agentsmesh/rules/_example.md")):n||(await I(o,Ud),_.success("Created .agentsmesh/rules/_root.md"));let i=qt(t,"commands");await uI(i)===0&&(await L(i),await I(join(i,"_example.md"),sI),_.success("Created .agentsmesh/commands/_example.md"));let a=qt(t,"agents");if(await uI(a)===0&&(await L(a),await I(join(a,"_example.md"),iI),_.success("Created .agentsmesh/agents/_example.md")),!await VJ(t)){let d=qt(t,join("skills","_example"));await L(d),await I(join(d,"SKILL.md"),aI),_.success("Created .agentsmesh/skills/_example/SKILL.md");}let c=qt(t,"mcp.json");await j(c)||(await I(c,cI),_.success("Created .agentsmesh/mcp.json"));let l=qt(t,"hooks.yaml");await j(l)||(await I(l,lI),_.success("Created .agentsmesh/hooks.yaml"));let m=qt(t,"permissions.yaml");await j(m)||(await I(m,mI),_.success("Created .agentsmesh/permissions.yaml"));let p=qt(t,"ignore");await j(p)||(await I(p,pI),_.success("Created .agentsmesh/ignore"));}s(wv,"writeScaffoldGapFill");Oe();var gI="agentsmesh.yaml",Tv="agentsmesh.local.yaml",YJ=["agentsmesh.local.yaml",".agentsmeshcache",".agentsmesh/.lock.tmp",".agentsmesh/packs/"],XJ=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 ZJ(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(ZJ,"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=YJ.filter(a=>!ZJ(a,o));if(n.length===0)return false;let i=r.endsWith(`
324
+ `;w();Pt();function h$(t){let e=[];for(let r of bt)for(let n of iR(r.id,t))e.push({target:r.id,path:n});return e}s(h$,"collectDetectionPaths");function y$(t){let e=new Map;for(let{target:r,path:n}of h$(t)){let o=e.get(r)??[];o.push(n),e.set(r,o);}return [...e.entries()].map(([r,n])=>({id:r,paths:n}))}s(y$,"toolIndicators");y$("project");async function _$(t,e="project"){let r=[];for(let{id:n,paths:o}of y$(e))for(let i of o){let a=join(t,i);if(await $(a)){r.push(n);break}}return [...new Set(r)]}s(_$,"detectExistingConfigs");w();ot();function re(t,e){return join(t,e)}s(re,"ab");async function cI(t){return await $(t)?(await readdir(t,{withFileTypes:true})).filter(r=>r.isFile()&&r.name.endsWith(".md")).length:0}s(cI,"countMdFiles");async function q2(t){let e=re(t,"skills");if(!await $(e))return false;let r=await readdir(e,{withFileTypes:true});for(let n of r)if(n.isDirectory()&&!n.name.startsWith("_")&&await $(join(e,n.name,"SKILL.md")))return true;return false}s(q2,"hasAnyImportedSkill");async function mI(t){let e=re(t,"rules");await O(e),await I(join(e,"_root.md"),Cf),y.success("Created .agentsmesh/rules/_root.md"),await I(join(e,"_example.md"),eI),y.success("Created .agentsmesh/rules/_example.md");let r=re(t,"commands");await O(r),await I(join(r,"_example.md"),rI),y.success("Created .agentsmesh/commands/_example.md");let n=re(t,"agents");await O(n),await I(join(n,"_example.md"),nI),y.success("Created .agentsmesh/agents/_example.md");let o=re(t,join("skills","_example"));await O(o),await I(join(o,"SKILL.md"),oI),y.success("Created .agentsmesh/skills/_example/SKILL.md"),await I(re(t,"mcp.json"),sI),y.success("Created .agentsmesh/mcp.json"),await I(re(t,"hooks.yaml"),iI),y.success("Created .agentsmesh/hooks.yaml"),await I(re(t,"permissions.yaml"),aI),y.success("Created .agentsmesh/permissions.yaml"),await I(re(t,"ignore"),lI),y.success("Created .agentsmesh/ignore");}s(mI,"writeScaffoldFull");async function I$(t){let e=re(t,"rules"),r=await cI(e),n=join(e,"_root.md"),o=await $(n);await O(e),r===0?(await I(n,Cf),y.success("Created .agentsmesh/rules/_root.md"),await I(join(e,"_example.md"),eI),y.success("Created .agentsmesh/rules/_example.md")):o||(await I(n,Cf),y.success("Created .agentsmesh/rules/_root.md"));let i=re(t,"commands");await cI(i)===0&&(await O(i),await I(join(i,"_example.md"),rI),y.success("Created .agentsmesh/commands/_example.md"));let a=re(t,"agents");if(await cI(a)===0&&(await O(a),await I(join(a,"_example.md"),nI),y.success("Created .agentsmesh/agents/_example.md")),!await q2(t)){let u=re(t,join("skills","_example"));await O(u),await I(join(u,"SKILL.md"),oI),y.success("Created .agentsmesh/skills/_example/SKILL.md");}let l=re(t,"mcp.json");await $(l)||(await I(l,sI),y.success("Created .agentsmesh/mcp.json"));let c=re(t,"hooks.yaml");await $(c)||(await I(c,iI),y.success("Created .agentsmesh/hooks.yaml"));let m=re(t,"permissions.yaml");await $(m)||(await I(m,aI),y.success("Created .agentsmesh/permissions.yaml"));let p=re(t,"ignore");await $(p)||(await I(p,lI),y.success("Created .agentsmesh/ignore"));}s(I$,"writeScaffoldGapFill");Yt();var pI="agentsmesh.yaml",S$="agentsmesh.local.yaml",eZ=["agentsmesh.local.yaml",".agentsmeshcache",".agentsmesh/.lock.tmp",".agentsmesh/packs/"],rZ=Object.fromEntries(bt.map(t=>[t.id,(e,r)=>t.generators.importFrom(e,{scope:r})])),C$=bt.filter(t=>t.globalSupport!==void 0).map(t=>t.id);function nZ(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(nZ,"isCoveredByExisting");async function oZ(t){let e=join(t,".gitignore"),r=await _(e)??"",n=new Set(r.split(`
325
+ `).map(a=>a.trim()).filter(a=>a.length>0&&!a.startsWith("#"))),o=eZ.filter(a=>!nZ(a,n));if(o.length===0)return false;let i=r.endsWith(`
311
326
  `)||r===""?"":`
312
- `;return await I(e,r+i+n.join(`
327
+ `;return await I(e,r+i+o.join(`
313
328
  `)+`
314
- `),true}s(QJ,"appendToGitignore");async function Pv(t,e={}){let r=e.global===true?"global":"project",o=fl(t,r),n=join(o.configDir,gI);if(await j(n))throw new Error(`Already initialized. ${gI} 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=XJ[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 I(n,jd(a,c));}else await dI(o.canonicalDir),m="full",await I(n,jd([],c));else await dI(o.canonicalDir),m="full",await I(n,jd([],c));let d=join(o.configDir,Tv);await I(d,Ev);let g=false;return r==="project"&&(g=await QJ(t)),{exitCode:0,data:{scope:r,configFile:gI,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&&_.info(`Found existing configurations: ${e.detectedConfigs.join(", ")}`),e.detectedConfigs.length>0&&e.imported.length===0&&_.info("Run 'agentsmesh init --yes' to auto-import, or 'agentsmesh import --from <tool>' manually."),e.imported.length>0){_.info("Auto-importing existing configurations (--yes)...");for(let o of e.imported)_.success(` ${o.from} \u2192 ${o.to}`);_.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(", ")})`:"";_.success(`Created ${e.configFile}${r}`),_.success(`Created ${e.localConfigFile}`),e.gitignoreUpdated&&_.success("Updated .gitignore");}s(xv,"renderInit");Oe();xt();var qJ=Object.fromEntries(zt.map(t=>[t.id,{importFrom:t.generators.importFrom,emptyImportMessage:t.emptyImportMessage,lintRules:t.lintRules,lint:t.lint,capabilities:t.capabilities}]));function Kd(t){let e=qJ[t];if(!e)throw new Error(`Unknown target: ${t}`);return e}s(Kd,"getTargetCatalogEntry");je();ms();Rl();var s1={type:"stdio",command:"npx",args:["-y","agentsmesh","mcp"]};function i1(t){return t.mcpServers.agentsmesh!==void 0?false:(t.mcpServers.agentsmesh=s1,true)}s(i1,"injectAgentsmeshEntry");async function hI(t){let e=resolve(t,".agentsmesh/mcp.json");try{let r;try{r=await Tr(e)??{mcpServers:{}};}catch{r={mcpServers:{}};}if(!i1(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(hI,"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(wr(n)){let p=fl(r,i),g=await Kd(n).importFrom(p.rootBase,{scope:i});return g.length>0&&await hI(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 ce(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 hI(c.rootBase),{exitCode:0,data:{scope:i,target:n,files:Dv(m,c.rootBase)}}}s(Nv,"runImport");Oe();sn();function Bd(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(Bd,"computeDiff");function Wd(t){return `${t.new} files would be created, ${t.updated} updated, ${t.unchanged} unchanged, ${t.deleted} deleted`}s(Wd,"formatDiffSummary");ms();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 ce(a,r);let{canonical:l}=await he(a,c.configDir,{},c.canonicalDir),m=await Or({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:d}=Bd(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:d.new,updated:d.updated,unchanged:d.unchanged,deleted:d.deleted}}}}s(vv,"runDiff");Oe();sn();T();je();_i();Et();var c1=[{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 c1)!e.has(o.featureFlag)||!o.hasContent(t.canonical)||xr(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 l1=/^(?:\s*(?:bash|sh|zsh|pwsh|powershell)\s+)?["']?(?<path>(?:\.{1,2}\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?:\s|$)/;function m1(t){let r=t.match(l1)?.groups?.path;return typeof r=="string"?r:null}s(m1,"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=m1(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 p1=["node_modules",".git","dist","coverage",".agentsmesh"];async function u1(t){return (await N(t)).filter(o=>{let n=relative(t,o);return !p1.some(i=>n.includes(`/${i}/`)||n.startsWith(`${i}/`))}).map(o=>relative(t,o))}s(u1,"getProjectFiles");async function Hd(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"),d=t.features.includes("permissions"),g=t.features.includes("hooks"),f=[],h=i==="global"?[]:await u1(r);for(let R of c){let E=ut(R),A=wr(R)?Kd(R):E;A?.capabilities&&f.push(...Gv({target:R,capabilities:A.capabilities,canonical:e,enabledFeatures:t.features})),g&&f.push(...Mv({target:R,canonical:e,hasScriptProjection:E?.postProcessHookOutputs!==void 0})),l&&f.push(...$v({target:R,canonical:e,preservesManualActivation:E?.preservesManualActivation===true})),l&&A?.lintRules&&f.push(...A.lintRules(e,r,h,{scope:i})),E?.generators.lint&&f.push(...E.generators.lint(e));let F={scope:i};m&&A?.lint?.commands&&f.push(...A.lint.commands(e,F)),p&&A?.lint?.mcp&&f.push(...A.lint.mcp(e,F)),d&&A?.lint?.permissions&&f.push(...A.lint.permissions(e,F)),g&&A?.lint?.hooks&&f.push(...A.lint.hooks(e,F));}let O=f.some(R=>R.level==="error");return {diagnostics:f,hasErrors:O}}s(Hd,"runLint");ms();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(d=>d.trim()).filter(Boolean):void 0,{config:a,context:c}=await Tt(r,o);await ce(a,r);let{canonical:l}=await he(a,c.configDir,{},c.canonicalDir),{diagnostics:m,hasErrors:p}=await Hd(a,l,c.configDir,i,{scope:o});return {exitCode:p?1:0,data:{diagnostics:m.map(d=>({level:d.level,file:d.file,target:d.target,message:d.message})),summary:{errors:m.filter(d=>d.level==="error").length,warnings:m.filter(d=>d.level==="warning").length}}}}s(Uv,"runLintCmd");ft();function Kv(t){let{data:e}=t;if(e.diagnostics.length===0){_.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)_.error(`${a.file} (${a.target}): ${a.message}`);for(let a of o)_.warn(`${a.file} (${a.target}): ${a.message}`);let n=e.summary.errors,i=e.summary.warnings;_.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){_.error("Not initialized for collaboration. Run 'agentsmesh generate' first.");return}if(e.inSync){_.success("Lock file is in sync.");return}let r=new Set(e.lockedViolations);_.error("Conflict detected:");for(let o of e.extendsModified)_.error(` extend "${o}" was modified`);for(let o of e.modified){let n=r.has(o)?" [LOCKED]":"";_.error(` ${o} was modified${n}`);}for(let o of e.added){let n=r.has(o)?" [LOCKED]":"";_.error(` ${o} was added${n}`);}for(let o of e.removed){let n=r.has(o)?" [LOCKED]":"";_.error(` ${o} was removed${n}`);}_.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){_.info(`Nothing to import from ${e.target}.`);return}for(let o of e.files)_.success(`${o.from} \u2192 ${o.to}`);let r=e.scope==="global"?" --global":"";_.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){_.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);_.info(Wd({new:e.created,updated:e.updated,unchanged:e.unchanged,deleted:e.deleted}));}s(Hv,"renderDiff");ft();function zv(t){if(!t.data.hadConflict){_.info("No conflicts to resolve.");return}_.success("Lock file conflict resolved.");}s(zv,"renderMerge");vm();Mm();Oe();sn();vm();Mm();ft();var f1=300;function h1(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}s(h1,"normalizeWatchPath");function y1(t,e){let r=h1(relative(t,e));return r===""?true:r===".lock"||r===".lock.tmp"||r===".generate.lock"||r.endsWith("/.lock")||r.endsWith("/.lock.tmp")||r.endsWith("/.generate.lock")||r.includes("/.generate.lock/")||r.startsWith(".generate.lock/")}s(y1,"shouldIgnoreWatchPath");function _1(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(_1,"featureFingerprint");async function Jv(t,e,r={}){let o=e??process.cwd(),n=t.global===true?"global":"project",{context:i}=await Tt(o,n),a=[i.canonicalDir,join(i.configDir,"agentsmesh.yaml"),join(i.configDir,"agentsmesh.local.yaml")],c=null,l=null,m=false,p=null,d=s(async()=>{if(m)return;c=null;let{config:O,context:R}=await Tt(o,n),{canonical:E}=await he(O,R.configDir,{},R.canonicalDir),A=E.mcp?Object.keys(E.mcp.mcpServers).length:0,F=E.permissions?E.permissions.allow.length+E.permissions.deny.length:0,v=E.hooks?Object.values(E.hooks).reduce((Ft,Gt)=>Ft+(Array.isArray(Gt)?Gt.length:0),0):0,G=E.ignore.length,J=_1(O.features,E.rules.length,E.commands.length,E.agents.length,E.skills.length,A,F,v,G),Y=l!==null&&l!==J;if(l=J,m)return;let q=await tl(t,o,{printMatrix:false});if(el(q),!m){if(Y){let Ft=await Fm(t,o);Gm(Ft,{verbose:t.verbose===true});}else _.info("Regenerated.");r.onCycle?.({featuresChanged:Y});}},"run"),g=s(()=>{let O=d().catch(R=>{if(!m){let E=R instanceof Error?R.message:String(R);_.error(E);}}).finally(()=>{p===O&&(p=null);});p=O;},"scheduleRun"),f=s(()=>{m||(c&&clearTimeout(c),c=setTimeout(g,f1));},"schedule"),h=g1.watch(a,{ignoreInitial:true,usePolling:process.platform==="win32"});return h.on("all",(O,R)=>{y1(i.canonicalDir,R)||f();}),await new Promise((O,R)=>{h.once("ready",O),h.once("error",R);}),_.info(n==="global"?"Watching ~/.agentsmesh/ and agentsmesh.yaml...":"Watching .agentsmesh/ and agentsmesh.yaml..."),p=d(),await p,p=null,{stop:s(async()=>{m=true,c&&(clearTimeout(c),c=null),await h.close(),p&&await p;},"stop")}}s(Jv,"runWatch");Oe();np();async function zd(t){let{config:e,configDir:r,canonicalDir:o}=t,n=await Pd(o);if(n===null)return {inSync:false,hasLock:false,modified:[],added:[],removed:[],extendsModified:[],lockedViolations:[]};let i=await ls(o),a=await va(e,r),c=a.length>0?await Zc(a):{},l=new Set(Object.keys(n.checksums)),m=new Set(Object.keys(i)),p=[],d=[],g=[];for(let E of l){let A=i[E];A===void 0?g.push(E):A!==n.checksums[E]&&p.push(E);}for(let E of m)l.has(E)||d.push(E);let f=new Set([...Object.keys(n.extends),...Object.keys(c)]),h=[];for(let E of f)c[E]!==n.extends[E]&&h.push(E);let O=Dd(n.checksums,i,e.collaboration?.lock_features??[]);return {inSync:p.length===0&&d.length===0&&g.length===0&&h.length===0,hasLock:true,modified:p,added:d,removed:g,extendsModified:h,lockedViolations:O}}s(zd,"checkLockSync");ms();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 ce(n,r);let a=await zd({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 R1=".lock",S1="<<<<<<<";async function yI(t){let e=join(t,R1),r=await y(e);return r===null?false:r.includes(S1)}s(yI,"hasLockConflict");async function Zv(t,e,r){if(!await yI(t))throw new Error("No conflict to resolve.");let n=await ls(t),i=dirname(t),a=r?await va(r,i):[],c=a.length>0?await Zc(a):{},l=await Nd(join(t,"packs")),m=process.env.USER??process.env.USERNAME??"unknown";await xd(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 yI(a)?(await Zv(a,ul(),n),{exitCode:0,data:{hadConflict:true,resolved:true}}):{exitCode:0,data:{hadConflict:false,resolved:false}}}s(Qv,"runMerge");Oe();T();_l();var O1=promisify(execFile);function Vd(t,e){if(t.startsWith("-"))throw new Error(`agentsmesh refuses ${e} starting with "-" (option-injection guard): ${t}`)}s(Vd,"ensureNotFlag");async function _I(t){let{stdout:e}=await O1("git",t,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return e.trim()}s(_I,"runGit");async function qv(){try{return await _I(["--version"]),!0}catch{return false}}s(qv,"isGitAvailable");async function L1(t,e){Vd(t,"remote-url"),Vd(e,"ref");let r=[e,`refs/heads/${e}`,`refs/tags/${e}`],o;for(let n of r)try{let a=(await _I(["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(L1,"gitLsRemoteResolve");async function tG(t,e){Vd(e,"remote-url");let r=t===""?"HEAD":t;if(Vd(r,"ref"),/^[0-9a-f]{40}$/i.test(r))return r.toLowerCase();if(r==="HEAD"){let n=(await _I(["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 L1(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 Fa(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 Fa(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 Fa(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 II(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(II,"parseGithubTreeUrl");function RI(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(RI,"parseGithubBlobUrl");function SI(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(SI,"parseGitlabTreeUrl");function CI(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(CI,"parseGitlabBlobUrl");var A1=new Set(["tree","blob","commit","releases","actions","issues","pulls","settings","wiki","discussions","security","projects","packages"]);function EI(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||A1.has(r[1]))return null;let o=r[0],n=r[1];return {org:o,repo:n}}catch{return null}}s(EI,"parseGithubRepoUrl");function OI(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(OI,"parseGitlabRepoUrl");function LI(t){let e=t.match(/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?$/i);return e?{org:e[1],repo:e[2].replace(/\.git$/i,"")}:null}s(LI,"parseGitSshGithub");function AI(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(AI,"parseGitSshGitlab");T();var T1=/^[A-Za-z]:[\\/]/,b1=/^[A-Za-z]:\//;function oG(...t){return t.some(e=>e.includes("\\")||T1.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 Jd(t){let e=jm(t);return e===""||e==="."||e==="./."?".":e.startsWith("./")||e.startsWith("../")||e.startsWith("/")||b1.test(e)?e:`./${e}`}s(Jd,"normalizeLocalSourceForYaml");function si(t){return {...t,source:t.source_kind==="local"?Jd(t.source):t.source,...t.path!==void 0?{path:$m(t.path)}:{},...t.paths!==void 0?{paths:t.paths.map(e=>$m(e))}:{}}}s(si,"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),d=n.slice(l+c.length),g=$m(d),f=jm(o.relative(i,p))||".";return {kind:"local",rawRef:"",pathInRepo:a||g.replace(/\.md$/i,"").replace(/\/$/,""),localRoot:p,localSourceForYaml:Jd(f)}}let m=jm(o.relative(i,n))||".";return {kind:"local",rawRef:"",pathInRepo:a,localRoot:n,localSourceForYaml:Jd(m)}}s(nG,"localParsedFromAbsPath");async function kI(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),d=m.slice(4);return {kind:"git",rawRef:p,gitPlusBase:d,gitRemoteUrl:d,pathInRepo:n}}if(o.startsWith("https://")||o.startsWith("http://")){let l=II(o)??RI(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=EI(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=SI(o)??CI(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 d=OI(o);if(d)return {kind:"gitlab",rawRef:"HEAD",org:d.namespace,repo:d.project,gitRemoteUrl:`https://gitlab.com/${d.namespace}/${d.project}.git`,pathInRepo:n}}if(o.startsWith("git@github.com:")){let l=LI(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=AI(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(kI,"parseInstallSource");T();ft();pn();T();Ad();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(Da).min(1),pick:gl.optional(),target:ze.optional(),path:z$1.string().optional(),paths:z$1.array(z$1.string().min(1)).min(1).optional(),as:Xc.optional()}),F1=z$1.object({version:z$1.literal(1),installs:z$1.array(sG).default([])});function v1(t,e){return t.length===e.length&&[...t].sort().every((r,o)=>r===[...e].sort()[o])}s(v1,"sameFeatures");function G1(t,e){return t.source===e.source&&t.target===e.target&&t.as===e.as&&v1(t.features,e.features)}s(G1,"sameInstallIdentity");function iG(t){return join(t,"installs.yaml")}s(iG,"manifestPath");async function wI(t){let e=await y(iG(t));if(e===null)return [];try{return F1.parse(parse(e)).installs.map(r=>si(r))}catch{return []}}s(wI,"readInstallManifest");async function aG(t,e){let r=si(e),n=(await wI(t)).filter(i=>i.name!==r.name&&!G1(i,r));n.push(r),await I(iG(t),stringify({version:1,installs:n.sort((i,a)=>i.name.localeCompare(a.name))}));}s(aG,"upsertInstallManifestEntry");function cG(t){return si(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 $1(t){let e=await wI(t.canonicalDir);if(e.length===0){_.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){_.info("All recorded packs are already installed.");return}for(let o of r)await t.reinstall(o);_.success(`Reinstalled ${r.length} pack(s) from .agentsmesh/installs.yaml.`);}s($1,"syncInstalledPacks");async function lG(t){return t.sync?(await $1({canonicalDir:t.canonicalDir,reinstall:t.reinstall}),true):false}s(lG,"maybeRunInstallSync");Ad();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"?Xc.parse(t.as.trim()):void 0,nameOverride:typeof t.name=="string"?t.name.trim():""}}s(mG,"readInstallFlags");x_();function Ca(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(Ca,"featuresFromCanonical");async function Yd(t){let{sliceRoot:e,implicitPick:r}=await Ed(t),o=await Od(e);return {canonical:o,features:Ca(o),implicitPick:r}}s(Yd,"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 U1(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(U1,"featuresFromImplicitPick");function ol(t,e){let{implicitPick:r}=e,o=e.scopedFeatures??U1(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(ol,"narrowDiscoveredForInstallScope");T();Cd();T();M();var W1=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"]),H1=new Set([".git",".github",".gitlab","node_modules",".vscode",".idea"]);async function Xd(t){let e=await y(t);if(!e)return "";let{frontmatter:r}=w(e);return typeof r.name!="string"?"":r.name.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}s(Xd,"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 !(H1.has(n)||!o.includes("/")&&W1.has(o))},"filter")});}s(fG,"cpFilteredSkill");async function X1(){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(X1,"createStageRoot");async function Z1(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 N(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(Z1,"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 N(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 Ra(t)){if((await stat(join(t,"SKILL.md")).catch(()=>null))?.isFile()){if(await hG(t,e,r.preferredSkillNames??[]))return;let c=await Xd(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 N(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 X1();try{let n=join(o.discoveryRoot,".agentsmesh",e);return e==="skills"?await Q1(t,n,r):await Z1(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 Yd(n.discoveryRoot),a=ol(i,{scopedFeatures:[e]});return {prep:{yamlTarget:r,scopedFeatures:[e],cleanup:n.cleanup},narrowed:a,discoveredFeatures:Ca(a)}}s(_G,"resolveManualDiscoveredForInstall");pn();Mg();T();var q1=[{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 tY(t){return t.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"")}s(tY,"norm");function Qd(t){let e=tY(t),r=[...q1].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(Qd,"targetHintFromNativePath");function bI(t,e){return Qd(t)===e}s(bI,"pathSupportsNativePick");function IG(t,e){if(!t||!e)return;let r=Qd(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 N(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();rr();T();async function Ea(t){let e=await N(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(Ea,"skillNamesFromNativeSkillDir");T();Rr();async function EG(t,e){let r=join(t,...e.split("/"));if(e.startsWith(Ys)){let o=await N(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 N(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 N(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 Ea(r);return o.length?{skills:o}:{}}if(e.startsWith(".github/agents")){let o=await N(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 N(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 Ea(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 Ea(n);return i.length?{skills:i}:{}}if(o.startsWith(Eo)){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 Ea(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 Ea(n);return i.length?{skills:i}:{}}return {}}if(r==="codex-cli"&&o.startsWith(".codex")){let i=await N(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");T_();function Bm(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}s(Bm,"normalizePath");function mY(t,e){let r=Bm(t),o=Bm(e);return r===o||r.startsWith(`${o}/`)||o.startsWith(`${r}/`)}s(mY,"overlapsPath");function qd(t,e){let r=t??[];return r.includes(e)||r.push(e),r}s(qd,"addUnique");async function pY(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(pY,"makeStageRoot");function uY(t,e){let r;for(let n of t){if(n.feature==="rules"&&n.toPath.startsWith(".agentsmesh/rules/")){r={...r,rules:qd(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:qd(r?.commands,i.replace(/\.md$/i,"").split("/").filter(Boolean).join(":"))};continue}if(n.feature==="agents"&&n.toPath.startsWith(".agentsmesh/agents/")){r={...r,agents:qd(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:qd(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(uY,"buildPickFromResults");function dY(t,e,r,o){let n=join(e,...Bm(t).split("/")),i=r.filter(a=>mY(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:uY(i,e)}}s(dY,"scopeImportedResults");async function xI(t,e){let{stageRoot:r,cleanup:o}=await pY(t);try{let n=await wm(r,e);return {stageRoot:r,results:n,cleanup:o}}catch(n){throw await o(),n}}s(xI,"stageImportedNativeRepo");async function DI(t,e,r){let o=await xI(t,r);try{return {stageRoot:o.stageRoot,cleanup:o.cleanup,...dY(e,o.stageRoot,o.results,r)}}catch(n){throw await o.cleanup(),n}}s(DI,"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?Qd(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,d=!!i&&!!p&&!i.startsWith(".agentsmesh");if(!c&&p){if(d){let A=await DI(t,i,p);return {discoveryRoot:A.stageRoot,implicitPick:A.pick,scopedFeatures:A.features,yamlTarget:p,importHappened:true,cleanup:A.cleanup}}let E=await xI(t,p);return {discoveryRoot:i?join(E.stageRoot,i):E.stageRoot,yamlTarget:p,importHappened:true,cleanup:E.cleanup}}let g;c?i?p&&bI(i,p)?g=t:g=e:g=t:g=e;let f,h,O;if(d&&p){let E=await DI(t,i,p);g=E.stageRoot,f=E.pick,h=E.features,O=E.cleanup;}else if(g===t&&i&&p&&bI(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 Yd(n.discoveryRoot),c=a??n.implicitPick,l=ol(i,{implicitPick:c,scopedFeatures:n.scopedFeatures}),m=Ca(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 sl(t){return t==="."||t===""?void 0:t}s(sl,"trimDot");function fY(t,e){let r=basename(e).replace(/\.md$/i,"");return t==="agents"?{agents:[r]}:t==="commands"?{commands:[r]}:{rules:[r]}}s(fY,"markdownPick");async function NG(t){if(!t.as)return {pathInRepo:sl(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:sl(dirname(e)),pick:fY(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:sl(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 Xd(n);return {pathInRepo:sl(dirname(o)),pick:{skills:[a||basename(o)]}}}}catch{return {pathInRepo:sl(e)}}}}return {pathInRepo:sl(e)}}s(NG,"resolveManualInstallPersistence");sn();ft();async function an(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(an,"confirm");function hY(t){return !!(t.skills.length||t.rules.length||t.commands.length||t.agents.length)}s(hY,"hasArrayResources");function vG(t){return hY(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 an(`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 an(`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 an(`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 an(`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 an(`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 an(`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 an(`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 an(`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 yY(t,e){let r=t.split("/").filter(Boolean);return r.length>0&&r[r.length-1]===e}s(yY,"pathEndsWithName");function tg(t,e,r){return r!==1||e.length!==1?false:yY(t,e[0])}s(tg,"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||tg(e,n.skillNames,o.skills)),c=n.ruleSlugs.length>0&&(!!r?.rules?.length||n.ruleSlugs.length<o.rules||tg(e,n.ruleSlugs,o.rules)),l=n.commandNames.length>0&&(!!r?.commands?.length||n.commandNames.length<o.commands||tg(e,n.commandNames,o.commands)),m=n.agentNames.length>0&&(!!r?.agents?.length||n.agentNames.length<o.agents||tg(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 _Y(t){return t.skillNames.length===0&&t.ruleSlugs.length===0&&t.commandNames.length===0&&t.agentNames.length===0}s(_Y,"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(_Y(e)&&!a)throw new Error("No resources selected to install.")}s(HG,"ensureInstallSelection");pn();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 IY(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(IY,"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=IY(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 I(t,a.endsWith(`
329
+ `),true}s(oZ,"appendToGitignore");async function k$(t,e={}){let r=e.global===true?"global":"project",n=Ei(t,r),o=join(n.configDir,pI);if(await $(o))throw new Error(`Already initialized. ${pI} exists. Remove it first to re-init.`);let i=await _$(n.rootBase,r),a=r==="global"?i.filter(g=>C$.includes(g)):i,l=r==="global"?C$:void 0,c=[],m,p=0;if(a.length>0)if(e.yes){for(let g of a){let h=rZ[g];if(!h)continue;let R=await h(n.rootBase,r);for(let C of R)c.push({from:relative(n.rootBase,C.fromPath).replaceAll("\\","/"),to:C.toPath.replaceAll("\\","/")});}p=a.length,await I$(n.canonicalDir),m="gap-fill",await I(o,Sf(a,l));}else await mI(n.canonicalDir),m="full",await I(o,Sf([],l));else await mI(n.canonicalDir),m="full",await I(o,Sf([],l));let u=join(n.configDir,S$);await I(u,g$);let f=false;return r==="project"&&(f=await oZ(t)),{exitCode:0,data:{scope:r,configFile:pI,localConfigFile:S$,detectedConfigs:a,imported:c,importedToolCount:p,scaffoldType:m,gitignoreUpdated:f}}}s(k$,"runInit");ot();function E$(t){let{data:e}=t;if(e.detectedConfigs.length>0&&y.info(`Found existing configurations: ${e.detectedConfigs.join(", ")}`),e.detectedConfigs.length>0&&e.imported.length===0&&y.info("Run 'agentsmesh init --yes' to auto-import, or 'agentsmesh import --from <tool>' manually."),e.imported.length>0){y.info("Auto-importing existing configurations (--yes)...");for(let n of e.imported)y.success(` ${n.from} \u2192 ${n.to}`);y.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(", ")})`:"";y.success(`Created ${e.configFile}${r}`),y.success(`Created ${e.localConfigFile}`),e.gitignoreUpdated&&y.success("Updated .gitignore");}s(E$,"renderInit");Yt();Pt();var sZ=Object.fromEntries(bt.map(t=>[t.id,{importFrom:t.generators.importFrom,emptyImportMessage:t.emptyImportMessage,lintRules:t.lintRules,lint:t.lint,capabilities:t.capabilities}]));function kf(t){return sZ[t]}s(kf,"getTargetCatalogEntry");se();fn();zc();var pZ={type:"stdio",command:"npx",args:["-y","agentsmesh","mcp"]};function uZ(t){return t.mcpServers.agentsmesh!==void 0?false:(t.mcpServers.agentsmesh=pZ,true)}s(uZ,"injectAgentsmeshEntry");async function dI(t){let e=resolve(t,".agentsmesh/mcp.json");try{let r;try{r=await vr(e)??{mcpServers:{}};}catch{r={mcpServers:{}};}if(!uZ(r))return !1;let n=JSON.stringify(r,null,2)+`
330
+ `;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)}
331
+ `),false}}s(dI,"seedAgentsmeshMcpEntry");function L$(t,e){return t.map(r=>({from:relative(e,r.fromPath).replaceAll("\\","/"),to:r.toPath}))}s(L$,"mapResults");async function O$(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(Pe(o)){let p=Ei(r,i),f=await kf(o).importFrom(p.rootBase,{scope:i});return f.length>0&&await dI(p.rootBase),{exitCode:0,data:{scope:i,target:o,files:L$(f,p.rootBase)}}}let a,l;try{({config:a,context:l}=await yt(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: ${Ft.join(", ")}.`)}await Wt(a,r);let c=et(o);if(!c)throw new Error(`Unknown --from "${n}". Supported: ${[...Ft,...a.pluginTargets??[]].join(", ")}.`);let m=await c.generators.importFrom(l.rootBase,{scope:i});return m.length>0&&await dI(l.rootBase),{exitCode:0,data:{scope:i,target:o,files:L$(m,l.rootBase)}}}s(O$,"runImport");Yt();fo();function Ef(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(Ef,"computeDiff");function Lf(t){return `${t.new} files would be created, ${t.updated} updated, ${t.unchanged} unchanged, ${t.deleted} deleted`}s(Lf,"formatDiffSummary");fn();async function w$(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:l}=await yt(r,n);await Wt(a,r);let{canonical:c}=await ke(a,l.configDir,{},l.canonicalDir),m=await Tr({config:a,canonical:c,projectRoot:l.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}=Ef(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(w$,"runDiff");Yt();fo();w();se();wi();Lt();var fZ=[{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 b$(t){let e=new Set(t.enabledFeatures),r=[];for(let n of fZ)!e.has(n.featureFlag)||!n.hasContent(t.canonical)||$r(t.capabilities[n.capabilityKey]).level!=="none"||r.push(x(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(b$,"lintSilentFeatureDrops");Lt();var gZ=/^(?:\s*(?:bash|sh|zsh|pwsh|powershell)\s+)?["']?(?<path>(?:\.{1,2}\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?:\s|$)/;function hZ(t){let r=t.match(gZ)?.groups?.path;return typeof r=="string"?r:null}s(hZ,"extractScriptToken");function P$(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=hZ(o.command);i&&r.push(x(".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(P$,"lintHookScriptReferences");Lt();function T$(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(x(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(T$,"lintRuleScopeInversion");var yZ=["node_modules",".git","dist","coverage",".agentsmesh"];async function _Z(t){return (await v(t)).filter(n=>{let o=relative(t,n);return !yZ.some(i=>o.includes(`/${i}/`)||o.startsWith(`${i}/`))}).map(n=>relative(t,n))}s(_Z,"getProjectFiles");async function Of(t,e,r,n,o={}){let i=o.scope??"project",a=[...t.targets,...t.pluginTargets??[]],l=n?a.filter(C=>n.includes(C)):a,c=t.features.includes("rules"),m=t.features.includes("commands"),p=t.features.includes("mcp"),u=t.features.includes("permissions"),f=t.features.includes("hooks"),g=[],h=i==="global"?[]:await _Z(r);for(let C of l){let S=et(C),k=Pe(C)?kf(C):S;k?.capabilities&&g.push(...b$({target:C,capabilities:k.capabilities,canonical:e,enabledFeatures:t.features})),f&&g.push(...P$({target:C,canonical:e,hasScriptProjection:S?.postProcessHookOutputs!==void 0})),c&&g.push(...T$({target:C,canonical:e,preservesManualActivation:S?.preservesManualActivation===true})),c&&k?.lintRules&&g.push(...k.lintRules(e,r,h,{scope:i})),S?.generators.lint&&g.push(...S.generators.lint(e));let P={scope:i};m&&k?.lint?.commands&&g.push(...k.lint.commands(e,P)),p&&k?.lint?.mcp&&g.push(...k.lint.mcp(e,P)),u&&k?.lint?.permissions&&g.push(...k.lint.permissions(e,P)),f&&k?.lint?.hooks&&g.push(...k.lint.hooks(e,P));}let R=g.some(C=>C.level==="error");return {diagnostics:g,hasErrors:R}}s(Of,"runLint");fn();async function D$(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:l}=await yt(r,n);await Wt(a,r);let{canonical:c}=await ke(a,l.configDir,{},l.canonicalDir),{diagnostics:m,hasErrors:p}=await Of(a,c,l.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(D$,"runLintCmd");ot();function N$(t){let{data:e}=t;if(e.diagnostics.length===0){y.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)y.error(`${a.file} (${a.target}): ${a.message}`);for(let a of n)y.warn(`${a.file} (${a.target}): ${a.message}`);let o=e.summary.errors,i=e.summary.warnings;y.info(`${o} error${o!==1?"s":""}, ${i} warning${i!==1?"s":""}`);}s(N$,"renderLint");ot();function F$(t){let{data:e}=t;if(!e.hasLock){y.error("Not initialized for collaboration. Run 'agentsmesh generate' first.");return}if(e.inSync){y.success("Lock file is in sync.");return}let r=new Set(e.lockedViolations);y.error("Conflict detected:");for(let n of e.extendsModified)y.error(` extend "${n}" was modified`);for(let n of e.modified){let o=r.has(n)?" [LOCKED]":"";y.error(` ${n} was modified${o}`);}for(let n of e.added){let o=r.has(n)?" [LOCKED]":"";y.error(` ${n} was added${o}`);}for(let n of e.removed){let o=r.has(n)?" [LOCKED]":"";y.error(` ${n} was removed${o}`);}y.info("Run 'agentsmesh merge' to resolve, or 'agentsmesh generate --force' to accept current state.");}s(F$,"renderCheck");ot();function v$(t){let{data:e}=t;if(e.files.length===0){y.info(`Nothing to import from ${e.target}.`);return}for(let n of e.files)y.success(`${n.from} \u2192 ${n.to}`);let r=e.scope==="global"?" --global":"";y.info(`Imported ${e.files.length} file(s). Run 'agentsmesh generate${r}' to sync to other tools.`);}s(v$,"renderImport");ot();function M$(t){let{summary:e}=t.data;if(e.created+e.updated+e.unchanged+e.deleted===0){y.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);y.info(Lf({new:e.created,updated:e.updated,unchanged:e.unchanged,deleted:e.deleted}));}s(M$,"renderDiff");ot();function $$(t){if(!t.data.hadConflict){y.info("No conflicts to resolve.");return}y.success("Lock file conflict resolved.");}s($$,"renderMerge");ap();cp();Yt();fo();ap();cp();ot();var SZ=300;function CZ(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}s(CZ,"normalizeWatchPath");function kZ(t,e){let r=CZ(relative(t,e));return r===""?true:r===".lock"||r===".lock.tmp"||r===".generate.lock"||r.endsWith("/.lock")||r.endsWith("/.lock.tmp")||r.endsWith("/.generate.lock")||r.includes("/.generate.lock/")||r.startsWith(".generate.lock/")}s(kZ,"shouldIgnoreWatchPath");function EZ(t,e,r,n,o,i,a,l,c){return JSON.stringify({features:t,rulesCount:e,commandsCount:r,agentsCount:n,skillsCount:o,mcpServerCount:i,permissionsCount:a,hooksCount:l,ignoreCount:c})}s(EZ,"featureFingerprint");async function j$(t,e,r={}){let n=e??process.cwd(),o=t.global===true?"global":"project",{context:i}=await yt(n,o),a=[i.canonicalDir,join(i.configDir,"agentsmesh.yaml"),join(i.configDir,"agentsmesh.local.yaml")],l=null,c=null,m=false,p=null,u=s(async()=>{if(m)return;l=null;let{config:C,context:S}=await yt(n,o),{canonical:k}=await ke(C,S.configDir,{},S.canonicalDir),P=k.mcp?Object.keys(k.mcp.mcpServers).length:0,N=k.permissions?k.permissions.allow.length+k.permissions.deny.length:0,F=k.hooks?Object.values(k.hooks).reduce((At,wt)=>At+(Array.isArray(wt)?wt.length:0),0):0,W=k.ignore.length,z=EZ(C.features,k.rules.length,k.commands.length,k.agents.length,k.skills.length,P,N,F,W),Q=c!==null&&c!==z;if(c=z,m)return;let at=await _c(t,n,{printMatrix:false});if(Rc(at),!m){if(Q){let At=await ip(t,n);lp(At,{verbose:t.verbose===true});}else y.info("Regenerated.");r.onCycle?.({featuresChanged:Q});}},"run"),f=s(()=>{let C=u().catch(S=>{if(!m){let k=S instanceof Error?S.message:String(S);y.error(k);}}).finally(()=>{p===C&&(p=null);});p=C;},"scheduleRun"),g=s(()=>{m||(l&&clearTimeout(l),l=setTimeout(f,SZ));},"schedule"),h=r.usePolling??process.platform==="win32",R=IZ.watch(a,{ignoreInitial:true,usePolling:h,...h&&r.pollIntervalMs!==void 0?{interval:r.pollIntervalMs}:{}});return R.on("all",(C,S)=>{kZ(i.canonicalDir,S)||g();}),await new Promise((C,S)=>{R.once("ready",C),R.once("error",S);}),y.info(o==="global"?"Watching ~/.agentsmesh/ and agentsmesh.yaml...":"Watching .agentsmesh/ and agentsmesh.yaml..."),p=u(),await p,p=null,{stop:s(async()=>{m=true,l&&(clearTimeout(l),l=null),await R.close(),p&&await p;},"stop")}}s(j$,"runWatch");Yt();Fp();async function Af(t){let{config:e,configDir:r,canonicalDir:n}=t,o=await mf(n);if(o===null)return {inSync:false,hasLock:false,modified:[],added:[],removed:[],extendsModified:[],lockedViolations:[]};let i=await ys(n),a=await qa(e,r),l=a.length>0?await gc(a):{},c=new Set(Object.keys(o.checksums)),m=new Set(Object.keys(i)),p=[],u=[],f=[];for(let S of c){let k=i[S];k===void 0?f.push(S):k!==o.checksums[S]&&p.push(S);}for(let S of m)c.has(S)||u.push(S);let g=new Set([...Object.keys(o.extends),...Object.keys(l)]),h=[];for(let S of g)l[S]!==o.extends[S]&&h.push(S);let R=uf(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(Af,"checkLockSync");fn();async function U$(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{config:o,context:i}=await yt(r,n);await Wt(o,r);let a=await Af({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(U$,"runCheck");Yt();w();Fp();var OZ=".lock",AZ="<<<<<<<";async function fI(t){let e=join(t,OZ),r=await _(e);return r===null?false:r.includes(AZ)}s(fI,"hasLockConflict");async function K$(t,e,r){if(!await fI(t))throw new Error("No conflict to resolve.");let o=await ys(t),i=dirname(t),a=r?await qa(r,i):[],l=a.length>0?await gc(a):{},c=await df(join(t,"packs")),m=process.env.USER??process.env.USERNAME??"unknown";await pf(t,{generatedAt:new Date().toISOString(),generatedBy:m,libVersion:e,checksums:o,extends:l,packs:c});}s(K$,"resolveLockConflict");async function W$(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{config:o,context:i}=await yt(r,n),a=i.canonicalDir;return await fI(a)?(await K$(a,Ci(),o),{exitCode:0,data:{hadConflict:true,resolved:true}}):{exitCode:0,data:{hadConflict:false,resolved:false}}}s(W$,"runMerge");Yt();nf();function H$(t){let e=typeof t.path=="string"?t.path.trim():void 0,r=typeof t.target=="string"?t.target.trim():void 0,n=typeof t.as=="string"?t.as.trim():void 0;return {sync:t.sync===true,dryRun:t["dry-run"]===true,force:t.force===true,useExtends:t.extends===true,all:t.all===true,explicitPath:e||void 0,explicitTarget:r||void 0,explicitAs:n?dc.parse(n):void 0,nameOverride:typeof t.name=="string"?t.name.trim():""}}s(H$,"readInstallFlags");var PZ=".install.lock";async function wf(t,e={}){return await mkdir(t,{recursive:true}),Rf(join(t,PZ),e)}s(wf,"acquireInstallLock");Yt();w();Uc();var DZ=promisify(execFile);function bf(t,e){if(t.startsWith("-"))throw new Error(`agentsmesh refuses ${e} starting with "-" (option-injection guard): ${t}`)}s(bf,"ensureNotFlag");async function gI(t){let{stdout:e}=await DZ("git",t,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return e.trim()}s(gI,"runGit");async function z$(){try{return await gI(["--version"]),!0}catch{return false}}s(z$,"isGitAvailable");async function NZ(t,e){bf(t,"remote-url"),bf(e,"ref");let r=[e,`refs/heads/${e}`,`refs/tags/${e}`],n;for(let o of r)try{let a=(await gI(["ls-remote",t,o])).split(`
332
+ `).map(c=>c.trim()).find(c=>c.length>0);if(!a)continue;let l=a.split(/\s+/)[0];if(l&&/^[0-9a-f]{40}$/i.test(l))return l}catch(i){n=i;}throw new Error(`Could not resolve ref "${e}" for ${t}: ${n instanceof Error?n.message:String(n)}`)}s(NZ,"gitLsRemoteResolve");async function V$(t,e){bf(e,"remote-url");let r=t===""?"HEAD":t;if(bf(r,"ref"),/^[0-9a-f]{40}$/i.test(r))return r.toLowerCase();if(r==="HEAD"){let o=(await gI(["ls-remote",e,"HEAD"])).split(`
333
+ `).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 NZ(e,r)}s(V$,"resolveRemoteRefForInstall");async function J$(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 V$(t.rawRef||"HEAD",e);if(t.kind==="github"){let l=`github:${t.org}/${t.repo}@${r}`;return {resolvedPath:(await Qa(l,"install",{cacheDir:Te(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:l,version:r}}if(t.kind==="gitlab"){let l=`gitlab:${t.org}/${t.repo}@${r}`;return {resolvedPath:(await Qa(l,"install",{cacheDir:Te(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:l,version:r}}let n=r,i=`git+${(t.gitPlusBase??e).split("#")[0]}#${n}`;return {resolvedPath:(await Qa(i,"install",{cacheDir:Te(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:i,version:r}}s(J$,"fetchInstallSource");async function Y$(t,e){if(t.kind==="local")return {resolvedPath:t.localRoot,sourceForYaml:t.localSourceForYaml};try{let r=await J$(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(Y$,"resolveInstallResolvedPath");function hI(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],l=r.slice(n+2).join("/");return !o||!i||!a?null:{org:o,repo:i,ref:a,path:l||""}}catch{return null}}s(hI,"parseGithubTreeUrl");function yI(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],l=r.slice(n+2).join("/");return !o||!i||!a||!l?null:{org:o,repo:i,ref:a,path:l}}catch{return null}}s(yI,"parseGithubBlobUrl");function _I(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("/"),l=r.slice(0,n);if(l.length<2)return null;let c=l[l.length-1],m=l.slice(0,-1).join("/");return !m||!c||!i?null:{namespace:m,project:c,ref:i,path:a||""}}catch{return null}}s(_I,"parseGitlabTreeUrl");function RI(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("/"),l=r.slice(0,n);if(l.length<2)return null;let c=l[l.length-1],m=l.slice(0,-1).join("/");return !m||!c||!i||!a?null:{namespace:m,project:c,ref:i,path:a}}catch{return null}}s(RI,"parseGitlabBlobUrl");var FZ=new Set(["tree","blob","commit","releases","actions","issues","pulls","settings","wiki","discussions","security","projects","packages"]);function II(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||FZ.has(r[1]))return null;let n=r[0],o=r[1];return {org:n,repo:o}}catch{return null}}s(II,"parseGithubRepoUrl");function SI(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(SI,"parseGitlabRepoUrl");function CI(t){let e=t.match(/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?$/i);return e?{org:e[1],repo:e[2].replace(/\.git$/i,"")}:null}s(CI,"parseGitSshGithub");function kI(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(kI,"parseGitSshGitlab");w();var $Z=/^[A-Za-z]:[\\/]/,GZ=/^[A-Za-z]:\//;function X$(...t){return t.some(e=>e.includes("\\")||$Z.test(e))?win32:posix}s(X$,"pathApiFor");function pp(t){return t.replace(/\\/g,"/")}s(pp,"toPosixPath");function mp(t){return pp(t).replace(/^\/+|\/+$/g,"")}s(mp,"normalizeInstallPathField");function Pf(t){let e=pp(t);return e===""||e==="."||e==="./."?".":e.startsWith("./")||e.startsWith("../")||e.startsWith("/")||GZ.test(e)?e:`./${e}`}s(Pf,"normalizeLocalSourceForYaml");function gi(t){return {...t,source:t.source_kind==="local"?Pf(t.source):t.source,...t.path!==void 0?{path:mp(t.path)}:{},...t.paths!==void 0?{paths:t.paths.map(e=>mp(e))}:{}}}s(gi,"normalizePersistedInstallPaths");function Z$(t,e,r){let n=X$(t,e),o=n.normalize(t),i=n.normalize(e),a=mp(r),l=`${n.sep}.agentsmesh${n.sep}`,c=o.indexOf(l);if(c>=0){let p=o.slice(0,c),u=o.slice(c+l.length),f=mp(u),g=pp(n.relative(i,p))||".";return {kind:"local",rawRef:"",pathInRepo:a||f.replace(/\.md$/i,"").replace(/\/$/,""),localRoot:p,localSourceForYaml:Pf(g)}}let m=pp(n.relative(i,o))||".";return {kind:"local",rawRef:"",pathInRepo:a,localRoot:o,localSourceForYaml:Pf(m)}}s(Z$,"localParsedFromAbsPath");async function EI(t,e,r){let n=t.trim(),o=r?.trim().replace(/\\/g,"/")??"";if(n.startsWith("git+")){let p=n.lastIndexOf("#"),u=p<0?n:n.slice(0,p),f=p<0?"HEAD":n.slice(p+1),g=u.slice(4);return {kind:"git",rawRef:f,gitPlusBase:g,gitRemoteUrl:g,pathInRepo:o}}if(n.startsWith("https://")||n.startsWith("http://")){let p=hI(n)??yI(n);if(p)return {kind:"github",rawRef:p.ref,org:p.org,repo:p.repo,gitRemoteUrl:`https://github.com/${p.org}/${p.repo}.git`,pathInRepo:o||p.path};let u=II(n);if(u)return {kind:"github",rawRef:"HEAD",org:u.org,repo:u.repo,gitRemoteUrl:`https://github.com/${u.org}/${u.repo}.git`,pathInRepo:o};let f=_I(n)??RI(n);if(f)return {kind:"gitlab",rawRef:f.ref,org:f.namespace,repo:f.project,gitRemoteUrl:`https://gitlab.com/${f.namespace}/${f.project}.git`,pathInRepo:o||f.path};let g=SI(n);if(g)return {kind:"gitlab",rawRef:"HEAD",org:g.namespace,repo:g.project,gitRemoteUrl:`https://gitlab.com/${g.namespace}/${g.project}.git`,pathInRepo:o}}if(n.startsWith("git@github.com:")){let p=CI(n);if(!p)throw new Error(`Invalid GitHub SSH URL: ${n}`);return {kind:"github",rawRef:"HEAD",org:p.org,repo:p.repo,gitRemoteUrl:`https://github.com/${p.org}/${p.repo}.git`,pathInRepo:o}}if(n.startsWith("git@gitlab.com:")){let p=kI(n);if(!p)throw new Error(`Invalid GitLab SSH URL: ${n}`);return {kind:"gitlab",rawRef:"HEAD",gitRemoteUrl:`https://gitlab.com/${p.namespace}/${p.project}.git`,pathInRepo:o}}if(n.startsWith("git@")){let p=n.match(/^git@([^:]+):(.+?)(?:\.git)?$/);if(!p)throw new Error(`Invalid SSH git URL: ${n}`);let u=p[1],f=p[2].replace(/\.git$/i,"");return {kind:"git",rawRef:"HEAD",gitRemoteUrl:`ssh://git@${u}/${f}.git`,pathInRepo:o}}let i=n.match(/^github:([^/]+)\/(.+?)@([^/@]+)$/);if(i){let p=i[1],u=i[2];return {kind:"github",rawRef:i[3],org:p,repo:u,gitRemoteUrl:`https://github.com/${p}/${u}.git`,pathInRepo:o}}let a=n.match(/^github:([^/]+)\/([^/@]+)$/);if(a){let p=a[1],u=a[2];return {kind:"github",rawRef:"HEAD",org:p,repo:u,gitRemoteUrl:`https://github.com/${p}/${u}.git`,pathInRepo:o}}let l=n.match(/^gitlab:(.+)\/([^/@]+)@([^/@]+)$/);if(l){let p=l[1],u=l[2];return {kind:"gitlab",rawRef:l[3],org:p,repo:u,gitRemoteUrl:`https://gitlab.com/${p}/${u}.git`,pathInRepo:o}}let c=n.match(/^gitlab:(.+)\/([^/@]+)$/);if(c){let p=c[1],u=c[2];return {kind:"gitlab",rawRef:"HEAD",org:p,repo:u,gitRemoteUrl:`https://gitlab.com/${p}/${u}.git`,pathInRepo:o}}let m=resolve(e,n);if(!await $(m))throw new Error(`Path does not exist: ${m}`);return Z$(m,e,o)}s(EI,"parseInstallSource");IR();function gn(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(gn,"featuresFromCanonical");async function Tf(t,e={}){let{sliceRoot:r,implicitPick:n}=await Zd(t),{canonical:o,cleanup:i}=await Qd(r,{...e,enableTargetEntityMappers:true});return {canonical:o,features:gn(o),implicitPick:n,cleanup:i}}s(Tf,"discoverFromContentRoot");function Q$(t){return t.description.trim()?{skill:t,ok:true}:{skill:t,ok:false,reason:"missing description in frontmatter"}}s(Q$,"validateSkill");function q$(t){return t.description.trim()?{rule:t,ok:true}:{rule:t,ok:false,reason:"missing description in frontmatter"}}s(q$,"validateRule");function tG(t){return t.description.trim()?{command:t,ok:true}:{command:t,ok:false,reason:"missing description in frontmatter"}}s(tG,"validateCommand");function eG(t){return t.description.trim()?{agent:t,ok:true}:{agent:t,ok:false,reason:"missing description in frontmatter"}}s(eG,"validateAgent");function ne(t){return basename(t.source).replace(/\.md$/i,"")}s(ne,"ruleSlug");function BZ(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(BZ,"featuresFromImplicitPick");function Cc(t,e){let{implicitPick:r}=e,n=e.scopedFeatures??BZ(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(l=>a.has(l.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(l=>a.has(ne(l)))};}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(l=>a.has(l.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(l=>a.has(l.name))};}else n&&!o.has("agents")&&(i={...i,agents:[]});return i}s(Cc,"narrowDiscoveredForInstallScope");AR();async function rG(t,e,r,n,o={}){let i=await ef(t,e,{preferredSkillNames:e==="skills"?n?.skills:void 0}),{canonical:a,cleanup:l}=await Tf(i.discoveryRoot,o),c=Cc(a,{scopedFeatures:[e]});return {prep:{yamlTarget:r,scopedFeatures:[e],cleanup:s(async()=>{await Promise.allSettled([l(),i.cleanup()]);},"combinedCleanup")},narrowed:c,discoveredFeatures:gn(c)}}s(rG,"resolveManualDiscoveredForInstall");Ro();cR();w();Pt();var KZ=(()=>{let t=new Map;for(let r of bt){let n=r.project.managedOutputs,o=[...n?.dirs??[],...n?.files??[],...r.detectionPaths];for(let i of o){let a=i.replace(/\/$/,""),l=t.get(a)??new Set;l.add(r.id),t.set(a,l);}}let e=[];for(let[r,n]of t){if(n.size!==1)continue;let[o]=[...n];e.push({prefix:r,target:o});}return e.sort((r,n)=>n.prefix.length-r.prefix.length)})();function WZ(t){return t.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"")}s(WZ,"norm");function xf(t){let e=WZ(t);if(e){for(let{prefix:r,target:n}of KZ)if(e===r||e.startsWith(`${r}/`))return n}}s(xf,"targetHintFromNativePath");function LI(t,e){return xf(t)===e}s(LI,"pathSupportsNativePick");function nG(t,e){if(!t||!e)return;let r=xf(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(nG,"validateTargetMatchesPath");function oG(t){return (t.commands?.length??0)+(t.rules?.length??0)+(t.skills?.length??0)+(t.agents?.length??0)>0}s(oG,"extendPickHasArrays");w();w();Jt();async function iG(t,e){let r=join(t,...He.split("/")),n=join(t,...e.split("/")),o=await v(n),i=[];for(let a of o){if(!/\.(toml|md)$/i.test(a))continue;let l=relative(r,a).replace(/\\/g,"/");if(l.startsWith("..")||l==="")continue;let m=l.replace(/\.(toml|md)$/i,"").split("/").filter(Boolean).join(":");m&&i.push(m);}return [...new Set(i)].sort()}s(iG,"inferGeminiCommandNamesFromFiles");Jt();cr();w();async function Na(t){let e=await v(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(Na,"skillNamesFromNativeSkillDir");w();wr();async function aG(t,e){let r=join(t,...e.split("/"));if(e.startsWith(si)){let n=await v(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 v(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 v(r),o=new Set;for(let a of n){let l=basename(a);l.toLowerCase().endsWith(".instructions.md")?o.add(l.replace(/\.instructions\.md$/i,"")):l.toLowerCase().endsWith(".md")&&o.add(basename(a,".md"));}let i=[...o].sort();return i.length?{rules:i}:{}}if(e.startsWith(".github/skills")){let n=await Na(r);return n.length?{skills:n}:{}}if(e.startsWith(".github/agents")){let n=await v(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(aG,"inferCopilotPickFromPath");async function Je(t,e){let r=await v(t),n=e.toLowerCase();return [...new Set(r.filter(o=>o.toLowerCase().endsWith(n)).map(o=>basename(o,e)))].sort()}s(Je,"mdNames");async function cG(t,e,r){let n=e.replace(/\\/g,"/").replace(/^\/+|\/+$/g,""),o=join(t,...n.split("/"));if(r==="gemini-cli"){if(n===He||n.startsWith(`${He}/`)){let i=await iG(t,n);return i.length?{commands:i}:{}}return {}}if(r==="claude-code"){if(n.startsWith(".claude/commands")){let i=await Je(o,".md");return i.length?{commands:i}:{}}if(n.startsWith(".claude/rules")){let i=await Je(o,".md");return i.length?{rules:i}:{}}if(n.startsWith(".claude/agents")){let i=await Je(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 Je(o,".mdc");return i.length?{rules:i}:{}}if(n.startsWith(".cursor/commands")){let i=await Je(o,".md");return i.length?{commands:i}:{}}if(n.startsWith(".cursor/agents")){let i=await Je(o,".md");return i.length?{agents:i}:{}}if(n.startsWith(".cursor/skills")){let i=await Na(o);return i.length?{skills:i}:{}}return {}}if(r==="copilot")return aG(t,n);if(r==="windsurf"&&n.startsWith(".windsurf/rules")){let i=await Je(o,".md");return i.length?{rules:i}:{}}if(r==="cline"){if(n.startsWith(Zt)){let i=await Na(o);return i.length?{skills:i}:{}}if(n.startsWith(Dn)){let i=await Je(o,".md");return i.length?{commands:i}:{}}return {}}if(r==="continue"){if(n.startsWith(".continue/rules")){let i=await Je(o,".md");return i.length?{rules:i}:{}}if(n.startsWith(".continue/prompts")){let i=await Je(o,".md");return i.length?{commands:i}:{}}if(n.startsWith(".continue/skills")){let i=await Na(o);return i.length?{skills:i}:{}}return {}}if(r==="junie"){if(n.startsWith(".junie/commands")){let i=await Je(o,".md");return i.length?{commands:i}:{}}if(n.startsWith(".junie/rules")){let i=await Je(o,".md");return i.length?{rules:i}:{}}if(n.startsWith(".junie/agents")){let i=await Je(o,".md");return i.length?{agents:i}:{}}if(n.startsWith(".junie/skills")){let i=await Na(o);return i.length?{skills:i}:{}}return {}}if(r==="codex-cli"&&n.startsWith(".codex")){let i=await v(o),a=[...new Set(i.filter(l=>l.toLowerCase().endsWith(".md")).map(l=>basename(l,".md")))].sort();return a.length?{rules:a}:{}}return {}}s(cG,"inferImplicitPickFromNativePath");function mG(t){return (t.commands?.length??0)+(t.rules?.length??0)+(t.skills?.length??0)+(t.agents?.length??0)===0}s(mG,"isImplicitPickEmpty");mR();function dp(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}s(dp,"normalizePath");function tQ(t,e){let r=dp(t),n=dp(e);return r===n||r.startsWith(`${n}/`)||n.startsWith(`${r}/`)}s(tQ,"overlapsPath");function Df(t,e){let r=t??[];return r.includes(e)||r.push(e),r}s(Df,"addUnique");async function eQ(t){let e=await mkdtemp(join(tmpdir(),"am-install-native-")),r=join(e,"repo"),n=s(async()=>{await rm(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(eQ,"makeStageRoot");function rQ(t,e){let r;for(let o of t){if(o.feature==="rules"&&o.toPath.startsWith(".agentsmesh/rules/")){r={...r,rules:Df(r?.rules,basename(o.toPath,".md"))};continue}if(o.feature==="commands"&&o.toPath.startsWith(".agentsmesh/commands/")){let i=dp(relative(join(e,".agentsmesh","commands"),join(e,o.toPath)));r={...r,commands:Df(r?.commands,i.replace(/\.md$/i,"").split("/").filter(Boolean).join(":"))};continue}if(o.feature==="agents"&&o.toPath.startsWith(".agentsmesh/agents/")){r={...r,agents:Df(r?.agents,basename(o.toPath,".md"))};continue}if(o.feature==="skills"&&o.toPath.startsWith(".agentsmesh/skills/")){let a=dp(relative(join(e,".agentsmesh","skills"),join(e,o.toPath))).split("/")[0];a&&(r={...r,skills:Df(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(rQ,"buildPickFromResults");function nQ(t,e,r,n){let o=join(e,...dp(t).split("/")),i=r.filter(a=>tQ(o,a.fromPath));if(i.length===0)throw new Error(`No installable native resources found under "${t}" for target "${n}". Try --path "${t}" without --target so agentsmesh can auto-detect the layout, or use --as <rules|commands|agents|skills> to install the directory as a flat collection.`);return {features:[...new Set(i.map(a=>a.feature))],pick:rQ(i,e)}}s(nQ,"scopeImportedResults");async function AI(t,e){let{stageRoot:r,cleanup:n}=await eQ(t);try{let o=await tp(r,e);return {stageRoot:r,results:o,cleanup:n}}catch(o){throw await n(),o}}s(AI,"stageImportedNativeRepo");async function wI(t,e,r){let n=await AI(t,r);try{return {stageRoot:n.stageRoot,cleanup:n.cleanup,...nQ(e,n.stageRoot,n.results,r)}}catch(o){throw await n.cleanup(),o}}s(wI,"stageNativeInstallScope");async function fG(t,e,r,n){let o=n.explicitTarget?.trim();o&&Qe.parse(o);let i=r.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"");nG(o,i);let a=join(t,".agentsmesh"),l=await $(a),c=i?xf(i):void 0,p=!l&&!o&&(!i||c!==void 0)?await Ud(t)??void 0:void 0;if(!o&&c&&p&&c!==p)throw new Error(`Install path suggests native layout "${c}" but auto-detect imported "${p}". Use --target ${c} for this path, or install from the repo root without a conflicting subtree path.`);let u=o??c??p,f=!!i&&!!u&&!i.startsWith(".agentsmesh");if(!l&&u){if(f){let P=await wI(t,i,u);return {discoveryRoot:P.stageRoot,implicitPick:P.pick,scopedFeatures:P.features,yamlTarget:u,importHappened:true,cleanup:P.cleanup}}let k=await AI(t,u);return {discoveryRoot:i?join(k.stageRoot,i):k.stageRoot,yamlTarget:u,importHappened:true,cleanup:k.cleanup}}let g;l?i?u&&LI(i,u)?g=t:g=e:g=t:g=e;let h,R,C;if(f&&u){let k=await wI(t,i,u);g=k.stageRoot,h=k.pick,R=k.features,C=k.cleanup;}else if(g===t&&i&&u&&LI(i,u)&&(h=await cG(t,i,u),mG(h)))throw new Error(`No installable native resources found under "${i}" for target "${u}". Try --path "${i}" without --target so agentsmesh can auto-detect the layout, or use --as <rules|commands|agents|skills> to install the directory as a flat collection.`);let S;return o?S=o:u&&(h&&oG(h)||(R?.length??0)>0)&&(S=u),{discoveryRoot:g,implicitPick:h,scopedFeatures:R,yamlTarget:S,importHappened:C!==void 0,cleanup:C}}s(fG,"prepareInstallDiscovery");async function bI(t,e,r,n,o={}){let i=await fG(t,e,r,{explicitTarget:n}),{canonical:a,implicitPick:l,cleanup:c}=await Tf(i.discoveryRoot,o),m=i.cleanup,u={...i,cleanup:s(async()=>{await Promise.allSettled([c(),...m?[m()]:[]]);},"mergedCleanup")},f=l??i.implicitPick,g=Cc(a,{implicitPick:f,scopedFeatures:i.scopedFeatures}),h=gn(g);return {prep:u,discovered:a,implicitPick:f,narrowed:g,discoveredFeatures:h}}s(bI,"resolveDiscoveredForInstall");var iQ=[".claude-plugin","marketplace.json"];async function aQ(t){try{return (await stat(t)).isDirectory()}catch{return false}}s(aQ,"dirExists");function lQ(t){if(typeof t!="string"||t.length===0||t.startsWith("/"))return null;let e=t.replace(/^\.\/+/,"").replace(/\/+$/,"");return e.split("/").some(r=>r==="..")?null:e}s(lQ,"normalizeSource");async function hG(t,e,r){let n=join(t,...iQ),o;try{o=await readFile(n,"utf-8");}catch{return null}let i;try{i=JSON.parse(o);}catch{return null}if(typeof i!="object"||i===null||!Array.isArray(i.plugins))return null;let a=i.plugins,l=[];for(let c of a){if(typeof c!="object"||c===null)continue;let m=lQ(c.source);if(!m)continue;let p=join(t,m);if(!await aQ(p))continue;let u=await e(p,m);r(u)&&l.push({path:m,layout:u});}return l}s(hG,"detectMarketplaceSubPacks");async function fp(t){try{return (await stat(t)).isDirectory()}catch{return false}}s(fp,"dirExists");async function hi(t){try{return (await readdir(t,{withFileTypes:!0})).map(r=>({name:r.name,isDir:r.isDirectory(),isFile:r.isFile()}))}catch{return []}}s(hi,"listDirEntries");function yG(t){return t.endsWith(".instructions.md")?"copilot-instructions":t.endsWith(".md")?"md":t.endsWith(".mdc")?"mdc":t.endsWith(".toml")?"toml":null}s(yG,"classifyFileShape");var pQ=["rules","commands","agents","skills","mcp.json","hooks.yaml","permissions.yaml","ignore"],uQ=[".cursorrules",".windsurfrules"];async function RG(t){let e=join(t,".agentsmesh");if(!await fp(e))return null;let r=await hi(e),n=new Set(r.map(o=>o.name));for(let o of pQ)if(n.has(o))return {path:".agentsmesh"};return null}s(RG,"detectCanonical");async function IG(t){for(let e of uQ)try{if((await stat(join(t,e))).isFile())return {path:e}}catch{}return null}s(IG,"detectRootRule");async function SG(t){try{if((await stat(join(t,"SKILL.md"))).isFile())return {path:"SKILL.md"}}catch{}return null}s(SG,"detectRootSkill");Co();var fQ={rules:"rules",commands:"commands",agents:"agents",skills:"skills"},gQ=[".claude-plugin",".codex-plugin",".cursor-plugin"],hQ=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;async function CG(t){let e=join(t,"skills"),r=await hi(e);for(let n of r)if(!(!n.isDir||n.name.startsWith("_")||!hQ.test(n.name))&&await fp(join(e,n.name)))try{if((await stat(join(e,n.name,"SKILL.md"))).isFile())return {path:"skills"}}catch{continue}return null}s(CG,"detectSkillPack");async function kG(t){let e=[];for(let[r,n]of Object.entries(fQ)){let o=join(t,r),i=await hi(o),a=new Set;for(let l of i){if(!l.isFile||In(l.name))continue;let c=yG(l.name);c&&a.add(c);}for(let l of a)e.push({path:r,suggestedAs:n,fileShape:l});}return e}s(kG,"detectFlatCollections");async function EG(t){let e=[];for(let r of gQ)await fp(join(t,r))&&e.push({path:r});return e}s(EG,"detectToolNativeManifests");async function xI(t,e){let r=await RG(t);if(r)return {canonical:r,skillPack:null,rootSkill:null,rootRule:null,flatCollections:[],toolNativeManifests:[]};let n=await CG(t),o=n?null:await SG(t),i=await kG(t),a=n||o||i.length>0?null:await IG(t),l=await EG(t);return {canonical:r,skillPack:n?{path:e?`${e}/skills`:"skills"}:null,rootSkill:o?{path:e?`${e}/SKILL.md`:"SKILL.md"}:null,rootRule:a?{path:e?`${e}/${a.path}`:a.path}:null,flatCollections:i.map(c=>({...c,path:e?`${e}/${c.path}`:c.path})),toolNativeManifests:l.map(c=>({path:e?`${e}/${c.path}`:c.path}))}}s(xI,"detectFlatLayout");function TI(t){return t.canonical!==null||t.skillPack!==null||t.rootSkill!==null||t.rootRule!==null||t.flatCollections.length>0}s(TI,"hasContent");async function LG(t,e){let r=await hi(t),n=[];for(let o of r){if(!o.isDir||o.name.startsWith("."))continue;let i=join(t,o.name),a=e?`${e}/${o.name}`:o.name,l=await xI(i,a);TI(l)&&n.push({path:a,layout:l});}return n}s(LG,"collectSubPackCandidates");async function yQ(t,e){if(TI(e))return [];let r=await hG(t,xI,TI);if(r&&r.length>0)return r;let n=await LG(t,"");if(n.length>=2)return n;let o=await hi(t);for(let i of o){if(!i.isDir||i.name.startsWith("."))continue;let a=await LG(join(t,i.name),i.name);if(a.length>=2)return a}return []}s(yQ,"detectSubPacks");async function AG(t){let e=await xI(t,"");if(e.canonical)return {...e,subPacks:[]};let r=await yQ(t,e);return {...e,subPacks:r}}s(AG,"detectLayout");w();j();async function bG(t){let e;try{e=await readdir(t);}catch{return null}let r=e.sort().find(c=>c.toLowerCase().endsWith(".mdc"));if(!r)return null;let n=await _(join(t,r));if(!n)return null;let o=Fr(n,join(t,r));if(!o.ok)return null;let{frontmatter:i}=o.value,a="alwaysApply"in i,l="trigger"in i;return a&&l?null:a?"cursor":l?"windsurf":null}s(bG,"inferMdcTarget");zd();Xd();function kQ(t){let e=t.indexOf("#");return e<0?{path:t,anchor:""}:{path:t.slice(0,e),anchor:t.slice(e)}}s(kQ,"splitAnchor");function EQ(t){return t.split(sep).join("/")}s(EQ,"toForwardSlash");async function LQ(t){try{return await stat(t),!0}catch{return false}}s(LQ,"pathExists");async function DG(t){let{link:e,fromFile:r,contentRoot:n,includedPaths:o}=t,{path:i,anchor:a}=kQ(e.path);if(i===""||isAbsolute(i))return {link:e,classification:"unresolvable",resolvedRelative:null,anchor:a};let l=join(n,r,".."),c=normalize(resolve(l,i)),m=normalize(resolve(n)),p=relative(m,c);if(p.startsWith("..")||isAbsolute(p))return {link:e,classification:"unresolvable",resolvedRelative:null,anchor:a};let u=EQ(p);return await LQ(c)?o.has(u)?{link:e,classification:"in-tree-included",resolvedRelative:u,anchor:a}:{link:e,classification:"resolvable-outside",resolvedRelative:u,anchor:a}:{link:e,classification:"unresolvable",resolvedRelative:u,anchor:a}}s(DG,"resolveLink");var OQ=/^(?:```|~~~)[^\n]*\n[\s\S]*?^(?:```|~~~)/gm,AQ=/(!?)\[[^\]\n]*\]\(([^)\n]+)\)/g,wQ=/^\s*\[([^\]\n]+)\]:\s*(.+?)\s*$/gm;function bQ(t){let e=[];for(let r of t.matchAll(OQ)){let n=r.index??0;e.push([n,n+r[0].length]);}return e}s(bQ,"getFencedCodeRanges");function NG(t,e){for(let[r,n]of e)if(t>=r&&t<n)return true;return false}s(NG,"isInRanges");function FG(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(FG,"normalizeDestination");function Nf(t){let e=bQ(t),r=[];for(let n of t.matchAll(AQ)){let o=n.index??0;if(NG(o,e))continue;let i=n[1]==="!",a=n[2];if(a===void 0)continue;let l=t.indexOf("(",o);if(l<0)continue;let c=l+1;r.push({kind:i?"image":"inline",destination:FG(a),destinationOffset:c,destinationLength:a.length});}for(let n of t.matchAll(wQ)){let o=n.index??0;if(NG(o,e))continue;let i=(n[1]??"").trim(),a=n[2]??"";if(i===""||a.trim()==="")continue;let l=o,c=t.indexOf("]:",l);if(c<0)continue;let m=c+2;for(;m<t.length&&(t[m]===" "||t[m]===" ");)m+=1;r.push({kind:"reference-def",destination:FG(a),label:i,destinationOffset:m,destinationLength:a.trimEnd().length});}return r}s(Nf,"scanMarkdownLinks");function vG(t,e){if(e.length===0)return t;let r=[...e].sort((o,i)=>i.offset-o.offset),n=t;for(let o of r)n=`${n.slice(0,o.offset)}${o.replacement}${n.slice(o.offset+o.length)}`;return n}s(vG,"applyRangeRewrites");function PQ(t){return !(t.length===0||t.startsWith("#")||t.startsWith("/")||/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(t))}s(PQ,"isCandidateRelativePath");function TQ(t){let e=t.replaceAll("\\","/");return e==="{baseDir}"?".":e.startsWith("{baseDir}/")?e.slice(10):e}s(TQ,"stripPath");function xQ(t){let e=t.destination;return PQ(e)?{raw:e,path:TQ(e),kind:t.kind,...t.label!==void 0?{label:t.label}:{}}:null}s(xQ,"toScannedLink");function MG(t){let e=[];for(let r of Nf(t)){let n=xQ(r);n!==null&&e.push(n);}return e}s(MG,"scanRelativeLinks");function kc(t,e){let r=t.replaceAll("\\","/"),n=e.replaceAll("\\","/"),o=r.endsWith("/")?r:`${r}/`;return n.startsWith(o)?n.slice(o.length):n}s(kc,"toForwardSlashRelative");function $G(t,e,r,n,o){let i=new Set;for(let a of e){i.add(kc(t,a.source));for(let l of a.supportingFiles)i.add(kc(t,l.absolutePath));}for(let a of r)i.add(kc(t,a.source));for(let a of n)i.add(kc(t,a.source));for(let a of o)i.add(kc(t,a.source));return i}s($G,"buildIncludedPaths");function NQ(t,e,r,n){let o=[];for(let i of t)o.push({kind:"skill",name:i.name,body:i.body,sourcePath:i.source});for(let i of e)o.push({kind:"agent",name:i.name,body:i.body,sourcePath:i.source});for(let i of r)o.push({kind:"command",name:i.name,body:i.body,sourcePath:i.source});for(let i of n)o.push({kind:"rule",name:basename(i.source,".md"),body:i.body,sourcePath:i.source});return o}s(NQ,"listScannables");async function GG(t,e,r,n,o,i){let a=NQ(e,r,n,o),l=[];for(let c of a){let m=MG(c.body);if(m.length===0)continue;let p=kc(t,c.sourcePath),u=[];for(let f of m){let g=await DG({link:f,fromFile:p,contentRoot:t,includedPaths:i});g.classification!=="in-tree-included"&&u.push(g);}u.length>0&&l.push({entityKind:c.kind,entityName:c.name,resolved:u});}return l}s(GG,"detectBrokenLinks");Xd();async function jG(t,e,r={}){let n=new Map,o=new Map,i=[],a=[...e].sort((p,u)=>p.precedence-u.precedence);for(let p of a){let{commands:u,cleanup:f}=await Vd(join(t,p.dir),{restrictToTarget:p.target,parseOpts:r});i.push(f);for(let g of u){if(n.get(g.name)===void 0){n.set(g.name,{command:g,precedence:p.precedence});continue}let R=o.get(g.name)??[];R.push({path:g.source,precedence:p.precedence}),o.set(g.name,R);}}let l=[];for(let[p,u]of o){let f=n.get(p);if(f===void 0)throw new Error(`mergeCommands invariant: loser without winner for "${p}"`);l.push({basename:p,winnerPath:f.command.source,loserPaths:u.map(g=>g.path)});}return l.sort((p,u)=>p.basename.localeCompare(u.basename)),{commands:[...n.values()].map(p=>p.command).sort((p,u)=>p.name.localeCompare(u.name)),dedups:l,cleanup:s(async()=>{await Promise.allSettled(i.map(p=>p()));},"cleanup")}}s(jG,"mergeCommands");async function UG(t,e,r={}){let[n,o,i,a]=await Promise.all([Bv(`${t}/skills`,r),Yd(`${t}/agents`,{parseOpts:r}),Jd(`${t}/rules`,{parseOpts:r}),jG(t,e.mergeFromToolDirs,r)]),l=[...o.agents],c=[...i.rules],m=$G(t,n,l,a.commands,c),p=await GG(t,n,l,a.commands,c,m),u=s(async()=>{await Promise.allSettled([i.cleanup(),o.cleanup(),a.cleanup()]);},"cleanup");return {skills:n,agents:l,commands:a.commands,rules:c,dedups:a.dedups,brokenLinks:p,cleanup:u}}s(UG,"aggregateAnthropicSkillPack");var BG={mergeFromToolDirs:[{dir:"commands",precedence:0},{dir:".claude/commands",target:"claude-code",precedence:1},{dir:".gemini/commands",target:"gemini-cli",precedence:2}]};el();function MQ(t){return {rules:[...t.rules],commands:[...t.commands],agents:[...t.agents],skills:[...t.skills],mcp:null,permissions:null,hooks:null,ignore:[]}}s(MQ,"aggregateToCanonical");function Ff(){return {}}s(Ff,"emptyPrep");async function $Q(t,e){let r=[];for(let n of e)if(n.fileShape==="mdc"&&!n.inferredTarget){let o=await bG(join(t,n.path));r.push(o?{...n,inferredTarget:o}:n);}else r.push(n);return r}s($Q,"enrichMdcTargets");function WG(t){return t.canonical?"canonical-agentsmesh":t.skillPack||t.rootSkill?"anthropic-skill-pack":t.rootRule||t.toolNativeManifests.length>0?"tool-native":"unknown"}s(WG,"deriveSourceType");async function GQ(t,e){let r=await Bp(t,e);return {rules:[],commands:[],agents:[],skills:r?[r]:[],mcp:null,permissions:null,hooks:null,ignore:[]}}s(GQ,"rootSkillToCanonical");async function jQ(t,e){let r=join(t,e),n=await readFile(r,"utf-8").catch(()=>""),o=`Imported from ${e}`;return {rules:n?[{source:r,root:true,targets:[],description:o,globs:[],body:n}]:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}s(jQ,"rootRuleToCanonical");async function HG(t){let e=t.parseOpts??{};if(t.explicitAs)return {implicitPick:void 0,...await rG(t.contentRoot,t.explicitAs,t.explicitTarget,t.replayPick,e)};if(t.explicitTarget)return bI(t.resolvedPath,t.contentRoot,t.pathInRepo,t.explicitTarget,e);let r=await AG(t.contentRoot),n=await $Q(t.contentRoot,r.flatCollections),o={...r,flatCollections:n};if(o.skillPack&&!o.canonical){let a=await UG(t.contentRoot,BG,e),l=MQ(a);return {prep:{cleanup:a.cleanup},implicitPick:void 0,narrowed:l,discoveredFeatures:gn(l),layout:o,aggregate:a}}if(o.rootSkill&&!o.canonical&&!o.skillPack){let a=await GQ(t.contentRoot,e);return {prep:Ff(),implicitPick:void 0,narrowed:a,discoveredFeatures:gn(a),layout:o}}if(o.rootRule&&!o.canonical&&!o.skillPack&&!o.rootSkill&&o.flatCollections.length===0){let a=await jQ(t.contentRoot,o.rootRule.path);return {prep:Ff(),implicitPick:void 0,narrowed:a,discoveredFeatures:gn(a),layout:o}}return o.subPacks.length>0?{prep:Ff(),implicitPick:void 0,narrowed:{rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]},discoveredFeatures:[],layout:o}:o.flatCollections.length>0?{prep:Ff(),implicitPick:void 0,narrowed:{rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]},discoveredFeatures:[],layout:o}:{...await bI(t.resolvedPath,t.contentRoot,t.pathInRepo,t.explicitTarget,e),layout:o}}s(HG,"resolveInstallDiscovery");function VG(t){let e=new Set;t.skillPack&&e.add("skills"),t.rootSkill&&e.add("skills");for(let r of t.flatCollections)e.add(r.suggestedAs);return [...e]}s(VG,"featuresFromLayout");function UQ(t){return t.replace(/[/\\]+/g,"-").replace(/[^a-z0-9-]/gi,"").toLowerCase()}s(UQ,"subPackSlug");function zG(t,e,r){let n=VG(t.layout),o=n[0];return {name:`${e}-${UQ(t.path)}`,source:r,path:t.path,as:o,features:n}}s(zG,"targetFromSubPack");function JG(t,e,r){return {name:e,source:r,path:t.path,as:t.suggestedAs,target:t.inferredTarget,features:[t.suggestedAs]}}s(JG,"targetFromCollection");function YG(t){let{layout:e,sourceName:r,sourceForYaml:n,explicitPath:o,explicitAs:i,explicitTarget:a}=t;if(o||i||a)return {targets:[],isMarketplace:false};if(e.canonical||e.skillPack)return {targets:[],isMarketplace:false};if(e.subPacks.length>=1)return BQ(t);if(e.flatCollections.length===1){let l=e.flatCollections[0];return {targets:[JG(l,r,n)],isMarketplace:false}}return e.flatCollections.length>1?KQ(t):{targets:[],isMarketplace:false}}s(YG,"selectInstallCandidates");function BQ(t){let{layout:e,sourceName:r,sourceForYaml:n}=t;if(t.all)return {targets:e.subPacks.map(a=>zG(a,r,n)),isMarketplace:true};if(t.force||!t.tty){let a=e.subPacks.map(l=>({path:l.path,features:VG(l.layout)})).map(l=>` - ${l.path} (${l.features.join(", ")})`).join(`
334
+ `);throw new Error(`Marketplace source with ${e.subPacks.length} sub-packs. Pass --all to install all, or use --path <subpath>:
335
+ ${a}`)}return {targets:e.subPacks.map(i=>zG(i,r,n)),isMarketplace:true}}s(BQ,"selectMarketplace");function KQ(t){let{layout:e,sourceName:r,sourceForYaml:n}=t;if(t.force||!t.tty){let i=e.flatCollections.map(a=>` - ${a.path} (${a.suggestedAs}, .${a.fileShape})`).join(`
336
+ `);throw new Error(`Ambiguous source with ${e.flatCollections.length} resource collections. Pass --as <kind> to select, or --path <subpath>:
337
+ ${i}`)}return {targets:e.flatCollections.map(i=>JG(i,r,n)),isMarketplace:false}}s(KQ,"selectMultipleCollections");fn();SR();function Ec(t){return t==="."||t===""?void 0:t}s(Ec,"trimDot");function HQ(t,e){let r=basename(e).replace(/\.md$/i,"");return t==="agents"?{agents:[r]}:t==="commands"?{commands:[r]}:{rules:[r]}}s(HQ,"markdownPick");async function ZG(t){if(!t.as)return {pathInRepo:Ec(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:Ec(dirname(e)),pick:HQ(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:Ec(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 qd(o);return {pathInRepo:Ec(dirname(n)),pick:{skills:[a||basename(n)]}}}}catch{return {pathInRepo:Ec(e)}}}}return {pathInRepo:Ec(e)}}s(ZG,"resolveManualInstallPersistence");fo();ot();ot();async function vf(t,e,r){let n=t==="install"?"Pack is installed":"Uninstall is committed",o=e==="global"?" --global":"";try{let i=await _c(e==="global"?{global:!0}:{},r,{printMatrix:!1});Rc(i),i.exitCode!==0&&y.warn(`Generate failed after ${t}. ${n}; run agentsmesh generate${o}.`);}catch(i){let a=i instanceof Error?i.message:String(i);y.warn(`Generate failed after ${t}: ${a}`),y.warn(`${n}; run agentsmesh generate${o} after resolving the issue.`);}}s(vf,"runPostOperationGenerate");async function go(t){return process.stdin.isTTY?new Promise(e=>{let r=QG.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(go,"confirm");function zQ(t){return !!(t.skills.length||t.rules.length||t.commands.length||t.agents.length)}s(zQ,"hasArrayResources");function qG(t){return zQ(t)||t.mcp!==null||t.permissions!==null||t.hooks!==null||t.ignore.length>0}s(qG,"hasInstallableResources");async function tj(t,e,r,n){let o=t.skills.map(l=>Q$(l)),i=o.filter(l=>l.ok).map(l=>l.skill),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await go(`Include invalid skill "${l.skill.name}" anyway? (${l.reason}). You can fix it later.`)&&i.push(l.skill);else e&&(i=o.map(l=>l.skill));return r&&(i=o.filter(l=>l.ok).map(l=>l.skill)),i}s(tj,"resolveSkillPool");async function ej(t,e,r,n){let o=t.rules.map(l=>q$(l)),i=o.filter(l=>l.ok).map(l=>l.rule),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await go(`Include invalid rule "${ne(l.rule)}" anyway? (${l.reason}). You can fix it later.`)&&i.push(l.rule);else e&&(i=o.map(l=>l.rule));return r&&(i=o.filter(l=>l.ok).map(l=>l.rule)),i}s(ej,"resolveRulePool");async function rj(t,e,r,n){let o=t.commands.map(l=>tG(l)),i=o.filter(l=>l.ok).map(l=>l.command),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await go(`Include invalid command "${l.command.name}" anyway? (${l.reason}). You can fix it later.`)&&i.push(l.command);else e&&(i=o.map(l=>l.command));return r&&(i=o.filter(l=>l.ok).map(l=>l.command)),i}s(rj,"resolveCommandPool");async function nj(t,e,r,n){let o=t.agents.map(l=>eG(l)),i=o.filter(l=>l.ok).map(l=>l.agent),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await go(`Include invalid agent "${l.agent.name}" anyway? (${l.reason}). You can fix it later.`)&&i.push(l.agent);else e&&(i=o.map(l=>l.agent));return r&&(i=o.filter(l=>l.ok).map(l=>l.agent)),i}s(nj,"resolveAgentPool");async function oj(t,e){let r=e.skills.map(a=>a.name),n=e.rules.map(a=>ne(a)),o=e.commands.map(a=>a.name),i=e.agents.map(a=>a.name);for(let a of e.skills)t.skills.some(l=>l.name===a.name)&&(await go(`Skill "${a.name}" already exists in merged config. Add extend anyway?`)||(r=r.filter(c=>c!==a.name)));for(let a of e.rules){let l=ne(a);t.rules.some(c=>ne(c)===l)&&(await go(`Rule "${l}" already exists in merged config. Add extend anyway?`)||(n=n.filter(m=>m!==l)));}for(let a of e.commands)t.commands.some(l=>l.name===a.name)&&(await go(`Command "${a.name}" already exists in merged config. Add extend anyway?`)||(o=o.filter(c=>c!==a.name)));for(let a of e.agents)t.agents.some(l=>l.name===a.name)&&(await go(`Agent "${a.name}" already exists in merged config. Add extend anyway?`)||(i=i.filter(c=>c!==a.name)));return {skillNames:r,ruleSlugs:n,commandNames:o,agentNames:i}}s(oj,"resolveInstallConflicts");function sj(t,e){if(!t)return;let r={},n=t.skills?.filter(l=>e.skillNames.includes(l)),o=t.rules?.filter(l=>e.ruleSlugs.includes(l)),i=t.commands?.filter(l=>e.commandNames.includes(l)),a=t.agents?.filter(l=>e.agentNames.includes(l));return n&&n.length>0&&(r.skills=n),o&&o.length>0&&(r.rules=o),i&&i.length>0&&(r.commands=i),a&&a.length>0&&(r.agents=a),Object.keys(r).length>0?r:void 0}s(sj,"pickForSelectedResources");function VQ(t,e){let r=t.split("/").filter(Boolean);return r.length>0&&r[r.length-1]===e}s(VQ,"pathEndsWithName");function Mf(t,e,r){return r!==1||e.length!==1?false:VQ(t,e[0])}s(Mf,"inferSingleNamePick");function ij(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||Mf(e,o.skillNames,n.skills)),l=o.ruleSlugs.length>0&&(!!r?.rules?.length||o.ruleSlugs.length<n.rules||Mf(e,o.ruleSlugs,n.rules)),c=o.commandNames.length>0&&(!!r?.commands?.length||o.commandNames.length<n.commands||Mf(e,o.commandNames,n.commands)),m=o.agentNames.length>0&&(!!r?.agents?.length||o.agentNames.length<n.agents||Mf(e,o.agentNames,n.agents));return a&&(i.skills=[...o.skillNames]),l&&(i.rules=[...o.ruleSlugs]),c&&(i.commands=[...o.commandNames]),m&&(i.agents=[...o.agentNames]),Object.keys(i).length?i:void 0}s(ij,"buildInstallPick");function aj(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(aj,"deriveInstallFeatures");function JQ(t){return t.skillNames.length===0&&t.ruleSlugs.length===0&&t.commandNames.length===0&&t.agentNames.length===0}s(JQ,"isEmptyInstallSelection");function lj(t){let{selected:e,discoveredFeatures:r,preConflict:n}=t,o=s(l=>r.includes(l),"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(l=>["mcp","permissions","hooks","ignore"].includes(l));if(JQ(e)&&!a)throw new Error("No resources selected to install.")}s(lj,"ensureInstallSelection");Ro();function cj(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(cj,"assertExtendNameAvailable");function YQ(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(YQ,"mergePick");function mj(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,as:e.as}];let n=t[r],o=[...new Set([...n.features,...e.features])],i=YQ(n.pick,e.features,e.pick);return t.map((a,l)=>l===r?{name:e.name,source:e.source,version:e.version??n.version,features:o,path:e.path!==void 0?e.path:n.path,pick:i,target:e.target??n.target,as:e.as??n.as}:a)}s(mj,"mergeExtendList");w();async function pj(t,e,r){let n=await _(t);if(n===null)throw new Error(`Missing config: ${t}`);let o=parse(n),i=mj(e.extends,r);o.extends=i;let a=stringify(o,{indent:2,lineWidth:0});await I(t,a.endsWith(`
319
338
  `)?a:`${a}
320
- `);}s(JG,"writeAgentsmeshWithNewExtend");ft();async function YG(t){let{configDir:e,config:r,entryArgs:o,dryRun:n}=t,i=EY(o);if(zG(r.extends,i),n){_.info(`[dry-run] Would add extend:
321
- ${JSON.stringify(i,null,2)}`);return}let a=join(e,"agentsmesh.yaml");await JG(a,r,i),_.success(`Wrote extends entry "${i.name}" to agentsmesh.yaml.`);}s(YG,"writeInstallAsExtend");function EY(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(EY,"toNewExtendEntry");T();T();var LY="pack.yaml";async function eg(t){let e=await N(t),r=[];for(let i of e.sort()){let a=relative(t,i).replace(/\\/g,"/");if(a===LY)continue;let c=await bd(i);c!==null&&r.push(`${a}:${c}`);}let o=r.join(`
322
- `);return `sha256:${xm(o)}`}s(eg,"hashPackContent");async function TY(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(TY,"writeRules");async function bY(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(bY,"writeCommands");async function PY(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(PY,"writeAgents");async function xY(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(xY,"writeSkills");async function DY(t,e){t.mcp!==null&&await I(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
339
+ `);}s(pj,"writeAgentsmeshWithNewExtend");ot();async function uj(t){let{configDir:e,config:r,entryArgs:n,dryRun:o}=t,i=qQ(n);if(cj(r.extends,i),o){y.info(`[dry-run] Would add extend:
340
+ ${JSON.stringify(i,null,2)}`);return}let a=join(e,"agentsmesh.yaml");await pj(a,r,i),y.success(`Wrote extends entry "${i.name}" to agentsmesh.yaml.`);}s(uj,"writeInstallAsExtend");function qQ(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?Qe.parse(t.yamlTarget):void 0,as:t.as}}s(qQ,"toNewExtendEntry");w();w();var eq="pack.yaml";async function $f(t){let e=await v(t),r=[];for(let i of e.sort()){let a=relative(t,i).replace(/\\/g,"/");if(a===eq)continue;let l=await lf(i);l!==null&&r.push(`${a}:${l}`);}let n=r.join(`
341
+ `);return `sha256:${af(n)}`}s($f,"hashPackContent");w();var hn=".agentsmesh-install-manifest.json",nq=["pack.yaml",hn];z.object({name:z.string().min(1),source:z.string().min(1),installed_at:z.string().min(1),extends_id:z.string().nullable(),source_type:z.enum(["anthropic-skill-pack","canonical-agentsmesh","tool-native","unknown"]).nullable(),files:z.record(z.string().min(1),z.string().regex(/^sha256:[0-9a-f]{64}$/))});function oq(t,e){return relative(t,e).replaceAll("\\","/")}s(oq,"toForwardSlashRelative");async function Gf(t){let e=await Ya(t),r=[];for(let n of e){let o=oq(t,n);if(nq.includes(o))continue;let i=await cf(n);i!==null&&r.push([o,`sha256:${i}`]);}return r.sort(([n],[o])=>n.localeCompare(o)),Object.fromEntries(r)}s(Gf,"hashPackFiles");w();var sq=/spdx-license-identifier:\s*([A-Za-z0-9.+-]+)/i,iq=[{id:"BSD-3-Clause",pattern:/redistribution and use in source and binary forms[\s\S]+?neither the name of[\s\S]+?contributors/i},{id:"BSD-2-Clause",pattern:/redistribution and use in source and binary forms/i},{id:"AGPL-3.0",pattern:/gnu affero general public license[\s\S]+?version 3/i},{id:"LGPL-3.0",pattern:/gnu lesser general public license[\s\S]+?version 3/i},{id:"LGPL-2.1",pattern:/gnu lesser general public license[\s\S]+?version 2\.1/i},{id:"GPL-3.0",pattern:/gnu general public license[\s\S]+?version 3/i},{id:"GPL-2.0",pattern:/gnu general public license[\s\S]+?version 2/i},{id:"MPL-2.0",pattern:/mozilla public license[\s\S]+?version 2\.0/i},{id:"Apache-2.0",pattern:/apache license[\s\S]+?version 2\.0/i},{id:"MIT",pattern:/permission is hereby granted, free of charge, to any person obtaining a copy/i},{id:"ISC",pattern:/permission to use, copy, modify,? and\/or distribute this software/i},{id:"Unlicense",pattern:/this is free and unencumbered software released into the public domain/i},{id:"CC0-1.0",pattern:/cc0 1\.0 universal/i}];function dj(t){if(t.trim().length===0)return null;let e=sq.exec(t);if(e)return e[1]??null;for(let{id:r,pattern:n}of iq)if(n.test(t))return r;return null}s(dj,"detectSpdxLicense");var lq=["LICENSE","COPYING","NOTICE","COPYRIGHT"],cq=["",".md",".txt",".rst"];async function fj(t){for(let e of lq)for(let r of cq){let n=await _(join(t,`${e}${r}`));if(n===null)continue;let o=dj(n);if(o!==null)return o}return null}s(fj,"detectLicenseInPackDir");async function uq(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(uq,"writeRules");async function dq(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(dq,"writeCommands");async function fq(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(fq,"writeAgents");async function gq(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(gq,"writeSkills");async function hq(t,e){for(let r of t)await copyFile(r.absolutePath,join(e,r.relativePath));}s(hq,"writePreservedRootFiles");async function yq(t,e){t.mcp!==null&&await I(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
323
342
  `),t.permissions!==null&&await I(join(e,"permissions.yaml"),stringify(t.permissions)),t.hooks!==null&&await I(join(e,"hooks.yaml"),stringify(t.hooks)),t.ignore.length>0&&await I(join(e,"ignore"),`${t.ignore.join(`
324
343
  `)}
325
- `);}s(DY,"writeSettings");function NY(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(NY,"validatePackName");async function ZG(t,e,r,o){NY(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 TY(r,n),await bY(r,n),await PY(r,n),await xY(r,n),await DY(r,n);let a=await eg(n),c=si({...o,content_hash:a});return await I(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");Td();T();function MI(t,e){return [...new Set([...t,...e])]}s(MI,"union");function vY(t,e){if(t.path===void 0&&t.paths===void 0||e===void 0)return {path:void 0,paths:void 0};let o=MI(t.paths??(t.path?[t.path]:[]),[e]);return o.length===1?{path:o[0],paths:void 0}:{path:void 0,paths:o}}s(vY,"mergePathScope");function GY(t,e,r){let o={...t};for(let i of e)r&&r[i]!==void 0?o[i]=MI(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(GY,"mergePick");async function MY(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(MY,"mergeRules");async function $Y(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($Y,"mergeCommands");async function jY(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(jY,"mergeAgents");async function UY(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(UY,"mergeSkills");async function KY(t,e){t.mcp!==null&&await I(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
344
+ `);}s(yq,"writeSettings");function _q(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(_q,"validatePackName");async function Rq(t,e,r){let n=await Gf(t),o=f$({name:e.name,source:e.source,installed_at:e.installed_at,extends_id:r.extends_id??null,source_type:r.source_type??null,files:n},"install-manifest");await I(join(t,hn),`${JSON.stringify(o,null,2)}
345
+ `);}s(Rq,"writeInstallManifest");async function gj(t,e,r,n,o={},i=[]){_q(e);let a=join(t,`${e}.tmp`),l=join(t,`${e}.old`),c=join(t,e);await $(a)&&await rm(a,{recursive:true,force:true}),await $(l)&&await rm(l,{recursive:true,force:true});let m,p=false;try{await O(a),await uq(r,a),await dq(r,a),await fq(r,a),await gq(r,a),await yq(r,a),await hq(i,a);let u=await $f(a),f=await fj(a);m=gi({...n,content_hash:u,license:f}),await I(join(a,"pack.yaml"),Da(stringify(m),"pack")),await Rq(a,m,o),await mkdir(t,{recursive:!0}),await $(c)&&(await rename(c,l),p=!0);try{await rename(a,c);}catch(g){throw p&&(await rename(l,c).catch(()=>{}),p=!1),g}}catch(u){throw await rm(a,{recursive:true,force:true}).catch(()=>{}),u}return p&&await rm(l,{recursive:true,force:true}).catch(()=>{}),m}s(gj,"materializePack");fc();w();function $I(t,e){return [...new Set([...t,...e])]}s($I,"union");function Sq(t,e){if(t.path===void 0&&t.paths===void 0||e===void 0)return {path:void 0,paths:void 0};let n=$I(t.paths??(t.path?[t.path]:[]),[e]);return n.length===1?{path:n[0],paths:void 0}:{path:void 0,paths:n}}s(Sq,"mergePathScope");function Cq(t,e,r){let n={...t};for(let i of e)r&&r[i]!==void 0?n[i]=$I(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(Cq,"mergePick");async function kq(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(kq,"mergeRules");async function Eq(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(Eq,"mergeCommands");async function Lq(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(Lq,"mergeAgents");async function Oq(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(Oq,"mergeSkills");async function Aq(t,e){for(let r of t)await copyFile(r.absolutePath,join(e,r.relativePath));}s(Aq,"mergePreservedRootFiles");async function wq(t,e){t.mcp!==null&&await I(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
326
346
  `),t.permissions!==null&&await I(join(e,"permissions.yaml"),stringify(t.permissions)),t.hooks!==null&&await I(join(e,"hooks.yaml"),stringify(t.hooks)),t.ignore.length>0&&await I(join(e,"ignore"),`${t.ignore.join(`
327
347
  `)}
328
- `);}s(KY,"mergeSettings");async function QG(t,e,r,o,n,i){await MY(r,t),await $Y(r,t),await jY(r,t),await UY(r,t),await KY(r,t);let a=MI(e.features,o),c=GY(e.pick,o,n),l=vY(e,i?.path),m=await eg(t),p=new Date().toISOString(),d=si({...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 I(join(t,"pack.yaml"),stringify(d)),d}s(QG,"mergeIntoPack");Tg();pn();ft();T();function WY(t){return t?{path:t,paths:void 0}:{path:void 0,paths:void 0}}s(WY,"pathScope");function HY(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(HY,"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:d,manualAs:g,renameExistingPack:f}=t,h=join(e,"packs"),O=HY(o,n),R=new Date().toISOString(),E=p!==void 0?ze.parse(p):void 0,A=await SF(h,i,{target:E,as:g,features:l}),F=r,v=l,G=m,J=d,Y;if(A){let q=A.packDir,Ft=A.meta;if(f&&A.name!==r){let io=join(h,r);if(await j(io))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,io),q=io,Ft={...A.meta,name:r};}let Gt=await QG(q,Ft,O,l,m,{source:i,...a!==void 0?{version:a}:{},...E!==void 0?{target:E}:{},...d?{path:d}:{},...g!==void 0?{as:g}:{}});F=Gt.name,v=Gt.features,G=Gt.pick,J=Gt.path,Y=Gt.paths,_.success(`Updated pack "${Gt.name}" in .agentsmesh/packs/.`);}else {if(await kd(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},...E!==void 0&&{target:E},...WY(d),...g!==void 0&&{as:g}}),_.success(`Installed pack "${r}" to .agentsmesh/packs/.`);}await aG(e,cG({name:F,source:i,version:a,sourceKind:c,features:v,pick:G,target:E,path:J,paths:Y,as:g})),c!=="local"&&await QR(i);}s(qG,"installAsPack");function VY(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}s(VY,"sanitize");function JY(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(JY,"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=JY(t.gitRemoteUrl):o="extend";e.featureHint?o=`${o}-${e.featureHint}`:o=`${o}-pack`;let n=VY(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=ol(t,{scopedFeatures:r.features,implicitPick:r.pick});return {narrowed:o,discoveredFeatures:Ca(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:d,version:g,pathInRepo:f,persisted:h,replay:O,prep:R,implicitPick:E,narrowed:A,discoveredFeatures:F}=t,{narrowed:v,discoveredFeatures:G}=rM(A,F,O);if(!vG(v))throw new Error(E||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(v,r,o,n),Y=await MG(v,r,o,n),q=await $G(v,r,o,n),Ft=await jG(v,r,o,n),Gt={skills:J.length,rules:Y.length,commands:q.length,agents:Ft.length},{canonical:io}=await he(l,m.configDir,{},m.canonicalDir),Ht=!r&&!o&&n?await UG(io,{skills:J,rules:Y,commands:q,agents:Ft}):{skillNames:J.map(gs=>gs.name),ruleSlugs:Y.map(gs=>Ce(gs)),commandNames:q.map(gs=>gs.name),agentNames:Ft.map(gs=>gs.name)};HG({selected:Ht,discoveredFeatures:G,preConflict:Gt});let ao=O?.features??WG(G,Ht);if(ao.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:E,preConflictCounts:Gt,selected:Ht}),wt=eM({config:l,parsed:p,entryFeatures:ao,nameOverride:a}),cn=oM(Ht,wt),Ar=nM(J,Y,q,Ft,Ht);if(i){if(await YG({configDir:m.configDir,config:l,entryArgs:{name:wt,source:d,version:g,features:ao,path:h.pathInRepo,pick:Ut,yamlTarget:R.yamlTarget},dryRun:o}),o)return {installed:cn,skipped:Ar}}else {if(o)return _.info(`[dry-run] Would install pack "${wt}" to ${e==="global"?"~/.agentsmesh/packs/.":".agentsmesh/packs/."}`),{installed:cn,skipped:Ar};await qG({canonicalDir:m.canonicalDir,packName:wt,narrowed:v,selected:Ht,sourceForYaml:d,version:g,sourceKind:p.kind,entryFeatures:ao,pick:Ut,yamlTarget:R.yamlTarget,pathInRepo:h.pathInRepo,manualAs:c,renameExistingPack:a===""});}let ds=await tl(e==="global"?{global:true}:{},m.rootBase);return el(ds),ds.exitCode!==0&&_.warn(`Generate failed after install. Fix the issue and run agentsmesh generate${e==="global"?" --global":""}.`),{installed:cn,skipped:Ar}}s(sM,"executeRunInstallPoolsAndWrite");async function jI(t,e,r,o){let{sync:n,dryRun:i,force:a,useExtends:c,explicitPath:l,explicitTarget:m,explicitAs:p,nameOverride:d}=mG(t),g=t.global===true?"global":"project",f=e[0]?.trim();if(n){let{context:Ht}=await Tt(r,g),ao=[],Ut=[];if(await lG({sync:n,canonicalDir:Ht.canonicalDir,reinstall:s(async wt=>{let cn=wt.paths&&wt.paths.length>0?wt.paths:[wt.path];for(let Ar of cn){let ds=await jI({...a?{force:true}:{},...i?{"dry-run":true}:{},...g==="global"?{global:true}:{},name:wt.name,...wt.target?{target:wt.target}:{},...Ar?{path:Ar}:{},...wt.as?{as:wt.as}:{}},[wt.source],r,{features:wt.features,pick:wt.pick});ao.push(...ds.data.installed),Ut.push(...ds.data.skipped);}},"reinstall")}))return {exitCode:0,data:{source:"",mode:"sync",installed:ao,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),E=await kI(f,R.configDir,l);if(E.kind!=="local"&&!await qv())throw new Error("git is required for remote installs. Please install git and try again.");let{resolvedPath:A,sourceForYaml:F,version:v}=await rG(E,f),G=E.pathInRepo.replace(/^\/+|\/+$/g,"");if(G){let Ht=normalize(G).replace(/\\/g,"/");if(Ht===".."||Ht.startsWith("../"))throw new Error(`Install --path "${E.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 Y=await NG({as:p,contentRoot:J,pathInRepo:G}),{prep:q,implicitPick:Ft,narrowed:Gt,discoveredFeatures:io}=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:d,explicitAs:p,config:O,context:R,parsed:E,sourceForYaml:F,version:v,pathInRepo:G,persisted:Y,replay:o,prep:q,implicitPick:Ft,narrowed:Gt,discoveredFeatures:io});return {exitCode:0,data:{source:f,mode:"install",installed:Ht.installed,skipped:Ht.skipped,dryRun:i}}}finally{q.cleanup&&await q.cleanup();}}s(jI,"runInstall");async function iM(t,e,r){return jI(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(", ");_.success(`Installed ${o}.`);}if(e.skipped.length>0)for(let r of e.skipped)_.warn(`Skipped ${r.kind} "${r.name}": ${r.reason}`);}}s(aM,"renderInstall");H_();T();var BI="agentsmesh.yaml";async function WI(t){let e=join(t,BI),r=await y(e);return r===null?{}:parse(r)??{}}s(WI,"readScopedConfigRaw");async function lM(t,e){let r=join(t,BI),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 I(r,stringify(n));}s(lM,"writePluginEntry");async function mM(t,e){let r=join(t,BI),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 I(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 ZY(t,e.slice(1),r);case "list":return QY(r);case "remove":return qY(e.slice(1),r);case "info":return tX(e.slice(1),r);default:return {exitCode:2,data:{subcommand:"list",plugins:[]},showHelp:true,error:`Unknown plugin subcommand: ${o}`}}}s(pM,"runPlugin");async function ZY(t,e,r){let o=e[0];if(!o)throw new co("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)??eX(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(ZY,"runPluginAdd");async function QY(t){let r=(await WI(t)).plugins??[],o=[];for(let n of r){let i="\u2717",a="";try{let c=await Md(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 qY(t,e){let r=t[0];if(!r)throw new co("Usage: agentsmesh plugin remove <id>");let o=await mM(e,r);return {exitCode:0,data:{subcommand:"remove",id:r,found:o}}}s(qY,"runPluginRemove");async function tX(t,e){let r=t[0];if(!r)throw new co("Usage: agentsmesh plugin info <id>");let n=((await WI(e)).plugins??[]).find(c=>c.id===r);if(!n)return {exitCode:1,data:{subcommand:"info",id:r,package:"",descriptors:[]}};let i;try{i=await Md(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(tX,"runPluginInfo");function eX(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(eX,"derivePluginId");ft();function uM(t){if(t.error&&_.error(t.error),t.showHelp){iX();return}let{data:e}=t;switch(e.subcommand){case "add":rX(e.id,e.package,e.version);break;case "list":oX(e.plugins);break;case "remove":nX(e.id,e.found);break;case "info":sX(e,t.exitCode);break}}s(uM,"renderPlugin");function rX(t,e,r){_.success(`Plugin '${t}' added to agentsmesh.yaml`),_.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";_.info(`Next: npm install ${e}${o}`),_.info(`Then add '${t}' to pluginTargets in agentsmesh.yaml to enable it.`);}s(rX,"renderAdd");function oX(t){if(t.length===0){_.info("No plugins configured. Use: agentsmesh plugin add <source>");return}_.info("Configured plugins:");for(let e of t){let r=e.version!==void 0?`@${e.version}`:"",o=e.status??"",n=e.targets??"";_.info(` ${e.id} | ${e.package}${r} | ${o} | ${n}`);}}s(oX,"renderList");function nX(t,e){e?_.success(`Plugin '${t}' removed from agentsmesh.yaml`):_.warn(`Plugin '${t}' was not found in agentsmesh.yaml`);}s(nX,"renderRemove");function sX(t,e){if(e!==0&&t.package===""){_.error(`Plugin '${t.id}' not found in agentsmesh.yaml. Use: agentsmesh plugin add`);return}if(e!==0){_.error(`Failed to load plugin '${t.id}'`);return}_.info(`Plugin: ${t.id}`),_.info(`Source: ${t.package}${t.version!==void 0?`@${t.version}`:""}`),_.info(`Descriptors: ${t.descriptors.length}`);for(let r of t.descriptors)_.info(` - ${r.id}: ${r.description}`);}s(sX,"renderInfo");function iX(){_.info("Usage: agentsmesh plugin <subcommand> [args] [flags]"),_.info(""),_.info("Subcommands:"),_.info(" add <source> Register a plugin package in agentsmesh.yaml"),_.info(" list Show all configured plugins and load status"),_.info(" remove <id> Remove a plugin from agentsmesh.yaml"),_.info(" info <id> Show descriptor details for a configured plugin"),_.info(""),_.info("Flags (add):"),_.info(" --version <v> Pin plugin version"),_.info(" --id <id> Override derived plugin id"),_.info(""),_.info("Note: plugins load as trusted Node.js modules and run with full process privileges."),_.info(" Only install plugins from sources you trust.");}s(iX,"printPluginHelp");T();mo();function ii(t){return t.toUpperCase().replace(/-/g,"_")}s(ii,"toPrefix");function ps(t){return t.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join("")}s(ps,"toPascal");function HI(t){let e=ii(t.id),r=ps(t.id);return `import type { TargetGenerators } from '../catalog/target.interface.js';
348
+ `);}s(wq,"mergeSettings");async function hj(t,e,r,n,o,i,a=[]){await kq(r,t),await Eq(r,t),await Lq(r,t),await Oq(r,t),await wq(r,t),await Aq(a,t);let l=$I(e.features,n),c=Cq(e.pick,n,o),m=Sq(e,i?.path),p=await $f(t),u=new Date().toISOString(),f=gi({...e,source:i?.source??e.source,...i?.version!==void 0?{version:i.version}:e.version!==void 0?{version:e.version}:{},features:l,pick:c,...i?.target!==void 0?{target:i.target}:e.target!==void 0?{target:e.target}:{},...m,...i?.as!==void 0?{as:i.as}:e.as!==void 0?{as:e.as}:{},updated_at:u,content_hash:p});return await I(join(t,"pack.yaml"),Da(stringify(f),"pack")),f}s(hj,"mergeIntoPack");Cg();Co();async function yj(t){let e=[];try{let r=await readdir(t,{withFileTypes:!0});for(let n of r)n.isFile()&&Gp(n.name)&&e.push({relativePath:n.name,absolutePath:join(t,n.name)});}catch{return []}return e.sort((r,n)=>r.relativePath.localeCompare(n.relativePath)),e}s(yj,"collectPreservedRootFiles");Ro();ot();Ro();w();nf();function xq(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}s(xq,"sanitize");function Dq(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(Dq,"gitUrlLastSegments");function _j(t,e,r){let n;if(t.kind==="local"){let l=(t.localRoot??"local").split(/[/\\]/).filter(Boolean);n=l[l.length-1]??"local";}else t.kind==="github"&&t.org&&t.repo?n=`${t.org}-${t.repo}`:t.kind==="gitlab"&&t.org&&t.repo?n=`${t.org.replace(/\//g,"-")}-${t.repo}`:t.gitRemoteUrl?n=Dq(t.gitRemoteUrl):n="extend";e.featureHint?n=`${n}-${e.featureHint}`:n=`${n}-pack`;let o=xq(n)||"extend";if(!r.has(o))return o;let i=2;for(;r.has(`${o}-${i}`);)i++;return `${o}-${i}`}s(_j,"suggestExtendName");function Rj(t){let{config:e,parsed:r,entryFeatures:n,nameOverride:o}=t,i=new Set(e.extends.map(a=>a.name));return o||_j(r,{featureHint:n.length===1?n[0]:void 0},i)}s(Rj,"selectInstallEntryName");function Ij(t){let e=t.trim();for(;e.startsWith("git+");){let c=e.lastIndexOf("#");e=(c<0?e.slice(4):e.slice(4,c)).trim();}let r=e.match(/^github:([^/]+)\/([^/@]+?)(?:\.git)?(?:@[^/]+)?$/i);if(r)return `github:${r[1].toLowerCase()}/${r[2].toLowerCase()}`;let n=e.match(/^gitlab:(.+?)\/([^/@]+?)(?:\.git)?(?:@[^/]+)?$/i);if(n)return `gitlab:${n[1].toLowerCase()}/${n[2].toLowerCase()}`;let o=e.match(/^https?:\/\/github\.com\/([^/]+)\/([^/?#]+?)(?:\.git)?(?:[/?#].*)?$/i);if(o)return `github:${o[1].toLowerCase()}/${o[2].toLowerCase()}`;let i=e.match(/^https?:\/\/gitlab\.com\/(.+?)\/([^/?#]+?)(?:\.git)?(?:[/?#].*)?$/i);if(i)return `gitlab:${i[1].toLowerCase()}/${i[2].toLowerCase()}`;let a=e.match(/^git@github\.com:([^/]+)\/([^/]+?)(?:\.git)?$/i);if(a)return `github:${a[1].toLowerCase()}/${a[2].toLowerCase()}`;let l=e.match(/^git@gitlab\.com:(.+?)\/([^/]+?)(?:\.git)?$/i);return l?`gitlab:${l[1].toLowerCase()}/${l[2].toLowerCase()}`:null}s(Ij,"canonicalRemoteIdentity");function Nq(t){return t.kind==="github"&&t.org&&t.repo?`github:${t.org.toLowerCase()}/${t.repo.toLowerCase()}`:t.kind==="gitlab"&&t.org&&t.repo?`gitlab:${t.org.toLowerCase()}/${t.repo.toLowerCase()}`:t.gitRemoteUrl?Ij(t.gitRemoteUrl):null}s(Nq,"parsedSourceIdentity");function Sj(t,e){let r=Nq(e);if(r===null)return null;for(let n of t){let o=Ij(n.source);if(o!==null&&o===r)return n.name}return null}s(Sj,"findExistingInstallName");function GI(t,e){if(t.length!==e.length)return false;let r=[...t].sort(),n=[...e].sort();for(let o=0;o<r.length;o++)if(r[o]!==n[o])return false;return true}s(GI,"sameFeatureSet");function Cj(t){let{manifest:e,parsed:r,entryFeatures:n,yamlTarget:o,explicitAs:i}=t,a=Sj(e,r);if(a===null)return null;let l=e.find(c=>c.name===a);return l.target!==o||l.as!==i||!GI(l.features,n)?null:l.name}s(Cj,"pickReuseEntryName");var Mq=s(t=>!t.includes("/")&&!t.includes("\\")&&!t.includes("\0")&&t!=="."&&t!=="..","isSafeInstallName"),Ej=z.object({name:z.string().min(1).refine(Mq,{message:'install name must not contain path separators, NUL, or "."/".." segments'}),source:z.string().min(1),version:z.string().optional(),source_kind:z.enum(["github","gitlab","git","local"]),features:z.array(Xa).min(1),pick:Mc.optional(),target:Qe.optional(),path:z.string().optional(),paths:z.array(z.string().min(1)).min(1).optional(),as:dc.optional()}),$q=z.object({version:z.literal(1),installs:z.array(Ej).default([])});function Gq(t,e){return t.source===e.source&&t.target===e.target&&t.as===e.as&&GI(t.features,e.features)}s(Gq,"sameInstallIdentity");function jI(t){return join(t,"installs.yaml")}s(jI,"manifestPath");async function ho(t){let e=await _(jI(t));if(e===null)return [];try{return $q.parse(parse(e)).installs.map(r=>gi(r))}catch{return []}}s(ho,"readInstallManifest");async function Lj(t,e){let r=gi(e),o=(await ho(t)).filter(i=>i.name!==r.name&&!Gq(i,r));o.push(r),await I(jI(t),Da(stringify({version:1,installs:o.sort((i,a)=>i.name.localeCompare(a.name))}),"installs"));}s(Lj,"upsertInstallManifestEntry");async function Oj(t,e){let r=await ho(t),n=r.filter(o=>o.name!==e);return n.length===r.length?false:(await I(jI(t),Da(stringify({version:1,installs:n.sort((o,i)=>o.name.localeCompare(i.name))}),"installs")),true)}s(Oj,"removeInstallManifestEntry");function Aj(t){return gi(Ej.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(Aj,"buildInstallManifestEntry");w();function Uq(t){return t?{path:t,paths:void 0}:{path:void 0,paths:void 0}}s(Uq,"pathScope");function Bq(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(ne(a))),commands:t.commands.filter(a=>o.has(a.name)),agents:t.agents.filter(a=>i.has(a.name))}}s(Bq,"applySelection");async function wj(t){let{canonicalDir:e,packName:r,narrowed:n,selected:o,sourceForYaml:i,version:a,sourceKind:l,entryFeatures:c,pick:m,yamlTarget:p,pathInRepo:u,manualAs:f,renameExistingPack:g,sourceType:h,contentRoot:R}=t,C=join(e,"packs"),S=Bq(n,o),k=R?await yj(R):[],P=new Date().toISOString(),N=p!==void 0?Qe.parse(p):void 0,F=await iM(C,i,{target:N,as:f,features:c}),W=r,z=c,Q=m,at=u,At;if(F){let wt=F.packDir,oe=F.meta;if(g&&F.name!==r){let Dt=join(C,r);if(await $(Dt))throw new Error(`Auto-generated pack name "${r}" collides with an existing incompatible pack. Use --name to choose a different pack name.`);await rename(F.packDir,Dt),wt=Dt,oe={...F.meta,name:r};}let Dr=await hj(wt,oe,S,c,m,{source:i,...a!==void 0?{version:a}:{},...N!==void 0?{target:N}:{},...u?{path:u}:{},...f!==void 0?{as:f}:{}},k);W=Dr.name,z=Dr.features,Q=Dr.pick,at=Dr.path,At=Dr.paths,y.success(`Updated pack "${Dr.name}" in .agentsmesh/packs/.`);}else {if(await fi(join(C,r)))throw new Error(`Auto-generated pack name "${r}" collides with an existing incompatible pack. Use --name to choose a different pack name.`);await gj(C,r,S,{name:r,source:i,...a!==void 0&&{version:a},source_kind:l,installed_at:P,updated_at:P,features:c,...m!==void 0&&{pick:m},...N!==void 0&&{target:N},...Uq(u),...f!==void 0&&{as:f}},h!==void 0?{source_type:h}:{},k),y.success(`Installed pack "${r}" to .agentsmesh/packs/.`);}await Lj(e,Aj({name:W,source:i,version:a,sourceKind:l,features:z,pick:Q,target:N,path:at,paths:At,as:f})),l!=="local"&&await nC(i);}s(wj,"installAsPack");function bj(t,e,r){if(!r?.features&&!r?.pick)return {narrowed:t,discoveredFeatures:e};let n=Cc(t,{scopedFeatures:r.features,implicitPick:r.pick});return {narrowed:n,discoveredFeatures:gn(n)}}s(bj,"applyReplayInstallScope");function Pj(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(Pj,"buildInstalledList");function Tj(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 l=ne(a);o.ruleSlugs.includes(l)||i.push({kind:"rule",name:l,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(Tj,"buildSkippedList");async function xj(t){let{scope:e,force:r,dryRun:n,tty:o,useExtends:i,nameOverride:a,explicitAs:l}=t,{config:c,context:m,parsed:p,sourceForYaml:u,version:f,pathInRepo:g,contentRoot:h,persisted:R}=t,{replay:C,prep:S,implicitPick:k,narrowed:P,discoveredFeatures:N,sourceType:F}=t,{narrowed:W,discoveredFeatures:z}=bj(P,N,C);if(!qG(W))throw new Error(k||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 Q=await tj(W,r,n,o),at=await ej(W,r,n,o),At=await rj(W,r,n,o),wt=await nj(W,r,n,o),oe={skills:Q.length,rules:at.length,commands:At.length,agents:wt.length},{canonical:Dr}=await ke(c,m.configDir,{},m.canonicalDir),Dt=!r&&!n&&o?await oj(Dr,{skills:Q,rules:at,commands:At,agents:wt}):{skillNames:Q.map(Ss=>Ss.name),ruleSlugs:at.map(Ss=>ne(Ss)),commandNames:At.map(Ss=>Ss.name),agentNames:wt.map(Ss=>Ss.name)};lj({selected:Dt,discoveredFeatures:z,preConflict:oe});let Ze=C?.features??aj(z,Dt);if(Ze.length===0)throw new Error("No features left to install after selection.");let ja=sj(C?.pick,Dt)??R.pick??ij({pathInRepo:R.pathInRepo??g,implicitPick:k,preConflictCounts:oe,selected:Dt}),Ua=await ho(m.canonicalDir),Dc=Cj({manifest:Ua,parsed:p,entryFeatures:Ze,yamlTarget:S.yamlTarget,explicitAs:l}),Nc=Rj({config:c,parsed:p,entryFeatures:Ze,nameOverride:a||Dc||""}),kp=Pj(Dt,Nc),Ba=Tj(Q,at,At,wt,Dt);if(i){if(await uj({configDir:m.configDir,config:c,entryArgs:{name:Nc,source:u,version:f,features:Ze,path:R.pathInRepo,pick:ja,yamlTarget:S.yamlTarget,as:l},dryRun:n}),n)return {installed:kp,skipped:Ba}}else {if(n)return y.info(`[dry-run] Would install pack "${Nc}" to ${e==="global"?"~/.agentsmesh/packs/.":".agentsmesh/packs/."}`),{installed:kp,skipped:Ba};await wj({canonicalDir:m.canonicalDir,packName:Nc,narrowed:W,selected:Dt,sourceForYaml:u,version:f,sourceKind:p.kind,entryFeatures:Ze,pick:ja,yamlTarget:S.yamlTarget,pathInRepo:R.pathInRepo,manualAs:l,renameExistingPack:a===""&&Dc===null,sourceType:F,contentRoot:h});}return await vf("install",e,m.rootBase),{installed:kp,skipped:Ba}}s(xj,"executeRunInstallPoolsAndWrite");function Uf(t,e){let r=e?.input??process.stdin,n=e?.output??process.stdout;return new Promise(o=>{let i=QG.createInterface({input:r,output:n,terminal:false}),a=false;i.on("close",()=>{a||o("");}),i.question(t,l=>{a=true,i.close(),o(l);});})}s(Uf,"readLine");function Nj(t,e){let r=e.resolved.length,n=r===1?"link":"links",o=[`Entity "${e.entityName}" (${e.entityKind}) has ${r} broken ${n}:`];for(let i of e.resolved)o.push(` - ${i.link.path} (${i.classification})`);o.push(""),t.write(`${o.join(`
349
+ `)}
350
+ `);}s(Nj,"writeBanner");async function Fj(t,e,r){let n=[];for(let o of t){if(o.resolved.length===0)continue;if(e.bypass){Nj(r,o),n.push({entityKind:o.entityKind,entityName:o.entityName,action:"leave-with-warnings"});continue}Nj(r,o);let i=(await r.ask("Action: [i]nclude resolvable as supporting files / [l]eave with warnings / [a]bort install ")).trim().toLowerCase();if(i==="i"){n.push({entityKind:o.entityKind,entityName:o.entityName,action:"include-resolvable"});continue}if(i==="l"){n.push({entityKind:o.entityKind,entityName:o.entityName,action:"leave-with-warnings"});continue}return {decisions:[],aborted:true}}return {decisions:n,aborted:false}}s(Fj,"runBrokenLinkPrompt");var BI=["skills","agents","commands","rules"],KI={skills:"skill",agents:"agent",commands:"command",rules:"rule"},$j={skills:"skills",agents:"agents",commands:"commands",rules:"rules"};function va(t){return {skills:[],agents:[],commands:[],rules:[],aborted:t}}s(va,"emptySelection");function vj(t){return {skills:[...t.skills],agents:[...t.agents],commands:[...t.commands],rules:[...t.rules],aborted:false}}s(vj,"selectAll");function Mj(t,e,r){let n=[`Found in ${e}:`];for(let o of BI){let i=r[o];if(i.length===0)continue;let a=i.length===1?KI[o]:$j[o];n.push(` - ${i.length} ${a}`);}n.push(""),t.write(`${n.join(`
351
+ `)}
352
+ `);}s(Mj,"writeBanner");async function Kq(t,e,r){if(r.length===0)return {selected:[],aborted:false};let n=$j[e],o=(await t.ask(`Install all ${r.length} ${n}? [y/n/c] `)).trim().toLowerCase();if(o==="y")return {selected:[...r],aborted:false};if(o==="n")return {selected:[],aborted:false};if(o!=="c")return {selected:[],aborted:true};let i=KI[e],a=[];for(let l=0;l<r.length;l++){let c=r[l],m=(await t.ask(`Install ${i} "${c}"? [y/N/a/q] `)).trim().toLowerCase();if(m==="y"){a.push(c);continue}if(!(m===""||m==="n")){if(m==="a"){for(let p=l;p<r.length;p++)a.push(r[p]);return {selected:a,aborted:false}}return m==="q"?{selected:a,aborted:false}:{selected:[],aborted:true}}}return {selected:a,aborted:false}}s(Kq,"walkType");function Wq(t){let e=null;for(let r of BI)for(let n of t[r]){if(e!==null)return null;e={kind:r,id:n};}return e}s(Wq,"findSingleEntity");async function Hq(t,e){let r=KI[e.kind],n=(await t.ask(`Install ${r} "${e.id}"? [y/N] `)).trim().toLowerCase();return n==="y"?{...va(false),[e.kind]:[e.id]}:va(!(n===""||n==="n"))}s(Hq,"runSingleEntityPrompt");async function Gj(t,e,r){if(e.bypass)return vj(t);let n=t.skills.length+t.agents.length+t.commands.length+t.rules.length;if(n===0)return va(false);if(n===1){let a=Wq(t);if(a!==null)return Mj(r,e.packName,t),Hq(r,a)}Mj(r,e.packName,t);let o=(await r.ask("Install [a]ll, [n]one, or [s]elect per type? [a/n/s] ")).trim().toLowerCase();if(o==="a")return vj(t);if(o==="n")return va(false);if(o!=="s")return va(true);let i={skills:[],agents:[],commands:[],rules:[]};for(let a of BI){let{selected:l,aborted:c}=await Kq(r,a,t[a]);if(c)return va(true);i[a]=l;}return {...i,aborted:false}}s(Gj,"runBulkPrompt");ot();function Yq(t,e,r){let n=[];for(let o of Nf(t))o.destination===e&&n.push({offset:o.destinationOffset,length:o.destinationLength,replacement:r});return n}s(Yq,"buildLinkRewrites");function Uj(t,e,r){t.warn(`Broken link in ${e.entityKind} "${e.entityName}": ${r.link.path} (${r.classification})`);}s(Uj,"warnLink");function Xq(t){let e=new Map;for(let n of t){let o=basename(n.resolvedRelative),i=e.get(o)??new Set;i.add(n.resolvedRelative),e.set(o,i);}let r=new Map;for(let[n,o]of e){if(o.size===1){let i=[...o][0];r.set(i,`references/${n}`);continue}for(let i of o){let a=i.replaceAll("/","-");r.set(i,`references/${a}`);}}return r}s(Xq,"allocateSupportingFileNames");function jj(t,e,r){return t.find(n=>n.entityKind===e&&n.entityName===r)}s(jj,"findEntity");async function Zq(t,e,r,n){let o=[...e],i=new Set(o.map(l=>l.relativePath)),a=new Set;for(let l of r){if(a.has(l.resolvedRelative))continue;a.add(l.resolvedRelative);let c=n.get(l.resolvedRelative);if(c===void 0||i.has(c))continue;i.add(c);let m=posix.join(t.replaceAll("\\","/"),l.resolvedRelative);o.push({relativePath:c,absolutePath:m,content:await readFile(m,"utf-8")});}return o}s(Zq,"buildSupportingFiles");async function Qq(t,e,r,n){let o=r.resolved.filter(p=>p.classification==="resolvable-outside"),i=Xq(o),a=await Zq(t,e.supportingFiles,o,i),l=[],c=new Set;for(let p of r.resolved)if(p.classification==="resolvable-outside"){if(c.has(p.link.raw))continue;let u=i.get(p.resolvedRelative);if(u===void 0)continue;c.add(p.link.raw);let f=`./${u}${p.anchor}`;l.push(...Yq(e.body,p.link.raw,f));}else Uj(n,r,p);let m=vG(e.body,l);return {...e,body:m,supportingFiles:a}}s(Qq,"applySkillDecision");async function Bj(t){let{contentRoot:e,aggregate:r,decisions:n,logger:o}=t;if(n.length===0)return r;let i=new Set;for(let l of n)l.entityKind==="skill"&&l.action==="include-resolvable"&&i.add(l.entityName);let a=[];for(let l of r.skills){let c=i.has(l.name)?jj(r.brokenLinks,"skill",l.name):void 0;a.push(c?await Qq(e,l,c,o):l);}for(let l of n){if(l.entityKind==="skill"&&l.action==="include-resolvable")continue;let c=jj(r.brokenLinks,l.entityKind,l.entityName);if(c)for(let m of c.resolved)Uj(o,c,m);}return {...r,skills:a}}s(Bj,"applyBrokenLinkDecisions");var Ac=class extends Error{static{s(this,"InstallAbortError");}aborted=true;constructor(e){super(e),this.name="InstallAbortError";}};function t3(){return {ask:s(t=>Uf(t),"ask"),write:s(t=>process.stdout.write(t),"write")}}s(t3,"defaultAdapter");function e3(t){return {skills:t.skills.map(e=>e.name),agents:t.agents.map(e=>e.name),commands:t.commands.map(e=>e.name),rules:t.rules.map(e=>ne(e))}}s(e3,"bulkCandidatesFrom");function Kj(t,e){let r=new Set(e.skills),n=new Set(e.agents),o=new Set(e.commands),i=new Set(e.rules);return {skills:t.skills.filter(a=>r.has(a.name)),agents:t.agents.filter(a=>n.has(a.name)),commands:t.commands.filter(a=>o.has(a.name)),rules:t.rules.filter(a=>i.has(ne(a))),mcp:null,permissions:null,hooks:null,ignore:[]}}s(Kj,"filterCanonical");function r3(t){let e=[];return t.skills.length>0&&e.push("skills"),t.rules.length>0&&e.push("rules"),t.commands.length>0&&e.push("commands"),t.agents.length>0&&e.push("agents"),e}s(r3,"discoveredFeaturesOf");async function n3(t){let e=t.adapter??t3(),r=await Fj(t.aggregate.brokenLinks,{bypass:t.bypass},e);if(r.aborted)throw new Ac("User aborted at broken-link prompt.");let n=[...r.decisions],o=await Bj({contentRoot:t.contentRoot,aggregate:t.aggregate,decisions:n,logger:y}),i=e3(o);if(i.skills.length+i.agents.length+i.commands.length+i.rules.length===0)return {aggregate:o,narrowed:Kj(o,{skills:[],agents:[],commands:[],rules:[]}),discoveredFeatures:[]};let l=await Gj(i,{packName:t.displayName,bypass:t.bypass},e);if(l.aborted)throw new Ac("User aborted at bulk-select prompt.");let c=Kj(o,l);return {aggregate:o,narrowed:c,discoveredFeatures:r3(c)}}s(n3,"runSkillPackPromptFlow");function o3(t){return basename(t)||"install source"}s(o3,"displayNameForContentRoot");async function Wj(t){if(!t.discovery.aggregate)return {aborted:false};try{let e=await n3({contentRoot:t.contentRoot,aggregate:t.discovery.aggregate,narrowed:t.discovery.narrowed,bypass:t.bypass,displayName:o3(t.contentRoot)});return {aborted:!1,narrowed:e.narrowed,discoveredFeatures:e.discoveredFeatures}}catch(e){if(e instanceof Ac)return y.warn(e.message),{aborted:true};throw e}}s(Wj,"runPromptFlowWithAbort");async function Hj(t){let{discovery:e,installReport:r,persisted:n,parsed:o,sourceForYaml:i,version:a,pathInRepo:l,contentRoot:c,config:m,context:p,dryRun:u,force:f,useExtends:g,explicitAs:h,nameOverride:R,scope:C,sourceArg:S,replay:k}=t,P=process.stdin.isTTY,{prep:N,implicitPick:F}=e,{narrowed:W,discoveredFeatures:z}=e;try{let Q=await Wj({discovery:e,contentRoot:c,bypass:f||u||!P});if(Q.aborted)return {exitCode:130,data:{source:S,mode:"install",installed:[],skipped:[],dryRun:u}};if(W=Q.narrowed??W,z=Q.discoveredFeatures??z,z.length===0&&r.brokenResources.length>0){let At=r.brokenResources.map(wt=>` - ${wt.path}: ${wt.reason}`).join(`
353
+ `);throw new Error(`No installable resources after skipping invalid files (${r.brokenResources.length}):
354
+ ${At}
355
+ Fix the frontmatter in the source files (most often: unquoted scalars containing colons or square brackets), or narrow --path to a subdirectory that excludes them.`)}let at=await xj({scope:C,force:f,dryRun:u,tty:P,useExtends:g,nameOverride:R,explicitAs:h,config:m,context:p,parsed:o,sourceForYaml:i,version:a,pathInRepo:l,contentRoot:c,persisted:n,replay:k,prep:N,implicitPick:F,narrowed:W,discoveredFeatures:z,sourceType:e.layout?WG(e.layout):void 0});return {exitCode:0,data:{source:S,mode:"install",installed:at.installed,skipped:at.skipped,dryRun:u,...r.brokenResources.length>0?{brokenResources:r.brokenResources}:{}}}}finally{N.cleanup&&await N.cleanup();}}s(Hj,"runSinglePackInstall");async function zj(t,e,r){let n=[],o=[],i=0;for(let a of t)try{let l=await e(a);n.push(...l.installed),o.push(...l.skipped),i+=1;}catch(l){let c=l instanceof Error?l.message:String(l);r.subPackFailures.push({name:a.name,path:a.path??".",error:c});}return {exitCode:i>0?0:1,installed:n,skipped:o}}s(zj,"runInstallMarketplace");async function Vj(t){let{pickerResult:e,installReport:r,sourceArg:n,projectRoot:o,dryRun:i,force:a,useExtends:l,nameOverride:c,replay:m,recurseInstall:p}=t;if(e.isMarketplace&&e.targets.length>0){let u=await zj(e.targets,async f=>(await p({force:!0,"dry-run":i,path:f.path??"",target:f.target??"",name:f.name,extends:l},[n],o,{})).data,r);return {exitCode:u.exitCode,data:{source:n,mode:"install",installed:u.installed,skipped:u.skipped,dryRun:i,...r.brokenResources.length>0?{brokenResources:r.brokenResources}:{}}}}if(!e.isMarketplace&&e.targets.length===1){let u=e.targets[0];return p({force:a,"dry-run":i,path:u.path??"",as:u.as??"",target:u.target??"",name:c,extends:l},[n],o,m??{})}return null}s(Vj,"routePickerResult");Yt();w();ot();async function i3(t){let e=await ho(t.canonicalDir);if(e.length===0){y.info("No recorded installs found in .agentsmesh/installs.yaml.");return}let r=[];for(let n of e){let o=join(t.canonicalDir,"packs",n.name);await $(o)||r.push(n);}if(r.length===0){y.info("All recorded packs are already installed.");return}for(let n of r)await t.reinstall(n);y.success(`Reinstalled ${r.length} pack(s) from .agentsmesh/installs.yaml.`);}s(i3,"syncInstalledPacks");async function Jj(t){return t.sync?(await i3({canonicalDir:t.canonicalDir,reinstall:t.reinstall}),true):false}s(Jj,"maybeRunInstallSync");async function Yj(t){let{projectRoot:e,sync:r,dryRun:n,force:o,scope:i,recurseInstall:a}=t;if(!r)return;let{context:l}=await yt(e,i),c=[],m=[];if(await Jj({sync:r,canonicalDir:l.canonicalDir,reinstall:s(async u=>{let f=u.paths&&u.paths.length>0?u.paths:[u.path];for(let g of f){let h=await a({...o?{force:true}:{},...n?{"dry-run":true}:{},...i==="global"?{global:true}:{},name:u.name,...u.target?{target:u.target}:{},...g?{path:g}:{},...u.as?{as:u.as}:{}},[u.source],e,{features:u.features,pick:u.pick});c.push(...h.data.installed),m.push(...h.data.skipped);}},"reinstall")}))return {exitCode:0,data:{source:"",mode:"sync",installed:c,skipped:m,dryRun:n}}}s(Yj,"handleSync");function Xj(){return {brokenResources:[],subPackFailures:[]}}s(Xj,"createInstallReport");function c3(t,e){if(!t)return;let r=normalize(t).replace(/\\/g,"/");if(r===".."||r.startsWith("../"))throw new Error(`Install --path "${e}" escapes the source root. Path must stay within the source.`)}s(c3,"assertPathStaysInRepo");async function Zj(t){let e=await Yj(t);if(e)return e;let{projectRoot:r,replay:n,dryRun:o,force:i,useExtends:a,all:l,explicitPath:c,explicitTarget:m,explicitAs:p,nameOverride:u,scope:f,sourceArg:g}=t;if(!g)throw new Error("Missing source. Usage: agentsmesh install <source> [--path ...] [--target ...]");let h=process.stdin.isTTY;if(!h&&!i&&!o)throw new Error("Non-interactive terminal: use --force or --dry-run for agentsmesh install.");let{config:R,context:C}=await yt(r,f);await Wt(R,r);let S=await EI(g,C.configDir,c);if(S.kind!=="local"&&!await z$())throw new Error("git is required for remote installs. Please install git and try again.");let{resolvedPath:k,sourceForYaml:P,version:N}=await Y$(S,g),F=S.pathInRepo.replaceAll("\\","/").replace(/^\/+|\/+$/g,"");c3(F,S.pathInRepo);let W=F?join(k,F):k;if(!await $(W))throw new Error(`Install path does not exist: ${W}`);let z=await ZG({as:p,contentRoot:W,pathInRepo:F}),Q=Xj(),at={onParseError:s((wt,oe)=>{Q.brokenResources.push({path:oe,kind:"frontmatter",reason:wt.message});},"onParseError")},At=await HG({resolvedPath:k,contentRoot:W,pathInRepo:F,explicitTarget:m,explicitAs:p,replayPick:n?.pick,parseOpts:at});if(At.layout&&!p&&!m&&!c){let wt=YG({layout:At.layout,sourceName:u||(S.org&&S.repo?`${S.org}-${S.repo}`:"source"),sourceForYaml:P,explicitPath:c,explicitAs:p,explicitTarget:m,all:l,force:i,tty:h}),oe=await Vj({pickerResult:wt,installReport:Q,sourceArg:g,projectRoot:r,dryRun:o,force:i,useExtends:a,nameOverride:u,replay:n,recurseInstall:t.recurseInstall});if(oe!==null)return oe}return Hj({discovery:At,installReport:Q,persisted:z,parsed:S,sourceForYaml:P,version:N,pathInRepo:F,contentRoot:W,config:R,context:C,dryRun:o,force:i,useExtends:a,explicitAs:p,nameOverride:u,scope:f,sourceArg:g,replay:n})}s(Zj,"runInstallLocked");async function _p(t,e,r,n){let{sync:o,dryRun:i,force:a,useExtends:l,all:c,explicitPath:m,explicitTarget:p,explicitAs:u,nameOverride:f}=H$(t),g=t.global===true?"global":"project",h=e[0]?.trim(),R;if(n===void 0){let{context:C}=await yt(r,g);R=await wf(C.canonicalDir);}try{return await Zj({args:e,projectRoot:r,replay:n,sync:o,dryRun:i,force:a,useExtends:l,all:c,explicitPath:m,explicitTarget:p,explicitAs:u,nameOverride:f,scope:g,sourceArg:h,recurseInstall:_p})}finally{await R?.();}}s(_p,"runInstall");async function Qj(t,e,r){return _p(t,e,r)}s(Qj,"runInstall");ot();function qj(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(", ");y.success(`Installed ${n}.`);}if(e.skipped.length>0)for(let r of e.skipped)y.warn(`Skipped ${r.kind} "${r.name}": ${r.reason}`);if(e.brokenResources&&e.brokenResources.length>0){let r=e.brokenResources.length;y.warn(`Skipped ${r} file${r>1?"s":""} with invalid frontmatter; see --json for details.`);}}}s(qj,"renderInstall");Yt();fn();ot();function tU(t){let e=new Set,r=new Set;for(let n of t)e.has(n)?r.add(n):e.add(n);return [...r]}s(tU,"detectDuplicates");function Bf(t,e,r,n){let o=[];r.keepGenerated&&o.push(`--keep-generated: target trees will not be re-rendered; generated files derived from "${t}" may remain stale until the next generate.`);let i=r.keepPack||e===null?null:join(r.packsDir,t);return {name:t,packDir:i,manifestEntry:e,extendsEntry:n.get(t)??null,removeGenerated:!r.keepGenerated,warnings:o}}s(Bf,"buildPlan");function eU(t){if(!t.all&&t.names.length===0)throw new Error("uninstall: must provide at least one name or pass --all.");let e=new Map;for(let a of t.extends)e.has(a.name)||e.set(a.name,a);let r=new Map;for(let a of t.installs)r.set(a.name,a);if(t.all){let a=t.installs.map(m=>m.name),l=tU(a);if(l.length>0)throw new Error(`uninstall --all: installs.yaml has duplicate names: ${l.join(", ")}. Manifest is corrupt; remove the duplicates before retrying.`);let c=t.installs.map(m=>Bf(m.name,m,t,e));for(let m of t.extends)r.has(m.name)||c.push(Bf(m.name,null,t,e));return {removals:c,skipped:[]}}let n=tU(t.names);if(n.length>0)throw new Error(`uninstall: duplicate names requested: ${n.join(", ")}.`);let o=[],i=[];for(let a of t.names){let l=r.get(a);if(l!==void 0){o.push(Bf(a,l,t,e));continue}if(e.has(a)){o.push(Bf(a,null,t,e));continue}i.push(a);}return {removals:o,skipped:i}}s(eU,"planUninstall");w();w();fc();async function rU(t,e){let r=join(t,hn);if(await $(r))return null;let n=await fi(t);if(n===null)throw new Error(`Cannot migrate legacy pack at ${t}: pack.yaml is missing or invalid; cannot recover install provenance.`);let o=await Gf(t),i={name:n.name,source:n.source,installed_at:n.installed_at,extends_id:null,source_type:null,files:o};return e.dryRun!==true&&await I(r,`${JSON.stringify(i,null,2)}
356
+ `),e.warn(`Legacy pack "${n.name}" detected; generated baseline install manifest from current contents. Local modifications since install cannot be detected.`),{manifest:i,manifestPath:r}}s(rU,"migrateLegacyManifest");w();var d3=["pack.yaml",hn];function f3(t,e){return relative(t,e).replaceAll("\\","/")}s(f3,"toForwardSlashRelative");async function nU(t,e){let r=await Ya(t),n=new Map;for(let i of r){let a=f3(t,i);d3.includes(a)||n.set(a,i);}let o=[];for(let[i,a]of Object.entries(e)){let l=n.get(i);if(l===void 0){o.push({relativePath:i,status:"deleted"});continue}let c=await cf(l);if(c===null){o.push({relativePath:i,status:"deleted"});continue}`sha256:${c}`!==a&&o.push({relativePath:i,status:"modified"});}for(let i of n.keys())i in e||o.push({relativePath:i,status:"added"});return o.sort((i,a)=>i.relativePath<a.relativePath?-1:i.relativePath>a.relativePath?1:0),o}s(nU,"detectModifiedFiles");function oU(t,e){let r=e.modifications.length,n=r===1?"file":"files",o=[`Pack "${e.packName}" has ${r} locally modified ${n}:`];for(let i of e.modifications)o.push(` - ${i.relativePath} (${i.status})`);o.push(""),t.write(`${o.join(`
357
+ `)}
358
+ `);}s(oU,"writeBanner");async function sU(t,e,r){if(t.modifications.length===0)return {action:"proceed"};if(e.bypass)return oU(r,t),{action:"delete-anyway"};oU(r,t);let n=(await r.ask("Action: [d]elete anyway / [k]eep modified files (uninstall the rest) / [a]bort ")).trim().toLowerCase();return n==="d"?{action:"delete-anyway"}:n==="k"?{action:"keep-modified"}:{action:"abort"}}s(sU,"runModifiedFilesPrompt");async function g3(t){let e=await _(join(t,hn));if(e===null)return null;try{return JSON.parse(e).files??{}}catch{return null}}s(g3,"readManifestFiles");async function h3(t,e,r){if(t.manifestEntry===null)return {plan:t,modifications:[],action:"proceed",legacyMigrated:false,packDirMissing:false};let n=join(e,t.name);if(!await $(n))return r.warn(`Pack "${t.name}" directory missing at ${n}; only manifest entries will be removed.`),{plan:t,modifications:[],action:"proceed",legacyMigrated:false,packDirMissing:true};let o=await rU(n,{warn:r.warn,dryRun:r.dryRun===true}),i=o!==null,a=o!==null&&r.dryRun===true?o.manifest.files:await g3(n);if(a===null)return {plan:t,modifications:[],action:"proceed",legacyMigrated:i,packDirMissing:false};let l=await nU(n,a);if(r.keepPack||l.length===0)return {plan:t,modifications:l,action:"proceed",legacyMigrated:i,packDirMissing:false};let c=await sU({packName:t.name,modifications:l},{bypass:r.bypassPrompts},r.adapter);return c.action==="abort"?"abort":{plan:t,modifications:l,action:c.action,legacyMigrated:i,packDirMissing:false}}s(h3,"decideOne");async function aU(t,e,r){let n=[];for(let o of t){let i=await h3(o,e,r);if(i==="abort")return {decisions:n,aborted:true};n.push(i);}return {decisions:n,aborted:false}}s(aU,"gatherUninstallDecisions");w();w();async function lU(t,e,r){if(!e.extends.some(c=>c.name===r))return false;let n=await _(t);if(n===null)throw new Error(`Missing config: ${t}`);let o=parse(n),i=Array.isArray(o.extends)?o.extends:[],a=i.filter(c=>typeof c!="object"||c===null?true:c.name!==r);if(a.length===i.length)return false;o.extends=a;let l=stringify(o,{indent:2,lineWidth:0});return await I(t,l.endsWith(`
359
+ `)?l:`${l}
360
+ `),true}s(lU,"removeAgentsmeshExtendByName");async function cU(t){let{plan:e,canonicalDir:r,configPath:n,config:o}=t,i=false;e.packDir!==null&&await $(e.packDir)&&(await rm(e.packDir,{recursive:true}),i=true);let a=await Oj(r,e.name),l=false;e.extendsEntry!==null&&(l=await lU(n,o,e.name));let c=e.packDir!==null,m=e.manifestEntry!==null,p=e.extendsEntry!==null,u=c&&!i||m&&!a||p&&!l;return {name:e.name,packDirRemoved:i,manifestEntryRemoved:a,extendsEntryRemoved:l,partial:u}}s(cU,"applyUninstall");function C3(t,e){return relative(t,e).replaceAll("\\","/")}s(C3,"toForwardSlashRel");function WI(t){return t.map(e=>({name:e,reason:"not found in installs.yaml"}))}s(WI,"buildSkipped");function mU(t,e,r){return t.plan.manifestEntry===null?null:C3(e,join(r,t.plan.name))}s(mU,"packPathFor");function pU(t,e,r){return t.map(n=>({name:n.plan.name,pack_path:mU(n,e,r),manifest_entry_removed:false,extends_entry_removed:false,generated_files_removed:0,modified_files_kept:n.modifications.map(o=>({relativePath:o.relativePath,status:o.status})),legacy_migrated:n.legacyMigrated,partial:n.action==="keep-modified"||n.plan.packDir===null}))}s(pU,"previewEntries");function uU(t,e,r,n){let o=t.action==="keep-modified"||!e.packDirRemoved;return {name:e.name,pack_path:mU(t,r,n),manifest_entry_removed:e.manifestEntryRemoved,extends_entry_removed:e.extendsEntryRemoved,generated_files_removed:0,modified_files_kept:o?t.modifications.map(i=>({relativePath:i.relativePath,status:i.status})):[],legacy_migrated:t.legacyMigrated,partial:e.partial}}s(uU,"appliedEntry");function k3(t){let e=[];for(let r of t)for(let n of r.split(",").map(o=>o.trim()).filter(Boolean))e.push(n);return e}s(k3,"parseNames");function E3(){return {ask:s(t=>Uf(t),"ask"),write:s(t=>process.stdout.write(t),"write")}}s(E3,"defaultAdapter");async function Kf(t,e,r,n={}){let o=t.global===true?"global":"project",i=t.all===true,a=t.force===true,l=t["dry-run"]===true,c=t["keep-pack"]===true,m=t["keep-generated"]===true,p=n.assumeTty===true||process.stdin.isTTY,u=k3(e),f=t.json===true;function g(S){return f||y.error(S),{exitCode:1,data:{scope:o,mode:"uninstall",removed:[],skipped:[],failed:[],dryRun:l}}}if(s(g,"validationFailure"),!i&&u.length===0)return g("Missing install name. Usage: agentsmesh uninstall <name>[,<name>...] [--all]");if(!p&&!a&&!l)return g("Non-interactive terminal: use --force or --dry-run for agentsmesh uninstall.");let{config:h,context:R}=await yt(r,o);await Wt(h,r);let C=await wf(R.canonicalDir);try{let S=await ho(R.canonicalDir),k=join(R.canonicalDir,"packs"),P=eU({names:u,all:i,keepPack:c,keepGenerated:m,installs:S,extends:h.extends,packsDir:k}),{decisions:N,aborted:F}=await aU(P.removals,k,{adapter:n.promptAdapter??E3(),warn:s(at=>y.warn(at),"warn"),bypassPrompts:a||l||!p,keepPack:c,dryRun:l});if(F)return y.warn("Uninstall aborted at modification prompt."),{exitCode:130,data:{scope:o,mode:"uninstall",removed:[],skipped:[],failed:[],dryRun:l}};for(let at of P.removals)for(let At of at.warnings)y.warn(At);if(l){for(let at of N)y.info(`[dry-run] Would uninstall pack "${at.plan.name}".`);return {exitCode:0,data:{scope:o,mode:"uninstall",removed:pU(N,R.rootBase,k),skipped:WI(P.skipped),failed:[],dryRun:!0}}}let W=join(R.configDir,"agentsmesh.yaml"),z=[],Q=[];for(let at of N){let At=at.action==="keep-modified"?{...at.plan,packDir:null}:at.plan;try{let wt=await cU({plan:At,canonicalDir:R.canonicalDir,configPath:W,config:h});z.push(uU(at,wt,R.rootBase,k));}catch(wt){let oe=wt instanceof Error?wt.message:String(wt);Q.push({name:at.plan.name,reason:oe}),f||y.error(`Failed to uninstall "${at.plan.name}": ${oe}`);}}return !m&&z.length>0?await vf("uninstall",o,R.rootBase):m&&z.length>0&&y.warn("--keep-generated: target files derived from the removed pack(s) may be stale until the next generate."),{exitCode:Q.length>0?1:0,data:{scope:o,mode:"uninstall",removed:z,skipped:WI(P.skipped),failed:Q,dryRun:!1}}}finally{await C();}}s(Kf,"runUninstall");async function fU(t,e,r){return Kf(t,e,r)}s(fU,"runUninstall");ot();function gU(t){let{data:e}=t;if(e.dryRun){if(e.removed.length===0){y.info("[dry-run] No installs matched.");return}y.info(`[dry-run] Would uninstall ${e.removed.length} pack(s):`);for(let r of e.removed){let n=r.pack_path===null?"extends-only":r.pack_path;y.info(` - ${r.name} (${n})`);}return}if(e.removed.length>0){let r=e.removed.map(n=>`"${n.name}"`).join(", ");y.success(`Uninstalled ${e.removed.length} pack(s): ${r}.`);}for(let r of e.skipped)y.warn(`Skipped "${r.name}": ${r.reason}`);for(let r of e.failed)y.error(`Failed "${r.name}": ${r.reason}`);}s(gU,"renderUninstall");Yt();w();fc();async function O3(t){let e=await _(join(t,hn));if(e===null)return {installed_at:null,source_type:null};try{let r=JSON.parse(e);return {installed_at:typeof r.installed_at=="string"?r.installed_at:null,source_type:typeof r.source_type=="string"?r.source_type:null}}catch{return {installed_at:null,source_type:null}}}s(O3,"readPackManifestMeta");function A3(t,e){return relative(t,e).replaceAll("\\","/")}s(A3,"toForwardSlashRel");async function Wf(t,e){let r=t.global===true?"global":"project",n=Ei(e,r),o=await ho(n.canonicalDir),i=join(n.canonicalDir,"packs"),a=[];for(let l of o){let c=join(i,l.name),m=await O3(c),p=await fi(c);a.push({name:l.name,source:l.source,source_kind:l.source_kind,source_type:m.source_type,version:l.version??null,features:[...l.features],target:l.target??null,installed_at:m.installed_at,pack_path:A3(n.rootBase,c),license:p?.license??null});}return {exitCode:0,data:{scope:r,subcommand:"list",installs:a}}}s(Wf,"runInstallsList");var w3=["list"];function hU(t){return {scope:t,subcommand:"list",installs:[]}}s(hU,"emptyData");async function yU(t,e,r){let n=t.global===true?"global":"project",o=e[0];return o===void 0||o===""?{exitCode:0,data:hU(n),showHelp:true}:o==="list"?Wf(t,r):{exitCode:2,data:hU(n),showHelp:true,error:`Unknown installs subcommand: "${o}". Available: ${w3.join(", ")}. Did you mean \`agentsmesh install ${o}\`?`}}s(yU,"runInstalls");ot();var Hf=[{key:"name",label:"NAME"},{key:"source",label:"SOURCE"},{key:"features",label:"FEATURES"},{key:"license",label:"LICENSE"},{key:"installed",label:"INSTALLED"}];function b3(t){return {name:t.name,source:t.source,features:t.features.join(", "),license:t.license??"-",installed:t.installed_at?t.installed_at.slice(0,10):"-"}}s(b3,"toRow");function P3(t){let e={name:0,source:0,features:0,license:0,installed:0};for(let n of Hf)e[n.key]=n.label.length;for(let n of t)for(let o of Hf)e[o.key]=Math.max(e[o.key],n[o.key].length);let r=Hf.map(n=>n.label.padEnd(e[n.key])).join(" ");y.info(r);for(let n of t)y.info(Hf.map(o=>n[o.key].padEnd(e[o.key])).join(" "));}s(P3,"renderTable");function _U(t){if(t.error&&y.error(t.error),t.showHelp){Lp("installs");return}let{data:e}=t;if(e.installs.length===0){y.info("No installed packs.");return}P3(e.installs.map(b3));}s(_U,"renderInstalls");BR();w();var JI="agentsmesh.yaml";async function YI(t){let e=join(t,JI),r=await _(e);return r===null?{}:parse(r)??{}}s(YI,"readScopedConfigRaw");async function IU(t,e){let r=join(t,JI),n=await _(r)??`version: 1
361
+ `,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 I(r,stringify(o));}s(IU,"writePluginEntry");async function SU(t,e){let r=join(t,JI),n=await _(r);if(n===null)return false;let o=parse(n)??{},i=(o.plugins??[]).length;o.plugins=(o.plugins??[]).filter(l=>l.id!==e),o.pluginTargets&&(o.pluginTargets=o.pluginTargets.filter(l=>l!==e));let a=o.plugins.length<i;return a&&await I(r,stringify(o)),a}s(SU,"removePluginEntry");async function CU(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 T3(t,e.slice(1),r);case "list":return x3(r);case "remove":return D3(e.slice(1),r);case "info":return N3(e.slice(1),r);default:return {exitCode:2,data:{subcommand:"list",plugins:[]},showHelp:true,error:`Unknown plugin subcommand: ${n}`}}}s(CU,"runPlugin");async function T3(t,e,r){let n=e[0];if(!n)throw new yn("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)??F3(n);return await IU(r,{id:a,source:n,version:o==="latest"?void 0:o}),{exitCode:0,data:{subcommand:"add",id:a,package:n,version:o}}}s(T3,"runPluginAdd");async function x3(t){let r=(await YI(t)).plugins??[],n=[];for(let o of r){let i="\u2717",a="";try{let l=await _f(o,t);i=l.descriptors.length>0?"\u2713":"\u2713 (0 descriptors)",a=l.descriptors.map(c=>c.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(x3,"runPluginList");async function D3(t,e){let r=t[0];if(!r)throw new yn("Usage: agentsmesh plugin remove <id>");let n=await SU(e,r);return {exitCode:0,data:{subcommand:"remove",id:r,found:n}}}s(D3,"runPluginRemove");async function N3(t,e){let r=t[0];if(!r)throw new yn("Usage: agentsmesh plugin info <id>");let o=((await YI(e)).plugins??[]).find(l=>l.id===r);if(!o)return {exitCode:1,data:{subcommand:"info",id:r,package:"",descriptors:[]}};let i;try{i=await _f(o,e);}catch{return {exitCode:1,data:{subcommand:"info",id:r,package:o.source,version:o.version,descriptors:[]}}}let a=i.descriptors.map(l=>({id:l.id,description:l.emptyImportMessage}));return {exitCode:0,data:{subcommand:"info",id:r,package:o.source,version:o.version,descriptors:a}}}s(N3,"runPluginInfo");function F3(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(F3,"derivePluginId");ot();function kU(t){if(t.error&&y.error(t.error),t.showHelp){j3();return}let{data:e}=t;switch(e.subcommand){case "add":v3(e.id,e.package,e.version);break;case "list":M3(e.plugins);break;case "remove":$3(e.id,e.found);break;case "info":G3(e,t.exitCode);break}}s(kU,"renderPlugin");function v3(t,e,r){y.success(`Plugin '${t}' added to agentsmesh.yaml`),y.warn("Plugins load as trusted Node.js modules and run with full process privileges. Only install plugins from sources you trust.");let n=r!=="latest"?`@${r}`:"@latest";y.info(`Next: npm install ${e}${n}`),y.info(`Then add '${t}' to pluginTargets in agentsmesh.yaml to enable it.`);}s(v3,"renderAdd");function M3(t){if(t.length===0){y.info("No plugins configured. Use: agentsmesh plugin add <source>");return}y.info("Configured plugins:");for(let e of t){let r=e.version!==void 0?`@${e.version}`:"",n=e.status??"",o=e.targets??"";y.info(` ${e.id} | ${e.package}${r} | ${n} | ${o}`);}}s(M3,"renderList");function $3(t,e){e?y.success(`Plugin '${t}' removed from agentsmesh.yaml`):y.warn(`Plugin '${t}' was not found in agentsmesh.yaml`);}s($3,"renderRemove");function G3(t,e){if(e!==0&&t.package===""){y.error(`Plugin '${t.id}' not found in agentsmesh.yaml. Use: agentsmesh plugin add`);return}if(e!==0){y.error(`Failed to load plugin '${t.id}'`);return}y.info(`Plugin: ${t.id}`),y.info(`Source: ${t.package}${t.version!==void 0?`@${t.version}`:""}`),y.info(`Descriptors: ${t.descriptors.length}`);for(let r of t.descriptors)y.info(` - ${r.id}: ${r.description}`);}s(G3,"renderInfo");function j3(){y.info("Usage: agentsmesh plugin <subcommand> [args] [flags]"),y.info(""),y.info("Subcommands:"),y.info(" add <source> Register a plugin package in agentsmesh.yaml"),y.info(" list Show all configured plugins and load status"),y.info(" remove <id> Remove a plugin from agentsmesh.yaml"),y.info(" info <id> Show descriptor details for a configured plugin"),y.info(""),y.info("Flags (add):"),y.info(" --version <v> Pin plugin version"),y.info(" --id <id> Override derived plugin id"),y.info(""),y.info("Note: plugins load as trusted Node.js modules and run with full process privileges."),y.info(" Only install plugins from sources you trust.");}s(j3,"printPluginHelp");w();Rn();function yi(t){return t.toUpperCase().replace(/-/g,"_")}s(yi,"toPrefix");function Rs(t){return t.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join("")}s(Rs,"toPascal");function XI(t){let e=yi(t.id),r=Rs(t.id);return `import type { TargetGenerators } from '../catalog/target.interface.js';
330
362
  import type { TargetDescriptor, TargetLayout } from '../catalog/target-descriptor.js';
331
363
  import { generateRules } from './generator.js';
332
364
  import { importFrom${r} } from './importer.js';
@@ -429,7 +461,7 @@ export const descriptor = {
429
461
  buildImportPaths: build${r}ImportPaths,
430
462
  detectionPaths: [${e}_DIR],
431
463
  } satisfies TargetDescriptor;
432
- `}s(HI,"TEMPLATE_INDEX");function zI(t){return `import { describe, it, expect } from 'vitest';
464
+ `}s(XI,"TEMPLATE_INDEX");function ZI(t){return `import { describe, it, expect } from 'vitest';
433
465
  import type { CanonicalFiles } from '../../../../src/core/types.js';
434
466
  import { generateRules } from '../../../../src/targets/${t.id}/generator.js';
435
467
 
@@ -458,7 +490,7 @@ describe('generateRules (${t.id})', () => {
458
490
  expect(result).toHaveLength(0);
459
491
  });
460
492
  });
461
- `}s(zI,"TEMPLATE_GENERATOR_TEST");function VI(t){let e=ps(t.id);return `import { describe, it, expect } from 'vitest';
493
+ `}s(ZI,"TEMPLATE_GENERATOR_TEST");function QI(t){let e=Rs(t.id);return `import { describe, it, expect } from 'vitest';
462
494
  import { importFrom${e} } from '../../../../src/targets/${t.id}/importer.js';
463
495
 
464
496
  describe('importFrom${e} (${t.id})', () => {
@@ -472,10 +504,10 @@ describe('importFrom${e} (${t.id})', () => {
472
504
  expect(result).toHaveLength(0);
473
505
  });
474
506
  });
475
- `}s(VI,"TEMPLATE_IMPORTER_TEST");function JI(t){return `# ${t.displayName} Workspace
507
+ `}s(QI,"TEMPLATE_IMPORTER_TEST");function qI(t){return `# ${t.displayName} Workspace
476
508
 
477
509
  Follow the ${t.displayName} configuration files and keep changes small.
478
- `}s(JI,"TEMPLATE_FIXTURE_ROOT_MD");function dM(t){let e=ii(t.id);return `export const ${e}_TARGET = '${t.id}';
510
+ `}s(qI,"TEMPLATE_FIXTURE_ROOT_MD");function EU(t){let e=yi(t.id);return `export const ${e}_TARGET = '${t.id}';
479
511
 
480
512
  // Project-level paths
481
513
  export const ${e}_DIR = '.${t.id}';
@@ -488,21 +520,21 @@ export const ${e}_GLOBAL_RULES_DIR = '~/.${t.id}/rules';
488
520
  // Canonical paths
489
521
  export const ${e}_CANONICAL_ROOT_RULE = '.agentsmesh/rules/_root.md';
490
522
  export const ${e}_CANONICAL_RULES_DIR = '.agentsmesh/rules';
491
- `}s(dM,"TEMPLATE_CONSTANTS");function gM(t){let e=ii(t.id);return `import type { CanonicalFiles } from '../../core/types.js';
523
+ `}s(EU,"TEMPLATE_CONSTANTS");function LU(t){let e=yi(t.id);return `import type { CanonicalFiles } from '../../core/types.js';
492
524
  import { ${e}_TARGET, ${e}_DIR } from './constants.js';
493
525
 
494
- export interface ${ps(t.id)}Output {
526
+ export interface ${Rs(t.id)}Output {
495
527
  path: string;
496
528
  content: string;
497
529
  }
498
530
 
499
- export function generateRules(_canonical: CanonicalFiles): ${ps(t.id)}Output[] {
531
+ export function generateRules(_canonical: CanonicalFiles): ${Rs(t.id)}Output[] {
500
532
  // TODO(agentsmesh-scaffold): implement generateRules for ${t.displayName}
501
533
  void ${e}_TARGET;
502
534
  void ${e}_DIR;
503
535
  return [];
504
536
  }
505
- `}s(gM,"TEMPLATE_GENERATOR");function fM(t){let e=ps(t.id),r=ii(t.id);return `import type { ImportResult } from '../../core/types.js';
537
+ `}s(LU,"TEMPLATE_GENERATOR");function OU(t){let e=Rs(t.id),r=yi(t.id);return `import type { ImportResult } from '../../core/types.js';
506
538
  import type { TargetLayoutScope } from '../catalog/target-descriptor.js';
507
539
  import { ${r}_TARGET } from './constants.js';
508
540
 
@@ -514,7 +546,7 @@ export async function importFrom${e}(
514
546
  void ${r}_TARGET;
515
547
  return [];
516
548
  }
517
- `}s(fM,"TEMPLATE_IMPORTER");function hM(t){let e=ii(t.id);return `/** Lint rules for the ${t.id} target. */
549
+ `}s(OU,"TEMPLATE_IMPORTER");function AU(t){let e=yi(t.id);return `/** Lint rules for the ${t.id} target. */
518
550
  import type { CanonicalFiles, LintDiagnostic } from '../../core/types.js';
519
551
  import { validateRules } from '../../core/lint/validate-rules.js';
520
552
  import { ${e}_TARGET } from './constants.js';
@@ -532,7 +564,7 @@ export function lintRules(
532
564
  target: ${e}_TARGET,
533
565
  }));
534
566
  }
535
- `}s(hM,"TEMPLATE_LINTER");function yM(t){return `/**
567
+ `}s(AU,"TEMPLATE_LINTER");function wU(t){return `/**
536
568
  * ${t.displayName}-specific lint hooks.
537
569
  */
538
570
 
@@ -542,7 +574,7 @@ export function lintHooks(_canonical: CanonicalFiles): LintDiagnostic[] {
542
574
  // TODO(agentsmesh-scaffold): implement target-specific hook validation for ${t.displayName}
543
575
  return [];
544
576
  }
545
- `}s(yM,"TEMPLATE_LINT_HOOKS");function _M(t){let e=ps(t.id),r=ii(t.id);return `import type { TargetLayoutScope } from '../../../targets/catalog/target-descriptor.js';
577
+ `}s(wU,"TEMPLATE_LINT_HOOKS");function bU(t){let e=Rs(t.id),r=yi(t.id);return `import type { TargetLayoutScope } from '../../../targets/catalog/target-descriptor.js';
546
578
  import { ${r}_DIR } from '../../../targets/${t.id}/constants.js';
547
579
 
548
580
  export async function build${e}ImportPaths(
@@ -554,14 +586,14 @@ export async function build${e}ImportPaths(
554
586
  // Reference: src/core/reference/import-maps/kiro.ts for a full example
555
587
  void ${r}_DIR;
556
588
  }
557
- `}s(_M,"TEMPLATE_IMPORT_MAP");var cX=/^[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(!cX.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:HI(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:zI(i)},{rel:`tests/unit/targets/${e}/importer.test.ts`,content:VI(i)},{rel:`tests/e2e/fixtures/${e}-project/AGENTS.md`,content:JI(i)}],c=[],l=[];for(let p of a){let d=join(r,p.rel);if(!o&&await j(d)){l.push(d);continue}await I(d,p.content),c.push(d);}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"?lX(t,e.slice(1),r):{exitCode:2,data:{id:"",written:[],skipped:[],postSteps:[]},showHelp:true,error:`Unknown target subcommand: ${o}`}}s(SM,"runTarget");async function lX(t,e,r){let o=e[0];if(!o)throw new co("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(lX,"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&&_.error(t.error),t.showHelp){mX();return}let{data:e}=t;for(let r of e.written)_.success(`created ${r}`);for(let r of e.skipped)_.warn(`skipped ${r} (already exists \u2014 use --force to overwrite)`);if(e.written.length>0){_.info(""),_.info("Next steps:");for(let r of e.postSteps)_.info(` ${r}`);}}s(CM,"renderTarget");function mX(){_.info("Usage: agentsmesh target <subcommand> [args] [flags]"),_.info(""),_.info("Subcommands:"),_.info(" scaffold <id> Generate a new target skeleton (files, tests, fixture)"),_.info(""),_.info("Flags (scaffold):"),_.info(" --name <displayName> Human-readable name (defaults to id)"),_.info(" --force Overwrite existing files");}s(mX,"printTargetHelp");je();yi();T();Oe();ms();pn();function _X(t,e){return t===".agentsmesh"?false:!!(t.startsWith(".")||!e)}s(_X,"shouldSymlink");function IX(t){let e=mkdtempSync(join(tmpdir(),"am-convert-")),r=readdirSync(t,{withFileTypes:true});for(let o of r){if(!_X(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(IX,"createTempProjectRoot");async function og(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=wr(c),p=wr(l);if(!m||!p)try{let{config:R}=await Tt(r,"project");await ce(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 d=ut(c);if(!d)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=IX(n);try{await d.generators.importFrom(O,{scope:o});let R=await Ae(O),E=pi.parse({version:1,targets:p?[l]:[],pluginTargets:p?[]:[l]}),A=await Or({config:E,canonical:R,projectRoot:n,scope:o,targetFilter:[l]});if(!f){for(let G of A)if(G.status==="created"||G.status==="updated"){let J=qc(n,G.path,G.target);await I(J,G.content);}}let F=A.filter(G=>G.status!=="skipped"),v=F.map(G=>({path:G.path,target:G.target,status:G.status}));return {exitCode:0,data:{from:c,to:l,mode:h,files:v,summary:{created:F.filter(G=>G.status==="created").length,updated:F.filter(G=>G.status==="updated").length,unchanged:F.filter(G=>G.status==="unchanged").length}}}}finally{rmSync(O,{recursive:true,force:true});}}s(og,"runConvert");ft();function EM(t){let{data:e}=t;if(e.files.length===0){_.info(`No files found to convert from ${e.from}.`);return}if(e.mode==="dry-run"){for(let i of e.files)_.info(`[dry-run] ${i.status} ${i.path} (${i.target})`);return}for(let i of e.files)(i.status==="created"||i.status==="updated")&&_.success(`${i.status} ${i.path}`);let{created:r,updated:o,unchanged:n}=e.summary;r>0||o>0?_.info(`Converted from ${e.from} \u2192 ${e.to}: ${r} created, ${o} updated, ${n} unchanged`):_.info(`Nothing changed. (${n} unchanged)`);}s(EM,"renderConvert");var RX=/(^|\s)\/[A-Za-z]|^[A-Z]:[\\/]/,B=class extends Error{static{s(this,"McpError");}code;details;constructor(e,r,o){if(RX.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 YI(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(YI,"safeWrite");var wX=/^---\r?\n([\s\S]*?)\r?\n---\r?\n\r?\n?([\s\S]*)$/;function ci(t){let e=wX.exec(t);return e?{frontmatter:parse(e[1]??"")??{},body:e[2]??""}:{frontmatter:{},body:t}}s(ci,"parseMd");function il(t,e){return Object.keys(t).length===0?e:`---
589
+ `}s(bU,"TEMPLATE_IMPORT_MAP");var B3=/^[a-z][a-z0-9-]*$/;async function PU(t){let{id:e,projectRoot:r,force:n=false}=t,o=t.displayName??e,i={id:e,displayName:o};if(!B3.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(Ft.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:EU(i)},{rel:`src/targets/${e}/index.ts`,content:XI(i)},{rel:`src/targets/${e}/generator.ts`,content:LU(i)},{rel:`src/targets/${e}/importer.ts`,content:OU(i)},{rel:`src/targets/${e}/linter.ts`,content:AU(i)},{rel:`src/targets/${e}/lint.ts`,content:wU(i)},{rel:`src/core/reference/import-maps/${e}.ts`,content:bU(i)},{rel:`tests/unit/targets/${e}/generator.test.ts`,content:ZI(i)},{rel:`tests/unit/targets/${e}/importer.test.ts`,content:QI(i)},{rel:`tests/e2e/fixtures/${e}-project/AGENTS.md`,content:qI(i)}],l=[],c=[];for(let p of a){let u=join(r,p.rel);if(!n&&await $(u)){c.push(u);continue}await I(u,p.content),l.push(u);}let m=["1. Run: pnpm catalog:generate (auto-discovers the new target \u2014 updates IDs, descriptors, and import-map barrel)",`2. Fill in TODO(agentsmesh-scaffold) markers in src/targets/${e}/`,`3. Run: pnpm typecheck && pnpm test -- tests/unit/targets/${e}`,"4. Run: pnpm schemas:generate && pnpm matrix:generate"];return {written:l,skipped:c,postSteps:m}}s(PU,"writeTargetScaffold");async function xU(t,e,r){let n=e[0];return n===void 0||n===""?{exitCode:0,data:{id:"",written:[],skipped:[],postSteps:[]},showHelp:true}:n==="scaffold"?K3(t,e.slice(1),r):{exitCode:2,data:{id:"",written:[],skipped:[],postSteps:[]},showHelp:true,error:`Unknown target subcommand: ${n}`}}s(xU,"runTarget");async function K3(t,e,r){let n=e[0];if(!n)throw new yn("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 PU({id:n,displayName:o,projectRoot:r,force:i});}catch(l){return {exitCode:1,data:{id:n,written:[],skipped:[],postSteps:[]},error:l instanceof Error?l.message:String(l)}}return {exitCode:0,data:{id:n,written:a.written.map(l=>TU(l,r)),skipped:a.skipped.map(l=>TU(l,r)),postSteps:a.postSteps}}}s(K3,"runScaffold");function TU(t,e){return (t.startsWith(e)?t.slice(e.length+1):t).replaceAll("\\","/")}s(TU,"relativize");ot();function DU(t){if(t.error&&y.error(t.error),t.showHelp){W3();return}let{data:e}=t;for(let r of e.written)y.success(`created ${r}`);for(let r of e.skipped)y.warn(`skipped ${r} (already exists \u2014 use --force to overwrite)`);if(e.written.length>0){y.info(""),y.info("Next steps:");for(let r of e.postSteps)y.info(` ${r}`);}}s(DU,"renderTarget");function W3(){y.info("Usage: agentsmesh target <subcommand> [args] [flags]"),y.info(""),y.info("Subcommands:"),y.info(" scaffold <id> Generate a new target skeleton (files, tests, fixture)"),y.info(""),y.info("Flags (scaffold):"),y.info(" --name <displayName> Human-readable name (defaults to id)"),y.info(" --force Overwrite existing files");}s(W3,"printTargetHelp");se();Ai();w();Yt();fn();Ro();function Q3(t,e){return t===".agentsmesh"?false:!!(t.startsWith(".")||!e)}s(Q3,"shouldSymlink");function q3(t){let e=mkdtempSync(join(tmpdir(),"am-convert-")),r=readdirSync(t,{withFileTypes:true});for(let n of r){if(!Q3(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(q3,"createTempProjectRoot");async function Vf(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 l=i.toLowerCase().trim(),c=a.toLowerCase().trim();if(l===c)throw new Error("--from and --to must be different targets.");let m=Pe(l),p=Pe(c);if(!m||!p)try{let{config:C}=await yt(r,"project");await Wt(C,r);}catch{let C=[];throw m||C.push(`--from "${i}"`),p||C.push(`--to "${a}"`),new Error(`Unknown ${C.join(" and ")}. Supported: ${Ft.join(", ")}.`)}let u=et(l);if(!u)throw new Error(`Unknown --from "${i}". Supported: ${Ft.join(", ")}.`);if(!et(c))throw new Error(`Unknown --to "${a}". Supported: ${Ft.join(", ")}.`);let g=t["dry-run"]===true,h=g?"dry-run":"convert",R=q3(o);try{await u.generators.importFrom(R,{scope:n});let C=await Ee(R),S=ki.parse({version:1,targets:p?[c]:[],pluginTargets:p?[]:[c]}),k=await Tr({config:S,canonical:C,projectRoot:o,scope:n,targetFilter:[c]});if(!g){for(let F of k)if(F.status==="created"||F.status==="updated"){let W=yc(o,F.path,F.target);await I(W,F.content);}}let P=k.filter(F=>F.status!=="skipped"),N=P.map(F=>({path:F.path,target:F.target,status:F.status}));return {exitCode:0,data:{from:l,to:c,mode:h,files:N,summary:{created:P.filter(F=>F.status==="created").length,updated:P.filter(F=>F.status==="updated").length,unchanged:P.filter(F=>F.status==="unchanged").length}}}}finally{rmSync(R,{recursive:true,force:true});}}s(Vf,"runConvert");ot();function NU(t){let{data:e}=t;if(e.files.length===0){y.info(`No files found to convert from ${e.from}.`);return}if(e.mode==="dry-run"){for(let i of e.files)y.info(`[dry-run] ${i.status} ${i.path} (${i.target})`);return}for(let i of e.files)(i.status==="created"||i.status==="updated")&&y.success(`${i.status} ${i.path}`);let{created:r,updated:n,unchanged:o}=e.summary;r>0||n>0?y.info(`Converted from ${e.from} \u2192 ${e.to}: ${r} created, ${n} updated, ${o} unchanged`):y.info(`Nothing changed. (${o} unchanged)`);}s(NU,"renderConvert");var t8=/(^|\s)\/[A-Za-z]|^[A-Z]:[\\/]/,G=class extends Error{static{s(this,"McpError");}code;details;constructor(e,r,n){if(t8.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 Jf(t){return t.replace(/(['"`])\/[^'"`\s]+\1/gu,"$1<redacted>$1").replace(/(['"`])[A-Z]:[\\/][^'"`\s]+\1/gu,"$1<redacted>$1").replace(/\/[A-Za-z][^\s'"`<>()]*/gu,"<redacted>").replace(/[A-Z]:[\\/][^\s'"`<>()]*/gu,"<redacted>")}s(Jf,"redactAbsolutePaths");async function tS(t){let e=resolve(t.projectRoot,".agentsmesh",t.feature),r=resolve(e,t.relativePath);if(!r.startsWith(e+sep)&&r!==e)throw new G("PATH_TRAVERSAL",`path escapes ${t.feature} directory`);if(Buffer.byteLength(t.content,"utf8")>1048576)throw new G("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(tS,"safeWrite");var l8=/^---\r?\n([\s\S]*?)\r?\n---\r?\n\r?\n?([\s\S]*)$/;function Ri(t){let e=l8.exec(t);if(!e)return {frontmatter:{},body:t};let[,r,n]=e;return {frontmatter:parse(r)??{},body:n}}s(Ri,"parseMd");function wc(t,e){return Object.keys(t).length===0?e:`---
558
590
  ${stringify(t).trimEnd()}
559
591
  ---
560
592
 
561
- ${e}`}s(il,"serializeMd");var DX=/^[a-zA-Z0-9_][a-zA-Z0-9_-]*$/,NX={rules:"_root"};function ng(t){if(!DX.test(t)||t.includes(".."))throw new B("INVALID_NAME",`invalid name: ${t}`)}s(ng,"checkName");function sg(t,e,r){return resolve(t,".agentsmesh",e,`${r}.md`)}s(sg,"pathFor");function al(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 d=p.replace(/\.md$/,""),g=await readFile(join(n(c.projectRoot),p),"utf8"),{frontmatter:f}=ci(g);m.push(o(d,f));}return m},async get(c,{name:l}){ng(l);let m=sg(c.projectRoot,e,l);try{let p=await readFile(m,"utf8"),{frontmatter:d,body:g}=ci(p);return {name:l,frontmatter:d,body:g}}catch(p){let d=p.code;throw d==="ENOENT"?new B("NOT_FOUND",`${e} "${l}" not found`):new B("IO_ERROR",`failed to read ${e}`,{errno:d})}},async create(c,{name:l,frontmatter:m,body:p,dry_run:d}){ng(l);let g=r.safeParse(m);if(!g.success)throw new B("VALIDATION_FAILED","invalid frontmatter",g.error.issues);let f=sg(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=il(m,p);return d===true?{path:f,written:false}:(await YI({projectRoot:c.projectRoot,feature:e,relativePath:`${l}.md`,content:O}),{path:f,written:true})},async update(c,{name:l,frontmatter:m,body:p,merge:d,dry_run:g}){ng(l);let f=sg(c.projectRoot,e,l),h;try{let F=await readFile(f,"utf8");h=ci(F);}catch(F){let v=F.code;throw v==="ENOENT"?new B("NOT_FOUND",`${e} "${l}" not found`):new B("IO_ERROR",`failed to read ${e}`,{errno:v})}let O=m===void 0?h.frontmatter:d===true?{...h.frontmatter,...m}:m,R=r.safeParse(O);if(!R.success)throw new B("VALIDATION_FAILED","invalid frontmatter",R.error.issues);let E=p!==void 0?p:h.body,A=il(O,E);return g===true?{path:f,written:false}:(await YI({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(ng(l),NX[e]===l&&m!==true)throw new B("PROTECTED_FILE",`${e} "${l}" requires force: true`);let d=sg(c.projectRoot,e,l);if(!await a(d))throw new B("NOT_FOUND",`${e} "${l}" not found`);return p===true?{path:d,deleted:false}:(await rm$1(d),{path:d,deleted:true})}}}s(al,"createCanonicalHandlers");var FX=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=al({feature:"rules",frontmatterSchema:FX,toSummary:s((t,e)=>({name:t,description:e.description??null,root:!!e.root,globs:e.globs??null,targets:e.targets??null}),"toSummary")});var vX=z$1.object({description:z$1.string().optional(),"allowed-tools":z$1.array(z$1.string()).optional()}).passthrough(),wM=al({feature:"commands",frontmatterSchema:vX,toSummary:s((t,e)=>({name:t,description:e.description??null,allowedTools:e["allowed-tools"]??null}),"toSummary")});var GX=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=al({feature:"agents",frontmatterSchema:GX,toSummary:s((t,e)=>({name:t,description:e.description??null,tools:e.tools??null,model:e.model??null}),"toSummary")});var MX=z$1.object({name:z$1.string().describe('Item name (e.g. "auth", "code-review")')}),$X=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")}),jX=z$1.object({}).strict();function ZI(t,e){let r=t==="rule"?"rules":t==="command"?"commands":"agents";return [{name:`list_${r}`,description:`List ${r} with summary metadata`,inputSchema:jX,handler:s(o=>e.list(o),"handler"),resourceUri:`agentsmesh://canonical/${r}`},{name:`get_${t}`,description:`Get a single ${t} by name`,inputSchema:MX,handler:s((o,n)=>e.get(o,n),"handler"),resourceUri:`agentsmesh://canonical/${r}/{name}`},{name:`create_${t}`,description:`Create a new ${t}`,inputSchema:$X,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(ZI,"canonicalTools");var bM=[...ZI("rule",kM),...ZI("command",wM),...ZI("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 VX=/^[a-zA-Z0-9_][a-zA-Z0-9_-]*$/,JX=/^[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(!VX.test(t))throw new B("INVALID_NAME",`invalid skill name: ${t}`)}s(Jm,"checkName");function tR(t){if(!JX.test(t)||t.includes("..")||t.includes("//"))throw new B("PATH_TRAVERSAL",`invalid supporting-file path: ${t}`)}s(tR,"checkSupportPath");async function cg(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(cg,"atomicWrite");var GM=s(t=>resolve(t,".agentsmesh/skills"),"skillsDir"),Ym=s((t,e)=>resolve(GM(t),e),"skillDir"),Aa={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=ci(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}=ci(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),tR(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(tR),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 cg(c,il(e.frontmatter,e.body));for(let[l,m]of Object.entries(i))await cg(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=ci(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(tR);let l=[],m=[];if(e.dry_run===true)return Object.entries(c).forEach(([p,d])=>(d===null?m:l).push(p)),{path:r,written:false,supportingFilesAffected:{written:l,deleted:m}};await cg(resolve(r,"SKILL.md"),il(n,a));for(let[p,d]of Object.entries(c)){let g=resolve(r,p);if(d===null)try{await rm$1(g),m.push(p);}catch{}else await cg(g,d),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 YX=z$1.object({}).strict(),XX=z$1.object({name:z$1.string().describe("Item name")}),MM=[{name:"list_skills",description:"List skills",inputSchema:YX,handler:s(t=>Aa.list(t),"handler"),resourceUri:"agentsmesh://canonical/skills"},{name:"get_skill",description:"Get one skill (frontmatter + body + supporting filenames)",inputSchema:XX,handler:s((t,e)=>Aa.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)=>Aa.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)=>Aa.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)=>Aa.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)=>Aa.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");pn();Rl();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 ll(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(ll,"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 Tr(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=pi.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 Tr(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 ll(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 Tr(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 ll(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 Tr(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 ll(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 ll(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 ll(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 ll(r,o.join(`
593
+ ${e}`}s(wc,"serializeMd");var d8=/^[a-zA-Z0-9_][a-zA-Z0-9_-]*$/,f8={rules:"_root"};function Yf(t){if(!d8.test(t)||t.includes(".."))throw new G("INVALID_NAME",`invalid name: ${t}`)}s(Yf,"checkName");function Xf(t,e,r){return resolve(t,".agentsmesh",e,`${r}.md`)}s(Xf,"pathFor");function bc(t){let{feature:e,frontmatterSchema:r,toSummary:n}=t,o=s(l=>resolve(l,".agentsmesh",e),"featureDir");async function i(l){try{return (await readdir(o(l),{withFileTypes:!0})).filter(m=>m.isFile()&&m.name.endsWith(".md")).map(m=>m.name)}catch{return []}}s(i,"listFiles");async function a(l){try{return await stat(l),!0}catch{return false}}return s(a,"exists"),{async list(l){let c=await i(l.projectRoot),m=[];for(let p of c){let u=p.replace(/\.md$/,""),f=await readFile(join(o(l.projectRoot),p),"utf8"),{frontmatter:g}=Ri(f);m.push(n(u,g));}return m},async get(l,{name:c}){Yf(c);let m=Xf(l.projectRoot,e,c);try{let p=await readFile(m,"utf8"),{frontmatter:u,body:f}=Ri(p);return {name:c,frontmatter:u,body:f}}catch(p){let u=p.code;throw u==="ENOENT"?new G("NOT_FOUND",`${e} "${c}" not found`):new G("IO_ERROR",`failed to read ${e}`,{errno:u})}},async create(l,{name:c,frontmatter:m,body:p,dry_run:u}){Yf(c);let f=r.safeParse(m);if(!f.success)throw new G("VALIDATION_FAILED","invalid frontmatter",f.error.issues);let g=Xf(l.projectRoot,e,c);if(await a(g))throw new G("ALREADY_EXISTS",`${e} "${c}" exists`);if((await i(l.projectRoot)).length>=1e3)throw new G("LIMIT_EXCEEDED",`${e} dir at ${1e3} entries`);let R=wc(m,p);return u===true?{path:g,written:false}:(await tS({projectRoot:l.projectRoot,feature:e,relativePath:`${c}.md`,content:R}),{path:g,written:true})},async update(l,{name:c,frontmatter:m,body:p,merge:u,dry_run:f}){Yf(c);let g=Xf(l.projectRoot,e,c),h;try{let P=await readFile(g,"utf8");h=Ri(P);}catch(P){let N=P.code;throw N==="ENOENT"?new G("NOT_FOUND",`${e} "${c}" not found`):new G("IO_ERROR",`failed to read ${e}`,{errno:N})}let R=m===void 0?h.frontmatter:u===true?{...h.frontmatter,...m}:m,C=r.safeParse(R);if(!C.success)throw new G("VALIDATION_FAILED","invalid frontmatter",C.error.issues);let S=p!==void 0?p:h.body,k=wc(R,S);return f===true?{path:g,written:false}:(await tS({projectRoot:l.projectRoot,feature:e,relativePath:`${c}.md`,content:k}),{path:g,written:true})},async delete(l,{name:c,force:m,dry_run:p}){if(Yf(c),f8[e]===c&&m!==true)throw new G("PROTECTED_FILE",`${e} "${c}" requires force: true`);let u=Xf(l.projectRoot,e,c);if(!await a(u))throw new G("NOT_FOUND",`${e} "${c}" not found`);return p===true?{path:u,deleted:false}:(await rm(u),{path:u,deleted:true})}}}s(bc,"createCanonicalHandlers");var g8=z.object({description:z.string().optional(),root:z.boolean().optional(),globs:z.array(z.string()).nullable().optional(),targets:z.array(z.string()).nullable().optional()}).passthrough(),MU=bc({feature:"rules",frontmatterSchema:g8,toSummary:s((t,e)=>({name:t,description:e.description??null,root:!!e.root,globs:e.globs??null,targets:e.targets??null}),"toSummary")});var h8=z.object({description:z.string().optional(),"allowed-tools":z.array(z.string()).optional()}).passthrough(),$U=bc({feature:"commands",frontmatterSchema:h8,toSummary:s((t,e)=>({name:t,description:e.description??null,allowedTools:e["allowed-tools"]??null}),"toSummary")});var y8=z.object({name:z.string().optional(),description:z.string().optional(),tools:z.array(z.string()).optional(),model:z.string().optional()}).passthrough(),GU=bc({feature:"agents",frontmatterSchema:y8,toSummary:s((t,e)=>({name:t,description:e.description??null,tools:e.tools??null,model:e.model??null}),"toSummary")});var _8=z.object({name:z.string().describe('Item name (e.g. "auth", "code-review")')}),R8=z.object({name:z.string().describe('Item name (e.g. "auth", "code-review")'),frontmatter:z.record(z.string(),z.unknown()).describe("YAML frontmatter fields (e.g. { description, globs, targets })"),body:z.string().describe("Markdown body content"),dry_run:z.boolean().optional().describe("Preview changes without writing to disk")}),I8=z.object({}).strict();function rS(t,e){let r=t==="rule"?"rules":t==="command"?"commands":"agents";return [{name:`list_${r}`,description:`List ${r} with summary metadata`,inputSchema:I8,handler:s(n=>e.list(n),"handler"),resourceUri:`agentsmesh://canonical/${r}`},{name:`get_${t}`,description:`Get a single ${t} by name`,inputSchema:_8,handler:s((n,o)=>e.get(n,o),"handler"),resourceUri:`agentsmesh://canonical/${r}/{name}`},{name:`create_${t}`,description:`Create a new ${t}`,inputSchema:R8,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.object({name:z.string().describe("Name of the item to update"),frontmatter:z.record(z.string(),z.unknown()).optional().describe("New frontmatter fields (replaces by default; set merge=true to shallow-merge)"),body:z.string().optional().describe("New markdown body (omit to preserve existing)"),merge:z.boolean().optional().describe("If true, shallow-merge frontmatter instead of replacing"),dry_run:z.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.object({name:z.string().describe("Name of the item to delete"),force:z.boolean().optional().describe("Required to delete protected files like _root"),dry_run:z.boolean().optional().describe("Preview without deleting")}),handler:s((n,o)=>e.delete(n,o),"handler")}]}s(rS,"canonicalTools");var jU=[...rS("rule",MU),...rS("command",$U),...rS("agent",GU)];async function BU(t){let e=resolve(t.projectRoot,".agentsmesh/skills",t.skillName),r=resolve(e,t.filePath);if(!r.startsWith(e+sep)&&r!==e)throw new G("PATH_TRAVERSAL","file escapes skill directory");try{return await readFile(r,"utf8")}catch(n){throw n.code==="ENOENT"?new G("NOT_FOUND",`skill file not found: ${t.filePath}`):new G("IO_ERROR","failed to read skill file")}}s(BU,"safeRead");var A8=/^[a-zA-Z0-9_][a-zA-Z0-9_-]*$/,w8=/^[a-zA-Z0-9_][a-zA-Z0-9_/-]*\.[a-zA-Z0-9]+$/,zU=z.object({name:z.string().optional(),description:z.string().optional()}).passthrough();function Rp(t){if(!A8.test(t))throw new G("INVALID_NAME",`invalid skill name: ${t}`)}s(Rp,"checkName");function sS(t){if(!w8.test(t)||t.includes("..")||t.includes("//"))throw new G("PATH_TRAVERSAL",`invalid supporting-file path: ${t}`)}s(sS,"checkSupportPath");async function qf(t,e){if(Buffer.byteLength(e,"utf8")>1048576)throw new G("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(qf,"atomicWrite");var VU=s(t=>resolve(t,".agentsmesh/skills"),"skillsDir"),Ip=s((t,e)=>resolve(VU(t),e),"skillDir"),$a={async list(t){let e;try{e=(await readdir(VU(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(Ip(t.projectRoot,n),"SKILL.md"),"utf8"),i=Ri(o).frontmatter;r.push({name:n,description:i.description??null});}catch{}return r},async get(t,{name:e}){Rp(e);let r=Ip(t.projectRoot,e);try{let n=await readFile(resolve(r,"SKILL.md"),"utf8"),{frontmatter:o,body:i}=Ri(n),l=(await readdir(r)).filter(c=>c!=="SKILL.md").sort();return {name:e,frontmatter:o,body:i,supportingFiles:l}}catch(n){throw n.code==="ENOENT"?new G("NOT_FOUND",`skill "${e}" not found`):new G("IO_ERROR","failed to read skill")}},async getFile(t,{name:e,path:r}){return Rp(e),sS(r),{content:await BU({projectRoot:t.projectRoot,skillName:e,filePath:r}),encoding:"utf-8"}},async create(t,e){Rp(e.name);let r=zU.safeParse(e.frontmatter);if(!r.success)throw new G("VALIDATION_FAILED","invalid frontmatter",r.error.issues);let n=Ip(t.projectRoot,e.name),o=false;try{await stat(n),o=!0;}catch{}if(o)throw new G("ALREADY_EXISTS",`skill "${e.name}" exists`);let i=e.supportingFiles??{},a=Object.keys(i);if(a.forEach(sS),a.length+1>1e3)throw new G("LIMIT_EXCEEDED","supporting files exceed cap");if(e.dry_run===true)return {path:n,written:false,supportingFilesWritten:[]};let l=resolve(n,"SKILL.md");await qf(l,wc(e.frontmatter,e.body));for(let[c,m]of Object.entries(i))await qf(resolve(n,c),m);return {path:n,written:true,supportingFilesWritten:a}},async update(t,e){Rp(e.name);let r=Ip(t.projectRoot,e.name),n;try{let p=await readFile(resolve(r,"SKILL.md"),"utf8");n=Ri(p);}catch(p){throw p.code==="ENOENT"?new G("NOT_FOUND",`skill "${e.name}" not found`):new G("IO_ERROR","failed to read skill")}let o=e.frontmatter===void 0?n.frontmatter:e.merge===true?{...n.frontmatter,...e.frontmatter}:e.frontmatter,i=zU.safeParse(o);if(!i.success)throw new G("VALIDATION_FAILED","invalid frontmatter",i.error.issues);let a=e.body!==void 0?e.body:n.body,l=e.supportingFiles??{};Object.keys(l).forEach(sS);let c=[],m=[];if(e.dry_run===true)return Object.entries(l).forEach(([p,u])=>(u===null?m:c).push(p)),{path:r,written:false,supportingFilesAffected:{written:c,deleted:m}};await qf(resolve(r,"SKILL.md"),wc(o,a));for(let[p,u]of Object.entries(l)){let f=resolve(r,p);if(u===null)try{await rm(f),m.push(p);}catch{}else await qf(f,u),c.push(p);}return {path:r,written:true,supportingFilesAffected:{written:c,deleted:m}}},async delete(t,{name:e,dry_run:r}){Rp(e);let n=Ip(t.projectRoot,e);try{await stat(n);}catch{throw new G("NOT_FOUND",`skill "${e}" not found`)}return r===true?{path:n,deleted:false}:(await rm(n,{recursive:true}),{path:n,deleted:true})}};var b8=z.object({}).strict(),P8=z.object({name:z.string().describe("Item name")}),JU=[{name:"list_skills",description:"List skills",inputSchema:b8,handler:s(t=>$a.list(t),"handler"),resourceUri:"agentsmesh://canonical/skills"},{name:"get_skill",description:"Get one skill (frontmatter + body + supporting filenames)",inputSchema:P8,handler:s((t,e)=>$a.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.object({name:z.string().describe("Skill name"),path:z.string().describe('Relative path within the skill directory (e.g. "helper.md")')}),handler:s((t,e)=>$a.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.object({name:z.string().describe("Skill name (becomes directory name)"),frontmatter:z.record(z.string(),z.unknown()).describe("YAML frontmatter for SKILL.md"),body:z.string().describe("Markdown body for SKILL.md"),supportingFiles:z.record(z.string(),z.string()).optional().describe("Map of relative-path \u2192 content for supporting files"),dry_run:z.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>$a.create(t,e),"handler")},{name:"update_skill",description:"Update a skill. supportingFiles: string value writes/replaces, null deletes, unlisted files are untouched.",inputSchema:z.object({name:z.string().describe("Skill name"),frontmatter:z.record(z.string(),z.unknown()).optional().describe("New frontmatter (replaces by default; merge=true to shallow-merge)"),body:z.string().optional().describe("New body (omit to preserve existing)"),merge:z.boolean().optional().describe("Shallow-merge frontmatter instead of replacing"),supportingFiles:z.record(z.string(),z.union([z.string(),z.null()])).optional().describe("Map of path \u2192 content (string=write, null=delete, absent=keep)"),dry_run:z.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>$a.update(t,e),"handler")},{name:"delete_skill",description:"Delete a skill",inputSchema:z.object({name:z.string(),dry_run:z.boolean().optional()}),handler:s((t,e)=>$a.delete(t,e),"handler")}];async function YU(t){if(t.filename!==void 0&&t.filename!=="agentsmesh.yaml")throw new G("PATH_TRAVERSAL","only agentsmesh.yaml is writable");if(Buffer.byteLength(t.content,"utf8")>1048576)throw new G("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(YU,"safeConfigWrite");Ro();zc();async function Sp(t){try{return parse(await readFile(t,"utf8"))}catch(e){if(e.code==="ENOENT")return null;throw new G("IO_ERROR","failed to read yaml")}}s(Sp,"readYaml");async function Tc(t,e){if(Buffer.byteLength(e,"utf8")>1048576)throw new G("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(Tc,"atomicWrite");var Xe={async getConfig(t){let e=await Sp(resolve(t.projectRoot,"agentsmesh.yaml"));if(e===null)throw new G("NO_PROJECT","agentsmesh.yaml missing");return e},async listMcpServers(t){let e=resolve(t.projectRoot,".agentsmesh/mcp.json");try{return {servers:(await vr(e))?.mcpServers??null}}catch{return {servers:null}}},async getPermissions(t){return await Sp(resolve(t.projectRoot,".agentsmesh/permissions.yaml"))??null},async getHooks(t){return await Sp(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 Sp(resolve(t.projectRoot,"agentsmesh.yaml"))??{},n={...r},o=s((c,m)=>{m!==void 0&&(n[c]=e.merge===true&&Array.isArray(r[c])?Array.from(new Set([...r[c],...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=ki.safeParse(n);if(!i.success)throw new G("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 YU({projectRoot:t.projectRoot,content:a,filename:e.filename}),written:true}},async addMcpServer(t,e){let r=resolve(t.projectRoot,".agentsmesh/mcp.json"),n=await vr(r).catch(()=>null)??{mcpServers:{}};if(n.mcpServers[e.name]!==void 0)throw new G("ALREADY_EXISTS",`server "${e.name}" exists`);return n.mcpServers[e.name]=e.server,e.dry_run===true?{path:r,written:false}:(await Tc(r,JSON.stringify(n,null,2)+`
594
+ `),{path:r,written:true})},async updateMcpServer(t,e){let r=resolve(t.projectRoot,".agentsmesh/mcp.json"),n=await vr(r).catch(()=>null);if(n===null||n.mcpServers[e.name]===void 0)throw new G("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 Tc(r,JSON.stringify(n,null,2)+`
595
+ `),{path:r,written:true})},async removeMcpServer(t,e){let r=resolve(t.projectRoot,".agentsmesh/mcp.json"),n=await vr(r).catch(()=>null);if(n===null||n.mcpServers[e.name]===void 0)throw new G("NOT_FOUND",`server "${e.name}" not found`);return delete n.mcpServers[e.name],e.dry_run===true?{path:r,removed:false}:(await Tc(r,JSON.stringify(n,null,2)+`
596
+ `),{path:r,removed:true})},async updatePermissions(t,e){let r=resolve(t.projectRoot,".agentsmesh/permissions.yaml"),n=await Sp(r)??{allow:[],deny:[],ask:[]},o={...n},i=s((a,l)=>{l!==void 0&&(o[a]=e.mode==="append"?Array.from(new Set([...n[a]??[],...l])):l);},"apply");return i("allow",e.allow),i("deny",e.deny),i("ask",e.ask),e.dry_run===true?{path:r,written:false}:(await Tc(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 Tc(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 Tc(r,n.join(`
565
597
  `)+`
566
- `),{path:r,written:true})}};var u2=/[;&|`$<>!\\\r\n]/u,d2=/^[A-Za-z_][A-Za-z0-9_]*$/u,g2=/^[A-Za-z][A-Za-z0-9_-]*$/u,f2=/^[A-Za-z][A-Za-z0-9_-]*(\([^)]*\))?$/u,KM=/[\r\n]/u;function h2(t){return z$1.string().min(1).max(512).refine(e=>!u2.test(e),{message:`${t} must not contain shell metacharacters (;&|\`$<>!\\\\, newlines)`})}s(h2,"noShellMeta");var oR=z$1.object({type:z$1.enum(["stdio","sse","http","streamable-http","streamable_http"]).optional(),description:z$1.string().max(1024).optional(),command:h2("command").optional(),args:z$1.array(z$1.string().max(2048)).max(100).optional(),env:z$1.record(z$1.string().regex(d2,"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(g2,"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(),y2=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"}),_2=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"}),I2=z$1.object({matcher:BM,hooks:z$1.array(y2).min(1).max(50)}).strict(),R2=z$1.union([_2,I2]),WM=z$1.record(z$1.string().min(1).max(64),z$1.array(R2).max(100)),S2=z$1.string().min(1).max(256).refine(t=>!KM.test(t),{message:"permission pattern must not contain newlines"}).refine(t=>f2.test(t),{message:"permission pattern must match Tool or Tool(matcher) form"}),mg=z$1.array(S2).max(500);var Zm=z$1.object({}).strict(),C2=[{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"}],E2=[{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:oR.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:oR,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:mg.optional().describe('Allowed tool patterns (e.g. ["Bash(npm run:*)"])'),deny:mg.optional().describe("Denied tool patterns"),ask:mg.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=[...C2,...E2];X_();mo();function O2(){return Object.fromEntries(kt.map(t=>[t,Object.fromEntries(Object.entries(fv).map(([e,r])=>[e,r[t]]))]))}s(O2,"buildTargetIndex");var zM=O2(),nR={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}}};mn();mn();rp();Oe();sn();ms();je();mo();async function sR(t,e){let r=ut(t);if(!r)throw new lo(t,{supported:[...kt,...yd().map(o=>o.id)]});return r.generators.importFrom(e.root,{scope:e.scope??"project"})}s(sR,"importFrom");async function ml(t,e={}){let r=e.scope??"project",{config:o,context:n}=await Tt(t,r);await ce(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(ml,"loadProjectContext");async function iR(t){let e=t.targetFilter?[...t.targetFilter]:void 0;return Hd(t.config,t.canonical,t.projectRoot,e,{scope:t.scope})}s(iR,"lint");async function aR(t){let e=await Or(t);return {...Bd(e),results:e}}s(aR,"diff");async function cR(t){return zd(t)}s(cR,"check");mn();sn();yi();rp();xt();je();Ct();T();function li(t){if(t instanceof B)throw t;if(t instanceof lo)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(li,"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 sR(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 lo)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);li(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 og(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);li(r);}}s(JM,"convert");async function w2(t,e){try{let r=await ml(t.projectRoot),o=e.targets&&e.targets.length>0?e.targets:void 0,i=(await Or({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=qc(r.projectRoot,m.path,m.target);await I(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){li(r);}}s(w2,"generate");async function T2(t,e){try{let r=await ml(t.projectRoot),o=await iR({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){li(r);}}s(T2,"lint");async function b2(t){try{let e=await ml(t.projectRoot),r=await cR({config:e.config,configDir:e.configDir,canonicalDir:e.canonicalDir});return {drift:!r.inSync,missing:[...r.removed],extra:[...r.added],modified:[...r.modified]}}catch(e){li(e);}}s(b2,"check");async function P2(t,e){try{let r=await ml(t.projectRoot),o=e.targets&&e.targets.length>0?e.targets:void 0,n=await aR({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){li(r);}}s(P2,"diff");var ka={generate:w2,lint:T2,check:b2,diff:P2,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(()=>nR.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)=>nR.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)=>ka.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)=>ka.lint(t,e),"handler")},{name:"check",description:"Detect drift between canonical and lockfile",inputSchema:YM,handler:s(t=>ka.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)=>ka.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)=>ka.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)=>ka.convert(t,e),"handler")}];function ZM(t){let e=toJSONSchema(t,{target:"draft-07"});return delete e.$schema,e}s(ZM,"zodToMcpSchema");var pg=[...bM,...MM,...HM,...XM],lR=pg.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")}));yi();async function F2(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(F2,"findProjectRoot");async function mR(t){let e=await F2(t.cwd);return {projectRoot:e,loadCanonical:s(()=>Ae(e),"loadCanonical")}}s(mR,"resolveContext");async function H2(){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(H2,"pkgVersion");function z2(t,e){return new RegExp("^"+t.replace(/\{[^}]+\}/g,"([^/]+)")+"$").test(e)}s(z2,"matchTemplate");function V2(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(V2,"extractTemplateParams");async function qM(){let t=new Server({name:"agentsmesh-mcp",version:await H2()},{capabilities:{tools:{},resources:{}}});t.setRequestHandler(ListToolsRequestSchema,async()=>({tools:pg.map(e=>({name:e.name,description:e.description,inputSchema:ZM(e.inputSchema)}))})),t.setRequestHandler(CallToolRequestSchema,async e=>{let r=pg.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 mR({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:lR.map(e=>({uri:e.uri,name:e.name,description:e.description}))})),t.setRequestHandler(ReadResourceRequestSchema,async e=>{let r=lR.find(a=>a.uri===e.params.uri||z2(a.uri,e.params.uri));if(!r)throw new B("NOT_FOUND",`resource not found: ${e.params.uri}`);let o=await mR({cwd:process.cwd()}),n=V2(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){yR(),await qM();}s(t$,"runMcp");var e$={generate:s(async(t,e)=>{let r=await tl(t,void 0,{printMatrix:t.json!==true});Ee("generate",r,t,()=>el(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){ba("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 og(t);Ee("convert",r,t,()=>EM(r));},"convert"),mcp:s(async(t,e)=>{await t$();},"mcp")};function X2(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(X2,"parseArgs");var Z2=gR(e$);async function Q2(t){let{command:e,flags:r,args:o}=t;if(e==="help"){SR();return}if(e==="version"){ER();return}r.json===true&&hR(),await Z2.route(e,r,o);}s(Q2,"main");function q2(){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(q2,"isMainModule");if(q2()){let t=X2(process.argv.slice(2));Q2(t).catch(e=>OR(e instanceof Error?e:new Error(String(e)),{verbose:t.flags.verbose===true,json:t.flags.json===true,command:t.command}));}
567
- export{X2 as parseArgs};
598
+ `),{path:r,written:true})}};var z8=/[;&|`$<>!\\\r\n]/u,V8=/^[A-Za-z_][A-Za-z0-9_]*$/u,J8=/^[A-Za-z][A-Za-z0-9_-]*$/u,Y8=/^[A-Za-z][A-Za-z0-9_-]*(\([^)]*\))?$/u,QU=/[\r\n]/u,qU=/[\0\r\n]/u;function X8(t){return qU.test(t)?false:!t.split(/[/\\]/u).includes("..")}s(X8,"isSafeMcpCwd");function Z8(t){return z.string().min(1).max(512).refine(e=>!z8.test(e),{message:`${t} must not contain shell metacharacters (;&|\`$<>!\\\\, newlines)`})}s(Z8,"noShellMeta");var lS=z.object({type:z.enum(["stdio","sse","http","streamable-http","streamable_http"]).optional(),description:z.string().max(1024).refine(t=>!qU.test(t),{message:"description must not contain NUL or newline characters"}).optional(),command:Z8("command").optional(),args:z.array(z.string().max(2048)).max(100).optional(),env:z.record(z.string().regex(V8,"env key must be a valid identifier"),z.string().max(8192)).optional(),url:z.string().url().max(2048).refine(t=>/^https?:\/\//u.test(t),{message:"url must use http(s) protocol"}).optional(),headers:z.record(z.string().regex(J8,"header name must be a valid identifier"),z.string().max(8192)).optional(),cwd:z.string().max(2048).refine(X8,{message:'cwd must not contain "..", NUL, or newline characters'}).optional(),disabled:z.boolean().optional(),timeout:z.number().int().nonnegative().max(36e5).optional()}).strict(),Q8=z.object({type:z.enum(["command","prompt"]).optional(),command:z.string().min(1).max(8192).optional(),prompt:z.string().min(1).max(8192).optional(),timeout:z.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"}),t0=z.string().max(256).refine(t=>!QU.test(t),{message:"hook matcher must not contain newlines"}),q8=z.object({matcher:t0,type:z.enum(["command","prompt"]).optional(),command:z.string().min(1).max(8192).optional(),prompt:z.string().min(1).max(8192).optional(),timeout:z.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"}),t9=z.object({matcher:t0,hooks:z.array(Q8).min(1).max(50)}).strict(),e9=z.union([q8,t9]),e0=z.record(z.string().min(1).max(64),z.array(e9).max(100)),r9=z.string().min(1).max(256).refine(t=>!QU.test(t),{message:"permission pattern must not contain newlines"}).refine(t=>Y8.test(t),{message:"permission pattern must match Tool or Tool(matcher) form"}),eg=z.array(r9).max(500);var Cp=z.object({}).strict(),n9=[{name:"get_config",description:"Read agentsmesh.yaml",inputSchema:Cp,handler:s(t=>Xe.getConfig(t),"handler"),resourceUri:"agentsmesh://config"},{name:"list_mcp_servers",description:"List MCP servers in canonical mcp.json",inputSchema:Cp,handler:s(t=>Xe.listMcpServers(t),"handler"),resourceUri:"agentsmesh://canonical/mcp"},{name:"get_permissions",description:"Read permissions.yaml",inputSchema:Cp,handler:s(t=>Xe.getPermissions(t),"handler"),resourceUri:"agentsmesh://canonical/permissions"},{name:"get_hooks",description:"Read hooks.yaml",inputSchema:Cp,handler:s(t=>Xe.getHooks(t),"handler"),resourceUri:"agentsmesh://canonical/hooks"},{name:"get_ignore",description:"Read ignore patterns",inputSchema:Cp,handler:s(t=>Xe.getIgnore(t),"handler"),resourceUri:"agentsmesh://canonical/ignore"}],o9=[{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.object({targets:z.array(z.string()).optional().describe('Target tool IDs (e.g. ["claude-code", "cursor"])'),features:z.array(z.string()).optional().describe('Feature names (e.g. ["rules", "commands", "mcp"])'),conversions:z.record(z.string(),z.unknown()).optional().describe("Conversion overrides"),merge:z.boolean().optional().describe("If true, union arrays and shallow-merge objects instead of replacing"),dry_run:z.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>Xe.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.object({name:z.string().describe('Server name (e.g. "github", "filesystem")'),server:lS.describe('Server config (e.g. { type: "stdio", command: "npx", args: [...], env: {...} })'),dry_run:z.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>Xe.addMcpServer(t,e),"handler")},{name:"update_mcp_server",description:"Update an MCP server entry (replace or merge)",inputSchema:z.object({name:z.string(),server:lS,merge:z.boolean().optional(),dry_run:z.boolean().optional()}),handler:s((t,e)=>Xe.updateMcpServer(t,e),"handler")},{name:"remove_mcp_server",description:"Remove an MCP server entry",inputSchema:z.object({name:z.string(),dry_run:z.boolean().optional()}),handler:s((t,e)=>Xe.removeMcpServer(t,e),"handler")},{name:"update_permissions",description:"Update permissions.yaml. mode=replace (default) overwrites listed fields; mode=append unions and dedups.",inputSchema:z.object({allow:eg.optional().describe('Allowed tool patterns (e.g. ["Bash(npm run:*)"])'),deny:eg.optional().describe("Denied tool patterns"),ask:eg.optional().describe("Tools requiring confirmation"),mode:z.enum(["replace","append"]).optional().describe("replace=overwrite, append=union+dedup (default: replace)"),dry_run:z.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>Xe.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.object({hooks:e0.describe("Full hooks structure (e.g. { PreToolUse: [...], PostToolUse: [...] })"),dry_run:z.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>Xe.updateHooks(t,e),"handler")},{name:"update_ignore",description:"Update .agentsmesh/ignore patterns. mode=replace (default) overwrites; mode=append adds new patterns.",inputSchema:z.object({patterns:z.array(z.string()).describe('Gitignore-syntax patterns (e.g. ["node_modules/", "dist/", ".env*"])'),mode:z.enum(["replace","append"]).optional().describe("replace=overwrite, append=add (default: replace)"),dry_run:z.boolean().optional().describe("Preview without writing")}),handler:s((t,e)=>Xe.updateIgnore(t,e),"handler")}],r0=[...n9,...o9];VR();Rn();function s9(){return Object.fromEntries(Ft.map(t=>[t,Object.fromEntries(Object.entries(o$).map(([e,r])=>[e,r[t]]))]))}s(s9,"buildTargetIndex");var n0=s9(),cS={async list(){return n0},async get(t){let e=n0[t.targetId];if(e===void 0)throw new G("NOT_FOUND",`unknown target: ${t.targetId}`);return {targetId:t.targetId,capabilities:e}}};_o();_o();Dp();Yt();fo();fn();se();Rn();async function mS(t,e){let r=et(t);if(!r)throw new _n(t,{supported:[...Ft,...Yp().map(n=>n.id)]});return r.generators.importFrom(e.root,{scope:e.scope??"project"})}s(mS,"importFrom");async function xc(t,e={}){let r=e.scope??"project",{config:n,context:o}=await yt(t,r);await Wt(n,t);let{canonical:i}=await ke(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(xc,"loadProjectContext");async function pS(t){let e=t.targetFilter?[...t.targetFilter]:void 0;return Of(t.config,t.canonical,t.projectRoot,e,{scope:t.scope})}s(pS,"lint");async function uS(t){let e=await Tr(t);return {...Ef(e),results:e}}s(uS,"diff");async function dS(t){return Af(t)}s(dS,"check");_o();fo();Ai();Dp();Pt();se();Et();w();function Ii(t){if(t instanceof G)throw t;if(t instanceof _n)throw new G("VALIDATION_FAILED",t.message);let e=t instanceof Error?t.message:String(t);throw /unknown.*--from|unknown.*--to|unknown target/i.test(e)?new G("VALIDATION_FAILED",e):/lock/i.test(e)?new G("LOCK_HELD","generate lock is held"):new G("IO_ERROR","engine failure",{reason:e})}s(Ii,"wrapEngineError");async function o0(t,e){if(e.dry_run===true)throw new G("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 mS(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 _n)throw new G("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 G("VALIDATION_FAILED",n);Ii(r);}}s(o0,"importFromTarget");async function s0(t,e){try{let r={from:e.from,to:e.to,"dry-run":e.dry_run===!0},n=await Vf(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 G("VALIDATION_FAILED",n);Ii(r);}}s(s0,"convert");async function c9(t,e){try{let r=await xc(t.projectRoot),n=e.targets&&e.targets.length>0?e.targets:void 0,i=(await Tr({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=yc(r.projectRoot,m.path,m.target);await I(p,m.content);}let l={};for(let m of a){let p=l[m.target]??{filesWritten:0};l[m.target]={filesWritten:p.filesWritten+1};}let c={filesWritten:a.length,byTarget:l,lockfileUpdated:!e.dry_run&&a.length>=0,errors:[],warnings:[]};return e.verbose===!0&&(c.files=i.map(m=>m.path)),c}catch(r){Ii(r);}}s(c9,"generate");async function m9(t,e){try{let r=await xc(t.projectRoot),n=await pS({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){Ii(r);}}s(m9,"lint");async function p9(t){try{let e=await xc(t.projectRoot),r=await dS({config:e.config,configDir:e.configDir,canonicalDir:e.canonicalDir});return {drift:!r.inSync,missing:[...r.removed],extra:[...r.added],modified:[...r.modified]}}catch(e){Ii(e);}}s(p9,"check");async function u9(t,e){try{let r=await xc(t.projectRoot),n=e.targets&&e.targets.length>0?e.targets:void 0,o=await uS({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){Ii(r);}}s(u9,"diff");var Ga={generate:c9,lint:m9,check:p9,diff:u9,import:o0,convert:s0};var i0=z.object({}).strict(),a0=[{name:"list_target_capabilities",description:"List support matrix for all targets",inputSchema:i0,handler:s(()=>cS.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.object({targetId:z.string().describe('Target tool ID (e.g. "claude-code", "cursor")')}),handler:s((t,e)=>cS.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.object({targets:z.array(z.string()).optional().describe("Filter to specific targets (default: all from agentsmesh.yaml)"),features:z.array(z.string()).optional().describe("Filter to specific features"),verbose:z.boolean().optional().describe("Include full file list in response"),dry_run:z.boolean().optional().describe("Preview without writing files")}),handler:s((t,e)=>Ga.generate(t,e),"handler")},{name:"lint",description:"Lint canonical .agentsmesh/ files for schema errors, missing frontmatter, and other issues",inputSchema:z.object({severity:z.enum(["error","warning","info"]).optional().describe("Filter results by minimum severity")}),handler:s((t,e)=>Ga.lint(t,e),"handler")},{name:"check",description:"Detect drift between canonical and lockfile",inputSchema:i0,handler:s(t=>Ga.check(t),"handler")},{name:"diff",description:"Preview what generate would create, modify, or delete without writing",inputSchema:z.object({targets:z.array(z.string()).optional().describe("Filter to specific targets"),features:z.array(z.string()).optional().describe("Filter to specific features")}),handler:s((t,e)=>Ga.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.object({from:z.string().describe('Source target ID to import from (e.g. "cursor", "claude-code")'),features:z.array(z.string()).optional().describe("Restrict import to specific features"),dry_run:z.boolean().optional().describe("NOT SUPPORTED \u2014 will throw VALIDATION_FAILED. Use diff instead.")}),handler:s((t,e)=>Ga.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.object({from:z.string().describe('Source target ID (e.g. "cursor")'),to:z.string().describe('Destination target ID (e.g. "claude-code")'),dry_run:z.boolean().optional().describe("Preview conversion without writing files")}),handler:s((t,e)=>Ga.convert(t,e),"handler")}];function fS(t){if(t instanceof G)throw t;let e=t instanceof Error?t.message:String(t),r=Jf(e);throw /lock|LockAcquisitionError/i.test(r)?new G("LOCK_HELD",".install.lock is held by another process"):/missing source|usage:|non-interactive|invalid|unknown|not found|escapes the source root/i.test(r)?new G("VALIDATION_FAILED",r):new G("IO_ERROR","install pipeline failure",{reason:r})}s(fS,"wrapInstallError");function d9(t){let e={force:true};return t.path!==void 0&&(e.path=t.path),t.target!==void 0&&(e.target=t.target),t.as!==void 0&&(e.as=t.as),t.name!==void 0&&(e.name=t.name),t.extends===true&&(e.extends=true),t.all===true&&(e.all=true),t.sync===true&&(e.sync=true),t.dry_run===true&&(e["dry-run"]=true),t.global===true&&(e.global=true),e}s(d9,"toInstallFlags");function f9(t){let e={force:true};return t.all===true&&(e.all=true),t.keep_pack===true&&(e["keep-pack"]=true),t.keep_generated===true&&(e["keep-generated"]=true),t.dry_run===true&&(e["dry-run"]=true),t.global===true&&(e.global=true),e}s(f9,"toUninstallFlags");async function g9(t,e){if(typeof e.source!="string"||e.source.trim().length===0)throw new G("VALIDATION_FAILED","install: `source` is required");try{let r=await _p(d9(e),[e.source],t.projectRoot);if(r.exitCode!==0)throw new G("IO_ERROR",`install exited ${r.exitCode}`);return r.data}catch(r){fS(r);}}s(g9,"install");async function h9(t,e){if(e.all!==true&&(!Array.isArray(e.names)||e.names.length===0))throw new G("VALIDATION_FAILED","uninstall: pass `names: [...]` or set `all: true`");try{return (await Kf(f9(e),e.names??[],t.projectRoot)).data}catch(r){fS(r);}}s(h9,"uninstall");async function y9(t,e={}){try{let r={};return e.global===!0&&(r.global=!0),(await Wf(r,t.projectRoot)).data}catch(r){fS(r);}}s(y9,"installsList");var rg={install:g9,uninstall:h9,installsList:y9};var _9=z.object({source:z.string().min(1).describe("Pack source \u2014 GitHub/GitLab shorthand (`github:org/repo[@ref]`), git URL, SSH URL, or local path (`local:./relative/dir`)."),path:z.string().optional().describe("Subdirectory within the source repo to install from. Combined with `as` for manual single-category installs."),target:z.string().optional().describe("Target tool ID hint for native-format auto-discovery (e.g. `claude-code`, `cursor`). Bypasses the multi-signal classifier."),as:z.enum(["rules","commands","agents","skills"]).optional().describe("Manual install kind. When set, the source is treated as a flat collection of that category (skips the auto-classifier)."),name:z.string().optional().describe("Override the generated install entry name (default: derived from `org-repo` shorthand or the source path)."),extends:z.boolean().optional().describe("Record as an `extends:` entry in `agentsmesh.yaml` instead of materializing a pack in `.agentsmesh/packs/`. Always-on-latest semantics; resolved every `generate`."),all:z.boolean().optional().describe("Install every sub-pack from a marketplace source (`.claude-plugin/marketplace.json`) or every flat collection in a multi-collection layout."),sync:z.boolean().optional().describe("Reinstall missing packs from `.agentsmesh/installs.yaml` instead of from `source`."),dry_run:z.boolean().optional().describe("Preview what would be installed without writing."),global:z.boolean().optional().describe("Install into the global scope (`~/.agentsmesh/`) instead of the project scope. Regenerates user-level outputs.")}),R9=z.object({names:z.array(z.string().min(1)).default([]).describe("Install names to remove (from `installs.yaml`). Required unless `all: true`. Each name removes the pack directory under `.agentsmesh/packs/`, the matching `installs.yaml` row, and the matching `agentsmesh.yaml` `extends:` row when present."),all:z.boolean().optional().describe("Remove every install in the current scope. `names` is ignored when `all: true`."),keep_pack:z.boolean().optional().describe("Leave `.agentsmesh/packs/<name>/` on disk; only drop yaml entries. Useful when the user has locally-modified files."),keep_generated:z.boolean().optional().describe("Skip the post-uninstall `generate` pass. Target trees keep now-stale files until the next manual `generate`; a warning lists what will be cleaned then."),dry_run:z.boolean().optional().describe("Preview the removal plan; no writes. Legacy-manifest migration runs in memory only."),global:z.boolean().optional().describe("Uninstall from the global scope (`~/.agentsmesh/`) instead of the project scope.")}),I9=z.object({global:z.boolean().optional().describe("Read from `~/.agentsmesh/installs.yaml` instead of the project scope.")}),l0=[{name:"install",description:"Install a community pack from a URL or local path. Auto-classifies the source layout (anthropic-skill-pack, canonical-agentsmesh, tool-native, or unknown) and dispatches accordingly; `--target` / `--as` override the classifier. Always runs non-interactively (every prompt accepts its documented `--force` default).",inputSchema:_9,handler:s((t,e)=>rg.install(t,e),"handler")},{name:"uninstall",description:"Remove one or more installed packs. Drops the pack directory, the `installs.yaml` row, and the matching `agentsmesh.yaml` `extends:` row (when present), then runs `generate` so stale target files are cleaned. Mid-batch failures are isolated; survivors still apply and the response surfaces failures in `data.failed[]`.",inputSchema:R9,handler:s((t,e)=>rg.uninstall(t,e),"handler")},{name:"installs_list",description:"List installed packs in the current scope. Read-only. Hydrates `installed_at` and `source_type` from each pack manifest where available; both are `null` for legacy packs without `.agentsmesh-install-manifest.json`.",inputSchema:I9,handler:s((t,e)=>rg.installsList(t,e),"handler"),resourceUri:"agentsmesh://installs"}];function c0(t){let e=toJSONSchema(t,{target:"draft-07"});return delete e.$schema,e}s(c0,"zodToMcpSchema");var ng=[...jU,...JU,...r0,...a0,...l0],gS=ng.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")}));Ai();async function E9(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 G("NO_PROJECT","agentsmesh.yaml not found");e=r;}}s(E9,"findProjectRoot");async function hS(t){let e=await E9(t.cwd);return {projectRoot:e,loadCanonical:s(()=>Ee(e),"loadCanonical")}}s(hS,"resolveContext");async function N9(){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(N9,"pkgVersion");function F9(t,e){return new RegExp("^"+t.replace(/\{[^}]+\}/g,"([^/]+)")+"$").test(e)}s(F9,"matchTemplate");function v9(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(v9,"extractTemplateParams");async function p0(){let t=new Server({name:"agentsmesh-mcp",version:await N9()},{capabilities:{tools:{},resources:{}}});t.setRequestHandler(ListToolsRequestSchema,async()=>({tools:ng.map(e=>({name:e.name,description:e.description,inputSchema:c0(e.inputSchema)}))})),t.setRequestHandler(CallToolRequestSchema,async e=>{let r=ng.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 G("VALIDATION_FAILED","invalid input",n.error.issues);let o=await hS({cwd:process.cwd()}),i=await r.handler(o,n.data);return {content:[{type:"text",text:JSON.stringify(i)}]}}catch(n){let o=n instanceof G?n.toEnvelope():{code:"IO_ERROR",message:Jf(n instanceof Error?n.message:"unknown error")};return {isError:true,content:[{type:"text",text:JSON.stringify(o)}]}}}),t.setRequestHandler(ListResourcesRequestSchema,async()=>({resources:gS.map(e=>({uri:e.uri,name:e.name,description:e.description}))})),t.setRequestHandler(ReadResourceRequestSchema,async e=>{let r=gS.find(a=>a.uri===e.params.uri||F9(a.uri,e.params.uri));if(!r)throw new G("NOT_FOUND",`resource not found: ${e.params.uri}`);let n=await hS({cwd:process.cwd()}),o=v9(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(p0,"startServer");ot();async function u0(t,e){CS(),await p0();}s(u0,"runMcp");var d0={generate:s(async(t,e)=>{let r=await _c(t,void 0,{printMatrix:t.json!==true});ge("generate",r,t,()=>Rc(r));},"generate"),init:s(async(t,e)=>{let r=await k$(process.cwd(),{yes:t.yes===true,global:t.global===true});ge("init",r,t,()=>E$(r));},"init"),import:s(async(t,e)=>{let r=await O$(t);ge("import",r,t,()=>v$(r));},"import"),diff:s(async(t,e)=>{let r=await w$(t);ge("diff",r,t,()=>M$(r));},"diff"),lint:s(async(t,e)=>{let r=await D$(t);ge("lint",r,t,()=>N$(r));},"lint"),check:s(async(t,e)=>{let r=await U$(t);ge("check",r,t,()=>F$(r));},"check"),merge:s(async(t,e)=>{let r=await W$(t);ge("merge",r,t,()=>$$(r));},"merge"),matrix:s(async(t,e)=>{let r=await ip(t);ge("matrix",r,t,()=>lp(r,{verbose:t.verbose===true}));},"matrix"),watch:s(async(t,e)=>{if(t.json===true){Ha("watch",{success:false,error:"--json is not supported with watch"}),process.exit(1);return}let r=await j$(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 Qj(t,e,process.cwd());ge("install",r,t,()=>qj(r));},"install"),uninstall:s(async(t,e)=>{t.json===true&&(t.force=true);let r=await fU(t,e,process.cwd());ge("uninstall",r,t,()=>gU(r));},"uninstall"),installs:s(async(t,e)=>{let r=await yU(t,e,process.cwd());ge("installs",r,t,()=>_U(r));},"installs"),plugin:s(async(t,e)=>{let r=await CU(t,e,process.cwd());ge("plugin",r,t,()=>kU(r));},"plugin"),target:s(async(t,e)=>{let r=await xU(t,e,process.cwd());ge("target",r,t,()=>DU(r));},"target"),convert:s(async(t,e)=>{let r=await Vf(t);ge("convert",r,t,()=>NU(r));},"convert"),mcp:s(async(t,e)=>{await u0();},"mcp")};function G9(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),l=t[o+1];l===void 0||l.startsWith("--")?e[a]=true:(e[a]=l,o++);continue}n==="help"?n=i:r.push(i);}return {command:n,flags:e,args:r}}s(G9,"parseArgs");var j9=RS(d0);async function U9(t){let{command:e,flags:r,args:n}=t;if(e==="help"){ag();return}if(e==="version"){ES();return}if(r.help===true){Lp(e);return}r.json===true&&SS(),await j9.route(e,r,n);}s(U9,"main");function B9(){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(B9,"isMainModule");if(B9()){let t=G9(process.argv.slice(2));U9(t).catch(e=>LS(e instanceof Error?e:new Error(String(e)),{verbose:t.flags.verbose===true,json:t.flags.json===true,command:t.command}));}
599
+ export{G9 as parseArgs};