agentsmesh 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +43 -0
- package/README.md +190 -107
- package/dist/canonical.js +56 -14
- package/dist/canonical.js.map +1 -1
- package/dist/cli.js +117 -117
- package/dist/engine.d.ts +1 -1
- package/dist/engine.js +68 -28
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +69 -28
- package/dist/index.js.map +1 -1
- package/dist/{target-descriptor-Cb9PXaxr.d.ts → target-descriptor-CkH4Z43u.d.ts} +2 -1
- package/dist/targets.d.ts +21 -3
- package/dist/targets.js +43 -13
- package/dist/targets.js.map +1 -1
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -1,160 +1,160 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {access,mkdir,lstat,writeFile,rename,rm as rm$1,readlink,
|
|
3
|
-
`)}async function
|
|
2
|
+
import {access,mkdir,lstat,unlink,writeFile,rename,rm as rm$1,readlink,symlink,stat,readFile,readdir,realpath,mkdtemp,cp as cp$1,copyFile}from'fs/promises';import {dirname,join,resolve,relative,normalize,basename,sep,extname,win32,posix,isAbsolute}from'path';import {realpathSync,constants,statSync,existsSync,rmSync}from'fs';import {parse,stringify}from'yaml';import {parse as parse$1}from'smol-toml';import {Buffer}from'buffer';import {z as z$1}from'zod';import {fileURLToPath,pathToFileURL,URL}from'url';import {createRequire}from'module';import {homedir,hostname,tmpdir}from'os';import {createHash}from'crypto';import {execFile}from'child_process';import {promisify}from'util';import*as Jd from'tar';import {createTwoFilesPatch}from'diff';import _D from'chokidar';import*as Fw from'readline';var Od=Object.defineProperty;var i=(t,e)=>Od(t,"name",{value:e,configurable:true});var f=(t,e)=>()=>(t&&(e=t(t=0)),e);var OO=(t,e)=>{for(var r in e)Od(t,r,{get:e[r],enumerable:true});};var co,$r,Ji,Yi,ar,Cs=f(()=>{co=class extends Error{static{i(this,"AgentsMeshError");}code;constructor(e,r,n){super(r,n),this.name="AgentsMeshError",this.code=e;}},$r=class extends co{static{i(this,"ConfigNotFoundError");}path;constructor(e,r){super("AM_CONFIG_NOT_FOUND",r?.message??`agentsmesh.yaml not found at ${e}. Run 'agentsmesh init' to create one.`,r),this.name="ConfigNotFoundError",this.path=e;}},Ji=class extends co{static{i(this,"ConfigValidationError");}issues;constructor(e,r,n){super("AM_CONFIG_INVALID",`Invalid config at ${e}: ${r.join("; ")}. Fix the YAML and try again.`,n),this.name="ConfigValidationError",this.issues=r;}},Yi=class extends co{static{i(this,"LockAcquisitionError");}lockPath;holder;constructor(e,r,n){super("AM_LOCK_ACQUISITION_FAILED",`Could not acquire generate lock at ${e}: currently held by ${r}. Wait for the other process to finish, or remove ${e} manually if you are sure no agentsmesh process is running.`,n),this.name="LockAcquisitionError",this.lockPath=e,this.holder=r;}},ar=class extends co{static{i(this,"FileSystemError");}path;errnoCode;constructor(e,r,n){super("AM_FILESYSTEM",r,n),this.name="FileSystemError",this.path=e,this.errnoCode=n?.errnoCode;}};});function YO(t){let e=extname(t).toLowerCase();if(e.length>0)return VO.has(e);let r=basename(t).toLowerCase();return JO.has(r)}function XO(t){return t.replace(/\r\n?/g,`
|
|
3
|
+
`)}async function I(t){try{let e=await readFile(t,"utf-8");return e.startsWith(vd)?e.slice(vd.length):e}catch(e){let r=e;if(r.code==="ENOENT")return null;throw new ar(t,`Failed to read ${t}: ${r.message}. Ensure the file exists and is readable.`,{cause:e,errnoCode:r.code})}}async function _(t,e){let r=dirname(t);await mkdir(r,{recursive:true});try{let s=await lstat(t);if(s.isDirectory())throw new ar(t,`Failed to write ${t}: target exists and is a directory. Remove it or choose a different path.`,{errnoCode:"EISDIR"});s.isSymbolicLink()&&await unlink(t).catch(a=>{if(a.code!=="ENOENT")throw a});}catch(s){if(s instanceof ar||s.code!=="ENOENT")throw s}let n=`${t}.tmp`,o=YO(t)?XO(e):e;try{try{(await lstat(n)).isSymbolicLink()&&await unlink(n);}catch(s){if(s.code!=="ENOENT")throw s}await writeFile(n,o,{encoding:"utf-8",flag:"w"}),await rename(n,t);}catch(s){await rm$1(n,{force:true}).catch(()=>{});let a=s;throw new ar(t,`Failed to write ${t}: ${a.message}. Check permissions and disk space.`,{cause:s,errnoCode:a.code})}}async function L(t){try{return await access(t,constants.F_OK),!0}catch{return false}}async function k(t){await mkdir(t,{recursive:true});}async function P(t,e){let r;try{r=await realpath(t);}catch(o){let s=o;if(s.code==="ENOENT"||s.code==="ENOTDIR"||s.code==="ELOOP")return [];throw new ar(t,`Failed to read directory ${t}: ${s.message}. Check permissions.`,{cause:o,errnoCode:s.code})}let n=e??new Set;if(n.has(r))return [];n.add(r);try{let o=await readdir(t,{withFileTypes:!0}),s=[];for(let a of o){let l=join(t,a.name);a.isDirectory()||a.isSymbolicLink()&&await stat(l).then(m=>m.isDirectory(),()=>!1)?s.push(...await P(l,n)):s.push(l);}return s}catch(o){let s=o;if(s.code==="ENOENT"||s.code==="ENOTDIR"||s.code==="EACCES")return [];throw new ar(t,`Failed to read directory ${t}: ${s.message}. Check permissions.`,{cause:o,errnoCode:s.code})}}async function sc(t,e){let r=resolve(t);try{if(!(await lstat(e)).isSymbolicLink()||resolve(dirname(e),await readlink(e))===r)return;await unlink(e);}catch(n){if(n.code!=="ENOENT")throw n}await symlink(r,e,"dir");}var vd,VO,JO,E=f(()=>{Cs();vd="\uFEFF",VO=new Set([".md",".mdc",".mdx",".markdown",".txt",".json",".jsonc",".yaml",".yml",".toml",".ini",".sh",".bash",".zsh",".ps1",".js",".mjs",".cjs",".ts",".tsx",".html",".css"]),JO=new Set([".gitignore",".cursorignore",".cursorindexingignore",".aiignore",".agentignore",".clineignore",".geminiignore",".codeiumignore",".continueignore",".copilotignore",".windsurfignore",".junieignore",".kiroignore",".rooignore",".antigravityignore"]);i(YO,"shouldNormalizeLineEndings");i(XO,"normalizeLineEndings");i(I,"readFileSafe");i(_,"writeFileAtomic");i(L,"exists");i(k,"mkdirp");i(P,"readDirRecursive");i(sc,"ensureCacheSymlink");});function Mr(t){return ic.includes(t)}var ic,Gd=f(()=>{ic=["antigravity","claude-code","cline","codex-cli","continue","copilot","cursor","gemini-cli","junie","kiro","roo-code","windsurf"];i(Mr,"isBuiltinTargetId");});var ht,ks,lr=f(()=>{Gd();ht=ic,ks="codex-cli";});function O(t){if(t.indexOf("---")!==0)return {frontmatter:{},body:t.trim()};let r=t.indexOf("---",3);if(r===-1)return {frontmatter:{},body:t.trim()};let n=t.slice(3,r).trim(),o=t.slice(r+3).trim();return {frontmatter:n===""?{}:parse(n)??{},body:o}}function N(t,e){return Object.keys(t).length===0?e:`---
|
|
4
4
|
${stringify(t,{lineWidth:0}).trimEnd()}
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
${e}`}var F=f(()=>{i(
|
|
7
|
+
${e}`}var F=f(()=>{i(O,"parseFrontmatter");i(N,"serializeFrontmatter");});function If(t){return typeof t=="string"?t.trim():""}function ut(t){return If(t.command)}function Ot(t){return If(t.prompt)}function _c(t){let e=ut(t),r=Ot(t);return t.type==="prompt"?r||e:e||r}function cr(t){return ut(t).length>0}function Te(t){return _c(t).length>0}var ce=f(()=>{i(If,"trimString");i(ut,"getHookCommand");i(Ot,"getHookPrompt");i(_c,"getHookText");i(cr,"hasHookCommand");i(Te,"hasHookText");});function QE(t){return Object.prototype.hasOwnProperty.call(Cf,t)}function tb(t){return Object.prototype.hasOwnProperty.call(kf,t)}function wf(t,e){if(t!==void 0)return typeof t=="boolean"?t:t[e]}function xs(t,e,r,n="project"){let o=t.conversions?.commands_to_skills?.[e],s=wf(o,n);return s!==void 0?s:QE(e)?Cf[e]:r??false}function me(t,e,r,n="project"){let o=t.conversions?.agents_to_skills?.[e],s=wf(o,n);return s!==void 0?s:tb(e)?kf[e]:r??false}var Cf,kf,yo=f(()=>{Cf={"codex-cli":true},kf={"gemini-cli":false,cline:true,"codex-cli":false,windsurf:true};i(QE,"usesCommandSkillProjection");i(tb,"usesAgentSkillProjection");i(wf,"resolveConversionValue");i(xs,"shouldConvertCommandsToSkills");i(me,"shouldConvertAgentsToSkills");});function pe(t,e){return e!==void 0?{level:t,flavor:e}:{level:t}}function ue(t){return typeof t=="string"?{level:t}:t}function Of(t){return {rules:ue(t.rules),additionalRules:ue(t.additionalRules),commands:ue(t.commands),agents:ue(t.agents),skills:ue(t.skills),mcp:ue(t.mcp),hooks:ue(t.hooks),ignore:ue(t.ignore),permissions:ue(t.permissions)}}var Cn=f(()=>{i(pe,"cap");i(ue,"normalizeCapabilityValue");i(Of,"normalizeTargetCapabilities");});function Ef(t){for(let e of Ct)if(e.sharedArtifacts){for(let[r,n]of Object.entries(e.sharedArtifacts))if(n==="owner"&&t.startsWith(r))return e.id}return null}function eb(t){let e=[];for(let n of t)if(n.sharedArtifacts)for(let[o,s]of Object.entries(n.sharedArtifacts))s==="owner"&&e.push({targetId:n.id,prefix:o});let r=[];for(let n=0;n<e.length;n++)for(let o=n+1;o<e.length;o++){let s=e[n],a=e[o];s===void 0||a===void 0||(s.prefix===a.prefix||s.prefix.startsWith(a.prefix)||a.prefix.startsWith(s.prefix))&&r.push({a:s,b:a});}return r}function bf(t){let e=eb(t);if(e.length===0)return;let r=e.map(({a:n,b:o})=>` - "${n.targetId}" owns "${n.prefix}" and "${o.targetId}" owns "${o.prefix}"`);throw new Error(`Shared-artifact ownership conflict: two targets claim the same or overlapping prefix.
|
|
8
8
|
`+r.join(`
|
|
9
9
|
`)+`
|
|
10
|
-
Resolve by changing one target's role to 'consumer' or by namespacing its prefix.`)}var
|
|
10
|
+
Resolve by changing one target's role to 'consumer' or by namespacing its prefix.`)}var Cc=f(()=>{rt();i(Ef,"ownerTargetIdForSharedPath");i(eb,"findSharedArtifactOwnershipConflicts");i(bf,"assertSharedArtifactOwnersUnique");});function Ps(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function kc(t,e){return new RegExp(`${Ps(t)}[\\s\\S]*?${Ps(e)}`,"g")}function Lf(t,e,r,n){let o=kc(e,r);if(o.test(t))return t.replace(o,n).trim();let s=t.trim();return s?`${s}
|
|
11
11
|
|
|
12
|
-
${n}`:n}function
|
|
13
|
-
`)}function
|
|
14
|
-
`)}function
|
|
12
|
+
${n}`:n}function wc(t,e,r){return t.replace(kc(e,r),"").trim()}function ob(t){let e=t.replace(/\\/g,"/"),r=e.lastIndexOf(".agentsmesh/");return r>=0?e.slice(r+12):e.startsWith("rules/")?e:join("rules",basename(e)).replace(/\\/g,"/")}function sb(t){return {source:ob(t.source),description:t.description,globs:t.globs,targets:t.targets}}function ib(t){return `${Af}${JSON.stringify(sb(t))}${Tf}`}function ab(t){let e=[ib(t)];return t.description.trim()&&e.push(`## ${t.description.trim()}`,""),e.push(t.body.trim(),Pf),e.filter(r=>r.length>0).join(`
|
|
13
|
+
`)}function lb(t){return t.length===0?"":[oa,...t.map(ab),sa].join(`
|
|
14
|
+
`)}function de(t,e){let r=lb(e),n=wc(t,oa,sa);return r?n?`${n}
|
|
15
15
|
|
|
16
|
-
${r}`:r:n}function
|
|
16
|
+
${r}`:r:n}function xf(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function cb(t){try{let e=JSON.parse(t);if(!e||typeof e!="object"||Array.isArray(e))return null;let r=e;return typeof r.source!="string"||!r.source.startsWith("rules/")?null:{source:r.source,description:typeof r.description=="string"?r.description:"",globs:xf(r.globs),targets:xf(r.targets)}}catch{return null}}function mb(t,e){let r=t.trim();if(!e.trim())return r;let n=`## ${e.trim()}`;return r.startsWith(n)?r.slice(n.length).trim():r}function Nf(t){let e=[],r=kc(oa,sa);return {rootContent:t.replace(r,o=>{let s=o.replace(oa,"").replace(sa,"").trim(),a=new RegExp(`${Ps(Af)}([\\s\\S]*?)${Ps(Tf)}([\\s\\S]*?)${Ps(Pf)}`,"g");for(let l of s.matchAll(a)){let c=l[1],m=l[2];if(c===void 0||m===void 0)continue;let u=cb(c);u&&e.push({...u,body:mb(m,u.description)});}return ""}).trim(),rules:e}}var As,Ts,oa,sa,Pf,Af,Tf,Gr=f(()=>{As="<!-- agentsmesh:root-generation-contract:start -->",Ts="<!-- agentsmesh:root-generation-contract:end -->",oa="<!-- agentsmesh:embedded-rules:start -->",sa="<!-- agentsmesh:embedded-rules:end -->",Pf="<!-- agentsmesh:embedded-rule:end -->",Af="<!-- agentsmesh:embedded-rule:start ",Tf=" -->";i(Ps,"escapeRegExp");i(kc,"managedBlockPattern");i(Lf,"replaceManagedBlock");i(wc,"stripManagedBlock");i(ob,"ruleSource");i(sb,"markerForRule");i(ib,"embeddedRuleStart");i(ab,"renderRule");i(lb,"renderEmbeddedRulesBlock");i(de,"appendEmbeddedRulesBlock");i(xf,"toStringArray");i(cb,"parseMarker");i(mb,"stripGeneratedHeading");i(Nf,"extractEmbeddedRules");});function Oc(t){return t.replace(/\s+/g," ").trim()}function Ff(t){let e=t.trim();if(e.includes(As)&&e.includes(Ts))return Lf(e,As,Ts,Io);let r=Oc(e);if(r.includes(Oc(Io)))return e;for(let n of Df)if(r.includes(Oc(n)))return e.replace(n,Io);return e?`${e}
|
|
17
17
|
|
|
18
|
-
${Io}`:Io}function
|
|
18
|
+
${Io}`:Io}function vf(t){let e=wc(t,As,Ts);e=e.replace(`
|
|
19
19
|
|
|
20
|
-
${Io}`,"");for(let r of
|
|
20
|
+
${Io}`,"");for(let r of Df)e=e.replace(`
|
|
21
21
|
|
|
22
|
-
${r}`,"");return e.trim()}var
|
|
22
|
+
${r}`,"");return e.trim()}var Ec,ub,pb,db,fb,gb,hb,yb,Ib,Sb,_b,Rb,Cb,kb,wb,Ob,Eb,Io,Df,bc=f(()=>{Gr();Ec="AgentsMesh is a config sync library for AI coding tools. The only canonical source of truth is `.agentsmesh/`; files emitted into target formats such as `AGENTS.md`, `.claude/`, `.cursor/`, `.junie/`, and similar directories are generated artifacts. When making changes, edit canonical config first, then regenerate and verify the target outputs. Preserve the library's bidirectional contract: import native tool config into canonical form, generate back to target-specific layouts, and keep projected or embedded features round-trippable rather than treating them as plain text exports.",ub="AgentsMesh is a config sync library for AI coding tools. The only canonical source of truth is the `.agentsmesh` directory at the project root; files emitted into target formats such as `AGENTS.md`, `.claude/`, `.cursor/`, `.junie/`, and similar directories are generated artifacts. When making changes, edit canonical config first, then regenerate and verify the target outputs. Preserve the library's bidirectional contract: import native tool config into canonical form, generate back to target-specific layouts, and keep projected or embedded features round-trippable rather than treating them as plain text exports.",pb="AgentsMesh syncs AI coding tool configuration from a single canonical `.agentsmesh` directory. All target-specific files (`.claude/`, `.cursor/`, `AGENTS.md`, etc.) are generated artifacts \u2014 edit canonical config first, then regenerate. The import/generate contract is bidirectional and lossless: embedded or projected features round-trip without data loss.",db="Create agents, skills, commands, rules, hooks, and MCP in `.agentsmesh`, then run `agentsmesh generate` to sync each tool's native files. Edit `.agentsmesh`, not generated outputs.",fb="Use Claude-style Markdown in `.agentsmesh`: `agents/*.md`, `commands/*.md`, and `skills/*/SKILL.md`; keep rules in `rules/*.md`, hooks in `hooks.yaml`, MCP in `mcp.json`, permissions in `permissions.yaml`, and ignore patterns in `ignore`, then run `agentsmesh generate`.",gb="Create canonical files in `.agentsmesh`: `rules/_root.md` and `rules/*.md` are Markdown rules; `commands/*.md`, `agents/*.md`, and `skills/*/SKILL.md` plus supporting files use Claude-style frontmatter Markdown; `mcp.json` is MCP JSON; `hooks.yaml` and `permissions.yaml` are YAML; `ignore` is gitignore-style text. Then run `agentsmesh generate`.",hb="`.agentsmesh` is the only folder you edit or add these files in: `rules/_root.md` and `rules/*.md` are Markdown rules; `commands/*.md`, `agents/*.md`, and `skills/*/SKILL.md` plus supporting files use Claude-style frontmatter Markdown; `mcp.json` is MCP JSON; `hooks.yaml` and `permissions.yaml` are YAML; `ignore` is gitignore-style text. Do not edit generated tool files; run `agentsmesh generate`.",yb="`agentsmesh.yaml` selects targets/features (`agentsmesh.local.yaml` overrides locally), and `.agentsmesh` is the only place to add or edit canonical items: `rules/_root.md`, `rules/*.md`, `commands/*.md`, `agents/*.md`, `skills/*/SKILL.md` plus supporting files, `mcp.json`, `hooks.yaml`, `permissions.yaml`, and `ignore`; if missing run `agentsmesh init`, use `agentsmesh import --from <tool>` for native configs, `agentsmesh install <source>` or `install --sync` for reusable packs, then run `agentsmesh generate`. Use `diff`, `lint`, `check`, `watch`, `matrix`, and `merge` as needed; never edit generated tool files.",Ib=Ec,Sb=`## Project-Specific Rules
|
|
23
23
|
|
|
24
|
-
${
|
|
24
|
+
${Ec}`,_b=`## AgentsMesh Generation Contract
|
|
25
25
|
|
|
26
|
-
${
|
|
26
|
+
${Ec}`,Rb=`## AgentsMesh Generation Contract
|
|
27
27
|
|
|
28
|
-
${
|
|
28
|
+
${ub}`,Cb=`## AgentsMesh Generation Contract
|
|
29
29
|
|
|
30
|
-
${
|
|
30
|
+
${pb}`,kb=`## AgentsMesh Generation Contract
|
|
31
31
|
|
|
32
|
-
${
|
|
32
|
+
${db}`,wb=`## AgentsMesh Generation Contract
|
|
33
33
|
|
|
34
|
-
${
|
|
34
|
+
${fb}`,Ob=`## AgentsMesh Generation Contract
|
|
35
35
|
|
|
36
|
-
${
|
|
36
|
+
${gb}`,Eb=`## AgentsMesh Generation Contract
|
|
37
37
|
|
|
38
|
-
${
|
|
38
|
+
${hb}`,Io=`${As}
|
|
39
39
|
## AgentsMesh Generation Contract
|
|
40
40
|
|
|
41
|
-
${
|
|
42
|
-
${Ts}`;i(
|
|
41
|
+
${yb}
|
|
42
|
+
${Ts}`;i(Oc,"normalizeWhitespace");Df=[Eb,Ob,wb,kb,Cb,Rb,_b,Sb,Ib];i(Ff,"appendAgentsmeshRootInstructionParagraph");i(vf,"stripAgentsmeshRootInstructionParagraph");});function Et(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}async function So(t){let e=await I(t);return e?O(e).frontmatter:{}}function yt(t,e){return typeof t[e]=="string"?t[e]:void 0}function xc(t){let e=t.hooks;return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function bb(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}function xb(t,e){let r=basename(t,".md")==="_root",n={...e};return delete n.root,{root:r,...n}}async function $(t,e,r){let n=await So(t),o=basename(t,".md")==="_root"?vf(r):r.trim(),s=xb(t,bb({...n,...e})),a={root:s.root===true,description:typeof s.description=="string"?s.description:""};a.root===false&&(a.globs=Et(s.globs));for(let[l,c]of Object.entries(s))l==="root"||l==="description"||l==="globs"||c===void 0||(a[l]=c);return N(a,o||"")}var Pc=f(()=>{E();F();bc();i(Et,"toStringArray");i(So,"readExistingFrontmatter");i(yt,"readString");i(xc,"readHooks");i(bb,"pruneUndefined");i(xb,"serializeCanonicalRuleFrontmatter");i($,"serializeImportedRuleWithFallback");});async function Q(t,e,r){let n=await So(t),o=(()=>{let l=Et(n.allowedTools);return l.length>0?l:Et(n["allowed-tools"])})(),s=e.hasDescription?e.description??"":typeof n.description=="string"?n.description:"",a=e.hasAllowedTools?e.allowedTools??[]:o;return N({description:s,"allowed-tools":a},r.trim()||"")}async function Le(t,e,r){let n=await So(t),o=basename(dirname(t)),s=yt(e,"name")??yt(n,"name")??o,a=yt(e,"description")??yt(n,"description")??"";return N({name:s,description:a},r.trim()||"")}async function $t(t,e,r){let n=await So(t),o=Object.prototype.hasOwnProperty.call(e,"tools")?Et(e.tools):(()=>{let R=Et(n.tools);return R.length>0?R:[]})(),s=Object.prototype.hasOwnProperty.call(e,"disallowedTools")?Et(e.disallowedTools):Object.prototype.hasOwnProperty.call(e,"disallowed-tools")?Et(e["disallowed-tools"]):Et(n.disallowedTools),a=Object.prototype.hasOwnProperty.call(e,"mcpServers")?Et(e.mcpServers):Object.prototype.hasOwnProperty.call(e,"mcp-servers")?Et(e["mcp-servers"]):Et(n.mcpServers),l=Object.prototype.hasOwnProperty.call(e,"skills")?Et(e.skills):Et(n.skills),c=e.maxTurns??e["max-turns"]??n.maxTurns,m=typeof c=="number"?c:Number(c??0),u=xc(e)??xc(n),p={name:yt(e,"name")??yt(n,"name")??basename(t,".md"),description:yt(e,"description")??yt(n,"description")??"",tools:o};s.length>0&&(p.disallowedTools=s);let d=yt(e,"model")??yt(n,"model");d&&(p.model=d);let g=yt(e,"permissionMode")??yt(e,"permission-mode")??yt(n,"permissionMode")??yt(n,"permission-mode");g&&(p.permissionMode=g),Number.isInteger(m)&&m>0&&(p.maxTurns=m),a.length>0&&(p.mcpServers=a),u&&Object.keys(u).length>0&&(p.hooks=u),l.length>0&&(p.skills=l);let h=yt(e,"memory")??yt(n,"memory");return h&&(p.memory=h),N(p,r.trim()||"")}var Gf=f(()=>{F();Pc();i(Q,"serializeImportedCommandWithFallback");i(Le,"serializeImportedSkillWithFallback");i($t,"serializeImportedAgentWithFallback");});var Y=f(()=>{Pc();Gf();});function Ne(t,e){let r=[];for(let n of t.skills){let o={name:n.name,description:n.description||void 0};o.description===void 0&&delete o.description,r.push({path:`${e}/${n.name}/SKILL.md`,content:N(o,n.body.trim()||"")});for(let s of n.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");r.push({path:`${e}/${n.name}/${a}`,content:s.content});}}return r}async function De(t,e,r,n,o){let s=await readdir(join(t,e),{encoding:"utf8",withFileTypes:true}).catch(()=>null);if(s!==null)for(let a of s){if(!a.isDirectory())continue;let l=join(t,e,a.name),c=join(l,"SKILL.md"),m=await I(c);if(m===null)continue;let u=join(t,Ac,a.name),p=join(u,"SKILL.md"),{frontmatter:d,body:g}=O(o(m,c,p)),h=await Le(p,{...d,name:a.name},g);await k(u),await _(p,h),n.push({fromTool:r,fromPath:c,toPath:`${Ac}/${a.name}/SKILL.md`,feature:"skills"});let R=await P(l);for(let C of R){if(C===c)continue;let S=relative(l,C).replace(/\\/g,"/"),w=await I(C);if(w===null)continue;let D=join(u,S);await k(dirname(D)),await _(D,o(w,C,D)),n.push({fromTool:r,fromPath:C,toPath:`${Ac}/${a.name}/${S}`,feature:"skills"});}}}var Ac,fe=f(()=>{E();F();Y();Ac=".agentsmesh/skills";i(Ne,"generateEmbeddedSkills");i(De,"importEmbeddedSkills");});var kn,ia,Fe,ge,Ls,wn,ur,Ns,ve,pr,Ds,Ro,Tc,On,aa,jf,En=f(()=>{kn="antigravity",ia=".agents",Fe=`${ia}/rules`,ge=`${Fe}/general.md`,Ls=`${Fe}/_root.md`,wn=`${ia}/skills`,ur=`${ia}/workflows`,Ns=`${ia}/antigravity/mcp_config.json`,ve=".gemini/antigravity/GEMINI.md",pr=".gemini/antigravity/skills",Ds=".gemini/antigravity/workflows",Ro=".gemini/antigravity/mcp_config.json",Tc=".agentsmesh/rules/_root.md",On=".agentsmesh/rules",aa=".agentsmesh/commands",jf=".agentsmesh/mcp.json";});function Uf(t){let e=t.rules.find(n=>n.root);if(!e)return [];let r=[{path:ge,content:e.body.trim()||""}];for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("antigravity"))continue;let o=basename(n.source,".md");r.push({path:`${Fe}/${o}.md`,content:n.body.trim()||""});}return r}function Wf(t){return t.commands.map(e=>{let r=e.description.trim(),n=e.body.trim(),o=r&&n&&!n.startsWith(r)?`${r}
|
|
43
43
|
|
|
44
|
-
${n}`:n||r;return {path:`${mr}/${e.name}.md`,content:o}})}function Uf(t){return Ne(t,wn)}function Wf(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Ns,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function Bf(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 pe(e?.body.trim()??"",r)}var Kf=f(()=>{de();Gr();En();i(Gf,"generateRules");i(jf,"generateCommands");i(Uf,"generateSkills");i(Wf,"generateMcp");i(Bf,"renderAntigravityGlobalInstructions");});function pr(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}function Yt(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Co(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function ko(t){return !t||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}var ge=f(()=>{i(pr,"toGlobsArray");i(Yt,"toToolsArray");i(Co,"toStringArray");i(ko,"toStringRecord");});function Lb(t,e){return e.some(r=>t.endsWith(r))}async function st(t){let r=(await P(t.srcDir)).filter(o=>Lb(o,t.extensions)),n=[];for(let o of r){let s=await S(o);if(!s)continue;let a=relative(t.srcDir,o).replace(/\\/g,"/"),l=await t.mapEntry({srcPath:o,relativePath:a,content:s,normalizeTo:i((c,m=s)=>t.normalize(m,o,c),"normalizeTo")});l&&(await k(dirname(l.destPath)),await R(l.destPath,l.content),n.push({fromTool:t.fromTool,fromPath:o,toPath:l.toPath,feature:l.feature}));}return n}var $e=f(()=>{b();i(Lb,"matchesExtension");i(st,"importFileDirectory");});function Hf(t){return typeof t=="string"?t:void 0}function Nb(t){for(let e of Object.keys(t))t[e]===void 0&&delete t[e];return t}function Tc(t,e){return e?e(t):t}function Db(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=w(e.normalizeTo(r)),s=Tc(n,t.frontmatterRemap),a=Nb({root:false,description:Hf(s.description),globs:Array.isArray(s.globs)?s.globs:void 0,...s});return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:await $(r,a,o)}}}function Fb(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=w(e.normalizeTo(r)),s=Tc(n,t.frontmatterRemap),a=await Q(r,{hasDescription:true,description:Hf(s.description),hasAllowedTools:true,allowedTools:Co(s["allowed-tools"])},o);return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:a}}}function vb(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=w(e.normalizeTo(r)),s=Tc(n,t.frontmatterRemap);return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:await $t(r,s,o)}}}function zf(t){if(t.map)return t.map;switch(t.preset){case "rule":return Db(t);case "command":return Fb(t);case "agent":return vb(t);default:throw new Error(`ImportFeatureSpec for ${t.feature} (mode: ${t.mode}) needs a \`preset\` or \`map\``)}}var Vf=f(()=>{F();Y();ge();i(Hf,"pickString");i(Nb,"pruneUndefined");i(Tc,"applyRemap");i(Db,"ruleMapper");i(Fb,"commandMapper");i(vb,"agentMapper");i(zf,"resolveMapper");});function Lc(t,e){return t?t[e]??[]:[]}var Jf,Yf=f(()=>{Jf=["rules","commands","agents","skills","mcp","hooks","permissions","ignore"];i(Lc,"resolveScopedSources");});async function $b(t,e,r,n,o){if(!t.canonicalRootFilename)throw new Error(`singleFile spec for ${t.feature} must set canonicalRootFilename`);let s=join(r,t.canonicalDir);for(let a of e){let l=join(r,a),c=await S(l);if(c===null)continue;await k(s);let m=join(s,t.canonicalRootFilename),u=i(_=>o(c,l,_),"normalizeTo");if(t.map){let _=await t.map({absolutePath:l,relativePath:a,content:c,destDir:s,normalizeTo:u});if(!_)continue;return await R(_.destPath,_.content),[{fromTool:n,fromPath:l,toPath:_.toPath,feature:t.feature}]}let{frontmatter:p,body:d}=w(u(m)),g=t.frontmatterRemap?t.frontmatterRemap(p):p,h=t.markAsRoot?{...g,root:true}:g,C=await $(m,h,d);return await R(m,C),[{fromTool:n,fromPath:l,toPath:`${t.canonicalDir}/${t.canonicalRootFilename}`,feature:t.feature}]}return []}async function Mb(t,e,r,n,o){let s=zf(t),a=join(r,t.canonicalDir),l=[];for(let c of e){let m=join(r,c),u=await st({srcDir:m,destDir:a,extensions:[...t.extensions??[".md"]],fromTool:n,normalize:o,mapEntry:i(async({srcPath:p,relativePath:d,content:g,normalizeTo:h})=>{let C=await s({absolutePath:p,relativePath:d,content:g,destDir:a,normalizeTo:i(_=>h(_),"normalizeTo")});return C?{destPath:C.destPath,toPath:C.toPath,feature:t.feature,content:C.content}:null},"mapEntry")});l.push(...u);}return l}async function Gb(t,e,r,n){if(!t.canonicalFilename)throw new Error(`flatFile spec for ${t.feature} must set canonicalFilename`);for(let o of e){let s=join(r,o),a=await S(s);if(a===null)continue;let l=join(r,t.canonicalFilename);return await k(dirname(l)),await R(l,a.trimEnd()),[{fromTool:n,fromPath:s,toPath:t.canonicalFilename,feature:t.feature}]}return []}function jb(t){let e;try{e=JSON.parse(t);}catch{return {}}if(!e||typeof e!="object")return {};let r=e.mcpServers;if(!r||typeof r!="object"||Array.isArray(r))return {};let n={};for(let[o,s]of Object.entries(r)){if(!s||typeof s!="object"||Array.isArray(s))continue;let a=s,l=typeof a.description=="string"?a.description:void 0;if(typeof a.command=="string"){n[o]={type:typeof a.type=="string"?a.type:"stdio",command:a.command,args:Co(a.args),env:ko(a.env),description:l};continue}typeof a.url=="string"&&(n[o]={type:typeof a.type=="string"?a.type:"http",url:a.url,headers:ko(a.headers),env:ko(a.env),description:l});}return n}async function Ub(t,e,r,n){if(!t.canonicalFilename)throw new Error(`mcpJson spec for ${t.feature} must set canonicalFilename`);for(let o of e){let s=join(r,o),a=await S(s);if(a===null)continue;let l=jb(a);if(Object.keys(l).length===0)return [];let c=join(r,t.canonicalFilename);return await k(dirname(c)),await R(c,JSON.stringify({mcpServers:l},null,2)),[{fromTool:n,fromPath:s,toPath:t.canonicalFilename,feature:t.feature}]}return []}async function Wb(t,e,r,n,o){let s=Lc(t.source,e),a=Lc(t.fallbacks,e),l=s.length>0?s:a;if(l.length===0)return [];switch(t.mode){case "singleFile":return $b(t,l,r,n,o);case "directory":return Mb(t,l,r,n,o);case "flatFile":return Gb(t,l,r,n);case "mcpJson":return Ub(t,l,r,n)}}function Bb(t,e){let r=t[e];return r?Array.isArray(r)?r:[r]:[]}async function gt(t,e,r,n){let o=t.importer;if(!o)return [];let s=n?.normalize??await H(t.id,e,r),a=[];for(let l of Jf)for(let c of Bb(o,l))a.push(...await Wb(c,r,e,t.id,s));return a}var Me=f(()=>{bt();b();F();ge();Y();$e();Vf();Yf();i($b,"runSingleFile");i(Mb,"runDirectory");i(Gb,"runFlatFile");i(jb,"parseMcpJson");i(Ub,"runMcpJson");i(Wb,"runSpec");i(Bb,"specsForFeature");i(gt,"runDescriptorImport");});function Kb(t){let e=t.replace(/\\/g,"/");return !e.startsWith("rules/")||e.endsWith("/")||!e.endsWith(".md")?null:e}async function Ge(t){let e=Tf(t.content),r=[];if(e.rules.length===0)return {rootContent:e.rootContent,results:r};await k(join(t.projectRoot,t.rulesDir));for(let n of e.rules){let o=Kb(n.source);if(o===null||o==="rules/_root.md")continue;let s=join(t.projectRoot,".agentsmesh",o),a=t.normalize(n.body,t.sourcePath,s),{frontmatter:l,body:c}=w(a),m=await $(s,{...l,root:false,description:n.description||void 0,globs:n.globs.length>0?n.globs:void 0,targets:n.targets.length>0?n.targets:void 0},c);await R(s,m),r.push({fromTool:t.fromTool,fromPath:t.sourcePath,toPath:`.agentsmesh/${o}`,feature:"rules"});}return {rootContent:e.rootContent,results:r}}var wo=f(()=>{b();F();Gr();Y();i(Kb,"canonicalRulePath");i(Ge,"splitEmbeddedRulesToCanonical");});async function Hb(t,e,r,n){let o=n==="global"?ve:fe,s=n==="project"?[o,Ls]:[o];for(let a of s){let l=join(t,a),c=await S(l);if(c===null)continue;let m=join(t,Pc),u=await Ge({content:c,projectRoot:t,rulesDir:On,sourcePath:l,fromTool:kn,normalize:r});e.push(...u.results);let{body:p}=w(r(u.rootContent,l,m)),d=await $(m,{root:true},p);await k(join(t,On)),await R(m,d),e.push({fromTool:kn,fromPath:l,toPath:Pc,feature:"rules"});return}}async function qf(t,e={}){let r=e.scope??"project",n=[],o=await H(kn,t,r);return await Hb(t,n,o,r),n.push(...await gt(la,t,r,{normalize:o})),await De(t,r==="global"?ur:wn,kn,n,o),n}var Qf=f(()=>{bt();b();F();de();Me();Y();wo();En();Dc();i(Hb,"importRootRule");i(qf,"importFromAntigravity");});var rg,ng,og=f(()=>{F();Y();En();rg=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{if(basename(t)==="general.md"||basename(t)==="_root.md")return null;let n=join(r,t),{frontmatter:o,body:s}=w(e(n));return {destPath:n,toPath:`${On}/${t}`,content:await $(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},s)}},"nonRootRuleMapper"),ng=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=w(e(n));return {destPath:n,toPath:`${aa}/${t}`,content:await Q(n,{hasDescription:typeof o.description=="string",description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},s)}},"workflowMapper");});function zb(t,e){return ig(e).some(n=>Vb(t,n))}function sg(t,e){return t.filter(r=>zb(r,e))}function ig(t){let e=t.match(/^(.+)\{([^}]+)\}(.*)$/);if(!e)return [t];let[,r,n,o]=e;if(!n)return [t];let s=n.split(",").map(l=>l.trim()),a=[];for(let l of s)for(let c of ig(r+l+o))a.push(c);return a}function Vb(t,e){return Jb(e).test(t)}function Jb(t){let e=[],r=0;for(;r<t.length;){if(t.startsWith("**",r)){let s=t.slice(r+2);if(s.length===0&&e.length===0)e.push(".*");else if(e.push(s.startsWith("/")?"(?:[^/]+/)*":"(?:/[^/]+)*?"),s.startsWith("/")){r+=3;continue}r+=2;continue}if(t[r]==="*"){e.push("[^/]*"),r+=1;continue}if(t[r]==="?"){e.push("[^/]"),r+=1;continue}if(t[r]==="{"){e.push("(?:"),r+=1;continue}if(t[r]==="}"){e.push(")"),r+=1;continue}if(t[r]===","){e.push("|"),r+=1;continue}".^$+?()[]{}|\\".includes(t[r])?e.push("\\"+t[r]):e.push(t[r]),r+=1;}let n="^"+e.join("")+"$";return new RegExp(n)}var ag=f(()=>{i(zb,"globMatch");i(sg,"globFilter");i(ig,"expandBraces");i(Vb,"matchOne");i(Jb,"globToRegex");});function lt(t,e,r,n={}){let o=[],{rules:s}=t;if(s.length===0)return [];if(s.some(l=>l.root)||o.push({level:"error",file:relative(e,s[0].source),message:"Rules exist but no root rule (_root.md or root: true). Add a root rule."}),n.checkGlobMatches===false)return o;for(let l of s){if(l.globs.length===0)continue;let c=false;for(let m of l.globs)if(sg(r,m).length>0){c=true;break}c||o.push({level:"warning",file:relative(e,l.source),message:`globs "${l.globs.join(", ")}" match 0 files in project`});}return o}var he=f(()=>{ag();i(lt,"validateRules");});function cg(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:kn}))}var mg=f(()=>{he();En();i(cg,"lintRules");});function Yb(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):typeof t=="string"&&t.length>0?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Eo(t){return `${Oo}${t}`}function ug(t){let e={name:Eo(t.name),description:t.description||void 0,"x-agentsmesh-kind":"command","x-agentsmesh-name":t.name,"x-agentsmesh-allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return e.description===void 0&&delete e.description,e["x-agentsmesh-allowed-tools"]===void 0&&delete e["x-agentsmesh-allowed-tools"],N(e,t.body.trim()||"")}function pg(t,e){if(t["x-agentsmesh-kind"]!=="command")return null;let r=typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"",n=e.startsWith(Oo)?e.slice(Oo.length):e.startsWith(Fs)?e.slice(Fs.length):"",o=(r||n).trim();return o?{name:o,description:typeof t.description=="string"?t.description:"",allowedTools:Yb(t["x-agentsmesh-allowed-tools"])}:null}function dg(t,e){return N({description:t.description,"allowed-tools":t.allowedTools},e.trim()||"")}var Oo,Fs,vs=f(()=>{F();Oo="am-command-",Fs="ab-command-";i(Yb,"toStringArray");i(Eo,"commandSkillDirName");i(ug,"serializeCommandSkill");i(pg,"parseCommandSkillFrontmatter");i(dg,"serializeImportedCommand");});function ca(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):typeof t=="string"&&t.length>0?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Xb(t){if(!t||typeof t!="object"||Array.isArray(t))return {};let e={};for(let[r,n]of Object.entries(t))Array.isArray(n)&&(e[r]=n.filter(o=>o!==null&&typeof o=="object"&&typeof o.matcher=="string"&&typeof o.command=="string"));return e}function Lt(t){return `${bo}${t}`}function ma(t){let e={name:Lt(t.name),description:t.description||void 0,"x-agentsmesh-kind":"agent","x-agentsmesh-name":t.name,"x-agentsmesh-tools":t.tools.length>0?t.tools:void 0,"x-agentsmesh-disallowed-tools":t.disallowedTools.length>0?t.disallowedTools:void 0,"x-agentsmesh-model":t.model||void 0,"x-agentsmesh-permission-mode":t.permissionMode||void 0,"x-agentsmesh-max-turns":t.maxTurns>0?t.maxTurns:void 0,"x-agentsmesh-mcp-servers":t.mcpServers.length>0?t.mcpServers:void 0,"x-agentsmesh-hooks":Object.keys(t.hooks).length>0?t.hooks:void 0,"x-agentsmesh-skills":t.skills.length>0?t.skills:void 0,"x-agentsmesh-memory":t.memory||void 0};return Object.keys(e).forEach(r=>{e[r]===void 0&&delete e[r];}),N(e,t.body.trim()||"")}function jr(t,e){if(t["x-agentsmesh-kind"]!=="agent")return null;let r=typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"",n=e.startsWith(bo)?e.slice(bo.length):e.startsWith($s)?e.slice($s.length):"",o=(r||n).trim();return o?{name:o,description:typeof t.description=="string"?t.description:"",tools:ca(t["x-agentsmesh-tools"]),disallowedTools:ca(t["x-agentsmesh-disallowed-tools"]),model:typeof t["x-agentsmesh-model"]=="string"?t["x-agentsmesh-model"]:"",permissionMode:typeof t["x-agentsmesh-permission-mode"]=="string"?t["x-agentsmesh-permission-mode"]:"",maxTurns:typeof t["x-agentsmesh-max-turns"]=="number"?t["x-agentsmesh-max-turns"]:Number(t["x-agentsmesh-max-turns"]??0),mcpServers:ca(t["x-agentsmesh-mcp-servers"]),hooks:Xb(t["x-agentsmesh-hooks"]),skills:ca(t["x-agentsmesh-skills"]),memory:typeof t["x-agentsmesh-memory"]=="string"?t["x-agentsmesh-memory"]:""}:null}function je(t,e){let r={name:t.name,description:t.description,tools:t.tools,disallowedTools:t.disallowedTools.length>0?t.disallowedTools:void 0,model:t.model||void 0,permissionMode:t.permissionMode||void 0,maxTurns:t.maxTurns>0?t.maxTurns:void 0,mcpServers:t.mcpServers.length>0?t.mcpServers:void 0,hooks:Object.keys(t.hooks).length>0?t.hooks:void 0,skills:t.skills.length>0?t.skills:void 0,memory:t.memory||void 0};return Object.keys(r).forEach(n=>{r[n]===void 0&&delete r[n];}),N(r,e.trim()||"")}var bo,$s,Xt=f(()=>{F();bo="am-agent-",$s="ab-agent-";i(ca,"toStringArray");i(Xb,"toHooks");i(Lt,"projectedAgentSkillDirName");i(ma,"serializeProjectedAgentSkill");i(jr,"parseProjectedAgentSkillFrontmatter");i(je,"serializeImportedAgent");});function A(t,e){return relative(t,e).replace(/\\/g,"/")}async function T(t,e){return P(join(t,e)).catch(()=>[])}function gg(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}function nx(t,e,r,n){let o=dirname(e),s=dirname(r);for(;o!==n&&o!==".";)gg(t,o,s),o=dirname(o),s=dirname(s);}function G(t,e,r,n){t.set(e,`${r}/${basename(e,n)}.md`);}function z(t,e,r){if(!e.startsWith(`${r}/`))return;let n=e.slice(r.length+1);if(!n)return;if(!n.includes("/")){if(!n.endsWith(".md")||basename(n)==="SKILL.md")return;let p=basename(n,".md");t.set(e,`${fg}/${p}/SKILL.md`);return}let[o,...s]=n.split("/"),a=s.join("/");if(!o||!a)return;let l=o.startsWith(Oo)?Oo:o.startsWith(Fs)?Fs:null;if(l&&a==="SKILL.md"){t.set(e,`${ex}/${o.slice(l.length)}.md`);return}let c=o.startsWith(bo)?bo:o.startsWith($s)?$s:null;if(c&&a==="SKILL.md"){t.set(e,`${rx}/${o.slice(c.length)}.md`);return}let m=`${fg}/${o}`;a==="SKILL.md"&&gg(t,`${r}/${o}`,m);let u=`${m}/${a}`;t.set(e,u),a!=="SKILL.md"&&nx(t,e,u,`${r}/${o}`);}function ox(t){return t.split("/").filter(Boolean)[0]??""}async function sx(){if(Fc!==void 0)return Fc;let{BUILTIN_TARGETS:t}=await Promise.resolve().then(()=>(rt(),hg)),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=ox(n);o.startsWith(".")&&e.add(o);}return Fc=e,e}function $c(t){return t.split("/").some(e=>e.startsWith("."))}async function ix(t){let e=[],r=await sx();async function n(o){let s=join(t,o),a=await readdir(s,{withFileTypes:true}).catch(()=>[]);for(let l of a){let c=o?`${o}/${l.name}`:l.name;if(l.isDirectory()){if(r.has(l.name)||$c(c))continue;await n(c);continue}if(l.isSymbolicLink()&&await stat(join(t,c)).then(m=>m.isDirectory(),()=>false)){if(r.has(l.name)||$c(c))continue;await n(c);continue}(l.name==="AGENTS.md"||l.name==="AGENTS.override.md")&&e.push(join(t,c));}}return i(n,"walk"),await n(""),e}async function pa(t,e){let r=await ix(e);for(let n of r){let o=A(e,n),s=o.endsWith("/AGENTS.md")&&o!=="AGENTS.md"&&!o.endsWith("/AGENTS.override.md"),a=o.endsWith("/AGENTS.override.md")&&o!=="AGENTS.override.md";if(!s&&!a)continue;let l=dirname(o);if($c(l))continue;let c=l.replace(/\//g,"-");t.set(o,`${tx}/${c}.md`);}}var tx,ex,rx,fg,Fc,Mt=f(()=>{b();vs();Xt();tx=".agentsmesh/rules",ex=".agentsmesh/commands",rx=".agentsmesh/agents",fg=".agentsmesh/skills";i(A,"rel");i(T,"listFiles");i(gg,"addDirectoryMapping");i(nx,"addAncestorMappings");i(G,"addSimpleFileMapping");i(z,"addSkillLikeMapping");i(ox,"firstPathSegment");i(sx,"targetRootSegments");i($c,"hasHiddenSegment");i(ix,"listScopedAgentsFiles");i(pa,"addScopedAgentsMappings");});var v,tt,kt,Gt=f(()=>{v=".agentsmesh/rules",tt=".agentsmesh/commands",kt=".agentsmesh/agents";});async function Mc(t,e,r="project"){if(r==="global"){t.set(ve,`${v}/_root.md`);for(let n of await T(e,ur))z(t,A(e,n),ur);t.set(_o,".agentsmesh/mcp.json");return}t.set(fe,`${v}/_root.md`),t.set(Ls,`${v}/_root.md`);for(let n of await T(e,Fe)){let o=A(e,n);o===fe||o===Ls||G(t,o,v,".md");}for(let n of await T(e,mr))G(t,A(e,n),tt,".md");for(let n of await T(e,wn))z(t,A(e,n),wn);}var yg=f(()=>{Mt();En();Gt();i(Mc,"buildAntigravityImportPaths");});var Ig,Ur,Sg,Gs,js,Us,Ws,Bs,fr,Gc,Ks,xo,Hs,zs,da,fa,jc,Vs,Uc,bn,Rg,gr=f(()=>{Ig="claude-code",Ur=".claude/CLAUDE.md",Sg="CLAUDE.md",Gs=".claude/rules",js=".claude/commands",Us=".claude/agents",Ws=".claude/skills",Bs=".claude/settings.json",fr=".claude/hooks.json",Gc=".claude/output-styles",Ks=".claudeignore",xo=".mcp.json",Hs=".claude.json",zs=".agentsmesh/rules",da=".agentsmesh/commands",fa=".agentsmesh/agents",jc=".agentsmesh/skills",Vs=".agentsmesh/mcp.json",Uc=".agentsmesh/permissions.yaml",bn=".agentsmesh/hooks.yaml",Rg=".agentsmesh/ignore";});async function Wc(t,e,r="project"){if(t.set(".claude/CLAUDE.md",`${v}/_root.md`),t.set(fr,bn),r==="project"&&t.set("CLAUDE.md",`${v}/_root.md`),r==="global")for(let n of await T(e,".agents/skills"))z(t,A(e,n),".agents/skills");for(let n of await T(e,".claude/rules"))G(t,A(e,n),v,".md");for(let n of await T(e,".claude/commands"))G(t,A(e,n),tt,".md");for(let n of await T(e,".claude/agents"))G(t,A(e,n),kt,".md");for(let n of await T(e,".claude/skills"))z(t,A(e,n),".claude/skills");}var _g=f(()=>{Mt();gr();Gt();i(Wc,"buildClaudeCodeImportPaths");});var Wr,hr,xn,yr,Cg,It,Ue,Br,Pn,An,Tn,Ln,Bc,Kr,ga,Kc,Hc,zc,kg,Zt=f(()=>{Wr="cline",hr=".clinerules",xn=".clineignore",yr=".cline/cline_mcp_settings.json",Cg=".cline/mcp_settings.json",It=".cline/skills",Ue=".clinerules/workflows",Br="AGENTS.md",Pn=".clinerules/hooks",An="Documents/Cline/Rules",Tn="Documents/Cline/Workflows",Ln="Documents/Cline/Hooks",Bc=".agentsmesh/hooks.yaml",Kr=".agentsmesh/rules",ga=".agentsmesh/commands",Kc=".agentsmesh/ignore",Hc=".agentsmesh/mcp.json",zc=".agentsmesh/agents",kg=".agentsmesh/skills";});async function Vc(t,e,r="project"){if(r==="global"){for(let n of await T(e,An))G(t,A(e,n),v,".md");for(let n of await T(e,Tn))G(t,A(e,n),tt,".md");for(let n of await T(e,It))z(t,A(e,n),It);t.set(yr,".agentsmesh/mcp.json");return}t.set(".clinerules/_root.md",`${v}/_root.md`);for(let n of await T(e,".clinerules")){let o=A(e,n);!o.endsWith(".md")||o.includes("/workflows/")||basename(o)==="_root.md"||G(t,o,v,".md");}for(let n of await T(e,".clinerules/workflows"))G(t,A(e,n),tt,".md");for(let n of await T(e,".cline/skills"))z(t,A(e,n),".cline/skills");}var wg=f(()=>{Mt();Zt();Gt();i(Vc,"buildClineImportPaths");});async function Jc(t,e,r="project"){if(r==="global"?(t.set(".codex/AGENTS.md",`${v}/_root.md`),t.set(".codex/AGENTS.override.md",`${v}/_root.md`)):(t.set("AGENTS.md",`${v}/_root.md`),t.set("codex.md",`${v}/_root.md`),await pa(t,e)),r==="project")for(let n of await T(e,".codex/instructions"))G(t,A(e,n),v,".md");for(let n of await T(e,".codex/rules")){let o=A(e,n);o.endsWith(".rules")?G(t,o,v,".rules"):o.endsWith(".md")&&G(t,o,v,".md");}for(let n of await T(e,".codex/agents"))G(t,A(e,n),kt,".toml");for(let n of await T(e,".agents/skills"))z(t,A(e,n),".agents/skills");}var Og=f(()=>{Mt();Gt();i(Jc,"buildCodexCliImportPaths");});var Po,ye,We,Yc,ha,Ir,Xc,Be,Ao,Js,ya,Ia,Zc,Ke=f(()=>{Po="continue",ye=".continue/rules",We=".continue/prompts",Yc=".continue/mcpServers",ha=`${Yc}/agentsmesh.json`,Ir=`${ye}/general.md`,Xc=`${ye}/_root.md`,Be=".continue/skills",Ao=".continue/AGENTS.md",Js=".continue/config.yaml",ya=".agentsmesh/rules",Ia=".agentsmesh/commands",Zc=".agentsmesh/mcp.json";});async function qc(t,e,r="project"){t.set(Ir,`${v}/_root.md`),t.set(Xc,`${v}/_root.md`);for(let n of await T(e,".continue/rules")){let o=A(e,n);o===Ir||o===Xc||G(t,o,v,".md");}for(let n of await T(e,".continue/prompts"))t.set(A(e,n),`${tt}/${basename(n,".md")}.md`);for(let n of await T(e,".continue/skills"))z(t,A(e,n),".continue/skills");if(r==="global")for(let n of await T(e,".agents/skills"))z(t,A(e,n),".agents/skills");}var Eg=f(()=>{Mt();Ke();Gt();i(qc,"buildContinueImportPaths");});function cx(t,e){if(e.endsWith(".instructions.md")){t.set(e,`${v}/${basename(e,".instructions.md")}.md`);return}G(t,e,v,".md");}async function Qc(t,e){t.set(".github/copilot-instructions.md",`${v}/_root.md`);for(let r of await T(e,".github/copilot"))t.set(A(e,r),`${v}/${basename(r,".instructions.md")}.md`);for(let r of await T(e,".github/instructions"))cx(t,A(e,r));for(let r of await T(e,".github/prompts"))t.set(A(e,r),`${tt}/${basename(r,".prompt.md")}.md`);for(let r of await T(e,".github/agents"))t.set(A(e,r),`${kt}/${basename(r,".agent.md")}.md`);for(let r of await T(e,".github/skills"))z(t,A(e,r),".github/skills");}var bg=f(()=>{Mt();Gt();i(cx,"addCopilotInstructionMapping");i(Qc,"buildCopilotImportPaths");});var xg,Hr,Pg,qt,Sr,Qt,To,He,ze,Ve,Ra,Ie,tm,mx,Lo,Se,Ys,zr,Vr,Je,Jr,Yr,Ag,No,em,Xs,rm,ct=f(()=>{xg="cursor",Hr="AGENTS.md",Pg=".cursorrules",qt=".cursor/rules",Sr=`${qt}/general.mdc`,Qt=".cursor/commands",To=".cursor/agents",He=".cursor/skills",ze=".cursor/mcp.json",Ve=".cursor/hooks.json",Ra=".cursor/settings.json",Ie=".cursorignore",tm=".cursorindexingignore",mx=".agentsmesh-exports/cursor",Lo=`${mx}/user-rules.md`,Se=".cursor/AGENTS.md",Ys=ze,zr=He,Vr=To,Je=".agentsmesh/rules",Jr=".agentsmesh/commands",Yr=".agentsmesh/agents",Ag=".agentsmesh/skills",No=".agentsmesh/mcp.json",em=".agentsmesh/permissions.yaml",Xs=".agentsmesh/hooks.yaml",rm=".agentsmesh/ignore";});async function nm(t,e,r="project"){if(r==="global"){t.set(ze,".agentsmesh/mcp.json"),t.set(".cursor/AGENTS.md",`${v}/_root.md`);for(let n of await T(e,".cursor/rules"))G(t,A(e,n),v,".mdc");for(let n of await T(e,".cursor/commands"))G(t,A(e,n),tt,".md");for(let n of await T(e,".cursor/agents"))G(t,A(e,n),kt,".md");for(let n of await T(e,".cursor/skills"))z(t,A(e,n),".cursor/skills");return}t.set("AGENTS.md",`${v}/_root.md`);for(let n of await T(e,".cursor/rules"))G(t,A(e,n),v,".mdc");for(let n of await T(e,".cursor/commands"))G(t,A(e,n),tt,".md");for(let n of await T(e,".cursor/agents"))G(t,A(e,n),kt,".md");for(let n of await T(e,".cursor/skills"))z(t,A(e,n),".cursor/skills");}var Tg=f(()=>{Mt();ct();Gt();i(nm,"buildCursorImportPaths");});async function om(t,e){for(let r of await T(e,".gemini/rules"))G(t,A(e,r),v,".md");for(let r of await T(e,".gemini/commands")){let n=A(e,r);if(!n.endsWith(".toml")&&!n.endsWith(".md"))continue;let o=n.replace(/\.(toml|md)$/i,""),s=".gemini/commands/",c=(o.startsWith(s)?o.slice(s.length):o).split("/").filter(Boolean).join(":");t.set(n,`${tt}/${c}.md`);}for(let r of await T(e,".gemini/agents"))G(t,A(e,r),kt,".md");for(let r of await T(e,".gemini/skills"))z(t,A(e,r),".gemini/skills");}var Lg=f(()=>{Mt();Gt();i(om,"buildGeminiCliImportPaths");});var Nn,Xr,_a,Ng,Ye,Dg,ux,Zs,Dn,qs,Do,Fo,Qs,ti,ei,ri,ni,px,Ca,Fn,Fg,sm,ka,vg,$g,Mg,Gg,vo=f(()=>{Nn="junie",Xr=".junie",_a=`${Xr}/guidelines.md`,Ng=`${Xr}/ci-guidelines.md`,Ye=`${Xr}/AGENTS.md`,Dg="AGENTS.md",ux=`${Xr}/mcp`,Zs=`${ux}/mcp.json`,Dn=`${Xr}/skills`,qs=`${Xr}/rules`,Do=`${Xr}/commands`,Fo=`${Xr}/agents`,Qs=".aiignore",ti=".junie",ei=`${ti}/skills`,ri=`${ti}/agents`,ni=`${ti}/commands`,px=`${ti}/mcp`,Ca=`${px}/mcp.json`,Fn=`${ti}/AGENTS.md`,Fg=".agents/skills",sm=".agentsmesh/rules/_root.md",ka=".agentsmesh/rules",vg=".agentsmesh/commands",$g=".agentsmesh/agents",Mg=".agentsmesh/mcp.json",Gg=".agentsmesh/ignore";});async function im(t,e){t.set(_a,`${v}/_root.md`),t.set(Ye,`${v}/_root.md`),t.set("AGENTS.md",`${v}/_root.md`);for(let r of await T(e,".junie/rules"))G(t,A(e,r),v,".md");for(let r of await T(e,".junie/commands"))G(t,A(e,r),tt,".md");for(let r of await T(e,".junie/agents"))G(t,A(e,r),kt,".md");for(let r of await T(e,".junie/skills"))z(t,A(e,r),".junie/skills");}var jg=f(()=>{Mt();vo();Gt();i(im,"buildJunieImportPaths");});var jt,Re,oi,_e,te,Ce,Zr,Ug,$o,Mo,vn,ke,qr,$n,si,ii,Wg,am,lm,Bg,Kg,cm,Hg,Go=f(()=>{jt="kiro",Re="AGENTS.md",oi=".kiro",_e=`${oi}/steering`,te=`${oi}/skills`,Ce=`${oi}/agents`,Zr=`${oi}/hooks`,Ug=`${oi}/settings`,$o=`${Ug}/mcp.json`,Mo=".kiroignore",vn=".kiro/steering",ke=".kiro/steering/AGENTS.md",qr=".kiro/skills",$n=".kiro/agents",si=".kiro/settings/mcp.json",ii=".kiro/settings/kiroignore",Wg=".agents/skills",am=".agentsmesh/rules/_root.md",lm=".agentsmesh/rules",Bg=".agentsmesh/agents",Kg=".agentsmesh/mcp.json",cm=".agentsmesh/hooks.yaml",Hg=".agentsmesh/ignore";});async function mm(t,e,r="project"){if(r==="global"){t.set(ke,`${v}/_root.md`);for(let n of await T(e,vn)){let o=A(e,n);o!==ke&&G(t,o,v,".md");}for(let n of await T(e,qr))z(t,A(e,n),qr);for(let n of await T(e,$n))G(t,A(e,n),kt,".md");return}t.set(Re,`${v}/_root.md`);for(let n of await T(e,_e))G(t,A(e,n),v,".md");for(let n of await T(e,te))z(t,A(e,n),te);for(let n of await T(e,Ce))G(t,A(e,n),kt,".md");}var zg=f(()=>{Mt();Go();Gt();i(mm,"buildKiroImportPaths");});var Qr,Mn,we,ai,Rr,_r,Xe,li,ci,jo,mi,wa,tn,en,Cr,Gn,ui,rn,Vg,jn,Oa,Jg,Yg,Un=f(()=>{Qr="roo-code",Mn=".roo",we=`${Mn}/rules/00-root.md`,ai=".roorules",Rr=`${Mn}/rules`,_r=`${Mn}/commands`,Xe=`${Mn}/skills`,li=`${Mn}/mcp.json`,ci=".rooignore",jo=".roomodes",mi="settings/custom_modes.yaml",wa=".roo",tn=`${wa}/rules`,en=`${wa}/commands`,Cr=`${wa}/skills`,Gn="mcp_settings.json",ui=".rooignore",rn=`${wa}/AGENTS.md`,Vg=".agents/skills",jn=".agentsmesh/rules",Oa=".agentsmesh/commands",Jg=".agentsmesh/mcp.json",Yg=".agentsmesh/ignore";});async function um(t,e,r="project"){if(r==="global"){t.set(rn,`${v}/_root.md`);for(let n of await T(e,tn))G(t,A(e,n),v,".md");for(let n of await T(e,en))G(t,A(e,n),tt,".md");for(let n of await T(e,Cr))z(t,A(e,n),Cr);t.set(Gn,".agentsmesh/mcp.json");return}t.set(we,`${v}/_root.md`),t.set(ai,`${v}/_root.md`);for(let n of await T(e,Rr)){let o=A(e,n);o!==we&&G(t,o,v,".md");}for(let n of await T(e,".roo")){let o=A(e,n);/^\.roo\/rules-[^/]+\/.+\.md$/.test(o)&&G(t,o,v,".md");}for(let n of await T(e,_r))G(t,A(e,n),tt,".md");for(let n of await T(e,Xe))z(t,A(e,n),Xe);}var Xg=f(()=>{Mt();Un();Gt();i(um,"buildRooCodeImportPaths");});async function pm(t,e){t.set("AGENTS.md",`${v}/_root.md`),t.set(".windsurfrules",`${v}/_root.md`),await pa(t,e);for(let r of await T(e,".windsurf/rules"))G(t,A(e,r),v,".md");for(let r of await T(e,".windsurf/workflows"))G(t,A(e,r),tt,".md");for(let r of await T(e,".windsurf/skills"))z(t,A(e,r),".windsurf/skills");}var Zg=f(()=>{Mt();Gt();i(pm,"buildWindsurfImportPaths");});var qg=f(()=>{yg();_g();wg();Og();Eg();bg();Tg();Lg();jg();zg();Xg();Zg();});var Ut=f(()=>{qg();});var dx,fx,gx,hx,la,Dc=f(()=>{Cn();Kf();En();Qf();og();mg();Ut();dx={name:"antigravity",primaryRootInstructionPath:fe,generateRules:Gf,generateCommands:jf,generateSkills:Uf,generateMcp:Wf,importFrom:qf},fx={rootInstructionPath:fe,skillDir:".agents/skills",rewriteGeneratedPath(t){return t===Ns?null:t},paths:{rulePath(t,e){return `${Fe}/${t}.md`},commandPath(t,e){return `${mr}/${t}.md`},agentPath(t,e){return null}}},gx={rootInstructionPath:ve,renderPrimaryRootInstruction:Bf,skillDir:ur,managedOutputs:{dirs:[ur,Ds],files:[ve,_o]},rewriteGeneratedPath(t){return t===fe?ve:t.startsWith(`${Fe}/`)?null:t.startsWith(".agents/skills/")?t.replace(".agents/skills",ur):t.startsWith(`${mr}/`)?t.replace(mr,Ds):t===Ns?_o:t},paths:{rulePath(t,e){return ve},commandPath(t,e){return `${Ds}/${t}.md`},agentPath(t,e){return null}}},hx={rules:"native",additionalRules:"embedded",commands:ue("partial","workflows"),agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},la={id:"antigravity",generators:dx,capabilities:{rules:"native",additionalRules:"native",commands:ue("partial","workflows"),agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},emptyImportMessage:"No Antigravity config found (.agents/rules/, .agents/skills/, or .agents/workflows/).",lintRules:cg,project:fx,globalSupport:{capabilities:hx,detectionPaths:[".gemini/antigravity/GEMINI.md",".gemini/antigravity/skills",".gemini/antigravity/workflows",".gemini/antigravity/mcp_config.json"],layout:gx},importer:{rules:{feature:"rules",mode:"directory",source:{project:[Fe]},canonicalDir:On,extensions:[".md"],map:rg},commands:{feature:"commands",mode:"directory",source:{project:[mr],global:[Ds]},canonicalDir:aa,extensions:[".md"],map:ng},mcp:{feature:"mcp",mode:"flatFile",source:{global:[_o]},canonicalDir:".agentsmesh",canonicalFilename:Mf}},buildImportPaths:Mc,detectionPaths:[".agents/rules/general.md",".agents/rules/",".agents/skills/",".agents/workflows/"]};});function Qg(t){if(!t.hooks||Object.keys(t.hooks).length===0)return {};let e={};for(let[r,n]of Object.entries(t.hooks)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!Te(s))continue;let a=ut(s),l=Ot(s),c=s.type==="prompt"?l||a:a||l,m={type:s.type==="prompt"?"prompt":"command",[s.type==="prompt"?"prompt":"command"]:c};s.timeout!==void 0&&(m.timeout=s.timeout),o.push({matcher:s.matcher,hooks:[m]});}o.length>0&&(e[r]=o);}return e}var th=f(()=>{le();i(Qg,"buildClaudeHooksObjectFromCanonical");});function eh(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:Ur,content:r.body.trim()?r.body:""});let n=t.rules.filter(o=>!o.root&&(o.targets.length===0||o.targets.includes("claude-code")));for(let o of n){let s=basename(o.source,".md"),a={};o.description&&(a.description=o.description),o.globs.length>0&&(a.globs=o.globs);let l=N(a,o.body.trim()||"");e.push({path:`${Gs}/${s}.md`,content:l});}return e}function rh(t){return t.commands.map(e=>{let r={description:e.description,"allowed-tools":e.allowedTools.length>0?e.allowedTools:void 0};r["allowed-tools"]===void 0&&delete r["allowed-tools"];let n=N(r,e.body.trim()||"");return {path:`${js}/${e.name}.md`,content:n}})}function nh(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0,model:e.model||void 0,permissionMode:e.permissionMode||void 0,maxTurns:e.maxTurns>0?e.maxTurns:void 0,mcpServers:e.mcpServers.length>0?e.mcpServers:void 0,hooks:Object.keys(e.hooks).length>0?e.hooks:void 0,skills:e.skills.length>0?e.skills:void 0,memory:e.memory||void 0};Object.keys(r).forEach(a=>{r[a]===void 0&&delete r[a];});let n=e.body.trim()||"",o=/^##\s*Role\b/m.test(n)?n:`## Role
|
|
44
|
+
${n}`:n||r;return {path:`${ur}/${e.name}.md`,content:o}})}function Bf(t){return Ne(t,wn)}function Kf(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:Ns,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function Hf(t){let e=t.rules.find(n=>n.root),r=t.rules.filter(n=>n.root?false:n.targets.length===0||n.targets.includes("antigravity"));return de(e?.body.trim()??"",r)}var zf=f(()=>{fe();Gr();En();i(Uf,"generateRules");i(Wf,"generateCommands");i(Bf,"generateSkills");i(Kf,"generateMcp");i(Hf,"renderAntigravityGlobalInstructions");});function dr(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}function Yt(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Co(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function ko(t){return !t||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}var he=f(()=>{i(dr,"toGlobsArray");i(Yt,"toToolsArray");i(Co,"toStringArray");i(ko,"toStringRecord");});function vb(t,e){return e.some(r=>t.endsWith(r))}async function st(t){let r=(await P(t.srcDir)).filter(o=>vb(o,t.extensions)),n=[];for(let o of r){let s=await I(o);if(!s)continue;let a=relative(t.srcDir,o).replace(/\\/g,"/"),l=await t.mapEntry({srcPath:o,relativePath:a,content:s,normalizeTo:i((c,m=s)=>t.normalize(m,o,c),"normalizeTo")});l&&(await k(dirname(l.destPath)),await _(l.destPath,l.content),n.push({fromTool:t.fromTool,fromPath:o,toPath:l.toPath,feature:l.feature}));}return n}var $e=f(()=>{E();i(vb,"matchesExtension");i(st,"importFileDirectory");});function Vf(t){return typeof t=="string"?t:void 0}function $b(t){for(let e of Object.keys(t))t[e]===void 0&&delete t[e];return t}function Nc(t,e){return e?e(t):t}function Mb(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=O(e.normalizeTo(r)),s=Nc(n,t.frontmatterRemap),a=$b({root:false,description:Vf(s.description),globs:Array.isArray(s.globs)?s.globs:void 0,...s});return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:await $(r,a,o)}}}function Gb(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=O(e.normalizeTo(r)),s=Nc(n,t.frontmatterRemap),a=await Q(r,{hasDescription:true,description:Vf(s.description),hasAllowedTools:true,allowedTools:Co(s["allowed-tools"])},o);return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:a}}}function jb(t){return async e=>{let r=join(e.destDir,e.relativePath),{frontmatter:n,body:o}=O(e.normalizeTo(r)),s=Nc(n,t.frontmatterRemap);return {destPath:r,toPath:`${t.canonicalDir}/${e.relativePath}`,content:await $t(r,s,o)}}}function Jf(t){if(t.map)return t.map;switch(t.preset){case "rule":return Mb(t);case "command":return Gb(t);case "agent":return jb(t);default:throw new Error(`ImportFeatureSpec for ${t.feature} (mode: ${t.mode}) needs a \`preset\` or \`map\``)}}var Yf=f(()=>{F();Y();he();i(Vf,"pickString");i($b,"pruneUndefined");i(Nc,"applyRemap");i(Mb,"ruleMapper");i(Gb,"commandMapper");i(jb,"agentMapper");i(Jf,"resolveMapper");});function Dc(t,e){return t?t[e]??[]:[]}var Xf,Zf=f(()=>{Xf=["rules","commands","agents","skills","mcp","hooks","permissions","ignore"];i(Dc,"resolveScopedSources");});async function Wb(t,e,r,n,o){if(!t.canonicalRootFilename)throw new Error(`singleFile spec for ${t.feature} must set canonicalRootFilename`);let s=join(r,t.canonicalDir);for(let a of e){let l=join(r,a),c=await I(l);if(c===null)continue;await k(s);let m=join(s,t.canonicalRootFilename),u=i(C=>o(c,l,C),"normalizeTo");if(t.map){let C=await t.map({absolutePath:l,relativePath:a,content:c,destDir:s,normalizeTo:u});if(!C)continue;return await _(C.destPath,C.content),[{fromTool:n,fromPath:l,toPath:C.toPath,feature:t.feature}]}let{frontmatter:p,body:d}=O(u(m)),g=t.frontmatterRemap?t.frontmatterRemap(p):p,h=t.markAsRoot?{...g,root:true}:g,R=await $(m,h,d);return await _(m,R),[{fromTool:n,fromPath:l,toPath:`${t.canonicalDir}/${t.canonicalRootFilename}`,feature:t.feature}]}return []}async function Bb(t,e,r,n,o){let s=Jf(t),a=join(r,t.canonicalDir),l=[];for(let c of e){let m=join(r,c),u=await st({srcDir:m,destDir:a,extensions:[...t.extensions??[".md"]],fromTool:n,normalize:o,mapEntry:i(async({srcPath:p,relativePath:d,content:g,normalizeTo:h})=>{let R=await s({absolutePath:p,relativePath:d,content:g,destDir:a,normalizeTo:i(C=>h(C),"normalizeTo")});return R?{destPath:R.destPath,toPath:R.toPath,feature:t.feature,content:R.content}:null},"mapEntry")});l.push(...u);}return l}function tg(t){let e=t.canonicalFilename;return e.includes("/")||e.includes("\\")?e:posix.join(t.canonicalDir,e)}async function Kb(t,e,r,n){if(!t.canonicalFilename)throw new Error(`flatFile spec for ${t.feature} must set canonicalFilename`);let o=tg(t);for(let s of e){let a=join(r,s),l=await I(a);if(l===null)continue;let c=join(r,o);return await k(dirname(c)),await _(c,l.trimEnd()),[{fromTool:n,fromPath:a,toPath:o,feature:t.feature}]}return []}function Hb(t){let e;try{e=JSON.parse(t);}catch{return {}}if(!e||typeof e!="object")return {};let r=e.mcpServers;if(!r||typeof r!="object"||Array.isArray(r))return {};let n={};for(let[o,s]of Object.entries(r)){if(!s||typeof s!="object"||Array.isArray(s))continue;let a=s,l=typeof a.description=="string"?a.description:void 0;if(typeof a.command=="string"){n[o]={type:typeof a.type=="string"?a.type:"stdio",command:a.command,args:Co(a.args),env:ko(a.env),description:l};continue}typeof a.url=="string"&&(n[o]={type:typeof a.type=="string"?a.type:"http",url:a.url,headers:ko(a.headers),env:ko(a.env),description:l});}return n}async function zb(t,e,r,n){if(!t.canonicalFilename)throw new Error(`mcpJson spec for ${t.feature} must set canonicalFilename`);let o=tg(t);for(let s of e){let a=join(r,s),l=await I(a);if(l===null)continue;let c=Hb(l);if(Object.keys(c).length===0)return [];let m=join(r,o);return await k(dirname(m)),await _(m,JSON.stringify({mcpServers:c},null,2)),[{fromTool:n,fromPath:a,toPath:o,feature:t.feature}]}return []}function qf(t,e,r,n,o){switch(t.mode){case "singleFile":return Wb(t,e,r,n,o);case "directory":return Bb(t,e,r,n,o);case "flatFile":return Kb(t,e,r,n);case "mcpJson":return zb(t,e,r,n)}}async function Vb(t,e,r,n,o){let s=Dc(t.source,e),a=Dc(t.fallbacks,e);if(s.length===0&&a.length===0)return [];if(s.length>0){let l=await qf(t,s,r,n,o);if(l.length>0)return l}return a.length>0?qf(t,a,r,n,o):[]}function Jb(t,e){let r=t[e];return r?Array.isArray(r)?r:[r]:[]}async function gt(t,e,r,n){let o=t.importer;if(!o)return [];let s=n?.normalize??await H(t.id,e,r),a=[];for(let l of Xf)for(let c of Jb(o,l))a.push(...await Vb(c,r,e,t.id,s));return a}var Me=f(()=>{bt();E();F();he();Y();$e();Yf();Zf();i(Wb,"runSingleFile");i(Bb,"runDirectory");i(tg,"resolveCanonicalFilePath");i(Kb,"runFlatFile");i(Hb,"parseMcpJson");i(zb,"runMcpJson");i(qf,"dispatchSpec");i(Vb,"runSpec");i(Jb,"specsForFeature");i(gt,"runDescriptorImport");});function Yb(t){let e=t.replace(/\\/g,"/");return !e.startsWith("rules/")||e.endsWith("/")||!e.endsWith(".md")?null:e}async function Ge(t){let e=Nf(t.content),r=[];if(e.rules.length===0)return {rootContent:e.rootContent,results:r};await k(join(t.projectRoot,t.rulesDir));for(let n of e.rules){let o=Yb(n.source);if(o===null||o==="rules/_root.md")continue;let s=join(t.projectRoot,".agentsmesh",o),a=t.normalize(n.body,t.sourcePath,s),{frontmatter:l,body:c}=O(a),m=await $(s,{...l,root:false,description:n.description||void 0,globs:n.globs.length>0?n.globs:void 0,targets:n.targets.length>0?n.targets:void 0},c);await _(s,m),r.push({fromTool:t.fromTool,fromPath:t.sourcePath,toPath:`.agentsmesh/${o}`,feature:"rules"});}return {rootContent:e.rootContent,results:r}}var wo=f(()=>{E();F();Gr();Y();i(Yb,"canonicalRulePath");i(Ge,"splitEmbeddedRulesToCanonical");});async function Xb(t,e,r,n){let o=n==="global"?ve:ge,s=n==="project"?[o,Ls]:[o];for(let a of s){let l=join(t,a),c=await I(l);if(c===null)continue;let m=join(t,Tc),u=await Ge({content:c,projectRoot:t,rulesDir:On,sourcePath:l,fromTool:kn,normalize:r});e.push(...u.results);let{body:p}=O(r(u.rootContent,l,m)),d=await $(m,{root:true},p);await k(join(t,On)),await _(m,d),e.push({fromTool:kn,fromPath:l,toPath:Tc,feature:"rules"});return}}async function rg(t,e={}){let r=e.scope??"project",n=[],o=await H(kn,t,r);return await Xb(t,n,o,r),n.push(...await gt(la,t,r,{normalize:o})),await De(t,r==="global"?pr:wn,kn,n,o),n}var ng=f(()=>{bt();E();F();fe();Me();Y();wo();En();vc();i(Xb,"importRootRule");i(rg,"importFromAntigravity");});var ig,ag,lg=f(()=>{F();Y();En();ig=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{if(basename(t)==="general.md"||basename(t)==="_root.md")return null;let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${On}/${t}`,content:await $(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},s)}},"nonRootRuleMapper"),ag=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${aa}/${t}`,content:await Q(n,{hasDescription:typeof o.description=="string",description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},s)}},"workflowMapper");});function Zb(t,e){return mg(e).some(n=>qb(t,n))}function cg(t,e){return t.filter(r=>Zb(r,e))}function mg(t){let e=t.match(/^(.+)\{([^}]+)\}(.*)$/);if(!e)return [t];let[,r,n,o]=e;if(!n)return [t];let s=n.split(",").map(l=>l.trim()),a=[];for(let l of s)for(let c of mg(r+l+o))a.push(c);return a}function qb(t,e){return Qb(e).test(t)}function Qb(t){let e=[],r=0;for(;r<t.length;){if(t.startsWith("**",r)){let s=t.slice(r+2);if(s.length===0&&e.length===0)e.push(".*");else if(e.push(s.startsWith("/")?"(?:[^/]+/)*":"(?:/[^/]+)*?"),s.startsWith("/")){r+=3;continue}r+=2;continue}if(t[r]==="*"){e.push("[^/]*"),r+=1;continue}if(t[r]==="?"){e.push("[^/]"),r+=1;continue}if(t[r]==="{"){e.push("(?:"),r+=1;continue}if(t[r]==="}"){e.push(")"),r+=1;continue}if(t[r]===","){e.push("|"),r+=1;continue}".^$+?()[]{}|\\".includes(t[r])?e.push("\\"+t[r]):e.push(t[r]),r+=1;}let n="^"+e.join("")+"$";return new RegExp(n)}var ug=f(()=>{i(Zb,"globMatch");i(cg,"globFilter");i(mg,"expandBraces");i(qb,"matchOne");i(Qb,"globToRegex");});function lt(t,e,r,n={}){let o=[],{rules:s}=t;if(s.length===0)return [];if(s.some(l=>l.root)||o.push({level:"error",file:relative(e,s[0].source),message:"Rules exist but no root rule (_root.md or root: true). Add a root rule."}),n.checkGlobMatches===false)return o;for(let l of s){if(l.globs.length===0)continue;let c=false;for(let m of l.globs)if(cg(r,m).length>0){c=true;break}c||o.push({level:"warning",file:relative(e,l.source),message:`globs "${l.globs.join(", ")}" match 0 files in project`});}return o}var ye=f(()=>{ug();i(lt,"validateRules");});function dg(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:kn}))}var fg=f(()=>{ye();En();i(dg,"lintRules");});function tx(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):typeof t=="string"&&t.length>0?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Eo(t){return `${Oo}${t}`}function gg(t){let e={name:Eo(t.name),description:t.description||void 0,"x-agentsmesh-kind":"command","x-agentsmesh-name":t.name,"x-agentsmesh-allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return e.description===void 0&&delete e.description,e["x-agentsmesh-allowed-tools"]===void 0&&delete e["x-agentsmesh-allowed-tools"],N(e,t.body.trim()||"")}function hg(t,e){if(t["x-agentsmesh-kind"]!=="command")return null;let r=typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"",n=e.startsWith(Oo)?e.slice(Oo.length):e.startsWith(Fs)?e.slice(Fs.length):"",o=(r||n).trim();return o?{name:o,description:typeof t.description=="string"?t.description:"",allowedTools:tx(t["x-agentsmesh-allowed-tools"])}:null}function yg(t,e){return N({description:t.description,"allowed-tools":t.allowedTools},e.trim()||"")}var Oo,Fs,vs=f(()=>{F();Oo="am-command-",Fs="ab-command-";i(tx,"toStringArray");i(Eo,"commandSkillDirName");i(gg,"serializeCommandSkill");i(hg,"parseCommandSkillFrontmatter");i(yg,"serializeImportedCommand");});function ca(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):typeof t=="string"&&t.length>0?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function ex(t){if(!t||typeof t!="object"||Array.isArray(t))return {};let e={};for(let[r,n]of Object.entries(t))Array.isArray(n)&&(e[r]=n.filter(o=>o!==null&&typeof o=="object"&&typeof o.matcher=="string"&&typeof o.command=="string"));return e}function Lt(t){return `${bo}${t}`}function ma(t){let e={name:Lt(t.name),description:t.description||void 0,"x-agentsmesh-kind":"agent","x-agentsmesh-name":t.name,"x-agentsmesh-tools":t.tools.length>0?t.tools:void 0,"x-agentsmesh-disallowed-tools":t.disallowedTools.length>0?t.disallowedTools:void 0,"x-agentsmesh-model":t.model||void 0,"x-agentsmesh-permission-mode":t.permissionMode||void 0,"x-agentsmesh-max-turns":t.maxTurns>0?t.maxTurns:void 0,"x-agentsmesh-mcp-servers":t.mcpServers.length>0?t.mcpServers:void 0,"x-agentsmesh-hooks":Object.keys(t.hooks).length>0?t.hooks:void 0,"x-agentsmesh-skills":t.skills.length>0?t.skills:void 0,"x-agentsmesh-memory":t.memory||void 0};return Object.keys(e).forEach(r=>{e[r]===void 0&&delete e[r];}),N(e,t.body.trim()||"")}function jr(t,e){if(t["x-agentsmesh-kind"]!=="agent")return null;let r=typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"",n=e.startsWith(bo)?e.slice(bo.length):e.startsWith($s)?e.slice($s.length):"",o=(r||n).trim();return o?{name:o,description:typeof t.description=="string"?t.description:"",tools:ca(t["x-agentsmesh-tools"]),disallowedTools:ca(t["x-agentsmesh-disallowed-tools"]),model:typeof t["x-agentsmesh-model"]=="string"?t["x-agentsmesh-model"]:"",permissionMode:typeof t["x-agentsmesh-permission-mode"]=="string"?t["x-agentsmesh-permission-mode"]:"",maxTurns:typeof t["x-agentsmesh-max-turns"]=="number"?t["x-agentsmesh-max-turns"]:Number(t["x-agentsmesh-max-turns"]??0),mcpServers:ca(t["x-agentsmesh-mcp-servers"]),hooks:ex(t["x-agentsmesh-hooks"]),skills:ca(t["x-agentsmesh-skills"]),memory:typeof t["x-agentsmesh-memory"]=="string"?t["x-agentsmesh-memory"]:""}:null}function je(t,e){let r={name:t.name,description:t.description,tools:t.tools,disallowedTools:t.disallowedTools.length>0?t.disallowedTools:void 0,model:t.model||void 0,permissionMode:t.permissionMode||void 0,maxTurns:t.maxTurns>0?t.maxTurns:void 0,mcpServers:t.mcpServers.length>0?t.mcpServers:void 0,hooks:Object.keys(t.hooks).length>0?t.hooks:void 0,skills:t.skills.length>0?t.skills:void 0,memory:t.memory||void 0};return Object.keys(r).forEach(n=>{r[n]===void 0&&delete r[n];}),N(r,e.trim()||"")}var bo,$s,Xt=f(()=>{F();bo="am-agent-",$s="ab-agent-";i(ca,"toStringArray");i(ex,"toHooks");i(Lt,"projectedAgentSkillDirName");i(ma,"serializeProjectedAgentSkill");i(jr,"parseProjectedAgentSkillFrontmatter");i(je,"serializeImportedAgent");});function A(t,e){return relative(t,e).replace(/\\/g,"/")}async function T(t,e){return P(join(t,e)).catch(()=>[])}function Sg(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}function lx(t,e,r,n){let o=dirname(e),s=dirname(r);for(;o!==n&&o!==".";)Sg(t,o,s),o=dirname(o),s=dirname(s);}function G(t,e,r,n){t.set(e,`${r}/${basename(e,n)}.md`);}function z(t,e,r){if(!e.startsWith(`${r}/`))return;let n=e.slice(r.length+1);if(!n)return;if(!n.includes("/")){if(!n.endsWith(".md")||basename(n)==="SKILL.md")return;let p=basename(n,".md");t.set(e,`${Ig}/${p}/SKILL.md`);return}let[o,...s]=n.split("/"),a=s.join("/");if(!o||!a)return;let l=o.startsWith(Oo)?Oo:o.startsWith(Fs)?Fs:null;if(l&&a==="SKILL.md"){t.set(e,`${ix}/${o.slice(l.length)}.md`);return}let c=o.startsWith(bo)?bo:o.startsWith($s)?$s:null;if(c&&a==="SKILL.md"){t.set(e,`${ax}/${o.slice(c.length)}.md`);return}let m=`${Ig}/${o}`;a==="SKILL.md"&&Sg(t,`${r}/${o}`,m);let u=`${m}/${a}`;t.set(e,u),a!=="SKILL.md"&&lx(t,e,u,`${r}/${o}`);}function cx(t){return t.split("/").filter(Boolean)[0]??""}async function mx(){if($c!==void 0)return $c;let{BUILTIN_TARGETS:t}=await Promise.resolve().then(()=>(rt(),_g)),e=new Set;for(let r of t)for(let n of [r.project.rootInstructionPath,r.project.skillDir,...r.project.managedOutputs?.dirs??[],...r.project.managedOutputs?.files??[],...r.detectionPaths,r.globalSupport?.layout.rootInstructionPath,r.globalSupport?.layout.skillDir,...r.globalSupport?.layout.managedOutputs?.dirs??[],...r.globalSupport?.layout.managedOutputs?.files??[],...r.globalSupport?.detectionPaths??[]])if(n!==void 0){let o=cx(n);o.startsWith(".")&&e.add(o);}return $c=e,e}function Gc(t){return t.split("/").some(e=>e.startsWith("."))}async function ux(t){let e=[],r=await mx();async function n(o){let s=join(t,o),a=await readdir(s,{withFileTypes:true}).catch(()=>[]);for(let l of a){let c=o?`${o}/${l.name}`:l.name;if(l.isDirectory()){if(r.has(l.name)||Gc(c))continue;await n(c);continue}if(l.isSymbolicLink()&&await stat(join(t,c)).then(m=>m.isDirectory(),()=>false)){if(r.has(l.name)||Gc(c))continue;await n(c);continue}(l.name==="AGENTS.md"||l.name==="AGENTS.override.md")&&e.push(join(t,c));}}return i(n,"walk"),await n(""),e}async function pa(t,e){let r=await ux(e);for(let n of r){let o=A(e,n),s=o.endsWith("/AGENTS.md")&&o!=="AGENTS.md"&&!o.endsWith("/AGENTS.override.md"),a=o.endsWith("/AGENTS.override.md")&&o!=="AGENTS.override.md";if(!s&&!a)continue;let l=dirname(o);if(Gc(l))continue;let c=l.replace(/\//g,"-");t.set(o,`${sx}/${c}.md`);}}var sx,ix,ax,Ig,$c,Mt=f(()=>{E();vs();Xt();sx=".agentsmesh/rules",ix=".agentsmesh/commands",ax=".agentsmesh/agents",Ig=".agentsmesh/skills";i(A,"rel");i(T,"listFiles");i(Sg,"addDirectoryMapping");i(lx,"addAncestorMappings");i(G,"addSimpleFileMapping");i(z,"addSkillLikeMapping");i(cx,"firstPathSegment");i(mx,"targetRootSegments");i(Gc,"hasHiddenSegment");i(ux,"listScopedAgentsFiles");i(pa,"addScopedAgentsMappings");});var v,tt,kt,Gt=f(()=>{v=".agentsmesh/rules",tt=".agentsmesh/commands",kt=".agentsmesh/agents";});async function jc(t,e,r="project"){if(r==="global"){t.set(ve,`${v}/_root.md`);for(let n of await T(e,pr))z(t,A(e,n),pr);t.set(Ro,".agentsmesh/mcp.json");return}t.set(ge,`${v}/_root.md`),t.set(Ls,`${v}/_root.md`);for(let n of await T(e,Fe)){let o=A(e,n);o===ge||o===Ls||G(t,o,v,".md");}for(let n of await T(e,ur))G(t,A(e,n),tt,".md");for(let n of await T(e,wn))z(t,A(e,n),wn);}var Rg=f(()=>{Mt();En();Gt();i(jc,"buildAntigravityImportPaths");});var Cg,Ur,kg,Gs,js,Us,Ws,Bs,gr,Uc,Ks,xo,Hs,zs,da,fa,Wc,Vs,Bc,bn,wg,hr=f(()=>{Cg="claude-code",Ur=".claude/CLAUDE.md",kg="CLAUDE.md",Gs=".claude/rules",js=".claude/commands",Us=".claude/agents",Ws=".claude/skills",Bs=".claude/settings.json",gr=".claude/hooks.json",Uc=".claude/output-styles",Ks=".claudeignore",xo=".mcp.json",Hs=".claude.json",zs=".agentsmesh/rules",da=".agentsmesh/commands",fa=".agentsmesh/agents",Wc=".agentsmesh/skills",Vs=".agentsmesh/mcp.json",Bc=".agentsmesh/permissions.yaml",bn=".agentsmesh/hooks.yaml",wg=".agentsmesh/ignore";});async function Kc(t,e,r="project"){if(t.set(".claude/CLAUDE.md",`${v}/_root.md`),t.set(gr,bn),r==="project"&&t.set("CLAUDE.md",`${v}/_root.md`),r==="global")for(let n of await T(e,".agents/skills"))z(t,A(e,n),".agents/skills");for(let n of await T(e,".claude/rules"))G(t,A(e,n),v,".md");for(let n of await T(e,".claude/commands"))G(t,A(e,n),tt,".md");for(let n of await T(e,".claude/agents"))G(t,A(e,n),kt,".md");for(let n of await T(e,".claude/skills"))z(t,A(e,n),".claude/skills");}var Og=f(()=>{Mt();hr();Gt();i(Kc,"buildClaudeCodeImportPaths");});var Wr,yr,xn,Ir,Eg,It,Ue,Br,Pn,An,Tn,Ln,Hc,Kr,ga,zc,Vc,Jc,bg,Zt=f(()=>{Wr="cline",yr=".clinerules",xn=".clineignore",Ir=".cline/cline_mcp_settings.json",Eg=".cline/mcp_settings.json",It=".cline/skills",Ue=".clinerules/workflows",Br="AGENTS.md",Pn=".clinerules/hooks",An="Documents/Cline/Rules",Tn="Documents/Cline/Workflows",Ln="Documents/Cline/Hooks",Hc=".agentsmesh/hooks.yaml",Kr=".agentsmesh/rules",ga=".agentsmesh/commands",zc=".agentsmesh/ignore",Vc=".agentsmesh/mcp.json",Jc=".agentsmesh/agents",bg=".agentsmesh/skills";});async function Yc(t,e,r="project"){if(r==="global"){for(let n of await T(e,An))G(t,A(e,n),v,".md");for(let n of await T(e,Tn))G(t,A(e,n),tt,".md");for(let n of await T(e,It))z(t,A(e,n),It);t.set(Ir,".agentsmesh/mcp.json");return}t.set(".clinerules/_root.md",`${v}/_root.md`);for(let n of await T(e,".clinerules")){let o=A(e,n);!o.endsWith(".md")||o.includes("/workflows/")||basename(o)==="_root.md"||G(t,o,v,".md");}for(let n of await T(e,".clinerules/workflows"))G(t,A(e,n),tt,".md");for(let n of await T(e,".cline/skills"))z(t,A(e,n),".cline/skills");}var xg=f(()=>{Mt();Zt();Gt();i(Yc,"buildClineImportPaths");});async function Xc(t,e,r="project"){if(r==="global"?(t.set(".codex/AGENTS.md",`${v}/_root.md`),t.set(".codex/AGENTS.override.md",`${v}/_root.md`)):(t.set("AGENTS.md",`${v}/_root.md`),t.set("codex.md",`${v}/_root.md`),await pa(t,e)),r==="project")for(let n of await T(e,".codex/instructions"))G(t,A(e,n),v,".md");for(let n of await T(e,".codex/rules")){let o=A(e,n);o.endsWith(".rules")?G(t,o,v,".rules"):o.endsWith(".md")&&G(t,o,v,".md");}for(let n of await T(e,".codex/agents"))G(t,A(e,n),kt,".toml");for(let n of await T(e,".agents/skills"))z(t,A(e,n),".agents/skills");}var Pg=f(()=>{Mt();Gt();i(Xc,"buildCodexCliImportPaths");});var Po,Ie,We,Zc,ha,Sr,qc,Be,Ao,Js,ya,Ia,Qc,Ke=f(()=>{Po="continue",Ie=".continue/rules",We=".continue/prompts",Zc=".continue/mcpServers",ha=`${Zc}/agentsmesh.json`,Sr=`${Ie}/general.md`,qc=`${Ie}/_root.md`,Be=".continue/skills",Ao=".continue/AGENTS.md",Js=".continue/config.yaml",ya=".agentsmesh/rules",Ia=".agentsmesh/commands",Qc=".agentsmesh/mcp.json";});async function tm(t,e,r="project"){t.set(Sr,`${v}/_root.md`),t.set(qc,`${v}/_root.md`);for(let n of await T(e,".continue/rules")){let o=A(e,n);o===Sr||o===qc||G(t,o,v,".md");}for(let n of await T(e,".continue/prompts"))t.set(A(e,n),`${tt}/${basename(n,".md")}.md`);for(let n of await T(e,".continue/skills"))z(t,A(e,n),".continue/skills");if(r==="global")for(let n of await T(e,".agents/skills"))z(t,A(e,n),".agents/skills");}var Ag=f(()=>{Mt();Ke();Gt();i(tm,"buildContinueImportPaths");});function fx(t,e){if(e.endsWith(".instructions.md")){t.set(e,`${v}/${basename(e,".instructions.md")}.md`);return}G(t,e,v,".md");}async function em(t,e){t.set(".github/copilot-instructions.md",`${v}/_root.md`);for(let r of await T(e,".github/copilot"))t.set(A(e,r),`${v}/${basename(r,".instructions.md")}.md`);for(let r of await T(e,".github/instructions"))fx(t,A(e,r));for(let r of await T(e,".github/prompts"))t.set(A(e,r),`${tt}/${basename(r,".prompt.md")}.md`);for(let r of await T(e,".github/agents"))t.set(A(e,r),`${kt}/${basename(r,".agent.md")}.md`);for(let r of await T(e,".github/skills"))z(t,A(e,r),".github/skills");}var Tg=f(()=>{Mt();Gt();i(fx,"addCopilotInstructionMapping");i(em,"buildCopilotImportPaths");});var Lg,Hr,Ng,qt,_r,Qt,To,He,ze,Ve,_a,Se,rm,gx,Lo,_e,Ys,zr,Vr,Je,Jr,Yr,Dg,No,nm,Xs,om,ct=f(()=>{Lg="cursor",Hr="AGENTS.md",Ng=".cursorrules",qt=".cursor/rules",_r=`${qt}/general.mdc`,Qt=".cursor/commands",To=".cursor/agents",He=".cursor/skills",ze=".cursor/mcp.json",Ve=".cursor/hooks.json",_a=".cursor/settings.json",Se=".cursorignore",rm=".cursorindexingignore",gx=".agentsmesh-exports/cursor",Lo=`${gx}/user-rules.md`,_e=".cursor/AGENTS.md",Ys=ze,zr=He,Vr=To,Je=".agentsmesh/rules",Jr=".agentsmesh/commands",Yr=".agentsmesh/agents",Dg=".agentsmesh/skills",No=".agentsmesh/mcp.json",nm=".agentsmesh/permissions.yaml",Xs=".agentsmesh/hooks.yaml",om=".agentsmesh/ignore";});async function sm(t,e,r="project"){if(r==="global"){t.set(ze,".agentsmesh/mcp.json"),t.set(".cursor/AGENTS.md",`${v}/_root.md`);for(let n of await T(e,".cursor/rules"))G(t,A(e,n),v,".mdc");for(let n of await T(e,".cursor/commands"))G(t,A(e,n),tt,".md");for(let n of await T(e,".cursor/agents"))G(t,A(e,n),kt,".md");for(let n of await T(e,".cursor/skills"))z(t,A(e,n),".cursor/skills");return}t.set("AGENTS.md",`${v}/_root.md`);for(let n of await T(e,".cursor/rules"))G(t,A(e,n),v,".mdc");for(let n of await T(e,".cursor/commands"))G(t,A(e,n),tt,".md");for(let n of await T(e,".cursor/agents"))G(t,A(e,n),kt,".md");for(let n of await T(e,".cursor/skills"))z(t,A(e,n),".cursor/skills");}var Fg=f(()=>{Mt();ct();Gt();i(sm,"buildCursorImportPaths");});async function im(t,e){for(let r of await T(e,".gemini/rules"))G(t,A(e,r),v,".md");for(let r of await T(e,".gemini/commands")){let n=A(e,r);if(!n.endsWith(".toml")&&!n.endsWith(".md"))continue;let o=n.replace(/\.(toml|md)$/i,""),s=".gemini/commands/",c=(o.startsWith(s)?o.slice(s.length):o).split("/").filter(Boolean).join(":");t.set(n,`${tt}/${c}.md`);}for(let r of await T(e,".gemini/agents"))G(t,A(e,r),kt,".md");for(let r of await T(e,".gemini/skills"))z(t,A(e,r),".gemini/skills");}var vg=f(()=>{Mt();Gt();i(im,"buildGeminiCliImportPaths");});var Nn,Xr,Ra,$g,Ye,Mg,hx,Zs,Dn,qs,Do,Fo,Qs,ti,ei,ri,ni,yx,Ca,Fn,Gg,am,ka,jg,Ug,Wg,Bg,vo=f(()=>{Nn="junie",Xr=".junie",Ra=`${Xr}/guidelines.md`,$g=`${Xr}/ci-guidelines.md`,Ye=`${Xr}/AGENTS.md`,Mg="AGENTS.md",hx=`${Xr}/mcp`,Zs=`${hx}/mcp.json`,Dn=`${Xr}/skills`,qs=`${Xr}/rules`,Do=`${Xr}/commands`,Fo=`${Xr}/agents`,Qs=".aiignore",ti=".junie",ei=`${ti}/skills`,ri=`${ti}/agents`,ni=`${ti}/commands`,yx=`${ti}/mcp`,Ca=`${yx}/mcp.json`,Fn=`${ti}/AGENTS.md`,Gg=".agents/skills",am=".agentsmesh/rules/_root.md",ka=".agentsmesh/rules",jg=".agentsmesh/commands",Ug=".agentsmesh/agents",Wg=".agentsmesh/mcp.json",Bg=".agentsmesh/ignore";});async function lm(t,e){t.set(Ra,`${v}/_root.md`),t.set(Ye,`${v}/_root.md`),t.set("AGENTS.md",`${v}/_root.md`);for(let r of await T(e,".junie/rules"))G(t,A(e,r),v,".md");for(let r of await T(e,".junie/commands"))G(t,A(e,r),tt,".md");for(let r of await T(e,".junie/agents"))G(t,A(e,r),kt,".md");for(let r of await T(e,".junie/skills"))z(t,A(e,r),".junie/skills");}var Kg=f(()=>{Mt();vo();Gt();i(lm,"buildJunieImportPaths");});var jt,Re,oi,Ce,te,ke,Zr,Hg,$o,Mo,vn,we,qr,$n,si,ii,zg,cm,mm,Vg,Jg,um,Yg,Go=f(()=>{jt="kiro",Re="AGENTS.md",oi=".kiro",Ce=`${oi}/steering`,te=`${oi}/skills`,ke=`${oi}/agents`,Zr=`${oi}/hooks`,Hg=`${oi}/settings`,$o=`${Hg}/mcp.json`,Mo=".kiroignore",vn=".kiro/steering",we=".kiro/steering/AGENTS.md",qr=".kiro/skills",$n=".kiro/agents",si=".kiro/settings/mcp.json",ii=".kiro/settings/kiroignore",zg=".agents/skills",cm=".agentsmesh/rules/_root.md",mm=".agentsmesh/rules",Vg=".agentsmesh/agents",Jg=".agentsmesh/mcp.json",um=".agentsmesh/hooks.yaml",Yg=".agentsmesh/ignore";});async function pm(t,e,r="project"){if(r==="global"){t.set(we,`${v}/_root.md`);for(let n of await T(e,vn)){let o=A(e,n);o!==we&&G(t,o,v,".md");}for(let n of await T(e,qr))z(t,A(e,n),qr);for(let n of await T(e,$n))G(t,A(e,n),kt,".md");return}t.set(Re,`${v}/_root.md`);for(let n of await T(e,Ce))G(t,A(e,n),v,".md");for(let n of await T(e,te))z(t,A(e,n),te);for(let n of await T(e,ke))G(t,A(e,n),kt,".md");}var Xg=f(()=>{Mt();Go();Gt();i(pm,"buildKiroImportPaths");});var Qr,Mn,Oe,ai,Rr,Cr,Xe,li,ci,jo,mi,wa,tn,en,kr,Gn,ui,rn,Zg,jn,Oa,qg,Qg,Un=f(()=>{Qr="roo-code",Mn=".roo",Oe=`${Mn}/rules/00-root.md`,ai=".roorules",Rr=`${Mn}/rules`,Cr=`${Mn}/commands`,Xe=`${Mn}/skills`,li=`${Mn}/mcp.json`,ci=".rooignore",jo=".roomodes",mi="settings/custom_modes.yaml",wa=".roo",tn=`${wa}/rules`,en=`${wa}/commands`,kr=`${wa}/skills`,Gn="mcp_settings.json",ui=".rooignore",rn=`${wa}/AGENTS.md`,Zg=".agents/skills",jn=".agentsmesh/rules",Oa=".agentsmesh/commands",qg=".agentsmesh/mcp.json",Qg=".agentsmesh/ignore";});async function dm(t,e,r="project"){if(r==="global"){t.set(rn,`${v}/_root.md`);for(let n of await T(e,tn))G(t,A(e,n),v,".md");for(let n of await T(e,en))G(t,A(e,n),tt,".md");for(let n of await T(e,kr))z(t,A(e,n),kr);t.set(Gn,".agentsmesh/mcp.json");return}t.set(Oe,`${v}/_root.md`),t.set(ai,`${v}/_root.md`);for(let n of await T(e,Rr)){let o=A(e,n);o!==Oe&&G(t,o,v,".md");}for(let n of await T(e,".roo")){let o=A(e,n);/^\.roo\/rules-[^/]+\/.+\.md$/.test(o)&&G(t,o,v,".md");}for(let n of await T(e,Cr))G(t,A(e,n),tt,".md");for(let n of await T(e,Xe))z(t,A(e,n),Xe);}var th=f(()=>{Mt();Un();Gt();i(dm,"buildRooCodeImportPaths");});async function fm(t,e){t.set("AGENTS.md",`${v}/_root.md`),t.set(".windsurfrules",`${v}/_root.md`),await pa(t,e);for(let r of await T(e,".windsurf/rules"))G(t,A(e,r),v,".md");for(let r of await T(e,".windsurf/workflows"))G(t,A(e,r),tt,".md");for(let r of await T(e,".windsurf/skills"))z(t,A(e,r),".windsurf/skills");}var eh=f(()=>{Mt();Gt();i(fm,"buildWindsurfImportPaths");});var rh=f(()=>{Rg();Og();xg();Pg();Ag();Tg();Fg();vg();Kg();Xg();th();eh();});var Ut=f(()=>{rh();});var Ix,Sx,_x,Rx,la,vc=f(()=>{Cn();zf();En();ng();lg();fg();Ut();Ix={name:"antigravity",primaryRootInstructionPath:ge,generateRules:Uf,generateCommands:Wf,generateSkills:Bf,generateMcp:Kf,importFrom:rg},Sx={rootInstructionPath:ge,skillDir:".agents/skills",rewriteGeneratedPath(t){return t===Ns?null:t},paths:{rulePath(t,e){return `${Fe}/${t}.md`},commandPath(t,e){return `${ur}/${t}.md`},agentPath(t,e){return null}}},_x={rootInstructionPath:ve,renderPrimaryRootInstruction:Hf,skillDir:pr,managedOutputs:{dirs:[pr,Ds],files:[ve,Ro]},rewriteGeneratedPath(t){return t===ge?ve:t.startsWith(`${Fe}/`)?null:t.startsWith(".agents/skills/")?t.replace(".agents/skills",pr):t.startsWith(`${ur}/`)?t.replace(ur,Ds):t===Ns?Ro:t},paths:{rulePath(t,e){return ve},commandPath(t,e){return `${Ds}/${t}.md`},agentPath(t,e){return null}}},Rx={rules:"native",additionalRules:"embedded",commands:pe("partial","workflows"),agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},la={id:"antigravity",generators:Ix,capabilities:{rules:"native",additionalRules:"native",commands:pe("partial","workflows"),agents:"none",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},emptyImportMessage:"No Antigravity config found (.agents/rules/, .agents/skills/, or .agents/workflows/).",lintRules:dg,project:Sx,globalSupport:{capabilities:Rx,detectionPaths:[".gemini/antigravity/GEMINI.md",".gemini/antigravity/skills",".gemini/antigravity/workflows",".gemini/antigravity/mcp_config.json"],layout:_x},importer:{rules:{feature:"rules",mode:"directory",source:{project:[Fe]},canonicalDir:On,extensions:[".md"],map:ig},commands:{feature:"commands",mode:"directory",source:{project:[ur],global:[Ds]},canonicalDir:aa,extensions:[".md"],map:ag},mcp:{feature:"mcp",mode:"flatFile",source:{global:[Ro]},canonicalDir:".agentsmesh",canonicalFilename:jf}},buildImportPaths:jc,detectionPaths:[".agents/rules/general.md",".agents/rules/",".agents/skills/",".agents/workflows/"]};});function nh(t){if(!t.hooks||Object.keys(t.hooks).length===0)return {};let e={};for(let[r,n]of Object.entries(t.hooks)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!Te(s))continue;let a=ut(s),l=Ot(s),c=s.type==="prompt"?l||a:a||l,m={type:s.type==="prompt"?"prompt":"command",[s.type==="prompt"?"prompt":"command"]:c};s.timeout!==void 0&&(m.timeout=s.timeout),o.push({matcher:s.matcher,hooks:[m]});}o.length>0&&(e[r]=o);}return e}var oh=f(()=>{ce();i(nh,"buildClaudeHooksObjectFromCanonical");});function sh(t){let e=[],r=t.rules.find(o=>o.root);r&&e.push({path:Ur,content:r.body.trim()?r.body:""});let n=t.rules.filter(o=>!o.root&&(o.targets.length===0||o.targets.includes("claude-code")));for(let o of n){let s=basename(o.source,".md"),a={};o.description&&(a.description=o.description),o.globs.length>0&&(a.globs=o.globs);let l=N(a,o.body.trim()||"");e.push({path:`${Gs}/${s}.md`,content:l});}return e}function ih(t){return t.commands.map(e=>{let r={description:e.description,"allowed-tools":e.allowedTools.length>0?e.allowedTools:void 0};r["allowed-tools"]===void 0&&delete r["allowed-tools"];let n=N(r,e.body.trim()||"");return {path:`${js}/${e.name}.md`,content:n}})}function ah(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0,model:e.model||void 0,permissionMode:e.permissionMode||void 0,maxTurns:e.maxTurns>0?e.maxTurns:void 0,mcpServers:e.mcpServers.length>0?e.mcpServers:void 0,hooks:Object.keys(e.hooks).length>0?e.hooks:void 0,skills:e.skills.length>0?e.skills:void 0,memory:e.memory||void 0};Object.keys(r).forEach(a=>{r[a]===void 0&&delete r[a];});let n=e.body.trim()||"",o=/^##\s*Role\b/m.test(n)?n:`## Role
|
|
45
45
|
|
|
46
|
-
${n}`,s=N(r,o);return {path:`${Us}/${e.name}.md`,content:s}})}function
|
|
46
|
+
${n}`,s=N(r,o);return {path:`${Us}/${e.name}.md`,content:s}})}function lh(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:xo,content:e}]}function ch(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=r.body.trim()||"",s=!o||/^##\s*Purpose\b/m.test(o)?o:`## Purpose
|
|
47
47
|
|
|
48
|
-
${o}`,a=N(n,s);e.push({path:`${Ws}/${r.name}/SKILL.md`,content:a});for(let l of r.supportingFiles){let c=l.relativePath.replace(/\\/g,"/");e.push({path:`${Ws}/${r.name}/${c}`,content:l.content});}}return e}function
|
|
49
|
-
`);return [{path:Ks,content:e}]}var
|
|
48
|
+
${o}`,a=N(n,s);e.push({path:`${Ws}/${r.name}/SKILL.md`,content:a});for(let l of r.supportingFiles){let c=l.relativePath.replace(/\\/g,"/");e.push({path:`${Ws}/${r.name}/${c}`,content:l.content});}}return e}function mh(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions,n=t.permissions.ask??[];if(e.length===0&&r.length===0&&n.length===0)return [];let o=JSON.stringify({permissions:{allow:e,deny:r,ask:n}},null,2);return [{path:Bs,content:o}]}function uh(t,e){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let r=nh(t);if(Object.keys(r).length===0)return [];if(e?.scope==="global")return [{path:gr,content:JSON.stringify(r,null,2)}];let n=JSON.stringify({hooks:r},null,2);return [{path:Bs,content:n}]}function ph(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
|
|
49
|
+
`);return [{path:Ks,content:e}]}var dh=f(()=>{F();hr();oh();i(sh,"generateRules");i(ih,"generateCommands");i(ah,"generateAgents");i(lh,"generateMcp");i(ch,"generateSkills");i(mh,"generatePermissions");i(uh,"generateHooks");i(ph,"generateIgnore");});function xt(t,e,r){return t.startsWith(`${e}/`)&&!r.includes("codex-cli")?`.agents/skills/${t.slice(e.length+1)}`:null}var nn=f(()=>{i(xt,"mirrorSkillsToAgents");});function wx(t){let e=t.description.trim();return e||(basename(t.source)||"rule").replace(/\.md$/i,"")||"Rule"}function fh(t){let e=t.rules.find(o=>o.root),r=(e?.body??"").trim();return r?`# Global Instructions
|
|
50
50
|
|
|
51
|
-
## ${e?
|
|
51
|
+
## ${e?wx(e):"Guidance"}
|
|
52
52
|
|
|
53
53
|
${r}
|
|
54
|
-
`:""}var
|
|
54
|
+
`:""}var gh=f(()=>{i(wx,"ruleSectionTitle");i(fh,"renderClaudeGlobalPrimaryInstructions");});function yh(t,e){return t===null?"created":t!==e?"updated":"unchanged"}async function Ih(t,e,r,n){if(r!=="global")return [];let o=n.has("agents"),s=n.has("commands");if(!o&&!s)return [];let a=[];if(o)for(let l of t.agents){if(!l.outputStyle)continue;let c={name:l.name,description:l.description||void 0},m=N(c,l.body.trim()),u=`${Uc}/${l.name}.md`,p=await I(join(e,u));a.push({target:"claude-code",path:u,content:m,currentContent:p??void 0,status:yh(p,m)});}if(s)for(let l of t.commands){if(!l.outputStyle)continue;let c={name:l.name,description:l.description||void 0},m=N(c,l.body.trim()),u=`${Uc}/${l.name}.md`,p=await I(join(e,u));a.push({target:"claude-code",path:u,content:m,currentContent:p??void 0,status:yh(p,m)});}return a}var Sh=f(()=>{E();F();hr();i(yh,"computeStatus");i(Ih,"generateClaudeGlobalExtras");});var _h,Rh,Ch,kh=f(()=>{F();Y();he();hr();_h=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${zs}/${t}`,content:await $(n,{...o,root:false},s)}},"claudeRuleMapper"),Rh=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n)),a=Yt(o.allowedTools),l=a.length>0?a:Yt(o["allowed-tools"]);return {destPath:n,toPath:`${da}/${t}`,content:await Q(n,{description:typeof o.description=="string"?o.description:void 0,hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),allowedTools:l,hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},s)}},"claudeCommandMapper"),Ch=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${fa}/${t}`,content:await $t(n,o,s)}},"claudeAgentMapper");});function wh(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:Cg}))}var Oh=f(()=>{ye();hr();i(wh,"lintRules");});var Ox,Eh,Ex,bx,Ea,hm=f(()=>{dh();hr();nn();gh();Sh();ym();kh();Oh();Ut();Ox={name:"claude-code",primaryRootInstructionPath:Ur,generateRules:sh,generateCommands:ih,generateAgents:ah,generateSkills:ch,generateMcp:lh,generatePermissions:mh,generateHooks:uh,generateIgnore:ph,importFrom:ba},Eh={rootInstructionPath:Ur,skillDir:".claude/skills",managedOutputs:{dirs:[".claude/agents",".claude/commands",".claude/rules",".claude/skills"],files:[".claude/CLAUDE.md",".claude/settings.json",".claudeignore",".mcp.json"]},paths:{rulePath(t,e){return `.claude/rules/${t}.md`},commandPath(t,e){return `.claude/commands/${t}.md`},agentPath(t,e){return `.claude/agents/${t}.md`}}},Ex={rootInstructionPath:Ur,skillDir:".claude/skills",renderPrimaryRootInstruction:fh,managedOutputs:{dirs:[".claude/agents",".claude/commands",".claude/rules",".claude/skills",".claude/output-styles",".agents/skills"],files:[".claude/CLAUDE.md",".claude/settings.json",Hs,gr,".claudeignore"]},rewriteGeneratedPath(t){return t===xo?Hs:t},mirrorGlobalPath(t,e){return xt(t,".claude/skills",e)},paths:Eh.paths},bx={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"native"},Ea={id:"claude-code",generators:Ox,capabilities:{rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"native"},emptyImportMessage:"No Claude Code config found (CLAUDE.md or .claude/rules/*.md).",lintRules:wh,project:Eh,globalSupport:{capabilities:bx,detectionPaths:[".claude/CLAUDE.md",".claude/rules",".claude/commands",".claude/agents",".claude/skills",".claude/settings.json",".claude/hooks.json",".claude/output-styles",".claudeignore",".claude.json",".agents/skills"],layout:Ex,scopeExtras:Ih},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Ur,kg],global:[Ur]},canonicalDir:zs,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[Gs],global:[Gs]},canonicalDir:zs,extensions:[".md"],map:_h}],commands:{feature:"commands",mode:"directory",source:{project:[js],global:[js]},canonicalDir:da,extensions:[".md"],map:Rh},agents:{feature:"agents",mode:"directory",source:{project:[Us],global:[Us]},canonicalDir:fa,extensions:[".md"],map:Ch},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[xo],global:[Hs]},canonicalDir:".agentsmesh",canonicalFilename:Vs},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Ks],global:[Ks]},canonicalDir:".agentsmesh",canonicalFilename:wg}},buildImportPaths:Kc,detectionPaths:["CLAUDE.md",".claude/rules",".claude/commands"]};});function Px(t){let e=basename(t,".md");return e==="_root"?"root":e}function bh(t){let e=[],r=t.rules.find(n=>n.root);if(r){let n=r.body.trim()?r.body:"";e.push({path:Br,content:n});}for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("cline"))continue;let o=Px(n.source),s={description:n.description||void 0,paths:n.globs.length>0?n.globs:void 0};Object.keys(s).forEach(l=>{s[l]===void 0&&delete s[l];});let a=Object.keys(s).length>0?N(s,n.body.trim()||""):n.body.trim()||"";e.push({path:`${yr}/${o}.md`,content:a});}return e}function xh(t){return t.commands.map(e=>{let r=e.description.trim(),n=e.body.trim(),o=r&&n?`${r}
|
|
55
55
|
|
|
56
|
-
${n}`:r||n;return {path:`${Ue}/${e.name}.md`,content:o}})}function
|
|
57
|
-
`);return [{path:xn,content:e}]}function
|
|
58
|
-
`)}function
|
|
56
|
+
${n}`:r||n;return {path:`${Ue}/${e.name}.md`,content:o}})}function Ph(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
|
|
57
|
+
`);return [{path:xn,content:e}]}function Ah(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:Ir,content:e}]}function Th(t){return t.agents.map(e=>({path:`${It}/${Lt(e.name)}/SKILL.md`,content:ma(e)}))}function Ax(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function Tx(t,e,r){return ["#!/usr/bin/env bash",`# agentsmesh-event: ${t}`,`# agentsmesh-matcher: ${r}`,`# agentsmesh-command: ${e}`,"set -e",e,""].join(`
|
|
58
|
+
`)}function Lh(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.hooks)){if(!Array.isArray(n))continue;let o=0;for(let s of n)cr(s)&&(e.push({path:`${Pn}/${Ax(r)}-${o}.sh`,content:Tx(r,s.command,s.matcher)}),o++);}return e}function Nh(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=N(n,r.body.trim()||"");e.push({path:`${It}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${It}/${r.name}/${a}`,content:s.content});}}return e}var Dh=f(()=>{ce();F();Xt();Zt();i(Px,"ruleSlug");i(bh,"generateRules");i(xh,"generateCommands");i(Ph,"generateIgnore");i(Ah,"generateMcp");i(Th,"generateAgents");i(Ax,"safeEventName");i(Tx,"buildHookScript");i(Lh,"generateHooks");i(Nh,"generateSkills");});async function vh(t,e,r){if(t==="workflows"||t.startsWith("workflows/"))return null;let n=t.replace(/\\/g,"/");if(n==="_root.md")return null;let o=join(e,n),{frontmatter:s,body:a}=O(r(o)),l=dr(s.paths??s.globs),c={root:false,description:typeof s.description=="string"?s.description:void 0,globs:l.length>0?l:void 0};return Object.keys(c).forEach(m=>{c[m]===void 0&&delete c[m];}),{destPath:o,toPath:`${Kr}/${n}`,feature:"rules",content:await $(o,c,a)}}async function $h(t,e,r){let n=join(e,t),{frontmatter:o,body:s}=O(r(n)),a=Object.prototype.hasOwnProperty.call(o,"description"),l=a&&typeof o.description=="string"?o.description:"",c=a,m=s;if(!c){let u=s.indexOf(`
|
|
59
59
|
|
|
60
60
|
`);if(u>0){let p=s.slice(0,u).trim();p&&!p.includes(`
|
|
61
|
-
`)&&(l=p,c=true,m=s.slice(u+2));}}return {destPath:n,toPath:`${ga}/${t}`,feature:"commands",content:await Q(n,{description:l,hasDescription:c,allowedTools:[],hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},m)}}var
|
|
62
|
-
`)),e.push({fromTool:"cline",fromPath:o,toPath:
|
|
61
|
+
`)&&(l=p,c=true,m=s.slice(u+2));}}return {destPath:n,toPath:`${ga}/${t}`,feature:"commands",content:await Q(n,{description:l,hasDescription:c,allowedTools:[],hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},m)}}var Im=f(()=>{F();Y();he();Zt();i(vh,"mapClineRuleFile");i($h,"mapClineWorkflowFile");});async function Mh(t,e,r){let n=join(t,Kr),o=join(t,yr),s=join(t,yr),a=false;try{a=(await stat(s)).isFile();}catch{}if(a){let u=await I(s);if(u!==null){await k(n);let p=join(n,"_root.md"),{frontmatter:d,body:g}=O(r(u,s,p)),R=d.root===true?d:{...d,root:true},C=await $(p,R,g);await _(p,C),e.push({fromTool:"cline",fromPath:s,toPath:`${Kr}/_root.md`,feature:"rules"});}return a}let l=null,c=join(o,"_root.md"),m=await I(c);if(m===null){let u=join(t,Br),p=await I(u);if(p!==null){l=u,await k(n);let d=join(n,"_root.md"),{frontmatter:g,body:h}=O(r(p,u,d)),C=g.root===true?g:{...g,root:true},S=await $(d,C,h);await _(d,S),e.push({fromTool:"cline",fromPath:u,toPath:`${Kr}/_root.md`,feature:"rules"});}else {let h=(await P(o)).filter(R=>R.endsWith(".md")&&!R.includes("/workflows/")).sort()[0];if(h){let R=await I(h);if(R!==null){l=h,await k(n);let C=join(n,"_root.md"),{frontmatter:S,body:w}=O(r(R,h,C)),b=S.root===true?S:{...S,root:true},x=await $(C,b,w);await _(C,x),e.push({fromTool:"cline",fromPath:h,toPath:`${Kr}/_root.md`,feature:"rules"});}}}}else {l=c,await k(n);let u=join(n,"_root.md"),{frontmatter:p,body:d}=O(r(m,c,u)),h=p.root===true?p:{...p,root:true},R=await $(u,h,d);await _(u,R),e.push({fromTool:"cline",fromPath:c,toPath:`${Kr}/_root.md`,feature:"rules"});}return e.push(...await st({srcDir:o,destDir:n,extensions:[".md"],fromTool:"cline",normalize:r,mapEntry:i(async({srcPath:u,relativePath:p,normalizeTo:d})=>u===l?null:vh(p,n,d),"mapEntry")})),a}var Gh=f(()=>{E();F();Y();$e();Im();Zt();i(Mh,"importClineRules");});function Nx(t){if(!t||typeof t!="object")return null;let e=t,r=typeof e.command=="string"?e.command:"";if(!r)return null;let n=typeof e.type=="string"?e.type:typeof e.transportType=="string"?e.transportType:"stdio",o=Array.isArray(e.args)?e.args.filter(c=>typeof c=="string"):[],s=e.env,a=s!==null&&typeof s=="object"&&!Array.isArray(s)?Object.fromEntries(Object.entries(s).filter(c=>typeof c[1]=="string")):{},l=typeof e.description=="string"?e.description:void 0;return {...l!==void 0&&{description:l},type:n,command:r,args:o,env:a}}async function jh(t,e){let r=[Ir,Eg].map(c=>join(t,c)),n=null,o=null;for(let c of r){let m=await I(c);if(m!==null){n=c,o=m;break}}if(o===null)return;let s=n??r[0],a;try{a=JSON.parse(o);}catch{}let l=a?.mcpServers;if(l!==void 0&&typeof l=="object"&&l!==null&&Object.keys(l).length>0){let c={};for(let[m,u]of Object.entries(l)){let p=Nx(u);p&&(c[m]=p);}Object.keys(c).length>0&&(await k(join(t,".agentsmesh")),await _(join(t,Vc),JSON.stringify({mcpServers:c},null,2)),e.push({fromTool:Wr,fromPath:s,toPath:Vc,feature:"mcp"}));}}var Uh=f(()=>{E();Zt();i(Nx,"mapClineServerToCanonical");i(jh,"importClineMcp");});function Wh(t){return Dx.some(e=>e.test(t))}var Dx,Bh=f(()=>{Dx=[/^\./,/^_ab-agent-/,/^_ab-command-/,/\.fixture\./,/\.test\./];i(Wh,"isReservedArtifactName");});async function vx(t){let e=await P(t).catch(()=>[]),r=[];for(let n of e){let o=relative(t,n).replace(/\\/g,"/"),s=basename(o);if(Wh(s))continue;let a=await I(n);a!==null&&r.push({absolutePath:n,relativePath:o,content:a});}return r}async function Ze(t,e,r){let n=await vx(e),o=join(r.projectRoot,r.destCanonicalSkillsDir,t);for(let s of n){let a=join(o,s.relativePath);await k(dirname(a));let l=r.normalize(s.content,s.absolutePath,a);if(s.relativePath==="SKILL.md"){let{frontmatter:c,body:m}=O(l),u=await Le(a,{...c,name:t},m);await _(a,u);}else await _(a,l);r.results.push({fromTool:r.targetName,fromPath:s.absolutePath,toPath:`${r.destCanonicalSkillsDir}/${t}/${s.relativePath}`,feature:"skills"});}}async function Hh(t,e,r,n){let o=join(n.projectRoot,n.destCanonicalSkillsDir,t);await k(o);let s=join(o,"SKILL.md"),a=n.normalize(r,e,s),{frontmatter:l,body:c}=O(a),m=await Le(s,{...l,name:t},c);await _(s,m),n.results.push({fromTool:n.targetName,fromPath:e,toPath:`${n.destCanonicalSkillsDir}/${t}/SKILL.md`,feature:"skills"});}async function on(t){let e=new Map;try{let n=(await P(t)).filter(o=>basename(o)==="SKILL.md");for(let o of n){let s=dirname(o),a=basename(s);e.set(a,s);}}catch{}return e}var Uo=f(()=>{E();F();Y();Bh();i(vx,"readNativeSkill");i(Ze,"importDirectorySkill");i(Hh,"importFlatSkill");i(on,"findDirectorySkills");});async function zh(t,e,r,n=It){let o=join(t,n),s=await on(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:bg,targetName:"cline",normalize:r,results:e};for(let[l,c]of s){let m=join(c,"SKILL.md"),u=await I(m);if(!u)continue;let p=O(u),d=jr(p.frontmatter,l);if(d){let g=join(t,Jc);await k(g);let h=join(g,`${d.name}.md`);await _(h,je(d,r(p.body,m,h))),e.push({fromTool:"cline",fromPath:m,toPath:`${Jc}/${d.name}.md`,feature:"agents"});continue}await Ze(l,c,a);}}var Vh=f(()=>{E();F();Xt();Uo();Zt();i(zh,"importClineSkills");});function Rm(t,e){return t.match(new RegExp(`^# agentsmesh-${e}:\\s*(.+)$`,"m"))?.[1]?.trim()??null}async function Jh(t,e){let n=(await P(t).catch(()=>[])).filter(o=>basename(o).endsWith(".sh")&&dirname(o)===t);for(let o of n){let s=await I(o);if(!s)continue;let a=Rm(s,"event"),l=Rm(s,"command");if(!a||!l)continue;let c=Rm(s,"matcher")??"*";e[a]||(e[a]=[]),e[a].push({matcher:c,command:l});}}async function Xh(t,e){let r={};if(await Jh(join(t,Pn),r),await Jh(join(t,Ln),r),Object.keys(r).length===0)return;let n=join(t,Hc);await k(dirname(n)),await _(n,stringify(r)),e.push({fromTool:Wr,fromPath:join(t,Ln),toPath:Hc,feature:"hooks"});}var Zh=f(()=>{E();Zt();i(Rm,"extractMeta");i(Jh,"loadHooksFromDir");i(Xh,"importClineHooks");});async function Ta(t){let e=[],r=await H(Wr,t),n=await Mh(t,e,r),o=join(t,xn),s=await I(o);if(s!==null&&s.trim()){let l=s.split(/\r?\n/),c=[];for(let m of l){let u=m.trim();u&&!u.startsWith("#")&&c.push(u);}if(c.length>0){await k(join(t,".agentsmesh"));let m=join(t,zc);await _(m,c.join(`
|
|
62
|
+
`)),e.push({fromTool:"cline",fromPath:o,toPath:zc,feature:"ignore"});}}await jh(t,e);let a=join(t,ga);return n||e.push(...await st({srcDir:join(t,Ue),destDir:a,extensions:[".md"],fromTool:"cline",normalize:r,mapEntry:i(({relativePath:l,normalizeTo:c})=>$h(l,a,c),"mapEntry")})),await zh(t,e,r),await Xh(t,e),e}var Cm=f(()=>{bt();E();$e();Im();Gh();Zt();Uh();Vh();Zh();i(Ta,"importFromCline");});function qh(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:Wr}))}var Qh=f(()=>{ye();Zt();i(qh,"lintRules");});function V(t,e,r){return {level:"warning",file:t,target:e,message:r}}function Gx(t){return t.length===0?"":t.length===1?t[0]:t.length===2?`${t[0]} and ${t[1]}`:`${t.slice(0,-1).join(", ")}, and ${t[t.length-1]}`}function Wo(t,e,r,n){let o=n?.unsupportedBy??e,s=Gx(r);return V(".agentsmesh/hooks.yaml",e,`${t} is not supported by ${o}; only ${s} are projected.`)}var Wt=f(()=>{i(V,"createWarning");i(Gx,"formatOxfordComma");i(Wo,"createUnsupportedHookWarning");});function ty(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>V(e.source,"cline","cline workflow files are plain Markdown; command description and allowed-tools metadata are not projected."))}function ey(t){return t.hooks?Object.values(t.hooks).some(r=>Array.isArray(r)&&r.length>0)?[V(".agentsmesh/hooks.yaml","cline","cline hooks are emitted as .clinerules/hooks/*.sh wrapper scripts with a `#!/usr/bin/env bash` header; they require a POSIX shell (git-bash or WSL) to execute on Windows.")]:[]:[]}var ry=f(()=>{Wt();i(ty,"lintCommands");i(ey,"lintHooks");});var jx,Ux,Wx,Bx,ny,oy=f(()=>{Dh();Cn();Zt();Cm();Qh();ry();Ut();yo();Xt();jx={name:"cline",primaryRootInstructionPath:Br,generateRules:bh,generateCommands:xh,generateAgents:Th,generateSkills:Nh,generateMcp:Ah,generateHooks:Lh,generateIgnore:Ph,importFrom:Ta},Ux={rootInstructionPath:Br,skillDir:".cline/skills",managedOutputs:{dirs:[".cline/skills",".clinerules",".clinerules/hooks",".clinerules/workflows"],files:["AGENTS.md",".cline/cline_mcp_settings.json",".clineignore",".clinerules/typescript.md"]},paths:{rulePath(t,e){return `${yr}/${t}.md`},commandPath(t,e){return `${Ue}/${t}.md`},agentPath(t,e){return me(e,"cline")?`.cline/skills/${Lt(t)}/SKILL.md`:null}}},Wx={skillDir:It,managedOutputs:{dirs:[An,Tn,Ln,It,".agents/skills"],files:[Ir,xn]},rewriteGeneratedPath(t){return t===Br?null:t.startsWith(`${Pn}/`)?`${Ln}/${t.slice(Pn.length+1)}`:t.startsWith(`${Ue}/`)?`${Tn}/${t.slice(Ue.length+1)}`:t.startsWith(`${yr}/`)?`${An}/${t.slice(yr.length+1)}`:t},mirrorGlobalPath(t,e){return t.startsWith(`${It}/`)?`.agents/skills/${t.slice(It.length+1)}`:null},paths:{rulePath(t,e){return `${An}/${t}.md`},commandPath(t,e){return `${Tn}/${t}.md`},agentPath(t,e){return me(e,"cline")?`.cline/skills/${Lt(t)}/SKILL.md`:null}}},Bx={rules:"native",additionalRules:"native",commands:pe("native","workflows"),agents:"embedded",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},ny={id:"cline",generators:jx,capabilities:{rules:"native",additionalRules:"native",commands:pe("native","workflows"),agents:"embedded",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},emptyImportMessage:"No Cline config found (.clinerules, .clineignore, .cline/cline_mcp_settings.json, or .cline/skills).",supportsConversion:{agents:true},lintRules:qh,lint:{commands:ty,hooks:ey},project:Ux,globalSupport:{capabilities:Bx,detectionPaths:[An,Tn,Ln,It,Ir,xn],layout:Wx},buildImportPaths:Yc,detectionPaths:[".clinerules",".cline"]};});var St,sy,Or,Wn,iy,Ee,ay,La,Bn,qe,Kn,Er,km,Bo,di,wm,ly,Om,cy,my,Em,bm,xm,wt=f(()=>{St="codex-cli",sy="codex.md",Or="AGENTS.md",Wn=".codex/AGENTS.md",iy=".codex/AGENTS.override.md",Ee=".agents/skills",ay=".codex/skills",La=".codex/config.toml",Bn=".codex/instructions",qe=".codex/rules",Kn=".codex/agents",Er=".agentsmesh/rules",km=".agentsmesh/commands",Bo=".agentsmesh/agents",di=".agentsmesh/skills",wm=".agentsmesh/mcp.json",ly="am-codex-rule:v1",Om="# am-json: ",cy="# am-body-b64-begin",my="# am-body-b64-end",Em="# am64:",bm="<!-- agentsmesh:codex-rule-index:start -->",xm="<!-- agentsmesh:codex-rule-index:end -->";});function Pm(t){return basename(t,".md")}function fi(t){return `${Bn}/${Pm(t.source)}.md`}function uy(t){let e={root:t.root,description:t.description||void 0,globs:t.globs.length>0?t.globs:void 0,targets:t.targets.length>0?t.targets:void 0,codex_emit:t.codexEmit||void 0,codex_instruction:t.codexInstructionVariant&&t.codexInstructionVariant!=="default"?t.codexInstructionVariant:void 0};return Object.keys(e).forEach(r=>{e[r]===void 0&&delete e[r];}),N(e,t.body.trim()||"")}function Hx(t){let e=[];return t.root?e.push("Applies to the whole project."):t.globs.length>0?e.push(`Applies to ${t.globs.map(r=>`\`${r}\``).join(", ")}.`):e.push("General guidance with no file glob restriction."),t.codexInstructionVariant==="override"&&e.push("Override guidance when this rule conflicts with broader instructions."),t.codexEmit==="execution"&&e.push(`Enforced in \`${qe}/${Pm(t.source)}.rules\`.`),t.targets.length>0&&e.push(`Targeted to ${t.targets.map(r=>`\`${r}\``).join(", ")}.`),e.join(" ")}function py(t,e){let r=t.trim(),n=e.filter(a=>!a.root);if(n.length===0)return r;let o=n.map(a=>`- [${a.description||Pm(a.source)}](${fi(a)}): ${Hx(a)}`),s=[bm,"## Additional Rule Files",...o,xm].join(`
|
|
63
63
|
`);return r?`${r}
|
|
64
64
|
|
|
65
|
-
${s}`:s}function
|
|
66
|
-
`).trim()}var Na=f(()=>{F();wt();i(
|
|
65
|
+
${s}`:s}function dy(t){let e=bm.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=xm.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t.replace(new RegExp(`\\n?${e}[\\s\\S]*?${r}\\n?`,"g"),`
|
|
66
|
+
`).trim()}var Na=f(()=>{F();wt();i(Pm,"ruleSlug");i(fi,"codexInstructionMirrorPath");i(uy,"serializeCodexInstructionMirror");i(Hx,"summarizeRule");i(py,"appendCodexRuleIndex");i(dy,"stripCodexRuleIndex");});function Vx(t){return /(^|\n)\s*[A-Za-z_][A-Za-z0-9_]*\s*\(/.test(t)}function Jx(t){return t.split(`
|
|
67
67
|
`).map(e=>e.length>0?`# ${e}`:"#").join(`
|
|
68
|
-
`)}function
|
|
69
|
-
`:`${["# agentsmesh: canonical execution rule body is not Codex DSL","# The original body is preserved below as comments.","# Replace with Codex rules DSL (for example prefix_rule(...)) to enforce behavior.","#",...
|
|
68
|
+
`)}function Yx(t){let e=t.trim();return e?Vx(e)?`${e}
|
|
69
|
+
`:`${["# agentsmesh: canonical execution rule body is not Codex DSL","# The original body is preserved below as comments.","# Replace with Codex rules DSL (for example prefix_rule(...)) to enforce behavior.","#",...Jx(e).split(`
|
|
70
70
|
`),"#","# Example template:","# prefix_rule(",'# pattern = ["git", "status"],','# decision = "allow",','# justification = "Allow safe status checks",',"# )"].join(`
|
|
71
71
|
`)}
|
|
72
|
-
`:""}function
|
|
72
|
+
`:""}function Am(t){let e=t.rules.find(n=>n.root),r=[];e&&r.push({path:Or,content:py(e.body,t.rules)});for(let n of t.rules){if(n.root)continue;let o=basename(n.source,".md");n.targets.length>0&&!n.targets.includes("codex-cli")||(n.codexEmit==="execution"&&r.push({path:`${qe}/${o}.rules`,content:Yx(n.body)}),r.push({path:fi(n),content:uy(n)}));}return r}function Tm(t){let e=t.rules.find(n=>n.root),r=t.rules.filter(n=>n.root||n.codexEmit==="execution"?false:n.targets.length===0||n.targets.includes("codex-cli"));return de(e?.body.trim()??"",r)}var fy=f(()=>{Gr();wt();Na();i(Vx,"looksLikeCodexRulesDsl");i(Jx,"toCodexRulesComments");i(Yx,"toSafeCodexRulesContent");i(Am,"generateRules");i(Tm,"renderCodexGlobalInstructions");});function Lm(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=N(n,r.body.trim()||"");e.push({path:`${Ee}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${Ee}/${r.name}/${a}`,content:s.content});}}return e}function Xx(t){return {path:`${Ee}/${Eo(t.name)}/SKILL.md`,content:gg(t)}}function Nm(t){return t.commands.map(Xx)}var gy=f(()=>{F();wt();vs();i(Lm,"generateSkills");i(Xx,"commandToSkillOutput");i(Nm,"generateCommands");});function Dm(t){return t.agents.map(e=>({path:`${Kn}/${e.name}.toml`,content:Zx(e)}))}function Zx(t){let e=[];e.push(`name = ${JSON.stringify(t.name)}`),t.description&&e.push(`description = ${JSON.stringify(t.description)}`),t.model&&e.push(`model = ${JSON.stringify(t.model)}`),t.permissionMode==="read-only"||t.permissionMode==="deny"?e.push('sandbox_mode = "read-only"'):t.permissionMode==="allow"&&e.push('sandbox_mode = "workspace-write"');let r=t.body.trim()||"";if(r.includes("'''")){let n=r.replace(/\\/g,"\\\\").replace(/"/g,'\\"');e.push(`developer_instructions = """
|
|
73
73
|
${n}
|
|
74
74
|
"""`);}else e.push(`developer_instructions = '''
|
|
75
75
|
${r}
|
|
76
76
|
'''`);return e.join(`
|
|
77
77
|
`)+`
|
|
78
|
-
`}var
|
|
78
|
+
`}var hy=f(()=>{wt();i(Dm,"generateAgents");i(Zx,"serializeAgentToCodexToml");});function Da(t){return "command"in t}function yy(t){return "url"in t}var Fa=f(()=>{i(Da,"isStdioMcpServer");i(yy,"isUrlMcpServer");});function Fm(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=Object.fromEntries(Object.entries(t.mcp.mcpServers).flatMap(([n,o])=>Da(o)?[[n,o]]:[]));if(Object.keys(e).length===0)return [];let r=qx(e);return [{path:La,content:r}]}function qx(t){let e=[];for(let[r,n]of Object.entries(t)){let o=Iy(r)?`"${r}"`:r,s=[];s.push(`[mcp_servers.${o}]`),s.push(`command = ${JSON.stringify(n.command)}`);let a="["+n.args.map(c=>JSON.stringify(c)).join(", ")+"]";s.push(`args = ${a}`);let l=Object.entries(n.env);if(l.length>0){let c=l.map(([m,u])=>`${Iy(m)?JSON.stringify(m):m} = ${JSON.stringify(u)}`).join(", ");s.push(`env = { ${c} }`);}e.push(s.join(`
|
|
79
79
|
`));}return e.join(`
|
|
80
80
|
|
|
81
81
|
`)+`
|
|
82
|
-
`}function
|
|
83
|
-
`).find(c=>c.startsWith(
|
|
84
|
-
`)){let m=c.trimEnd();if(m===sy){l=true;continue}if(m===iy){l=false;continue}l&&m.startsWith(wm)&&a.push(m.slice(wm.length));}if(a.length===0)return null;try{let c=Buffer.from(a.join(""),"base64").toString("utf8");return {meta:{description:o,globs:s},body:c}}catch{return null}}var Oy=f(()=>{wt();i(wy,"tryParseEmbeddedCanonicalFromCodexRules");});async function by(t,e,r){let n=[],o=join(t,qe);try{let s=await P(o),a=s.filter(c=>c.endsWith(".md"));for(let c of a){let m=await S(c);if(!m)continue;let u=relative(o,c).replace(/\\/g,"/"),p=join(e,u),{frontmatter:d,body:g}=w(r(m,c,p));await k(e);let h=d.root===!0?d:{...d,root:!1},C=await $(p,h,g);await R(p,C),n.push({fromTool:St,fromPath:c,toPath:`${Or}/${u}`,feature:"rules"});}let l=s.filter(c=>c.endsWith(".rules"));for(let c of l){let m=await S(c);if(!m)continue;let u=relative(o,c).replace(/\\/g,"/").replace(/\.rules$/i,".md"),p=join(e,u);await k(e);let d=wy(m);if(d){let g=await $(p,{description:d.meta.description,globs:d.meta.globs,root:!1},r(d.body,c,p));await R(p,g);}else {let g=await $(p,{root:!1,description:"",globs:[],codex_emit:"execution"},r(m.trim(),c,p));await R(p,g);}n.push({fromTool:St,fromPath:c,toPath:`${Or}/${u}`,feature:"rules"});}}catch{}return n}var xy=f(()=>{b();F();Y();wt();Oy();i(by,"importCodexNonRootRuleFiles");});async function Ay(t,e,r,n,o){let s=join(t,ey),a=join(t,wr),l=join(t,ry),c=join(t,Wn),m=o==="global"?await S(l):null,u=o==="global"?await S(c):null,p=o==="project"?await S(a):null,d=o==="project"?await S(s):null,g=m!==null?l:u!==null?c:p!==null?a:s,h=join(t,Or),C=m??u??p??d;if(C!==null){await k(h);let _=join(h,"_root.md"),y=g===a||g===c||g===l?cy(C):C,O=await Ge({content:y,projectRoot:t,rulesDir:Or,sourcePath:g,fromTool:"codex-cli",normalize:r});e.push(...O.results);let D=r(g===a||g===c||g===l?n(O.rootContent,g,_):O.rootContent,g,_),{frontmatter:E,body:x}=w(D),K=E.root===true?E:{...E,root:true},M=await $(_,K,x);await R(_,M),e.push({fromTool:"codex-cli",fromPath:g,toPath:`${Or}/_root.md`,feature:"rules"});}await nP(t,h,e,r),e.push(...await by(t,h,r)),o!=="global"&&e.push(...await st({srcDir:t,destDir:h,extensions:["AGENTS.md","AGENTS.override.md"],fromTool:"codex-cli",normalize:r,mapEntry:i(async({srcPath:_,normalizeTo:y})=>{let O=relative(t,dirname(_)).replace(/\\/g,"/"),D=basename(_),E=D==="AGENTS.override.md";if(!O||O==="."||!E&&D!=="AGENTS.md")return null;let x=O.replace(/\//g,"-");if(!va(O))return await Er(join(h,`${x}.md`)),null;let K=join(h,`${x}.md`),{frontmatter:M,body:W}=w(y(K));return {destPath:K,toPath:`${Or}/${x}.md`,feature:"rules",content:await $(K,{...M,root:false,globs:[`${O}/**`],...E?{codex_instruction:"override"}:{}},W)}},"mapEntry")}));}async function nP(t,e,r,n){try{let s=(await P(join(t,Bn))).filter(l=>l.endsWith(".md")),a=join(t,Bn);for(let l of s){let c=relative(a,l).replace(/\\/g,"/");if(c==="_root.md")continue;let m=await S(l);if(!m)continue;let u=join(e,c),{frontmatter:p,body:d}=w(n(m,l,u));await k(e);let g=p.root===!0?p:{...p,root:!1},h=await $(u,g,d);await R(u,h),r.push({fromTool:St,fromPath:l,toPath:`${Or}/${c}`,feature:"rules"});}}catch{}}var Ty=f(()=>{b();F();Y();wo();$e();gi();wt();xy();Na();i(Ay,"importCodexRules");i(nP,"importInstructionMirrors");});async function $a(t,e){let r=e?.scope??"project",n=[],o=await H(St,t,r),s=await H("windsurf",t,r);return await Ay(t,n,o,s,r),await Ry(t,n,o),await Cy(t,n,o),await Iy(t,n),n}var $m=f(()=>{bt();wt();Sy();_y();ky();Ty();i($a,"importFromCodex");});function Ly(t,e,r){let{rules:n}=t;return n.length===0?[]:n.some(s=>s.root)?[]:[{level:"warning",file:relative(e,n[0].source),target:St,message:"Codex needs a root rule to generate AGENTS.md. Add root: true to a rule."}]}var Ny=f(()=>{wt();i(Ly,"lintRules");});function Dy(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.mcp.mcpServers))if(typeof n.description=="string"&&n.description&&e.push(V(".agentsmesh/mcp.json","codex-cli",`MCP server "${r}" has a description, but codex-cli does not project MCP descriptions into .codex/config.toml.`)),"url"in n||"type"in n){let o="type"in n?n.type:"url";e.push(V(".agentsmesh/mcp.json","codex-cli",`MCP server "${r}" uses ${o} transport; codex-cli only generates stdio MCP servers.`));}return e}var Fy=f(()=>{Wt();i(Dy,"lintMcp");});function vy(t){return fi(t)}var $y=f(()=>{Na();i(vy,"codexAdvisoryInstructionPath");});var sP,iP,aP,lP,Gy,jy=f(()=>{yy();wt();$m();Ny();Fy();Ut();yo();$y();vs();sP={name:"codex-cli",primaryRootInstructionPath:wr,generateRules:xm,generateCommands:Tm,generateAgents:Lm,generateSkills:Am,generateMcp:Nm,importFrom:$a},iP={rootInstructionPath:wr,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${qe}/${e}.rules`]},skillDir:".agents/skills",managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/instructions"],files:["AGENTS.md",".codex/config.toml"]},paths:{rulePath(t,e){return vy(e)},commandPath(t,e){return xs(e,"codex-cli")?`${Oe}/${Eo(t)}/SKILL.md`:null},agentPath(t,e){return `${Kn}/${t}.toml`}}},aP={rootInstructionPath:Wn,renderPrimaryRootInstruction:Pm,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${qe}/${e}.rules`]},skillDir:Oe,managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/rules"],files:[Wn,".codex/config.toml"]},rewriteGeneratedPath(t){return t===wr?Wn:t.startsWith(`${Bn}/`)?null:t},paths:{rulePath(t,e){return e.codexEmit==="execution"?`${qe}/${t}.rules`:Wn},commandPath(t,e){return xs(e,"codex-cli")?`${Oe}/${Eo(t)}/SKILL.md`:null},agentPath(t,e){return `${Kn}/${t}.toml`}}},lP={rules:"native",additionalRules:"embedded",commands:"embedded",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},Gy={id:"codex-cli",generators:sP,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:Ly,lint:{mcp:Dy},project:iP,globalSupport:{capabilities:lP,detectionPaths:[".codex/AGENTS.md",".codex/AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules",".agents/skills"],layout:aP},buildImportPaths:Jc,sharedArtifacts:{".agents/skills/":"owner"},detectionPaths:["codex.md","AGENTS.md","AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules"]};});function mP(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 Uy(t){return `${We}/${t}.md`}function Wy(t){let e={description:t.description||void 0,"x-agentsmesh-kind":"command","x-agentsmesh-name":t.name,"x-agentsmesh-allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return e.description===void 0&&delete e.description,e["x-agentsmesh-allowed-tools"]===void 0&&delete e["x-agentsmesh-allowed-tools"],N(e,t.body.trim()||"")}function By(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:mP(t["x-agentsmesh-allowed-tools"])}}function Ky(t,e){let r={description:t.description||void 0,"allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return r.description===void 0&&delete r.description,r["allowed-tools"]===void 0&&delete r["allowed-tools"],N(r,e.trim()||"")}var Ma=f(()=>{F();Ke();i(mP,"toStringArray");i(Uy,"continueCommandRulePath");i(Wy,"serializeCommandRule");i(By,"parseCommandRuleFrontmatter");i(Ky,"serializeImportedCommand");});function Hy(t){let e=[],r=t.rules.find(n=>n.root);if(r){let n={};r.description&&(n.description=r.description),e.push({path:Ir,content:N(n,r.body.trim()||"")});}for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("continue"))continue;let o=basename(n.source,".md"),s={};n.description&&(s.description=n.description),n.globs.length>0&&(s.globs=n.globs),e.push({path:`${ye}/${o}.md`,content:N(s,n.body.trim()||"")});}return e}function zy(t){return t.commands.map(e=>({path:`${We}/${e.name}.md`,content:Wy(e)}))}function Vy(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:ha,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function Jy(t){return Ne(t,Be)}var Yy=f(()=>{de();F();Ma();Ke();i(Hy,"generateRules");i(zy,"generateCommands");i(Vy,"generateMcp");i(Jy,"generateSkills");});function dP(t,e){let n=(e===".json"?JSON.parse(t):parse(t)??{}).mcpServers;if(!n||typeof n!="object"||Array.isArray(n))return {};let o={};for(let[s,a]of Object.entries(n)){if(!a||typeof a!="object"||Array.isArray(a))continue;let l=a;typeof l.command=="string"&&(o[s]={type:typeof l.type=="string"?l.type:"stdio",command:l.command,args:Co(l.args),env:ko(l.env),description:typeof l.description=="string"?l.description:void 0});}return o}async function fP(t,e){let r=(await P(join(t,Yc))).filter(s=>[".json",".yaml",".yml"].includes(extname(s))),n={},o=[];for(let s of r){let a=await S(s);a&&(Object.assign(n,dP(a,extname(s))),o.push(s));}if(Object.keys(n).length!==0){await R(join(t,Zc),JSON.stringify({mcpServers:n},null,2));for(let s of o)e.push({fromTool:Po,fromPath:s,toPath:Zc,feature:"mcp"});}}async function Ga(t){let e=[],r=await H(Po,t);return e.push(...await gt(ja,t,"project",{normalize:r})),await De(t,Be,Po,e,r),await fP(t,e),e}var Mm=f(()=>{bt();b();de();Me();ge();Ke();Gm();i(dP,"readMcpServers");i(fP,"importMcp");i(Ga,"importFromContinue");});function gP(t){return t==="general.md"||t==="_root.md"}var qy,Qy,tI=f(()=>{F();Y();Ma();Ke();i(gP,"isContinueRootRulePath");qy=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=gP(t),o=n?"_root.md":t,s=join(r,o),{frontmatter:a,body:l}=w(e(s)),c={description:typeof a.description=="string"?a.description:void 0,globs:Array.isArray(a.globs)?a.globs:void 0,root:n};return c.description===void 0&&delete c.description,c.globs===void 0&&delete c.globs,{destPath:s,toPath:`${ya}/${o}`,content:await $(s,c,l)}},"continueRuleMapper"),Qy=i(async({absolutePath:t,relativePath:e,normalizeTo:r,destDir:n})=>{let o=join(n,e),{frontmatter:s,body:a}=w(r(o)),l=By(s,t),c=l.name||e.replace(/\.md$/,"").replace(/^.*\//,""),m=e.includes("/")?e.slice(0,e.lastIndexOf("/")):"",u=m?`${m}/${c}.md`:`${c}.md`,p=join(n,u),d=await Q(p,{description:l.description,hasDescription:!!l.description,allowedTools:l.allowedTools,hasAllowedTools:l.allowedTools.length>0},w(Ky(l,a)).body);return {destPath:p,toPath:`${Ia}/${u}`,content:d}},"continueCommandMapper");});function eI(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Po}))}var rI=f(()=>{he();Ke();i(eI,"lintRules");});function nI(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>V(e.source,"continue","Continue invokable prompt rules do not natively enforce canonical allowed-tools metadata."))}var oI=f(()=>{Wt();i(nI,"lintCommands");});function SP(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var sI,iI=f(()=>{b();Ke();i(SP,"computeStatus");sI=i(async(t,e,r,n)=>{if(r!=="global")return [];let o=n.has("rules"),s=n.has("commands"),a=n.has("mcp");if(!(o&&t.rules.length>0||s&&t.commands.length>0||a&&t.mcp!==null&&Object.keys(t.mcp.mcpServers).length>0))return [];let c={name:"agentsmesh",version:1,schema:"v1"};if(o&&t.rules.length>0&&(c.rules=t.rules.map(p=>({name:p.description||basename(p.source,".md"),rule:p.body.trim()}))),s&&t.commands.length>0&&(c.prompts=t.commands.map(p=>{let d={name:p.name};return p.description&&(d.description=p.description),d.prompt=p.body.trim(),d})),a&&t.mcp!==null){let p=Object.entries(t.mcp.mcpServers);p.length>0&&(c.mcpServers=p.map(([d,g])=>({name:d,...g})));}let m=stringify(c),u=await S(join(e,Js));return [{target:"continue",path:Js,content:m,currentContent:u??void 0,status:SP(u,m)}]},"generateContinueGlobalConfig");});function _P(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var aI,lI=f(()=>{b();Ke();iI();i(_P,"computeStatus");aI=i(async(t,e,r,n)=>{let o=await sI(t,e,r,n);if(r!=="global"||!n.has("rules"))return o;let s=t.rules.find(c=>c.root);if(!s)return o;let a=s.body.trim(),l=await S(join(e,Ao));return [...o,{target:"continue",path:Ao,content:a,currentContent:l??void 0,status:_P(l,a)}]},"generateContinueScopeExtras");});var CP,kP,wP,OP,ja,Gm=f(()=>{Yy();Ke();Mm();tI();rI();oI();Ma();Ut();lI();CP={name:"continue",primaryRootInstructionPath:Ir,generateRules:Hy,generateCommands:zy,generateSkills:Jy,generateMcp:Vy,importFrom:Ga},kP={rootInstructionPath:Ir,skillDir:".continue/skills",managedOutputs:{dirs:[".continue/prompts",".continue/rules",".continue/skills"],files:[".continue/mcpServers/agentsmesh.json"]},paths:{rulePath(t,e){return `${ye}/${t}.md`},commandPath(t,e){return Uy(t)},agentPath(t,e){return null}}},wP={rootInstructionPath:Ir,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[Ao]}],skillDir:Be,managedOutputs:{dirs:[ye,We,Be,".agents/skills"],files:[ha,Ao,Js]},mirrorGlobalPath(t,e){return t.startsWith(`${Be}/`)?`.agents/skills/${t.slice(Be.length+1)}`:null},paths:{rulePath(t,e){return `${ye}/${t}.md`},commandPath(t,e){return `${We}/${t}.md`},agentPath(t,e){return null}}},OP={rules:"native",additionalRules:"native",commands:"native",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},ja={id:"continue",generators:CP,capabilities:{rules:"native",additionalRules:"native",commands:"embedded",agents:"none",skills:"embedded",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},emptyImportMessage:"No Continue config found (.continue/rules/*.md, .continue/skills, or .continue/mcpServers/*).",lintRules:eI,lint:{commands:nI},project:kP,globalSupport:{capabilities:OP,detectionPaths:[ye,We,".continue/mcpServers",Be],layout:wP,scopeExtras:aI},importer:{rules:{feature:"rules",mode:"directory",source:{project:[ye],global:[ye]},canonicalDir:ya,extensions:[".md"],map:qy},commands:{feature:"commands",mode:"directory",source:{project:[We],global:[We]},canonicalDir:Ia,extensions:[".md"],map:Qy}},buildImportPaths:qc,detectionPaths:[".continue/rules",".continue/skills",".continue/mcpServers"]};});var br,Hn,cI,zn,sn,tr,er,Vn,Jn,Ua,Wa,mI,Um,uI,an,Ko,xr,Ho,Yn,Wm,Bm,ee=f(()=>{br="copilot",Hn=".github/copilot-instructions.md",cI=".github/copilot",zn=".github/instructions",sn=".github/prompts",tr=".github/hooks",er=".github/skills",Vn=".github/agents",Jn=".agentsmesh/rules",Ua=".agentsmesh/commands",Wa=".agentsmesh/agents",mI=".agentsmesh/skills",Um=".agentsmesh/hooks.yaml",uI=".github/copilot-hooks",an=".copilot/copilot-instructions.md",Ko=".copilot/agents",xr=".copilot/skills",Ho=".copilot/prompts",Yn=".copilot/AGENTS.md",Wm=".claude/skills",Bm=".agents/skills";});function pI(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):typeof t=="string"&&t.length>0?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Ba(t){return `${sn}/${t}.prompt.md`}function dI(t){let e={agent:"agent",description:t.description||void 0,"x-agentsmesh-kind":"command","x-agentsmesh-name":t.name,"x-agentsmesh-allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return e.description===void 0&&delete e.description,e["x-agentsmesh-allowed-tools"]===void 0&&delete e["x-agentsmesh-allowed-tools"],N(e,t.body.trim()||"")}function fI(t,e){let n=((typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"")||basename(e,".prompt.md")).trim(),o=pI(t["x-agentsmesh-allowed-tools"]),s=o.length>0?o:pI(t.tools);return {name:n,description:typeof t.description=="string"?t.description:"",allowedTools:s}}var Ka=f(()=>{F();ee();i(pI,"toStringArray");i(Ba,"commandPromptPath");i(dI,"serializeCommandPrompt");i(fI,"parseCommandPromptFrontmatter");});function Ha(t){return lr(t)}var Km=f(()=>{le();i(Ha,"hasHookCommand");});function xP(t){let e=basename(t,".md");return e==="_root"?"root":e}function PP(t){switch(t){case "PreToolUse":return "preToolUse";case "PostToolUse":return "postToolUse";case "Notification":return "notification";case "UserPromptSubmit":return "userPromptSubmitted";default:return null}}function gI(t){let e=[],r=t.rules.find(n=>n.root);r?.body.trim()&&e.push(r.body.trim());for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("copilot"))continue;let o=n.body.trim();if(!o)continue;let s=n.description?`## ${n.description}`:null;s?e.push(`${s}
|
|
82
|
+
`}function Iy(t){return !/^[A-Za-z0-9_-]+$/.test(t)}var Sy=f(()=>{Fa();wt();i(Fm,"generateMcp");i(qx,"serializeMcpToToml");i(Iy,"needsTomlQuoting");});var _y=f(()=>{fy();gy();hy();Sy();});var Ry=f(()=>{_y();});function tP(t){if(!t||typeof t!="object"||Array.isArray(t))return null;let e=t,r=typeof e.command=="string"?e.command:"";if(!r)return null;let n=Array.isArray(e.args)?e.args.filter(a=>typeof a=="string"):[],o=e.env,s=o!==null&&typeof o=="object"&&!Array.isArray(o)?Object.fromEntries(Object.entries(o).filter(a=>typeof a[1]=="string")):{};return {type:"stdio",command:r,args:n,env:s}}async function Cy(t,e){let r=join(t,La),n=await I(r);if(n===null)return;let o;try{o=parse$1(n);}catch{return}let s=o.mcp_servers;if(!s||typeof s!="object"||Array.isArray(s)||Object.keys(s).length===0)return;let a={};for(let[l,c]of Object.entries(s)){let m=tP(c);m&&(a[l]=m);}Object.keys(a).length!==0&&(await k(join(t,".agentsmesh")),await _(join(t,wm),JSON.stringify({mcpServers:a},null,2)),e.push({fromTool:St,fromPath:r,toPath:wm,feature:"mcp"}));}var ky=f(()=>{E();wt();i(tP,"mapTomlServerToCanonical");i(Cy,"importMcp");});function va(t){let e=t.split("/").filter(Boolean);return e.length===0||e.some(n=>n.startsWith("."))?false:!e.join("/").startsWith("tests/e2e/fixtures/")}async function br(t){await rm$1(t,{recursive:true,force:true});}var gi=f(()=>{i(va,"shouldImportScopedAgentsRule");i(br,"removePathIfExists");});async function wy(t,e,r){let n={projectRoot:t,sourceSkillsDir:Ee,destCanonicalSkillsDir:di,targetName:St,normalize:r,results:e};for(let o of [Ee,ay]){let s=join(t,o),a=await readdir(s,{encoding:"utf8",withFileTypes:true}).catch(()=>null);if(a===null)continue;let l=false;for(let c of a){if(!c.isDirectory()&&!c.isSymbolicLink())continue;let m=join(s,c.name),u=join(m,"SKILL.md"),p=await I(u);if(!p)continue;l=true;let d=c.name,g=join(t,di,d,"SKILL.md"),h=r(p,u,g),{frontmatter:R,body:C}=O(h),S=hg(R,c.name);if(S){await br(join(t,di,d));let D=join(t,km);await k(D);let b=join(D,`${S.name}.md`);await _(b,yg(S,r(C,u,b))),e.push({fromTool:St,fromPath:u,toPath:`${km}/${S.name}.md`,feature:"commands"});continue}let w=jr(R,c.name);if(w){await br(join(t,di,d));let D=join(t,Bo);await k(D);let b=join(D,`${w.name}.md`);await _(b,je(w,r(C,u,b))),e.push({fromTool:St,fromPath:u,toPath:`${Bo}/${w.name}.md`,feature:"agents"});continue}await Ze(d,m,n);}if(l)return}}var Oy=f(()=>{E();F();vs();Xt();gi();Uo();wt();i(wy,"importSkills");});async function Ey(t,e,r){let n=join(t,Kn),o=join(t,Bo);try{let a=(await P(n)).filter(l=>l.endsWith(".toml"));for(let l of a){let c=await I(l);if(!c)continue;let m=parse$1(c);if(!m||typeof m!="object")continue;let u=typeof m.name=="string"?m.name:basename(l,".toml"),p=typeof m.description=="string"?m.description:"",d=typeof m.developer_instructions=="string"?m.developer_instructions.trim():"",g=typeof m.model=="string"?m.model:"",h=typeof m.sandbox_mode=="string"?m.sandbox_mode:"",R=h==="read-only"?"read-only":h==="workspace-write"?"allow":"",C=Array.isArray(m.mcp_servers)?m.mcp_servers.filter(x=>typeof x=="string"):[];await k(o);let S=join(o,`${u}.md`),w=r(d,l,S),b=je({name:u,description:p,tools:[],disallowedTools:[],model:g,permissionMode:R,maxTurns:0,mcpServers:C,hooks:{},skills:[],memory:""},w);await _(S,b),e.push({fromTool:St,fromPath:l,toPath:`${Bo}/${u}.md`,feature:"agents"});}}catch{}}var by=f(()=>{E();Xt();wt();i(Ey,"importCodexAgentsFromToml");});function xy(t){if(!t.includes(ly))return null;let e=t.split(`
|
|
83
|
+
`).find(c=>c.startsWith(Om));if(!e)return null;let r;try{r=JSON.parse(e.slice(Om.length));}catch{return null}if(!r||typeof r!="object")return null;let n=r,o=typeof n.description=="string"?n.description:"",s=Array.isArray(n.globs)?n.globs.filter(c=>typeof c=="string"):[],a=[],l=false;for(let c of t.split(`
|
|
84
|
+
`)){let m=c.trimEnd();if(m===cy){l=true;continue}if(m===my){l=false;continue}l&&m.startsWith(Em)&&a.push(m.slice(Em.length));}if(a.length===0)return null;try{let c=Buffer.from(a.join(""),"base64").toString("utf8");return {meta:{description:o,globs:s},body:c}}catch{return null}}var Py=f(()=>{wt();i(xy,"tryParseEmbeddedCanonicalFromCodexRules");});async function Ty(t,e,r){let n=[],o=join(t,qe);try{let s=await P(o),a=s.filter(c=>c.endsWith(".md"));for(let c of a){let m=await I(c);if(!m)continue;let u=relative(o,c).replace(/\\/g,"/"),p=join(e,u),{frontmatter:d,body:g}=O(r(m,c,p));await k(e);let h=d.root===!0?d:{...d,root:!1},R=await $(p,h,g);await _(p,R),n.push({fromTool:St,fromPath:c,toPath:`${Er}/${u}`,feature:"rules"});}let l=s.filter(c=>c.endsWith(".rules"));for(let c of l){let m=await I(c);if(!m)continue;let u=relative(o,c).replace(/\\/g,"/").replace(/\.rules$/i,".md"),p=join(e,u);await k(e);let d=xy(m);if(d){let g=await $(p,{description:d.meta.description,globs:d.meta.globs,root:!1},r(d.body,c,p));await _(p,g);}else {let g=await $(p,{root:!1,description:"",globs:[],codex_emit:"execution"},r(m.trim(),c,p));await _(p,g);}n.push({fromTool:St,fromPath:c,toPath:`${Er}/${u}`,feature:"rules"});}}catch{}return n}var Ly=f(()=>{E();F();Y();wt();Py();i(Ty,"importCodexNonRootRuleFiles");});async function Dy(t,e,r,n,o){let s=join(t,sy),a=join(t,Or),l=join(t,iy),c=join(t,Wn),m=o==="global"?await I(l):null,u=o==="global"?await I(c):null,p=o==="project"?await I(a):null,d=o==="project"?await I(s):null,g=m!==null?l:u!==null?c:p!==null?a:s,h=join(t,Er),R=m??u??p??d;if(R!==null){await k(h);let C=join(h,"_root.md"),S=g===a||g===c||g===l?dy(R):R,w=await Ge({content:S,projectRoot:t,rulesDir:Er,sourcePath:g,fromTool:"codex-cli",normalize:r});e.push(...w.results);let D=r(g===a||g===c||g===l?n(w.rootContent,g,C):w.rootContent,g,C),{frontmatter:b,body:x}=O(D),K=b.root===true?b:{...b,root:true},M=await $(C,K,x);await _(C,M),e.push({fromTool:"codex-cli",fromPath:g,toPath:`${Er}/_root.md`,feature:"rules"});}await lP(t,h,e,r),e.push(...await Ty(t,h,r)),o!=="global"&&e.push(...await st({srcDir:t,destDir:h,extensions:["AGENTS.md","AGENTS.override.md"],fromTool:"codex-cli",normalize:r,mapEntry:i(async({srcPath:C,normalizeTo:S})=>{let w=relative(t,dirname(C)).replace(/\\/g,"/"),D=basename(C),b=D==="AGENTS.override.md";if(!w||w==="."||!b&&D!=="AGENTS.md")return null;let x=w.replace(/\//g,"-");if(!va(w))return await br(join(h,`${x}.md`)),null;let K=join(h,`${x}.md`),{frontmatter:M,body:W}=O(S(K));return {destPath:K,toPath:`${Er}/${x}.md`,feature:"rules",content:await $(K,{...M,root:false,globs:[`${w}/**`],...b?{codex_instruction:"override"}:{}},W)}},"mapEntry")}));}async function lP(t,e,r,n){try{let s=(await P(join(t,Bn))).filter(l=>l.endsWith(".md")),a=join(t,Bn);for(let l of s){let c=relative(a,l).replace(/\\/g,"/");if(c==="_root.md")continue;let m=await I(l);if(!m)continue;let u=join(e,c),{frontmatter:p,body:d}=O(n(m,l,u));await k(e);let g=p.root===!0?p:{...p,root:!1},h=await $(u,g,d);await _(u,h),r.push({fromTool:St,fromPath:l,toPath:`${Er}/${c}`,feature:"rules"});}}catch{}}var Fy=f(()=>{E();F();Y();wo();$e();gi();wt();Ly();Na();i(Dy,"importCodexRules");i(lP,"importInstructionMirrors");});async function $a(t,e){let r=e?.scope??"project",n=[],o=await H(St,t,r),s=await H("windsurf",t,r);return await Dy(t,n,o,s,r),await wy(t,n,o),await Ey(t,n,o),await Cy(t,n),n}var Gm=f(()=>{bt();wt();ky();Oy();by();Fy();i($a,"importFromCodex");});function vy(t,e,r){let{rules:n}=t;return n.length===0?[]:n.some(s=>s.root)?[]:[{level:"warning",file:relative(e,n[0].source),target:St,message:"Codex needs a root rule to generate AGENTS.md. Add root: true to a rule."}]}var $y=f(()=>{wt();i(vy,"lintRules");});function My(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.mcp.mcpServers))if(typeof n.description=="string"&&n.description&&e.push(V(".agentsmesh/mcp.json","codex-cli",`MCP server "${r}" has a description, but codex-cli does not project MCP descriptions into .codex/config.toml.`)),"url"in n||"type"in n){let o="type"in n?n.type:"url";e.push(V(".agentsmesh/mcp.json","codex-cli",`MCP server "${r}" uses ${o} transport; codex-cli only generates stdio MCP servers.`));}return e}var Gy=f(()=>{Wt();i(My,"lintMcp");});function jy(t){return fi(t)}var Uy=f(()=>{Na();i(jy,"codexAdvisoryInstructionPath");});var mP,uP,pP,dP,By,Ky=f(()=>{Ry();wt();Gm();$y();Gy();Ut();yo();Uy();vs();mP={name:"codex-cli",primaryRootInstructionPath:Or,generateRules:Am,generateCommands:Nm,generateAgents:Dm,generateSkills:Lm,generateMcp:Fm,importFrom:$a},uP={rootInstructionPath:Or,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${qe}/${e}.rules`]},skillDir:".agents/skills",managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/instructions"],files:["AGENTS.md",".codex/config.toml"]},paths:{rulePath(t,e){return jy(e)},commandPath(t,e){return xs(e,"codex-cli")?`${Ee}/${Eo(t)}/SKILL.md`:null},agentPath(t,e){return `${Kn}/${t}.toml`}}},pP={rootInstructionPath:Wn,renderPrimaryRootInstruction:Tm,extraRuleOutputPaths(t){if(t.root||t.codexEmit!=="execution")return [];let e=basename(t.source,".md");return [`${qe}/${e}.rules`]},skillDir:Ee,managedOutputs:{dirs:[".agents/skills",".codex/agents",".codex/rules"],files:[Wn,".codex/config.toml"]},rewriteGeneratedPath(t){return t===Or?Wn:t.startsWith(`${Bn}/`)?null:t},paths:{rulePath(t,e){return e.codexEmit==="execution"?`${qe}/${t}.rules`:Wn},commandPath(t,e){return xs(e,"codex-cli")?`${Ee}/${Eo(t)}/SKILL.md`:null},agentPath(t,e){return `${Kn}/${t}.toml`}}},dP={rules:"native",additionalRules:"embedded",commands:"embedded",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},By={id:"codex-cli",generators:mP,capabilities:{rules:"native",additionalRules:"native",commands:"embedded",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},emptyImportMessage:"No Codex config found (codex.md or AGENTS.md).",supportsConversion:{commands:true},lintRules:vy,lint:{mcp:My},project:uP,globalSupport:{capabilities:dP,detectionPaths:[".codex/AGENTS.md",".codex/AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules",".agents/skills"],layout:pP},buildImportPaths:Xc,sharedArtifacts:{".agents/skills/":"owner"},detectionPaths:["codex.md","AGENTS.md","AGENTS.override.md",".codex/config.toml",".codex/agents",".codex/rules"]};});function gP(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):typeof t=="string"&&t.length>0?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Hy(t){return `${We}/${t}.md`}function zy(t){let e={description:t.description||void 0,"x-agentsmesh-kind":"command","x-agentsmesh-name":t.name,"x-agentsmesh-allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return e.description===void 0&&delete e.description,e["x-agentsmesh-allowed-tools"]===void 0&&delete e["x-agentsmesh-allowed-tools"],N(e,t.body.trim()||"")}function Vy(t,e){let r=basename(e,".md");return {name:((typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"")||r).trim(),description:typeof t.description=="string"?t.description:"",allowedTools:gP(t["x-agentsmesh-allowed-tools"])}}function Jy(t,e){let r={description:t.description||void 0,"allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return r.description===void 0&&delete r.description,r["allowed-tools"]===void 0&&delete r["allowed-tools"],N(r,e.trim()||"")}var Ma=f(()=>{F();Ke();i(gP,"toStringArray");i(Hy,"continueCommandRulePath");i(zy,"serializeCommandRule");i(Vy,"parseCommandRuleFrontmatter");i(Jy,"serializeImportedCommand");});function Yy(t){let e=[],r=t.rules.find(n=>n.root);if(r){let n={};r.description&&(n.description=r.description),e.push({path:Sr,content:N(n,r.body.trim()||"")});}for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("continue"))continue;let o=basename(n.source,".md"),s={};n.description&&(s.description=n.description),n.globs.length>0&&(s.globs=n.globs),e.push({path:`${Ie}/${o}.md`,content:N(s,n.body.trim()||"")});}return e}function Xy(t){return t.commands.map(e=>({path:`${We}/${e.name}.md`,content:zy(e)}))}function Zy(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:ha,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function qy(t){return Ne(t,Be)}var Qy=f(()=>{fe();F();Ma();Ke();i(Yy,"generateRules");i(Xy,"generateCommands");i(Zy,"generateMcp");i(qy,"generateSkills");});function IP(t,e){let n=(e===".json"?JSON.parse(t):parse(t)??{}).mcpServers;if(!n||typeof n!="object"||Array.isArray(n))return {};let o={};for(let[s,a]of Object.entries(n)){if(!a||typeof a!="object"||Array.isArray(a))continue;let l=a;typeof l.command=="string"&&(o[s]={type:typeof l.type=="string"?l.type:"stdio",command:l.command,args:Co(l.args),env:ko(l.env),description:typeof l.description=="string"?l.description:void 0});}return o}async function SP(t,e){let r=(await P(join(t,Zc))).filter(s=>[".json",".yaml",".yml"].includes(extname(s))),n={},o=[];for(let s of r){let a=await I(s);a&&(Object.assign(n,IP(a,extname(s))),o.push(s));}if(Object.keys(n).length!==0){await _(join(t,Qc),JSON.stringify({mcpServers:n},null,2));for(let s of o)e.push({fromTool:Po,fromPath:s,toPath:Qc,feature:"mcp"});}}async function Ga(t){let e=[],r=await H(Po,t);return e.push(...await gt(ja,t,"project",{normalize:r})),await De(t,Be,Po,e,r),await SP(t,e),e}var jm=f(()=>{bt();E();fe();Me();he();Ke();Um();i(IP,"readMcpServers");i(SP,"importMcp");i(Ga,"importFromContinue");});function _P(t){return t==="general.md"||t==="_root.md"}var rI,nI,oI=f(()=>{F();Y();Ma();Ke();i(_P,"isContinueRootRulePath");rI=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=_P(t),o=n?"_root.md":t,s=join(r,o),{frontmatter:a,body:l}=O(e(s)),c={description:typeof a.description=="string"?a.description:void 0,globs:Array.isArray(a.globs)?a.globs:void 0,root:n};return c.description===void 0&&delete c.description,c.globs===void 0&&delete c.globs,{destPath:s,toPath:`${ya}/${o}`,content:await $(s,c,l)}},"continueRuleMapper"),nI=i(async({absolutePath:t,relativePath:e,normalizeTo:r,destDir:n})=>{let o=join(n,e),{frontmatter:s,body:a}=O(r(o)),l=Vy(s,t),c=l.name||e.replace(/\.md$/,"").replace(/^.*\//,""),m=e.includes("/")?e.slice(0,e.lastIndexOf("/")):"",u=m?`${m}/${c}.md`:`${c}.md`,p=join(n,u),d=await Q(p,{description:l.description,hasDescription:!!l.description,allowedTools:l.allowedTools,hasAllowedTools:l.allowedTools.length>0},O(Jy(l,a)).body);return {destPath:p,toPath:`${Ia}/${u}`,content:d}},"continueCommandMapper");});function sI(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Po}))}var iI=f(()=>{ye();Ke();i(sI,"lintRules");});function aI(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>V(e.source,"continue","Continue invokable prompt rules do not natively enforce canonical allowed-tools metadata."))}var lI=f(()=>{Wt();i(aI,"lintCommands");});function wP(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var cI,mI=f(()=>{E();Ke();i(wP,"computeStatus");cI=i(async(t,e,r,n)=>{if(r!=="global")return [];let o=n.has("rules"),s=n.has("commands"),a=n.has("mcp");if(!(o&&t.rules.length>0||s&&t.commands.length>0||a&&t.mcp!==null&&Object.keys(t.mcp.mcpServers).length>0))return [];let c={name:"agentsmesh",version:1,schema:"v1"};if(o&&t.rules.length>0&&(c.rules=t.rules.map(p=>({name:p.description||basename(p.source,".md"),rule:p.body.trim()}))),s&&t.commands.length>0&&(c.prompts=t.commands.map(p=>{let d={name:p.name};return p.description&&(d.description=p.description),d.prompt=p.body.trim(),d})),a&&t.mcp!==null){let p=Object.entries(t.mcp.mcpServers);p.length>0&&(c.mcpServers=p.map(([d,g])=>({name:d,...g})));}let m=stringify(c),u=await I(join(e,Js));return [{target:"continue",path:Js,content:m,currentContent:u??void 0,status:wP(u,m)}]},"generateContinueGlobalConfig");});function EP(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var uI,pI=f(()=>{E();Ke();mI();i(EP,"computeStatus");uI=i(async(t,e,r,n)=>{let o=await cI(t,e,r,n);if(r!=="global"||!n.has("rules"))return o;let s=t.rules.find(c=>c.root);if(!s)return o;let a=s.body.trim(),l=await I(join(e,Ao));return [...o,{target:"continue",path:Ao,content:a,currentContent:l??void 0,status:EP(l,a)}]},"generateContinueScopeExtras");});var bP,xP,PP,AP,ja,Um=f(()=>{Qy();Ke();jm();oI();iI();lI();Ma();Ut();pI();bP={name:"continue",primaryRootInstructionPath:Sr,generateRules:Yy,generateCommands:Xy,generateSkills:qy,generateMcp:Zy,importFrom:Ga},xP={rootInstructionPath:Sr,skillDir:".continue/skills",managedOutputs:{dirs:[".continue/prompts",".continue/rules",".continue/skills"],files:[".continue/mcpServers/agentsmesh.json"]},paths:{rulePath(t,e){return `${Ie}/${t}.md`},commandPath(t,e){return Hy(t)},agentPath(t,e){return null}}},PP={rootInstructionPath:Sr,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[Ao]}],skillDir:Be,managedOutputs:{dirs:[Ie,We,Be,".agents/skills"],files:[ha,Ao,Js]},mirrorGlobalPath(t,e){return t.startsWith(`${Be}/`)?`.agents/skills/${t.slice(Be.length+1)}`:null},paths:{rulePath(t,e){return `${Ie}/${t}.md`},commandPath(t,e){return `${We}/${t}.md`},agentPath(t,e){return null}}},AP={rules:"native",additionalRules:"native",commands:"native",agents:"none",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},ja={id:"continue",generators:bP,capabilities:{rules:"native",additionalRules:"native",commands:"embedded",agents:"none",skills:"embedded",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},emptyImportMessage:"No Continue config found (.continue/rules/*.md, .continue/skills, or .continue/mcpServers/*).",lintRules:sI,lint:{commands:aI},project:xP,globalSupport:{capabilities:AP,detectionPaths:[Ie,We,".continue/mcpServers",Be],layout:PP,scopeExtras:uI},importer:{rules:{feature:"rules",mode:"directory",source:{project:[Ie],global:[Ie]},canonicalDir:ya,extensions:[".md"],map:rI},commands:{feature:"commands",mode:"directory",source:{project:[We],global:[We]},canonicalDir:Ia,extensions:[".md"],map:nI}},buildImportPaths:tm,detectionPaths:[".continue/rules",".continue/skills",".continue/mcpServers"]};});var xr,Hn,dI,zn,sn,tr,er,Vn,Jn,Ua,Wa,fI,Bm,gI,an,Ko,Pr,Ho,Yn,Km,Hm,ee=f(()=>{xr="copilot",Hn=".github/copilot-instructions.md",dI=".github/copilot",zn=".github/instructions",sn=".github/prompts",tr=".github/hooks",er=".github/skills",Vn=".github/agents",Jn=".agentsmesh/rules",Ua=".agentsmesh/commands",Wa=".agentsmesh/agents",fI=".agentsmesh/skills",Bm=".agentsmesh/hooks.yaml",gI=".github/copilot-hooks",an=".copilot/copilot-instructions.md",Ko=".copilot/agents",Pr=".copilot/skills",Ho=".copilot/prompts",Yn=".copilot/AGENTS.md",Km=".claude/skills",Hm=".agents/skills";});function hI(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"&&e.length>0):typeof t=="string"&&t.length>0?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function Ba(t){return `${sn}/${t}.prompt.md`}function yI(t){let e={agent:"agent",description:t.description||void 0,"x-agentsmesh-kind":"command","x-agentsmesh-name":t.name,"x-agentsmesh-allowed-tools":t.allowedTools.length>0?t.allowedTools:void 0};return e.description===void 0&&delete e.description,e["x-agentsmesh-allowed-tools"]===void 0&&delete e["x-agentsmesh-allowed-tools"],N(e,t.body.trim()||"")}function II(t,e){let n=((typeof t["x-agentsmesh-name"]=="string"?t["x-agentsmesh-name"]:"")||basename(e,".prompt.md")).trim(),o=hI(t["x-agentsmesh-allowed-tools"]),s=o.length>0?o:hI(t.tools);return {name:n,description:typeof t.description=="string"?t.description:"",allowedTools:s}}var Ka=f(()=>{F();ee();i(hI,"toStringArray");i(Ba,"commandPromptPath");i(yI,"serializeCommandPrompt");i(II,"parseCommandPromptFrontmatter");});function Ha(t){return cr(t)}var zm=f(()=>{ce();i(Ha,"hasHookCommand");});function NP(t){let e=basename(t,".md");return e==="_root"?"root":e}function DP(t){switch(t){case "PreToolUse":return "preToolUse";case "PostToolUse":return "postToolUse";case "Notification":return "notification";case "UserPromptSubmit":return "userPromptSubmitted";default:return null}}function SI(t){let e=[],r=t.rules.find(n=>n.root);r?.body.trim()&&e.push(r.body.trim());for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("copilot"))continue;let o=n.body.trim();if(!o)continue;let s=n.description?`## ${n.description}`:null;s?e.push(`${s}
|
|
85
85
|
|
|
86
86
|
${o}`):e.push(o);}return e.join(`
|
|
87
87
|
|
|
88
|
-
`)}function
|
|
89
|
-
`)}async function
|
|
88
|
+
`)}function _I(t){let e=t.rules.find(n=>n.root),r=[];e&&r.push({path:Hn,content:e.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("copilot")||n.globs.length===0)continue;let o=NP(n.source),s={description:n.description||void 0,applyTo:n.globs.length===1?n.globs[0]:n.globs};Object.keys(s).forEach(l=>{s[l]===void 0&&delete s[l];});let a=N(s,n.body.trim()||"");r.push({path:`${zn}/${o}.instructions.md`,content:a});}return r}function RI(t){return t.commands.map(e=>({path:Ba(e.name),content:yI(e)}))}function CI(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=N(n,r.body.trim()||"");e.push({path:`${er}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${er}/${r.name}/${a}`,content:s.content});}}return e}function kI(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,model:e.model||void 0,"mcp-servers":e.mcpServers.length>0?e.mcpServers:void 0,skills:e.skills.length>0?e.skills:void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=N(r,e.body.trim()||"");return {path:`${Vn}/${e.name}.agent.md`,content:n}})}function wI(t){if(!t.hooks)return [];let e=Object.fromEntries(Object.entries(t.hooks).flatMap(([r,n])=>{let o=DP(r);if(!o||!Array.isArray(n))return [];let s=n.filter(a=>typeof a=="object"&&a!==null&&Ha(a)).map((a,l)=>{let m={type:"command",bash:`./scripts/${r.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}-${l}.sh`,comment:`Matcher: ${a.matcher}`};return a.timeout!==void 0&&(m.timeoutSec=Math.ceil(a.timeout/1e3)),m});return s.length>0?[[o,s]]:[]}));return Object.keys(e).length===0?[]:[{path:`${tr}/agentsmesh.json`,content:JSON.stringify({version:1,hooks:e},null,2)}]}var OI=f(()=>{F();ee();Ka();zm();i(NP,"ruleSlug");i(DP,"mapHookEvent");i(SI,"renderCopilotGlobalInstructions");i(_I,"generateRules");i(RI,"generateCommands");i(CI,"generateSkills");i(kI,"generateAgents");i(wI,"generateHooks");});function vP(t){switch(t){case "preToolUse":return "PreToolUse";case "postToolUse":return "PostToolUse";case "notification":return "Notification";case "userPromptSubmitted":return "UserPromptSubmit";default:return null}}function $P(t){return typeof t!="string"?"*":t.match(/^Matcher:\s*(.+)$/)?.[1]?.trim()||"*"}function xI(t){let e=t.match(/^# agentsmesh-command:\s*(.+)$/m);return e?.[1]?e[1].trim():t.replace(/^#!.*\n/,"").replace(/^#.*\n/gm,"").replace(/^HOOK_DIR=.*\n/gm,"").replace(/^set -e\n?/m,"").trim()}async function PI(t,e){let r=join(t,tr),o=(await P(r).catch(()=>[])).filter(u=>u.endsWith(".json")),s={};for(let u of o){let p=await I(u);if(!p)continue;let d;try{d=JSON.parse(p);}catch{continue}if(!(!d||typeof d.hooks!="object"||d.hooks===null))for(let[g,h]of Object.entries(d.hooks)){let R=vP(g);if(!(!R||!Array.isArray(h)))for(let C of h){if(!C||typeof C!="object")continue;let S=C,w=typeof S.bash=="string"?S.bash:"";if(!w)continue;let D=join(r,w.replace(/^\.\//,"")),b=await I(D);if(!b)continue;let x=xI(b);x&&(s[R]||(s[R]=[]),s[R].push({matcher:$P(S.comment),command:x,type:"command"}));}}}let a=join(t,gI),c=(await P(a).catch(()=>[])).filter(u=>dirname(u)===a&&/^[^-]+-\d+\.sh$/i.test(basename(u)));for(let u of c){let p=await I(u);if(!p)continue;let d=basename(u,".sh"),g=d.lastIndexOf("-"),h=g>0?d.slice(0,g):d;s[h]||(s[h]=[]),s[h].push({matcher:"*",command:xI(p),type:"command"});}if(Object.keys(s).length===0)return;let m=join(t,Bm);await k(dirname(m)),await _(m,stringify(s)),e.push({fromTool:xr,fromPath:join(t,tr),toPath:Bm,feature:"hooks"});}var AI=f(()=>{E();ee();i(vP,"mapCopilotHookEvent");i($P,"extractMatcher");i(xI,"extractWrapperCommand");i(PI,"importHooks");});async function TI(t,e,r,n=er){let o=join(t,n),s=await on(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:fI,targetName:xr,normalize:r,results:e};for(let[l,c]of s)await Ze(l,c,a);}var LI=f(()=>{Uo();ee();i(TI,"importSkills");});async function za(t,e={}){let r=e.scope??"project",n=[],o=await H(xr,t,r);return n.push(...await gt(Va,t,r,{normalize:o})),await TI(t,n,o,r==="global"?Pr:er),r==="project"&&await PI(t,n),n}var Vm=f(()=>{bt();Me();ee();AI();LI();Jm();i(za,"importFromCopilot");});function NI(t){for(let e of Object.keys(t))t[e]===void 0&&delete t[e];return t}var DI,FI,vI,$I,MI=f(()=>{F();Y();he();Ka();ee();i(NI,"pruneUndefined");DI=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=t.replace(/\.instructions\.md$/i,".md"),o=join(r,n),{frontmatter:s,body:a}=O(e(o)),l=dr(s.globs),c=NI({root:false,description:typeof s.description=="string"?s.description:void 0,globs:l.length>0?l:void 0});return {destPath:o,toPath:`${Jn}/${n}`,content:await $(o,c,a)}},"copilotLegacyRuleMapper"),FI=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=t.endsWith(".instructions.md")?t.replace(/\.instructions\.md$/i,".md"):t,o=join(r,n),{frontmatter:s,body:a}=O(e(o)),l=dr(s.applyTo!==void 0?s.applyTo:s.globs),c=NI({root:false,description:typeof s.description=="string"?s.description:void 0,globs:l.length>0?l:void 0});return {destPath:o,toPath:`${Jn}/${n}`,content:await $(o,c,a)}},"copilotNewRuleMapper"),vI=i(async({absolutePath:t,relativePath:e,normalizeTo:r,destDir:n})=>{let o=e.replace(/\.prompt\.md$/i,".md"),s=join(n,o),{frontmatter:a,body:l}=O(r(s)),c=II(a,t),m=o.includes("/")?o.slice(0,o.lastIndexOf("/")):"",u=`${c.name}.md`,p=m?`${m}/${u}`:u,d=join(n,p);return {destPath:d,toPath:`${Ua}/${p}`,content:await Q(d,{description:c.description,hasDescription:Object.prototype.hasOwnProperty.call(a,"description"),allowedTools:c.allowedTools,hasAllowedTools:Object.prototype.hasOwnProperty.call(a,"tools")||Object.prototype.hasOwnProperty.call(a,"x-agentsmesh-allowed-tools")},l)}},"copilotCommandMapper"),$I=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{if(!t.endsWith(".agent.md"))return null;let n=t.replace(/\.agent\.md$/i,".md"),o=basename(n,".md"),s=join(r,n),{frontmatter:a,body:l}=O(e(s));return {destPath:s,toPath:`${Wa}/${n}`,content:await $t(s,{...a,name:typeof a.name=="string"?a.name:o},l)}},"copilotAgentMapper");});function GI(t,e,r,n){let s=lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(l=>({...l,target:xr})),a=t.rules.filter(l=>!l.root&&l.globs.length===0);return [...s,...a.map(l=>({level:"warning",file:l.source,target:xr,message:"Copilot path-specific instructions require applyTo globs; non-root rules without globs are not generated."}))]}var jI=f(()=>{ye();ee();i(GI,"lintRules");});function UI(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>V(e.source,"copilot","Copilot prompt files do not enforce canonical allowed-tools natively."))}function WI(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=["PreToolUse","PostToolUse","Notification","UserPromptSubmit"],r=new Set(e),n=Object.keys(t.hooks).filter(s=>!r.has(s)).map(s=>Wo(s,"copilot",e,{unsupportedBy:"Copilot hooks"}));return Object.values(t.hooks).some(s=>Array.isArray(s)&&s.length>0)&&n.push(V(".agentsmesh/hooks.yaml","copilot","copilot hooks are emitted as .github/hooks/scripts/*.sh wrapper scripts with a `#!/usr/bin/env bash` header; they require a POSIX shell (git-bash or WSL) to execute on Windows.")),n}var BI=f(()=>{Wt();i(UI,"lintCommands");i(WI,"lintHooks");});function WP(t){return t.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function BP(t,e){let r=relative(t,e).replace(/\\/g,"/");return !r||r.startsWith("../")?null:r}function KP(t,e){let r=t.match(KI);if(!r?.groups)return t;let n=r.groups.prefix??"",o=r.groups.suffix??"";return `${n}"$HOOK_DIR/${e}"${o}`}async function HP(t,e){let n=e.match(KI)?.groups?.path;if(!n)return null;let o=join(t,n),s=await I(o);if(s===null)return null;let a=BP(t,o);return a?{assetPath:`${tr}/scripts/${a}`,content:s,rewrittenCommand:KP(e,a)}:null}function zP(t,e){return `${tr}/scripts/${WP(t)}-${e}.sh`}function VP(t,e){return ["#!/usr/bin/env bash",`# agentsmesh-matcher: ${e}`,`# agentsmesh-command: ${t}`,"set -e",t,""].join(`
|
|
89
|
+
`)}async function HI(t,e,r){if(!e.hooks)return r;let n=[],o=new Map;for(let[s,a]of Object.entries(e.hooks)){if(!Array.isArray(a))continue;let l=0;for(let c of a){if(!Ha(c))continue;let m=zP(s,l),u=c.command,p=await HP(t,c.command);p&&(u=p.rewrittenCommand,o.has(p.assetPath)||o.set(p.assetPath,{path:p.assetPath,content:p.content}));let d=VP(u,c.matcher).replace(`set -e
|
|
90
90
|
`,`set -e
|
|
91
91
|
HOOK_DIR="$(cd "$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
|
|
92
|
-
`);n.push({path:m,content:d}),l++;}}return [...r,...n,...o.values()]}var
|
|
92
|
+
`);n.push({path:m,content:d}),l++;}}return [...r,...n,...o.values()]}var KI,zI=f(()=>{E();ee();zm();KI=/^(?<prefix>\s*(?:(?:bash|sh|zsh)\s+)?)["']?(?<path>(?:\.\.\/|\.\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?<suffix>(?:\s.*)?)$/;i(WP,"safePhaseName");i(BP,"toRepoRelative");i(KP,"rewriteWrapperCommand");i(HP,"buildAssetOutput");i(zP,"wrapperPath");i(VP,"buildWrapper");i(HI,"addHookScriptAssets");});function YP(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var VI,JI=f(()=>{E();ee();i(YP,"computeStatus");VI=i(async(t,e,r,n)=>{if(r!=="global"||!n.has("rules"))return [];let o=t.rules.find(l=>l.root);if(!o)return [];let s=o.body.trim(),a=await I(join(e,Yn));return [{target:"copilot",path:Yn,content:s,currentContent:a??void 0,status:YP(a,s)}]},"generateCopilotGlobalExtras");});var ZP,qP,QP,tA,Va,Jm=f(()=>{OI();ee();Vm();MI();jI();Ut();Ka();BI();zI();JI();ZP={name:"copilot",primaryRootInstructionPath:Hn,generateRules:_I,generateCommands:RI,generateAgents:kI,generateSkills:CI,generateHooks:wI,importFrom:za},qP={rootInstructionPath:Hn,outputFamilies:[{id:"instructions",kind:"additional",pathPrefix:".github/instructions/"}],extraRuleOutputPaths(t){if(t.root||t.globs.length===0)return [];let e=basename(t.source,".md");return [`${zn}/${e}.instructions.md`]},skillDir:".github/skills",managedOutputs:{dirs:[".github/agents",".github/instructions",".github/prompts",".github/skills",".github/hooks/scripts"],files:[".github/copilot-instructions.md",".github/hooks/agentsmesh.json"]},paths:{rulePath(t,e){return `${zn}/${t}.instructions.md`},commandPath(t,e){return Ba(t)},agentPath(t,e){return `${Vn}/${t}.agent.md`}}},QP={rootInstructionPath:an,renderPrimaryRootInstruction:SI,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[Yn]}],skillDir:Pr,managedOutputs:{dirs:[Ko,Pr,Ho,Hm,Km],files:[an,Yn]},rewriteGeneratedPath(t){return t===Hn?an:t.startsWith(`${zn}/`)?an:t.startsWith(`${sn}/`)?t.replace(`${sn}/`,`${Ho}/`):t.startsWith(`${Vn}/`)?t.replace(`${Vn}/`,`${Ko}/`):t.startsWith(`${er}/`)?t.replace(`${er}/`,`${Pr}/`):t.startsWith(`${tr}/`)?null:t},mirrorGlobalPath(t,e){if(t.startsWith(`${Pr}/`)&&!e.includes("codex-cli")){let r=t.slice(Pr.length+1);return [`.agents/skills/${r}`,`${Km}/${r}`]}return null},paths:{rulePath(t,e){return an},commandPath(t,e){return `${Ho}/${t}.prompt.md`},agentPath(t,e){return `${Ko}/${t}.agent.md`}}},tA={rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"none",hooks:"none",ignore:"none",permissions:"none"},Va={id:"copilot",generators:ZP,capabilities:{rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"none",hooks:"partial",ignore:"none",permissions:"none"},emptyImportMessage:"No Copilot config found (.github/copilot-instructions.md, .github/copilot or .github/instructions, .github/prompts, .github/skills, .github/agents, or .github/hooks).",lintRules:GI,lint:{commands:UI,hooks:WI},postProcessHookOutputs:i(async(t,e,r)=>HI(t,e,[...r]),"postProcessHookOutputs"),project:qP,globalSupport:{capabilities:tA,detectionPaths:[an,Yn,Ko,Pr,Ho,Hm],layout:QP,scopeExtras:VI},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Hn],global:[an]},canonicalDir:Jn,canonicalRootFilename:"_root.md",markAsRoot:true},{feature:"rules",mode:"directory",source:{project:[dI]},canonicalDir:Jn,extensions:[".instructions.md"],map:DI},{feature:"rules",mode:"directory",source:{project:[zn]},canonicalDir:Jn,extensions:[".instructions.md",".md"],map:FI}],commands:{feature:"commands",mode:"directory",source:{project:[sn],global:[Ho]},canonicalDir:Ua,extensions:[".prompt.md"],map:vI},agents:{feature:"agents",mode:"directory",source:{project:[Vn],global:[Ko]},canonicalDir:Wa,extensions:[".agent.md"],map:$I}},buildImportPaths:em,detectionPaths:[".github/copilot-instructions.md",".github/copilot",".github/instructions",".github/prompts",".github/skills",".github/agents",".github/hooks"]};});function Ym(t){let e=[],r=t.rules.find(s=>s.root);if(r){let s=r.body.trim()?r.body:"";e.push({path:Hr,content:s});let a={alwaysApply:true};r.description&&(a.description=r.description);let l=N(a,s);e.push({path:_r,content:l});}let n=t.rules.filter(s=>!s.root&&(s.targets.length===0||s.targets.includes("cursor")));for(let s of n){let a=basename(s.source,".md"),c={alwaysApply:s.trigger==="always_on"};s.description&&(c.description=s.description),s.globs.length>0&&(c.globs=s.globs);let m=N(c,s.body.trim()||"");e.push({path:`${qt}/${a}.mdc`,content:m});}let o=YI(t);return o.trim()&&e.push({path:_e,content:o}),e}function YI(t){let e=t.rules.find(o=>o.root),r=t.rules.filter(o=>!o.root&&(o.targets.length===0||o.targets.includes("cursor"))),n=[];return e?.body.trim()?n.push(de(e.body,r)):r.length>0&&n.push(de("",r)),n.filter(Boolean).join(`
|
|
93
93
|
|
|
94
|
-
`)}var
|
|
95
|
-
`);return [{path:
|
|
94
|
+
`)}var XI=f(()=>{F();Gr();ct();i(Ym,"generateRules");i(YI,"renderCursorGlobalUserRules");});function Xm(t){return t.commands.map(e=>({path:`${Qt}/${e.name}.md`,content:e.body.trim()||""}))}var ZI=f(()=>{ct();i(Xm,"generateCommands");});function Zm(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=JSON.stringify({mcpServers:t.mcp.mcpServers},null,2);return [{path:ze,content:e}]}var qI=f(()=>{ct();i(Zm,"generateMcp");});function qm(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=N(n,r.body.trim()||"");e.push({path:`${He}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${He}/${r.name}/${a}`,content:s.content});}}return e}var QI=f(()=>{F();ct();i(qm,"generateSkills");});function Qm(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0,model:e.model||void 0,permissionMode:e.permissionMode||void 0,maxTurns:e.maxTurns>0?e.maxTurns:void 0,mcpServers:e.mcpServers.length>0?e.mcpServers:void 0,hooks:Object.keys(e.hooks).length>0?e.hooks:void 0,skills:e.skills.length>0?e.skills:void 0,memory:e.memory||void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=N(r,e.body.trim()||"");return {path:`${To}/${e.name}.md`,content:n}})}var tS=f(()=>{F();ct();i(Qm,"generateAgents");});function tu(t){return []}var eS=f(()=>{i(tu,"generatePermissions");});function rA(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!Te(s))continue;let a=ut(s),l=Ot(s),c=s.type==="prompt"?l||a:a||l,m={type:s.type==="prompt"?"prompt":"command",[s.type==="prompt"?"prompt":"command"]:c};s.timeout!==void 0&&(m.timeout=s.timeout),o.push({matcher:s.matcher,hooks:[m]});}o.length>0&&(e[r]=o);}return e}function eu(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=rA(t.hooks);if(Object.keys(e).length===0)return [];let r=JSON.stringify({version:1,hooks:e},null,2);return [{path:Ve,content:r}]}var rS=f(()=>{ce();ct();i(rA,"toCursorHooks");i(eu,"generateHooks");});function ru(t){if(!t.ignore||t.ignore.length===0)return [];let e=t.ignore.join(`
|
|
95
|
+
`);return [{path:Se,content:e}]}var nS=f(()=>{ct();i(ru,"generateIgnore");});var oS=f(()=>{XI();ZI();qI();QI();tS();eS();rS();nS();});var sS=f(()=>{oS();});async function Ya(t,e,r,n){let o=t.replace(/\.mdc$/i,".md"),s=join(e,o),l=O(r(s)).frontmatter.alwaysApply===true,c=l?join(e,"_root.md"):s,{frontmatter:m,body:u}=O(r(c));l&&n();let p={...m,root:l};if(delete p.alwaysApply,!l){let d=nA(m);d!==null&&(p.trigger=d);}return {destPath:c,toPath:`${Je}/${l?"_root.md":o}`,feature:"rules",content:await $(c,p,u)}}function nA(t){return t.alwaysApply!==false?null:(Array.isArray(t.globs)?t.globs:[]).length>0?"glob":(typeof t.description=="string"?t.description:"").trim().length>0?"model_decision":"manual"}async function iS(t,e,r){let n=join(e,t),{frontmatter:o,body:s}=O(r(n)),a=Yt(o.allowedTools),l=a.length>0?a:Yt(o["allowed-tools"]);return {destPath:n,toPath:`${Jr}/${t}`,feature:"commands",content:await Q(n,{description:typeof o.description=="string"?o.description:"",hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),allowedTools:l,hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},s)}}async function aS(t,e,r){let n=join(e,t),{frontmatter:o,body:s}=O(r(n));return {destPath:n,toPath:`${Yr}/${t}`,feature:"agents",content:await $t(n,o,s)}}var nu=f(()=>{F();Y();he();ct();i(Ya,"mapCursorRuleFile");i(nA,"deriveCursorTrigger");i(iS,"mapCursorCommandFile");i(aS,"mapCursorAgentFile");});async function zo(t){let e=join(t.projectRoot,Je);await k(e);let r=join(e,"_root.md"),n=await Ge({content:t.content,projectRoot:t.projectRoot,rulesDir:Je,sourcePath:t.sourcePath,fromTool:"cursor",normalize:t.normalize});t.results.push(...n.results);let o=t.normalize(n.rootContent,t.sourcePath,r);if(!o.trim()&&n.results.length>0)return true;let{frontmatter:s,body:a}=O(o),l=s.root===true?s:{...s,root:true},c=await $(r,l,a);return await _(r,c),t.results.push({fromTool:"cursor",fromPath:t.sourcePath,toPath:`${Je}/_root.md`,feature:"rules"}),true}var ou=f(()=>{E();F();wo();Y();ct();i(zo,"importCursorRootFile");});async function cS(t,e,r){let n=join(t,Je),o=false,s=join(t,qt);if(e.push(...await st({srcDir:s,destDir:n,extensions:[".mdc"],fromTool:"cursor",normalize:r,mapEntry:i(async({srcPath:a,relativePath:l,normalizeTo:c})=>{if(o){let m=await I(a);if(m!==null){let{frontmatter:u}=O(m);if(u.alwaysApply===true)return null}}return Ya(l,n,c,()=>{o=true;})},"mapEntry")})),!o){let a=join(t,Hr),l=await I(a);l!==null&&(o=await zo({projectRoot:t,results:e,sourcePath:a,content:l,normalize:r}));}if(!o){let a=join(t,Ng),l=await I(a);l!==null&&await zo({projectRoot:t,results:e,sourcePath:a,content:l,normalize:r});}}var mS=f(()=>{E();F();$e();nu();ou();ct();i(cS,"importCursorRules");});function uS(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!s||typeof s!="object")continue;let a=s,l=typeof a.matcher=="string"?a.matcher:"";if(!l)continue;let c=Array.isArray(a.hooks)?a.hooks:[];for(let m of c){let u=m.type==="prompt"?"prompt":"command";if(!Te({...m,type:u}))continue;let p=u==="prompt"?Ot(m)||ut(m):ut(m)||Ot(m),d={matcher:l,type:u,command:p};typeof m.timeout=="number"&&(d.timeout=m.timeout),o.push(d);}}o.length>0&&(e[r]=o);}return e}async function qa(t,e){let r=false,n=join(t,Ve),o=await I(n);if(o)try{let u=JSON.parse(o);if(u.hooks&&typeof u.hooks=="object"){let p=uS(u.hooks);if(Object.keys(p).length>0){let d=stringify(p),g=join(t,Xs);await k(dirname(g)),await _(g,d),e.push({fromTool:"cursor",fromPath:n,toPath:Xs,feature:"hooks"}),r=!0;}}}catch{}let s=join(t,_a),a=await I(s);if(!a)return;let l;try{l=JSON.parse(a);}catch{return}let c=l.permissions;if(c&&typeof c=="object"&&!Array.isArray(c)){let u=c,p=Array.isArray(u.allow)?u.allow.filter(g=>typeof g=="string"):[],d=Array.isArray(u.deny)?u.deny.filter(g=>typeof g=="string"):[];if(p.length>0||d.length>0){let g=stringify({allow:p,deny:d}),h=join(t,nm);await k(dirname(h)),await _(h,g),e.push({fromTool:"cursor",fromPath:s,toPath:nm,feature:"permissions"});}}let m=r?void 0:l.hooks;if(m&&typeof m=="object"&&!Array.isArray(m)){let u=uS(m);if(Object.keys(u).length>0){let p=stringify(u),d=join(t,Xs);await k(dirname(d)),await _(d,p),e.push({fromTool:"cursor",fromPath:s,toPath:Xs,feature:"hooks"});}}}async function Qa(t,e){let r=[{path:join(t,Se),label:Se},{path:join(t,rm),label:rm}],n=[],o=[];for(let a of r){let l=await I(a.path);if(l!==null){o.push(a.label);for(let c of l.split(/\r?\n/)){let m=c.trim();m&&!n.includes(m)&&n.push(m);}}}if(n.length===0)return;let s=join(t,om);await k(dirname(s)),await _(s,n.join(`
|
|
96
96
|
`)+`
|
|
97
|
-
`),e.push({fromTool:"cursor",fromPath:join(t,o[0]),toPath:
|
|
97
|
+
`),e.push({fromTool:"cursor",fromPath:join(t,o[0]),toPath:om,feature:"ignore"});}var iu=f(()=>{ce();E();ct();i(uS,"cursorHooksToCanonical");i(qa,"importSettings");i(Qa,"importIgnore");});async function tl(t,e,r,n=He){let o=join(t,n),s=await on(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:Dg,targetName:"cursor",normalize:r,results:e};for(let[u,p]of s)await Ze(u,p,a);let l=await P(o).catch(()=>[]),c=l.filter(u=>u.endsWith(".md")),m=new Set(Array.from(s.values()).flatMap(u=>l.filter(p=>p.startsWith(u))));for(let u of c){if(m.has(u))continue;let p=await I(u);if(!p)continue;let d=basename(u,".md");await Hh(d,u,p,a);}}var au=f(()=>{E();Uo();ct();i(tl,"importSkills");});async function pS(t){if(await L(join(t,qt)))return true;let e=[join(t,_e),join(t,Lo),join(t,Ys),join(t,Ve),join(t,Se),join(t,zr),join(t,Vr),join(t,Qt)];for(let s of e){let a=await I(s);if(a!==null&&a.trim()!=="")return true}return !!((await P(join(t,zr))).some(s=>s.endsWith(".md"))||(await P(join(t,Vr))).some(s=>s.endsWith(".md"))||(await P(join(t,Qt))).some(s=>s.endsWith(".md")))}async function dS(t,e,r){let n=join(t,Je),o=false,s=join(t,qt),a=await st({srcDir:s,destDir:n,extensions:[".mdc"],fromTool:Vo,normalize:r,mapEntry:i(async({srcPath:l,relativePath:c,normalizeTo:m})=>{if(o){let u=await I(l);if(u!==null){let{frontmatter:p}=O(u);if(p.alwaysApply===true)return null}}return Ya(c,n,m,()=>{o=true;})},"mapEntry")});return e.push(...a),o}async function fS(t,e,r){let n=join(t,Lo),o=await I(n);return o===null||o.trim()===""?false:zo({projectRoot:t,results:e,sourcePath:n,content:o.trim(),normalize:r})}async function gS(t,e,r){let n=join(t,_e),o=await I(n);return o===null||o.trim()===""?false:zo({projectRoot:t,results:e,sourcePath:n,content:o.trim(),normalize:r})}async function hS(t,e){let r=join(t,Ys),n=await I(r);if(n===null||n.trim()==="")return;let o;try{o=JSON.parse(n);}catch{return}if(!o||typeof o!="object"||!("mcpServers"in o))return;let s=join(t,No);await k(dirname(s)),await _(s,n),e.push({fromTool:Vo,fromPath:r,toPath:No,feature:"mcp"});}async function yS(t,e,r){let n=join(t,Vr),o=join(t,Yr);e.push(...await st({srcDir:n,destDir:o,extensions:[".md"],fromTool:Vo,normalize:r,mapEntry:i(({relativePath:s,normalizeTo:a})=>aS(s,o,a),"mapEntry")}));}async function IS(t,e,r){let n=join(t,Qt),o=join(t,Jr);e.push(...await st({srcDir:n,destDir:o,extensions:[".md"],fromTool:Vo,normalize:r,mapEntry:i(({relativePath:s,normalizeTo:a})=>iS(s,o,a),"mapEntry")}));}var Vo,SS=f(()=>{E();F();$e();ct();ou();nu();Vo="cursor";i(pS,"hasGlobalCursorArtifacts");i(dS,"importGlobalCursorRulesFromDir");i(fS,"importGlobalUserRules");i(gS,"importGlobalDotCursorAgents");i(hS,"importGlobalMcp");i(yS,"importGlobalAgents");i(IS,"importGlobalCommands");});async function _S(t){if(!await pS(t))return [];let e=[],r=await H(Vo,t,"global"),n=await dS(t,e,r);return n||(n=await fS(t,e,r)),n||await gS(t,e,r),await hS(t,e),await tl(t,e,r,zr),await yS(t,e,r),await IS(t,e,r),await qa(t,e),await Qa(t,e),e}var RS=f(()=>{bt();ct();au();iu();SS();i(_S,"importFromCursorGlobalExports");});async function lA(t,e){let r=join(t,ze),n=await I(r);if(!n)return;let o;try{o=JSON.parse(n);}catch{return}if(!o||typeof o!="object"||!("mcpServers"in o))return;let s=join(t,No);await k(dirname(s)),await _(s,n),e.push({fromTool:"cursor",fromPath:r,toPath:No,feature:"mcp"});}async function el(t,e={}){if(e.scope==="global")return _S(t);let r=[],n=await H("cursor",t);return await cS(t,r,n),r.push(...await gt(rl,t,"project",{normalize:n})),await tl(t,r,n),await lA(t,r),await qa(t,r),await Qa(t,r),r}var lu=f(()=>{bt();E();Me();mS();iu();au();RS();ct();cu();i(lA,"importMcp");i(el,"importFromCursor");});var wS,OS,ES=f(()=>{F();Y();he();ct();wS=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n)),a=Yt(o.allowedTools),l=a.length>0?a:Yt(o["allowed-tools"]);return {destPath:n,toPath:`${Jr}/${t}`,content:await Q(n,{description:typeof o.description=="string"?o.description:"",hasDescription:Object.prototype.hasOwnProperty.call(o,"description"),allowedTools:l,hasAllowedTools:Object.prototype.hasOwnProperty.call(o,"allowedTools")||Object.prototype.hasOwnProperty.call(o,"allowed-tools")},s)}},"cursorCommandMapper"),OS=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${Yr}/${t}`,content:await $t(n,o,s)}},"cursorAgentMapper");});function bS(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:Lg}))}var xS=f(()=>{ye();ct();i(bS,"lintRules");});function PS(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>V(e.source,"cursor","Cursor command files are plain Markdown; command description and allowed-tools metadata are not projected."))}function AS(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.mcp.mcpServers)){let o=n.env&&Object.keys(n.env).length>0,s="url"in n,a="headers"in n;(o||s||a)&&e.push(V(".agentsmesh/mcp.json","cursor",`MCP server "${r}" uses env vars or URL/header interpolation; Cursor handling may differ from canonical MCP.`));}return e}function TS(t){if(!t.permissions)return [];let e=t.permissions.ask?.length??0;return t.permissions.allow.length>0||t.permissions.deny.length>0||e>0?[V(".agentsmesh/permissions.yaml","cursor","Cursor permissions are partial; tool-level allow/deny may lose fidelity.")]:[]}var LS=f(()=>{Wt();i(PS,"lintCommands");i(AS,"lintMcp");i(TS,"lintPermissions");});var cA,mA,uA,pA,rl,cu=f(()=>{sS();ct();nn();lu();ES();xS();Ut();LS();cA={name:"cursor",primaryRootInstructionPath:_r,generateRules:Ym,generateCommands:Xm,generateAgents:Qm,generateSkills:qm,generateMcp:Zm,generatePermissions:tu,generateHooks:eu,generateIgnore:ru,importFrom:el},mA={rootInstructionPath:_r,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[Hr,_e]}],skillDir:".cursor/skills",managedOutputs:{dirs:[".cursor/agents",".cursor/commands",".cursor/rules",".cursor/skills"],files:[".cursor/hooks.json",".cursor/mcp.json",".cursorignore","AGENTS.md"]},paths:{rulePath(t,e){return `.cursor/rules/${t}.mdc`},commandPath(t,e){return `.cursor/commands/${t}.md`},agentPath(t,e){return `.cursor/agents/${t}.md`}}},uA={rootInstructionPath:_r,outputFamilies:[{id:"root-mirrors",kind:"additional",explicitPaths:[Hr,_e]}],skillDir:zr,managedOutputs:{dirs:[qt,Qt,Vr,zr],files:[_r,_e,Ys,Ve,Se,Lo]},rewriteGeneratedPath(t){return t===Hr?null:t===_e||t===_r||t.startsWith(`${qt}/`)||t.startsWith(`${Qt}/`)||t.startsWith(`${To}/`)||t.startsWith(`${He}/`)||t===ze||t===Ve||t===Se?t:t===_a?null:t},mirrorGlobalPath(t,e){return xt(t,He,e)},paths:{rulePath(t,e){return `${qt}/${t}.mdc`},commandPath(t,e){return `${Qt}/${t}.md`},agentPath(t,e){return `${Vr}/${t}.md`}}},pA={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},rl={id:"cursor",generators:cA,capabilities:{rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"partial"},emptyImportMessage:"No Cursor config found (AGENTS.md or .cursor/rules/*.mdc; with --global: ~/.cursor/{rules/*.mdc,AGENTS.md,mcp.json,hooks.json,cursorignore,skills/,agents/,commands/} and legacy ~/.agentsmesh-exports/cursor/user-rules.md).",lintRules:bS,lint:{commands:PS,mcp:AS,permissions:TS},project:mA,globalSupport:{capabilities:pA,detectionPaths:[_r,_e,ze,Ve,Se,He,Vr,Qt,Lo],layout:uA},importer:{commands:{feature:"commands",mode:"directory",source:{project:[Qt]},canonicalDir:Jr,extensions:[".md"],map:wS},agents:{feature:"agents",mode:"directory",source:{project:[To]},canonicalDir:Yr,extensions:[".md"],map:OS}},buildImportPaths:sm,detectionPaths:[".cursor/rules",".cursor/mcp.json"],preservesManualActivation:true};});var ln,re,rr,NS,DS,Bt,nl,Xn,ol,Ii,cn,FS,vS,mn,sl,Si,_i,mu,uu,Jo,pu,Yo,Xo,il,Zo,Zn,Ri,pt=f(()=>{ln="gemini-cli",re="GEMINI.md",rr="AGENTS.md",NS=".gemini/rules",DS=".gemini/GEMINI.md",Bt=".gemini/commands",nl=".gemini/policies",Xn=".gemini/settings.json",ol=".geminiignore",Ii=".gemini/skills",cn=".gemini/agents",FS=".gemini/system.md",vS=`${nl}/permissions.toml`,mn=".agentsmesh/rules",sl=".agentsmesh/commands",Si=".agentsmesh/agents",_i=".agentsmesh/skills",mu=".agentsmesh/mcp.json",uu=".agentsmesh/hooks.yaml",Jo=".agentsmesh/ignore",pu=".agentsmesh/permissions.yaml",Yo=".gemini/GEMINI.md",Xo=".gemini/AGENTS.md",il=".gemini/settings.json",Zo=".gemini/commands",Zn=".gemini/skills",Ri=".gemini/agents";});function du(t){let e=t.rules.find(s=>s.root),r=t.rules.filter(s=>!(s.root||s.targets.length>0&&!s.targets.includes("gemini-cli")));if(!e&&r.length===0)return [];let n=de(e?.body.trim()??"",r),o=[{path:re,content:n}];if(e){let s=e.body.trim().replace(/\.agentsmesh\/skills\//g,".agents/skills/");o.push({path:rr,content:s});}return o}var $S=f(()=>{Gr();pt();i(du,"generateRules");});function MS(t,e){let r=t.split(":").filter(Boolean),n=r.length>0?r.pop():t;return [e,...r,`${n}.toml`].join("/")}var GS=f(()=>{i(MS,"canonicalCommandNameToGeminiTomlPath");});function dA(t){let e=t.replace(/\r\n/g,`
|
|
98
98
|
`);return e.includes('"""')?JSON.stringify(e):`"""
|
|
99
99
|
${e}
|
|
100
|
-
"""`}function
|
|
100
|
+
"""`}function fA(t){return [`description = ${JSON.stringify(t.description||t.name)}`,`prompt = ${dA(t.body.trim()||"")}`].join(`
|
|
101
101
|
`)+`
|
|
102
|
-
`}function
|
|
103
|
-
`)}]}var
|
|
104
|
-
`)}function
|
|
105
|
-
`)}]}var
|
|
102
|
+
`}function fu(t){return t.commands.map(e=>({path:MS(e.name,Bt),content:fA(e)}))}var jS=f(()=>{pt();GS();i(dA,"serializeTomlMultilineLiteral");i(fA,"serializeGeminiCommand");i(fu,"generateCommands");});function gu(t){return t.agents.map(e=>{let r={name:e.name,kind:"local",description:e.description||void 0,tools:e.tools.length>0?e.tools:void 0,model:e.model||void 0,maxTurns:e.maxTurns>0?e.maxTurns:void 0,permissionMode:e.permissionMode||void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=N(r,e.body.trim()||"");return {path:`${cn}/${e.name}.md`,content:n}})}var US=f(()=>{F();pt();i(gu,"generateAgents");});function hu(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=N(n,r.body.trim()||"");e.push({path:`${Ii}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles){let a=s.relativePath.replace(/\\/g,"/");e.push({path:`${Ii}/${r.name}/${a}`,content:s.content});}}return e}var WS=f(()=>{F();pt();i(hu,"generateSkills");});function gA(t){switch(t){case "PreToolUse":return "BeforeTool";case "PostToolUse":return "AfterTool";case "Notification":return "Notification";default:return null}}function yu(t){let e={},r=false;if(t.mcp&&Object.keys(t.mcp.mcpServers).length>0&&(e.mcpServers=t.mcp.mcpServers,r=true),t.agents.length>0&&(e.experimental={enableAgents:true},r=true),t.hooks){let n=Object.entries(t.hooks).flatMap(([o,s])=>{let a=gA(o);if(!a||!Array.isArray(s))return [];let l=s.filter(c=>typeof c=="object"&&c!==null&&cr(c)).map((c,m)=>({matcher:c.matcher,hooks:[{name:`${a}-${m+1}`,type:"command",command:ut(c),timeout:c.timeout}]}));return l.length>0?[[a,l]]:[]});n.length>0&&(e.hooks=Object.fromEntries(n),r=true);}return r&&(e.context={fileName:[re,rr]}),Object.keys(e).length===0?[]:[{path:Xn,content:JSON.stringify(e,null,2)}]}var Iu=f(()=>{ce();pt();i(gA,"mapHookEvent");i(yu,"generateGeminiSettingsFiles");});function Su(t){return !t.ignore||t.ignore.length===0?[]:[{path:ol,content:t.ignore.join(`
|
|
103
|
+
`)}]}var BS=f(()=>{pt();i(Su,"generateIgnore");});var KS=f(()=>{$S();jS();US();WS();Iu();BS();});var HS=f(()=>{KS();});function qn(t){return JSON.stringify(t)}function hA(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function yA(t){let e=t.match(/^Bash\((.*)\)$/);if(e&&typeof e[1]=="string")return {kind:"bash",prefix:e[1]};let r=t.match(/^Read\((.*)\)$/);return r&&typeof r[1]=="string"?{kind:"read",path:r[1]}:t==="Read"||t==="Grep"||t==="LS"||t==="WebFetch"?{kind:"tool",tool:t}:{kind:"unknown",raw:t}}function al(t,e,r){return ["[[rule]]",`decision = ${qn(t)}`,`priority = ${e}`,...r,""].join(`
|
|
104
|
+
`)}function zS(t,e,r){let n=yA(t),o={Read:"read_file",Grep:"grep_search",LS:"list_directory",WebFetch:"web_fetch",Bash:"run_shell_command"};if(n.kind==="tool"){let s=o[n.tool]??n.tool;return al(e,r,[`toolName = ${qn(s)}`])}if(n.kind==="bash"){let s=n.prefix.replace(/:\*$/u,"").replace(/\*$/u,"").trim();return al(e,r,[`toolName = ${qn(o.Bash)}`,`commandPrefix = ${qn(s)}`])}return n.kind==="read"?al(e,r,[`toolName = ${qn(o.Read)}`,`argsPattern = ${qn(hA(n.path))}`]):al(e,r,[`toolName = ${qn(n.raw)}`])}function VS(t){if(!t.permissions)return [];let{allow:e,deny:r}=t.permissions;if(e.length+r.length===0)return [];let o=[];return e.forEach((s,a)=>{let l=zS(s,"allow",100+a);l&&o.push(l);}),r.forEach((s,a)=>{let l=zS(s,"deny",200+a);l&&o.push(l);}),o.length===0?[]:[{path:vS,content:o.join(`
|
|
105
|
+
`)}]}var JS=f(()=>{pt();i(qn,"escapeTomlBasicString");i(hA,"escapeRegexLiteral");i(yA,"parsePermissionExpr");i(al,"ruleForDecision");i(zS,"permissionExprToGeminiRule");i(VS,"generateGeminiPermissionsPolicies");});function _u(t){switch(t){case "BeforeTool":case "preToolUse":return "PreToolUse";case "AfterTool":case "postToolUse":return "PostToolUse";case "Notification":case "notification":return "Notification";default:return null}}function ll(t){let e=t.indexOf("---"),r=t.indexOf("+++");if(e===0&&(r===-1||e<=r))return O(t);if(r===0){let n=t.indexOf("+++",3);if(n!==-1)try{let o=t.slice(3,n).trim(),s=t.slice(n+3).trim();return {frontmatter:o===""?{}:parse$1(o)??{},body:s}}catch{return {frontmatter:{},body:t.trim()}}}return {frontmatter:{},body:t.trim()}}var Ru=f(()=>{F();i(_u,"mapGeminiHookEvent");i(ll,"parseFlexibleFrontmatter");});async function Cu(t,e){let r=join(t,Xn),n=await I(r);if(n===null)return;let o;try{o=JSON.parse(n);}catch{}if(!o)return;let s=o.mcpServers;if(s!==void 0&&typeof s=="object"&&s!==null&&Object.keys(s).length>0){let c=join(t,mu);await k(join(t,".agentsmesh")),await _(c,JSON.stringify({mcpServers:s},null,2)),e.push({fromTool:"gemini-cli",fromPath:r,toPath:mu,feature:"mcp"});}let a=o.ignorePatterns;if(Array.isArray(a)&&a.length>0&&a.every(c=>typeof c=="string")){let c=join(t,Jo);await k(join(t,".agentsmesh")),await _(c,a.join(`
|
|
106
106
|
`)+`
|
|
107
|
-
`),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Jo,feature:"ignore"});}let l=o.hooks;if(l!==void 0&&typeof l=="object"&&l!==null){let c=Object.entries(l).flatMap(([m,u])=>{let p=
|
|
107
|
+
`),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Jo,feature:"ignore"});}let l=o.hooks;if(l!==void 0&&typeof l=="object"&&l!==null){let c=Object.entries(l).flatMap(([m,u])=>{let p=_u(m);if(!p||!Array.isArray(u))return [];let d=u.filter(g=>g!==null&&typeof g=="object"&&typeof g.matcher=="string"&&Array.isArray(g.hooks)).flatMap(g=>g.hooks.filter(h=>h!==null&&typeof h=="object"&&cr(h)).map(h=>({matcher:g.matcher,command:ut(h),type:"command",timeout:typeof h.timeout=="number"?h.timeout:void 0})));if(d.length===0){let g=u.filter(h=>h!==null&&typeof h=="object"&&typeof h.matcher=="string"&&cr(h)).map(h=>({matcher:h.matcher,command:ut(h),type:"command"}));return g.length>0?[[p,g]]:[]}return d.length>0?[[p,d]]:[]});if(c.length>0){let m=Object.fromEntries(c),u=join(t,uu);await k(join(t,".agentsmesh")),await _(u,stringify(m,{lineWidth:0}).trimEnd()),e.push({fromTool:"gemini-cli",fromPath:r,toPath:uu,feature:"hooks"});}}}var YS=f(()=>{ce();E();pt();Ru();i(Cu,"importGeminiSettings");});async function XS(t,e){let r=join(t,ol),n=await I(r);if(n!==null&&n.trim()){let o=n.split(/\r?\n/).map(s=>s.trim()).filter(s=>s&&!s.startsWith("#"));if(o.length>0){await k(join(t,".agentsmesh"));let s=join(t,Jo);await _(s,o.join(`
|
|
108
108
|
`)+`
|
|
109
|
-
`),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Jo,feature:"ignore"});}}}var
|
|
110
|
-
`),e.push({fromTool:ln,fromPath:join(t,nl),toPath:mu,feature:"permissions"}),e}var JS=f(()=>{b();pt();i(yA,"unescapeRegexLiteral");i(IA,"toolNameToPermissionBase");i(SA,"commandPrefixToBashExpr");i(RA,"argsPatternToReadExpr");i(VS,"importGeminiPolicies");});function ku(t,e){let r=new Set([e,e.replace(/\\/g,"/"),e.replace(/\//g,"\\")]);try{r.add(realpathSync(e)),r.add(realpathSync.native(e));}catch{}return Array.from(r).reduce((o,s)=>{let a=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return o.replace(new RegExp(`${a}[/\\\\]\\.agentsmesh[/\\\\]`,"g"),".agentsmesh/").replaceAll(`${s}/.agentsmesh`,".agentsmesh").replaceAll(`${s}\\.agentsmesh`,".agentsmesh")},t).replace(/(?:[A-Za-z]:)?[^\s"'`()<>]+[/\\]\.agentsmesh[/\\]/g,".agentsmesh/")}var XS=f(()=>{i(ku,"stripProjectRootCanonicalPrefix");});async function qS(t,e,r){let n=join(t,Ii),s=(await P(n)).filter(l=>basename(l)==="SKILL.md");for(let l of s){let c=await S(l);if(!c)continue;let m=basename(l.slice(0,-9)),u=w(c),p=jr(u.frontmatter,m);if(p){let O=join(t,Si);await k(O);let D=join(O,`${p.name}.md`);await R(D,je(p,r(u.body,l,D))),e.push({fromTool:"gemini-cli",fromPath:l,toPath:`${Si}/${p.name}.md`,feature:"agents"});continue}let d=join(t,Ri,m,"SKILL.md"),g=r(c,l,d),h=join(t,Ri,m);await k(h);let{frontmatter:C,body:_}=w(g);await R(d,await Le(d,{...C,name:m},_)),e.push({fromTool:"gemini-cli",fromPath:l,toPath:`${Ri}/${m}/SKILL.md`,feature:"skills"});let y=await P(dirname(l));for(let O of y){if(O===l)continue;let D=await S(O);if(D===null)continue;let E=relative(dirname(l),O).replace(/\\/g,"/"),x=join(h,E);await k(dirname(x)),await R(x,r(D,O,x)),e.push({fromTool:"gemini-cli",fromPath:O,toPath:`${Ri}/${m}/${E}`,feature:"skills"});}}let a=join(t,cn);try{let c=(await P(a)).filter(m=>m.endsWith(".md"));for(let m of c){let u=await S(m);if(!u)continue;let{frontmatter:p,body:d}=w(u),h=relative(a,m).replace(/\\/g,"/").replace(/\.md$/i,".md"),C=join(t,Si);await k(C);let _=join(C,h),y=r(d,m,_);await R(_,await $t(_,{...p,name:typeof p.name=="string"?p.name:basename(h,".md"),maxTurns:p.maxTurns??p["max-turns"]??p.max_turns,permissionMode:p.permissionMode??p["permission-mode"]??p.permission_mode,disallowedTools:p.disallowedTools??p["disallowed-tools"]??p.disallowed_tools},y)),e.push({fromTool:"gemini-cli",fromPath:m,toPath:`${Si}/${h}`,feature:"agents"});}}catch{}}var QS=f(()=>{b();F();Y();Xt();pt();i(qS,"importGeminiSkillsAndAgents");});async function _A(t,e,r){let n=await H("codex-cli",t),o=join(t,mn),s=join(t,rr),a=join(t,AS),l=[s,a,join(t,re),join(t,TS)],c=null,m=l[l.length-1];for(let E of l){let x=await S(E);if(x!==null){c=x,m=E;break}}if(c===null)return;await k(o);let u=join(o,"_root.md"),p=m===s||m===a?n(c,m,u):c,d=await Ge({content:p,projectRoot:t,rulesDir:mn,sourcePath:m,fromTool:ln,normalize:r});e.push(...d.results);let g=r(d.rootContent,m,u),h=ku(g.replace(/\.agents\/skills\//g,".agentsmesh/skills/").replace(/\.agents\\skills\\/g,".agentsmesh/skills/"),t),{frontmatter:C,body:_}=w(h),O=C.root===true?C:{...C,root:true},D=ku(await $(u,O,_),t);await R(u,D),e.push({fromTool:ln,fromPath:m,toPath:`${mn}/_root.md`,feature:"rules"});}async function ml(t){let e=[],r=await H(ln,t);return await _A(t,e,r),e.push(...await gt(ul,t,"project",{normalize:r})),await qS(t,e,r),await Ru(t,e),await zS(t,e),e.push(...await VS(t)),e}var Eu=f(()=>{bt();b();F();Y();wo();Me();pt();bu();Cu();JS();XS();QS();i(_A,"importRootRule");i(ml,"importFromGemini");});async function eR(t,e,r){let n=t.replace(/\\/g,"/"),o=join(e,n),{frontmatter:s,body:a}=ll(r(o)),l=pr(s.globs),c={root:false,description:typeof s.description=="string"?s.description:void 0,globs:l.length>0?l:void 0};return Object.keys(c).forEach(m=>{c[m]===void 0&&delete c[m];}),{destPath:o,toPath:`${mn}/${n}`,feature:"rules",content:await $(o,c,a)}}async function rR(t,e,r){let n=t.replace(/\.(toml|md)$/i,".md").replace(/\\/g,"/"),o=join(e,n),s=r(o),{frontmatter:a,body:l}=t.endsWith(".toml")?kA(s):ll(s),c=Yt(a.allowedTools),m=Yt(a["allowed-tools"]),u=c.length>0?c:m;return {destPath:o,toPath:`${sl}/${n}`,feature:"commands",content:await Q(o,{description:typeof a.description=="string"?a.description:"",hasDescription:Object.prototype.hasOwnProperty.call(a,"description"),allowedTools:u,hasAllowedTools:Object.prototype.hasOwnProperty.call(a,"allowedTools")||Object.prototype.hasOwnProperty.call(a,"allowed-tools")},l)}}function kA(t){try{let e=parse$1(t);return {frontmatter:e,body:typeof e.prompt=="string"?e.prompt:""}}catch{return {frontmatter:{},body:t.trim()}}}var nR=f(()=>{Y();ge();Cu();pt();i(eR,"mapGeminiRuleFile");i(rR,"mapGeminiCommandFile");i(kA,"parseTomlCommand");});var oR,sR,iR=f(()=>{nR();oR=i(({relativePath:t,destDir:e,normalizeTo:r})=>eR(t,e,r),"geminiRuleMapper"),sR=i(({relativePath:t,destDir:e,normalizeTo:r})=>rR(t,e,r),"geminiCommandMapper");});function aR(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:ln}))}var lR=f(()=>{he();pt();i(aR,"lintRules");});function cR(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>V(e.source,"gemini-cli","Gemini TOML command files do not project canonical allowed-tools metadata."))}function mR(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=["PreToolUse","PostToolUse","Notification"],r=new Set(e);return Object.keys(t.hooks).filter(n=>!r.has(n)).map(n=>Wo(n,"gemini-cli",e))}var uR=f(()=>{Wt();i(cR,"lintCommands");i(mR,"lintHooks");});function pR(t,e){return e==="project"&&un("gemini-cli",e)?.ignore.flavor!=="settings-embedded"?[]:gu(t)}var dR=f(()=>{rt();hu();i(pR,"emitScopedGeminiSettings");});function gR(t){try{let e=JSON.parse(t);return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}catch{return {}}}function hR(t,e){let r=gR(t),n=wA.parse(JSON.parse(e)),o={...r};n.permissions!==void 0&&(o.permissions=n.permissions),n.hooks!==void 0&&(o.hooks=n.hooks);let s=o.permissions;return s&&typeof s=="object"&&!Array.isArray(s)&&!("ask"in s)&&(s.ask=[]),JSON.stringify(o,null,2)}function yR(t,e){let r=gR(t),n=OA.parse(JSON.parse(e)),o={...r};return n.mcpServers!==void 0&&(o.mcpServers=n.mcpServers),n.hooks!==void 0&&(o.hooks=n.hooks),n.experimental!==void 0&&(o.experimental=n.experimental),n.context!==void 0&&(o.context=n.context),JSON.stringify(o,null,2)}var fR,wA,OA,xu=f(()=>{fR=[".claude/settings.json",".gemini/settings.json"],wA=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(),OA=z$1.object({mcpServers:z$1.record(z$1.string(),z$1.unknown()).optional(),hooks:z$1.record(z$1.string(),z$1.unknown()).optional(),experimental:z$1.record(z$1.string(),z$1.unknown()).optional(),context:z$1.record(z$1.string(),z$1.unknown()).optional()}).passthrough();i(gR,"parseJsonObject");i(hR,"mergeSettingsJson");i(yR,"mergeGeminiSettingsJson");});var EA,bA,xA,PA,ul,bu=f(()=>{US();Cn();KS();pt();Eu();iR();lR();Ut();yo();Xt();uR();dR();nn();xu();EA={name:"gemini-cli",primaryRootInstructionPath:re,generateRules:uu,generateCommands:pu,generateAgents:du,generateSkills:fu,generateIgnore:yu,generatePermissions:BS,importFrom:ml},bA={rootInstructionPath:re,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[rr]}],extraRuleOutputPaths(){return [rr]},skillDir:".gemini/skills",managedOutputs:{dirs:[".gemini/agents",".gemini/commands",".gemini/skills",".agents/skills"],files:["AGENTS.md","GEMINI.md",".gemini/settings.json",".gemini/policies/permissions.toml",".geminiignore"]},mirrorGlobalPath(t,e){return xt(t,".gemini/skills",e)},paths:{rulePath(t,e){return re},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),n=r.pop()??t;return `${Bt}/${r.join("/")}/${n}.toml`}return `${Bt}/${t}.toml`},agentPath(t,e){return ce(e,"gemini-cli")?`.gemini/skills/${Lt(t)}/SKILL.md`:`${cn}/${t}.md`}}},xA={rootInstructionPath:Yo,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[Xo]}],extraRuleOutputPaths(){return [Xo]},skillDir:Zn,managedOutputs:{dirs:[Zo,Zn,_i],files:[Yo,Xo,il]},rewriteGeneratedPath(t){return t===re?Yo:t===rr?Xo:t===Xn?il:t.startsWith(`${Bt}/`)?t.replace(`${Bt}/`,`${Zo}/`):t.startsWith(".gemini/skills/")?t.replace(".gemini/skills/",`${Zn}/`):t.startsWith(`${cn}/`)?t.replace(`${cn}/`,`${_i}/`):t.startsWith(".gemini/policies/")||t===".geminiignore"?null:t},mirrorGlobalPath(t,e){return xt(t,Zn,e)},paths:{rulePath(t,e){return Yo},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),n=r.pop()??t;return `${Zo}/${r.join("/")}/${n}.toml`}return `${Zo}/${t}.toml`},agentPath(t,e){return ce(e,"gemini-cli")?`${Zn}/${Lt(t)}/SKILL.md`:`${_i}/${t}.md`}}},PA={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:"none",permissions:"none"},ul={id:"gemini-cli",generators:EA,capabilities:{rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:ue("native","settings-embedded"),permissions:"partial"},emptyImportMessage:"No Gemini CLI config found (GEMINI.md or .gemini/rules, .gemini/commands, .gemini/settings.json).",lintRules:aR,lint:{commands:cR,hooks:mR},emitScopedSettings:pR,mergeGeneratedOutputContent(t,e,r,n){let o=e?.content??t;return o!==null&&n===Xn?yR(o,r):null},project:bA,globalSupport:{capabilities:PA,detectionPaths:[Yo,Xo,il,Zo,Zn,_i],layout:xA},importer:{rules:{feature:"rules",mode:"directory",source:{project:[PS]},canonicalDir:mn,extensions:[".md"],map:oR},commands:{feature:"commands",mode:"directory",source:{project:[Bt]},canonicalDir:sl,extensions:[".md",".toml"],map:sR}},buildImportPaths:om,detectionPaths:["GEMINI.md",".gemini"]};});function IR(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Ye,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("junie"))continue;let o=basename(n.source,".md");e.push({path:`${qs}/${o}.md`,content:n.body.trim()||""});}return e}function TA(t){let e={};return t.description&&(e.description=t.description),t.type!=="stdio"&&(e.type=t.type),Da(t)?(e.command=t.command,e.args=t.args):(e.url=t.url,Object.keys(t.headers).length>0&&(e.headers=t.headers)),Object.keys(t.env).length>0&&(e.env=t.env),e}function SR(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,TA(n)]));return [{path:Zs,content:JSON.stringify({mcpServers:e},null,2)}]}function RR(t){return t.commands.map(e=>{let r={description:e.description||void 0};return r.description===void 0&&delete r.description,{path:`${Do}/${e.name}.md`,content:N(r,e.body.trim()||"")}})}function _R(t){return t.agents.map(e=>{let r={name:e.name,description:e.description||void 0,tools:e.tools.length>0?e.tools:void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0,model:e.model||void 0,skills:e.skills.length>0?e.skills:void 0};return Object.keys(r).forEach(n=>{r[n]===void 0&&delete r[n];}),{path:`${Fo}/${e.name}.md`,content:N(r,e.body.trim()||"")}})}function CR(t){return t.ignore.length===0?[]:[{path:Qs,content:t.ignore.join(`
|
|
111
|
-
`)}]}function
|
|
112
|
-
`)}]}var
|
|
113
|
-
`)}]}function
|
|
114
|
-
`)}]}var
|
|
115
|
-
`)),n.push({fromTool:"windsurf",fromPath:u,toPath:Uu,feature:"ignore"});}}return await R_(t,n,o),await C_(t,n,o),await O_(t,n),await E_(t,n),n}var qu=f(()=>{bt();b();F();Y();$e();gi();Pt();__();k_();b_();i(Cl,"importFromWindsurf");});function x_(t,e,r){let n=[],{rules:o}=t;o.length>0&&(o.some(l=>l.root)||n.push({level:"warning",file:relative(e,o[0].source),target:nr,message:"Windsurf needs a root rule to generate AGENTS.md. Add root: true to a rule."}));let s=[];return t.permissions&&(t.permissions.allow.length>0||t.permissions.deny.length>0)&&s.push("permissions"),s.length>0&&n.push({level:"warning",file:".agentsmesh",target:nr,message:`Windsurf cannot project these features yet: ${s.join(", ")}.`}),n}var P_=f(()=>{Pt();i(x_,"lintRules");});function A_(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>V(e.source,"windsurf","windsurf workflow files are plain Markdown; command description and allowed-tools metadata are not projected."))}function T_(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[V(".agentsmesh/mcp.json","windsurf","Windsurf MCP is partial; generated .windsurf/mcp_config.example.json is a reference artifact and may require manual setup.")]}var L_=f(()=>{Wt();i(A_,"lintCommands");i(T_,"lintMcp");});function wT(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 OT,ET,bT,xT,N_,D_=f(()=>{I_();Cn();Pt();nn();qu();P_();L_();Ut();yo();Xt();i(wT,"directoryScopedRuleDir");OT={name:"windsurf",primaryRootInstructionPath:or,generateRules:Ku,generateCommands:zu,generateAgents:Vu,generateSkills:Xu,generateMcp:Ju,generateHooks:Yu,generateIgnore:Hu,importFrom:Cl},ET={rootInstructionPath:or,extraRuleOutputPaths(t){if(t.root)return [or];let e=wT(t.globs);return e!==null?[`${e}/AGENTS.md`]:[]},skillDir:be,managedOutputs:{dirs:[".windsurf/rules",".windsurf/skills",".windsurf/workflows"],files:["AGENTS.md",".codeiumignore",".windsurf/hooks.json",".windsurf/mcp_config.example.json"]},paths:{rulePath(t,e){return `${pn}/${t}.md`},commandPath(t,e){return `${dn}/${t}.md`},agentPath(t,e){return ce(e,"windsurf")?`.windsurf/skills/${Lt(t)}/SKILL.md`:null}}},bT={rootInstructionPath:ns,skillDir:os,managedOutputs:{dirs:[os,Ci,c_],files:[ns,Il,Sl,Rl]},rewriteGeneratedPath(t){return t===or?ns:t.startsWith(`${pn}/`)||/\/AGENTS\.md$/.test(t)?null:t.startsWith(`${be}/`)?t.replace(`${be}/`,`${os}/`):t.startsWith(`${dn}/`)?t.replace(`${dn}/`,`${Ci}/`):t===ts?Il:t===es?Sl:t===Qo?Rl:t},mirrorGlobalPath(t,e){return xt(t,".codeium/windsurf/skills",e)},paths:{rulePath(t,e){return ns},commandPath(t,e){return `${Ci}/${t}.md`},agentPath(t,e){return ce(e,"windsurf")?`${os}/${Lt(t)}/SKILL.md`:null}}},xT={rules:"native",additionalRules:"partial",commands:ue("native","workflows"),agents:"embedded",skills:"native",mcp:"partial",hooks:"native",ignore:"native",permissions:"none"},N_={id:"windsurf",generators:OT,capabilities:{rules:"native",additionalRules:"native",commands:ue("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:x_,lint:{commands:A_,mcp:T_},project:ET,globalSupport:{capabilities:xT,detectionPaths:[ns,os,Ci,Il,Sl,Rl],layout:bT},buildImportPaths:pm,detectionPaths:[".windsurfrules",".windsurf"]};});var hg={};_O(hg,{BUILTIN_TARGETS:()=>Ct,TARGET_IDS:()=>ht,getBuiltinTargetDefinition:()=>Nt,getEffectiveTargetSupportLevel:()=>kl,getTargetCapabilities:()=>un,getTargetDetectionPaths:()=>tp,getTargetLayout:()=>dt,getTargetManagedOutputs:()=>ep,getTargetPrimaryRootInstructionPath:()=>AT,getTargetSkillDir:()=>wi,isBuiltinTargetId:()=>Mr,resolveTargetFeatureGenerator:()=>ss,rewriteGeneratedOutputPath:()=>rp});function PT(){return Qu||(Of(Ct),Qu=new Map(Ct.map(t=>[t.id,t]))),Qu}function Nt(t){return PT().get(t)}function un(t,e="project"){let r=Nt(t)??Z(t);if(!r)return;let n=e==="global"?r.globalSupport?.capabilities??r.capabilities:r.capabilities;return kf(n)}function tp(t,e="project"){let r=Nt(t)??Z(t);return r?e==="global"?r.globalSupport?.detectionPaths??[]:r.detectionPaths:[]}function dt(t,e="project"){let r=Nt(t)??Z(t);if(r)return e==="global"?r.globalSupport?.layout:r.project}function AT(t,e="project"){return dt(t,e)?.rootInstructionPath}function wi(t,e="project"){return dt(t,e)?.skillDir}function ep(t,e="project"){return dt(t,e)?.managedOutputs}function rp(t,e,r="project"){let n=dt(t,r);return n?n.rewriteGeneratedPath?n.rewriteGeneratedPath(e):e:null}function F_(t,e,r,n){return !t||!r?false:e==="commands"&&t.supportsConversion?.commands?!xs(r,t.id,true,n):e==="agents"&&t.supportsConversion?.agents?!ce(r,t.id,true,n):false}function kl(t,e,r,n="project"){let o=un(t,n)?.[e]?.level??"none";if(o!=="embedded")return o;let s=Nt(t)??Z(t);return F_(s,e,r,n)?"none":o}function ss(t,e,r,n="project"){let o=Nt(t)??Z(t);if(!o?.generators||F_(o,e,r,n))return;let s=TT[e];return s===null?void 0:s(o.generators)}var Ct,Qu,TT,rt=f(()=>{yo();Cn();Lr();Rc();ar();Dc();fm();ty();jy();Gm();zm();au();bu();Au();Nu();vu();D_();Ct=[la,Ea,Qh,Gy,ja,Va,rl,ul,dl,gl,yl,N_];i(PT,"builtinTargetsMap");i(Nt,"getBuiltinTargetDefinition");i(un,"getTargetCapabilities");i(tp,"getTargetDetectionPaths");i(dt,"getTargetLayout");i(AT,"getTargetPrimaryRootInstructionPath");i(wi,"getTargetSkillDir");i(ep,"getTargetManagedOutputs");i(rp,"rewriteGeneratedOutputPath");i(F_,"isFeatureSuppressedByConversion");i(kl,"getEffectiveTargetSupportLevel");TT={rules:i(t=>t.generateRules,"rules"),additionalRules:null,commands:i(t=>t.generateCommands,"commands"),agents:i(t=>t.generateAgents,"agents"),skills:i(t=>t.generateSkills,"skills"),mcp:i(t=>t.generateMcp,"mcp"),permissions:i(t=>t.generatePermissions,"permissions"),hooks:i(t=>t.generateHooks,"hooks"),ignore:i(t=>t.generateIgnore,"ignore")};i(ss,"resolveTargetFeatureGenerator");});function MT(t){return typeof t=="string"?t:t.level}function v_(t){return $T.includes(t)}function $_(t,e,r,n){for(let o of vT){let s=MT(e[o.feature]);if(s==="none")continue;let a=typeof t.generators[o.generator]=="function",l=v_(o.feature)&&typeof t.emitScopedSettings=="function";a||l||r.addIssue({code:"custom",path:[...n,o.feature],message:`Capability "${o.feature}" is "${s}" but generators.${o.generator}`+(v_(o.feature)?" or emitScopedSettings":"")+" is missing."});}}function wl(t){return jT.parse(t)}var Nr,M_,LT,NT,G_,DT,FT,vT,$T,GT,jT,np=f(()=>{Nr=z$1.union([z$1.enum(["native","embedded","partial","none"]),z$1.object({level:z$1.enum(["native","embedded","partial","none"]),flavor:z$1.string().optional()})]),M_=z$1.object({rules:Nr,additionalRules:Nr,commands:Nr,agents:Nr,skills:Nr,mcp:Nr,hooks:Nr,ignore:Nr,permissions:Nr}),LT=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(),NT=z$1.object({rulePath:z$1.function(),commandPath:z$1.function(),agentPath:z$1.function()}),G_=z$1.object({paths:NT}).passthrough(),DT=z$1.object({capabilities:M_,detectionPaths:z$1.array(z$1.string()),layout:G_,scopeExtras:z$1.function().optional()}).passthrough(),FT=["global","globalCapabilities","globalDetectionPaths","generateScopeExtras"],vT=[{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"}],$T=["mcp","hooks","ignore","permissions"];i(MT,"capabilityLevel");i(v_,"canUseScopedSettings");i($_,"validateCapabilityImplementations");GT=z$1.object({id:z$1.string().regex(/^[a-z][a-z0-9-]*$/,"Target id must be lowercase with hyphens"),generators:LT,capabilities:M_,emptyImportMessage:z$1.string(),lintRules:z$1.union([z$1.function(),z$1.null()]),project:G_,globalSupport:DT.optional(),buildImportPaths:z$1.function(),detectionPaths:z$1.array(z$1.string())}).passthrough(),jT=GT.superRefine((t,e)=>{for(let r of FT)r in t&&e.addIssue({code:"custom",path:[r],message:`Use globalSupport instead of legacy field "${r}".`});$_(t,t.capabilities,e,["capabilities"]),t.globalSupport!==void 0&&$_(t,t.globalSupport.capabilities,e,["globalSupport","capabilities"]);});i(wl,"validateDescriptor");});function UT(){return op||(op=new Map(Ct.map(t=>[t.id,t]))),op}function U_(t){let e=wl(t);j_.set(e.id,e);}function Z(t){return j_.get(t)??UT().get(t)}var j_,op,Lr=f(()=>{rt();np();j_=new Map;i(UT,"builtinDescriptors");i(U_,"registerTargetDescriptor");i(Z,"getDescriptor");});async function W_(t,e,r="project"){let n=new Map,o=Z(t);return o&&await o.buildImportPaths(n,e,r),n}var B_=f(()=>{Lr();i(W_,"buildImportReferenceMap");});function J(t){return t.includes("\\")||xe.test(t)?win32:posix}function X(t){return t.replace(/\\/g,"/")}function j(t,e){let r=J(t),n=r.normalize(r===win32?e.replace(/\//g,"\\"):X(e));return n.endsWith(r.sep)&&n.length>1?n.slice(0,-1):n}function H_(t,e){return J(t).isAbsolute(e)||xe.test(e)}function is(t){let e=t,r="";for(;BT.test(e);)r=e.at(-1)+r,e=e.slice(0,-1);return {candidate:e,suffix:r}}function z_(t,e){let r=J(e),n=t.replace(/^(\.\.\/)+/,"").replace(/^\.\//,"");return n&&n!==t?j(e,r.join(e,n)):null}var xe,BT,Dt=f(()=>{xe=/^[A-Za-z]:[\\/]/,BT=/[.!?:;]+$/;i(J,"pathApi");i(X,"normalizeSeparators");i(j,"normalizeForProject");i(H_,"isAbsoluteForProject");i(is,"stripTrailingPunctuation");i(z_,"rootFallbackPath");});function zT(t){let e=[t.project,t.globalSupport?.layout].filter(o=>o!==void 0),r=[...t.detectionPaths,...e.flatMap(o=>o.managedOutputs?.dirs??[]),...e.flatMap(o=>o.managedOutputs?.files??[])],n=new Set;for(let o of r){let s=o.split("/")[0];s&&s.startsWith(".")&&s.length>1&&n.add(`${s}/`);}return n}function VT(){let t=new Set([".agentsmesh/"]);for(let e of Ct)for(let r of zT(e))t.add(r);return Array.from(t)}function JT(){let t=new Set([...VT(),...sp.rootRelativePrefixes]),e=new Set([...HT,...sp.meshRootSegments]);return {protectedSchemes:[...KT,...sp.protectedSchemes],rootRelativePrefixes:Array.from(t),meshRootSegments:e}}function Ol(){return ip||(ip=JT()),ip}var KT,HT,sp,ip,V_=f(()=>{rt();KT=[/\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],HT=new Set(["skills","rules","commands","agents","packs"]),sp={protectedSchemes:[],rootRelativePrefixes:[],meshRootSegments:[]};i(zT,"topLevelDotfilePrefixes");i(VT,"buildDefaultRootRelativePrefixes");i(JT,"rebuild");i(Ol,"getLinkFormatRegistry");});function Pe(t){let e=X(t);return Ol().rootRelativePrefixes.some(r=>e.startsWith(r))}function ZT(t){let e=X(t).replace(/^\.\//,"");if(e.startsWith("../")||e.startsWith("/")||xe.test(e)||/^[a-zA-Z]:/.test(e)||Pe(e))return false;let r=e.split("/").filter(n=>n.length>0)[0];return r!==void 0&&Ol().meshRootSegments.has(r)}function Oi(t,e,r){let n=J(e),o=j(e,e),s=j(e,r),a=X(t);if(xe.test(t)){let l=j(e,t);return n===win32||l.startsWith(`${o}${n.sep}`)?[l]:[l]}if(isAbsolute(t)){let l=j(e,t);return l.startsWith(o)||existsSync(t)?[l]:[j(e,n.join(e,t))]}if(a.startsWith("./")||a.startsWith("../")){let l=j(e,n.join(n.dirname(s),a)),c=z_(a,o);return c&&c!==l?[l,c]:[l]}if(Pe(a))return [j(e,n.join(o,a))];if(a.includes("/")){let l=j(e,n.join(o,".agentsmesh")),c=ZT(a)?j(e,n.join(l,a)):null,m=j(e,n.join(o,a)),u=j(e,n.join(n.dirname(s),a));return c!==null?[c,m,u]:[m,u]}return qT.has(a)?[]:a.includes(".")?[j(e,n.join(n.dirname(s),a))]:[]}function Ei(t,e){let r=[e];if(!H_(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 Z_(t,e,r){let n=e>0?t.at(e-1):"",o=r<t.length?t.at(r):"";return n==="*"||o==="*"}function El(t){let e=[];for(let r of Ol().protectedSchemes){let n=r.flags.includes("g")?r:new RegExp(r.source,`${r.flags}g`);for(let o of t.matchAll(n))e.push([o.index??0,(o.index??0)+o[0].length]);}for(let r of t.matchAll(QT))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(tL))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(eL))e.push([r.index??0,(r.index??0)+r[0].length]);return e}var qT,QT,tL,eL,X_,as,fn=f(()=>{Dt();V_();i(Pe,"isRootRelativePathToken");i(ZT,"isMeshRootRelativePathToken");qT=new Set(["AGENTS.md","CLAUDE.md","GEMINI.md","codex.md",".windsurfrules",".cursorrules"]),QT=/^(?:```|~~~)[^\n]*\n[\s\S]*?^(?:```|~~~)/gm,tL=/<!-- agentsmesh:root-generation-contract:start -->[\s\S]*?<!-- agentsmesh:root-generation-contract:end -->/g,eL=/<!-- agentsmesh:embedded-rules:start -->[\s\S]*?<!-- agentsmesh:embedded-rules:end -->/g,X_=/(?:\.\.[\\/]|\.\/|\.\\|\/[A-Za-z0-9._-]|[A-Za-z]:[\\/][A-Za-z0-9._-]|\.agentsmesh[\\/]|\.claude[\\/]|\.cursor[\\/]|\.github[\\/]|\.continue[\\/]|\.junie[\\/]|\.kiro[\\/]|\.gemini[\\/]|\.clinerules[\\/]|\.cline[\\/]|\.codex[\\/]|\.agents[\\/]|\.windsurf[\\/]|\.roo[\\/]|(?:[A-Za-z0-9._-]+[\\/])+|[A-Za-z0-9._-]+\.[A-Za-z0-9._-]+)[A-Za-z0-9._@%+~:\\/-]*/g,as=/(?::(\d+)){1,2}$/;i(Oi,"resolveProjectPath");i(Ei,"expandResolvedPaths");i(Z_,"isGlobAdjacent");i(El,"protectedRanges");});function nL(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 ap(t,e){let r=J(t),n=j(t,t),o=j(t,e);if(o===n)return true;let s=n.endsWith(r.sep)?n:`${n}${r.sep}`;return o.startsWith(s)}function q_(t){let e=J(t);return j(t,e.join(t,".agentsmesh"))}function Dr(t,e){let r=J(t),n=q_(t),o=j(t,e);if(o===n)return true;let s=n.endsWith(r.sep)?n:`${n}${r.sep}`;return o.startsWith(s)}function Q_(t,e,r){let n=J(t),o=q_(t),s=j(t,e);if(!Dr(t,s))return null;let a=n.relative(o,s).replace(/\\/g,"/");return a.startsWith("..")||a.length===0?null:r&&!a.endsWith("/")?`${a}/`:a}function lp(t,e,r){let o=J(t).relative(j(t,t),j(t,e)).replace(/\\/g,"/");if(o.startsWith(".."))return null;let s=o.length>0?o:".";return r&&!s.endsWith("/")?`${s}/`:s}function tC(t,e,r){return !nL(r.tokenContext)||r.originalToken===void 0?false:X(r.originalToken).startsWith(".agentsmesh/")}function ls(t,e,r){let n=lp(t,e,r);return n===null?null:{kind:"projectRoot",rest:n,text:n}}function cp(t,e,r,n,o){let s=J(t),a=j(t,t),l=j(t,e),c=j(t,r);if(!ap(t,c))return ls(t,c,n)?.text??null;let m=j(t,dirname(l));if(!ap(t,m)&&m!==a)return ls(t,c,n)?.text??null;let u=s.relative(m,c).replace(/\\/g,"/");if(s.isAbsolute(u)||xe.test(u))return lp(t,c,n);let p=j(t,s.join(m,u));return ap(t,p)?(u===""||u==="."?u=".":o.explicitCurrentDirLinks===true&&m!==a&&!u.startsWith("../")&&!u.startsWith("./")&&(u=`./${u}`),n&&!u.endsWith("/")?`${u}/`:u):lp(t,c,n)}var mp=f(()=>{Dt();i(nL,"isReadingContext");i(ap,"isUnderProjectRoot");i(q_,"agentsMeshRoot");i(Dr,"isUnderAgentsMesh");i(Q_,"toAgentsMeshRootRelative");i(lp,"toProjectRootRelative");i(tC,"shouldPreserveAgentsMeshAnchor");i(ls,"toProjectRootReference");i(cp,"formatLinkPathForDestinationLegacy");});function eC(t,e,r,n,o={}){let s=o.scope??"project",a=j(t,r);if(tC(t,e,o))return X(o.originalToken??"");if(o.forceRelative)return cp(t,e,r,n,o);if(s==="global"&&!Dr(t,e))return ls(t,a,n)?.text??null;let l=(()=>{if(Dr(t,a))return a;let m=o.logicalMeshSourceAbsolute;return m&&Dr(t,j(t,m))?j(t,m):null})();if(!l)return ls(t,a,n)?.text??null;if(n||(o.pathIsDirectory?.(a)??false)){let m=Q_(t,l,n);return m!==null?m:ls(t,l,n)?.text??null}return cp(t,e,r,n,o)}var rC=f(()=>{fn();Dt();mp();mp();i(eC,"formatLinkPathForDestination");});function nC(t,e,r,n){let o=J(e),s=X(t);if(!Pe(s))return null;let a=s.split("/").filter(m=>m.length>0);if(a.length<3)return null;let l=j(e,r),c=o.dirname(l);for(let m=1;m<=a.length-1;m++){let u=a.slice(m).join("/"),p=j(e,o.join(c,u));if(p!==l&&n(p))return p}return null}var oC=f(()=>{Dt();fn();i(nC,"resolveByDestinationSuffixStrip");});function sC(t){let e=null,r=false,n=null,o=null,s=null;for(let c of Oi(t.candidate,t.projectRoot,t.sourceFile)){let m=null,u=null;for(let p of Ei(t.projectRoot,c)){let d=j(t.projectRoot,p),g=j(t.projectRoot,t.translatePath(d)),h=t.pathExists(d),C=t.pathExists(g);if(C&&g!==d){e=g,n=d,r=true;break}(h||C)&&m===null&&(m=g,u=d),e===null&&(e=g);}if(!r&&m!==null&&o===null&&(o=m,s=u),r)break}if(!r){let c=nC(t.candidate,t.projectRoot,t.destinationFile,t.pathExists);c!==null&&(e=c,r=true);}!r&&o!==null&&(e=o,s!==null&&(n=s),r=true);let a=X(t.destinationFile),l=a.includes("/.agentsmesh/")||a.startsWith(".agentsmesh/");return !r&&e!==null&&X(t.rawToken).startsWith(".agentsmesh/")&&l&&(r=true),{translatedPath:e,resolvedBeforeTranslate:n,matchedPath:r}}var iC=f(()=>{Dt();fn();oC();i(sC,"resolveLinkTarget");});function aC(t,e,r){return e>=2&&t[e-2]==="~"&&t[e-1]==="/"?true:e>=1&&t[e-1]==="~"&&r.startsWith("/")}function lC(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 cC(t){let e=X(t);return e.startsWith("./")||e.startsWith("../")?true:e.startsWith("/")||xe.test(e)||Pe(e)?false:e.includes("/")}var mC=f(()=>{Dt();fn();i(aC,"isTildeHomeRelativePathToken");i(lC,"isMarkdownLinkDestinationToken");i(cC,"isRelativePathToken");});function oL(t,e,r){let n=e+r.length;if(t[n]!=="]"||t[n+1]!=="(")return false;let o=n+2,s="";for(;o<t.length;){let a=t[o];if(a===")"||a==="#"||a==="?"||a===" "||a===" "||a===`
|
|
116
|
-
`)break;s+=a,o++;}return s===r}function
|
|
109
|
+
`),e.push({fromTool:"gemini-cli",fromPath:r,toPath:Jo,feature:"ignore"});}}}var wu=f(()=>{E();pt();Ru();YS();i(XS,"importGeminiIgnore");});function CA(t){return t.replace(/\\(.)/g,"$1")}function kA(t){switch(t){case "read_file":return "Read";case "grep_search":return "Grep";case "list_directory":return "LS";case "web_fetch":return "WebFetch";case "run_shell_command":return "Bash";default:return null}}function wA(t){return `Bash(${t}:*)`}function OA(t){return `Read(${CA(t)})`}async function ZS(t){let e=[],r=join(t,nl),n;try{n=await P(r);}catch{return e}let o=n.filter(p=>p.endsWith(".toml"));if(o.length===0)return e;let s=[],a=[],l=new Set,c=new Set;for(let p of o){let d=await I(p);if(!d)continue;let g;try{g=parse$1(d);}catch{continue}let h=g&&typeof g=="object"&&"rule"in g?g.rule:void 0;if(Array.isArray(h))for(let R of h){if(!R||typeof R!="object")continue;let C=R,S=typeof C.toolName=="string"?C.toolName:null,w=typeof C.decision=="string"?C.decision:null;if(!S||!w)continue;let D=kA(S);if(!D)continue;let b=null;D==="Bash"?typeof C.commandPrefix=="string"&&C.commandPrefix.trim()&&(b=wA(C.commandPrefix.trim())):D==="Read"?typeof C.argsPattern=="string"&&C.argsPattern.trim()?b=OA(C.argsPattern.trim()):b="Read":b=D,b&&(w==="allow"?l.has(b)||(l.add(b),s.push(b)):w==="deny"&&(c.has(b)||(c.add(b),a.push(b))));}}if(s.length===0&&a.length===0)return e;await k(join(t,".agentsmesh"));let m=join(t,pu),u=stringify({allow:s,deny:a});return await _(m,u.trimEnd()+`
|
|
110
|
+
`),e.push({fromTool:ln,fromPath:join(t,nl),toPath:pu,feature:"permissions"}),e}var qS=f(()=>{E();pt();i(CA,"unescapeRegexLiteral");i(kA,"toolNameToPermissionBase");i(wA,"commandPrefixToBashExpr");i(OA,"argsPatternToReadExpr");i(ZS,"importGeminiPolicies");});function Ou(t,e){let r=new Set([e,e.replace(/\\/g,"/"),e.replace(/\//g,"\\")]);try{r.add(realpathSync(e)),r.add(realpathSync.native(e));}catch{}return Array.from(r).reduce((o,s)=>{let a=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return o.replace(new RegExp(`${a}[/\\\\]\\.agentsmesh[/\\\\]`,"g"),".agentsmesh/").replaceAll(`${s}/.agentsmesh`,".agentsmesh").replaceAll(`${s}\\.agentsmesh`,".agentsmesh")},t).replace(/(?:[A-Za-z]:)?[^\s"'`()<>]+[/\\]\.agentsmesh[/\\]/g,".agentsmesh/")}var t_=f(()=>{i(Ou,"stripProjectRootCanonicalPrefix");});async function r_(t,e,r){let n=join(t,Ii),s=(await P(n)).filter(l=>basename(l)==="SKILL.md");for(let l of s){let c=await I(l);if(!c)continue;let m=basename(l.slice(0,-9)),u=O(c),p=jr(u.frontmatter,m);if(p){let w=join(t,Si);await k(w);let D=join(w,`${p.name}.md`);await _(D,je(p,r(u.body,l,D))),e.push({fromTool:"gemini-cli",fromPath:l,toPath:`${Si}/${p.name}.md`,feature:"agents"});continue}let d=join(t,_i,m,"SKILL.md"),g=r(c,l,d),h=join(t,_i,m);await k(h);let{frontmatter:R,body:C}=O(g);await _(d,await Le(d,{...R,name:m},C)),e.push({fromTool:"gemini-cli",fromPath:l,toPath:`${_i}/${m}/SKILL.md`,feature:"skills"});let S=await P(dirname(l));for(let w of S){if(w===l)continue;let D=await I(w);if(D===null)continue;let b=relative(dirname(l),w).replace(/\\/g,"/"),x=join(h,b);await k(dirname(x)),await _(x,r(D,w,x)),e.push({fromTool:"gemini-cli",fromPath:w,toPath:`${_i}/${m}/${b}`,feature:"skills"});}}let a=join(t,cn);try{let c=(await P(a)).filter(m=>m.endsWith(".md"));for(let m of c){let u=await I(m);if(!u)continue;let{frontmatter:p,body:d}=O(u),h=relative(a,m).replace(/\\/g,"/").replace(/\.md$/i,".md"),R=join(t,Si);await k(R);let C=join(R,h),S=r(d,m,C);await _(C,await $t(C,{...p,name:typeof p.name=="string"?p.name:basename(h,".md"),maxTurns:p.maxTurns??p["max-turns"]??p.max_turns,permissionMode:p.permissionMode??p["permission-mode"]??p.permission_mode,disallowedTools:p.disallowedTools??p["disallowed-tools"]??p.disallowed_tools},S)),e.push({fromTool:"gemini-cli",fromPath:m,toPath:`${Si}/${h}`,feature:"agents"});}}catch{}}var n_=f(()=>{E();F();Y();Xt();pt();i(r_,"importGeminiSkillsAndAgents");});async function EA(t,e,r){let n=await H("codex-cli",t),o=join(t,mn),s=join(t,rr),a=join(t,DS),l=[s,a,join(t,re),join(t,FS)],c=null,m=l[l.length-1];for(let b of l){let x=await I(b);if(x!==null){c=x,m=b;break}}if(c===null)return;await k(o);let u=join(o,"_root.md"),p=m===s||m===a?n(c,m,u):c,d=await Ge({content:p,projectRoot:t,rulesDir:mn,sourcePath:m,fromTool:ln,normalize:r});e.push(...d.results);let g=r(d.rootContent,m,u),h=Ou(g.replace(/\.agents\/skills\//g,".agentsmesh/skills/").replace(/\.agents\\skills\\/g,".agentsmesh/skills/"),t),{frontmatter:R,body:C}=O(h),w=R.root===true?R:{...R,root:true},D=Ou(await $(u,w,C),t);await _(u,D),e.push({fromTool:ln,fromPath:m,toPath:`${mn}/_root.md`,feature:"rules"});}async function ml(t){let e=[],r=await H(ln,t);return await EA(t,e,r),e.push(...await gt(ul,t,"project",{normalize:r})),await r_(t,e,r),await Cu(t,e),await XS(t,e),e.push(...await ZS(t)),e}var xu=f(()=>{bt();E();F();Y();wo();Me();pt();Pu();wu();qS();t_();n_();i(EA,"importRootRule");i(ml,"importFromGemini");});async function s_(t,e,r){let n=t.replace(/\\/g,"/"),o=join(e,n),{frontmatter:s,body:a}=ll(r(o)),l=dr(s.globs),c={root:false,description:typeof s.description=="string"?s.description:void 0,globs:l.length>0?l:void 0};return Object.keys(c).forEach(m=>{c[m]===void 0&&delete c[m];}),{destPath:o,toPath:`${mn}/${n}`,feature:"rules",content:await $(o,c,a)}}async function i_(t,e,r){let n=t.replace(/\.(toml|md)$/i,".md").replace(/\\/g,"/"),o=join(e,n),s=r(o),{frontmatter:a,body:l}=t.endsWith(".toml")?xA(s):ll(s),c=Yt(a.allowedTools),m=Yt(a["allowed-tools"]),u=c.length>0?c:m;return {destPath:o,toPath:`${sl}/${n}`,feature:"commands",content:await Q(o,{description:typeof a.description=="string"?a.description:"",hasDescription:Object.prototype.hasOwnProperty.call(a,"description"),allowedTools:u,hasAllowedTools:Object.prototype.hasOwnProperty.call(a,"allowedTools")||Object.prototype.hasOwnProperty.call(a,"allowed-tools")},l)}}function xA(t){try{let e=parse$1(t);return {frontmatter:e,body:typeof e.prompt=="string"?e.prompt:""}}catch{return {frontmatter:{},body:t.trim()}}}var a_=f(()=>{Y();he();wu();pt();i(s_,"mapGeminiRuleFile");i(i_,"mapGeminiCommandFile");i(xA,"parseTomlCommand");});var l_,c_,m_=f(()=>{a_();l_=i(({relativePath:t,destDir:e,normalizeTo:r})=>s_(t,e,r),"geminiRuleMapper"),c_=i(({relativePath:t,destDir:e,normalizeTo:r})=>i_(t,e,r),"geminiCommandMapper");});function u_(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(s=>({...s,target:ln}))}var p_=f(()=>{ye();pt();i(u_,"lintRules");});function d_(t){return t.commands.filter(e=>e.allowedTools.length>0).map(e=>V(e.source,"gemini-cli","Gemini TOML command files do not project canonical allowed-tools metadata."))}function f_(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=["PreToolUse","PostToolUse","Notification"],r=new Set(e);return Object.keys(t.hooks).filter(n=>!r.has(n)).map(n=>Wo(n,"gemini-cli",e))}var g_=f(()=>{Wt();i(d_,"lintCommands");i(f_,"lintHooks");});function h_(t,e){return e==="project"&&un("gemini-cli",e)?.ignore.flavor!=="settings-embedded"?[]:yu(t)}var y_=f(()=>{rt();Iu();i(h_,"emitScopedGeminiSettings");});function S_(t){try{let e=JSON.parse(t);return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:{}}catch{return {}}}function __(t,e){let r=S_(t),n=PA.parse(JSON.parse(e)),o={...r};n.permissions!==void 0&&(o.permissions=n.permissions),n.hooks!==void 0&&(o.hooks=n.hooks);let s=o.permissions;return s&&typeof s=="object"&&!Array.isArray(s)&&!("ask"in s)&&(s.ask=[]),JSON.stringify(o,null,2)}function R_(t,e){let r=S_(t),n=AA.parse(JSON.parse(e)),o={...r};return n.mcpServers!==void 0&&(o.mcpServers=n.mcpServers),n.hooks!==void 0&&(o.hooks=n.hooks),n.experimental!==void 0&&(o.experimental=n.experimental),n.context!==void 0&&(o.context=n.context),JSON.stringify(o,null,2)}var I_,PA,AA,Au=f(()=>{I_=[".claude/settings.json",".gemini/settings.json"],PA=z$1.object({permissions:z$1.object({allow:z$1.array(z$1.string()).optional(),deny:z$1.array(z$1.string()).optional()}).passthrough().optional(),hooks:z$1.record(z$1.string(),z$1.unknown()).optional()}).passthrough(),AA=z$1.object({mcpServers:z$1.record(z$1.string(),z$1.unknown()).optional(),hooks:z$1.record(z$1.string(),z$1.unknown()).optional(),experimental:z$1.record(z$1.string(),z$1.unknown()).optional(),context:z$1.record(z$1.string(),z$1.unknown()).optional()}).passthrough();i(S_,"parseJsonObject");i(__,"mergeSettingsJson");i(R_,"mergeGeminiSettingsJson");});var TA,LA,NA,DA,ul,Pu=f(()=>{HS();Cn();JS();pt();xu();m_();p_();Ut();yo();Xt();g_();y_();nn();Au();TA={name:"gemini-cli",primaryRootInstructionPath:re,generateRules:du,generateCommands:fu,generateAgents:gu,generateSkills:hu,generateIgnore:Su,generatePermissions:VS,importFrom:ml},LA={rootInstructionPath:re,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[rr]}],extraRuleOutputPaths(){return [rr]},skillDir:".gemini/skills",managedOutputs:{dirs:[".gemini/agents",".gemini/commands",".gemini/skills",".agents/skills"],files:["AGENTS.md","GEMINI.md",".gemini/settings.json",".gemini/policies/permissions.toml",".geminiignore"]},mirrorGlobalPath(t,e){return xt(t,".gemini/skills",e)},paths:{rulePath(t,e){return re},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),n=r.pop()??t;return `${Bt}/${r.join("/")}/${n}.toml`}return `${Bt}/${t}.toml`},agentPath(t,e){return me(e,"gemini-cli")?`.gemini/skills/${Lt(t)}/SKILL.md`:`${cn}/${t}.md`}}},NA={rootInstructionPath:Yo,outputFamilies:[{id:"compat-agents",kind:"additional",explicitPaths:[Xo]}],extraRuleOutputPaths(){return [Xo]},skillDir:Zn,managedOutputs:{dirs:[Zo,Zn,Ri],files:[Yo,Xo,il]},rewriteGeneratedPath(t){return t===re?Yo:t===rr?Xo:t===Xn?il:t.startsWith(`${Bt}/`)?t.replace(`${Bt}/`,`${Zo}/`):t.startsWith(".gemini/skills/")?t.replace(".gemini/skills/",`${Zn}/`):t.startsWith(`${cn}/`)?t.replace(`${cn}/`,`${Ri}/`):t.startsWith(".gemini/policies/")||t===".geminiignore"?null:t},mirrorGlobalPath(t,e){return xt(t,Zn,e)},paths:{rulePath(t,e){return Yo},commandPath(t,e){if(t.includes(":")){let r=t.split(":").filter(Boolean),n=r.pop()??t;return `${Zo}/${r.join("/")}/${n}.toml`}return `${Zo}/${t}.toml`},agentPath(t,e){return me(e,"gemini-cli")?`${Zn}/${Lt(t)}/SKILL.md`:`${Ri}/${t}.md`}}},DA={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:"none",permissions:"none"},ul={id:"gemini-cli",generators:TA,capabilities:{rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"partial",ignore:pe("native","settings-embedded"),permissions:"partial"},emptyImportMessage:"No Gemini CLI config found (GEMINI.md or .gemini/rules, .gemini/commands, .gemini/settings.json).",lintRules:u_,lint:{commands:d_,hooks:f_},emitScopedSettings:h_,mergeGeneratedOutputContent(t,e,r,n){let o=e?.content??t;return o!==null&&n===Xn?R_(o,r):null},project:LA,globalSupport:{capabilities:DA,detectionPaths:[Yo,Xo,il,Zo,Zn,Ri],layout:NA},importer:{rules:{feature:"rules",mode:"directory",source:{project:[NS]},canonicalDir:mn,extensions:[".md"],map:l_},commands:{feature:"commands",mode:"directory",source:{project:[Bt]},canonicalDir:sl,extensions:[".md",".toml"],map:c_}},buildImportPaths:im,detectionPaths:["GEMINI.md",".gemini"]};});function C_(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Ye,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("junie"))continue;let o=basename(n.source,".md");e.push({path:`${qs}/${o}.md`,content:n.body.trim()||""});}return e}function vA(t){let e={};return t.description&&(e.description=t.description),t.type!=="stdio"&&(e.type=t.type),Da(t)?(e.command=t.command,e.args=t.args):(e.url=t.url,Object.keys(t.headers).length>0&&(e.headers=t.headers)),Object.keys(t.env).length>0&&(e.env=t.env),e}function k_(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=Object.fromEntries(Object.entries(t.mcp.mcpServers).map(([r,n])=>[r,vA(n)]));return [{path:Zs,content:JSON.stringify({mcpServers:e},null,2)}]}function w_(t){return t.commands.map(e=>{let r={description:e.description||void 0};return r.description===void 0&&delete r.description,{path:`${Do}/${e.name}.md`,content:N(r,e.body.trim()||"")}})}function O_(t){return t.agents.map(e=>{let r={name:e.name,description:e.description||void 0,tools:e.tools.length>0?e.tools:void 0,disallowedTools:e.disallowedTools.length>0?e.disallowedTools:void 0,model:e.model||void 0,skills:e.skills.length>0?e.skills:void 0};return Object.keys(r).forEach(n=>{r[n]===void 0&&delete r[n];}),{path:`${Fo}/${e.name}.md`,content:N(r,e.body.trim()||"")}})}function E_(t){return t.ignore.length===0?[]:[{path:Qs,content:t.ignore.join(`
|
|
111
|
+
`)}]}function b_(t){return Ne(t,Dn)}function x_(t){let e=t.rules.find(n=>n.root),r=t.rules.filter(n=>n.root?false:n.targets.length===0||n.targets.includes("junie"));return de(e?.body.trim()??"",r)}var P_=f(()=>{Fa();fe();Gr();F();vo();i(C_,"generateRules");i(vA,"toJunieMcpServer");i(k_,"generateMcp");i(w_,"generateCommands");i(O_,"generateAgents");i(E_,"generateIgnore");i(b_,"generateSkills");i(x_,"renderJunieGlobalInstructions");});async function $A(t,e,r){let n=[Ye,Ra,$g,Mg],o=join(t,am);for(let s of n){let a=join(t,s),l=await I(a);if(l===null)continue;let c=await Ge({content:l,projectRoot:t,rulesDir:ka,sourcePath:a,fromTool:Nn,normalize:r});e.push(...c.results);let{frontmatter:m,body:u}=O(r(c.rootContent,a,o)),p=await $(o,{root:true,description:typeof m.description=="string"?m.description:void 0,globs:Array.isArray(m.globs)?m.globs:void 0},u);await _(o,p),e.push({fromTool:Nn,fromPath:a,toPath:am,feature:"rules"});return}}async function pl(t){let e=[],r=await H(Nn,t);return await $A(t,e,r),e.push(...await gt(dl,t,"project",{normalize:r})),await De(t,Dn,Nn,e,r),e}var Tu=f(()=>{bt();E();F();fe();wo();Y();Me();vo();Lu();i($A,"importRootRule");i(pl,"importFromJunie");});function T_(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Nn}))}var L_=f(()=>{ye();vo();i(T_,"lintRules");});function N_(t){if(!t.mcp||Object.keys(t.mcp.mcpServers).length===0)return [];let e=[];for(let[r,n]of Object.entries(t.mcp.mcpServers))yy(n)&&e.push(V(".agentsmesh/mcp.json","junie",`MCP server "${r}" uses ${n.type} transport; Junie project mcp.json currently documents stdio MCP servers only.`));return e}var D_=f(()=>{Fa();Wt();i(N_,"lintMcp");});var MA,GA,jA,UA,dl,Lu=f(()=>{P_();vo();nn();Tu();L_();D_();Ut();MA={name:"junie",primaryRootInstructionPath:Ye,generateRules:C_,generateCommands:w_,generateAgents:O_,generateSkills:b_,generateMcp:k_,generateIgnore:E_,importFrom:pl},GA={rootInstructionPath:Ye,skillDir:".junie/skills",managedOutputs:{dirs:[".junie/agents",".junie/commands",".junie/rules",".junie/skills"],files:[".aiignore",".junie/AGENTS.md",".junie/mcp/mcp.json"]},paths:{rulePath(t,e){return `${qs}/${t}.md`},commandPath(t,e){return `${Do}/${t}.md`},agentPath(t,e){return `${Fo}/${t}.md`}}},jA={rootInstructionPath:Fn,renderPrimaryRootInstruction:x_,skillDir:ei,managedOutputs:{dirs:[ei,ri,ni,Gg],files:[Fn,Ca]},rewriteGeneratedPath(t){return t===Ye?Fn:t.startsWith(`${qs}/`)?Fn:t.startsWith(`${Dn}/`)?t.replace(`${Dn}/`,`${ei}/`):t.startsWith(`${Do}/`)?t.replace(`${Do}/`,`${ni}/`):t.startsWith(`${Fo}/`)?t.replace(`${Fo}/`,`${ri}/`):t===Zs?Ca:t===Qs?null:t},mirrorGlobalPath(t,e){return xt(t,".junie/skills",e)},paths:{rulePath(t,e){return Fn},commandPath(t,e){return `${ni}/${t}.md`},agentPath(t,e){return `${ri}/${t}.md`}}},UA={rules:"native",additionalRules:"embedded",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"none",permissions:"none"},dl={id:"junie",generators:MA,capabilities:{rules:"native",additionalRules:"native",commands:"native",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},emptyImportMessage:"No Junie config found (.junie/guidelines.md, .junie/AGENTS.md, .junie/skills, .junie/mcp/mcp.json, or .aiignore).",lintRules:T_,lint:{mcp:N_},project:GA,globalSupport:{capabilities:UA,detectionPaths:[Fn,ei,ri,ni,Ca],layout:jA},importer:{rules:{feature:"rules",mode:"directory",source:{project:[".junie/rules"]},canonicalDir:ka,extensions:[".md"],preset:"rule"},commands:{feature:"commands",mode:"directory",source:{project:[".junie/commands"]},canonicalDir:jg,extensions:[".md"],preset:"command"},agents:{feature:"agents",mode:"directory",source:{project:[".junie/agents"]},canonicalDir:Ug,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[Zs]},canonicalDir:".agentsmesh",canonicalFilename:Wg},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Qs]},canonicalDir:".agentsmesh",canonicalFilename:Bg}},buildImportPaths:lm,detectionPaths:[".junie/guidelines.md",".junie/AGENTS.md",".junie/skills",".junie/mcp/mcp.json",".aiignore"]};});function F_(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/_/g,"-").toLowerCase()}function KA(t){return t.type==="prompt"?t.prompt:t.command}function HA(t,e){let r=v_[t];return t==="PreToolUse"||t==="PostToolUse"?{type:r,tools:[e||"*"]}:{type:r}}function $_(t){let e=[];for(let[r,n]of Object.entries(t)){let o=r;if(!(o in v_)||!Array.isArray(n))continue;let s=1;for(let a of n){let l=KA(a);if(!l)continue;let c={name:`${F_(r)} ${s}`,version:"1",when:HA(o,a.matcher),then:a.type==="prompt"?{type:"askAgent",prompt:l}:{type:"shellCommand",command:l}};e.push({name:`${F_(r)}-${s}.kiro.hook`,content:JSON.stringify(c,null,2)}),s+=1;}}return e}function zA(t){let e=BA.get(t.when.type);if(!e)return null;let r=t.when.tools?.[0]??t.when.patterns?.[0]??"*";return t.then.type==="askAgent"&&typeof t.then.prompt=="string"?{event:e,entry:{matcher:r,command:t.then.prompt,prompt:t.then.prompt,type:"prompt"}}:t.then.type==="shellCommand"&&typeof t.then.command=="string"?{event:e,entry:{matcher:r,command:t.then.command,type:"command"}}:null}function M_(t){let e;try{e=JSON.parse(t);}catch{return null}if(!e||typeof e!="object"||Array.isArray(e))return null;let r=e;return !r.when||!r.then||typeof r.when.type!="string"?null:zA(r)}function G_(t){return stringify(t).trimEnd()}var v_,BA,Nu=f(()=>{v_={UserPromptSubmit:"promptSubmit",SubagentStop:"agentStop",PreToolUse:"preToolUse",PostToolUse:"postToolUse"},BA=new Map([["promptSubmit","UserPromptSubmit"],["agentStop","SubagentStop"],["preToolUse","PreToolUse"],["postToolUse","PostToolUse"]]);i(F_,"toKebab");i(KA,"hookText");i(HA,"toWhen");i($_,"generateKiroHooks");i(zA,"toCanonicalEntry");i(M_,"parseKiroHookFile");i(G_,"serializeCanonicalHooks");});function JA(t){let e={};return t.globs.length>0?(e.inclusion="fileMatch",e.fileMatchPattern=t.globs.length===1?t.globs[0]:t.globs):t.trigger==="manual"?e.inclusion="manual":t.trigger==="model_decision"?e.inclusion="auto":e.inclusion="always",t.description&&(e.description=t.description),e}function j_(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Re,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(jt))continue;let o=basename(n.source,".md");e.push({path:`${Ce}/${o}.md`,content:N(JA(n),n.body.trim()||"")});}return e}function U_(t){return Ne(t,te)}function W_(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:$o,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function B_(t){return !t.hooks||Object.keys(t.hooks).length===0?[]:$_(t.hooks).map(e=>({path:`${Zr}/${e.name}`,content:e.content}))}function K_(t){return t.agents.map(e=>{let r={name:e.name,description:e.description,tools:e.tools.length>0?e.tools:void 0,model:e.model||void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=N(r,e.body.trim()||"");return {path:`${ke}/${e.name}.md`,content:n}})}function H_(t){return t.ignore.length===0?[]:[{path:Mo,content:t.ignore.join(`
|
|
112
|
+
`)}]}var z_=f(()=>{fe();F();Nu();Go();i(JA,"steeringFrontmatter");i(j_,"generateRules");i(U_,"generateSkills");i(W_,"generateMcp");i(B_,"generateHooks");i(K_,"generateAgents");i(H_,"generateIgnore");});function XA(t){let e=typeof t.inclusion=="string"?t.inclusion:"",r={root:false,description:typeof t.description=="string"?t.description:void 0,globs:dr(t.fileMatchPattern)};return e==="manual"&&(r.trigger="manual"),e==="auto"&&(r.trigger="model_decision"),e==="fileMatch"&&(r.trigger="glob"),r}async function ZA(t,e,r,n){let o=n==="global"?[we,Re]:[Re,we];for(let s of o){let a=join(t,s),l=await I(a);if(l===null)continue;let c=join(t,cm),{frontmatter:m,body:u}=O(r(l,a,c));await _(c,await $(c,{...m,root:true},u)),e.push({fromTool:jt,fromPath:a,toPath:cm,feature:"rules"});return}}async function qA(t,e,r){let n=join(t,mm);e.push(...await st({srcDir:join(t,Ce),destDir:n,extensions:[".md"],fromTool:jt,normalize:r,mapEntry:i(async({relativePath:o,normalizeTo:s})=>{if(basename(o)==="AGENTS.md")return null;let a=join(n,o),{frontmatter:l,body:c}=O(s(a));return {destPath:a,toPath:`${mm}/${o}`,feature:"rules",content:await $(a,XA(l),c)}},"mapEntry")}));}async function QA(t,e){let r={};for(let o of await P(join(t,Zr))){if(!o.endsWith(".kiro.hook"))continue;let s=M_(await I(o)??"");s&&(r[s.event]??=[],r[s.event].push(s.entry));}if(Object.keys(r).length===0)return;let n=join(t,um);await k(join(t,".agentsmesh")),await _(n,G_(r)),e.push({fromTool:jt,fromPath:join(t,Zr),toPath:um,feature:"hooks"});}async function fl(t,e={}){let r=e.scope??"project",n=[],o=await H(jt,t,r);return await ZA(t,n,o,r),await qA(t,n,o),n.push(...await gt(gl,t,r,{normalize:o})),await De(t,te,jt,n,o),r==="project"&&await QA(t,n),n}var Du=f(()=>{bt();fe();$e();Me();Y();he();E();F();Nu();Go();Fu();i(XA,"canonicalRuleMeta");i(ZA,"importRoot");i(qA,"importNonRootRules");i(QA,"importHooks");i(fl,"importFromKiro");});function V_(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:jt}))}var J_=f(()=>{ye();Go();i(V_,"lintRules");});function Y_(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=["PreToolUse","PostToolUse","UserPromptSubmit","SubagentStop"],r=new Set(e);return Object.keys(t.hooks).filter(n=>!r.has(n)).map(n=>Wo(n,"kiro",e,{unsupportedBy:"Kiro hooks"}))}var X_=f(()=>{Wt();i(Y_,"lintHooks");});var tT,eT,rT,nT,gl,Fu=f(()=>{z_();nn();Du();J_();X_();Ut();Go();tT={name:jt,primaryRootInstructionPath:Re,generateRules:j_,generateAgents:K_,generateSkills:U_,generateMcp:W_,generateHooks:B_,generateIgnore:H_,importFrom:fl},eT={rootInstructionPath:Re,skillDir:te,managedOutputs:{dirs:[".kiro/hooks",".kiro/skills",".kiro/steering",".kiro/agents"],files:["AGENTS.md",".kiro/settings/mcp.json",".kiroignore"]},paths:{rulePath(t,e){return `${Ce}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return `${ke}/${t}.md`}}},rT={rootInstructionPath:we,skillDir:qr,managedOutputs:{dirs:[vn,qr,$n,zg],files:[we,si,ii]},rewriteGeneratedPath(t){return t===Re?we:t.startsWith(`${Ce}/`)?t.replace(`${Ce}/`,`${vn}/`):t.startsWith(`${te}/`)?t.replace(`${te}/`,`${qr}/`):t.startsWith(`${ke}/`)?t.replace(`${ke}/`,`${$n}/`):t===$o?si:t===Mo?ii:t.startsWith(`${Zr}/`)?null:t},mirrorGlobalPath(t,e){return xt(t,".kiro/skills",e)},paths:{rulePath(t,e){return `${vn}/${t}.md`},commandPath(t,e){return null},agentPath(t,e){return `${$n}/${t}.md`}}},nT={rules:"native",additionalRules:"native",commands:"none",agents:"native",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},gl={id:jt,generators:tT,capabilities:{rules:"native",additionalRules:"native",commands:"none",agents:"native",skills:"native",mcp:"native",hooks:"native",ignore:"native",permissions:"none"},emptyImportMessage:"No Kiro config found (AGENTS.md, .kiro/steering, .kiro/skills, .kiro/agents, .kiro/hooks, .kiro/settings/mcp.json, or .kiroignore).",lintRules:V_,lint:{hooks:Y_},project:eT,globalSupport:{capabilities:nT,detectionPaths:[vn,we,qr,$n,si,ii],layout:rT},importer:{agents:{feature:"agents",mode:"directory",source:{project:[ke],global:[ke]},canonicalDir:Vg,extensions:[".md"],preset:"agent"},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[$o],global:[si]},canonicalDir:".agentsmesh",canonicalFilename:Jg},ignore:{feature:"ignore",mode:"flatFile",source:{project:[Mo],global:[ii]},canonicalDir:".agentsmesh",canonicalFilename:Yg}},buildImportPaths:pm,detectionPaths:[Ce,te,ke,Zr,$o,Mo]};});function q_(t){let e=[],r=t.rules.find(n=>n.root);r&&e.push({path:Oe,content:r.body.trim()||""});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes(Qr))continue;let o=basename(n.source,".md");e.push({path:`${Rr}/${o}.md`,content:n.body.trim()||""});}return e}function Q_(t){return t.commands.map(e=>{let r={};return e.description&&(r.description=e.description),{path:`${Cr}/${e.name}.md`,content:N(r,e.body.trim()||"")}})}function tR(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:li,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}function eR(t){return t.ignore.length===0?[]:[{path:ci,content:t.ignore.join(`
|
|
113
|
+
`)}]}function rR(t){return Ne(t,Xe)}function nR(t){if(t.agents.length===0)return [];let e=t.agents.map(r=>{let o={slug:basename(r.source,".md"),name:r.name};return r.description&&(o.description=r.description),r.body.trim()&&(o.roleDefinition=r.body.trim()),o});return [{path:jo,content:stringify({customModes:e})}]}var oR=f(()=>{fe();F();Un();i(q_,"generateRules");i(Q_,"generateCommands");i(tR,"generateMcp");i(eR,"generateIgnore");i(rR,"generateSkills");i(nR,"generateAgents");});var hl,iR,vu=f(()=>{F();Y();Un();hl=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{if(t==="00-root.md")return null;let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${jn}/${t}`,content:await $(n,{root:false,description:typeof o.description=="string"?o.description:void 0,globs:Array.isArray(o.globs)?o.globs:void 0},s)}},"rooNonRootRuleMapper"),iR=i(async({relativePath:t,normalizeTo:e,destDir:r})=>{let n=join(r,t),{frontmatter:o,body:s}=O(e(n));return {destPath:n,toPath:`${Oa}/${t}`,content:await Q(n,{hasDescription:true,description:typeof o.description=="string"?o.description:void 0,hasAllowedTools:false,allowedTools:[]},s)}},"rooCommandMapper");});async function iT(t,e,r){let n=join(t,Mn),o;try{o=await readdir(n,{withFileTypes:!0});}catch{return}let s=o.filter(l=>l.isDirectory()&&l.name.startsWith("rules-")).map(l=>l.name),a=join(t,jn);for(let l of s)e.push(...await st({srcDir:join(n,l),destDir:a,extensions:[".md"],fromTool:Qr,normalize:r,mapEntry:i(async({srcPath:c,relativePath:m,content:u,normalizeTo:p})=>{let d=await hl({absolutePath:c,relativePath:m,content:u,destDir:a,normalizeTo:p});return d?{...d,feature:"rules"}:null},"mapEntry")}));}async function aR(t,e={}){let r=e.scope??"project",n=[],o=await H(Qr,t,r);return n.push(...await gt(yl,t,r,{normalize:o})),await iT(t,n,o),await De(t,Xe,Qr,n,o),n}var lR=f(()=>{bt();fe();$e();Me();vu();Un();Mu();i(iT,"importPerModeRules");i(aR,"importFromRooCode");});function cR(t,e,r,n){return lt(t,e,r,{checkGlobMatches:n?.scope!=="global"}).map(o=>({...o,target:Qr}))}var mR=f(()=>{ye();Un();i(cR,"lintRules");});function pT(t,e){return t===null?"created":t!==e?"updated":"unchanged"}var mT,uT,dT,fT,gT,yl,Mu=f(()=>{E();oR();Un();nn();lR();vu();mR();Ut();mT={name:"roo-code",primaryRootInstructionPath:Oe,generateRules:q_,generateCommands:Q_,generateSkills:rR,generateMcp:tR,generateIgnore:eR,generateAgents:nR,importFrom:aR},uT={rootInstructionPath:Oe,skillDir:".roo/skills",managedOutputs:{dirs:[".roo/rules",".roo/commands",".roo/skills"],files:[".roo/mcp.json",".rooignore",".roorules",jo]},paths:{rulePath(t,e){return `${Rr}/${t}.md`},commandPath(t,e){return `${Cr}/${t}.md`},agentPath(t,e){return null}}};i(pT,"computeStatus");dT=i(async(t,e,r,n)=>{if(r!=="global")return [];if(!n.has("agents")||t.agents.length===0)return [];let o=t.agents.map(l=>{let m={slug:basename(l.source,".md"),name:l.name};return l.description&&(m.description=l.description),l.body.trim()&&(m.roleDefinition=l.body.trim()),m}),s=stringify({customModes:o}),a=await I(join(e,mi));return [{target:"roo-code",path:mi,content:s,currentContent:a??void 0,status:pT(a,s)}]},"generateRooGlobalExtras"),fT={rootInstructionPath:rn,skillDir:kr,managedOutputs:{dirs:[tn,en,kr,Zg],files:[rn,Gn,ui,mi]},rewriteGeneratedPath(t){return t===Oe?rn:t===jo?null:t.startsWith(`${Rr}/`)?t.replace(`${Rr}/`,`${tn}/`):t.startsWith(`${Cr}/`)?t.replace(`${Cr}/`,`${en}/`):t.startsWith(`${Xe}/`)?t.replace(`${Xe}/`,`${kr}/`):t===li?Gn:t===ci?ui:t},mirrorGlobalPath(t,e){return xt(t,kr,e)},paths:{rulePath(t,e){return `${tn}/${t}.md`},commandPath(t,e){return `${en}/${t}.md`},agentPath(t,e){return null}}},gT={rules:"native",additionalRules:"native",commands:"native",agents:"partial",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},yl={id:"roo-code",generators:mT,capabilities:{rules:"native",additionalRules:"native",commands:"native",agents:"partial",skills:"native",mcp:"native",hooks:"none",ignore:"native",permissions:"none"},emptyImportMessage:"No Roo Code config found (.roo/rules, .roo/commands, .roo/skills, .roo/mcp.json, .rooignore, or .roorules).",lintRules:cR,project:uT,globalSupport:{capabilities:gT,detectionPaths:[tn,en,kr,Gn,ui,rn,mi],layout:fT,scopeExtras:dT},importer:{rules:[{feature:"rules",mode:"singleFile",source:{project:[Oe,ai],global:[rn,Oe,ai]},canonicalDir:jn,canonicalRootFilename:"_root.md",markAsRoot:true,frontmatterRemap:i(({description:t,globs:e})=>({description:typeof t=="string"?t:void 0,globs:Array.isArray(e)?e:void 0}),"frontmatterRemap")},{feature:"rules",mode:"directory",source:{project:[Rr],global:[tn]},canonicalDir:jn,extensions:[".md"],map:hl}],commands:{feature:"commands",mode:"directory",source:{project:[Cr],global:[en]},canonicalDir:Oa,extensions:[".md"],map:iR},mcp:{feature:"mcp",mode:"mcpJson",source:{project:[li],global:[Gn]},canonicalDir:".agentsmesh",canonicalFilename:qg},ignore:{feature:"ignore",mode:"flatFile",source:{project:[ci],global:[ui]},canonicalDir:".agentsmesh",canonicalFilename:Qg}},buildImportPaths:dm,detectionPaths:[".roo/rules",".roo/commands",".roo/skills",".roo/mcp.json",".rooignore",".roorules",jo]};});var nr,Gu,pn,uR,Qo,or,ts,es,pR,dn,xe,rs,ju,Uu,Wu,Bu,Ku,Hu,ns,os,Ci,Il,Sl,_l,dR,Pt=f(()=>{nr="windsurf",Gu=".windsurfrules",pn=".windsurf/rules",uR=".windsurfignore",Qo=".codeiumignore",or="AGENTS.md",ts=".windsurf/hooks.json",es=".windsurf/mcp_config.example.json",pR=".windsurf/mcp_config.json",dn=".windsurf/workflows",xe=".windsurf/skills",rs=".agentsmesh/rules",ju=".agentsmesh/commands",Uu=".agentsmesh/agents",Wu=".agentsmesh/skills",Bu=".agentsmesh/ignore",Ku=".agentsmesh/hooks.yaml",Hu=".agentsmesh/mcp.json",ns=".codeium/windsurf/memories/global_rules.md",os=".codeium/windsurf/skills",Ci=".codeium/windsurf/global_workflows",Il=".codeium/windsurf/hooks.json",Sl=".codeium/windsurf/mcp_config.json",_l=".codeium/.codeiumignore",dR=".agents/skills";});function yT(t){let e=basename(t,".md");return e==="_root"?"root":e}function IT(t){if(t.length===0)return null;let e=t.map(r=>r.split("/")[0]??"").filter(r=>/^[A-Za-z0-9._-]+$/.test(r));return e.length!==t.length?null:e.every(r=>r===e[0])?e[0]:null}function zu(t){let e=[],r=t.rules.find(n=>n.root);if(!r)return [];e.push({path:or,content:r.body.trim()});for(let n of t.rules){if(n.root||n.targets.length>0&&!n.targets.includes("windsurf"))continue;let o=yT(n.source),s=n.trigger||(n.globs.length>0?"glob":void 0),a={description:n.description||void 0,trigger:s,glob:n.globs.length===1?n.globs[0]:void 0,globs:n.globs.length>1?n.globs:void 0};Object.keys(a).forEach(m=>{a[m]===void 0&&delete a[m];});let l=Object.keys(a).length>0?N(a,n.body.trim()||""):n.body.trim()||"";e.push({path:`${pn}/${o}.md`,content:l});let c=IT(n.globs);c&&(c!==o&&e.push({path:`${pn}/${c}.md`,content:l}),e.push({path:`${c}/AGENTS.md`,content:n.body.trim()||""}));}return e}var fR=f(()=>{F();Pt();i(yT,"ruleSlug");i(IT,"directoryScopedRuleDir");i(zu,"generateRules");});function Vu(t){return !t.ignore||t.ignore.length===0?[]:[{path:Qo,content:t.ignore.join(`
|
|
114
|
+
`)}]}var gR=f(()=>{Pt();i(Vu,"generateIgnore");});function Ju(t){return t.commands.map(e=>{let r={description:e.description.trim()||void 0,allowedTools:e.allowedTools.length>0?e.allowedTools:void 0};Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o];});let n=Object.keys(r).length>0?N(r,e.body.trim()||""):e.body.trim();return {path:`${dn}/${e.name}.md`,content:n}})}var hR=f(()=>{F();Pt();i(Ju,"generateCommands");});function Yu(t){return t.agents.map(e=>({path:`${xe}/${Lt(e.name)}/SKILL.md`,content:ma(e)}))}var yR=f(()=>{Xt();Pt();i(Yu,"generateAgents");});function Xu(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[{path:es,content:JSON.stringify({mcpServers:t.mcp.mcpServers},null,2)}]}var IR=f(()=>{Pt();i(Xu,"generateMcp");});function ST(t){let e={PreToolUse:"pre_tool_use",PostToolUse:"post_tool_use",Notification:"notification",UserPromptSubmit:"user_prompt_submit",SubagentStart:"subagent_start",SubagentStop:"subagent_stop"};return e[t]?e[t]:t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()}function _T(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!Te(s))continue;let a=ut(s),l=Ot(s),c=s.type==="prompt"?l||a:a||l;c&&o.push({command:c,show_output:true});}o.length>0&&(e[ST(r)]=o);}return e}function Zu(t){if(!t.hooks||Object.keys(t.hooks).length===0)return [];let e=_T(t.hooks);return Object.keys(e).length===0?[]:[{path:ts,content:JSON.stringify({hooks:e},null,2)}]}var SR=f(()=>{ce();Pt();i(ST,"windsurfEventName");i(_T,"toWindsurfHooks");i(Zu,"generateHooks");});function qu(t){let e=[];for(let r of t.skills){let n={name:r.name,description:r.description||void 0};n.description===void 0&&delete n.description;let o=Object.keys(n).length>0?N(n,r.body.trim()||""):r.body.trim()||"";e.push({path:`${xe}/${r.name}/SKILL.md`,content:o});for(let s of r.supportingFiles)e.push({path:`${xe}/${r.name}/${s.relativePath}`,content:s.content});}return e}var _R=f(()=>{F();Pt();i(qu,"generateSkills");});var RR=f(()=>{fR();gR();hR();yR();IR();SR();_R();});var CR=f(()=>{RR();});function kR(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}async function wR(t,e,r){let n=join(t,dn),s=(await P(n)).filter(l=>l.endsWith(".md")),a=join(t,ju);for(let l of s){let c=await I(l);if(!c)continue;let m=relative(n,l).replace(/\\/g,"/");await k(a);let u=join(a,m),p=r(c,l,u),{frontmatter:d,body:g}=O(p),h=await Q(u,{description:typeof d.description=="string"?d.description:"",hasDescription:Object.prototype.hasOwnProperty.call(d,"description"),allowedTools:(()=>{let R=kR(d.allowedTools);return R.length>0?R:kR(d["allowed-tools"])})(),hasAllowedTools:Object.prototype.hasOwnProperty.call(d,"allowedTools")||Object.prototype.hasOwnProperty.call(d,"allowed-tools")},g);await _(u,h),e.push({fromTool:nr,fromPath:l,toPath:`${ju}/${m}`,feature:"commands"});}}var OR=f(()=>{E();F();Y();Pt();i(kR,"toStringArray");i(wR,"importWorkflows");});async function ER(t,e,r,n=xe){let o=join(t,n),s=await on(o),a={projectRoot:t,sourceSkillsDir:n,destCanonicalSkillsDir:Wu,targetName:"windsurf",normalize:r,results:e};for(let[l,c]of s){let m=join(c,"SKILL.md"),u=await I(m);if(!u)continue;let p=O(u),d=jr(p.frontmatter,l);if(d){await br(join(t,Wu,l));let g=join(t,Uu);await k(g);let h=join(g,`${d.name}.md`);await _(h,je(d,r(p.body,m,h))),e.push({fromTool:"windsurf",fromPath:m,toPath:`${Uu}/${d.name}.md`,feature:"agents"});continue}await Ze(l,c,a);}}var bR=f(()=>{E();F();Xt();gi();Uo();Pt();i(ER,"importSkills");});async function PR(t,e){let r=join(t,ts),n=await I(r);if(n)try{let o=JSON.parse(n);if(!o.hooks||typeof o.hooks!="object"||Array.isArray(o.hooks))return;let s=wT(o.hooks);if(Object.keys(s).length===0)return;let a=join(t,Ku);await k(dirname(a)),await _(a,stringify(s)),e.push({fromTool:nr,fromPath:r,toPath:Ku,feature:"hooks"});}catch{}}function kT(t){return {pre_tool_use:"PreToolUse",post_tool_use:"PostToolUse",notification:"Notification",user_prompt_submit:"UserPromptSubmit",subagent_start:"SubagentStart",subagent_stop:"SubagentStop"}[t]??t}function wT(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=kT(r),s=[];for(let a of n){if(!a||typeof a!="object")continue;let l=a;if(typeof l.command=="string"&&l.command.trim()){s.push({matcher:".*",type:"command",command:l.command});continue}let c=typeof l.matcher=="string"&&l.matcher.trim()?l.matcher:".*",m=Array.isArray(l.hooks)?l.hooks:[];for(let u of m){if(!u||typeof u!="object")continue;let p=u,d=typeof p.command=="string"?p.command:typeof p.prompt=="string"?p.prompt:"";if(!d.trim())continue;let g={matcher:c,type:p.type==="prompt"?"prompt":"command",command:d};typeof p.timeout=="number"&&(g.timeout=p.timeout),s.push(g);}}s.length>0&&(e[o]=s);}return e}async function AR(t,e){let r=[es,pR];for(let n of r){let o=join(t,n),s=await I(o);if(s)try{let a=JSON.parse(s);if(!a.mcpServers||typeof a.mcpServers!="object")continue;let l=join(t,Hu);await k(dirname(l)),await _(l,JSON.stringify({mcpServers:a.mcpServers},null,2)),e.push({fromTool:nr,fromPath:o,toPath:Hu,feature:"mcp"});return}catch{}}}var TR=f(()=>{E();Pt();i(PR,"importWindsurfHooks");i(kT,"canonicalHookEventName");i(wT,"windsurfHooksToCanonical");i(AR,"importWindsurfMcp");});async function Cl(t,e){let r=e?.scope??"project",n=[],o=await H(nr,t),s=await H("codex-cli",t),a=join(t,rs),l=join(t,Gu),c=await I(l);if(c!==null){await k(a);let d=join(a,"_root.md"),g=o(c,l,d).trim(),h=await $(d,{root:true},g);await _(d,h),n.push({fromTool:"windsurf",fromPath:l,toPath:`${rs}/_root.md`,feature:"rules"});}if(c===null){let d=join(t,or),g=await I(d);if(g!==null){await k(a);let h=join(a,"_root.md"),R=o(s(g,d,h),d,h).trim(),C=await $(h,{root:true},R);await _(h,C),n.push({fromTool:"windsurf",fromPath:d,toPath:`${rs}/_root.md`,feature:"rules"});}}r!=="global"&&n.push(...await st({srcDir:t,destDir:a,extensions:["AGENTS.md"],fromTool:"windsurf",normalize:o,mapEntry:i(async({srcPath:d,normalizeTo:g})=>{let h=relative(t,dirname(d)).replace(/\\/g,"/");if(!h||h==="."||basename(d)!=="AGENTS.md")return null;let R=h.replace(/\//g,"-");if(!va(h))return await br(join(a,`${R}.md`)),null;let C=join(a,`${R}.md`);return {destPath:C,toPath:`${rs}/${R}.md`,feature:"rules",content:await $(C,{root:false,globs:[`${h}/**`]},g(C))}},"mapEntry")}));let m=join(t,pn);n.push(...await st({srcDir:m,destDir:a,extensions:[".md"],fromTool:"windsurf",normalize:o,mapEntry:i(async({relativePath:d,normalizeTo:g})=>{if(d==="_root.md"&&c!==null)return null;let h=join(a,d),{frontmatter:R,body:C}=O(g(h)),S={...R};return typeof S.glob=="string"&&S.glob.trim()&&(S.globs=[S.glob],delete S.glob),{destPath:h,toPath:`${rs}/${d}`,feature:"rules",content:await $(h,{...S,root:false},C)}},"mapEntry")}));let u=join(t,uR),p=await I(u);if((p===null||!p.trim())&&(u=join(t,Qo),p=await I(u)),p!==null&&p.trim()){let d=p.split(/\r?\n/),g=[];for(let h of d){let R=h.trim();R&&!R.startsWith("#")&&g.push(R);}if(g.length>0){await k(join(t,".agentsmesh"));let h=join(t,Bu);await _(h,g.join(`
|
|
115
|
+
`)),n.push({fromTool:"windsurf",fromPath:u,toPath:Bu,feature:"ignore"});}}return await wR(t,n,o),await ER(t,n,o),await PR(t,n),await AR(t,n),n}var tp=f(()=>{bt();E();F();Y();$e();gi();Pt();OR();bR();TR();i(Cl,"importFromWindsurf");});function LR(t,e,r){let n=[],{rules:o}=t;o.length>0&&(o.some(l=>l.root)||n.push({level:"warning",file:relative(e,o[0].source),target:nr,message:"Windsurf needs a root rule to generate AGENTS.md. Add root: true to a rule."}));let s=[];return t.permissions&&(t.permissions.allow.length>0||t.permissions.deny.length>0)&&s.push("permissions"),s.length>0&&n.push({level:"warning",file:".agentsmesh",target:nr,message:`Windsurf cannot project these features yet: ${s.join(", ")}.`}),n}var NR=f(()=>{Pt();i(LR,"lintRules");});function DR(t){return t.commands.filter(e=>e.description.length>0||e.allowedTools.length>0).map(e=>V(e.source,"windsurf","windsurf workflow files are plain Markdown; command description and allowed-tools metadata are not projected."))}function FR(t){return !t.mcp||Object.keys(t.mcp.mcpServers).length===0?[]:[V(".agentsmesh/mcp.json","windsurf","Windsurf MCP is partial; generated .windsurf/mcp_config.example.json is a reference artifact and may require manual setup.")]}var vR=f(()=>{Wt();i(DR,"lintCommands");i(FR,"lintMcp");});function PT(t){if(t.length===0)return null;let e=t.map(r=>r.split("/")[0]??"").filter(r=>/^[A-Za-z0-9._-]+$/.test(r));return e.length!==t.length?null:e.every(r=>r===e[0])?e[0]:null}var AT,TT,LT,NT,$R,MR=f(()=>{CR();Cn();Pt();nn();tp();NR();vR();Ut();yo();Xt();i(PT,"directoryScopedRuleDir");AT={name:"windsurf",primaryRootInstructionPath:or,generateRules:zu,generateCommands:Ju,generateAgents:Yu,generateSkills:qu,generateMcp:Xu,generateHooks:Zu,generateIgnore:Vu,importFrom:Cl},TT={rootInstructionPath:or,extraRuleOutputPaths(t){if(t.root)return [or];let e=PT(t.globs);return e!==null?[`${e}/AGENTS.md`]:[]},skillDir:xe,managedOutputs:{dirs:[".windsurf/rules",".windsurf/skills",".windsurf/workflows"],files:["AGENTS.md",".codeiumignore",".windsurf/hooks.json",".windsurf/mcp_config.example.json"]},paths:{rulePath(t,e){return `${pn}/${t}.md`},commandPath(t,e){return `${dn}/${t}.md`},agentPath(t,e){return me(e,"windsurf")?`.windsurf/skills/${Lt(t)}/SKILL.md`:null}}},LT={rootInstructionPath:ns,skillDir:os,managedOutputs:{dirs:[os,Ci,dR],files:[ns,Il,Sl,_l]},rewriteGeneratedPath(t){return t===or?ns:t.startsWith(`${pn}/`)||/\/AGENTS\.md$/.test(t)?null:t.startsWith(`${xe}/`)?t.replace(`${xe}/`,`${os}/`):t.startsWith(`${dn}/`)?t.replace(`${dn}/`,`${Ci}/`):t===ts?Il:t===es?Sl:t===Qo?_l:t},mirrorGlobalPath(t,e){return xt(t,".codeium/windsurf/skills",e)},paths:{rulePath(t,e){return ns},commandPath(t,e){return `${Ci}/${t}.md`},agentPath(t,e){return me(e,"windsurf")?`${os}/${Lt(t)}/SKILL.md`:null}}},NT={rules:"native",additionalRules:"partial",commands:pe("native","workflows"),agents:"embedded",skills:"native",mcp:"partial",hooks:"native",ignore:"native",permissions:"none"},$R={id:"windsurf",generators:AT,capabilities:{rules:"native",additionalRules:"native",commands:pe("native","workflows"),agents:"embedded",skills:"native",mcp:"partial",hooks:"native",ignore:"native",permissions:"none"},emptyImportMessage:"No Windsurf config found (.windsurfrules, .windsurf/rules, .windsurfignore, or .codeiumignore).",supportsConversion:{agents:true},lintRules:LR,lint:{commands:DR,mcp:FR},project:TT,globalSupport:{capabilities:NT,detectionPaths:[ns,os,Ci,Il,Sl,_l],layout:LT},buildImportPaths:fm,detectionPaths:[".windsurfrules",".windsurf"]};});var _g={};OO(_g,{BUILTIN_TARGETS:()=>Ct,TARGET_IDS:()=>ht,getBuiltinTargetDefinition:()=>ne,getEffectiveTargetSupportLevel:()=>kl,getTargetCapabilities:()=>un,getTargetDetectionPaths:()=>rp,getTargetLayout:()=>dt,getTargetManagedOutputs:()=>np,getTargetPrimaryRootInstructionPath:()=>FT,getTargetSkillDir:()=>wi,isBuiltinTargetId:()=>Mr,resolveTargetFeatureGenerator:()=>ss,rewriteGeneratedOutputPath:()=>op});function DT(){return ep||(bf(Ct),ep=new Map(Ct.map(t=>[t.id,t]))),ep}function ne(t){return DT().get(t)}function un(t,e="project"){let r=ne(t)??Z(t);if(!r)return;let n=e==="global"?r.globalSupport?.capabilities??r.capabilities:r.capabilities;return Of(n)}function rp(t,e="project"){let r=ne(t)??Z(t);return r?e==="global"?r.globalSupport?.detectionPaths??[]:r.detectionPaths:[]}function dt(t,e="project"){let r=ne(t)??Z(t);if(r)return e==="global"?r.globalSupport?.layout:r.project}function FT(t,e="project"){return dt(t,e)?.rootInstructionPath}function wi(t,e="project"){return dt(t,e)?.skillDir}function np(t,e="project"){return dt(t,e)?.managedOutputs}function op(t,e,r="project"){let n=dt(t,r);return n?n.rewriteGeneratedPath?n.rewriteGeneratedPath(e):e:null}function GR(t,e,r,n){return !t||!r?false:e==="commands"&&t.supportsConversion?.commands?!xs(r,t.id,true,n):e==="agents"&&t.supportsConversion?.agents?!me(r,t.id,true,n):false}function kl(t,e,r,n="project"){let o=un(t,n)?.[e]?.level??"none";if(o!=="embedded")return o;let s=ne(t)??Z(t);return GR(s,e,r,n)?"none":o}function ss(t,e,r,n="project"){let o=ne(t)??Z(t);if(!o?.generators||GR(o,e,r,n))return;let s=vT[e];return s===null?void 0:s(o.generators)}var Ct,ep,vT,rt=f(()=>{yo();Cn();sr();Cc();lr();vc();hm();oy();Ky();Um();Jm();cu();Pu();Lu();Fu();Mu();MR();Ct=[la,Ea,ny,By,ja,Va,rl,ul,dl,gl,yl,$R];i(DT,"builtinTargetsMap");i(ne,"getBuiltinTargetDefinition");i(un,"getTargetCapabilities");i(rp,"getTargetDetectionPaths");i(dt,"getTargetLayout");i(FT,"getTargetPrimaryRootInstructionPath");i(wi,"getTargetSkillDir");i(np,"getTargetManagedOutputs");i(op,"rewriteGeneratedOutputPath");i(GR,"isFeatureSuppressedByConversion");i(kl,"getEffectiveTargetSupportLevel");vT={rules:i(t=>t.generateRules,"rules"),additionalRules:null,commands:i(t=>t.generateCommands,"commands"),agents:i(t=>t.generateAgents,"agents"),skills:i(t=>t.generateSkills,"skills"),mcp:i(t=>t.generateMcp,"mcp"),permissions:i(t=>t.generatePermissions,"permissions"),hooks:i(t=>t.generateHooks,"hooks"),ignore:i(t=>t.generateIgnore,"ignore")};i(ss,"resolveTargetFeatureGenerator");});function BT(t){return typeof t=="string"?t:t.level}function jR(t){return WT.includes(t)}function UR(t,e,r,n){for(let o of UT){let s=BT(e[o.feature]);if(s==="none")continue;let a=typeof t.generators[o.generator]=="function",l=jR(o.feature)&&typeof t.emitScopedSettings=="function";a||l||r.addIssue({code:"custom",path:[...n,o.feature],message:`Capability "${o.feature}" is "${s}" but generators.${o.generator}`+(jR(o.feature)?" or emitScopedSettings":"")+" is missing."});}}function wl(t){return HT.parse(t)}var Nr,WR,$T,MT,BR,GT,jT,UT,WT,KT,HT,sp=f(()=>{Nr=z$1.union([z$1.enum(["native","embedded","partial","none"]),z$1.object({level:z$1.enum(["native","embedded","partial","none"]),flavor:z$1.string().optional()})]),WR=z$1.object({rules:Nr,additionalRules:Nr,commands:Nr,agents:Nr,skills:Nr,mcp:Nr,hooks:Nr,ignore:Nr,permissions:Nr}),$T=z$1.object({name:z$1.string(),generateRules:z$1.function(),importFrom:z$1.function(),generateCommands:z$1.function().optional(),generateAgents:z$1.function().optional(),generateSkills:z$1.function().optional(),generateMcp:z$1.function().optional(),generatePermissions:z$1.function().optional(),generateHooks:z$1.function().optional(),generateIgnore:z$1.function().optional(),lint:z$1.function().optional()}).passthrough(),MT=z$1.object({rulePath:z$1.function(),commandPath:z$1.function(),agentPath:z$1.function()}),BR=z$1.object({paths:MT}).passthrough(),GT=z$1.object({capabilities:WR,detectionPaths:z$1.array(z$1.string()),layout:BR,scopeExtras:z$1.function().optional()}).passthrough(),jT=["global","globalCapabilities","globalDetectionPaths","generateScopeExtras"],UT=[{feature:"commands",generator:"generateCommands"},{feature:"agents",generator:"generateAgents"},{feature:"skills",generator:"generateSkills"},{feature:"mcp",generator:"generateMcp"},{feature:"hooks",generator:"generateHooks"},{feature:"ignore",generator:"generateIgnore"},{feature:"permissions",generator:"generatePermissions"}],WT=["mcp","hooks","ignore","permissions"];i(BT,"capabilityLevel");i(jR,"canUseScopedSettings");i(UR,"validateCapabilityImplementations");KT=z$1.object({id:z$1.string().regex(/^[a-z][a-z0-9-]*$/,"Target id must be lowercase with hyphens"),generators:$T,capabilities:WR,emptyImportMessage:z$1.string(),lintRules:z$1.union([z$1.function(),z$1.null()]),project:BR,globalSupport:GT.optional(),buildImportPaths:z$1.function(),detectionPaths:z$1.array(z$1.string())}).passthrough(),HT=KT.superRefine((t,e)=>{for(let r of jT)r in t&&e.addIssue({code:"custom",path:[r],message:`Use globalSupport instead of legacy field "${r}".`});UR(t,t.capabilities,e,["capabilities"]),t.globalSupport!==void 0&&UR(t,t.globalSupport.capabilities,e,["globalSupport","capabilities"]);});i(wl,"validateDescriptor");});function zT(){return ip||(ip=new Map(Ct.map(t=>[t.id,t]))),ip}function HR(t){let e=wl(t);KR.set(e.id,e);}function Z(t){return KR.get(t)??zT().get(t)}var KR,ip,sr=f(()=>{rt();sp();KR=new Map;i(zT,"builtinDescriptors");i(HR,"registerTargetDescriptor");i(Z,"getDescriptor");});async function zR(t,e,r="project"){let n=new Map,o=Z(t);return o&&await o.buildImportPaths(n,e,r),n}var VR=f(()=>{sr();i(zR,"buildImportReferenceMap");});function J(t){return t.includes("\\")||Pe.test(t)?win32:posix}function X(t){return t.replace(/\\/g,"/")}function j(t,e){let r=J(t),n=r.normalize(r===win32?e.replace(/\//g,"\\"):X(e));return n.endsWith(r.sep)&&n.length>1?n.slice(0,-1):n}function YR(t,e){return J(t).isAbsolute(e)||Pe.test(e)}function is(t){let e=t,r="";for(;JT.test(e);)r=e.at(-1)+r,e=e.slice(0,-1);return {candidate:e,suffix:r}}function XR(t,e){let r=J(e),n=t.replace(/^(\.\.\/)+/,"").replace(/^\.\//,"");return n&&n!==t?j(e,r.join(e,n)):null}var Pe,JT,Nt=f(()=>{Pe=/^[A-Za-z]:[\\/]/,JT=/[.!?:;]+$/;i(J,"pathApi");i(X,"normalizeSeparators");i(j,"normalizeForProject");i(YR,"isAbsoluteForProject");i(is,"stripTrailingPunctuation");i(XR,"rootFallbackPath");});function ZT(t){let e=[t.project,t.globalSupport?.layout].filter(o=>o!==void 0),r=[...t.detectionPaths,...e.flatMap(o=>o.managedOutputs?.dirs??[]),...e.flatMap(o=>o.managedOutputs?.files??[])],n=new Set;for(let o of r){let s=o.split("/")[0];s&&s.startsWith(".")&&s.length>1&&n.add(`${s}/`);}return n}function qT(){let t=new Set([".agentsmesh/"]);for(let e of Ct)for(let r of ZT(e))t.add(r);return Array.from(t)}function QT(){let t=new Set([...qT(),...ap.rootRelativePrefixes]),e=new Set([...XT,...ap.meshRootSegments]);return {protectedSchemes:[...YT,...ap.protectedSchemes],rootRelativePrefixes:Array.from(t),meshRootSegments:e}}function Ol(){return lp||(lp=QT()),lp}var YT,XT,ap,lp,ZR=f(()=>{rt();YT=[/\b[A-Za-z][A-Za-z0-9+.-]+:[^\s<>()\]]+/g,/\b[\w.-]+@[\w.-]+:[^\s<>()\]]+/g,/\b[\w.+-]+@[\w.-]+\.[A-Za-z]{2,}\b/g,/\/\/[A-Za-z0-9][\w.-]*\.[A-Za-z]{2,}[^\s<>()\]]*/g],XT=new Set(["skills","rules","commands","agents","packs"]),ap={protectedSchemes:[],rootRelativePrefixes:[],meshRootSegments:[]};i(ZT,"topLevelDotfilePrefixes");i(qT,"buildDefaultRootRelativePrefixes");i(QT,"rebuild");i(Ol,"getLinkFormatRegistry");});function Ae(t){let e=X(t);return Ol().rootRelativePrefixes.some(r=>e.startsWith(r))}function rL(t){let e=X(t).replace(/^\.\//,"");if(e.startsWith("../")||e.startsWith("/")||Pe.test(e)||/^[a-zA-Z]:/.test(e)||Ae(e))return false;let r=e.split("/").filter(n=>n.length>0)[0];return r!==void 0&&Ol().meshRootSegments.has(r)}function Oi(t,e,r){let n=J(e),o=j(e,e),s=j(e,r),a=X(t);if(Pe.test(t)){let l=j(e,t);return n===win32||l.startsWith(`${o}${n.sep}`)?[l]:[l]}if(isAbsolute(t)){let l=j(e,t);return l.startsWith(o)||existsSync(t)?[l]:[j(e,n.join(e,t))]}if(a.startsWith("./")||a.startsWith("../")){let l=j(e,n.join(n.dirname(s),a)),c=XR(a,o);return c&&c!==l?[l,c]:[l]}if(Ae(a))return [j(e,n.join(o,a))];if(a.includes("/")){let l=j(e,n.join(o,".agentsmesh")),c=rL(a)?j(e,n.join(l,a)):null,m=j(e,n.join(o,a)),u=j(e,n.join(n.dirname(s),a));return c!==null?[c,m,u]:[m,u]}return nL.has(a)?[]:a.includes(".")?[j(e,n.join(n.dirname(s),a))]:[]}function Ei(t,e){let r=[e];if(!YR(t,e)||!existsSync(e))return r;try{let n=[realpathSync(e),realpathSync.native(e)];for(let o of n)o!==e&&!r.includes(o)&&r.push(o);}catch{}return r}function eC(t,e,r){let n=e>0?t.at(e-1):"",o=r<t.length?t.at(r):"";return n==="*"||o==="*"}function El(t){let e=[];for(let r of Ol().protectedSchemes){let n=r.flags.includes("g")?r:new RegExp(r.source,`${r.flags}g`);for(let o of t.matchAll(n))e.push([o.index??0,(o.index??0)+o[0].length]);}for(let r of t.matchAll(oL))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(sL))e.push([r.index??0,(r.index??0)+r[0].length]);for(let r of t.matchAll(iL))e.push([r.index??0,(r.index??0)+r[0].length]);return e}var nL,oL,sL,iL,tC,as,fn=f(()=>{Nt();ZR();i(Ae,"isRootRelativePathToken");i(rL,"isMeshRootRelativePathToken");nL=new Set(["AGENTS.md","CLAUDE.md","GEMINI.md","codex.md",".windsurfrules",".cursorrules"]),oL=/^(?:```|~~~)[^\n]*\n[\s\S]*?^(?:```|~~~)/gm,sL=/<!-- agentsmesh:root-generation-contract:start -->[\s\S]*?<!-- agentsmesh:root-generation-contract:end -->/g,iL=/<!-- agentsmesh:embedded-rules:start -->[\s\S]*?<!-- agentsmesh:embedded-rules:end -->/g,tC=/(?:\.\.[\\/]|\.\/|\.\\|\/[A-Za-z0-9._-]|[A-Za-z]:[\\/][A-Za-z0-9._-]|\.agentsmesh[\\/]|\.claude[\\/]|\.cursor[\\/]|\.github[\\/]|\.continue[\\/]|\.junie[\\/]|\.kiro[\\/]|\.gemini[\\/]|\.clinerules[\\/]|\.cline[\\/]|\.codex[\\/]|\.agents[\\/]|\.windsurf[\\/]|\.roo[\\/]|(?:[A-Za-z0-9._-]+[\\/])+|[A-Za-z0-9._-]+\.[A-Za-z0-9._-]+)[A-Za-z0-9._@%+~:\\/-]*/g,as=/(?::(\d+)){1,2}$/;i(Oi,"resolveProjectPath");i(Ei,"expandResolvedPaths");i(eC,"isGlobAdjacent");i(El,"protectedRanges");});function lL(t){return t===void 0||t.role==="inline-code"||t.role==="bracketed"||t.role==="quoted"||t.role==="at-prefix"||t.role==="bracket-label"||t.role==="bare-prose"}function cp(t,e){let r=J(t),n=j(t,t),o=j(t,e);if(o===n)return true;let s=n.endsWith(r.sep)?n:`${n}${r.sep}`;return o.startsWith(s)}function rC(t){let e=J(t);return j(t,e.join(t,".agentsmesh"))}function Dr(t,e){let r=J(t),n=rC(t),o=j(t,e);if(o===n)return true;let s=n.endsWith(r.sep)?n:`${n}${r.sep}`;return o.startsWith(s)}function nC(t,e,r){let n=J(t),o=rC(t),s=j(t,e);if(!Dr(t,s))return null;let a=n.relative(o,s).replace(/\\/g,"/");return a.startsWith("..")||a.length===0?null:r&&!a.endsWith("/")?`${a}/`:a}function mp(t,e,r){let o=J(t).relative(j(t,t),j(t,e)).replace(/\\/g,"/");if(o.startsWith(".."))return null;let s=o.length>0?o:".";return r&&!s.endsWith("/")?`${s}/`:s}function oC(t,e,r){return !lL(r.tokenContext)||r.originalToken===void 0?false:X(r.originalToken).startsWith(".agentsmesh/")}function ls(t,e,r){let n=mp(t,e,r);return n===null?null:{kind:"projectRoot",rest:n,text:n}}function up(t,e,r,n,o){let s=J(t),a=j(t,t),l=j(t,e),c=j(t,r);if(!cp(t,c))return ls(t,c,n)?.text??null;let m=j(t,dirname(l));if(!cp(t,m)&&m!==a)return ls(t,c,n)?.text??null;let u=s.relative(m,c).replace(/\\/g,"/");if(s.isAbsolute(u)||Pe.test(u))return mp(t,c,n);let p=j(t,s.join(m,u));return cp(t,p)?(u===""||u==="."?u=".":o.explicitCurrentDirLinks===true&&m!==a&&!u.startsWith("../")&&!u.startsWith("./")&&(u=`./${u}`),n&&!u.endsWith("/")?`${u}/`:u):mp(t,c,n)}var pp=f(()=>{Nt();i(lL,"isReadingContext");i(cp,"isUnderProjectRoot");i(rC,"agentsMeshRoot");i(Dr,"isUnderAgentsMesh");i(nC,"toAgentsMeshRootRelative");i(mp,"toProjectRootRelative");i(oC,"shouldPreserveAgentsMeshAnchor");i(ls,"toProjectRootReference");i(up,"formatLinkPathForDestinationLegacy");});function sC(t,e,r,n,o={}){let s=o.scope??"project",a=j(t,r);if(oC(t,e,o))return X(o.originalToken??"");if(o.forceRelative)return up(t,e,r,n,o);if(s==="global"&&!Dr(t,e))return ls(t,a,n)?.text??null;let l=(()=>{if(Dr(t,a))return a;let m=o.logicalMeshSourceAbsolute;return m&&Dr(t,j(t,m))?j(t,m):null})();if(!l)return ls(t,a,n)?.text??null;if(n||(o.pathIsDirectory?.(a)??false)){let m=nC(t,l,n);return m!==null?m:ls(t,l,n)?.text??null}return up(t,e,r,n,o)}var iC=f(()=>{fn();Nt();pp();pp();i(sC,"formatLinkPathForDestination");});function aC(t,e,r,n){let o=J(e),s=X(t);if(!Ae(s))return null;let a=s.split("/").filter(m=>m.length>0);if(a.length<3)return null;let l=j(e,r),c=o.dirname(l);for(let m=1;m<=a.length-1;m++){let u=a.slice(m).join("/"),p=j(e,o.join(c,u));if(p!==l&&n(p))return p}return null}var lC=f(()=>{Nt();fn();i(aC,"resolveByDestinationSuffixStrip");});function cC(t){let e=null,r=false,n=null,o=null,s=null;for(let c of Oi(t.candidate,t.projectRoot,t.sourceFile)){let m=null,u=null;for(let p of Ei(t.projectRoot,c)){let d=j(t.projectRoot,p),g=j(t.projectRoot,t.translatePath(d)),h=t.pathExists(d),R=t.pathExists(g);if(R&&g!==d){e=g,n=d,r=true;break}(h||R)&&m===null&&(m=g,u=d),e===null&&(e=g);}if(!r&&m!==null&&o===null&&(o=m,s=u),r)break}if(!r){let c=aC(t.candidate,t.projectRoot,t.destinationFile,t.pathExists);c!==null&&(e=c,r=true);}!r&&o!==null&&(e=o,s!==null&&(n=s),r=true);let a=X(t.destinationFile),l=a.includes("/.agentsmesh/")||a.startsWith(".agentsmesh/");return !r&&e!==null&&X(t.rawToken).startsWith(".agentsmesh/")&&l&&(r=true),{translatedPath:e,resolvedBeforeTranslate:n,matchedPath:r}}var mC=f(()=>{Nt();fn();lC();i(cC,"resolveLinkTarget");});function uC(t,e,r){return e>=2&&t[e-2]==="~"&&t[e-1]==="/"?true:e>=1&&t[e-1]==="~"&&r.startsWith("/")}function pC(t,e,r){if(e<=0||t[e-1]!=="(")return false;let n=e+r.length,o=t[n];return o!==")"&&o!=="#"&&o!=="?"&&o!==" "&&o!==" "?false:t[e-2]==="]"}function dC(t){let e=X(t);return e.startsWith("./")||e.startsWith("../")?true:e.startsWith("/")||Pe.test(e)||Ae(e)?false:e.includes("/")}var fC=f(()=>{Nt();fn();i(uC,"isTildeHomeRelativePathToken");i(pC,"isMarkdownLinkDestinationToken");i(dC,"isRelativePathToken");});function cL(t,e,r){let n=e+r.length;if(t[n]!=="]"||t[n+1]!=="(")return false;let o=n+2,s="";for(;o<t.length;){let a=t[o];if(a===")"||a==="#"||a==="?"||a===" "||a===" "||a===`
|
|
116
|
+
`)break;s+=a,o++;}return s===r}function gC(t,e,r){let n=t.lastIndexOf(`
|
|
117
117
|
`,e-1)+1,o=t.slice(n,e);if(!/^\s*\[[^\]\n]+\]:\s*<?\s*$/.test(o))return false;let s=r<t.length?t[r]:"";return s===""||s===`
|
|
118
|
-
`||s==="\r"||s===">"||s===" "||s===" "||s==='"'||s==="'"||s===":"||s==="#"||s==="?"}function
|
|
119
|
-
`);},warn(t){process.stderr.write(
|
|
120
|
-
`);},error(t){process.stderr.write(
|
|
121
|
-
`);},success(t){process.stdout.write(
|
|
122
|
-
`);},debug(t){process.env.AGENTSMESH_DEBUG==="1"&&process.stdout.write(
|
|
118
|
+
`||s==="\r"||s===">"||s===" "||s===" "||s==='"'||s==="'"||s===":"||s==="#"||s==="?"}function hC(t,e,r){let n=e>0?t[e-1]:"",o=r<t.length?t[r]:"";return n==="`"&&o==="`"?{role:"inline-code"}:gC(t,e,r)?{role:"markdown-link-dest"}:n==="<"&&o===">"?{role:"bracketed"}:n==="'"&&o==="'"||n==='"'&&o==='"'?{role:"quoted"}:n==="@"?{role:"at-prefix"}:n==="("&&t[e-2]==="]"?{role:"markdown-link-dest"}:n==="["&&o==="]"?{role:"bracket-label"}:{role:"bare-prose"}}function yC(t,e,r,n,o){if(e<0||r>t.length)return false;let{candidate:s}=is(n),a=s.replace(as,""),l=X(a),c=e+a.length,m=t[e-1],u=t[r];return gC(t,e,c)||m==="'"&&u==="'"||m==='"'&&u==='"'||m==="`"&&u==="`"||m==="<"&&u===">"?true:m==="["&&u==="]"?!(!o&&!Ae(l)&&cL(t,e,n)):m==="@"?true:m==="("?u===")"||u==="#"||u==="?"||u===" "||u===" ":o?Ae(l)?true:l.includes("/")||l.includes("\\")?l.startsWith("./")||l.startsWith("../")?true:(l.split(/[\\/]/).filter(Boolean).at(-1)??"").includes("."):false:false}var IC=f(()=>{Nt();fn();i(cL,"markdownBracketLabelDuplicatesDestination");i(gC,"isMarkdownReferenceDefinitionDestination");i(hC,"getTokenContext");i(yC,"shouldRewritePathToken");});function bl(t){let e=new Set,r=El(t.content);return {content:t.content.replace(tC,(o,s,a)=>{if(r.some(([ft,vt])=>s>=ft&&s<vt)||!yC(a,s,s+o.length,o,t.rewriteBarePathTokens===true)||uC(a,s,o)||eC(a,s,s+o.length))return o;let{candidate:l,suffix:c}=is(o);if(!l)return o;let m=as.exec(l),u=m?l.slice(0,m.index):l,p=m?m[0]:"";if(!u)return o;let d=hC(a,s,s+u.length);if(d.role!=="markdown-link-dest"&&Pe.test(u))return o;let{translatedPath:g,resolvedBeforeTranslate:h,matchedPath:R}=cC({candidate:u,rawToken:l,projectRoot:t.projectRoot,sourceFile:t.sourceFile,destinationFile:t.destinationFile,translatePath:t.translatePath,pathExists:t.pathExists}),C=h;if(!R||!g)return g&&e.add(g),o;let S=X(u),w=u.endsWith("/")||t.pathIsDirectory?.(g)===true;if(w&&!S.includes("/")&&!S.includes("\\"))return o;if(C===null){let ft=X(l);if(ft.startsWith("agentsmesh/")&&(ft=`.${ft}`),ft.startsWith(".agentsmesh/")||ft.includes("/.agentsmesh/")){let vt=J(t.projectRoot),Vi=j(t.projectRoot,t.projectRoot),Vt=ft.replace(/^\.\//,"");C=j(t.projectRoot,vt.join(Vi,Vt));}}let D=J(t.projectRoot);if(t.scope==="global"){let ft=X(l),vt=ft.startsWith(".agentsmesh/")||ft.includes("/.agentsmesh/"),Vi=Ae(ft)||dC(ft),Vt=C!==null&&Dr(t.projectRoot,C),kd=Dr(t.projectRoot,g);if(C===g&&!kd&&!Vt&&!vt){let wd=X(D.relative(t.projectRoot,j(t.projectRoot,t.sourceFile))).split("/").filter(Boolean)[0]??"",wO=(C!==null?X(D.relative(t.projectRoot,C)):"").split("/").filter(Boolean)[0]??"";if(wd.length>0&&wd===wO)return o}if(!Vi&&!vt&&!Vt&&!kd)return o}let b=j(t.projectRoot,t.destinationFile),x=j(t.projectRoot,g),K=X(D.relative(t.projectRoot,b)),M=X(D.relative(t.projectRoot,x)),W=K.split("/").filter(Boolean)[0]??"",q=M.split("/").filter(Boolean)[0]??"",Ft=!X(u).startsWith(".agentsmesh/")&&!w&&W.length>0&&W===q&&W.startsWith(".")&&W!==".agentsmesh"||d.role==="markdown-link-dest"||pC(a,s,u),it=sC(t.projectRoot,t.destinationFile,g,u.endsWith("/"),{explicitCurrentDirLinks:t.explicitCurrentDirLinks===true||Ft,scope:t.scope??"project",pathIsDirectory:t.pathIsDirectory,logicalMeshSourceAbsolute:w?null:C,forceRelative:Ft,tokenContext:d,originalToken:u});return it?`${it}${p}${c}`:o}),missing:[...e]}}var dp=f(()=>{Nt();fn();iC();mC();fC();IC();i(bl,"rewriteFileLinks");});function _C(t){let e=[normalize(t)];if(!existsSync(t))return e;try{let r=[realpathSync(t),realpathSync.native(t)];for(let n of r){let o=normalize(n);e.includes(o)||e.push(o);}}catch{}return e}async function H(t,e,r="project"){let n=new Map,o=Array.from(new Set([t,...ht]));for(let l of o){let c=await zR(l,e,r);for(let[m,u]of c.entries())n.set(m,u);}let s=new Map;for(let[l,c]of n.entries()){let m=normalize(join(e,c));for(let u of _C(join(e,l)))s.set(u,m);}let a=new Set;for(let l of new Set(n.values())){let c=normalize(join(e,l));a.add(c);for(let m of _C(c))a.add(normalize(m));}return (l,c,m)=>bl({content:l,projectRoot:e,sourceFile:c,destinationFile:m,translatePath:i(u=>s.get(u)??u,"translatePath"),pathExists:i(u=>{let p=normalize(u);return s.has(u)||s.has(p)||existsSync(u)||a.has(p)},"pathExists"),explicitCurrentDirLinks:false,rewriteBarePathTokens:true,scope:r,pathIsDirectory:i(u=>{try{return statSync(u).isDirectory()}catch{return false}},"pathIsDirectory")}).content}var bt=f(()=>{VR();dp();lr();i(_C,"pathVariants");i(H,"createImportReferenceNormalizer");});function CC(t){let e={};for(let[r,n]of Object.entries(t)){if(!Array.isArray(n))continue;let o=[];for(let s of n){if(!s||typeof s!="object")continue;let a=s,l=typeof a.matcher=="string"?a.matcher:"";if(!l)continue;let c=Array.isArray(a.hooks)?a.hooks:[];for(let m of c){let u=m.type==="prompt"?"prompt":"command";if(!Te({...m,type:u}))continue;let p=u==="prompt"?Ot(m)||ut(m):ut(m)||Ot(m),d={matcher:l,type:u,command:p};typeof m.timeout=="number"&&(d.timeout=m.timeout),o.push(d);}}o.length>0&&(e[r]=o);}return e}async function kC(t,e){let r=join(t,gr),n=await I(r);if(n===null)return false;let o;try{o=JSON.parse(n);}catch{return false}if(!o||typeof o!="object"||Array.isArray(o))return false;let s=CC(o);if(Object.keys(s).length===0)return false;let a=stringify(s),l=join(t,bn);return await k(dirname(l)),await _(l,a),e.push({fromTool:"claude-code",fromPath:r,toPath:bn,feature:"hooks"}),true}async function wC(t,e){let r=e.some(m=>m.feature==="hooks"&&m.fromPath.replace(/\\/g,"/").endsWith(gr)),n=join(t,Bs),o=await I(n);if(!o)return;let s;try{s=JSON.parse(o);}catch{return}if(!e.some(m=>m.feature==="mcp")&&s.mcpServers&&typeof s.mcpServers=="object"){let m=JSON.stringify({mcpServers:s.mcpServers},null,2),u=join(t,Vs);await k(dirname(u)),await _(u,m),e.push({fromTool:"claude-code",fromPath:n,toPath:Vs,feature:"mcp"});}let l=s.permissions;if(l&&typeof l=="object"&&!Array.isArray(l)){let m=l,u=Array.isArray(m.allow)?m.allow.filter(g=>typeof g=="string"):[],p=Array.isArray(m.deny)?m.deny.filter(g=>typeof g=="string"):[],d=Array.isArray(m.ask)?m.ask.filter(g=>typeof g=="string"):[];if(u.length>0||p.length>0||d.length>0){let g=stringify({allow:u,deny:p,ask:d}),h=join(t,Bc);await k(dirname(h)),await _(h,g),e.push({fromTool:"claude-code",fromPath:n,toPath:Bc,feature:"permissions"});}}let c=s.hooks;if(!r&&c&&typeof c=="object"&&!Array.isArray(c)){let m=CC(c);if(Object.keys(m).length>0){let u=stringify(m),p=join(t,bn);await k(dirname(p)),await _(p,u),e.push({fromTool:"claude-code",fromPath:n,toPath:bn,feature:"hooks"});}}}var OC=f(()=>{ce();E();hr();i(CC,"claudeHooksToCanonical");i(kC,"importClaudeHooksJson");i(wC,"importSettings");});async function bC(t,e,r){let n=join(t,Ws),o=join(t,Wc),a=(await P(n)).filter(l=>l.endsWith("SKILL.md"));for(let l of a){let c=dirname(l),m=basename(c),u=join(o,m),p=await P(c);for(let d of p){let g=await I(d);if(g===null)continue;let h=relative(c,d),R=join(u,h);await k(dirname(R));let C=r(g,d,R),S=h==="SKILL.md"?O(C):null;await _(R,h==="SKILL.md"?await Le(R,S?.frontmatter??{},S?.body??""):C);let w=`${Wc}/${m}/${h}`;e.push({fromTool:"claude-code",fromPath:d,toPath:w,feature:"skills"});}}}var xC=f(()=>{E();F();Y();hr();i(bC,"importClaudeSkills");});async function ba(t,e={}){let r=e.scope??"project",n=[],o=await H("claude-code",t,r);return n.push(...await gt(Ea,t,r,{normalize:o})),await bC(t,n,o),await kC(t,n),await wC(t,n),n}var ym=f(()=>{bt();Me();OC();xC();hm();i(ba,"importFromClaudeCode");});function Ed(t){let e=Object.keys(t);return {async route(r,n,o){let s=t[r];if(s){await s(n,o);return}throw new Error(`Unknown command "${r}". Available: ${e.join(", ")}`)},commands:i(()=>[...e],"commands")}}i(Ed,"createRouter");var lo={green:"\x1B[32m",red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",reset:"\x1B[0m"};function EO(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}i(EO,"noColor");function _s(t,e){return EO()?e:`${t}${e}${lo.reset}`}i(_s,"c");function bO(t,e){let r=[...t].length;return t+" ".repeat(Math.max(0,e-r))}i(bO,"pad");var y={info(t){process.stdout.write(_s(lo.cyan,t)+`
|
|
119
|
+
`);},warn(t){process.stderr.write(_s(lo.yellow,"\u26A0 ")+t+`
|
|
120
|
+
`);},error(t){process.stderr.write(_s(lo.red,"\u2717 ")+t+`
|
|
121
|
+
`);},success(t){process.stdout.write(_s(lo.green,"\u2713 ")+t+`
|
|
122
|
+
`);},debug(t){process.env.AGENTSMESH_DEBUG==="1"&&process.stdout.write(_s(lo.cyan,"[debug] ")+t+`
|
|
123
123
|
`);},table(t){if(t.length===0)return;let e=t[0].length,r=[];for(let o=0;o<e;o++){let s=0;for(let a=0;a<t.length;a++){let l=[...t[a][o]].length;l>s&&(s=l);}r[o]=s;}let n="+"+r.map(o=>"-".repeat(o+2)).join("+")+"+";process.stdout.write(n+`
|
|
124
|
-
`);for(let o=0;o<t.length;o++){let a="| "+t[o].map((l,c)=>
|
|
124
|
+
`);for(let o=0;o<t.length;o++){let a="| "+t[o].map((l,c)=>bO(l,r[c])).join(" | ")+" |";process.stdout.write(a+`
|
|
125
125
|
`);}process.stdout.write(n+`
|
|
126
|
-
`);}};var
|
|
127
|
-
`)}i(
|
|
126
|
+
`);}};var bd=[{name:"--help",description:"Show this help output and exit"},{name:"--version",description:"Print CLI version and exit"},{name:"--verbose",description:"Show full error details on failure"}],xd=[{name:"init",usage:"agentsmesh init [flags]",description:"Create agentsmesh.yaml, agentsmesh.local.yaml, and canonical .agentsmesh scaffold",flags:[{name:"--global",description:"Initialize canonical home config under ~/.agentsmesh/ (global targets include claude-code, antigravity, codex-cli, cursor, gemini-cli)"},{name:"--yes",description:"Auto-import detected tool configs, then add example scaffold only under empty canonical paths"}]},{name:"generate",usage:"agentsmesh generate [flags]",description:"Generate target files from canonical sources",flags:[{name:"--global",description:"Generate user-level config from ~/.agentsmesh/ (e.g. claude-code, antigravity, codex-cli, gemini-cli; Cursor writes ~/.cursor/rules, ~/.cursor/AGENTS.md, hooks, ignore, MCP, skills, agents, commands; legacy ~/.agentsmesh-exports/cursor/user-rules.md is import-only)"},{name:"--targets <csv>",description:"Limit generation to target IDs (comma-separated)"},{name:"--check",description:"Check drift only; exit non-zero when out of sync"},{name:"--dry-run",description:"Preview file changes without writing outputs"},{name:"--force",description:"Bypass lock-strategy blocked feature violations"},{name:"--refresh-cache",description:"Refresh remote extends cache before loading"},{name:"--no-cache",description:"Alias for --refresh-cache"}]},{name:"import",usage:"agentsmesh import --from <target> [flags]",description:"Import existing tool config into canonical .agentsmesh files",flags:[{name:"--from <target>",description:"Source tool ID to import from (required)"},{name:"--global",description:"Import from user-level paths into ~/.agentsmesh/ (claude-code, antigravity, codex-cli, gemini-cli; cursor reads ~/.cursor/{rules,AGENTS.md,mcp.json,hooks.json,cursorignore,skills,agents,commands} and legacy ~/.agentsmesh-exports/cursor/user-rules.md)"}]},{name:"install",usage:"agentsmesh install <source> [flags]",description:"Install canonical resources from local/remote sources",flags:[{name:"<source>",description:"GitHub/GitLab/tree/blob URL, git+ URL, SSH, or local path"},{name:"--sync",description:"Reinstall missing packs recorded in .agentsmesh/installs.yaml"},{name:"--path <dir>",description:"Subdirectory inside source repo when not embedded in URL"},{name:"--target <id>",description:"Native format used for import-at-root discovery (same as extends.target)"},{name:"--as <kind>",description:"Manual collection mode: rules, commands, agents, or skills"},{name:"--name <id>",description:"Override generated install entry/pack name"},{name:"--extends",description:"Write install as extends entry instead of materialized pack"},{name:"--dry-run",description:"Preview only (no YAML write, no pack write, no generate)"},{name:"--global",description:"Install into ~/.agentsmesh/ and regenerate user-level config"},{name:"--force",description:"Non-interactive mode; include invalid resources and skip selection prompts"}]},{name:"diff",usage:"agentsmesh diff [flags]",description:"Show patch-style output for what generate would change",flags:[{name:"--global",description:"Diff against outputs generated from ~/.agentsmesh/"},{name:"--targets <csv>",description:"Limit diff to target IDs (comma-separated)"}]},{name:"lint",usage:"agentsmesh lint [flags]",description:"Validate canonical files against target constraints",flags:[{name:"--global",description:"Lint canonical home config under ~/.agentsmesh/"},{name:"--targets <csv>",description:"Limit linting to target IDs (comma-separated)"}]},{name:"watch",usage:"agentsmesh watch [flags]",description:"Watch canonical files and regenerate on change",flags:[{name:"--global",description:"Watch ~/.agentsmesh/ and regenerate user-level config"},{name:"--targets <csv>",description:"Limit watched generate/matrix output to target IDs"}]},{name:"check",usage:"agentsmesh check",description:"Verify canonical files still match .agentsmesh/.lock",flags:[{name:"--global",description:"Check ~/.agentsmesh/.lock"}]},{name:"merge",usage:"agentsmesh merge",description:"Resolve .agentsmesh/.lock merge conflicts from current canonical state",flags:[{name:"--global",description:"Resolve ~/.agentsmesh/.lock conflicts"}]},{name:"matrix",usage:"agentsmesh matrix [flags]",description:"Print compatibility matrix for enabled features and targets",flags:[{name:"--global",description:"Show matrix for canonical home config under ~/.agentsmesh/"},{name:"--targets <csv>",description:"Limit matrix columns to target IDs"},{name:"--verbose",description:"Include expanded feature details in matrix output"}]},{name:"target",usage:"agentsmesh target scaffold <id> [--name <displayName>] [--force]",description:"Generate a new target skeleton (files, tests, fixture) under src/targets/<id>/.",flags:[{name:"--name <displayName>",description:"Human-readable name (defaults to id)"},{name:"--force",description:"Overwrite existing files"}]},{name:"plugin",usage:"agentsmesh plugin <add|list|remove|info> [args] [flags]",description:"Manage plugin-provided targets (npm packages exporting a TargetDescriptor).",flags:[{name:"--version <v>",description:"Pin plugin version (add)"},{name:"--id <id>",description:"Override derived plugin id (add)"}]}];function Pd(t,e=18){return t.length===0?" (no command-specific flags)":t.map(r=>` ${r.name.padEnd(e)}${r.description}`).join(`
|
|
127
|
+
`)}i(Pd,"formatFlags");function Ad(){let t=xd.map(e=>`- ${e.name.padEnd(8)} ${e.description}
|
|
128
128
|
Usage: ${e.usage}
|
|
129
|
-
${
|
|
129
|
+
${Pd(e.flags)}`).join(`
|
|
130
130
|
|
|
131
|
-
`);
|
|
131
|
+
`);y.info(`agentsmesh <command> [flags]
|
|
132
132
|
|
|
133
133
|
Global flags:
|
|
134
|
-
${bd
|
|
134
|
+
${Pd(bd)}
|
|
135
135
|
|
|
136
136
|
Commands:
|
|
137
137
|
${t}
|
|
138
138
|
|
|
139
|
-
Tip: run "agentsmesh <command> --help" for this same command reference.`);}i(
|
|
140
|
-
`);}i(
|
|
141
|
-
`):I.error(t.message),process.exit(1);}i(Ld,"handleError");b();Cs();ar();var Gd=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],Jt=z$1.enum(ht),mo=z$1.enum(Gd),Os=z$1.object({skills:z$1.array(z$1.string()).optional(),commands:z$1.array(z$1.string()).optional(),rules:z$1.array(z$1.string()).optional(),agents:z$1.array(z$1.string()).optional()}).strict(),JO=z$1.object({name:z$1.string(),source:z$1.string(),version:z$1.string().optional(),target:Jt.optional(),features:z$1.array(mo),path:z$1.string().optional(),pick:Os.optional()}),YO=z$1.object({strategy:z$1.enum(["merge","lock","last-wins"]).default("merge"),lock_features:z$1.array(z$1.string()).default([])}),ws=z$1.union([z$1.boolean(),z$1.object({project:z$1.boolean().optional(),global:z$1.boolean().optional()}).strict()]),XO=z$1.object({commands_to_skills:z$1.object({"codex-cli":ws.optional()}).passthrough().optional(),agents_to_skills:z$1.object({"gemini-cli":ws.optional(),cline:ws.optional(),"codex-cli":ws.optional(),windsurf:ws.optional()}).passthrough().optional()}).strict().optional(),ZO=z$1.object({id:z$1.string().regex(/^[a-z][a-z0-9-]*$/),source:z$1.string(),version:z$1.string().optional()}).strict(),sc=z$1.object({version:z$1.literal(1),targets:z$1.array(Jt).default([...ht]),features:z$1.array(mo).default([...Gd]),extends:z$1.array(JO).default([]),overrides:z$1.record(z$1.string(),z$1.record(z$1.string(),z$1.unknown())).default({}),collaboration:YO.default({strategy:"merge",lock_features:[]}),conversions:XO,plugins:z$1.array(ZO).default([]),pluginTargets:z$1.array(z$1.string().regex(/^[a-z][a-z0-9-]*$/)).default([])});var ac="agentsmesh.yaml",QO="agentsmesh.local.yaml";async function tE(t){let e=resolve(t);for(;;){let r=join(e,ac);if(await L(r))return r;let n=dirname(e);if(n===e)return null;e=n;}}i(tE,"findConfigPath");async function eE(t){let e=await S(t);if(e===null)throw new $r(t);let r=parse(e),n=sc.safeParse(r);if(!n.success){let o=n.error.issues.map(s=>s.message);throw new Ji(t,o,{cause:n.error})}return n.data}i(eE,"loadConfig");function ic(t,e){let r={...t};for(let[n,o]of Object.entries(e)){if(o==null)continue;let s=r[n];typeof o=="object"&&!Array.isArray(o)&&o!==null&&typeof s=="object"&&s!==null&&!Array.isArray(s)?r[n]=ic(s,o):r[n]=o;}return r}i(ic,"deepMergeObjects");function rE(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=ic(r.overrides??{},e.overrides)),typeof e.conversions=="object"&&e.conversions!==null&&!Array.isArray(e.conversions)&&(r.conversions=ic(r.conversions??{},e.conversions)),Array.isArray(e.extends)&&e.extends.length>0&&(r.extends=[...t.extends??[],...e.extends]),r}i(rE,"mergeLocalConfig");async function lc(t){let e=join(t,ac),r=await eE(e),n=join(t,QO),o=await S(n);if(o!==null){let s=parse(o);if(typeof s=="object"&&s!==null&&!Array.isArray(s)){let a=rE(r,s),l=sc.safeParse(a);if(l.success)r=l.data;else {let c=l.error.issues.map(m=>m.message).join("; ");I.warn(`Ignoring invalid agentsmesh.local.yaml at ${n}: ${c}. Using project config instead.`);}}}return {config:r,configDir:t}}i(lc,"loadConfigFromExactDir");async function Wd(t){let e=await tE(t);if(e===null)throw new $r(join(t,ac));return lc(dirname(e))}i(Wd,"loadConfigFromDir");Cs();function Es(t,e="project"){if(e==="project")return {scope:e,rootBase:t,configDir:t,canonicalDir:join(t,".agentsmesh")};let r=homedir(),n=join(r,".agentsmesh");return {scope:e,rootBase:r,configDir:n,canonicalDir:n}}i(Es,"resolveScopeContext");async function at(t,e="project"){if(e==="project"){let{config:n,configDir:o}=await Wd(t);return {config:n,context:{scope:e,rootBase:o,configDir:o,canonicalDir:join(o,".agentsmesh")}}}let r=Es(t,e);try{let{config:n}=await lc(r.configDir);return {config:n,context:r}}catch(n){throw n instanceof $r?new $r(n.path,{cause:n,message:`agentsmesh.yaml not found at ${n.path} (global scope). Run 'agentsmesh init --global' to create it under ~/.agentsmesh, or drop the --global flag to operate on the current project.`}):n}}i(at,"loadScopedConfig");b();b();var cE=promisify(execFile),Bd="repo";async function Zi(t,e,r,n,o){let s="cloneUrl"in t?"gitlab":"git",a="cloneUrl"in t?`${t.namespace}/${t.project}`:t.url,l=t.ref??"HEAD",c=o(s,a,l),m=join(n,c),u=join(m,Bd),p=`${m}.tmp`,d=join(p,Bd);if(!r.refresh&&await Kd(u))return pc(u);try{return await rm$1(p,{recursive:!0,force:!0}),await mkdir(p,{recursive:!0}),await uE(mE(t),d),t.ref&&await pE(d,t.ref),await rm$1(m,{recursive:!0,force:!0}),await rename(p,m),pc(u)}catch(g){if(await rm$1(p,{recursive:true,force:true}),r.allowOfflineFallback!==false&&await Kd(u))return console.warn(`[agentsmesh] Remote fetch failed for ${e}; using cached version. Error: ${g instanceof Error?g.message:String(g)}`),pc(u);throw g}}i(Zi,"fetchGitRemoteExtend");async function pc(t){return {resolvedPath:t,version:await dE(t)}}i(pc,"readCachedRepo");async function Kd(t){return L(t)}i(Kd,"hasCachedRepo");function mE(t){if("cloneUrl"in t){let e=process.env.AGENTSMESH_GITLAB_TOKEN;if(e){let r=new URL(t.cloneUrl);if(r.protocol==="https:")return r.username="oauth2",r.password=e,r.toString()}return t.cloneUrl}return t.url}i(mE,"resolveCloneUrl");async function uE(t,e){await dc(["clone",t,e]);}i(uE,"cloneRepo");async function pE(t,e){await dc(["checkout",e],t);}i(pE,"checkoutRef");async function dE(t){return dc(["rev-parse","HEAD"],t)}i(dE,"getHeadSha");async function dc(t,e){let{stdout:r}=await cE("git",t,{cwd:e,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return r.trim()}i(dc,"runGit");b();async function Jd(t,e,r){let n=`https://api.github.com/repos/${t}/${e}/releases/latest`,o={Accept:"application/vnd.github+json"};r&&(o.Authorization=`Bearer ${r}`);let s=await globalThis.fetch(n,{headers:o});if(!s.ok)throw new Error(`Failed to resolve latest release for ${t}/${e}: ${s.status} ${s.statusText}`);let a=await s.json();if(!a.tag_name||typeof a.tag_name!="string")throw new Error(`No tag_name in releases/latest response for ${t}/${e}`);return a.tag_name}i(Jd,"resolveLatestTag");async function Yd(t,e,r,n,o,s=false){let a=r.token??process.env.AGENTSMESH_GITHUB_TOKEN,l=r.refresh===true,c=t.tag;if(c==="latest")try{c=await Jd(t.org,t.repo,a);}catch(y){if(!s)throw y;return IE(t,e,r,n,o,a)}let m=o("github",`${t.org}/${t.repo}`,c),u=join(n,m);if(!l&&await L(u)){let y=await fc(u);if(y)return {resolvedPath:join(u,y),version:c}}let p=`https://github.com/${t.org}/${t.repo}/tarball/${c}`,d={};a&&(d.Authorization=`Bearer ${a}`);let g;try{let y=await globalThis.fetch(p,{headers:d,redirect:"follow"});if(!y.ok)throw new Error(`HTTP ${y.status}: ${y.statusText}`);g=await y.arrayBuffer();}catch(y){if(r.allowOfflineFallback!==false&&await L(u)){let D=await fc(u);if(D)return console.warn(`[agentsmesh] Network failed for ${e}; using cached version. Error: ${y instanceof Error?y.message:String(y)}`),{resolvedPath:join(u,D),version:c}}throw y}await rm$1(u,{recursive:true,force:true}),await mkdir(u,{recursive:true});let h=join(u,"archive.tar.gz");await writeFile(h,new Uint8Array(g));try{await Vd.extract({file:h,cwd:u,strict:!0,filter:i((y,O)=>!(yE(y)||O&&"type"in O&&(O.type==="Link"||O.type==="SymbolicLink")),"filter")});}finally{await rm$1(h,{force:true}).catch(()=>{});}let C=await fc(u);if(!C)throw new Error(`Extend "${e}": archive has no top-level directory. Expected a single top-level directory inside the archive.`);return {resolvedPath:join(u,C),version:c}}i(Yd,"fetchGithubRemoteExtend");async function fc(t){let r=(await readdir(t,{withFileTypes:true})).filter(n=>n.isDirectory()&&!n.name.startsWith("."));return r.length===1?r[0].name:null}i(fc,"findExtractTopDir");function zd(t,e,r){return r?`https://x-access-token:${encodeURIComponent(r)}@github.com/${t}/${e}.git`:`https://github.com/${t}/${e}.git`}i(zd,"buildGithubCloneUrl");function yE(t){let e=t.replace(/\\/g,"/");return e.startsWith("/")||e.split("/").includes("..")}i(yE,"isZipSlipPath");async function IE(t,e,r,n,o,s){let a=s?[zd(t.org,t.repo,s)]:[zd(t.org,t.repo),`ssh://git@github.com/${t.org}/${t.repo}.git`],l;for(let c of a){let m={url:c};try{return await Zi(m,e,r,n,o)}catch(u){l=u;}}throw l instanceof Error?l:new Error("Failed to clone GitHub default branch")}i(IE,"fetchGithubDefaultBranch");function Xd(t,e,r){if(!t.startsWith(e))return null;let n=t.slice(e.length).trim();if(!n)return null;let o=n.lastIndexOf("@");if(o<0)return [n,r];let s=n.slice(0,o).trim(),a=n.slice(o+1).trim();return !s||!a?null:[s,a]}i(Xd,"splitSourceRef");function Zd(t){let e=Xd(t,"github:","latest");if(!e)return null;let[r,n]=e,o=r.indexOf("/");if(o<0)return null;let s=r.slice(0,o).trim(),a=r.slice(o+1).trim();return !s||!a||!n?null:{org:s,repo:a,tag:n}}i(Zd,"parseGithubSource");function qd(t){let e=Xd(t,"gitlab:");if(!e)return null;let[r,n]=e,o=r.lastIndexOf("/");if(o<0)return null;let s=r.slice(0,o).trim(),a=r.slice(o+1).trim();return !s||!a?null:{namespace:s,project:a,ref:n,cloneUrl:`https://gitlab.com/${s}/${a}.git`}}i(qd,"parseGitlabSource");function Qd(t){if(!t.startsWith("git+"))return null;let e=t.slice(4).trim();if(!e)return null;let r=e.lastIndexOf("#"),n=(r<0?e:e.slice(0,r)).trim(),o=r<0?void 0:e.slice(r+1).trim();if(!n||r>=0&&!o)return null;let s;try{s=new URL(n);}catch{return null}return ["https:","http:","ssh:","file:"].includes(s.protocol)?{url:n,ref:o}:null}i(Qd,"parseGitSource");function hn(t){let e=Zd(t);if(e)return {kind:"github",...e};let r=qd(t);if(r)return {kind:"gitlab",...r};let n=Qd(t);return n?{kind:"git",...n}:null}i(hn,"parseRemoteSource");function gc(t){return hn(t)!==null}i(gc,"isSupportedRemoteSource");function CE(t){let e=hn(t);return e?e.kind==="github"?uo("github",`${e.org}/${e.repo}`,e.tag):e.kind==="gitlab"?uo("gitlab",`${e.namespace}/${e.project}`,e.ref??"HEAD"):uo("git",e.url,e.ref??"HEAD"):null}i(CE,"cacheKeyFromSource");async function rf(t,e){let r=CE(t);if(!r)return;let n=e??Tt(),o=join(n,r);await rm$1(o,{recursive:true,force:true});}i(rf,"cleanInstallCache");async function nf(t,e){let r=t??Tt(),n=e??Number(process.env.AGENTSMESH_CACHE_MAX_AGE_DAYS??30)*864e5,o;try{o=await readdir(r);}catch{return}let s=Date.now();await Promise.all(o.map(async a=>{let l=join(r,a);try{let{mtimeMs:c}=await stat(l);s-c>n&&await rm$1(l,{recursive:!0,force:!0});}catch{}}));}i(nf,"sweepStaleCache");function uo(t,e,r){let n=i(o=>o.replace(/[^a-zA-Z0-9_-]/g,"_"),"safe");if(t==="github"){let[o,s]=e.split("/",2);if(o&&s)return `${n(o)}-${n(s)}-${n(r)}`}return `${n(t)}_${n(e)}_${n(r)}`}i(uo,"buildCacheKey");function Tt(){let t=process.env.AGENTSMESH_CACHE;return t||join(homedir(),".agentsmesh","cache")}i(Tt,"getCacheDir");async function po(t,e,r={}){let n=hn(t);if(!n)throw t.startsWith("github:")?new Error(`Invalid github: source: "${t}" for extend "${e}"`):t.startsWith("gitlab:")?new Error(`Invalid gitlab: source: "${t}" for extend "${e}"`):t.startsWith("git+")?new Error(`Invalid git+ source: "${t}" for extend "${e}"`):new Error(`Invalid remote source: "${t}" for extend "${e}". Use github:org/repo@tag, gitlab:group/project@ref, or git+https://host/org/repo.git#ref.`);let o=r.cacheDir??Tt();return nf(o).catch(()=>{}),n.kind==="github"?Yd(n,e,r,o,uo,!t.includes("@")):Zi(n,e,r,o,uo)}i(po,"fetchRemoteExtend");function xE(t){return t.startsWith("http://")||t.startsWith("https://")}i(xE,"isOtherRemoteSource");async function fo(t,e,r={}){if(t.extends.length===0)return [];if(r.refreshCache===true&&t.extends.some(o=>gc(o.source))){let o=Tt();await rm$1(o,{recursive:true,force:true}),await mkdir(o,{recursive:true});}let n=[];for(let o of t.extends){if(xE(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(gc(o.source)){let a=await po(o.source,o.name,{cacheDir:Tt(),refresh:r.refreshCache===true});n.push({name:o.name,resolvedPath:a.resolvedPath,features:[...o.features],target:o.target,version:a.version,path:o.path,pick:o.pick});continue}let s=resolve(e,o.source);if(!await L(s))throw new Error(`Extend "${o.name}": path does not exist: ${s}. Check extends.source in agentsmesh.yaml.`);n.push({name:o.name,resolvedPath:s,features:[...o.features],target:o.target,path:o.path,pick:o.pick});}return n}i(fo,"resolveExtendPaths");b();F();var TE=["always_on","model_decision","glob","manual"];function sf(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}i(sf,"toStrArray");async function yn(t){let r=(await P(t)).filter(o=>{if(!o.endsWith(".md"))return false;let s=basename(o,".md");return s==="_root"||!s.startsWith("_")}),n=[];for(let o of r){let s=await S(o);if(!s)continue;let{frontmatter:a,body:l}=w(s),m=basename(o,".md")==="_root",u=a.root===true,p=a.trigger,d=typeof p=="string"&&TE.includes(p)?p:void 0,g=a.codex_emit,h=g==="execution"?"execution":g==="advisory"?"advisory":void 0,_=a.codex_instruction==="override"?"override":void 0;n.push({source:o,root:m||u,targets:sf(a.targets),description:typeof a.description=="string"?a.description:"",globs:sf(a.globs),body:l,...d!==void 0&&{trigger:d},...h!==void 0&&{codexEmit:h},..._!==void 0&&{codexInstructionVariant:_}});}return n}i(yn,"parseRules");b();F();function lf(t){return t===true||t==="true"||t===1||t==="1"}i(lf,"toBool");function cf(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}i(cf,"toToolsArray");async function In(t){let r=(await P(t)).filter(o=>o.endsWith(".md")&&!basename(o).startsWith("_")),n=[];for(let o of r){let s=await S(o);if(!s)continue;let{frontmatter:a,body:l}=w(s),c=basename(o,".md"),m=cf(a.allowedTools),u=cf(a["allowed-tools"]),p=m.length>0?m:u;n.push({source:o,name:c,description:typeof a.description=="string"?a.description:"",allowedTools:p,outputStyle:lf(a.outputStyle)||lf(a["output-style"]),body:l});}return n}i(In,"parseCommands");b();F();function Sn(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}i(Sn,"toStrArray");function uf(t){return t===true||t==="true"||t===1||t==="1"}i(uf,"toBool");function pf(t){if(typeof t=="number"&&Number.isInteger(t)&&t>=0)return t;if(typeof t=="string"){let e=parseInt(t,10);return Number.isInteger(e)&&e>=0?e:0}return 0}i(pf,"toInt");function LE(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)?t:{}}i(LE,"toHooks");async function Rn(t){let r=(await P(t)).filter(o=>o.endsWith(".md")&&!basename(o).startsWith("_")),n=[];for(let o of r){let s=await S(o);if(!s)continue;let{frontmatter:a,body:l}=w(s),c=basename(o,".md"),m=Sn(a.tools),u=Sn(a.tools),p=m.length>0?m:u,d=Sn(a.disallowedTools),g=Sn(a["disallowed-tools"]),h=d.length>0?d:g,C=Sn(a.mcpServers),_=Sn(a["mcp-servers"]),y=C.length>0?C:_,O=Sn(a.skills),D=pf(a.maxTurns),E=pf(a["max-turns"]),x=D>0?D:E>0?E:0;n.push({source:o,name:c,description:typeof a.description=="string"?a.description:"",tools:p,disallowedTools:h,model:typeof a.model=="string"?a.model:"",permissionMode:typeof a.permissionMode=="string"?a.permissionMode:typeof a["permission-mode"]=="string"?a["permission-mode"]:"",maxTurns:x,mcpServers:y,hooks:LE(a.hooks),skills:O,memory:typeof a.memory=="string"?a.memory:"",outputStyle:uf(a.outputStyle)||uf(a["output-style"]),body:l});}return n}i(Rn,"parseAgents");b();F();async function FE(t){return await S(t)??""}i(FE,"readContent");var qi="SKILL.md",vE=[".git","node_modules"];function $E(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}i($E,"sanitizeSkillName");async function df(t){let e=await P(t),r=[];for(let n of e){let s=n.slice(t.length+1).replace(/\\/g,"/");if(s===qi||s.endsWith(`/${qi}`))continue;let a=s.split("/")[0];if(vE.some(c=>a===c)||s===".DS_Store"||s.endsWith("/.DS_Store"))continue;let l=await FE(n);r.push({relativePath:s,absolutePath:n,content:l});}return r.sort((n,o)=>n.relativePath.localeCompare(o.relativePath))}i(df,"listSupportingFiles");async function ff(t){let e=join(t,qi),r=await S(e);if(!r)return null;let{frontmatter:n,body:o}=w(r),s=await df(t),a=typeof n.name=="string"?$E(n.name):"";return {source:e,name:a||basename(t),description:typeof n.description=="string"?n.description:"",body:o,supportingFiles:s}}i(ff,"parseSkillDirectory");async function go(t){let e;try{e=await readdir(t,{withFileTypes:!0});}catch{return []}let r=[];for(let n of e){if(!n.isDirectory()||n.name.startsWith("_"))continue;let o=join(t,n.name),s=join(o,qi),a=await S(s);if(!a)continue;let{frontmatter:l,body:c}=w(a),m=await df(o);r.push({source:s,name:n.name,description:typeof l.description=="string"?l.description:"",body:c,supportingFiles:m});}return r.sort((n,o)=>n.name.localeCompare(o.name))}i(go,"parseSkills");b();function gf(t){return t===null||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}i(gf,"parseStringMap");function ME(t){if(!t||typeof t!="object")return null;let e=t,r=typeof e.type=="string"?e.type:"stdio",n=gf(e.env),o=typeof e.description=="string"?e.description:void 0,s=typeof e.url=="string"?e.url:"";if(s)return {...o!==void 0&&{description:o},type:r,url:s,headers:gf(e.headers),env:n};let a=typeof e.command=="string"?e.command:"";if(!a)return null;let l=Array.isArray(e.args)?e.args.filter(c=>typeof c=="string"):[];return {...o!==void 0&&{description:o},type:r,command:a,args:l,env:n}}i(ME,"parseServer");async function Qi(t){let e=await S(t);if(!e)return null;let r;try{r=JSON.parse(e);}catch{return null}if(!r||typeof r!="object")return null;let n=r.mcpServers;if(n===void 0||typeof n!="object"||n===null)return null;let o={};for(let[s,a]of Object.entries(n)){let l=ME(a);l&&(o[s]=l);}return {mcpServers:o}}i(Qi,"parseMcp");b();function yc(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}i(yc,"ensureStringArray");async function ta(t){let e=await S(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=yc(n.allow),s=yc(n.deny),a=yc(n.ask);return {allow:o,deny:s,ask:a}}i(ta,"parsePermissions");b();le();var UE=["command","prompt"];function WE(t){if(!t||typeof t!="object")return null;let e=t,r=e.matcher;if(typeof r!="string")return null;let n=Ic(e);if(!n)return null;let o=typeof e.type=="string"&&UE.includes(e.type)?e.type:void 0,s=typeof e.timeout=="number"&&Number.isFinite(e.timeout)?e.timeout:void 0,a=Ot(e)||void 0;return {matcher:r,command:n,...s!==void 0&&{timeout:s},...o&&{type:o},...a&&{prompt:a}}}i(WE,"toHookEntry");async function ea(t){let e=await S(t);if(e===null)return null;if(!e.trim())return {};let r;try{r=parse(e);}catch{return null}if(!r||typeof r!="object")return null;let n={},o=r;for(let[s,a]of Object.entries(o)){if(!Array.isArray(a))continue;let l=[];for(let c of a){let m=WE(c);m&&l.push(m);}l.length>0&&(n[s]=l);}return n}i(ea,"parseHooks");b();async function ra(t){let e=await S(t);if(e===null||!e.trim())return [];let r=e.split(/\r?\n/),n=[];for(let o of r){let s=o.trim();s===""||s.startsWith("#")||n.push(s);}return n}i(ra,"parseIgnore");b();async function _n(t){let e=join(t,".agentsmesh"),r=await L(e)?e:t,[n,o,s,a,l,c,m,u]=await Promise.all([yn(join(r,"rules")),In(join(r,"commands")),Rn(join(r,"agents")),go(join(r,"skills")),Qi(join(r,"mcp.json")),ta(join(r,"permissions.yaml")),ea(join(r,"hooks.yaml")),ra(join(r,"ignore"))]);return {rules:n,commands:o,agents:s,skills:a,mcp:l,permissions:c,hooks:m,ignore:u}}i(_n,"loadCanonicalFiles");function yf(t){return basename(t.source,".md")}i(yf,"ruleSlug");function ho(t,e){let r=new Map(t.rules.map(u=>[yf(u),u]));for(let u of e.rules)r.set(yf(u),u);let n=new Map(t.commands.map(u=>[u.name,u]));for(let u of e.commands)n.set(u.name,u);let o=new Map(t.agents.map(u=>[u.name,u]));for(let u of e.agents)o.set(u.name,u);let s=new Map(t.skills.map(u=>[u.name,u]));for(let u of e.skills)s.set(u.name,u);let a=KE(t.mcp,e.mcp),l=HE(t.permissions,e.permissions),c=zE(t.hooks,e.hooks),m=VE(t.ignore,e.ignore);return {rules:Array.from(r.values()),commands:Array.from(n.values()),agents:Array.from(o.values()),skills:Array.from(s.values()),mcp:a,permissions:l,hooks:c,ignore:m}}i(ho,"mergeCanonicalFiles");function KE(t,e){if(!t&&!e)return null;let r=t?.mcpServers??{},n=e?.mcpServers??{};return {mcpServers:{...r,...n}}}i(KE,"mergeMcp");function HE(t,e){if(!t&&!e)return null;let r=Sc(t?.allow??[],e?.allow??[]),n=Sc(t?.deny??[],e?.deny??[]),o=Sc(t?.ask??[],e?.ask??[]);return {allow:r,deny:n,ask:o}}i(HE,"mergePermissions");function Sc(t,e){let r=new Set(t),n=[...t];for(let o of e)r.has(o)||(r.add(o),n.push(o));return n}i(Sc,"mergeUniqueStrings");function zE(t,e){if(!t&&!e)return null;let r={},n=new Set([...Object.keys(t??{}),...Object.keys(e??{})]);for(let o of n){let s=e?.[o],a=t?.[o];r[o]=s!==void 0&&s.length>0?s:a??[];}return r}i(zE,"mergeHooks");function VE(t,e){let r=new Set(t),n=[...t];for(let o of e)r.has(o)||(r.add(o),n.push(o));return n}i(VE,"mergeIgnore");b();var If=[{target:"claude-code",paths:["CLAUDE.md",".claude/rules",".claude/commands",".claude/agents",".claude/skills",".claude/settings.json",".claudeignore"]},{target:"cursor",paths:[".cursorrules",".cursor/rules",".cursor",".cursor/mcp.json"]},{target:"copilot",paths:[".github/copilot-instructions.md",".github/copilot",".github/instructions",".github/prompts",".github/skills",".github/agents",".github/hooks"]},{target:"gemini-cli",paths:["GEMINI.md",".gemini",".gemini/settings.json"]},{target:"codex-cli",paths:[".codex",".codex/config.toml","AGENTS.md","codex.md"]},{target:"windsurf",paths:[".windsurfrules",".windsurf",".windsurf/workflows"]},{target:"cline",paths:[".clinerules",".cline"]},{target:"continue",paths:[".continue",".continuerc.json"]},{target:"junie",paths:[".junie",".junie/guidelines.md"]},{target:"kiro",paths:[".kiro",".kiro/steering",".kiro/settings/mcp.json"]}];async function na(t){let e=null,r=0;for(let n of If){let o=0;for(let s of n.paths)await L(join(t,s))&&o++;o>r&&(r=o,e=n.target);}return r>0?e:null}i(na,"detectNativeFormat");var Sf=If.map(t=>t.paths[0]).filter(t=>t!==void 0);b();gm();iu();Hm();Eu();$m();qu();Rm();Mm();Pu();Lu();var lL={"claude-code":ba,cursor:el,copilot:za,"gemini-cli":ml,"codex-cli":$a,windsurf:Cl,cline:Ta,continue:Ga,junie:pl,kiro:fl};async function bi(t,e){let r=lL[e];if(!r)throw new Error(`No importer registered for native target: ${e}`);return r(t)}i(bi,"importNativeToCanonical");b();var gp="SKILL.md";async function to(t){if(!await L(t))return false;if(await L(join(t,gp)))return true;try{let e=await readdir(t,{withFileTypes:!0});for(let r of e)if(!(!r.isDirectory()||r.name.startsWith("."))&&await L(join(t,r.name,gp)))return !0}catch{return false}return false}i(to,"isSkillPackLayout");async function xi(t){if(!await L(t))return [];if(await L(join(t,gp))){let e=await ff(t);return e?[e]:[]}return go(t)}i(xi,"loadSkillsAtExtendPath");b();function pL(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(pL,"emptyCanonical");function dL(t){return t.rules.length===0&&t.commands.length===0&&t.agents.length===0&&t.skills.length===0&&t.mcp===null&&t.permissions===null&&t.hooks===null&&t.ignore.length===0}i(dL,"isCanonicalSliceEmpty");async function Al(t){if(!await L(t))throw new Error(`Path does not exist: ${t}`);let e=await stat(t);if(e.isDirectory())return {sliceRoot:t};if(!e.isFile()||!t.toLowerCase().endsWith(".md"))throw new Error(`Install path must be a directory or a .md file inside rules/, commands/, or agents/: ${t}`);let r=dirname(t),n=basename(r),s=basename(t).replace(/\.md$/i,"");if(n==="rules")return {sliceRoot:r,implicitPick:{rules:[s]}};if(n==="commands")return {sliceRoot:r,implicitPick:{commands:[s]}};if(n==="agents")return {sliceRoot:r,implicitPick:{agents:[s]}};throw new Error(`Single-file install only supports .md files under rules/, commands/, or agents/. Got: ${t}`)}i(Al,"normalizeSlicePath");async function fL(t){if(basename(t)==="rules")return yn(t);let r=join(t,"rules");return await L(r)?yn(r):[]}i(fL,"parseRulesAt");async function gL(t){if(basename(t)==="commands")return In(t);let r=join(t,"commands");return await L(r)?In(r):[]}i(gL,"parseCommandsAt");async function hL(t){if(basename(t)==="agents")return Rn(t);let r=join(t,"agents");return await L(r)?Rn(r):[]}i(hL,"parseAgentsAt");async function yL(t){if(await to(t))return xi(t);let e=join(t,"skills");return await to(e)?xi(e):[]}i(yL,"loadSkillsForPartialSlice");async function Tl(t){let e=join(t,".agentsmesh");if(await L(e))return _n(t);let r=pL();if(r.rules=await fL(t),r.commands=await gL(t),r.agents=await hL(t),r.skills=await yL(t),dL(r))throw new Error(`No installable resources at ${t}. Expected .agentsmesh/, or rules/, commands/, agents/, or Anthropic-style skills (SKILL.md).`);return r}i(Tl,"loadCanonicalSliceAtPath");function IL(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(IL,"emptyCanonical");async function OC(t){let e=t.resolvedPath;if(!t.path){let o=join(e,".agentsmesh");if(!await L(o)){if(await to(e)){let a=await xi(e);return {...IL(),skills:a}}let s=t.target??await na(e);if(!s)throw new Error(`Extend "${t.name}": No supported agent configuration found in ${e}.
|
|
142
|
-
Expected one of: .agentsmesh/, ${
|
|
139
|
+
Tip: run "agentsmesh <command> --help" for this same command reference.`);}i(Ad,"printHelp");var TO=createRequire(import.meta.url),rc=dirname(fileURLToPath(import.meta.url)),LO=rc.endsWith("dist")?join(rc,"..","package.json"):join(rc,"..","..","package.json"),Ld=TO(LO);function Rs(){return Ld.version}i(Rs,"getVersion");function Nd(){process.stdout.write(`agentsmesh v${Ld.version}
|
|
140
|
+
`);}i(Nd,"printVersion");function Dd(t,e){e?.verbose&&t.stack?process.stderr.write(t.stack+`
|
|
141
|
+
`):y.error(t.message),process.exit(1);}i(Dd,"handleError");E();Cs();lr();var jd=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],Jt=z$1.enum(ht),mo=z$1.enum(jd),Os=z$1.object({skills:z$1.array(z$1.string()).optional(),commands:z$1.array(z$1.string()).optional(),rules:z$1.array(z$1.string()).optional(),agents:z$1.array(z$1.string()).optional()}).strict(),ZO=z$1.object({name:z$1.string(),source:z$1.string(),version:z$1.string().optional(),target:Jt.optional(),features:z$1.array(mo),path:z$1.string().optional(),pick:Os.optional()}),qO=z$1.object({strategy:z$1.enum(["merge","lock","last-wins"]).default("merge"),lock_features:z$1.array(z$1.string()).default([])}),ws=z$1.union([z$1.boolean(),z$1.object({project:z$1.boolean().optional(),global:z$1.boolean().optional()}).strict()]),QO=z$1.object({commands_to_skills:z$1.object({"codex-cli":ws.optional()}).passthrough().optional(),agents_to_skills:z$1.object({"gemini-cli":ws.optional(),cline:ws.optional(),"codex-cli":ws.optional(),windsurf:ws.optional()}).passthrough().optional()}).strict().optional(),tE=z$1.object({id:z$1.string().regex(/^[a-z][a-z0-9-]*$/),source:z$1.string(),version:z$1.string().optional()}).strict(),ac=z$1.object({version:z$1.literal(1),targets:z$1.array(Jt).default([...ht]),features:z$1.array(mo).default([...jd]),extends:z$1.array(ZO).default([]),overrides:z$1.record(z$1.string(),z$1.record(z$1.string(),z$1.unknown())).default({}),collaboration:qO.default({strategy:"merge",lock_features:[]}),conversions:QO,plugins:z$1.array(tE).default([]),pluginTargets:z$1.array(z$1.string().regex(/^[a-z][a-z0-9-]*$/)).default([])});var cc="agentsmesh.yaml",rE="agentsmesh.local.yaml";async function nE(t){let e=resolve(t);for(;;){let r=join(e,cc);if(await L(r))return r;let n=dirname(e);if(n===e)return null;e=n;}}i(nE,"findConfigPath");async function oE(t){let e=await I(t);if(e===null)throw new $r(t);let r=parse(e),n=ac.safeParse(r);if(!n.success){let o=n.error.issues.map(s=>s.message);throw new Ji(t,o,{cause:n.error})}return n.data}i(oE,"loadConfig");function lc(t,e){let r={...t};for(let[n,o]of Object.entries(e)){if(o==null)continue;let s=r[n];typeof o=="object"&&!Array.isArray(o)&&o!==null&&typeof s=="object"&&s!==null&&!Array.isArray(s)?r[n]=lc(s,o):r[n]=o;}return r}i(lc,"deepMergeObjects");function sE(t,e){let r={...t};return Array.isArray(e.targets)&&e.targets.length>0&&(r.targets=e.targets),Array.isArray(e.features)&&e.features.length>0&&(r.features=e.features),typeof e.overrides=="object"&&e.overrides!==null&&!Array.isArray(e.overrides)&&(r.overrides=lc(r.overrides??{},e.overrides)),typeof e.conversions=="object"&&e.conversions!==null&&!Array.isArray(e.conversions)&&(r.conversions=lc(r.conversions??{},e.conversions)),Array.isArray(e.extends)&&e.extends.length>0&&(r.extends=[...t.extends??[],...e.extends]),r}i(sE,"mergeLocalConfig");async function mc(t){let e=join(t,cc),r=await oE(e),n=join(t,rE),o=await I(n);if(o!==null){let s=parse(o);if(typeof s=="object"&&s!==null&&!Array.isArray(s)){let a=sE(r,s),l=ac.safeParse(a);if(l.success)r=l.data;else {let c=l.error.issues.map(m=>m.message).join("; ");y.warn(`Ignoring invalid agentsmesh.local.yaml at ${n}: ${c}. Using project config instead.`);}}}return {config:r,configDir:t}}i(mc,"loadConfigFromExactDir");async function Bd(t){let e=await nE(t);if(e===null)throw new $r(join(t,cc));return mc(dirname(e))}i(Bd,"loadConfigFromDir");Cs();function Es(t,e="project"){if(e==="project")return {scope:e,rootBase:t,configDir:t,canonicalDir:join(t,".agentsmesh")};let r=homedir(),n=join(r,".agentsmesh");return {scope:e,rootBase:r,configDir:n,canonicalDir:n}}i(Es,"resolveScopeContext");async function at(t,e="project"){if(e==="project"){let{config:n,configDir:o}=await Bd(t);return {config:n,context:{scope:e,rootBase:o,configDir:o,canonicalDir:join(o,".agentsmesh")}}}let r=Es(t,e);try{let{config:n}=await mc(r.configDir);return {config:n,context:r}}catch(n){throw n instanceof $r?new $r(n.path,{cause:n,message:`agentsmesh.yaml not found at ${n.path} (global scope). Run 'agentsmesh init --global' to create it under ~/.agentsmesh, or drop the --global flag to operate on the current project.`}):n}}i(at,"loadScopedConfig");E();E();var pE=promisify(execFile),Kd="repo";async function Zi(t,e,r,n,o){let s="cloneUrl"in t?"gitlab":"git",a="cloneUrl"in t?`${t.namespace}/${t.project}`:t.url,l=t.ref??"HEAD",c=o(s,a,l),m=join(n,c),u=join(m,Kd),p=`${m}.tmp`,d=join(p,Kd);if(!r.refresh&&await Hd(u))return fc(u);try{return await rm$1(p,{recursive:!0,force:!0}),await mkdir(p,{recursive:!0}),await fE(dE(t),d),t.ref&&await gE(d,t.ref),await rm$1(m,{recursive:!0,force:!0}),await rename(p,m),fc(u)}catch(g){if(await rm$1(p,{recursive:true,force:true}),r.allowOfflineFallback!==false&&await Hd(u))return console.warn(`[agentsmesh] Remote fetch failed for ${e}; using cached version. Error: ${g instanceof Error?g.message:String(g)}`),fc(u);throw g}}i(Zi,"fetchGitRemoteExtend");async function fc(t){return {resolvedPath:t,version:await hE(t)}}i(fc,"readCachedRepo");async function Hd(t){return L(t)}i(Hd,"hasCachedRepo");function dE(t){if("cloneUrl"in t){let e=process.env.AGENTSMESH_GITLAB_TOKEN;if(e){let r=new URL(t.cloneUrl);if(r.protocol==="https:")return r.username="oauth2",r.password=e,r.toString()}return t.cloneUrl}return t.url}i(dE,"resolveCloneUrl");async function fE(t,e){await gc(["clone",t,e]);}i(fE,"cloneRepo");async function gE(t,e){await gc(["checkout",e],t);}i(gE,"checkoutRef");async function hE(t){return gc(["rev-parse","HEAD"],t)}i(hE,"getHeadSha");async function gc(t,e){let{stdout:r}=await pE("git",t,{cwd:e,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return r.trim()}i(gc,"runGit");E();async function Yd(t,e,r){let n=`https://api.github.com/repos/${t}/${e}/releases/latest`,o={Accept:"application/vnd.github+json"};r&&(o.Authorization=`Bearer ${r}`);let s=await globalThis.fetch(n,{headers:o});if(!s.ok)throw new Error(`Failed to resolve latest release for ${t}/${e}: ${s.status} ${s.statusText}`);let a=await s.json();if(!a.tag_name||typeof a.tag_name!="string")throw new Error(`No tag_name in releases/latest response for ${t}/${e}`);return a.tag_name}i(Yd,"resolveLatestTag");async function Xd(t,e,r,n,o,s=false){let a=r.token??process.env.AGENTSMESH_GITHUB_TOKEN,l=r.refresh===true,c=t.tag;if(c==="latest")try{c=await Yd(t.org,t.repo,a);}catch(S){if(!s)throw S;return RE(t,e,r,n,o,a)}let m=o("github",`${t.org}/${t.repo}`,c),u=join(n,m);if(!l&&await L(u)){let S=await hc(u);if(S)return {resolvedPath:join(u,S),version:c}}let p=`https://github.com/${t.org}/${t.repo}/tarball/${c}`,d={};a&&(d.Authorization=`Bearer ${a}`);let g;try{let S=await globalThis.fetch(p,{headers:d,redirect:"follow"});if(!S.ok)throw new Error(`HTTP ${S.status}: ${S.statusText}`);g=await S.arrayBuffer();}catch(S){if(r.allowOfflineFallback!==false&&await L(u)){let D=await hc(u);if(D)return console.warn(`[agentsmesh] Network failed for ${e}; using cached version. Error: ${S instanceof Error?S.message:String(S)}`),{resolvedPath:join(u,D),version:c}}throw S}await rm$1(u,{recursive:true,force:true}),await mkdir(u,{recursive:true});let h=join(u,"archive.tar.gz");await writeFile(h,new Uint8Array(g));try{await Jd.extract({file:h,cwd:u,strict:!0,filter:i((S,w)=>!(_E(S)||w&&"type"in w&&(w.type==="Link"||w.type==="SymbolicLink")),"filter")});}finally{await rm$1(h,{force:true}).catch(()=>{});}let R=await hc(u);if(!R)throw new Error(`Extend "${e}": archive has no top-level directory. Expected a single top-level directory inside the archive.`);return {resolvedPath:join(u,R),version:c}}i(Xd,"fetchGithubRemoteExtend");async function hc(t){let r=(await readdir(t,{withFileTypes:true})).filter(n=>n.isDirectory()&&!n.name.startsWith("."));return r.length===1?r[0].name:null}i(hc,"findExtractTopDir");function Vd(t,e,r){return r?`https://x-access-token:${encodeURIComponent(r)}@github.com/${t}/${e}.git`:`https://github.com/${t}/${e}.git`}i(Vd,"buildGithubCloneUrl");function _E(t){let e=t.replace(/\\/g,"/");return e.startsWith("/")||e.split("/").includes("..")}i(_E,"isZipSlipPath");async function RE(t,e,r,n,o,s){let a=s?[Vd(t.org,t.repo,s)]:[Vd(t.org,t.repo),`ssh://git@github.com/${t.org}/${t.repo}.git`],l;for(let c of a){let m={url:c};try{return await Zi(m,e,r,n,o)}catch(u){l=u;}}throw l instanceof Error?l:new Error("Failed to clone GitHub default branch")}i(RE,"fetchGithubDefaultBranch");function Zd(t,e,r){if(!t.startsWith(e))return null;let n=t.slice(e.length).trim();if(!n)return null;let o=n.lastIndexOf("@");if(o<0)return [n,r];let s=n.slice(0,o).trim(),a=n.slice(o+1).trim();return !s||!a?null:[s,a]}i(Zd,"splitSourceRef");function qd(t){let e=Zd(t,"github:","latest");if(!e)return null;let[r,n]=e,o=r.indexOf("/");if(o<0)return null;let s=r.slice(0,o).trim(),a=r.slice(o+1).trim();return !s||!a||!n?null:{org:s,repo:a,tag:n}}i(qd,"parseGithubSource");function Qd(t){let e=Zd(t,"gitlab:");if(!e)return null;let[r,n]=e,o=r.lastIndexOf("/");if(o<0)return null;let s=r.slice(0,o).trim(),a=r.slice(o+1).trim();return !s||!a?null:{namespace:s,project:a,ref:n,cloneUrl:`https://gitlab.com/${s}/${a}.git`}}i(Qd,"parseGitlabSource");function tf(t){if(!t.startsWith("git+"))return null;let e=t.slice(4).trim();if(!e)return null;let r=e.lastIndexOf("#"),n=(r<0?e:e.slice(0,r)).trim(),o=r<0?void 0:e.slice(r+1).trim();if(!n||r>=0&&!o)return null;let s;try{s=new URL(n);}catch{return null}return ["https:","http:","ssh:","file:"].includes(s.protocol)?{url:n,ref:o}:null}i(tf,"parseGitSource");function hn(t){let e=qd(t);if(e)return {kind:"github",...e};let r=Qd(t);if(r)return {kind:"gitlab",...r};let n=tf(t);return n?{kind:"git",...n}:null}i(hn,"parseRemoteSource");function yc(t){return hn(t)!==null}i(yc,"isSupportedRemoteSource");function OE(t){let e=hn(t);return e?e.kind==="github"?uo("github",`${e.org}/${e.repo}`,e.tag):e.kind==="gitlab"?uo("gitlab",`${e.namespace}/${e.project}`,e.ref??"HEAD"):uo("git",e.url,e.ref??"HEAD"):null}i(OE,"cacheKeyFromSource");async function nf(t,e){let r=OE(t);if(!r)return;let n=e??Tt(),o=join(n,r);await rm$1(o,{recursive:true,force:true});}i(nf,"cleanInstallCache");async function of(t,e){let r=t??Tt(),n=e??Number(process.env.AGENTSMESH_CACHE_MAX_AGE_DAYS??30)*864e5,o;try{o=await readdir(r);}catch{return}let s=Date.now();await Promise.all(o.map(async a=>{let l=join(r,a);try{let{mtimeMs:c}=await stat(l);s-c>n&&await rm$1(l,{recursive:!0,force:!0});}catch{}}));}i(of,"sweepStaleCache");var sf=80;function uo(t,e,r){let n=i(s=>s.replace(/[^a-zA-Z0-9_.-]/g,"_").replace(/^\.+/,"_"),"safe"),o;if(t==="github"){let[s,a]=e.split("/",2);s&&a?o=`${n(s)}--${n(a)}--${n(r)}`:o=`${n(t)}__${n(e)}__${n(r)}`;}else o=`${n(t)}__${n(e)}__${n(r)}`;if(o.length>sf){let s=createHash("sha256").update(o).digest("hex").slice(0,16);o=`${o.slice(0,sf-18)}--${s}`;}return o}i(uo,"buildCacheKey");function Tt(){let t=process.env.AGENTSMESH_CACHE;return t||join(homedir(),".agentsmesh","cache")}i(Tt,"getCacheDir");async function po(t,e,r={}){let n=hn(t);if(!n)throw t.startsWith("github:")?new Error(`Invalid github: source: "${t}" for extend "${e}"`):t.startsWith("gitlab:")?new Error(`Invalid gitlab: source: "${t}" for extend "${e}"`):t.startsWith("git+")?new Error(`Invalid git+ source: "${t}" for extend "${e}"`):new Error(`Invalid remote source: "${t}" for extend "${e}". Use github:org/repo@tag, gitlab:group/project@ref, or git+https://host/org/repo.git#ref.`);let o=r.cacheDir??Tt();return of(o).catch(()=>{}),n.kind==="github"?Xd(n,e,r,o,uo,!t.includes("@")):Zi(n,e,r,o,uo)}i(po,"fetchRemoteExtend");function LE(t){return t.startsWith("http://")||t.startsWith("https://")}i(LE,"isOtherRemoteSource");async function fo(t,e,r={}){if(t.extends.length===0)return [];if(r.refreshCache===true&&t.extends.some(o=>yc(o.source))){let o=Tt();await rm$1(o,{recursive:true,force:true}),await mkdir(o,{recursive:true});}let n=[];for(let o of t.extends){if(LE(o.source))throw new Error(`Remote extends (http/https) not supported: "${o.source}" for extend "${o.name}". Use github:org/repo@tag, gitlab:group/project@ref, git+https://host/org/repo.git#ref, or a local path (e.g. ./shared/).`);if(yc(o.source)){let a=await po(o.source,o.name,{cacheDir:Tt(),refresh:r.refreshCache===true});n.push({name:o.name,resolvedPath:a.resolvedPath,features:[...o.features],target:o.target,version:a.version,path:o.path,pick:o.pick});continue}let s=resolve(e,o.source);if(!await L(s))throw new Error(`Extend "${o.name}": path does not exist: ${s}. Check extends.source in agentsmesh.yaml.`);n.push({name:o.name,resolvedPath:s,features:[...o.features],target:o.target,path:o.path,pick:o.pick});}return n}i(fo,"resolveExtendPaths");E();F();var FE=["always_on","model_decision","glob","manual"];function lf(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):typeof t=="string"?t?[t]:[]:[]}i(lf,"toStrArray");async function yn(t){let r=(await P(t)).filter(o=>{if(!o.endsWith(".md"))return false;let s=basename(o,".md");return s==="_root"||!s.startsWith("_")}),n=[];for(let o of r){let s=await I(o);if(!s)continue;let{frontmatter:a,body:l}=O(s),m=basename(o,".md")==="_root",u=a.root===true,p=a.trigger,d=typeof p=="string"&&FE.includes(p)?p:void 0,g=a.codex_emit,h=g==="execution"?"execution":g==="advisory"?"advisory":void 0,C=a.codex_instruction==="override"?"override":void 0;n.push({source:o,root:m||u,targets:lf(a.targets),description:typeof a.description=="string"?a.description:"",globs:lf(a.globs),body:l,...d!==void 0&&{trigger:d},...h!==void 0&&{codexEmit:h},...C!==void 0&&{codexInstructionVariant:C}});}return n}i(yn,"parseRules");E();F();function mf(t){return t===true||t==="true"||t===1||t==="1"}i(mf,"toBool");function uf(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}i(uf,"toToolsArray");async function In(t){let r=(await P(t)).filter(o=>o.endsWith(".md")&&!basename(o).startsWith("_")),n=[];for(let o of r){let s=await I(o);if(!s)continue;let{frontmatter:a,body:l}=O(s),c=basename(o,".md"),m=uf(a.allowedTools),u=uf(a["allowed-tools"]),p=m.length>0?m:u;n.push({source:o,name:c,description:typeof a.description=="string"?a.description:"",allowedTools:p,outputStyle:mf(a.outputStyle)||mf(a["output-style"]),body:l});}return n}i(In,"parseCommands");E();F();function Sn(t){return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim()).filter(Boolean):typeof t=="string"?t.split(",").map(e=>e.trim()).filter(Boolean):[]}i(Sn,"toStrArray");function df(t){return t===true||t==="true"||t===1||t==="1"}i(df,"toBool");function ff(t){if(typeof t=="number"&&Number.isInteger(t)&&t>=0)return t;if(typeof t=="string"){let e=parseInt(t,10);return Number.isInteger(e)&&e>=0?e:0}return 0}i(ff,"toInt");function vE(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)?t:{}}i(vE,"toHooks");async function _n(t){let r=(await P(t)).filter(o=>o.endsWith(".md")&&!basename(o).startsWith("_")),n=[];for(let o of r){let s=await I(o);if(!s)continue;let{frontmatter:a,body:l}=O(s),c=basename(o,".md"),m=Sn(a.tools),u=Sn(a.tools),p=m.length>0?m:u,d=Sn(a.disallowedTools),g=Sn(a["disallowed-tools"]),h=d.length>0?d:g,R=Sn(a.mcpServers),C=Sn(a["mcp-servers"]),S=R.length>0?R:C,w=Sn(a.skills),D=ff(a.maxTurns),b=ff(a["max-turns"]),x=D>0?D:b>0?b:0;n.push({source:o,name:c,description:typeof a.description=="string"?a.description:"",tools:p,disallowedTools:h,model:typeof a.model=="string"?a.model:"",permissionMode:typeof a.permissionMode=="string"?a.permissionMode:typeof a["permission-mode"]=="string"?a["permission-mode"]:"",maxTurns:x,mcpServers:S,hooks:vE(a.hooks),skills:w,memory:typeof a.memory=="string"?a.memory:"",outputStyle:df(a.outputStyle)||df(a["output-style"]),body:l});}return n}i(_n,"parseAgents");E();F();async function GE(t){return await I(t)??""}i(GE,"readContent");var qi="SKILL.md",jE=[".git","node_modules"];function UE(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}i(UE,"sanitizeSkillName");async function gf(t){let e=await P(t),r=[];for(let n of e){let s=n.slice(t.length+1).replace(/\\/g,"/");if(s===qi||s.endsWith(`/${qi}`))continue;let a=s.split("/")[0];if(jE.some(c=>a===c)||s===".DS_Store"||s.endsWith("/.DS_Store"))continue;let l=await GE(n);r.push({relativePath:s,absolutePath:n,content:l});}return r.sort((n,o)=>n.relativePath.localeCompare(o.relativePath))}i(gf,"listSupportingFiles");async function hf(t){let e=join(t,qi),r=await I(e);if(!r)return null;let{frontmatter:n,body:o}=O(r),s=await gf(t),a=typeof n.name=="string"?UE(n.name):"";return {source:e,name:a||basename(t),description:typeof n.description=="string"?n.description:"",body:o,supportingFiles:s}}i(hf,"parseSkillDirectory");async function go(t){let e;try{e=await readdir(t,{withFileTypes:!0});}catch{return []}let r=[];for(let n of e){if(!n.isDirectory()||n.name.startsWith("_"))continue;let o=join(t,n.name),s=join(o,qi),a=await I(s);if(!a)continue;let{frontmatter:l,body:c}=O(a),m=await gf(o);r.push({source:s,name:n.name,description:typeof l.description=="string"?l.description:"",body:c,supportingFiles:m});}return r.sort((n,o)=>n.name.localeCompare(o.name))}i(go,"parseSkills");E();function yf(t){return t===null||typeof t!="object"||Array.isArray(t)?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[1]=="string"))}i(yf,"parseStringMap");function WE(t){if(!t||typeof t!="object")return null;let e=t,r=typeof e.type=="string"?e.type:"stdio",n=yf(e.env),o=typeof e.description=="string"?e.description:void 0,s=typeof e.url=="string"?e.url:"";if(s)return {...o!==void 0&&{description:o},type:r,url:s,headers:yf(e.headers),env:n};let a=typeof e.command=="string"?e.command:"";if(!a)return null;let l=Array.isArray(e.args)?e.args.filter(c=>typeof c=="string"):[];return {...o!==void 0&&{description:o},type:r,command:a,args:l,env:n}}i(WE,"parseServer");async function Qi(t){let e=await I(t);if(!e)return null;let r;try{r=JSON.parse(e);}catch{return null}if(!r||typeof r!="object")return null;let n=r.mcpServers;if(n===void 0||typeof n!="object"||n===null)return null;let o={};for(let[s,a]of Object.entries(n)){let l=WE(a);l&&(o[s]=l);}return {mcpServers:o}}i(Qi,"parseMcp");E();function Sc(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}i(Sc,"ensureStringArray");async function ta(t){let e=await I(t);if(e===null)return null;if(!e.trim())return {allow:[],deny:[],ask:[]};let r;try{r=parse(e);}catch{return null}if(!r||typeof r!="object")return null;let n=r,o=Sc(n.allow),s=Sc(n.deny),a=Sc(n.ask);return {allow:o,deny:s,ask:a}}i(ta,"parsePermissions");E();ce();var HE=["command","prompt"];function zE(t){if(!t||typeof t!="object")return null;let e=t,r=e.matcher;if(typeof r!="string")return null;let n=_c(e);if(!n)return null;let o=typeof e.type=="string"&&HE.includes(e.type)?e.type:void 0,s=typeof e.timeout=="number"&&Number.isFinite(e.timeout)?e.timeout:void 0,a=Ot(e)||void 0;return {matcher:r,command:n,...s!==void 0&&{timeout:s},...o&&{type:o},...a&&{prompt:a}}}i(zE,"toHookEntry");async function ea(t){let e=await I(t);if(e===null)return null;if(!e.trim())return {};let r;try{r=parse(e);}catch{return null}if(!r||typeof r!="object")return null;let n={},o=r;for(let[s,a]of Object.entries(o)){if(!Array.isArray(a))continue;let l=[];for(let c of a){let m=zE(c);m&&l.push(m);}l.length>0&&(n[s]=l);}return n}i(ea,"parseHooks");E();async function ra(t){let e=await I(t);if(e===null||!e.trim())return [];let r=e.split(/\r?\n/),n=[];for(let o of r){let s=o.trim();s===""||s.startsWith("#")||n.push(s);}return n}i(ra,"parseIgnore");E();async function Rn(t){let e=join(t,".agentsmesh"),r=await L(e)?e:t,[n,o,s,a,l,c,m,u]=await Promise.all([yn(join(r,"rules")),In(join(r,"commands")),_n(join(r,"agents")),go(join(r,"skills")),Qi(join(r,"mcp.json")),ta(join(r,"permissions.yaml")),ea(join(r,"hooks.yaml")),ra(join(r,"ignore"))]);return {rules:n,commands:o,agents:s,skills:a,mcp:l,permissions:c,hooks:m,ignore:u}}i(Rn,"loadCanonicalFiles");function Sf(t){return basename(t.source,".md")}i(Sf,"ruleSlug");function ho(t,e){let r=new Map(t.rules.map(u=>[Sf(u),u]));for(let u of e.rules)r.set(Sf(u),u);let n=new Map(t.commands.map(u=>[u.name,u]));for(let u of e.commands)n.set(u.name,u);let o=new Map(t.agents.map(u=>[u.name,u]));for(let u of e.agents)o.set(u.name,u);let s=new Map(t.skills.map(u=>[u.name,u]));for(let u of e.skills)s.set(u.name,u);let a=JE(t.mcp,e.mcp),l=YE(t.permissions,e.permissions),c=XE(t.hooks,e.hooks),m=ZE(t.ignore,e.ignore);return {rules:Array.from(r.values()),commands:Array.from(n.values()),agents:Array.from(o.values()),skills:Array.from(s.values()),mcp:a,permissions:l,hooks:c,ignore:m}}i(ho,"mergeCanonicalFiles");function JE(t,e){if(!t&&!e)return null;let r=t?.mcpServers??{},n=e?.mcpServers??{};return {mcpServers:{...r,...n}}}i(JE,"mergeMcp");function YE(t,e){if(!t&&!e)return null;let r=Rc(t?.allow??[],e?.allow??[]),n=Rc(t?.deny??[],e?.deny??[]),o=Rc(t?.ask??[],e?.ask??[]);return {allow:r,deny:n,ask:o}}i(YE,"mergePermissions");function Rc(t,e){let r=new Set(t),n=[...t];for(let o of e)r.has(o)||(r.add(o),n.push(o));return n}i(Rc,"mergeUniqueStrings");function XE(t,e){if(!t&&!e)return null;let r={},n=new Set([...Object.keys(t??{}),...Object.keys(e??{})]);for(let o of n){let s=e?.[o],a=t?.[o];r[o]=s!==void 0&&s.length>0?s:a??[];}return r}i(XE,"mergeHooks");function ZE(t,e){let r=new Set(t),n=[...t];for(let o of e)r.has(o)||(r.add(o),n.push(o));return n}i(ZE,"mergeIgnore");E();var _f=[{target:"claude-code",paths:["CLAUDE.md",".claude/rules",".claude/commands",".claude/agents",".claude/skills",".claude/settings.json",".claudeignore"]},{target:"cursor",paths:[".cursorrules",".cursor/rules",".cursor",".cursor/mcp.json"]},{target:"copilot",paths:[".github/copilot-instructions.md",".github/copilot",".github/instructions",".github/prompts",".github/skills",".github/agents",".github/hooks"]},{target:"gemini-cli",paths:["GEMINI.md",".gemini",".gemini/settings.json"]},{target:"codex-cli",paths:[".codex",".codex/config.toml","AGENTS.md","codex.md"]},{target:"windsurf",paths:[".windsurfrules",".windsurf",".windsurf/workflows"]},{target:"cline",paths:[".clinerules",".cline"]},{target:"continue",paths:[".continue",".continuerc.json"]},{target:"junie",paths:[".junie",".junie/guidelines.md"]},{target:"kiro",paths:[".kiro",".kiro/steering",".kiro/settings/mcp.json"]}];async function na(t){let e=null,r=0;for(let n of _f){let o=0;for(let s of n.paths)await L(join(t,s))&&o++;o>r&&(r=o,e=n.target);}return r>0?e:null}i(na,"detectNativeFormat");var Rf=_f.map(t=>t.paths[0]).filter(t=>t!==void 0);E();ym();lu();Vm();xu();Gm();tp();Cm();jm();Tu();Du();var dL={"claude-code":ba,cursor:el,copilot:za,"gemini-cli":ml,"codex-cli":$a,windsurf:Cl,cline:Ta,continue:Ga,junie:pl,kiro:fl};async function bi(t,e){let r=dL[e];if(!r)throw new Error(`No importer registered for native target: ${e}`);return r(t)}i(bi,"importNativeToCanonical");E();var yp="SKILL.md";async function to(t){if(!await L(t))return false;if(await L(join(t,yp)))return true;try{let e=await readdir(t,{withFileTypes:!0});for(let r of e)if(!(!r.isDirectory()||r.name.startsWith("."))&&await L(join(t,r.name,yp)))return !0}catch{return false}return false}i(to,"isSkillPackLayout");async function xi(t){if(!await L(t))return [];if(await L(join(t,yp))){let e=await hf(t);return e?[e]:[]}return go(t)}i(xi,"loadSkillsAtExtendPath");E();function yL(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(yL,"emptyCanonical");function IL(t){return t.rules.length===0&&t.commands.length===0&&t.agents.length===0&&t.skills.length===0&&t.mcp===null&&t.permissions===null&&t.hooks===null&&t.ignore.length===0}i(IL,"isCanonicalSliceEmpty");async function Al(t){if(!await L(t))throw new Error(`Path does not exist: ${t}`);let e=await stat(t);if(e.isDirectory())return {sliceRoot:t};if(!e.isFile()||!t.toLowerCase().endsWith(".md"))throw new Error(`Install path must be a directory or a .md file inside rules/, commands/, or agents/: ${t}`);let r=dirname(t),n=basename(r),s=basename(t).replace(/\.md$/i,"");if(n==="rules")return {sliceRoot:r,implicitPick:{rules:[s]}};if(n==="commands")return {sliceRoot:r,implicitPick:{commands:[s]}};if(n==="agents")return {sliceRoot:r,implicitPick:{agents:[s]}};throw new Error(`Single-file install only supports .md files under rules/, commands/, or agents/. Got: ${t}`)}i(Al,"normalizeSlicePath");async function SL(t){if(basename(t)==="rules")return yn(t);let r=join(t,"rules");return await L(r)?yn(r):[]}i(SL,"parseRulesAt");async function _L(t){if(basename(t)==="commands")return In(t);let r=join(t,"commands");return await L(r)?In(r):[]}i(_L,"parseCommandsAt");async function RL(t){if(basename(t)==="agents")return _n(t);let r=join(t,"agents");return await L(r)?_n(r):[]}i(RL,"parseAgentsAt");async function CL(t){if(await to(t))return xi(t);let e=join(t,"skills");return await to(e)?xi(e):[]}i(CL,"loadSkillsForPartialSlice");async function Tl(t){let e=join(t,".agentsmesh");if(await L(e))return Rn(t);let r=yL();if(r.rules=await SL(t),r.commands=await _L(t),r.agents=await RL(t),r.skills=await CL(t),IL(r))throw new Error(`No installable resources at ${t}. Expected .agentsmesh/, or rules/, commands/, agents/, or Anthropic-style skills (SKILL.md).`);return r}i(Tl,"loadCanonicalSliceAtPath");function kL(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(kL,"emptyCanonical");async function PC(t){let e=t.resolvedPath;if(!t.path){let o=join(e,".agentsmesh");if(!await L(o)){if(await to(e)){let a=await xi(e);return {...kL(),skills:a}}let s=t.target??await na(e);if(!s)throw new Error(`Extend "${t.name}": No supported agent configuration found in ${e}.
|
|
142
|
+
Expected one of: .agentsmesh/, ${Rf.join(", ")}.`);y.info(`[agentsmesh] Extend "${t.name}": ${t.target?"specified":"detected"} ${s} format, importing to .agentsmesh/...`),await bi(e,s);}return Rn(e)}let r=join(e,t.path);if(!await L(r))throw new Error(`Extend "${t.name}": path does not exist: ${r}`);if(t.target){let o=join(e,".agentsmesh");return await L(o)||(y.info(`[agentsmesh] Extend "${t.name}": path "${t.path}" with target "${t.target}" \u2014 importing at extend root, then loading canonical.`),await bi(e,t.target)),Rn(e)}let{sliceRoot:n}=await Al(r);try{return await Tl(n)}catch(o){let s=o instanceof Error?o.message:String(o),a=new Error(`Extend "${t.name}": ${s}`);throw o instanceof Error&&(a.cause=o),a}}i(PC,"loadCanonicalForExtend");function Ll(t,e,r,n){if(!r)return t;let o={...t};if(r.skills?.length&&e.includes("skills")){let s=new Set(r.skills),a=o.skills;o={...o,skills:a.filter(l=>s.has(l.name))};for(let l of r.skills)a.some(c=>c.name===l)||y.warn(`[agentsmesh] pick name "${l}" not found in skills from extend "${n}".`);}if(r.commands?.length&&e.includes("commands")){let s=new Set(r.commands),a=o.commands;o={...o,commands:a.filter(l=>s.has(l.name))};for(let l of r.commands)a.some(c=>c.name===l)||y.warn(`[agentsmesh] pick name "${l}" not found in commands from extend "${n}".`);}if(r.agents?.length&&e.includes("agents")){let s=new Set(r.agents),a=o.agents;o={...o,agents:a.filter(l=>s.has(l.name))};for(let l of r.agents)a.some(c=>c.name===l)||y.warn(`[agentsmesh] pick name "${l}" not found in agents from extend "${n}".`);}if(r.rules?.length&&e.includes("rules")){let s=new Set(r.rules),a=o.rules,l=i(c=>basename(c).replace(/\.md$/i,""),"stem");o={...o,rules:a.filter(c=>s.has(l(c.source)))};for(let c of r.rules)a.some(m=>l(m.source)===c)||y.warn(`[agentsmesh] pick name "${c}" not found in rules from extend "${n}".`);}return o}i(Ll,"applyExtendPick");E();var EL=["rules","commands","agents","skills"],us=z$1.enum(EL);var bL=z$1.enum(["github","gitlab","git","local"]),AC=z$1.object({name:z$1.string().min(1),source:z$1.string().min(1),version:z$1.string().optional(),source_kind:bL,installed_at:z$1.string(),updated_at:z$1.string(),features:z$1.array(mo).min(1),pick:Os.optional(),target:Jt.optional(),path:z$1.string().optional(),paths:z$1.array(z$1.string().min(1)).min(1).optional(),as:us.optional(),content_hash:z$1.string()});function TC(t){let e=hn(t);return e?e.kind==="github"?`github:${e.org}/${e.repo}`:e.kind==="gitlab"?`gitlab:${e.namespace}/${e.project}`:`git+${e.url}`:t.trim()}i(TC,"sourceIdentity");function PL(t,e){return e?t.length===e.length&&[...t].sort().every((r,n)=>r===[...e].sort()[n]):true}i(PL,"sameFeatures");async function Nl(t){let e=join(t,"pack.yaml"),r=await I(e);if(r===null)return null;try{let n=parse(r);return AC.parse(n)}catch{return null}}i(Nl,"readPackMetadata");async function NC(t,e,r){if(!await L(t))return null;let n=TC(e),o;try{o=await readdir(t,{withFileTypes:!0});}catch{return null}for(let s of o){if(!s.isDirectory())continue;let a=join(t,s.name),l=await Nl(a);if(l&&TC(l.source)===n&&l.target===r.target&&l.as===r.as&&PL(l.features,r.features))return {meta:l,packDir:a,name:l.name}}return null}i(NC,"findExistingPack");async function Dl(t){if(!await L(t))return [];let e;try{e=await readdir(t,{withFileTypes:!0});}catch{return []}let r=[];for(let n of e){if(!n.isDirectory())continue;let o=join(t,n.name),s=await Nl(o);s&&r.push({meta:s,packDir:o,name:s.name});}return r}i(Dl,"listPacks");function DC(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(DC,"emptyCanonical");async function AL(t){let[e,r,n,o,s,a,l,c]=await Promise.all([yn(join(t,"rules")),In(join(t,"commands")),_n(join(t,"agents")),go(join(t,"skills")),Qi(join(t,"mcp.json")),ta(join(t,"permissions.yaml")),ea(join(t,"hooks.yaml")),ra(join(t,"ignore"))]);return {...DC(),rules:e,commands:r,agents:n,skills:o,mcp:s,permissions:a,hooks:l,ignore:c}}i(AL,"loadPackCanonical");async function FC(t){let e=join(t,"packs"),r=await Dl(e),n=DC();for(let{meta:o,packDir:s}of r){let a=await AL(s),l=_p(a,o.features),c=Ll(l,o.features,o.pick,o.name);n=ho(n,c);}return n}i(FC,"loadPacksCanonical");var LL={rules:["rules"],commands:["commands"],agents:["agents"],skills:["skills"],mcp:["mcp"],permissions:["permissions"],hooks:["hooks"],ignore:["ignore"]};function _p(t,e){if(e.length===0)return vC();let r=new Set(e.flatMap(n=>LL[n]??[]));return {rules:r.has("rules")?t.rules:[],commands:r.has("commands")?t.commands:[],agents:r.has("agents")?t.agents:[],skills:r.has("skills")?t.skills:[],mcp:r.has("mcp")?t.mcp:null,permissions:r.has("permissions")?t.permissions:null,hooks:r.has("hooks")?t.hooks:null,ignore:r.has("ignore")?t.ignore:[]}}i(_p,"filterCanonicalByFeatures");function vC(){return {rules:[],commands:[],agents:[],skills:[],mcp:null,permissions:null,hooks:null,ignore:[]}}i(vC,"emptyCanonical");async function se(t,e,r={},n=join(e,".agentsmesh")){let o=await fo(t,e,{refreshCache:r.refreshRemoteCache===true}),s=vC();for(let c of o){let m=await PC(c),u=_p(m,c.features),p=Ll(u,c.features,c.pick,c.name);s=ho(s,p);}let a=await FC(n);s=ho(s,a);let l=await Rn(n);return s=ho(s,l),{canonical:s,resolvedExtends:o}}i(se,"loadCanonicalWithExtends");E();function Ti(t){return createHash("sha256").update(t,"utf8").digest("hex")}i(Ti,"hashContent");async function Fl(t){try{let e=await readFile(t,"utf8");return Ti(e)}catch(e){if(e instanceof Error&&"code"in e&&e.code==="ENOENT")return null;throw e}}i(Fl,"hashFile");var Cp=".lock",ML=[t=>t.startsWith("rules/")&&t.endsWith(".md"),t=>t.startsWith("commands/")&&t.endsWith(".md"),t=>t.startsWith("agents/")&&t.endsWith(".md"),t=>t.match(/^skills\/[^/]+\/.+$/)!==null,t=>t==="mcp.json",t=>t==="permissions.yaml",t=>t==="hooks.yaml",t=>t==="ignore"];function GL(t){return t.startsWith("packs/")?false:ML.some(e=>e(t))}i(GL,"isCanonical");var jL={rules:i(t=>t.startsWith("rules/"),"rules"),commands:i(t=>t.startsWith("commands/"),"commands"),agents:i(t=>t.startsWith("agents/"),"agents"),skills:i(t=>/^skills\/[^/]+\/.+$/.test(t),"skills"),mcp:i(t=>t==="mcp.json","mcp"),permissions:i(t=>t==="permissions.yaml","permissions"),hooks:i(t=>t==="hooks.yaml","hooks"),ignore:i(t=>t==="ignore","ignore")};async function vl(t){let e=join(t,Cp),r=await I(e);if(r===null)return null;try{let n=parse(r);return !n||typeof n!="object"?null:{generatedAt:String(n.generated_at??""),generatedBy:String(n.generated_by??""),libVersion:String(n.lib_version??""),checksums:n.checksums&&typeof n.checksums=="object"?n.checksums:{},extends:n.extends&&typeof n.extends=="object"?n.extends:{},packs:n.packs&&typeof n.packs=="object"?n.packs:{}}}catch{return null}}i(vl,"readLock");async function Li(t,e){let r=join(t,Cp),n={generated_at:e.generatedAt,generated_by:e.generatedBy,lib_version:e.libVersion,checksums:e.checksums,extends:e.extends,packs:e.packs},o=`# Auto-generated. DO NOT EDIT MANUALLY.
|
|
143
143
|
# Tracks the state of all config files for team conflict resolution.
|
|
144
144
|
|
|
145
|
-
`+stringify(n);await
|
|
146
|
-
`),a=Ti(s),l=a.startsWith("sha256:")?a:`sha256:${a}`;e[r.name]=`local:${l}`;}return e}i(eo,"buildExtendChecksums");rt();Lr();function vL(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}i(vL,"addDirectoryMapping");function NC(t,e,r){let n=posix.dirname(e),o=posix.dirname(r);for(;n!==".agentsmesh/skills"&&n!==".";)vL(t,n,o),n=posix.dirname(n),o=posix.dirname(o);}i(NC,"addSkillDirectoryMappings");rt();function DC(t,e,r="project"){let n=dt(t,r);if(!n)return null;if(e.root)return n.rootInstructionPath??null;if(e.targets.length>0&&!e.targets.includes(t))return null;let o=basename(e.source,".md");return n.paths.rulePath(o,e)}i(DC,"ruleTargetPath");function FC(t,e,r,n="project"){let o=dt(t,n);return o?o.paths.commandPath(e,r):null}i(FC,"commandTargetPath");function vC(t,e,r,n="project"){let o=dt(t,n);return o?o.paths.agentPath(e,r):null}i(vC,"agentTargetPath");wt();pt();Pt();rt();function GL(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}i(GL,"addDirectoryMapping");function Di(t,e,r,n="project"){let o=new Map;for(let a of e.rules){let l=DC(t,a,n);l&&o.set(`.agentsmesh/rules/${basename(a.source)}`,l);}for(let a of e.commands){let l=FC(t,a.name,r,n);l&&o.set(`.agentsmesh/commands/${a.name}.md`,l);}for(let a of e.agents){let l=vC(t,a.name,r,n);l&&o.set(`.agentsmesh/agents/${a.name}.md`,l);}let s=wi(t,n);if(!s)return o;for(let a of e.skills){GL(o,`.agentsmesh/skills/${a.name}`,`${s}/${a.name}`),o.set(`.agentsmesh/skills/${a.name}/SKILL.md`,`${s}/${a.name}/SKILL.md`);for(let l of a.supportingFiles){let c=l.relativePath.replace(/\\/g,"/"),m=`.agentsmesh/skills/${a.name}/${c}`,u=`${s}/${a.name}/${c}`;o.set(m,u),NC(o,m,u);}}return o}i(Di,"buildReferenceMap");ar();var ro="AGENTS.md";function jL(t){return t.target===ks&&t.path.endsWith(ro)}i(jL,"isCodexAgents");function $C(t){return t.target==="windsurf"&&t.path.endsWith(ro)}i($C,"isWindsurfAgents");function MC(t){return t.target==="cline"&&t.path.endsWith(ro)}i(MC,"isClineAgents");function _p(t){return t.target==="cursor"&&t.path.endsWith(ro)}i(_p,"isCursorAgents");function Cp(t){return t.target==="gemini-cli"&&t.path.endsWith(ro)}i(Cp,"isGeminiAgents");function UL(t){return t.target==="kiro"&&t.path.endsWith(ro)}i(UL,"isKiroAgents");function WL(t){return _p(t)||Cp(t)}i(WL,"isCompatibilityAgents");function Gl(t,e,r,n){let o=n.get(t);if(o)return o;let s=new Map;for(let[a,l]of Di(t,e,r))s.has(l)||s.set(l,a);return n.set(t,s),s}i(Gl,"reverseReferenceMap");function jl(t,e){let r=[...e.entries()].sort(([o],[s])=>s.length-o.length),n=t;for(let[o,s]of r)n=n.split(o).join(s);return n}i(jl,"normalizeContent");function BL(t,e,r,n,o){let s=Gl(t.target,r,n,o),a=Gl(e.target,r,n,o);return jl(t.content,s)===jl(e.content,a)}i(BL,"hasEquivalentCanonicalContent");function KL(t,e,r,n,o){let s=Gl(t.target,r,n,o),a=Gl(e.target,r,n,o),l=jl(t.content,s).trim(),c=jl(e.content,a).trim();return l.length>c.length&&l.includes(c)}i(KL,"hasCanonicalSupersetContent");function GC(t,e,r){let n=new Map;for(let a of t){if(!a.path.endsWith(ro))continue;let l=n.get(a.path)??new Set;l.add(a.target),n.set(a.path,l);}let o=new Map;for(let a of t)jL(a)&&o.set(a.path,a);let s=new Map;return t.filter(a=>{if(_p(a)){let c=n.get(a.path);if(c&&[...c].some(m=>m!=="cursor"))return false}if(Cp(a)){let c=n.get(a.path);if(c&&[...c].some(m=>m!=="cursor"&&m!=="gemini-cli"))return false}if(!$C(a)&&!MC(a)&&!_p(a)&&!Cp(a)&&!UL(a))return true;let l=o.get(a.path);return l?WL(a)||$C(a)||MC(a)?false:!(BL(l,a,e,r,s)||KL(l,a,e,r,s)):true})}i(GC,"preferEquivalentCodexAgents");Dt();up();Dt();Dt();rt();function jC(t,e,r,n){let o=n.normalize(e),s=n.normalize(r);t.set(o,s),t.set(`${o}/`,`${s}/`);}i(jC,"addPackAbsoluteDirMapping");function HL(t){let e=new Set;for(let{relativePath:r}of t){let n=r.replace(/\\/g,"/"),o=dirname(n);for(;o!=="."&&o.length>0;){e.add(o);let s=dirname(o);if(s===o)break;o=s;}}return [...e]}i(HL,"skillSupportingDirPrefixes");function UC(t,e,r,n,o){let s=wi(e,o);if(!s)return;let a=J(n),l=a.join(n,".agentsmesh","packs");for(let c of r.skills){let m=dirname(c.source);if(!m.startsWith(l))continue;let u=a.normalize(a.join(n,s,c.name));jC(t,m,u,a),t.set(a.normalize(c.source),a.normalize(a.join(u,"SKILL.md")));for(let p of c.supportingFiles){let d=a.normalize(a.join(u,p.relativePath));t.set(a.normalize(p.absolutePath),d);}for(let p of HL(c.supportingFiles))jC(t,a.join(m,p),a.join(u,p),a);}}i(UC,"addPackSkillArtifactMappings");Dt();function zL(t){return `.agentsmesh/rules/${basename(t.source)}`}i(zL,"canonicalRulePath");function VL(t){return `.github/instructions/${basename(t.source,".md")}.instructions.md`}i(VL,"copilotInstructionsPath");function BC(t,e,r,n,o){if(t!=="copilot"||!n?.startsWith(".github/instructions/"))return;let s=J(r);for(let a of o.rules)a.root||a.globs.length===0||e.set(s.normalize(s.join(r,zL(a))),s.normalize(s.join(r,VL(a))));}i(BC,"applyCopilotInstructionArtifactRefs");rt();function Ul(t){return t?(t.outputFamilies??[]).filter(e=>e.kind==="additional").flatMap(e=>[...e.explicitPaths??[]]):[]}i(Ul,"getAdditionalRootDecorationPaths");function KC(t,e){for(let r of t?.outputFamilies??[])if(r.pathPrefix!==void 0&&e.startsWith(r.pathPrefix)||r.explicitPaths?.includes(e))return r.id;return "default"}i(KC,"resolveRewriteFamilyId");function wp(t,e){e!==void 0&&e.length>0&&!t.includes(e)&&t.push(e);}i(wp,"pushUnique");function HC(t,e,r,n){let o=[],s=r.get(`.agentsmesh/rules/${basename(e.source)}`);wp(o,s);let a=dt(t,n);if(e.root)for(let l of Ul(a))wp(o,l);for(let l of a?.extraRuleOutputPaths?.(e,{refs:r,scope:n})??[])wp(o,l);return o}i(HC,"extraRuleOutputPaths");rt();function zC(t,e,r,n,o,s){if(e!=="global")return;let a=dt(t,e);if(!a?.mirrorGlobalPath)return;let l=a.mirrorGlobalPath(r,s??[]),c=l===null?[]:Array.isArray(l)?l:[l];for(let m of c)m!==r&&o.set(m,n);}i(zC,"addGlobalSkillMirrorSourceEntry");function YL(t){return `.agentsmesh/commands/${t.name}.md`}i(YL,"canonicalCommandPath");function XL(t){return `.agentsmesh/agents/${t.name}.md`}i(XL,"canonicalAgentPath");function ZL(t){return `.agentsmesh/skills/${t.name}/SKILL.md`}i(ZL,"canonicalSkillPath");function VC(t,e,r,n,o,s){let a=s?.scope??"project",l=J(n),c=new Map([...Di(t,e,r,a)].map(([m,u])=>[l.normalize(l.join(n,m)),l.normalize(l.join(n,u))]));return BC(t,c,n,o,e),UC(c,t,e,n,a),c}i(VC,"buildArtifactPathMap");function JC(t,e,r,n="project",o){let s=Di(t,e,r,n),a=new Map;for(let l of e.rules)for(let c of HC(t,l,s,n))a.set(c,l.source);for(let l of e.commands){let c=s.get(YL(l));c&&a.set(c,l.source);}for(let l of e.agents){let c=s.get(XL(l));c&&a.set(c,l.source);}for(let l of e.skills){let c=s.get(ZL(l));c&&(a.set(c,l.source),zC(t,n,c,l.source,a,o));for(let m of l.supportingFiles){let u=`.agentsmesh/skills/${l.name}/${m.relativePath.replace(/\\/g,"/")}`,p=s.get(u);p&&(a.set(p,m.absolutePath),zC(t,n,p,m.absolutePath,a,o));}}return a}i(JC,"buildOutputSourceMap");rt();Rc();function tN(t,e){if(!e)return null;for(let r of e){let n=Nt(r);if(n?.sharedArtifacts){for(let[o,s]of Object.entries(n.sharedArtifacts))if(s==="owner"&&t.startsWith(o))return r}}return null}i(tN,"findSharedArtifactOwner");function YC(t,e,r){if(e==="global"){let n=tN(t.path,r);if(n)return n;let o=wf(t.path);if(o)return o}return t.target}i(YC,"artifactMapTargetForResult");function eN(t,e){return `${t}\0${(e??[]).join(",")}`}i(eN,"sourceMapCacheKey");function Op(t,e){let r=J(t),n=new Set;for(let o of e){let s=r.join(t,o.path);n.add(s);let a=r.dirname(s);for(;a.startsWith(t)&&!n.has(a)&&(n.add(a),a!==t);)a=r.dirname(a);}return n}i(Op,"collectPlannedPaths");function rN(t,e,r){let n=dt(t.target,e),o=KC(n,t.path);if(o!=="default")return `${t.target}:${o}`;let s=YC(t,e,r);return s===t.target?t.target:`${t.target}~via~${s}`}i(rN,"artifactCacheKey");function XC(t,e,r,n,o="project",s){let a=Op(n,t),l=new Map,c=new Map;return t.map(m=>{let u=eN(m.target,s),d=(c.get(u)??(()=>{let y=JC(m.target,e,r,o,s);return c.set(u,y),y})()).get(m.path);if(!d)return m;let g=YC(m,o,s),h=rN(m,o,s),C=l.get(h)??(()=>{let y=VC(g,e,r,n,m.path,{scope:o});return l.set(h,y),y})(),_=bl({content:m.content,projectRoot:n,sourceFile:d,destinationFile:J(n).join(n,m.path),translatePath:i(y=>C.get(y)??y,"translatePath"),pathExists:i(y=>a.has(y)||existsSync(y),"pathExists"),explicitCurrentDirLinks:true,rewriteBarePathTokens:true,scope:o,pathIsDirectory:i(y=>{try{return statSync(y).isDirectory()}catch{return false}},"pathIsDirectory")});return _.content===m.content?m:{...m,content:_.content}})}i(XC,"rewriteGeneratedReferences");Dt();fn();var oN=/!?\[[^\]]*\]\(([^)]+)\)/g,sN=/^\s*\[[^\]\n]+\]:\s*(?:<([^>\n]*)>|(\S+))/gm;function iN(t){return t.endsWith(".md")||t.endsWith(".mdc")}i(iN,"isMarkdownLikeOutput");function aN(t,e){return e.some(([r,n])=>t>=r&&t<n)}i(aN,"isOffsetInRanges");function lN(t){let e=t.trim(),r=/^(.*?)\s+(["'])([\s\S]*?)\2\s*$/.exec(e);return r?.[1]!==void 0&&(e=r[1].trim()),e.startsWith("<")&&e.endsWith(">")&&(e=e.slice(1,-1).trim()),e}i(lN,"parseMarkdownLinkDestination");function cN(t){let e=t.trim();return !e||e.startsWith("#")||/^https?:\/\//i.test(e)||/^mailto:/i.test(e)||/^data:/i.test(e)||/^javascript:/i.test(e)||/^ftp:/i.test(e)?true:/^[a-zA-Z]:[\\/]/.test(e)?false:!!/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(e)}i(cN,"shouldSkipLocalValidation");function mN(t,e){if(e.has(t))return true;try{let r=statSync(t);return r.isFile()||r.isDirectory()}catch{return false}}i(mN,"pathExistsForGenerate");function uN(t,e,r){let o=lN(t).split("#")[0]??"",{candidate:s}=is(o),a=s,l=as.exec(a);l&&(a=a.slice(0,l.index));let c;try{c=decodeURIComponent(a);}catch{c=a;}if(cN(c))return [];let m=Oi(c,e,r);if(m.length===0){let p=J(e),d=j(e,r);m=[j(e,p.join(p.dirname(d),c)),j(e,p.join(e,c))];}let u=[];for(let p of m)for(let d of Ei(e,p)){let g=j(e,d);u.includes(g)||u.push(g);}return u}i(uN,"resolveMarkdownLinkTargets");function pN(t,e){let r=Op(e,t),n=[];for(let o of t){if(!iN(o.path))continue;let s=j(e,J(e).join(e,o.path)),a=El(o.content),l=i((c,m)=>{if(aN(m,a))return;let u=uN(c,e,s);u.length!==0&&(u.some(p=>mN(p,r))||n.push({generatePath:o.path,target:o.target,rawLink:c.trim(),checkedPaths:u}));},"visitDestination");for(let c of o.content.matchAll(oN)){let m=c[1];m!==void 0&&l(m,c.index??0);}for(let c of o.content.matchAll(sN)){let m=(c[1]??c[2]??"").trim();m&&l(m,c.index??0);}}return n}i(pN,"findBrokenMarkdownLinks");function ZC(t,e){let r=pN(t,e);if(r.length===0)return;let n=r.map(o=>` ${o.generatePath} (${o.target}): "${o.rawLink}" \u2192 not found (tried: ${o.checkedPaths.join(", ")})`);throw new Error(`Generated markdown contains broken local links:
|
|
145
|
+
`+stringify(n);await _(r,o);}i(Li,"writeLock");async function vr(t){if(!await L(t))return {};let e=await P(t),r={};for(let n of e){let o=relative(t,n).replace(/\\/g,"/");if(o===Cp||!GL(o))continue;let s=await Fl(n);s!==null&&(r[o]=s.startsWith("sha256:")?s:`sha256:${s}`);}return r}i(vr,"buildChecksums");function $l(t,e,r){if(r.length===0)return [];let n=r.map(a=>jL[a]).filter(a=>a!==void 0);if(n.length===0)return [];let o=new Set([...Object.keys(t),...Object.keys(e)]),s=[];for(let a of o)n.some(l=>l(a))&&t[a]!==e[a]&&s.push(a);return s}i($l,"detectLockedFeatureViolations");async function Ni(t){let e=await Dl(t),r={};for(let{meta:n}of e)r[n.name]=n.content_hash;return r}i(Ni,"buildPackChecksums");async function eo(t){let e={};for(let r of t){if(r.version!==void 0){e[r.name]=r.version;continue}let n=join(r.resolvedPath,".agentsmesh"),o=await vr(n),s=Object.keys(o).sort().map(c=>`${c}:${o[c]}`).join(`
|
|
146
|
+
`),a=Ti(s),l=a.startsWith("sha256:")?a:`sha256:${a}`;e[r.name]=`local:${l}`;}return e}i(eo,"buildExtendChecksums");rt();sr();function UL(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}i(UL,"addDirectoryMapping");function $C(t,e,r){let n=posix.dirname(e),o=posix.dirname(r);for(;n!==".agentsmesh/skills"&&n!==".";)UL(t,n,o),n=posix.dirname(n),o=posix.dirname(o);}i($C,"addSkillDirectoryMappings");rt();function MC(t,e,r="project"){let n=dt(t,r);if(!n)return null;if(e.root)return n.rootInstructionPath??null;if(e.targets.length>0&&!e.targets.includes(t))return null;let o=posix.basename(e.source.replace(/\\/g,"/"),".md");return n.paths.rulePath(o,e)}i(MC,"ruleTargetPath");function GC(t,e,r,n="project"){let o=dt(t,n);return o?o.paths.commandPath(e,r):null}i(GC,"commandTargetPath");function jC(t,e,r,n="project"){let o=dt(t,n);return o?o.paths.agentPath(e,r):null}i(jC,"agentTargetPath");wt();pt();Pt();rt();function KL(t,e,r){t.set(e,r),t.set(`${e}/`,`${r}/`);}i(KL,"addDirectoryMapping");function Di(t,e,r,n="project"){let o=new Map;for(let a of e.rules){let l=MC(t,a,n);l&&o.set(`.agentsmesh/rules/${basename(a.source)}`,l);}for(let a of e.commands){let l=GC(t,a.name,r,n);l&&o.set(`.agentsmesh/commands/${a.name}.md`,l);}for(let a of e.agents){let l=jC(t,a.name,r,n);l&&o.set(`.agentsmesh/agents/${a.name}.md`,l);}let s=wi(t,n);if(!s)return o;for(let a of e.skills){KL(o,`.agentsmesh/skills/${a.name}`,`${s}/${a.name}`),o.set(`.agentsmesh/skills/${a.name}/SKILL.md`,`${s}/${a.name}/SKILL.md`);for(let l of a.supportingFiles){let c=l.relativePath.replace(/\\/g,"/"),m=`.agentsmesh/skills/${a.name}/${c}`,u=`${s}/${a.name}/${c}`;o.set(m,u),$C(o,m,u);}}return o}i(Di,"buildReferenceMap");lr();var ro="AGENTS.md";function HL(t){return t.target===ks&&t.path.endsWith(ro)}i(HL,"isCodexAgents");function UC(t){return t.target==="windsurf"&&t.path.endsWith(ro)}i(UC,"isWindsurfAgents");function WC(t){return t.target==="cline"&&t.path.endsWith(ro)}i(WC,"isClineAgents");function kp(t){return t.target==="cursor"&&t.path.endsWith(ro)}i(kp,"isCursorAgents");function wp(t){return t.target==="gemini-cli"&&t.path.endsWith(ro)}i(wp,"isGeminiAgents");function zL(t){return t.target==="kiro"&&t.path.endsWith(ro)}i(zL,"isKiroAgents");function VL(t){return kp(t)||wp(t)}i(VL,"isCompatibilityAgents");function Gl(t,e,r,n){let o=n.get(t);if(o)return o;let s=new Map;for(let[a,l]of Di(t,e,r))s.has(l)||s.set(l,a);return n.set(t,s),s}i(Gl,"reverseReferenceMap");function jl(t,e){let r=[...e.entries()].sort(([o],[s])=>s.length-o.length),n=t;for(let[o,s]of r)n=n.split(o).join(s);return n}i(jl,"normalizeContent");function JL(t,e,r,n,o){let s=Gl(t.target,r,n,o),a=Gl(e.target,r,n,o);return jl(t.content,s)===jl(e.content,a)}i(JL,"hasEquivalentCanonicalContent");function YL(t,e,r,n,o){let s=Gl(t.target,r,n,o),a=Gl(e.target,r,n,o),l=jl(t.content,s).trim(),c=jl(e.content,a).trim();return l.length>c.length&&l.includes(c)}i(YL,"hasCanonicalSupersetContent");function BC(t,e,r){let n=new Map;for(let a of t){if(!a.path.endsWith(ro))continue;let l=n.get(a.path)??new Set;l.add(a.target),n.set(a.path,l);}let o=new Map;for(let a of t)HL(a)&&o.set(a.path,a);let s=new Map;return t.filter(a=>{if(kp(a)){let c=n.get(a.path);if(c&&[...c].some(m=>m!=="cursor"))return false}if(wp(a)){let c=n.get(a.path);if(c&&[...c].some(m=>m!=="cursor"&&m!=="gemini-cli"))return false}if(!UC(a)&&!WC(a)&&!kp(a)&&!wp(a)&&!zL(a))return true;let l=o.get(a.path);return l?VL(a)||UC(a)||WC(a)?false:!(JL(l,a,e,r,s)||YL(l,a,e,r,s)):true})}i(BC,"preferEquivalentCodexAgents");Nt();dp();Nt();Nt();rt();function KC(t,e,r,n){let o=n.normalize(e),s=n.normalize(r);t.set(o,s),t.set(`${o}/`,`${s}/`);}i(KC,"addPackAbsoluteDirMapping");function XL(t){let e=new Set;for(let{relativePath:r}of t){let n=r.replace(/\\/g,"/"),o=dirname(n);for(;o!=="."&&o.length>0;){e.add(o);let s=dirname(o);if(s===o)break;o=s;}}return [...e]}i(XL,"skillSupportingDirPrefixes");function HC(t,e,r,n,o){let s=wi(e,o);if(!s)return;let a=J(n),l=a.join(n,".agentsmesh","packs");for(let c of r.skills){let m=dirname(c.source);if(!m.startsWith(l))continue;let u=a.normalize(a.join(n,s,c.name));KC(t,m,u,a),t.set(a.normalize(c.source),a.normalize(a.join(u,"SKILL.md")));for(let p of c.supportingFiles){let d=a.normalize(a.join(u,p.relativePath));t.set(a.normalize(p.absolutePath),d);}for(let p of XL(c.supportingFiles))KC(t,a.join(m,p),a.join(u,p),a);}}i(HC,"addPackSkillArtifactMappings");Nt();function ZL(t){return `.agentsmesh/rules/${basename(t.source)}`}i(ZL,"canonicalRulePath");function qL(t){return `.github/instructions/${basename(t.source,".md")}.instructions.md`}i(qL,"copilotInstructionsPath");function VC(t,e,r,n,o){if(t!=="copilot"||!n?.startsWith(".github/instructions/"))return;let s=J(r);for(let a of o.rules)a.root||a.globs.length===0||e.set(s.normalize(s.join(r,ZL(a))),s.normalize(s.join(r,qL(a))));}i(VC,"applyCopilotInstructionArtifactRefs");rt();function Ul(t){return t?(t.outputFamilies??[]).filter(e=>e.kind==="additional").flatMap(e=>[...e.explicitPaths??[]]):[]}i(Ul,"getAdditionalRootDecorationPaths");function JC(t,e){for(let r of t?.outputFamilies??[])if(r.pathPrefix!==void 0&&e.startsWith(r.pathPrefix)||r.explicitPaths?.includes(e))return r.id;return "default"}i(JC,"resolveRewriteFamilyId");function Ep(t,e){e!==void 0&&e.length>0&&!t.includes(e)&&t.push(e);}i(Ep,"pushUnique");function YC(t,e,r,n){let o=[],s=r.get(`.agentsmesh/rules/${basename(e.source)}`);Ep(o,s);let a=dt(t,n);if(e.root)for(let l of Ul(a))Ep(o,l);for(let l of a?.extraRuleOutputPaths?.(e,{refs:r,scope:n})??[])Ep(o,l);return o}i(YC,"extraRuleOutputPaths");rt();function XC(t,e,r,n,o,s){let a=dt(t,e);if(!a?.mirrorGlobalPath)return;let l=a.mirrorGlobalPath(r,s??[]),c=l===null?[]:Array.isArray(l)?l:[l];for(let m of c)m!==r&&o.set(m,n);}i(XC,"addSkillMirrorSourceEntry");function tN(t){return `.agentsmesh/commands/${t.name}.md`}i(tN,"canonicalCommandPath");function eN(t){return `.agentsmesh/agents/${t.name}.md`}i(eN,"canonicalAgentPath");function rN(t){return `.agentsmesh/skills/${t.name}/SKILL.md`}i(rN,"canonicalSkillPath");function ZC(t,e,r,n,o,s){let a=s?.scope??"project",l=J(n),c=new Map([...Di(t,e,r,a)].map(([m,u])=>[l.normalize(l.join(n,m)),l.normalize(l.join(n,u))]));return VC(t,c,n,o,e),HC(c,t,e,n,a),c}i(ZC,"buildArtifactPathMap");function qC(t,e,r,n="project",o){let s=Di(t,e,r,n),a=new Map;for(let l of e.rules)for(let c of YC(t,l,s,n))a.set(c,l.source);for(let l of e.commands){let c=s.get(tN(l));c&&a.set(c,l.source);}for(let l of e.agents){let c=s.get(eN(l));c&&a.set(c,l.source);}for(let l of e.skills){let c=s.get(rN(l));c&&(a.set(c,l.source),XC(t,n,c,l.source,a,o));for(let m of l.supportingFiles){let u=`.agentsmesh/skills/${l.name}/${m.relativePath.replace(/\\/g,"/")}`,p=s.get(u);p&&(a.set(p,m.absolutePath),XC(t,n,p,m.absolutePath,a,o));}}return a}i(qC,"buildOutputSourceMap");rt();sr();Cc();function sN(t,e){if(!e)return null;for(let r of e){let n=Z(r);if(n?.sharedArtifacts){for(let[o,s]of Object.entries(n.sharedArtifacts))if(s==="owner"&&t.startsWith(o))return r}}return null}i(sN,"findSharedArtifactOwner");function QC(t,e,r){if(e==="global"){let n=sN(t.path,r);if(n)return n;let o=Ef(t.path);if(o)return o}return t.target}i(QC,"artifactMapTargetForResult");function iN(t,e){return `${t}\0${(e??[]).join(",")}`}i(iN,"sourceMapCacheKey");function bp(t,e){let r=J(t),n=new Set;for(let o of e){let s=r.join(t,o.path);n.add(s);let a=r.dirname(s);for(;a.startsWith(t)&&!n.has(a)&&(n.add(a),a!==t);)a=r.dirname(a);}return n}i(bp,"collectPlannedPaths");function aN(t,e,r){let n=dt(t.target,e),o=JC(n,t.path);if(o!=="default")return `${t.target}:${o}`;let s=QC(t,e,r);return s===t.target?t.target:`${t.target}~via~${s}`}i(aN,"artifactCacheKey");function tk(t,e,r,n,o="project",s){let a=bp(n,t),l=new Map,c=new Map;return t.map(m=>{let u=iN(m.target,s),d=(c.get(u)??(()=>{let S=qC(m.target,e,r,o,s);return c.set(u,S),S})()).get(m.path);if(!d)return m;let g=QC(m,o,s),h=aN(m,o,s),R=l.get(h)??(()=>{let S=ZC(g,e,r,n,m.path,{scope:o});return l.set(h,S),S})(),C=bl({content:m.content,projectRoot:n,sourceFile:d,destinationFile:J(n).join(n,m.path),translatePath:i(S=>R.get(S)??S,"translatePath"),pathExists:i(S=>a.has(S)||existsSync(S),"pathExists"),explicitCurrentDirLinks:true,rewriteBarePathTokens:true,scope:o,pathIsDirectory:i(S=>{try{return statSync(S).isDirectory()}catch{return false}},"pathIsDirectory")});return C.content===m.content?m:{...m,content:C.content}})}i(tk,"rewriteGeneratedReferences");Nt();fn();var cN=/!?\[[^\]]*\]\(([^)]+)\)/g,mN=/^\s*\[[^\]\n]+\]:\s*(?:<([^>\n]*)>|(\S+))/gm;function uN(t){return t.endsWith(".md")||t.endsWith(".mdc")}i(uN,"isMarkdownLikeOutput");function pN(t,e){return e.some(([r,n])=>t>=r&&t<n)}i(pN,"isOffsetInRanges");function dN(t){let e=t.trim(),r=/^(.*?)\s+(["'])([\s\S]*?)\2\s*$/.exec(e);return r?.[1]!==void 0&&(e=r[1].trim()),e.startsWith("<")&&e.endsWith(">")&&(e=e.slice(1,-1).trim()),e}i(dN,"parseMarkdownLinkDestination");function fN(t){let e=t.trim();return !e||e.startsWith("#")||/^https?:\/\//i.test(e)||/^mailto:/i.test(e)||/^data:/i.test(e)||/^javascript:/i.test(e)||/^ftp:/i.test(e)?true:/^[a-zA-Z]:[\\/]/.test(e)?false:!!/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(e)}i(fN,"shouldSkipLocalValidation");function gN(t,e){if(e.has(t))return true;try{let r=statSync(t);return r.isFile()||r.isDirectory()}catch{return false}}i(gN,"pathExistsForGenerate");function hN(t,e,r){let o=dN(t).split("#")[0]??"",{candidate:s}=is(o),a=s,l=as.exec(a);l&&(a=a.slice(0,l.index));let c;try{c=decodeURIComponent(a);}catch{c=a;}if(fN(c))return [];let m=Oi(c,e,r);if(m.length===0){let p=J(e),d=j(e,r);m=[j(e,p.join(p.dirname(d),c)),j(e,p.join(e,c))];}let u=[];for(let p of m)for(let d of Ei(e,p)){let g=j(e,d);u.includes(g)||u.push(g);}return u}i(hN,"resolveMarkdownLinkTargets");function yN(t,e){let r=bp(e,t),n=[];for(let o of t){if(!uN(o.path))continue;let s=j(e,J(e).join(e,o.path)),a=El(o.content),l=i((c,m)=>{if(pN(m,a))return;let u=hN(c,e,s);u.length!==0&&(u.some(p=>gN(p,r))||n.push({generatePath:o.path,target:o.target,rawLink:c.trim(),checkedPaths:u}));},"visitDestination");for(let c of o.content.matchAll(cN)){let m=c[1];m!==void 0&&l(m,c.index??0);}for(let c of o.content.matchAll(mN)){let m=(c[1]??c[2]??"").trim();m&&l(m,c.index??0);}}return n}i(yN,"findBrokenMarkdownLinks");function ek(t,e){let r=yN(t,e);if(r.length===0)return;let n=r.map(o=>` ${o.generatePath} (${o.target}): "${o.rawLink}" \u2192 not found (tried: ${o.checkedPaths.join(", ")})`);throw new Error(`Generated markdown contains broken local links:
|
|
147
147
|
${n.join(`
|
|
148
148
|
`)}
|
|
149
|
-
Fix canonical sources or generators so every local link targets an existing file or folder.`)}i(ZC,"validateGeneratedMarkdownLinks");ar();var QC="AGENTS.md";function qC(t){switch(t){case "created":return 3;case "updated":return 2;case "unchanged":return 1;case "skipped":return 0}}i(qC,"statusRank");function dN(t,e){return qC(e.status)<=qC(t.status)?t:{...t,status:e.status,currentContent:e.currentContent??t.currentContent}}i(dN,"mergeDuplicateMetadata");function Wl(t){return t.trim()}i(Wl,"trimmedContent");function fN(t,e){if(!t.path.endsWith(QC)||t.path!==e.path)return null;let r=Wl(t.content),n=Wl(e.content);if(!r||!n)return null;let o=r.includes(n),s=n.includes(r);return o===s?null:o?t:e}i(fN,"richerAgentsResult");function gN(t,e){if(!t.path.endsWith(QC)||t.path!==e.path)return null;let r=t.target===ks?t:e.target===ks?e:null,n=r===t?e:t;return r&&Wl(r.content).length>Wl(n.content).length?r:null}i(gN,"richerCodexAgentsResult");function tk(t){let e=[];for(let r of t){let n=e.findIndex(s=>s.path===r.path);if(n===-1){e.push(r);continue}let o=e[n];if(o.content!==r.content){let s=fN(o,r);if(s){e[n]=s;continue}let a=gN(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]=dN(o,r);}return e}i(tk,"resolveOutputCollisions");function ek(t){let e=t.currentContent===void 0?"created":t.currentContent!==t.content?"updated":"unchanged";return t.status===e?t:{...t,status:e}}i(ek,"refreshResultStatus");b();rt();Lr();function nk(t,e){return t===null?"created":t!==e?"updated":"unchanged"}i(nk,"computeStatus");function hN(t,e,r){let n=rp(t,e,r);if(n!==null)return n;let o=Z(t);if(!o)return null;let s=r==="global"?o.globalSupport?.layout:o.project;return s?(n=s.rewriteGeneratedPath?s.rewriteGeneratedPath(e):e,n):null}i(hN,"resolveGeneratedOutputPath");async function Fi(t,e,r,n,o,s){let a=hN(e,r.path,o);if(a===null)return null;let l=await S(join(n,a)),c=t.findIndex(p=>p.path===a&&p.target===e),m=c>=0?t[c]:void 0,u=s?.mergeContent?.(l,m,r.content,a)??r.content;return c>=0&&t.splice(c,1),t.push({target:e,path:a,content:u,currentContent:l??void 0,status:nk(l,u)}),a}i(Fi,"emitGeneratedOutput");function Ep(t,e,r){return {capability:un(t,r)?.[e]??{level:"none"},scope:r}}i(Ep,"featureContext");async function no(t,e,r,n,o,s,a,l){if(o)for(let c of e){let m=l(c);if(!m)continue;let u=Ep(c,a,s);for(let p of m(r,u)){let d=await Fi(t,c,p,n,s);if(d===null)continue;let g=dt(c,s);if(g?.mirrorGlobalPath){let h=g.mirrorGlobalPath(d,e),C=h===null?[]:Array.isArray(h)?h:[h];for(let _ of C){let y=await S(join(n,_));t.push({target:c,path:_,content:p.content,currentContent:y??void 0,status:nk(y,p.content)});}}}}}i(no,"generateFeature");Oc();rt();function yN(t){return t?.rootInstructionPath?[t.rootInstructionPath,...Ul(t)]:[]}i(yN,"rootDecorationPaths");function ok(t,e,r="project"){return t.map(n=>{let o=dt(n.target,r);if(!o)return n;let s=yN(o);if(s.length===0||!s.includes(n.path))return n;let l=n.path===o.rootInstructionPath&&o.renderPrimaryRootInstruction?o.renderPrimaryRootInstruction(e):n.content,c=Nf(l);return c===n.content?n:{...n,content:c}})}i(ok,"decoratePrimaryRootInstructions");rt();Lr();xu();function bp(t,e,r,n,o){let a=(Nt(t)??Z(t))?.mergeGeneratedOutputContent?.(e,r,n,o);if(a!=null)return a;let l=r?.content??e;return l!==null&&fR.includes(o)?hR(l,n):n}i(bp,"mergeOutputContent");async function sk(t,e,r,n,o){for(let s of e){let a=ss(s,"permissions",void 0,o)??Z(s)?.generators.generatePermissions;if(a)for(let l of a(r))await Fi(t,s,l,n,o,{mergeContent:i((c,m,u,p)=>bp(s,c,m,u,p),"mergeContent")});}}i(sk,"generatePermissionsFeature");async function ik(t,e,r,n,o,s){for(let a of e){let l=ss(a,"hooks",s,o)??Z(a)?.generators.generateHooks;if(!l)continue;let c=Ep(a,"hooks",o),m=[...l(r,c)],p=(Nt(a)??Z(a))?.postProcessHookOutputs;p&&(m=[...await p(n,r,m)]);for(let d of m)await Fi(t,a,d,n,o,{mergeContent:i((g,h,C,_)=>bp(a,g,h,C,_),"mergeContent")});}}i(ik,"generateHooksFeature");async function ak(t,e,r,n,o){for(let s of e){let l=(Nt(s)??Z(s))?.emitScopedSettings;if(!l)continue;let c=l(r,o);if(c.length!==0)for(let m of c)await Fi(t,s,m,n,o,{mergeContent:i((u,p,d,g)=>bp(s,u,p,d,g),"mergeContent")});}}i(ak,"generateScopedSettingsFeature");async function Bl(t){let{config:e,canonical:r,projectRoot:n,scope:o="project",targetFilter:s}=t,a=[...e.targets,...e.pluginTargets??[]],l=s?a.filter(x=>s.includes(x)):a;function c(x,K){return ss(x,K,e,o)}i(c,"resolveGen");let m=e.features.includes("rules"),u=e.features.includes("commands"),p=e.features.includes("agents"),d=e.features.includes("skills"),g=e.features.includes("mcp"),h=e.features.includes("permissions"),C=e.features.includes("hooks"),_=e.features.includes("ignore"),y=[];await no(y,l,r,n,m,o,"rules",x=>c(x,"rules")),await no(y,l,r,n,u,o,"commands",x=>c(x,"commands")),await no(y,l,r,n,p,o,"agents",x=>c(x,"agents")),await no(y,l,r,n,d,o,"skills",x=>c(x,"skills")),await no(y,l,r,n,g,o,"mcp",x=>c(x,"mcp")),h&&await sk(y,l,r,n,o),C&&await ik(y,l,r,n,o,e),await no(y,l,r,n,_,o,"ignore",x=>c(x,"ignore"));let O=new Set(e.features);for(let x of l){let M=(Nt(x)??Z(x))?.globalSupport?.scopeExtras;if(M){let W=await M(r,n,o,O);y.push(...W);}}(g||_||C||p||h)&&await ak(y,l,r,n,o);let D=ok(y,r,o),E=XC(D,r,e,n,o,l);return ZC(E,n),tk(GC(E.map(ek),r,e))}i(Bl,"generate");b();rt();async function lk(t,e=t){let r=await readdir(t,{withFileTypes:true}),n=[];for(let o of r){let s=join(t,o.name);if(o.isDirectory()){n.push(...await lk(s,e));continue}n.push(relative(e,s).replace(/\\/g,"/"));}return n}i(lk,"listFiles");async function _N(t,e,r){if(r.has(e))return;let n=join(t,e);await L(n)&&await rm$1(n,{recursive:true,force:true});}i(_N,"removeIfStale");async function ck(t){let e=new Set(t.expectedPaths),r=new Set,n=t.scope??"project";for(let o of t.targets){let s=ep(o,n);if(s){for(let a of s.files)r.add(a);for(let a of s.dirs){let l=join(t.projectRoot,a);if(await L(l))for(let c of await lk(l))r.add(`${a}/${c}`.replace(/\/+/g,"/"));}}}for(let o of r)await _N(t.projectRoot,o,e);}i(ck,"cleanupStaleGeneratedOutputs");b();Cs();var xN=6e4,PN=30,AN=200,TN=2e3;async function Pp(t,e={}){let r=e.retries??PN,n=e.retryDelayMs??AN,o=e.staleMs??xN;await mkdir(dirname(t),{recursive:true});let s=0;for(;;){let a=await LN(t);if(a)return a;let l=await NN(t);if(l!=="young"&&DN(l,o)){await rm$1(t,{recursive:true,force:true}).catch(()=>{});continue}if(s>=r){let c=l==="young"?null:l;throw new Yi(t,vN(c))}s++,await MN(n);}}i(Pp,"acquireProcessLock");async function LN(t){try{await mkdir(t,{recursive:!1});}catch(s){if(s.code==="EEXIST")return null;throw s}let e=join(t,"holder.json"),r={pid:process.pid,started:Date.now(),hostname:dk()};await writeFile(e,JSON.stringify(r),"utf-8");let n=false,o=i(()=>{if(!n){n=true;try{rmSync(t,{recursive:!0,force:!0});}catch{}}},"signalHandler");return process.once("SIGINT",o),process.once("SIGTERM",o),process.once("exit",o),async()=>{n||(n=true,process.off("SIGINT",o),process.off("SIGTERM",o),process.off("exit",o),await rm$1(t,{recursive:true,force:true}).catch(()=>{}));}}i(LN,"tryAcquire");async function NN(t){try{let e=await readFile(join(t,"holder.json"),"utf-8"),r=JSON.parse(e);return $N(r)?r:null}catch{try{let e=await stat(t);if(Date.now()-e.mtimeMs<TN)return "young"}catch{}return null}}i(NN,"inspectLock");function DN(t,e){return !t||Date.now()-t.started>e?true:t.hostname&&t.hostname!==dk()?false:!FN(t.pid)}i(DN,"isStale");function FN(t){if(!Number.isInteger(t)||t<=0)return false;try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}i(FN,"isProcessAlive");function vN(t){return t?`${t.hostname?`${t.hostname}:`:""}pid ${t.pid} (running ${Date.now()-t.started}ms)`:"unknown (unreadable lock metadata)"}i(vN,"describeHolder");function $N(t){if(typeof t!="object"||t===null)return false;let e=t;return typeof e.pid=="number"&&typeof e.started=="number"}i($N,"isLockMetadata");function dk(){return hostname()}i(dk,"getHostname");function MN(t){return new Promise(e=>setTimeout(e,t))}i(MN,"sleep");np();Lr();async function WN(t,e){let{source:r}=t,n;if(r.startsWith("file:")||r.startsWith("./")||r.startsWith("../")||r.startsWith("/")){let s=r.startsWith("file:")?fileURLToPath(r):resolve(e,r);n=pathToFileURL(s).href;}else n=r;return await import(n)}i(WN,"importPluginModule");function BN(t){return "descriptor"in t?[t.descriptor]:"descriptors"in t&&Array.isArray(t.descriptors)?t.descriptors:"default"in t?[t.default]:[]}i(BN,"extractDescriptors");async function Kl(t,e){let r;try{r=await WN(t,e);}catch(s){throw new Error(`Plugin '${t.source}' failed to import: ${s instanceof Error?s.message:String(s)}`,{cause:s})}let n=BN(r),o=[];for(let s of n)try{let a=wl(s);U_(a),o.push(a);}catch(a){throw new Error(`Plugin '${t.source}' exported an invalid descriptor: ${a instanceof Error?a.message:String(a)}`,{cause:a})}return {entry:t,descriptors:o}}i(Kl,"loadPlugin");async function fk(t,e){let r=[];return await Promise.all(t.map(async n=>{try{let o=await Kl(n,e);r.push(o);}catch(o){I.warn(`Plugin '${n.source}' failed to load: ${o instanceof Error?o.message:String(o)}`);}})),r}i(fk,"loadAllPlugins");async function se(t,e){t.plugins.length!==0&&await fk(t.plugins,e);}i(se,"bootstrapPlugins");rt();function Ap(t,e,r="project"){let n=[],o=[...t.targets,...t.pluginTargets??[]];for(let s of t.features){let a,l;switch(s){case "rules":l=e.rules.length,a="rules";break;case "commands":l=e.commands.length,a=l>0?`commands (${l})`:"commands";break;case "agents":l=e.agents.length,a=l>0?`agents (${l})`:"agents";break;case "skills":l=e.skills.length,a=l>0?`skills (${l})`:"skills";break;case "mcp":l=e.mcp?Object.keys(e.mcp.mcpServers).length:0,a=l>0?`mcp (${l} servers)`:"mcp";break;case "hooks":l=KN(e.hooks),a=l>0?`hooks (${l})`:"hooks";break;case "ignore":l=e.ignore.length>0?1:0,a="ignore";break;case "permissions":l=e.permissions&&(e.permissions.allow.length>0||e.permissions.deny.length>0)?1:0,a="permissions";break;default:continue}let c={};for(let m of o)c[m]=kl(m,s,t,r);if(n.push({feature:a,count:l,support:c}),s==="rules"){let m=e.rules.filter(u=>!u.root);if(m.length>0){let u={};for(let p of o)u[p]=kl(p,"additionalRules",t,r);n.push({feature:`additional rules (${m.length})`,count:m.length,support:u});}}}return n}i(Ap,"buildCompatibilityMatrix");function KN(t){if(!t)return 0;let e=0;for(let r of Object.values(t))Array.isArray(r)&&(e+=r.length);return e}i(KN,"countHooks");var HN={"claude-code":"Claude"};function gk(t){return HN[t]??t}i(gk,"matrixColumnLabel");ar();rt();var zN=["rules","additionalRules","commands","agents","skills","mcp","hooks","ignore","permissions"];function hk(t){return Object.fromEntries(zN.map(e=>[e,Object.fromEntries(ht.map(r=>{let o=un(r,t)?.[e];return [r,o??{level:"none"}]}))]))}i(hk,"buildSupportMatrix");hk("project");hk("global");var Tp={native:"\u2713",embedded:"\u25C6",partial:"\u25D0",none:"\u2013"},vi={green:"\x1B[32m",blue:"\x1B[34m",yellow:"\x1B[33m",dim:"\x1B[2m",reset:"\x1B[0m"};function VN(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}i(VN,"noColor");function JN(t,e){return VN()?e:`${t}${e}${vi.reset}`}i(JN,"colorize");var YN={native:vi.green,embedded:vi.blue,partial:vi.yellow,none:vi.dim};function yk(t){let e=Tp[t];return JN(YN[t],e)}i(yk,"coloredSymbol");function Lp(t,e){let r=process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!=="",n={cyan:"\x1B[36m",magenta:"\x1B[35m",bold:"\x1B[1m",dim:"\x1B[2m",green:"\x1B[32m",blue:"\x1B[34m",yellow:"\x1B[33m",reset:"\x1B[0m"},o=i((M,W)=>r?W:`${M}${W}${n.reset}`,"c"),s=i(M=>M.replace(/\u001b\[[0-9;]*m/g,"").length,"visibleLength"),a=i((M,W)=>{let q=s(M),mt=Math.max(0,W-q);return M+" ".repeat(mt)},"padWithColor"),l=Math.max(12,...e.map(M=>M.length)),c=e.map(M=>gk(M)),m=Math.max(8,l),u=Math.max(12,...t.map(M=>M.feature.length)),p=i(M=>o(n.dim,"\u250C"+M.map(W=>"\u2500".repeat(W)).join("\u252C")+"\u2510"),"border"),d=i(M=>o(n.dim,"\u251C"+M.map(W=>"\u2500".repeat(W)).join("\u253C")+"\u2524"),"sep"),g=i(M=>o(n.dim,"\u2514"+M.map(W=>"\u2500".repeat(W)).join("\u2534")+"\u2518"),"bottom"),h=[u,...e.map(()=>m)],C=p(h),_=[a(o(n.bold+n.cyan,"Feature"),u),...c.map(M=>a(o(n.bold+n.magenta,M),m))],y=o(n.dim,"\u2502")+_.join(o(n.dim,"\u2502"))+o(n.dim,"\u2502"),O=d(h),D=t.map(M=>{let W=[a(o(n.cyan,M.feature),u)];for(let q of e){let mt=M.support[q]??"none",et=r?Tp[mt]:yk(mt);W.push(a(` ${et} `,m));}return o(n.dim,"\u2502")+W.join(o(n.dim,"\u2502"))+o(n.dim,"\u2502")}),E=g(h),x=[C,y,O,...D,E];x.push("");let K=[o(n.green,"\u2713")+" = native",o(n.blue,"\u25C6")+" = embedded",o(n.yellow,"\u25D0")+" = partial",o(n.dim,"\u2013")+" = not supported"];return x.push(o(n.bold,"Legend: ")+K.join(" ")),x.join(`
|
|
150
|
-
`)}i(
|
|
149
|
+
Fix canonical sources or generators so every local link targets an existing file or folder.`)}i(ek,"validateGeneratedMarkdownLinks");lr();var nk="AGENTS.md";function rk(t){switch(t){case "created":return 3;case "updated":return 2;case "unchanged":return 1;case "skipped":return 0}}i(rk,"statusRank");function IN(t,e){return rk(e.status)<=rk(t.status)?t:{...t,status:e.status,currentContent:e.currentContent??t.currentContent}}i(IN,"mergeDuplicateMetadata");function Wl(t){return t.trim()}i(Wl,"trimmedContent");function SN(t,e){if(!t.path.endsWith(nk)||t.path!==e.path)return null;let r=Wl(t.content),n=Wl(e.content);if(!r||!n)return null;let o=r.includes(n),s=n.includes(r);return o===s?null:o?t:e}i(SN,"richerAgentsResult");function _N(t,e){if(!t.path.endsWith(nk)||t.path!==e.path)return null;let r=t.target===ks?t:e.target===ks?e:null,n=r===t?e:t;return r&&Wl(r.content).length>Wl(n.content).length?r:null}i(_N,"richerCodexAgentsResult");function ok(t){let e=[];for(let r of t){let n=e.findIndex(s=>s.path===r.path);if(n===-1){e.push(r);continue}let o=e[n];if(o.content!==r.content){let s=SN(o,r);if(s){e[n]=s;continue}let a=_N(o,r);if(a){e[n]=a;continue}throw new Error(`Conflicting generated outputs for ${r.path}: ${o.target} and ${r.target} produce different content.`)}e[n]=IN(o,r);}return e}i(ok,"resolveOutputCollisions");function sk(t){let e=t.currentContent===void 0?"created":t.currentContent!==t.content?"updated":"unchanged";return t.status===e?t:{...t,status:e}}i(sk,"refreshResultStatus");E();rt();sr();function ak(t,e){return t===null?"created":t!==e?"updated":"unchanged"}i(ak,"computeStatus");function RN(t,e,r){let n=op(t,e,r);if(n!==null)return n;let o=Z(t);if(!o)return null;let s=r==="global"?o.globalSupport?.layout:o.project;return s?(n=s.rewriteGeneratedPath?s.rewriteGeneratedPath(e):e,n):null}i(RN,"resolveGeneratedOutputPath");async function Fi(t,e,r,n,o,s){let a=RN(e,r.path,o);if(a===null)return null;let l=await I(join(n,a)),c=t.findIndex(p=>p.path===a&&p.target===e),m=c>=0?t[c]:void 0,u=s?.mergeContent?.(l,m,r.content,a)??r.content;return c>=0&&t.splice(c,1),t.push({target:e,path:a,content:u,currentContent:l??void 0,status:ak(l,u)}),a}i(Fi,"emitGeneratedOutput");function xp(t,e,r){return {capability:un(t,r)?.[e]??{level:"none"},scope:r}}i(xp,"featureContext");async function no(t,e,r,n,o,s,a,l){if(o)for(let c of e){let m=l(c);if(!m)continue;let u=xp(c,a,s);for(let p of m(r,u)){let d=await Fi(t,c,p,n,s);if(d===null)continue;let g=dt(c,s);if(g?.mirrorGlobalPath){let h=g.mirrorGlobalPath(d,e),R=h===null?[]:Array.isArray(h)?h:[h];for(let C of R){let S=await I(join(n,C));t.push({target:c,path:C,content:p.content,currentContent:S??void 0,status:ak(S,p.content)});}}}}}i(no,"generateFeature");bc();rt();function CN(t){return t?.rootInstructionPath?[t.rootInstructionPath,...Ul(t)]:[]}i(CN,"rootDecorationPaths");function lk(t,e,r="project"){return t.map(n=>{let o=dt(n.target,r);if(!o)return n;let s=CN(o);if(s.length===0||!s.includes(n.path))return n;let l=n.path===o.rootInstructionPath&&o.renderPrimaryRootInstruction?o.renderPrimaryRootInstruction(e):n.content,c=Ff(l);return c===n.content?n:{...n,content:c}})}i(lk,"decoratePrimaryRootInstructions");rt();sr();Au();function Pp(t,e,r,n,o){let a=(ne(t)??Z(t))?.mergeGeneratedOutputContent?.(e,r,n,o);if(a!=null)return a;let l=r?.content??e;return l!==null&&I_.includes(o)?__(l,n):n}i(Pp,"mergeOutputContent");async function ck(t,e,r,n,o){for(let s of e){let a=ss(s,"permissions",void 0,o)??Z(s)?.generators.generatePermissions;if(a)for(let l of a(r))await Fi(t,s,l,n,o,{mergeContent:i((c,m,u,p)=>Pp(s,c,m,u,p),"mergeContent")});}}i(ck,"generatePermissionsFeature");async function mk(t,e,r,n,o,s){for(let a of e){let l=ss(a,"hooks",s,o)??Z(a)?.generators.generateHooks;if(!l)continue;let c=xp(a,"hooks",o),m=[...l(r,c)],p=(ne(a)??Z(a))?.postProcessHookOutputs;p&&(m=[...await p(n,r,m)]);for(let d of m)await Fi(t,a,d,n,o,{mergeContent:i((g,h,R,C)=>Pp(a,g,h,R,C),"mergeContent")});}}i(mk,"generateHooksFeature");async function uk(t,e,r,n,o){for(let s of e){let l=(ne(s)??Z(s))?.emitScopedSettings;if(!l)continue;let c=l(r,o);if(c.length!==0)for(let m of c)await Fi(t,s,m,n,o,{mergeContent:i((u,p,d,g)=>Pp(s,u,p,d,g),"mergeContent")});}}i(uk,"generateScopedSettingsFeature");async function Bl(t){let{config:e,canonical:r,projectRoot:n,scope:o="project",targetFilter:s}=t,a=[...e.targets,...e.pluginTargets??[]],l=s?a.filter(x=>s.includes(x)):a;function c(x,K){return ss(x,K,e,o)}i(c,"resolveGen");let m=e.features.includes("rules"),u=e.features.includes("commands"),p=e.features.includes("agents"),d=e.features.includes("skills"),g=e.features.includes("mcp"),h=e.features.includes("permissions"),R=e.features.includes("hooks"),C=e.features.includes("ignore"),S=[];await no(S,l,r,n,m,o,"rules",x=>c(x,"rules")),await no(S,l,r,n,u,o,"commands",x=>c(x,"commands")),await no(S,l,r,n,p,o,"agents",x=>c(x,"agents")),await no(S,l,r,n,d,o,"skills",x=>c(x,"skills")),await no(S,l,r,n,g,o,"mcp",x=>c(x,"mcp")),h&&await ck(S,l,r,n,o),R&&await mk(S,l,r,n,o,e),await no(S,l,r,n,C,o,"ignore",x=>c(x,"ignore"));let w=new Set(e.features);for(let x of l){let M=(ne(x)??Z(x))?.globalSupport?.scopeExtras;if(M){let W=await M(r,n,o,w);S.push(...W);}}(g||C||R||p||h)&&await uk(S,l,r,n,o);let D=lk(S,r,o),b=tk(D,r,e,n,o,l);return ek(b,n),ok(BC(b.map(sk),r,e))}i(Bl,"generate");E();rt();async function pk(t,e=t){let r=await readdir(t,{withFileTypes:true}),n=[];for(let o of r){let s=join(t,o.name);if(o.isDirectory()){n.push(...await pk(s,e));continue}n.push(relative(e,s).replace(/\\/g,"/"));}return n}i(pk,"listFiles");async function EN(t,e,r){if(r.has(e))return;let n=join(t,e);await L(n)&&await rm$1(n,{recursive:true,force:true});}i(EN,"removeIfStale");async function dk(t){let e=new Set(t.expectedPaths),r=new Set,n=t.scope??"project";for(let o of t.targets){let s=np(o,n);if(s){for(let a of s.files)r.add(a);for(let a of s.dirs){let l=join(t.projectRoot,a);if(await L(l))for(let c of await pk(l))r.add(`${a}/${c}`.replace(/\/+/g,"/"));}}}for(let o of r)await EN(t.projectRoot,o,e);}i(dk,"cleanupStaleGeneratedOutputs");E();Cs();var NN=6e4,DN=30,FN=200,vN=2e3;async function Tp(t,e={}){let r=e.retries??DN,n=e.retryDelayMs??FN,o=e.staleMs??NN;await mkdir(dirname(t),{recursive:true});let s=0;for(;;){let a=await $N(t);if(a)return a;let l=await MN(t);if(l!=="young"&&GN(l,o)){await rm$1(t,{recursive:true,force:true}).catch(()=>{});continue}if(s>=r){let c=l==="young"?null:l;throw new Yi(t,UN(c))}s++,await BN(n);}}i(Tp,"acquireProcessLock");async function $N(t){try{await mkdir(t,{recursive:!1});}catch(s){if(s.code==="EEXIST")return null;throw s}let e=join(t,"holder.json"),r={pid:process.pid,started:Date.now(),hostname:yk()};await writeFile(e,JSON.stringify(r),"utf-8");let n=false,o=i(()=>{if(!n){n=true;try{rmSync(t,{recursive:!0,force:!0});}catch{}}},"signalHandler");return process.once("SIGINT",o),process.once("SIGTERM",o),process.once("exit",o),async()=>{n||(n=true,process.off("SIGINT",o),process.off("SIGTERM",o),process.off("exit",o),await rm$1(t,{recursive:true,force:true}).catch(()=>{}));}}i($N,"tryAcquire");async function MN(t){try{let e=await readFile(join(t,"holder.json"),"utf-8"),r=JSON.parse(e);return WN(r)?r:null}catch{try{let e=await stat(t);if(Date.now()-e.mtimeMs<vN)return "young"}catch{}return null}}i(MN,"inspectLock");function GN(t,e){return !t||Date.now()-t.started>e?true:t.hostname&&t.hostname!==yk()?false:!jN(t.pid)}i(GN,"isStale");function jN(t){if(!Number.isInteger(t)||t<=0)return false;try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}i(jN,"isProcessAlive");function UN(t){return t?`${t.hostname?`${t.hostname}:`:""}pid ${t.pid} (running ${Date.now()-t.started}ms)`:"unknown (unreadable lock metadata)"}i(UN,"describeHolder");function WN(t){if(typeof t!="object"||t===null)return false;let e=t;return typeof e.pid=="number"&&typeof e.started=="number"}i(WN,"isLockMetadata");function yk(){return hostname()}i(yk,"getHostname");function BN(t){return new Promise(e=>setTimeout(e,t))}i(BN,"sleep");sp();sr();async function VN(t,e){let{source:r}=t,n;if(r.startsWith("file:")||r.startsWith("./")||r.startsWith("../")||r.startsWith("/")){let s=r.startsWith("file:")?fileURLToPath(r):r,a=resolve(e,s);n=pathToFileURL(a).href;}else n=r;return await import(n)}i(VN,"importPluginModule");function JN(t){return "descriptor"in t?[t.descriptor]:"descriptors"in t&&Array.isArray(t.descriptors)?t.descriptors:"default"in t?[t.default]:[]}i(JN,"extractDescriptors");async function Kl(t,e){let r;try{r=await VN(t,e);}catch(s){throw new Error(`Plugin '${t.source}' failed to import: ${s instanceof Error?s.message:String(s)}`,{cause:s})}let n=JN(r),o=[];for(let s of n)try{let a=wl(s);HR(a),o.push(a);}catch(a){throw new Error(`Plugin '${t.source}' exported an invalid descriptor: ${a instanceof Error?a.message:String(a)}`,{cause:a})}return {entry:t,descriptors:o}}i(Kl,"loadPlugin");async function Ik(t,e){let r=[];return await Promise.all(t.map(async n=>{try{let o=await Kl(n,e);r.push(o);}catch(o){y.warn(`Plugin '${n.source}' failed to load: ${o instanceof Error?o.message:String(o)}`);}})),r}i(Ik,"loadAllPlugins");async function ie(t,e){t.plugins.length!==0&&await Ik(t.plugins,e);}i(ie,"bootstrapPlugins");rt();function Lp(t,e,r="project"){let n=[],o=[...t.targets,...t.pluginTargets??[]];for(let s of t.features){let a,l;switch(s){case "rules":l=e.rules.length,a="rules";break;case "commands":l=e.commands.length,a=l>0?`commands (${l})`:"commands";break;case "agents":l=e.agents.length,a=l>0?`agents (${l})`:"agents";break;case "skills":l=e.skills.length,a=l>0?`skills (${l})`:"skills";break;case "mcp":l=e.mcp?Object.keys(e.mcp.mcpServers).length:0,a=l>0?`mcp (${l} servers)`:"mcp";break;case "hooks":l=YN(e.hooks),a=l>0?`hooks (${l})`:"hooks";break;case "ignore":l=e.ignore.length>0?1:0,a="ignore";break;case "permissions":l=e.permissions&&(e.permissions.allow.length>0||e.permissions.deny.length>0)?1:0,a="permissions";break;default:continue}let c={};for(let m of o)c[m]=kl(m,s,t,r);if(n.push({feature:a,count:l,support:c}),s==="rules"){let m=e.rules.filter(u=>!u.root);if(m.length>0){let u={};for(let p of o)u[p]=kl(p,"additionalRules",t,r);n.push({feature:`additional rules (${m.length})`,count:m.length,support:u});}}}return n}i(Lp,"buildCompatibilityMatrix");function YN(t){if(!t)return 0;let e=0;for(let r of Object.values(t))Array.isArray(r)&&(e+=r.length);return e}i(YN,"countHooks");var XN={"claude-code":"Claude"};function Sk(t){return XN[t]??t}i(Sk,"matrixColumnLabel");lr();rt();var ZN=["rules","additionalRules","commands","agents","skills","mcp","hooks","ignore","permissions"];function _k(t){return Object.fromEntries(ZN.map(e=>[e,Object.fromEntries(ht.map(r=>{let o=un(r,t)?.[e];return [r,o??{level:"none"}]}))]))}i(_k,"buildSupportMatrix");_k("project");_k("global");var Np={native:"\u2713",embedded:"\u25C6",partial:"\u25D0",none:"\u2013"},vi={green:"\x1B[32m",blue:"\x1B[34m",yellow:"\x1B[33m",dim:"\x1B[2m",reset:"\x1B[0m"};function qN(){return process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!==""}i(qN,"noColor");function QN(t,e){return qN()?e:`${t}${e}${vi.reset}`}i(QN,"colorize");var tD={native:vi.green,embedded:vi.blue,partial:vi.yellow,none:vi.dim};function Rk(t){let e=Np[t];return QN(tD[t],e)}i(Rk,"coloredSymbol");function Dp(t,e){let r=process.env.NO_COLOR!==void 0&&process.env.NO_COLOR!=="",n={cyan:"\x1B[36m",magenta:"\x1B[35m",bold:"\x1B[1m",dim:"\x1B[2m",green:"\x1B[32m",blue:"\x1B[34m",yellow:"\x1B[33m",reset:"\x1B[0m"},o=i((M,W)=>r?W:`${M}${W}${n.reset}`,"c"),s=i(M=>M.replace(/\u001b\[[0-9;]*m/g,"").length,"visibleLength"),a=i((M,W)=>{let q=s(M),mt=Math.max(0,W-q);return M+" ".repeat(mt)},"padWithColor"),l=Math.max(12,...e.map(M=>M.length)),c=e.map(M=>Sk(M)),m=Math.max(8,l),u=Math.max(12,...t.map(M=>M.feature.length)),p=i(M=>o(n.dim,"\u250C"+M.map(W=>"\u2500".repeat(W)).join("\u252C")+"\u2510"),"border"),d=i(M=>o(n.dim,"\u251C"+M.map(W=>"\u2500".repeat(W)).join("\u253C")+"\u2524"),"sep"),g=i(M=>o(n.dim,"\u2514"+M.map(W=>"\u2500".repeat(W)).join("\u2534")+"\u2518"),"bottom"),h=[u,...e.map(()=>m)],R=p(h),C=[a(o(n.bold+n.cyan,"Feature"),u),...c.map(M=>a(o(n.bold+n.magenta,M),m))],S=o(n.dim,"\u2502")+C.join(o(n.dim,"\u2502"))+o(n.dim,"\u2502"),w=d(h),D=t.map(M=>{let W=[a(o(n.cyan,M.feature),u)];for(let q of e){let mt=M.support[q]??"none",et=r?Np[mt]:Rk(mt);W.push(a(` ${et} `,m));}return o(n.dim,"\u2502")+W.join(o(n.dim,"\u2502"))+o(n.dim,"\u2502")}),b=g(h),x=[R,S,w,...D,b];x.push("");let K=[o(n.green,"\u2713")+" = native",o(n.blue,"\u25C6")+" = embedded",o(n.yellow,"\u25D0")+" = partial",o(n.dim,"\u2013")+" = not supported"];return x.push(o(n.bold,"Legend: ")+K.join(" ")),x.join(`
|
|
150
|
+
`)}i(Dp,"formatMatrix");function vp(t){let e=[];if(t.rules.length>0&&e.push(`rules: ${t.rules.map(r=>basename(r.source)).join(", ")}`),t.commands.length>0&&e.push(`commands: ${t.commands.map(r=>basename(r.source)).join(", ")}`),t.agents.length>0&&e.push(`agents: ${t.agents.map(r=>basename(r.source)).join(", ")}`),t.skills.length>0&&e.push(`skills: ${t.skills.map(r=>r.name).join(", ")}`),t.mcp&&Object.keys(t.mcp.mcpServers).length>0&&e.push(`mcp: ${Object.keys(t.mcp.mcpServers).join(", ")}`),t.hooks){let r=Object.values(t.hooks).reduce((n,o)=>n+(Array.isArray(o)?o.length:0),0);r>0&&e.push(`hooks: ${r} entries in hooks.yaml`);}return t.ignore.length>0&&e.push("ignore: .agentsmesh/ignore"),t.permissions&&t.permissions.allow.length+t.permissions.deny.length>0&&e.push("permissions: .agentsmesh/permissions.yaml"),e.length===0?"":`
|
|
151
151
|
Per-file details:
|
|
152
152
|
`+e.join(`
|
|
153
153
|
`)+`
|
|
154
|
-
`}i(
|
|
155
|
-
`),t.verbose===true){let d=
|
|
156
|
-
`));}}i(oo,"runMatrix");function
|
|
157
|
-
`),n=
|
|
154
|
+
`}i(vp,"formatVerboseDetails");async function oo(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",o=t.targets,s=typeof o=="string"&&o?o.split(",").map(d=>d.trim()).filter(Boolean):void 0,{config:a,context:l}=await at(r,n);await ie(a,r);let{canonical:c}=await se(a,l.configDir,{},l.canonicalDir),m=s??[...a.targets,...a.pluginTargets??[]],u=Lp(a,c,n);if(u.length===0){y.info("No features enabled. Enable features in agentsmesh.yaml.");return}let p=Dp(u,m);if(process.stdout.write(p),process.stdout.write(`
|
|
155
|
+
`),t.verbose===true){let d=vp(c);d&&(process.stdout.write(d),process.stdout.write(`
|
|
156
|
+
`));}}i(oo,"runMatrix");function kk(t,e,r){let n=resolve(t),o=resolve(t,e);if(o===n||o.startsWith(`${n}${sep}`))return o;throw new Error(`Unsafe generated output path for ${r}: ${e}`)}i(kk,"ensurePathInsideRoot");function $p(t,e){return t==="global"?`~/${e}`:e}i($p,"formatDisplayPath");async function ds(t,e,r={}){if(t.features!==void 0)throw new Error("--features is no longer supported. Configure features in agentsmesh.yaml.");let n=e??process.cwd(),o=t.check===true,s=t["dry-run"]===true,a=t.force===true,l=t.global===true?"global":"project",c=t["refresh-cache"]===true||t["no-cache"]===true,m=t.targets,u=typeof m=="string"&&m?m.split(",").map(b=>b.trim()).filter(Boolean):void 0,{config:p,context:d}=await at(n,l);await ie(p,n);let g=p.collaboration?.lock_features??[];if(p.collaboration?.strategy==="lock"&&!a&&g.length>0){let b=await vl(d.canonicalDir);if(b!==null){let x=await vr(d.canonicalDir),K=$l(b.checksums,x,g);if(K.length>0){y.error("Locked feature violation (strategy: lock). Modified files:");for(let M of K)y.error(` ${M}`);throw y.error("Run 'agentsmesh generate --force' to accept these changes."),new Error("Locked feature violation. Use --force to override.")}}}let{canonical:h,resolvedExtends:R}=await se(p,d.configDir,{refreshRemoteCache:c},d.canonicalDir),C=[...p.targets,...p.pluginTargets??[]];if(u){let b=u.filter(x=>!C.includes(x));if(b.length>0)throw new Error(`Unknown target(s) in --targets: ${b.join(", ")}. Available: ${C.join(", ")}`)}let S=u?C.filter(b=>u.includes(b)):C,w=await Bl({config:p,canonical:h,projectRoot:d.rootBase,scope:l,targetFilter:u});if(w.length===0){if(y.info("No files to generate (no root rule or rules feature disabled)."),o)return y.success("Generated files are in sync."),0;if(!s){let b=await Tp(join(d.canonicalDir,".generate.lock"));try{let x=await vr(d.canonicalDir),K=R.length>0?await eo(R):{},M=await Ni(join(d.canonicalDir,"packs")),W=process.env.USER??process.env.USERNAME??"unknown";await Li(d.canonicalDir,{generatedAt:new Date().toISOString(),generatedBy:W,libVersion:Rs(),checksums:x,extends:K,packs:M});try{await sc(Tt(),join(d.configDir,".agentsmeshcache"));}catch(q){y.warn(`Could not create .agentsmeshcache symlink: ${q instanceof Error?q.message:String(q)}`);}}finally{await b();}}return r.printMatrix!==false&&await oo(t,n),0}if(o){let b=w.filter(x=>x.status!=="unchanged");if(b.length===0)return y.success("Generated files are in sync."),0;for(let x of b)y.error(`[check] ${x.status} ${$p(l,x.path)} (${x.target})`);return y.error("Generated files are out of sync. Run 'agentsmesh generate' to update them."),1}let D=s?null:await Tp(join(d.canonicalDir,".generate.lock"));try{for(let b of w)if(s)y.info(`[dry-run] ${b.status} ${$p(l,b.path)} (${b.target})`);else if(b.status==="created"||b.status==="updated"){let x=kk(d.rootBase,b.path,b.target);await _(x,b.content),y.success(`${b.status} ${$p(l,b.path)}`);}if(!s){let b=w.filter(et=>et.status==="created").length,x=w.filter(et=>et.status==="updated").length,K=w.filter(et=>et.status==="unchanged").length;await dk({projectRoot:d.rootBase,targets:S,expectedPaths:w.map(et=>et.path),scope:l}),b>0||x>0?y.info(`Generated: ${b} created, ${x} updated, ${K} unchanged`):y.info(`Nothing changed. (${K} unchanged)`);let M=await vr(d.canonicalDir),W=R.length>0?await eo(R):{},q=await Ni(join(d.canonicalDir,"packs")),mt=process.env.USER??process.env.USERNAME??"unknown";await Li(d.canonicalDir,{generatedAt:new Date().toISOString(),generatedBy:mt,libVersion:Rs(),checksums:M,extends:W,packs:q});try{await sc(Tt(),join(d.configDir,".agentsmeshcache"));}catch(et){y.warn(`Could not create .agentsmeshcache symlink: ${et instanceof Error?et.message:String(et)}`);}}}finally{D&&await D();}return r.printMatrix!==false&&await oo(t,n),0}i(ds,"runGenerate");E();rt();lr();var rD=["codex-cli"];function wk(){return ht.filter(t=>!rD.includes(t))}i(wk,"starterInitTargetIds");var nD=["rules","commands","agents","skills","mcp","hooks","ignore","permissions"],oD=wk();function Hl(t,e=oD){let r=(t.length>0?t:e).map(o=>` - ${o}`).join(`
|
|
157
|
+
`),n=nD.map(o=>` - ${o}`).join(`
|
|
158
158
|
`);return `# yaml-language-server: $schema=https://unpkg.com/agentsmesh/schemas/agentsmesh.json
|
|
159
159
|
version: 1
|
|
160
160
|
targets:
|
|
@@ -170,7 +170,7 @@ description: "Project rules"
|
|
|
170
170
|
|
|
171
171
|
Add your project-wide instructions here.
|
|
172
172
|
This file is always included in AI tool context and synced to all configured tools.
|
|
173
|
-
`,
|
|
173
|
+
`,Mp=`---
|
|
174
174
|
description: "Example contextual rule \u2014 rename and customize"
|
|
175
175
|
# targets: [claude-code, cursor] # limit to specific tools (optional)
|
|
176
176
|
# globs: ["src/**/*.ts"] # activate only for matching files (optional)
|
|
@@ -179,14 +179,14 @@ description: "Example contextual rule \u2014 rename and customize"
|
|
|
179
179
|
# Example Rule
|
|
180
180
|
|
|
181
181
|
Replace this with your coding standards, conventions, or domain-specific guidelines.
|
|
182
|
-
|
|
182
|
+
`,Gp=`---
|
|
183
183
|
description: "Example command \u2014 rename and customize"
|
|
184
184
|
# allowed-tools: [Read, Grep, Glob, Bash]
|
|
185
185
|
---
|
|
186
186
|
|
|
187
187
|
Describe the task for this command here.
|
|
188
188
|
Commands are invoked on-demand (e.g. /example) with a focused tool set.
|
|
189
|
-
`,
|
|
189
|
+
`,jp=`---
|
|
190
190
|
name: example-agent
|
|
191
191
|
description: "Example subagent \u2014 rename and customize"
|
|
192
192
|
# tools: [Read, Grep, Glob]
|
|
@@ -197,7 +197,7 @@ description: "Example subagent \u2014 rename and customize"
|
|
|
197
197
|
|
|
198
198
|
Describe this agent's role and instructions here.
|
|
199
199
|
Agents are specialized subagents with restricted tools and a specific purpose.
|
|
200
|
-
`,
|
|
200
|
+
`,Up=`---
|
|
201
201
|
name: example-skill
|
|
202
202
|
description: "Example skill \u2014 rename and customize"
|
|
203
203
|
---
|
|
@@ -206,7 +206,7 @@ description: "Example skill \u2014 rename and customize"
|
|
|
206
206
|
|
|
207
207
|
Describe the skill procedure here.
|
|
208
208
|
Skills are reusable multi-step procedures that commands and agents can reference.
|
|
209
|
-
`,
|
|
209
|
+
`,Wp=`{
|
|
210
210
|
"mcpServers": {
|
|
211
211
|
// "github": {
|
|
212
212
|
// "type": "stdio",
|
|
@@ -221,7 +221,7 @@ Skills are reusable multi-step procedures that commands and agents can reference
|
|
|
221
221
|
// }
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
|
-
`,
|
|
224
|
+
`,Bp=`# Lifecycle hooks \u2014 run shell commands before/after AI tool use
|
|
225
225
|
# Events: PreToolUse, PostToolUse, SubagentStart, SubagentStop
|
|
226
226
|
# Matcher: tool name pattern (e.g. "Edit|Write", "Bash", "*")
|
|
227
227
|
#
|
|
@@ -234,7 +234,7 @@ Skills are reusable multi-step procedures that commands and agents can reference
|
|
|
234
234
|
# - matcher: Edit|Write
|
|
235
235
|
# type: command
|
|
236
236
|
# command: npm test --passWithNoTests
|
|
237
|
-
`,
|
|
237
|
+
`,Kp=`# Tool permission allow/deny lists
|
|
238
238
|
#
|
|
239
239
|
# allow:
|
|
240
240
|
# - Bash(npm run:*)
|
|
@@ -250,14 +250,14 @@ Skills are reusable multi-step procedures that commands and agents can reference
|
|
|
250
250
|
allow: []
|
|
251
251
|
deny: []
|
|
252
252
|
ask: []
|
|
253
|
-
`,
|
|
253
|
+
`,Hp=`# Patterns ignored by all configured AI tools (gitignore syntax)
|
|
254
254
|
#
|
|
255
255
|
# node_modules/
|
|
256
256
|
# dist/
|
|
257
257
|
# .env*
|
|
258
258
|
# *.log
|
|
259
259
|
# coverage/
|
|
260
|
-
`,
|
|
260
|
+
`,Ok=`# yaml-language-server: $schema=https://unpkg.com/agentsmesh/schemas/agentsmesh.json
|
|
261
261
|
# Personal overrides \u2014 NOT committed to git
|
|
262
262
|
# Uncomment and customize for your local setup:
|
|
263
263
|
|
|
@@ -276,25 +276,25 @@ ask: []
|
|
|
276
276
|
# overrides:
|
|
277
277
|
# claude-code:
|
|
278
278
|
# model: opus
|
|
279
|
-
`;
|
|
280
|
-
`).map(a=>a.trim())),o=
|
|
279
|
+
`;E();rt();function Ek(t){let e=[];for(let r of Ct)for(let n of rp(r.id,t))e.push({target:r.id,path:n});return e}i(Ek,"collectDetectionPaths");function bk(t){let e=new Map;for(let{target:r,path:n}of Ek(t)){let o=e.get(r)??[];o.push(n),e.set(r,o);}return [...e.entries()].map(([r,n])=>({id:r,paths:n}))}i(bk,"toolIndicators");bk("project");async function xk(t,e="project"){let r=[];for(let{id:n,paths:o}of bk(e))for(let s of o){let a=join(t,s);if(await L(a)){r.push(n);break}}return [...new Set(r)]}i(xk,"detectExistingConfigs");E();function _t(t,e){return join(t,e)}i(_t,"ab");async function zp(t){return await L(t)?(await readdir(t,{withFileTypes:true})).filter(r=>r.isFile()&&r.name.endsWith(".md")).length:0}i(zp,"countMdFiles");async function iD(t){let e=_t(t,"skills");if(!await L(e))return false;let r=await readdir(e,{withFileTypes:true});for(let n of r)if(n.isDirectory()&&!n.name.startsWith("_")&&await L(join(e,n.name,"SKILL.md")))return true;return false}i(iD,"hasAnyImportedSkill");async function Vp(t){let e=_t(t,"rules");await k(e),await _(join(e,"_root.md"),zl),y.success("Created .agentsmesh/rules/_root.md"),await _(join(e,"_example.md"),Mp),y.success("Created .agentsmesh/rules/_example.md");let r=_t(t,"commands");await k(r),await _(join(r,"_example.md"),Gp),y.success("Created .agentsmesh/commands/_example.md");let n=_t(t,"agents");await k(n),await _(join(n,"_example.md"),jp),y.success("Created .agentsmesh/agents/_example.md");let o=_t(t,join("skills","_example"));await k(o),await _(join(o,"SKILL.md"),Up),y.success("Created .agentsmesh/skills/_example/SKILL.md"),await _(_t(t,"mcp.json"),Wp),y.success("Created .agentsmesh/mcp.json"),await _(_t(t,"hooks.yaml"),Bp),y.success("Created .agentsmesh/hooks.yaml"),await _(_t(t,"permissions.yaml"),Kp),y.success("Created .agentsmesh/permissions.yaml"),await _(_t(t,"ignore"),Hp),y.success("Created .agentsmesh/ignore");}i(Vp,"writeScaffoldFull");async function Ak(t){let e=_t(t,"rules"),r=await zp(e),n=join(e,"_root.md"),o=await L(n);await k(e),r===0?(await _(n,zl),y.success("Created .agentsmesh/rules/_root.md"),await _(join(e,"_example.md"),Mp),y.success("Created .agentsmesh/rules/_example.md")):o||(await _(n,zl),y.success("Created .agentsmesh/rules/_root.md"));let s=_t(t,"commands");await zp(s)===0&&(await k(s),await _(join(s,"_example.md"),Gp),y.success("Created .agentsmesh/commands/_example.md"));let a=_t(t,"agents");if(await zp(a)===0&&(await k(a),await _(join(a,"_example.md"),jp),y.success("Created .agentsmesh/agents/_example.md")),!await iD(t)){let p=_t(t,join("skills","_example"));await k(p),await _(join(p,"SKILL.md"),Up),y.success("Created .agentsmesh/skills/_example/SKILL.md");}let l=_t(t,"mcp.json");await L(l)||(await _(l,Wp),y.success("Created .agentsmesh/mcp.json"));let c=_t(t,"hooks.yaml");await L(c)||(await _(c,Bp),y.success("Created .agentsmesh/hooks.yaml"));let m=_t(t,"permissions.yaml");await L(m)||(await _(m,Kp),y.success("Created .agentsmesh/permissions.yaml"));let u=_t(t,"ignore");await L(u)||(await _(u,Hp),y.success("Created .agentsmesh/ignore"));}i(Ak,"writeScaffoldGapFill");var $i="agentsmesh.yaml",Tk="agentsmesh.local.yaml",lD=["agentsmesh.local.yaml",".agentsmeshcache",".agentsmesh/.lock.tmp",".agentsmesh/packs/"],cD=Object.fromEntries(Ct.map(t=>[t.id,(e,r)=>t.generators.importFrom(e,{scope:r})])),Lk=Ct.filter(t=>t.globalSupport!==void 0).map(t=>t.id);function mD(t,e){if(e.has(t))return true;let r=t.replace(/\/$/,"");for(;r.includes("/")&&(r=r.slice(0,r.lastIndexOf("/")),r!=="");)if(e.has(r)||e.has(`${r}/`)||e.has(`${r}/**`))return true;return false}i(mD,"isCoveredByExisting");async function uD(t){let e=join(t,".gitignore"),r=await I(e)??"",n=new Set(r.split(`
|
|
280
|
+
`).map(a=>a.trim()).filter(a=>a.length>0&&!a.startsWith("#"))),o=lD.filter(a=>!mD(a,n));if(o.length===0)return;let s=r.endsWith(`
|
|
281
281
|
`)||r===""?"":`
|
|
282
|
-
`;await
|
|
282
|
+
`;await _(e,r+s+o.join(`
|
|
283
283
|
`)+`
|
|
284
|
-
`);}i(oD,"appendToGitignore");async function Pk(t,e={}){let r=e.global===true?"global":"project",n=Es(t,r),o=join(n.configDir,$i);if(await L(o))throw new Error(`Already initialized. ${$i} exists. Remove it first to re-init.`);let s=await wk(n.rootBase,r),a=r==="global"?s.filter(m=>xk.includes(m)):s,l=r==="global"?xk:void 0;if(a.length>0)if(I.info(`Found existing configurations: ${a.join(", ")}`),e.yes){I.info("Auto-importing existing configurations (--yes)...");let m=0;for(let u of a){let p=nD[u];if(!p)continue;let d=await p(n.rootBase,r);for(let g of d)I.success(` ${g.fromPath.replace(n.rootBase+"/","")} \u2192 ${g.toPath}`);m+=d.length;}m>0&&I.info(`Imported ${m} file(s) from ${a.length} tool(s).`),await Ek(n.canonicalDir),await R(o,Hl(a,l)),I.success(`Created ${$i} (targets: ${a.join(", ")})`);}else I.info("Run 'agentsmesh init --yes' to auto-import, or 'agentsmesh import --from <tool>' manually."),await Hp(n.canonicalDir),await R(o,Hl([],l)),I.success(`Created ${$i}`);else await Hp(n.canonicalDir),await R(o,Hl([],l)),I.success(`Created ${$i}`);let c=join(n.configDir,bk);await R(c,_k),I.success(`Created ${bk}`),r==="project"&&(await oD(t),I.success("Updated .gitignore"));}i(Pk,"runInit");rt();var sD=Object.fromEntries(Ct.map(t=>[t.id,{importFrom:t.generators.importFrom,emptyImportMessage:t.emptyImportMessage,lintRules:t.lintRules,lint:t.lint,capabilities:t.capabilities}]));function Vl(t){let e=sD[t];if(!e)throw new Error(`Unknown target: ${t}`);return e}i(Vl,"getTargetCatalogEntry");Lr();function Ak(t,e,r){for(let n of t){let o=relative(e,n.fromPath);I.success(`${o} \u2192 ${n.toPath}`);}I.info(`Imported ${t.length} file(s). Run 'agentsmesh generate${r==="global"?" --global":""}' to sync to other tools.`);}i(Ak,"formatImportResults");async function Tk(t,e){let r=e??process.cwd(),n=t.from;if(typeof n!="string"||!n)throw new Error("--from is required. Example: agentsmesh import --from claude-code");let o=n.toLowerCase().trim(),s=t.global===true?"global":"project";if(Mr(o)){let u=Es(r,s),p=Vl(o),d=await p.importFrom(u.rootBase,{scope:s});if(d.length===0){I.info(p.emptyImportMessage);return}Ak(d,u.rootBase,s);return}let a,l;try{({config:a,context:l}=await at(r,s));}catch{throw new Error(`Unknown --from "${n}" and no agentsmesh.yaml found. Run 'agentsmesh init' to enable plugin targets, or use a builtin: ${ht.join(", ")}.`)}await se(a,r);let c=Z(o);if(!c)throw new Error(`Unknown --from "${n}". Supported: ${[...ht,...a.pluginTargets??[]].join(", ")}.`);let m=await c.generators.importFrom(l.rootBase,{scope:s});if(m.length===0){I.info(c.emptyImportMessage);return}Ak(m,l.rootBase,s);}i(Tk,"runImport");function Nk(t){let e=[],r={new:0,updated:0,unchanged:0,deleted:0};for(let n of t){if(n.status==="unchanged"){r.unchanged++;continue}if(n.status==="created"){r.new++;let o=createTwoFilesPatch(`${n.path} (current)`,`${n.path} (generated)`,"",n.content,void 0,void 0,{context:3});e.push({path:n.path,patch:o});continue}if(n.status==="updated"&&n.currentContent!==void 0){r.updated++;let o=createTwoFilesPatch(`${n.path} (current)`,`${n.path} (generated)`,n.currentContent,n.content,void 0,void 0,{context:3});e.push({path:n.path,patch:o});continue}}return {diffs:e,summary:r}}i(Nk,"computeDiff");function Dk(t){return `${t.new} files would be created, ${t.updated} updated, ${t.unchanged} unchanged, ${t.deleted} deleted`}i(Dk,"formatDiffSummary");async function Fk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",o=t.targets,s=typeof o=="string"&&o?o.split(",").map(d=>d.trim()).filter(Boolean):void 0,{config:a,context:l}=await at(r,n);await se(a,r);let{canonical:c}=await oe(a,l.configDir,{},l.canonicalDir),m=await Bl({config:a,canonical:c,projectRoot:l.rootBase,scope:n,targetFilter:s});if(m.length===0){I.info("No files to generate (no root rule or rules feature disabled).");return}let{diffs:u,summary:p}=Nk(m);for(let d of u)process.stdout.write(d.patch);I.info(Dk(p));}i(Fk,"runDiff");b();Lr();Cn();Wt();var aD=[{canonicalKey:"permissions",capabilityKey:"permissions",featureFlag:"permissions",file:".agentsmesh/permissions.yaml",label:"permissions",hasContent:i(t=>{let e=t.permissions;if(!e)return false;let r=e.ask?.length??0;return e.allow.length+e.deny.length+r>0},"hasContent")},{canonicalKey:"hooks",capabilityKey:"hooks",featureFlag:"hooks",file:".agentsmesh/hooks.yaml",label:"hooks",hasContent:i(t=>{let e=t.hooks;return e?Object.values(e).some(r=>Array.isArray(r)&&r.length>0):false},"hasContent")},{canonicalKey:"mcp",capabilityKey:"mcp",featureFlag:"mcp",file:".agentsmesh/mcp.json",label:"MCP servers",hasContent:i(t=>{let e=t.mcp;return e?Object.keys(e.mcpServers).length>0:false},"hasContent")},{canonicalKey:"commands",capabilityKey:"commands",featureFlag:"commands",file:".agentsmesh/commands",label:"commands",hasContent:i(t=>t.commands.length>0,"hasContent")},{canonicalKey:"agents",capabilityKey:"agents",featureFlag:"agents",file:".agentsmesh/agents",label:"agents",hasContent:i(t=>t.agents.length>0,"hasContent")},{canonicalKey:"skills",capabilityKey:"skills",featureFlag:"skills",file:".agentsmesh/skills",label:"skills",hasContent:i(t=>t.skills.length>0,"hasContent")},{canonicalKey:"ignore",capabilityKey:"ignore",featureFlag:"ignore",file:".agentsmesh/ignore",label:"ignore patterns",hasContent:i(t=>t.ignore.length>0,"hasContent")}];function vk(t){let e=new Set(t.enabledFeatures),r=[];for(let n of aD)!e.has(n.featureFlag)||!n.hasContent(t.canonical)||me(t.capabilities[n.capabilityKey]).level!=="none"||r.push(V(n.file,t.target,`${t.target} does not support ${n.label}; canonical entries are silently dropped during generation. Disable the feature for this target or remove the canonical content.`));return r}i(vk,"lintSilentFeatureDrops");Wt();var lD=/^(?:\s*(?:bash|sh|zsh|pwsh|powershell)\s+)?["']?(?<path>(?:\.{1,2}\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?:\s|$)/;function cD(t){let r=t.match(lD)?.groups?.path;return typeof r=="string"?r:null}i(cD,"extractScriptToken");function $k(t){if(t.hasScriptProjection)return [];let e=t.canonical.hooks;if(!e)return [];let r=[];for(let n of Object.values(e))if(Array.isArray(n))for(let o of n){if(typeof o?.command!="string")continue;let s=cD(o.command);s&&r.push(V(".agentsmesh/hooks.yaml",t.target,`${t.target} hook command references script "${s}"; agentsmesh does not copy hook scripts into ${t.target} output, so the script must already exist relative to the hook execution directory or the generated config will fail.`));}return r}i($k,"lintHookScriptReferences");Wt();function Mk(t){if(t.preservesManualActivation)return [];let e=[];for(let r of t.canonical.rules)r.root||r.trigger==="manual"&&(r.targets.length>0&&!r.targets.includes(t.target)||e.push(V(r.source,t.target,`Rule has trigger: 'manual' (Cursor-style "@-mention only" activation), but ${t.target} loads every rule unconditionally. The rule will become always-on for ${t.target} \u2014 restrict it with \`targets: [cursor]\`, convert it to a skill with manual invocation, or remove it.`)));return e}i(Mk,"lintRuleScopeInversion");var mD=["node_modules",".git","dist","coverage",".agentsmesh"];async function uD(t){return (await P(t)).filter(n=>{let o=relative(t,n);return !mD.some(s=>o.includes(`/${s}/`)||o.startsWith(`${s}/`))}).map(n=>relative(t,n))}i(uD,"getProjectFiles");async function jk(t,e,r,n,o={}){let s=o.scope??"project",a=[...t.targets,...t.pluginTargets??[]],l=n?a.filter(_=>n.includes(_)):a,c=t.features.includes("rules"),m=t.features.includes("commands"),u=t.features.includes("mcp"),p=t.features.includes("permissions"),d=t.features.includes("hooks"),g=[],h=s==="global"?[]:await uD(r);for(let _ of l){let y=Mr(_)?Vl(_):Z(_);if(y?.capabilities&&g.push(...vk({target:_,capabilities:y.capabilities,canonical:e,enabledFeatures:t.features})),d){let E=Z(_);g.push(...$k({target:_,canonical:e,hasScriptProjection:E?.postProcessHookOutputs!==void 0}));}if(c){let E=Z(_);g.push(...Mk({target:_,canonical:e,preservesManualActivation:E?.preservesManualActivation===true}));}c&&y?.lintRules&&g.push(...y.lintRules(e,r,h,{scope:s}));let O=Z(_);O?.generators.lint&&g.push(...O.generators.lint(e));let D={scope:s};m&&y?.lint?.commands&&g.push(...y.lint.commands(e,D)),u&&y?.lint?.mcp&&g.push(...y.lint.mcp(e,D)),p&&y?.lint?.permissions&&g.push(...y.lint.permissions(e,D)),d&&y?.lint?.hooks&&g.push(...y.lint.hooks(e,D));}let C=g.some(_=>_.level==="error");return {diagnostics:g,hasErrors:C}}i(jk,"runLint");async function Uk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",o=t.targets,s=typeof o=="string"&&o?o.split(",").map(C=>C.trim()).filter(Boolean):void 0,{config:a,context:l}=await at(r,n);await se(a,r);let{canonical:c}=await oe(a,l.configDir,{},l.canonicalDir),{diagnostics:m,hasErrors:u}=await jk(a,c,l.configDir,s,{scope:n});if(m.length===0)return I.success("All checks passed."),0;let p=m.filter(C=>C.level==="error"),d=m.filter(C=>C.level==="warning");if(p.length>0)for(let C of p)I.error(`${C.file} (${C.target}): ${C.message}`);if(d.length>0)for(let C of d)I.warn(`${C.file} (${C.target}): ${C.message}`);let g=p.length,h=d.length;return I.info(`${g} error${g!==1?"s":""}, ${h} warning${h!==1?"s":""}`),u?1:0}i(Uk,"runLintCmd");var fD=300;function gD(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}i(gD,"normalizeWatchPath");function hD(t,e,r){let n=gD(relative(t,e));return n===".lock"||n===".lock.tmp"||n===".generate.lock"||n.endsWith("/.lock")||n.endsWith("/.lock.tmp")||n.endsWith("/.generate.lock")||n.includes("/.generate.lock/")||n.startsWith(".generate.lock/")}i(hD,"shouldIgnoreWatchPath");function yD(t,e,r,n,o,s,a,l,c){return JSON.stringify({features:t,rulesCount:e,commandsCount:r,agentsCount:n,skillsCount:o,mcpServerCount:s,permissionsCount:a,hooksCount:l,ignoreCount:c})}i(yD,"featureFingerprint");async function Bk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{context:o}=await at(r,n),s=[o.canonicalDir,join(o.configDir,"agentsmesh.yaml"),join(o.configDir,"agentsmesh.local.yaml")],a=null,l=null,c=false,m=null,p=i(async()=>{if(c)return;a=null;let{config:C,context:_}=await at(r,n),{canonical:y}=await oe(C,_.configDir,{},_.canonicalDir),O=y.mcp?Object.keys(y.mcp.mcpServers).length:0,D=y.permissions?y.permissions.allow.length+y.permissions.deny.length:0,E=y.hooks?Object.values(y.hooks).reduce((W,q)=>W+(Array.isArray(q)?q.length:0),0):0,x=y.ignore.length,K=yD(C.features,y.rules.length,y.commands.length,y.agents.length,y.skills.length,O,D,E,x),M=l!==null&&l!==K;l=K,!c&&(await ds(t,r,{printMatrix:false}),!c&&(M?await oo(t,r):I.info("Regenerated.")));},"run"),d=i(()=>{let C=p().catch(_=>{if(!c){let y=_ instanceof Error?_.message:String(_);I.error(y);}}).finally(()=>{m===C&&(m=null);});m=C;},"scheduleRun"),g=i(()=>{c||(a&&clearTimeout(a),a=setTimeout(d,fD));},"schedule"),h=dD.watch(s,{ignoreInitial:true,usePolling:process.platform==="win32"});return h.on("all",(C,_)=>{hD(o.canonicalDir,_)||g();}),await new Promise((C,_)=>{h.once("ready",C),h.once("error",_);}),I.info(n==="global"?"Watching ~/.agentsmesh/ and agentsmesh.yaml...":"Watching .agentsmesh/ and agentsmesh.yaml..."),m=p(),await m,m=null,{stop:i(async()=>{c=true,a&&(clearTimeout(a),a=null),await h.close(),m&&await m;},"stop")}}i(Bk,"runWatch");async function Kk(t){let{config:e,configDir:r,canonicalDir:n}=t,o=await vl(n);if(o===null)return {inSync:false,hasLock:false,modified:[],added:[],removed:[],extendsModified:[],lockedViolations:[]};let s=await vr(n),a=await fo(e,r),l=a.length>0?await eo(a):{},c=new Set(Object.keys(o.checksums)),m=new Set(Object.keys(s)),u=[],p=[],d=[];for(let y of c){let O=s[y];O===void 0?d.push(y):O!==o.checksums[y]&&u.push(y);}for(let y of m)c.has(y)||p.push(y);let g=new Set([...Object.keys(o.extends),...Object.keys(l)]),h=[];for(let y of g)l[y]!==o.extends[y]&&h.push(y);let C=$l(o.checksums,s,e.collaboration?.lock_features??[]);return {inSync:u.length===0&&p.length===0&&d.length===0&&h.length===0,hasLock:true,modified:u,added:p,removed:d,extendsModified:h,lockedViolations:C}}i(Kk,"checkLockSync");async function Hk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{config:o,context:s}=await at(r,n);await se(o,r);let a=await Kk({config:o,configDir:s.configDir,canonicalDir:s.canonicalDir});if(!a.hasLock)return I.error("Not initialized for collaboration. Run 'agentsmesh generate' first."),1;if(a.inSync)return I.success("Lock file is in sync."),0;let l=new Set(a.lockedViolations);I.error("Conflict detected:");for(let c of a.extendsModified)I.error(` extend "${c}" was modified`);for(let c of a.modified){let m=l.has(c)?" [LOCKED]":"";I.error(` ${c} was modified${m}`);}for(let c of a.added){let m=l.has(c)?" [LOCKED]":"";I.error(` ${c} was added${m}`);}for(let c of a.removed){let m=l.has(c)?" [LOCKED]":"";I.error(` ${c} was removed${m}`);}return I.info("Run 'agentsmesh merge' to resolve, or 'agentsmesh generate --force' to accept current state."),1}i(Hk,"runCheck");b();var SD=".lock",RD="<<<<<<<";async function Vp(t){let e=join(t,SD),r=await S(e);return r===null?false:r.includes(RD)}i(Vp,"hasLockConflict");async function Vk(t,e,r){if(!await Vp(t))throw new Error("No conflict to resolve.");let o=await vr(t),s=dirname(t),a=r?await fo(r,s):[],l=a.length>0?await eo(a):{},c=await Ni(join(t,"packs")),m=process.env.USER??process.env.USERNAME??"unknown";await Li(t,{generatedAt:new Date().toISOString(),generatedBy:m,libVersion:e,checksums:o,extends:l,packs:c});}i(Vk,"resolveLockConflict");async function Jk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{config:o,context:s}=await at(r,n),a=s.canonicalDir;if(!await Vp(a)){I.info("No conflicts to resolve.");return}await Vk(a,_s(),o),I.success("Lock file conflict resolved.");}i(Jk,"runMerge");b();var kD=promisify(execFile);async function Jp(t){let{stdout:e}=await kD("git",t,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return e.trim()}i(Jp,"runGit");async function Yk(){try{return await Jp(["--version"]),!0}catch{return false}}i(Yk,"isGitAvailable");async function wD(t,e){let r=[e,`refs/heads/${e}`,`refs/tags/${e}`],n;for(let o of r)try{let a=(await Jp(["ls-remote",t,o])).split(`
|
|
285
|
-
`).map(c=>c.trim()).find(c=>c.length>0);if(!a)continue;let l=a.split(/\s+/)[0];if(l&&/^[0-9a-f]{40}$/i.test(l))return l}catch(s){n=s;}throw new Error(`Could not resolve ref "${e}" for ${t}: ${n instanceof Error?n.message:String(n)}`)}i(
|
|
286
|
-
`).find(a=>a.trim().length>0);if(!o)throw new Error(`Could not resolve HEAD for ${e}`);let s=o.split(/\s+/)[0];if(!s||!/^[0-9a-f]{40}$/i.test(s))throw new Error(`Invalid ls-remote HEAD line for ${e}`);return s.toLowerCase()}return wD(e,r)}i(Xk,"resolveRemoteRefForInstall");async function Zk(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 Xk(t.rawRef||"HEAD",e);if(t.kind==="github"){let l=`github:${t.org}/${t.repo}@${r}`;return {resolvedPath:(await po(l,"install",{cacheDir:Tt(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:l,version:r}}if(t.kind==="gitlab"){let l=`gitlab:${t.org}/${t.repo}@${r}`;return {resolvedPath:(await po(l,"install",{cacheDir:Tt(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:l,version:r}}let n=r,s=`git+${(t.gitPlusBase??e).split("#")[0]}#${n}`;return {resolvedPath:(await po(s,"install",{cacheDir:Tt(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:s,version:r}}i(Zk,"fetchInstallSource");async function qk(t,e){if(t.kind==="local")return {resolvedPath:t.localRoot,sourceForYaml:t.localSourceForYaml};try{let r=await Zk(t);return {resolvedPath:r.resolvedPath,sourceForYaml:r.sourceForYaml,version:r.version}}catch(r){let n=r instanceof Error?r.message:String(r),o=new Error(`Failed to fetch from ${e}: ${n}. Check your network connection and try again.`);throw r instanceof Error&&(o.cause=r),o}}i(qk,"resolveInstallResolvedPath");function Yp(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("tree");if(n<2||n+1>=r.length)return null;let o=r[0],s=r[1],a=r[n+1],l=r.slice(n+2).join("/");return !o||!s||!a?null:{org:o,repo:s,ref:a,path:l||""}}catch{return null}}i(Yp,"parseGithubTreeUrl");function Xp(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("blob");if(n<2||n+1>=r.length)return null;let o=r[0],s=r[1],a=r[n+1],l=r.slice(n+2).join("/");return !o||!s||!a||!l?null:{org:o,repo:s,ref:a,path:l}}catch{return null}}i(Xp,"parseGithubBlobUrl");function Zp(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("-");if(n<0||r[n+1]!=="tree")return null;let o=n+1;if(o+1>=r.length)return null;let s=r[o+1],a=r.slice(o+2).join("/"),l=r.slice(0,n);if(l.length<2)return null;let c=l[l.length-1],m=l.slice(0,-1).join("/");return !m||!c||!s?null:{namespace:m,project:c,ref:s,path:a||""}}catch{return null}}i(Zp,"parseGitlabTreeUrl");function qp(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("-");if(n<0||r[n+1]!=="blob")return null;let o=n+1;if(o+1>=r.length)return null;let s=r[o+1],a=r.slice(o+2).join("/"),l=r.slice(0,n);if(l.length<2)return null;let c=l[l.length-1],m=l.slice(0,-1).join("/");return !m||!c||!s||!a?null:{namespace:m,project:c,ref:s,path:a}}catch{return null}}i(qp,"parseGitlabBlobUrl");var OD=new Set(["tree","blob","commit","releases","actions","issues","pulls","settings","wiki","discussions","security","projects","packages"]);function Qp(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean).map(s=>s.replace(/\.git$/i,""));if(r.length<2||r.length>2||OD.has(r[1]))return null;let n=r[0],o=r[1];return {org:n,repo:o}}catch{return null}}i(Qp,"parseGithubRepoUrl");function td(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean).map(s=>s.replace(/\.git$/i,""));if(r.length<2||r.includes("-"))return null;let n=r[r.length-1],o=r.slice(0,-1).join("/");return !o||!n?null:{namespace:o,project:n}}catch{return null}}i(td,"parseGitlabRepoUrl");function ed(t){let e=t.match(/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?$/i);return e?{org:e[1],repo:e[2].replace(/\.git$/i,"")}:null}i(ed,"parseGitSshGithub");function rd(t){let e=t.match(/^git@gitlab\.com:(.+?)(?:\.git)?$/i);if(!e)return null;let n=e[1].replace(/\.git$/i,"").split("/").filter(Boolean);if(n.length<2)return null;let o=n[n.length-1];return {namespace:n.slice(0,-1).join("/"),project:o}}i(rd,"parseGitSshGitlab");b();var xD=/^[A-Za-z]:[\\/]/,PD=/^[A-Za-z]:\//;function Qk(...t){return t.some(e=>e.includes("\\")||xD.test(e))?win32:posix}i(Qk,"pathApiFor");function Gi(t){return t.replace(/\\/g,"/")}i(Gi,"toPosixPath");function Mi(t){return Gi(t).replace(/^\/+|\/+$/g,"")}i(Mi,"normalizeInstallPathField");function Jl(t){let e=Gi(t);return e===""||e==="."||e==="./."?".":e.startsWith("./")||e.startsWith("../")||e.startsWith("/")||PD.test(e)?e:`./${e}`}i(Jl,"normalizeLocalSourceForYaml");function gn(t){return {...t,source:t.source_kind==="local"?Jl(t.source):t.source,...t.path!==void 0?{path:Mi(t.path)}:{},...t.paths!==void 0?{paths:t.paths.map(e=>Mi(e))}:{}}}i(gn,"normalizePersistedInstallPaths");function tw(t,e,r){let n=Qk(t,e),o=n.normalize(t),s=n.normalize(e),a=Mi(r),l=`${n.sep}.agentsmesh${n.sep}`,c=o.indexOf(l);if(c>=0){let u=o.slice(0,c),p=o.slice(c+l.length),d=Mi(p),g=Gi(n.relative(s,u))||".";return {kind:"local",rawRef:"",pathInRepo:a||d.replace(/\.md$/i,"").replace(/\/$/,""),localRoot:u,localSourceForYaml:Jl(g)}}let m=Gi(n.relative(s,o))||".";return {kind:"local",rawRef:"",pathInRepo:a,localRoot:o,localSourceForYaml:Jl(m)}}i(tw,"localParsedFromAbsPath");async function nd(t,e,r){let n=t.trim(),o=r?.trim().replace(/\\/g,"/")??"";if(n.startsWith("git+")){let c=n.lastIndexOf("#"),m=c<0?n:n.slice(0,c),u=c<0?"HEAD":n.slice(c+1),p=m.slice(4);return {kind:"git",rawRef:u,gitPlusBase:p,gitRemoteUrl:p,pathInRepo:o}}if(n.startsWith("https://")||n.startsWith("http://")){let c=Yp(n)??Xp(n);if(c)return {kind:"github",rawRef:c.ref,org:c.org,repo:c.repo,gitRemoteUrl:`https://github.com/${c.org}/${c.repo}.git`,pathInRepo:o||c.path};let m=Qp(n);if(m)return {kind:"github",rawRef:"HEAD",org:m.org,repo:m.repo,gitRemoteUrl:`https://github.com/${m.org}/${m.repo}.git`,pathInRepo:o};let u=Zp(n)??qp(n);if(u)return {kind:"gitlab",rawRef:u.ref,org:u.namespace,repo:u.project,gitRemoteUrl:`https://gitlab.com/${u.namespace}/${u.project}.git`,pathInRepo:o||u.path};let p=td(n);if(p)return {kind:"gitlab",rawRef:"HEAD",org:p.namespace,repo:p.project,gitRemoteUrl:`https://gitlab.com/${p.namespace}/${p.project}.git`,pathInRepo:o}}if(n.startsWith("git@github.com:")){let c=ed(n);if(!c)throw new Error(`Invalid GitHub SSH URL: ${n}`);return {kind:"github",rawRef:"HEAD",org:c.org,repo:c.repo,gitRemoteUrl:`https://github.com/${c.org}/${c.repo}.git`,pathInRepo:o}}if(n.startsWith("git@gitlab.com:")){let c=rd(n);if(!c)throw new Error(`Invalid GitLab SSH URL: ${n}`);return {kind:"gitlab",rawRef:"HEAD",gitRemoteUrl:`https://gitlab.com/${c.namespace}/${c.project}.git`,pathInRepo:o}}if(n.startsWith("git@")){let c=n.match(/^git@([^:]+):(.+?)(?:\.git)?$/);if(!c)throw new Error(`Invalid SSH git URL: ${n}`);let m=c[1],u=c[2].replace(/\.git$/i,"");return {kind:"git",rawRef:"HEAD",gitRemoteUrl:`ssh://git@${m}/${u}.git`,pathInRepo:o}}let s=n.match(/^github:([^/]+)\/(.+?)@([^/@]+)$/);if(s){let c=s[1],m=s[2];return {kind:"github",rawRef:s[3],org:c,repo:m,gitRemoteUrl:`https://github.com/${c}/${m}.git`,pathInRepo:o}}let a=n.match(/^gitlab:(.+)\/([^/@]+)@([^/@]+)$/);if(a){let c=a[1],m=a[2];return {kind:"gitlab",rawRef:a[3],org:c,repo:m,gitRemoteUrl:`https://gitlab.com/${c}/${m}.git`,pathInRepo:o}}let l=resolve(e,n);if(!await L(l))throw new Error(`Path does not exist: ${l}`);return tw(l,e,o)}i(nd,"parseInstallSource");b();b();var ew=z$1.object({name:z$1.string().min(1),source:z$1.string().min(1),version:z$1.string().optional(),source_kind:z$1.enum(["github","gitlab","git","local"]),features:z$1.array(mo).min(1),pick:Os.optional(),target:Jt.optional(),path:z$1.string().optional(),paths:z$1.array(z$1.string().min(1)).min(1).optional(),as:us.optional()}),DD=z$1.object({version:z$1.literal(1),installs:z$1.array(ew).default([])});function FD(t,e){return t.length===e.length&&[...t].sort().every((r,n)=>r===[...e].sort()[n])}i(FD,"sameFeatures");function vD(t,e){return t.source===e.source&&t.target===e.target&&t.as===e.as&&FD(t.features,e.features)}i(vD,"sameInstallIdentity");function rw(t){return join(t,"installs.yaml")}i(rw,"manifestPath");async function od(t){let e=await S(rw(t));if(e===null)return [];try{return DD.parse(parse(e)).installs.map(r=>gn(r))}catch{return []}}i(od,"readInstallManifest");async function nw(t,e){let r=gn(e),o=(await od(t)).filter(s=>s.name!==r.name&&!vD(s,r));o.push(r),await R(rw(t),stringify({version:1,installs:o.sort((s,a)=>s.name.localeCompare(a.name))}));}i(nw,"upsertInstallManifestEntry");function ow(t){return gn(ew.parse({name:t.name,source:t.source,version:t.version,source_kind:t.sourceKind,features:t.features,pick:t.pick,target:t.target,path:t.path,paths:t.paths,as:t.as}))}i(ow,"buildInstallManifestEntry");async function MD(t){let e=await od(t.canonicalDir);if(e.length===0){I.info("No recorded installs found in .agentsmesh/installs.yaml.");return}let r=[];for(let n of e){let o=join(t.canonicalDir,"packs",n.name);await L(o)||r.push(n);}if(r.length===0){I.info("All recorded packs are already installed.");return}for(let n of r)await t.reinstall(n);I.success(`Reinstalled ${r.length} pack(s) from .agentsmesh/installs.yaml.`);}i(MD,"syncInstalledPacks");async function sw(t){return t.sync?(await MD({canonicalDir:t.canonicalDir,reinstall:t.reinstall}),true):false}i(sw,"maybeRunInstallSync");function iw(t){return {sync:t.sync===true,dryRun:t["dry-run"]===true,force:t.force===true,useExtends:t.extends===true,explicitPath:typeof t.path=="string"?t.path:void 0,explicitTarget:typeof t.target=="string"?t.target.trim():void 0,explicitAs:typeof t.as=="string"?us.parse(t.as.trim()):void 0,nameOverride:typeof t.name=="string"?t.name.trim():""}}i(iw,"readInstallFlags");function so(t){let e=[];return t.skills.length&&e.push("skills"),t.rules.length&&e.push("rules"),t.commands.length&&e.push("commands"),t.agents.length&&e.push("agents"),t.mcp!==null&&e.push("mcp"),t.permissions!==null&&e.push("permissions"),t.hooks!==null&&e.push("hooks"),t.ignore.length&&e.push("ignore"),e}i(so,"featuresFromCanonical");async function Yl(t){let{sliceRoot:e,implicitPick:r}=await Al(t),n=await Tl(e);return {canonical:n,features:so(n),implicitPick:r}}i(Yl,"discoverFromContentRoot");function aw(t){return t.description.trim()?{skill:t,ok:true}:{skill:t,ok:false,reason:"missing description in frontmatter"}}i(aw,"validateSkill");function lw(t){return t.description.trim()?{rule:t,ok:true}:{rule:t,ok:false,reason:"missing description in frontmatter"}}i(lw,"validateRule");function cw(t){return t.description.trim()?{command:t,ok:true}:{command:t,ok:false,reason:"missing description in frontmatter"}}i(cw,"validateCommand");function mw(t){return t.description.trim()?{agent:t,ok:true}:{agent:t,ok:false,reason:"missing description in frontmatter"}}i(mw,"validateAgent");function ae(t){return basename(t.source).replace(/\.md$/i,"")}i(ae,"ruleSlug");function jD(t){if(!t)return;let e=[];return t.skills!==void 0&&e.push("skills"),t.rules!==void 0&&e.push("rules"),t.commands!==void 0&&e.push("commands"),t.agents!==void 0&&e.push("agents"),e.length>0?e:void 0}i(jD,"featuresFromImplicitPick");function gs(t,e){let{implicitPick:r}=e,n=e.scopedFeatures??jD(r);if(!r&&!n)return t;let o=new Set(n??[]),s={...t,mcp:!n||o.has("mcp")?t.mcp:null,permissions:!n||o.has("permissions")?t.permissions:null,hooks:!n||o.has("hooks")?t.hooks:null,ignore:!n||o.has("ignore")?t.ignore:[]};if(r?.skills!==void 0){let a=new Set(r.skills);s={...s,skills:r.skills.length===0?[]:s.skills.filter(l=>a.has(l.name))};}else n&&!o.has("skills")&&(s={...s,skills:[]});if(r?.rules!==void 0){let a=new Set(r.rules);s={...s,rules:r.rules.length===0?[]:s.rules.filter(l=>a.has(ae(l)))};}else n&&!o.has("rules")&&(s={...s,rules:[]});if(r?.commands!==void 0){let a=new Set(r.commands);s={...s,commands:r.commands.length===0?[]:s.commands.filter(l=>a.has(l.name))};}else n&&!o.has("commands")&&(s={...s,commands:[]});if(r?.agents!==void 0){let a=new Set(r.agents);s={...s,agents:r.agents.length===0?[]:s.agents.filter(l=>a.has(l.name))};}else n&&!o.has("agents")&&(s={...s,agents:[]});return s}i(gs,"narrowDiscoveredForInstallScope");b();b();F();var BD=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"]),KD=new Set([".git",".github",".gitlab","node_modules",".vscode",".idea"]);async function Xl(t){let e=await S(t);if(!e)return "";let{frontmatter:r}=w(e);return typeof r.name!="string"?"":r.name.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}i(Xl,"readSkillFrontmatterName");async function uw(t,e){await cp$1(t,e,{recursive:true,filter:i(r=>{let n=relative(t,r).replace(/\\/g,"/");if(n==="")return true;let o=n.split("/")[0];return !(KD.has(o)||!n.includes("/")&&BD.has(n))},"filter")});}i(uw,"cpFilteredSkill");async function YD(){let t=await mkdtemp(join(tmpdir(),"am-install-manual-")),e=join(t,"repo");return await k(join(e,".agentsmesh")),{discoveryRoot:e,cleanup:i(async()=>{await rm$1(t,{recursive:true,force:true});},"cleanup")}}i(YD,"createStageRoot");async function XD(t,e){if((await stat(t)).isFile()){if(!t.toLowerCase().endsWith(".md"))throw new Error(`Manual install only supports .md files for this collection: ${t}`);await k(e),await cp$1(t,join(e,basename(t)));return}let n=(await P(t)).filter(s=>s.toLowerCase().endsWith(".md"));if(n.length===0)throw new Error(`No .md files found under ${t} for manual install.`);let o=new Map;await k(e);for(let s of n){let a=basename(s),l=o.get(a);if(l)throw new Error(`Manual install found duplicate file name "${a}" under ${t} (${l} and ${s}).`);o.set(a,s),await cp$1(s,join(e,a));}}i(XD,"stageMarkdownCollection");async function pw(t,e,r){if(r.length===0)return false;let n=new Set(r),o=new Map;for(let s of await P(t)){if(!s.endsWith("/SKILL.md")&&!s.endsWith("\\SKILL.md"))continue;let a=dirname(s),l=basename(a);if(!n.has(l))continue;let c=o.get(l);if(c&&c!==a)throw new Error(`Manual skill replay found duplicate skill "${l}" under ${t} (${c} and ${a}).`);o.set(l,a);}if(o.size!==r.length)return false;await k(e);for(let s of r)await cp$1(o.get(s),join(e,s),{recursive:true});return true}i(pw,"stagePreferredSkills");async function ZD(t,e,r={}){if((await stat(t)).isFile()){if(basename(t)!=="SKILL.md")throw new Error(`Manual skill install expects SKILL.md or a skill directory: ${t}`);let o=basename(dirname(t)),s=join(e,o);await k(s),await cp$1(dirname(t),s,{recursive:true});return}if(await to(t)){if((await stat(join(t,"SKILL.md")).catch(()=>null))?.isFile()){if(await pw(t,e,r.preferredSkillNames??[]))return;let l=await Xl(join(t,"SKILL.md"))||basename(t),c=join(e,l);await k(e),await uw(t,c);return}if(await pw(t,e,r.preferredSkillNames??[]))return;await k(e);let o=await P(t),s=new Set;for(let a of o.filter(l=>l.endsWith("/SKILL.md")||l.endsWith("\\SKILL.md")))s.add(relative(t,dirname(a)).split(/[\\/]/)[0]);for(let a of s)await cp$1(join(t,a),join(e,a),{recursive:true});return}throw new Error(`Manual skill install expects a skill directory or skills collection at ${t}.`)}i(ZD,"stageSkills");async function dw(t,e,r={}){let n=await YD();try{let o=join(n.discoveryRoot,".agentsmesh",e);return e==="skills"?await ZD(t,o,r):await XD(t,o),n}catch(o){throw await n.cleanup(),o}}i(dw,"stageManualInstallScope");async function fw(t,e,r,n){let o=await dw(t,e,{preferredSkillNames:e==="skills"?n?.skills:void 0}),{canonical:s}=await Yl(o.discoveryRoot),a=gs(s,{scopedFeatures:[e]});return {prep:{yamlTarget:r,scopedFeatures:[e],cleanup:o.cleanup},narrowed:a,discoveredFeatures:so(a)}}i(fw,"resolveManualDiscoveredForInstall");b();var qD=[{prefix:".gemini/commands",target:"gemini-cli"},{prefix:".github/instructions",target:"copilot"},{prefix:".github/copilot-instructions.md",target:"copilot"},{prefix:".github/copilot",target:"copilot"},{prefix:".github/prompts",target:"copilot"},{prefix:".github/skills",target:"copilot"},{prefix:".github/agents",target:"copilot"},{prefix:".github/hooks",target:"copilot"},{prefix:".claude/commands",target:"claude-code"},{prefix:".claude/rules",target:"claude-code"},{prefix:".claude/skills",target:"claude-code"},{prefix:".claude/agents",target:"claude-code"},{prefix:".cursor/commands",target:"cursor"},{prefix:".cursor/rules",target:"cursor"},{prefix:".cursor/agents",target:"cursor"},{prefix:".cursor/skills",target:"cursor"},{prefix:".continue/prompts",target:"continue"},{prefix:".continue/rules",target:"continue"},{prefix:".continue/skills",target:"continue"},{prefix:".junie/commands",target:"junie"},{prefix:".junie/rules",target:"junie"},{prefix:".junie/agents",target:"junie"},{prefix:".junie/skills",target:"junie"},{prefix:".kiro/steering",target:"kiro"},{prefix:".kiro/skills",target:"kiro"},{prefix:".cline/skills",target:"cline"},{prefix:".clinerules/workflows",target:"cline"},{prefix:".windsurf/rules",target:"windsurf"},{prefix:".codex",target:"codex-cli"}];function QD(t){return t.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"")}i(QD,"norm");function ql(t){let e=QD(t),r=[...qD].sort((n,o)=>o.prefix.length-n.prefix.length);for(let{prefix:n,target:o}of r)if(e===n||e.startsWith(`${n}/`))return o}i(ql,"targetHintFromNativePath");function id(t,e){return ql(t)===e}i(id,"pathSupportsNativePick");function gw(t,e){if(!t||!e)return;let r=ql(e);if(r&&r!==t)throw new Error(`--target "${t}" does not match the install path (native path suggests "${r}"). Omit --target to auto-detect, or point at a subtree for that target.`)}i(gw,"validateTargetMatchesPath");function hw(t){return (t.commands?.length??0)+(t.rules?.length??0)+(t.skills?.length??0)+(t.agents?.length??0)>0}i(hw,"extendPickHasArrays");b();b();pt();async function Iw(t,e){let r=join(t,...Bt.split("/")),n=join(t,...e.split("/")),o=await P(n),s=[];for(let a of o){if(!/\.(toml|md)$/i.test(a))continue;let l=relative(r,a).replace(/\\/g,"/");if(l.startsWith("..")||l==="")continue;let m=l.replace(/\.(toml|md)$/i,"").split("/").filter(Boolean).join(":");m&&s.push(m);}return [...new Set(s)].sort()}i(Iw,"inferGeminiCommandNamesFromFiles");pt();Zt();b();async function io(t){let e=await P(t),r=new Set;for(let n of e){if(basename(n)==="SKILL.md"){r.add(basename(dirname(n)));continue}!relative(t,n).replace(/\\/g,"/").includes("/")&&n.toLowerCase().endsWith(".md")&&r.add(basename(n,".md"));}return [...r].filter(Boolean).sort()}i(io,"skillNamesFromNativeSkillDir");b();ee();async function Sw(t,e){let r=join(t,...e.split("/"));if(e.startsWith(sn)){let n=await P(r),o=[...new Set(n.filter(s=>s.toLowerCase().endsWith(".prompt.md")).map(s=>basename(s,".prompt.md")))].sort();return o.length?{commands:o}:{}}if(e.startsWith(".github/copilot")&&!e.includes("copilot-instructions.md")){let n=await P(r),o=[...new Set(n.filter(s=>s.includes(".instructions.md")).map(s=>basename(s).replace(/\.instructions\.md$/i,"")))].sort();return o.length?{rules:o}:{}}if(e.startsWith(".github/instructions")){let n=await P(r),o=new Set;for(let a of n){let l=basename(a);l.toLowerCase().endsWith(".instructions.md")?o.add(l.replace(/\.instructions\.md$/i,"")):l.toLowerCase().endsWith(".md")&&o.add(basename(a,".md"));}let s=[...o].sort();return s.length?{rules:s}:{}}if(e.startsWith(".github/skills")){let n=await io(r);return n.length?{skills:n}:{}}if(e.startsWith(".github/agents")){let n=await P(r),o=[...new Set(n.filter(s=>s.toLowerCase().endsWith(".agent.md")).map(s=>basename(s,".agent.md")))].sort();return o.length?{agents:o}:{}}return {}}i(Sw,"inferCopilotPickFromPath");async function zt(t,e){let r=await P(t),n=e.toLowerCase();return [...new Set(r.filter(o=>o.toLowerCase().endsWith(n)).map(o=>basename(o,e)))].sort()}i(zt,"mdNames");async function _w(t,e,r){let n=e.replace(/\\/g,"/").replace(/^\/+|\/+$/g,""),o=join(t,...n.split("/"));if(r==="gemini-cli"){if(n===Bt||n.startsWith(`${Bt}/`)){let s=await Iw(t,n);return s.length?{commands:s}:{}}return {}}if(r==="claude-code"){if(n.startsWith(".claude/commands")){let s=await zt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".claude/rules")){let s=await zt(o,".md");return s.length?{rules:s}:{}}if(n.startsWith(".claude/agents")){let s=await zt(o,".md");return s.length?{agents:s}:{}}if(n.startsWith(".claude/skills/")){let a=n.replace(/^\.claude\/skills\/?/,"").split("/").filter(Boolean)[0];return a?{skills:[a]}:{}}return {}}if(r==="cursor"){if(n.startsWith(".cursor/rules")){let s=await zt(o,".mdc");return s.length?{rules:s}:{}}if(n.startsWith(".cursor/commands")){let s=await zt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".cursor/agents")){let s=await zt(o,".md");return s.length?{agents:s}:{}}if(n.startsWith(".cursor/skills")){let s=await io(o);return s.length?{skills:s}:{}}return {}}if(r==="copilot")return Sw(t,n);if(r==="windsurf"&&n.startsWith(".windsurf/rules")){let s=await zt(o,".md");return s.length?{rules:s}:{}}if(r==="cline"){if(n.startsWith(It)){let s=await io(o);return s.length?{skills:s}:{}}if(n.startsWith(Ue)){let s=await zt(o,".md");return s.length?{commands:s}:{}}return {}}if(r==="continue"){if(n.startsWith(".continue/rules")){let s=await zt(o,".md");return s.length?{rules:s}:{}}if(n.startsWith(".continue/prompts")){let s=await zt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".continue/skills")){let s=await io(o);return s.length?{skills:s}:{}}return {}}if(r==="junie"){if(n.startsWith(".junie/commands")){let s=await zt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".junie/rules")){let s=await zt(o,".md");return s.length?{rules:s}:{}}if(n.startsWith(".junie/agents")){let s=await zt(o,".md");return s.length?{agents:s}:{}}if(n.startsWith(".junie/skills")){let s=await io(o);return s.length?{skills:s}:{}}return {}}if(r==="codex-cli"&&n.startsWith(".codex")){let s=await P(o),a=[...new Set(s.filter(l=>l.toLowerCase().endsWith(".md")).map(l=>basename(l,".md")))].sort();return a.length?{rules:a}:{}}return {}}i(_w,"inferImplicitPickFromNativePath");function Cw(t){return (t.commands?.length??0)+(t.rules?.length??0)+(t.skills?.length??0)+(t.agents?.length??0)===0}i(Cw,"isImplicitPickEmpty");function Wi(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}i(Wi,"normalizePath");function cF(t,e){let r=Wi(t),n=Wi(e);return r===n||r.startsWith(`${n}/`)||n.startsWith(`${r}/`)}i(cF,"overlapsPath");function Ql(t,e){let r=t??[];return r.includes(e)||r.push(e),r}i(Ql,"addUnique");async function mF(t){let e=await mkdtemp(join(tmpdir(),"am-install-native-")),r=join(e,"repo"),n=i(async()=>{await rm$1(e,{recursive:true,force:true});},"cleanup");try{return await cp$1(t,r,{recursive:!0}),{stageRoot:r,cleanup:n}}catch(o){throw await n(),o}}i(mF,"makeStageRoot");function uF(t,e){let r;for(let o of t){if(o.feature==="rules"&&o.toPath.startsWith(".agentsmesh/rules/")){r={...r,rules:Ql(r?.rules,basename(o.toPath,".md"))};continue}if(o.feature==="commands"&&o.toPath.startsWith(".agentsmesh/commands/")){let s=Wi(relative(join(e,".agentsmesh","commands"),join(e,o.toPath)));r={...r,commands:Ql(r?.commands,s.replace(/\.md$/i,"").split("/").filter(Boolean).join(":"))};continue}if(o.feature==="agents"&&o.toPath.startsWith(".agentsmesh/agents/")){r={...r,agents:Ql(r?.agents,basename(o.toPath,".md"))};continue}if(o.feature==="skills"&&o.toPath.startsWith(".agentsmesh/skills/")){let a=Wi(relative(join(e,".agentsmesh","skills"),join(e,o.toPath))).split("/")[0];a&&(r={...r,skills:Ql(r?.skills,a)});}}return r&&(r.rules?.length??0)+(r.commands?.length??0)+(r.agents?.length??0)+(r.skills?.length??0)>0?r:void 0}i(uF,"buildPickFromResults");function pF(t,e,r,n){let o=join(e,...Wi(t).split("/")),s=r.filter(a=>cF(o,a.fromPath));if(s.length===0)throw new Error(`No installable native resources found under "${t}" for target "${n}".`);return {features:[...new Set(s.map(a=>a.feature))],pick:uF(s,e)}}i(pF,"scopeImportedResults");async function ld(t,e){let{stageRoot:r,cleanup:n}=await mF(t);try{let o=await bi(r,e);return {stageRoot:r,results:o,cleanup:n}}catch(o){throw await n(),o}}i(ld,"stageImportedNativeRepo");async function cd(t,e,r){let n=await ld(t,r);try{return {stageRoot:n.stageRoot,cleanup:n.cleanup,...pF(e,n.stageRoot,n.results,r)}}catch(o){throw await n.cleanup(),o}}i(cd,"stageNativeInstallScope");async function Ew(t,e,r,n){let o=n.explicitTarget?.trim();o&&Jt.parse(o);let s=r.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"");gw(o,s);let a=join(t,".agentsmesh"),l=await L(a),c=s?ql(s):void 0,m=!l&&!o?await na(t)??void 0:void 0;if(!o&&c&&m&&c!==m)throw new Error(`Install path suggests native layout "${c}" but auto-detect imported "${m}". Use --target ${c} for this path, or install from the repo root without a conflicting subtree path.`);let u=o??c??m,p=!!s&&!!u&&!s.startsWith(".agentsmesh");if(!l&&u){if(p){let O=await cd(t,s,u);return {discoveryRoot:O.stageRoot,implicitPick:O.pick,scopedFeatures:O.features,yamlTarget:u,importHappened:true,cleanup:O.cleanup}}let y=await ld(t,u);return {discoveryRoot:s?join(y.stageRoot,s):y.stageRoot,yamlTarget:u,importHappened:true,cleanup:y.cleanup}}let d;l?s?u&&id(s,u)?d=t:d=e:d=t:d=e;let g,h,C;if(p&&u){let y=await cd(t,s,u);d=y.stageRoot,g=y.pick,h=y.features,C=y.cleanup;}else if(d===t&&s&&u&&id(s,u)&&(g=await _w(t,s,u),Cw(g)))throw new Error(`No installable native resources found under "${s}" for target "${u}".`);let _;return o?_=o:u&&(g&&hw(g)||(h?.length??0)>0)&&(_=u),{discoveryRoot:d,implicitPick:g,scopedFeatures:h,yamlTarget:_,importHappened:C!==void 0,cleanup:C}}i(Ew,"prepareInstallDiscovery");async function bw(t,e,r,n){let o=await Ew(t,e,r,{explicitTarget:n}),{canonical:s,implicitPick:a}=await Yl(o.discoveryRoot),l=a??o.implicitPick,c=gs(s,{implicitPick:l,scopedFeatures:o.scopedFeatures}),m=so(c);return {prep:o,discovered:s,implicitPick:l,narrowed:c,discoveredFeatures:m}}i(bw,"resolveDiscoveredForInstall");async function xw(t){return t.explicitAs?{implicitPick:void 0,...await fw(t.contentRoot,t.explicitAs,t.explicitTarget,t.replayPick)}:bw(t.resolvedPath,t.contentRoot,t.pathInRepo,t.explicitTarget)}i(xw,"resolveInstallDiscovery");function ys(t){return t==="."||t===""?void 0:t}i(ys,"trimDot");function fF(t,e){let r=basename(e).replace(/\.md$/i,"");return t==="agents"?{agents:[r]}:t==="commands"?{commands:[r]}:{rules:[r]}}i(fF,"markdownPick");async function Aw(t){if(!t.as)return {pathInRepo:ys(t.pathInRepo)};let e=t.pathInRepo.replace(/^\/+|\/+$/g,""),r=await stat(t.contentRoot);if(t.as!=="skills"&&r.isFile()&&t.contentRoot.toLowerCase().endsWith(".md"))return {pathInRepo:ys(dirname(e)),pick:fF(t.as,e||t.contentRoot)};if(t.as==="skills"){if(r.isFile()&&basename(t.contentRoot)==="SKILL.md"){let n=e?dirname(e):dirname(t.contentRoot);return {pathInRepo:ys(dirname(n)),pick:{skills:[basename(n)]}}}if(r.isDirectory()){let n=e||basename(t.contentRoot),o=join(t.contentRoot.replace(/\/+$/g,""),"SKILL.md");try{if((await stat(o)).isFile()){let a=await Xl(o);return {pathInRepo:ys(dirname(n)),pick:{skills:[a||basename(n)]}}}}catch{return {pathInRepo:ys(e)}}}}return {pathInRepo:ys(e)}}i(Aw,"resolveManualInstallPersistence");async function sr(t){return process.stdin.isTTY?new Promise(e=>{let r=Tw.createInterface({input:process.stdin,output:process.stdout});r.question(`${t} (y/n) `,n=>{r.close();let o=n.trim().toLowerCase();e(o==="y"||o==="yes");});}):false}i(sr,"confirm");function gF(t){return !!(t.skills.length||t.rules.length||t.commands.length||t.agents.length)}i(gF,"hasArrayResources");function Lw(t){return gF(t)||t.mcp!==null||t.permissions!==null||t.hooks!==null||t.ignore.length>0}i(Lw,"hasInstallableResources");async function Nw(t,e,r,n){let o=t.skills.map(l=>aw(l)),s=o.filter(l=>l.ok).map(l=>l.skill),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await sr(`Include invalid skill "${l.skill.name}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.skill);else e&&(s=o.map(l=>l.skill));return r&&(s=o.filter(l=>l.ok).map(l=>l.skill)),s}i(Nw,"resolveSkillPool");async function Dw(t,e,r,n){let o=t.rules.map(l=>lw(l)),s=o.filter(l=>l.ok).map(l=>l.rule),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await sr(`Include invalid rule "${ae(l.rule)}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.rule);else e&&(s=o.map(l=>l.rule));return r&&(s=o.filter(l=>l.ok).map(l=>l.rule)),s}i(Dw,"resolveRulePool");async function Fw(t,e,r,n){let o=t.commands.map(l=>cw(l)),s=o.filter(l=>l.ok).map(l=>l.command),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await sr(`Include invalid command "${l.command.name}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.command);else e&&(s=o.map(l=>l.command));return r&&(s=o.filter(l=>l.ok).map(l=>l.command)),s}i(Fw,"resolveCommandPool");async function vw(t,e,r,n){let o=t.agents.map(l=>mw(l)),s=o.filter(l=>l.ok).map(l=>l.agent),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await sr(`Include invalid agent "${l.agent.name}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.agent);else e&&(s=o.map(l=>l.agent));return r&&(s=o.filter(l=>l.ok).map(l=>l.agent)),s}i(vw,"resolveAgentPool");async function $w(t,e){let r=e.skills.map(a=>a.name),n=e.rules.map(a=>ae(a)),o=e.commands.map(a=>a.name),s=e.agents.map(a=>a.name);for(let a of e.skills)t.skills.some(l=>l.name===a.name)&&(await sr(`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=ae(a);t.rules.some(c=>ae(c)===l)&&(await sr(`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 sr(`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 sr(`Agent "${a.name}" already exists in merged config. Add extend anyway?`)||(s=s.filter(c=>c!==a.name)));return {skillNames:r,ruleSlugs:n,commandNames:o,agentNames:s}}i($w,"resolveInstallConflicts");function Mw(t,e){if(!t)return;let r={},n=t.skills?.filter(l=>e.skillNames.includes(l)),o=t.rules?.filter(l=>e.ruleSlugs.includes(l)),s=t.commands?.filter(l=>e.commandNames.includes(l)),a=t.agents?.filter(l=>e.agentNames.includes(l));return n&&n.length>0&&(r.skills=n),o&&o.length>0&&(r.rules=o),s&&s.length>0&&(r.commands=s),a&&a.length>0&&(r.agents=a),Object.keys(r).length>0?r:void 0}i(Mw,"pickForSelectedResources");function hF(t,e){let r=t.split("/").filter(Boolean);return r.length>0&&r[r.length-1]===e}i(hF,"pathEndsWithName");function tc(t,e,r){return r!==1||e.length!==1?false:hF(t,e[0])}i(tc,"inferSingleNamePick");function Gw(t){let{pathInRepo:e,implicitPick:r,preConflictCounts:n,selected:o}=t,s={},a=o.skillNames.length>0&&(!!r?.skills?.length||o.skillNames.length<n.skills||tc(e,o.skillNames,n.skills)),l=o.ruleSlugs.length>0&&(!!r?.rules?.length||o.ruleSlugs.length<n.rules||tc(e,o.ruleSlugs,n.rules)),c=o.commandNames.length>0&&(!!r?.commands?.length||o.commandNames.length<n.commands||tc(e,o.commandNames,n.commands)),m=o.agentNames.length>0&&(!!r?.agents?.length||o.agentNames.length<n.agents||tc(e,o.agentNames,n.agents));return a&&(s.skills=[...o.skillNames]),l&&(s.rules=[...o.ruleSlugs]),c&&(s.commands=[...o.commandNames]),m&&(s.agents=[...o.agentNames]),Object.keys(s).length?s:void 0}i(Gw,"buildInstallPick");function jw(t,e){let r=new Set(t);return e.skillNames.length===0&&r.delete("skills"),e.ruleSlugs.length===0&&r.delete("rules"),e.commandNames.length===0&&r.delete("commands"),e.agentNames.length===0&&r.delete("agents"),[...r]}i(jw,"deriveInstallFeatures");function yF(t){return t.skillNames.length===0&&t.ruleSlugs.length===0&&t.commandNames.length===0&&t.agentNames.length===0}i(yF,"isEmptyInstallSelection");function Uw(t){let{selected:e,discoveredFeatures:r,preConflict:n}=t,o=i(l=>r.includes(l),"had"),s=o("skills")&&e.skillNames.length===0&&n.skills>0&&"skills"||o("rules")&&e.ruleSlugs.length===0&&n.rules>0&&"rules"||o("commands")&&e.commandNames.length===0&&n.commands>0&&"commands"||o("agents")&&e.agentNames.length===0&&n.agents>0&&"agents";if(s)throw new Error(`No ${s} selected to install.`);let a=r.some(l=>["mcp","permissions","hooks","ignore"].includes(l));if(yF(e)&&!a)throw new Error("No resources selected to install.")}i(Uw,"ensureInstallSelection");function Ww(t,e){if(t.find(n=>n.name===e.name&&n.source!==e.source))throw new Error(`Extends entry "${e.name}" already exists with a different source. Use --name to provide a different name.`)}i(Ww,"assertExtendNameAvailable");function IF(t,e,r){if(r===void 0){if(!t)return;let o={...t};for(let s of ["skills","commands","rules","agents"])e.includes(s)&&delete o[s];return Object.keys(o).length?o:void 0}let n={...t};for(let o of ["skills","commands","rules","agents"]){if(!(o in r))continue;let s=r[o];if(s===void 0||s.length===0){delete n[o];continue}n[o]=[...new Set([...t?.[o]??[],...s])];}return Object.keys(n).length?n:void 0}i(IF,"mergePick");function Bw(t,e){let r=t.findIndex(a=>a.source===e.source);if(r<0)return [...t,{name:e.name,source:e.source,version:e.version,features:e.features,path:e.path,pick:e.pick,target:e.target}];let n=t[r],o=[...new Set([...n.features,...e.features])],s=IF(n.pick,e.features,e.pick);return t.map((a,l)=>l===r?{name:e.name,source:e.source,version:e.version??n.version,features:o,path:e.path!==void 0?e.path:n.path,pick:s,target:e.target??n.target}:a)}i(Bw,"mergeExtendList");b();async function Kw(t,e,r){let n=await S(t);if(n===null)throw new Error(`Missing config: ${t}`);let o=parse(n),s=Bw(e.extends,r);o.extends=s;let a=stringify(o,{indent:2,lineWidth:0});await R(t,a.endsWith(`
|
|
284
|
+
`);}i(uD,"appendToGitignore");async function Nk(t,e={}){let r=e.global===true?"global":"project",n=Es(t,r),o=join(n.configDir,$i);if(await L(o))throw new Error(`Already initialized. ${$i} exists. Remove it first to re-init.`);let s=await xk(n.rootBase,r),a=r==="global"?s.filter(m=>Lk.includes(m)):s,l=r==="global"?Lk:void 0;if(a.length>0)if(y.info(`Found existing configurations: ${a.join(", ")}`),e.yes){y.info("Auto-importing existing configurations (--yes)...");let m=0;for(let u of a){let p=cD[u];if(!p)continue;let d=await p(n.rootBase,r);for(let g of d){let h=relative(n.rootBase,g.fromPath).replaceAll("\\","/"),R=g.toPath.replaceAll("\\","/");y.success(` ${h} \u2192 ${R}`);}m+=d.length;}m>0&&y.info(`Imported ${m} file(s) from ${a.length} tool(s).`),await Ak(n.canonicalDir),await _(o,Hl(a,l)),y.success(`Created ${$i} (targets: ${a.join(", ")})`);}else y.info("Run 'agentsmesh init --yes' to auto-import, or 'agentsmesh import --from <tool>' manually."),await Vp(n.canonicalDir),await _(o,Hl([],l)),y.success(`Created ${$i}`);else await Vp(n.canonicalDir),await _(o,Hl([],l)),y.success(`Created ${$i}`);let c=join(n.configDir,Tk);await _(c,Ok),y.success(`Created ${Tk}`),r==="project"&&(await uD(t),y.success("Updated .gitignore"));}i(Nk,"runInit");rt();var pD=Object.fromEntries(Ct.map(t=>[t.id,{importFrom:t.generators.importFrom,emptyImportMessage:t.emptyImportMessage,lintRules:t.lintRules,lint:t.lint,capabilities:t.capabilities}]));function Vl(t){let e=pD[t];if(!e)throw new Error(`Unknown target: ${t}`);return e}i(Vl,"getTargetCatalogEntry");sr();function Dk(t,e,r){for(let n of t){let o=relative(e,n.fromPath);y.success(`${o} \u2192 ${n.toPath}`);}y.info(`Imported ${t.length} file(s). Run 'agentsmesh generate${r==="global"?" --global":""}' to sync to other tools.`);}i(Dk,"formatImportResults");async function Fk(t,e){let r=e??process.cwd(),n=t.from;if(typeof n!="string"||!n)throw new Error("--from is required. Example: agentsmesh import --from claude-code");let o=n.toLowerCase().trim(),s=t.global===true?"global":"project";if(Mr(o)){let u=Es(r,s),p=Vl(o),d=await p.importFrom(u.rootBase,{scope:s});if(d.length===0){y.info(p.emptyImportMessage);return}Dk(d,u.rootBase,s);return}let a,l;try{({config:a,context:l}=await at(r,s));}catch{throw new Error(`Unknown --from "${n}" and no agentsmesh.yaml found. Run 'agentsmesh init' to enable plugin targets, or use a builtin: ${ht.join(", ")}.`)}await ie(a,r);let c=Z(o);if(!c)throw new Error(`Unknown --from "${n}". Supported: ${[...ht,...a.pluginTargets??[]].join(", ")}.`);let m=await c.generators.importFrom(l.rootBase,{scope:s});if(m.length===0){y.info(c.emptyImportMessage);return}Dk(m,l.rootBase,s);}i(Fk,"runImport");function $k(t){let e=[],r={new:0,updated:0,unchanged:0,deleted:0};for(let n of t){if(n.status==="unchanged"){r.unchanged++;continue}if(n.status==="created"){r.new++;let o=createTwoFilesPatch(`${n.path} (current)`,`${n.path} (generated)`,"",n.content,void 0,void 0,{context:3});e.push({path:n.path,patch:o});continue}if(n.status==="updated"&&n.currentContent!==void 0){r.updated++;let o=createTwoFilesPatch(`${n.path} (current)`,`${n.path} (generated)`,n.currentContent,n.content,void 0,void 0,{context:3});e.push({path:n.path,patch:o});continue}}return {diffs:e,summary:r}}i($k,"computeDiff");function Mk(t){return `${t.new} files would be created, ${t.updated} updated, ${t.unchanged} unchanged, ${t.deleted} deleted`}i(Mk,"formatDiffSummary");async function Gk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",o=t.targets,s=typeof o=="string"&&o?o.split(",").map(d=>d.trim()).filter(Boolean):void 0,{config:a,context:l}=await at(r,n);await ie(a,r);let{canonical:c}=await se(a,l.configDir,{},l.canonicalDir),m=await Bl({config:a,canonical:c,projectRoot:l.rootBase,scope:n,targetFilter:s});if(m.length===0){y.info("No files to generate (no root rule or rules feature disabled).");return}let{diffs:u,summary:p}=$k(m);for(let d of u)process.stdout.write(d.patch);y.info(Mk(p));}i(Gk,"runDiff");E();sr();Cn();Wt();var fD=[{canonicalKey:"permissions",capabilityKey:"permissions",featureFlag:"permissions",file:".agentsmesh/permissions.yaml",label:"permissions",hasContent:i(t=>{let e=t.permissions;if(!e)return false;let r=e.ask?.length??0;return e.allow.length+e.deny.length+r>0},"hasContent")},{canonicalKey:"hooks",capabilityKey:"hooks",featureFlag:"hooks",file:".agentsmesh/hooks.yaml",label:"hooks",hasContent:i(t=>{let e=t.hooks;return e?Object.values(e).some(r=>Array.isArray(r)&&r.length>0):false},"hasContent")},{canonicalKey:"mcp",capabilityKey:"mcp",featureFlag:"mcp",file:".agentsmesh/mcp.json",label:"MCP servers",hasContent:i(t=>{let e=t.mcp;return e?Object.keys(e.mcpServers).length>0:false},"hasContent")},{canonicalKey:"commands",capabilityKey:"commands",featureFlag:"commands",file:".agentsmesh/commands",label:"commands",hasContent:i(t=>t.commands.length>0,"hasContent")},{canonicalKey:"agents",capabilityKey:"agents",featureFlag:"agents",file:".agentsmesh/agents",label:"agents",hasContent:i(t=>t.agents.length>0,"hasContent")},{canonicalKey:"skills",capabilityKey:"skills",featureFlag:"skills",file:".agentsmesh/skills",label:"skills",hasContent:i(t=>t.skills.length>0,"hasContent")},{canonicalKey:"ignore",capabilityKey:"ignore",featureFlag:"ignore",file:".agentsmesh/ignore",label:"ignore patterns",hasContent:i(t=>t.ignore.length>0,"hasContent")}];function jk(t){let e=new Set(t.enabledFeatures),r=[];for(let n of fD)!e.has(n.featureFlag)||!n.hasContent(t.canonical)||ue(t.capabilities[n.capabilityKey]).level!=="none"||r.push(V(n.file,t.target,`${t.target} does not support ${n.label}; canonical entries are silently dropped during generation. Disable the feature for this target or remove the canonical content.`));return r}i(jk,"lintSilentFeatureDrops");Wt();var gD=/^(?:\s*(?:bash|sh|zsh|pwsh|powershell)\s+)?["']?(?<path>(?:\.{1,2}\/|[^/\s"'`]+\/)[^\s"'`]+)["']?(?:\s|$)/;function hD(t){let r=t.match(gD)?.groups?.path;return typeof r=="string"?r:null}i(hD,"extractScriptToken");function Uk(t){if(t.hasScriptProjection)return [];let e=t.canonical.hooks;if(!e)return [];let r=[];for(let n of Object.values(e))if(Array.isArray(n))for(let o of n){if(typeof o?.command!="string")continue;let s=hD(o.command);s&&r.push(V(".agentsmesh/hooks.yaml",t.target,`${t.target} hook command references script "${s}"; agentsmesh does not copy hook scripts into ${t.target} output, so the script must already exist relative to the hook execution directory or the generated config will fail.`));}return r}i(Uk,"lintHookScriptReferences");Wt();function Wk(t){if(t.preservesManualActivation)return [];let e=[];for(let r of t.canonical.rules)r.root||r.trigger==="manual"&&(r.targets.length>0&&!r.targets.includes(t.target)||e.push(V(r.source,t.target,`Rule has trigger: 'manual' (Cursor-style "@-mention only" activation), but ${t.target} loads every rule unconditionally. The rule will become always-on for ${t.target} \u2014 restrict it with \`targets: [cursor]\`, convert it to a skill with manual invocation, or remove it.`)));return e}i(Wk,"lintRuleScopeInversion");var yD=["node_modules",".git","dist","coverage",".agentsmesh"];async function ID(t){return (await P(t)).filter(n=>{let o=relative(t,n);return !yD.some(s=>o.includes(`/${s}/`)||o.startsWith(`${s}/`))}).map(n=>relative(t,n))}i(ID,"getProjectFiles");async function Kk(t,e,r,n,o={}){let s=o.scope??"project",a=[...t.targets,...t.pluginTargets??[]],l=n?a.filter(C=>n.includes(C)):a,c=t.features.includes("rules"),m=t.features.includes("commands"),u=t.features.includes("mcp"),p=t.features.includes("permissions"),d=t.features.includes("hooks"),g=[],h=s==="global"?[]:await ID(r);for(let C of l){let S=Z(C),w=Mr(C)?Vl(C):S;w?.capabilities&&g.push(...jk({target:C,capabilities:w.capabilities,canonical:e,enabledFeatures:t.features})),d&&g.push(...Uk({target:C,canonical:e,hasScriptProjection:S?.postProcessHookOutputs!==void 0})),c&&g.push(...Wk({target:C,canonical:e,preservesManualActivation:S?.preservesManualActivation===true})),c&&w?.lintRules&&g.push(...w.lintRules(e,r,h,{scope:s})),S?.generators.lint&&g.push(...S.generators.lint(e));let D={scope:s};m&&w?.lint?.commands&&g.push(...w.lint.commands(e,D)),u&&w?.lint?.mcp&&g.push(...w.lint.mcp(e,D)),p&&w?.lint?.permissions&&g.push(...w.lint.permissions(e,D)),d&&w?.lint?.hooks&&g.push(...w.lint.hooks(e,D));}let R=g.some(C=>C.level==="error");return {diagnostics:g,hasErrors:R}}i(Kk,"runLint");async function Hk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",o=t.targets,s=typeof o=="string"&&o?o.split(",").map(R=>R.trim()).filter(Boolean):void 0,{config:a,context:l}=await at(r,n);await ie(a,r);let{canonical:c}=await se(a,l.configDir,{},l.canonicalDir),{diagnostics:m,hasErrors:u}=await Kk(a,c,l.configDir,s,{scope:n});if(m.length===0)return y.success("All checks passed."),0;let p=m.filter(R=>R.level==="error"),d=m.filter(R=>R.level==="warning");if(p.length>0)for(let R of p)y.error(`${R.file} (${R.target}): ${R.message}`);if(d.length>0)for(let R of d)y.warn(`${R.file} (${R.target}): ${R.message}`);let g=p.length,h=d.length;return y.info(`${g} error${g!==1?"s":""}, ${h} warning${h!==1?"s":""}`),u?1:0}i(Hk,"runLintCmd");var RD=300;function CD(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}i(CD,"normalizeWatchPath");function kD(t,e,r){let n=CD(relative(t,e));return n===".lock"||n===".lock.tmp"||n===".generate.lock"||n.endsWith("/.lock")||n.endsWith("/.lock.tmp")||n.endsWith("/.generate.lock")||n.includes("/.generate.lock/")||n.startsWith(".generate.lock/")}i(kD,"shouldIgnoreWatchPath");function wD(t,e,r,n,o,s,a,l,c){return JSON.stringify({features:t,rulesCount:e,commandsCount:r,agentsCount:n,skillsCount:o,mcpServerCount:s,permissionsCount:a,hooksCount:l,ignoreCount:c})}i(wD,"featureFingerprint");async function Vk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{context:o}=await at(r,n),s=[o.canonicalDir,join(o.configDir,"agentsmesh.yaml"),join(o.configDir,"agentsmesh.local.yaml")],a=null,l=null,c=false,m=null,p=i(async()=>{if(c)return;a=null;let{config:R,context:C}=await at(r,n),{canonical:S}=await se(R,C.configDir,{},C.canonicalDir),w=S.mcp?Object.keys(S.mcp.mcpServers).length:0,D=S.permissions?S.permissions.allow.length+S.permissions.deny.length:0,b=S.hooks?Object.values(S.hooks).reduce((W,q)=>W+(Array.isArray(q)?q.length:0),0):0,x=S.ignore.length,K=wD(R.features,S.rules.length,S.commands.length,S.agents.length,S.skills.length,w,D,b,x),M=l!==null&&l!==K;l=K,!c&&(await ds(t,r,{printMatrix:false}),!c&&(M?await oo(t,r):y.info("Regenerated.")));},"run"),d=i(()=>{let R=p().catch(C=>{if(!c){let S=C instanceof Error?C.message:String(C);y.error(S);}}).finally(()=>{m===R&&(m=null);});m=R;},"scheduleRun"),g=i(()=>{c||(a&&clearTimeout(a),a=setTimeout(d,RD));},"schedule"),h=_D.watch(s,{ignoreInitial:true,usePolling:process.platform==="win32"});return h.on("all",(R,C)=>{kD(o.canonicalDir,C)||g();}),await new Promise((R,C)=>{h.once("ready",R),h.once("error",C);}),y.info(n==="global"?"Watching ~/.agentsmesh/ and agentsmesh.yaml...":"Watching .agentsmesh/ and agentsmesh.yaml..."),m=p(),await m,m=null,{stop:i(async()=>{c=true,a&&(clearTimeout(a),a=null),await h.close(),m&&await m;},"stop")}}i(Vk,"runWatch");async function Jk(t){let{config:e,configDir:r,canonicalDir:n}=t,o=await vl(n);if(o===null)return {inSync:false,hasLock:false,modified:[],added:[],removed:[],extendsModified:[],lockedViolations:[]};let s=await vr(n),a=await fo(e,r),l=a.length>0?await eo(a):{},c=new Set(Object.keys(o.checksums)),m=new Set(Object.keys(s)),u=[],p=[],d=[];for(let S of c){let w=s[S];w===void 0?d.push(S):w!==o.checksums[S]&&u.push(S);}for(let S of m)c.has(S)||p.push(S);let g=new Set([...Object.keys(o.extends),...Object.keys(l)]),h=[];for(let S of g)l[S]!==o.extends[S]&&h.push(S);let R=$l(o.checksums,s,e.collaboration?.lock_features??[]);return {inSync:u.length===0&&p.length===0&&d.length===0&&h.length===0,hasLock:true,modified:u,added:p,removed:d,extendsModified:h,lockedViolations:R}}i(Jk,"checkLockSync");async function Yk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{config:o,context:s}=await at(r,n);await ie(o,r);let a=await Jk({config:o,configDir:s.configDir,canonicalDir:s.canonicalDir});if(!a.hasLock)return y.error("Not initialized for collaboration. Run 'agentsmesh generate' first."),1;if(a.inSync)return y.success("Lock file is in sync."),0;let l=new Set(a.lockedViolations);y.error("Conflict detected:");for(let c of a.extendsModified)y.error(` extend "${c}" was modified`);for(let c of a.modified){let m=l.has(c)?" [LOCKED]":"";y.error(` ${c} was modified${m}`);}for(let c of a.added){let m=l.has(c)?" [LOCKED]":"";y.error(` ${c} was added${m}`);}for(let c of a.removed){let m=l.has(c)?" [LOCKED]":"";y.error(` ${c} was removed${m}`);}return y.info("Run 'agentsmesh merge' to resolve, or 'agentsmesh generate --force' to accept current state."),1}i(Yk,"runCheck");E();var ED=".lock",bD="<<<<<<<";async function Yp(t){let e=join(t,ED),r=await I(e);return r===null?false:r.includes(bD)}i(Yp,"hasLockConflict");async function Zk(t,e,r){if(!await Yp(t))throw new Error("No conflict to resolve.");let o=await vr(t),s=dirname(t),a=r?await fo(r,s):[],l=a.length>0?await eo(a):{},c=await Ni(join(t,"packs")),m=process.env.USER??process.env.USERNAME??"unknown";await Li(t,{generatedAt:new Date().toISOString(),generatedBy:m,libVersion:e,checksums:o,extends:l,packs:c});}i(Zk,"resolveLockConflict");async function qk(t,e){let r=e??process.cwd(),n=t.global===true?"global":"project",{config:o,context:s}=await at(r,n),a=s.canonicalDir;if(!await Yp(a)){y.info("No conflicts to resolve.");return}await Zk(a,Rs(),o),y.success("Lock file conflict resolved.");}i(qk,"runMerge");E();var AD=promisify(execFile);async function Xp(t){let{stdout:e}=await AD("git",t,{env:{...process.env,GIT_TERMINAL_PROMPT:"0"}});return e.trim()}i(Xp,"runGit");async function Qk(){try{return await Xp(["--version"]),!0}catch{return false}}i(Qk,"isGitAvailable");async function TD(t,e){let r=[e,`refs/heads/${e}`,`refs/tags/${e}`],n;for(let o of r)try{let a=(await Xp(["ls-remote",t,o])).split(`
|
|
285
|
+
`).map(c=>c.trim()).find(c=>c.length>0);if(!a)continue;let l=a.split(/\s+/)[0];if(l&&/^[0-9a-f]{40}$/i.test(l))return l}catch(s){n=s;}throw new Error(`Could not resolve ref "${e}" for ${t}: ${n instanceof Error?n.message:String(n)}`)}i(TD,"gitLsRemoteResolve");async function tw(t,e){let r=t===""?"HEAD":t;if(/^[0-9a-f]{40}$/i.test(r))return r.toLowerCase();if(r==="HEAD"){let o=(await Xp(["ls-remote",e,"HEAD"])).split(`
|
|
286
|
+
`).find(a=>a.trim().length>0);if(!o)throw new Error(`Could not resolve HEAD for ${e}`);let s=o.split(/\s+/)[0];if(!s||!/^[0-9a-f]{40}$/i.test(s))throw new Error(`Invalid ls-remote HEAD line for ${e}`);return s.toLowerCase()}return TD(e,r)}i(tw,"resolveRemoteRefForInstall");async function ew(t){if(t.kind==="local")return {resolvedPath:t.localRoot,sourceForYaml:t.localSourceForYaml};let e=t.gitRemoteUrl;if(!e)throw new Error("Internal error: missing git remote URL");let r=await tw(t.rawRef||"HEAD",e);if(t.kind==="github"){let l=`github:${t.org}/${t.repo}@${r}`;return {resolvedPath:(await po(l,"install",{cacheDir:Tt(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:l,version:r}}if(t.kind==="gitlab"){let l=`gitlab:${t.org}/${t.repo}@${r}`;return {resolvedPath:(await po(l,"install",{cacheDir:Tt(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:l,version:r}}let n=r,s=`git+${(t.gitPlusBase??e).split("#")[0]}#${n}`;return {resolvedPath:(await po(s,"install",{cacheDir:Tt(),refresh:false,allowOfflineFallback:false})).resolvedPath,sourceForYaml:s,version:r}}i(ew,"fetchInstallSource");async function rw(t,e){if(t.kind==="local")return {resolvedPath:t.localRoot,sourceForYaml:t.localSourceForYaml};try{let r=await ew(t);return {resolvedPath:r.resolvedPath,sourceForYaml:r.sourceForYaml,version:r.version}}catch(r){let n=r instanceof Error?r.message:String(r),o=new Error(`Failed to fetch from ${e}: ${n}. Check your network connection and try again.`);throw r instanceof Error&&(o.cause=r),o}}i(rw,"resolveInstallResolvedPath");function Zp(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("tree");if(n<2||n+1>=r.length)return null;let o=r[0],s=r[1],a=r[n+1],l=r.slice(n+2).join("/");return !o||!s||!a?null:{org:o,repo:s,ref:a,path:l||""}}catch{return null}}i(Zp,"parseGithubTreeUrl");function qp(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("blob");if(n<2||n+1>=r.length)return null;let o=r[0],s=r[1],a=r[n+1],l=r.slice(n+2).join("/");return !o||!s||!a||!l?null:{org:o,repo:s,ref:a,path:l}}catch{return null}}i(qp,"parseGithubBlobUrl");function Qp(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("-");if(n<0||r[n+1]!=="tree")return null;let o=n+1;if(o+1>=r.length)return null;let s=r[o+1],a=r.slice(o+2).join("/"),l=r.slice(0,n);if(l.length<2)return null;let c=l[l.length-1],m=l.slice(0,-1).join("/");return !m||!c||!s?null:{namespace:m,project:c,ref:s,path:a||""}}catch{return null}}i(Qp,"parseGitlabTreeUrl");function td(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean),n=r.indexOf("-");if(n<0||r[n+1]!=="blob")return null;let o=n+1;if(o+1>=r.length)return null;let s=r[o+1],a=r.slice(o+2).join("/"),l=r.slice(0,n);if(l.length<2)return null;let c=l[l.length-1],m=l.slice(0,-1).join("/");return !m||!c||!s||!a?null:{namespace:m,project:c,ref:s,path:a}}catch{return null}}i(td,"parseGitlabBlobUrl");var LD=new Set(["tree","blob","commit","releases","actions","issues","pulls","settings","wiki","discussions","security","projects","packages"]);function ed(t){try{let e=new URL(t);if(e.hostname!=="github.com")return null;let r=e.pathname.split("/").filter(Boolean).map(s=>s.replace(/\.git$/i,""));if(r.length<2||r.length>2||LD.has(r[1]))return null;let n=r[0],o=r[1];return {org:n,repo:o}}catch{return null}}i(ed,"parseGithubRepoUrl");function rd(t){try{let e=new URL(t);if(e.hostname!=="gitlab.com")return null;let r=e.pathname.split("/").filter(Boolean).map(s=>s.replace(/\.git$/i,""));if(r.length<2||r.includes("-"))return null;let n=r[r.length-1],o=r.slice(0,-1).join("/");return !o||!n?null:{namespace:o,project:n}}catch{return null}}i(rd,"parseGitlabRepoUrl");function nd(t){let e=t.match(/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?$/i);return e?{org:e[1],repo:e[2].replace(/\.git$/i,"")}:null}i(nd,"parseGitSshGithub");function od(t){let e=t.match(/^git@gitlab\.com:(.+?)(?:\.git)?$/i);if(!e)return null;let n=e[1].replace(/\.git$/i,"").split("/").filter(Boolean);if(n.length<2)return null;let o=n[n.length-1];return {namespace:n.slice(0,-1).join("/"),project:o}}i(od,"parseGitSshGitlab");E();var FD=/^[A-Za-z]:[\\/]/,vD=/^[A-Za-z]:\//;function nw(...t){return t.some(e=>e.includes("\\")||FD.test(e))?win32:posix}i(nw,"pathApiFor");function Gi(t){return t.replace(/\\/g,"/")}i(Gi,"toPosixPath");function Mi(t){return Gi(t).replace(/^\/+|\/+$/g,"")}i(Mi,"normalizeInstallPathField");function Jl(t){let e=Gi(t);return e===""||e==="."||e==="./."?".":e.startsWith("./")||e.startsWith("../")||e.startsWith("/")||vD.test(e)?e:`./${e}`}i(Jl,"normalizeLocalSourceForYaml");function gn(t){return {...t,source:t.source_kind==="local"?Jl(t.source):t.source,...t.path!==void 0?{path:Mi(t.path)}:{},...t.paths!==void 0?{paths:t.paths.map(e=>Mi(e))}:{}}}i(gn,"normalizePersistedInstallPaths");function ow(t,e,r){let n=nw(t,e),o=n.normalize(t),s=n.normalize(e),a=Mi(r),l=`${n.sep}.agentsmesh${n.sep}`,c=o.indexOf(l);if(c>=0){let u=o.slice(0,c),p=o.slice(c+l.length),d=Mi(p),g=Gi(n.relative(s,u))||".";return {kind:"local",rawRef:"",pathInRepo:a||d.replace(/\.md$/i,"").replace(/\/$/,""),localRoot:u,localSourceForYaml:Jl(g)}}let m=Gi(n.relative(s,o))||".";return {kind:"local",rawRef:"",pathInRepo:a,localRoot:o,localSourceForYaml:Jl(m)}}i(ow,"localParsedFromAbsPath");async function sd(t,e,r){let n=t.trim(),o=r?.trim().replace(/\\/g,"/")??"";if(n.startsWith("git+")){let c=n.lastIndexOf("#"),m=c<0?n:n.slice(0,c),u=c<0?"HEAD":n.slice(c+1),p=m.slice(4);return {kind:"git",rawRef:u,gitPlusBase:p,gitRemoteUrl:p,pathInRepo:o}}if(n.startsWith("https://")||n.startsWith("http://")){let c=Zp(n)??qp(n);if(c)return {kind:"github",rawRef:c.ref,org:c.org,repo:c.repo,gitRemoteUrl:`https://github.com/${c.org}/${c.repo}.git`,pathInRepo:o||c.path};let m=ed(n);if(m)return {kind:"github",rawRef:"HEAD",org:m.org,repo:m.repo,gitRemoteUrl:`https://github.com/${m.org}/${m.repo}.git`,pathInRepo:o};let u=Qp(n)??td(n);if(u)return {kind:"gitlab",rawRef:u.ref,org:u.namespace,repo:u.project,gitRemoteUrl:`https://gitlab.com/${u.namespace}/${u.project}.git`,pathInRepo:o||u.path};let p=rd(n);if(p)return {kind:"gitlab",rawRef:"HEAD",org:p.namespace,repo:p.project,gitRemoteUrl:`https://gitlab.com/${p.namespace}/${p.project}.git`,pathInRepo:o}}if(n.startsWith("git@github.com:")){let c=nd(n);if(!c)throw new Error(`Invalid GitHub SSH URL: ${n}`);return {kind:"github",rawRef:"HEAD",org:c.org,repo:c.repo,gitRemoteUrl:`https://github.com/${c.org}/${c.repo}.git`,pathInRepo:o}}if(n.startsWith("git@gitlab.com:")){let c=od(n);if(!c)throw new Error(`Invalid GitLab SSH URL: ${n}`);return {kind:"gitlab",rawRef:"HEAD",gitRemoteUrl:`https://gitlab.com/${c.namespace}/${c.project}.git`,pathInRepo:o}}if(n.startsWith("git@")){let c=n.match(/^git@([^:]+):(.+?)(?:\.git)?$/);if(!c)throw new Error(`Invalid SSH git URL: ${n}`);let m=c[1],u=c[2].replace(/\.git$/i,"");return {kind:"git",rawRef:"HEAD",gitRemoteUrl:`ssh://git@${m}/${u}.git`,pathInRepo:o}}let s=n.match(/^github:([^/]+)\/(.+?)@([^/@]+)$/);if(s){let c=s[1],m=s[2];return {kind:"github",rawRef:s[3],org:c,repo:m,gitRemoteUrl:`https://github.com/${c}/${m}.git`,pathInRepo:o}}let a=n.match(/^gitlab:(.+)\/([^/@]+)@([^/@]+)$/);if(a){let c=a[1],m=a[2];return {kind:"gitlab",rawRef:a[3],org:c,repo:m,gitRemoteUrl:`https://gitlab.com/${c}/${m}.git`,pathInRepo:o}}let l=resolve(e,n);if(!await L(l))throw new Error(`Path does not exist: ${l}`);return ow(l,e,o)}i(sd,"parseInstallSource");E();E();var sw=z$1.object({name:z$1.string().min(1),source:z$1.string().min(1),version:z$1.string().optional(),source_kind:z$1.enum(["github","gitlab","git","local"]),features:z$1.array(mo).min(1),pick:Os.optional(),target:Jt.optional(),path:z$1.string().optional(),paths:z$1.array(z$1.string().min(1)).min(1).optional(),as:us.optional()}),UD=z$1.object({version:z$1.literal(1),installs:z$1.array(sw).default([])});function WD(t,e){return t.length===e.length&&[...t].sort().every((r,n)=>r===[...e].sort()[n])}i(WD,"sameFeatures");function BD(t,e){return t.source===e.source&&t.target===e.target&&t.as===e.as&&WD(t.features,e.features)}i(BD,"sameInstallIdentity");function iw(t){return join(t,"installs.yaml")}i(iw,"manifestPath");async function id(t){let e=await I(iw(t));if(e===null)return [];try{return UD.parse(parse(e)).installs.map(r=>gn(r))}catch{return []}}i(id,"readInstallManifest");async function aw(t,e){let r=gn(e),o=(await id(t)).filter(s=>s.name!==r.name&&!BD(s,r));o.push(r),await _(iw(t),stringify({version:1,installs:o.sort((s,a)=>s.name.localeCompare(a.name))}));}i(aw,"upsertInstallManifestEntry");function lw(t){return gn(sw.parse({name:t.name,source:t.source,version:t.version,source_kind:t.sourceKind,features:t.features,pick:t.pick,target:t.target,path:t.path,paths:t.paths,as:t.as}))}i(lw,"buildInstallManifestEntry");async function HD(t){let e=await id(t.canonicalDir);if(e.length===0){y.info("No recorded installs found in .agentsmesh/installs.yaml.");return}let r=[];for(let n of e){let o=join(t.canonicalDir,"packs",n.name);await L(o)||r.push(n);}if(r.length===0){y.info("All recorded packs are already installed.");return}for(let n of r)await t.reinstall(n);y.success(`Reinstalled ${r.length} pack(s) from .agentsmesh/installs.yaml.`);}i(HD,"syncInstalledPacks");async function cw(t){return t.sync?(await HD({canonicalDir:t.canonicalDir,reinstall:t.reinstall}),true):false}i(cw,"maybeRunInstallSync");function mw(t){return {sync:t.sync===true,dryRun:t["dry-run"]===true,force:t.force===true,useExtends:t.extends===true,explicitPath:typeof t.path=="string"?t.path:void 0,explicitTarget:typeof t.target=="string"?t.target.trim():void 0,explicitAs:typeof t.as=="string"?us.parse(t.as.trim()):void 0,nameOverride:typeof t.name=="string"?t.name.trim():""}}i(mw,"readInstallFlags");function so(t){let e=[];return t.skills.length&&e.push("skills"),t.rules.length&&e.push("rules"),t.commands.length&&e.push("commands"),t.agents.length&&e.push("agents"),t.mcp!==null&&e.push("mcp"),t.permissions!==null&&e.push("permissions"),t.hooks!==null&&e.push("hooks"),t.ignore.length&&e.push("ignore"),e}i(so,"featuresFromCanonical");async function Yl(t){let{sliceRoot:e,implicitPick:r}=await Al(t),n=await Tl(e);return {canonical:n,features:so(n),implicitPick:r}}i(Yl,"discoverFromContentRoot");function uw(t){return t.description.trim()?{skill:t,ok:true}:{skill:t,ok:false,reason:"missing description in frontmatter"}}i(uw,"validateSkill");function pw(t){return t.description.trim()?{rule:t,ok:true}:{rule:t,ok:false,reason:"missing description in frontmatter"}}i(pw,"validateRule");function dw(t){return t.description.trim()?{command:t,ok:true}:{command:t,ok:false,reason:"missing description in frontmatter"}}i(dw,"validateCommand");function fw(t){return t.description.trim()?{agent:t,ok:true}:{agent:t,ok:false,reason:"missing description in frontmatter"}}i(fw,"validateAgent");function le(t){return basename(t.source).replace(/\.md$/i,"")}i(le,"ruleSlug");function VD(t){if(!t)return;let e=[];return t.skills!==void 0&&e.push("skills"),t.rules!==void 0&&e.push("rules"),t.commands!==void 0&&e.push("commands"),t.agents!==void 0&&e.push("agents"),e.length>0?e:void 0}i(VD,"featuresFromImplicitPick");function gs(t,e){let{implicitPick:r}=e,n=e.scopedFeatures??VD(r);if(!r&&!n)return t;let o=new Set(n??[]),s={...t,mcp:!n||o.has("mcp")?t.mcp:null,permissions:!n||o.has("permissions")?t.permissions:null,hooks:!n||o.has("hooks")?t.hooks:null,ignore:!n||o.has("ignore")?t.ignore:[]};if(r?.skills!==void 0){let a=new Set(r.skills);s={...s,skills:r.skills.length===0?[]:s.skills.filter(l=>a.has(l.name))};}else n&&!o.has("skills")&&(s={...s,skills:[]});if(r?.rules!==void 0){let a=new Set(r.rules);s={...s,rules:r.rules.length===0?[]:s.rules.filter(l=>a.has(le(l)))};}else n&&!o.has("rules")&&(s={...s,rules:[]});if(r?.commands!==void 0){let a=new Set(r.commands);s={...s,commands:r.commands.length===0?[]:s.commands.filter(l=>a.has(l.name))};}else n&&!o.has("commands")&&(s={...s,commands:[]});if(r?.agents!==void 0){let a=new Set(r.agents);s={...s,agents:r.agents.length===0?[]:s.agents.filter(l=>a.has(l.name))};}else n&&!o.has("agents")&&(s={...s,agents:[]});return s}i(gs,"narrowDiscoveredForInstallScope");E();E();F();var XD=new Set(["README.md","README.rst","README.txt","README","LICENSE","LICENSE.md","LICENSE.txt","LICENSE-MIT","LICENSE-APACHE","CONTRIBUTING.md","CHANGELOG.md","CODE_OF_CONDUCT.md","package.json","package-lock.json","pnpm-lock.yaml","yarn.lock",".gitignore",".gitattributes",".editorconfig",".DS_Store"]),ZD=new Set([".git",".github",".gitlab","node_modules",".vscode",".idea"]);async function Xl(t){let e=await I(t);if(!e)return "";let{frontmatter:r}=O(e);return typeof r.name!="string"?"":r.name.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}i(Xl,"readSkillFrontmatterName");async function gw(t,e){await cp$1(t,e,{recursive:true,filter:i(r=>{let n=relative(t,r).replace(/\\/g,"/");if(n==="")return true;let o=n.split("/")[0];return !(ZD.has(o)||!n.includes("/")&&XD.has(n))},"filter")});}i(gw,"cpFilteredSkill");async function rF(){let t=await mkdtemp(join(tmpdir(),"am-install-manual-")),e=join(t,"repo");return await k(join(e,".agentsmesh")),{discoveryRoot:e,cleanup:i(async()=>{await rm$1(t,{recursive:true,force:true});},"cleanup")}}i(rF,"createStageRoot");async function nF(t,e){if((await stat(t)).isFile()){if(!t.toLowerCase().endsWith(".md"))throw new Error(`Manual install only supports .md files for this collection: ${t}`);await k(e),await cp$1(t,join(e,basename(t)));return}let n=(await P(t)).filter(s=>s.toLowerCase().endsWith(".md"));if(n.length===0)throw new Error(`No .md files found under ${t} for manual install.`);let o=new Map;await k(e);for(let s of n){let a=basename(s),l=o.get(a);if(l)throw new Error(`Manual install found duplicate file name "${a}" under ${t} (${l} and ${s}).`);o.set(a,s),await cp$1(s,join(e,a));}}i(nF,"stageMarkdownCollection");async function hw(t,e,r){if(r.length===0)return false;let n=new Set(r),o=new Map;for(let s of await P(t)){if(!s.endsWith("/SKILL.md")&&!s.endsWith("\\SKILL.md"))continue;let a=dirname(s),l=basename(a);if(!n.has(l))continue;let c=o.get(l);if(c&&c!==a)throw new Error(`Manual skill replay found duplicate skill "${l}" under ${t} (${c} and ${a}).`);o.set(l,a);}if(o.size!==r.length)return false;await k(e);for(let s of r)await cp$1(o.get(s),join(e,s),{recursive:true});return true}i(hw,"stagePreferredSkills");async function oF(t,e,r={}){if((await stat(t)).isFile()){if(basename(t)!=="SKILL.md")throw new Error(`Manual skill install expects SKILL.md or a skill directory: ${t}`);let o=basename(dirname(t)),s=join(e,o);await k(s),await cp$1(dirname(t),s,{recursive:true});return}if(await to(t)){if((await stat(join(t,"SKILL.md")).catch(()=>null))?.isFile()){if(await hw(t,e,r.preferredSkillNames??[]))return;let l=await Xl(join(t,"SKILL.md"))||basename(t),c=join(e,l);await k(e),await gw(t,c);return}if(await hw(t,e,r.preferredSkillNames??[]))return;await k(e);let o=await P(t),s=new Set;for(let a of o.filter(l=>l.endsWith("/SKILL.md")||l.endsWith("\\SKILL.md")))s.add(relative(t,dirname(a)).split(/[\\/]/)[0]);for(let a of s)await cp$1(join(t,a),join(e,a),{recursive:true});return}throw new Error(`Manual skill install expects a skill directory or skills collection at ${t}.`)}i(oF,"stageSkills");async function yw(t,e,r={}){let n=await rF();try{let o=join(n.discoveryRoot,".agentsmesh",e);return e==="skills"?await oF(t,o,r):await nF(t,o),n}catch(o){throw await n.cleanup(),o}}i(yw,"stageManualInstallScope");async function Iw(t,e,r,n){let o=await yw(t,e,{preferredSkillNames:e==="skills"?n?.skills:void 0}),{canonical:s}=await Yl(o.discoveryRoot),a=gs(s,{scopedFeatures:[e]});return {prep:{yamlTarget:r,scopedFeatures:[e],cleanup:o.cleanup},narrowed:a,discoveredFeatures:so(a)}}i(Iw,"resolveManualDiscoveredForInstall");E();var sF=[{prefix:".gemini/commands",target:"gemini-cli"},{prefix:".github/instructions",target:"copilot"},{prefix:".github/copilot-instructions.md",target:"copilot"},{prefix:".github/copilot",target:"copilot"},{prefix:".github/prompts",target:"copilot"},{prefix:".github/skills",target:"copilot"},{prefix:".github/agents",target:"copilot"},{prefix:".github/hooks",target:"copilot"},{prefix:".claude/commands",target:"claude-code"},{prefix:".claude/rules",target:"claude-code"},{prefix:".claude/skills",target:"claude-code"},{prefix:".claude/agents",target:"claude-code"},{prefix:".cursor/commands",target:"cursor"},{prefix:".cursor/rules",target:"cursor"},{prefix:".cursor/agents",target:"cursor"},{prefix:".cursor/skills",target:"cursor"},{prefix:".continue/prompts",target:"continue"},{prefix:".continue/rules",target:"continue"},{prefix:".continue/skills",target:"continue"},{prefix:".junie/commands",target:"junie"},{prefix:".junie/rules",target:"junie"},{prefix:".junie/agents",target:"junie"},{prefix:".junie/skills",target:"junie"},{prefix:".kiro/steering",target:"kiro"},{prefix:".kiro/skills",target:"kiro"},{prefix:".cline/skills",target:"cline"},{prefix:".clinerules/workflows",target:"cline"},{prefix:".windsurf/rules",target:"windsurf"},{prefix:".codex",target:"codex-cli"}];function iF(t){return t.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"")}i(iF,"norm");function ql(t){let e=iF(t),r=[...sF].sort((n,o)=>o.prefix.length-n.prefix.length);for(let{prefix:n,target:o}of r)if(e===n||e.startsWith(`${n}/`))return o}i(ql,"targetHintFromNativePath");function ld(t,e){return ql(t)===e}i(ld,"pathSupportsNativePick");function Sw(t,e){if(!t||!e)return;let r=ql(e);if(r&&r!==t)throw new Error(`--target "${t}" does not match the install path (native path suggests "${r}"). Omit --target to auto-detect, or point at a subtree for that target.`)}i(Sw,"validateTargetMatchesPath");function _w(t){return (t.commands?.length??0)+(t.rules?.length??0)+(t.skills?.length??0)+(t.agents?.length??0)>0}i(_w,"extendPickHasArrays");E();E();pt();async function Cw(t,e){let r=join(t,...Bt.split("/")),n=join(t,...e.split("/")),o=await P(n),s=[];for(let a of o){if(!/\.(toml|md)$/i.test(a))continue;let l=relative(r,a).replace(/\\/g,"/");if(l.startsWith("..")||l==="")continue;let m=l.replace(/\.(toml|md)$/i,"").split("/").filter(Boolean).join(":");m&&s.push(m);}return [...new Set(s)].sort()}i(Cw,"inferGeminiCommandNamesFromFiles");pt();Zt();E();async function io(t){let e=await P(t),r=new Set;for(let n of e){if(basename(n)==="SKILL.md"){r.add(basename(dirname(n)));continue}!relative(t,n).replace(/\\/g,"/").includes("/")&&n.toLowerCase().endsWith(".md")&&r.add(basename(n,".md"));}return [...r].filter(Boolean).sort()}i(io,"skillNamesFromNativeSkillDir");E();ee();async function kw(t,e){let r=join(t,...e.split("/"));if(e.startsWith(sn)){let n=await P(r),o=[...new Set(n.filter(s=>s.toLowerCase().endsWith(".prompt.md")).map(s=>basename(s,".prompt.md")))].sort();return o.length?{commands:o}:{}}if(e.startsWith(".github/copilot")&&!e.includes("copilot-instructions.md")){let n=await P(r),o=[...new Set(n.filter(s=>s.includes(".instructions.md")).map(s=>basename(s).replace(/\.instructions\.md$/i,"")))].sort();return o.length?{rules:o}:{}}if(e.startsWith(".github/instructions")){let n=await P(r),o=new Set;for(let a of n){let l=basename(a);l.toLowerCase().endsWith(".instructions.md")?o.add(l.replace(/\.instructions\.md$/i,"")):l.toLowerCase().endsWith(".md")&&o.add(basename(a,".md"));}let s=[...o].sort();return s.length?{rules:s}:{}}if(e.startsWith(".github/skills")){let n=await io(r);return n.length?{skills:n}:{}}if(e.startsWith(".github/agents")){let n=await P(r),o=[...new Set(n.filter(s=>s.toLowerCase().endsWith(".agent.md")).map(s=>basename(s,".agent.md")))].sort();return o.length?{agents:o}:{}}return {}}i(kw,"inferCopilotPickFromPath");async function zt(t,e){let r=await P(t),n=e.toLowerCase();return [...new Set(r.filter(o=>o.toLowerCase().endsWith(n)).map(o=>basename(o,e)))].sort()}i(zt,"mdNames");async function Ow(t,e,r){let n=e.replace(/\\/g,"/").replace(/^\/+|\/+$/g,""),o=join(t,...n.split("/"));if(r==="gemini-cli"){if(n===Bt||n.startsWith(`${Bt}/`)){let s=await Cw(t,n);return s.length?{commands:s}:{}}return {}}if(r==="claude-code"){if(n.startsWith(".claude/commands")){let s=await zt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".claude/rules")){let s=await zt(o,".md");return s.length?{rules:s}:{}}if(n.startsWith(".claude/agents")){let s=await zt(o,".md");return s.length?{agents:s}:{}}if(n.startsWith(".claude/skills/")){let a=n.replace(/^\.claude\/skills\/?/,"").split("/").filter(Boolean)[0];return a?{skills:[a]}:{}}return {}}if(r==="cursor"){if(n.startsWith(".cursor/rules")){let s=await zt(o,".mdc");return s.length?{rules:s}:{}}if(n.startsWith(".cursor/commands")){let s=await zt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".cursor/agents")){let s=await zt(o,".md");return s.length?{agents:s}:{}}if(n.startsWith(".cursor/skills")){let s=await io(o);return s.length?{skills:s}:{}}return {}}if(r==="copilot")return kw(t,n);if(r==="windsurf"&&n.startsWith(".windsurf/rules")){let s=await zt(o,".md");return s.length?{rules:s}:{}}if(r==="cline"){if(n.startsWith(It)){let s=await io(o);return s.length?{skills:s}:{}}if(n.startsWith(Ue)){let s=await zt(o,".md");return s.length?{commands:s}:{}}return {}}if(r==="continue"){if(n.startsWith(".continue/rules")){let s=await zt(o,".md");return s.length?{rules:s}:{}}if(n.startsWith(".continue/prompts")){let s=await zt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".continue/skills")){let s=await io(o);return s.length?{skills:s}:{}}return {}}if(r==="junie"){if(n.startsWith(".junie/commands")){let s=await zt(o,".md");return s.length?{commands:s}:{}}if(n.startsWith(".junie/rules")){let s=await zt(o,".md");return s.length?{rules:s}:{}}if(n.startsWith(".junie/agents")){let s=await zt(o,".md");return s.length?{agents:s}:{}}if(n.startsWith(".junie/skills")){let s=await io(o);return s.length?{skills:s}:{}}return {}}if(r==="codex-cli"&&n.startsWith(".codex")){let s=await P(o),a=[...new Set(s.filter(l=>l.toLowerCase().endsWith(".md")).map(l=>basename(l,".md")))].sort();return a.length?{rules:a}:{}}return {}}i(Ow,"inferImplicitPickFromNativePath");function Ew(t){return (t.commands?.length??0)+(t.rules?.length??0)+(t.skills?.length??0)+(t.agents?.length??0)===0}i(Ew,"isImplicitPickEmpty");function Wi(t){return t.replace(/\\/g,"/").replace(/\/+$/,"")}i(Wi,"normalizePath");function hF(t,e){let r=Wi(t),n=Wi(e);return r===n||r.startsWith(`${n}/`)||n.startsWith(`${r}/`)}i(hF,"overlapsPath");function Ql(t,e){let r=t??[];return r.includes(e)||r.push(e),r}i(Ql,"addUnique");async function yF(t){let e=await mkdtemp(join(tmpdir(),"am-install-native-")),r=join(e,"repo"),n=i(async()=>{await rm$1(e,{recursive:true,force:true});},"cleanup");try{return await cp$1(t,r,{recursive:!0}),{stageRoot:r,cleanup:n}}catch(o){throw await n(),o}}i(yF,"makeStageRoot");function IF(t,e){let r;for(let o of t){if(o.feature==="rules"&&o.toPath.startsWith(".agentsmesh/rules/")){r={...r,rules:Ql(r?.rules,basename(o.toPath,".md"))};continue}if(o.feature==="commands"&&o.toPath.startsWith(".agentsmesh/commands/")){let s=Wi(relative(join(e,".agentsmesh","commands"),join(e,o.toPath)));r={...r,commands:Ql(r?.commands,s.replace(/\.md$/i,"").split("/").filter(Boolean).join(":"))};continue}if(o.feature==="agents"&&o.toPath.startsWith(".agentsmesh/agents/")){r={...r,agents:Ql(r?.agents,basename(o.toPath,".md"))};continue}if(o.feature==="skills"&&o.toPath.startsWith(".agentsmesh/skills/")){let a=Wi(relative(join(e,".agentsmesh","skills"),join(e,o.toPath))).split("/")[0];a&&(r={...r,skills:Ql(r?.skills,a)});}}return r&&(r.rules?.length??0)+(r.commands?.length??0)+(r.agents?.length??0)+(r.skills?.length??0)>0?r:void 0}i(IF,"buildPickFromResults");function SF(t,e,r,n){let o=join(e,...Wi(t).split("/")),s=r.filter(a=>hF(o,a.fromPath));if(s.length===0)throw new Error(`No installable native resources found under "${t}" for target "${n}".`);return {features:[...new Set(s.map(a=>a.feature))],pick:IF(s,e)}}i(SF,"scopeImportedResults");async function md(t,e){let{stageRoot:r,cleanup:n}=await yF(t);try{let o=await bi(r,e);return {stageRoot:r,results:o,cleanup:n}}catch(o){throw await n(),o}}i(md,"stageImportedNativeRepo");async function ud(t,e,r){let n=await md(t,r);try{return {stageRoot:n.stageRoot,cleanup:n.cleanup,...SF(e,n.stageRoot,n.results,r)}}catch(o){throw await n.cleanup(),o}}i(ud,"stageNativeInstallScope");async function Aw(t,e,r,n){let o=n.explicitTarget?.trim();o&&Jt.parse(o);let s=r.replace(/\\/g,"/").replace(/^\/+|\/+$/g,"");Sw(o,s);let a=join(t,".agentsmesh"),l=await L(a),c=s?ql(s):void 0,m=!l&&!o?await na(t)??void 0:void 0;if(!o&&c&&m&&c!==m)throw new Error(`Install path suggests native layout "${c}" but auto-detect imported "${m}". Use --target ${c} for this path, or install from the repo root without a conflicting subtree path.`);let u=o??c??m,p=!!s&&!!u&&!s.startsWith(".agentsmesh");if(!l&&u){if(p){let w=await ud(t,s,u);return {discoveryRoot:w.stageRoot,implicitPick:w.pick,scopedFeatures:w.features,yamlTarget:u,importHappened:true,cleanup:w.cleanup}}let S=await md(t,u);return {discoveryRoot:s?join(S.stageRoot,s):S.stageRoot,yamlTarget:u,importHappened:true,cleanup:S.cleanup}}let d;l?s?u&&ld(s,u)?d=t:d=e:d=t:d=e;let g,h,R;if(p&&u){let S=await ud(t,s,u);d=S.stageRoot,g=S.pick,h=S.features,R=S.cleanup;}else if(d===t&&s&&u&&ld(s,u)&&(g=await Ow(t,s,u),Ew(g)))throw new Error(`No installable native resources found under "${s}" for target "${u}".`);let C;return o?C=o:u&&(g&&_w(g)||(h?.length??0)>0)&&(C=u),{discoveryRoot:d,implicitPick:g,scopedFeatures:h,yamlTarget:C,importHappened:R!==void 0,cleanup:R}}i(Aw,"prepareInstallDiscovery");async function Tw(t,e,r,n){let o=await Aw(t,e,r,{explicitTarget:n}),{canonical:s,implicitPick:a}=await Yl(o.discoveryRoot),l=a??o.implicitPick,c=gs(s,{implicitPick:l,scopedFeatures:o.scopedFeatures}),m=so(c);return {prep:o,discovered:s,implicitPick:l,narrowed:c,discoveredFeatures:m}}i(Tw,"resolveDiscoveredForInstall");async function Lw(t){return t.explicitAs?{implicitPick:void 0,...await Iw(t.contentRoot,t.explicitAs,t.explicitTarget,t.replayPick)}:Tw(t.resolvedPath,t.contentRoot,t.pathInRepo,t.explicitTarget)}i(Lw,"resolveInstallDiscovery");function ys(t){return t==="."||t===""?void 0:t}i(ys,"trimDot");function RF(t,e){let r=basename(e).replace(/\.md$/i,"");return t==="agents"?{agents:[r]}:t==="commands"?{commands:[r]}:{rules:[r]}}i(RF,"markdownPick");async function Dw(t){if(!t.as)return {pathInRepo:ys(t.pathInRepo)};let e=t.pathInRepo.replace(/^\/+|\/+$/g,""),r=await stat(t.contentRoot);if(t.as!=="skills"&&r.isFile()&&t.contentRoot.toLowerCase().endsWith(".md"))return {pathInRepo:ys(dirname(e)),pick:RF(t.as,e||t.contentRoot)};if(t.as==="skills"){if(r.isFile()&&basename(t.contentRoot)==="SKILL.md"){let n=e?dirname(e):dirname(t.contentRoot);return {pathInRepo:ys(dirname(n)),pick:{skills:[basename(n)]}}}if(r.isDirectory()){let n=e||basename(t.contentRoot),o=join(t.contentRoot.replace(/\/+$/g,""),"SKILL.md");try{if((await stat(o)).isFile()){let a=await Xl(o);return {pathInRepo:ys(dirname(n)),pick:{skills:[a||basename(n)]}}}}catch{return {pathInRepo:ys(e)}}}}return {pathInRepo:ys(e)}}i(Dw,"resolveManualInstallPersistence");async function ir(t){return process.stdin.isTTY?new Promise(e=>{let r=Fw.createInterface({input:process.stdin,output:process.stdout});r.question(`${t} (y/n) `,n=>{r.close();let o=n.trim().toLowerCase();e(o==="y"||o==="yes");});}):false}i(ir,"confirm");function CF(t){return !!(t.skills.length||t.rules.length||t.commands.length||t.agents.length)}i(CF,"hasArrayResources");function vw(t){return CF(t)||t.mcp!==null||t.permissions!==null||t.hooks!==null||t.ignore.length>0}i(vw,"hasInstallableResources");async function $w(t,e,r,n){let o=t.skills.map(l=>uw(l)),s=o.filter(l=>l.ok).map(l=>l.skill),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await ir(`Include invalid skill "${l.skill.name}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.skill);else e&&(s=o.map(l=>l.skill));return r&&(s=o.filter(l=>l.ok).map(l=>l.skill)),s}i($w,"resolveSkillPool");async function Mw(t,e,r,n){let o=t.rules.map(l=>pw(l)),s=o.filter(l=>l.ok).map(l=>l.rule),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await ir(`Include invalid rule "${le(l.rule)}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.rule);else e&&(s=o.map(l=>l.rule));return r&&(s=o.filter(l=>l.ok).map(l=>l.rule)),s}i(Mw,"resolveRulePool");async function Gw(t,e,r,n){let o=t.commands.map(l=>dw(l)),s=o.filter(l=>l.ok).map(l=>l.command),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await ir(`Include invalid command "${l.command.name}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.command);else e&&(s=o.map(l=>l.command));return r&&(s=o.filter(l=>l.ok).map(l=>l.command)),s}i(Gw,"resolveCommandPool");async function jw(t,e,r,n){let o=t.agents.map(l=>fw(l)),s=o.filter(l=>l.ok).map(l=>l.agent),a=o.filter(l=>!l.ok);if(!e&&!r&&n)for(let l of a)await ir(`Include invalid agent "${l.agent.name}" anyway? (${l.reason}). You can fix it later.`)&&s.push(l.agent);else e&&(s=o.map(l=>l.agent));return r&&(s=o.filter(l=>l.ok).map(l=>l.agent)),s}i(jw,"resolveAgentPool");async function Uw(t,e){let r=e.skills.map(a=>a.name),n=e.rules.map(a=>le(a)),o=e.commands.map(a=>a.name),s=e.agents.map(a=>a.name);for(let a of e.skills)t.skills.some(l=>l.name===a.name)&&(await ir(`Skill "${a.name}" already exists in merged config. Add extend anyway?`)||(r=r.filter(c=>c!==a.name)));for(let a of e.rules){let l=le(a);t.rules.some(c=>le(c)===l)&&(await ir(`Rule "${l}" already exists in merged config. Add extend anyway?`)||(n=n.filter(m=>m!==l)));}for(let a of e.commands)t.commands.some(l=>l.name===a.name)&&(await ir(`Command "${a.name}" already exists in merged config. Add extend anyway?`)||(o=o.filter(c=>c!==a.name)));for(let a of e.agents)t.agents.some(l=>l.name===a.name)&&(await ir(`Agent "${a.name}" already exists in merged config. Add extend anyway?`)||(s=s.filter(c=>c!==a.name)));return {skillNames:r,ruleSlugs:n,commandNames:o,agentNames:s}}i(Uw,"resolveInstallConflicts");function Ww(t,e){if(!t)return;let r={},n=t.skills?.filter(l=>e.skillNames.includes(l)),o=t.rules?.filter(l=>e.ruleSlugs.includes(l)),s=t.commands?.filter(l=>e.commandNames.includes(l)),a=t.agents?.filter(l=>e.agentNames.includes(l));return n&&n.length>0&&(r.skills=n),o&&o.length>0&&(r.rules=o),s&&s.length>0&&(r.commands=s),a&&a.length>0&&(r.agents=a),Object.keys(r).length>0?r:void 0}i(Ww,"pickForSelectedResources");function kF(t,e){let r=t.split("/").filter(Boolean);return r.length>0&&r[r.length-1]===e}i(kF,"pathEndsWithName");function tc(t,e,r){return r!==1||e.length!==1?false:kF(t,e[0])}i(tc,"inferSingleNamePick");function Bw(t){let{pathInRepo:e,implicitPick:r,preConflictCounts:n,selected:o}=t,s={},a=o.skillNames.length>0&&(!!r?.skills?.length||o.skillNames.length<n.skills||tc(e,o.skillNames,n.skills)),l=o.ruleSlugs.length>0&&(!!r?.rules?.length||o.ruleSlugs.length<n.rules||tc(e,o.ruleSlugs,n.rules)),c=o.commandNames.length>0&&(!!r?.commands?.length||o.commandNames.length<n.commands||tc(e,o.commandNames,n.commands)),m=o.agentNames.length>0&&(!!r?.agents?.length||o.agentNames.length<n.agents||tc(e,o.agentNames,n.agents));return a&&(s.skills=[...o.skillNames]),l&&(s.rules=[...o.ruleSlugs]),c&&(s.commands=[...o.commandNames]),m&&(s.agents=[...o.agentNames]),Object.keys(s).length?s:void 0}i(Bw,"buildInstallPick");function Kw(t,e){let r=new Set(t);return e.skillNames.length===0&&r.delete("skills"),e.ruleSlugs.length===0&&r.delete("rules"),e.commandNames.length===0&&r.delete("commands"),e.agentNames.length===0&&r.delete("agents"),[...r]}i(Kw,"deriveInstallFeatures");function wF(t){return t.skillNames.length===0&&t.ruleSlugs.length===0&&t.commandNames.length===0&&t.agentNames.length===0}i(wF,"isEmptyInstallSelection");function Hw(t){let{selected:e,discoveredFeatures:r,preConflict:n}=t,o=i(l=>r.includes(l),"had"),s=o("skills")&&e.skillNames.length===0&&n.skills>0&&"skills"||o("rules")&&e.ruleSlugs.length===0&&n.rules>0&&"rules"||o("commands")&&e.commandNames.length===0&&n.commands>0&&"commands"||o("agents")&&e.agentNames.length===0&&n.agents>0&&"agents";if(s)throw new Error(`No ${s} selected to install.`);let a=r.some(l=>["mcp","permissions","hooks","ignore"].includes(l));if(wF(e)&&!a)throw new Error("No resources selected to install.")}i(Hw,"ensureInstallSelection");function zw(t,e){if(t.find(n=>n.name===e.name&&n.source!==e.source))throw new Error(`Extends entry "${e.name}" already exists with a different source. Use --name to provide a different name.`)}i(zw,"assertExtendNameAvailable");function OF(t,e,r){if(r===void 0){if(!t)return;let o={...t};for(let s of ["skills","commands","rules","agents"])e.includes(s)&&delete o[s];return Object.keys(o).length?o:void 0}let n={...t};for(let o of ["skills","commands","rules","agents"]){if(!(o in r))continue;let s=r[o];if(s===void 0||s.length===0){delete n[o];continue}n[o]=[...new Set([...t?.[o]??[],...s])];}return Object.keys(n).length?n:void 0}i(OF,"mergePick");function Vw(t,e){let r=t.findIndex(a=>a.source===e.source);if(r<0)return [...t,{name:e.name,source:e.source,version:e.version,features:e.features,path:e.path,pick:e.pick,target:e.target}];let n=t[r],o=[...new Set([...n.features,...e.features])],s=OF(n.pick,e.features,e.pick);return t.map((a,l)=>l===r?{name:e.name,source:e.source,version:e.version??n.version,features:o,path:e.path!==void 0?e.path:n.path,pick:s,target:e.target??n.target}:a)}i(Vw,"mergeExtendList");E();async function Jw(t,e,r){let n=await I(t);if(n===null)throw new Error(`Missing config: ${t}`);let o=parse(n),s=Vw(e.extends,r);o.extends=s;let a=stringify(o,{indent:2,lineWidth:0});await _(t,a.endsWith(`
|
|
287
287
|
`)?a:`${a}
|
|
288
|
-
`);}i(
|
|
289
|
-
${JSON.stringify(s,null,2)}`);return}let a=join(e,"agentsmesh.yaml");await
|
|
290
|
-
`);return `sha256:${Ti(n)}`}i(ec,"hashPackContent");async function
|
|
291
|
-
`),t.permissions!==null&&await
|
|
288
|
+
`);}i(Jw,"writeAgentsmeshWithNewExtend");async function Yw(t){let{configDir:e,config:r,entryArgs:n,dryRun:o}=t,s=PF(n);if(zw(r.extends,s),o){y.info(`[dry-run] Would add extend:
|
|
289
|
+
${JSON.stringify(s,null,2)}`);return}let a=join(e,"agentsmesh.yaml");await Jw(a,r,s),y.success(`Wrote extends entry "${s.name}" to agentsmesh.yaml.`);}i(Yw,"writeInstallAsExtend");function PF(t){return {name:t.name,source:t.source,version:t.version,features:t.features,path:t.path,pick:t.pick,target:t.yamlTarget!==void 0?Jt.parse(t.yamlTarget):void 0}}i(PF,"toNewExtendEntry");E();E();var TF="pack.yaml";async function ec(t){let e=await P(t),r=[];for(let s of e.sort()){let a=relative(t,s).replace(/\\/g,"/");if(a===TF)continue;let l=await Fl(s);l!==null&&r.push(`${a}:${l}`);}let n=r.join(`
|
|
290
|
+
`);return `sha256:${Ti(n)}`}i(ec,"hashPackContent");async function FF(t,e){if(t.rules.length===0)return;let r=join(e,"rules");await k(r);for(let n of t.rules){let o=join(r,basename(n.source));await copyFile(n.source,o);}}i(FF,"writeRules");async function vF(t,e){if(t.commands.length===0)return;let r=join(e,"commands");await k(r);for(let n of t.commands){let o=join(r,basename(n.source));await copyFile(n.source,o);}}i(vF,"writeCommands");async function $F(t,e){if(t.agents.length===0)return;let r=join(e,"agents");await k(r);for(let n of t.agents){let o=join(r,basename(n.source));await copyFile(n.source,o);}}i($F,"writeAgents");async function MF(t,e){if(t.skills.length===0)return;let r=join(e,"skills");await k(r);for(let n of t.skills){let o=join(r,n.name);await k(o),await copyFile(n.source,join(o,"SKILL.md"));for(let s of n.supportingFiles){let a=join(o,s.relativePath);await k(dirname(a)),await copyFile(s.absolutePath,a);}}}i(MF,"writeSkills");async function GF(t,e){t.mcp!==null&&await _(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
|
|
291
|
+
`),t.permissions!==null&&await _(join(e,"permissions.yaml"),stringify(t.permissions)),t.hooks!==null&&await _(join(e,"hooks.yaml"),stringify(t.hooks)),t.ignore.length>0&&await _(join(e,"ignore"),`${t.ignore.join(`
|
|
292
292
|
`)}
|
|
293
|
-
`);}i(
|
|
294
|
-
`),t.permissions!==null&&await
|
|
293
|
+
`);}i(GF,"writeSettings");function jF(t){if(t.includes("/")||t.includes("\\")||t===".."||t==="."||t.includes("\0"))throw new Error(`Invalid pack name "${t}". Pack names must be a single directory segment without path separators.`)}i(jF,"validatePackName");async function Zw(t,e,r,n){jF(e);let o=join(t,`${e}.tmp`),s=join(t,e);await L(o)&&await rm$1(o,{recursive:true,force:true}),await k(o),await FF(r,o),await vF(r,o),await $F(r,o),await MF(r,o),await GF(r,o);let a=await ec(o),l=gn({...n,content_hash:a});return await _(join(o,"pack.yaml"),stringify(l)),await L(s)&&await rm$1(s,{recursive:true,force:true}),await mkdir(t,{recursive:true}),await rename(o,s),l}i(Zw,"materializePack");E();function hd(t,e){return [...new Set([...t,...e])]}i(hd,"union");function WF(t,e){if(t.path===void 0&&t.paths===void 0||e===void 0)return {path:void 0,paths:void 0};let n=hd(t.paths??(t.path?[t.path]:[]),[e]);return n.length===1?{path:n[0],paths:void 0}:{path:void 0,paths:n}}i(WF,"mergePathScope");function BF(t,e,r){let n={...t};for(let s of e)r&&r[s]!==void 0?n[s]=hd(n[s]??[],r[s]):delete n[s];return (n.skills?.length??0)>0||(n.rules?.length??0)>0||(n.commands?.length??0)>0||(n.agents?.length??0)>0?n:void 0}i(BF,"mergePick");async function KF(t,e){if(t.rules.length===0)return;let r=join(e,"rules");await k(r);for(let n of t.rules)await copyFile(n.source,join(r,basename(n.source)));}i(KF,"mergeRules");async function HF(t,e){if(t.commands.length===0)return;let r=join(e,"commands");await k(r);for(let n of t.commands)await copyFile(n.source,join(r,basename(n.source)));}i(HF,"mergeCommands");async function zF(t,e){if(t.agents.length===0)return;let r=join(e,"agents");await k(r);for(let n of t.agents)await copyFile(n.source,join(r,basename(n.source)));}i(zF,"mergeAgents");async function VF(t,e){if(t.skills.length===0)return;let r=join(e,"skills");await k(r);for(let n of t.skills){let o=join(r,n.name);await k(o),await copyFile(n.source,join(o,"SKILL.md"));for(let s of n.supportingFiles){let a=join(o,s.relativePath);await k(dirname(a)),await copyFile(s.absolutePath,a);}}}i(VF,"mergeSkills");async function JF(t,e){t.mcp!==null&&await _(join(e,"mcp.json"),`${JSON.stringify(t.mcp,null,2)}
|
|
294
|
+
`),t.permissions!==null&&await _(join(e,"permissions.yaml"),stringify(t.permissions)),t.hooks!==null&&await _(join(e,"hooks.yaml"),stringify(t.hooks)),t.ignore.length>0&&await _(join(e,"ignore"),`${t.ignore.join(`
|
|
295
295
|
`)}
|
|
296
|
-
`);}i(
|
|
297
|
-
`,o=parse(n)??{};if(o.plugins||(o.plugins=[]),o.plugins.some(a=>a.id===e.id))return;let s={id:e.id,source:e.source};e.version!==void 0&&(s.version=e.version),o.plugins.push(s),await
|
|
296
|
+
`);}i(JF,"mergeSettings");async function qw(t,e,r,n,o,s){await KF(r,t),await HF(r,t),await zF(r,t),await VF(r,t),await JF(r,t);let a=hd(e.features,n),l=BF(e.pick,n,o),c=WF(e,s?.path),m=await ec(t),u=new Date().toISOString(),p=gn({...e,source:s?.source??e.source,...s?.version!==void 0?{version:s.version}:e.version!==void 0?{version:e.version}:{},features:a,pick:l,...s?.target!==void 0?{target:s.target}:e.target!==void 0?{target:e.target}:{},...c,...s?.as!==void 0?{as:s.as}:e.as!==void 0?{as:e.as}:{},updated_at:u,content_hash:m});return await _(join(t,"pack.yaml"),stringify(p)),p}i(qw,"mergeIntoPack");E();function XF(t){return t?{path:t,paths:void 0}:{path:void 0,paths:void 0}}i(XF,"pathScope");function ZF(t,e){let r=new Set(e.skillNames),n=new Set(e.ruleSlugs),o=new Set(e.commandNames),s=new Set(e.agentNames);return {...t,skills:t.skills.filter(a=>r.has(a.name)),rules:t.rules.filter(a=>n.has(le(a))),commands:t.commands.filter(a=>o.has(a.name)),agents:t.agents.filter(a=>s.has(a.name))}}i(ZF,"applySelection");async function Qw(t){let{canonicalDir:e,packName:r,narrowed:n,selected:o,sourceForYaml:s,version:a,sourceKind:l,entryFeatures:c,pick:m,yamlTarget:u,pathInRepo:p,manualAs:d,renameExistingPack:g}=t,h=join(e,"packs"),R=ZF(n,o),C=new Date().toISOString(),S=u!==void 0?Jt.parse(u):void 0,w=await NC(h,s,{target:S,as:d,features:c}),D=r,b=c,x=m,K=p,M;if(w){let W=w.packDir,q=w.meta;if(g&&w.name!==r){let et=join(h,r);if(await L(et))throw new Error(`Auto-generated pack name "${r}" collides with an existing incompatible pack. Use --name to choose a different pack name.`);await rename(w.packDir,et),W=et,q={...w.meta,name:r};}let mt=await qw(W,q,R,c,m,{source:s,...a!==void 0?{version:a}:{},...S!==void 0?{target:S}:{},...p?{path:p}:{},...d!==void 0?{as:d}:{}});D=mt.name,b=mt.features,x=mt.pick,K=mt.path,M=mt.paths,y.success(`Updated pack "${mt.name}" in .agentsmesh/packs/.`);}else {if(await Nl(join(h,r)))throw new Error(`Auto-generated pack name "${r}" collides with an existing incompatible pack. Use --name to choose a different pack name.`);await Zw(h,r,R,{name:r,source:s,...a!==void 0&&{version:a},source_kind:l,installed_at:C,updated_at:C,features:c,...m!==void 0&&{pick:m},...S!==void 0&&{target:S},...XF(p),...d!==void 0&&{as:d}}),y.success(`Installed pack "${r}" to .agentsmesh/packs/.`);}await aw(e,lw({name:D,source:s,version:a,sourceKind:l,features:b,pick:x,target:S,path:K,paths:M,as:d})),l!=="local"&&await nf(s);}i(Qw,"installAsPack");function QF(t){return t.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}i(QF,"sanitize");function tv(t){try{let r=new URL(t.replace(/^git\+/,"https://").replace(/^ssh:\/\/git@/,"https://")).pathname.split("/").filter(Boolean);if(r.length===0)return "repo";let n=r[r.length-1].replace(/\.git$/i,"");return r.length>=2?`${r[r.length-2].replace(/\.git$/i,"")}-${n}`:n}catch{return "repo"}}i(tv,"gitUrlLastSegments");function tO(t,e,r){let n;if(t.kind==="local"){let l=(t.localRoot??"local").split(/[/\\]/).filter(Boolean);n=l[l.length-1]??"local";}else t.kind==="github"&&t.org&&t.repo?n=`${t.org}-${t.repo}`:t.kind==="gitlab"&&t.org&&t.repo?n=`${t.org.replace(/\//g,"-")}-${t.repo}`:t.gitRemoteUrl?n=tv(t.gitRemoteUrl):n="extend";e.featureHint?n=`${n}-${e.featureHint}`:n=`${n}-pack`;let o=QF(n)||"extend";if(!r.has(o))return o;let s=2;for(;r.has(`${o}-${s}`);)s++;return `${o}-${s}`}i(tO,"suggestExtendName");function eO(t){let{config:e,parsed:r,entryFeatures:n,nameOverride:o}=t,s=new Set(e.extends.map(a=>a.name));return o||tO(r,{featureHint:n.length===1?n[0]:void 0},s)}i(eO,"selectInstallEntryName");function rO(t,e,r){if(!r?.features&&!r?.pick)return {narrowed:t,discoveredFeatures:e};let n=gs(t,{scopedFeatures:r.features,implicitPick:r.pick});return {narrowed:n,discoveredFeatures:so(n)}}i(rO,"applyReplayInstallScope");async function nO(t){let{scope:e,force:r,dryRun:n,tty:o,useExtends:s,nameOverride:a,explicitAs:l,config:c,context:m,parsed:u,sourceForYaml:p,version:d,pathInRepo:g,persisted:h,replay:R,prep:C,implicitPick:S,narrowed:w,discoveredFeatures:D}=t,{narrowed:b,discoveredFeatures:x}=rO(w,D,R);if(!vw(b))throw new Error(S||C.scopedFeatures?"No resources match the install path or implicit selection (check pick names exist at that path).":"No supported resources found to install (skills, rules, commands, agents).");let K=await $w(b,r,n,o),M=await Mw(b,r,n,o),W=await Gw(b,r,n,o),q=await jw(b,r,n,o),mt={skills:K.length,rules:M.length,commands:W.length,agents:q.length},{canonical:et}=await se(c,m.configDir,{},m.canonicalDir),Ft=!r&&!n&&o?await Uw(et,{skills:K,rules:M,commands:W,agents:q}):{skillNames:K.map(Vt=>Vt.name),ruleSlugs:M.map(Vt=>le(Vt)),commandNames:W.map(Vt=>Vt.name),agentNames:q.map(Vt=>Vt.name)};Hw({selected:Ft,discoveredFeatures:x,preConflict:mt});let it=R?.features??Kw(x,Ft);if(it.length===0)throw new Error("No features left to install after selection.");let ft=Ww(R?.pick,Ft)??h.pick??Bw({pathInRepo:h.pathInRepo??g,implicitPick:S,preConflictCounts:mt,selected:Ft}),vt=eO({config:c,parsed:u,entryFeatures:it,nameOverride:a});if(s){if(await Yw({configDir:m.configDir,config:c,entryArgs:{name:vt,source:p,version:d,features:it,path:h.pathInRepo,pick:ft,yamlTarget:C.yamlTarget},dryRun:n}),n)return}else {if(n){y.info(`[dry-run] Would install pack "${vt}" to ${e==="global"?"~/.agentsmesh/packs/.":".agentsmesh/packs/."}`);return}await Qw({canonicalDir:m.canonicalDir,packName:vt,narrowed:b,selected:Ft,sourceForYaml:p,version:d,sourceKind:u.kind,entryFeatures:it,pick:ft,yamlTarget:C.yamlTarget,pathInRepo:h.pathInRepo,manualAs:l,renameExistingPack:a===""});}await ds(e==="global"?{global:true}:{},m.rootBase)!==0&&y.warn(`Generate failed after install. Fix the issue and run agentsmesh generate${e==="global"?" --global":""}.`);}i(nO,"executeRunInstallPoolsAndWrite");async function Id(t,e,r,n){let{sync:o,dryRun:s,force:a,useExtends:l,explicitPath:c,explicitTarget:m,explicitAs:u,nameOverride:p}=mw(t),d=t.global===true?"global":"project",g=e[0]?.trim();if(o){let{context:Ft}=await at(r,d);if(await cw({sync:o,canonicalDir:Ft.canonicalDir,reinstall:i(async it=>{let ft=it.paths&&it.paths.length>0?it.paths:[it.path];for(let vt of ft)await Id({...a?{force:true}:{},...s?{"dry-run":true}:{},...d==="global"?{global:true}:{},name:it.name,...it.target?{target:it.target}:{},...vt?{path:vt}:{},...it.as?{as:it.as}:{}},[it.source],r,{features:it.features,pick:it.pick});},"reinstall")}))return}if(!g)throw new Error("Missing source. Usage: agentsmesh install <source> [--path ...] [--target ...]");let h=process.stdin.isTTY;if(!h&&!a&&!s)throw new Error("Non-interactive terminal: use --force or --dry-run for agentsmesh install.");let{config:R,context:C}=await at(r,d),S=await sd(g,C.configDir,c);if(S.kind!=="local"&&!await Qk())throw new Error("git is required for remote installs. Please install git and try again.");let{resolvedPath:w,sourceForYaml:D,version:b}=await rw(S,g),x=S.pathInRepo.replace(/^\/+|\/+$/g,"");if(x){let Ft=normalize(x).replace(/\\/g,"/");if(Ft===".."||Ft.startsWith("../"))throw new Error(`Install --path "${S.pathInRepo}" escapes the source root. Path must stay within the source.`)}let K=x?join(w,x):w;if(!await L(K))throw new Error(`Install path does not exist: ${K}`);let M=await Dw({as:u,contentRoot:K,pathInRepo:x}),{prep:W,implicitPick:q,narrowed:mt,discoveredFeatures:et}=await Lw({resolvedPath:w,contentRoot:K,pathInRepo:x,explicitTarget:m,explicitAs:u,replayPick:n?.pick});try{await nO({scope:d,force:a,dryRun:s,tty:h,useExtends:l,nameOverride:p,explicitAs:u,config:R,context:C,parsed:S,sourceForYaml:D,version:b,pathInRepo:x,persisted:M,replay:n,prep:W,implicitPick:q,narrowed:mt,discoveredFeatures:et});}finally{W.cleanup&&await W.cleanup();}}i(Id,"runInstall");async function oO(t,e,r){await Id(t,e,r);}i(oO,"runInstall");E();var Rd="agentsmesh.yaml";async function Cd(t){let e=join(t,Rd),r=await I(e);return r===null?{}:parse(r)??{}}i(Cd,"readScopedConfigRaw");async function iO(t,e){let r=join(t,Rd),n=await I(r)??`version: 1
|
|
297
|
+
`,o=parse(n)??{};if(o.plugins||(o.plugins=[]),o.plugins.some(a=>a.id===e.id))return;let s={id:e.id,source:e.source};e.version!==void 0&&(s.version=e.version),o.plugins.push(s),await _(r,stringify(o));}i(iO,"writePluginEntry");async function aO(t,e){let r=join(t,Rd),n=await I(r);if(n===null)return false;let o=parse(n)??{},s=(o.plugins??[]).length;o.plugins=(o.plugins??[]).filter(l=>l.id!==e),o.pluginTargets&&(o.pluginTargets=o.pluginTargets.filter(l=>l!==e));let a=o.plugins.length<s;return a&&await _(r,stringify(o)),a}i(aO,"removePluginEntry");async function cO(t,e,r){let n=e[0];if(n===void 0||n==="")return lO(),0;switch(n){case "add":return nv(t,e.slice(1),r);case "list":return ov(r);case "remove":return sv(e.slice(1),r);case "info":return iv(e.slice(1),r);default:return y.error(`Unknown plugin subcommand: ${n}`),lO(),2}}i(cO,"runPlugin");async function nv(t,e,r){let n=e[0];if(!n)return y.error("Usage: agentsmesh plugin add <source> [--version <v>] [--id <id>]"),2;let o=typeof t.version=="string"?t.version:void 0,a=(typeof t.id=="string"?t.id:void 0)??av(n);try{await iO(r,{id:a,source:n,version:o});}catch(l){return y.error(`Failed to update config: ${l instanceof Error?l.message:String(l)}`),1}return y.success(`Plugin '${a}' added to agentsmesh.yaml`),y.warn("Plugins load as trusted Node.js modules and run with full process privileges. Only install plugins from sources you trust."),y.info(`Next: npm install ${n}${o!==void 0?`@${o}`:"@latest"}`),y.info(`Then add '${a}' to pluginTargets in agentsmesh.yaml to enable it.`),0}i(nv,"runPluginAdd");async function ov(t){let e;try{e=await Cd(t);}catch(n){return y.error(`Failed to read config: ${n instanceof Error?n.message:String(n)}`),1}let r=e.plugins??[];if(r.length===0)return y.info("No plugins configured. Use: agentsmesh plugin add <source>"),0;y.info("Configured plugins:");for(let n of r){let o="\u2717",s="";try{let l=await Kl(n,t);o=l.descriptors.length>0?"\u2713":"\u2713 (0 descriptors)",s=l.descriptors.map(c=>c.id).join(", ");}catch{}let a=n.version!==void 0?`@${n.version}`:"";y.info(` ${n.id} | ${n.source}${a} | ${o} | ${s}`);}return 0}i(ov,"runPluginList");async function sv(t,e){let r=t[0];if(!r)return y.error("Usage: agentsmesh plugin remove <id>"),2;try{await aO(e,r)?y.success(`Plugin '${r}' removed from agentsmesh.yaml`):y.warn(`Plugin '${r}' was not found in agentsmesh.yaml`);}catch(n){return y.error(`Failed to update config: ${n instanceof Error?n.message:String(n)}`),1}return 0}i(sv,"runPluginRemove");async function iv(t,e){let r=t[0];if(!r)return y.error("Usage: agentsmesh plugin info <id>"),2;let n;try{n=await Cd(e);}catch(a){return y.error(`Failed to read config: ${a instanceof Error?a.message:String(a)}`),1}let o=(n.plugins??[]).find(a=>a.id===r);if(!o)return y.error(`Plugin '${r}' not found in agentsmesh.yaml. Use: agentsmesh plugin add`),1;let s;try{s=await Kl(o,e);}catch(a){return y.error(`Failed to load plugin '${r}': ${a instanceof Error?a.message:String(a)}`),1}y.info(`Plugin: ${o.id}`),y.info(`Source: ${o.source}${o.version!==void 0?`@${o.version}`:""}`),y.info(`Descriptors: ${s.descriptors.length}`);for(let a of s.descriptors)y.info(` - ${a.id}: ${a.emptyImportMessage}`);return 0}i(iv,"runPluginInfo");function av(t){let e=t;if(e.startsWith("@")){let n=e.indexOf("/");n!==-1&&(e=e.slice(n+1));}e.startsWith("agentsmesh-target-")&&(e=e.slice(18)),e.startsWith("file:")&&(e=e.slice(5));let r=e.replace(/\\/g,"/").split("/");return e=r[r.length-1]??e,e=e.replace(/\.(js|ts)$/,""),e=e.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),e||"plugin"}i(av,"derivePluginId");function lO(){y.info("Usage: agentsmesh plugin <subcommand> [args] [flags]"),y.info(""),y.info("Subcommands:"),y.info(" add <source> Register a plugin package in agentsmesh.yaml"),y.info(" list Show all configured plugins and load status"),y.info(" remove <id> Remove a plugin from agentsmesh.yaml"),y.info(" info <id> Show descriptor details for a configured plugin"),y.info(""),y.info("Flags (add):"),y.info(" --version <v> Pin plugin version"),y.info(" --id <id> Override derived plugin id"),y.info(""),y.info("Note: plugins load as trusted Node.js modules and run with full process privileges."),y.info(" Only install plugins from sources you trust.");}i(lO,"printPluginHelp");E();lr();function Ss(t){return t.toUpperCase().replace(/-/g,"_")}i(Ss,"toPrefix");function Is(t){return t.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join("")}i(Is,"toPascal");function mO(t){let e=Ss(t.id);return `export const ${e}_TARGET = '${t.id}';
|
|
298
298
|
|
|
299
299
|
// Project-level paths
|
|
300
300
|
export const ${e}_DIR = '.${t.id}';
|
|
@@ -307,7 +307,7 @@ export const ${e}_GLOBAL_RULES_DIR = '~/.${t.id}/rules';
|
|
|
307
307
|
// Canonical paths
|
|
308
308
|
export const ${e}_CANONICAL_ROOT_RULE = '.agentsmesh/rules/_root.md';
|
|
309
309
|
export const ${e}_CANONICAL_RULES_DIR = '.agentsmesh/rules';
|
|
310
|
-
`}i(
|
|
310
|
+
`}i(mO,"TEMPLATE_CONSTANTS");function uO(t){let e=Ss(t.id),r=Is(t.id);return `import type { TargetGenerators } from '../catalog/target.interface.js';
|
|
311
311
|
import type { TargetDescriptor, TargetLayout } from '../catalog/target-descriptor.js';
|
|
312
312
|
import { generateRules } from './generator.js';
|
|
313
313
|
import { importFrom${r} } from './importer.js';
|
|
@@ -404,7 +404,7 @@ export const descriptor = {
|
|
|
404
404
|
buildImportPaths: build${r}ImportPaths,
|
|
405
405
|
detectionPaths: [${e}_DIR],
|
|
406
406
|
} satisfies TargetDescriptor;
|
|
407
|
-
`}i(
|
|
407
|
+
`}i(uO,"TEMPLATE_INDEX");function pO(t){let e=Ss(t.id);return `import type { CanonicalFiles } from '../../core/types.js';
|
|
408
408
|
import { ${e}_TARGET, ${e}_DIR } from './constants.js';
|
|
409
409
|
|
|
410
410
|
export interface ${Is(t.id)}Output {
|
|
@@ -418,7 +418,7 @@ export function generateRules(_canonical: CanonicalFiles): ${Is(t.id)}Output[] {
|
|
|
418
418
|
void ${e}_DIR;
|
|
419
419
|
return [];
|
|
420
420
|
}
|
|
421
|
-
`}i(
|
|
421
|
+
`}i(pO,"TEMPLATE_GENERATOR");function dO(t){let e=Is(t.id),r=Ss(t.id);return `import type { ImportResult } from '../../core/types.js';
|
|
422
422
|
import type { TargetLayoutScope } from '../catalog/target-descriptor.js';
|
|
423
423
|
import { ${r}_TARGET } from './constants.js';
|
|
424
424
|
|
|
@@ -430,7 +430,7 @@ export async function importFrom${e}(
|
|
|
430
430
|
void ${r}_TARGET;
|
|
431
431
|
return [];
|
|
432
432
|
}
|
|
433
|
-
`}i(
|
|
433
|
+
`}i(dO,"TEMPLATE_IMPORTER");function fO(t){let e=Ss(t.id);return `/** Lint rules for the ${t.id} target. */
|
|
434
434
|
import type { CanonicalFiles, LintDiagnostic } from '../../core/types.js';
|
|
435
435
|
import { validateRules } from '../../core/lint/validate-rules.js';
|
|
436
436
|
import { ${e}_TARGET } from './constants.js';
|
|
@@ -448,7 +448,7 @@ export function lintRules(
|
|
|
448
448
|
target: ${e}_TARGET,
|
|
449
449
|
}));
|
|
450
450
|
}
|
|
451
|
-
`}i(
|
|
451
|
+
`}i(fO,"TEMPLATE_LINTER");function gO(t){return `/**
|
|
452
452
|
* ${t.displayName}-specific lint hooks.
|
|
453
453
|
*/
|
|
454
454
|
|
|
@@ -458,7 +458,7 @@ export function lintHooks(_canonical: CanonicalFiles): LintDiagnostic[] {
|
|
|
458
458
|
// TODO(agentsmesh-scaffold): implement target-specific hook validation for ${t.displayName}
|
|
459
459
|
return [];
|
|
460
460
|
}
|
|
461
|
-
`}i(
|
|
461
|
+
`}i(gO,"TEMPLATE_LINT_HOOKS");function hO(t){let e=Is(t.id),r=Ss(t.id);return `import type { TargetLayoutScope } from '../../../targets/catalog/target-descriptor.js';
|
|
462
462
|
import { ${r}_DIR } from '../../../targets/${t.id}/constants.js';
|
|
463
463
|
|
|
464
464
|
export async function build${e}ImportPaths(
|
|
@@ -470,7 +470,7 @@ export async function build${e}ImportPaths(
|
|
|
470
470
|
// Reference: src/core/reference/import-maps/kiro.ts for a full example
|
|
471
471
|
void ${r}_DIR;
|
|
472
472
|
}
|
|
473
|
-
`}i(
|
|
473
|
+
`}i(hO,"TEMPLATE_IMPORT_MAP");function yO(t){return `import { describe, it, expect } from 'vitest';
|
|
474
474
|
import type { CanonicalFiles } from '../../../../src/core/types.js';
|
|
475
475
|
import { generateRules } from '../../../../src/targets/${t.id}/generator.js';
|
|
476
476
|
|
|
@@ -499,7 +499,7 @@ describe('generateRules (${t.id})', () => {
|
|
|
499
499
|
expect(result).toHaveLength(0);
|
|
500
500
|
});
|
|
501
501
|
});
|
|
502
|
-
`}i(
|
|
502
|
+
`}i(yO,"TEMPLATE_GENERATOR_TEST");function IO(t){let e=Is(t.id);return `import { describe, it, expect } from 'vitest';
|
|
503
503
|
import { importFrom${e} } from '../../../../src/targets/${t.id}/importer.js';
|
|
504
504
|
|
|
505
505
|
describe('importFrom${e} (${t.id})', () => {
|
|
@@ -513,7 +513,7 @@ describe('importFrom${e} (${t.id})', () => {
|
|
|
513
513
|
expect(result).toHaveLength(0);
|
|
514
514
|
});
|
|
515
515
|
});
|
|
516
|
-
`}i(
|
|
516
|
+
`}i(IO,"TEMPLATE_IMPORTER_TEST");function SO(t){return `# ${t.displayName} Workspace
|
|
517
517
|
|
|
518
518
|
Follow the ${t.displayName} configuration files and keep changes small.
|
|
519
|
-
`}i(
|
|
519
|
+
`}i(SO,"TEMPLATE_FIXTURE_ROOT_MD");var cv=/^[a-z][a-z0-9-]*$/;async function _O(t){let{id:e,projectRoot:r,force:n=false}=t,o=t.displayName??e,s={id:e,displayName:o};if(!cv.test(e))throw new Error(`Invalid target id "${e}". Must match /^[a-z][a-z0-9-]*$/ (lowercase letters, digits, hyphens; start with a letter).`);if(ht.includes(e))throw new Error(`Target "${e}" already exists as a built-in target. Choose a different id.`);let a=[{rel:`src/targets/${e}/constants.ts`,content:mO(s)},{rel:`src/targets/${e}/index.ts`,content:uO(s)},{rel:`src/targets/${e}/generator.ts`,content:pO(s)},{rel:`src/targets/${e}/importer.ts`,content:dO(s)},{rel:`src/targets/${e}/linter.ts`,content:fO(s)},{rel:`src/targets/${e}/lint.ts`,content:gO(s)},{rel:`src/core/reference/import-maps/${e}.ts`,content:hO(s)},{rel:`tests/unit/targets/${e}/generator.test.ts`,content:yO(s)},{rel:`tests/unit/targets/${e}/importer.test.ts`,content:IO(s)},{rel:`tests/e2e/fixtures/${e}-project/AGENTS.md`,content:SO(s)}],l=[],c=[];for(let u of a){let p=join(r,u.rel);if(!n&&await L(p)){c.push(p);continue}await _(p,u.content),l.push(p);}let m=["1. Run: pnpm catalog:generate (auto-discovers the new target \u2014 updates IDs, descriptors, and import-map barrel)",`2. Fill in TODO(agentsmesh-scaffold) markers in src/targets/${e}/`,`3. Run: pnpm typecheck && pnpm test -- tests/unit/targets/${e}`,"4. Run: pnpm schemas:generate && pnpm matrix:generate"];return {written:l,skipped:c,postSteps:m}}i(_O,"writeTargetScaffold");async function CO(t,e,r){let n=e[0];return n===void 0||n===""?(RO(),0):n==="scaffold"?mv(t,e.slice(1),r):(y.error(`Unknown target subcommand: ${n}`),RO(),2)}i(CO,"runTarget");async function mv(t,e,r){let n=e[0];if(!n)return y.error("Usage: agentsmesh target scaffold <id> [--name <displayName>] [--force]"),2;let o=typeof t.name=="string"?t.name:void 0,s=t.force===true,a;try{a=await _O({id:n,displayName:o,projectRoot:r,force:s});}catch(l){return y.error(l instanceof Error?l.message:String(l)),1}if(a.written.length>0)for(let l of a.written){let c=l.startsWith(r)?l.slice(r.length+1):l;y.success(`created ${c.replaceAll("\\","/")}`);}if(a.skipped.length>0)for(let l of a.skipped){let c=l.startsWith(r)?l.slice(r.length+1):l;y.warn(`skipped ${c.replaceAll("\\","/")} (already exists \u2014 use --force to overwrite)`);}if(a.written.length>0){y.info(""),y.info("Next steps:");for(let l of a.postSteps)y.info(` ${l}`);}return 0}i(mv,"runScaffold");function RO(){y.info("Usage: agentsmesh target <subcommand> [args] [flags]"),y.info(""),y.info("Subcommands:"),y.info(" scaffold <id> Generate a new target skeleton (files, tests, fixture)"),y.info(""),y.info("Flags (scaffold):"),y.info(" --name <displayName> Human-readable name (defaults to id)"),y.info(" --force Overwrite existing files");}i(RO,"printTargetHelp");function dv(t){let e={},r=[],n="help";for(let o=0;o<t.length;o++){let s=t[o];if(n==="help"&&s==="--version")return {command:"version",flags:{},args:[]};if(n==="help"&&s==="--help")return {command:"help",flags:{},args:[]};if(s.startsWith("--")){let a=s.slice(2),l=t[o+1];l===void 0||l.startsWith("--")?e[a]=true:(e[a]=l,o++);continue}n==="help"?n=s:r.push(s);}return {command:n,flags:e,args:r}}i(dv,"parseArgs");var fv=["init","generate","import","diff","lint","watch","check","merge","matrix","install","plugin","target"];function gv(t){return async(e,r)=>{y.info(`Not implemented yet: ${t}`);}}i(gv,"stub");var hv={...Object.fromEntries(fv.map(t=>[t,gv(t)])),generate:i(async(t,e)=>{let r=await ds(t);r!==0&&process.exit(r);},"generate"),init:i(async(t,e)=>{await Nk(process.cwd(),{yes:t.yes===true,global:t.global===true});},"init"),import:i((t,e)=>Fk(t),"import"),diff:i((t,e)=>Gk(t),"diff"),lint:i(async(t,e)=>{let r=await Hk(t);r!==0&&process.exit(r);},"lint"),check:i(async(t,e)=>{let r=await Yk(t);r!==0&&process.exit(r);},"check"),merge:i((t,e)=>qk(t),"merge"),matrix:i((t,e)=>oo(t),"matrix"),watch:i(async(t,e)=>{let r=await Vk(t),n=i(()=>{r.stop().then(()=>process.exit(0));},"stop");process.on("SIGINT",n),process.on("SIGTERM",n);},"watch"),install:i((t,e)=>oO(t,e,process.cwd()),"install"),plugin:i(async(t,e)=>{let r=await cO(t,e,process.cwd());r!==0&&process.exit(r);},"plugin"),target:i(async(t,e)=>{let r=await CO(t,e,process.cwd());r!==0&&process.exit(r);},"target")},yv=Ed(hv);async function Iv(t){let{command:e,flags:r,args:n}=t;if(e==="help"){Ad();return}if(e==="version"){Nd();return}await yv.route(e,r,n);}i(Iv,"main");function Sv(){let t=process.argv[1];if(!t)return false;let e=fileURLToPath(import.meta.url);try{let r=resolve(process.cwd(),t);return r===e||realpathSync(r)===realpathSync(e)}catch{return t.endsWith("cli.js")||t.includes("agentsmesh")}}i(Sv,"isMainModule");if(Sv()){let t=dv(process.argv.slice(2));Iv(t).catch(e=>Dd(e instanceof Error?e:new Error(String(e)),{verbose:t.flags.verbose===true}));}export{dv as parseArgs};
|