flins 0.0.6 → 0.0.7

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.
Files changed (2) hide show
  1. package/dist/index.js +7 -7
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -80,10 +80,10 @@ ${I}
80
80
  `).length;return`${C}${J}${e0({output:D.output,options:this.options,cursor:this.cursor,maxItems:D.maxItems,columnPadding:J.length,rowPadding:I+2,style:A}).join(`
81
81
  ${J}`)}
82
82
  ${K.default.cyan(qu)}
83
- `}}}}).prompt()},$A,mD=({indicator:D="dots",onCancel:u,output:F=process.stdout,cancelMessage:E,errorMessage:C,frames:B=C3?["◒","◐","◓","◑"]:["•","o","O","0"],delay:A=C3?80:120,signal:J,...I}={})=>{let $=m5(),Z,X,H=!1,Y=!1,L="",q,G=performance.now(),_=p0(F),O=I?.styleFrame??$A,z=(w)=>{let v=w>1?C??aD.messages.error:E??aD.messages.cancel;Y=w===1,H&&(m(v,w),Y&&typeof u=="function"&&u())},R=()=>z(2),P=()=>z(1),f=()=>{process.on("uncaughtExceptionMonitor",R),process.on("unhandledRejection",R),process.on("SIGINT",P),process.on("SIGTERM",P),process.on("exit",z),J&&J.addEventListener("abort",P)},W=()=>{process.removeListener("uncaughtExceptionMonitor",R),process.removeListener("unhandledRejection",R),process.removeListener("SIGINT",P),process.removeListener("SIGTERM",P),process.removeListener("exit",z),J&&J.removeEventListener("abort",P)},M=()=>{if(q===void 0)return;$&&F.write(`
83
+ `}}}}).prompt()},$A,mD=({indicator:D="dots",onCancel:u,output:F=process.stdout,cancelMessage:E,errorMessage:C,frames:B=C3?["◒","◐","◓","◑"]:["•","o","O","0"],delay:A=C3?80:120,signal:J,...I}={})=>{let $=m5(),Z,X,H=!1,Y=!1,L="",q,G=performance.now(),_=p0(F),O=I?.styleFrame??$A,z=(w)=>{let k=w>1?C??aD.messages.error:E??aD.messages.cancel;Y=w===1,H&&(m(k,w),Y&&typeof u=="function"&&u())},R=()=>z(2),P=()=>z(1),f=()=>{process.on("uncaughtExceptionMonitor",R),process.on("unhandledRejection",R),process.on("SIGINT",P),process.on("SIGTERM",P),process.on("exit",z),J&&J.addEventListener("abort",P)},W=()=>{process.removeListener("uncaughtExceptionMonitor",R),process.removeListener("unhandledRejection",R),process.removeListener("SIGINT",P),process.removeListener("SIGTERM",P),process.removeListener("exit",z),J&&J.removeEventListener("abort",P)},M=()=>{if(q===void 0)return;$&&F.write(`
84
84
  `);let w=Z3(q,_,{hard:!0,trim:!1}).split(`
85
- `);w.length>1&&F.write(tu.cursor.up(w.length-1)),F.write(tu.cursor.to(0)),F.write(tu.erase.down())},U=(w)=>w.replace(/\.+$/,""),V=(w)=>{let v=(performance.now()-w)/1000,x=Math.floor(v/60),b=Math.floor(v%60);return x>0?`[${x}m ${b}s]`:`[${b}s]`},N=(w="")=>{H=!0,Z=SE({output:F}),L=U(w),G=performance.now(),F.write(`${K.default.gray(i)}
86
- `);let v=0,x=0;f(),X=setInterval(()=>{if($&&L===q)return;M(),q=L;let b=O(B[v]),y;if($)y=`${b} ${L}...`;else if(D==="timer")y=`${b} ${L} ${V(G)}`;else{let g=".".repeat(Math.floor(x)).slice(0,3);y=`${b} ${L}${g}`}let d=Z3(y,_,{hard:!0,trim:!1});F.write(d),v=v+1<B.length?v+1:0,x=x<4?x+0.125:0},A)},m=(w="",v=0,x=!1)=>{if(!H)return;H=!1,clearInterval(X),M();let b=v===0?K.default.green($3):v===1?K.default.red(bE):K.default.red(kE);L=w??L,x||(D==="timer"?F.write(`${b} ${L} ${V(G)}
85
+ `);w.length>1&&F.write(tu.cursor.up(w.length-1)),F.write(tu.cursor.to(0)),F.write(tu.erase.down())},U=(w)=>w.replace(/\.+$/,""),V=(w)=>{let k=(performance.now()-w)/1000,x=Math.floor(k/60),b=Math.floor(k%60);return x>0?`[${x}m ${b}s]`:`[${b}s]`},N=(w="")=>{H=!0,Z=SE({output:F}),L=U(w),G=performance.now(),F.write(`${K.default.gray(i)}
86
+ `);let k=0,x=0;f(),X=setInterval(()=>{if($&&L===q)return;M(),q=L;let b=O(B[k]),y;if($)y=`${b} ${L}...`;else if(D==="timer")y=`${b} ${L} ${V(G)}`;else{let h=".".repeat(Math.floor(x)).slice(0,3);y=`${b} ${L}${h}`}let d=Z3(y,_,{hard:!0,trim:!1});F.write(d),k=k+1<B.length?k+1:0,x=x<4?x+0.125:0},A)},m=(w="",k=0,x=!1)=>{if(!H)return;H=!1,clearInterval(X),M();let b=k===0?K.default.green($3):k===1?K.default.red(bE):K.default.red(kE);L=w??L,x||(D==="timer"?F.write(`${b} ${L} ${V(G)}
87
87
  `):F.write(`${b} ${L}
88
88
  `)),W(),Z()};return{start:N,stop:(w="")=>m(w,0),message:(w="")=>{L=U(w??L)},cancel:(w="")=>m(w,1),error:(w="")=>m(w,2),clear:()=>m("",0,!0),get isCancelled(){return Y}}},ZL,o0=(D,u)=>D.includes(`
89
89
  `)?D.split(`
@@ -99,8 +99,8 @@ ${K.default.cyan(qu)}
99
99
  `);if(X.length>0){let[H,...Y]=X;H.length>0?A.push(`${$}${H}`):A.push(J?u:"");for(let L of Y)L.length>0?A.push(`${Z}${L}`):A.push(J?F:"")}E.write(`${A.join(`
100
100
  `)}
101
101
  `)},info:(D,u)=>{Q.message(D,{...u,symbol:K.default.blue(n5)})},success:(D,u)=>{Q.message(D,{...u,symbol:K.default.green(i5)})},step:(D,u)=>{Q.message(D,{...u,symbol:K.default.green($3)})},warn:(D,u)=>{Q.message(D,{...u,symbol:K.default.yellow(p5)})},warning:(D,u)=>{Q.warn(D,u)},error:(D,u)=>{Q.message(D,{...u,symbol:K.default.red(r5)})}},$A=K.default.magenta,ZL={light:t("─","-"),heavy:t("━","="),block:t("█","#")},$L=`${K.default.gray(i)} `});function nE(D){let u=D.match(/github\.com\/([^/]+)\/([^/]+)\/tree\/([^/]+)(?:\/(.+))?$/);if(u){let[,A,J,I,$]=u;return{type:"github",url:`https://github.com/${A}/${J}.git`,branch:I,subpath:$}}let F=D.match(/github\.com\/([^/]+)\/([^/]+)/);if(F){let[,A,J]=F,I=J.replace(/\.git$/,"");return{type:"github",url:`https://github.com/${A}/${I}.git`}}let E=D.match(/gitlab\.com\/([^/]+)\/([^/]+)\/-\/tree\/([^/]+)(?:\/(.+))?$/);if(E){let[,A,J,I,$]=E;return{type:"gitlab",url:`https://gitlab.com/${A}/${J}.git`,branch:I,subpath:$}}let C=D.match(/gitlab\.com\/([^/]+)\/([^/]+)/);if(C){let[,A,J]=C,I=J.replace(/\.git$/,"");return{type:"gitlab",url:`https://gitlab.com/${A}/${I}.git`}}let B=D.match(/^([^/]+)\/([^/]+)(?:\/(.+))?$/);if(B&&!D.includes(":")){let[,A,J,I]=B;return{type:"github",url:`https://github.com/${A}/${J}.git`,subpath:I}}return{type:"git",url:D}}import{join as YA}from"path";import{rmSync as XA}from"fs";import{tmpdir as HA}from"os";import{spawn as X3}from"child_process";async function FF(D,u){let F=YA(HA(),`flins-${Date.now()}`),E=["clone","--depth","1"];if(u)E.push("--branch",u);return E.push(D,F),await new Promise((C,B)=>{let A=X3("git",E,{stdio:"pipe"});A.on("close",(J)=>{if(J===0)C();else B(Error(`Failed to clone repository: ${D}`))}),A.on("error",B)}),F}async function iE(D,u="main"){return await new Promise((E,C)=>{let B="",A=X3("git",["ls-remote",D,`refs/heads/${u}`],{stdio:"pipe"});A.stdout?.on("data",(J)=>{B+=J.toString()}),A.on("close",(J)=>{if(J===0&&B.trim())E(B.trim().split(/\s+/)[0]??"");else C(Error(`Failed to get latest commit from ${D}`))}),A.on("error",C)})}async function EF(D){return await new Promise((F,E)=>{let C="",B=X3("git",["rev-parse","HEAD"],{cwd:D,stdio:"pipe"});B.stdout?.on("data",(A)=>{C+=A.toString()}),B.on("close",(A)=>{if(A===0&&C.trim())F(C.trim());else E(Error("Failed to get commit hash"))}),B.on("error",E)})}async function CF(D){XA(D,{recursive:!0,force:!0})}var H3=()=>{};var rE;var pE=BD(()=>{rE={opencode:{name:"opencode",displayName:"OpenCode",configDir:"~/.config/opencode",skillsDir:".opencode/skills",globalSkillsDir:"~/.config/opencode/skills",commandsDir:".opencode/commands",globalCommandsDir:"~/.config/opencode/commands"},"claude-code":{name:"claude-code",displayName:"Claude Code",configDir:"~/.claude",skillsDir:".claude/skills",globalSkillsDir:"~/.claude/skills",commandsDir:".claude/commands",globalCommandsDir:"~/.claude/commands"},codex:{name:"codex",displayName:"Codex",configDir:"~/.codex",skillsDir:".codex/skills",globalSkillsDir:"~/.codex/skills"},cursor:{name:"cursor",displayName:"Cursor",configDir:"~/.cursor",skillsDir:".cursor/skills",globalSkillsDir:"~/.cursor/skills"},amp:{name:"amp",displayName:"Amp",configDir:"~/.config/agents",skillsDir:".agents/skills",globalSkillsDir:"~/.config/agents/skills"},kilo:{name:"kilo",displayName:"Kilo Code",configDir:"~/.kilocode",skillsDir:".kilocode/skills",globalSkillsDir:"~/.kilocode/skills"},roo:{name:"roo",displayName:"Roo Code",configDir:"~/.roo",skillsDir:".roo/skills",globalSkillsDir:"~/.roo/skills"},goose:{name:"goose",displayName:"Goose",configDir:"~/.config/goose",skillsDir:".goose/skills",globalSkillsDir:"~/.config/goose/skills"},antigravity:{name:"antigravity",displayName:"Antigravity",configDir:"~/.gemini/antigravity",skillsDir:".agent/skills",globalSkillsDir:"~/.gemini/antigravity/skills"},copilot:{name:"copilot",displayName:"GitHub Copilot",configDir:"~/.copilot",skillsDir:".github/skills",globalSkillsDir:"~/.copilot/skills"},gemini:{name:"gemini",displayName:"Gemini CLI",configDir:"~/.gemini",skillsDir:".gemini/skills",globalSkillsDir:"~/.gemini/skills"},windsurf:{name:"windsurf",displayName:"Windsurf",configDir:"~/.codeium/windsurf",skillsDir:".windsurf/skills",globalSkillsDir:"~/.codeium/windsurf/skills"},trae:{name:"trae",displayName:"Trae",configDir:"~/.trae",skillsDir:".trae/skills",globalSkillsDir:"~/.trae/skills"},factory:{name:"factory",displayName:"Factory Droid",configDir:"~/.factory",skillsDir:".factory/skills",globalSkillsDir:"~/.factory/skills",commandsDir:".factory/commands",globalCommandsDir:"~/.factory/commands"},letta:{name:"letta",displayName:"Letta",configDir:"~/.letta",skillsDir:".skills",globalSkillsDir:"~/.letta/skills"},qoder:{name:"qoder",displayName:"Qoder",configDir:"~/.qoder",skillsDir:".qoder/skills",globalSkillsDir:"~/.qoder/skills"}}});import{homedir as qA}from"os";import{existsSync as GA}from"fs";function sE(){let D={},u=rE;for(let[F,E]of Object.entries(u)){let C=F;D[C]={name:E.name,displayName:E.displayName,configDir:E.configDir.replace("~",BF),skillsDir:E.skillsDir,globalSkillsDir:E.globalSkillsDir.replace("~",BF),commandsDir:E.commandsDir,globalCommandsDir:E.globalCommandsDir?.replace("~",BF),detectInstalled:async()=>{let B=E.configDir.replace("~",BF);return GA(B)}}}return D}var BF,aE;var L3=BD(()=>{pE();BF=qA(),aE=process.env.DIRECTORY_URL||"https://flins.tech/directory.json"});var l;var cD=BD(()=>{L3();l=sE()});import{basename as _A,dirname as QA}from"path";function q3(D){let u=D.match(/^---\n([\s\S]+?)\n---\n([\s\S]*)$/);if(!u)return{data:{},content:D};let F=u[1],E=u[2],C={};for(let B of F.split(`
