flins 0.1.6 → 0.1.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 +2 -2
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -24,7 +24,7 @@ Expecting one of '${F.join("', '")}'`);if(this._lifeCycleHooks[D])this._lifeCycl
24
24
  `),this.outputHelp({error:!0});let F=u||{},E=F.exitCode||1,C=F.code||"commander.error";this._exit(E,C,D)}_parseOptionsEnv(){this.options.forEach((D)=>{if(D.envVar&&D.envVar in s.env){let u=D.attributeName();if(this.getOptionValue(u)===void 0||["default","config","env"].includes(this.getOptionValueSource(u)))if(D.required||D.optional)this.emit(`optionEnv:${D.name()}`,s.env[D.envVar]);else this.emit(`optionEnv:${D.name()}`)}})}_parseOptionsImplied(){let D=new N5(this.options),u=(F)=>{return this.getOptionValue(F)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(F))};this.options.filter((F)=>F.implied!==void 0&&u(F.attributeName())&&D.valueFromOption(this.getOptionValue(F.attributeName()),F)).forEach((F)=>{Object.keys(F.implied).filter((E)=>!u(E)).forEach((E)=>{this.setOptionValueWithSource(E,F.implied[E],"implied")})})}missingArgument(D){let u=`error: missing required argument '${D}'`;this.error(u,{code:"commander.missingArgument"})}optionMissingArgument(D){let u=`error: option '${D.flags}' argument missing`;this.error(u,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(D){let u=`error: required option '${D.flags}' not specified`;this.error(u,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(D,u){let F=(B)=>{let A=B.attributeName(),I=this.getOptionValue(A),$=this.options.find((J)=>J.negate&&A===J.attributeName()),Z=this.options.find((J)=>!J.negate&&A===J.attributeName());if($&&($.presetArg===void 0&&I===!1||$.presetArg!==void 0&&I===$.presetArg))return $;return Z||B},E=(B)=>{let A=F(B),I=A.attributeName();if(this.getOptionValueSource(I)==="env")return`environment variable '${A.envVar}'`;return`option '${A.flags}'`},C=`error: ${E(D)} cannot be used with ${E(u)}`;this.error(C,{code:"commander.conflictingOption"})}unknownOption(D){if(this._allowUnknownOption)return;let u="";if(D.startsWith("--")&&this._showSuggestionAfterError){let E=[],C=this;do{let B=C.createHelp().visibleOptions(C).filter((A)=>A.long).map((A)=>A.long);E=E.concat(B),C=C.parent}while(C&&!C._enablePositionalOptions);u=N8(D,E)}let F=`error: unknown option '${D}'${u}`;this.error(F,{code:"commander.unknownOption"})}_excessArguments(D){if(this._allowExcessArguments)return;let u=this.registeredArguments.length,F=u===1?"":"s",C=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${u} argument${F} but got ${D.length}.`;this.error(C,{code:"commander.excessArguments"})}unknownCommand(){let D=this.args[0],u="";if(this._showSuggestionAfterError){let E=[];this.createHelp().visibleCommands(this).forEach((C)=>{if(E.push(C.name()),C.alias())E.push(C.alias())}),u=N8(D,E)}let F=`error: unknown command '${D}'${u}`;this.error(F,{code:"commander.unknownCommand"})}version(D,u,F){if(D===void 0)return this._version;this._version=D,u=u||"-V, --version",F=F||"output the version number";let E=this.createOption(u,F);return this._versionOptionName=E.attributeName(),this._registerOption(E),this.on("option:"+E.name(),()=>{this._outputConfiguration.writeOut(`${D}
25
25
  `),this._exit(0,"commander.version",D)}),this}description(D,u){if(D===void 0&&u===void 0)return this._description;if(this._description=D,u)this._argsDescription=u;return this}summary(D){if(D===void 0)return this._summary;return this._summary=D,this}alias(D){if(D===void 0)return this._aliases[0];let u=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)u=this.commands[this.commands.length-1];if(D===u._name)throw Error("Command alias can't be the same as its name");let F=this.parent?._findCommand(D);if(F){let E=[F.name()].concat(F.aliases()).join("|");throw Error(`cannot add alias '${D}' to command '${this.name()}' as already have command '${E}'`)}return u._aliases.push(D),this}aliases(D){if(D===void 0)return this._aliases;return D.forEach((u)=>this.alias(u)),this}usage(D){if(D===void 0){if(this._usage)return this._usage;let u=this.registeredArguments.map((F)=>{return S5(F)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?u:[]).join(" ")}return this._usage=D,this}name(D){if(D===void 0)return this._name;return this._name=D,this}helpGroup(D){if(D===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=D,this}commandsGroup(D){if(D===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=D,this}optionsGroup(D){if(D===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=D,this}_initOptionGroup(D){if(this._defaultOptionGroup&&!D.helpGroupHeading)D.helpGroup(this._defaultOptionGroup)}_initCommandGroup(D){if(this._defaultCommandGroup&&!D.helpGroup())D.helpGroup(this._defaultCommandGroup)}nameFromFilename(D){return this._name=iD.basename(D,iD.extname(D)),this}executableDir(D){if(D===void 0)return this._executableDir;return this._executableDir=D,this}helpInformation(D){let u=this.createHelp(),F=this._getOutputContext(D);u.prepareContext({error:F.error,helpWidth:F.helpWidth,outputHasColors:F.hasColors});let E=u.formatHelp(this,u);if(F.hasColors)return E;return this._outputConfiguration.stripColor(E)}_getOutputContext(D){D=D||{};let u=!!D.error,F,E,C;if(u)F=(A)=>this._outputConfiguration.writeErr(A),E=this._outputConfiguration.getErrHasColors(),C=this._outputConfiguration.getErrHelpWidth();else F=(A)=>this._outputConfiguration.writeOut(A),E=this._outputConfiguration.getOutHasColors(),C=this._outputConfiguration.getOutHelpWidth();return{error:u,write:(A)=>{if(!E)A=this._outputConfiguration.stripColor(A);return F(A)},hasColors:E,helpWidth:C}}outputHelp(D){let u;if(typeof D==="function")u=D,D=void 0;let F=this._getOutputContext(D),E={error:F.error,write:F.write,command:this};this._getCommandAndAncestors().reverse().forEach((B)=>B.emit("beforeAllHelp",E)),this.emit("beforeHelp",E);let C=this.helpInformation({error:F.error});if(u){if(C=u(C),typeof C!=="string"&&!Buffer.isBuffer(C))throw Error("outputHelp callback must return a string or a Buffer")}if(F.write(C),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",E),this._getCommandAndAncestors().forEach((B)=>B.emit("afterAllHelp",E))}helpOption(D,u){if(typeof D==="boolean"){if(D){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(D??"-h, --help",u??"display help for command"),D||u)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(D){return this._helpOption=D,this._initOptionGroup(D),this}help(D){this.outputHelp(D);let u=Number(s.exitCode??0);if(u===0&&D&&typeof D!=="function"&&D.error)u=1;this._exit(u,"commander.help","(outputHelp)")}addHelpText(D,u){let F=["beforeAll","before","after","afterAll"];if(!F.includes(D))throw Error(`Unexpected value for position to addHelpText.
26
26
  Expecting one of '${F.join("', '")}'`);let E=`${D}Help`;return this.on(E,(C)=>{let B;if(typeof u==="function")B=u({error:C.error,command:C.command});else B=u;if(B)C.write(`${B}
27
- `)}),this}_outputHelpIfRequested(D){let u=this._getHelpOption();if(u&&D.find((E)=>u.is(E)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function V8(D){return D.map((u)=>{if(!u.startsWith("--inspect"))return u;let F,E="127.0.0.1",C="9229",B;if((B=u.match(/^(--inspect(-brk)?)$/))!==null)F=B[1];else if((B=u.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(F=B[1],/^\d+$/.test(B[3]))C=B[3];else E=B[3];else if((B=u.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)F=B[1],E=B[3],C=B[4];if(F&&C!=="0")return`${F}=${E}:${parseInt(C)+1}`;return u})}function i2(){if(s.env.NO_COLOR||s.env.FORCE_COLOR==="0"||s.env.FORCE_COLOR==="false")return!1;if(s.env.FORCE_COLOR||s.env.CLICOLOR_FORCE!==void 0)return!0;return}V5.Command=p2;V5.useColor=i2});var y8=S((y5)=>{var{Argument:j8}=n0(),{Command:r2}=M8(),{CommanderError:P5,InvalidArgumentError:P8}=F0(),{Help:x5}=c2(),{Option:x8}=l2();y5.program=new r2;y5.createCommand=(D)=>new r2(D);y5.createOption=(D,u)=>new x8(D,u);y5.createArgument=(D,u)=>new j8(D,u);y5.Command=r2;y5.Option=x8;y5.Argument=j8;y5.Help=x5;y5.CommanderError=P5;y5.InvalidArgumentError=P8;y5.InvalidOptionArgumentError=P8});var fu;var p0=e(()=>{fu={name:"flins",version:"0.1.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":"catalog:","bun-types":"^1.3.6",oxfmt:"^0.24.0",oxlint:"^1.39.0"}}});var LD=S((w_,a2)=>{var a0=process||{},b8=a0.argv||[],r0=a0.env||{},p5=!(!!r0.NO_COLOR||b8.includes("--no-color"))&&(!!r0.FORCE_COLOR||b8.includes("--color")||a0.platform==="win32"||(a0.stdout||{}).isTTY&&r0.TERM!=="dumb"||!!r0.CI),r5=(D,u,F=D)=>(E)=>{let C=""+E,B=C.indexOf(u,D.length);return~B?D+a5(C,u,F,B)+u:D+C+u},a5=(D,u,F,E)=>{let C="",B=0;do C+=D.substring(B,E)+F,B=E+u.length,E=D.indexOf(u,B);while(~E);return C+D.substring(B)},k8=(D=p5)=>{let u=D?r5:()=>String;return{isColorSupported:D,reset:u("\x1B[0m","\x1B[0m"),bold:u("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:u("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:u("\x1B[3m","\x1B[23m"),underline:u("\x1B[4m","\x1B[24m"),inverse:u("\x1B[7m","\x1B[27m"),hidden:u("\x1B[8m","\x1B[28m"),strikethrough:u("\x1B[9m","\x1B[29m"),black:u("\x1B[30m","\x1B[39m"),red:u("\x1B[31m","\x1B[39m"),green:u("\x1B[32m","\x1B[39m"),yellow:u("\x1B[33m","\x1B[39m"),blue:u("\x1B[34m","\x1B[39m"),magenta:u("\x1B[35m","\x1B[39m"),cyan:u("\x1B[36m","\x1B[39m"),white:u("\x1B[37m","\x1B[39m"),gray:u("\x1B[90m","\x1B[39m"),bgBlack:u("\x1B[40m","\x1B[49m"),bgRed:u("\x1B[41m","\x1B[49m"),bgGreen:u("\x1B[42m","\x1B[49m"),bgYellow:u("\x1B[43m","\x1B[49m"),bgBlue:u("\x1B[44m","\x1B[49m"),bgMagenta:u("\x1B[45m","\x1B[49m"),bgCyan:u("\x1B[46m","\x1B[49m"),bgWhite:u("\x1B[47m","\x1B[49m"),blackBright:u("\x1B[90m","\x1B[39m"),redBright:u("\x1B[91m","\x1B[39m"),greenBright:u("\x1B[92m","\x1B[39m"),yellowBright:u("\x1B[93m","\x1B[39m"),blueBright:u("\x1B[94m","\x1B[39m"),magentaBright:u("\x1B[95m","\x1B[39m"),cyanBright:u("\x1B[96m","\x1B[39m"),whiteBright:u("\x1B[97m","\x1B[39m"),bgBlackBright:u("\x1B[100m","\x1B[49m"),bgRedBright:u("\x1B[101m","\x1B[49m"),bgGreenBright:u("\x1B[102m","\x1B[49m"),bgYellowBright:u("\x1B[103m","\x1B[49m"),bgBlueBright:u("\x1B[104m","\x1B[49m"),bgMagentaBright:u("\x1B[105m","\x1B[49m"),bgCyanBright:u("\x1B[106m","\x1B[49m"),bgWhiteBright:u("\x1B[107m","\x1B[49m")}};a2.exports=k8();a2.exports.createColors=k8});var o2=S((N_,v8)=>{var s2={to(D,u){if(!u)return`\x1B[${D+1}G`;return`\x1B[${u+1};${D+1}H`},move(D,u){let F="";if(D<0)F+=`\x1B[${-D}D`;else if(D>0)F+=`\x1B[${D}C`;if(u<0)F+=`\x1B[${-u}A`;else if(u>0)F+=`\x1B[${u}B`;return F},up:(D=1)=>`\x1B[${D}A`,down:(D=1)=>`\x1B[${D}B`,forward:(D=1)=>`\x1B[${D}C`,backward:(D=1)=>`\x1B[${D}D`,nextLine:(D=1)=>"\x1B[E".repeat(D),prevLine:(D=1)=>"\x1B[F".repeat(D),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},s5={up:(D=1)=>"\x1B[S".repeat(D),down:(D=1)=>"\x1B[T".repeat(D)},o5={screen:"\x1B[2J",up:(D=1)=>"\x1B[1J".repeat(D),down:(D=1)=>"\x1B[J".repeat(D),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(D){let u="";for(let F=0;F<D;F++)u+=this.line+(F<D-1?s2.up():"");if(D)u+=s2.left;return u}};v8.exports={cursor:s2,scroll:s5,erase:o5,beep:"\x07"}});import{stdout as E3,stdin as l8}from"node:process";import*as Eu from"node:readline";import t5 from"node:readline";import{ReadStream as h8}from"node:tty";function u3(D,u,F){return String(D).normalize().replaceAll(`\r
27
+ `)}),this}_outputHelpIfRequested(D){let u=this._getHelpOption();if(u&&D.find((E)=>u.is(E)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function V8(D){return D.map((u)=>{if(!u.startsWith("--inspect"))return u;let F,E="127.0.0.1",C="9229",B;if((B=u.match(/^(--inspect(-brk)?)$/))!==null)F=B[1];else if((B=u.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(F=B[1],/^\d+$/.test(B[3]))C=B[3];else E=B[3];else if((B=u.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)F=B[1],E=B[3],C=B[4];if(F&&C!=="0")return`${F}=${E}:${parseInt(C)+1}`;return u})}function i2(){if(s.env.NO_COLOR||s.env.FORCE_COLOR==="0"||s.env.FORCE_COLOR==="false")return!1;if(s.env.FORCE_COLOR||s.env.CLICOLOR_FORCE!==void 0)return!0;return}V5.Command=p2;V5.useColor=i2});var y8=S((y5)=>{var{Argument:j8}=n0(),{Command:r2}=M8(),{CommanderError:P5,InvalidArgumentError:P8}=F0(),{Help:x5}=c2(),{Option:x8}=l2();y5.program=new r2;y5.createCommand=(D)=>new r2(D);y5.createOption=(D,u)=>new x8(D,u);y5.createArgument=(D,u)=>new j8(D,u);y5.Command=r2;y5.Option=x8;y5.Argument=j8;y5.Help=x5;y5.CommanderError=P5;y5.InvalidArgumentError=P8;y5.InvalidOptionArgumentError=P8});var fu;var p0=e(()=>{fu={name:"flins",version:"0.1.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":"catalog:","bun-types":"^1.3.6",oxfmt:"^0.24.0",oxlint:"^1.39.0"}}});var LD=S((w_,a2)=>{var a0=process||{},b8=a0.argv||[],r0=a0.env||{},p5=!(!!r0.NO_COLOR||b8.includes("--no-color"))&&(!!r0.FORCE_COLOR||b8.includes("--color")||a0.platform==="win32"||(a0.stdout||{}).isTTY&&r0.TERM!=="dumb"||!!r0.CI),r5=(D,u,F=D)=>(E)=>{let C=""+E,B=C.indexOf(u,D.length);return~B?D+a5(C,u,F,B)+u:D+C+u},a5=(D,u,F,E)=>{let C="",B=0;do C+=D.substring(B,E)+F,B=E+u.length,E=D.indexOf(u,B);while(~E);return C+D.substring(B)},k8=(D=p5)=>{let u=D?r5:()=>String;return{isColorSupported:D,reset:u("\x1B[0m","\x1B[0m"),bold:u("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:u("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:u("\x1B[3m","\x1B[23m"),underline:u("\x1B[4m","\x1B[24m"),inverse:u("\x1B[7m","\x1B[27m"),hidden:u("\x1B[8m","\x1B[28m"),strikethrough:u("\x1B[9m","\x1B[29m"),black:u("\x1B[30m","\x1B[39m"),red:u("\x1B[31m","\x1B[39m"),green:u("\x1B[32m","\x1B[39m"),yellow:u("\x1B[33m","\x1B[39m"),blue:u("\x1B[34m","\x1B[39m"),magenta:u("\x1B[35m","\x1B[39m"),cyan:u("\x1B[36m","\x1B[39m"),white:u("\x1B[37m","\x1B[39m"),gray:u("\x1B[90m","\x1B[39m"),bgBlack:u("\x1B[40m","\x1B[49m"),bgRed:u("\x1B[41m","\x1B[49m"),bgGreen:u("\x1B[42m","\x1B[49m"),bgYellow:u("\x1B[43m","\x1B[49m"),bgBlue:u("\x1B[44m","\x1B[49m"),bgMagenta:u("\x1B[45m","\x1B[49m"),bgCyan:u("\x1B[46m","\x1B[49m"),bgWhite:u("\x1B[47m","\x1B[49m"),blackBright:u("\x1B[90m","\x1B[39m"),redBright:u("\x1B[91m","\x1B[39m"),greenBright:u("\x1B[92m","\x1B[39m"),yellowBright:u("\x1B[93m","\x1B[39m"),blueBright:u("\x1B[94m","\x1B[39m"),magentaBright:u("\x1B[95m","\x1B[39m"),cyanBright:u("\x1B[96m","\x1B[39m"),whiteBright:u("\x1B[97m","\x1B[39m"),bgBlackBright:u("\x1B[100m","\x1B[49m"),bgRedBright:u("\x1B[101m","\x1B[49m"),bgGreenBright:u("\x1B[102m","\x1B[49m"),bgYellowBright:u("\x1B[103m","\x1B[49m"),bgBlueBright:u("\x1B[104m","\x1B[49m"),bgMagentaBright:u("\x1B[105m","\x1B[49m"),bgCyanBright:u("\x1B[106m","\x1B[49m"),bgWhiteBright:u("\x1B[107m","\x1B[49m")}};a2.exports=k8();a2.exports.createColors=k8});var o2=S((N_,v8)=>{var s2={to(D,u){if(!u)return`\x1B[${D+1}G`;return`\x1B[${u+1};${D+1}H`},move(D,u){let F="";if(D<0)F+=`\x1B[${-D}D`;else if(D>0)F+=`\x1B[${D}C`;if(u<0)F+=`\x1B[${-u}A`;else if(u>0)F+=`\x1B[${u}B`;return F},up:(D=1)=>`\x1B[${D}A`,down:(D=1)=>`\x1B[${D}B`,forward:(D=1)=>`\x1B[${D}C`,backward:(D=1)=>`\x1B[${D}D`,nextLine:(D=1)=>"\x1B[E".repeat(D),prevLine:(D=1)=>"\x1B[F".repeat(D),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},s5={up:(D=1)=>"\x1B[S".repeat(D),down:(D=1)=>"\x1B[T".repeat(D)},o5={screen:"\x1B[2J",up:(D=1)=>"\x1B[1J".repeat(D),down:(D=1)=>"\x1B[J".repeat(D),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(D){let u="";for(let F=0;F<D;F++)u+=this.line+(F<D-1?s2.up():"");if(D)u+=s2.left;return u}};v8.exports={cursor:s2,scroll:s5,erase:o5,beep:"\x07"}});import{stdout as E3,stdin as l8}from"node:process";import*as Eu from"node:readline";import t5 from"node:readline";import{ReadStream as h8}from"node:tty";function u3(D,u,F){return String(D).normalize().replaceAll(`\r
28
28
  `,`
29
29
  `).split(`
30
30
  `).map((E)=>$A(E,u,F)).join(`
@@ -99,7 +99,7 @@ ${L.default.cyan(Qu)}
99
99
  `);if(H.length>0){let[X,...Y]=H;X.length>0?A.push(`${Z}${X}`):A.push(I?u:"");for(let _ of Y)_.length>0?A.push(`${J}${_}`):A.push(I?F:"")}E.write(`${A.join(`
100
100
  `)}
101
101
  `)},info:(D,u)=>{K.message(D,{...u,symbol:L.default.blue(TA)})},success:(D,u)=>{K.message(D,{...u,symbol:L.default.green(OA)})},step:(D,u)=>{K.message(D,{...u,symbol:L.default.green(L3)})},warn:(D,u)=>{K.message(D,{...u,symbol:L.default.yellow(RA)})},warning:(D,u)=>{K.warn(D,u)},error:(D,u)=>{K.message(D,{...u,symbol:L.default.red(SA)})}},gA=L.default.magenta,a_={light:t("─","-"),heavy:t("━","="),block:t("█","#")},s_=`${L.default.gray(i)} `});function Z6(D,u,F){let E=D.url.replace(/\.git$/,""),C=D.branch??"main",B=F.startsWith(u)?F.slice(u.length).replace(/^\//,""):F;if(D.type==="github")return`${E}/blob/${C}/${B}`;if(D.type==="gitlab")return`${E}/-/blob/${C}/${B}`;return D.url}function $6(D){let u=D.match(/github\.com\/([^/]+)\/([^/]+)\/tree\/([^/]+)(?:\/(.+))?$/);if(u){let[,A,I,$,Z]=u;return{type:"github",url:`https://github.com/${A}/${I}.git`,branch:$,subpath:Z}}let F=D.match(/github\.com\/([^/]+)\/([^/]+)/);if(F){let[,A,I]=F,$=I.replace(/\.git$/,"");return{type:"github",url:`https://github.com/${A}/${$}.git`}}let E=D.match(/gitlab\.com\/([^/]+)\/([^/]+)\/-\/tree\/([^/]+)(?:\/(.+))?$/);if(E){let[,A,I,$,Z]=E;return{type:"gitlab",url:`https://gitlab.com/${A}/${I}.git`,branch:$,subpath:Z}}let C=D.match(/gitlab\.com\/([^/]+)\/([^/]+)/);if(C){let[,A,I]=C,$=I.replace(/\.git$/,"");return{type:"gitlab",url:`https://gitlab.com/${A}/${$}.git`}}let B=D.match(/^([^/]+)\/([^/]+)(?:\/(.+))?$/);if(B&&!D.includes(":")){let[,A,I,$]=B;return{type:"github",url:`https://github.com/${A}/${I}.git`,subpath:$}}return{type:"git",url:D}}import{spawn as mA}from"child_process";async function YF(D,u){return new Promise((F,E)=>{let C="",B=mA("git",D,{stdio:"pipe",cwd:u?.cwd});B.stdout?.on("data",(A)=>{C+=A.toString()}),B.on("close",(A)=>{if(A===0)F(C.trim());else E(Error(`Git command failed: git ${D.join(" ")}`))}),B.on("error",E)})}var Y6=()=>{};import{join as cA}from"path";import{rmSync as lA}from"fs";import{tmpdir as dA}from"os";async function HF(D,u){let F=cA(dA(),`flins-${Date.now()}`),E=["clone","--depth","1"];if(u)E.push("--branch",u);return E.push(D,F),await YF(E),F}async function H6(D,u="main"){return(await YF(["ls-remote",D,`refs/heads/${u}`])).split(/\s+/)[0]??""}async function XF(D){return YF(["rev-parse","HEAD"],{cwd:D})}async function _F(D){lA(D,{recursive:!0,force:!0})}var R3=e(()=>{Y6()});var _6;var X6=e(()=>{_6={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"},qwen:{name:"qwen",displayName:"Qwen Code",configDir:"~/.qwen",skillsDir:".qwen/skills",globalSkillsDir:"~/.qwen/skills"}}});import{homedir as iA}from"os";import{existsSync as pA}from"fs";function q6(){let D={},u=_6;for(let[F,E]of Object.entries(u)){let C=F;D[C]={name:E.name,displayName:E.displayName,configDir:E.configDir.replace("~",GF),skillsDir:E.skillsDir,globalSkillsDir:E.globalSkillsDir.replace("~",GF),commandsDir:E.commandsDir,globalCommandsDir:E.globalCommandsDir?.replace("~",GF),detectInstalled:async()=>{let B=E.configDir.replace("~",GF);return pA(B)}}}return D}var GF,G6;var S3=e(()=>{X6();GF=iA(),G6=process.env.DIRECTORY_URL||"https://flins.tech/directory.json"});var l;var rD=e(()=>{S3();l=q6()});var qF;var W3=e(()=>{qF=["node_modules",".git","dist","build","__pycache__"]});import{basename as rA,dirname as aA}from"path";function w3(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 I=B.slice(0,A).trim(),$=B.slice(A+1).trim();if($.startsWith('"')&&$.endsWith('"')||$.startsWith("'")&&$.endsWith("'"))C[I]=$.slice(1,-1);else if(I==="metadata")try{let Z={},J=$.replace(/^\{|\}$/g,"").trim();if(J){for(let H of J.split(",")){let[X,Y]=H.split("=").map((_)=>_.trim());if(X&&Y)Z[X]=Y.replace(/^['"]|["']$/g,"")}C[I]=JSON.stringify(Z)}}catch{C[I]=$}else C[I]=$}return{data:C,content:E}}function UF(D,u){try{let{data:F}=w3(u);if(!F.name||!F.description)return null;return{name:F.name,description:F.description,path:aA(D),metadata:F.metadata?JSON.parse(F.metadata):void 0}}catch{return null}}function aD(D){return D.name||rA(D.path)}var KF=()=>{};import{readdir as U6,readFile as N3,stat as sA}from"fs/promises";import{join as sD}from"path";function tA(D){let u=[D];for(let E of oA)u.push(sD(D,E));let F=new Set;for(let E of Object.values(l))F.add(sD(D,E.skillsDir));return u.push(...F),u}async function V3(D){try{let u=sD(D,"SKILL.md");return(await sA(u)).isFile()}catch{return!1}}async function K6(D,u=0,F=5){let E=[];if(u>F)return E;try{if(await V3(D))E.push(D);let C=await U6(D,{withFileTypes:!0});for(let B of C)if(B.isDirectory()&&!qF.includes(B.name)){let A=await K6(sD(D,B.name),u+1,F);E.push(...A)}}catch{}return E}async function QF(D,u){let F=[],E=new Set,C=u?sD(D,u):D;if(await V3(C)){let A=sD(C,"SKILL.md"),I=await N3(A,"utf-8"),$=UF(A,I);if($)return F.push($),F}let B=tA(C);for(let A of B)try{let I=await U6(A,{withFileTypes:!0});for(let $ of I)if($.isDirectory()){let Z=sD(A,$.name);if(await V3(Z)){let J=sD(Z,"SKILL.md"),H=await N3(J,"utf-8"),X=UF(J,H);if(X&&!E.has(X.name))F.push(X),E.add(X.name)}}}catch{}if(F.length===0){let A=await K6(C);for(let I of A){let $=sD(I,"SKILL.md"),Z=await N3($,"utf-8"),J=UF($,Z);if(J&&!E.has(J.name))F.push(J),E.add(J.name)}}return F}var oA;var M3=e(()=>{rD();W3();KF();oA=["skills","skills/.curated","skills/.experimental","skills/.system"]});import{basename as eA}from"path";function Q6(D,u){try{let{data:F}=w3(u);return{name:F.name||eA(D,".md"),description:F.description,path:D,type:"markdown"}}catch{return null}}function Lu(D){return D.name}var j3=e(()=>{KF()});import{readdir as L6,readFile as DI}from"fs/promises";import{join as P3,extname as uI}from"path";async function z6(D,u=0){let F=[];if(u>EI)return F;try{let E=await L6(D,{withFileTypes:!0});for(let C of E){if(qF.includes(C.name))continue;let B=P3(D,C.name);if(C.isDirectory())if(C.name==="commands")F.push(B);else{let A=await z6(B,u+1);F.push(...A)}}}catch{}return F}async function CI(D){let u=[];try{let F=await L6(D,{withFileTypes:!0});for(let E of F){if(FI.has(E.name))continue;if(!E.isFile())continue;let C=P3(D,E.name);if(uI(E.name).toLowerCase()!==".md")continue;try{let A=await DI(C,"utf-8"),I=Q6(C,A);if(I)u.push(I)}catch{continue}}}catch{}return u}async function LF(D,u){let F=[],E=new Set,C=u?P3(D,u):D,B=await z6(C);for(let A of B){let I=await CI(A);for(let $ of I)if(!E.has($.name))F.push($),E.add($.name)}return F}var FI,EI=5;var x3=e(()=>{W3();j3();FI=new Set(["README.md","readme.md",".DS_Store"])});import{resolve as BI,join as I0}from"path";import{homedir as O6}from"os";function zF(D){if(D.startsWith("~"))return D.replace("~",O6());return D}function Bu(D){return D.type==="global"?zF(D.path):BI(process.cwd(),D.path)}function J0(){return I0(O6(),AI)}function R6(D={}){if(D.global)return I0(J0(),T6);return I0(D.cwd||process.cwd(),T6)}function S6(D={}){return I0(R6(D),II)}function W6(D={}){return I0(R6(D),JI)}var AI=".flins",T6=".agents",II="skills",JI="commands";var ku=()=>{};import{mkdir as vu,cp as w6,access as ZI,readdir as $I,symlink as N6,rm as TF}from"fs/promises";import{lstatSync as YI,readlinkSync as HI,rmSync as XI}from"fs";import{join as Z0,relative as V6,dirname as M6,resolve as _I}from"path";async function y3(D,u){try{return await D(),{success:!0,path:u}}catch(F){return{success:!1,path:u,error:F instanceof Error?F.message:"Unknown error"}}}async function f3(D,u){await vu(u,{recursive:!0});let F=await $I(D,{withFileTypes:!0});for(let E of F){if(qI(E.name))continue;let C=Z0(D,E.name),B=Z0(u,E.name);if(E.isDirectory())await f3(C,B);else await w6(C,B)}}async function j6(D,u){return y3(async()=>{await vu(u,{recursive:!0}),await f3(D,u)},u)}async function P6(D,u,F,E={}){return y3(async()=>{let C=S6(E),B=Z0(C,u);await vu(C,{recursive:!0}),await TF(B,{recursive:!0,force:!0}),await f3(D,B);let A=Z0(F,"..");await vu(A,{recursive:!0}),await TF(F,{recursive:!0,force:!0}),await N6(V6(A,B),F)},F)}async function x6(D,u,F,E={}){return y3(async()=>{let C=W6(E),B=Z0(C,`${u}.md`);await vu(C,{recursive:!0}),await TF(B,{force:!0}),await w6(D,B);let A=M6(F);await vu(A,{recursive:!0}),await TF(F,{force:!0}),await N6(V6(A,B),F)},F)}async function y6(D){try{return await ZI(D),!0}catch{return!1}}async function f6(D){try{if(!YI(D).isSymbolicLink())return{success:!0};let F=HI(D),E=_I(M6(D),F);return XI(E,{recursive:!0,force:!0}),{success:!0}}catch(u){let F=u?.code;if(F==="ENOENT"||F==="ENOTDIR")return{success:!0};return{success:!1,error:u instanceof Error?u.message:"Unknown error"}}}var GI,qI=(D)=>{if(GI.has(D))return!0;if(D.startsWith("_"))return!0;return!1};var OF=e(()=>{ku();GI=new Set(["README.md","metadata.json"])});import{join as b6}from"path";async function RF(D,u,F){let E=l[u],C=F.global?E.globalSkillsDir:E.skillsDir,B=b6(C,D.name);return{...F.symlink?await P6(D.path,D.name,B,{global:F.global}):await j6(D.path,B),originalPath:D.path}}async function k6(D,u,F){let E=b3(D,u,F);return y6(E)}function b3(D,u,F){let E=l[u],C=F.global?E.globalSkillsDir:E.skillsDir;return b6(C,D)}var k3=e(()=>{rD();OF()});import{mkdir as UI,cp as KI}from"fs/promises";import{join as QI,dirname as LI}from"path";function SF(D){return v6.includes(D)}function h6(){return v6.filter((D)=>l[D]?.commandsDir)}async function zI(D){await UI(D,{recursive:!0})}async function TI(D,u){try{return await zI(LI(u)),await KI(D,u),{success:!0,path:u}}catch(F){return{success:!1,path:u,error:F instanceof Error?F.message:"Unknown error"}}}async function OI(D,u,F){let E=l[u],C=F.global?E.globalCommandsDir:E.commandsDir,B=QI(C,`${D.name}.md`);if(F.symlink)return x6(D.path,D.name,B,{global:F.global});return TI(D.path,B)}async function WF(D,u,F){if(!SF(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 OI(D,u,F),originalPath:D.path}}var v6;var v3=e(()=>{rD();OF();v6=["claude-code","opencode","factory"]});async function g6(){let D=[];for(let[u,F]of Object.entries(l))if(await F.detectInstalled())D.push(u);return D}var m6=e(()=>{rD()});function oD(D){return`skill:${D.toLowerCase()}`}function tD(D){return`command:${D.toLowerCase()}`}function hu(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}import{join as Au,resolve as RI}from"path";import{existsSync as c6,readdirSync as l6,lstatSync as SI}from"fs";function wF(D,u,F){let E=[],C=F.cwd??RI(F.type==="global"?J0():process.cwd());for(let[B,A]of Object.entries(l))if(u==="skill"){let I=F.type==="global"?Au(C,zF(A.globalSkillsDir)):Au(C,A.skillsDir);if(c6(I))try{let Z=l6(I,{withFileTypes:!0}).find((J)=>{if(J.name.toLowerCase()!==D.toLowerCase())return!1;if(J.isDirectory())return!0;let H=Au(I,J.name);try{return SI(H).isSymbolicLink()}catch{return!1}});if(Z)E.push({agent:B,installableType:"skill",type:F.type,path:F.type==="global"?Au(A.globalSkillsDir,Z.name):Au(A.skillsDir,Z.name)})}catch{}}else{let I=F.type==="global"?A.globalCommandsDir:A.commandsDir;if(I){let $=F.type==="global"?Au(C,zF(I)):Au(C,I);if(c6($))try{let J=l6($,{withFileTypes:!0}).find((H)=>{return H.name.replace(/\.md$/,"").toLowerCase()===D.toLowerCase()});if(J)E.push({agent:B,installableType:"command",type:F.type,path:Au(I,J.name)})}catch{}}}return E}var h3=e(()=>{ku();rD()});import{join as WI}from"path";import{existsSync as d6,readFileSync as wI,writeFileSync as n6,mkdirSync as NI}from"fs";function i6(){if(!d6(g3))NI(g3,{recursive:!0})}function $0(){if(i6(),!d6(NF)){let D={lastUpdate:new Date().toISOString(),skills:{}};return n6(NF,JSON.stringify(D,null,2)),D}try{let D=wI(NF,"utf-8");return JSON.parse(D)}catch{return{lastUpdate:new Date().toISOString(),skills:{}}}}function VF(D){i6(),D.lastUpdate=new Date().toISOString(),n6(NF,JSON.stringify(D,null,2))}function m3(D,u,F,E,C,B="skill"){let A=$0(),I=B==="skill"?oD(D):tD(D),$=A.skills[I],Z=!1,J;if($&&$.branch!==E)J=$.branch,Z=!0;let H={url:u,subpath:F,branch:E,commit:C};return A.skills[I]=H,VF(A),{updated:Z,previousBranch:J}}function MF(D,u){let F=$0(),E=u==="skill"?oD(D):tD(D);delete F.skills[E],VF(F)}function p6(D,u,F){let E=$0(),C=u==="skill"?oD(D):tD(D);if(E.skills[C])E.skills[C].commit=F,VF(E)}function jF(){return $0()}function Iu(D,u){return wF(D,u,{type:"global"})}async function r6(){let D=$0(),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(Iu(A,B).length===0)u.push(F)}for(let F of u)delete D.skills[F];if(u.length>0)VF(D)}var g3,NF;var PF=e(()=>{ku();h3();g3=J0(),NF=WI(g3,"skills.lock")});import{resolve as VI}from"path";import{existsSync as c3,readFileSync as MI,writeFileSync as jI,rmSync as a6}from"fs";function xF(D){let u=D||process.cwd();return VI(u,PI)}function Y0(D){let u=xF(D);if(!c3(u))return null;try{let F=MI(u,"utf-8"),E=JSON.parse(F);if(!E.version||!E.skills)return null;return E}catch{return null}}function yF(D,u){let F=xF(u);D.version=s6,jI(F,JSON.stringify(D,null,2))}function l3(D,u,F,E,C,B,A){let I=Y0(A);if(!I)I={version:s6,skills:{}};let $=B==="skill"?oD(D):tD(D),Z=I.skills[$],J=!1,H;if(Z&&Z.branch!==E)H=Z.branch,J=!0;let X={url:u,subpath:F,branch:E,commit:C};return I.skills[$]=X,yF(I,A),{updated:J,previousBranch:H}}function o6(D,u,F){let E=Y0(F);if(!E)return;let C=u==="skill"?oD(D):tD(D);if(delete E.skills[C],Object.keys(E.skills).length>0)yF(E,F);else{let B=xF(F);if(c3(B))try{a6(B,{force:!0})}catch{}}}function t6(D,u,F,E){let C=Y0(E);if(!C)return;let B=u==="skill"?oD(D):tD(D),A=C.skills[B];if(A)A.commit=F,yF(C,E)}function fF(D){return Y0(D)}function Ju(D,u,F){return wF(D,u,{type:"project",cwd:F})}async function e6(D){let u=Y0(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",I=B[1];if(Ju(I,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)yF(u,D);else{let E=xF(D);if(c3(E))a6(E,{force:!0})}}var s6="1.0.0",PI="skills.lock";var bF=e(()=>{h3()});async function DC(D,u){let F={tempDir:null,spinner:gD()};try{F.spinner.start("Reading repository...");let E=$6(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("Downloading..."),F.tempDir=await HF(E.url,E.branch),F.spinner.stop("Repository cloned");let B=await XF(F.tempDir);F.spinner.start("Finding skills...");let A=await QF(F.tempDir,E.subpath),I=await LF(F.tempDir,E.subpath);if(A.length===0&&I.length===0)return F.spinner.stop(g.default.red("No skills or commands found")),a(g.default.red("No skills found. Repository must have SKILL.md files.")),{success:!1,installed:0,failed:0,results:[]};let $=I.length>0;if(F.spinner.stop(`Found ${g.default.green(A.length)} skill${A.length!==1?"s":""}`+($?` and ${g.default.yellow(I.length)} command${I.length!==1?"s":""}`:"")),u.list){if(A.length>0){K.step(g.default.bold("Available Skills"));for(let q of A)K.message(` ${g.default.cyan(aD(q))}`),K.message(` ${g.default.dim(q.description)}`)}if(I.length>0){K.step(g.default.bold("Available Commands"));for(let q of I)K.message(` ${g.default.cyan(Lu(q))}`),K.message(` ${g.default.dim(q.description||`Command: ${q.name}`)}`)}return a("Use --skill <name> to install specific skills or commands"),{success:!0,installed:0,failed:0,results:[]}}let Z=await xI(A,u),J=Z?await fI(u,F):null,H=I.length>0?await yI(I,u):null,X=H?await bI(u,F):null;if(!Z&&!H)return{success:!1,installed:0,failed:0,results:[]};if(Z&&!J)return{success:!1,installed:0,failed:0,results:[]};if(H&&!X)return{success:!1,installed:0,failed:0,results:[]};let Y=await kI(u);if(Y===null)return{success:!1,installed:0,failed:0,results:[]};if(!await vI(u,Z,J,H,X,Y))return{success:!1,installed:0,failed:0,results:[]};if(H&&H.length>0)K.warn(g.default.yellow("Commands are experimental and may change"));F.spinner.start("Adding skills...");let G=await hI(Z||[],J||[],H||[],X||[],Y,E,B,C,u.symlink??!0,F.tempDir);return F.spinner.stop("Installation complete"),G}finally{if(F.tempDir)await _F(F.tempDir)}}async function xI(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()||aD(E).toLowerCase()===C.toLowerCase())),F.length===0){K.error(`No matching skills found for: ${u.skill.join(", ")}`),K.info("Available skills:");for(let E of D)K.message(` - ${aD(E)}`);return null}K.info(`Selected ${F.length} skill${F.length!==1?"s":""}: ${F.map((E)=>g.default.cyan(aD(E))).join(", ")}`)}else if(D.length===1){F=D;let E=D[0];K.info(`Skill: ${g.default.cyan(aD(E))}`),K.message(g.default.dim(E.description))}else if(u.yes||u.force)F=D,K.info(`Installing all ${D.length} skills`);else{let E=D.map((B)=>({value:B,label:aD(B),hint:B.description.length>60?B.description.slice(0,57)+"...":B.description})),C=await fD({message:"Choose skills to add",options:E,required:!1});if(AD(C))return ZD("Installation cancelled"),null;if(!C||C.length===0)return K.info("No skills selected"),null;F=C}return F}async function yI(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()||Lu(E).toLowerCase()===C.toLowerCase()));if(F.length===0&&!u.yes&&!u.force){let E=D.map((B)=>({value:B,label:Lu(B),hint:(B.description||`Command: ${B.name}`).slice(0,55)})),C=await fD({message:"Choose commands to add",options:E,required:!1});if(AD(C))return ZD("Installation cancelled"),null;if(!C||C.length===0)return K.info("No commands selected"),null;F=C}else if(u.yes||u.force)F=D,K.info(`Installing all ${D.length} commands`);if(F.length>0)K.info(`Selected ${F.length} command${F.length!==1?"s":""}: ${F.map((E)=>g.default.yellow(Lu(E))).join(", ")}`);return F.length>0?F:null}async function fI(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 K.error(`Invalid agents: ${C.join(", ")}`),K.info(`Valid agents: ${E.join(", ")}`),null;return D.agent}u.spinner.start("Finding AI tools...");let F=await g6();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 K.info("Installing to all agents (none detected)"),C}else{K.warn("No AI tools found. Choose where to install:");let C=Object.entries(l).map(([A,I])=>({value:A,label:I.displayName})),B=await fD({message:"Where should we install these?",options:C,required:!0});if(AD(B))return ZD("Installation cancelled"),null;return B}else if(F.length===1||D.yes||D.force){if(F.length===1){let E=F[0];K.info(`Installing skills to: ${g.default.cyan(l[E].displayName)}`)}else K.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 fD({message:"Where should we install these?",options:E,required:!0,initialValues:F});if(AD(C))return ZD("Installation cancelled"),null;return C}}async function bI(D,u){let F=h6();if(D.agent&&D.agent.length>0){let I=Object.keys(l),$=D.agent.filter((H)=>!I.includes(H));if($.length>0)return K.error(`Invalid agents: ${$.join(", ")}`),K.info(`Valid agents: ${I.join(", ")}`),null;let Z=D.agent.filter((H)=>SF(H));if(Z.length===0)return K.error("Commands are only supported by: "+F.map((H)=>l[H].displayName).join(", ")),null;let J=D.agent.filter((H)=>!SF(H));if(J.length>0)K.warn(`Filtering out agents that don't support commands: ${J.join(", ")}`);return Z}let E=F.filter((I)=>l[I]?.commandsDir);if(E.length===0)return K.warn("No agents with command support detected"),[];if(D.yes||D.force)return K.info(`Installing commands to: ${E.map((I)=>g.default.cyan(l[I].displayName)).join(", ")}`),E;let B=E.map((I)=>({value:I,label:l[I].displayName,hint:l[I].commandsDir||""})),A=await fD({message:"Select agents to install commands to",options:B,required:!0,initialValues:E});if(AD(A))return ZD("Installation cancelled"),null;return K.info(`Installing commands to: ${A.map((I)=>g.default.cyan(l[I].displayName)).join(", ")}`),A}async function kI(D){let u=D.global??!1;if(D.global===void 0&&!(D.yes||D.force)){let F=await J6({message:"Where to install?",options:[{value:!1,label:"Project",hint:"saved with this project"},{value:!0,label:"Global",hint:"available for all projects"}]});if(AD(F))return ZD("Installation cancelled"),null;u=F}return u}async function vI(D,u,F,E,C,B){if(K.step(g.default.bold("Installation Summary")),u&&u.length>0&&F){K.message(g.default.bold(g.default.cyan("Skills")));for(let I of u){K.message(` ${g.default.cyan(aD(I))}`);for(let $ of F){let Z=b3(I.name,$,{global:B}),H=await k6(I.name,$,{global:B})?g.default.yellow(" (will overwrite)"):"";K.message(` ${g.default.dim("→")} ${l[$].displayName}: ${g.default.dim(Z)}${H}`)}}}if(E&&E.length>0&&C&&C.length>0)for(let I of E){K.message(` ${g.default.yellow(Lu(I))}`);for(let $ of C){let Z=`${l[$].commandsDir}/${I.name}.md`;K.message(` ${g.default.dim("→")} ${l[$].displayName}: ${g.default.dim(Z)}`)}}if(!(D.yes||D.force)){let I=await Cu({message:"Ready to install?"});if(AD(I)||!I)return ZD("Installation cancelled"),!1}return!0}async function hI(D,u,F,E,C,B,A,I,$,Z){let J=[...D.flatMap((q)=>u.map((U)=>RF(q,U,{global:C,symlink:$}))),...F.flatMap((q)=>E.map((U)=>WF(q,U,{global:C,symlink:$})))],H=await Promise.all(J),X=H.map((q,U)=>{let O=Math.floor(U/Math.max(u.length,E.length)),Q=U%Math.max(u.length,E.length),z=U<D.length*u.length,N=z?D[O%D.length]:F[O%F.length],x=z?u:E,R=x[Q%x.length],M=z?aD(N):Lu(N),T=z?`${N.path}/SKILL.md`:N.path,W=Z6(B,Z,T);return{skill:M,agent:l[R].displayName,...q,sourceUrl:W,installableType:z?"skill":"command"}}),Y=new Map;for(let[q,U]of H.entries()){if(!U.success)continue;let O=q<D.length*u.length;if(C)if(O){let Q=Math.floor(q/u.length),z=D[Q%D.length],N=m3(z.name,B.url,B.subpath,I,A,"skill");if(N.updated&&N.previousBranch){let x=Y.get(z.name);Y.set(z.name,{previous:x?.previous??N.previousBranch,current:x?.current??I})}}else{let Q=Math.floor((q-D.length*u.length)/E.length),z=F[Q%F.length];m3(z.name,B.url,B.subpath,I,A,"command")}}if(!C)for(let[q,U]of H.entries()){if(!U.success)continue;if(q<D.length*u.length){let Q=Math.floor(q/u.length),z=D[Q%D.length];l3(z.name,B.url,B.subpath,I,A,"skill")}else{let Q=Math.floor((q-D.length*u.length)/E.length),z=F[Q%F.length];l3(z.name,B.url,B.subpath,I,A,"command")}}let _=X.filter((q)=>q.success),G=X.filter((q)=>!q.success);if(Y.size>0)for(let[q,{previous:U,current:O}]of Y)K.warn(g.default.yellow(` ${g.default.cyan(q)}: ${g.default.dim(U)} → ${g.default.green(O)}`));if(_.length>0){let q=_.filter((Q)=>Q.installableType==="skill").length,U=_.filter((Q)=>Q.installableType==="command").length,O=[];if(q>0)O.push(`${q} skill${q!==1?"s":""}`);if(U>0)O.push(`${U} command${U!==1?"s":""}`);K.success(g.default.green(`Successfully installed ${O.join(" and ")}`));for(let Q of _){let z=Q.installableType==="command"?g.default.yellow("⚡"):g.default.green("✓");K.message(` ${z} ${Q.skill} → ${Q.agent}`),K.message(` ${g.default.dim(Q.path)}`)}}if(G.length>0){K.error(g.default.red(`Failed to install ${G.length} item${G.length!==1?"s":""}`));for(let q of G)K.message(` ${g.default.red("✗")} ${q.skill} → ${q.agent}`),K.message(` ${g.default.dim(q.error)}`)}if(_.length>0)a(g.default.green("Done! Skills ready to use."));else a(g.default.yellow("Nothing installed"));return{success:G.length===0,installed:_.length,failed:G.length,results:X}}var g;var uC=e(()=>{MD();R3();M3();x3();KF();j3();k3();v3();m6();rD();PF();bF();g=o(LD(),1)});async function FC(){let D=Date.now();if(H0&&d3&&D<d3)return H0;try{let u=await fetch(G6,{signal:AbortSignal.timeout(5000)});if(!u.ok)throw Error(`Failed to fetch directory: ${u.status}`);let F=await u.json();return H0=F,d3=D+gI,F}catch(u){if(H0)return H0;throw u}}async function EC(D){return(await FC()).find((E)=>E.name.toLowerCase()===D.toLowerCase())?.source??null}function CC(D){return/^[a-z0-9-]+$/i.test(D)&&!D.includes("/")&&!D.includes(":")}async function kF(){return FC()}var H0=null,d3=null,gI=300000;var n3=e(()=>{S3()});import{platform as mI,arch as cI}from"node:os";import{spawn as lI}from"node:child_process";function pI(D){let u=D.match(/github\.com[/:]([^/]+\/[^/]+?)(?:\.git)?(?:\/tree\/[^/]+\/(.+))?(?:[#]|$)/i);if(u){let C=u[1],B=u[2];return B?`${C}/${B}`:C}let F=D.match(/gitlab\.com[/:]([^/]+\/[^/]+?)(?:\.git)?(?:\/-\/tree\/[^/]+\/(.+))?(?:[#]|$)/i);if(F){let C=F[1],B=F[2];return B?`${C}/${B}`:C}let E=D.match(/^([^/]+\/[^/]+)(?:\/(.+))?$/);if(E){let C=E[1],B=E[2];return B?`${C}/${B}`:C}return D.replace(/\.git$/,"")}function AC(D){if(!BC)return;vF.push({...D,repo:D.repo?pI(D.repo):void 0,timestamp:Date.now(),osPlatform:mI(),osArch:cI(),nodeVersion:process.version,cliVersion:nI})}function i3(){if(!BC||vF.length===0)return;let D=vF;vF=[];let u=JSON.stringify(D);lI("curl",["-s","-X","POST",dI,"-H","Content-Type: application/json","-d",u,"--max-time","10"],{detached:!0,stdio:"ignore",windowsHide:!0}).unref()}var dI="https://tidy-oriole-956.convex.site/telemetry",nI,iI,BC,vF;var p3=e(()=>{p0();nI=fu.version,iI=Boolean(process.env.CI||process.env.CONTINUOUS_INTEGRATION||process.env.GITHUB_ACTIONS||process.env.GITLAB_CI||process.env.TRAVIS||process.env.JENKINS_URL||process.env.BITBUCKET_BUILD_NUMBER||process.env.CODEBUILD_BUILD_ID),BC=!iI&&process.env.FLINS_TELEMETRY!=="0"&&!0,vF=[]});var IC={};D5(IC,{installCommand:()=>r3});async function r3(D,u){if(!u.silent)SD(Zu.default.bgCyan(Zu.default.black(" flins ")));try{let F=D;if(CC(D)){if(!u.silent)K.info(`Looking up "${Zu.default.cyan(D)}" in flins directory...`);let C=await EC(D);if(!C){K.error(`Skill "${Zu.default.cyan(D)}" not found in directory.`);let B=await kF();if(B.length>0){K.info("Available skills:");for(let A of B)K.message(` ${Zu.default.cyan(A.name)} - ${Zu.default.dim(A.description)}`)}process.exit(1)}F=C}let E=await DC(F,u);for(let C of E.results){let{installableType:B,sourceUrl:A}=C;AC({command:"add",type:B,repo:F,sourceUrl:A,name:C.skill,agent:C.agent,scope:u.global?"global":"project",success:C.success})}if(!E.success&&E.installed===0&&E.failed===0)process.exit(1);if(E.failed>0)process.exit(1)}catch(F){if(K.error(F instanceof Error?F.message:"Something went wrong. Try again or check your connection."),!u.silent)a(Zu.default.red("Installation failed"));process.exit(1)}}var Zu;var a3=e(()=>{MD();uC();n3();p3();Zu=o(LD(),1)});var SC=S((KU,RC)=>{var Yu=n("constants"),uJ=process.cwd,mF=null,FJ=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!mF)mF=uJ.call(process);return mF};try{process.cwd()}catch(D){}if(typeof process.chdir==="function"){if(cF=process.chdir,process.chdir=function(D){mF=null,cF.call(process,D)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,cF)}var cF;RC.exports=EJ;function EJ(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=I(D.stat),D.fstat=I(D.fstat),D.lstat=I(D.lstat),D.statSync=$(D.statSync),D.fstatSync=$(D.fstatSync),D.lstatSync=$(D.lstatSync),D.chmod&&!D.lchmod)D.lchmod=function(J,H,X){if(X)process.nextTick(X)},D.lchmodSync=function(){};if(D.chown&&!D.lchown)D.lchown=function(J,H,X,Y){if(Y)process.nextTick(Y)},D.lchownSync=function(){};if(FJ==="win32")D.rename=typeof D.rename!=="function"?D.rename:function(J){function H(X,Y,_){var G=Date.now(),q=0;J(X,Y,function U(O){if(O&&(O.code==="EACCES"||O.code==="EPERM"||O.code==="EBUSY")&&Date.now()-G<60000){if(setTimeout(function(){D.stat(Y,function(Q,z){if(Q&&Q.code==="ENOENT")J(X,Y,U);else _(O)})},q),q<100)q+=10;return}if(_)_(O)})}if(Object.setPrototypeOf)Object.setPrototypeOf(H,J);return H}(D.rename);D.read=typeof D.read!=="function"?D.read:function(J){function H(X,Y,_,G,q,U){var O;if(U&&typeof U==="function"){var Q=0;O=function(z,N,x){if(z&&z.code==="EAGAIN"&&Q<10)return Q++,J.call(D,X,Y,_,G,q,O);U.apply(this,arguments)}}return J.call(D,X,Y,_,G,q,O)}if(Object.setPrototypeOf)Object.setPrototypeOf(H,J);return H}(D.read),D.readSync=typeof D.readSync!=="function"?D.readSync:function(J){return function(H,X,Y,_,G){var q=0;while(!0)try{return J.call(D,H,X,Y,_,G)}catch(U){if(U.code==="EAGAIN"&&q<10){q++;continue}throw U}}}(D.readSync);function u(J){J.lchmod=function(H,X,Y){J.open(H,Yu.O_WRONLY|Yu.O_SYMLINK,X,function(_,G){if(_){if(Y)Y(_);return}J.fchmod(G,X,function(q){J.close(G,function(U){if(Y)Y(q||U)})})})},J.lchmodSync=function(H,X){var Y=J.openSync(H,Yu.O_WRONLY|Yu.O_SYMLINK,X),_=!0,G;try{G=J.fchmodSync(Y,X),_=!1}finally{if(_)try{J.closeSync(Y)}catch(q){}else J.closeSync(Y)}return G}}function F(J){if(Yu.hasOwnProperty("O_SYMLINK")&&J.futimes)J.lutimes=function(H,X,Y,_){J.open(H,Yu.O_SYMLINK,function(G,q){if(G){if(_)_(G);return}J.futimes(q,X,Y,function(U){J.close(q,function(O){if(_)_(U||O)})})})},J.lutimesSync=function(H,X,Y){var _=J.openSync(H,Yu.O_SYMLINK),G,q=!0;try{G=J.futimesSync(_,X,Y),q=!1}finally{if(q)try{J.closeSync(_)}catch(U){}else J.closeSync(_)}return G};else if(J.futimes)J.lutimes=function(H,X,Y,_){if(_)process.nextTick(_)},J.lutimesSync=function(){}}function E(J){if(!J)return J;return function(H,X,Y){return J.call(D,H,X,function(_){if(Z(_))_=null;if(Y)Y.apply(this,arguments)})}}function C(J){if(!J)return J;return function(H,X){try{return J.call(D,H,X)}catch(Y){if(!Z(Y))throw Y}}}function B(J){if(!J)return J;return function(H,X,Y,_){return J.call(D,H,X,Y,function(G){if(Z(G))G=null;if(_)_.apply(this,arguments)})}}function A(J){if(!J)return J;return function(H,X,Y){try{return J.call(D,H,X,Y)}catch(_){if(!Z(_))throw _}}}function I(J){if(!J)return J;return function(H,X,Y){if(typeof X==="function")Y=X,X=null;function _(G,q){if(q){if(q.uid<0)q.uid+=4294967296;if(q.gid<0)q.gid+=4294967296}if(Y)Y.apply(this,arguments)}return X?J.call(D,H,X,_):J.call(D,H,_)}}function $(J){if(!J)return J;return function(H,X){var Y=X?J.call(D,H,X):J.call(D,H);if(Y){if(Y.uid<0)Y.uid+=4294967296;if(Y.gid<0)Y.gid+=4294967296}return Y}}function Z(J){if(!J)return!0;if(J.code==="ENOSYS")return!0;var H=!process.getuid||process.getuid()!==0;if(H){if(J.code==="EINVAL"||J.code==="EPERM")return!0}return!1}}});var NC=S((QU,wC)=>{var WC=n("stream").Stream;wC.exports=CJ;function CJ(D){return{ReadStream:u,WriteStream:F};function u(E,C){if(!(this instanceof u))return new u(E,C);WC.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 I=0,$=A.length;I<$;I++){var Z=A[I];this[Z]=C[Z]}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(J,H){if(J){B.emit("error",J),B.readable=!1;return}B.fd=H,B.emit("open",H),B._read()})}function F(E,C){if(!(this instanceof F))return new F(E,C);WC.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,I=B.length;A<I;A++){var $=B[A];this[$]=C[$]}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 MC=S((LU,VC)=>{VC.exports=AJ;var BJ=Object.getPrototypeOf||function(D){return D.__proto__};function AJ(D){if(D===null||typeof D!=="object")return D;if(D instanceof Object)var u={__proto__:BJ(D)};else var u=Object.create(null);return Object.getOwnPropertyNames(D).forEach(function(F){Object.defineProperty(u,F,Object.getOwnPropertyDescriptor(D,F))}),u}});var xC=S((zU,DE)=>{var CD=n("fs"),IJ=SC(),JJ=NC(),ZJ=MC(),lF=n("util"),YD,nF;if(typeof Symbol==="function"&&typeof Symbol.for==="function")YD=Symbol.for("graceful-fs.queue"),nF=Symbol.for("graceful-fs.previous");else YD="___graceful-fs.queue",nF="___graceful-fs.previous";function $J(){}function PC(D,u){Object.defineProperty(D,YD,{get:function(){return u}})}var zu=$J;if(lF.debuglog)zu=lF.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))zu=function(){var D=lF.format.apply(lF,arguments);D="GFS4: "+D.split(/\n/).join(`
102
+ `)){let A=B.indexOf(":");if(A===-1)continue;let I=B.slice(0,A).trim(),$=B.slice(A+1).trim();if($.startsWith('"')&&$.endsWith('"')||$.startsWith("'")&&$.endsWith("'"))C[I]=$.slice(1,-1);else if(I==="metadata")try{let Z={},J=$.replace(/^\{|\}$/g,"").trim();if(J){for(let H of J.split(",")){let[X,Y]=H.split("=").map((_)=>_.trim());if(X&&Y)Z[X]=Y.replace(/^['"]|["']$/g,"")}C[I]=JSON.stringify(Z)}}catch{C[I]=$}else C[I]=$}return{data:C,content:E}}function UF(D,u){try{let{data:F}=w3(u);if(!F.name||!F.description)return null;return{name:F.name,description:F.description,path:aA(D),metadata:F.metadata?JSON.parse(F.metadata):void 0}}catch{return null}}function aD(D){return D.name||rA(D.path)}var KF=()=>{};import{readdir as U6,readFile as N3,stat as sA}from"fs/promises";import{join as sD}from"path";function tA(D){let u=[D];for(let E of oA)u.push(sD(D,E));let F=new Set;for(let E of Object.values(l))F.add(sD(D,E.skillsDir));return u.push(...F),u}async function V3(D){try{let u=sD(D,"SKILL.md");return(await sA(u)).isFile()}catch{return!1}}async function K6(D,u=0,F=5){let E=[];if(u>F)return E;try{if(await V3(D))E.push(D);let C=await U6(D,{withFileTypes:!0});for(let B of C)if(B.isDirectory()&&!qF.includes(B.name)){let A=await K6(sD(D,B.name),u+1,F);E.push(...A)}}catch{}return E}async function QF(D,u){let F=[],E=new Set,C=u?sD(D,u):D;if(await V3(C)){let A=sD(C,"SKILL.md"),I=await N3(A,"utf-8"),$=UF(A,I);if($)return F.push($),F}let B=tA(C);for(let A of B)try{let I=await U6(A,{withFileTypes:!0});for(let $ of I)if($.isDirectory()){let Z=sD(A,$.name);if(await V3(Z)){let J=sD(Z,"SKILL.md"),H=await N3(J,"utf-8"),X=UF(J,H);if(X&&!E.has(X.name))F.push(X),E.add(X.name)}}}catch{}if(F.length===0){let A=await K6(C);for(let I of A){let $=sD(I,"SKILL.md"),Z=await N3($,"utf-8"),J=UF($,Z);if(J&&!E.has(J.name))F.push(J),E.add(J.name)}}return F}var oA;var M3=e(()=>{rD();W3();KF();oA=["skills","skills/.curated","skills/.experimental","skills/.system"]});import{basename as eA}from"path";function Q6(D,u){try{let{data:F}=w3(u);return{name:F.name||eA(D,".md"),description:F.description,path:D,type:"markdown"}}catch{return null}}function Lu(D){return D.name}var j3=e(()=>{KF()});import{readdir as L6,readFile as DI}from"fs/promises";import{join as P3,extname as uI}from"path";async function z6(D,u=0){let F=[];if(u>EI)return F;try{let E=await L6(D,{withFileTypes:!0});for(let C of E){if(qF.includes(C.name))continue;let B=P3(D,C.name);if(C.isDirectory())if(C.name==="commands")F.push(B);else{let A=await z6(B,u+1);F.push(...A)}}}catch{}return F}async function CI(D){let u=[];try{let F=await L6(D,{withFileTypes:!0});for(let E of F){if(FI.has(E.name))continue;if(!E.isFile())continue;let C=P3(D,E.name);if(uI(E.name).toLowerCase()!==".md")continue;try{let A=await DI(C,"utf-8"),I=Q6(C,A);if(I)u.push(I)}catch{continue}}}catch{}return u}async function LF(D,u){let F=[],E=new Set,C=u?P3(D,u):D,B=await z6(C);for(let A of B){let I=await CI(A);for(let $ of I)if(!E.has($.name))F.push($),E.add($.name)}return F}var FI,EI=5;var x3=e(()=>{W3();j3();FI=new Set(["README.md","readme.md",".DS_Store"])});import{resolve as BI,join as I0}from"path";import{homedir as O6}from"os";function zF(D){if(D.startsWith("~"))return D.replace("~",O6());return D}function Bu(D){return D.type==="global"?zF(D.path):BI(process.cwd(),D.path)}function J0(){return I0(O6(),AI)}function R6(D={}){if(D.global)return I0(J0(),T6);return I0(D.cwd||process.cwd(),T6)}function S6(D={}){return I0(R6(D),II)}function W6(D={}){return I0(R6(D),JI)}var AI=".flins",T6=".agents",II="skills",JI="commands";var ku=()=>{};import{mkdir as vu,cp as w6,access as ZI,readdir as $I,symlink as N6,rm as TF}from"fs/promises";import{lstatSync as YI,readlinkSync as HI,rmSync as XI}from"fs";import{join as Z0,relative as V6,dirname as M6,resolve as _I}from"path";async function y3(D,u){try{return await D(),{success:!0,path:u}}catch(F){return{success:!1,path:u,error:F instanceof Error?F.message:"Unknown error"}}}async function f3(D,u){await vu(u,{recursive:!0});let F=await $I(D,{withFileTypes:!0});for(let E of F){if(qI(E.name))continue;let C=Z0(D,E.name),B=Z0(u,E.name);if(E.isDirectory())await f3(C,B);else await w6(C,B)}}async function j6(D,u){return y3(async()=>{await vu(u,{recursive:!0}),await f3(D,u)},u)}async function P6(D,u,F,E={}){return y3(async()=>{let C=S6(E),B=Z0(C,u);await vu(C,{recursive:!0}),await TF(B,{recursive:!0,force:!0}),await f3(D,B);let A=Z0(F,"..");await vu(A,{recursive:!0}),await TF(F,{recursive:!0,force:!0}),await N6(V6(A,B),F)},F)}async function x6(D,u,F,E={}){return y3(async()=>{let C=W6(E),B=Z0(C,`${u}.md`);await vu(C,{recursive:!0}),await TF(B,{force:!0}),await w6(D,B);let A=M6(F);await vu(A,{recursive:!0}),await TF(F,{force:!0}),await N6(V6(A,B),F)},F)}async function y6(D){try{return await ZI(D),!0}catch{return!1}}async function f6(D){try{if(!YI(D).isSymbolicLink())return{success:!0};let F=HI(D),E=_I(M6(D),F);return XI(E,{recursive:!0,force:!0}),{success:!0}}catch(u){let F=u?.code;if(F==="ENOENT"||F==="ENOTDIR")return{success:!0};return{success:!1,error:u instanceof Error?u.message:"Unknown error"}}}var GI,qI=(D)=>{if(GI.has(D))return!0;if(D.startsWith("_"))return!0;return!1};var OF=e(()=>{ku();GI=new Set(["README.md","metadata.json"])});import{join as b6}from"path";async function RF(D,u,F){let E=l[u],C=F.global?E.globalSkillsDir:E.skillsDir,B=b6(C,D.name);return{...F.symlink?await P6(D.path,D.name,B,{global:F.global}):await j6(D.path,B),originalPath:D.path}}async function k6(D,u,F){let E=b3(D,u,F);return y6(E)}function b3(D,u,F){let E=l[u],C=F.global?E.globalSkillsDir:E.skillsDir;return b6(C,D)}var k3=e(()=>{rD();OF()});import{mkdir as UI,cp as KI}from"fs/promises";import{join as QI,dirname as LI}from"path";function SF(D){return v6.includes(D)}function h6(){return v6.filter((D)=>l[D]?.commandsDir)}async function zI(D){await UI(D,{recursive:!0})}async function TI(D,u){try{return await zI(LI(u)),await KI(D,u),{success:!0,path:u}}catch(F){return{success:!1,path:u,error:F instanceof Error?F.message:"Unknown error"}}}async function OI(D,u,F){let E=l[u],C=F.global?E.globalCommandsDir:E.commandsDir,B=QI(C,`${D.name}.md`);if(F.symlink)return x6(D.path,D.name,B,{global:F.global});return TI(D.path,B)}async function WF(D,u,F){if(!SF(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 OI(D,u,F),originalPath:D.path}}var v6;var v3=e(()=>{rD();OF();v6=["claude-code","opencode","factory"]});async function g6(){let D=[];for(let[u,F]of Object.entries(l))if(await F.detectInstalled())D.push(u);return D}var m6=e(()=>{rD()});function oD(D){return`skill:${D.toLowerCase()}`}function tD(D){return`command:${D.toLowerCase()}`}function hu(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}import{join as Au,resolve as RI}from"path";import{existsSync as c6,readdirSync as l6,lstatSync as SI}from"fs";function wF(D,u,F){let E=[],C=F.cwd??RI(F.type==="global"?J0():process.cwd());for(let[B,A]of Object.entries(l))if(u==="skill"){let I=F.type==="global"?Au(C,zF(A.globalSkillsDir)):Au(C,A.skillsDir);if(c6(I))try{let Z=l6(I,{withFileTypes:!0}).find((J)=>{if(J.name.toLowerCase()!==D.toLowerCase())return!1;if(J.isDirectory())return!0;let H=Au(I,J.name);try{return SI(H).isSymbolicLink()}catch{return!1}});if(Z)E.push({agent:B,installableType:"skill",type:F.type,path:F.type==="global"?Au(A.globalSkillsDir,Z.name):Au(A.skillsDir,Z.name)})}catch{}}else{let I=F.type==="global"?A.globalCommandsDir:A.commandsDir;if(I){let $=F.type==="global"?Au(C,zF(I)):Au(C,I);if(c6($))try{let J=l6($,{withFileTypes:!0}).find((H)=>{return H.name.replace(/\.md$/,"").toLowerCase()===D.toLowerCase()});if(J)E.push({agent:B,installableType:"command",type:F.type,path:Au(I,J.name)})}catch{}}}return E}var h3=e(()=>{ku();rD()});import{join as WI}from"path";import{existsSync as d6,readFileSync as wI,writeFileSync as n6,mkdirSync as NI}from"fs";function i6(){if(!d6(g3))NI(g3,{recursive:!0})}function $0(){if(i6(),!d6(NF)){let D={lastUpdate:new Date().toISOString(),skills:{}};return n6(NF,JSON.stringify(D,null,2)),D}try{let D=wI(NF,"utf-8");return JSON.parse(D)}catch{return{lastUpdate:new Date().toISOString(),skills:{}}}}function VF(D){i6(),D.lastUpdate=new Date().toISOString(),n6(NF,JSON.stringify(D,null,2))}function m3(D,u,F,E,C,B="skill"){let A=$0(),I=B==="skill"?oD(D):tD(D),$=A.skills[I],Z=!1,J;if($&&$.branch!==E)J=$.branch,Z=!0;let H={url:u,subpath:F,branch:E,commit:C};return A.skills[I]=H,VF(A),{updated:Z,previousBranch:J}}function MF(D,u){let F=$0(),E=u==="skill"?oD(D):tD(D);delete F.skills[E],VF(F)}function p6(D,u,F){let E=$0(),C=u==="skill"?oD(D):tD(D);if(E.skills[C])E.skills[C].commit=F,VF(E)}function jF(){return $0()}function Iu(D,u){return wF(D,u,{type:"global"})}async function r6(){let D=$0(),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(Iu(A,B).length===0)u.push(F)}for(let F of u)delete D.skills[F];if(u.length>0)VF(D)}var g3,NF;var PF=e(()=>{ku();h3();g3=J0(),NF=WI(g3,"skills.lock")});import{resolve as VI}from"path";import{existsSync as c3,readFileSync as MI,writeFileSync as jI,rmSync as a6}from"fs";function xF(D){let u=D||process.cwd();return VI(u,PI)}function Y0(D){let u=xF(D);if(!c3(u))return null;try{let F=MI(u,"utf-8"),E=JSON.parse(F);if(!E.version||!E.skills)return null;return E}catch{return null}}function yF(D,u){let F=xF(u);D.version=s6,jI(F,JSON.stringify(D,null,2))}function l3(D,u,F,E,C,B,A){let I=Y0(A);if(!I)I={version:s6,skills:{}};let $=B==="skill"?oD(D):tD(D),Z=I.skills[$],J=!1,H;if(Z&&Z.branch!==E)H=Z.branch,J=!0;let X={url:u,subpath:F,branch:E,commit:C};return I.skills[$]=X,yF(I,A),{updated:J,previousBranch:H}}function o6(D,u,F){let E=Y0(F);if(!E)return;let C=u==="skill"?oD(D):tD(D);if(delete E.skills[C],Object.keys(E.skills).length>0)yF(E,F);else{let B=xF(F);if(c3(B))try{a6(B,{force:!0})}catch{}}}function t6(D,u,F,E){let C=Y0(E);if(!C)return;let B=u==="skill"?oD(D):tD(D),A=C.skills[B];if(A)A.commit=F,yF(C,E)}function fF(D){return Y0(D)}function Ju(D,u,F){return wF(D,u,{type:"project",cwd:F})}async function e6(D){let u=Y0(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",I=B[1];if(Ju(I,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)yF(u,D);else{let E=xF(D);if(c3(E))a6(E,{force:!0})}}var s6="1.0.0",PI="skills.lock";var bF=e(()=>{h3()});async function DC(D,u){let F={tempDir:null,spinner:gD()};try{F.spinner.start("Reading repository...");let E=$6(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("Downloading..."),F.tempDir=await HF(E.url,E.branch),F.spinner.stop("Repository cloned");let B=await XF(F.tempDir);F.spinner.start("Finding skills...");let A=await QF(F.tempDir,E.subpath),I=await LF(F.tempDir,E.subpath);if(A.length===0&&I.length===0)return F.spinner.stop(g.default.red("No skills or commands found")),a(g.default.red("No skills found. Repository must have SKILL.md files.")),{success:!1,installed:0,failed:0,results:[]};let $=I.length>0;if(F.spinner.stop(`Found ${g.default.green(A.length)} skill${A.length!==1?"s":""}`+($?` and ${g.default.yellow(I.length)} command${I.length!==1?"s":""}`:"")),u.list){if(A.length>0){K.step(g.default.bold("Available Skills"));for(let q of A)K.message(` ${g.default.cyan(aD(q))}`),K.message(` ${g.default.dim(q.description)}`)}if(I.length>0){K.step(g.default.bold("Available Commands"));for(let q of I)K.message(` ${g.default.cyan(Lu(q))}`),K.message(` ${g.default.dim(q.description||`Command: ${q.name}`)}`)}return a("Use --skill <name> to install specific skills or commands"),{success:!0,installed:0,failed:0,results:[]}}let Z=await xI(A,u),J=Z?await fI(u,F):null,H=I.length>0?await yI(I,u):null,X=H?await bI(u,F):null;if(!Z&&!H)return{success:!1,installed:0,failed:0,results:[]};if(Z&&!J)return{success:!1,installed:0,failed:0,results:[]};if(H&&!X)return{success:!1,installed:0,failed:0,results:[]};let Y=await kI(u);if(Y===null)return{success:!1,installed:0,failed:0,results:[]};if(!await vI(u,Z,J,H,X,Y))return{success:!1,installed:0,failed:0,results:[]};if(H&&H.length>0)K.warn(g.default.yellow("Commands are experimental and may change"));F.spinner.start("Adding skills...");let G=await hI(Z||[],J||[],H||[],X||[],Y,E,B,C,u.symlink??!0,F.tempDir);return F.spinner.stop("Installation complete"),G}finally{if(F.tempDir)await _F(F.tempDir)}}async function xI(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()||aD(E).toLowerCase()===C.toLowerCase())),F.length===0){K.error(`No matching skills found for: ${u.skill.join(", ")}`),K.info("Available skills:");for(let E of D)K.message(` - ${aD(E)}`);return null}K.info(`Selected ${F.length} skill${F.length!==1?"s":""}: ${F.map((E)=>g.default.cyan(aD(E))).join(", ")}`)}else if(D.length===1){F=D;let E=D[0];K.info(`Skill: ${g.default.cyan(aD(E))}`),K.message(g.default.dim(E.description))}else if(u.yes||u.force)F=D,K.info(`Installing all ${D.length} skills`);else{let E=D.map((B)=>({value:B,label:aD(B),hint:B.description.length>60?B.description.slice(0,57)+"...":B.description})),C=await fD({message:"Choose skills to add",options:E,required:!1});if(AD(C))return ZD("Installation cancelled"),null;if(!C||C.length===0)return K.info("No skills selected"),null;F=C}return F}async function yI(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()||Lu(E).toLowerCase()===C.toLowerCase()));if(F.length===0&&!u.yes&&!u.force){let E=D.map((B)=>({value:B,label:Lu(B),hint:(B.description||`Command: ${B.name}`).slice(0,55)})),C=await fD({message:"Choose commands to add",options:E,required:!1});if(AD(C))return ZD("Installation cancelled"),null;if(!C||C.length===0)return K.info("No commands selected"),null;F=C}else if(u.yes||u.force)F=D,K.info(`Installing all ${D.length} commands`);if(F.length>0)K.info(`Selected ${F.length} command${F.length!==1?"s":""}: ${F.map((E)=>g.default.yellow(Lu(E))).join(", ")}`);return F.length>0?F:null}async function fI(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 K.error(`Invalid agents: ${C.join(", ")}`),K.info(`Valid agents: ${E.join(", ")}`),null;return D.agent}u.spinner.start("Finding AI tools...");let F=await g6();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 K.info("Installing to all agents (none detected)"),C}else{K.warn("No AI tools found. Choose where to install:");let C=Object.entries(l).map(([A,I])=>({value:A,label:I.displayName})),B=await fD({message:"Where should we install these?",options:C,required:!0});if(AD(B))return ZD("Installation cancelled"),null;return B}else if(F.length===1||D.yes||D.force){if(F.length===1){let E=F[0];K.info(`Installing skills to: ${g.default.cyan(l[E].displayName)}`)}else K.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 fD({message:"Where should we install these?",options:E,required:!0,initialValues:F});if(AD(C))return ZD("Installation cancelled"),null;return C}}async function bI(D,u){let F=h6();if(D.agent&&D.agent.length>0){let I=Object.keys(l),$=D.agent.filter((H)=>!I.includes(H));if($.length>0)return K.error(`Invalid agents: ${$.join(", ")}`),K.info(`Valid agents: ${I.join(", ")}`),null;let Z=D.agent.filter((H)=>SF(H));if(Z.length===0)return K.error("Commands are only supported by: "+F.map((H)=>l[H].displayName).join(", ")),null;let J=D.agent.filter((H)=>!SF(H));if(J.length>0)K.warn(`Filtering out agents that don't support commands: ${J.join(", ")}`);return Z}let E=F.filter((I)=>l[I]?.commandsDir);if(E.length===0)return K.warn("No agents with command support detected"),[];if(D.yes||D.force)return K.info(`Installing commands to: ${E.map((I)=>g.default.cyan(l[I].displayName)).join(", ")}`),E;let B=E.map((I)=>({value:I,label:l[I].displayName,hint:l[I].commandsDir||""})),A=await fD({message:"Select agents to install commands to",options:B,required:!0,initialValues:E});if(AD(A))return ZD("Installation cancelled"),null;return K.info(`Installing commands to: ${A.map((I)=>g.default.cyan(l[I].displayName)).join(", ")}`),A}async function kI(D){let u=D.global??!1;if(D.global===void 0&&!(D.yes||D.force)){let F=await J6({message:"Where to install?",options:[{value:!1,label:"Project",hint:"saved with this project"},{value:!0,label:"Global",hint:"available for all projects"}]});if(AD(F))return ZD("Installation cancelled"),null;u=F}return u}async function vI(D,u,F,E,C,B){if(K.step(g.default.bold("Installation Summary")),u&&u.length>0&&F){K.message(g.default.bold(g.default.cyan("Skills")));for(let I of u){K.message(` ${g.default.cyan(aD(I))}`);for(let $ of F){let Z=b3(I.name,$,{global:B}),H=await k6(I.name,$,{global:B})?g.default.yellow(" (will overwrite)"):"";K.message(` ${g.default.dim("→")} ${l[$].displayName}: ${g.default.dim(Z)}${H}`)}}}if(E&&E.length>0&&C&&C.length>0)for(let I of E){K.message(` ${g.default.yellow(Lu(I))}`);for(let $ of C){let Z=`${l[$].commandsDir}/${I.name}.md`;K.message(` ${g.default.dim("→")} ${l[$].displayName}: ${g.default.dim(Z)}`)}}if(!(D.yes||D.force)){let I=await Cu({message:"Ready to install?"});if(AD(I)||!I)return ZD("Installation cancelled"),!1}return!0}async function hI(D,u,F,E,C,B,A,I,$,Z){let J=[...D.flatMap((q)=>u.map((U)=>RF(q,U,{global:C,symlink:$}))),...F.flatMap((q)=>E.map((U)=>WF(q,U,{global:C,symlink:$})))],H=await Promise.all(J),X=H.map((q,U)=>{let O=Math.floor(U/Math.max(u.length,E.length)),Q=U%Math.max(u.length,E.length),z=U<D.length*u.length,N=z?D[O%D.length]:F[O%F.length],x=z?u:E,R=x[Q%x.length],M=z?aD(N):Lu(N),T=z?`${N.path}/SKILL.md`:N.path,W=Z6(B,Z,T);return{skill:M,agent:l[R].displayName,...q,sourceUrl:W,installableType:z?"skill":"command"}}),Y=new Map;for(let[q,U]of H.entries()){if(!U.success)continue;let O=q<D.length*u.length;if(C)if(O){let Q=Math.floor(q/u.length),z=D[Q%D.length],N=m3(z.name,B.url,B.subpath,I,A,"skill");if(N.updated&&N.previousBranch){let x=Y.get(z.name);Y.set(z.name,{previous:x?.previous??N.previousBranch,current:x?.current??I})}}else{let Q=Math.floor((q-D.length*u.length)/E.length),z=F[Q%F.length];m3(z.name,B.url,B.subpath,I,A,"command")}}if(!C)for(let[q,U]of H.entries()){if(!U.success)continue;if(q<D.length*u.length){let Q=Math.floor(q/u.length),z=D[Q%D.length];l3(z.name,B.url,B.subpath,I,A,"skill")}else{let Q=Math.floor((q-D.length*u.length)/E.length),z=F[Q%F.length];l3(z.name,B.url,B.subpath,I,A,"command")}}let _=X.filter((q)=>q.success),G=X.filter((q)=>!q.success);if(Y.size>0)for(let[q,{previous:U,current:O}]of Y)K.warn(g.default.yellow(` ${g.default.cyan(q)}: ${g.default.dim(U)} → ${g.default.green(O)}`));if(_.length>0){let q=_.filter((Q)=>Q.installableType==="skill").length,U=_.filter((Q)=>Q.installableType==="command").length,O=[];if(q>0)O.push(`${q} skill${q!==1?"s":""}`);if(U>0)O.push(`${U} command${U!==1?"s":""}`);K.success(g.default.green(`Successfully installed ${O.join(" and ")}`));for(let Q of _){let z=Q.installableType==="command"?g.default.yellow("⚡"):g.default.green("✓");K.message(` ${z} ${Q.skill} → ${Q.agent}`),K.message(` ${g.default.dim(Q.path)}`)}}if(G.length>0){K.error(g.default.red(`Failed to install ${G.length} item${G.length!==1?"s":""}`));for(let q of G)K.message(` ${g.default.red("✗")} ${q.skill} → ${q.agent}`),K.message(` ${g.default.dim(q.error)}`)}if(_.length>0)a(g.default.green("Done! Skills ready to use."));else a(g.default.yellow("Nothing installed"));return{success:G.length===0,installed:_.length,failed:G.length,results:X}}var g;var uC=e(()=>{MD();R3();M3();x3();KF();j3();k3();v3();m6();rD();PF();bF();g=o(LD(),1)});async function FC(){let D=Date.now();if(H0&&d3&&D<d3)return H0;try{let u=await fetch(G6,{signal:AbortSignal.timeout(5000)});if(!u.ok)throw Error(`Failed to fetch directory: ${u.status}`);let F=await u.json();return H0=F,d3=D+gI,F}catch(u){if(H0)return H0;throw u}}async function EC(D){return(await FC()).find((E)=>E.name.toLowerCase()===D.toLowerCase())?.source??null}function CC(D){return/^[a-z0-9-]+$/i.test(D)&&!D.includes("/")&&!D.includes(":")}async function kF(){return FC()}var H0=null,d3=null,gI=300000;var n3=e(()=>{S3()});import{platform as mI,arch as cI}from"node:os";import{spawn as lI}from"node:child_process";function pI(D){let u=D.match(/github\.com[/:]([^/]+\/[^/]+?)(?:\.git)?(?:\/tree\/[^/]+\/(.+?))?(?:\/)?(?:[#]|$)/i);if(u){let C=u[1],B=u[2];return B?`${C}/${B}`:C}let F=D.match(/gitlab\.com[/:]([^/]+\/[^/]+?)(?:\.git)?(?:\/-\/tree\/[^/]+\/(.+?))?(?:\/)?(?:[#]|$)/i);if(F){let C=F[1],B=F[2];return B?`${C}/${B}`:C}let E=D.match(/^([^/]+\/[^/]+?)(?:\/(.+?))?(?:\/)?$/);if(E){let C=E[1],B=E[2];return B?`${C}/${B}`:C}return D.replace(/\.git$/,"").replace(/\/$/,"")}function AC(D){if(!BC)return;vF.push({...D,repo:D.repo?pI(D.repo):void 0,timestamp:Date.now(),osPlatform:mI(),osArch:cI(),nodeVersion:process.version,cliVersion:nI})}function i3(){if(!BC||vF.length===0)return;let D=vF;vF=[];let u=JSON.stringify(D);lI("curl",["-s","-X","POST",dI,"-H","Content-Type: application/json","-d",u,"--max-time","10"],{detached:!0,stdio:"ignore",windowsHide:!0}).unref()}var dI="https://tidy-oriole-956.convex.site/telemetry",nI,iI,BC,vF;var p3=e(()=>{p0();nI=fu.version,iI=Boolean(process.env.CI||process.env.CONTINUOUS_INTEGRATION||process.env.GITHUB_ACTIONS||process.env.GITLAB_CI||process.env.TRAVIS||process.env.JENKINS_URL||process.env.BITBUCKET_BUILD_NUMBER||process.env.CODEBUILD_BUILD_ID),BC=!iI&&process.env.FLINS_TELEMETRY!=="0"&&!0,vF=[]});var IC={};D5(IC,{installCommand:()=>r3});async function r3(D,u){if(!u.silent)SD(Zu.default.bgCyan(Zu.default.black(" flins ")));try{let F=D;if(CC(D)){if(!u.silent)K.info(`Looking up "${Zu.default.cyan(D)}" in flins directory...`);let C=await EC(D);if(!C){K.error(`Skill "${Zu.default.cyan(D)}" not found in directory.`);let B=await kF();if(B.length>0){K.info("Available skills:");for(let A of B)K.message(` ${Zu.default.cyan(A.name)} - ${Zu.default.dim(A.description)}`)}process.exit(1)}F=C}let E=await DC(F,u);for(let C of E.results){let{installableType:B,sourceUrl:A}=C;AC({command:"add",type:B,repo:F,sourceUrl:A,name:C.skill,agent:C.agent,scope:u.global?"global":"project",success:C.success})}if(!E.success&&E.installed===0&&E.failed===0)process.exit(1);if(E.failed>0)process.exit(1)}catch(F){if(K.error(F instanceof Error?F.message:"Something went wrong. Try again or check your connection."),!u.silent)a(Zu.default.red("Installation failed"));process.exit(1)}}var Zu;var a3=e(()=>{MD();uC();n3();p3();Zu=o(LD(),1)});var SC=S((KU,RC)=>{var Yu=n("constants"),uJ=process.cwd,mF=null,FJ=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!mF)mF=uJ.call(process);return mF};try{process.cwd()}catch(D){}if(typeof process.chdir==="function"){if(cF=process.chdir,process.chdir=function(D){mF=null,cF.call(process,D)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,cF)}var cF;RC.exports=EJ;function EJ(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=I(D.stat),D.fstat=I(D.fstat),D.lstat=I(D.lstat),D.statSync=$(D.statSync),D.fstatSync=$(D.fstatSync),D.lstatSync=$(D.lstatSync),D.chmod&&!D.lchmod)D.lchmod=function(J,H,X){if(X)process.nextTick(X)},D.lchmodSync=function(){};if(D.chown&&!D.lchown)D.lchown=function(J,H,X,Y){if(Y)process.nextTick(Y)},D.lchownSync=function(){};if(FJ==="win32")D.rename=typeof D.rename!=="function"?D.rename:function(J){function H(X,Y,_){var G=Date.now(),q=0;J(X,Y,function U(O){if(O&&(O.code==="EACCES"||O.code==="EPERM"||O.code==="EBUSY")&&Date.now()-G<60000){if(setTimeout(function(){D.stat(Y,function(Q,z){if(Q&&Q.code==="ENOENT")J(X,Y,U);else _(O)})},q),q<100)q+=10;return}if(_)_(O)})}if(Object.setPrototypeOf)Object.setPrototypeOf(H,J);return H}(D.rename);D.read=typeof D.read!=="function"?D.read:function(J){function H(X,Y,_,G,q,U){var O;if(U&&typeof U==="function"){var Q=0;O=function(z,N,x){if(z&&z.code==="EAGAIN"&&Q<10)return Q++,J.call(D,X,Y,_,G,q,O);U.apply(this,arguments)}}return J.call(D,X,Y,_,G,q,O)}if(Object.setPrototypeOf)Object.setPrototypeOf(H,J);return H}(D.read),D.readSync=typeof D.readSync!=="function"?D.readSync:function(J){return function(H,X,Y,_,G){var q=0;while(!0)try{return J.call(D,H,X,Y,_,G)}catch(U){if(U.code==="EAGAIN"&&q<10){q++;continue}throw U}}}(D.readSync);function u(J){J.lchmod=function(H,X,Y){J.open(H,Yu.O_WRONLY|Yu.O_SYMLINK,X,function(_,G){if(_){if(Y)Y(_);return}J.fchmod(G,X,function(q){J.close(G,function(U){if(Y)Y(q||U)})})})},J.lchmodSync=function(H,X){var Y=J.openSync(H,Yu.O_WRONLY|Yu.O_SYMLINK,X),_=!0,G;try{G=J.fchmodSync(Y,X),_=!1}finally{if(_)try{J.closeSync(Y)}catch(q){}else J.closeSync(Y)}return G}}function F(J){if(Yu.hasOwnProperty("O_SYMLINK")&&J.futimes)J.lutimes=function(H,X,Y,_){J.open(H,Yu.O_SYMLINK,function(G,q){if(G){if(_)_(G);return}J.futimes(q,X,Y,function(U){J.close(q,function(O){if(_)_(U||O)})})})},J.lutimesSync=function(H,X,Y){var _=J.openSync(H,Yu.O_SYMLINK),G,q=!0;try{G=J.futimesSync(_,X,Y),q=!1}finally{if(q)try{J.closeSync(_)}catch(U){}else J.closeSync(_)}return G};else if(J.futimes)J.lutimes=function(H,X,Y,_){if(_)process.nextTick(_)},J.lutimesSync=function(){}}function E(J){if(!J)return J;return function(H,X,Y){return J.call(D,H,X,function(_){if(Z(_))_=null;if(Y)Y.apply(this,arguments)})}}function C(J){if(!J)return J;return function(H,X){try{return J.call(D,H,X)}catch(Y){if(!Z(Y))throw Y}}}function B(J){if(!J)return J;return function(H,X,Y,_){return J.call(D,H,X,Y,function(G){if(Z(G))G=null;if(_)_.apply(this,arguments)})}}function A(J){if(!J)return J;return function(H,X,Y){try{return J.call(D,H,X,Y)}catch(_){if(!Z(_))throw _}}}function I(J){if(!J)return J;return function(H,X,Y){if(typeof X==="function")Y=X,X=null;function _(G,q){if(q){if(q.uid<0)q.uid+=4294967296;if(q.gid<0)q.gid+=4294967296}if(Y)Y.apply(this,arguments)}return X?J.call(D,H,X,_):J.call(D,H,_)}}function $(J){if(!J)return J;return function(H,X){var Y=X?J.call(D,H,X):J.call(D,H);if(Y){if(Y.uid<0)Y.uid+=4294967296;if(Y.gid<0)Y.gid+=4294967296}return Y}}function Z(J){if(!J)return!0;if(J.code==="ENOSYS")return!0;var H=!process.getuid||process.getuid()!==0;if(H){if(J.code==="EINVAL"||J.code==="EPERM")return!0}return!1}}});var NC=S((QU,wC)=>{var WC=n("stream").Stream;wC.exports=CJ;function CJ(D){return{ReadStream:u,WriteStream:F};function u(E,C){if(!(this instanceof u))return new u(E,C);WC.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 I=0,$=A.length;I<$;I++){var Z=A[I];this[Z]=C[Z]}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(J,H){if(J){B.emit("error",J),B.readable=!1;return}B.fd=H,B.emit("open",H),B._read()})}function F(E,C){if(!(this instanceof F))return new F(E,C);WC.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,I=B.length;A<I;A++){var $=B[A];this[$]=C[$]}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 MC=S((LU,VC)=>{VC.exports=AJ;var BJ=Object.getPrototypeOf||function(D){return D.__proto__};function AJ(D){if(D===null||typeof D!=="object")return D;if(D instanceof Object)var u={__proto__:BJ(D)};else var u=Object.create(null);return Object.getOwnPropertyNames(D).forEach(function(F){Object.defineProperty(u,F,Object.getOwnPropertyDescriptor(D,F))}),u}});var xC=S((zU,DE)=>{var CD=n("fs"),IJ=SC(),JJ=NC(),ZJ=MC(),lF=n("util"),YD,nF;if(typeof Symbol==="function"&&typeof Symbol.for==="function")YD=Symbol.for("graceful-fs.queue"),nF=Symbol.for("graceful-fs.previous");else YD="___graceful-fs.queue",nF="___graceful-fs.previous";function $J(){}function PC(D,u){Object.defineProperty(D,YD,{get:function(){return u}})}var zu=$J;if(lF.debuglog)zu=lF.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))zu=function(){var D=lF.format.apply(lF,arguments);D="GFS4: "+D.split(/\n/).join(`
103
103
  GFS4: `),console.error(D)};if(!CD[YD]){if(o3=global[YD]||[],PC(CD,o3),CD.close=function(D){function u(F,E){return D.call(CD,F,function(C){if(!C)jC();if(typeof E==="function")E.apply(this,arguments)})}return Object.defineProperty(u,nF,{value:D}),u}(CD.close),CD.closeSync=function(D){function u(F){D.apply(CD,arguments),jC()}return Object.defineProperty(u,nF,{value:D}),u}(CD.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){zu(CD[YD]),n("assert").equal(CD[YD].length,0)})}var o3;if(!global[YD])PC(global,CD[YD]);DE.exports=t3(ZJ(CD));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!CD.__patched)DE.exports=t3(CD),CD.__patched=!0;function t3(D){IJ(D),D.gracefulify=t3,D.createReadStream=N,D.createWriteStream=x;var u=D.readFile;D.readFile=F;function F(T,W,w){if(typeof W==="function")w=W,W=null;return m(T,W,w);function m(V,k,y,b){return u(V,k,function(f){if(f&&(f.code==="EMFILE"||f.code==="ENFILE"))mu([m,[V,k,y],f,b||Date.now(),Date.now()]);else if(typeof y==="function")y.apply(this,arguments)})}}var E=D.writeFile;D.writeFile=C;function C(T,W,w,m){if(typeof w==="function")m=w,w=null;return V(T,W,w,m);function V(k,y,b,f,d){return E(k,y,b,function(h){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))mu([V,[k,y,b,f],h,d||Date.now(),Date.now()]);else if(typeof f==="function")f.apply(this,arguments)})}}var B=D.appendFile;if(B)D.appendFile=A;function A(T,W,w,m){if(typeof w==="function")m=w,w=null;return V(T,W,w,m);function V(k,y,b,f,d){return B(k,y,b,function(h){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))mu([V,[k,y,b,f],h,d||Date.now(),Date.now()]);else if(typeof f==="function")f.apply(this,arguments)})}}var I=D.copyFile;if(I)D.copyFile=$;function $(T,W,w,m){if(typeof w==="function")m=w,w=0;return V(T,W,w,m);function V(k,y,b,f,d){return I(k,y,b,function(h){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))mu([V,[k,y,b,f],h,d||Date.now(),Date.now()]);else if(typeof f==="function")f.apply(this,arguments)})}}var Z=D.readdir;D.readdir=H;var J=/^v[0-5]\./;function H(T,W,w){if(typeof W==="function")w=W,W=null;var m=J.test(process.version)?function(y,b,f,d){return Z(y,V(y,b,f,d))}:function(y,b,f,d){return Z(y,b,V(y,b,f,d))};return m(T,W,w);function V(k,y,b,f){return function(d,h){if(d&&(d.code==="EMFILE"||d.code==="ENFILE"))mu([m,[k,y,b],d,f||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 X=JJ(D);U=X.ReadStream,Q=X.WriteStream}var Y=D.ReadStream;if(Y)U.prototype=Object.create(Y.prototype),U.prototype.open=O;var _=D.WriteStream;if(_)Q.prototype=Object.create(_.prototype),Q.prototype.open=z;Object.defineProperty(D,"ReadStream",{get:function(){return U},set:function(T){U=T},enumerable:!0,configurable:!0}),Object.defineProperty(D,"WriteStream",{get:function(){return Q},set:function(T){Q=T},enumerable:!0,configurable:!0});var G=U;Object.defineProperty(D,"FileReadStream",{get:function(){return G},set:function(T){G=T},enumerable:!0,configurable:!0});var q=Q;Object.defineProperty(D,"FileWriteStream",{get:function(){return q},set:function(T){q=T},enumerable:!0,configurable:!0});function U(T,W){if(this instanceof U)return Y.apply(this,arguments),this;else return U.apply(Object.create(U.prototype),arguments)}function O(){var T=this;M(T.path,T.flags,T.mode,function(W,w){if(W){if(T.autoClose)T.destroy();T.emit("error",W)}else T.fd=w,T.emit("open",w),T.read()})}function Q(T,W){if(this instanceof Q)return _.apply(this,arguments),this;else return Q.apply(Object.create(Q.prototype),arguments)}function z(){var T=this;M(T.path,T.flags,T.mode,function(W,w){if(W)T.destroy(),T.emit("error",W);else T.fd=w,T.emit("open",w)})}function N(T,W){return new D.ReadStream(T,W)}function x(T,W){return new D.WriteStream(T,W)}var R=D.open;D.open=M;function M(T,W,w,m){if(typeof w==="function")m=w,w=null;return V(T,W,w,m);function V(k,y,b,f,d){return R(k,y,b,function(h,a4){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))mu([V,[k,y,b,f],h,d||Date.now(),Date.now()]);else if(typeof f==="function")f.apply(this,arguments)})}}return D}function mu(D){zu("ENQUEUE",D[0].name,D[1]),CD[YD].push(D),e3()}var dF;function jC(){var D=Date.now();for(var u=0;u<CD[YD].length;++u)if(CD[YD][u].length>2)CD[YD][u][3]=D,CD[YD][u][4]=D;e3()}function e3(){if(clearTimeout(dF),dF=void 0,CD[YD].length===0)return;var D=CD[YD].shift(),u=D[0],F=D[1],E=D[2],C=D[3],B=D[4];if(C===void 0)zu("RETRY",u.name,F),u.apply(null,F);else if(Date.now()-C>=60000){zu("TIMEOUT",u.name,F);var A=F.pop();if(typeof A==="function")A.call(null,E)}else{var I=Date.now()-B,$=Math.max(B-C,1),Z=Math.min($*1.2,100);if(I>=Z)zu("RETRY",u.name,F),u.apply(null,F.concat([C]));else CD[YD].push(D)}if(dF===void 0)dF=setTimeout(e3,0)}});var R0=S((rK,G1)=>{var cJ=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...D)=>console.error("SEMVER",...D):()=>{};G1.exports=cJ});var S0=S((aK,q1)=>{var lJ=Number.MAX_SAFE_INTEGER||9007199254740991,dJ=["major","premajor","minor","preminor","patch","prepatch","prerelease"];q1.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:lJ,RELEASE_TYPES:dJ,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var iu=S((dD,U1)=>{var{MAX_SAFE_COMPONENT_LENGTH:XE,MAX_SAFE_BUILD_LENGTH:nJ,MAX_LENGTH:iJ}=S0(),pJ=R0();dD=U1.exports={};var rJ=dD.re=[],aJ=dD.safeRe=[],j=dD.src=[],sJ=dD.safeSrc=[],P=dD.t={},oJ=0,_E="[a-zA-Z0-9-]",tJ=[["\\s",1],["\\d",iJ],[_E,nJ]],eJ=(D)=>{for(let[u,F]of tJ)D=D.split(`${u}*`).join(`${u}{0,${F}}`).split(`${u}+`).join(`${u}{1,${F}}`);return D},c=(D,u,F)=>{let E=eJ(u),C=oJ++;pJ(D,C,u),P[D]=C,j[C]=u,sJ[C]=E,rJ[C]=new RegExp(u,F?"g":void 0),aJ[C]=new RegExp(E,F?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*");c("NUMERICIDENTIFIERLOOSE","\\d+");c("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${_E}*`);c("MAINVERSION",`(${j[P.NUMERICIDENTIFIER]})\\.(${j[P.NUMERICIDENTIFIER]})\\.(${j[P.NUMERICIDENTIFIER]})`);c("MAINVERSIONLOOSE",`(${j[P.NUMERICIDENTIFIERLOOSE]})\\.(${j[P.NUMERICIDENTIFIERLOOSE]})\\.(${j[P.NUMERICIDENTIFIERLOOSE]})`);c("PRERELEASEIDENTIFIER",`(?:${j[P.NONNUMERICIDENTIFIER]}|${j[P.NUMERICIDENTIFIER]})`);c("PRERELEASEIDENTIFIERLOOSE",`(?:${j[P.NONNUMERICIDENTIFIER]}|${j[P.NUMERICIDENTIFIERLOOSE]})`);c("PRERELEASE",`(?:-(${j[P.PRERELEASEIDENTIFIER]}(?:\\.${j[P.PRERELEASEIDENTIFIER]})*))`);c("PRERELEASELOOSE",`(?:-?(${j[P.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${j[P.PRERELEASEIDENTIFIERLOOSE]})*))`);c("BUILDIDENTIFIER",`${_E}+`);c("BUILD",`(?:\\+(${j[P.BUILDIDENTIFIER]}(?:\\.${j[P.BUILDIDENTIFIER]})*))`);c("FULLPLAIN",`v?${j[P.MAINVERSION]}${j[P.PRERELEASE]}?${j[P.BUILD]}?`);c("FULL",`^${j[P.FULLPLAIN]}$`);c("LOOSEPLAIN",`[v=\\s]*${j[P.MAINVERSIONLOOSE]}${j[P.PRERELEASELOOSE]}?${j[P.BUILD]}?`);c("LOOSE",`^${j[P.LOOSEPLAIN]}$`);c("GTLT","((?:<|>)?=?)");c("XRANGEIDENTIFIERLOOSE",`${j[P.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);c("XRANGEIDENTIFIER",`${j[P.NUMERICIDENTIFIER]}|x|X|\\*`);c("XRANGEPLAIN",`[v=\\s]*(${j[P.XRANGEIDENTIFIER]})(?:\\.(${j[P.XRANGEIDENTIFIER]})(?:\\.(${j[P.XRANGEIDENTIFIER]})(?:${j[P.PRERELEASE]})?${j[P.BUILD]}?)?)?`);c("XRANGEPLAINLOOSE",`[v=\\s]*(${j[P.XRANGEIDENTIFIERLOOSE]})(?:\\.(${j[P.XRANGEIDENTIFIERLOOSE]})(?:\\.(${j[P.XRANGEIDENTIFIERLOOSE]})(?:${j[P.PRERELEASELOOSE]})?${j[P.BUILD]}?)?)?`);c("XRANGE",`^${j[P.GTLT]}\\s*${j[P.XRANGEPLAIN]}$`);c("XRANGELOOSE",`^${j[P.GTLT]}\\s*${j[P.XRANGEPLAINLOOSE]}$`);c("COERCEPLAIN",`(^|[^\\d])(\\d{1,${XE}})(?:\\.(\\d{1,${XE}}))?(?:\\.(\\d{1,${XE}}))?`);c("COERCE",`${j[P.COERCEPLAIN]}(?:$|[^\\d])`);c("COERCEFULL",j[P.COERCEPLAIN]+`(?:${j[P.PRERELEASE]})?(?:${j[P.BUILD]})?(?:$|[^\\d])`);c("COERCERTL",j[P.COERCE],!0);c("COERCERTLFULL",j[P.COERCEFULL],!0);c("LONETILDE","(?:~>?)");c("TILDETRIM",`(\\s*)${j[P.LONETILDE]}\\s+`,!0);dD.tildeTrimReplace="$1~";c("TILDE",`^${j[P.LONETILDE]}${j[P.XRANGEPLAIN]}$`);c("TILDELOOSE",`^${j[P.LONETILDE]}${j[P.XRANGEPLAINLOOSE]}$`);c("LONECARET","(?:\\^)");c("CARETTRIM",`(\\s*)${j[P.LONECARET]}\\s+`,!0);dD.caretTrimReplace="$1^";c("CARET",`^${j[P.LONECARET]}${j[P.XRANGEPLAIN]}$`);c("CARETLOOSE",`^${j[P.LONECARET]}${j[P.XRANGEPLAINLOOSE]}$`);c("COMPARATORLOOSE",`^${j[P.GTLT]}\\s*(${j[P.LOOSEPLAIN]})$|^$`);c("COMPARATOR",`^${j[P.GTLT]}\\s*(${j[P.FULLPLAIN]})$|^$`);c("COMPARATORTRIM",`(\\s*)${j[P.GTLT]}\\s*(${j[P.LOOSEPLAIN]}|${j[P.XRANGEPLAIN]})`,!0);dD.comparatorTrimReplace="$1$2$3";c("HYPHENRANGE",`^\\s*(${j[P.XRANGEPLAIN]})\\s+-\\s+(${j[P.XRANGEPLAIN]})\\s*$`);c("HYPHENRANGELOOSE",`^\\s*(${j[P.XRANGEPLAINLOOSE]})\\s+-\\s+(${j[P.XRANGEPLAINLOOSE]})\\s*$`);c("STAR","(<|>)?=?\\s*\\*");c("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");c("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var D2=S((sK,K1)=>{var DZ=Object.freeze({loose:!0}),uZ=Object.freeze({}),FZ=(D)=>{if(!D)return uZ;if(typeof D!=="object")return DZ;return D};K1.exports=FZ});var GE=S((oK,z1)=>{var Q1=/^[0-9]+$/,L1=(D,u)=>{if(typeof D==="number"&&typeof u==="number")return D===u?0:D<u?-1:1;let F=Q1.test(D),E=Q1.test(u);if(F&&E)D=+D,u=+u;return D===u?0:F&&!E?-1:E&&!F?1:D<u?-1:1},EZ=(D,u)=>L1(u,D);z1.exports={compareIdentifiers:L1,rcompareIdentifiers:EZ}});var UD=S((tK,O1)=>{var u2=R0(),{MAX_LENGTH:T1,MAX_SAFE_INTEGER:F2}=S0(),{safeRe:E2,t:C2}=iu(),CZ=D2(),{compareIdentifiers:qE}=GE();class hD{constructor(D,u){if(u=CZ(u),D instanceof hD)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>T1)throw TypeError(`version is longer than ${T1} characters`);u2("SemVer",D,u),this.options=u,this.loose=!!u.loose,this.includePrerelease=!!u.includePrerelease;let F=D.trim().match(u.loose?E2[C2.LOOSE]:E2[C2.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>F2||this.major<0)throw TypeError("Invalid major version");if(this.minor>F2||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>F2||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<F2)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(u2("SemVer.compare",this.version,this.options,D),!(D instanceof hD)){if(typeof D==="string"&&D===this.version)return 0;D=new hD(D,this.options)}if(D.version===this.version)return 0;return this.compareMain(D)||this.comparePre(D)}compareMain(D){if(!(D instanceof hD))D=new hD(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 hD))D=new hD(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(u2("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 qE(F,E)}while(++u)}compareBuild(D){if(!(D instanceof hD))D=new hD(D,this.options);let u=0;do{let F=this.build[u],E=D.build[u];if(u2("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 qE(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?E2[C2.PRERELEASELOOSE]:E2[C2.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(qE(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}}O1.exports=hD});var Su=S((eK,S1)=>{var R1=UD(),BZ=(D,u,F=!1)=>{if(D instanceof R1)return D;try{return new R1(D,u)}catch(E){if(!F)return null;throw E}};S1.exports=BZ});var UE=S((DQ,w1)=>{var W1=Su(),AZ=(D,u)=>{let F=W1(D,null,!0),E=W1(u,null,!0),C=F.compare(E);if(C===0)return null;let B=C>0,A=B?F:E,I=B?E:F,$=!!A.prerelease.length;if(!!I.prerelease.length&&!$){if(!I.patch&&!I.minor)return"major";if(I.compareMain(A)===0){if(I.minor&&!I.patch)return"minor";return"patch"}}let J=$?"pre":"";if(F.major!==E.major)return J+"major";if(F.minor!==E.minor)return J+"minor";if(F.patch!==E.patch)return J+"patch";return"prerelease"};w1.exports=AZ});var PD=S((uQ,V1)=>{var N1=UD(),IZ=(D,u,F)=>new N1(D,F).compare(new N1(u,F));V1.exports=IZ});var pu=S((FQ,M1)=>{var JZ=PD(),ZZ=(D,u,F)=>JZ(D,u,F)>0;M1.exports=ZZ});var WE=S((KZ)=>{KZ.parse=KZ.decode=UZ;KZ.stringify=KZ.encode=o1;KZ.safe=ou;KZ.unsafe=Y2;var SE=typeof process<"u"&&process.platform==="win32"?`\r
104
104
  `:`
105
105
  `;function o1(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,I){var $=D[B];if($&&Array.isArray($))$.forEach(function(Z){E+=ou(B+"[]")+C+ou(Z)+`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flins",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "Universal skill installer for AI coding agents - Claude, Cursor, Copilot, and more",
5
5
  "keywords": [
6
6
  "agent-skills",