102
- `)){let A=B.indexOf(":");if(A===-1)continue;let J=B.slice(0,A).trim(),I=B.slice(A+1).trim();if(I.startsWith('"')&&I.endsWith('"')||I.startsWith("'")&&I.endsWith("'"))C[J]=I.slice(1,-1);else if(J==="metadata")try{let $={},Z=I.replace(/^\{|\}$/g,"").trim();if(Z){for(let X of Z.split(",")){let[H,Y]=X.split("=").map((L)=>L.trim());if(H&&Y)$[H]=Y.replace(/^['"]|["']$/g,"")}C[J]=JSON.stringify($)}}catch{C[J]=I}else C[J]=I}return{data:C,content:E}}function AF(D,u){try{let{data:F}=q3(u);if(!F.name||!F.description)return null;return{name:F.name,description:F.description,path:QA(D),metadata:F.metadata?JSON.parse(F.metadata):void 0}}catch{return null}}function sD(D){return D.name||_A(D.path)}var JF=()=>{};import{readdir as oE,readFile as G3,stat as KA}from"fs/promises";import{join as oD}from"path";function OA(D){let u=[D];for(let E of zA)u.push(oD(D,E));let F=new Set;for(let E of Object.values(l))F.add(oD(D,E.skillsDir));return u.push(...F),u}async function _3(D){try{let u=oD(D,"SKILL.md");return(await KA(u)).isFile()}catch{return!1}}async function tE(D,u=0,F=5){let E=[];if(u>F)return E;try{if(await _3(D))E.push(D);let C=await oE(D,{withFileTypes:!0});for(let B of C)if(B.isDirectory()&&!UA.includes(B.name)){let A=await tE(oD(D,B.name),u+1,F);E.push(...A)}}catch{}return E}async function ZF(D,u){let F=[],E=new Set,C=u?oD(D,u):D;if(await _3(C)){let A=oD(C,"SKILL.md"),J=await G3(A,"utf-8"),I=AF(A,J);if(I)return F.push(I),F}let B=OA(C);for(let A of B)try{let J=await oE(A,{withFileTypes:!0});for(let I of J)if(I.isDirectory()){let $=oD(A,I.name);if(await _3($)){let Z=oD($,"SKILL.md"),X=await G3(Z,"utf-8"),H=AF(Z,X);if(H&&!E.has(H.name))F.push(H),E.add(H.name)}}}catch{}if(F.length===0){let A=await tE(C);for(let J of A){let I=oD(J,"SKILL.md"),$=await G3(I,"utf-8"),Z=AF(I,$);if(Z&&!E.has(Z.name))F.push(Z),E.add(Z.name)}}return F}var UA,zA;var Q3=BD(()=>{cD();JF();UA=["node_modules",".git","dist","build","__pycache__"],zA=["skills","skills/.curated","skills/.experimental","skills/.system"]});import{basename as RA}from"path";function eE(D,u){try{let{data:F}=q3(u);return{name:F.name||RA(D,".md"),description:F.description,path:D,type:"markdown"}}catch{return null}}function Gu(D){return D.name}var K3=BD(()=>{JF()});import{readdir as DC,readFile as WA}from"fs/promises";import{join as U3,extname as TA}from"path";async function uC(D,u=0){let F=[];if(u>wA)return F;try{let E=await DC(D,{withFileTypes:!0});for(let C of E){if(VA.includes(C.name))continue;let B=U3(D,C.name);if(C.isDirectory())if(C.name==="commands")F.push(B);else{let A=await uC(B,u+1);F.push(...A)}}}catch{}return F}async function MA(D){let u=[];try{let F=await DC(D,{withFileTypes:!0});for(let E of F){if(NA.has(E.name))continue;if(!E.isFile())continue;let C=U3(D,E.name);if(TA(E.name).toLowerCase()!==".md")continue;try{let A=await WA(C,"utf-8"),J=eE(C,A);if(J)u.push(J)}catch{continue}}}catch{}return u}async function $F(D,u){let F=[],E=new Set,C=u?U3(D,u):D,B=await uC(C);for(let A of B){let J=await MA(A);for(let I of J)if(!E.has(I.name))F.push(I),E.add(I.name)}return F}var VA,NA,wA=5;var z3=BD(()=>{K3();VA=["node_modules",".git","dist","build","__pycache__"],NA=new Set(["README.md","readme.md",".DS_Store"])});import{mkdir as EC,cp as SA,access as jA,readdir as PA}from"fs/promises";import{join as FC}from"path";async function CC(D,u){await EC(u,{recursive:!0});let F=await PA(D,{withFileTypes:!0});for(let E of F){if(yA(E.name))continue;let C=FC(D,E.name),B=FC(u,E.name);if(E.isDirectory())await CC(C,B);else await SA(C,B)}}async function BC(D,u){try{return await EC(u,{recursive:!0}),await CC(D,u),{success:!0,path:u}}catch(F){return{success:!1,path:u,error:F instanceof Error?F.message:"Unknown error"}}}async function AC(D){try{return await jA(D),!0}catch{return!1}}var xA,yA=(D)=>{if(xA.has(D))return!0;if(D.startsWith("_"))return!0;return!1};var JC=BD(()=>{xA=new Set(["README.md","metadata.json"])});import{join as ZC}from"path";async function IF(D,u,F){let E=l[u],C=F.global?E.globalSkillsDir:E.skillsDir,B=ZC(C,D.name);return{...await BC(D.path,B),originalPath:D.path}}async function $C(D,u,F){let E=O3(D,u,F);return AC(E)}function O3(D,u,F){let E=l[u],C=F.global?E.globalSkillsDir:E.skillsDir;return ZC(C,D)}var R3=BD(()=>{cD();JC()});import{mkdir as fA,cp as bA}from"fs/promises";import{join as kA,dirname as vA}from"path";function YF(D){return IC.includes(D)}function YC(){return IC.filter((D)=>l[D]?.commandsDir)}async function hA(D){await fA(D,{recursive:!0})}async function gA(D,u){try{return await hA(vA(u)),await bA(D,u),{success:!0,path:u}}catch(F){return{success:!1,path:u,error:F instanceof Error?F.message:"Unknown error"}}}async function mA(D,u,F){let E=l[u],C=F.global?E.globalCommandsDir:E.commandsDir,B=kA(C,`${D.name}.md`);return gA(D.path,B)}async function XF(D,u,F){if(!YF(u))return{success:!1,path:"",originalPath:D.path,error:`Agent ${u} does not support commands`};if(!l[u].commandsDir)return{success:!1,path:"",originalPath:D.path,error:`Agent ${u} has no commands directory configured`};return{...await mA(D,u,F),originalPath:D.path}}var IC;var W3=BD(()=>{cD();IC=["claude-code","opencode","factory"]});async function XC(){let D=[];for(let[u,F]of Object.entries(l))if(await F.detectInstalled())D.push(u);return D}var HC=BD(()=>{cD()});import{resolve as cA}from"path";import{homedir as lA}from"os";function HF(D){if(D.startsWith("~"))return D.replace("~",lA());return D}function Cu(D){return D.type==="global"?HF(D.path):cA(process.cwd(),D.path)}var LF=()=>{};import{homedir as dA}from"os";import{join as GF}from"path";import{existsSync as _F,readFileSync as nA,writeFileSync as qC,mkdirSync as iA,readdirSync as LC}from"fs";function GC(){if(!_F(T3))iA(T3,{recursive:!0})}function D0(){if(GC(),!_F(qF)){let D={lastUpdate:new Date().toISOString(),skills:{}};return qC(qF,JSON.stringify(D,null,2)),D}try{let D=nA(qF,"utf-8");return JSON.parse(D)}catch{return{lastUpdate:new Date().toISOString(),skills:{}}}}function QF(D){GC(),D.lastUpdate=new Date().toISOString(),qC(qF,JSON.stringify(D,null,2))}function V3(D,u,F,E,C,B="skill"){let A=D0(),J=B==="skill"?`skill:${D.toLowerCase()}`:`command:${D.toLowerCase()}`,I=!1,$;if(!A.skills[J])A.skills[J]={url:u,subpath:F,branch:E,commit:C};else{if(A.skills[J].branch!==E)$=A.skills[J].branch,A.skills[J].branch=E,A.skills[J].commit=C,I=!0;if(A.skills[J].url=u,F)A.skills[J].subpath=F}return QF(A),{updated:I,previousBranch:$}}function KF(D,u){let F=D0(),E=u==="skill"?`skill:${D.toLowerCase()}`:`command:${D.toLowerCase()}`;delete F.skills[E],QF(F)}function _C(D,u,F){let E=D0(),C=u==="skill"?`skill:${D.toLowerCase()}`:`command:${D.toLowerCase()}`;if(E.skills[C])E.skills[C].commit=F,QF(E)}function UF(){return D0()}function Bu(D,u){let F=[];for(let[E,C]of Object.entries(l))if(u==="skill"){let B=HF(C.globalSkillsDir);if(_F(B))try{let J=LC(B,{withFileTypes:!0}).find((I)=>I.isDirectory()&&I.name.toLowerCase()===D.toLowerCase());if(J)F.push({agent:E,installableType:"skill",type:"global",path:GF(C.globalSkillsDir,J.name)})}catch{}}else{let B=C.globalCommandsDir;if(B){let A=HF(B);if(_F(A))try{let I=LC(A,{withFileTypes:!0}).find(($)=>{return $.name.replace(/\.md$/,"").toLowerCase()===D.toLowerCase()});if(I)F.push({agent:E,installableType:"command",type:"global",path:GF(B,I.name)})}catch{}}}return F}async function QC(){let D=D0(),u=[];for(let[F,E]of Object.entries(D.skills)){let C=F.split(":");if(C.length!==2)continue;let B=C[0]==="skill"?"skill":"command",A=C[1];if(Bu(A,B).length===0)u.push(F)}for(let F of u)delete D.skills[F];if(u.length>0)QF(D)}var T3,qF;var zF=BD(()=>{LF();cD();T3=GF(dA(),".flins"),qF=GF(T3,"skills.lock")});import{join as OF,resolve as pA}from"path";import{existsSync as u0,readFileSync as rA,writeFileSync as aA,rmSync as UC,readdirSync as KC}from"fs";function RF(D){let u=D||process.cwd();return pA(u,sA)}function F0(D){let u=RF(D);if(!u0(u))return null;try{let F=rA(u,"utf-8"),E=JSON.parse(F);if(!E.version||!E.skills)return null;return E}catch{return null}}function WF(D,u){let F=RF(u);D.version=zC,aA(F,JSON.stringify(D,null,2))}function N3(D,u,F,E,C,B,A){let J=F0(A);if(!J)J={version:zC,skills:{}};let I=B==="skill"?`skill:${D.toLowerCase()}`:`command:${D.toLowerCase()}`,$=!1,Z;if(!J.skills[I])J.skills[I]={url:u,subpath:F,branch:E,commit:C};else{if(J.skills[I].branch!==E)Z=J.skills[I].branch,J.skills[I].branch=E,J.skills[I].commit=C,$=!0;if(J.skills[I].url=u,J.skills[I].commit=C,F)J.skills[I].subpath=F}return WF(J,A),{updated:$,previousBranch:Z}}function OC(D,u,F){let E=F0(F);if(!E)return;let C=u==="skill"?`skill:${D.toLowerCase()}`:`command:${D.toLowerCase()}`;if(delete E.skills[C],Object.keys(E.skills).length>0)WF(E,F);else{let B=RF(F);if(u0(B))try{UC(B,{force:!0})}catch{}}}function RC(D,u,F,E){let C=F0(E);if(!C)return;let B=u==="skill"?`skill:${D.toLowerCase()}`:`command:${D.toLowerCase()}`,A=C.skills[B];if(A)A.commit=F,WF(C,E)}function TF(D){return F0(D)}function Au(D,u,F){let E=[],C=F||process.cwd();for(let[B,A]of Object.entries(l))if(u==="skill"){let J=OF(C,A.skillsDir);if(u0(J))try{let $=KC(J,{withFileTypes:!0}).find((Z)=>Z.isDirectory()&&Z.name.toLowerCase()===D.toLowerCase());if($)E.push({agent:B,installableType:"skill",type:"project",path:OF(A.skillsDir,$.name)})}catch{}}else{let J=A.commandsDir;if(J){let I=OF(C,J);if(u0(I))try{let Z=KC(I,{withFileTypes:!0}).find((X)=>{return X.name.replace(/\.md$/,"").toLowerCase()===D.toLowerCase()});if(Z)E.push({agent:B,installableType:"command",type:"project",path:OF(J,Z.name)})}catch{}}}return E}async function WC(D){let u=F0(D);if(!u)return;let F=[];for(let[E,C]of Object.entries(u.skills)){let B=E.split(":");if(B.length!==2)continue;let A=B[0]==="skill"?"skill":"command",J=B[1];if(Au(J,A,D).length===0)F.push(E)}for(let E of F)delete u.skills[E];if(F.length>0)if(Object.keys(u.skills).length>0)WF(u,D);else{let E=RF(D);if(u0(E))UC(E,{force:!0})}}var zC="1.0.0",sA="skills.lock";var VF=BD(()=>{cD()});async function TC(D,u){let F={tempDir:null,spinner:mD()};try{F.spinner.start("Parsing source...");let E=nE(D),C=E.branch??"main";F.spinner.stop(`Source: ${k.default.cyan(E.url)}${E.subpath?` (${E.subpath})`:""}${E.branch?` @ ${k.default.cyan(E.branch)}`:""}`),F.spinner.start("Cloning repository..."),F.tempDir=await FF(E.url,E.branch),F.spinner.stop("Repository cloned");let B=await EF(F.tempDir);F.spinner.start("Discovering skills and commands...");let A=await ZF(F.tempDir,E.subpath),J=await $F(F.tempDir,E.subpath);if(A.length===0&&J.length===0)return F.spinner.stop(k.default.red("No skills or commands found")),a(k.default.red("No valid skills found. Skills require a SKILL.md with name and description.")),{success:!1,installed:0,failed:0,results:[]};let I=J.length>0;if(F.spinner.stop(`Found ${k.default.green(A.length)} skill${A.length!==1?"s":""}`+(I?` and ${k.default.yellow(J.length)} command${J.length!==1?"s":""}`:"")),u.list){if(A.length>0){Q.step(k.default.bold("Available Skills"));for(let G of A)Q.message(` ${k.default.cyan(sD(G))}`),Q.message(` ${k.default.dim(G.description)}`)}if(J.length>0){Q.step(k.default.bold("Available Commands"));for(let G of J)Q.message(` ${k.default.cyan(Gu(G))}`),Q.message(` ${k.default.dim(G.description||`Command: ${G.name}`)}`)}return a("Use --skill <name> to install specific skills or commands"),{success:!0,installed:0,failed:0,results:[]}}let $=await oA(A,u),Z=$?await eA(u,F):null,X=J.length>0?await tA(J,u):null,H=X?await DJ(u,F):null;if(!$&&!X)return{success:!1,installed:0,failed:0,results:[]};if($&&!Z)return{success:!1,installed:0,failed:0,results:[]};if(X&&!H)return{success:!1,installed:0,failed:0,results:[]};let Y=await uJ(u);if(Y===null)return{success:!1,installed:0,failed:0,results:[]};if(!await FJ(u,$,Z,X,H,Y))return{success:!1,installed:0,failed:0,results:[]};if(X&&X.length>0)Q.warn(k.default.yellow("Commands may change significantly or be removed - your feedback helps shape future releases"));F.spinner.start("Installing...");let q=await EJ($||[],Z||[],X||[],H||[],Y,E,B,C);return F.spinner.stop("Installation complete"),q}finally{if(F.tempDir)await CF(F.tempDir)}}async function oA(D,u){if(D.length===0)return null;let F=[];if(u.skill&&u.skill.length>0){if(F=D.filter((E)=>u.skill.some((C)=>E.name.toLowerCase()===C.toLowerCase()||sD(E).toLowerCase()===C.toLowerCase())),F.length===0){Q.error(`No matching skills found for: ${u.skill.join(", ")}`),Q.info("Available skills:");for(let E of D)Q.message(` - ${sD(E)}`);return null}Q.info(`Selected ${F.length} skill${F.length!==1?"s":""}: ${F.map((E)=>k.default.cyan(sD(E))).join(", ")}`)}else if(D.length===1){F=D;let E=D[0];Q.info(`Skill: ${k.default.cyan(sD(E))}`),Q.message(k.default.dim(E.description))}else if(u.yes||u.force)F=D,Q.info(`Installing all ${D.length} skills`);else{let E=D.map((B)=>({value:B,label:sD(B),hint:B.description.length>60?B.description.slice(0,57)+"...":B.description})),C=await bD({message:"Select skills to install",options:E,required:!1});if(AD(C))return $D("Installation cancelled"),null;if(!C||C.length===0)return Q.info("No skills selected"),null;F=C}return F}async function tA(D,u){if(D.length===0)return null;Q.warn(k.default.yellow("⚠ Commands may change significantly or be removed - your feedback helps shape future releases")),Q.message(k.default.dim("See: https://github.com/senahq/flins#commands-experimental"));let F=[];if(u.skill&&u.skill.length>0)F=D.filter((E)=>u.skill.some((C)=>E.name.toLowerCase()===C.toLowerCase()||Gu(E).toLowerCase()===C.toLowerCase()));if(F.length===0&&!u.yes&&!u.force){let E=D.map((B)=>({value:B,label:Gu(B),hint:(B.description||`Command: ${B.name}`).slice(0,55)})),C=await bD({message:"Select commands to install",options:E,required:!1});if(AD(C))return $D("Installation cancelled"),null;if(!C||C.length===0)return Q.info("No commands selected"),null;F=C}else if(u.yes||u.force)F=D,Q.info(`Installing all ${D.length} commands`);if(F.length>0)Q.info(`Selected ${F.length} command${F.length!==1?"s":""}: ${F.map((E)=>k.default.yellow(Gu(E))).join(", ")}`);return F.length>0?F:null}async function eA(D,u){if(D.agent&&D.agent.length>0){let E=Object.keys(l),C=D.agent.filter((B)=>!E.includes(B));if(C.length>0)return Q.error(`Invalid agents: ${C.join(", ")}`),Q.info(`Valid agents: ${E.join(", ")}`),null;return D.agent}u.spinner.start("Detecting installed agents...");let F=await XC();if(u.spinner.stop(`Detected ${F.length} agent${F.length!==1?"s":""}`),F.length===0)if(D.yes||D.force){let C=Object.keys(l);return Q.info("Installing to all agents (none detected)"),C}else{Q.warn("No coding agents detected. You can still install skills.");let C=Object.entries(l).map(([A,J])=>({value:A,label:J.displayName})),B=await bD({message:"Select agents to install skills to",options:C,required:!0});if(AD(B))return $D("Installation cancelled"),null;return B}else if(F.length===1||D.yes||D.force){if(F.length===1){let E=F[0];Q.info(`Installing skills to: ${k.default.cyan(l[E].displayName)}`)}else Q.info(`Installing skills to: ${F.map((E)=>k.default.cyan(l[E].displayName)).join(", ")}`);return F}else{let E=F.map((B)=>({value:B,label:l[B].displayName,hint:l[B].skillsDir})),C=await bD({message:"Select agents to install skills to",options:E,required:!0,initialValues:F});if(AD(C))return $D("Installation cancelled"),null;return C}}async function DJ(D,u){let F=YC();if(D.agent&&D.agent.length>0){let J=Object.keys(l),I=D.agent.filter((X)=>!J.includes(X));if(I.length>0)return Q.error(`Invalid agents: ${I.join(", ")}`),Q.info(`Valid agents: ${J.join(", ")}`),null;let $=D.agent.filter((X)=>YF(X));if($.length===0)return Q.error("Commands are only supported by: "+F.map((X)=>l[X].displayName).join(", ")),null;let Z=D.agent.filter((X)=>!YF(X));if(Z.length>0)Q.warn(`Filtering out agents that don't support commands: ${Z.join(", ")}`);return $}let E=F.filter((J)=>l[J]?.commandsDir);if(E.length===0)return Q.warn("No agents with command support detected"),[];if(D.yes||D.force)return Q.info(`Installing commands to: ${E.map((J)=>k.default.cyan(l[J].displayName)).join(", ")}`),E;Q.warn(k.default.yellow("⚠ Commands may work differently across agents or be removed - your feedback helps shape future releases")),Q.message(k.default.dim("https://github.com/senahq/flins#commands-experimental"));let B=E.map((J)=>({value:J,label:l[J].displayName,hint:l[J].commandsDir||""})),A=await bD({message:"Select agents to install commands to",options:B,required:!0,initialValues:E});if(AD(A))return $D("Installation cancelled"),null;return Q.info(`Installing commands to: ${A.map((J)=>k.default.cyan(l[J].displayName)).join(", ")}`),A}async function uJ(D){let u=D.global??!1;if(D.global===void 0&&!(D.yes||D.force)){let F=await dE({message:"Installation scope",options:[{value:!1,label:"Project",hint:"Install in current directory (committed with your project)"},{value:!0,label:"Global",hint:"Install in home directory (available across all projects)"}]});if(AD(F))return $D("Installation cancelled"),null;u=F}return u}async function FJ(D,u,F,E,C,B){if(Q.step(k.default.bold("Installation Summary")),u&&u.length>0&&F){Q.message(k.default.bold(k.default.cyan("Skills")));for(let J of u){Q.message(` ${k.default.cyan(sD(J))}`);for(let I of F){let $=O3(J.name,I,{global:B}),X=await $C(J.name,I,{global:B})?k.default.yellow(" (will overwrite)"):"";Q.message(` ${k.default.dim("→")} ${l[I].displayName}: ${k.default.dim($)}${X}`)}}}if(E&&E.length>0&&C&&C.length>0){Q.message(k.default.bold(k.default.yellow("Commands (Experimental)")));for(let J of E){Q.message(` ${k.default.yellow(Gu(J))} ${k.default.dim("[experimental]")}`);for(let I of C){let $=`${l[I].commandsDir}/${J.name}.md`;Q.message(` ${k.default.dim("→")} ${l[I].displayName}: ${k.default.dim($)}`)}}}if(!(D.yes||D.force)){let J=await Eu({message:"Proceed with installation?"});if(AD(J)||!J)return $D("Installation cancelled"),!1}return!0}async function EJ(D,u,F,E,C,B,A,J){let I=[...D.flatMap((L)=>u.map((q)=>IF(L,q,{global:C}))),...F.flatMap((L)=>E.map((q)=>XF(L,q,{global:C})))],$=await Promise.all(I),Z=$.map((L,q)=>{let G=Math.floor(q/Math.max(u.length,E.length)),_=q%Math.max(u.length,E.length),O=q<D.length*u.length,z=O?D[G%D.length]:F[G%F.length],R=O?u:E,P=R[_%R.length];return{skill:O?sD(z):Gu(z),agent:l[P].displayName,...L,installableType:O?"skill":"command"}}),X=new Map;for(let[L,q]of $.entries()){if(!q.success)continue;let G=L<D.length*u.length;if(C)if(G){let _=Math.floor(L/u.length),O=D[_%D.length],z=V3(O.name,B.url,B.subpath,J,A,"skill");if(z.updated&&z.previousBranch){let R=X.get(O.name);X.set(O.name,{previous:R?.previous??z.previousBranch,current:R?.current??J})}}else{let _=Math.floor((L-D.length*u.length)/E.length),O=F[_%F.length];V3(O.name,B.url,B.subpath,J,A,"command")}}if(!C)for(let[L,q]of $.entries()){if(!q.success)continue;if(L<D.length*u.length){let _=Math.floor(L/u.length),O=D[_%D.length];N3(O.name,B.url,B.subpath,J,A,"skill")}else{let _=Math.floor((L-D.length*u.length)/E.length),O=F[_%F.length];N3(O.name,B.url,B.subpath,J,A,"command")}}let H=Z.filter((L)=>L.success),Y=Z.filter((L)=>!L.success);if(X.size>0)for(let[L,{previous:q,current:G}]of X)Q.warn(k.default.yellow(` ${k.default.cyan(L)}: ${k.default.dim(q)} → ${k.default.green(G)}`));if(H.length>0){let L=H.filter((_)=>_.installableType==="skill").length,q=H.filter((_)=>_.installableType==="command").length,G=[];if(L>0)G.push(`${L} skill${L!==1?"s":""}`);if(q>0)G.push(`${q} command${q!==1?"s":""}`);Q.success(k.default.green(`Successfully installed ${G.join(" and ")}`));for(let _ of H){let O=_.installableType==="command"?k.default.yellow("⚡"):k.default.green("✓");Q.message(` ${O} ${_.skill} → ${_.agent}`),Q.message(` ${k.default.dim(_.path)}`)}}if(Y.length>0){Q.error(k.default.red(`Failed to install ${Y.length} item${Y.length!==1?"s":""}`));for(let L of Y)Q.message(` ${k.default.red("✗")} ${L.skill} → ${L.agent}`),Q.message(` ${k.default.dim(L.error)}`)}if(H.length>0)a(k.default.green("Installation complete"));else a(k.default.yellow("No items were installed"));return{success:Y.length===0,installed:H.length,failed:Y.length,results:Z}}var k;var VC=BD(()=>{jD();H3();Q3();z3();JF();K3();R3();W3();HC();cD();zF();VF();k=o(UD(),1)});async function NC(){let D=Date.now();if(E0&&w3&&D<w3)return E0;try{let u=await fetch(aE,{signal:AbortSignal.timeout(5000)});if(!u.ok)throw Error(`Failed to fetch directory: ${u.status}`);let F=await u.json();return E0=F,w3=D+CJ,F}catch(u){if(E0)return E0;throw u}}async function wC(D){return(await NC()).find((E)=>E.name.toLowerCase()===D.toLowerCase())?.source??null}function MC(D){return/^[a-z0-9-]+$/i.test(D)&&!D.includes("/")&&!D.includes(":")}async function NF(){return NC()}var E0=null,w3=null,CJ=300000;var M3=BD(()=>{L3()});var SC={};R4(SC,{installCommand:()=>S3});async function S3(D,u){if(!u.silent)TD(tD.default.bgCyan(tD.default.black(" flins ")));try{let F=D;if(MC(D)){if(!u.silent)Q.info(`Looking up "${tD.default.cyan(D)}" in flins directory...`);let C=await wC(D);if(!C){Q.error(`Skill "${tD.default.cyan(D)}" not found in directory.`);let B=await NF();if(B.length>0){Q.info("Available skills:");for(let A of B)Q.message(` ${tD.default.cyan(A.name)} - ${tD.default.dim(A.description)}`)}process.exit(1)}if(F=C,!u.silent)Q.success(`Found: ${tD.default.cyan(F)}`)}let E=await TC(F,u);if(!E.success&&E.installed===0&&E.failed===0)process.exit(1);if(E.failed>0)process.exit(1)}catch(F){if(Q.error(F instanceof Error?F.message:"Unknown error occurred"),!u.silent)a(tD.default.red("Couldn't install skill"));process.exit(1)}}var tD;var j3=BD(()=>{jD();VC();M3();tD=o(UD(),1)});var rC=T((XG,pC)=>{var Zu=n("constants"),HJ=process.cwd,SF=null,LJ=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!SF)SF=HJ.call(process);return SF};try{process.cwd()}catch(D){}if(typeof process.chdir==="function"){if(jF=process.chdir,process.chdir=function(D){SF=null,jF.call(process,D)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,jF)}var jF;pC.exports=qJ;function qJ(D){if(Zu.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))u(D);if(!D.lutimes)F(D);if(D.chown=B(D.chown),D.fchown=B(D.fchown),D.lchown=B(D.lchown),D.chmod=E(D.chmod),D.fchmod=E(D.fchmod),D.lchmod=E(D.lchmod),D.chownSync=A(D.chownSync),D.fchownSync=A(D.fchownSync),D.lchownSync=A(D.lchownSync),D.chmodSync=C(D.chmodSync),D.fchmodSync=C(D.fchmodSync),D.lchmodSync=C(D.lchmodSync),D.stat=J(D.stat),D.fstat=J(D.fstat),D.lstat=J(D.lstat),D.statSync=I(D.statSync),D.fstatSync=I(D.fstatSync),D.lstatSync=I(D.lstatSync),D.chmod&&!D.lchmod)D.lchmod=function(Z,X,H){if(H)process.nextTick(H)},D.lchmodSync=function(){};if(D.chown&&!D.lchown)D.lchown=function(Z,X,H,Y){if(Y)process.nextTick(Y)},D.lchownSync=function(){};if(LJ==="win32")D.rename=typeof D.rename!=="function"?D.rename:function(Z){function X(H,Y,L){var q=Date.now(),G=0;Z(H,Y,function _(O){if(O&&(O.code==="EACCES"||O.code==="EPERM"||O.code==="EBUSY")&&Date.now()-q<60000){if(setTimeout(function(){D.stat(Y,function(z,R){if(z&&z.code==="ENOENT")Z(H,Y,_);else L(O)})},G),G<100)G+=10;return}if(L)L(O)})}if(Object.setPrototypeOf)Object.setPrototypeOf(X,Z);return X}(D.rename);D.read=typeof D.read!=="function"?D.read:function(Z){function X(H,Y,L,q,G,_){var O;if(_&&typeof _==="function"){var z=0;O=function(R,P,f){if(R&&R.code==="EAGAIN"&&z<10)return z++,Z.call(D,H,Y,L,q,G,O);_.apply(this,arguments)}}return Z.call(D,H,Y,L,q,G,O)}if(Object.setPrototypeOf)Object.setPrototypeOf(X,Z);return X}(D.read),D.readSync=typeof D.readSync!=="function"?D.readSync:function(Z){return function(X,H,Y,L,q){var G=0;while(!0)try{return Z.call(D,X,H,Y,L,q)}catch(_){if(_.code==="EAGAIN"&&G<10){G++;continue}throw _}}}(D.readSync);function u(Z){Z.lchmod=function(X,H,Y){Z.open(X,Zu.O_WRONLY|Zu.O_SYMLINK,H,function(L,q){if(L){if(Y)Y(L);return}Z.fchmod(q,H,function(G){Z.close(q,function(_){if(Y)Y(G||_)})})})},Z.lchmodSync=function(X,H){var Y=Z.openSync(X,Zu.O_WRONLY|Zu.O_SYMLINK,H),L=!0,q;try{q=Z.fchmodSync(Y,H),L=!1}finally{if(L)try{Z.closeSync(Y)}catch(G){}else Z.closeSync(Y)}return q}}function F(Z){if(Zu.hasOwnProperty("O_SYMLINK")&&Z.futimes)Z.lutimes=function(X,H,Y,L){Z.open(X,Zu.O_SYMLINK,function(q,G){if(q){if(L)L(q);return}Z.futimes(G,H,Y,function(_){Z.close(G,function(O){if(L)L(_||O)})})})},Z.lutimesSync=function(X,H,Y){var L=Z.openSync(X,Zu.O_SYMLINK),q,G=!0;try{q=Z.futimesSync(L,H,Y),G=!1}finally{if(G)try{Z.closeSync(L)}catch(_){}else Z.closeSync(L)}return q};else if(Z.futimes)Z.lutimes=function(X,H,Y,L){if(L)process.nextTick(L)},Z.lutimesSync=function(){}}function E(Z){if(!Z)return Z;return function(X,H,Y){return Z.call(D,X,H,function(L){if($(L))L=null;if(Y)Y.apply(this,arguments)})}}function C(Z){if(!Z)return Z;return function(X,H){try{return Z.call(D,X,H)}catch(Y){if(!$(Y))throw Y}}}function B(Z){if(!Z)return Z;return function(X,H,Y,L){return Z.call(D,X,H,Y,function(q){if($(q))q=null;if(L)L.apply(this,arguments)})}}function A(Z){if(!Z)return Z;return function(X,H,Y){try{return Z.call(D,X,H,Y)}catch(L){if(!$(L))throw L}}}function J(Z){if(!Z)return Z;return function(X,H,Y){if(typeof H==="function")Y=H,H=null;function L(q,G){if(G){if(G.uid<0)G.uid+=4294967296;if(G.gid<0)G.gid+=4294967296}if(Y)Y.apply(this,arguments)}return H?Z.call(D,X,H,L):Z.call(D,X,L)}}function I(Z){if(!Z)return Z;return function(X,H){var Y=H?Z.call(D,X,H):Z.call(D,X);if(Y){if(Y.uid<0)Y.uid+=4294967296;if(Y.gid<0)Y.gid+=4294967296}return Y}}function $(Z){if(!Z)return!0;if(Z.code==="ENOSYS")return!0;var X=!process.getuid||process.getuid()!==0;if(X){if(Z.code==="EINVAL"||Z.code==="EPERM")return!0}return!1}}});var oC=T((HG,sC)=>{var aC=n("stream").Stream;sC.exports=GJ;function GJ(D){return{ReadStream:u,WriteStream:F};function u(E,C){if(!(this instanceof u))return new u(E,C);aC.call(this);var B=this;this.path=E,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,C=C||{};var A=Object.keys(C);for(var J=0,I=A.length;J<I;J++){var $=A[J];this[$]=C[$]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!=="number")throw TypeError("end must be a Number");if(this.start>this.end)throw Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){B._read()});return}D.open(this.path,this.flags,this.mode,function(Z,X){if(Z){B.emit("error",Z),B.readable=!1;return}B.fd=X,B.emit("open",X),B._read()})}function F(E,C){if(!(this instanceof F))return new F(E,C);aC.call(this),this.path=E,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,C=C||{};var B=Object.keys(C);for(var A=0,J=B.length;A<J;A++){var I=B[A];this[I]=C[I]}if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.start<0)throw Error("start must be >= zero");this.pos=this.start}if(this.busy=!1,this._queue=[],this.fd===null)this._open=D.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}});var eC=T((LG,tC)=>{tC.exports=QJ;var _J=Object.getPrototypeOf||function(D){return D.__proto__};function QJ(D){if(D===null||typeof D!=="object")return D;if(D instanceof Object)var u={__proto__:_J(D)};else var u=Object.create(null);return Object.getOwnPropertyNames(D).forEach(function(F){Object.defineProperty(u,F,Object.getOwnPropertyDescriptor(D,F))}),u}});var F6=T((qG,b3)=>{var ED=n("fs"),KJ=rC(),UJ=oC(),zJ=eC(),PF=n("util"),YD,yF;if(typeof Symbol==="function"&&typeof Symbol.for==="function")YD=Symbol.for("graceful-fs.queue"),yF=Symbol.for("graceful-fs.previous");else YD="___graceful-fs.queue",yF="___graceful-fs.previous";function OJ(){}function u6(D,u){Object.defineProperty(D,YD,{get:function(){return u}})}var _u=OJ;if(PF.debuglog)_u=PF.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))_u=function(){var D=PF.format.apply(PF,arguments);D="GFS4: "+D.split(/\n/).join(`
103
- GFS4: `),console.error(D)};if(!ED[YD]){if(x3=global[YD]||[],u6(ED,x3),ED.close=function(D){function u(F,E){return D.call(ED,F,function(C){if(!C)D6();if(typeof E==="function")E.apply(this,arguments)})}return Object.defineProperty(u,yF,{value:D}),u}(ED.close),ED.closeSync=function(D){function u(F){D.apply(ED,arguments),D6()}return Object.defineProperty(u,yF,{value:D}),u}(ED.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){_u(ED[YD]),n("assert").equal(ED[YD].length,0)})}var x3;if(!global[YD])u6(global,ED[YD]);b3.exports=y3(zJ(ED));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!ED.__patched)b3.exports=y3(ED),ED.__patched=!0;function y3(D){KJ(D),D.gracefulify=y3,D.createReadStream=P,D.createWriteStream=f;var u=D.readFile;D.readFile=F;function F(U,V,N){if(typeof V==="function")N=V,V=null;return m(U,V,N);function m(w,v,x,b){return u(w,v,function(y){if(y&&(y.code==="EMFILE"||y.code==="ENFILE"))yu([m,[w,v,x],y,b||Date.now(),Date.now()]);else if(typeof x==="function")x.apply(this,arguments)})}}var E=D.writeFile;D.writeFile=C;function C(U,V,N,m){if(typeof N==="function")m=N,N=null;return w(U,V,N,m);function w(v,x,b,y,d){return E(v,x,b,function(g){if(g&&(g.code==="EMFILE"||g.code==="ENFILE"))yu([w,[v,x,b,y],g,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}var B=D.appendFile;if(B)D.appendFile=A;function A(U,V,N,m){if(typeof N==="function")m=N,N=null;return w(U,V,N,m);function w(v,x,b,y,d){return B(v,x,b,function(g){if(g&&(g.code==="EMFILE"||g.code==="ENFILE"))yu([w,[v,x,b,y],g,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}var J=D.copyFile;if(J)D.copyFile=I;function I(U,V,N,m){if(typeof N==="function")m=N,N=0;return w(U,V,N,m);function w(v,x,b,y,d){return J(v,x,b,function(g){if(g&&(g.code==="EMFILE"||g.code==="ENFILE"))yu([w,[v,x,b,y],g,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}var $=D.readdir;D.readdir=X;var Z=/^v[0-5]\./;function X(U,V,N){if(typeof V==="function")N=V,V=null;var m=Z.test(process.version)?function(x,b,y,d){return $(x,w(x,b,y,d))}:function(x,b,y,d){return $(x,b,w(x,b,y,d))};return m(U,V,N);function w(v,x,b,y){return function(d,g){if(d&&(d.code==="EMFILE"||d.code==="ENFILE"))yu([m,[v,x,b],d,y||Date.now(),Date.now()]);else{if(g&&g.sort)g.sort();if(typeof b==="function")b.call(this,d,g)}}}}if(process.version.substr(0,4)==="v0.8"){var H=UJ(D);_=H.ReadStream,z=H.WriteStream}var Y=D.ReadStream;if(Y)_.prototype=Object.create(Y.prototype),_.prototype.open=O;var L=D.WriteStream;if(L)z.prototype=Object.create(L.prototype),z.prototype.open=R;Object.defineProperty(D,"ReadStream",{get:function(){return _},set:function(U){_=U},enumerable:!0,configurable:!0}),Object.defineProperty(D,"WriteStream",{get:function(){return z},set:function(U){z=U},enumerable:!0,configurable:!0});var q=_;Object.defineProperty(D,"FileReadStream",{get:function(){return q},set:function(U){q=U},enumerable:!0,configurable:!0});var G=z;Object.defineProperty(D,"FileWriteStream",{get:function(){return G},set:function(U){G=U},enumerable:!0,configurable:!0});function _(U,V){if(this instanceof _)return Y.apply(this,arguments),this;else return _.apply(Object.create(_.prototype),arguments)}function O(){var U=this;M(U.path,U.flags,U.mode,function(V,N){if(V){if(U.autoClose)U.destroy();U.emit("error",V)}else U.fd=N,U.emit("open",N),U.read()})}function z(U,V){if(this instanceof z)return L.apply(this,arguments),this;else return z.apply(Object.create(z.prototype),arguments)}function R(){var U=this;M(U.path,U.flags,U.mode,function(V,N){if(V)U.destroy(),U.emit("error",V);else U.fd=N,U.emit("open",N)})}function P(U,V){return new D.ReadStream(U,V)}function f(U,V){return new D.WriteStream(U,V)}var W=D.open;D.open=M;function M(U,V,N,m){if(typeof N==="function")m=N,N=null;return w(U,V,N,m);function w(v,x,b,y,d){return W(v,x,b,function(g,Q4){if(g&&(g.code==="EMFILE"||g.code==="ENFILE"))yu([w,[v,x,b,y],g,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}return D}function yu(D){_u("ENQUEUE",D[0].name,D[1]),ED[YD].push(D),f3()}var xF;function D6(){var D=Date.now();for(var u=0;u<ED[YD].length;++u)if(ED[YD][u].length>2)ED[YD][u][3]=D,ED[YD][u][4]=D;f3()}function f3(){if(clearTimeout(xF),xF=void 0,ED[YD].length===0)return;var D=ED[YD].shift(),u=D[0],F=D[1],E=D[2],C=D[3],B=D[4];if(C===void 0)_u("RETRY",u.name,F),u.apply(null,F);else if(Date.now()-C>=60000){_u("TIMEOUT",u.name,F);var A=F.pop();if(typeof A==="function")A.call(null,E)}else{var J=Date.now()-B,I=Math.max(B-C,1),$=Math.min(I*1.2,100);if(J>=$)_u("RETRY",u.name,F),u.apply(null,F.concat([C]));else ED[YD].push(D)}if(xF===void 0)xF=setTimeout(f3,0)}});var q0=T((c_,v6)=>{var DZ=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...D)=>console.error("SEMVER",...D):()=>{};v6.exports=DZ});var G0=T((l_,h6)=>{var uZ=Number.MAX_SAFE_INTEGER||9007199254740991,FZ=["major","premajor","minor","preminor","patch","prepatch","prerelease"];h6.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:uZ,RELEASE_TYPES:FZ,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var hu=T((iD,g6)=>{var{MAX_SAFE_COMPONENT_LENGTH:a3,MAX_SAFE_BUILD_LENGTH:EZ,MAX_LENGTH:CZ}=G0(),BZ=q0();iD=g6.exports={};var AZ=iD.re=[],JZ=iD.safeRe=[],S=iD.src=[],ZZ=iD.safeSrc=[],j=iD.t={},$Z=0,s3="[a-zA-Z0-9-]",IZ=[["\\s",1],["\\d",CZ],[s3,EZ]],YZ=(D)=>{for(let[u,F]of IZ)D=D.split(`${u}*`).join(`${u}{0,${F}}`).split(`${u}+`).join(`${u}{1,${F}}`);return D},c=(D,u,F)=>{let E=YZ(u),C=$Z++;BZ(D,C,u),j[D]=C,S[C]=u,ZZ[C]=E,AZ[C]=new RegExp(u,F?"g":void 0),JZ[C]=new RegExp(E,F?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*");c("NUMERICIDENTIFIERLOOSE","\\d+");c("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${s3}*`);c("MAINVERSION",`(${S[j.NUMERICIDENTIFIER]})\\.(${S[j.NUMERICIDENTIFIER]})\\.(${S[j.NUMERICIDENTIFIER]})`);c("MAINVERSIONLOOSE",`(${S[j.NUMERICIDENTIFIERLOOSE]})\\.(${S[j.NUMERICIDENTIFIERLOOSE]})\\.(${S[j.NUMERICIDENTIFIERLOOSE]})`);c("PRERELEASEIDENTIFIER",`(?:${S[j.NONNUMERICIDENTIFIER]}|${S[j.NUMERICIDENTIFIER]})`);c("PRERELEASEIDENTIFIERLOOSE",`(?:${S[j.NONNUMERICIDENTIFIER]}|${S[j.NUMERICIDENTIFIERLOOSE]})`);c("PRERELEASE",`(?:-(${S[j.PRERELEASEIDENTIFIER]}(?:\\.${S[j.PRERELEASEIDENTIFIER]})*))`);c("PRERELEASELOOSE",`(?:-?(${S[j.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${S[j.PRERELEASEIDENTIFIERLOOSE]})*))`);c("BUILDIDENTIFIER",`${s3}+`);c("BUILD",`(?:\\+(${S[j.BUILDIDENTIFIER]}(?:\\.${S[j.BUILDIDENTIFIER]})*))`);c("FULLPLAIN",`v?${S[j.MAINVERSION]}${S[j.PRERELEASE]}?${S[j.BUILD]}?`);c("FULL",`^${S[j.FULLPLAIN]}$`);c("LOOSEPLAIN",`[v=\\s]*${S[j.MAINVERSIONLOOSE]}${S[j.PRERELEASELOOSE]}?${S[j.BUILD]}?`);c("LOOSE",`^${S[j.LOOSEPLAIN]}$`);c("GTLT","((?:<|>)?=?)");c("XRANGEIDENTIFIERLOOSE",`${S[j.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);c("XRANGEIDENTIFIER",`${S[j.NUMERICIDENTIFIER]}|x|X|\\*`);c("XRANGEPLAIN",`[v=\\s]*(${S[j.XRANGEIDENTIFIER]})(?:\\.(${S[j.XRANGEIDENTIFIER]})(?:\\.(${S[j.XRANGEIDENTIFIER]})(?:${S[j.PRERELEASE]})?${S[j.BUILD]}?)?)?`);c("XRANGEPLAINLOOSE",`[v=\\s]*(${S[j.XRANGEIDENTIFIERLOOSE]})(?:\\.(${S[j.XRANGEIDENTIFIERLOOSE]})(?:\\.(${S[j.XRANGEIDENTIFIERLOOSE]})(?:${S[j.PRERELEASELOOSE]})?${S[j.BUILD]}?)?)?`);c("XRANGE",`^${S[j.GTLT]}\\s*${S[j.XRANGEPLAIN]}$`);c("XRANGELOOSE",`^${S[j.GTLT]}\\s*${S[j.XRANGEPLAINLOOSE]}$`);c("COERCEPLAIN",`(^|[^\\d])(\\d{1,${a3}})(?:\\.(\\d{1,${a3}}))?(?:\\.(\\d{1,${a3}}))?`);c("COERCE",`${S[j.COERCEPLAIN]}(?:$|[^\\d])`);c("COERCEFULL",S[j.COERCEPLAIN]+`(?:${S[j.PRERELEASE]})?(?:${S[j.BUILD]})?(?:$|[^\\d])`);c("COERCERTL",S[j.COERCE],!0);c("COERCERTLFULL",S[j.COERCEFULL],!0);c("LONETILDE","(?:~>?)");c("TILDETRIM",`(\\s*)${S[j.LONETILDE]}\\s+`,!0);iD.tildeTrimReplace="$1~";c("TILDE",`^${S[j.LONETILDE]}${S[j.XRANGEPLAIN]}$`);c("TILDELOOSE",`^${S[j.LONETILDE]}${S[j.XRANGEPLAINLOOSE]}$`);c("LONECARET","(?:\\^)");c("CARETTRIM",`(\\s*)${S[j.LONECARET]}\\s+`,!0);iD.caretTrimReplace="$1^";c("CARET",`^${S[j.LONECARET]}${S[j.XRANGEPLAIN]}$`);c("CARETLOOSE",`^${S[j.LONECARET]}${S[j.XRANGEPLAINLOOSE]}$`);c("COMPARATORLOOSE",`^${S[j.GTLT]}\\s*(${S[j.LOOSEPLAIN]})$|^$`);c("COMPARATOR",`^${S[j.GTLT]}\\s*(${S[j.FULLPLAIN]})$|^$`);c("COMPARATORTRIM",`(\\s*)${S[j.GTLT]}\\s*(${S[j.LOOSEPLAIN]}|${S[j.XRANGEPLAIN]})`,!0);iD.comparatorTrimReplace="$1$2$3";c("HYPHENRANGE",`^\\s*(${S[j.XRANGEPLAIN]})\\s+-\\s+(${S[j.XRANGEPLAIN]})\\s*$`);c("HYPHENRANGELOOSE",`^\\s*(${S[j.XRANGEPLAINLOOSE]})\\s+-\\s+(${S[j.XRANGEPLAINLOOSE]})\\s*$`);c("STAR","(<|>)?=?\\s*\\*");c("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");c("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var lF=T((d_,m6)=>{var XZ=Object.freeze({loose:!0}),HZ=Object.freeze({}),LZ=(D)=>{if(!D)return HZ;if(typeof D!=="object")return XZ;return D};m6.exports=LZ});var o3=T((n_,d6)=>{var c6=/^[0-9]+$/,l6=(D,u)=>{if(typeof D==="number"&&typeof u==="number")return D===u?0:D<u?-1:1;let F=c6.test(D),E=c6.test(u);if(F&&E)D=+D,u=+u;return D===u?0:F&&!E?-1:E&&!F?1:D<u?-1:1},qZ=(D,u)=>l6(u,D);d6.exports={compareIdentifiers:l6,rcompareIdentifiers:qZ}});var _D=T((i_,i6)=>{var dF=q0(),{MAX_LENGTH:n6,MAX_SAFE_INTEGER:nF}=G0(),{safeRe:iF,t:pF}=hu(),GZ=lF(),{compareIdentifiers:t3}=o3();class gD{constructor(D,u){if(u=GZ(u),D instanceof gD)if(D.loose===!!u.loose&&D.includePrerelease===!!u.includePrerelease)return D;else D=D.version;else if(typeof D!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof D}".`);if(D.length>n6)throw TypeError(`version is longer than ${n6} characters`);dF("SemVer",D,u),this.options=u,this.loose=!!u.loose,this.includePrerelease=!!u.includePrerelease;let F=D.trim().match(u.loose?iF[pF.LOOSE]:iF[pF.FULL]);if(!F)throw TypeError(`Invalid Version: ${D}`);if(this.raw=D,this.major=+F[1],this.minor=+F[2],this.patch=+F[3],this.major>nF||this.major<0)throw TypeError("Invalid major version");if(this.minor>nF||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>nF||this.patch<0)throw TypeError("Invalid patch version");if(!F[4])this.prerelease=[];else this.prerelease=F[4].split(".").map((E)=>{if(/^[0-9]+$/.test(E)){let C=+E;if(C>=0&&C<nF)return C}return E});this.build=F[5]?F[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(D){if(dF("SemVer.compare",this.version,this.options,D),!(D instanceof gD)){if(typeof D==="string"&&D===this.version)return 0;D=new gD(D,this.options)}if(D.version===this.version)return 0;return this.compareMain(D)||this.comparePre(D)}compareMain(D){if(!(D instanceof gD))D=new gD(D,this.options);if(this.major<D.major)return-1;if(this.major>D.major)return 1;if(this.minor<D.minor)return-1;if(this.minor>D.minor)return 1;if(this.patch<D.patch)return-1;if(this.patch>D.patch)return 1;return 0}comparePre(D){if(!(D instanceof gD))D=new gD(D,this.options);if(this.prerelease.length&&!D.prerelease.length)return-1;else if(!this.prerelease.length&&D.prerelease.length)return 1;else if(!this.prerelease.length&&!D.prerelease.length)return 0;let u=0;do{let F=this.prerelease[u],E=D.prerelease[u];if(dF("prerelease compare",u,F,E),F===void 0&&E===void 0)return 0;else if(E===void 0)return 1;else if(F===void 0)return-1;else if(F===E)continue;else return t3(F,E)}while(++u)}compareBuild(D){if(!(D instanceof gD))D=new gD(D,this.options);let u=0;do{let F=this.build[u],E=D.build[u];if(dF("build compare",u,F,E),F===void 0&&E===void 0)return 0;else if(E===void 0)return 1;else if(F===void 0)return-1;else if(F===E)continue;else return t3(F,E)}while(++u)}inc(D,u,F){if(D.startsWith("pre")){if(!u&&F===!1)throw Error("invalid increment argument: identifier is empty");if(u){let E=`-${u}`.match(this.options.loose?iF[pF.PRERELEASELOOSE]:iF[pF.PRERELEASE]);if(!E||E[1]!==u)throw Error(`invalid identifier: ${u}`)}}switch(D){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",u,F);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",u,F);break;case"prepatch":this.prerelease.length=0,this.inc("patch",u,F),this.inc("pre",u,F);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",u,F);this.inc("pre",u,F);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let E=Number(F)?1:0;if(this.prerelease.length===0)this.prerelease=[E];else{let C=this.prerelease.length;while(--C>=0)if(typeof this.prerelease[C]==="number")this.prerelease[C]++,C=-2;if(C===-1){if(u===this.prerelease.join(".")&&F===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(E)}}if(u){let C=[u,E];if(F===!1)C=[u];if(t3(this.prerelease[0],u)===0){if(isNaN(this.prerelease[1]))this.prerelease=C}else this.prerelease=C}break}default:throw Error(`invalid increment argument: ${D}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}i6.exports=gD});var zu=T((p_,r6)=>{var p6=_D(),_Z=(D,u,F=!1)=>{if(D instanceof p6)return D;try{return new p6(D,u)}catch(E){if(!F)return null;throw E}};r6.exports=_Z});var e3=T((r_,s6)=>{var a6=zu(),QZ=(D,u)=>{let F=a6(D,null,!0),E=a6(u,null,!0),C=F.compare(E);if(C===0)return null;let B=C>0,A=B?F:E,J=B?E:F,I=!!A.prerelease.length;if(!!J.prerelease.length&&!I){if(!J.patch&&!J.minor)return"major";if(J.compareMain(A)===0){if(J.minor&&!J.patch)return"minor";return"patch"}}let Z=I?"pre":"";if(F.major!==E.major)return Z+"major";if(F.minor!==E.minor)return Z+"minor";if(F.patch!==E.patch)return Z+"patch";return"prerelease"};s6.exports=QZ});var xD=T((a_,t6)=>{var o6=_D(),KZ=(D,u,F)=>new o6(D,F).compare(new o6(u,F));t6.exports=KZ});var gu=T((s_,e6)=>{var UZ=xD(),zZ=(D,u,F)=>UZ(D,u,F)>0;e6.exports=zZ});var Z8=T((SZ)=>{SZ.parse=SZ.decode=MZ;SZ.stringify=SZ.encode=U1;SZ.safe=du;SZ.unsafe=D2;var J8=typeof process<"u"&&process.platform==="win32"?`\r
102
+ `)){let A=B.indexOf(":");if(A===-1)continue;let J=B.slice(0,A).trim(),I=B.slice(A+1).trim();if(I.startsWith('"')&&I.endsWith('"')||I.startsWith("'")&&I.endsWith("'"))C[J]=I.slice(1,-1);else if(J==="metadata")try{let $={},Z=I.replace(/^\{|\}$/g,"").trim();if(Z){for(let X of Z.split(",")){let[H,Y]=X.split("=").map((L)=>L.trim());if(H&&Y)$[H]=Y.replace(/^['"]|["']$/g,"")}C[J]=JSON.stringify($)}}catch{C[J]=I}else C[J]=I}return{data:C,content:E}}function AF(D,u){try{let{data:F}=q3(u);if(!F.name||!F.description)return null;return{name:F.name,description:F.description,path:QA(D),metadata:F.metadata?JSON.parse(F.metadata):void 0}}catch{return null}}function sD(D){return D.name||_A(D.path)}var JF=()=>{};import{readdir as oE,readFile as G3,stat as KA}from"fs/promises";import{join as oD}from"path";function OA(D){let u=[D];for(let E of zA)u.push(oD(D,E));let F=new Set;for(let E of Object.values(l))F.add(oD(D,E.skillsDir));return u.push(...F),u}async function _3(D){try{let u=oD(D,"SKILL.md");return(await KA(u)).isFile()}catch{return!1}}async function tE(D,u=0,F=5){let E=[];if(u>F)return E;try{if(await _3(D))E.push(D);let C=await oE(D,{withFileTypes:!0});for(let B of C)if(B.isDirectory()&&!UA.includes(B.name)){let A=await tE(oD(D,B.name),u+1,F);E.push(...A)}}catch{}return E}async function ZF(D,u){let F=[],E=new Set,C=u?oD(D,u):D;if(await _3(C)){let A=oD(C,"SKILL.md"),J=await G3(A,"utf-8"),I=AF(A,J);if(I)return F.push(I),F}let B=OA(C);for(let A of B)try{let J=await oE(A,{withFileTypes:!0});for(let I of J)if(I.isDirectory()){let $=oD(A,I.name);if(await _3($)){let Z=oD($,"SKILL.md"),X=await G3(Z,"utf-8"),H=AF(Z,X);if(H&&!E.has(H.name))F.push(H),E.add(H.name)}}}catch{}if(F.length===0){let A=await tE(C);for(let J of A){let I=oD(J,"SKILL.md"),$=await G3(I,"utf-8"),Z=AF(I,$);if(Z&&!E.has(Z.name))F.push(Z),E.add(Z.name)}}return F}var UA,zA;var Q3=BD(()=>{cD();JF();UA=["node_modules",".git","dist","build","__pycache__"],zA=["skills","skills/.curated","skills/.experimental","skills/.system"]});import{basename as RA}from"path";function eE(D,u){try{let{data:F}=q3(u);return{name:F.name||RA(D,".md"),description:F.description,path:D,type:"markdown"}}catch{return null}}function Gu(D){return D.name}var K3=BD(()=>{JF()});import{readdir as DC,readFile as WA}from"fs/promises";import{join as U3,extname as TA}from"path";async function uC(D,u=0){let F=[];if(u>wA)return F;try{let E=await DC(D,{withFileTypes:!0});for(let C of E){if(VA.includes(C.name))continue;let B=U3(D,C.name);if(C.isDirectory())if(C.name==="commands")F.push(B);else{let A=await uC(B,u+1);F.push(...A)}}}catch{}return F}async function MA(D){let u=[];try{let F=await DC(D,{withFileTypes:!0});for(let E of F){if(NA.has(E.name))continue;if(!E.isFile())continue;let C=U3(D,E.name);if(TA(E.name).toLowerCase()!==".md")continue;try{let A=await WA(C,"utf-8"),J=eE(C,A);if(J)u.push(J)}catch{continue}}}catch{}return u}async function $F(D,u){let F=[],E=new Set,C=u?U3(D,u):D,B=await uC(C);for(let A of B){let J=await MA(A);for(let I of J)if(!E.has(I.name))F.push(I),E.add(I.name)}return F}var VA,NA,wA=5;var z3=BD(()=>{K3();VA=["node_modules",".git","dist","build","__pycache__"],NA=new Set(["README.md","readme.md",".DS_Store"])});import{mkdir as EC,cp as SA,access as jA,readdir as PA}from"fs/promises";import{join as FC}from"path";async function CC(D,u){await EC(u,{recursive:!0});let F=await PA(D,{withFileTypes:!0});for(let E of F){if(yA(E.name))continue;let C=FC(D,E.name),B=FC(u,E.name);if(E.isDirectory())await CC(C,B);else await SA(C,B)}}async function BC(D,u){try{return await EC(u,{recursive:!0}),await CC(D,u),{success:!0,path:u}}catch(F){return{success:!1,path:u,error:F instanceof Error?F.message:"Unknown error"}}}async function AC(D){try{return await jA(D),!0}catch{return!1}}var xA,yA=(D)=>{if(xA.has(D))return!0;if(D.startsWith("_"))return!0;return!1};var JC=BD(()=>{xA=new Set(["README.md","metadata.json"])});import{join as ZC}from"path";async function IF(D,u,F){let E=l[u],C=F.global?E.globalSkillsDir:E.skillsDir,B=ZC(C,D.name);return{...await BC(D.path,B),originalPath:D.path}}async function $C(D,u,F){let E=O3(D,u,F);return AC(E)}function O3(D,u,F){let E=l[u],C=F.global?E.globalSkillsDir:E.skillsDir;return ZC(C,D)}var R3=BD(()=>{cD();JC()});import{mkdir as fA,cp as bA}from"fs/promises";import{join as kA,dirname as vA}from"path";function YF(D){return IC.includes(D)}function YC(){return IC.filter((D)=>l[D]?.commandsDir)}async function hA(D){await fA(D,{recursive:!0})}async function gA(D,u){try{return await hA(vA(u)),await bA(D,u),{success:!0,path:u}}catch(F){return{success:!1,path:u,error:F instanceof Error?F.message:"Unknown error"}}}async function mA(D,u,F){let E=l[u],C=F.global?E.globalCommandsDir:E.commandsDir,B=kA(C,`${D.name}.md`);return gA(D.path,B)}async function XF(D,u,F){if(!YF(u))return{success:!1,path:"",originalPath:D.path,error:`Agent ${u} does not support commands`};if(!l[u].commandsDir)return{success:!1,path:"",originalPath:D.path,error:`Agent ${u} has no commands directory configured`};return{...await mA(D,u,F),originalPath:D.path}}var IC;var W3=BD(()=>{cD();IC=["claude-code","opencode","factory"]});async function XC(){let D=[];for(let[u,F]of Object.entries(l))if(await F.detectInstalled())D.push(u);return D}var HC=BD(()=>{cD()});import{resolve as cA}from"path";import{homedir as lA}from"os";function HF(D){if(D.startsWith("~"))return D.replace("~",lA());return D}function Cu(D){return D.type==="global"?HF(D.path):cA(process.cwd(),D.path)}var LF=()=>{};import{homedir as dA}from"os";import{join as GF}from"path";import{existsSync as _F,readFileSync as nA,writeFileSync as qC,mkdirSync as iA,readdirSync as LC}from"fs";function GC(){if(!_F(T3))iA(T3,{recursive:!0})}function D0(){if(GC(),!_F(qF)){let D={lastUpdate:new Date().toISOString(),skills:{}};return qC(qF,JSON.stringify(D,null,2)),D}try{let D=nA(qF,"utf-8");return JSON.parse(D)}catch{return{lastUpdate:new Date().toISOString(),skills:{}}}}function QF(D){GC(),D.lastUpdate=new Date().toISOString(),qC(qF,JSON.stringify(D,null,2))}function V3(D,u,F,E,C,B="skill"){let A=D0(),J=B==="skill"?`skill:${D.toLowerCase()}`:`command:${D.toLowerCase()}`,I=!1,$;if(!A.skills[J])A.skills[J]={url:u,subpath:F,branch:E,commit:C};else{if(A.skills[J].branch!==E)$=A.skills[J].branch,A.skills[J].branch=E,A.skills[J].commit=C,I=!0;if(A.skills[J].url=u,F)A.skills[J].subpath=F}return QF(A),{updated:I,previousBranch:$}}function KF(D,u){let F=D0(),E=u==="skill"?`skill:${D.toLowerCase()}`:`command:${D.toLowerCase()}`;delete F.skills[E],QF(F)}function _C(D,u,F){let E=D0(),C=u==="skill"?`skill:${D.toLowerCase()}`:`command:${D.toLowerCase()}`;if(E.skills[C])E.skills[C].commit=F,QF(E)}function UF(){return D0()}function Bu(D,u){let F=[];for(let[E,C]of Object.entries(l))if(u==="skill"){let B=HF(C.globalSkillsDir);if(_F(B))try{let J=LC(B,{withFileTypes:!0}).find((I)=>I.isDirectory()&&I.name.toLowerCase()===D.toLowerCase());if(J)F.push({agent:E,installableType:"skill",type:"global",path:GF(C.globalSkillsDir,J.name)})}catch{}}else{let B=C.globalCommandsDir;if(B){let A=HF(B);if(_F(A))try{let I=LC(A,{withFileTypes:!0}).find(($)=>{return $.name.replace(/\.md$/,"").toLowerCase()===D.toLowerCase()});if(I)F.push({agent:E,installableType:"command",type:"global",path:GF(B,I.name)})}catch{}}}return F}async function QC(){let D=D0(),u=[];for(let[F,E]of Object.entries(D.skills)){let C=F.split(":");if(C.length!==2)continue;let B=C[0]==="skill"?"skill":"command",A=C[1];if(Bu(A,B).length===0)u.push(F)}for(let F of u)delete D.skills[F];if(u.length>0)QF(D)}var T3,qF;var zF=BD(()=>{LF();cD();T3=GF(dA(),".flins"),qF=GF(T3,"skills.lock")});import{join as OF,resolve as pA}from"path";import{existsSync as u0,readFileSync as rA,writeFileSync as aA,rmSync as UC,readdirSync as KC}from"fs";function RF(D){let u=D||process.cwd();return pA(u,sA)}function F0(D){let u=RF(D);if(!u0(u))return null;try{let F=rA(u,"utf-8"),E=JSON.parse(F);if(!E.version||!E.skills)return null;return E}catch{return null}}function WF(D,u){let F=RF(u);D.version=zC,aA(F,JSON.stringify(D,null,2))}function N3(D,u,F,E,C,B,A){let J=F0(A);if(!J)J={version:zC,skills:{}};let I=B==="skill"?`skill:${D.toLowerCase()}`:`command:${D.toLowerCase()}`,$=!1,Z;if(!J.skills[I])J.skills[I]={url:u,subpath:F,branch:E,commit:C};else{if(J.skills[I].branch!==E)Z=J.skills[I].branch,J.skills[I].branch=E,J.skills[I].commit=C,$=!0;if(J.skills[I].url=u,J.skills[I].commit=C,F)J.skills[I].subpath=F}return WF(J,A),{updated:$,previousBranch:Z}}function OC(D,u,F){let E=F0(F);if(!E)return;let C=u==="skill"?`skill:${D.toLowerCase()}`:`command:${D.toLowerCase()}`;if(delete E.skills[C],Object.keys(E.skills).length>0)WF(E,F);else{let B=RF(F);if(u0(B))try{UC(B,{force:!0})}catch{}}}function RC(D,u,F,E){let C=F0(E);if(!C)return;let B=u==="skill"?`skill:${D.toLowerCase()}`:`command:${D.toLowerCase()}`,A=C.skills[B];if(A)A.commit=F,WF(C,E)}function TF(D){return F0(D)}function Au(D,u,F){let E=[],C=F||process.cwd();for(let[B,A]of Object.entries(l))if(u==="skill"){let J=OF(C,A.skillsDir);if(u0(J))try{let $=KC(J,{withFileTypes:!0}).find((Z)=>Z.isDirectory()&&Z.name.toLowerCase()===D.toLowerCase());if($)E.push({agent:B,installableType:"skill",type:"project",path:OF(A.skillsDir,$.name)})}catch{}}else{let J=A.commandsDir;if(J){let I=OF(C,J);if(u0(I))try{let Z=KC(I,{withFileTypes:!0}).find((X)=>{return X.name.replace(/\.md$/,"").toLowerCase()===D.toLowerCase()});if(Z)E.push({agent:B,installableType:"command",type:"project",path:OF(J,Z.name)})}catch{}}}return E}async function WC(D){let u=F0(D);if(!u)return;let F=[];for(let[E,C]of Object.entries(u.skills)){let B=E.split(":");if(B.length!==2)continue;let A=B[0]==="skill"?"skill":"command",J=B[1];if(Au(J,A,D).length===0)F.push(E)}for(let E of F)delete u.skills[E];if(F.length>0)if(Object.keys(u.skills).length>0)WF(u,D);else{let E=RF(D);if(u0(E))UC(E,{force:!0})}}var zC="1.0.0",sA="skills.lock";var VF=BD(()=>{cD()});async function TC(D,u){let F={tempDir:null,spinner:mD()};try{F.spinner.start("Parsing source...");let E=nE(D),C=E.branch??"main";F.spinner.stop(`Source: ${g.default.cyan(E.url)}${E.subpath?` (${E.subpath})`:""}${E.branch?` @ ${g.default.cyan(E.branch)}`:""}`),F.spinner.start("Cloning repository..."),F.tempDir=await FF(E.url,E.branch),F.spinner.stop("Repository cloned");let B=await EF(F.tempDir);F.spinner.start("Discovering skills and commands...");let A=await ZF(F.tempDir,E.subpath),J=await $F(F.tempDir,E.subpath);if(A.length===0&&J.length===0)return F.spinner.stop(g.default.red("No skills or commands found")),a(g.default.red("No valid skills found. Skills require a SKILL.md with name and description.")),{success:!1,installed:0,failed:0,results:[]};let I=J.length>0;if(F.spinner.stop(`Found ${g.default.green(A.length)} skill${A.length!==1?"s":""}`+(I?` and ${g.default.yellow(J.length)} command${J.length!==1?"s":""}`:"")),u.list){if(A.length>0){Q.step(g.default.bold("Available Skills"));for(let G of A)Q.message(` ${g.default.cyan(sD(G))}`),Q.message(` ${g.default.dim(G.description)}`)}if(J.length>0){Q.step(g.default.bold("Available Commands"));for(let G of J)Q.message(` ${g.default.cyan(Gu(G))}`),Q.message(` ${g.default.dim(G.description||`Command: ${G.name}`)}`)}return a("Use --skill <name> to install specific skills or commands"),{success:!0,installed:0,failed:0,results:[]}}let $=await oA(A,u),Z=$?await eA(u,F):null,X=J.length>0?await tA(J,u):null,H=X?await DJ(u,F):null;if(!$&&!X)return{success:!1,installed:0,failed:0,results:[]};if($&&!Z)return{success:!1,installed:0,failed:0,results:[]};if(X&&!H)return{success:!1,installed:0,failed:0,results:[]};let Y=await uJ(u);if(Y===null)return{success:!1,installed:0,failed:0,results:[]};if(!await FJ(u,$,Z,X,H,Y))return{success:!1,installed:0,failed:0,results:[]};if(X&&X.length>0)Q.warn(g.default.yellow("Commands may change significantly or be removed - your feedback helps shape future releases"));F.spinner.start("Installing...");let q=await EJ($||[],Z||[],X||[],H||[],Y,E,B,C);return F.spinner.stop("Installation complete"),q}finally{if(F.tempDir)await CF(F.tempDir)}}async function oA(D,u){if(D.length===0)return null;let F=[];if(u.skill&&u.skill.length>0){if(F=D.filter((E)=>u.skill.some((C)=>E.name.toLowerCase()===C.toLowerCase()||sD(E).toLowerCase()===C.toLowerCase())),F.length===0){Q.error(`No matching skills found for: ${u.skill.join(", ")}`),Q.info("Available skills:");for(let E of D)Q.message(` - ${sD(E)}`);return null}Q.info(`Selected ${F.length} skill${F.length!==1?"s":""}: ${F.map((E)=>g.default.cyan(sD(E))).join(", ")}`)}else if(D.length===1){F=D;let E=D[0];Q.info(`Skill: ${g.default.cyan(sD(E))}`),Q.message(g.default.dim(E.description))}else if(u.yes||u.force)F=D,Q.info(`Installing all ${D.length} skills`);else{let E=D.map((B)=>({value:B,label:sD(B),hint:B.description.length>60?B.description.slice(0,57)+"...":B.description})),C=await bD({message:"Select skills to install",options:E,required:!1});if(AD(C))return $D("Installation cancelled"),null;if(!C||C.length===0)return Q.info("No skills selected"),null;F=C}return F}async function tA(D,u){if(D.length===0)return null;let F=[];if(u.skill&&u.skill.length>0)F=D.filter((E)=>u.skill.some((C)=>E.name.toLowerCase()===C.toLowerCase()||Gu(E).toLowerCase()===C.toLowerCase()));if(F.length===0&&!u.yes&&!u.force){let E=D.map((B)=>({value:B,label:Gu(B),hint:(B.description||`Command: ${B.name}`).slice(0,55)})),C=await bD({message:"Select commands to install",options:E,required:!1});if(AD(C))return $D("Installation cancelled"),null;if(!C||C.length===0)return Q.info("No commands selected"),null;F=C}else if(u.yes||u.force)F=D,Q.info(`Installing all ${D.length} commands`);if(F.length>0)Q.info(`Selected ${F.length} command${F.length!==1?"s":""}: ${F.map((E)=>g.default.yellow(Gu(E))).join(", ")}`);return F.length>0?F:null}async function eA(D,u){if(D.agent&&D.agent.length>0){let E=Object.keys(l),C=D.agent.filter((B)=>!E.includes(B));if(C.length>0)return Q.error(`Invalid agents: ${C.join(", ")}`),Q.info(`Valid agents: ${E.join(", ")}`),null;return D.agent}u.spinner.start("Detecting installed agents...");let F=await XC();if(u.spinner.stop(`Detected ${F.length} agent${F.length!==1?"s":""}`),F.length===0)if(D.yes||D.force){let C=Object.keys(l);return Q.info("Installing to all agents (none detected)"),C}else{Q.warn("No coding agents detected. You can still install skills.");let C=Object.entries(l).map(([A,J])=>({value:A,label:J.displayName})),B=await bD({message:"Select agents to install skills to",options:C,required:!0});if(AD(B))return $D("Installation cancelled"),null;return B}else if(F.length===1||D.yes||D.force){if(F.length===1){let E=F[0];Q.info(`Installing skills to: ${g.default.cyan(l[E].displayName)}`)}else Q.info(`Installing skills to: ${F.map((E)=>g.default.cyan(l[E].displayName)).join(", ")}`);return F}else{let E=F.map((B)=>({value:B,label:l[B].displayName,hint:l[B].skillsDir})),C=await bD({message:"Select agents to install skills to",options:E,required:!0,initialValues:F});if(AD(C))return $D("Installation cancelled"),null;return C}}async function DJ(D,u){let F=YC();if(D.agent&&D.agent.length>0){let J=Object.keys(l),I=D.agent.filter((X)=>!J.includes(X));if(I.length>0)return Q.error(`Invalid agents: ${I.join(", ")}`),Q.info(`Valid agents: ${J.join(", ")}`),null;let $=D.agent.filter((X)=>YF(X));if($.length===0)return Q.error("Commands are only supported by: "+F.map((X)=>l[X].displayName).join(", ")),null;let Z=D.agent.filter((X)=>!YF(X));if(Z.length>0)Q.warn(`Filtering out agents that don't support commands: ${Z.join(", ")}`);return $}let E=F.filter((J)=>l[J]?.commandsDir);if(E.length===0)return Q.warn("No agents with command support detected"),[];if(D.yes||D.force)return Q.info(`Installing commands to: ${E.map((J)=>g.default.cyan(l[J].displayName)).join(", ")}`),E;Q.warn(g.default.yellow("⚠ Commands may work differently across agents or be removed - your feedback helps shape future releases")),Q.message(g.default.dim("https://github.com/senahq/flins#commands-experimental"));let B=E.map((J)=>({value:J,label:l[J].displayName,hint:l[J].commandsDir||""})),A=await bD({message:"Select agents to install commands to",options:B,required:!0,initialValues:E});if(AD(A))return $D("Installation cancelled"),null;return Q.info(`Installing commands to: ${A.map((J)=>g.default.cyan(l[J].displayName)).join(", ")}`),A}async function uJ(D){let u=D.global??!1;if(D.global===void 0&&!(D.yes||D.force)){let F=await dE({message:"Installation scope",options:[{value:!1,label:"Project",hint:"Install in current directory (committed with your project)"},{value:!0,label:"Global",hint:"Install in home directory (available across all projects)"}]});if(AD(F))return $D("Installation cancelled"),null;u=F}return u}async function FJ(D,u,F,E,C,B){if(Q.step(g.default.bold("Installation Summary")),u&&u.length>0&&F){Q.message(g.default.bold(g.default.cyan("Skills")));for(let J of u){Q.message(` ${g.default.cyan(sD(J))}`);for(let I of F){let $=O3(J.name,I,{global:B}),X=await $C(J.name,I,{global:B})?g.default.yellow(" (will overwrite)"):"";Q.message(` ${g.default.dim("→")} ${l[I].displayName}: ${g.default.dim($)}${X}`)}}}if(E&&E.length>0&&C&&C.length>0){Q.message(g.default.bold(g.default.yellow("Commands (Experimental)")));for(let J of E){Q.message(` ${g.default.yellow(Gu(J))} ${g.default.dim("[experimental]")}`);for(let I of C){let $=`${l[I].commandsDir}/${J.name}.md`;Q.message(` ${g.default.dim("→")} ${l[I].displayName}: ${g.default.dim($)}`)}}}if(!(D.yes||D.force)){let J=await Eu({message:"Proceed with installation?"});if(AD(J)||!J)return $D("Installation cancelled"),!1}return!0}async function EJ(D,u,F,E,C,B,A,J){let I=[...D.flatMap((L)=>u.map((q)=>IF(L,q,{global:C}))),...F.flatMap((L)=>E.map((q)=>XF(L,q,{global:C})))],$=await Promise.all(I),Z=$.map((L,q)=>{let G=Math.floor(q/Math.max(u.length,E.length)),_=q%Math.max(u.length,E.length),O=q<D.length*u.length,z=O?D[G%D.length]:F[G%F.length],R=O?u:E,P=R[_%R.length];return{skill:O?sD(z):Gu(z),agent:l[P].displayName,...L,installableType:O?"skill":"command"}}),X=new Map;for(let[L,q]of $.entries()){if(!q.success)continue;let G=L<D.length*u.length;if(C)if(G){let _=Math.floor(L/u.length),O=D[_%D.length],z=V3(O.name,B.url,B.subpath,J,A,"skill");if(z.updated&&z.previousBranch){let R=X.get(O.name);X.set(O.name,{previous:R?.previous??z.previousBranch,current:R?.current??J})}}else{let _=Math.floor((L-D.length*u.length)/E.length),O=F[_%F.length];V3(O.name,B.url,B.subpath,J,A,"command")}}if(!C)for(let[L,q]of $.entries()){if(!q.success)continue;if(L<D.length*u.length){let _=Math.floor(L/u.length),O=D[_%D.length];N3(O.name,B.url,B.subpath,J,A,"skill")}else{let _=Math.floor((L-D.length*u.length)/E.length),O=F[_%F.length];N3(O.name,B.url,B.subpath,J,A,"command")}}let H=Z.filter((L)=>L.success),Y=Z.filter((L)=>!L.success);if(X.size>0)for(let[L,{previous:q,current:G}]of X)Q.warn(g.default.yellow(` ${g.default.cyan(L)}: ${g.default.dim(q)} → ${g.default.green(G)}`));if(H.length>0){let L=H.filter((_)=>_.installableType==="skill").length,q=H.filter((_)=>_.installableType==="command").length,G=[];if(L>0)G.push(`${L} skill${L!==1?"s":""}`);if(q>0)G.push(`${q} command${q!==1?"s":""}`);Q.success(g.default.green(`Successfully installed ${G.join(" and ")}`));for(let _ of H){let O=_.installableType==="command"?g.default.yellow("⚡"):g.default.green("✓");Q.message(` ${O} ${_.skill} → ${_.agent}`),Q.message(` ${g.default.dim(_.path)}`)}}if(Y.length>0){Q.error(g.default.red(`Failed to install ${Y.length} item${Y.length!==1?"s":""}`));for(let L of Y)Q.message(` ${g.default.red("✗")} ${L.skill} → ${L.agent}`),Q.message(` ${g.default.dim(L.error)}`)}if(H.length>0)a(g.default.green("Installation complete"));else a(g.default.yellow("No items were installed"));return{success:Y.length===0,installed:H.length,failed:Y.length,results:Z}}var g;var VC=BD(()=>{jD();H3();Q3();z3();JF();K3();R3();W3();HC();cD();zF();VF();g=o(UD(),1)});async function NC(){let D=Date.now();if(E0&&w3&&D<w3)return E0;try{let u=await fetch(aE,{signal:AbortSignal.timeout(5000)});if(!u.ok)throw Error(`Failed to fetch directory: ${u.status}`);let F=await u.json();return E0=F,w3=D+CJ,F}catch(u){if(E0)return E0;throw u}}async function wC(D){return(await NC()).find((E)=>E.name.toLowerCase()===D.toLowerCase())?.source??null}function MC(D){return/^[a-z0-9-]+$/i.test(D)&&!D.includes("/")&&!D.includes(":")}async function NF(){return NC()}var E0=null,w3=null,CJ=300000;var M3=BD(()=>{L3()});var SC={};R4(SC,{installCommand:()=>S3});async function S3(D,u){if(!u.silent)TD(tD.default.bgCyan(tD.default.black(" flins ")));try{let F=D;if(MC(D)){if(!u.silent)Q.info(`Looking up "${tD.default.cyan(D)}" in flins directory...`);let C=await wC(D);if(!C){Q.error(`Skill "${tD.default.cyan(D)}" not found in directory.`);let B=await NF();if(B.length>0){Q.info("Available skills:");for(let A of B)Q.message(` ${tD.default.cyan(A.name)} - ${tD.default.dim(A.description)}`)}process.exit(1)}if(F=C,!u.silent)Q.success(`Found: ${tD.default.cyan(F)}`)}let E=await TC(F,u);if(!E.success&&E.installed===0&&E.failed===0)process.exit(1);if(E.failed>0)process.exit(1)}catch(F){if(Q.error(F instanceof Error?F.message:"Unknown error occurred"),!u.silent)a(tD.default.red("Couldn't install skill"));process.exit(1)}}var tD;var j3=BD(()=>{jD();VC();M3();tD=o(UD(),1)});var rC=T((XG,pC)=>{var Zu=n("constants"),HJ=process.cwd,SF=null,LJ=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!SF)SF=HJ.call(process);return SF};try{process.cwd()}catch(D){}if(typeof process.chdir==="function"){if(jF=process.chdir,process.chdir=function(D){SF=null,jF.call(process,D)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,jF)}var jF;pC.exports=qJ;function qJ(D){if(Zu.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))u(D);if(!D.lutimes)F(D);if(D.chown=B(D.chown),D.fchown=B(D.fchown),D.lchown=B(D.lchown),D.chmod=E(D.chmod),D.fchmod=E(D.fchmod),D.lchmod=E(D.lchmod),D.chownSync=A(D.chownSync),D.fchownSync=A(D.fchownSync),D.lchownSync=A(D.lchownSync),D.chmodSync=C(D.chmodSync),D.fchmodSync=C(D.fchmodSync),D.lchmodSync=C(D.lchmodSync),D.stat=J(D.stat),D.fstat=J(D.fstat),D.lstat=J(D.lstat),D.statSync=I(D.statSync),D.fstatSync=I(D.fstatSync),D.lstatSync=I(D.lstatSync),D.chmod&&!D.lchmod)D.lchmod=function(Z,X,H){if(H)process.nextTick(H)},D.lchmodSync=function(){};if(D.chown&&!D.lchown)D.lchown=function(Z,X,H,Y){if(Y)process.nextTick(Y)},D.lchownSync=function(){};if(LJ==="win32")D.rename=typeof D.rename!=="function"?D.rename:function(Z){function X(H,Y,L){var q=Date.now(),G=0;Z(H,Y,function _(O){if(O&&(O.code==="EACCES"||O.code==="EPERM"||O.code==="EBUSY")&&Date.now()-q<60000){if(setTimeout(function(){D.stat(Y,function(z,R){if(z&&z.code==="ENOENT")Z(H,Y,_);else L(O)})},G),G<100)G+=10;return}if(L)L(O)})}if(Object.setPrototypeOf)Object.setPrototypeOf(X,Z);return X}(D.rename);D.read=typeof D.read!=="function"?D.read:function(Z){function X(H,Y,L,q,G,_){var O;if(_&&typeof _==="function"){var z=0;O=function(R,P,f){if(R&&R.code==="EAGAIN"&&z<10)return z++,Z.call(D,H,Y,L,q,G,O);_.apply(this,arguments)}}return Z.call(D,H,Y,L,q,G,O)}if(Object.setPrototypeOf)Object.setPrototypeOf(X,Z);return X}(D.read),D.readSync=typeof D.readSync!=="function"?D.readSync:function(Z){return function(X,H,Y,L,q){var G=0;while(!0)try{return Z.call(D,X,H,Y,L,q)}catch(_){if(_.code==="EAGAIN"&&G<10){G++;continue}throw _}}}(D.readSync);function u(Z){Z.lchmod=function(X,H,Y){Z.open(X,Zu.O_WRONLY|Zu.O_SYMLINK,H,function(L,q){if(L){if(Y)Y(L);return}Z.fchmod(q,H,function(G){Z.close(q,function(_){if(Y)Y(G||_)})})})},Z.lchmodSync=function(X,H){var Y=Z.openSync(X,Zu.O_WRONLY|Zu.O_SYMLINK,H),L=!0,q;try{q=Z.fchmodSync(Y,H),L=!1}finally{if(L)try{Z.closeSync(Y)}catch(G){}else Z.closeSync(Y)}return q}}function F(Z){if(Zu.hasOwnProperty("O_SYMLINK")&&Z.futimes)Z.lutimes=function(X,H,Y,L){Z.open(X,Zu.O_SYMLINK,function(q,G){if(q){if(L)L(q);return}Z.futimes(G,H,Y,function(_){Z.close(G,function(O){if(L)L(_||O)})})})},Z.lutimesSync=function(X,H,Y){var L=Z.openSync(X,Zu.O_SYMLINK),q,G=!0;try{q=Z.futimesSync(L,H,Y),G=!1}finally{if(G)try{Z.closeSync(L)}catch(_){}else Z.closeSync(L)}return q};else if(Z.futimes)Z.lutimes=function(X,H,Y,L){if(L)process.nextTick(L)},Z.lutimesSync=function(){}}function E(Z){if(!Z)return Z;return function(X,H,Y){return Z.call(D,X,H,function(L){if($(L))L=null;if(Y)Y.apply(this,arguments)})}}function C(Z){if(!Z)return Z;return function(X,H){try{return Z.call(D,X,H)}catch(Y){if(!$(Y))throw Y}}}function B(Z){if(!Z)return Z;return function(X,H,Y,L){return Z.call(D,X,H,Y,function(q){if($(q))q=null;if(L)L.apply(this,arguments)})}}function A(Z){if(!Z)return Z;return function(X,H,Y){try{return Z.call(D,X,H,Y)}catch(L){if(!$(L))throw L}}}function J(Z){if(!Z)return Z;return function(X,H,Y){if(typeof H==="function")Y=H,H=null;function L(q,G){if(G){if(G.uid<0)G.uid+=4294967296;if(G.gid<0)G.gid+=4294967296}if(Y)Y.apply(this,arguments)}return H?Z.call(D,X,H,L):Z.call(D,X,L)}}function I(Z){if(!Z)return Z;return function(X,H){var Y=H?Z.call(D,X,H):Z.call(D,X);if(Y){if(Y.uid<0)Y.uid+=4294967296;if(Y.gid<0)Y.gid+=4294967296}return Y}}function $(Z){if(!Z)return!0;if(Z.code==="ENOSYS")return!0;var X=!process.getuid||process.getuid()!==0;if(X){if(Z.code==="EINVAL"||Z.code==="EPERM")return!0}return!1}}});var oC=T((HG,sC)=>{var aC=n("stream").Stream;sC.exports=GJ;function GJ(D){return{ReadStream:u,WriteStream:F};function u(E,C){if(!(this instanceof u))return new u(E,C);aC.call(this);var B=this;this.path=E,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,C=C||{};var A=Object.keys(C);for(var J=0,I=A.length;J<I;J++){var $=A[J];this[$]=C[$]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!=="number")throw TypeError("end must be a Number");if(this.start>this.end)throw Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){B._read()});return}D.open(this.path,this.flags,this.mode,function(Z,X){if(Z){B.emit("error",Z),B.readable=!1;return}B.fd=X,B.emit("open",X),B._read()})}function F(E,C){if(!(this instanceof F))return new F(E,C);aC.call(this),this.path=E,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,C=C||{};var B=Object.keys(C);for(var A=0,J=B.length;A<J;A++){var I=B[A];this[I]=C[I]}if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.start<0)throw Error("start must be >= zero");this.pos=this.start}if(this.busy=!1,this._queue=[],this.fd===null)this._open=D.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}});var eC=T((LG,tC)=>{tC.exports=QJ;var _J=Object.getPrototypeOf||function(D){return D.__proto__};function QJ(D){if(D===null||typeof D!=="object")return D;if(D instanceof Object)var u={__proto__:_J(D)};else var u=Object.create(null);return Object.getOwnPropertyNames(D).forEach(function(F){Object.defineProperty(u,F,Object.getOwnPropertyDescriptor(D,F))}),u}});var F6=T((qG,b3)=>{var ED=n("fs"),KJ=rC(),UJ=oC(),zJ=eC(),PF=n("util"),YD,yF;if(typeof Symbol==="function"&&typeof Symbol.for==="function")YD=Symbol.for("graceful-fs.queue"),yF=Symbol.for("graceful-fs.previous");else YD="___graceful-fs.queue",yF="___graceful-fs.previous";function OJ(){}function u6(D,u){Object.defineProperty(D,YD,{get:function(){return u}})}var _u=OJ;if(PF.debuglog)_u=PF.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))_u=function(){var D=PF.format.apply(PF,arguments);D="GFS4: "+D.split(/\n/).join(`
103
+ GFS4: `),console.error(D)};if(!ED[YD]){if(x3=global[YD]||[],u6(ED,x3),ED.close=function(D){function u(F,E){return D.call(ED,F,function(C){if(!C)D6();if(typeof E==="function")E.apply(this,arguments)})}return Object.defineProperty(u,yF,{value:D}),u}(ED.close),ED.closeSync=function(D){function u(F){D.apply(ED,arguments),D6()}return Object.defineProperty(u,yF,{value:D}),u}(ED.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){_u(ED[YD]),n("assert").equal(ED[YD].length,0)})}var x3;if(!global[YD])u6(global,ED[YD]);b3.exports=y3(zJ(ED));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!ED.__patched)b3.exports=y3(ED),ED.__patched=!0;function y3(D){KJ(D),D.gracefulify=y3,D.createReadStream=P,D.createWriteStream=f;var u=D.readFile;D.readFile=F;function F(U,V,N){if(typeof V==="function")N=V,V=null;return m(U,V,N);function m(w,k,x,b){return u(w,k,function(y){if(y&&(y.code==="EMFILE"||y.code==="ENFILE"))yu([m,[w,k,x],y,b||Date.now(),Date.now()]);else if(typeof x==="function")x.apply(this,arguments)})}}var E=D.writeFile;D.writeFile=C;function C(U,V,N,m){if(typeof N==="function")m=N,N=null;return w(U,V,N,m);function w(k,x,b,y,d){return E(k,x,b,function(h){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))yu([w,[k,x,b,y],h,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}var B=D.appendFile;if(B)D.appendFile=A;function A(U,V,N,m){if(typeof N==="function")m=N,N=null;return w(U,V,N,m);function w(k,x,b,y,d){return B(k,x,b,function(h){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))yu([w,[k,x,b,y],h,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}var J=D.copyFile;if(J)D.copyFile=I;function I(U,V,N,m){if(typeof N==="function")m=N,N=0;return w(U,V,N,m);function w(k,x,b,y,d){return J(k,x,b,function(h){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))yu([w,[k,x,b,y],h,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}var $=D.readdir;D.readdir=X;var Z=/^v[0-5]\./;function X(U,V,N){if(typeof V==="function")N=V,V=null;var m=Z.test(process.version)?function(x,b,y,d){return $(x,w(x,b,y,d))}:function(x,b,y,d){return $(x,b,w(x,b,y,d))};return m(U,V,N);function w(k,x,b,y){return function(d,h){if(d&&(d.code==="EMFILE"||d.code==="ENFILE"))yu([m,[k,x,b],d,y||Date.now(),Date.now()]);else{if(h&&h.sort)h.sort();if(typeof b==="function")b.call(this,d,h)}}}}if(process.version.substr(0,4)==="v0.8"){var H=UJ(D);_=H.ReadStream,z=H.WriteStream}var Y=D.ReadStream;if(Y)_.prototype=Object.create(Y.prototype),_.prototype.open=O;var L=D.WriteStream;if(L)z.prototype=Object.create(L.prototype),z.prototype.open=R;Object.defineProperty(D,"ReadStream",{get:function(){return _},set:function(U){_=U},enumerable:!0,configurable:!0}),Object.defineProperty(D,"WriteStream",{get:function(){return z},set:function(U){z=U},enumerable:!0,configurable:!0});var q=_;Object.defineProperty(D,"FileReadStream",{get:function(){return q},set:function(U){q=U},enumerable:!0,configurable:!0});var G=z;Object.defineProperty(D,"FileWriteStream",{get:function(){return G},set:function(U){G=U},enumerable:!0,configurable:!0});function _(U,V){if(this instanceof _)return Y.apply(this,arguments),this;else return _.apply(Object.create(_.prototype),arguments)}function O(){var U=this;M(U.path,U.flags,U.mode,function(V,N){if(V){if(U.autoClose)U.destroy();U.emit("error",V)}else U.fd=N,U.emit("open",N),U.read()})}function z(U,V){if(this instanceof z)return L.apply(this,arguments),this;else return z.apply(Object.create(z.prototype),arguments)}function R(){var U=this;M(U.path,U.flags,U.mode,function(V,N){if(V)U.destroy(),U.emit("error",V);else U.fd=N,U.emit("open",N)})}function P(U,V){return new D.ReadStream(U,V)}function f(U,V){return new D.WriteStream(U,V)}var W=D.open;D.open=M;function M(U,V,N,m){if(typeof N==="function")m=N,N=null;return w(U,V,N,m);function w(k,x,b,y,d){return W(k,x,b,function(h,Q4){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))yu([w,[k,x,b,y],h,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}return D}function yu(D){_u("ENQUEUE",D[0].name,D[1]),ED[YD].push(D),f3()}var xF;function D6(){var D=Date.now();for(var u=0;u<ED[YD].length;++u)if(ED[YD][u].length>2)ED[YD][u][3]=D,ED[YD][u][4]=D;f3()}function f3(){if(clearTimeout(xF),xF=void 0,ED[YD].length===0)return;var D=ED[YD].shift(),u=D[0],F=D[1],E=D[2],C=D[3],B=D[4];if(C===void 0)_u("RETRY",u.name,F),u.apply(null,F);else if(Date.now()-C>=60000){_u("TIMEOUT",u.name,F);var A=F.pop();if(typeof A==="function")A.call(null,E)}else{var J=Date.now()-B,I=Math.max(B-C,1),$=Math.min(I*1.2,100);if(J>=$)_u("RETRY",u.name,F),u.apply(null,F.concat([C]));else ED[YD].push(D)}if(xF===void 0)xF=setTimeout(f3,0)}});var q0=T((c_,v6)=>{var DZ=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...D)=>console.error("SEMVER",...D):()=>{};v6.exports=DZ});var G0=T((l_,h6)=>{var uZ=Number.MAX_SAFE_INTEGER||9007199254740991,FZ=["major","premajor","minor","preminor","patch","prepatch","prerelease"];h6.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:uZ,RELEASE_TYPES:FZ,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var hu=T((iD,g6)=>{var{MAX_SAFE_COMPONENT_LENGTH:a3,MAX_SAFE_BUILD_LENGTH:EZ,MAX_LENGTH:CZ}=G0(),BZ=q0();iD=g6.exports={};var AZ=iD.re=[],JZ=iD.safeRe=[],S=iD.src=[],ZZ=iD.safeSrc=[],j=iD.t={},$Z=0,s3="[a-zA-Z0-9-]",IZ=[["\\s",1],["\\d",CZ],[s3,EZ]],YZ=(D)=>{for(let[u,F]of IZ)D=D.split(`${u}*`).join(`${u}{0,${F}}`).split(`${u}+`).join(`${u}{1,${F}}`);return D},c=(D,u,F)=>{let E=YZ(u),C=$Z++;BZ(D,C,u),j[D]=C,S[C]=u,ZZ[C]=E,AZ[C]=new RegExp(u,F?"g":void 0),JZ[C]=new RegExp(E,F?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*");c("NUMERICIDENTIFIERLOOSE","\\d+");c("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${s3}*`);c("MAINVERSION",`(${S[j.NUMERICIDENTIFIER]})\\.(${S[j.NUMERICIDENTIFIER]})\\.(${S[j.NUMERICIDENTIFIER]})`);c("MAINVERSIONLOOSE",`(${S[j.NUMERICIDENTIFIERLOOSE]})\\.(${S[j.NUMERICIDENTIFIERLOOSE]})\\.(${S[j.NUMERICIDENTIFIERLOOSE]})`);c("PRERELEASEIDENTIFIER",`(?:${S[j.NONNUMERICIDENTIFIER]}|${S[j.NUMERICIDENTIFIER]})`);c("PRERELEASEIDENTIFIERLOOSE",`(?:${S[j.NONNUMERICIDENTIFIER]}|${S[j.NUMERICIDENTIFIERLOOSE]})`);c("PRERELEASE",`(?:-(${S[j.PRERELEASEIDENTIFIER]}(?:\\.${S[j.PRERELEASEIDENTIFIER]})*))`);c("PRERELEASELOOSE",`(?:-?(${S[j.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${S[j.PRERELEASEIDENTIFIERLOOSE]})*))`);c("BUILDIDENTIFIER",`${s3}+`);c("BUILD",`(?:\\+(${S[j.BUILDIDENTIFIER]}(?:\\.${S[j.BUILDIDENTIFIER]})*))`);c("FULLPLAIN",`v?${S[j.MAINVERSION]}${S[j.PRERELEASE]}?${S[j.BUILD]}?`);c("FULL",`^${S[j.FULLPLAIN]}$`);c("LOOSEPLAIN",`[v=\\s]*${S[j.MAINVERSIONLOOSE]}${S[j.PRERELEASELOOSE]}?${S[j.BUILD]}?`);c("LOOSE",`^${S[j.LOOSEPLAIN]}$`);c("GTLT","((?:<|>)?=?)");c("XRANGEIDENTIFIERLOOSE",`${S[j.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);c("XRANGEIDENTIFIER",`${S[j.NUMERICIDENTIFIER]}|x|X|\\*`);c("XRANGEPLAIN",`[v=\\s]*(${S[j.XRANGEIDENTIFIER]})(?:\\.(${S[j.XRANGEIDENTIFIER]})(?:\\.(${S[j.XRANGEIDENTIFIER]})(?:${S[j.PRERELEASE]})?${S[j.BUILD]}?)?)?`);c("XRANGEPLAINLOOSE",`[v=\\s]*(${S[j.XRANGEIDENTIFIERLOOSE]})(?:\\.(${S[j.XRANGEIDENTIFIERLOOSE]})(?:\\.(${S[j.XRANGEIDENTIFIERLOOSE]})(?:${S[j.PRERELEASELOOSE]})?${S[j.BUILD]}?)?)?`);c("XRANGE",`^${S[j.GTLT]}\\s*${S[j.XRANGEPLAIN]}$`);c("XRANGELOOSE",`^${S[j.GTLT]}\\s*${S[j.XRANGEPLAINLOOSE]}$`);c("COERCEPLAIN",`(^|[^\\d])(\\d{1,${a3}})(?:\\.(\\d{1,${a3}}))?(?:\\.(\\d{1,${a3}}))?`);c("COERCE",`${S[j.COERCEPLAIN]}(?:$|[^\\d])`);c("COERCEFULL",S[j.COERCEPLAIN]+`(?:${S[j.PRERELEASE]})?(?:${S[j.BUILD]})?(?:$|[^\\d])`);c("COERCERTL",S[j.COERCE],!0);c("COERCERTLFULL",S[j.COERCEFULL],!0);c("LONETILDE","(?:~>?)");c("TILDETRIM",`(\\s*)${S[j.LONETILDE]}\\s+`,!0);iD.tildeTrimReplace="$1~";c("TILDE",`^${S[j.LONETILDE]}${S[j.XRANGEPLAIN]}$`);c("TILDELOOSE",`^${S[j.LONETILDE]}${S[j.XRANGEPLAINLOOSE]}$`);c("LONECARET","(?:\\^)");c("CARETTRIM",`(\\s*)${S[j.LONECARET]}\\s+`,!0);iD.caretTrimReplace="$1^";c("CARET",`^${S[j.LONECARET]}${S[j.XRANGEPLAIN]}$`);c("CARETLOOSE",`^${S[j.LONECARET]}${S[j.XRANGEPLAINLOOSE]}$`);c("COMPARATORLOOSE",`^${S[j.GTLT]}\\s*(${S[j.LOOSEPLAIN]})$|^$`);c("COMPARATOR",`^${S[j.GTLT]}\\s*(${S[j.FULLPLAIN]})$|^$`);c("COMPARATORTRIM",`(\\s*)${S[j.GTLT]}\\s*(${S[j.LOOSEPLAIN]}|${S[j.XRANGEPLAIN]})`,!0);iD.comparatorTrimReplace="$1$2$3";c("HYPHENRANGE",`^\\s*(${S[j.XRANGEPLAIN]})\\s+-\\s+(${S[j.XRANGEPLAIN]})\\s*$`);c("HYPHENRANGELOOSE",`^\\s*(${S[j.XRANGEPLAINLOOSE]})\\s+-\\s+(${S[j.XRANGEPLAINLOOSE]})\\s*$`);c("STAR","(<|>)?=?\\s*\\*");c("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");c("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var lF=T((d_,m6)=>{var XZ=Object.freeze({loose:!0}),HZ=Object.freeze({}),LZ=(D)=>{if(!D)return HZ;if(typeof D!=="object")return XZ;return D};m6.exports=LZ});var o3=T((n_,d6)=>{var c6=/^[0-9]+$/,l6=(D,u)=>{if(typeof D==="number"&&typeof u==="number")return D===u?0:D<u?-1:1;let F=c6.test(D),E=c6.test(u);if(F&&E)D=+D,u=+u;return D===u?0:F&&!E?-1:E&&!F?1:D<u?-1:1},qZ=(D,u)=>l6(u,D);d6.exports={compareIdentifiers:l6,rcompareIdentifiers:qZ}});var _D=T((i_,i6)=>{var dF=q0(),{MAX_LENGTH:n6,MAX_SAFE_INTEGER:nF}=G0(),{safeRe:iF,t:pF}=hu(),GZ=lF(),{compareIdentifiers:t3}=o3();class gD{constructor(D,u){if(u=GZ(u),D instanceof gD)if(D.loose===!!u.loose&&D.includePrerelease===!!u.includePrerelease)return D;else D=D.version;else if(typeof D!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof D}".`);if(D.length>n6)throw TypeError(`version is longer than ${n6} characters`);dF("SemVer",D,u),this.options=u,this.loose=!!u.loose,this.includePrerelease=!!u.includePrerelease;let F=D.trim().match(u.loose?iF[pF.LOOSE]:iF[pF.FULL]);if(!F)throw TypeError(`Invalid Version: ${D}`);if(this.raw=D,this.major=+F[1],this.minor=+F[2],this.patch=+F[3],this.major>nF||this.major<0)throw TypeError("Invalid major version");if(this.minor>nF||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>nF||this.patch<0)throw TypeError("Invalid patch version");if(!F[4])this.prerelease=[];else this.prerelease=F[4].split(".").map((E)=>{if(/^[0-9]+$/.test(E)){let C=+E;if(C>=0&&C<nF)return C}return E});this.build=F[5]?F[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(D){if(dF("SemVer.compare",this.version,this.options,D),!(D instanceof gD)){if(typeof D==="string"&&D===this.version)return 0;D=new gD(D,this.options)}if(D.version===this.version)return 0;return this.compareMain(D)||this.comparePre(D)}compareMain(D){if(!(D instanceof gD))D=new gD(D,this.options);if(this.major<D.major)return-1;if(this.major>D.major)return 1;if(this.minor<D.minor)return-1;if(this.minor>D.minor)return 1;if(this.patch<D.patch)return-1;if(this.patch>D.patch)return 1;return 0}comparePre(D){if(!(D instanceof gD))D=new gD(D,this.options);if(this.prerelease.length&&!D.prerelease.length)return-1;else if(!this.prerelease.length&&D.prerelease.length)return 1;else if(!this.prerelease.length&&!D.prerelease.length)return 0;let u=0;do{let F=this.prerelease[u],E=D.prerelease[u];if(dF("prerelease compare",u,F,E),F===void 0&&E===void 0)return 0;else if(E===void 0)return 1;else if(F===void 0)return-1;else if(F===E)continue;else return t3(F,E)}while(++u)}compareBuild(D){if(!(D instanceof gD))D=new gD(D,this.options);let u=0;do{let F=this.build[u],E=D.build[u];if(dF("build compare",u,F,E),F===void 0&&E===void 0)return 0;else if(E===void 0)return 1;else if(F===void 0)return-1;else if(F===E)continue;else return t3(F,E)}while(++u)}inc(D,u,F){if(D.startsWith("pre")){if(!u&&F===!1)throw Error("invalid increment argument: identifier is empty");if(u){let E=`-${u}`.match(this.options.loose?iF[pF.PRERELEASELOOSE]:iF[pF.PRERELEASE]);if(!E||E[1]!==u)throw Error(`invalid identifier: ${u}`)}}switch(D){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",u,F);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",u,F);break;case"prepatch":this.prerelease.length=0,this.inc("patch",u,F),this.inc("pre",u,F);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",u,F);this.inc("pre",u,F);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let E=Number(F)?1:0;if(this.prerelease.length===0)this.prerelease=[E];else{let C=this.prerelease.length;while(--C>=0)if(typeof this.prerelease[C]==="number")this.prerelease[C]++,C=-2;if(C===-1){if(u===this.prerelease.join(".")&&F===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(E)}}if(u){let C=[u,E];if(F===!1)C=[u];if(t3(this.prerelease[0],u)===0){if(isNaN(this.prerelease[1]))this.prerelease=C}else this.prerelease=C}break}default:throw Error(`invalid increment argument: ${D}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}i6.exports=gD});var zu=T((p_,r6)=>{var p6=_D(),_Z=(D,u,F=!1)=>{if(D instanceof p6)return D;try{return new p6(D,u)}catch(E){if(!F)return null;throw E}};r6.exports=_Z});var e3=T((r_,s6)=>{var a6=zu(),QZ=(D,u)=>{let F=a6(D,null,!0),E=a6(u,null,!0),C=F.compare(E);if(C===0)return null;let B=C>0,A=B?F:E,J=B?E:F,I=!!A.prerelease.length;if(!!J.prerelease.length&&!I){if(!J.patch&&!J.minor)return"major";if(J.compareMain(A)===0){if(J.minor&&!J.patch)return"minor";return"patch"}}let Z=I?"pre":"";if(F.major!==E.major)return Z+"major";if(F.minor!==E.minor)return Z+"minor";if(F.patch!==E.patch)return Z+"patch";return"prerelease"};s6.exports=QZ});var xD=T((a_,t6)=>{var o6=_D(),KZ=(D,u,F)=>new o6(D,F).compare(new o6(u,F));t6.exports=KZ});var gu=T((s_,e6)=>{var UZ=xD(),zZ=(D,u,F)=>UZ(D,u,F)>0;e6.exports=zZ});var Z8=T((SZ)=>{SZ.parse=SZ.decode=MZ;SZ.stringify=SZ.encode=U1;SZ.safe=du;SZ.unsafe=D2;var J8=typeof process<"u"&&process.platform==="win32"?`\r
104
104
  `:`
105
105
  `;function U1(D,u){var F=[],E="";if(typeof u==="string")u={section:u,whitespace:!1};else u=u||{},u.whitespace=u.whitespace===!0;var C=u.whitespace?" = ":"=";if(Object.keys(D).forEach(function(B,A,J){var I=D[B];if(I&&Array.isArray(I))I.forEach(function($){E+=du(B+"[]")+C+du($)+`
106
106
  `});else if(I&&typeof I==="object")F.push(B);else E+=du(B)+C+du(I)+J8}),u.section&&E.length)E="["+du(u.section)+"]"+J8+E;return F.forEach(function(B,A,J){var I=z1(B).join("\\."),$=(u.section?u.section+".":"")+I,Z=U1(D[B],{section:$,whitespace:u.whitespace});if(E.length&&Z.length)E+=J8;E+=Z}),E}function z1(D){return D.replace(/\1/g,"\x02LITERAL\\1LITERAL\x02").replace(/\\\./g,"\x01").split(/\./).map(function(u){return u.replace(/\1/g,"\\.").replace(/\2LITERAL\\1LITERAL\2/g,"\x01")})}function MZ(D){var u={},F=u,E=null,C=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i,B=D.split(/[\r\n]+/g);return B.forEach(function(A,J,I){if(!A||A.match(/^\s*[;#]/))return;var $=A.match(C);if(!$)return;if($[1]!==void 0){if(E=D2($[1]),E==="__proto__"){F={};return}F=u[E]=u[E]||{};return}var Z=D2($[2]);if(Z==="__proto__")return;var X=$[3]?D2($[4]):!0;switch(X){case"true":case"false":case"null":X=JSON.parse(X)}if(Z.length>2&&Z.slice(-2)==="[]"){if(Z=Z.substring(0,Z.length-2),Z==="__proto__")return;if(!F[Z])F[Z]=[];else if(!Array.isArray(F[Z]))F[Z]=[F[Z]]}if(Array.isArray(F[Z]))F[Z].push(X);else F[Z]=X}),Object.keys(u).filter(function(A,J,I){if(!u[A]||typeof u[A]!=="object"||Array.isArray(u[A]))return!1;var $=z1(A),Z=u,X=$.pop(),H=X.replace(/\\\./g,".");if($.forEach(function(Y,L,q){if(Y==="__proto__")return;if(!Z[Y]||typeof Z[Y]!=="object")Z[Y]={};Z=Z[Y]}),Z===u&&H===X)return!1;return Z[H]=u[A],!0}).forEach(function(A,J,I){delete u[A]}),u}function O1(D){return D.charAt(0)==='"'&&D.slice(-1)==='"'||D.charAt(0)==="'"&&D.slice(-1)==="'"}function du(D){return typeof D!=="string"||D.match(/[=\r\n]/)||D.match(/^\[/)||D.length>1&&O1(D)||D!==D.trim()?JSON.stringify(D):D.replace(/;/g,"\\;").replace(/#/g,"\\#")}function D2(D,u){if(D=(D||"").trim(),O1(D)){if(D.charAt(0)==="'")D=D.substr(1,D.length-2);try{D=JSON.parse(D)}catch(J){}}else{var F=!1,E="";for(var C=0,B=D.length;C<B;C++){var A=D.charAt(C);if(F){if("\\;#".indexOf(A)!==-1)E+=A;else E+="\\"+A;F=!1}else if(";#".indexOf(A)!==-1)break;else if(A==="\\")F=!0;else E+=A}if(F)E+="\\";return E.trim()}return D}});var T1=T((vQ,W1)=>{var $8=1,R1=2;function fZ(){return""}function bZ(D,u,F){return D.slice(u,F).replace(/\S/g," ")}W1.exports=function(D,u){u=u||{};var F,E,C=!1,B=!1,A=0,J="",I=u.whitespace===!1?fZ:bZ;for(var $=0;$<D.length;$++){if(F=D[$],E=D[$+1],!B&&F==='"'){var Z=D[$-1]==="\\"&&D[$-2]!=="\\";if(!Z)C=!C}if(C)continue;if(!B&&F+E==="//")J+=D.slice(A,$),A=$,B=$8,$++;else if(B===$8&&F+E===`\r
@@ -131,14 +131,14 @@ GFS4: `),console.error(D)};if(!ED[YD]){if(x3=global[YD]||[],u6(ED,x3),ED.close=f
131
131
  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
132
132
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
133
133
  */function M1(D){return D instanceof Buffer||D instanceof Date||D instanceof RegExp?!0:!1}function S1(D){if(D instanceof Buffer){var u=Buffer.alloc?Buffer.alloc(D.length):new Buffer(D.length);return D.copy(u),u}else if(D instanceof Date)return new Date(D.getTime());else if(D instanceof RegExp)return new RegExp(D);else throw Error("Unexpected situation")}function j1(D){var u=[];return D.forEach(function(F,E){if(typeof F==="object"&&F!==null)if(Array.isArray(F))u[E]=j1(F);else if(M1(F))u[E]=S1(F);else u[E]=I8({},F);else u[E]=F}),u}function w1(D,u){return u==="__proto__"?void 0:D[u]}var I8=P1.exports=function(){if(arguments.length<1||typeof arguments[0]!=="object")return!1;if(arguments.length<2)return arguments[0];var D=arguments[0],u=Array.prototype.slice.call(arguments,1),F,E,C;return u.forEach(function(B){if(typeof B!=="object"||B===null||Array.isArray(B))return;Object.keys(B).forEach(function(A){if(E=w1(D,A),F=w1(B,A),F===D)return;else if(typeof F!=="object"||F===null){D[A]=F;return}else if(Array.isArray(F)){D[A]=j1(F);return}else if(M1(F)){D[A]=S1(F);return}else if(typeof E!=="object"||E===null||Array.isArray(E)){D[A]=I8({},F);return}else{D[A]=I8(E,F);return}})}),D}});var k1=T((aQ,b1)=>{function cZ(D,u){var F=D;u.slice(0,-1).forEach(function(C){F=F[C]||{}});var E=u[u.length-1];return E in F}function y1(D){if(typeof D==="number")return!0;if(/^0x[0-9a-f]+$/i.test(D))return!0;return/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(D)}function f1(D,u){return u==="constructor"&&typeof D[u]==="function"||u==="__proto__"}b1.exports=function(D,u){if(!u)u={};var F={bools:{},strings:{},unknownFn:null};if(typeof u.unknown==="function")F.unknownFn=u.unknown;if(typeof u.boolean==="boolean"&&u.boolean)F.allBools=!0;else[].concat(u.boolean).filter(Boolean).forEach(function(R){F.bools[R]=!0});var E={};function C(R){return E[R].some(function(P){return F.bools[P]})}Object.keys(u.alias||{}).forEach(function(R){E[R]=[].concat(u.alias[R]),E[R].forEach(function(P){E[P]=[R].concat(E[R].filter(function(f){return P!==f}))})}),[].concat(u.string).filter(Boolean).forEach(function(R){if(F.strings[R]=!0,E[R])[].concat(E[R]).forEach(function(P){F.strings[P]=!0})});var B=u.default||{},A={_:[]};function J(R,P){return F.allBools&&/^--[^=]+$/.test(P)||F.strings[R]||F.bools[R]||E[R]}function I(R,P,f){var W=R;for(var M=0;M<P.length-1;M++){var U=P[M];if(f1(W,U))return;if(W[U]===void 0)W[U]={};if(W[U]===Object.prototype||W[U]===Number.prototype||W[U]===String.prototype)W[U]={};if(W[U]===Array.prototype)W[U]=[];W=W[U]}var V=P[P.length-1];if(f1(W,V))return;if(W===Object.prototype||W===Number.prototype||W===String.prototype)W={};if(W===Array.prototype)W=[];if(W[V]===void 0||F.bools[V]||typeof W[V]==="boolean")W[V]=f;else if(Array.isArray(W[V]))W[V].push(f);else W[V]=[W[V],f]}function $(R,P,f){if(f&&F.unknownFn&&!J(R,f)){if(F.unknownFn(f)===!1)return}var W=!F.strings[R]&&y1(P)?Number(P):P;I(A,R.split("."),W),(E[R]||[]).forEach(function(M){I(A,M.split("."),W)})}Object.keys(F.bools).forEach(function(R){$(R,B[R]===void 0?!1:B[R])});var Z=[];if(D.indexOf("--")!==-1)Z=D.slice(D.indexOf("--")+1),D=D.slice(0,D.indexOf("--"));for(var X=0;X<D.length;X++){var H=D[X],Y,L;if(/^--.+=/.test(H)){var q=H.match(/^--([^=]+)=([\s\S]*)$/);Y=q[1];var G=q[2];if(F.bools[Y])G=G!=="false";$(Y,G,H)}else if(/^--no-.+/.test(H))Y=H.match(/^--no-(.+)/)[1],$(Y,!1,H);else if(/^--.+/.test(H))if(Y=H.match(/^--(.+)/)[1],L=D[X+1],L!==void 0&&!/^(-|--)[^-]/.test(L)&&!F.bools[Y]&&!F.allBools&&(E[Y]?!C(Y):!0))$(Y,L,H),X+=1;else if(/^(true|false)$/.test(L))$(Y,L==="true",H),X+=1;else $(Y,F.strings[Y]?"":!0,H);else if(/^-[^-]+/.test(H)){var _=H.slice(1,-1).split(""),O=!1;for(var z=0;z<_.length;z++){if(L=H.slice(z+2),L==="-"){$(_[z],L,H);continue}if(/[A-Za-z]/.test(_[z])&&L[0]==="="){$(_[z],L.slice(1),H),O=!0;break}if(/[A-Za-z]/.test(_[z])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(L)){$(_[z],L,H),O=!0;break}if(_[z+1]&&_[z+1].match(/\W/)){$(_[z],H.slice(z+2),H),O=!0;break}else $(_[z],F.strings[_[z]]?"":!0,H)}if(Y=H.slice(-1)[0],!O&&Y!=="-")if(D[X+1]&&!/^(-|--)[^-]/.test(D[X+1])&&!F.bools[Y]&&(E[Y]?!C(Y):!0))$(Y,D[X+1],H),X+=1;else if(D[X+1]&&/^(true|false)$/.test(D[X+1]))$(Y,D[X+1]==="true",H),X+=1;else $(Y,F.strings[Y]?"":!0,H)}else{if(!F.unknownFn||F.unknownFn(H)!==!1)A._.push(F.strings._||!y1(H)?H:Number(H));if(u.stopEarly){A._.push.apply(A._,D.slice(X+1));break}}}if(Object.keys(B).forEach(function(R){if(!cZ(A,R.split(".")))I(A,R.split("."),B[R]),(E[R]||[]).forEach(function(P){I(A,P.split("."),B[R])})}),u["--"])A["--"]=Z.slice();else Z.forEach(function(R){A._.push(R)});return A}});var m1=T((sQ,g1)=>{var z0=N1(),nu=n("path").join,lZ=x1(),v1="/etc",h1=process.platform==="win32",O0=h1?process.env.USERPROFILE:process.env.HOME;g1.exports=function(D,u,F,E){if(typeof D!=="string")throw Error("rc(name): name *must* be string");if(!F)F=k1()(process.argv.slice(2));u=(typeof u==="string"?z0.json(u):u)||{},E=E||z0.parse;var C=z0.env(D+"_"),B=[u],A=[];function J(I){if(A.indexOf(I)>=0)return;var $=z0.file(I);if($)B.push(E($)),A.push(I)}if(!h1)[nu(v1,D,"config"),nu(v1,D+"rc")].forEach(J);if(O0)[nu(O0,".config",D,"config"),nu(O0,".config",D),nu(O0,"."+D,"config"),nu(O0,"."+D+"rc")].forEach(J);if(J(z0.find("."+D+"rc")),C.config)J(C.config);if(F.config)J(F.config);return lZ.apply(null,B.concat([C,F,A.length?{configs:A,config:A[A.length-1]}:void 0]))}});var d1=T((tQ,l1)=>{var Yu=n("constants"),dZ=process.cwd,u2=null,nZ=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!u2)u2=dZ.call(process);return u2};try{process.cwd()}catch(D){}if(typeof process.chdir==="function"){if(F2=process.chdir,process.chdir=function(D){u2=null,F2.call(process,D)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,F2)}var F2;l1.exports=iZ;function iZ(D){if(Yu.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))u(D);if(!D.lutimes)F(D);if(D.chown=B(D.chown),D.fchown=B(D.fchown),D.lchown=B(D.lchown),D.chmod=E(D.chmod),D.fchmod=E(D.fchmod),D.lchmod=E(D.lchmod),D.chownSync=A(D.chownSync),D.fchownSync=A(D.fchownSync),D.lchownSync=A(D.lchownSync),D.chmodSync=C(D.chmodSync),D.fchmodSync=C(D.fchmodSync),D.lchmodSync=C(D.lchmodSync),D.stat=J(D.stat),D.fstat=J(D.fstat),D.lstat=J(D.lstat),D.statSync=I(D.statSync),D.fstatSync=I(D.fstatSync),D.lstatSync=I(D.lstatSync),D.chmod&&!D.lchmod)D.lchmod=function(Z,X,H){if(H)process.nextTick(H)},D.lchmodSync=function(){};if(D.chown&&!D.lchown)D.lchown=function(Z,X,H,Y){if(Y)process.nextTick(Y)},D.lchownSync=function(){};if(nZ==="win32")D.rename=typeof D.rename!=="function"?D.rename:function(Z){function X(H,Y,L){var q=Date.now(),G=0;Z(H,Y,function _(O){if(O&&(O.code==="EACCES"||O.code==="EPERM")&&Date.now()-q<60000){if(setTimeout(function(){D.stat(Y,function(z,R){if(z&&z.code==="ENOENT")Z(H,Y,_);else L(O)})},G),G<100)G+=10;return}if(L)L(O)})}if(Object.setPrototypeOf)Object.setPrototypeOf(X,Z);return X}(D.rename);D.read=typeof D.read!=="function"?D.read:function(Z){function X(H,Y,L,q,G,_){var O;if(_&&typeof _==="function"){var z=0;O=function(R,P,f){if(R&&R.code==="EAGAIN"&&z<10)return z++,Z.call(D,H,Y,L,q,G,O);_.apply(this,arguments)}}return Z.call(D,H,Y,L,q,G,O)}if(Object.setPrototypeOf)Object.setPrototypeOf(X,Z);return X}(D.read),D.readSync=typeof D.readSync!=="function"?D.readSync:function(Z){return function(X,H,Y,L,q){var G=0;while(!0)try{return Z.call(D,X,H,Y,L,q)}catch(_){if(_.code==="EAGAIN"&&G<10){G++;continue}throw _}}}(D.readSync);function u(Z){Z.lchmod=function(X,H,Y){Z.open(X,Yu.O_WRONLY|Yu.O_SYMLINK,H,function(L,q){if(L){if(Y)Y(L);return}Z.fchmod(q,H,function(G){Z.close(q,function(_){if(Y)Y(G||_)})})})},Z.lchmodSync=function(X,H){var Y=Z.openSync(X,Yu.O_WRONLY|Yu.O_SYMLINK,H),L=!0,q;try{q=Z.fchmodSync(Y,H),L=!1}finally{if(L)try{Z.closeSync(Y)}catch(G){}else Z.closeSync(Y)}return q}}function F(Z){if(Yu.hasOwnProperty("O_SYMLINK")&&Z.futimes)Z.lutimes=function(X,H,Y,L){Z.open(X,Yu.O_SYMLINK,function(q,G){if(q){if(L)L(q);return}Z.futimes(G,H,Y,function(_){Z.close(G,function(O){if(L)L(_||O)})})})},Z.lutimesSync=function(X,H,Y){var L=Z.openSync(X,Yu.O_SYMLINK),q,G=!0;try{q=Z.futimesSync(L,H,Y),G=!1}finally{if(G)try{Z.closeSync(L)}catch(_){}else Z.closeSync(L)}return q};else if(Z.futimes)Z.lutimes=function(X,H,Y,L){if(L)process.nextTick(L)},Z.lutimesSync=function(){}}function E(Z){if(!Z)return Z;return function(X,H,Y){return Z.call(D,X,H,function(L){if($(L))L=null;if(Y)Y.apply(this,arguments)})}}function C(Z){if(!Z)return Z;return function(X,H){try{return Z.call(D,X,H)}catch(Y){if(!$(Y))throw Y}}}function B(Z){if(!Z)return Z;return function(X,H,Y,L){return Z.call(D,X,H,Y,function(q){if($(q))q=null;if(L)L.apply(this,arguments)})}}function A(Z){if(!Z)return Z;return function(X,H,Y){try{return Z.call(D,X,H,Y)}catch(L){if(!$(L))throw L}}}function J(Z){if(!Z)return Z;return function(X,H,Y){if(typeof H==="function")Y=H,H=null;function L(q,G){if(G){if(G.uid<0)G.uid+=4294967296;if(G.gid<0)G.gid+=4294967296}if(Y)Y.apply(this,arguments)}return H?Z.call(D,X,H,L):Z.call(D,X,L)}}function I(Z){if(!Z)return Z;return function(X,H){var Y=H?Z.call(D,X,H):Z.call(D,X);if(Y){if(Y.uid<0)Y.uid+=4294967296;if(Y.gid<0)Y.gid+=4294967296}return Y}}function $(Z){if(!Z)return!0;if(Z.code==="ENOSYS")return!0;var X=!process.getuid||process.getuid()!==0;if(X){if(Z.code==="EINVAL"||Z.code==="EPERM")return!0}return!1}}});var p1=T((eQ,i1)=>{var n1=n("stream").Stream;i1.exports=pZ;function pZ(D){return{ReadStream:u,WriteStream:F};function u(E,C){if(!(this instanceof u))return new u(E,C);n1.call(this);var B=this;this.path=E,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,C=C||{};var A=Object.keys(C);for(var J=0,I=A.length;J<I;J++){var $=A[J];this[$]=C[$]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!=="number")throw TypeError("end must be a Number");if(this.start>this.end)throw Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){B._read()});return}D.open(this.path,this.flags,this.mode,function(Z,X){if(Z){B.emit("error",Z),B.readable=!1;return}B.fd=X,B.emit("open",X),B._read()})}function F(E,C){if(!(this instanceof F))return new F(E,C);n1.call(this),this.path=E,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,C=C||{};var B=Object.keys(C);for(var A=0,J=B.length;A<J;A++){var I=B[A];this[I]=C[I]}if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.start<0)throw Error("start must be >= zero");this.pos=this.start}if(this.busy=!1,this._queue=[],this.fd===null)this._open=D.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}});var a1=T((DK,r1)=>{r1.exports=aZ;var rZ=Object.getPrototypeOf||function(D){return D.__proto__};function aZ(D){if(D===null||typeof D!=="object")return D;if(D instanceof Object)var u={__proto__:rZ(D)};else var u=Object.create(null);return Object.getOwnPropertyNames(D).forEach(function(F){Object.defineProperty(u,F,Object.getOwnPropertyDescriptor(D,F))}),u}});var t1=T((uK,q8)=>{var CD=n("fs"),sZ=d1(),oZ=p1(),tZ=a1(),E2=n("util"),HD,B2;if(typeof Symbol==="function"&&typeof Symbol.for==="function")HD=Symbol.for("graceful-fs.queue"),B2=Symbol.for("graceful-fs.previous");else HD="___graceful-fs.queue",B2="___graceful-fs.previous";function eZ(){}function o1(D,u){Object.defineProperty(D,HD,{get:function(){return u}})}var Ou=eZ;if(E2.debuglog)Ou=E2.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))Ou=function(){var D=E2.format.apply(E2,arguments);D="GFS4: "+D.split(/\n/).join(`
134
- GFS4: `),console.error(D)};if(!CD[HD]){if(X8=global[HD]||[],o1(CD,X8),CD.close=function(D){function u(F,E){return D.call(CD,F,function(C){if(!C)s1();if(typeof E==="function")E.apply(this,arguments)})}return Object.defineProperty(u,B2,{value:D}),u}(CD.close),CD.closeSync=function(D){function u(F){D.apply(CD,arguments),s1()}return Object.defineProperty(u,B2,{value:D}),u}(CD.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){Ou(CD[HD]),n("assert").equal(CD[HD].length,0)})}var X8;if(!global[HD])o1(global,CD[HD]);q8.exports=H8(tZ(CD));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!CD.__patched)q8.exports=H8(CD),CD.__patched=!0;function H8(D){sZ(D),D.gracefulify=H8,D.createReadStream=P,D.createWriteStream=f;var u=D.readFile;D.readFile=F;function F(U,V,N){if(typeof V==="function")N=V,V=null;return m(U,V,N);function m(w,v,x,b){return u(w,v,function(y){if(y&&(y.code==="EMFILE"||y.code==="ENFILE"))iu([m,[w,v,x],y,b||Date.now(),Date.now()]);else if(typeof x==="function")x.apply(this,arguments)})}}var E=D.writeFile;D.writeFile=C;function C(U,V,N,m){if(typeof N==="function")m=N,N=null;return w(U,V,N,m);function w(v,x,b,y,d){return E(v,x,b,function(g){if(g&&(g.code==="EMFILE"||g.code==="ENFILE"))iu([w,[v,x,b,y],g,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}var B=D.appendFile;if(B)D.appendFile=A;function A(U,V,N,m){if(typeof N==="function")m=N,N=null;return w(U,V,N,m);function w(v,x,b,y,d){return B(v,x,b,function(g){if(g&&(g.code==="EMFILE"||g.code==="ENFILE"))iu([w,[v,x,b,y],g,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}var J=D.copyFile;if(J)D.copyFile=I;function I(U,V,N,m){if(typeof N==="function")m=N,N=0;return w(U,V,N,m);function w(v,x,b,y,d){return J(v,x,b,function(g){if(g&&(g.code==="EMFILE"||g.code==="ENFILE"))iu([w,[v,x,b,y],g,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}var $=D.readdir;D.readdir=X;var Z=/^v[0-5]\./;function X(U,V,N){if(typeof V==="function")N=V,V=null;var m=Z.test(process.version)?function(x,b,y,d){return $(x,w(x,b,y,d))}:function(x,b,y,d){return $(x,b,w(x,b,y,d))};return m(U,V,N);function w(v,x,b,y){return function(d,g){if(d&&(d.code==="EMFILE"||d.code==="ENFILE"))iu([m,[v,x,b],d,y||Date.now(),Date.now()]);else{if(g&&g.sort)g.sort();if(typeof b==="function")b.call(this,d,g)}}}}if(process.version.substr(0,4)==="v0.8"){var H=oZ(D);_=H.ReadStream,z=H.WriteStream}var Y=D.ReadStream;if(Y)_.prototype=Object.create(Y.prototype),_.prototype.open=O;var L=D.WriteStream;if(L)z.prototype=Object.create(L.prototype),z.prototype.open=R;Object.defineProperty(D,"ReadStream",{get:function(){return _},set:function(U){_=U},enumerable:!0,configurable:!0}),Object.defineProperty(D,"WriteStream",{get:function(){return z},set:function(U){z=U},enumerable:!0,configurable:!0});var q=_;Object.defineProperty(D,"FileReadStream",{get:function(){return q},set:function(U){q=U},enumerable:!0,configurable:!0});var G=z;Object.defineProperty(D,"FileWriteStream",{get:function(){return G},set:function(U){G=U},enumerable:!0,configurable:!0});function _(U,V){if(this instanceof _)return Y.apply(this,arguments),this;else return _.apply(Object.create(_.prototype),arguments)}function O(){var U=this;M(U.path,U.flags,U.mode,function(V,N){if(V){if(U.autoClose)U.destroy();U.emit("error",V)}else U.fd=N,U.emit("open",N),U.read()})}function z(U,V){if(this instanceof z)return L.apply(this,arguments),this;else return z.apply(Object.create(z.prototype),arguments)}function R(){var U=this;M(U.path,U.flags,U.mode,function(V,N){if(V)U.destroy(),U.emit("error",V);else U.fd=N,U.emit("open",N)})}function P(U,V){return new D.ReadStream(U,V)}function f(U,V){return new D.WriteStream(U,V)}var W=D.open;D.open=M;function M(U,V,N,m){if(typeof N==="function")m=N,N=null;return w(U,V,N,m);function w(v,x,b,y,d){return W(v,x,b,function(g,Q4){if(g&&(g.code==="EMFILE"||g.code==="ENFILE"))iu([w,[v,x,b,y],g,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}return D}function iu(D){Ou("ENQUEUE",D[0].name,D[1]),CD[HD].push(D),L8()}var C2;function s1(){var D=Date.now();for(var u=0;u<CD[HD].length;++u)if(CD[HD][u].length>2)CD[HD][u][3]=D,CD[HD][u][4]=D;L8()}function L8(){if(clearTimeout(C2),C2=void 0,CD[HD].length===0)return;var D=CD[HD].shift(),u=D[0],F=D[1],E=D[2],C=D[3],B=D[4];if(C===void 0)Ou("RETRY",u.name,F),u.apply(null,F);else if(Date.now()-C>=60000){Ou("TIMEOUT",u.name,F);var A=F.pop();if(typeof A==="function")A.call(null,E)}else{var J=Date.now()-B,I=Math.max(B-C,1),$=Math.min(I*1.2,100);if(J>=$)Ou("RETRY",u.name,F),u.apply(null,F.concat([C]));else CD[HD].push(D)}if(C2===void 0)C2=setTimeout(L8,0)}});var e1=T((pu)=>{var D$=pu&&pu.__importDefault||function(D){return D&&D.__esModule?D:{default:D}};Object.defineProperty(pu,"__esModule",{value:!0});pu.readCAFileSync=void 0;var u$=D$(t1());function F$(D){try{let u=u$.default.readFileSync(D,"utf8"),F="-----END CERTIFICATE-----";return u.split("-----END CERTIFICATE-----").filter((C)=>Boolean(C.trim())).map((C)=>`${C.trimLeft()}-----END CERTIFICATE-----`)}catch(u){if(u.code==="ENOENT")return;throw u}}pu.readCAFileSync=F$});var D7=T((Ru)=>{var E$=Ru&&Ru.__createBinding||(Object.create?function(D,u,F,E){if(E===void 0)E=F;var C=Object.getOwnPropertyDescriptor(u,F);if(!C||("get"in C?!u.__esModule:C.writable||C.configurable))C={enumerable:!0,get:function(){return u[F]}};Object.defineProperty(D,E,C)}:function(D,u,F,E){if(E===void 0)E=F;D[E]=u[F]}),C$=Ru&&Ru.__exportStar||function(D,u){for(var F in D)if(F!=="default"&&!Object.prototype.hasOwnProperty.call(u,F))E$(u,D,F)};Object.defineProperty(Ru,"__esModule",{value:!0});C$(e1(),Ru)});var E7=T((CK,F7)=>{F7.exports=u7;function Wu(D,u){if(typeof Object.setPrototypeOf==="function")return Object.setPrototypeOf(D,u);else D.__proto__=u}function u7(){this.list=[];var D=null;Object.defineProperty(this,"root",{get:function(){return D},set:function(u){if(D=u,this.list.length)Wu(this.list[this.list.length-1],u)},enumerable:!0,configurable:!0})}u7.prototype={get length(){return this.list.length},get keys(){var D=[];for(var u in this.list[0])D.push(u);return D},get snapshot(){var D={};return this.keys.forEach(function(u){D[u]=this.get(u)},this),D},get store(){return this.list[0]},push:function(D){if(typeof D!=="object")D={valueOf:D};if(this.list.length>=1)Wu(this.list[this.list.length-1],D);return Wu(D,this.root),this.list.push(D)},pop:function(){if(this.list.length>=2)Wu(this.list[this.list.length-2],this.root);return this.list.pop()},unshift:function(D){return Wu(D,this.list[0]||this.root),this.list.unshift(D)},shift:function(){if(this.list.length===1)Wu(this.list[0],this.root);return this.list.shift()},get:function(D){return this.list[0][D]},set:function(D,u,F){if(!this.length)this.push({});if(F&&this.list[0].hasOwnProperty(D))this.push({});return this.list[0][D]=u},forEach:function(D,u){for(var F in this.list[0])D.call(u,F,this.list[0][F])},slice:function(){return this.list.slice.apply(this.list,arguments)},splice:function(){var D=this.list.splice.apply(this.list,arguments);for(var u=0,F=this.list.length;u<F;u++)Wu(this.list[u],this.list[u+1]||this.root);return D}}});var J7=T((eD,A7)=>{var __dirname="/Users/abinovalfauzi/Documents/projects/oss/give-skill/node_modules/.bun/config-chain@1.1.13/node_modules/config-chain",C7=E7(),R0=n("path"),A2=n("fs"),G8=Z8(),_8=n("events").EventEmitter,B$=n("url"),A$=n("http"),eD=A7.exports=function(){var D=[].slice.call(arguments),u=new QD;while(D.length){var F=D.shift();if(F)u.push(typeof F==="string"?Z$(F):F)}return u},BK=eD.find=function(){var D=R0.join.apply(null,[].slice.call(arguments));function u(F,E){var C=R0.join(F,E);try{return A2.statSync(C),C}catch(B){if(R0.dirname(F)!==F)return u(R0.dirname(F),E)}}return u(__dirname,D)},J$=eD.parse=function(D,u,F){if(D=""+D,!F)try{return JSON.parse(D)}catch(E){return G8.parse(D)}else if(F==="json")if(this.emit)try{return JSON.parse(D)}catch(E){this.emit("error",E)}else return JSON.parse(D);else return G8.parse(D)},Z$=eD.json=function(){var D=[].slice.call(arguments).filter(function(E){return E!=null}),u=R0.join.apply(null,D),F;try{F=A2.readFileSync(u,"utf-8")}catch(E){return}return J$(F,u,"json")},AK=eD.env=function(D,u){u=u||process.env;var F={},E=D.length;for(var C in u)if(C.indexOf(D)===0)F[C.substring(E)]=u[C];return F};eD.ConfigChain=QD;function QD(){_8.apply(this),C7.apply(this,arguments),this._awaiting=0,this._saving=0,this.sources={}}var B7={constructor:{value:QD}};Object.keys(_8.prototype).forEach(function(D){B7[D]=Object.getOwnPropertyDescriptor(_8.prototype,D)});QD.prototype=Object.create(C7.prototype,B7);QD.prototype.del=function(D,u){if(u){var F=this.sources[u];if(F=F&&F.data,!F)return this.emit("error",Error("not found "+u));delete F[D]}else for(var E=0,C=this.list.length;E<C;E++)delete this.list[E][D];return this};QD.prototype.set=function(D,u,F){var E;if(F){if(E=this.sources[F],E=E&&E.data,!E)return this.emit("error",Error("not found "+F))}else if(E=this.list[0],!E)return this.emit("error",Error("cannot set, no confs!"));return E[D]=u,this};QD.prototype.get=function(D,u){if(u){if(u=this.sources[u],u)u=u.data;if(u&&Object.hasOwnProperty.call(u,D))return u[D];return}return this.list[0][D]};QD.prototype.save=function(D,B,F){if(typeof B==="function")F=B,B=null;var E=this.sources[D];if(!E||!(E.path||E.source)||!E.data)return this.emit("error",Error("bad save target: "+D));if(E.source){var C=E.prefix||"";return Object.keys(E.data).forEach(function(J){E.source[C+J]=E.data[J]}),this}var B=B||E.type,A=E.data;if(E.type==="json")A=JSON.stringify(A);else A=G8.stringify(A);return this._saving++,A2.writeFile(E.path,A,"utf8",function(J){if(this._saving--,J)if(F)return F(J);else return this.emit("error",J);if(this._saving===0){if(F)F();this.emit("save")}}.bind(this)),this};QD.prototype.addFile=function(D,u,F){F=F||D;var E={__source__:F};return this.sources[F]={path:D,type:u},this.push(E),this._await(),A2.readFile(D,"utf8",function(C,B){if(C)this.emit("error",C);this.addString(B,D,u,E)}.bind(this)),this};QD.prototype.addEnv=function(D,u,F){F=F||"env";var E=eD.env(D,u);return this.sources[F]={data:E,source:u,prefix:D},this.add(E,F)};QD.prototype.addUrl=function(D,u,F){this._await();var E=B$.format(D);F=F||E;var C={__source__:F};return this.sources[F]={href:E,type:u},this.push(C),A$.request(D,function(B){var A=[],J=B.headers["content-type"];if(!u)u=J.indexOf("json")!==-1?"json":J.indexOf("ini")!==-1?"ini":E.match(/\.json$/)?"json":E.match(/\.ini$/)?"ini":null,C.type=u;B.on("data",A.push.bind(A)).on("end",function(){this.addString(Buffer.concat(A),E,u,C)}.bind(this)).on("error",this.emit.bind(this,"error"))}.bind(this)).on("error",this.emit.bind(this,"error")).end(),this};QD.prototype.addString=function(D,u,F,E){return D=this.parse(D,u,F),this.add(D,E),this};QD.prototype.add=function(D,u){if(u&&typeof u==="object"){var F=this.list.indexOf(u);if(F===-1)return this.emit("error",Error("bad marker"));this.splice(F,1,D),u=u.__source__,this.sources[u]=this.sources[u]||{},this.sources[u].data=D,this._resolve()}else{if(typeof u==="string")this.sources[u]=this.sources[u]||{},this.sources[u].data=D;this._await(),this.push(D),process.nextTick(this._resolve.bind(this))}return this};QD.prototype.parse=eD.parse;QD.prototype._await=function(){this._awaiting++};QD.prototype._resolve=function(){if(this._awaiting--,this._awaiting===0)this.emit("load",this)}});var I7=T((JK,$7)=>{$7.exports=function(D){let u=D.indexOf(":");if(u===-1)return Z7(D);let F=D.substr(0,u),E=D.substr(u+1);return`${F}:${Z7(E)}`};function Z7(D){if(D=D.toLowerCase(),D==="_authtoken")return"_authToken";let u=D[0];for(let F=1;F<D.length;F++)u+=D[F]==="_"?"-":D[F];return u}});var H7=T((Y7)=>{Object.defineProperty(Y7,"__esModule",{value:!0});Y7.envReplace=void 0;var $$=/(?<!\\)(\\*)\$\{([^${}]+)\}/g;function I$(D,u){return D.replace($$,Y$.bind(null,u))}Y7.envReplace=I$;function Y$(D,u,F,E){if(F.length%2)return u.slice((F.length+1)/2);let C=H$(D,E);if(C===void 0)throw Error(`Failed to replace env in config: ${u}`);return`${F.slice(F.length/2)}${C}`}var X$=/([^:-]+)(:?)-(.+)/;function H$(D,u){let F=u.match(X$);if(!F)return D[u];let[,E,C,B]=F;if(Object.prototype.hasOwnProperty.call(D,E))return!D[E]&&C?B:D[E];return B}});var L7=T((Q8)=>{Object.defineProperty(Q8,"__esModule",{value:!0});Q8.envReplace=void 0;var L$=H7();Object.defineProperty(Q8,"envReplace",{enumerable:!0,get:function(){return L$.envReplace}})});var q7=T((U$)=>{var G$=n("fs"),Tu=n("path"),{envReplace:K8}=L7(),_$=(D)=>{if(typeof D!=="string")return D;return K8(D,process.env)},Q$=(D,u,F)=>{if(typeof u!=="string")return u;let E=[].concat(D[F]),C=E.indexOf(Tu)!==-1,B=E.indexOf(Boolean)!==-1,A=E.indexOf(String)!==-1,J=E.indexOf(Number)!==-1;if(u=`${u}`.trim(),/^".*"$/.test(u))try{u=JSON.parse(u)}catch($){throw Error(`Failed parsing JSON config key ${F}: ${u}`)}if(B&&!A&&u==="")return!0;switch(u){case"true":return!0;case"false":return!1;case"null":return null;case"undefined":return}let I=K8(u,process.env);if((F.endsWith(":tokenHelper")||F==="tokenHelper")&&I!==u)throw Error(`It is not allowed to use environment variables in the value of the ${F} setting.`);else u=I;if(C){if((process.platform==="win32"?/^~(\/|\\)/:/^~\//).test(u)&&process.env.HOME)u=Tu.resolve(process.env.HOME,u.substr(2));u=Tu.resolve(u)}if(J&&!isNaN(u))u=Number(u);return u},K$=(D)=>{D=Tu.resolve(D);let u=!1;while(Tu.basename(D)==="node_modules")D=Tu.dirname(D),u=!0;if(u)return D;let F=(E,C)=>{let B=/^[a-zA-Z]:(\\|\/)?$/;if(E==="/"||process.platform==="win32"&&B.test(E))return C;try{let A=G$.readdirSync(E);if(A.includes("node_modules")||A.includes("package.json")||A.includes("package.json5")||A.includes("package.yaml")||A.includes("pnpm-workspace.yaml"))return E;let J=Tu.dirname(E);if(J===E)return C;return F(J,C)}catch(A){if(E===C){if(A.code==="ENOENT")return C;throw A}return C}};return F(D,D)};U$.envReplace=K8;U$.findPrefix=K$;U$.parseField=Q$;U$.parseKey=_$});var _7=T((w$)=>{var Vu=n("path"),T$=n("stream").Stream,J2=n("url"),V$=()=>{},N$=()=>[],G7=()=>{};w$.types={access:[null,"restricted","public"],"allow-same-version":Boolean,"always-auth":Boolean,also:[null,"dev","development"],audit:Boolean,"auth-type":["legacy","sso","saml","oauth"],"bin-links":Boolean,browser:[null,String],ca:[null,String,Array],cafile:Vu,cache:Vu,"cache-lock-stale":Number,"cache-lock-retries":Number,"cache-lock-wait":Number,"cache-max":Number,"cache-min":Number,cert:[null,String],cidr:[null,String,Array],color:["always",Boolean],depth:Number,description:Boolean,dev:Boolean,"dry-run":Boolean,editor:String,"engine-strict":Boolean,force:Boolean,"fetch-retries":Number,"fetch-retry-factor":Number,"fetch-retry-mintimeout":Number,"fetch-retry-maxtimeout":Number,git:String,"git-tag-version":Boolean,"commit-hooks":Boolean,global:Boolean,globalconfig:Vu,"global-style":Boolean,group:[Number,String],"https-proxy":[null,J2],"user-agent":String,"ham-it-up":Boolean,heading:String,"if-present":Boolean,"ignore-prepublish":Boolean,"ignore-scripts":Boolean,"init-module":Vu,"init-author-name":String,"init-author-email":String,"init-author-url":["",J2],"init-license":String,"init-version":G7,json:Boolean,key:[null,String],"legacy-bundling":Boolean,link:Boolean,"local-address":N$(),loglevel:["silent","error","warn","notice","http","timing","info","verbose","silly"],logstream:T$,"logs-max":Number,long:Boolean,maxsockets:Number,message:String,"metrics-registry":[null,String],"node-options":[null,String],"node-version":[null,G7],"no-proxy":[null,String,Array],offline:Boolean,"onload-script":[null,String],only:[null,"dev","development","prod","production"],optional:Boolean,"package-lock":Boolean,otp:[null,String],"package-lock-only":Boolean,parseable:Boolean,"prefer-offline":Boolean,"prefer-online":Boolean,prefix:Vu,production:Boolean,progress:Boolean,proxy:[null,!1,J2],provenance:Boolean,"read-only":Boolean,"rebuild-bundle":Boolean,registry:[null,J2],rollback:Boolean,save:Boolean,"save-bundle":Boolean,"save-dev":Boolean,"save-exact":Boolean,"save-optional":Boolean,"save-prefix":String,"save-prod":Boolean,scope:String,"script-shell":[null,String],"scripts-prepend-node-path":[!1,!0,"auto","warn-only"],searchopts:String,searchexclude:[null,String],searchlimit:Number,searchstaleness:Number,"send-metrics":Boolean,shell:String,shrinkwrap:Boolean,"sign-git-tag":Boolean,"sso-poll-frequency":Number,"sso-type":[null,"oauth","saml"],"strict-ssl":Boolean,tag:String,timing:Boolean,tmp:Vu,unicode:Boolean,"unsafe-perm":Boolean,usage:Boolean,user:[Number,String],userconfig:Vu,umask:V$,version:Boolean,"tag-version-prefix":String,versions:Boolean,viewer:String,_exit:Boolean}});var z7=T((XK,U7)=>{var{readCAFileSync:S$}=D7(),Q7=n("fs"),U8=n("path"),{ConfigChain:j$}=J7(),P$=I7(),z8=q7();class K7 extends j${constructor(D,u){super(D);this.root=D,this._parseField=z8.parseField.bind(null,u||_7())}add(D,u){try{for(let[F,E]of Object.entries(D)){let C=z8.parseKey(F);if(C!==F)delete D[F];D[C]=this._parseField(E,C)}}catch(F){throw F}return super.add(D,u)}addFile(D,u){u=u||D;let F={__source__:u};this.sources[u]={path:D,type:"ini"},this.push(F),this._await();try{let E=Q7.readFileSync(D,"utf8");this.addString(E,D,"ini",F)}catch(E){if(E.code==="ENOENT")this.add({},F);else if(E.code!=="EISDIR")return`Issue while reading "${D}". ${E.message}`}}addEnv(D){D=D||process.env;let u={};return Object.keys(D).filter((F)=>/^npm_config_/i.test(F)).forEach((F)=>{if(!D[F])return;let E=P$(F.substr(11)),C=D[F];u[E]=x$(E,C)}),super.addEnv("",u,"env")}loadPrefix(){let D=this.list[0];Object.defineProperty(this,"prefix",{enumerable:!0,set:(F)=>{let E=this.get("global");this[E?"globalPrefix":"localPrefix"]=F},get:()=>{return this.get("global")?this.globalPrefix:this.localPrefix}}),Object.defineProperty(this,"globalPrefix",{enumerable:!0,set:(F)=>{this.set("prefix",F)},get:()=>{return U8.resolve(this.get("prefix"))}});let u;if(Object.defineProperty(this,"localPrefix",{enumerable:!0,set:(F)=>{u=F},get:()=>{return u}}),Object.prototype.hasOwnProperty.call(D,"prefix"))u=U8.resolve(D.prefix);else try{u=z8.findPrefix(process.cwd())}catch(F){throw F}return u}loadCAFile(D){if(!D)return;let u=S$(D);if(u)this.set("ca",u)}loadUser(){let D=this.root;if(this.get("global"))return;if(process.env.SUDO_UID){D.user=Number(process.env.SUDO_UID);return}let u=U8.resolve(this.get("prefix"));try{let F=Q7.statSync(u);D.user=F.uid}catch(F){if(F.code==="ENOENT")return;throw F}}}function x$(D,u){function F(E){if(E.indexOf(`
134
+ GFS4: `),console.error(D)};if(!CD[HD]){if(X8=global[HD]||[],o1(CD,X8),CD.close=function(D){function u(F,E){return D.call(CD,F,function(C){if(!C)s1();if(typeof E==="function")E.apply(this,arguments)})}return Object.defineProperty(u,B2,{value:D}),u}(CD.close),CD.closeSync=function(D){function u(F){D.apply(CD,arguments),s1()}return Object.defineProperty(u,B2,{value:D}),u}(CD.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){Ou(CD[HD]),n("assert").equal(CD[HD].length,0)})}var X8;if(!global[HD])o1(global,CD[HD]);q8.exports=H8(tZ(CD));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!CD.__patched)q8.exports=H8(CD),CD.__patched=!0;function H8(D){sZ(D),D.gracefulify=H8,D.createReadStream=P,D.createWriteStream=f;var u=D.readFile;D.readFile=F;function F(U,V,N){if(typeof V==="function")N=V,V=null;return m(U,V,N);function m(w,k,x,b){return u(w,k,function(y){if(y&&(y.code==="EMFILE"||y.code==="ENFILE"))iu([m,[w,k,x],y,b||Date.now(),Date.now()]);else if(typeof x==="function")x.apply(this,arguments)})}}var E=D.writeFile;D.writeFile=C;function C(U,V,N,m){if(typeof N==="function")m=N,N=null;return w(U,V,N,m);function w(k,x,b,y,d){return E(k,x,b,function(h){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))iu([w,[k,x,b,y],h,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}var B=D.appendFile;if(B)D.appendFile=A;function A(U,V,N,m){if(typeof N==="function")m=N,N=null;return w(U,V,N,m);function w(k,x,b,y,d){return B(k,x,b,function(h){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))iu([w,[k,x,b,y],h,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}var J=D.copyFile;if(J)D.copyFile=I;function I(U,V,N,m){if(typeof N==="function")m=N,N=0;return w(U,V,N,m);function w(k,x,b,y,d){return J(k,x,b,function(h){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))iu([w,[k,x,b,y],h,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}var $=D.readdir;D.readdir=X;var Z=/^v[0-5]\./;function X(U,V,N){if(typeof V==="function")N=V,V=null;var m=Z.test(process.version)?function(x,b,y,d){return $(x,w(x,b,y,d))}:function(x,b,y,d){return $(x,b,w(x,b,y,d))};return m(U,V,N);function w(k,x,b,y){return function(d,h){if(d&&(d.code==="EMFILE"||d.code==="ENFILE"))iu([m,[k,x,b],d,y||Date.now(),Date.now()]);else{if(h&&h.sort)h.sort();if(typeof b==="function")b.call(this,d,h)}}}}if(process.version.substr(0,4)==="v0.8"){var H=oZ(D);_=H.ReadStream,z=H.WriteStream}var Y=D.ReadStream;if(Y)_.prototype=Object.create(Y.prototype),_.prototype.open=O;var L=D.WriteStream;if(L)z.prototype=Object.create(L.prototype),z.prototype.open=R;Object.defineProperty(D,"ReadStream",{get:function(){return _},set:function(U){_=U},enumerable:!0,configurable:!0}),Object.defineProperty(D,"WriteStream",{get:function(){return z},set:function(U){z=U},enumerable:!0,configurable:!0});var q=_;Object.defineProperty(D,"FileReadStream",{get:function(){return q},set:function(U){q=U},enumerable:!0,configurable:!0});var G=z;Object.defineProperty(D,"FileWriteStream",{get:function(){return G},set:function(U){G=U},enumerable:!0,configurable:!0});function _(U,V){if(this instanceof _)return Y.apply(this,arguments),this;else return _.apply(Object.create(_.prototype),arguments)}function O(){var U=this;M(U.path,U.flags,U.mode,function(V,N){if(V){if(U.autoClose)U.destroy();U.emit("error",V)}else U.fd=N,U.emit("open",N),U.read()})}function z(U,V){if(this instanceof z)return L.apply(this,arguments),this;else return z.apply(Object.create(z.prototype),arguments)}function R(){var U=this;M(U.path,U.flags,U.mode,function(V,N){if(V)U.destroy(),U.emit("error",V);else U.fd=N,U.emit("open",N)})}function P(U,V){return new D.ReadStream(U,V)}function f(U,V){return new D.WriteStream(U,V)}var W=D.open;D.open=M;function M(U,V,N,m){if(typeof N==="function")m=N,N=null;return w(U,V,N,m);function w(k,x,b,y,d){return W(k,x,b,function(h,Q4){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))iu([w,[k,x,b,y],h,d||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}return D}function iu(D){Ou("ENQUEUE",D[0].name,D[1]),CD[HD].push(D),L8()}var C2;function s1(){var D=Date.now();for(var u=0;u<CD[HD].length;++u)if(CD[HD][u].length>2)CD[HD][u][3]=D,CD[HD][u][4]=D;L8()}function L8(){if(clearTimeout(C2),C2=void 0,CD[HD].length===0)return;var D=CD[HD].shift(),u=D[0],F=D[1],E=D[2],C=D[3],B=D[4];if(C===void 0)Ou("RETRY",u.name,F),u.apply(null,F);else if(Date.now()-C>=60000){Ou("TIMEOUT",u.name,F);var A=F.pop();if(typeof A==="function")A.call(null,E)}else{var J=Date.now()-B,I=Math.max(B-C,1),$=Math.min(I*1.2,100);if(J>=$)Ou("RETRY",u.name,F),u.apply(null,F.concat([C]));else CD[HD].push(D)}if(C2===void 0)C2=setTimeout(L8,0)}});var e1=T((pu)=>{var D$=pu&&pu.__importDefault||function(D){return D&&D.__esModule?D:{default:D}};Object.defineProperty(pu,"__esModule",{value:!0});pu.readCAFileSync=void 0;var u$=D$(t1());function F$(D){try{let u=u$.default.readFileSync(D,"utf8"),F="-----END CERTIFICATE-----";return u.split("-----END CERTIFICATE-----").filter((C)=>Boolean(C.trim())).map((C)=>`${C.trimLeft()}-----END CERTIFICATE-----`)}catch(u){if(u.code==="ENOENT")return;throw u}}pu.readCAFileSync=F$});var D7=T((Ru)=>{var E$=Ru&&Ru.__createBinding||(Object.create?function(D,u,F,E){if(E===void 0)E=F;var C=Object.getOwnPropertyDescriptor(u,F);if(!C||("get"in C?!u.__esModule:C.writable||C.configurable))C={enumerable:!0,get:function(){return u[F]}};Object.defineProperty(D,E,C)}:function(D,u,F,E){if(E===void 0)E=F;D[E]=u[F]}),C$=Ru&&Ru.__exportStar||function(D,u){for(var F in D)if(F!=="default"&&!Object.prototype.hasOwnProperty.call(u,F))E$(u,D,F)};Object.defineProperty(Ru,"__esModule",{value:!0});C$(e1(),Ru)});var E7=T((CK,F7)=>{F7.exports=u7;function Wu(D,u){if(typeof Object.setPrototypeOf==="function")return Object.setPrototypeOf(D,u);else D.__proto__=u}function u7(){this.list=[];var D=null;Object.defineProperty(this,"root",{get:function(){return D},set:function(u){if(D=u,this.list.length)Wu(this.list[this.list.length-1],u)},enumerable:!0,configurable:!0})}u7.prototype={get length(){return this.list.length},get keys(){var D=[];for(var u in this.list[0])D.push(u);return D},get snapshot(){var D={};return this.keys.forEach(function(u){D[u]=this.get(u)},this),D},get store(){return this.list[0]},push:function(D){if(typeof D!=="object")D={valueOf:D};if(this.list.length>=1)Wu(this.list[this.list.length-1],D);return Wu(D,this.root),this.list.push(D)},pop:function(){if(this.list.length>=2)Wu(this.list[this.list.length-2],this.root);return this.list.pop()},unshift:function(D){return Wu(D,this.list[0]||this.root),this.list.unshift(D)},shift:function(){if(this.list.length===1)Wu(this.list[0],this.root);return this.list.shift()},get:function(D){return this.list[0][D]},set:function(D,u,F){if(!this.length)this.push({});if(F&&this.list[0].hasOwnProperty(D))this.push({});return this.list[0][D]=u},forEach:function(D,u){for(var F in this.list[0])D.call(u,F,this.list[0][F])},slice:function(){return this.list.slice.apply(this.list,arguments)},splice:function(){var D=this.list.splice.apply(this.list,arguments);for(var u=0,F=this.list.length;u<F;u++)Wu(this.list[u],this.list[u+1]||this.root);return D}}});var J7=T((eD,A7)=>{var __dirname="/Users/abinovalfauzi/Documents/projects/oss/give-skill/node_modules/.bun/config-chain@1.1.13/node_modules/config-chain",C7=E7(),R0=n("path"),A2=n("fs"),G8=Z8(),_8=n("events").EventEmitter,B$=n("url"),A$=n("http"),eD=A7.exports=function(){var D=[].slice.call(arguments),u=new QD;while(D.length){var F=D.shift();if(F)u.push(typeof F==="string"?Z$(F):F)}return u},BK=eD.find=function(){var D=R0.join.apply(null,[].slice.call(arguments));function u(F,E){var C=R0.join(F,E);try{return A2.statSync(C),C}catch(B){if(R0.dirname(F)!==F)return u(R0.dirname(F),E)}}return u(__dirname,D)},J$=eD.parse=function(D,u,F){if(D=""+D,!F)try{return JSON.parse(D)}catch(E){return G8.parse(D)}else if(F==="json")if(this.emit)try{return JSON.parse(D)}catch(E){this.emit("error",E)}else return JSON.parse(D);else return G8.parse(D)},Z$=eD.json=function(){var D=[].slice.call(arguments).filter(function(E){return E!=null}),u=R0.join.apply(null,D),F;try{F=A2.readFileSync(u,"utf-8")}catch(E){return}return J$(F,u,"json")},AK=eD.env=function(D,u){u=u||process.env;var F={},E=D.length;for(var C in u)if(C.indexOf(D)===0)F[C.substring(E)]=u[C];return F};eD.ConfigChain=QD;function QD(){_8.apply(this),C7.apply(this,arguments),this._awaiting=0,this._saving=0,this.sources={}}var B7={constructor:{value:QD}};Object.keys(_8.prototype).forEach(function(D){B7[D]=Object.getOwnPropertyDescriptor(_8.prototype,D)});QD.prototype=Object.create(C7.prototype,B7);QD.prototype.del=function(D,u){if(u){var F=this.sources[u];if(F=F&&F.data,!F)return this.emit("error",Error("not found "+u));delete F[D]}else for(var E=0,C=this.list.length;E<C;E++)delete this.list[E][D];return this};QD.prototype.set=function(D,u,F){var E;if(F){if(E=this.sources[F],E=E&&E.data,!E)return this.emit("error",Error("not found "+F))}else if(E=this.list[0],!E)return this.emit("error",Error("cannot set, no confs!"));return E[D]=u,this};QD.prototype.get=function(D,u){if(u){if(u=this.sources[u],u)u=u.data;if(u&&Object.hasOwnProperty.call(u,D))return u[D];return}return this.list[0][D]};QD.prototype.save=function(D,B,F){if(typeof B==="function")F=B,B=null;var E=this.sources[D];if(!E||!(E.path||E.source)||!E.data)return this.emit("error",Error("bad save target: "+D));if(E.source){var C=E.prefix||"";return Object.keys(E.data).forEach(function(J){E.source[C+J]=E.data[J]}),this}var B=B||E.type,A=E.data;if(E.type==="json")A=JSON.stringify(A);else A=G8.stringify(A);return this._saving++,A2.writeFile(E.path,A,"utf8",function(J){if(this._saving--,J)if(F)return F(J);else return this.emit("error",J);if(this._saving===0){if(F)F();this.emit("save")}}.bind(this)),this};QD.prototype.addFile=function(D,u,F){F=F||D;var E={__source__:F};return this.sources[F]={path:D,type:u},this.push(E),this._await(),A2.readFile(D,"utf8",function(C,B){if(C)this.emit("error",C);this.addString(B,D,u,E)}.bind(this)),this};QD.prototype.addEnv=function(D,u,F){F=F||"env";var E=eD.env(D,u);return this.sources[F]={data:E,source:u,prefix:D},this.add(E,F)};QD.prototype.addUrl=function(D,u,F){this._await();var E=B$.format(D);F=F||E;var C={__source__:F};return this.sources[F]={href:E,type:u},this.push(C),A$.request(D,function(B){var A=[],J=B.headers["content-type"];if(!u)u=J.indexOf("json")!==-1?"json":J.indexOf("ini")!==-1?"ini":E.match(/\.json$/)?"json":E.match(/\.ini$/)?"ini":null,C.type=u;B.on("data",A.push.bind(A)).on("end",function(){this.addString(Buffer.concat(A),E,u,C)}.bind(this)).on("error",this.emit.bind(this,"error"))}.bind(this)).on("error",this.emit.bind(this,"error")).end(),this};QD.prototype.addString=function(D,u,F,E){return D=this.parse(D,u,F),this.add(D,E),this};QD.prototype.add=function(D,u){if(u&&typeof u==="object"){var F=this.list.indexOf(u);if(F===-1)return this.emit("error",Error("bad marker"));this.splice(F,1,D),u=u.__source__,this.sources[u]=this.sources[u]||{},this.sources[u].data=D,this._resolve()}else{if(typeof u==="string")this.sources[u]=this.sources[u]||{},this.sources[u].data=D;this._await(),this.push(D),process.nextTick(this._resolve.bind(this))}return this};QD.prototype.parse=eD.parse;QD.prototype._await=function(){this._awaiting++};QD.prototype._resolve=function(){if(this._awaiting--,this._awaiting===0)this.emit("load",this)}});var I7=T((JK,$7)=>{$7.exports=function(D){let u=D.indexOf(":");if(u===-1)return Z7(D);let F=D.substr(0,u),E=D.substr(u+1);return`${F}:${Z7(E)}`};function Z7(D){if(D=D.toLowerCase(),D==="_authtoken")return"_authToken";let u=D[0];for(let F=1;F<D.length;F++)u+=D[F]==="_"?"-":D[F];return u}});var H7=T((Y7)=>{Object.defineProperty(Y7,"__esModule",{value:!0});Y7.envReplace=void 0;var $$=/(?<!\\)(\\*)\$\{([^${}]+)\}/g;function I$(D,u){return D.replace($$,Y$.bind(null,u))}Y7.envReplace=I$;function Y$(D,u,F,E){if(F.length%2)return u.slice((F.length+1)/2);let C=H$(D,E);if(C===void 0)throw Error(`Failed to replace env in config: ${u}`);return`${F.slice(F.length/2)}${C}`}var X$=/([^:-]+)(:?)-(.+)/;function H$(D,u){let F=u.match(X$);if(!F)return D[u];let[,E,C,B]=F;if(Object.prototype.hasOwnProperty.call(D,E))return!D[E]&&C?B:D[E];return B}});var L7=T((Q8)=>{Object.defineProperty(Q8,"__esModule",{value:!0});Q8.envReplace=void 0;var L$=H7();Object.defineProperty(Q8,"envReplace",{enumerable:!0,get:function(){return L$.envReplace}})});var q7=T((U$)=>{var G$=n("fs"),Tu=n("path"),{envReplace:K8}=L7(),_$=(D)=>{if(typeof D!=="string")return D;return K8(D,process.env)},Q$=(D,u,F)=>{if(typeof u!=="string")return u;let E=[].concat(D[F]),C=E.indexOf(Tu)!==-1,B=E.indexOf(Boolean)!==-1,A=E.indexOf(String)!==-1,J=E.indexOf(Number)!==-1;if(u=`${u}`.trim(),/^".*"$/.test(u))try{u=JSON.parse(u)}catch($){throw Error(`Failed parsing JSON config key ${F}: ${u}`)}if(B&&!A&&u==="")return!0;switch(u){case"true":return!0;case"false":return!1;case"null":return null;case"undefined":return}let I=K8(u,process.env);if((F.endsWith(":tokenHelper")||F==="tokenHelper")&&I!==u)throw Error(`It is not allowed to use environment variables in the value of the ${F} setting.`);else u=I;if(C){if((process.platform==="win32"?/^~(\/|\\)/:/^~\//).test(u)&&process.env.HOME)u=Tu.resolve(process.env.HOME,u.substr(2));u=Tu.resolve(u)}if(J&&!isNaN(u))u=Number(u);return u},K$=(D)=>{D=Tu.resolve(D);let u=!1;while(Tu.basename(D)==="node_modules")D=Tu.dirname(D),u=!0;if(u)return D;let F=(E,C)=>{let B=/^[a-zA-Z]:(\\|\/)?$/;if(E==="/"||process.platform==="win32"&&B.test(E))return C;try{let A=G$.readdirSync(E);if(A.includes("node_modules")||A.includes("package.json")||A.includes("package.json5")||A.includes("package.yaml")||A.includes("pnpm-workspace.yaml"))return E;let J=Tu.dirname(E);if(J===E)return C;return F(J,C)}catch(A){if(E===C){if(A.code==="ENOENT")return C;throw A}return C}};return F(D,D)};U$.envReplace=K8;U$.findPrefix=K$;U$.parseField=Q$;U$.parseKey=_$});var _7=T((w$)=>{var Vu=n("path"),T$=n("stream").Stream,J2=n("url"),V$=()=>{},N$=()=>[],G7=()=>{};w$.types={access:[null,"restricted","public"],"allow-same-version":Boolean,"always-auth":Boolean,also:[null,"dev","development"],audit:Boolean,"auth-type":["legacy","sso","saml","oauth"],"bin-links":Boolean,browser:[null,String],ca:[null,String,Array],cafile:Vu,cache:Vu,"cache-lock-stale":Number,"cache-lock-retries":Number,"cache-lock-wait":Number,"cache-max":Number,"cache-min":Number,cert:[null,String],cidr:[null,String,Array],color:["always",Boolean],depth:Number,description:Boolean,dev:Boolean,"dry-run":Boolean,editor:String,"engine-strict":Boolean,force:Boolean,"fetch-retries":Number,"fetch-retry-factor":Number,"fetch-retry-mintimeout":Number,"fetch-retry-maxtimeout":Number,git:String,"git-tag-version":Boolean,"commit-hooks":Boolean,global:Boolean,globalconfig:Vu,"global-style":Boolean,group:[Number,String],"https-proxy":[null,J2],"user-agent":String,"ham-it-up":Boolean,heading:String,"if-present":Boolean,"ignore-prepublish":Boolean,"ignore-scripts":Boolean,"init-module":Vu,"init-author-name":String,"init-author-email":String,"init-author-url":["",J2],"init-license":String,"init-version":G7,json:Boolean,key:[null,String],"legacy-bundling":Boolean,link:Boolean,"local-address":N$(),loglevel:["silent","error","warn","notice","http","timing","info","verbose","silly"],logstream:T$,"logs-max":Number,long:Boolean,maxsockets:Number,message:String,"metrics-registry":[null,String],"node-options":[null,String],"node-version":[null,G7],"no-proxy":[null,String,Array],offline:Boolean,"onload-script":[null,String],only:[null,"dev","development","prod","production"],optional:Boolean,"package-lock":Boolean,otp:[null,String],"package-lock-only":Boolean,parseable:Boolean,"prefer-offline":Boolean,"prefer-online":Boolean,prefix:Vu,production:Boolean,progress:Boolean,proxy:[null,!1,J2],provenance:Boolean,"read-only":Boolean,"rebuild-bundle":Boolean,registry:[null,J2],rollback:Boolean,save:Boolean,"save-bundle":Boolean,"save-dev":Boolean,"save-exact":Boolean,"save-optional":Boolean,"save-prefix":String,"save-prod":Boolean,scope:String,"script-shell":[null,String],"scripts-prepend-node-path":[!1,!0,"auto","warn-only"],searchopts:String,searchexclude:[null,String],searchlimit:Number,searchstaleness:Number,"send-metrics":Boolean,shell:String,shrinkwrap:Boolean,"sign-git-tag":Boolean,"sso-poll-frequency":Number,"sso-type":[null,"oauth","saml"],"strict-ssl":Boolean,tag:String,timing:Boolean,tmp:Vu,unicode:Boolean,"unsafe-perm":Boolean,usage:Boolean,user:[Number,String],userconfig:Vu,umask:V$,version:Boolean,"tag-version-prefix":String,versions:Boolean,viewer:String,_exit:Boolean}});var z7=T((XK,U7)=>{var{readCAFileSync:S$}=D7(),Q7=n("fs"),U8=n("path"),{ConfigChain:j$}=J7(),P$=I7(),z8=q7();class K7 extends j${constructor(D,u){super(D);this.root=D,this._parseField=z8.parseField.bind(null,u||_7())}add(D,u){try{for(let[F,E]of Object.entries(D)){let C=z8.parseKey(F);if(C!==F)delete D[F];D[C]=this._parseField(E,C)}}catch(F){throw F}return super.add(D,u)}addFile(D,u){u=u||D;let F={__source__:u};this.sources[u]={path:D,type:"ini"},this.push(F),this._await();try{let E=Q7.readFileSync(D,"utf8");this.addString(E,D,"ini",F)}catch(E){if(E.code==="ENOENT")this.add({},F);else if(E.code!=="EISDIR")return`Issue while reading "${D}". ${E.message}`}}addEnv(D){D=D||process.env;let u={};return Object.keys(D).filter((F)=>/^npm_config_/i.test(F)).forEach((F)=>{if(!D[F])return;let E=P$(F.substr(11)),C=D[F];u[E]=x$(E,C)}),super.addEnv("",u,"env")}loadPrefix(){let D=this.list[0];Object.defineProperty(this,"prefix",{enumerable:!0,set:(F)=>{let E=this.get("global");this[E?"globalPrefix":"localPrefix"]=F},get:()=>{return this.get("global")?this.globalPrefix:this.localPrefix}}),Object.defineProperty(this,"globalPrefix",{enumerable:!0,set:(F)=>{this.set("prefix",F)},get:()=>{return U8.resolve(this.get("prefix"))}});let u;if(Object.defineProperty(this,"localPrefix",{enumerable:!0,set:(F)=>{u=F},get:()=>{return u}}),Object.prototype.hasOwnProperty.call(D,"prefix"))u=U8.resolve(D.prefix);else try{u=z8.findPrefix(process.cwd())}catch(F){throw F}return u}loadCAFile(D){if(!D)return;let u=S$(D);if(u)this.set("ca",u)}loadUser(){let D=this.root;if(this.get("global"))return;if(process.env.SUDO_UID){D.user=Number(process.env.SUDO_UID);return}let u=U8.resolve(this.get("prefix"));try{let F=Q7.statSync(u);D.user=F.uid}catch(F){if(F.code==="ENOENT")return;throw F}}}function x$(D,u){function F(E){if(E.indexOf(`
135
135
 
136
136
  `))return E.split(`
137
137
 
138
138
  `);return E.split(",")}switch(D){case"hoist-pattern":case"public-hoist-pattern":return F(u)}return u}U7.exports=K7});var N7=T((V7)=>{var W7=n("os"),Du=n("path"),T7=W7.tmpdir(),y$=process.getuid?process.getuid():process.pid,f$=()=>!0,O7=process.platform==="win32",R7={editor:()=>process.env.EDITOR||process.env.VISUAL||(O7?"notepad.exe":"vi"),shell:()=>O7?process.env.COMSPEC||"cmd.exe":process.env.SHELL||"/bin/bash"},b$={fromString:()=>process.umask()},ru=W7.homedir();if(ru)process.env.HOME=ru;else ru=Du.resolve(T7,"npm-"+y$);var k$=process.platform==="win32"?"npm-cache":".npm",v$=process.platform==="win32"&&process.env.APPDATA||ru,h$=Du.resolve(v$,k$),Z2,Nu;Object.defineProperty(V7,"defaults",{get:function(){if(Z2)return Z2;if(process.env.PREFIX)Nu=process.env.PREFIX;else if(process.platform==="win32")Nu=Du.dirname(process.execPath);else if(Nu=Du.dirname(Du.dirname(process.execPath)),process.env.DESTDIR)Nu=Du.join(process.env.DESTDIR,Nu);return Z2={access:null,"allow-same-version":!1,"always-auth":!1,also:null,audit:!0,"auth-type":"legacy","bin-links":!0,browser:null,ca:null,cafile:null,cache:h$,"cache-lock-stale":60000,"cache-lock-retries":10,"cache-lock-wait":1e4,"cache-max":1/0,"cache-min":10,cert:null,cidr:null,color:process.env.NO_COLOR==null,depth:1/0,description:!0,dev:!1,"dry-run":!1,editor:R7.editor(),"engine-strict":!1,force:!1,"fetch-retries":2,"fetch-retry-factor":10,"fetch-retry-mintimeout":1e4,"fetch-retry-maxtimeout":60000,git:"git","git-tag-version":!0,"commit-hooks":!0,global:!1,globalconfig:Du.resolve(Nu,"etc","npmrc"),"global-style":!1,group:process.platform==="win32"?0:process.env.SUDO_GID||process.getgid&&process.getgid(),"ham-it-up":!1,heading:"npm","if-present":!1,"ignore-prepublish":!1,"ignore-scripts":!1,"init-module":Du.resolve(ru,".npm-init.js"),"init-author-name":"","init-author-email":"","init-author-url":"","init-version":"1.0.0","init-license":"ISC",json:!1,key:null,"legacy-bundling":!1,link:!1,"local-address":void 0,loglevel:"notice",logstream:process.stderr,"logs-max":10,long:!1,maxsockets:50,message:"%s","metrics-registry":null,"node-options":null,offline:!1,"onload-script":!1,only:null,optional:!0,otp:null,"package-lock":!0,"package-lock-only":!1,parseable:!1,"prefer-offline":!1,"prefer-online":!1,prefix:Nu,production:!1,progress:!process.env.TRAVIS&&!process.env.CI,provenance:!1,proxy:null,"https-proxy":null,"no-proxy":null,"user-agent":"npm/{npm-version} node/{node-version} {platform} {arch}","read-only":!1,"rebuild-bundle":!0,registry:"https://registry.npmjs.org/",rollback:!0,save:!0,"save-bundle":!1,"save-dev":!1,"save-exact":!1,"save-optional":!1,"save-prefix":"^","save-prod":!1,scope:"","script-shell":null,"scripts-prepend-node-path":"warn-only",searchopts:"",searchexclude:null,searchlimit:20,searchstaleness:900,"send-metrics":!1,shell:R7.shell(),shrinkwrap:!0,"sign-git-tag":!1,"sso-poll-frequency":500,"sso-type":"oauth","strict-ssl":!0,tag:"latest","tag-version-prefix":"v",timing:!1,tmp:T7,unicode:f$(),"unsafe-perm":process.platform==="win32"||process.platform==="cygwin"||!(process.getuid&&process.setuid&&process.getgid&&process.setgid)||process.getuid()!==0,usage:!1,user:process.platform==="win32"?0:"nobody",userconfig:Du.resolve(ru,".npmrc"),umask:process.umask?process.umask():b$.fromString("022"),version:!1,versions:!1,viewer:process.platform==="win32"?"browser":"man",_exit:!0},Z2}})});var M7=T((LK,O8)=>{var wu=n("path"),g$=z7(),w7=N7();O8.exports=(D,u,F)=>{let E=new g$(Object.assign({},w7.defaults,F),u);E.add(Object.assign({},D),"cli");let C=[],B=!1;if(n.resolve.paths){let $=n.resolve.paths("npm"),Z;try{Z=n.resolve("npm",{paths:$.slice(-1)})}catch(X){B=!0}if(Z)C.push(E.addFile(wu.resolve(wu.dirname(Z),"..","npmrc"),"builtin"))}E.addEnv(),E.loadPrefix();let A=wu.resolve(E.localPrefix,".npmrc"),J=E.get("userconfig");if(!E.get("global")&&A!==J)C.push(E.addFile(A,"project"));else E.add({},"project");if(E.get("workspace-prefix")&&E.get("workspace-prefix")!==A){let $=wu.resolve(E.get("workspace-prefix"),".npmrc");C.push(E.addFile($,"workspace"))}if(C.push(E.addFile(E.get("userconfig"),"user")),E.get("prefix")){let $=wu.resolve(E.get("prefix"),"etc");E.root.globalconfig=wu.resolve($,"npmrc"),E.root.globalignorefile=wu.resolve($,"npmignore")}C.push(E.addFile(E.get("globalconfig"),"global")),E.loadUser();let I=E.get("cafile");if(I)E.loadCAFile(I);return{config:E,warnings:C.filter(Boolean),failedToLoadBuiltInConfig:B}};Object.defineProperty(O8.exports,"defaults",{get(){return w7.defaults},enumerable:!0})});var x7=T((GK,P7)=>{var S7=M7();P7.exports=function(){let u,F;if(arguments.length>=2)u=arguments[0],F=Object.assign({},arguments[1]);else if(typeof arguments[0]==="string")u=arguments[0];else F=Object.assign({},arguments[0]);F=F||{};let E=F.npmrc;return F.npmrc=(F.npmrc?{config:{get:(C)=>E[C]}}:S7()).config,u=u||F.npmrc.get("registry")||S7.defaults.registry,j7(u,F)||c$(F.npmrc)};function m$(D,u){let F=new URL(u,new URL(D.startsWith("//")?`./${D}`:D,"resolve://"));if(F.protocol==="resolve:"){let{pathname:E,search:C,hash:B}=F;return E+C+B}return F.toString()}function j7(D,u){let F=D instanceof URL?D:new URL(D.startsWith("//")?`http:${D}`:D),E;while(E!=="/"&&F.pathname!==E){E=F.pathname||"/";let C="//"+F.host+E.replace(/\/$/,""),B=d$(C,u.npmrc);if(B)return B;if(!u.recursive)return/\/$/.test(D)?void 0:j7(new URL("./",F),u);F.pathname=m$(l$(E),"..")||"/"}return}function c$(D){if(!D.get("_auth"))return;return{token:$2(D.get("_auth")),type:"Basic"}}function l$(D){return D[D.length-1]==="/"?D:D+"/"}function d$(D,u){let F=n$(u.get(D+":_authToken")||u.get(D+"/:_authToken"));if(F)return F;let E=u.get(D+":username")||u.get(D+"/:username"),C=u.get(D+":_password")||u.get(D+"/:_password"),B=i$(E,C);if(B)return B;let A=p$(u.get(D+":_auth")||u.get(D+"/:_auth"));if(A)return A;return}function $2(D){return D.replace(/^\$\{?([^}]*)\}?$/,function(u,F){return process.env[F]})}function n$(D){if(!D)return;return{token:$2(D),type:"Bearer"}}function i$(D,u){if(!D||!u)return;let F=Buffer.from($2(u),"base64").toString("utf8");return{token:Buffer.from(D+":"+F,"utf8").toString("base64"),type:"Basic",password:F,username:D}}function p$(D){if(!D)return;return{token:$2(D),type:"Basic"}}});var f7=T((_K,y7)=>{var r$=zu(),a$=(D,u)=>{let F=r$(D,u);return F?F.version:null};y7.exports=a$});var k7=T((QK,b7)=>{var s$=zu(),o$=(D,u)=>{let F=s$(D.trim().replace(/^[=v]+/,""),u);return F?F.version:null};b7.exports=o$});var g7=T((KK,h7)=>{var v7=_D(),t$=(D,u,F,E,C)=>{if(typeof F==="string")C=E,E=F,F=void 0;try{return new v7(D instanceof v7?D.version:D,F).inc(u,E,C).version}catch(B){return null}};h7.exports=t$});var c7=T((UK,m7)=>{var e$=_D(),DI=(D,u)=>new e$(D,u).major;m7.exports=DI});var d7=T((zK,l7)=>{var uI=_D(),FI=(D,u)=>new uI(D,u).minor;l7.exports=FI});var i7=T((OK,n7)=>{var EI=_D(),CI=(D,u)=>new EI(D,u).patch;n7.exports=CI});var r7=T((RK,p7)=>{var BI=zu(),AI=(D,u)=>{let F=BI(D,u);return F&&F.prerelease.length?F.prerelease:null};p7.exports=AI});var s7=T((WK,a7)=>{var JI=xD(),ZI=(D,u,F)=>JI(u,D,F);a7.exports=ZI});var t7=T((TK,o7)=>{var $I=xD(),II=(D,u)=>$I(D,u,!0);o7.exports=II});var I2=T((VK,DB)=>{var e7=_D(),YI=(D,u,F)=>{let E=new e7(D,F),C=new e7(u,F);return E.compare(C)||E.compareBuild(C)};DB.exports=YI});var FB=T((NK,uB)=>{var XI=I2(),HI=(D,u)=>D.sort((F,E)=>XI(F,E,u));uB.exports=HI});var CB=T((wK,EB)=>{var LI=I2(),qI=(D,u)=>D.sort((F,E)=>LI(E,F,u));EB.exports=qI});var Y2=T((MK,BB)=>{var GI=xD(),_I=(D,u,F)=>GI(D,u,F)<0;BB.exports=_I});var R8=T((SK,AB)=>{var QI=xD(),KI=(D,u,F)=>QI(D,u,F)===0;AB.exports=KI});var W8=T((jK,JB)=>{var UI=xD(),zI=(D,u,F)=>UI(D,u,F)!==0;JB.exports=zI});var X2=T((PK,ZB)=>{var OI=xD(),RI=(D,u,F)=>OI(D,u,F)>=0;ZB.exports=RI});var H2=T((xK,$B)=>{var WI=xD(),TI=(D,u,F)=>WI(D,u,F)<=0;$B.exports=TI});var T8=T((yK,IB)=>{var VI=R8(),NI=W8(),wI=gu(),MI=X2(),SI=Y2(),jI=H2(),PI=(D,u,F,E)=>{switch(u){case"===":if(typeof D==="object")D=D.version;if(typeof F==="object")F=F.version;return D===F;case"!==":if(typeof D==="object")D=D.version;if(typeof F==="object")F=F.version;return D!==F;case"":case"=":case"==":return VI(D,F,E);case"!=":return NI(D,F,E);case">":return wI(D,F,E);case">=":return MI(D,F,E);case"<":return SI(D,F,E);case"<=":return jI(D,F,E);default:throw TypeError(`Invalid operator: ${u}`)}};IB.exports=PI});var XB=T((fK,YB)=>{var xI=_D(),yI=zu(),{safeRe:L2,t:q2}=hu(),fI=(D,u)=>{if(D instanceof xI)return D;if(typeof D==="number")D=String(D);if(typeof D!=="string")return null;u=u||{};let F=null;if(!u.rtl)F=D.match(u.includePrerelease?L2[q2.COERCEFULL]:L2[q2.COERCE]);else{let I=u.includePrerelease?L2[q2.COERCERTLFULL]:L2[q2.COERCERTL],$;while(($=I.exec(D))&&(!F||F.index+F[0].length!==D.length)){if(!F||$.index+$[0].length!==F.index+F[0].length)F=$;I.lastIndex=$.index+$[1].length+$[2].length}I.lastIndex=-1}if(F===null)return null;let E=F[2],C=F[3]||"0",B=F[4]||"0",A=u.includePrerelease&&F[5]?`-${F[5]}`:"",J=u.includePrerelease&&F[6]?`+${F[6]}`:"";return yI(`${E}.${C}.${B}${A}${J}`,u)};YB.exports=fI});var qB=T((bK,LB)=>{class HB{constructor(){this.max=1000,this.map=new Map}get(D){let u=this.map.get(D);if(u===void 0)return;else return this.map.delete(D),this.map.set(D,u),u}delete(D){return this.map.delete(D)}set(D,u){if(!this.delete(D)&&u!==void 0){if(this.map.size>=this.max){let E=this.map.keys().next().value;this.delete(E)}this.map.set(D,u)}return this}}LB.exports=HB});var yD=T((kK,KB)=>{var bI=/\s+/g;class W0{constructor(D,u){if(u=vI(u),D instanceof W0)if(D.loose===!!u.loose&&D.includePrerelease===!!u.includePrerelease)return D;else return new W0(D.raw,u);if(D instanceof V8)return this.raw=D.value,this.set=[[D]],this.formatted=void 0,this;if(this.options=u,this.loose=!!u.loose,this.includePrerelease=!!u.includePrerelease,this.raw=D.trim().replace(bI," "),this.set=this.raw.split("||").map((F)=>this.parseRange(F.trim())).filter((F)=>F.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let F=this.set[0];if(this.set=this.set.filter((E)=>!_B(E[0])),this.set.length===0)this.set=[F];else if(this.set.length>1){for(let E of this.set)if(E.length===1&&nI(E[0])){this.set=[E];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let D=0;D<this.set.length;D++){if(D>0)this.formatted+="||";let u=this.set[D];for(let F=0;F<u.length;F++){if(F>0)this.formatted+=" ";this.formatted+=u[F].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(D){let F=((this.options.includePrerelease&&lI)|(this.options.loose&&dI))+":"+D,E=GB.get(F);if(E)return E;let C=this.options.loose,B=C?OD[KD.HYPHENRANGELOOSE]:OD[KD.HYPHENRANGE];D=D.replace(B,uY(this.options.includePrerelease)),e("hyphen replace",D),D=D.replace(OD[KD.COMPARATORTRIM],gI),e("comparator trim",D),D=D.replace(OD[KD.TILDETRIM],mI),e("tilde trim",D),D=D.replace(OD[KD.CARETTRIM],cI),e("caret trim",D);let A=D.split(" ").map((Z)=>iI(Z,this.options)).join(" ").split(/\s+/).map((Z)=>DY(Z,this.options));if(C)A=A.filter((Z)=>{return e("loose invalid filter",Z,this.options),!!Z.match(OD[KD.COMPARATORLOOSE])});e("range list",A);let J=new Map,I=A.map((Z)=>new V8(Z,this.options));for(let Z of I){if(_B(Z))return[Z];J.set(Z.value,Z)}if(J.size>1&&J.has(""))J.delete("");let $=[...J.values()];return GB.set(F,$),$}intersects(D,u){if(!(D instanceof W0))throw TypeError("a Range is required");return this.set.some((F)=>{return QB(F,u)&&D.set.some((E)=>{return QB(E,u)&&F.every((C)=>{return E.every((B)=>{return C.intersects(B,u)})})})})}test(D){if(!D)return!1;if(typeof D==="string")try{D=new hI(D,this.options)}catch(u){return!1}for(let u=0;u<this.set.length;u++)if(FY(this.set[u],D,this.options))return!0;return!1}}KB.exports=W0;var kI=qB(),GB=new kI,vI=lF(),V8=T0(),e=q0(),hI=_D(),{safeRe:OD,t:KD,comparatorTrimReplace:gI,tildeTrimReplace:mI,caretTrimReplace:cI}=hu(),{FLAG_INCLUDE_PRERELEASE:lI,FLAG_LOOSE:dI}=G0(),_B=(D)=>D.value==="<0.0.0-0",nI=(D)=>D.value==="",QB=(D,u)=>{let F=!0,E=D.slice(),C=E.pop();while(F&&E.length)F=E.every((B)=>{return C.intersects(B,u)}),C=E.pop();return F},iI=(D,u)=>{return D=D.replace(OD[KD.BUILD],""),e("comp",D,u),D=aI(D,u),e("caret",D),D=pI(D,u),e("tildes",D),D=oI(D,u),e("xrange",D),D=eI(D,u),e("stars",D),D},RD=(D)=>!D||D.toLowerCase()==="x"||D==="*",pI=(D,u)=>{return D.trim().split(/\s+/).map((F)=>rI(F,u)).join(" ")},rI=(D,u)=>{let F=u.loose?OD[KD.TILDELOOSE]:OD[KD.TILDE];return D.replace(F,(E,C,B,A,J)=>{e("tilde",D,E,C,B,A,J);let I;if(RD(C))I="";else if(RD(B))I=`>=${C}.0.0 <${+C+1}.0.0-0`;else if(RD(A))I=`>=${C}.${B}.0 <${C}.${+B+1}.0-0`;else if(J)e("replaceTilde pr",J),I=`>=${C}.${B}.${A}-${J} <${C}.${+B+1}.0-0`;else I=`>=${C}.${B}.${A} <${C}.${+B+1}.0-0`;return e("tilde return",I),I})},aI=(D,u)=>{return D.trim().split(/\s+/).map((F)=>sI(F,u)).join(" ")},sI=(D,u)=>{e("caret",D,u);let F=u.loose?OD[KD.CARETLOOSE]:OD[KD.CARET],E=u.includePrerelease?"-0":"";return D.replace(F,(C,B,A,J,I)=>{e("caret",D,C,B,A,J,I);let $;if(RD(B))$="";else if(RD(A))$=`>=${B}.0.0${E} <${+B+1}.0.0-0`;else if(RD(J))if(B==="0")$=`>=${B}.${A}.0${E} <${B}.${+A+1}.0-0`;else $=`>=${B}.${A}.0${E} <${+B+1}.0.0-0`;else if(I)if(e("replaceCaret pr",I),B==="0")if(A==="0")$=`>=${B}.${A}.${J}-${I} <${B}.${A}.${+J+1}-0`;else $=`>=${B}.${A}.${J}-${I} <${B}.${+A+1}.0-0`;else $=`>=${B}.${A}.${J}-${I} <${+B+1}.0.0-0`;else if(e("no pr"),B==="0")if(A==="0")$=`>=${B}.${A}.${J}${E} <${B}.${A}.${+J+1}-0`;else $=`>=${B}.${A}.${J}${E} <${B}.${+A+1}.0-0`;else $=`>=${B}.${A}.${J} <${+B+1}.0.0-0`;return e("caret return",$),$})},oI=(D,u)=>{return e("replaceXRanges",D,u),D.split(/\s+/).map((F)=>tI(F,u)).join(" ")},tI=(D,u)=>{D=D.trim();let F=u.loose?OD[KD.XRANGELOOSE]:OD[KD.XRANGE];return D.replace(F,(E,C,B,A,J,I)=>{e("xRange",D,E,C,B,A,J,I);let $=RD(B),Z=$||RD(A),X=Z||RD(J),H=X;if(C==="="&&H)C="";if(I=u.includePrerelease?"-0":"",$)if(C===">"||C==="<")E="<0.0.0-0";else E="*";else if(C&&H){if(Z)A=0;if(J=0,C===">")if(C=">=",Z)B=+B+1,A=0,J=0;else A=+A+1,J=0;else if(C==="<=")if(C="<",Z)B=+B+1;else A=+A+1;if(C==="<")I="-0";E=`${C+B}.${A}.${J}${I}`}else if(Z)E=`>=${B}.0.0${I} <${+B+1}.0.0-0`;else if(X)E=`>=${B}.${A}.0${I} <${B}.${+A+1}.0-0`;return e("xRange return",E),E})},eI=(D,u)=>{return e("replaceStars",D,u),D.trim().replace(OD[KD.STAR],"")},DY=(D,u)=>{return e("replaceGTE0",D,u),D.trim().replace(OD[u.includePrerelease?KD.GTE0PRE:KD.GTE0],"")},uY=(D)=>(u,F,E,C,B,A,J,I,$,Z,X,H)=>{if(RD(E))F="";else if(RD(C))F=`>=${E}.0.0${D?"-0":""}`;else if(RD(B))F=`>=${E}.${C}.0${D?"-0":""}`;else if(A)F=`>=${F}`;else F=`>=${F}${D?"-0":""}`;if(RD($))I="";else if(RD(Z))I=`<${+$+1}.0.0-0`;else if(RD(X))I=`<${$}.${+Z+1}.0-0`;else if(H)I=`<=${$}.${Z}.${X}-${H}`;else if(D)I=`<${$}.${Z}.${+X+1}-0`;else I=`<=${I}`;return`${F} ${I}`.trim()},FY=(D,u,F)=>{for(let E=0;E<D.length;E++)if(!D[E].test(u))return!1;if(u.prerelease.length&&!F.includePrerelease){for(let E=0;E<D.length;E++){if(e(D[E].semver),D[E].semver===V8.ANY)continue;if(D[E].semver.prerelease.length>0){let C=D[E].semver;if(C.major===u.major&&C.minor===u.minor&&C.patch===u.patch)return!0}}return!1}return!0}});var T0=T((vK,TB)=>{var V0=Symbol("SemVer ANY");class G2{static get ANY(){return V0}constructor(D,u){if(u=UB(u),D instanceof G2)if(D.loose===!!u.loose)return D;else D=D.value;if(D=D.trim().split(/\s+/).join(" "),w8("comparator",D,u),this.options=u,this.loose=!!u.loose,this.parse(D),this.semver===V0)this.value="";else this.value=this.operator+this.semver.version;w8("comp",this)}parse(D){let u=this.options.loose?zB[OB.COMPARATORLOOSE]:zB[OB.COMPARATOR],F=D.match(u);if(!F)throw TypeError(`Invalid comparator: ${D}`);if(this.operator=F[1]!==void 0?F[1]:"",this.operator==="=")this.operator="";if(!F[2])this.semver=V0;else this.semver=new RB(F[2],this.options.loose)}toString(){return this.value}test(D){if(w8("Comparator.test",D,this.options.loose),this.semver===V0||D===V0)return!0;if(typeof D==="string")try{D=new RB(D,this.options)}catch(u){return!1}return N8(D,this.operator,this.semver,this.options)}intersects(D,u){if(!(D instanceof G2))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new WB(D.value,u).test(this.value)}else if(D.operator===""){if(D.value==="")return!0;return new WB(this.value,u).test(D.semver)}if(u=UB(u),u.includePrerelease&&(this.value==="<0.0.0-0"||D.value==="<0.0.0-0"))return!1;if(!u.includePrerelease&&(this.value.startsWith("<0.0.0")||D.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&D.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&D.operator.startsWith("<"))return!0;if(this.semver.version===D.semver.version&&this.operator.includes("=")&&D.operator.includes("="))return!0;if(N8(this.semver,"<",D.semver,u)&&this.operator.startsWith(">")&&D.operator.startsWith("<"))return!0;if(N8(this.semver,">",D.semver,u)&&this.operator.startsWith("<")&&D.operator.startsWith(">"))return!0;return!1}}TB.exports=G2;var UB=lF(),{safeRe:zB,t:OB}=hu(),N8=T8(),w8=q0(),RB=_D(),WB=yD()});var N0=T((hK,VB)=>{var EY=yD(),CY=(D,u,F)=>{try{u=new EY(u,F)}catch(E){return!1}return u.test(D)};VB.exports=CY});var wB=T((gK,NB)=>{var BY=yD(),AY=(D,u)=>new BY(D,u).set.map((F)=>F.map((E)=>E.value).join(" ").trim().split(" "));NB.exports=AY});var SB=T((mK,MB)=>{var JY=_D(),ZY=yD(),$Y=(D,u,F)=>{let E=null,C=null,B=null;try{B=new ZY(u,F)}catch(A){return null}return D.forEach((A)=>{if(B.test(A)){if(!E||C.compare(A)===-1)E=A,C=new JY(E,F)}}),E};MB.exports=$Y});var PB=T((cK,jB)=>{var IY=_D(),YY=yD(),XY=(D,u,F)=>{let E=null,C=null,B=null;try{B=new YY(u,F)}catch(A){return null}return D.forEach((A)=>{if(B.test(A)){if(!E||C.compare(A)===1)E=A,C=new IY(E,F)}}),E};jB.exports=XY});var fB=T((lK,yB)=>{var M8=_D(),HY=yD(),xB=gu(),LY=(D,u)=>{D=new HY(D,u);let F=new M8("0.0.0");if(D.test(F))return F;if(F=new M8("0.0.0-0"),D.test(F))return F;F=null;for(let E=0;E<D.set.length;++E){let C=D.set[E],B=null;if(C.forEach((A)=>{let J=new M8(A.semver.version);switch(A.operator){case">":if(J.prerelease.length===0)J.patch++;else J.prerelease.push(0);J.raw=J.format();case"":case">=":if(!B||xB(J,B))B=J;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${A.operator}`)}}),B&&(!F||xB(F,B)))F=B}if(F&&D.test(F))return F;return null};yB.exports=LY});var kB=T((dK,bB)=>{var qY=yD(),GY=(D,u)=>{try{return new qY(D,u).range||"*"}catch(F){return null}};bB.exports=GY});var _2=T((nK,mB)=>{var _Y=_D(),gB=T0(),{ANY:QY}=gB,KY=yD(),UY=N0(),vB=gu(),hB=Y2(),zY=H2(),OY=X2(),RY=(D,u,F,E)=>{D=new _Y(D,E),u=new KY(u,E);let C,B,A,J,I;switch(F){case">":C=vB,B=zY,A=hB,J=">",I=">=";break;case"<":C=hB,B=OY,A=vB,J="<",I="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(UY(D,u,E))return!1;for(let $=0;$<u.set.length;++$){let Z=u.set[$],X=null,H=null;if(Z.forEach((Y)=>{if(Y.semver===QY)Y=new gB(">=0.0.0");if(X=X||Y,H=H||Y,C(Y.semver,X.semver,E))X=Y;else if(A(Y.semver,H.semver,E))H=Y}),X.operator===J||X.operator===I)return!1;if((!H.operator||H.operator===J)&&B(D,H.semver))return!1;else if(H.operator===I&&A(D,H.semver))return!1}return!0};mB.exports=RY});var lB=T((iK,cB)=>{var WY=_2(),TY=(D,u,F)=>WY(D,u,">",F);cB.exports=TY});var nB=T((pK,dB)=>{var VY=_2(),NY=(D,u,F)=>VY(D,u,"<",F);dB.exports=NY});var rB=T((rK,pB)=>{var iB=yD(),wY=(D,u,F)=>{return D=new iB(D,F),u=new iB(u,F),D.intersects(u,F)};pB.exports=wY});var sB=T((aK,aB)=>{var MY=N0(),SY=xD();aB.exports=(D,u,F)=>{let E=[],C=null,B=null,A=D.sort((Z,X)=>SY(Z,X,F));for(let Z of A)if(MY(Z,u,F)){if(B=Z,!C)C=Z}else{if(B)E.push([C,B]);B=null,C=null}if(C)E.push([C,null]);let J=[];for(let[Z,X]of E)if(Z===X)J.push(Z);else if(!X&&Z===A[0])J.push("*");else if(!X)J.push(`>=${Z}`);else if(Z===A[0])J.push(`<=${X}`);else J.push(`${Z} - ${X}`);let I=J.join(" || "),$=typeof u.raw==="string"?u.raw:String(u);return I.length<$.length?I:u}});var F9=T((sK,u9)=>{var oB=yD(),j8=T0(),{ANY:S8}=j8,w0=N0(),P8=xD(),jY=(D,u,F={})=>{if(D===u)return!0;D=new oB(D,F),u=new oB(u,F);let E=!1;D:for(let C of D.set){for(let B of u.set){let A=xY(C,B,F);if(E=E||A!==null,A)continue D}if(E)return!1}return!0},PY=[new j8(">=0.0.0-0")],tB=[new j8(">=0.0.0")],xY=(D,u,F)=>{if(D===u)return!0;if(D.length===1&&D[0].semver===S8)if(u.length===1&&u[0].semver===S8)return!0;else if(F.includePrerelease)D=PY;else D=tB;if(u.length===1&&u[0].semver===S8)if(F.includePrerelease)return!0;else u=tB;let E=new Set,C,B;for(let Y of D)if(Y.operator===">"||Y.operator===">=")C=eB(C,Y,F);else if(Y.operator==="<"||Y.operator==="<=")B=D9(B,Y,F);else E.add(Y.semver);if(E.size>1)return null;let A;if(C&&B){if(A=P8(C.semver,B.semver,F),A>0)return null;else if(A===0&&(C.operator!==">="||B.operator!=="<="))return null}for(let Y of E){if(C&&!w0(Y,String(C),F))return null;if(B&&!w0(Y,String(B),F))return null;for(let L of u)if(!w0(Y,String(L),F))return!1;return!0}let J,I,$,Z,X=B&&!F.includePrerelease&&B.semver.prerelease.length?B.semver:!1,H=C&&!F.includePrerelease&&C.semver.prerelease.length?C.semver:!1;if(X&&X.prerelease.length===1&&B.operator==="<"&&X.prerelease[0]===0)X=!1;for(let Y of u){if(Z=Z||Y.operator===">"||Y.operator===">=",$=$||Y.operator==="<"||Y.operator==="<=",C){if(H){if(Y.semver.prerelease&&Y.semver.prerelease.length&&Y.semver.major===H.major&&Y.semver.minor===H.minor&&Y.semver.patch===H.patch)H=!1}if(Y.operator===">"||Y.operator===">="){if(J=eB(C,Y,F),J===Y&&J!==C)return!1}else if(C.operator===">="&&!w0(C.semver,String(Y),F))return!1}if(B){if(X){if(Y.semver.prerelease&&Y.semver.prerelease.length&&Y.semver.major===X.major&&Y.semver.minor===X.minor&&Y.semver.patch===X.patch)X=!1}if(Y.operator==="<"||Y.operator==="<="){if(I=D9(B,Y,F),I===Y&&I!==B)return!1}else if(B.operator==="<="&&!w0(B.semver,String(Y),F))return!1}if(!Y.operator&&(B||C)&&A!==0)return!1}if(C&&$&&!B&&A!==0)return!1;if(B&&Z&&!C&&A!==0)return!1;if(H||X)return!1;return!0},eB=(D,u,F)=>{if(!D)return u;let E=P8(D.semver,u.semver,F);return E>0?D:E<0?u:u.operator===">"&&D.operator===">="?u:D},D9=(D,u,F)=>{if(!D)return u;let E=P8(D.semver,u.semver,F);return E<0?D:E>0?u:u.operator==="<"&&D.operator==="<="?u:D};u9.exports=jY});var A9=T((oK,B9)=>{var x8=hu(),E9=G0(),yY=_D(),C9=o3(),fY=zu(),bY=f7(),kY=k7(),vY=g7(),hY=e3(),gY=c7(),mY=d7(),cY=i7(),lY=r7(),dY=xD(),nY=s7(),iY=t7(),pY=I2(),rY=FB(),aY=CB(),sY=gu(),oY=Y2(),tY=R8(),eY=W8(),DX=X2(),uX=H2(),FX=T8(),EX=XB(),CX=T0(),BX=yD(),AX=N0(),JX=wB(),ZX=SB(),$X=PB(),IX=fB(),YX=kB(),XX=_2(),HX=lB(),LX=nB(),qX=rB(),GX=sB(),_X=F9();B9.exports={parse:fY,valid:bY,clean:kY,inc:vY,diff:hY,major:gY,minor:mY,patch:cY,prerelease:lY,compare:dY,rcompare:nY,compareLoose:iY,compareBuild:pY,sort:rY,rsort:aY,gt:sY,lt:oY,eq:tY,neq:eY,gte:DX,lte:uX,cmp:FX,coerce:EX,Comparator:CX,Range:BX,satisfies:AX,toComparators:JX,maxSatisfying:ZX,minSatisfying:$X,minVersion:IX,validRange:YX,outside:XX,gtr:HX,ltr:LX,intersects:qX,simplifyRange:GX,subset:_X,SemVer:yY,re:x8.re,src:x8.src,tokens:x8.t,SEMVER_SPEC_VERSION:E9.SEMVER_SPEC_VERSION,RELEASE_TYPES:E9.RELEASE_TYPES,compareIdentifiers:C9.compareIdentifiers,rcompareIdentifiers:C9.rcompareIdentifiers}});var _9=T((JU,G9)=>{var{hasOwnProperty:b8}=Object.prototype,k8=(D,u={})=>{if(typeof u==="string")u={section:u};u.align=u.align===!0,u.newline=u.newline===!0,u.sort=u.sort===!0,u.whitespace=u.whitespace===!0||u.align===!0,u.platform=u.platform||typeof process<"u"&&process.platform,u.bracketedArray=u.bracketedArray!==!1;let F=u.platform==="win32"?`\r
139
139
  `:`
140
140
  `,E=u.whitespace?" = ":"=",C=[],B=u.sort?Object.keys(D).sort():Object.keys(D),A=0;if(u.align)A=uu(B.filter(($)=>D[$]===null||Array.isArray(D[$])||typeof D[$]!=="object").map(($)=>Array.isArray(D[$])?`${$}[]`:$).concat([""]).reduce(($,Z)=>uu($).length>=uu(Z).length?$:Z)).length;let J="",I=u.bracketedArray?"[]":"";for(let $ of B){let Z=D[$];if(Z&&Array.isArray(Z))for(let X of Z)J+=uu(`${$}${I}`).padEnd(A," ")+E+uu(X)+F;else if(Z&&typeof Z==="object")C.push($);else J+=uu($).padEnd(A," ")+E+uu(Z)+F}if(u.section&&J.length)J="["+uu(u.section)+"]"+(u.newline?F+F:F)+J;for(let $ of C){let Z=L9($,".").join("\\."),X=(u.section?u.section+".":"")+Z,H=k8(D[$],{...u,section:X});if(J.length&&H.length)J+=F;J+=H}return J};function L9(D,u){var F=0,E=0,C=0,B=[];do if(C=D.indexOf(u,F),C!==-1){if(F=C+u.length,C>0&&D[C-1]==="\\")continue;B.push(D.slice(E,C)),E=C+u.length}while(C!==-1);return B.push(D.slice(E)),B}var H9=(D,u={})=>{u.bracketedArray=u.bracketedArray!==!1;let F=Object.create(null),E=F,C=null,B=/^\[([^\]]*)\]\s*$|^([^=]+)(=(.*))?$/i,A=D.split(/[\r\n]+/g),J={};for(let $ of A){if(!$||$.match(/^\s*[;#]/)||$.match(/^\s*$/))continue;let Z=$.match(B);if(!Z)continue;if(Z[1]!==void 0){if(C=K2(Z[1]),C==="__proto__"){E=Object.create(null);continue}E=F[C]=F[C]||Object.create(null);continue}let X=K2(Z[2]),H;if(u.bracketedArray)H=X.length>2&&X.slice(-2)==="[]";else J[X]=(J?.[X]||0)+1,H=J[X]>1;let Y=H?X.slice(0,-2):X;if(Y==="__proto__")continue;let L=Z[3]?K2(Z[4]):!0,q=L==="true"||L==="false"||L==="null"?JSON.parse(L):L;if(H){if(!b8.call(E,Y))E[Y]=[];else if(!Array.isArray(E[Y]))E[Y]=[E[Y]]}if(Array.isArray(E[Y]))E[Y].push(q);else E[Y]=q}let I=[];for(let $ of Object.keys(F)){if(!b8.call(F,$)||typeof F[$]!=="object"||Array.isArray(F[$]))continue;let Z=L9($,".");E=F;let X=Z.pop(),H=X.replace(/\\\./g,".");for(let Y of Z){if(Y==="__proto__")continue;if(!b8.call(E,Y)||typeof E[Y]!=="object")E[Y]=Object.create(null);E=E[Y]}if(E===F&&H===X)continue;E[H]=F[$],I.push($)}for(let $ of I)delete F[$];return F},q9=(D)=>{return D.startsWith('"')&&D.endsWith('"')||D.startsWith("'")&&D.endsWith("'")},uu=(D)=>{if(typeof D!=="string"||D.match(/[=\r\n]/)||D.match(/^\[/)||D.length>1&&q9(D)||D!==D.trim())return JSON.stringify(D);return D.split(";").join("\\;").split("#").join("\\#")},K2=(D,u)=>{if(D=(D||"").trim(),q9(D)){if(D.charAt(0)==="'")D=D.slice(1,-1);try{D=JSON.parse(D)}catch{}}else{let F=!1,E="";for(let C=0,B=D.length;C<B;C++){let A=D.charAt(C);if(F){if("\\;#".indexOf(A)!==-1)E+=A;else E+="\\"+A;F=!1}else if(";#".indexOf(A)!==-1)break;else if(A==="\\")F=!0;else E+=A}if(F)E+="\\";return E.trim()}return D};G9.exports={parse:H9,decode:H9,stringify:k8,encode:k8,safe:uu,unsafe:K2}});var M9=T((wU,w9)=>{w9.exports=()=>{return/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g}});var j9=T((yU,yX)=>{yX.exports={single:{topLeft:"┌",top:"─",topRight:"┐",right:"│",bottomRight:"┘",bottom:"─",bottomLeft:"└",left:"│"},double:{topLeft:"╔",top:"═",topRight:"╗",right:"║",bottomRight:"╝",bottom:"═",bottomLeft:"╚",left:"║"},round:{topLeft:"╭",top:"─",topRight:"╮",right:"│",bottomRight:"╯",bottom:"─",bottomLeft:"╰",left:"│"},bold:{topLeft:"┏",top:"━",topRight:"┓",right:"┃",bottomRight:"┛",bottom:"━",bottomLeft:"┗",left:"┃"},singleDouble:{topLeft:"╓",top:"─",topRight:"╖",right:"║",bottomRight:"╜",bottom:"─",bottomLeft:"╙",left:"║"},doubleSingle:{topLeft:"╒",top:"═",topRight:"╕",right:"│",bottomRight:"╛",bottom:"═",bottomLeft:"╘",left:"│"},classic:{topLeft:"+",top:"-",topRight:"+",right:"|",bottomRight:"+",bottom:"-",bottomLeft:"+",left:"|"},arrow:{topLeft:"↘",top:"↓",topRight:"↙",right:"←",bottomRight:"↖",bottom:"↑",bottomLeft:"↗",left:"→"}}});var l8=T((fU,c8)=>{var P9=j9();c8.exports=P9;c8.exports.default=P9});var v9=T((kU,k9)=>{k9.exports=({onlyFirst:D=!1}={})=>{let u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,D?void 0:"g")}});var g9=T((vU,h9)=>{var mX=v9();h9.exports=(D)=>typeof D==="string"?D.replace(mX(),""):D});var c9=T((hU,i8)=>{var m9=(D)=>{if(Number.isNaN(D))return!1;if(D>=4352&&(D<=4447||D===9001||D===9002||11904<=D&&D<=12871&&D!==12351||12880<=D&&D<=19903||19968<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65131||65281<=D&&D<=65376||65504<=D&&D<=65510||110592<=D&&D<=110593||127488<=D&&D<=127569||131072<=D&&D<=262141))return!0;return!1};i8.exports=m9;i8.exports.default=m9});var d9=T((gU,l9)=>{l9.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var i9=T((mU,p8)=>{var cX=g9(),lX=c9(),dX=d9(),n9=(D)=>{if(typeof D!=="string"||D.length===0)return 0;if(D=cX(D),D.length===0)return 0;D=D.replace(dX()," ");let u=0;for(let F=0;F<D.length;F++){let E=D.codePointAt(F);if(E<=31||E>=127&&E<=159)continue;if(E>=768&&E<=879)continue;if(E>65535)F++;u+=lX(E)?2:1}return u};p8.exports=n9;p8.exports.default=n9});var r9=T((cU,p9)=>{var nX=i9();function Mu(D,u){if(!D)return D;u=u||{};let F=u.align||"center";if(F==="left")return D;let E=u.split||`
141
- `,C=u.pad||" ",B=F!=="right"?iX:pX,A=!1;if(!Array.isArray(D))A=!0,D=String(D).split(E);let J,I=0;return D=D.map(function($){return $=String($),J=nX($),I=Math.max(J,I),{str:$,width:J}}).map(function($){return Array(B(I,$.width)+1).join(C)+$.str}),A?D.join(E):D}Mu.left=function(u){return Mu(u,{align:"left"})};Mu.center=function(u){return Mu(u,{align:"center"})};Mu.right=function(u){return Mu(u,{align:"right"})};p9.exports=Mu;function iX(D,u){return Math.floor((D-u)/2)}function pX(D,u){return D-u}});var _E=o(GE(),1),{program:SD,createCommand:wH,createArgument:MH,createOption:SH,CommanderError:jH,InvalidArgumentError:PH,InvalidOptionArgumentError:xH,Command:yH,Argument:fH,Option:bH,Help:kH}=_E.default;var v0={name:"flins",version:"0.0.6",description:"Universal skill installer for AI coding agents - Claude, Cursor, Copilot, and more",keywords:["agent-skills","ai-agents","claude","cli","coding-assistant","copilot","cursor","github-copilot","skills"],homepage:"https://github.com/flinstech/flins#readme",bugs:{url:"https://github.com/flinstech/flins/issues"},license:"MIT",author:"flins",repository:{type:"git",url:"git+https://github.com/flinstech/flins.git"},bin:{flins:"./dist/index.js"},files:["dist","README.md"],type:"module",module:"src/index.ts",scripts:{build:"bun build src/index.ts --outdir dist --target node --minify",dev:"bun src/index.ts",typecheck:"tsgo --noEmit",prepublishOnly:"bun run build",lint:"oxlint","lint:fix":"oxlint --fix",fmt:"oxfmt","fmt:check":"oxfmt --check"},dependencies:{"@clack/prompts":"^1.0.0-alpha.9",commander:"^14.0.2",picocolors:"^1.1.1","update-notifier":"^7.3.1"},devDependencies:{"@types/bun":"latest","@types/update-notifier":"^6.0.8","@typescript/native-preview":"^7.0.0-dev.20260116.1","bun-types":"^1.3.6",oxfmt:"^0.24.0",oxlint:"^1.39.0"}};j3();jD();var wF=o(UD(),1);jD();H3();Q3();z3();R3();W3();zF();VF();var h=o(UD(),1);import{join as ZJ}from"path";function Pu(D){if(D.startsWith("skill:"))return{type:"skill",name:D.slice(6),installableType:"skill"};if(D.startsWith("command:"))return{type:"command",name:D.slice(8),installableType:"command"};return null}cD();import{existsSync as jC,readdirSync as BJ,statSync as PC}from"fs";function AJ(D){if(!jC(D))return!1;try{if(!PC(D).isDirectory())return!1;let F=BJ(D);if(F.length===0)return!1;return F.includes("SKILL.md")}catch{return!1}}function JJ(D){if(!jC(D))return!1;try{if(!PC(D).isFile())return!1;return D.endsWith(".md")}catch{return!1}}function Ju(D,u){return u==="skill"?AJ(D):JJ(D)}LF();jD();var xu=o(UD(),1);function C0(){Q.warn("No skills installed yet. Get started by installing a skill:"),Q.message(` ${xu.default.cyan("npx flins@latest <repo>")} # Install in current project`),Q.message(` ${xu.default.cyan("npx flins@latest <repo> --global")} # Install globally for all projects`),Q.message(` ${xu.default.dim("Examples:")}`),Q.message(` ${xu.default.cyan("npx flins@latest expo")} # Install from flins directory`),Q.message(` ${xu.default.cyan("npx flins@latest search")} # Browse available skills`)}var ND=(D,u,F)=>{return D===1?u:F??`${u}s`};function yC(){let D=[],u=new Set,F=TF();if(F)for(let[C,B]of Object.entries(F.skills)){let A=Pu(C);if(A)D.push({skillName:A.name,url:B.url,subpath:B.subpath,branch:B.branch,commit:B.commit,isLocal:!0,installableType:A.installableType}),u.add(`${A.installableType}:${A.name.toLowerCase()}`)}let E=UF();for(let[C,B]of Object.entries(E.skills)){let A=Pu(C),J=A?`${A.installableType}:${A.name.toLowerCase()}`:C.toLowerCase();if(!u.has(J))D.push({skillName:A?.name??C,url:B.url,subpath:B.subpath,branch:B.branch,commit:B.commit,isLocal:!1,installableType:A?.installableType??"skill"})}return D}async function xC(D,u,F,E,C,B){let J=(C?Au(D,B):Bu(D,B)).map(($)=>{let Z=Cu($);return{agent:l[$.agent].displayName,path:Z,exists:Ju(Z,$.installableType)}});if(J.filter(($)=>$.exists).length===0)return{skillName:D,currentCommit:E,latestCommit:E,status:"orphaned",installableType:B,installations:J};try{let $=await iE(u,F);return{skillName:D,currentCommit:E,latestCommit:$,status:$===E?"latest":"update-available",installableType:B,installations:J}}catch($){return{skillName:D,currentCommit:E,latestCommit:E,status:"error",installableType:B,installations:J,error:$ instanceof Error?$.message:"Unknown error"}}}async function P3(D){let u=yC(),F=[],E;if(D&&D.length>0){let B=new Set(D.map((A)=>A.toLowerCase()));E=u.filter(({skillName:A})=>B.has(A.toLowerCase()))}else E=u;if(E.length===0)return[];let C=mD();if(E.length===1){let{skillName:B,url:A,branch:J,commit:I,isLocal:$,installableType:Z}=E[0];C.start(`Checking ${h.default.cyan(B)}...`);let X=await xC(B,A,J,I,$,Z);C.stop(X.status==="latest"?h.default.green("Up to date"):h.default.yellow("Update available")),F.push(X)}else{C.start(`Checking ${E.length} ${ND(E.length,"skill")}...`);for(let{skillName:B,url:A,branch:J,commit:I,isLocal:$,installableType:Z}of E){let X=await xC(B,A,J,I,$,Z);F.push(X)}C.stop("Check complete")}return F}async function fC(D,u={}){let F=yC(),E=[],C;if(D&&D.length>0){let Y=new Set(D.map((L)=>L.toLowerCase()));C=F.filter(({skillName:L})=>Y.has(L.toLowerCase()))}else C=F;if(C.length===0)return Q.warn("No skills found to update"),a(h.default.yellow("Nothing to update")),[];let B=await P3(D),A=B.filter((Y)=>Y.status==="update-available");if(A.length===0){let Y=B.filter((L)=>L.status==="orphaned");if(Y.length>0){Q.warn(`${Y.length} skill${Y.length>1?"s":""} ${Y.length>1?"have":"has"} no valid installations`);for(let L of Y)Q.message(` ${h.default.yellow("○")} ${h.default.cyan(L.skillName)} - files were removed`)}return Q.success(h.default.green("All skills are up to date")),a(h.default.green("Already up to date")),[]}Q.step(h.default.bold("Updates Available"));let J=A.map((Y)=>({value:Y.skillName,label:Y.skillName,hint:`${Y.currentCommit.slice(0,7)} → ${Y.latestCommit.slice(0,7)}`})),I,$=u.yes||u.force;if($)I=A.map((Y)=>Y.skillName);else{let Y=await bD({message:"Select skills to update",options:J,required:!0,initialValues:A.map((L)=>L.skillName)});if(AD(Y))return $D("Update cancelled"),[];I=Y}Q.step(h.default.bold("Will Update"));for(let Y of I){let L=A.find((q)=>q.skillName===Y);if(L)Q.message(` ${h.default.cyan(L.skillName)}`),Q.message(` ${h.default.dim("Current:")} ${h.default.yellow(L.currentCommit.slice(0,7))} ${h.default.dim("→")} ${h.default.green(L.latestCommit.slice(0,7))}`)}if(!$){let Y=await Eu({message:"Proceed with update?"});if(AD(Y)||!Y)return $D("Update cancelled"),[]}let Z=mD();Z.start(`Updating ${I.length} ${ND(I.length,"skill")}...`);for(let{skillName:Y,url:L,subpath:q,isLocal:G,installableType:_}of C){let O=B.find((f)=>f.skillName===Y);if(!O||O.status!=="update-available"){if(O?.status==="latest")E.push({skillName:Y,success:!0,updated:0,failed:0});else E.push({skillName:Y,success:!1,updated:0,failed:0});continue}if(!I.includes(Y))continue;let z=null,R=0,P=0;try{z=await FF(L);let f=await EF(z),W=q?ZJ(z,q):z,M=await ZF(W),U=await $F(W),V=M.find((w)=>w.name.toLowerCase()===Y.toLowerCase()),N=U.find((w)=>w.name.toLowerCase()===Y.toLowerCase());if(!V&&!N)throw Error("Skill or command not found in repository");let m=G?Au(Y,_):Bu(Y,_);for(let w of m){let v=Cu(w);if(!Ju(v,w.installableType)){if(!G)KF(Y,_);continue}let x;if(w.installableType==="command"&&N)x=await XF(N,w.agent,{global:w.type==="global"});else if(V)x=await IF(V,w.agent,{global:w.type==="global"});else{P++;continue}if(x.success)R++;else P++}if(G)RC(Y,_,f);else _C(Y,_,f);E.push({skillName:Y,success:P===0,updated:R,failed:P})}catch(f){E.push({skillName:Y,success:!1,updated:R,failed:P+1,error:f instanceof Error?f.message:"Unknown error"})}finally{if(z)await CF(z)}}Z.stop("Update complete");let X=E.filter((Y)=>Y.success&&Y.updated>0),H=E.filter((Y)=>!Y.success||Y.failed>0);if(X.length>0){Q.success(h.default.green(`Updated ${X.length} ${ND(X.length,"skill")}`));for(let Y of X)Q.message(` ${h.default.green("✓")} ${h.default.cyan(Y.skillName)} (${Y.updated} ${ND(Y.updated,"installation")})`)}if(H.length>0){Q.error(h.default.red(`Failed to update ${H.length} ${ND(H.length,"skill")}`));for(let Y of H)if(Q.message(` ${h.default.red("✗")} ${h.default.cyan(Y.skillName)}`),Y.error)Q.message(` ${h.default.dim(Y.error)}`)}if(X.length>0)a(h.default.green("Skills updated successfully"));else a(h.default.yellow("No skills were updated"));return E}async function bC(D,u=!1){if(D.length===0){C0();return}Q.step(h.default.bold("Skills Status"));for(let F of D){let E={latest:h.default.green("✓"),"update-available":h.default.yellow("↓"),error:h.default.red("✗"),orphaned:h.default.dim("○")}[F.status],C={latest:h.default.green("latest"),"update-available":h.default.yellow("update available"),error:h.default.red("error"),orphaned:h.default.dim("orphaned")}[F.status],B=F.installations.filter((J)=>J.exists),A=F.installations.filter((J)=>!J.exists);if(!u){let J=B.length,I=J>0?` (${J} ${ND(J,"installation")})`:"";Q.message(`${E} ${h.default.cyan(F.installableType+":"+F.skillName)}${h.default.dim(I)} - ${C}`)}else{if(Q.message(`${E} ${h.default.cyan(F.installableType+":"+F.skillName)}`),Q.message(` Status: ${C}`),F.status==="update-available")Q.message(` ${h.default.dim("Commit:")} ${h.default.yellow(F.currentCommit.slice(0,7))} ${h.default.dim("→")} ${h.default.green(F.latestCommit.slice(0,7))}`);else if(F.status==="latest")Q.message(` ${h.default.dim("Commit:")} ${F.currentCommit.slice(0,7)}`);if(F.error)Q.message(` ${h.default.red(F.error)}`);if(B.length>0){Q.message(` ${h.default.dim("Installed in:")}`);for(let J of B)Q.message(` ${h.default.dim("•")} ${J.agent}: ${h.default.dim(J.path)}`)}if(A.length>0){Q.message(` ${h.default.yellow("Missing installations:")}`);for(let J of A)Q.message(` ${h.default.dim("•")} ${J.agent}: ${h.default.dim(J.path)}`)}}}if(!u)Q.info(`Use ${h.default.cyan("--verbose")} or ${h.default.cyan("-v")} for detailed information`)}async function kC(D={}){let u=mD();u.start("Checking for orphaned entries..."),await Promise.all([QC(),WC()]),u.stop(h.default.green("State cleaned up"))}async function vC(D,u){if(!u.silent)TD(wF.default.bgCyan(wF.default.black(" flins ")));try{await fC(D.length>0?D:void 0,u)}catch(F){if(Q.error(F instanceof Error?F.message:"Unknown error occurred"),!u.silent)a(wF.default.red("Couldn't update skill(s)"));process.exit(1)}}jD();var B0=o(UD(),1);async function hC(D,u={}){if(!u.silent)TD(B0.default.bgCyan(B0.default.black(" flins ")));try{let F=await P3(D.length>0?D:void 0),E=u.verbose||D.length>0;if(await bC(F,E),!u.silent)a(B0.default.green("All checks complete"))}catch(F){if(Q.error(F instanceof Error?F.message:"Unknown error occurred"),!u.silent)a(B0.default.red("Couldn't check status"));process.exit(1)}}jD();var MF=o(UD(),1);jD();zF();VF();var p=o(UD(),1);import{existsSync as $J,rmSync as IJ}from"fs";cD();LF();function gC(){let D=[],u=new Set,F=TF();if(F)for(let[C,B]of Object.entries(F.skills)){let A=Pu(C);if(A)D.push({skillName:A.name,url:B.url,subpath:B.subpath,branch:B.branch,commit:B.commit,isLocal:!0,installableType:A.installableType}),u.add(`${A.installableType}:${A.name.toLowerCase()}`)}let E=UF();for(let[C,B]of Object.entries(E.skills)){let A=Pu(C),J=A?`${A.installableType}:${A.name.toLowerCase()}`:C.toLowerCase();if(!u.has(J))D.push({skillName:A?.name??C,url:B.url,subpath:B.subpath,branch:B.branch,commit:B.commit,isLocal:!1,installableType:A?.installableType??"skill"})}return D}async function YJ(D){try{if($J(D))IJ(D,{recursive:!0,force:!0});return{success:!0}}catch(u){return{success:!1,error:u instanceof Error?u.message:"Unknown error"}}}async function mC(D=[],u={}){let F=gC(),E=[];if(F.length===0)return C0(),[];let C;if(D.length>0){let H=new Set(D.map((Y)=>Y.toLowerCase()));C=F.filter(({skillName:Y})=>H.has(Y.toLowerCase()))}else{let Y=F.map(({skillName:q,isLocal:G,installableType:_})=>{let z=(G?Au(q,_):Bu(q,_)).map((R)=>({installation:R,resolvedPath:Cu(R)})).filter(({installation:R,resolvedPath:P})=>Ju(P,R.installableType));return{value:q,label:q,hint:z.length>0?`${z.length} ${ND(z.length,"installation")}`:"no valid installations"}}).filter((q)=>q.hint!=="no valid installations");if(Y.length===0)return Q.warn("No valid installations found"),[];if(u.yes||u.force)C=F.filter(({skillName:q})=>Y.some((G)=>G.value===q));else{let q=await bD({message:"Select skills to remove",options:Y,required:!0,initialValues:Y.map((_)=>_.value)});if(AD(q))return $D("Remove cancelled"),[];let G=q;C=F.filter(({skillName:_})=>G.includes(_))}}if(C.length===0){if(D.length>0){Q.error(`No matching skills found for: ${D.join(", ")}`),Q.info("Tracked skills:");for(let H of F)Q.message(` - ${p.default.cyan(H.skillName)}`)}return[]}Q.step(p.default.bold("Skills to Remove"));let B=[];for(let{skillName:H,isLocal:Y,installableType:L}of C){let G=(Y?Au(H,L):Bu(H,L)).map((_)=>({installation:_,resolvedPath:Cu(_)})).filter(({installation:_,resolvedPath:O})=>Ju(O,_.installableType));if(G.length>0){B.push({skillName:H,isLocal:Y,installableType:L,installations:G}),Q.message(` ${p.default.cyan(H)}`);for(let{resolvedPath:_}of G)Q.message(` ${p.default.dim("→")} ${_}`)}}if(B.length===0)return Q.warn("No installations match the specified criteria"),[];let A=D.length===0,J,I=u.yes||u.force;if(I||A)J=B.map(({skillName:H})=>H);else{let H=B.map(({skillName:L,installations:q})=>({value:L,label:L,hint:`${q.length} ${ND(q.length,"installation")}`})),Y=await bD({message:"Select skills to remove",options:H,required:!0,initialValues:B.map(({skillName:L})=>L)});if(AD(Y))return $D("Remove cancelled"),[];J=Y}Q.step(p.default.bold("Will Remove"));for(let H of J){let Y=B.find((L)=>L.skillName===H);if(Y){Q.message(` ${p.default.cyan(Y.skillName)}`);for(let{resolvedPath:L}of Y.installations)Q.message(` ${p.default.dim("→")} ${L}`)}}if(!I){let H=await Eu({message:"Remove these skills?"});if(AD(H)||!H)return $D("Remove cancelled"),[]}let $=mD();$.start(`Removing ${J.length} skill${J.length>1?"s":""}...`);for(let{skillName:H,isLocal:Y,installableType:L,installations:q}of B){if(!J.includes(H))continue;let G={skillName:H,success:!0,removed:0,failed:0,installations:[]};for(let{installation:_,resolvedPath:O}of q){let z=await YJ(O);if(G.installations.push({agent:l[_.agent].displayName,path:O,removed:z.success,error:z.error}),z.success)G.removed++;else G.failed++,G.success=!1}if(G.removed>0)if(Y)OC(H,L);else KF(H,L);E.push(G)}$.stop("Remove complete");let Z=E.filter((H)=>H.success&&H.removed>0),X=E.filter((H)=>!H.success||H.failed>0);if(Z.length>0){Q.success(p.default.green(`Removed ${Z.length} ${ND(Z.length,"skill")}`));for(let H of Z)Q.message(` ${p.default.green("✓")} ${p.default.cyan(H.skillName)}`),Q.message(` ${p.default.dim(`${H.removed} ${ND(H.removed,"installation")} removed`)}`)}if(X.length>0){Q.error(p.default.red(`Failed to remove ${X.length} ${ND(X.length,"skill")}`));for(let H of X){Q.message(` ${p.default.red("✗")} ${p.default.cyan(H.skillName)}`);for(let Y of H.installations.filter((L)=>!L.removed))if(Y.error)Q.message(` ${p.default.dim(Y.error)}`)}}if(Z.length>0)a(p.default.green("Skills removed successfully"));else a(p.default.yellow("No skills were removed"));return E}async function cC(){let D=gC();if(D.length===0){C0();return}Q.step(p.default.bold("Installed Skills and Commands"));let u=[],F=[];for(let{skillName:E,isLocal:C,installableType:B}of D)if(C)u.push({skillName:E,installableType:B});else F.push({skillName:E,installableType:B});if(u.length>0){if(F.length>0)Q.message(p.default.bold(p.default.cyan("Local (from ./skills.lock)")));for(let{skillName:E,installableType:C}of u){Q.message(`${p.default.green("✓")} ${p.default.cyan(C+":"+E)} ${C==="command"?p.default.yellow("(experimental)"):""}`);let A=Au(E,C).map((J)=>({installation:J,resolvedPath:Cu(J)})).filter(({installation:J,resolvedPath:I})=>Ju(I,J.installableType));if(A.length>0){Q.message(` ${p.default.dim("Installed in:")}`);for(let{installation:J,resolvedPath:I}of A)Q.message(` ${p.default.dim("•")} ${l[J.agent].displayName}: ${p.default.dim(I)}`)}}}if(F.length>0){if(u.length>0)Q.message(p.default.bold(p.default.cyan("Global (from ~/.flins/skills.lock)")));for(let{skillName:E,installableType:C}of F){let B=C==="command"?p.default.yellow("⚡"):p.default.green("✓");Q.message(`${B} ${p.default.cyan(E)}`);let J=Bu(E,C).map((I)=>({installation:I,resolvedPath:Cu(I)})).filter(({installation:I,resolvedPath:$})=>Ju($,I.installableType));if(J.length>0){Q.message(` ${p.default.dim("Installed in:")}`);for(let{installation:I,resolvedPath:$}of J)Q.message(` ${p.default.dim("•")} ${l[I.agent].displayName}: ${p.default.dim($)}`)}}}}async function lC(D,u){if(!u.silent)TD(MF.default.bgCyan(MF.default.black(" flins ")));try{await mC(D,u)}catch(F){if(Q.error(F instanceof Error?F.message:"Unknown error occurred"),!u.silent)a(MF.default.red("Couldn't remove skill(s)"));process.exit(1)}}jD();var A0=o(UD(),1);async function dC(){TD(A0.default.bgCyan(A0.default.black(" flins ")));try{await cC(),a(A0.default.green("Showing all installed skills"))}catch(D){Q.error(D instanceof Error?D.message:"Unknown error occurred"),a(A0.default.red("Couldn't list skills")),process.exit(1)}}jD();M3();var qD=o(UD(),1);async function nC(){TD(qD.default.bgCyan(qD.default.black(" flins ")));try{let D=mD();D.start("Loading skill directory...");let u=await NF();if(D.stop("Directory loaded"),u.length===0){Q.warn("No skills found in directory"),a("Check back later for new skills");return}let F=await lE({message:"Select a skill to view details:",options:u.map((J)=>({value:J.name,label:J.name,hint:`${J.author} - ${J.description.slice(0,50)}${J.description.length>50?"...":""}`})),placeholder:"Type to search..."});if(AD(F)){$D("Search cancelled");return}let E=Array.isArray(F)&&F.length>0?F[0]:F;if(!E){$D("No selection made");return}let C=u.find((J)=>J.name===E);if(!C)return;XJ(C);let B=await Eu({message:"Install this skill?"});if(AD(B)||!B){a("Install anytime with "+qD.default.green(`flins add ${C.name}`));return}let{installCommand:A}=await Promise.resolve().then(() => (j3(),SC));await A(C.name,{})}catch(D){Q.error(D instanceof Error?D.message:"Failed to fetch directory"),a(qD.default.red("Couldn't load directory")),process.exit(1)}}function XJ(D){if(Q.step(qD.default.bold("Skill Details")),Q.message(`${qD.default.cyan(D.name)}`),Q.message(` ${qD.default.dim(D.description)}`),D.tags.length>0)Q.message(` ${qD.default.bold("Tags:")} ${D.tags.map((u)=>qD.default.green(u)).join(", ")}`);Q.message(` ${qD.default.bold("Author:")} ${qD.default.yellow(D.author)}`),Q.message(` ${qD.default.bold("Source:")} ${qD.default.dim(D.source)}`),Q.message(` ${qD.default.dim("Install with:")} ${qD.default.green(`flins add ${D.name}`)}`)}jD();var J0=o(UD(),1);async function iC(D={}){if(!D.silent)TD(J0.default.bgCyan(J0.default.black(" flins ")));try{if(await kC(D),!D.silent)a(J0.default.green("State cleaned up"))}catch(u){if(Q.error(u instanceof Error?u.message:"Unknown error occurred"),!D.silent)a(J0.default.red("Cleanup failed"));process.exit(1)}}import Su from"node:process";import{spawn as HH}from"node:child_process";import{fileURLToPath as LH}from"node:url";import H4 from"node:path";import{format as e8}from"node:util";var X0=o(F6(),1);import Y0 from"node:path";import fJ from"node:os";import RJ from"os";import fF from"path";var $u=RJ.homedir(),{env:Qu}=process,E6=Qu.XDG_DATA_HOME||($u?fF.join($u,".local","share"):void 0),fu=Qu.XDG_CONFIG_HOME||($u?fF.join($u,".config"):void 0),QG=Qu.XDG_STATE_HOME||($u?fF.join($u,".local","state"):void 0),KG=Qu.XDG_CACHE_HOME||($u?fF.join($u,".cache"):void 0),UG=Qu.XDG_RUNTIME_DIR||void 0,WJ=(Qu.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(E6)WJ.unshift(E6);var TJ=(Qu.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(fu)TJ.unshift(fu);import xJ from"node:path";import r from"node:fs";import{promisify as GD}from"node:util";var VJ=(D,u)=>{let{onError:F}=u;return function(...C){return D.apply(void 0,C).catch(F)}},lD=VJ;var NJ=(D,u)=>{let{onError:F}=u;return function(...C){try{return D.apply(void 0,C)}catch(B){return F(B)}}},vD=NJ;var C6=250;var wJ=(D,u)=>{let{isRetriable:F}=u;return function(C){let{timeout:B}=C,A=C.interval??C6,J=Date.now()+B;return function I(...$){return D.apply(void 0,$).catch((Z)=>{if(!F(Z))throw Z;if(Date.now()>=J)throw Z;let X=Math.round(A*Math.random());if(X>0)return new Promise((Y)=>setTimeout(Y,X)).then(()=>I.apply(void 0,$));else return I.apply(void 0,$)})}}},dD=wJ;var MJ=(D,u)=>{let{isRetriable:F}=u;return function(C){let{timeout:B}=C,A=Date.now()+B;return function(...I){while(!0)try{return D.apply(void 0,I)}catch($){if(!F($))throw $;if(Date.now()>=A)throw $;continue}}}},nD=MJ;import A6 from"node:process";var Z0={isChangeErrorOk:(D)=>{if(!Z0.isNodeError(D))return!1;let{code:u}=D;if(u==="ENOSYS")return!0;if(!B6&&(u==="EINVAL"||u==="EPERM"))return!0;return!1},isNodeError:(D)=>{return D instanceof Error},isRetriableError:(D)=>{if(!Z0.isNodeError(D))return!1;let{code:u}=D;if(u==="EMFILE"||u==="ENFILE"||u==="EAGAIN"||u==="EBUSY"||u==="EACCESS"||u==="EACCES"||u==="EACCS"||u==="EPERM")return!0;return!1},onChangeError:(D)=>{if(!Z0.isNodeError(D))throw D;if(Z0.isChangeErrorOk(D))return;throw D}},k3=Z0;var $0={onError:k3.onChangeError},VD={onError:()=>{return}},B6=A6.getuid?!A6.getuid():!1,XD={isRetriable:k3.isRetriableError};var SJ={attempt:{chmod:lD(GD(r.chmod),$0),chown:lD(GD(r.chown),$0),close:lD(GD(r.close),VD),fsync:lD(GD(r.fsync),VD),mkdir:lD(GD(r.mkdir),VD),realpath:lD(GD(r.realpath),VD),stat:lD(GD(r.stat),VD),unlink:lD(GD(r.unlink),VD),chmodSync:vD(r.chmodSync,$0),chownSync:vD(r.chownSync,$0),closeSync:vD(r.closeSync,VD),existsSync:vD(r.existsSync,VD),fsyncSync:vD(r.fsync,VD),mkdirSync:vD(r.mkdirSync,VD),realpathSync:vD(r.realpathSync,VD),statSync:vD(r.statSync,VD),unlinkSync:vD(r.unlinkSync,VD)},retry:{close:dD(GD(r.close),XD),fsync:dD(GD(r.fsync),XD),open:dD(GD(r.open),XD),readFile:dD(GD(r.readFile),XD),rename:dD(GD(r.rename),XD),stat:dD(GD(r.stat),XD),write:dD(GD(r.write),XD),writeFile:dD(GD(r.writeFile),XD),closeSync:nD(r.closeSync,XD),fsyncSync:nD(r.fsyncSync,XD),openSync:nD(r.openSync,XD),readFileSync:nD(r.readFileSync,XD),renameSync:nD(r.renameSync,XD),statSync:nD(r.statSync,XD),writeSync:nD(r.writeSync,XD),writeFileSync:nD(r.writeFileSync,XD)}},ID=SJ;import Ku from"node:process";var J6="utf8",v3=438,Z6=511;var $6={},I6=Ku.geteuid?Ku.geteuid():-1,Y6=Ku.getegid?Ku.getegid():-1;var X6=1000,H6=!!Ku.getuid,nG=Ku.getuid?!Ku.getuid():!1,h3=128;var L6=(D)=>{return D instanceof Error&&"code"in D};var g3=(D)=>{return typeof D==="string"},bF=(D)=>{return D===void 0};import PJ from"node:path";import bu from"node:process";import q6 from"node:process";var G6=q6.platform==="linux",kF=q6.platform==="win32";var m3=["SIGHUP","SIGINT","SIGTERM"];if(!kF)m3.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(G6)m3.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var _6=m3;class Q6{constructor(){this.callbacks=new Set,this.exited=!1,this.exit=(D)=>{if(this.exited)return;this.exited=!0;for(let u of this.callbacks)u();if(D)if(kF&&(D!=="SIGINT"&&D!=="SIGTERM"&&D!=="SIGKILL"))bu.kill(bu.pid,"SIGTERM");else bu.kill(bu.pid,D)},this.hook=()=>{bu.once("exit",()=>this.exit());for(let D of _6)try{bu.once(D,()=>this.exit(D))}catch{}},this.register=(D)=>{return this.callbacks.add(D),()=>{this.callbacks.delete(D)}},this.hook()}}var K6=new Q6;var jJ=K6.register,U6=jJ;var wD={store:{},create:(D)=>{let u=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6),F=Date.now().toString().slice(-10),E="tmp-",C=`.tmp-${F}${u}`;return`${D}${C}`},get:(D,u,F=!0)=>{let E=wD.truncate(u(D));if(E in wD.store)return wD.get(D,u,F);return wD.store[E]=F,[E,()=>delete wD.store[E]]},purge:(D)=>{if(!wD.store[D])return;delete wD.store[D],ID.attempt.unlink(D)},purgeSync:(D)=>{if(!wD.store[D])return;delete wD.store[D],ID.attempt.unlinkSync(D)},purgeSyncAll:()=>{for(let D in wD.store)wD.purgeSync(D)},truncate:(D)=>{let u=PJ.basename(D);if(u.length<=h3)return D;let F=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(u);if(!F)return D;let E=u.length-h3;return`${D.slice(0,-u.length)}${F[1]}${F[2].slice(0,-E)}${F[3]}`}};U6(wD.purgeSyncAll);var I0=wD;function vF(D,u,F=$6){if(g3(F))return vF(D,u,{encoding:F});let C={timeout:F.timeout??X6},B=null,A=null,J=null;try{let I=ID.attempt.realpathSync(D),$=!!I;D=I||D,[A,B]=I0.get(D,F.tmpCreate||I0.create,F.tmpPurge!==!1);let Z=H6&&bF(F.chown),X=bF(F.mode);if($&&(Z||X)){let H=ID.attempt.statSync(D);if(H){if(F={...F},Z)F.chown={uid:H.uid,gid:H.gid};if(X)F.mode=H.mode}}if(!$){let H=xJ.dirname(D);ID.attempt.mkdirSync(H,{mode:Z6,recursive:!0})}if(J=ID.retry.openSync(C)(A,"w",F.mode||v3),F.tmpCreated)F.tmpCreated(A);if(g3(u))ID.retry.writeSync(C)(J,u,0,F.encoding||J6);else if(!bF(u))ID.retry.writeSync(C)(J,u,0,u.length,0);if(F.fsync!==!1)if(F.fsyncWait!==!1)ID.retry.fsyncSync(C)(J);else ID.attempt.fsync(J);if(ID.retry.closeSync(C)(J),J=null,F.chown&&(F.chown.uid!==I6||F.chown.gid!==Y6))ID.attempt.chownSync(A,F.chown.uid,F.chown.gid);if(F.mode&&F.mode!==v3)ID.attempt.chmodSync(A,F.mode);try{ID.retry.renameSync(C)(A,D)}catch(H){if(!L6(H))throw H;if(H.code!=="ENAMETOOLONG")throw H;ID.retry.renameSync(C)(A,I0.truncate(D))}B(),A=null}finally{if(J)ID.attempt.closeSync(J);if(A)I0.purge(A)}}var Uu=(D)=>{let u=typeof D;return D!==null&&(u==="object"||u==="function")};var c3=new Set(["__proto__","prototype","constructor"]),yJ=new Set("0123456789");function hF(D){let u=[],F="",E="start",C=!1;for(let B of D)switch(B){case"\\":{if(E==="index")throw Error("Invalid character in an index");if(E==="indexEnd")throw Error("Invalid character after an index");if(C)F+=B;E="property",C=!C;break}case".":{if(E==="index")throw Error("Invalid character in an index");if(E==="indexEnd"){E="property";break}if(C){C=!1,F+=B;break}if(c3.has(F))return[];u.push(F),F="",E="property";break}case"[":{if(E==="index")throw Error("Invalid character in an index");if(E==="indexEnd"){E="index";break}if(C){C=!1,F+=B;break}if(E==="property"){if(c3.has(F))return[];u.push(F),F=""}E="index";break}case"]":{if(E==="index"){u.push(Number.parseInt(F,10)),F="",E="indexEnd";break}if(E==="indexEnd")throw Error("Invalid character after an index")}default:{if(E==="index"&&!yJ.has(B))throw Error("Invalid character in an index");if(E==="indexEnd")throw Error("Invalid character after an index");if(E==="start")E="property";if(C)C=!1,F+="\\";F+=B}}if(C)F+="\\";switch(E){case"property":{if(c3.has(F))return[];u.push(F);break}case"index":throw Error("Index was not closed");case"start":{u.push("");break}}return u}function l3(D,u){if(typeof u!=="number"&&Array.isArray(D)){let F=Number.parseInt(u,10);return Number.isInteger(F)&&D[F]===D[u]}return!1}function z6(D,u){if(l3(D,u))throw Error("Cannot use string index")}function O6(D,u,F){if(!Uu(D)||typeof u!=="string")return F===void 0?D:F;let E=hF(u);if(E.length===0)return F;for(let C=0;C<E.length;C++){let B=E[C];if(l3(D,B))D=C===E.length-1?void 0:null;else D=D[B];if(D===void 0||D===null){if(C!==E.length-1)return F;break}}return D===void 0?F:D}function d3(D,u,F){if(!Uu(D)||typeof u!=="string")return D;let E=D,C=hF(u);for(let B=0;B<C.length;B++){let A=C[B];if(z6(D,A),B===C.length-1)D[A]=F;else if(!Uu(D[A]))D[A]=typeof C[B+1]==="number"?[]:{};D=D[A]}return E}function R6(D,u){if(!Uu(D)||typeof u!=="string")return!1;let F=hF(u);for(let E=0;E<F.length;E++){let C=F[E];if(z6(D,C),E===F.length-1)return delete D[C],!0;if(D=D[C],!Uu(D))return!1}}function W6(D,u){if(!Uu(D)||typeof u!=="string")return!1;let F=hF(u);if(F.length===0)return!1;for(let E of F){if(!Uu(D)||!(E in D)||l3(D,E))return!1;D=D[E]}return!0}function bJ(D,u){let F=u?Y0.join(D,"config.json"):Y0.join("configstore",`${D}.json`),E=fu??X0.default.mkdtempSync(X0.default.realpathSync(fJ.tmpdir())+Y0.sep);return Y0.join(E,F)}var kJ="You don't have access to this file.",vJ={mode:448,recursive:!0},T6={mode:384};function V6(D){if(D.code==="EACCES")D.message=`${D.message}
141
+ `,C=u.pad||" ",B=F!=="right"?iX:pX,A=!1;if(!Array.isArray(D))A=!0,D=String(D).split(E);let J,I=0;return D=D.map(function($){return $=String($),J=nX($),I=Math.max(J,I),{str:$,width:J}}).map(function($){return Array(B(I,$.width)+1).join(C)+$.str}),A?D.join(E):D}Mu.left=function(u){return Mu(u,{align:"left"})};Mu.center=function(u){return Mu(u,{align:"center"})};Mu.right=function(u){return Mu(u,{align:"right"})};p9.exports=Mu;function iX(D,u){return Math.floor((D-u)/2)}function pX(D,u){return D-u}});var _E=o(GE(),1),{program:SD,createCommand:wH,createArgument:MH,createOption:SH,CommanderError:jH,InvalidArgumentError:PH,InvalidOptionArgumentError:xH,Command:yH,Argument:fH,Option:bH,Help:kH}=_E.default;var v0={name:"flins",version:"0.0.7",description:"Universal skill installer for AI coding agents - Claude, Cursor, Copilot, and more",keywords:["agent-skills","ai-agents","claude","cli","coding-assistant","copilot","cursor","github-copilot","skills"],homepage:"https://github.com/flinstech/flins#readme",bugs:{url:"https://github.com/flinstech/flins/issues"},license:"MIT",author:"flins",repository:{type:"git",url:"git+https://github.com/flinstech/flins.git"},bin:{flins:"./dist/index.js"},files:["dist","README.md"],type:"module",module:"src/index.ts",scripts:{build:"bun build src/index.ts --outdir dist --target node --minify",dev:"bun src/index.ts",typecheck:"tsgo --noEmit",prepublishOnly:"bun run build",lint:"oxlint","lint:fix":"oxlint --fix",fmt:"oxfmt","fmt:check":"oxfmt --check"},dependencies:{"@clack/prompts":"^1.0.0-alpha.9",commander:"^14.0.2",picocolors:"^1.1.1","update-notifier":"^7.3.1"},devDependencies:{"@types/bun":"latest","@types/update-notifier":"^6.0.8","@typescript/native-preview":"^7.0.0-dev.20260116.1","bun-types":"^1.3.6",oxfmt:"^0.24.0",oxlint:"^1.39.0"}};j3();jD();var wF=o(UD(),1);jD();H3();Q3();z3();R3();W3();zF();VF();var v=o(UD(),1);import{join as ZJ}from"path";function Pu(D){if(D.startsWith("skill:"))return{type:"skill",name:D.slice(6),installableType:"skill"};if(D.startsWith("command:"))return{type:"command",name:D.slice(8),installableType:"command"};return null}cD();import{existsSync as jC,readdirSync as BJ,statSync as PC}from"fs";function AJ(D){if(!jC(D))return!1;try{if(!PC(D).isDirectory())return!1;let F=BJ(D);if(F.length===0)return!1;return F.includes("SKILL.md")}catch{return!1}}function JJ(D){if(!jC(D))return!1;try{if(!PC(D).isFile())return!1;return D.endsWith(".md")}catch{return!1}}function Ju(D,u){return u==="skill"?AJ(D):JJ(D)}LF();jD();var xu=o(UD(),1);function C0(){Q.warn("No skills installed yet. Get started by installing a skill:"),Q.message(` ${xu.default.cyan("npx flins@latest <repo>")} # Install in current project`),Q.message(` ${xu.default.cyan("npx flins@latest <repo> --global")} # Install globally for all projects`),Q.message(` ${xu.default.dim("Examples:")}`),Q.message(` ${xu.default.cyan("npx flins@latest expo")} # Install from flins directory`),Q.message(` ${xu.default.cyan("npx flins@latest search")} # Browse available skills`)}var ND=(D,u,F)=>{return D===1?u:F??`${u}s`};function yC(){let D=[],u=new Set,F=TF();if(F)for(let[C,B]of Object.entries(F.skills)){let A=Pu(C);if(A)D.push({skillName:A.name,url:B.url,subpath:B.subpath,branch:B.branch,commit:B.commit,isLocal:!0,installableType:A.installableType}),u.add(`${A.installableType}:${A.name.toLowerCase()}`)}let E=UF();for(let[C,B]of Object.entries(E.skills)){let A=Pu(C),J=A?`${A.installableType}:${A.name.toLowerCase()}`:C.toLowerCase();if(!u.has(J))D.push({skillName:A?.name??C,url:B.url,subpath:B.subpath,branch:B.branch,commit:B.commit,isLocal:!1,installableType:A?.installableType??"skill"})}return D}async function xC(D,u,F,E,C,B){let J=(C?Au(D,B):Bu(D,B)).map(($)=>{let Z=Cu($);return{agent:l[$.agent].displayName,path:Z,exists:Ju(Z,$.installableType)}});if(J.filter(($)=>$.exists).length===0)return{skillName:D,currentCommit:E,latestCommit:E,status:"orphaned",installableType:B,installations:J};try{let $=await iE(u,F);return{skillName:D,currentCommit:E,latestCommit:$,status:$===E?"latest":"update-available",installableType:B,installations:J}}catch($){return{skillName:D,currentCommit:E,latestCommit:E,status:"error",installableType:B,installations:J,error:$ instanceof Error?$.message:"Unknown error"}}}async function P3(D){let u=yC(),F=[],E;if(D&&D.length>0){let B=new Set(D.map((A)=>A.toLowerCase()));E=u.filter(({skillName:A})=>B.has(A.toLowerCase()))}else E=u;if(E.length===0)return[];let C=mD();if(E.length===1){let{skillName:B,url:A,branch:J,commit:I,isLocal:$,installableType:Z}=E[0];C.start(`Checking ${v.default.cyan(B)}...`);let X=await xC(B,A,J,I,$,Z);C.stop(X.status==="latest"?v.default.green("Up to date"):v.default.yellow("Update available")),F.push(X)}else{C.start(`Checking ${E.length} ${ND(E.length,"skill")}...`);for(let{skillName:B,url:A,branch:J,commit:I,isLocal:$,installableType:Z}of E){let X=await xC(B,A,J,I,$,Z);F.push(X)}C.stop("Check complete")}return F}async function fC(D,u={}){let F=yC(),E=[],C;if(D&&D.length>0){let Y=new Set(D.map((L)=>L.toLowerCase()));C=F.filter(({skillName:L})=>Y.has(L.toLowerCase()))}else C=F;if(C.length===0)return Q.warn("No skills found to update"),a(v.default.yellow("Nothing to update")),[];let B=await P3(D),A=B.filter((Y)=>Y.status==="update-available");if(A.length===0){let Y=B.filter((L)=>L.status==="orphaned");if(Y.length>0){Q.warn(`${Y.length} skill${Y.length>1?"s":""} ${Y.length>1?"have":"has"} no valid installations`);for(let L of Y)Q.message(` ${v.default.yellow("○")} ${v.default.cyan(L.skillName)} - files were removed`)}return Q.success(v.default.green("All skills are up to date")),a(v.default.green("Already up to date")),[]}Q.step(v.default.bold("Updates Available"));let J=A.map((Y)=>({value:Y.skillName,label:Y.skillName,hint:`${Y.currentCommit.slice(0,7)} → ${Y.latestCommit.slice(0,7)}`})),I,$=u.yes||u.force;if($)I=A.map((Y)=>Y.skillName);else{let Y=await bD({message:"Select skills to update",options:J,required:!0,initialValues:A.map((L)=>L.skillName)});if(AD(Y))return $D("Update cancelled"),[];I=Y}Q.step(v.default.bold("Will Update"));for(let Y of I){let L=A.find((q)=>q.skillName===Y);if(L)Q.message(` ${v.default.cyan(L.skillName)}`),Q.message(` ${v.default.dim("Current:")} ${v.default.yellow(L.currentCommit.slice(0,7))} ${v.default.dim("→")} ${v.default.green(L.latestCommit.slice(0,7))}`)}if(!$){let Y=await Eu({message:"Proceed with update?"});if(AD(Y)||!Y)return $D("Update cancelled"),[]}let Z=mD();Z.start(`Updating ${I.length} ${ND(I.length,"skill")}...`);for(let{skillName:Y,url:L,subpath:q,isLocal:G,installableType:_}of C){let O=B.find((f)=>f.skillName===Y);if(!O||O.status!=="update-available"){if(O?.status==="latest")E.push({skillName:Y,success:!0,updated:0,failed:0});else E.push({skillName:Y,success:!1,updated:0,failed:0});continue}if(!I.includes(Y))continue;let z=null,R=0,P=0;try{z=await FF(L);let f=await EF(z),W=q?ZJ(z,q):z,M=await ZF(W),U=await $F(W),V=M.find((w)=>w.name.toLowerCase()===Y.toLowerCase()),N=U.find((w)=>w.name.toLowerCase()===Y.toLowerCase());if(!V&&!N)throw Error("Skill or command not found in repository");let m=G?Au(Y,_):Bu(Y,_);for(let w of m){let k=Cu(w);if(!Ju(k,w.installableType)){if(!G)KF(Y,_);continue}let x;if(w.installableType==="command"&&N)x=await XF(N,w.agent,{global:w.type==="global"});else if(V)x=await IF(V,w.agent,{global:w.type==="global"});else{P++;continue}if(x.success)R++;else P++}if(G)RC(Y,_,f);else _C(Y,_,f);E.push({skillName:Y,success:P===0,updated:R,failed:P})}catch(f){E.push({skillName:Y,success:!1,updated:R,failed:P+1,error:f instanceof Error?f.message:"Unknown error"})}finally{if(z)await CF(z)}}Z.stop("Update complete");let X=E.filter((Y)=>Y.success&&Y.updated>0),H=E.filter((Y)=>!Y.success||Y.failed>0);if(X.length>0){Q.success(v.default.green(`Updated ${X.length} ${ND(X.length,"skill")}`));for(let Y of X)Q.message(` ${v.default.green("✓")} ${v.default.cyan(Y.skillName)} (${Y.updated} ${ND(Y.updated,"installation")})`)}if(H.length>0){Q.error(v.default.red(`Failed to update ${H.length} ${ND(H.length,"skill")}`));for(let Y of H)if(Q.message(` ${v.default.red("✗")} ${v.default.cyan(Y.skillName)}`),Y.error)Q.message(` ${v.default.dim(Y.error)}`)}if(X.length>0)a(v.default.green("Skills updated successfully"));else a(v.default.yellow("No skills were updated"));return E}async function bC(D,u=!1){if(D.length===0){C0();return}Q.step(v.default.bold("Skills Status"));for(let F of D){let E={latest:v.default.green("✓"),"update-available":v.default.yellow("↓"),error:v.default.red("✗"),orphaned:v.default.dim("○")}[F.status],C={latest:v.default.green("latest"),"update-available":v.default.yellow("update available"),error:v.default.red("error"),orphaned:v.default.dim("orphaned")}[F.status],B=F.installations.filter((J)=>J.exists),A=F.installations.filter((J)=>!J.exists);if(!u){let J=B.length,I=J>0?` (${J} ${ND(J,"installation")})`:"";Q.message(`${E} ${v.default.cyan(F.installableType+":"+F.skillName)}${v.default.dim(I)} - ${C}`)}else{if(Q.message(`${E} ${v.default.cyan(F.installableType+":"+F.skillName)}`),Q.message(` Status: ${C}`),F.status==="update-available")Q.message(` ${v.default.dim("Commit:")} ${v.default.yellow(F.currentCommit.slice(0,7))} ${v.default.dim("→")} ${v.default.green(F.latestCommit.slice(0,7))}`);else if(F.status==="latest")Q.message(` ${v.default.dim("Commit:")} ${F.currentCommit.slice(0,7)}`);if(F.error)Q.message(` ${v.default.red(F.error)}`);if(B.length>0){Q.message(` ${v.default.dim("Installed in:")}`);for(let J of B)Q.message(` ${v.default.dim("•")} ${J.agent}: ${v.default.dim(J.path)}`)}if(A.length>0){Q.message(` ${v.default.yellow("Missing installations:")}`);for(let J of A)Q.message(` ${v.default.dim("•")} ${J.agent}: ${v.default.dim(J.path)}`)}}}if(!u)Q.info(`Use ${v.default.cyan("--verbose")} or ${v.default.cyan("-v")} for detailed information`)}async function kC(D={}){let u=mD();u.start("Checking for orphaned entries..."),await Promise.all([QC(),WC()]),u.stop(v.default.green("State cleaned up"))}async function vC(D,u){if(!u.silent)TD(wF.default.bgCyan(wF.default.black(" flins ")));try{await fC(D.length>0?D:void 0,u)}catch(F){if(Q.error(F instanceof Error?F.message:"Unknown error occurred"),!u.silent)a(wF.default.red("Couldn't update skill(s)"));process.exit(1)}}jD();var B0=o(UD(),1);async function hC(D,u={}){if(!u.silent)TD(B0.default.bgCyan(B0.default.black(" flins ")));try{let F=await P3(D.length>0?D:void 0),E=u.verbose||D.length>0;if(await bC(F,E),!u.silent)a(B0.default.green("All checks complete"))}catch(F){if(Q.error(F instanceof Error?F.message:"Unknown error occurred"),!u.silent)a(B0.default.red("Couldn't check status"));process.exit(1)}}jD();var MF=o(UD(),1);jD();zF();VF();var p=o(UD(),1);import{existsSync as $J,rmSync as IJ}from"fs";cD();LF();function gC(){let D=[],u=new Set,F=TF();if(F)for(let[C,B]of Object.entries(F.skills)){let A=Pu(C);if(A)D.push({skillName:A.name,url:B.url,subpath:B.subpath,branch:B.branch,commit:B.commit,isLocal:!0,installableType:A.installableType}),u.add(`${A.installableType}:${A.name.toLowerCase()}`)}let E=UF();for(let[C,B]of Object.entries(E.skills)){let A=Pu(C),J=A?`${A.installableType}:${A.name.toLowerCase()}`:C.toLowerCase();if(!u.has(J))D.push({skillName:A?.name??C,url:B.url,subpath:B.subpath,branch:B.branch,commit:B.commit,isLocal:!1,installableType:A?.installableType??"skill"})}return D}async function YJ(D){try{if($J(D))IJ(D,{recursive:!0,force:!0});return{success:!0}}catch(u){return{success:!1,error:u instanceof Error?u.message:"Unknown error"}}}async function mC(D=[],u={}){let F=gC(),E=[];if(F.length===0)return C0(),[];let C;if(D.length>0){let H=new Set(D.map((Y)=>Y.toLowerCase()));C=F.filter(({skillName:Y})=>H.has(Y.toLowerCase()))}else{let Y=F.map(({skillName:q,isLocal:G,installableType:_})=>{let z=(G?Au(q,_):Bu(q,_)).map((R)=>({installation:R,resolvedPath:Cu(R)})).filter(({installation:R,resolvedPath:P})=>Ju(P,R.installableType));return{value:q,label:q,hint:z.length>0?`${z.length} ${ND(z.length,"installation")}`:"no valid installations"}}).filter((q)=>q.hint!=="no valid installations");if(Y.length===0)return Q.warn("No valid installations found"),[];if(u.yes||u.force)C=F.filter(({skillName:q})=>Y.some((G)=>G.value===q));else{let q=await bD({message:"Select skills to remove",options:Y,required:!0,initialValues:Y.map((_)=>_.value)});if(AD(q))return $D("Remove cancelled"),[];let G=q;C=F.filter(({skillName:_})=>G.includes(_))}}if(C.length===0){if(D.length>0){Q.error(`No matching skills found for: ${D.join(", ")}`),Q.info("Tracked skills:");for(let H of F)Q.message(` - ${p.default.cyan(H.skillName)}`)}return[]}Q.step(p.default.bold("Skills to Remove"));let B=[];for(let{skillName:H,isLocal:Y,installableType:L}of C){let G=(Y?Au(H,L):Bu(H,L)).map((_)=>({installation:_,resolvedPath:Cu(_)})).filter(({installation:_,resolvedPath:O})=>Ju(O,_.installableType));if(G.length>0){B.push({skillName:H,isLocal:Y,installableType:L,installations:G}),Q.message(` ${p.default.cyan(H)}`);for(let{resolvedPath:_}of G)Q.message(` ${p.default.dim("→")} ${_}`)}}if(B.length===0)return Q.warn("No installations match the specified criteria"),[];let A=D.length===0,J,I=u.yes||u.force;if(I||A)J=B.map(({skillName:H})=>H);else{let H=B.map(({skillName:L,installations:q})=>({value:L,label:L,hint:`${q.length} ${ND(q.length,"installation")}`})),Y=await bD({message:"Select skills to remove",options:H,required:!0,initialValues:B.map(({skillName:L})=>L)});if(AD(Y))return $D("Remove cancelled"),[];J=Y}Q.step(p.default.bold("Will Remove"));for(let H of J){let Y=B.find((L)=>L.skillName===H);if(Y){Q.message(` ${p.default.cyan(Y.skillName)}`);for(let{resolvedPath:L}of Y.installations)Q.message(` ${p.default.dim("→")} ${L}`)}}if(!I){let H=await Eu({message:"Remove these skills?"});if(AD(H)||!H)return $D("Remove cancelled"),[]}let $=mD();$.start(`Removing ${J.length} skill${J.length>1?"s":""}...`);for(let{skillName:H,isLocal:Y,installableType:L,installations:q}of B){if(!J.includes(H))continue;let G={skillName:H,success:!0,removed:0,failed:0,installations:[]};for(let{installation:_,resolvedPath:O}of q){let z=await YJ(O);if(G.installations.push({agent:l[_.agent].displayName,path:O,removed:z.success,error:z.error}),z.success)G.removed++;else G.failed++,G.success=!1}if(G.removed>0)if(Y)OC(H,L);else KF(H,L);E.push(G)}$.stop("Remove complete");let Z=E.filter((H)=>H.success&&H.removed>0),X=E.filter((H)=>!H.success||H.failed>0);if(Z.length>0){Q.success(p.default.green(`Removed ${Z.length} ${ND(Z.length,"skill")}`));for(let H of Z)Q.message(` ${p.default.green("✓")} ${p.default.cyan(H.skillName)}`),Q.message(` ${p.default.dim(`${H.removed} ${ND(H.removed,"installation")} removed`)}`)}if(X.length>0){Q.error(p.default.red(`Failed to remove ${X.length} ${ND(X.length,"skill")}`));for(let H of X){Q.message(` ${p.default.red("✗")} ${p.default.cyan(H.skillName)}`);for(let Y of H.installations.filter((L)=>!L.removed))if(Y.error)Q.message(` ${p.default.dim(Y.error)}`)}}if(Z.length>0)a(p.default.green("Skills removed successfully"));else a(p.default.yellow("No skills were removed"));return E}async function cC(){let D=gC();if(D.length===0){C0();return}Q.step(p.default.bold("Installed Skills and Commands"));let u=[],F=[];for(let{skillName:E,isLocal:C,installableType:B}of D)if(C)u.push({skillName:E,installableType:B});else F.push({skillName:E,installableType:B});if(u.length>0){if(F.length>0)Q.message(p.default.bold(p.default.cyan("Local (from ./skills.lock)")));for(let{skillName:E,installableType:C}of u){Q.message(`${p.default.green("✓")} ${p.default.cyan(C+":"+E)} ${C==="command"?p.default.yellow("(experimental)"):""}`);let A=Au(E,C).map((J)=>({installation:J,resolvedPath:Cu(J)})).filter(({installation:J,resolvedPath:I})=>Ju(I,J.installableType));if(A.length>0){Q.message(` ${p.default.dim("Installed in:")}`);for(let{installation:J,resolvedPath:I}of A)Q.message(` ${p.default.dim("•")} ${l[J.agent].displayName}: ${p.default.dim(I)}`)}}}if(F.length>0){if(u.length>0)Q.message(p.default.bold(p.default.cyan("Global (from ~/.flins/skills.lock)")));for(let{skillName:E,installableType:C}of F){let B=C==="command"?p.default.yellow("⚡"):p.default.green("✓");Q.message(`${B} ${p.default.cyan(E)}`);let J=Bu(E,C).map((I)=>({installation:I,resolvedPath:Cu(I)})).filter(({installation:I,resolvedPath:$})=>Ju($,I.installableType));if(J.length>0){Q.message(` ${p.default.dim("Installed in:")}`);for(let{installation:I,resolvedPath:$}of J)Q.message(` ${p.default.dim("•")} ${l[I.agent].displayName}: ${p.default.dim($)}`)}}}}async function lC(D,u){if(!u.silent)TD(MF.default.bgCyan(MF.default.black(" flins ")));try{await mC(D,u)}catch(F){if(Q.error(F instanceof Error?F.message:"Unknown error occurred"),!u.silent)a(MF.default.red("Couldn't remove skill(s)"));process.exit(1)}}jD();var A0=o(UD(),1);async function dC(){TD(A0.default.bgCyan(A0.default.black(" flins ")));try{await cC(),a(A0.default.green("Showing all installed skills"))}catch(D){Q.error(D instanceof Error?D.message:"Unknown error occurred"),a(A0.default.red("Couldn't list skills")),process.exit(1)}}jD();M3();var qD=o(UD(),1);async function nC(){TD(qD.default.bgCyan(qD.default.black(" flins ")));try{let D=mD();D.start("Loading skill directory...");let u=await NF();if(D.stop("Directory loaded"),u.length===0){Q.warn("No skills found in directory"),a("Check back later for new skills");return}let F=await lE({message:"Select a skill to view details:",options:u.map((J)=>({value:J.name,label:J.name,hint:`${J.author} - ${J.description.slice(0,50)}${J.description.length>50?"...":""}`})),placeholder:"Type to search..."});if(AD(F)){$D("Search cancelled");return}let E=Array.isArray(F)&&F.length>0?F[0]:F;if(!E){$D("No selection made");return}let C=u.find((J)=>J.name===E);if(!C)return;XJ(C);let B=await Eu({message:"Install this skill?"});if(AD(B)||!B){a("Install anytime with "+qD.default.green(`flins add ${C.name}`));return}let{installCommand:A}=await Promise.resolve().then(() => (j3(),SC));await A(C.name,{})}catch(D){Q.error(D instanceof Error?D.message:"Failed to fetch directory"),a(qD.default.red("Couldn't load directory")),process.exit(1)}}function XJ(D){if(Q.step(qD.default.bold("Skill Details")),Q.message(`${qD.default.cyan(D.name)}`),Q.message(` ${qD.default.dim(D.description)}`),D.tags.length>0)Q.message(` ${qD.default.bold("Tags:")} ${D.tags.map((u)=>qD.default.green(u)).join(", ")}`);Q.message(` ${qD.default.bold("Author:")} ${qD.default.yellow(D.author)}`),Q.message(` ${qD.default.bold("Source:")} ${qD.default.dim(D.source)}`),Q.message(` ${qD.default.dim("Install with:")} ${qD.default.green(`flins add ${D.name}`)}`)}jD();var J0=o(UD(),1);async function iC(D={}){if(!D.silent)TD(J0.default.bgCyan(J0.default.black(" flins ")));try{if(await kC(D),!D.silent)a(J0.default.green("State cleaned up"))}catch(u){if(Q.error(u instanceof Error?u.message:"Unknown error occurred"),!D.silent)a(J0.default.red("Cleanup failed"));process.exit(1)}}import Su from"node:process";import{spawn as HH}from"node:child_process";import{fileURLToPath as LH}from"node:url";import H4 from"node:path";import{format as e8}from"node:util";var X0=o(F6(),1);import Y0 from"node:path";import fJ from"node:os";import RJ from"os";import fF from"path";var $u=RJ.homedir(),{env:Qu}=process,E6=Qu.XDG_DATA_HOME||($u?fF.join($u,".local","share"):void 0),fu=Qu.XDG_CONFIG_HOME||($u?fF.join($u,".config"):void 0),QG=Qu.XDG_STATE_HOME||($u?fF.join($u,".local","state"):void 0),KG=Qu.XDG_CACHE_HOME||($u?fF.join($u,".cache"):void 0),UG=Qu.XDG_RUNTIME_DIR||void 0,WJ=(Qu.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(E6)WJ.unshift(E6);var TJ=(Qu.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(fu)TJ.unshift(fu);import xJ from"node:path";import r from"node:fs";import{promisify as GD}from"node:util";var VJ=(D,u)=>{let{onError:F}=u;return function(...C){return D.apply(void 0,C).catch(F)}},lD=VJ;var NJ=(D,u)=>{let{onError:F}=u;return function(...C){try{return D.apply(void 0,C)}catch(B){return F(B)}}},vD=NJ;var C6=250;var wJ=(D,u)=>{let{isRetriable:F}=u;return function(C){let{timeout:B}=C,A=C.interval??C6,J=Date.now()+B;return function I(...$){return D.apply(void 0,$).catch((Z)=>{if(!F(Z))throw Z;if(Date.now()>=J)throw Z;let X=Math.round(A*Math.random());if(X>0)return new Promise((Y)=>setTimeout(Y,X)).then(()=>I.apply(void 0,$));else return I.apply(void 0,$)})}}},dD=wJ;var MJ=(D,u)=>{let{isRetriable:F}=u;return function(C){let{timeout:B}=C,A=Date.now()+B;return function(...I){while(!0)try{return D.apply(void 0,I)}catch($){if(!F($))throw $;if(Date.now()>=A)throw $;continue}}}},nD=MJ;import A6 from"node:process";var Z0={isChangeErrorOk:(D)=>{if(!Z0.isNodeError(D))return!1;let{code:u}=D;if(u==="ENOSYS")return!0;if(!B6&&(u==="EINVAL"||u==="EPERM"))return!0;return!1},isNodeError:(D)=>{return D instanceof Error},isRetriableError:(D)=>{if(!Z0.isNodeError(D))return!1;let{code:u}=D;if(u==="EMFILE"||u==="ENFILE"||u==="EAGAIN"||u==="EBUSY"||u==="EACCESS"||u==="EACCES"||u==="EACCS"||u==="EPERM")return!0;return!1},onChangeError:(D)=>{if(!Z0.isNodeError(D))throw D;if(Z0.isChangeErrorOk(D))return;throw D}},k3=Z0;var $0={onError:k3.onChangeError},VD={onError:()=>{return}},B6=A6.getuid?!A6.getuid():!1,XD={isRetriable:k3.isRetriableError};var SJ={attempt:{chmod:lD(GD(r.chmod),$0),chown:lD(GD(r.chown),$0),close:lD(GD(r.close),VD),fsync:lD(GD(r.fsync),VD),mkdir:lD(GD(r.mkdir),VD),realpath:lD(GD(r.realpath),VD),stat:lD(GD(r.stat),VD),unlink:lD(GD(r.unlink),VD),chmodSync:vD(r.chmodSync,$0),chownSync:vD(r.chownSync,$0),closeSync:vD(r.closeSync,VD),existsSync:vD(r.existsSync,VD),fsyncSync:vD(r.fsync,VD),mkdirSync:vD(r.mkdirSync,VD),realpathSync:vD(r.realpathSync,VD),statSync:vD(r.statSync,VD),unlinkSync:vD(r.unlinkSync,VD)},retry:{close:dD(GD(r.close),XD),fsync:dD(GD(r.fsync),XD),open:dD(GD(r.open),XD),readFile:dD(GD(r.readFile),XD),rename:dD(GD(r.rename),XD),stat:dD(GD(r.stat),XD),write:dD(GD(r.write),XD),writeFile:dD(GD(r.writeFile),XD),closeSync:nD(r.closeSync,XD),fsyncSync:nD(r.fsyncSync,XD),openSync:nD(r.openSync,XD),readFileSync:nD(r.readFileSync,XD),renameSync:nD(r.renameSync,XD),statSync:nD(r.statSync,XD),writeSync:nD(r.writeSync,XD),writeFileSync:nD(r.writeFileSync,XD)}},ID=SJ;import Ku from"node:process";var J6="utf8",v3=438,Z6=511;var $6={},I6=Ku.geteuid?Ku.geteuid():-1,Y6=Ku.getegid?Ku.getegid():-1;var X6=1000,H6=!!Ku.getuid,nG=Ku.getuid?!Ku.getuid():!1,h3=128;var L6=(D)=>{return D instanceof Error&&"code"in D};var g3=(D)=>{return typeof D==="string"},bF=(D)=>{return D===void 0};import PJ from"node:path";import bu from"node:process";import q6 from"node:process";var G6=q6.platform==="linux",kF=q6.platform==="win32";var m3=["SIGHUP","SIGINT","SIGTERM"];if(!kF)m3.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(G6)m3.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var _6=m3;class Q6{constructor(){this.callbacks=new Set,this.exited=!1,this.exit=(D)=>{if(this.exited)return;this.exited=!0;for(let u of this.callbacks)u();if(D)if(kF&&(D!=="SIGINT"&&D!=="SIGTERM"&&D!=="SIGKILL"))bu.kill(bu.pid,"SIGTERM");else bu.kill(bu.pid,D)},this.hook=()=>{bu.once("exit",()=>this.exit());for(let D of _6)try{bu.once(D,()=>this.exit(D))}catch{}},this.register=(D)=>{return this.callbacks.add(D),()=>{this.callbacks.delete(D)}},this.hook()}}var K6=new Q6;var jJ=K6.register,U6=jJ;var wD={store:{},create:(D)=>{let u=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6),F=Date.now().toString().slice(-10),E="tmp-",C=`.tmp-${F}${u}`;return`${D}${C}`},get:(D,u,F=!0)=>{let E=wD.truncate(u(D));if(E in wD.store)return wD.get(D,u,F);return wD.store[E]=F,[E,()=>delete wD.store[E]]},purge:(D)=>{if(!wD.store[D])return;delete wD.store[D],ID.attempt.unlink(D)},purgeSync:(D)=>{if(!wD.store[D])return;delete wD.store[D],ID.attempt.unlinkSync(D)},purgeSyncAll:()=>{for(let D in wD.store)wD.purgeSync(D)},truncate:(D)=>{let u=PJ.basename(D);if(u.length<=h3)return D;let F=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(u);if(!F)return D;let E=u.length-h3;return`${D.slice(0,-u.length)}${F[1]}${F[2].slice(0,-E)}${F[3]}`}};U6(wD.purgeSyncAll);var I0=wD;function vF(D,u,F=$6){if(g3(F))return vF(D,u,{encoding:F});let C={timeout:F.timeout??X6},B=null,A=null,J=null;try{let I=ID.attempt.realpathSync(D),$=!!I;D=I||D,[A,B]=I0.get(D,F.tmpCreate||I0.create,F.tmpPurge!==!1);let Z=H6&&bF(F.chown),X=bF(F.mode);if($&&(Z||X)){let H=ID.attempt.statSync(D);if(H){if(F={...F},Z)F.chown={uid:H.uid,gid:H.gid};if(X)F.mode=H.mode}}if(!$){let H=xJ.dirname(D);ID.attempt.mkdirSync(H,{mode:Z6,recursive:!0})}if(J=ID.retry.openSync(C)(A,"w",F.mode||v3),F.tmpCreated)F.tmpCreated(A);if(g3(u))ID.retry.writeSync(C)(J,u,0,F.encoding||J6);else if(!bF(u))ID.retry.writeSync(C)(J,u,0,u.length,0);if(F.fsync!==!1)if(F.fsyncWait!==!1)ID.retry.fsyncSync(C)(J);else ID.attempt.fsync(J);if(ID.retry.closeSync(C)(J),J=null,F.chown&&(F.chown.uid!==I6||F.chown.gid!==Y6))ID.attempt.chownSync(A,F.chown.uid,F.chown.gid);if(F.mode&&F.mode!==v3)ID.attempt.chmodSync(A,F.mode);try{ID.retry.renameSync(C)(A,D)}catch(H){if(!L6(H))throw H;if(H.code!=="ENAMETOOLONG")throw H;ID.retry.renameSync(C)(A,I0.truncate(D))}B(),A=null}finally{if(J)ID.attempt.closeSync(J);if(A)I0.purge(A)}}var Uu=(D)=>{let u=typeof D;return D!==null&&(u==="object"||u==="function")};var c3=new Set(["__proto__","prototype","constructor"]),yJ=new Set("0123456789");function hF(D){let u=[],F="",E="start",C=!1;for(let B of D)switch(B){case"\\":{if(E==="index")throw Error("Invalid character in an index");if(E==="indexEnd")throw Error("Invalid character after an index");if(C)F+=B;E="property",C=!C;break}case".":{if(E==="index")throw Error("Invalid character in an index");if(E==="indexEnd"){E="property";break}if(C){C=!1,F+=B;break}if(c3.has(F))return[];u.push(F),F="",E="property";break}case"[":{if(E==="index")throw Error("Invalid character in an index");if(E==="indexEnd"){E="index";break}if(C){C=!1,F+=B;break}if(E==="property"){if(c3.has(F))return[];u.push(F),F=""}E="index";break}case"]":{if(E==="index"){u.push(Number.parseInt(F,10)),F="",E="indexEnd";break}if(E==="indexEnd")throw Error("Invalid character after an index")}default:{if(E==="index"&&!yJ.has(B))throw Error("Invalid character in an index");if(E==="indexEnd")throw Error("Invalid character after an index");if(E==="start")E="property";if(C)C=!1,F+="\\";F+=B}}if(C)F+="\\";switch(E){case"property":{if(c3.has(F))return[];u.push(F);break}case"index":throw Error("Index was not closed");case"start":{u.push("");break}}return u}function l3(D,u){if(typeof u!=="number"&&Array.isArray(D)){let F=Number.parseInt(u,10);return Number.isInteger(F)&&D[F]===D[u]}return!1}function z6(D,u){if(l3(D,u))throw Error("Cannot use string index")}function O6(D,u,F){if(!Uu(D)||typeof u!=="string")return F===void 0?D:F;let E=hF(u);if(E.length===0)return F;for(let C=0;C<E.length;C++){let B=E[C];if(l3(D,B))D=C===E.length-1?void 0:null;else D=D[B];if(D===void 0||D===null){if(C!==E.length-1)return F;break}}return D===void 0?F:D}function d3(D,u,F){if(!Uu(D)||typeof u!=="string")return D;let E=D,C=hF(u);for(let B=0;B<C.length;B++){let A=C[B];if(z6(D,A),B===C.length-1)D[A]=F;else if(!Uu(D[A]))D[A]=typeof C[B+1]==="number"?[]:{};D=D[A]}return E}function R6(D,u){if(!Uu(D)||typeof u!=="string")return!1;let F=hF(u);for(let E=0;E<F.length;E++){let C=F[E];if(z6(D,C),E===F.length-1)return delete D[C],!0;if(D=D[C],!Uu(D))return!1}}function W6(D,u){if(!Uu(D)||typeof u!=="string")return!1;let F=hF(u);if(F.length===0)return!1;for(let E of F){if(!Uu(D)||!(E in D)||l3(D,E))return!1;D=D[E]}return!0}function bJ(D,u){let F=u?Y0.join(D,"config.json"):Y0.join("configstore",`${D}.json`),E=fu??X0.default.mkdtempSync(X0.default.realpathSync(fJ.tmpdir())+Y0.sep);return Y0.join(E,F)}var kJ="You don't have access to this file.",vJ={mode:448,recursive:!0},T6={mode:384};function V6(D){if(D.code==="EACCES")D.message=`${D.message}
142
142
  ${kJ}
143
143
  `;throw D}class gF{constructor(D,u,F={}){if(this._path=F.configPath??bJ(D,F.globalConfigPath),this._clearInvalidConfig=F.clearInvalidConfig??!0,u)this.all={...u,...this.all}}get all(){try{return JSON.parse(X0.default.readFileSync(this._path,"utf8"))}catch(D){if(D.code==="ENOENT")return{};if(D.name==="SyntaxError"){if(this._clearInvalidConfig)return vF(this._path,"",T6),{};throw D}return V6(D),{}}}set all(D){try{X0.default.mkdirSync(Y0.dirname(this._path),vJ),vF(this._path,JSON.stringify(D,void 0,"\t"),T6)}catch(u){V6(u)}}get size(){return Object.keys(this.all||{}).length}get(D){return O6(this.all,D)}set(D,u){let F=this.all;if(typeof D==="object"&&arguments.length===1)for(let E of Object.keys(D))d3(F,E,D[E]);else d3(F,D,u);this.all=F}has(D){return W6(this.all,D)}delete(D){let u=this.all;R6(u,D),this.all=u}clear(){this.all={}}get path(){return this._path}}var N6=(D=0)=>(u)=>`\x1B[${u+D}m`,w6=(D=0)=>(u)=>`\x1B[${38+D};5;${u}m`,M6=(D=0)=>(u,F,E)=>`\x1B[${38+D};2;${u};${F};${E}m`,DD={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},M_=Object.keys(DD.modifier),hJ=Object.keys(DD.color),gJ=Object.keys(DD.bgColor),S_=[...hJ,...gJ];function mJ(){let D=new Map;for(let[u,F]of Object.entries(DD)){for(let[E,C]of Object.entries(F))DD[E]={open:`\x1B[${C[0]}m`,close:`\x1B[${C[1]}m`},F[E]=DD[E],D.set(C[0],C[1]);Object.defineProperty(DD,u,{value:F,enumerable:!1})}return Object.defineProperty(DD,"codes",{value:D,enumerable:!1}),DD.color.close="\x1B[39m",DD.bgColor.close="\x1B[49m",DD.color.ansi=N6(),DD.color.ansi256=w6(),DD.color.ansi16m=M6(),DD.bgColor.ansi=N6(10),DD.bgColor.ansi256=w6(10),DD.bgColor.ansi16m=M6(10),Object.defineProperties(DD,{rgbToAnsi256:{value(u,F,E){if(u===F&&F===E){if(u<8)return 16;if(u>248)return 231;return Math.round((u-8)/247*24)+232}return 16+36*Math.round(u/255*5)+6*Math.round(F/255*5)+Math.round(E/255*5)},enumerable:!1},hexToRgb:{value(u){let F=/[a-f\d]{6}|[a-f\d]{3}/i.exec(u.toString(16));if(!F)return[0,0,0];let[E]=F;if(E.length===3)E=[...E].map((B)=>B+B).join("");let C=Number.parseInt(E,16);return[C>>16&255,C>>8&255,C&255]},enumerable:!1},hexToAnsi256:{value:(u)=>DD.rgbToAnsi256(...DD.hexToRgb(u)),enumerable:!1},ansi256ToAnsi:{value(u){if(u<8)return 30+u;if(u<16)return 90+(u-8);let F,E,C;if(u>=232)F=((u-232)*10+8)/255,E=F,C=F;else{u-=16;let J=u%36;F=Math.floor(u/36)/5,E=Math.floor(J/6)/5,C=J%6/5}let B=Math.max(F,E,C)*2;if(B===0)return 30;let A=30+(Math.round(C)<<2|Math.round(E)<<1|Math.round(F));if(B===2)A+=60;return A},enumerable:!1},rgbToAnsi:{value:(u,F,E)=>DD.ansi256ToAnsi(DD.rgbToAnsi256(u,F,E)),enumerable:!1},hexToAnsi:{value:(u)=>DD.ansi256ToAnsi(DD.hexToAnsi256(u)),enumerable:!1}}),DD}var cJ=mJ(),hD=cJ;import n3 from"node:process";import lJ from"node:os";import S6 from"node:tty";function PD(D,u=globalThis.Deno?globalThis.Deno.args:n3.argv){let F=D.startsWith("-")?"":D.length===1?"-":"--",E=u.indexOf(F+D),C=u.indexOf("--");return E!==-1&&(C===-1||E<C)}var{env:uD}=n3,mF;if(PD("no-color")||PD("no-colors")||PD("color=false")||PD("color=never"))mF=0;else if(PD("color")||PD("colors")||PD("color=true")||PD("color=always"))mF=1;function dJ(){if("FORCE_COLOR"in uD){if(uD.FORCE_COLOR==="true")return 1;if(uD.FORCE_COLOR==="false")return 0;return uD.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(uD.FORCE_COLOR,10),3)}}function nJ(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function iJ(D,{streamIsTTY:u,sniffFlags:F=!0}={}){let E=dJ();if(E!==void 0)mF=E;let C=F?mF:E;if(C===0)return 0;if(F){if(PD("color=16m")||PD("color=full")||PD("color=truecolor"))return 3;if(PD("color=256"))return 2}if("TF_BUILD"in uD&&"AGENT_NAME"in uD)return 1;if(D&&!u&&C===void 0)return 0;let B=C||0;if(uD.TERM==="dumb")return B;if(n3.platform==="win32"){let A=lJ.release().split(".");if(Number(A[0])>=10&&Number(A[2])>=10586)return Number(A[2])>=14931?3:2;return 1}if("CI"in uD){if(["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some((A)=>(A in uD)))return 3;if(["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((A)=>(A in uD))||uD.CI_NAME==="codeship")return 1;return B}if("TEAMCITY_VERSION"in uD)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(uD.TEAMCITY_VERSION)?1:0;if(uD.COLORTERM==="truecolor")return 3;if(uD.TERM==="xterm-kitty")return 3;if(uD.TERM==="xterm-ghostty")return 3;if(uD.TERM==="wezterm")return 3;if("TERM_PROGRAM"in uD){let A=Number.parseInt((uD.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(uD.TERM_PROGRAM){case"iTerm.app":return A>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(uD.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(uD.TERM))return 1;if("COLORTERM"in uD)return 1;return B}function j6(D,u={}){let F=iJ(D,{streamIsTTY:D&&D.isTTY,...u});return nJ(F)}var pJ={stdout:j6({isTTY:S6.isatty(1)}),stderr:j6({isTTY:S6.isatty(2)})},P6=pJ;function x6(D,u,F){let E=D.indexOf(u);if(E===-1)return D;let C=u.length,B=0,A="";do A+=D.slice(B,E)+u+F,B=E+C,E=D.indexOf(u,B);while(E!==-1);return A+=D.slice(B),A}function y6(D,u,F,E){let C=0,B="";do{let A=D[E-1]==="\r";B+=D.slice(C,A?E-1:E)+u+(A?`\r
144
144
  `:`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flins",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "Universal skill installer for AI coding agents - Claude, Cursor, Copilot, and more",
5
5
  "keywords": [
6
6
  "agent-skills",