@holdyourvoice/hyv 0.7.2 → 0.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +233 -322
- package/package.json +17 -21
- package/agents/claude-code.md +0 -37
- package/agents/codex.md +0 -35
package/dist/index.js
CHANGED
|
@@ -1,331 +1,242 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
`)
|
|
4
|
-
`)}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}wrap(e,t,s,i=40){let r=" \\f\\t\\v\xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF",o=new RegExp(`[\\n][${r}]+`);if(e.match(o))return e;let a=t-s;if(a<i)return e;let l=e.slice(0,s),h=e.slice(s).replace(`\r
|
|
1
|
+
"use strict";var dr=Object.create;var Et=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var mr=Object.getOwnPropertyNames;var pr=Object.getPrototypeOf,gr=Object.prototype.hasOwnProperty;var x=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var yr=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of mr(e))!gr.call(r,o)&&o!==t&&Et(r,o,{get:()=>e[o],enumerable:!(n=fr(e,o))||n.enumerable});return r};var y=(r,e,t)=>(t=r!=null?dr(pr(r)):{},yr(e||!r||!r.__esModule?Et(t,"default",{value:r,enumerable:!0}):t,r));var fe=x(Le=>{var xe=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},De=class extends xe{constructor(e){super(1,"commander.invalidArgument",e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};Le.CommanderError=xe;Le.InvalidArgumentError=De});var Ce=x(Be=>{var{InvalidArgumentError:br}=fe(),We=class{constructor(e,t){switch(this.description=t||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case"<":this.required=!0,this._name=e.slice(1,-1);break;case"[":this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.length>3&&this._name.slice(-3)==="..."&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_concatValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:t.concat(e)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(t,n)=>{if(!this.argChoices.includes(t))throw new br(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._concatValue(t,n):t},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function wr(r){let e=r.name()+(r.variadic===!0?"...":"");return r.required?"<"+e+">":"["+e+"]"}Be.Argument=We;Be.humanReadableArgName=wr});var Ge=x(Pt=>{var{humanReadableArgName:_r}=Ce(),Ue=class{constructor(){this.helpWidth=void 0,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}visibleCommands(e){let t=e.commands.filter(o=>!o._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((o,s)=>o.name().localeCompare(s.name())),t}compareOptions(e,t){let n=o=>o.short?o.short.replace(/^-/,""):o.long.replace(/^--/,"");return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(o=>!o.hidden),n=e._getHelpOption();if(n&&!n.hidden){let o=n.short&&e._findOption(n.short),s=n.long&&e._findOption(n.long);!o&&!s?t.push(n):n.long&&!s?t.push(e.createOption(n.long,n.description)):n.short&&!o&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let o=n.options.filter(s=>!s.hidden);t.push(...o)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||""}),e.registeredArguments.find(t=>t.description)?e.registeredArguments:[]}subcommandTerm(e){let t=e.registeredArguments.map(n=>_r(n)).join(" ");return e._name+(e._aliases[0]?"|"+e._aliases[0]:"")+(e.options.length?" [options]":"")+(t?" "+t:"")}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((n,o)=>Math.max(n,t.subcommandTerm(o).length),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((n,o)=>Math.max(n,t.optionTerm(o).length),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((n,o)=>Math.max(n,t.optionTerm(o).length),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((n,o)=>Math.max(n,t.argumentTerm(o).length),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+"|"+e._aliases[0]);let n="";for(let o=e.parent;o;o=o.parent)n=o.name()+" "+n;return n+t+" "+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];return e.argChoices&&t.push(`choices: ${e.argChoices.map(n=>JSON.stringify(n)).join(", ")}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue=="boolean")&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0?`${e.description} (${t.join(", ")})`:e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(n=>JSON.stringify(n)).join(", ")}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(", ")})`;return e.description?`${e.description} ${n}`:n}return e.description}formatHelp(e,t){let n=t.padWidth(e,t),o=t.helpWidth||80,s=2,i=2;function a(p,P){if(P){let te=`${p.padEnd(n+i)}${P}`;return t.wrap(te,o-s,n+i)}return p}function l(p){return p.join(`
|
|
2
|
+
`).replace(/^/gm," ".repeat(s))}let u=[`Usage: ${t.commandUsage(e)}`,""],h=t.commandDescription(e);h.length>0&&(u=u.concat([t.wrap(h,o,0),""]));let f=t.visibleArguments(e).map(p=>a(t.argumentTerm(p),t.argumentDescription(p)));f.length>0&&(u=u.concat(["Arguments:",l(f),""]));let w=t.visibleOptions(e).map(p=>a(t.optionTerm(p),t.optionDescription(p)));if(w.length>0&&(u=u.concat(["Options:",l(w),""])),this.showGlobalOptions){let p=t.visibleGlobalOptions(e).map(P=>a(t.optionTerm(P),t.optionDescription(P)));p.length>0&&(u=u.concat(["Global Options:",l(p),""]))}let R=t.visibleCommands(e).map(p=>a(t.subcommandTerm(p),t.subcommandDescription(p)));return R.length>0&&(u=u.concat(["Commands:",l(R),""])),u.join(`
|
|
3
|
+
`)}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}wrap(e,t,n,o=40){let s=" \\f\\t\\v\xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF",i=new RegExp(`[\\n][${s}]+`);if(e.match(i))return e;let a=t-n;if(a<o)return e;let l=e.slice(0,n),u=e.slice(n).replace(`\r
|
|
5
4
|
`,`
|
|
6
|
-
`),
|
|
7
|
-
|.{1,${a-1}}([${
|
|
8
|
-
`?"":(
|
|
9
|
-
`)}};
|
|
10
|
-
(Did you mean one of ${
|
|
11
|
-
(Did you mean ${
|
|
12
|
-
- specify the name in Command constructor or using .name()`);return t=t||{},t.isDefault&&(this._defaultCommandName=e._name),(t.noHelp||t.hidden)&&(e._hidden=!0),this._registerCommand(e),e.parent=this,e._checkForBrokenPassThrough(),this}createArgument(e,t){return new
|
|
13
|
-
Expecting one of '${
|
|
14
|
-
- already used by option '${t.flags}'`)}this.options.push(e)}_registerCommand(e){let t=
|
|
5
|
+
`),h=" ".repeat(n),w="\\s\u200B",R=new RegExp(`
|
|
6
|
+
|.{1,${a-1}}([${w}]|$)|[^${w}]+?([${w}]|$)`,"g"),p=u.match(R)||[];return l+p.map((P,te)=>P===`
|
|
7
|
+
`?"":(te>0?h:"")+P.trimEnd()).join(`
|
|
8
|
+
`)}};Pt.Help=Ue});var Ke=x(Je=>{var{InvalidArgumentError:vr}=fe(),ze=class{constructor(e,t){this.flags=e,this.description=t||"",this.required=e.includes("<"),this.optional=e.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;let n=Cr(e);this.short=n.shortFlag,this.long=n.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith("--no-")),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){let t=e;return typeof e=="string"&&(t={[e]:!0}),this.implied=Object.assign(this.implied||{},t),this}env(e){return this.envVar=e,this}argParser(e){return this.parseArg=e,this}makeOptionMandatory(e=!0){return this.mandatory=!!e,this}hideHelp(e=!0){return this.hidden=!!e,this}_concatValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:t.concat(e)}choices(e){return this.argChoices=e.slice(),this.parseArg=(t,n)=>{if(!this.argChoices.includes(t))throw new vr(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._concatValue(t,n):t},this}name(){return this.long?this.long.replace(/^--/,""):this.short.replace(/^-/,"")}attributeName(){return xr(this.name().replace(/^no-/,""))}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}},Ye=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(t=>{t.negate?this.negativeOptions.set(t.attributeName(),t):this.positiveOptions.set(t.attributeName(),t)}),this.negativeOptions.forEach((t,n)=>{this.positiveOptions.has(n)&&this.dualOptions.add(n)})}valueFromOption(e,t){let n=t.attributeName();if(!this.dualOptions.has(n))return!0;let o=this.negativeOptions.get(n).presetArg,s=o!==void 0?o:!1;return t.negate===(s===e)}};function xr(r){return r.split("-").reduce((e,t)=>e+t[0].toUpperCase()+t.slice(1))}function Cr(r){let e,t,n=r.split(/[ |,]+/);return n.length>1&&!/^[[<]/.test(n[1])&&(e=n.shift()),t=n.shift(),!e&&/^-[^-]$/.test(t)&&(e=t,t=void 0),{shortFlag:e,longFlag:t}}Je.Option=ze;Je.DualOptions=Ye});var Tt=x(Rt=>{function Or(r,e){if(Math.abs(r.length-e.length)>3)return Math.max(r.length,e.length);let t=[];for(let n=0;n<=r.length;n++)t[n]=[n];for(let n=0;n<=e.length;n++)t[0][n]=n;for(let n=1;n<=e.length;n++)for(let o=1;o<=r.length;o++){let s=1;r[o-1]===e[n-1]?s=0:s=1,t[o][n]=Math.min(t[o-1][n]+1,t[o][n-1]+1,t[o-1][n-1]+s),o>1&&n>1&&r[o-1]===e[n-2]&&r[o-2]===e[n-1]&&(t[o][n]=Math.min(t[o][n],t[o-2][n-2]+1))}return t[r.length][e.length]}function Sr(r,e){if(!e||e.length===0)return"";e=Array.from(new Set(e));let t=r.startsWith("--");t&&(r=r.slice(2),e=e.map(i=>i.slice(2)));let n=[],o=3,s=.4;return e.forEach(i=>{if(i.length<=1)return;let a=Or(r,i),l=Math.max(r.length,i.length);(l-a)/l>s&&(a<o?(o=a,n=[i]):a===o&&n.push(i))}),n.sort((i,a)=>i.localeCompare(a)),t&&(n=n.map(i=>`--${i}`)),n.length>1?`
|
|
9
|
+
(Did you mean one of ${n.join(", ")}?)`:n.length===1?`
|
|
10
|
+
(Did you mean ${n[0]}?)`:""}Rt.suggestSimilar=Sr});var Mt=x(jt=>{var kr=require("node:events").EventEmitter,Qe=require("node:child_process"),W=require("node:path"),Xe=require("node:fs"),_=require("node:process"),{Argument:Ar,humanReadableArgName:$r}=Ce(),{CommanderError:Ze}=fe(),{Help:Er}=Ge(),{Option:It,DualOptions:Pr}=Ke(),{suggestSimilar:Ft}=Tt(),et=class r extends kr{constructor(e){super(),this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!0,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=e||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._outputConfiguration={writeOut:t=>_.stdout.write(t),writeErr:t=>_.stderr.write(t),getOutHelpWidth:()=>_.stdout.isTTY?_.stdout.columns:void 0,getErrHelpWidth:()=>_.stderr.isTTY?_.stderr.columns:void 0,outputError:(t,n)=>n(t)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={}}copyInheritedSettings(e){return this._outputConfiguration=e._outputConfiguration,this._helpOption=e._helpOption,this._helpCommand=e._helpCommand,this._helpConfiguration=e._helpConfiguration,this._exitCallback=e._exitCallback,this._storeOptionsAsProperties=e._storeOptionsAsProperties,this._combineFlagAndOptionalValue=e._combineFlagAndOptionalValue,this._allowExcessArguments=e._allowExcessArguments,this._enablePositionalOptions=e._enablePositionalOptions,this._showHelpAfterError=e._showHelpAfterError,this._showSuggestionAfterError=e._showSuggestionAfterError,this}_getCommandAndAncestors(){let e=[];for(let t=this;t;t=t.parent)e.push(t);return e}command(e,t,n){let o=t,s=n;typeof o=="object"&&o!==null&&(s=o,o=null),s=s||{};let[,i,a]=e.match(/([^ ]+) *(.*)/),l=this.createCommand(i);return o&&(l.description(o),l._executableHandler=!0),s.isDefault&&(this._defaultCommandName=l._name),l._hidden=!!(s.noHelp||s.hidden),l._executableFile=s.executableFile||null,a&&l.arguments(a),this._registerCommand(l),l.parent=this,l.copyInheritedSettings(this),o?this:l}createCommand(e){return new r(e)}createHelp(){return Object.assign(new Er,this.configureHelp())}configureHelp(e){return e===void 0?this._helpConfiguration:(this._helpConfiguration=e,this)}configureOutput(e){return e===void 0?this._outputConfiguration:(Object.assign(this._outputConfiguration,e),this)}showHelpAfterError(e=!0){return typeof e!="string"&&(e=!!e),this._showHelpAfterError=e,this}showSuggestionAfterError(e=!0){return this._showSuggestionAfterError=!!e,this}addCommand(e,t){if(!e._name)throw new Error(`Command passed to .addCommand() must have a name
|
|
11
|
+
- specify the name in Command constructor or using .name()`);return t=t||{},t.isDefault&&(this._defaultCommandName=e._name),(t.noHelp||t.hidden)&&(e._hidden=!0),this._registerCommand(e),e.parent=this,e._checkForBrokenPassThrough(),this}createArgument(e,t){return new Ar(e,t)}argument(e,t,n,o){let s=this.createArgument(e,t);return typeof n=="function"?s.default(o).argParser(n):s.default(n),this.addArgument(s),this}arguments(e){return e.trim().split(/ +/).forEach(t=>{this.argument(t)}),this}addArgument(e){let t=this.registeredArguments.slice(-1)[0];if(t&&t.variadic)throw new Error(`only the last argument can be variadic '${t.name()}'`);if(e.required&&e.defaultValue!==void 0&&e.parseArg===void 0)throw new Error(`a default value for a required argument is never used: '${e.name()}'`);return this.registeredArguments.push(e),this}helpCommand(e,t){if(typeof e=="boolean")return this._addImplicitHelpCommand=e,this;e=e??"help [command]";let[,n,o]=e.match(/([^ ]+) *(.*)/),s=t??"display help for command",i=this.createCommand(n);return i.helpOption(!1),o&&i.arguments(o),s&&i.description(s),this._addImplicitHelpCommand=!0,this._helpCommand=i,this}addHelpCommand(e,t){return typeof e!="object"?(this.helpCommand(e,t),this):(this._addImplicitHelpCommand=!0,this._helpCommand=e,this)}_getHelpCommand(){return this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))?(this._helpCommand===void 0&&this.helpCommand(void 0,void 0),this._helpCommand):null}hook(e,t){let n=["preSubcommand","preAction","postAction"];if(!n.includes(e))throw new Error(`Unexpected value for event passed to hook : '${e}'.
|
|
12
|
+
Expecting one of '${n.join("', '")}'`);return this._lifeCycleHooks[e]?this._lifeCycleHooks[e].push(t):this._lifeCycleHooks[e]=[t],this}exitOverride(e){return e?this._exitCallback=e:this._exitCallback=t=>{if(t.code!=="commander.executeSubCommandAsync")throw t},this}_exit(e,t,n){this._exitCallback&&this._exitCallback(new Ze(e,t,n)),_.exit(e)}action(e){let t=n=>{let o=this.registeredArguments.length,s=n.slice(0,o);return this._storeOptionsAsProperties?s[o]=this:s[o]=this.opts(),s.push(this),e.apply(this,s)};return this._actionHandler=t,this}createOption(e,t){return new It(e,t)}_callParseArg(e,t,n,o){try{return e.parseArg(t,n)}catch(s){if(s.code==="commander.invalidArgument"){let i=`${o} ${s.message}`;this.error(i,{exitCode:s.exitCode,code:s.code})}throw s}}_registerOption(e){let t=e.short&&this._findOption(e.short)||e.long&&this._findOption(e.long);if(t){let n=e.long&&this._findOption(e.long)?e.long:e.short;throw new Error(`Cannot add option '${e.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${n}'
|
|
13
|
+
- already used by option '${t.flags}'`)}this.options.push(e)}_registerCommand(e){let t=o=>[o.name()].concat(o.aliases()),n=t(e).find(o=>this._findCommand(o));if(n){let o=t(this._findCommand(n)).join("|"),s=t(e).join("|");throw new Error(`cannot add command '${s}' as already have command '${o}'`)}this.commands.push(e)}addOption(e){this._registerOption(e);let t=e.name(),n=e.attributeName();if(e.negate){let s=e.long.replace(/^--no-/,"--");this._findOption(s)||this.setOptionValueWithSource(n,e.defaultValue===void 0?!0:e.defaultValue,"default")}else e.defaultValue!==void 0&&this.setOptionValueWithSource(n,e.defaultValue,"default");let o=(s,i,a)=>{s==null&&e.presetArg!==void 0&&(s=e.presetArg);let l=this.getOptionValue(n);s!==null&&e.parseArg?s=this._callParseArg(e,s,l,i):s!==null&&e.variadic&&(s=e._concatValue(s,l)),s==null&&(e.negate?s=!1:e.isBoolean()||e.optional?s=!0:s=""),this.setOptionValueWithSource(n,s,a)};return this.on("option:"+t,s=>{let i=`error: option '${e.flags}' argument '${s}' is invalid.`;o(s,i,"cli")}),e.envVar&&this.on("optionEnv:"+t,s=>{let i=`error: option '${e.flags}' value '${s}' from env '${e.envVar}' is invalid.`;o(s,i,"env")}),this}_optionEx(e,t,n,o,s){if(typeof t=="object"&&t instanceof It)throw new Error("To add an Option object use addOption() instead of option() or requiredOption()");let i=this.createOption(t,n);if(i.makeOptionMandatory(!!e.mandatory),typeof o=="function")i.default(s).argParser(o);else if(o instanceof RegExp){let a=o;o=(l,u)=>{let h=a.exec(l);return h?h[0]:u},i.default(s).argParser(o)}else i.default(o);return this.addOption(i)}option(e,t,n,o){return this._optionEx({},e,t,n,o)}requiredOption(e,t,n,o){return this._optionEx({mandatory:!0},e,t,n,o)}combineFlagAndOptionalValue(e=!0){return this._combineFlagAndOptionalValue=!!e,this}allowUnknownOption(e=!0){return this._allowUnknownOption=!!e,this}allowExcessArguments(e=!0){return this._allowExcessArguments=!!e,this}enablePositionalOptions(e=!0){return this._enablePositionalOptions=!!e,this}passThroughOptions(e=!0){return this._passThroughOptions=!!e,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw new Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(e=!0){if(this.options.length)throw new Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw new Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!e,this}getOptionValue(e){return this._storeOptionsAsProperties?this[e]:this._optionValues[e]}setOptionValue(e,t){return this.setOptionValueWithSource(e,t,void 0)}setOptionValueWithSource(e,t,n){return this._storeOptionsAsProperties?this[e]=t:this._optionValues[e]=t,this._optionValueSources[e]=n,this}getOptionValueSource(e){return this._optionValueSources[e]}getOptionValueSourceWithGlobals(e){let t;return this._getCommandAndAncestors().forEach(n=>{n.getOptionValueSource(e)!==void 0&&(t=n.getOptionValueSource(e))}),t}_prepareUserArgs(e,t){if(e!==void 0&&!Array.isArray(e))throw new Error("first parameter to parse must be array or undefined");if(t=t||{},e===void 0&&t.from===void 0){_.versions?.electron&&(t.from="electron");let o=_.execArgv??[];(o.includes("-e")||o.includes("--eval")||o.includes("-p")||o.includes("--print"))&&(t.from="eval")}e===void 0&&(e=_.argv),this.rawArgs=e.slice();let n;switch(t.from){case void 0:case"node":this._scriptPath=e[1],n=e.slice(2);break;case"electron":_.defaultApp?(this._scriptPath=e[1],n=e.slice(2)):n=e.slice(1);break;case"user":n=e.slice(0);break;case"eval":n=e.slice(1);break;default:throw new Error(`unexpected parse option { from: '${t.from}' }`)}return!this._name&&this._scriptPath&&this.nameFromFilename(this._scriptPath),this._name=this._name||"program",n}parse(e,t){let n=this._prepareUserArgs(e,t);return this._parseCommand([],n),this}async parseAsync(e,t){let n=this._prepareUserArgs(e,t);return await this._parseCommand([],n),this}_executeSubCommand(e,t){t=t.slice();let n=!1,o=[".js",".ts",".tsx",".mjs",".cjs"];function s(h,f){let w=W.resolve(h,f);if(Xe.existsSync(w))return w;if(o.includes(W.extname(f)))return;let R=o.find(p=>Xe.existsSync(`${w}${p}`));if(R)return`${w}${R}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let i=e._executableFile||`${this._name}-${e._name}`,a=this._executableDir||"";if(this._scriptPath){let h;try{h=Xe.realpathSync(this._scriptPath)}catch{h=this._scriptPath}a=W.resolve(W.dirname(h),a)}if(a){let h=s(a,i);if(!h&&!e._executableFile&&this._scriptPath){let f=W.basename(this._scriptPath,W.extname(this._scriptPath));f!==this._name&&(h=s(a,`${f}-${e._name}`))}i=h||i}n=o.includes(W.extname(i));let l;_.platform!=="win32"?n?(t.unshift(i),t=Ht(_.execArgv).concat(t),l=Qe.spawn(_.argv[0],t,{stdio:"inherit"})):l=Qe.spawn(i,t,{stdio:"inherit"}):(t.unshift(i),t=Ht(_.execArgv).concat(t),l=Qe.spawn(_.execPath,t,{stdio:"inherit"})),l.killed||["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach(f=>{_.on(f,()=>{l.killed===!1&&l.exitCode===null&&l.kill(f)})});let u=this._exitCallback;l.on("close",h=>{h=h??1,u?u(new Ze(h,"commander.executeSubCommandAsync","(close)")):_.exit(h)}),l.on("error",h=>{if(h.code==="ENOENT"){let f=a?`searched for local subcommand relative to directory '${a}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",w=`'${i}' does not exist
|
|
15
14
|
- if '${e._name}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
|
|
16
15
|
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
|
17
|
-
- ${f}`;throw new Error(
|
|
16
|
+
- ${f}`;throw new Error(w)}else if(h.code==="EACCES")throw new Error(`'${i}' not executable`);if(!u)_.exit(1);else{let f=new Ze(1,"commander.executeSubCommandAsync","(error)");f.nestedError=h,u(f)}}),this.runningCommand=l}_dispatchSubcommand(e,t,n){let o=this._findCommand(e);o||this.help({error:!0});let s;return s=this._chainOrCallSubCommandHook(s,o,"preSubcommand"),s=this._chainOrCall(s,()=>{if(o._executableHandler)this._executeSubCommand(o,t.concat(n));else return o._parseCommand(t,n)}),s}_dispatchHelpCommand(e){e||this.help();let t=this._findCommand(e);return t&&!t._executableHandler&&t.help(),this._dispatchSubcommand(e,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){this.registeredArguments.forEach((e,t)=>{e.required&&this.args[t]==null&&this.missingArgument(e.name())}),!(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)&&this.args.length>this.registeredArguments.length&&this._excessArguments(this.args)}_processArguments(){let e=(n,o,s)=>{let i=o;if(o!==null&&n.parseArg){let a=`error: command-argument value '${o}' is invalid for argument '${n.name()}'.`;i=this._callParseArg(n,o,s,a)}return i};this._checkNumberOfArguments();let t=[];this.registeredArguments.forEach((n,o)=>{let s=n.defaultValue;n.variadic?o<this.args.length?(s=this.args.slice(o),n.parseArg&&(s=s.reduce((i,a)=>e(n,a,i),n.defaultValue))):s===void 0&&(s=[]):o<this.args.length&&(s=this.args[o],n.parseArg&&(s=e(n,s,n.defaultValue))),t[o]=s}),this.processedArgs=t}_chainOrCall(e,t){return e&&e.then&&typeof e.then=="function"?e.then(()=>t()):t()}_chainOrCallHooks(e,t){let n=e,o=[];return this._getCommandAndAncestors().reverse().filter(s=>s._lifeCycleHooks[t]!==void 0).forEach(s=>{s._lifeCycleHooks[t].forEach(i=>{o.push({hookedCommand:s,callback:i})})}),t==="postAction"&&o.reverse(),o.forEach(s=>{n=this._chainOrCall(n,()=>s.callback(s.hookedCommand,this))}),n}_chainOrCallSubCommandHook(e,t,n){let o=e;return this._lifeCycleHooks[n]!==void 0&&this._lifeCycleHooks[n].forEach(s=>{o=this._chainOrCall(o,()=>s(this,t))}),o}_parseCommand(e,t){let n=this.parseOptions(t);if(this._parseOptionsEnv(),this._parseOptionsImplied(),e=e.concat(n.operands),t=n.unknown,this.args=e.concat(t),e&&this._findCommand(e[0]))return this._dispatchSubcommand(e[0],e.slice(1),t);if(this._getHelpCommand()&&e[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(e[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(t),this._dispatchSubcommand(this._defaultCommandName,e,t);this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName&&this.help({error:!0}),this._outputHelpIfRequested(n.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let o=()=>{n.unknown.length>0&&this.unknownOption(n.unknown[0])},s=`command:${this.name()}`;if(this._actionHandler){o(),this._processArguments();let i;return i=this._chainOrCallHooks(i,"preAction"),i=this._chainOrCall(i,()=>this._actionHandler(this.processedArgs)),this.parent&&(i=this._chainOrCall(i,()=>{this.parent.emit(s,e,t)})),i=this._chainOrCallHooks(i,"postAction"),i}if(this.parent&&this.parent.listenerCount(s))o(),this._processArguments(),this.parent.emit(s,e,t);else if(e.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",e,t);this.listenerCount("command:*")?this.emit("command:*",e,t):this.commands.length?this.unknownCommand():(o(),this._processArguments())}else this.commands.length?(o(),this.help({error:!0})):(o(),this._processArguments())}_findCommand(e){if(e)return this.commands.find(t=>t._name===e||t._aliases.includes(e))}_findOption(e){return this.options.find(t=>t.is(e))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(e=>{e.options.forEach(t=>{t.mandatory&&e.getOptionValue(t.attributeName())===void 0&&e.missingMandatoryOptionValue(t)})})}_checkForConflictingLocalOptions(){let e=this.options.filter(n=>{let o=n.attributeName();return this.getOptionValue(o)===void 0?!1:this.getOptionValueSource(o)!=="default"});e.filter(n=>n.conflictsWith.length>0).forEach(n=>{let o=e.find(s=>n.conflictsWith.includes(s.attributeName()));o&&this._conflictingOption(n,o)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(e=>{e._checkForConflictingLocalOptions()})}parseOptions(e){let t=[],n=[],o=t,s=e.slice();function i(l){return l.length>1&&l[0]==="-"}let a=null;for(;s.length;){let l=s.shift();if(l==="--"){o===n&&o.push(l),o.push(...s);break}if(a&&!i(l)){this.emit(`option:${a.name()}`,l);continue}if(a=null,i(l)){let u=this._findOption(l);if(u){if(u.required){let h=s.shift();h===void 0&&this.optionMissingArgument(u),this.emit(`option:${u.name()}`,h)}else if(u.optional){let h=null;s.length>0&&!i(s[0])&&(h=s.shift()),this.emit(`option:${u.name()}`,h)}else this.emit(`option:${u.name()}`);a=u.variadic?u:null;continue}}if(l.length>2&&l[0]==="-"&&l[1]!=="-"){let u=this._findOption(`-${l[1]}`);if(u){u.required||u.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${u.name()}`,l.slice(2)):(this.emit(`option:${u.name()}`),s.unshift(`-${l.slice(2)}`));continue}}if(/^--[^=]+=/.test(l)){let u=l.indexOf("="),h=this._findOption(l.slice(0,u));if(h&&(h.required||h.optional)){this.emit(`option:${h.name()}`,l.slice(u+1));continue}}if(i(l)&&(o=n),(this._enablePositionalOptions||this._passThroughOptions)&&t.length===0&&n.length===0){if(this._findCommand(l)){t.push(l),s.length>0&&n.push(...s);break}else if(this._getHelpCommand()&&l===this._getHelpCommand().name()){t.push(l),s.length>0&&t.push(...s);break}else if(this._defaultCommandName){n.push(l),s.length>0&&n.push(...s);break}}if(this._passThroughOptions){o.push(l),s.length>0&&o.push(...s);break}o.push(l)}return{operands:t,unknown:n}}opts(){if(this._storeOptionsAsProperties){let e={},t=this.options.length;for(let n=0;n<t;n++){let o=this.options[n].attributeName();e[o]=o===this._versionOptionName?this._version:this[o]}return e}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((e,t)=>Object.assign(e,t.opts()),{})}error(e,t){this._outputConfiguration.outputError(`${e}
|
|
18
17
|
`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError=="string"?this._outputConfiguration.writeErr(`${this._showHelpAfterError}
|
|
19
18
|
`):this._showHelpAfterError&&(this._outputConfiguration.writeErr(`
|
|
20
|
-
`),this.outputHelp({error:!0}));let
|
|
21
|
-
`),this._exit(0,"commander.version",e)}),this}description(e,t){return e===void 0&&t===void 0?this._description:(this._description=e,t&&(this._argsDescription=t),this)}summary(e){return e===void 0?this._summary:(this._summary=e,this)}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(t=this.commands[this.commands.length-1]),e===t._name)throw new Error("Command alias can't be the same as its name");let
|
|
22
|
-
Expecting one of '${
|
|
23
|
-
`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(i=>t.is(i))&&(this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)"))}};function Gi(n){return n.map(e=>{if(!e.startsWith("--inspect"))return e;let t,s="127.0.0.1",i="9229",r;return(r=e.match(/^(--inspect(-brk)?)$/))!==null?t=r[1]:(r=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(t=r[1],/^\d+$/.test(r[3])?i=r[3]:s=r[3]):(r=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=r[1],s=r[3],i=r[4]),t&&i!=="0"?`${t}=${s}:${parseInt(i)+1}`:e})}Ji.Command=Ws});var Qi=k(X=>{var{Argument:Ki}=Dt(),{Command:Vs}=Yi(),{CommanderError:xa,InvalidArgumentError:Xi}=dt(),{Help:Sa}=Rs(),{Option:Zi}=Is();X.program=new Vs;X.createCommand=n=>new Vs(n);X.createOption=(n,e)=>new Zi(n,e);X.createArgument=(n,e)=>new Ki(n,e);X.Command=Vs;X.Option=Zi;X.Argument=Ki;X.Help=Sa;X.CommanderError=xa;X.InvalidArgumentError=Xi;X.InvalidOptionArgumentError=Xi});var qs=k((au,nn)=>{"use strict";var sn=require("fs"),Hs;function $a(){try{return sn.statSync("/.dockerenv"),!0}catch{return!1}}function _a(){try{return sn.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}nn.exports=()=>(Hs===void 0&&(Hs=$a()||_a()),Hs)});var an=k((lu,Bs)=>{"use strict";var Ca=require("os"),Ea=require("fs"),rn=qs(),on=()=>{if(process.platform!=="linux")return!1;if(Ca.release().toLowerCase().includes("microsoft"))return!rn();try{return Ea.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!rn():!1}catch{return!1}};process.env.__IS_WSL_TEST__?Bs.exports=on:Bs.exports=on()});var cn=k((cu,ln)=>{"use strict";ln.exports=(n,e,t)=>{let s=i=>Object.defineProperty(n,e,{value:i,enumerable:!0,writable:!0});return Object.defineProperty(n,e,{configurable:!0,enumerable:!0,get(){let i=t();return s(i),i},set(i){s(i)}}),n}});var He=k((hu,gn)=>{var Oa=require("path"),ka=require("child_process"),{promises:Vt,constants:pn}=require("fs"),Wt=an(),Aa=qs(),zs=cn(),hn=Oa.join(__dirname,"xdg-open"),{platform:Ve,arch:un}=process,Fa=()=>{try{return Vt.statSync("/run/.containerenv"),!0}catch{return!1}},Us;function ja(){return Us===void 0&&(Us=Fa()||Aa()),Us}var Ra=(()=>{let n="/mnt/",e;return async function(){if(e)return e;let t="/etc/wsl.conf",s=!1;try{await Vt.access(t,pn.F_OK),s=!0}catch{}if(!s)return n;let i=await Vt.readFile(t,{encoding:"utf8"}),r=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(i);return r?(e=r.groups.mountPoint.trim(),e=e.endsWith("/")?e:`${e}/`,e):n}})(),fn=async(n,e)=>{let t;for(let s of n)try{return await e(s)}catch(i){t=i}throw t},Ht=async n=>{if(n={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...n},Array.isArray(n.app))return fn(n.app,a=>Ht({...n,app:a}));let{name:e,arguments:t=[]}=n.app||{};if(t=[...t],Array.isArray(e))return fn(e,a=>Ht({...n,app:{name:a,arguments:t}}));let s,i=[],r={};if(Ve==="darwin")s="open",n.wait&&i.push("--wait-apps"),n.background&&i.push("--background"),n.newInstance&&i.push("--new"),e&&i.push("-a",e);else if(Ve==="win32"||Wt&&!ja()&&!e){let a=await Ra();s=Wt?`${a}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`:`${process.env.SYSTEMROOT}\\System32\\WindowsPowerShell\\v1.0\\powershell`,i.push("-NoProfile","-NonInteractive","\u2013ExecutionPolicy","Bypass","-EncodedCommand"),Wt||(r.windowsVerbatimArguments=!0);let l=["Start"];n.wait&&l.push("-Wait"),e?(l.push(`"\`"${e}\`""`,"-ArgumentList"),n.target&&t.unshift(n.target)):n.target&&l.push(`"${n.target}"`),t.length>0&&(t=t.map(h=>`"\`"${h}\`""`),l.push(t.join(","))),n.target=Buffer.from(l.join(" "),"utf16le").toString("base64")}else{if(e)s=e;else{let a=!__dirname||__dirname==="/",l=!1;try{await Vt.access(hn,pn.X_OK),l=!0}catch{}s=process.versions.electron||Ve==="android"||a||!l?"xdg-open":hn}t.length>0&&i.push(...t),n.wait||(r.stdio="ignore",r.detached=!0)}n.target&&i.push(n.target),Ve==="darwin"&&t.length>0&&i.push("--args",...t);let o=ka.spawn(s,i,r);return n.wait?new Promise((a,l)=>{o.once("error",l),o.once("close",h=>{if(!n.allowNonzeroExitCode&&h>0){l(new Error(`Exited with code ${h}`));return}a(o)})}):(o.unref(),o)},Gs=(n,e)=>{if(typeof n!="string")throw new TypeError("Expected a `target`");return Ht({...e,target:n})},Ta=(n,e)=>{if(typeof n!="string")throw new TypeError("Expected a `name`");let{arguments:t=[]}=e||{};if(t!=null&&!Array.isArray(t))throw new TypeError("Expected `appArguments` as Array type");return Ht({...e,app:{name:n,arguments:t}})};function dn(n){if(typeof n=="string"||Array.isArray(n))return n;let{[un]:e}=n;if(!e)throw new Error(`${un} is not supported`);return e}function Js({[Ve]:n},{wsl:e}){if(e&&Wt)return dn(e);if(!n)throw new Error(`${Ve} is not supported`);return dn(n)}var qt={};zs(qt,"chrome",()=>Js({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));zs(qt,"firefox",()=>Js({darwin:"firefox",win32:"C:\\Program Files\\Mozilla Firefox\\firefox.exe",linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));zs(qt,"edge",()=>Js({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));Gs.apps=qt;Gs.openApp=Ta;gn.exports=Gs});function Ma(n){J.existsSync(n)||J.mkdirSync(n,{recursive:!0})}function xe(){let n=process.env.HYV_API_KEY;if(n)return{api_key:n,base_url:process.env.HYV_BASE_URL||"https://holdyourvoice.com"};try{let e=J.readFileSync(yn,"utf-8"),t=JSON.parse(e);return t.api_key?t:null}catch{return null}}function Bt(n){Ma(Ys),J.writeFileSync(yn,JSON.stringify(n,null,2))}function Ut(){let n=je.join(process.cwd(),".hyv.yml");if(!J.existsSync(n))return{};try{let e=J.readFileSync(n,"utf-8"),t={};for(let s of e.split(`
|
|
24
|
-
`)){let i=s.trim();if(!i||i.startsWith("#"))continue;let r=i.indexOf(":");if(r===-1)continue;let o=i.slice(0,r).trim(),a=i.slice(r+1).trim();o==="profile"?t.profile=a:o==="scan_paths"?t.scan_paths=a.split(",").map(l=>l.trim()):o==="ignore"&&(t.ignore=a.split(",").map(l=>l.trim()))}return t}catch{return{}}}function Ks(n){let e=je.join(process.cwd(),".hyv.yml"),t=["# hold your voice \u2014 project config"];n.profile&&t.push(`profile: ${n.profile}`),n.scan_paths?.length&&t.push(`scan_paths: ${n.scan_paths.join(", ")}`),J.writeFileSync(e,t.join(`
|
|
25
|
-
`)+`
|
|
26
|
-
`)}function bn(n){let e=je.join(Pa,`${n}.md`);try{return J.readFileSync(e,"utf-8")}catch{return null}}var J,je,mn,Ys,yn,Pa,Re=Vi(()=>{"use strict";J=S(require("fs")),je=S(require("path")),mn=S(require("os")),Ys=je.join(mn.homedir(),".hyv"),yn=je.join(Ys,"credentials.json"),Pa=je.join(Ys,"profiles")});var zt={};oa(zt,{apiGet:()=>E,apiPost:()=>M,requireSubscription:()=>Te});async function wn(n,e,t){let s=xe();if(!s)throw new Error("Not authenticated. Run: hyv init");let i=`${s.base_url||Ia}${e}`,r={method:n,headers:{Authorization:`Bearer ${s.api_key}`,"Content-Type":"application/json"}};t&&(r.body=JSON.stringify(t));let o=await fetch(i,r);if(o.status===401)throw new Error("Session expired. Run: hyv init");if(o.status===403)throw new Error("Access denied. Check your subscription at holdyourvoice.com/dashboard");if(!o.ok){let a=await o.text().catch(()=>"");throw new Error(`API error (${o.status}): ${a.slice(0,200)}`)}return o.json()}function E(n){return wn("GET",n)}function M(n,e){return wn("POST",n,e)}async function Te(){let n=await E("/cli/heartbeat");if(!n.plan||n.plan.toLowerCase()==="none"||n.status==="none")throw new Error("No active subscription. Run: hyv plan --upgrade")}var Ia,V=Vi(()=>{"use strict";Re();Ia="https://holdyourvoice.com"});var xn=k((du,vn)=>{"use strict";vn.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Xs=k((pu,$n)=>{var pt=xn(),Sn={};for(let n of Object.keys(pt))Sn[pt[n]]=n;var w={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};$n.exports=w;for(let n of Object.keys(w)){if(!("channels"in w[n]))throw new Error("missing channels property: "+n);if(!("labels"in w[n]))throw new Error("missing channel labels property: "+n);if(w[n].labels.length!==w[n].channels)throw new Error("channel and label counts mismatch: "+n);let{channels:e,labels:t}=w[n];delete w[n].channels,delete w[n].labels,Object.defineProperty(w[n],"channels",{value:e}),Object.defineProperty(w[n],"labels",{value:t})}w.rgb.hsl=function(n){let e=n[0]/255,t=n[1]/255,s=n[2]/255,i=Math.min(e,t,s),r=Math.max(e,t,s),o=r-i,a,l;r===i?a=0:e===r?a=(t-s)/o:t===r?a=2+(s-e)/o:s===r&&(a=4+(e-t)/o),a=Math.min(a*60,360),a<0&&(a+=360);let h=(i+r)/2;return r===i?l=0:h<=.5?l=o/(r+i):l=o/(2-r-i),[a,l*100,h*100]};w.rgb.hsv=function(n){let e,t,s,i,r,o=n[0]/255,a=n[1]/255,l=n[2]/255,h=Math.max(o,a,l),u=h-Math.min(o,a,l),f=function(p){return(h-p)/6/u+1/2};return u===0?(i=0,r=0):(r=u/h,e=f(o),t=f(a),s=f(l),o===h?i=s-t:a===h?i=1/3+e-s:l===h&&(i=2/3+t-e),i<0?i+=1:i>1&&(i-=1)),[i*360,r*100,h*100]};w.rgb.hwb=function(n){let e=n[0],t=n[1],s=n[2],i=w.rgb.hsl(n)[0],r=1/255*Math.min(e,Math.min(t,s));return s=1-1/255*Math.max(e,Math.max(t,s)),[i,r*100,s*100]};w.rgb.cmyk=function(n){let e=n[0]/255,t=n[1]/255,s=n[2]/255,i=Math.min(1-e,1-t,1-s),r=(1-e-i)/(1-i)||0,o=(1-t-i)/(1-i)||0,a=(1-s-i)/(1-i)||0;return[r*100,o*100,a*100,i*100]};function Na(n,e){return(n[0]-e[0])**2+(n[1]-e[1])**2+(n[2]-e[2])**2}w.rgb.keyword=function(n){let e=Sn[n];if(e)return e;let t=1/0,s;for(let i of Object.keys(pt)){let r=pt[i],o=Na(n,r);o<t&&(t=o,s=i)}return s};w.keyword.rgb=function(n){return pt[n]};w.rgb.xyz=function(n){let e=n[0]/255,t=n[1]/255,s=n[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,s=s>.04045?((s+.055)/1.055)**2.4:s/12.92;let i=e*.4124+t*.3576+s*.1805,r=e*.2126+t*.7152+s*.0722,o=e*.0193+t*.1192+s*.9505;return[i*100,r*100,o*100]};w.rgb.lab=function(n){let e=w.rgb.xyz(n),t=e[0],s=e[1],i=e[2];t/=95.047,s/=100,i/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,s=s>.008856?s**(1/3):7.787*s+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let r=116*s-16,o=500*(t-s),a=200*(s-i);return[r,o,a]};w.hsl.rgb=function(n){let e=n[0]/360,t=n[1]/100,s=n[2]/100,i,r,o;if(t===0)return o=s*255,[o,o,o];s<.5?i=s*(1+t):i=s+t-s*t;let a=2*s-i,l=[0,0,0];for(let h=0;h<3;h++)r=e+1/3*-(h-1),r<0&&r++,r>1&&r--,6*r<1?o=a+(i-a)*6*r:2*r<1?o=i:3*r<2?o=a+(i-a)*(2/3-r)*6:o=a,l[h]=o*255;return l};w.hsl.hsv=function(n){let e=n[0],t=n[1]/100,s=n[2]/100,i=t,r=Math.max(s,.01);s*=2,t*=s<=1?s:2-s,i*=r<=1?r:2-r;let o=(s+t)/2,a=s===0?2*i/(r+i):2*t/(s+t);return[e,a*100,o*100]};w.hsv.rgb=function(n){let e=n[0]/60,t=n[1]/100,s=n[2]/100,i=Math.floor(e)%6,r=e-Math.floor(e),o=255*s*(1-t),a=255*s*(1-t*r),l=255*s*(1-t*(1-r));switch(s*=255,i){case 0:return[s,l,o];case 1:return[a,s,o];case 2:return[o,s,l];case 3:return[o,a,s];case 4:return[l,o,s];case 5:return[s,o,a]}};w.hsv.hsl=function(n){let e=n[0],t=n[1]/100,s=n[2]/100,i=Math.max(s,.01),r,o;o=(2-t)*s;let a=(2-t)*i;return r=t*i,r/=a<=1?a:2-a,r=r||0,o/=2,[e,r*100,o*100]};w.hwb.rgb=function(n){let e=n[0]/360,t=n[1]/100,s=n[2]/100,i=t+s,r;i>1&&(t/=i,s/=i);let o=Math.floor(6*e),a=1-s;r=6*e-o,o&1&&(r=1-r);let l=t+r*(a-t),h,u,f;switch(o){default:case 6:case 0:h=a,u=l,f=t;break;case 1:h=l,u=a,f=t;break;case 2:h=t,u=a,f=l;break;case 3:h=t,u=l,f=a;break;case 4:h=l,u=t,f=a;break;case 5:h=a,u=t,f=l;break}return[h*255,u*255,f*255]};w.cmyk.rgb=function(n){let e=n[0]/100,t=n[1]/100,s=n[2]/100,i=n[3]/100,r=1-Math.min(1,e*(1-i)+i),o=1-Math.min(1,t*(1-i)+i),a=1-Math.min(1,s*(1-i)+i);return[r*255,o*255,a*255]};w.xyz.rgb=function(n){let e=n[0]/100,t=n[1]/100,s=n[2]/100,i,r,o;return i=e*3.2406+t*-1.5372+s*-.4986,r=e*-.9689+t*1.8758+s*.0415,o=e*.0557+t*-.204+s*1.057,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,r=r>.0031308?1.055*r**(1/2.4)-.055:r*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,i=Math.min(Math.max(0,i),1),r=Math.min(Math.max(0,r),1),o=Math.min(Math.max(0,o),1),[i*255,r*255,o*255]};w.xyz.lab=function(n){let e=n[0],t=n[1],s=n[2];e/=95.047,t/=100,s/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,s=s>.008856?s**(1/3):7.787*s+16/116;let i=116*t-16,r=500*(e-t),o=200*(t-s);return[i,r,o]};w.lab.xyz=function(n){let e=n[0],t=n[1],s=n[2],i,r,o;r=(e+16)/116,i=t/500+r,o=r-s/200;let a=r**3,l=i**3,h=o**3;return r=a>.008856?a:(r-16/116)/7.787,i=l>.008856?l:(i-16/116)/7.787,o=h>.008856?h:(o-16/116)/7.787,i*=95.047,r*=100,o*=108.883,[i,r,o]};w.lab.lch=function(n){let e=n[0],t=n[1],s=n[2],i;i=Math.atan2(s,t)*360/2/Math.PI,i<0&&(i+=360);let o=Math.sqrt(t*t+s*s);return[e,o,i]};w.lch.lab=function(n){let e=n[0],t=n[1],i=n[2]/360*2*Math.PI,r=t*Math.cos(i),o=t*Math.sin(i);return[e,r,o]};w.rgb.ansi16=function(n,e=null){let[t,s,i]=n,r=e===null?w.rgb.hsv(n)[2]:e;if(r=Math.round(r/50),r===0)return 30;let o=30+(Math.round(i/255)<<2|Math.round(s/255)<<1|Math.round(t/255));return r===2&&(o+=60),o};w.hsv.ansi16=function(n){return w.rgb.ansi16(w.hsv.rgb(n),n[2])};w.rgb.ansi256=function(n){let e=n[0],t=n[1],s=n[2];return e===t&&t===s?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(s/255*5)};w.ansi16.rgb=function(n){let e=n%10;if(e===0||e===7)return n>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let t=(~~(n>50)+1)*.5,s=(e&1)*t*255,i=(e>>1&1)*t*255,r=(e>>2&1)*t*255;return[s,i,r]};w.ansi256.rgb=function(n){if(n>=232){let r=(n-232)*10+8;return[r,r,r]}n-=16;let e,t=Math.floor(n/36)/5*255,s=Math.floor((e=n%36)/6)/5*255,i=e%6/5*255;return[t,s,i]};w.rgb.hex=function(n){let t=(((Math.round(n[0])&255)<<16)+((Math.round(n[1])&255)<<8)+(Math.round(n[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};w.hex.rgb=function(n){let e=n.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let t=e[0];e[0].length===3&&(t=t.split("").map(a=>a+a).join(""));let s=parseInt(t,16),i=s>>16&255,r=s>>8&255,o=s&255;return[i,r,o]};w.rgb.hcg=function(n){let e=n[0]/255,t=n[1]/255,s=n[2]/255,i=Math.max(Math.max(e,t),s),r=Math.min(Math.min(e,t),s),o=i-r,a,l;return o<1?a=r/(1-o):a=0,o<=0?l=0:i===e?l=(t-s)/o%6:i===t?l=2+(s-e)/o:l=4+(e-t)/o,l/=6,l%=1,[l*360,o*100,a*100]};w.hsl.hcg=function(n){let e=n[1]/100,t=n[2]/100,s=t<.5?2*e*t:2*e*(1-t),i=0;return s<1&&(i=(t-.5*s)/(1-s)),[n[0],s*100,i*100]};w.hsv.hcg=function(n){let e=n[1]/100,t=n[2]/100,s=e*t,i=0;return s<1&&(i=(t-s)/(1-s)),[n[0],s*100,i*100]};w.hcg.rgb=function(n){let e=n[0]/360,t=n[1]/100,s=n[2]/100;if(t===0)return[s*255,s*255,s*255];let i=[0,0,0],r=e%1*6,o=r%1,a=1-o,l=0;switch(Math.floor(r)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return l=(1-t)*s,[(t*i[0]+l)*255,(t*i[1]+l)*255,(t*i[2]+l)*255]};w.hcg.hsv=function(n){let e=n[1]/100,t=n[2]/100,s=e+t*(1-e),i=0;return s>0&&(i=e/s),[n[0],i*100,s*100]};w.hcg.hsl=function(n){let e=n[1]/100,s=n[2]/100*(1-e)+.5*e,i=0;return s>0&&s<.5?i=e/(2*s):s>=.5&&s<1&&(i=e/(2*(1-s))),[n[0],i*100,s*100]};w.hcg.hwb=function(n){let e=n[1]/100,t=n[2]/100,s=e+t*(1-e);return[n[0],(s-e)*100,(1-s)*100]};w.hwb.hcg=function(n){let e=n[1]/100,s=1-n[2]/100,i=s-e,r=0;return i<1&&(r=(s-i)/(1-i)),[n[0],i*100,r*100]};w.apple.rgb=function(n){return[n[0]/65535*255,n[1]/65535*255,n[2]/65535*255]};w.rgb.apple=function(n){return[n[0]/255*65535,n[1]/255*65535,n[2]/255*65535]};w.gray.rgb=function(n){return[n[0]/100*255,n[0]/100*255,n[0]/100*255]};w.gray.hsl=function(n){return[0,0,n[0]]};w.gray.hsv=w.gray.hsl;w.gray.hwb=function(n){return[0,100,n[0]]};w.gray.cmyk=function(n){return[0,0,0,n[0]]};w.gray.lab=function(n){return[n[0],0,0]};w.gray.hex=function(n){let e=Math.round(n[0]/100*255)&255,s=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(s.length)+s};w.rgb.gray=function(n){return[(n[0]+n[1]+n[2])/3/255*100]}});var Cn=k((gu,_n)=>{var Gt=Xs();function La(){let n={},e=Object.keys(Gt);for(let t=e.length,s=0;s<t;s++)n[e[s]]={distance:-1,parent:null};return n}function Da(n){let e=La(),t=[n];for(e[n].distance=0;t.length;){let s=t.pop(),i=Object.keys(Gt[s]);for(let r=i.length,o=0;o<r;o++){let a=i[o],l=e[a];l.distance===-1&&(l.distance=e[s].distance+1,l.parent=s,t.unshift(a))}}return e}function Wa(n,e){return function(t){return e(n(t))}}function Va(n,e){let t=[e[n].parent,n],s=Gt[e[n].parent][n],i=e[n].parent;for(;e[i].parent;)t.unshift(e[i].parent),s=Wa(Gt[e[i].parent][i],s),i=e[i].parent;return s.conversion=t,s}_n.exports=function(n){let e=Da(n),t={},s=Object.keys(e);for(let i=s.length,r=0;r<i;r++){let o=s[r];e[o].parent!==null&&(t[o]=Va(o,e))}return t}});var On=k((mu,En)=>{var Zs=Xs(),Ha=Cn(),qe={},qa=Object.keys(Zs);function Ba(n){let e=function(...t){let s=t[0];return s==null?s:(s.length>1&&(t=s),n(t))};return"conversion"in n&&(e.conversion=n.conversion),e}function Ua(n){let e=function(...t){let s=t[0];if(s==null)return s;s.length>1&&(t=s);let i=n(t);if(typeof i=="object")for(let r=i.length,o=0;o<r;o++)i[o]=Math.round(i[o]);return i};return"conversion"in n&&(e.conversion=n.conversion),e}qa.forEach(n=>{qe[n]={},Object.defineProperty(qe[n],"channels",{value:Zs[n].channels}),Object.defineProperty(qe[n],"labels",{value:Zs[n].labels});let e=Ha(n);Object.keys(e).forEach(s=>{let i=e[s];qe[n][s]=Ua(i),qe[n][s].raw=Ba(i)})});En.exports=qe});var Tn=k((yu,Rn)=>{"use strict";var kn=(n,e)=>(...t)=>`\x1B[${n(...t)+e}m`,An=(n,e)=>(...t)=>{let s=n(...t);return`\x1B[${38+e};5;${s}m`},Fn=(n,e)=>(...t)=>{let s=n(...t);return`\x1B[${38+e};2;${s[0]};${s[1]};${s[2]}m`},Jt=n=>n,jn=(n,e,t)=>[n,e,t],Be=(n,e,t)=>{Object.defineProperty(n,e,{get:()=>{let s=t();return Object.defineProperty(n,e,{value:s,enumerable:!0,configurable:!0}),s},enumerable:!0,configurable:!0})},Qs,Ue=(n,e,t,s)=>{Qs===void 0&&(Qs=On());let i=s?10:0,r={};for(let[o,a]of Object.entries(Qs)){let l=o==="ansi16"?"ansi":o;o===e?r[l]=n(t,i):typeof a=="object"&&(r[l]=n(a[e],i))}return r};function za(){let n=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[t,s]of Object.entries(e)){for(let[i,r]of Object.entries(s))e[i]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},s[i]=e[i],n.set(r[0],r[1]);Object.defineProperty(e,t,{value:s,enumerable:!1})}return Object.defineProperty(e,"codes",{value:n,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",Be(e.color,"ansi",()=>Ue(kn,"ansi16",Jt,!1)),Be(e.color,"ansi256",()=>Ue(An,"ansi256",Jt,!1)),Be(e.color,"ansi16m",()=>Ue(Fn,"rgb",jn,!1)),Be(e.bgColor,"ansi",()=>Ue(kn,"ansi16",Jt,!0)),Be(e.bgColor,"ansi256",()=>Ue(An,"ansi256",Jt,!0)),Be(e.bgColor,"ansi16m",()=>Ue(Fn,"rgb",jn,!0)),e}Object.defineProperty(Rn,"exports",{enumerable:!0,get:za})});var Mn=k((bu,Pn)=>{"use strict";Pn.exports=(n,e=process.argv)=>{let t=n.startsWith("-")?"":n.length===1?"-":"--",s=e.indexOf(t+n),i=e.indexOf("--");return s!==-1&&(i===-1||s<i)}});var Ln=k((wu,Nn)=>{"use strict";var Ga=require("os"),In=require("tty"),Z=Mn(),{env:I}=process,Se;Z("no-color")||Z("no-colors")||Z("color=false")||Z("color=never")?Se=0:(Z("color")||Z("colors")||Z("color=true")||Z("color=always"))&&(Se=1);"FORCE_COLOR"in I&&(I.FORCE_COLOR==="true"?Se=1:I.FORCE_COLOR==="false"?Se=0:Se=I.FORCE_COLOR.length===0?1:Math.min(parseInt(I.FORCE_COLOR,10),3));function ei(n){return n===0?!1:{level:n,hasBasic:!0,has256:n>=2,has16m:n>=3}}function ti(n,e){if(Se===0)return 0;if(Z("color=16m")||Z("color=full")||Z("color=truecolor"))return 3;if(Z("color=256"))return 2;if(n&&!e&&Se===void 0)return 0;let t=Se||0;if(I.TERM==="dumb")return t;if(process.platform==="win32"){let s=Ga.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in I)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(s=>s in I)||I.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in I)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(I.TEAMCITY_VERSION)?1:0;if(I.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in I){let s=parseInt((I.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(I.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(I.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(I.TERM)||"COLORTERM"in I?1:t}function Ja(n){let e=ti(n,n&&n.isTTY);return ei(e)}Nn.exports={supportsColor:Ja,stdout:ei(ti(!0,In.isatty(1))),stderr:ei(ti(!0,In.isatty(2)))}});var Wn=k((vu,Dn)=>{"use strict";var Ya=(n,e,t)=>{let s=n.indexOf(e);if(s===-1)return n;let i=e.length,r=0,o="";do o+=n.substr(r,s-r)+e+t,r=s+i,s=n.indexOf(e,r);while(s!==-1);return o+=n.substr(r),o},Ka=(n,e,t,s)=>{let i=0,r="";do{let o=n[s-1]==="\r";r+=n.substr(i,(o?s-1:s)-i)+e+(o?`\r
|
|
19
|
+
`),this.outputHelp({error:!0}));let n=t||{},o=n.exitCode||1,s=n.code||"commander.error";this._exit(o,s,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in _.env){let t=e.attributeName();(this.getOptionValue(t)===void 0||["default","config","env"].includes(this.getOptionValueSource(t)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,_.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new Pr(this.options),t=n=>this.getOptionValue(n)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(n));this.options.filter(n=>n.implied!==void 0&&t(n.attributeName())&&e.valueFromOption(this.getOptionValue(n.attributeName()),n)).forEach(n=>{Object.keys(n.implied).filter(o=>!t(o)).forEach(o=>{this.setOptionValueWithSource(o,n.implied[o],"implied")})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:"commander.missingArgument"})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(e,t){let n=i=>{let a=i.attributeName(),l=this.getOptionValue(a),u=this.options.find(f=>f.negate&&a===f.attributeName()),h=this.options.find(f=>!f.negate&&a===f.attributeName());return u&&(u.presetArg===void 0&&l===!1||u.presetArg!==void 0&&l===u.presetArg)?u:h||i},o=i=>{let a=n(i),l=a.attributeName();return this.getOptionValueSource(l)==="env"?`environment variable '${a.envVar}'`:`option '${a.flags}'`},s=`error: ${o(e)} cannot be used with ${o(t)}`;this.error(s,{code:"commander.conflictingOption"})}unknownOption(e){if(this._allowUnknownOption)return;let t="";if(e.startsWith("--")&&this._showSuggestionAfterError){let o=[],s=this;do{let i=s.createHelp().visibleOptions(s).filter(a=>a.long).map(a=>a.long);o=o.concat(i),s=s.parent}while(s&&!s._enablePositionalOptions);t=Ft(e,o)}let n=`error: unknown option '${e}'${t}`;this.error(n,{code:"commander.unknownOption"})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this.registeredArguments.length,n=t===1?"":"s",s=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${t} argument${n} but got ${e.length}.`;this.error(s,{code:"commander.excessArguments"})}unknownCommand(){let e=this.args[0],t="";if(this._showSuggestionAfterError){let o=[];this.createHelp().visibleCommands(this).forEach(s=>{o.push(s.name()),s.alias()&&o.push(s.alias())}),t=Ft(e,o)}let n=`error: unknown command '${e}'${t}`;this.error(n,{code:"commander.unknownCommand"})}version(e,t,n){if(e===void 0)return this._version;this._version=e,t=t||"-V, --version",n=n||"output the version number";let o=this.createOption(t,n);return this._versionOptionName=o.attributeName(),this._registerOption(o),this.on("option:"+o.name(),()=>{this._outputConfiguration.writeOut(`${e}
|
|
20
|
+
`),this._exit(0,"commander.version",e)}),this}description(e,t){return e===void 0&&t===void 0?this._description:(this._description=e,t&&(this._argsDescription=t),this)}summary(e){return e===void 0?this._summary:(this._summary=e,this)}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(t=this.commands[this.commands.length-1]),e===t._name)throw new Error("Command alias can't be the same as its name");let n=this.parent?._findCommand(e);if(n){let o=[n.name()].concat(n.aliases()).join("|");throw new Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${o}'`)}return t._aliases.push(e),this}aliases(e){return e===void 0?this._aliases:(e.forEach(t=>this.alias(t)),this)}usage(e){if(e===void 0){if(this._usage)return this._usage;let t=this.registeredArguments.map(n=>$r(n));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?t:[]).join(" ")}return this._usage=e,this}name(e){return e===void 0?this._name:(this._name=e,this)}nameFromFilename(e){return this._name=W.basename(e,W.extname(e)),this}executableDir(e){return e===void 0?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let t=this.createHelp();return t.helpWidth===void 0&&(t.helpWidth=e&&e.error?this._outputConfiguration.getErrHelpWidth():this._outputConfiguration.getOutHelpWidth()),t.formatHelp(this,t)}_getHelpContext(e){e=e||{};let t={error:!!e.error},n;return t.error?n=o=>this._outputConfiguration.writeErr(o):n=o=>this._outputConfiguration.writeOut(o),t.write=e.write||n,t.command=this,t}outputHelp(e){let t;typeof e=="function"&&(t=e,e=void 0);let n=this._getHelpContext(e);this._getCommandAndAncestors().reverse().forEach(s=>s.emit("beforeAllHelp",n)),this.emit("beforeHelp",n);let o=this.helpInformation(n);if(t&&(o=t(o),typeof o!="string"&&!Buffer.isBuffer(o)))throw new Error("outputHelp callback must return a string or a Buffer");n.write(o),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit("afterHelp",n),this._getCommandAndAncestors().forEach(s=>s.emit("afterAllHelp",n))}helpOption(e,t){return typeof e=="boolean"?(e?this._helpOption=this._helpOption??void 0:this._helpOption=null,this):(e=e??"-h, --help",t=t??"display help for command",this._helpOption=this.createOption(e,t),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(e){return this._helpOption=e,this}help(e){this.outputHelp(e);let t=_.exitCode||0;t===0&&e&&typeof e!="function"&&e.error&&(t=1),this._exit(t,"commander.help","(outputHelp)")}addHelpText(e,t){let n=["beforeAll","before","after","afterAll"];if(!n.includes(e))throw new Error(`Unexpected value for position to addHelpText.
|
|
21
|
+
Expecting one of '${n.join("', '")}'`);let o=`${e}Help`;return this.on(o,s=>{let i;typeof t=="function"?i=t({error:s.error,command:s.command}):i=t,i&&s.write(`${i}
|
|
22
|
+
`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(o=>t.is(o))&&(this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)"))}};function Ht(r){return r.map(e=>{if(!e.startsWith("--inspect"))return e;let t,n="127.0.0.1",o="9229",s;return(s=e.match(/^(--inspect(-brk)?)$/))!==null?t=s[1]:(s=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(t=s[1],/^\d+$/.test(s[3])?o=s[3]:n=s[3]):(s=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=s[1],n=s[3],o=s[4]),t&&o!=="0"?`${t}=${n}:${parseInt(o)+1}`:e})}jt.Command=et});var Dt=x(j=>{var{Argument:Nt}=Ce(),{Command:tt}=Mt(),{CommanderError:Rr,InvalidArgumentError:qt}=fe(),{Help:Tr}=Ge(),{Option:Vt}=Ke();j.program=new tt;j.createCommand=r=>new tt(r);j.createOption=(r,e)=>new Vt(r,e);j.createArgument=(r,e)=>new Nt(r,e);j.Command=tt;j.Option=Vt;j.Argument=Nt;j.Help=Tr;j.CommanderError=Rr;j.InvalidArgumentError=qt;j.InvalidOptionArgumentError=qt});var Ut=x((ns,Bt)=>{"use strict";Bt.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var nt=x((rs,zt)=>{var me=Ut(),Gt={};for(let r of Object.keys(me))Gt[me[r]]=r;var d={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};zt.exports=d;for(let r of Object.keys(d)){if(!("channels"in d[r]))throw new Error("missing channels property: "+r);if(!("labels"in d[r]))throw new Error("missing channel labels property: "+r);if(d[r].labels.length!==d[r].channels)throw new Error("channel and label counts mismatch: "+r);let{channels:e,labels:t}=d[r];delete d[r].channels,delete d[r].labels,Object.defineProperty(d[r],"channels",{value:e}),Object.defineProperty(d[r],"labels",{value:t})}d.rgb.hsl=function(r){let e=r[0]/255,t=r[1]/255,n=r[2]/255,o=Math.min(e,t,n),s=Math.max(e,t,n),i=s-o,a,l;s===o?a=0:e===s?a=(t-n)/i:t===s?a=2+(n-e)/i:n===s&&(a=4+(e-t)/i),a=Math.min(a*60,360),a<0&&(a+=360);let u=(o+s)/2;return s===o?l=0:u<=.5?l=i/(s+o):l=i/(2-s-o),[a,l*100,u*100]};d.rgb.hsv=function(r){let e,t,n,o,s,i=r[0]/255,a=r[1]/255,l=r[2]/255,u=Math.max(i,a,l),h=u-Math.min(i,a,l),f=function(w){return(u-w)/6/h+1/2};return h===0?(o=0,s=0):(s=h/u,e=f(i),t=f(a),n=f(l),i===u?o=n-t:a===u?o=1/3+e-n:l===u&&(o=2/3+t-e),o<0?o+=1:o>1&&(o-=1)),[o*360,s*100,u*100]};d.rgb.hwb=function(r){let e=r[0],t=r[1],n=r[2],o=d.rgb.hsl(r)[0],s=1/255*Math.min(e,Math.min(t,n));return n=1-1/255*Math.max(e,Math.max(t,n)),[o,s*100,n*100]};d.rgb.cmyk=function(r){let e=r[0]/255,t=r[1]/255,n=r[2]/255,o=Math.min(1-e,1-t,1-n),s=(1-e-o)/(1-o)||0,i=(1-t-o)/(1-o)||0,a=(1-n-o)/(1-o)||0;return[s*100,i*100,a*100,o*100]};function Ir(r,e){return(r[0]-e[0])**2+(r[1]-e[1])**2+(r[2]-e[2])**2}d.rgb.keyword=function(r){let e=Gt[r];if(e)return e;let t=1/0,n;for(let o of Object.keys(me)){let s=me[o],i=Ir(r,s);i<t&&(t=i,n=o)}return n};d.keyword.rgb=function(r){return me[r]};d.rgb.xyz=function(r){let e=r[0]/255,t=r[1]/255,n=r[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;let o=e*.4124+t*.3576+n*.1805,s=e*.2126+t*.7152+n*.0722,i=e*.0193+t*.1192+n*.9505;return[o*100,s*100,i*100]};d.rgb.lab=function(r){let e=d.rgb.xyz(r),t=e[0],n=e[1],o=e[2];t/=95.047,n/=100,o/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;let s=116*n-16,i=500*(t-n),a=200*(n-o);return[s,i,a]};d.hsl.rgb=function(r){let e=r[0]/360,t=r[1]/100,n=r[2]/100,o,s,i;if(t===0)return i=n*255,[i,i,i];n<.5?o=n*(1+t):o=n+t-n*t;let a=2*n-o,l=[0,0,0];for(let u=0;u<3;u++)s=e+1/3*-(u-1),s<0&&s++,s>1&&s--,6*s<1?i=a+(o-a)*6*s:2*s<1?i=o:3*s<2?i=a+(o-a)*(2/3-s)*6:i=a,l[u]=i*255;return l};d.hsl.hsv=function(r){let e=r[0],t=r[1]/100,n=r[2]/100,o=t,s=Math.max(n,.01);n*=2,t*=n<=1?n:2-n,o*=s<=1?s:2-s;let i=(n+t)/2,a=n===0?2*o/(s+o):2*t/(n+t);return[e,a*100,i*100]};d.hsv.rgb=function(r){let e=r[0]/60,t=r[1]/100,n=r[2]/100,o=Math.floor(e)%6,s=e-Math.floor(e),i=255*n*(1-t),a=255*n*(1-t*s),l=255*n*(1-t*(1-s));switch(n*=255,o){case 0:return[n,l,i];case 1:return[a,n,i];case 2:return[i,n,l];case 3:return[i,a,n];case 4:return[l,i,n];case 5:return[n,i,a]}};d.hsv.hsl=function(r){let e=r[0],t=r[1]/100,n=r[2]/100,o=Math.max(n,.01),s,i;i=(2-t)*n;let a=(2-t)*o;return s=t*o,s/=a<=1?a:2-a,s=s||0,i/=2,[e,s*100,i*100]};d.hwb.rgb=function(r){let e=r[0]/360,t=r[1]/100,n=r[2]/100,o=t+n,s;o>1&&(t/=o,n/=o);let i=Math.floor(6*e),a=1-n;s=6*e-i,i&1&&(s=1-s);let l=t+s*(a-t),u,h,f;switch(i){default:case 6:case 0:u=a,h=l,f=t;break;case 1:u=l,h=a,f=t;break;case 2:u=t,h=a,f=l;break;case 3:u=t,h=l,f=a;break;case 4:u=l,h=t,f=a;break;case 5:u=a,h=t,f=l;break}return[u*255,h*255,f*255]};d.cmyk.rgb=function(r){let e=r[0]/100,t=r[1]/100,n=r[2]/100,o=r[3]/100,s=1-Math.min(1,e*(1-o)+o),i=1-Math.min(1,t*(1-o)+o),a=1-Math.min(1,n*(1-o)+o);return[s*255,i*255,a*255]};d.xyz.rgb=function(r){let e=r[0]/100,t=r[1]/100,n=r[2]/100,o,s,i;return o=e*3.2406+t*-1.5372+n*-.4986,s=e*-.9689+t*1.8758+n*.0415,i=e*.0557+t*-.204+n*1.057,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,o=Math.min(Math.max(0,o),1),s=Math.min(Math.max(0,s),1),i=Math.min(Math.max(0,i),1),[o*255,s*255,i*255]};d.xyz.lab=function(r){let e=r[0],t=r[1],n=r[2];e/=95.047,t/=100,n/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let o=116*t-16,s=500*(e-t),i=200*(t-n);return[o,s,i]};d.lab.xyz=function(r){let e=r[0],t=r[1],n=r[2],o,s,i;s=(e+16)/116,o=t/500+s,i=s-n/200;let a=s**3,l=o**3,u=i**3;return s=a>.008856?a:(s-16/116)/7.787,o=l>.008856?l:(o-16/116)/7.787,i=u>.008856?u:(i-16/116)/7.787,o*=95.047,s*=100,i*=108.883,[o,s,i]};d.lab.lch=function(r){let e=r[0],t=r[1],n=r[2],o;o=Math.atan2(n,t)*360/2/Math.PI,o<0&&(o+=360);let i=Math.sqrt(t*t+n*n);return[e,i,o]};d.lch.lab=function(r){let e=r[0],t=r[1],o=r[2]/360*2*Math.PI,s=t*Math.cos(o),i=t*Math.sin(o);return[e,s,i]};d.rgb.ansi16=function(r,e=null){let[t,n,o]=r,s=e===null?d.rgb.hsv(r)[2]:e;if(s=Math.round(s/50),s===0)return 30;let i=30+(Math.round(o/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return s===2&&(i+=60),i};d.hsv.ansi16=function(r){return d.rgb.ansi16(d.hsv.rgb(r),r[2])};d.rgb.ansi256=function(r){let e=r[0],t=r[1],n=r[2];return e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)};d.ansi16.rgb=function(r){let e=r%10;if(e===0||e===7)return r>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let t=(~~(r>50)+1)*.5,n=(e&1)*t*255,o=(e>>1&1)*t*255,s=(e>>2&1)*t*255;return[n,o,s]};d.ansi256.rgb=function(r){if(r>=232){let s=(r-232)*10+8;return[s,s,s]}r-=16;let e,t=Math.floor(r/36)/5*255,n=Math.floor((e=r%36)/6)/5*255,o=e%6/5*255;return[t,n,o]};d.rgb.hex=function(r){let t=(((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};d.hex.rgb=function(r){let e=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let t=e[0];e[0].length===3&&(t=t.split("").map(a=>a+a).join(""));let n=parseInt(t,16),o=n>>16&255,s=n>>8&255,i=n&255;return[o,s,i]};d.rgb.hcg=function(r){let e=r[0]/255,t=r[1]/255,n=r[2]/255,o=Math.max(Math.max(e,t),n),s=Math.min(Math.min(e,t),n),i=o-s,a,l;return i<1?a=s/(1-i):a=0,i<=0?l=0:o===e?l=(t-n)/i%6:o===t?l=2+(n-e)/i:l=4+(e-t)/i,l/=6,l%=1,[l*360,i*100,a*100]};d.hsl.hcg=function(r){let e=r[1]/100,t=r[2]/100,n=t<.5?2*e*t:2*e*(1-t),o=0;return n<1&&(o=(t-.5*n)/(1-n)),[r[0],n*100,o*100]};d.hsv.hcg=function(r){let e=r[1]/100,t=r[2]/100,n=e*t,o=0;return n<1&&(o=(t-n)/(1-n)),[r[0],n*100,o*100]};d.hcg.rgb=function(r){let e=r[0]/360,t=r[1]/100,n=r[2]/100;if(t===0)return[n*255,n*255,n*255];let o=[0,0,0],s=e%1*6,i=s%1,a=1-i,l=0;switch(Math.floor(s)){case 0:o[0]=1,o[1]=i,o[2]=0;break;case 1:o[0]=a,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=i;break;case 3:o[0]=0,o[1]=a,o[2]=1;break;case 4:o[0]=i,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=a}return l=(1-t)*n,[(t*o[0]+l)*255,(t*o[1]+l)*255,(t*o[2]+l)*255]};d.hcg.hsv=function(r){let e=r[1]/100,t=r[2]/100,n=e+t*(1-e),o=0;return n>0&&(o=e/n),[r[0],o*100,n*100]};d.hcg.hsl=function(r){let e=r[1]/100,n=r[2]/100*(1-e)+.5*e,o=0;return n>0&&n<.5?o=e/(2*n):n>=.5&&n<1&&(o=e/(2*(1-n))),[r[0],o*100,n*100]};d.hcg.hwb=function(r){let e=r[1]/100,t=r[2]/100,n=e+t*(1-e);return[r[0],(n-e)*100,(1-n)*100]};d.hwb.hcg=function(r){let e=r[1]/100,n=1-r[2]/100,o=n-e,s=0;return o<1&&(s=(n-o)/(1-o)),[r[0],o*100,s*100]};d.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]};d.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]};d.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]};d.gray.hsl=function(r){return[0,0,r[0]]};d.gray.hsv=d.gray.hsl;d.gray.hwb=function(r){return[0,100,r[0]]};d.gray.cmyk=function(r){return[0,0,0,r[0]]};d.gray.lab=function(r){return[r[0],0,0]};d.gray.hex=function(r){let e=Math.round(r[0]/100*255)&255,n=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(n.length)+n};d.rgb.gray=function(r){return[(r[0]+r[1]+r[2])/3/255*100]}});var Jt=x((os,Yt)=>{var Oe=nt();function Fr(){let r={},e=Object.keys(Oe);for(let t=e.length,n=0;n<t;n++)r[e[n]]={distance:-1,parent:null};return r}function Hr(r){let e=Fr(),t=[r];for(e[r].distance=0;t.length;){let n=t.pop(),o=Object.keys(Oe[n]);for(let s=o.length,i=0;i<s;i++){let a=o[i],l=e[a];l.distance===-1&&(l.distance=e[n].distance+1,l.parent=n,t.unshift(a))}}return e}function jr(r,e){return function(t){return e(r(t))}}function Mr(r,e){let t=[e[r].parent,r],n=Oe[e[r].parent][r],o=e[r].parent;for(;e[o].parent;)t.unshift(e[o].parent),n=jr(Oe[e[o].parent][o],n),o=e[o].parent;return n.conversion=t,n}Yt.exports=function(r){let e=Hr(r),t={},n=Object.keys(e);for(let o=n.length,s=0;s<o;s++){let i=n[s];e[i].parent!==null&&(t[i]=Mr(i,e))}return t}});var Qt=x((ss,Kt)=>{var rt=nt(),Nr=Jt(),re={},qr=Object.keys(rt);function Vr(r){let e=function(...t){let n=t[0];return n==null?n:(n.length>1&&(t=n),r(t))};return"conversion"in r&&(e.conversion=r.conversion),e}function Dr(r){let e=function(...t){let n=t[0];if(n==null)return n;n.length>1&&(t=n);let o=r(t);if(typeof o=="object")for(let s=o.length,i=0;i<s;i++)o[i]=Math.round(o[i]);return o};return"conversion"in r&&(e.conversion=r.conversion),e}qr.forEach(r=>{re[r]={},Object.defineProperty(re[r],"channels",{value:rt[r].channels}),Object.defineProperty(re[r],"labels",{value:rt[r].labels});let e=Nr(r);Object.keys(e).forEach(n=>{let o=e[n];re[r][n]=Dr(o),re[r][n].raw=Vr(o)})});Kt.exports=re});var rn=x((is,nn)=>{"use strict";var Xt=(r,e)=>(...t)=>`\x1B[${r(...t)+e}m`,Zt=(r,e)=>(...t)=>{let n=r(...t);return`\x1B[${38+e};5;${n}m`},en=(r,e)=>(...t)=>{let n=r(...t);return`\x1B[${38+e};2;${n[0]};${n[1]};${n[2]}m`},Se=r=>r,tn=(r,e,t)=>[r,e,t],oe=(r,e,t)=>{Object.defineProperty(r,e,{get:()=>{let n=t();return Object.defineProperty(r,e,{value:n,enumerable:!0,configurable:!0}),n},enumerable:!0,configurable:!0})},ot,se=(r,e,t,n)=>{ot===void 0&&(ot=Qt());let o=n?10:0,s={};for(let[i,a]of Object.entries(ot)){let l=i==="ansi16"?"ansi":i;i===e?s[l]=r(t,o):typeof a=="object"&&(s[l]=r(a[e],o))}return s};function Lr(){let r=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[t,n]of Object.entries(e)){for(let[o,s]of Object.entries(n))e[o]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},n[o]=e[o],r.set(s[0],s[1]);Object.defineProperty(e,t,{value:n,enumerable:!1})}return Object.defineProperty(e,"codes",{value:r,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",oe(e.color,"ansi",()=>se(Xt,"ansi16",Se,!1)),oe(e.color,"ansi256",()=>se(Zt,"ansi256",Se,!1)),oe(e.color,"ansi16m",()=>se(en,"rgb",tn,!1)),oe(e.bgColor,"ansi",()=>se(Xt,"ansi16",Se,!0)),oe(e.bgColor,"ansi256",()=>se(Zt,"ansi256",Se,!0)),oe(e.bgColor,"ansi16m",()=>se(en,"rgb",tn,!0)),e}Object.defineProperty(nn,"exports",{enumerable:!0,get:Lr})});var sn=x((as,on)=>{"use strict";on.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",n=e.indexOf(t+r),o=e.indexOf("--");return n!==-1&&(o===-1||n<o)}});var cn=x((ls,ln)=>{"use strict";var Wr=require("os"),an=require("tty"),M=sn(),{env:O}=process,z;M("no-color")||M("no-colors")||M("color=false")||M("color=never")?z=0:(M("color")||M("colors")||M("color=true")||M("color=always"))&&(z=1);"FORCE_COLOR"in O&&(O.FORCE_COLOR==="true"?z=1:O.FORCE_COLOR==="false"?z=0:z=O.FORCE_COLOR.length===0?1:Math.min(parseInt(O.FORCE_COLOR,10),3));function st(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function it(r,e){if(z===0)return 0;if(M("color=16m")||M("color=full")||M("color=truecolor"))return 3;if(M("color=256"))return 2;if(r&&!e&&z===void 0)return 0;let t=z||0;if(O.TERM==="dumb")return t;if(process.platform==="win32"){let n=Wr.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in O)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in O)||O.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in O)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(O.TEAMCITY_VERSION)?1:0;if(O.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in O){let n=parseInt((O.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(O.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(O.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(O.TERM)||"COLORTERM"in O?1:t}function Br(r){let e=it(r,r&&r.isTTY);return st(e)}ln.exports={supportsColor:Br,stdout:st(it(!0,an.isatty(1))),stderr:st(it(!0,an.isatty(2)))}});var hn=x((cs,un)=>{"use strict";var Ur=(r,e,t)=>{let n=r.indexOf(e);if(n===-1)return r;let o=e.length,s=0,i="";do i+=r.substr(s,n-s)+e+t,s=n+o,n=r.indexOf(e,s);while(n!==-1);return i+=r.substr(s),i},Gr=(r,e,t,n)=>{let o=0,s="";do{let i=r[n-1]==="\r";s+=r.substr(o,(i?n-1:n)-o)+e+(i?`\r
|
|
27
23
|
`:`
|
|
28
|
-
`)+t,
|
|
29
|
-
`,
|
|
30
|
-
`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function
|
|
31
|
-
`);return
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
hyv
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
`))
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
${c.dim('say "rewrite in my voice" in any connected agent to get started')}`)}}async function fl(n){Bt({api_key:n,base_url:Pe});try{let e=await E("/cli/heartbeat");Bt({api_key:n,base_url:Pe,user_email:e.email,user_name:e.name}),console.log(` ${c.green("\u2713")} authenticated with license key`)}catch(e){console.log(` ${c.red("\u2717")} invalid license key: ${e.message}`),process.exit(1)}}var at=S(require("fs")),Ai=S(require("path"));var Or=S(br(),1);var wt=n=>{if(typeof n!="string")throw new TypeError("invalid pattern");if(n.length>65536)throw new TypeError("pattern is too long")};var vl={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},vt=n=>n.replace(/[[\]\\-]/g,"\\$&"),xl=n=>n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),wr=n=>n.join(""),vr=(n,e)=>{let t=e;if(n.charAt(t)!=="[")throw new Error("not in a brace expression");let s=[],i=[],r=t+1,o=!1,a=!1,l=!1,h=!1,u=t,f="";e:for(;r<n.length;){let g=n.charAt(r);if((g==="!"||g==="^")&&r===t+1){h=!0,r++;continue}if(g==="]"&&o&&!l){u=r+1;break}if(o=!0,g==="\\"&&!l){l=!0,r++;continue}if(g==="["&&!l){for(let[y,[b,v,x]]of Object.entries(vl))if(n.startsWith(y,r)){if(f)return["$.",!1,n.length-t,!0];r+=y.length,x?i.push(b):s.push(b),a=a||v;continue e}}if(l=!1,f){g>f?s.push(vt(f)+"-"+vt(g)):g===f&&s.push(vt(g)),f="",r++;continue}if(n.startsWith("-]",r+1)){s.push(vt(g+"-")),r+=2;continue}if(n.startsWith("-",r+1)){f=g,r+=2;continue}s.push(vt(g)),r++}if(u<r)return["",!1,0,!1];if(!s.length&&!i.length)return["$.",!1,n.length-t,!0];if(i.length===0&&s.length===1&&/^\\?.$/.test(s[0])&&!h){let g=s[0].length===2?s[0].slice(-1):s[0];return[xl(g),!1,u-t,!1]}let p="["+(h?"^":"")+wr(s)+"]",d="["+(h?"":"^")+wr(i)+"]";return[s.length&&i.length?"("+p+"|"+d+")":s.length?p:d,a,u-t,!0]};var ie=(n,{windowsPathsNoEscape:e=!1}={})=>e?n.replace(/\[([^\/\\])\]/g,"$1"):n.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var z,Sl=new Set(["!","?","+","*","@"]),ui=n=>Sl.has(n),xr=n=>ui(n.type),$l=new Map([["!",["@"]],["?",["?","@"]],["@",["@"]],["*",["*","+","?","@"]],["+",["+","@"]]]),_l=new Map([["!",["?"]],["@",["?"]],["+",["?","*"]]]),Cl=new Map([["!",["?","@"]],["?",["?","@"]],["@",["?","@"]],["*",["*","+","?","@"]],["+",["+","@","?","*"]]]),Sr=new Map([["!",new Map([["!","@"]])],["?",new Map([["*","*"],["+","*"]])],["@",new Map([["!","!"],["?","?"],["@","@"],["*","*"],["+","+"]])],["+",new Map([["?","*"],["*","*"]])]]),El="(?!(?:^|/)\\.\\.?(?:$|/))",Qt="(?!\\.)",Ol=new Set(["[","."]),kl=new Set(["..","."]),Al=new Set("().*{}+?[]^$\\!"),Fl=n=>n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),fi="[^/]",$r=fi+"*?",_r=fi+"+?",Me=class{type;#e;#s;#n=!1;#t=[];#o;#x;#c;#u=!1;#l;#a;#r=!1;constructor(e,t,s={}){this.type=e,e&&(this.#s=!0),this.#o=t,this.#e=this.#o?this.#o.#e:this,this.#l=this.#e===this?s:this.#e.#l,this.#c=this.#e===this?[]:this.#e.#c,e==="!"&&!this.#e.#u&&this.#c.push(this),this.#x=this.#o?this.#o.#t.length:0}get hasMagic(){if(this.#s!==void 0)return this.#s;for(let e of this.#t)if(typeof e!="string"&&(e.type||e.hasMagic))return this.#s=!0;return this.#s}toString(){return this.#a!==void 0?this.#a:this.type?this.#a=this.type+"("+this.#t.map(e=>String(e)).join("|")+")":this.#a=this.#t.map(e=>String(e)).join("")}#y(){if(this!==this.#e)throw new Error("should only call on root");if(this.#u)return this;this.toString(),this.#u=!0;let e;for(;e=this.#c.pop();){if(e.type!=="!")continue;let t=e,s=t.#o;for(;s;){for(let i=t.#x+1;!s.type&&i<s.#t.length;i++)for(let r of e.#t){if(typeof r=="string")throw new Error("string part in extglob AST??");r.copyIn(s.#t[i])}t=s,s=t.#o}}return this}push(...e){for(let t of e)if(t!==""){if(typeof t!="string"&&!(t instanceof z&&t.#o===this))throw new Error("invalid part: "+t);this.#t.push(t)}}toJSON(){let e=this.type===null?this.#t.slice().map(t=>typeof t=="string"?t:t.toJSON()):[this.type,...this.#t.map(t=>t.toJSON())];return this.isStart()&&!this.type&&e.unshift([]),this.isEnd()&&(this===this.#e||this.#e.#u&&this.#o?.type==="!")&&e.push({}),e}isStart(){if(this.#e===this)return!0;if(!this.#o?.isStart())return!1;if(this.#x===0)return!0;let e=this.#o;for(let t=0;t<this.#x;t++){let s=e.#t[t];if(!(s instanceof z&&s.type==="!"))return!1}return!0}isEnd(){if(this.#e===this||this.#o?.type==="!")return!0;if(!this.#o?.isEnd())return!1;if(!this.type)return this.#o?.isEnd();let e=this.#o?this.#o.#t.length:0;return this.#x===e-1}copyIn(e){typeof e=="string"?this.push(e):this.push(e.clone(this))}clone(e){let t=new z(this.type,e);for(let s of this.#t)t.copyIn(s);return t}static#b(e,t,s,i,r){let o=i.maxExtglobRecursion??2,a=!1,l=!1,h=-1,u=!1;if(t.type===null){let g=s,y="";for(;g<e.length;){let b=e.charAt(g++);if(a||b==="\\"){a=!a,y+=b;continue}if(l){g===h+1?(b==="^"||b==="!")&&(u=!0):b==="]"&&!(g===h+2&&u)&&(l=!1),y+=b;continue}else if(b==="["){l=!0,h=g,u=!1,y+=b;continue}if(!i.noext&&ui(b)&&e.charAt(g)==="("&&r<=o){t.push(y),y="";let x=new z(b,t);g=z.#b(e,x,g,i,r+1),t.push(x);continue}y+=b}return t.push(y),g}let f=s+1,p=new z(null,t),d=[],m="";for(;f<e.length;){let g=e.charAt(f++);if(a||g==="\\"){a=!a,m+=g;continue}if(l){f===h+1?(g==="^"||g==="!")&&(u=!0):g==="]"&&!(f===h+2&&u)&&(l=!1),m+=g;continue}else if(g==="["){l=!0,h=f,u=!1,m+=g;continue}if(ui(g)&&e.charAt(f)==="("&&(r<=o||t&&t.#S(g))){let b=t&&t.#S(g)?0:1;p.push(m),m="";let v=new z(g,p);p.push(v),f=z.#b(e,v,f,i,r+b);continue}if(g==="|"){p.push(m),m="",d.push(p),p=new z(null,t);continue}if(g===")")return m===""&&t.#t.length===0&&(t.#r=!0),p.push(m),m="",t.push(...d,p),f;m+=g}return t.type=null,t.#s=void 0,t.#t=[e.substring(s-1)],f}#g(e){return this.#d(e,_l)}#d(e,t=$l){if(!e||typeof e!="object"||e.type!==null||e.#t.length!==1||this.type===null)return!1;let s=e.#t[0];return!s||typeof s!="object"||s.type===null?!1:this.#S(s.type,t)}#S(e,t=Cl){return!!t.get(this.type)?.includes(e)}#p(e,t){let s=e.#t[0],i=new z(null,s,this.options);i.#t.push(""),s.push(i),this.#_(e,t)}#_(e,t){let s=e.#t[0];this.#t.splice(t,1,...s.#t);for(let i of s.#t)typeof i=="object"&&(i.#o=this);this.#a=void 0}#C(e){return!!Sr.get(this.type)?.has(e)}#m(e){if(!e||typeof e!="object"||e.type!==null||e.#t.length!==1||this.type===null||this.#t.length!==1)return!1;let t=e.#t[0];return!t||typeof t!="object"||t.type===null?!1:this.#C(t.type)}#$(e){let t=Sr.get(this.type),s=e.#t[0],i=t?.get(s.type);if(!i)return!1;this.#t=s.#t;for(let r of this.#t)typeof r=="object"&&(r.#o=this);this.type=i,this.#a=void 0,this.#r=!1}#w(){if(xr(this)){let e=0,t=!1;do{t=!0;for(let s=0;s<this.#t.length;s++){let i=this.#t[s];typeof i=="object"&&(i.#w(),this.#d(i)?(t=!1,this.#_(i,s)):this.#g(i)?(t=!1,this.#p(i,s)):this.#m(i)&&(t=!1,this.#$(i)))}}while(!t&&++e<10)}else for(let e of this.#t)typeof e=="object"&&e.#w();this.#a=void 0}static fromGlob(e,t={}){let s=new z(null,void 0,t);return z.#b(e,s,0,t,0),s}toMMPattern(){if(this!==this.#e)return this.#e.toMMPattern();let e=this.toString(),[t,s,i,r]=this.toRegExpSource();if(!(i||this.#s||this.#l.nocase&&!this.#l.nocaseMagicOnly&&e.toUpperCase()!==e.toLowerCase()))return s;let a=(this.#l.nocase?"i":"")+(r?"u":"");return Object.assign(new RegExp(`^${t}$`,a),{_src:t,_glob:e})}get options(){return this.#l}toRegExpSource(e){let t=e??!!this.#l.dot;if(this.#e===this&&(this.#w(),this.#y()),!xr(this)){let l=this.isStart()&&this.isEnd(),h=this.#t.map(d=>{let[m,g,y,b]=typeof d=="string"?z.#E(d,this.#s,l):d.toRegExpSource(e);return this.#s=this.#s||y,this.#n=this.#n||b,m}).join(""),u="";if(this.isStart()&&typeof this.#t[0]=="string"&&!(this.#t.length===1&&kl.has(this.#t[0]))){let m=Ol,g=t&&m.has(h.charAt(0))||h.startsWith("\\.")&&m.has(h.charAt(2))||h.startsWith("\\.\\.")&&m.has(h.charAt(4)),y=!t&&!e&&m.has(h.charAt(0));u=g?El:y?Qt:""}let f="";return this.isEnd()&&this.#e.#u&&this.#o?.type==="!"&&(f="(?:$|\\/)"),[u+h+f,ie(h),this.#s=!!this.#s,this.#n]}let s=this.type==="*"||this.type==="+",i=this.type==="!"?"(?:(?!(?:":"(?:",r=this.#f(t);if(this.isStart()&&this.isEnd()&&!r&&this.type!=="!"){let l=this.toString(),h=this;return h.#t=[l],h.type=null,h.#s=void 0,[l,ie(this.toString()),!1,!1]}let o=!s||e||t||!Qt?"":this.#f(!0);o===r&&(o=""),o&&(r=`(?:${r})(?:${o})*?`);let a="";if(this.type==="!"&&this.#r)a=(this.isStart()&&!t?Qt:"")+_r;else{let l=this.type==="!"?"))"+(this.isStart()&&!t&&!e?Qt:"")+$r+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&o?")":this.type==="*"&&o?")?":`)${this.type}`;a=i+r+l}return[a,ie(r),this.#s=!!this.#s,this.#n]}#f(e){return this.#t.map(t=>{if(typeof t=="string")throw new Error("string type in extglob ast??");let[s,i,r,o]=t.toRegExpSource(e);return this.#n=this.#n||o,s}).filter(t=>!(this.isStart()&&this.isEnd())||!!t).join("|")}static#E(e,t,s=!1){let i=!1,r="",o=!1,a=!1;for(let l=0;l<e.length;l++){let h=e.charAt(l);if(i){i=!1,r+=(Al.has(h)?"\\":"")+h,a=!1;continue}if(h==="\\"){l===e.length-1?r+="\\\\":i=!0;continue}if(h==="["){let[u,f,p,d]=vr(e,l);if(p){r+=u,o=o||f,l+=p-1,t=t||d,a=!1;continue}}if(h==="*"){if(a)continue;a=!0,r+=s&&/^[*]+$/.test(e)?_r:$r,t=!0;continue}else a=!1;if(h==="?"){r+=fi,t=!0;continue}r+=Fl(h)}return[r,ie(e),!!t,o]}};z=Me;var Ke=(n,{windowsPathsNoEscape:e=!1}={})=>e?n.replace(/[?*()[\]]/g,"[$&]"):n.replace(/[?*()[\]\\]/g,"\\$&");var B=(n,e,t={})=>(wt(e),!t.nocomment&&e.charAt(0)==="#"?!1:new Y(e,t).match(n)),jl=/^\*+([^+@!?\*\[\(]*)$/,Rl=n=>e=>!e.startsWith(".")&&e.endsWith(n),Tl=n=>e=>e.endsWith(n),Pl=n=>(n=n.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(n)),Ml=n=>(n=n.toLowerCase(),e=>e.toLowerCase().endsWith(n)),Il=/^\*+\.\*+$/,Nl=n=>!n.startsWith(".")&&n.includes("."),Ll=n=>n!=="."&&n!==".."&&n.includes("."),Dl=/^\.\*+$/,Wl=n=>n!=="."&&n!==".."&&n.startsWith("."),Vl=/^\*+$/,Hl=n=>n.length!==0&&!n.startsWith("."),ql=n=>n.length!==0&&n!=="."&&n!=="..",Bl=/^\?+([^+@!?\*\[\(]*)?$/,Ul=([n,e=""])=>{let t=kr([n]);return e?(e=e.toLowerCase(),s=>t(s)&&s.toLowerCase().endsWith(e)):t},zl=([n,e=""])=>{let t=Ar([n]);return e?(e=e.toLowerCase(),s=>t(s)&&s.toLowerCase().endsWith(e)):t},Gl=([n,e=""])=>{let t=Ar([n]);return e?s=>t(s)&&s.endsWith(e):t},Jl=([n,e=""])=>{let t=kr([n]);return e?s=>t(s)&&s.endsWith(e):t},kr=([n])=>{let e=n.length;return t=>t.length===e&&!t.startsWith(".")},Ar=([n])=>{let e=n.length;return t=>t.length===e&&t!=="."&&t!==".."},Fr=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",Cr={win32:{sep:"\\"},posix:{sep:"/"}},Yl=Fr==="win32"?Cr.win32.sep:Cr.posix.sep;B.sep=Yl;var F=Symbol("globstar **");B.GLOBSTAR=F;var Kl="[^/]",Xl=Kl+"*?",Zl="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",Ql="(?:(?!(?:\\/|^)\\.).)*?",ec=(n,e={})=>t=>B(t,n,e);B.filter=ec;var Q=(n,e={})=>Object.assign({},n,e),tc=n=>{if(!n||typeof n!="object"||!Object.keys(n).length)return B;let e=B;return Object.assign((s,i,r={})=>e(s,i,Q(n,r)),{Minimatch:class extends e.Minimatch{constructor(i,r={}){super(i,Q(n,r))}static defaults(i){return e.defaults(Q(n,i)).Minimatch}},AST:class extends e.AST{constructor(i,r,o={}){super(i,r,Q(n,o))}static fromGlob(i,r={}){return e.AST.fromGlob(i,Q(n,r))}},unescape:(s,i={})=>e.unescape(s,Q(n,i)),escape:(s,i={})=>e.escape(s,Q(n,i)),filter:(s,i={})=>e.filter(s,Q(n,i)),defaults:s=>e.defaults(Q(n,s)),makeRe:(s,i={})=>e.makeRe(s,Q(n,i)),braceExpand:(s,i={})=>e.braceExpand(s,Q(n,i)),match:(s,i,r={})=>e.match(s,i,Q(n,r)),sep:e.sep,GLOBSTAR:F})};B.defaults=tc;var jr=(n,e={})=>(wt(n),e.nobrace||!/\{(?:(?!\{).)*\}/.test(n)?[n]:(0,Or.default)(n));B.braceExpand=jr;var sc=(n,e={})=>new Y(n,e).makeRe();B.makeRe=sc;var ic=(n,e,t={})=>{let s=new Y(e,t);return n=n.filter(i=>s.match(i)),s.options.nonull&&!n.length&&n.push(e),n};B.match=ic;var Er=/[?*]|[+@!]\(.*?\)|\[|\]/,nc=n=>n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),Y=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;maxGlobstarRecursion;regexp;constructor(e,t={}){wt(e),t=t||{},this.options=t,this.maxGlobstarRecursion=t.maxGlobstarRecursion??200,this.pattern=e,this.platform=t.platform||Fr,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!t.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!t.nonegate,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=t.windowsNoMagicRoot!==void 0?t.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let e of this.set)for(let t of e)if(typeof t!="string")return!0;return!1}debug(...e){}make(){let e=this.pattern,t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=!0;return}if(!e){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],t.debug&&(this.debug=(...r)=>console.error(...r)),this.debug(this.pattern,this.globSet);let s=this.globSet.map(r=>this.slashSplit(r));this.globParts=this.preprocess(s),this.debug(this.pattern,this.globParts);let i=this.globParts.map((r,o,a)=>{if(this.isWindows&&this.windowsNoMagicRoot){let l=r[0]===""&&r[1]===""&&(r[2]==="?"||!Er.test(r[2]))&&!Er.test(r[3]),h=/^[a-z]:/i.test(r[0]);if(l)return[...r.slice(0,4),...r.slice(4).map(u=>this.parse(u))];if(h)return[r[0],...r.slice(1).map(u=>this.parse(u))]}return r.map(l=>this.parse(l))});if(this.debug(this.pattern,i),this.set=i.filter(r=>r.indexOf(!1)===-1),this.isWindows)for(let r=0;r<this.set.length;r++){let o=this.set[r];o[0]===""&&o[1]===""&&this.globParts[r][2]==="?"&&typeof o[3]=="string"&&/^[a-z]:$/i.test(o[3])&&(o[2]="?")}this.debug(this.pattern,this.set)}preprocess(e){if(this.options.noglobstar)for(let s=0;s<e.length;s++)for(let i=0;i<e[s].length;i++)e[s][i]==="**"&&(e[s][i]="*");let{optimizationLevel:t=1}=this.options;return t>=2?(e=this.firstPhasePreProcess(e),e=this.secondPhasePreProcess(e)):t>=1?e=this.levelOneOptimize(e):e=this.adjascentGlobstarOptimize(e),e}adjascentGlobstarOptimize(e){return e.map(t=>{let s=-1;for(;(s=t.indexOf("**",s+1))!==-1;){let i=s;for(;t[i+1]==="**";)i++;i!==s&&t.splice(s,i-s)}return t})}levelOneOptimize(e){return e.map(t=>(t=t.reduce((s,i)=>{let r=s[s.length-1];return i==="**"&&r==="**"?s:i===".."&&r&&r!==".."&&r!=="."&&r!=="**"?(s.pop(),s):(s.push(i),s)},[]),t.length===0?[""]:t))}levelTwoFileOptimize(e){Array.isArray(e)||(e=this.slashSplit(e));let t=!1;do{if(t=!1,!this.preserveMultipleSlashes){for(let i=1;i<e.length-1;i++){let r=e[i];i===1&&r===""&&e[0]===""||(r==="."||r==="")&&(t=!0,e.splice(i,1),i--)}e[0]==="."&&e.length===2&&(e[1]==="."||e[1]==="")&&(t=!0,e.pop())}let s=0;for(;(s=e.indexOf("..",s+1))!==-1;){let i=e[s-1];i&&i!=="."&&i!==".."&&i!=="**"&&(t=!0,e.splice(s-1,2),s-=2)}}while(t);return e.length===0?[""]:e}firstPhasePreProcess(e){let t=!1;do{t=!1;for(let s of e){let i=-1;for(;(i=s.indexOf("**",i+1))!==-1;){let o=i;for(;s[o+1]==="**";)o++;o>i&&s.splice(i+1,o-i);let a=s[i+1],l=s[i+2],h=s[i+3];if(a!==".."||!l||l==="."||l===".."||!h||h==="."||h==="..")continue;t=!0,s.splice(i,1);let u=s.slice(0);u[i]="**",e.push(u),i--}if(!this.preserveMultipleSlashes){for(let o=1;o<s.length-1;o++){let a=s[o];o===1&&a===""&&s[0]===""||(a==="."||a==="")&&(t=!0,s.splice(o,1),o--)}s[0]==="."&&s.length===2&&(s[1]==="."||s[1]==="")&&(t=!0,s.pop())}let r=0;for(;(r=s.indexOf("..",r+1))!==-1;){let o=s[r-1];if(o&&o!=="."&&o!==".."&&o!=="**"){t=!0;let l=r===1&&s[r+1]==="**"?["."]:[];s.splice(r-1,2,...l),s.length===0&&s.push(""),r-=2}}}}while(t);return e}secondPhasePreProcess(e){for(let t=0;t<e.length-1;t++)for(let s=t+1;s<e.length;s++){let i=this.partsMatch(e[t],e[s],!this.preserveMultipleSlashes);if(i){e[t]=[],e[s]=i;break}}return e.filter(t=>t.length)}partsMatch(e,t,s=!1){let i=0,r=0,o=[],a="";for(;i<e.length&&r<t.length;)if(e[i]===t[r])o.push(a==="b"?t[r]:e[i]),i++,r++;else if(s&&e[i]==="**"&&t[r]===e[i+1])o.push(e[i]),i++;else if(s&&t[r]==="**"&&e[i]===t[r+1])o.push(t[r]),r++;else if(e[i]==="*"&&t[r]&&(this.options.dot||!t[r].startsWith("."))&&t[r]!=="**"){if(a==="b")return!1;a="a",o.push(e[i]),i++,r++}else if(t[r]==="*"&&e[i]&&(this.options.dot||!e[i].startsWith("."))&&e[i]!=="**"){if(a==="a")return!1;a="b",o.push(t[r]),i++,r++}else return!1;return e.length===t.length&&o}parseNegate(){if(this.nonegate)return;let e=this.pattern,t=!1,s=0;for(let i=0;i<e.length&&e.charAt(i)==="!";i++)t=!t,s++;s&&(this.pattern=e.slice(s)),this.negate=t}matchOne(e,t,s=!1){let i=0,r=0;if(this.isWindows){let a=typeof e[0]=="string"&&/^[a-z]:$/i.test(e[0]),l=!a&&e[0]===""&&e[1]===""&&e[2]==="?"&&/^[a-z]:$/i.test(e[3]),h=typeof t[0]=="string"&&/^[a-z]:$/i.test(t[0]),u=!h&&t[0]===""&&t[1]===""&&t[2]==="?"&&typeof t[3]=="string"&&/^[a-z]:$/i.test(t[3]),f=l?3:a?0:void 0,p=u?3:h?0:void 0;if(typeof f=="number"&&typeof p=="number"){let[d,m]=[e[f],t[p]];d.toLowerCase()===m.toLowerCase()&&(t[p]=d,r=p,i=f)}}let{optimizationLevel:o=1}=this.options;return o>=2&&(e=this.levelTwoFileOptimize(e)),t.includes(F)?this.#e(e,t,s,i,r):this.#n(e,t,s,i,r)}#e(e,t,s,i,r){let o=t.indexOf(F,r),a=t.lastIndexOf(F),[l,h,u]=s?[t.slice(r,o),t.slice(o+1),[]]:[t.slice(r,o),t.slice(o+1,a),t.slice(a+1)];if(l.length){let v=e.slice(i,i+l.length);if(!this.#n(v,l,s,0,0))return!1;i+=l.length}let f=0;if(u.length){if(u.length+i>e.length)return!1;let v=e.length-u.length;if(this.#n(e,u,s,v,0))f=u.length;else{if(e[e.length-1]!==""||i+u.length===e.length||(v--,!this.#n(e,u,s,v,0)))return!1;f=u.length+1}}if(!h.length){let v=!!f;for(let x=i;x<e.length-f;x++){let $=String(e[x]);if(v=!0,$==="."||$===".."||!this.options.dot&&$.startsWith("."))return!1}return s||v}let p=[[[],0]],d=p[0],m=0,g=[0];for(let v of h)v===F?(g.push(m),d=[[],0],p.push(d)):(d[0].push(v),m++);let y=p.length-1,b=e.length-f;for(let v of p)v[1]=b-(g[y--]+v[0].length);return!!this.#s(e,p,i,0,s,0,!!f)}#s(e,t,s,i,r,o,a){let l=t[i];if(!l){for(let f=s;f<e.length;f++){a=!0;let p=e[f];if(p==="."||p===".."||!this.options.dot&&p.startsWith("."))return!1}return a}let[h,u]=l;for(;s<=u;){if(this.#n(e.slice(0,s+h.length),h,r,s,0)&&o<this.maxGlobstarRecursion){let d=this.#s(e,t,s+h.length,i+1,r,o+1,a);if(d!==!1)return d}let p=e[s];if(p==="."||p===".."||!this.options.dot&&p.startsWith("."))return!1;s++}return r||null}#n(e,t,s,i,r){let o,a,l,h;for(o=i,a=r,h=e.length,l=t.length;o<h&&a<l;o++,a++){this.debug("matchOne loop");let u=t[a],f=e[o];if(this.debug(t,u,f),u===!1||u===F)return!1;let p;if(typeof u=="string"?(p=f===u,this.debug("string match",u,f,p)):(p=u.test(f),this.debug("pattern match",u,f,p)),!p)return!1}if(o===h&&a===l)return!0;if(o===h)return s;if(a===l)return o===h-1&&e[o]==="";throw new Error("wtf?")}braceExpand(){return jr(this.pattern,this.options)}parse(e){wt(e);let t=this.options;if(e==="**")return F;if(e==="")return"";let s,i=null;(s=e.match(Vl))?i=t.dot?ql:Hl:(s=e.match(jl))?i=(t.nocase?t.dot?Ml:Pl:t.dot?Tl:Rl)(s[1]):(s=e.match(Bl))?i=(t.nocase?t.dot?zl:Ul:t.dot?Gl:Jl)(s):(s=e.match(Il))?i=t.dot?Ll:Nl:(s=e.match(Dl))&&(i=Wl);let r=Me.fromGlob(e,this.options).toMMPattern();return i&&typeof r=="object"&&Reflect.defineProperty(r,"test",{value:i}),r}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let e=this.set;if(!e.length)return this.regexp=!1,this.regexp;let t=this.options,s=t.noglobstar?Xl:t.dot?Zl:Ql,i=new Set(t.nocase?["i"]:[]),r=e.map(l=>{let h=l.map(u=>{if(u instanceof RegExp)for(let f of u.flags.split(""))i.add(f);return typeof u=="string"?nc(u):u===F?F:u._src});return h.forEach((u,f)=>{let p=h[f+1],d=h[f-1];u!==F||d===F||(d===void 0?p!==void 0&&p!==F?h[f+1]="(?:\\/|"+s+"\\/)?"+p:h[f]=s:p===void 0?h[f-1]=d+"(?:\\/|"+s+")?":p!==F&&(h[f-1]=d+"(?:\\/|\\/"+s+"\\/)"+p,h[f+1]=F))}),h.filter(u=>u!==F).join("/")}).join("|"),[o,a]=e.length>1?["(?:",")"]:["",""];r="^"+o+r+a+"$",this.negate&&(r="^(?!"+r+").+$");try{this.regexp=new RegExp(r,[...i].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(e){return this.preserveMultipleSlashes?e.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(e)?["",...e.split(/\/+/)]:e.split(/\/+/)}match(e,t=this.partial){if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&t)return!0;let s=this.options;this.isWindows&&(e=e.split("\\").join("/"));let i=this.slashSplit(e);this.debug(this.pattern,"split",i);let r=this.set;this.debug(this.pattern,"set",r);let o=i[i.length-1];if(!o)for(let a=i.length-2;!o&&a>=0;a--)o=i[a];for(let a=0;a<r.length;a++){let l=r[a],h=i;if(s.matchBase&&l.length===1&&(h=[o]),this.matchOne(h,l,t))return s.flipNegate?!0:!this.negate}return s.flipNegate?!1:this.negate}static defaults(e){return B.defaults(e).Minimatch}};B.AST=Me;B.Minimatch=Y;B.escape=Ke;B.unescape=ie;var to=require("node:url");var Xe=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,Tr=new Set,di=typeof process=="object"&&process?process:{},Pr=(n,e,t,s)=>{typeof di.emitWarning=="function"?di.emitWarning(n,e,t,s):console.error(`[${t}] ${e}: ${n}`)},es=globalThis.AbortController,Rr=globalThis.AbortSignal;if(typeof es>"u"){Rr=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(s,i){this._onabort.push(i)}},es=class{constructor(){e()}signal=new Rr;abort(s){if(!this.signal.aborted){this.signal.reason=s,this.signal.aborted=!0;for(let i of this.signal._onabort)i(s);this.signal.onabort?.(s)}}};let n=di.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",e=()=>{n&&(n=!1,Pr("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e))}}var rc=n=>!Tr.has(n),Yu=Symbol("type"),$e=n=>n&&n===Math.floor(n)&&n>0&&isFinite(n),Mr=n=>$e(n)?n<=Math.pow(2,8)?Uint8Array:n<=Math.pow(2,16)?Uint16Array:n<=Math.pow(2,32)?Uint32Array:n<=Number.MAX_SAFE_INTEGER?Ze:null:null,Ze=class extends Array{constructor(e){super(e),this.fill(0)}},pi=class n{heap;length;static#e=!1;static create(e){let t=Mr(e);if(!t)return[];n.#e=!0;let s=new n(e,t);return n.#e=!1,s}constructor(e,t){if(!n.#e)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new t(e),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},xt=class n{#e;#s;#n;#t;#o;#x;ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#c;#u;#l;#a;#r;#y;#b;#g;#d;#S;#p;#_;#C;#m;#$;#w;#f;static unsafeExposeInternals(e){return{starts:e.#C,ttls:e.#m,sizes:e.#_,keyMap:e.#l,keyList:e.#a,valList:e.#r,next:e.#y,prev:e.#b,get head(){return e.#g},get tail(){return e.#d},free:e.#S,isBackgroundFetch:t=>e.#h(t),backgroundFetch:(t,s,i,r)=>e.#L(t,s,i,r),moveToTail:t=>e.#W(t),indexes:t=>e.#k(t),rindexes:t=>e.#A(t),isStale:t=>e.#v(t)}}get max(){return this.#e}get maxSize(){return this.#s}get calculatedSize(){return this.#u}get size(){return this.#c}get fetchMethod(){return this.#o}get memoMethod(){return this.#x}get dispose(){return this.#n}get disposeAfter(){return this.#t}constructor(e){let{max:t=0,ttl:s,ttlResolution:i=1,ttlAutopurge:r,updateAgeOnGet:o,updateAgeOnHas:a,allowStale:l,dispose:h,disposeAfter:u,noDisposeOnSet:f,noUpdateTTL:p,maxSize:d=0,maxEntrySize:m=0,sizeCalculation:g,fetchMethod:y,memoMethod:b,noDeleteOnFetchRejection:v,noDeleteOnStaleGet:x,allowStaleOnFetchRejection:$,allowStaleOnFetchAbort:O,ignoreFetchAbort:G}=e;if(t!==0&&!$e(t))throw new TypeError("max option must be a nonnegative integer");let T=t?Mr(t):Array;if(!T)throw new Error("invalid max value: "+t);if(this.#e=t,this.#s=d,this.maxEntrySize=m||this.#s,this.sizeCalculation=g,this.sizeCalculation){if(!this.#s&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(b!==void 0&&typeof b!="function")throw new TypeError("memoMethod must be a function if defined");if(this.#x=b,y!==void 0&&typeof y!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#o=y,this.#w=!!y,this.#l=new Map,this.#a=new Array(t).fill(void 0),this.#r=new Array(t).fill(void 0),this.#y=new T(t),this.#b=new T(t),this.#g=0,this.#d=0,this.#S=pi.create(t),this.#c=0,this.#u=0,typeof h=="function"&&(this.#n=h),typeof u=="function"?(this.#t=u,this.#p=[]):(this.#t=void 0,this.#p=void 0),this.#$=!!this.#n,this.#f=!!this.#t,this.noDisposeOnSet=!!f,this.noUpdateTTL=!!p,this.noDeleteOnFetchRejection=!!v,this.allowStaleOnFetchRejection=!!$,this.allowStaleOnFetchAbort=!!O,this.ignoreFetchAbort=!!G,this.maxEntrySize!==0){if(this.#s!==0&&!$e(this.#s))throw new TypeError("maxSize must be a positive integer if specified");if(!$e(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#F()}if(this.allowStale=!!l,this.noDeleteOnStaleGet=!!x,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!a,this.ttlResolution=$e(i)||i===0?i:1,this.ttlAutopurge=!!r,this.ttl=s||0,this.ttl){if(!$e(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#E()}if(this.#e===0&&this.ttl===0&&this.#s===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#e&&!this.#s){let Fe="LRU_CACHE_UNBOUNDED";rc(Fe)&&(Tr.add(Fe),Pr("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",Fe,n))}}getRemainingTTL(e){return this.#l.has(e)?1/0:0}#E(){let e=new Ze(this.#e),t=new Ze(this.#e);this.#m=e,this.#C=t,this.#R=(r,o,a=Xe.now())=>{if(t[r]=o!==0?a:0,e[r]=o,o!==0&&this.ttlAutopurge){let l=setTimeout(()=>{this.#v(r)&&this.#j(this.#a[r],"expire")},o+1);l.unref&&l.unref()}},this.#O=r=>{t[r]=e[r]!==0?Xe.now():0},this.#i=(r,o)=>{if(e[o]){let a=e[o],l=t[o];if(!a||!l)return;r.ttl=a,r.start=l,r.now=s||i();let h=r.now-l;r.remainingTTL=a-h}};let s=0,i=()=>{let r=Xe.now();if(this.ttlResolution>0){s=r;let o=setTimeout(()=>s=0,this.ttlResolution);o.unref&&o.unref()}return r};this.getRemainingTTL=r=>{let o=this.#l.get(r);if(o===void 0)return 0;let a=e[o],l=t[o];if(!a||!l)return 1/0;let h=(s||i())-l;return a-h},this.#v=r=>{let o=t[r],a=e[r];return!!a&&!!o&&(s||i())-o>a}}#O=()=>{};#i=()=>{};#R=()=>{};#v=()=>!1;#F(){let e=new Ze(this.#e);this.#u=0,this.#_=e,this.#T=t=>{this.#u-=e[t],e[t]=0},this.#M=(t,s,i,r)=>{if(this.#h(s))return 0;if(!$e(i))if(r){if(typeof r!="function")throw new TypeError("sizeCalculation must be a function");if(i=r(s,t),!$e(i))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return i},this.#P=(t,s,i)=>{if(e[t]=s,this.#s){let r=this.#s-e[t];for(;this.#u>r;)this.#N(!0)}this.#u+=e[t],i&&(i.entrySize=s,i.totalCalculatedSize=this.#u)}}#T=e=>{};#P=(e,t,s)=>{};#M=(e,t,s,i)=>{if(s||i)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#k({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#d;!(!this.#I(t)||((e||!this.#v(t))&&(yield t),t===this.#g));)t=this.#b[t]}*#A({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#g;!(!this.#I(t)||((e||!this.#v(t))&&(yield t),t===this.#d));)t=this.#y[t]}#I(e){return e!==void 0&&this.#l.get(this.#a[e])===e}*entries(){for(let e of this.#k())this.#r[e]!==void 0&&this.#a[e]!==void 0&&!this.#h(this.#r[e])&&(yield[this.#a[e],this.#r[e]])}*rentries(){for(let e of this.#A())this.#r[e]!==void 0&&this.#a[e]!==void 0&&!this.#h(this.#r[e])&&(yield[this.#a[e],this.#r[e]])}*keys(){for(let e of this.#k()){let t=this.#a[e];t!==void 0&&!this.#h(this.#r[e])&&(yield t)}}*rkeys(){for(let e of this.#A()){let t=this.#a[e];t!==void 0&&!this.#h(this.#r[e])&&(yield t)}}*values(){for(let e of this.#k())this.#r[e]!==void 0&&!this.#h(this.#r[e])&&(yield this.#r[e])}*rvalues(){for(let e of this.#A())this.#r[e]!==void 0&&!this.#h(this.#r[e])&&(yield this.#r[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,t={}){for(let s of this.#k()){let i=this.#r[s],r=this.#h(i)?i.__staleWhileFetching:i;if(r!==void 0&&e(r,this.#a[s],this))return this.get(this.#a[s],t)}}forEach(e,t=this){for(let s of this.#k()){let i=this.#r[s],r=this.#h(i)?i.__staleWhileFetching:i;r!==void 0&&e.call(t,r,this.#a[s],this)}}rforEach(e,t=this){for(let s of this.#A()){let i=this.#r[s],r=this.#h(i)?i.__staleWhileFetching:i;r!==void 0&&e.call(t,r,this.#a[s],this)}}purgeStale(){let e=!1;for(let t of this.#A({allowStale:!0}))this.#v(t)&&(this.#j(this.#a[t],"expire"),e=!0);return e}info(e){let t=this.#l.get(e);if(t===void 0)return;let s=this.#r[t],i=this.#h(s)?s.__staleWhileFetching:s;if(i===void 0)return;let r={value:i};if(this.#m&&this.#C){let o=this.#m[t],a=this.#C[t];if(o&&a){let l=o-(Xe.now()-a);r.ttl=l,r.start=Date.now()}}return this.#_&&(r.size=this.#_[t]),r}dump(){let e=[];for(let t of this.#k({allowStale:!0})){let s=this.#a[t],i=this.#r[t],r=this.#h(i)?i.__staleWhileFetching:i;if(r===void 0||s===void 0)continue;let o={value:r};if(this.#m&&this.#C){o.ttl=this.#m[t];let a=Xe.now()-this.#C[t];o.start=Math.floor(Date.now()-a)}this.#_&&(o.size=this.#_[t]),e.unshift([s,o])}return e}load(e){this.clear();for(let[t,s]of e){if(s.start){let i=Date.now()-s.start;s.start=Xe.now()-i}this.set(t,s.value,s)}}set(e,t,s={}){if(t===void 0)return this.delete(e),this;let{ttl:i=this.ttl,start:r,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:l}=s,{noUpdateTTL:h=this.noUpdateTTL}=s,u=this.#M(e,t,s.size||0,a);if(this.maxEntrySize&&u>this.maxEntrySize)return l&&(l.set="miss",l.maxEntrySizeExceeded=!0),this.#j(e,"set"),this;let f=this.#c===0?void 0:this.#l.get(e);if(f===void 0)f=this.#c===0?this.#d:this.#S.length!==0?this.#S.pop():this.#c===this.#e?this.#N(!1):this.#c,this.#a[f]=e,this.#r[f]=t,this.#l.set(e,f),this.#y[this.#d]=f,this.#b[f]=this.#d,this.#d=f,this.#c++,this.#P(f,u,l),l&&(l.set="add"),h=!1;else{this.#W(f);let p=this.#r[f];if(t!==p){if(this.#w&&this.#h(p)){p.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:d}=p;d!==void 0&&!o&&(this.#$&&this.#n?.(d,e,"set"),this.#f&&this.#p?.push([d,e,"set"]))}else o||(this.#$&&this.#n?.(p,e,"set"),this.#f&&this.#p?.push([p,e,"set"]));if(this.#T(f),this.#P(f,u,l),this.#r[f]=t,l){l.set="replace";let d=p&&this.#h(p)?p.__staleWhileFetching:p;d!==void 0&&(l.oldValue=d)}}else l&&(l.set="update")}if(i!==0&&!this.#m&&this.#E(),this.#m&&(h||this.#R(f,i,r),l&&this.#i(l,f)),!o&&this.#f&&this.#p){let p=this.#p,d;for(;d=p?.shift();)this.#t?.(...d)}return this}pop(){try{for(;this.#c;){let e=this.#r[this.#g];if(this.#N(!0),this.#h(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(e!==void 0)return e}}finally{if(this.#f&&this.#p){let e=this.#p,t;for(;t=e?.shift();)this.#t?.(...t)}}}#N(e){let t=this.#g,s=this.#a[t],i=this.#r[t];return this.#w&&this.#h(i)?i.__abortController.abort(new Error("evicted")):(this.#$||this.#f)&&(this.#$&&this.#n?.(i,s,"evict"),this.#f&&this.#p?.push([i,s,"evict"])),this.#T(t),e&&(this.#a[t]=void 0,this.#r[t]=void 0,this.#S.push(t)),this.#c===1?(this.#g=this.#d=0,this.#S.length=0):this.#g=this.#y[t],this.#l.delete(s),this.#c--,t}has(e,t={}){let{updateAgeOnHas:s=this.updateAgeOnHas,status:i}=t,r=this.#l.get(e);if(r!==void 0){let o=this.#r[r];if(this.#h(o)&&o.__staleWhileFetching===void 0)return!1;if(this.#v(r))i&&(i.has="stale",this.#i(i,r));else return s&&this.#O(r),i&&(i.has="hit",this.#i(i,r)),!0}else i&&(i.has="miss");return!1}peek(e,t={}){let{allowStale:s=this.allowStale}=t,i=this.#l.get(e);if(i===void 0||!s&&this.#v(i))return;let r=this.#r[i];return this.#h(r)?r.__staleWhileFetching:r}#L(e,t,s,i){let r=t===void 0?void 0:this.#r[t];if(this.#h(r))return r;let o=new es,{signal:a}=s;a?.addEventListener("abort",()=>o.abort(a.reason),{signal:o.signal});let l={signal:o.signal,options:s,context:i},h=(g,y=!1)=>{let{aborted:b}=o.signal,v=s.ignoreFetchAbort&&g!==void 0;if(s.status&&(b&&!y?(s.status.fetchAborted=!0,s.status.fetchError=o.signal.reason,v&&(s.status.fetchAbortIgnored=!0)):s.status.fetchResolved=!0),b&&!v&&!y)return f(o.signal.reason);let x=d;return this.#r[t]===d&&(g===void 0?x.__staleWhileFetching?this.#r[t]=x.__staleWhileFetching:this.#j(e,"fetch"):(s.status&&(s.status.fetchUpdated=!0),this.set(e,g,l.options))),g},u=g=>(s.status&&(s.status.fetchRejected=!0,s.status.fetchError=g),f(g)),f=g=>{let{aborted:y}=o.signal,b=y&&s.allowStaleOnFetchAbort,v=b||s.allowStaleOnFetchRejection,x=v||s.noDeleteOnFetchRejection,$=d;if(this.#r[t]===d&&(!x||$.__staleWhileFetching===void 0?this.#j(e,"fetch"):b||(this.#r[t]=$.__staleWhileFetching)),v)return s.status&&$.__staleWhileFetching!==void 0&&(s.status.returnedStale=!0),$.__staleWhileFetching;if($.__returned===$)throw g},p=(g,y)=>{let b=this.#o?.(e,r,l);b&&b instanceof Promise&&b.then(v=>g(v===void 0?void 0:v),y),o.signal.addEventListener("abort",()=>{(!s.ignoreFetchAbort||s.allowStaleOnFetchAbort)&&(g(void 0),s.allowStaleOnFetchAbort&&(g=v=>h(v,!0)))})};s.status&&(s.status.fetchDispatched=!0);let d=new Promise(p).then(h,u),m=Object.assign(d,{__abortController:o,__staleWhileFetching:r,__returned:void 0});return t===void 0?(this.set(e,m,{...l.options,status:void 0}),t=this.#l.get(e)):this.#r[t]=m,m}#h(e){if(!this.#w)return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof es}async fetch(e,t={}){let{allowStale:s=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:a=this.noDisposeOnSet,size:l=0,sizeCalculation:h=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,noDeleteOnFetchRejection:f=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:p=this.allowStaleOnFetchRejection,ignoreFetchAbort:d=this.ignoreFetchAbort,allowStaleOnFetchAbort:m=this.allowStaleOnFetchAbort,context:g,forceRefresh:y=!1,status:b,signal:v}=t;if(!this.#w)return b&&(b.fetch="get"),this.get(e,{allowStale:s,updateAgeOnGet:i,noDeleteOnStaleGet:r,status:b});let x={allowStale:s,updateAgeOnGet:i,noDeleteOnStaleGet:r,ttl:o,noDisposeOnSet:a,size:l,sizeCalculation:h,noUpdateTTL:u,noDeleteOnFetchRejection:f,allowStaleOnFetchRejection:p,allowStaleOnFetchAbort:m,ignoreFetchAbort:d,status:b,signal:v},$=this.#l.get(e);if($===void 0){b&&(b.fetch="miss");let O=this.#L(e,$,x,g);return O.__returned=O}else{let O=this.#r[$];if(this.#h(O)){let le=s&&O.__staleWhileFetching!==void 0;return b&&(b.fetch="inflight",le&&(b.returnedStale=!0)),le?O.__staleWhileFetching:O.__returned=O}let G=this.#v($);if(!y&&!G)return b&&(b.fetch="hit"),this.#W($),i&&this.#O($),b&&this.#i(b,$),O;let T=this.#L(e,$,x,g),We=T.__staleWhileFetching!==void 0&&s;return b&&(b.fetch=G?"stale":"refresh",We&&G&&(b.returnedStale=!0)),We?T.__staleWhileFetching:T.__returned=T}}async forceFetch(e,t={}){let s=await this.fetch(e,t);if(s===void 0)throw new Error("fetch() returned undefined");return s}memo(e,t={}){let s=this.#x;if(!s)throw new Error("no memoMethod provided to constructor");let{context:i,forceRefresh:r,...o}=t,a=this.get(e,o);if(!r&&a!==void 0)return a;let l=s(e,a,{options:o,context:i});return this.set(e,l,o),l}get(e,t={}){let{allowStale:s=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,status:o}=t,a=this.#l.get(e);if(a!==void 0){let l=this.#r[a],h=this.#h(l);return o&&this.#i(o,a),this.#v(a)?(o&&(o.get="stale"),h?(o&&s&&l.__staleWhileFetching!==void 0&&(o.returnedStale=!0),s?l.__staleWhileFetching:void 0):(r||this.#j(e,"expire"),o&&s&&(o.returnedStale=!0),s?l:void 0)):(o&&(o.get="hit"),h?l.__staleWhileFetching:(this.#W(a),i&&this.#O(a),l))}else o&&(o.get="miss")}#D(e,t){this.#b[t]=e,this.#y[e]=t}#W(e){e!==this.#d&&(e===this.#g?this.#g=this.#y[e]:this.#D(this.#b[e],this.#y[e]),this.#D(this.#d,e),this.#d=e)}delete(e){return this.#j(e,"delete")}#j(e,t){let s=!1;if(this.#c!==0){let i=this.#l.get(e);if(i!==void 0)if(s=!0,this.#c===1)this.#V(t);else{this.#T(i);let r=this.#r[i];if(this.#h(r)?r.__abortController.abort(new Error("deleted")):(this.#$||this.#f)&&(this.#$&&this.#n?.(r,e,t),this.#f&&this.#p?.push([r,e,t])),this.#l.delete(e),this.#a[i]=void 0,this.#r[i]=void 0,i===this.#d)this.#d=this.#b[i];else if(i===this.#g)this.#g=this.#y[i];else{let o=this.#b[i];this.#y[o]=this.#y[i];let a=this.#y[i];this.#b[a]=this.#b[i]}this.#c--,this.#S.push(i)}}if(this.#f&&this.#p?.length){let i=this.#p,r;for(;r=i?.shift();)this.#t?.(...r)}return s}clear(){return this.#V("delete")}#V(e){for(let t of this.#A({allowStale:!0})){let s=this.#r[t];if(this.#h(s))s.__abortController.abort(new Error("deleted"));else{let i=this.#a[t];this.#$&&this.#n?.(s,i,e),this.#f&&this.#p?.push([s,i,e])}}if(this.#l.clear(),this.#r.fill(void 0),this.#a.fill(void 0),this.#m&&this.#C&&(this.#m.fill(0),this.#C.fill(0)),this.#_&&this.#_.fill(0),this.#g=0,this.#d=0,this.#S.length=0,this.#u=0,this.#c=0,this.#f&&this.#p){let t=this.#p,s;for(;s=t?.shift();)this.#t?.(...s)}}};var tt=require("node:path"),Ur=require("node:url"),ue=require("fs"),gc=S(require("node:fs"),1),Ee=require("node:fs/promises");var as=require("node:events"),xi=S(require("node:stream"),1),Wr=require("node:string_decoder"),Ir=typeof process=="object"&&process?process:{stdout:null,stderr:null},oc=n=>!!n&&typeof n=="object"&&(n instanceof Ce||n instanceof xi.default||ac(n)||lc(n)),ac=n=>!!n&&typeof n=="object"&&n instanceof as.EventEmitter&&typeof n.pipe=="function"&&n.pipe!==xi.default.Writable.prototype.pipe,lc=n=>!!n&&typeof n=="object"&&n instanceof as.EventEmitter&&typeof n.write=="function"&&typeof n.end=="function",ge=Symbol("EOF"),me=Symbol("maybeEmitEnd"),_e=Symbol("emittedEnd"),ts=Symbol("emittingEnd"),St=Symbol("emittedError"),ss=Symbol("closed"),Nr=Symbol("read"),is=Symbol("flush"),Lr=Symbol("flushChunk"),ne=Symbol("encoding"),Qe=Symbol("decoder"),N=Symbol("flowing"),$t=Symbol("paused"),et=Symbol("resume"),L=Symbol("buffer"),U=Symbol("pipes"),D=Symbol("bufferLength"),gi=Symbol("bufferPush"),ns=Symbol("bufferShift"),H=Symbol("objectMode"),j=Symbol("destroyed"),mi=Symbol("error"),yi=Symbol("emitData"),Dr=Symbol("emitEnd"),bi=Symbol("emitEnd2"),ce=Symbol("async"),wi=Symbol("abort"),rs=Symbol("aborted"),_t=Symbol("signal"),Ie=Symbol("dataListeners"),K=Symbol("discarded"),Ct=n=>Promise.resolve().then(n),cc=n=>n(),hc=n=>n==="end"||n==="finish"||n==="prefinish",uc=n=>n instanceof ArrayBuffer||!!n&&typeof n=="object"&&n.constructor&&n.constructor.name==="ArrayBuffer"&&n.byteLength>=0,fc=n=>!Buffer.isBuffer(n)&&ArrayBuffer.isView(n),os=class{src;dest;opts;ondrain;constructor(e,t,s){this.src=e,this.dest=t,this.opts=s,this.ondrain=()=>e[et](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(e){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},vi=class extends os{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,t,s){super(e,t,s),this.proxyErrors=i=>this.dest.emit("error",i),e.on("error",this.proxyErrors)}},dc=n=>!!n.objectMode,pc=n=>!n.objectMode&&!!n.encoding&&n.encoding!=="buffer",Ce=class extends as.EventEmitter{[N]=!1;[$t]=!1;[U]=[];[L]=[];[H];[ne];[ce];[Qe];[ge]=!1;[_e]=!1;[ts]=!1;[ss]=!1;[St]=null;[D]=0;[j]=!1;[_t];[rs]=!1;[Ie]=0;[K]=!1;writable=!0;readable=!0;constructor(...e){let t=e[0]||{};if(super(),t.objectMode&&typeof t.encoding=="string")throw new TypeError("Encoding and objectMode may not be used together");dc(t)?(this[H]=!0,this[ne]=null):pc(t)?(this[ne]=t.encoding,this[H]=!1):(this[H]=!1,this[ne]=null),this[ce]=!!t.async,this[Qe]=this[ne]?new Wr.StringDecoder(this[ne]):null,t&&t.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[L]}),t&&t.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[U]});let{signal:s}=t;s&&(this[_t]=s,s.aborted?this[wi]():s.addEventListener("abort",()=>this[wi]()))}get bufferLength(){return this[D]}get encoding(){return this[ne]}set encoding(e){throw new Error("Encoding must be set at instantiation time")}setEncoding(e){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[H]}set objectMode(e){throw new Error("objectMode must be set at instantiation time")}get async(){return this[ce]}set async(e){this[ce]=this[ce]||!!e}[wi](){this[rs]=!0,this.emit("abort",this[_t]?.reason),this.destroy(this[_t]?.reason)}get aborted(){return this[rs]}set aborted(e){}write(e,t,s){if(this[rs])return!1;if(this[ge])throw new Error("write after end");if(this[j])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof t=="function"&&(s=t,t="utf8"),t||(t="utf8");let i=this[ce]?Ct:cc;if(!this[H]&&!Buffer.isBuffer(e)){if(fc(e))e=Buffer.from(e.buffer,e.byteOffset,e.byteLength);else if(uc(e))e=Buffer.from(e);else if(typeof e!="string")throw new Error("Non-contiguous data written to non-objectMode stream")}return this[H]?(this[N]&&this[D]!==0&&this[is](!0),this[N]?this.emit("data",e):this[gi](e),this[D]!==0&&this.emit("readable"),s&&i(s),this[N]):e.length?(typeof e=="string"&&!(t===this[ne]&&!this[Qe]?.lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[ne]&&(e=this[Qe].write(e)),this[N]&&this[D]!==0&&this[is](!0),this[N]?this.emit("data",e):this[gi](e),this[D]!==0&&this.emit("readable"),s&&i(s),this[N]):(this[D]!==0&&this.emit("readable"),s&&i(s),this[N])}read(e){if(this[j])return null;if(this[K]=!1,this[D]===0||e===0||e&&e>this[D])return this[me](),null;this[H]&&(e=null),this[L].length>1&&!this[H]&&(this[L]=[this[ne]?this[L].join(""):Buffer.concat(this[L],this[D])]);let t=this[Nr](e||null,this[L][0]);return this[me](),t}[Nr](e,t){if(this[H])this[ns]();else{let s=t;e===s.length||e===null?this[ns]():typeof s=="string"?(this[L][0]=s.slice(e),t=s.slice(0,e),this[D]-=e):(this[L][0]=s.subarray(e),t=s.subarray(0,e),this[D]-=e)}return this.emit("data",t),!this[L].length&&!this[ge]&&this.emit("drain"),t}end(e,t,s){return typeof e=="function"&&(s=e,e=void 0),typeof t=="function"&&(s=t,t="utf8"),e!==void 0&&this.write(e,t),s&&this.once("end",s),this[ge]=!0,this.writable=!1,(this[N]||!this[$t])&&this[me](),this}[et](){this[j]||(!this[Ie]&&!this[U].length&&(this[K]=!0),this[$t]=!1,this[N]=!0,this.emit("resume"),this[L].length?this[is]():this[ge]?this[me]():this.emit("drain"))}resume(){return this[et]()}pause(){this[N]=!1,this[$t]=!0,this[K]=!1}get destroyed(){return this[j]}get flowing(){return this[N]}get paused(){return this[$t]}[gi](e){this[H]?this[D]+=1:this[D]+=e.length,this[L].push(e)}[ns](){return this[H]?this[D]-=1:this[D]-=this[L][0].length,this[L].shift()}[is](e=!1){do;while(this[Lr](this[ns]())&&this[L].length);!e&&!this[L].length&&!this[ge]&&this.emit("drain")}[Lr](e){return this.emit("data",e),this[N]}pipe(e,t){if(this[j])return e;this[K]=!1;let s=this[_e];return t=t||{},e===Ir.stdout||e===Ir.stderr?t.end=!1:t.end=t.end!==!1,t.proxyErrors=!!t.proxyErrors,s?t.end&&e.end():(this[U].push(t.proxyErrors?new vi(this,e,t):new os(this,e,t)),this[ce]?Ct(()=>this[et]()):this[et]()),e}unpipe(e){let t=this[U].find(s=>s.dest===e);t&&(this[U].length===1?(this[N]&&this[Ie]===0&&(this[N]=!1),this[U]=[]):this[U].splice(this[U].indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let s=super.on(e,t);if(e==="data")this[K]=!1,this[Ie]++,!this[U].length&&!this[N]&&this[et]();else if(e==="readable"&&this[D]!==0)super.emit("readable");else if(hc(e)&&this[_e])super.emit(e),this.removeAllListeners(e);else if(e==="error"&&this[St]){let i=t;this[ce]?Ct(()=>i.call(this,this[St])):i.call(this,this[St])}return s}removeListener(e,t){return this.off(e,t)}off(e,t){let s=super.off(e,t);return e==="data"&&(this[Ie]=this.listeners("data").length,this[Ie]===0&&!this[K]&&!this[U].length&&(this[N]=!1)),s}removeAllListeners(e){let t=super.removeAllListeners(e);return(e==="data"||e===void 0)&&(this[Ie]=0,!this[K]&&!this[U].length&&(this[N]=!1)),t}get emittedEnd(){return this[_e]}[me](){!this[ts]&&!this[_e]&&!this[j]&&this[L].length===0&&this[ge]&&(this[ts]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[ss]&&this.emit("close"),this[ts]=!1)}emit(e,...t){let s=t[0];if(e!=="error"&&e!=="close"&&e!==j&&this[j])return!1;if(e==="data")return!this[H]&&!s?!1:this[ce]?(Ct(()=>this[yi](s)),!0):this[yi](s);if(e==="end")return this[Dr]();if(e==="close"){if(this[ss]=!0,!this[_e]&&!this[j])return!1;let r=super.emit("close");return this.removeAllListeners("close"),r}else if(e==="error"){this[St]=s,super.emit(mi,s);let r=!this[_t]||this.listeners("error").length?super.emit("error",s):!1;return this[me](),r}else if(e==="resume"){let r=super.emit("resume");return this[me](),r}else if(e==="finish"||e==="prefinish"){let r=super.emit(e);return this.removeAllListeners(e),r}let i=super.emit(e,...t);return this[me](),i}[yi](e){for(let s of this[U])s.dest.write(e)===!1&&this.pause();let t=this[K]?!1:super.emit("data",e);return this[me](),t}[Dr](){return this[_e]?!1:(this[_e]=!0,this.readable=!1,this[ce]?(Ct(()=>this[bi]()),!0):this[bi]())}[bi](){if(this[Qe]){let t=this[Qe].end();if(t){for(let s of this[U])s.dest.write(t);this[K]||super.emit("data",t)}}for(let t of this[U])t.end();let e=super.emit("end");return this.removeAllListeners("end"),e}async collect(){let e=Object.assign([],{dataLength:0});this[H]||(e.dataLength=0);let t=this.promise();return this.on("data",s=>{e.push(s),this[H]||(e.dataLength+=s.length)}),await t,e}async concat(){if(this[H])throw new Error("cannot concat in objectMode");let e=await this.collect();return this[ne]?e.join(""):Buffer.concat(e,e.dataLength)}async promise(){return new Promise((e,t)=>{this.on(j,()=>t(new Error("stream destroyed"))),this.on("error",s=>t(s)),this.on("end",()=>e())})}[Symbol.asyncIterator](){this[K]=!1;let e=!1,t=async()=>(this.pause(),e=!0,{value:void 0,done:!0});return{next:()=>{if(e)return t();let i=this.read();if(i!==null)return Promise.resolve({done:!1,value:i});if(this[ge])return t();let r,o,a=f=>{this.off("data",l),this.off("end",h),this.off(j,u),t(),o(f)},l=f=>{this.off("error",a),this.off("end",h),this.off(j,u),this.pause(),r({value:f,done:!!this[ge]})},h=()=>{this.off("error",a),this.off("data",l),this.off(j,u),t(),r({done:!0,value:void 0})},u=()=>a(new Error("stream destroyed"));return new Promise((f,p)=>{o=p,r=f,this.once(j,u),this.once("error",a),this.once("end",h),this.once("data",l)})},throw:t,return:t,[Symbol.asyncIterator](){return this},[Symbol.asyncDispose]:async()=>{}}}[Symbol.iterator](){this[K]=!1;let e=!1,t=()=>(this.pause(),this.off(mi,t),this.off(j,t),this.off("end",t),e=!0,{done:!0,value:void 0}),s=()=>{if(e)return t();let i=this.read();return i===null?t():{done:!1,value:i}};return this.once("end",t),this.once(mi,t),this.once(j,t),{next:s,throw:t,return:t,[Symbol.iterator](){return this},[Symbol.dispose]:()=>{}}}destroy(e){if(this[j])return e?this.emit("error",e):this.emit(j),this;this[j]=!0,this[K]=!0,this[L].length=0,this[D]=0;let t=this;return typeof t.close=="function"&&!this[ss]&&t.close(),e?this.emit("error",e):this.emit(j),this}static get isStream(){return oc}};var mc=ue.realpathSync.native,Ot={lstatSync:ue.lstatSync,readdir:ue.readdir,readdirSync:ue.readdirSync,readlinkSync:ue.readlinkSync,realpathSync:mc,promises:{lstat:Ee.lstat,readdir:Ee.readdir,readlink:Ee.readlink,realpath:Ee.realpath}},zr=n=>!n||n===Ot||n===gc?Ot:{...Ot,...n,promises:{...Ot.promises,...n.promises||{}}},Gr=/^\\\\\?\\([a-z]:)\\?$/i,yc=n=>n.replace(/\//g,"\\").replace(Gr,"$1\\"),bc=/[\\\/]/,te=0,Jr=1,Yr=2,he=4,Kr=6,Xr=8,Ne=10,Zr=12,ee=15,Et=~ee,Si=16,Vr=32,kt=64,re=128,ls=256,hs=512,Hr=kt|re|hs,wc=1023,$i=n=>n.isFile()?Xr:n.isDirectory()?he:n.isSymbolicLink()?Ne:n.isCharacterDevice()?Yr:n.isBlockDevice()?Kr:n.isSocket()?Zr:n.isFIFO()?Jr:te,qr=new Map,At=n=>{let e=qr.get(n);if(e)return e;let t=n.normalize("NFKD");return qr.set(n,t),t},Br=new Map,cs=n=>{let e=Br.get(n);if(e)return e;let t=At(n.toLowerCase());return Br.set(n,t),t},us=class extends xt{constructor(){super({max:256})}},_i=class extends xt{constructor(e=16*1024){super({maxSize:e,sizeCalculation:t=>t.length+1})}},Qr=Symbol("PathScurry setAsCwd"),q=class{name;root;roots;parent;nocase;isCWD=!1;#e;#s;get dev(){return this.#s}#n;get mode(){return this.#n}#t;get nlink(){return this.#t}#o;get uid(){return this.#o}#x;get gid(){return this.#x}#c;get rdev(){return this.#c}#u;get blksize(){return this.#u}#l;get ino(){return this.#l}#a;get size(){return this.#a}#r;get blocks(){return this.#r}#y;get atimeMs(){return this.#y}#b;get mtimeMs(){return this.#b}#g;get ctimeMs(){return this.#g}#d;get birthtimeMs(){return this.#d}#S;get atime(){return this.#S}#p;get mtime(){return this.#p}#_;get ctime(){return this.#_}#C;get birthtime(){return this.#C}#m;#$;#w;#f;#E;#O;#i;#R;#v;#F;get parentPath(){return(this.parent||this).fullpath()}get path(){return this.parentPath}constructor(e,t=te,s,i,r,o,a){this.name=e,this.#m=r?cs(e):At(e),this.#i=t&wc,this.nocase=r,this.roots=i,this.root=s||this,this.#R=o,this.#w=a.fullpath,this.#E=a.relative,this.#O=a.relativePosix,this.parent=a.parent,this.parent?this.#e=this.parent.#e:this.#e=zr(a.fs)}depth(){return this.#$!==void 0?this.#$:this.parent?this.#$=this.parent.depth()+1:this.#$=0}childrenCache(){return this.#R}resolve(e){if(!e)return this;let t=this.getRootString(e),i=e.substring(t.length).split(this.splitSep);return t?this.getRoot(t).#T(i):this.#T(i)}#T(e){let t=this;for(let s of e)t=t.child(s);return t}children(){let e=this.#R.get(this);if(e)return e;let t=Object.assign([],{provisional:0});return this.#R.set(this,t),this.#i&=~Si,t}child(e,t){if(e===""||e===".")return this;if(e==="..")return this.parent||this;let s=this.children(),i=this.nocase?cs(e):At(e);for(let l of s)if(l.#m===i)return l;let r=this.parent?this.sep:"",o=this.#w?this.#w+r+e:void 0,a=this.newChild(e,te,{...t,parent:this,fullpath:o});return this.canReaddir()||(a.#i|=re),s.push(a),a}relative(){if(this.isCWD)return"";if(this.#E!==void 0)return this.#E;let e=this.name,t=this.parent;if(!t)return this.#E=this.name;let s=t.relative();return s+(!s||!t.parent?"":this.sep)+e}relativePosix(){if(this.sep==="/")return this.relative();if(this.isCWD)return"";if(this.#O!==void 0)return this.#O;let e=this.name,t=this.parent;if(!t)return this.#O=this.fullpathPosix();let s=t.relativePosix();return s+(!s||!t.parent?"":"/")+e}fullpath(){if(this.#w!==void 0)return this.#w;let e=this.name,t=this.parent;if(!t)return this.#w=this.name;let i=t.fullpath()+(t.parent?this.sep:"")+e;return this.#w=i}fullpathPosix(){if(this.#f!==void 0)return this.#f;if(this.sep==="/")return this.#f=this.fullpath();if(!this.parent){let i=this.fullpath().replace(/\\/g,"/");return/^[a-z]:\//i.test(i)?this.#f=`//?/${i}`:this.#f=i}let e=this.parent,t=e.fullpathPosix(),s=t+(!t||!e.parent?"":"/")+this.name;return this.#f=s}isUnknown(){return(this.#i&ee)===te}isType(e){return this[`is${e}`]()}getType(){return this.isUnknown()?"Unknown":this.isDirectory()?"Directory":this.isFile()?"File":this.isSymbolicLink()?"SymbolicLink":this.isFIFO()?"FIFO":this.isCharacterDevice()?"CharacterDevice":this.isBlockDevice()?"BlockDevice":this.isSocket()?"Socket":"Unknown"}isFile(){return(this.#i&ee)===Xr}isDirectory(){return(this.#i&ee)===he}isCharacterDevice(){return(this.#i&ee)===Yr}isBlockDevice(){return(this.#i&ee)===Kr}isFIFO(){return(this.#i&ee)===Jr}isSocket(){return(this.#i&ee)===Zr}isSymbolicLink(){return(this.#i&Ne)===Ne}lstatCached(){return this.#i&Vr?this:void 0}readlinkCached(){return this.#v}realpathCached(){return this.#F}readdirCached(){let e=this.children();return e.slice(0,e.provisional)}canReadlink(){if(this.#v)return!0;if(!this.parent)return!1;let e=this.#iⅇreturn!(e!==te&&e!==Ne||this.#i&ls||this.#i&re)}calledReaddir(){return!!(this.#i&Si)}isENOENT(){return!!(this.#i&re)}isNamed(e){return this.nocase?this.#m===cs(e):this.#m===At(e)}async readlink(){let e=this.#v;if(e)return e;if(this.canReadlink()&&this.parent)try{let t=await this.#e.promises.readlink(this.fullpath()),s=(await this.parent.realpath())?.resolve(t);if(s)return this.#v=s}catch(t){this.#h(t.code);return}}readlinkSync(){let e=this.#v;if(e)return e;if(this.canReadlink()&&this.parent)try{let t=this.#e.readlinkSync(this.fullpath()),s=this.parent.realpathSync()?.resolve(t);if(s)return this.#v=s}catch(t){this.#h(t.code);return}}#P(e){this.#i|=Si;for(let t=e.provisional;t<e.length;t++){let s=e[t];s&&s.#M()}}#M(){this.#i&re||(this.#i=(this.#i|re)&Et,this.#k())}#k(){let e=this.children();e.provisional=0;for(let t of e)t.#M()}#A(){this.#i|=hs,this.#I()}#I(){if(this.#i&kt)return;let e=this.#i;(e&ee)===he&&(e&=Et),this.#i=e|kt,this.#k()}#N(e=""){e==="ENOTDIR"||e==="EPERM"?this.#I():e==="ENOENT"?this.#M():this.children().provisional=0}#L(e=""){e==="ENOTDIR"?this.parent.#I():e==="ENOENT"&&this.#M()}#h(e=""){let t=this.#i;t|=ls,e==="ENOENT"&&(t|=re),(e==="EINVAL"||e==="UNKNOWN")&&(t&=Et),this.#i=t,e==="ENOTDIR"&&this.parent&&this.parent.#I()}#D(e,t){return this.#j(e,t)||this.#W(e,t)}#W(e,t){let s=$i(e),i=this.newChild(e.name,s,{parent:this}),r=i.#iⅇreturn r!==he&&r!==Ne&&r!==te&&(i.#i|=kt),t.unshift(i),t.provisional++,i}#j(e,t){for(let s=t.provisional;s<t.length;s++){let i=t[s];if((this.nocase?cs(e.name):At(e.name))===i.#m)return this.#V(e,i,s,t)}}#V(e,t,s,i){let r=t.name;return t.#i=t.#i&Et|$i(e),r!==e.name&&(t.name=e.name),s!==i.provisional&&(s===i.length-1?i.pop():i.splice(s,1),i.unshift(t)),i.provisional++,t}async lstat(){if(!(this.#i&re))try{return this.#U(await this.#e.promises.lstat(this.fullpath())),this}catch(e){this.#L(e.code)}}lstatSync(){if(!(this.#i&re))try{return this.#U(this.#e.lstatSync(this.fullpath())),this}catch(e){this.#L(e.code)}}#U(e){let{atime:t,atimeMs:s,birthtime:i,birthtimeMs:r,blksize:o,blocks:a,ctime:l,ctimeMs:h,dev:u,gid:f,ino:p,mode:d,mtime:m,mtimeMs:g,nlink:y,rdev:b,size:v,uid:x}=e;this.#S=t,this.#y=s,this.#C=i,this.#d=r,this.#u=o,this.#r=a,this.#_=l,this.#g=h,this.#s=u,this.#x=f,this.#l=p,this.#n=d,this.#p=m,this.#b=g,this.#t=y,this.#c=b,this.#a=v,this.#o=x;let $=$i(e);this.#i=this.#i&Et|$|Vr,$!==te&&$!==he&&$!==Ne&&(this.#i|=kt)}#q=[];#B=!1;#z(e){this.#B=!1;let t=this.#q.slice();this.#q.length=0,t.forEach(s=>s(null,e))}readdirCB(e,t=!1){if(!this.canReaddir()){t?e(null,[]):queueMicrotask(()=>e(null,[]));return}let s=this.children();if(this.calledReaddir()){let r=s.slice(0,s.provisional);t?e(null,r):queueMicrotask(()=>e(null,r));return}if(this.#q.push(e),this.#B)return;this.#B=!0;let i=this.fullpath();this.#e.readdir(i,{withFileTypes:!0},(r,o)=>{if(r)this.#N(r.code),s.provisional=0;else{for(let a of o)this.#D(a,s);this.#P(s)}this.#z(s.slice(0,s.provisional))})}#H;async readdir(){if(!this.canReaddir())return[];let e=this.children();if(this.calledReaddir())return e.slice(0,e.provisional);let t=this.fullpath();if(this.#H)await this.#H;else{let s=()=>{};this.#H=new Promise(i=>s=i);try{for(let i of await this.#e.promises.readdir(t,{withFileTypes:!0}))this.#D(i,e);this.#P(e)}catch(i){this.#N(i.code),e.provisional=0}this.#H=void 0,s()}return e.slice(0,e.provisional)}readdirSync(){if(!this.canReaddir())return[];let e=this.children();if(this.calledReaddir())return e.slice(0,e.provisional);let t=this.fullpath();try{for(let s of this.#e.readdirSync(t,{withFileTypes:!0}))this.#D(s,e);this.#P(e)}catch(s){this.#N(s.code),e.provisional=0}return e.slice(0,e.provisional)}canReaddir(){if(this.#i&Hr)return!1;let e=ee&this.#i;return e===te||e===he||e===Ne}shouldWalk(e,t){return(this.#i&he)===he&&!(this.#i&Hr)&&!e.has(this)&&(!t||t(this))}async realpath(){if(this.#F)return this.#F;if(!((hs|ls|re)&this.#i))try{let e=await this.#e.promises.realpath(this.fullpath());return this.#F=this.resolve(e)}catch{this.#A()}}realpathSync(){if(this.#F)return this.#F;if(!((hs|ls|re)&this.#i))try{let e=this.#e.realpathSync(this.fullpath());return this.#F=this.resolve(e)}catch{this.#A()}}[Qr](e){if(e===this)return;e.isCWD=!1,this.isCWD=!0;let t=new Set([]),s=[],i=this;for(;i&&i.parent;)t.add(i),i.#E=s.join(this.sep),i.#O=s.join("/"),i=i.parent,s.push("..");for(i=e;i&&i.parent&&!t.has(i);)i.#E=void 0,i.#O=void 0,i=i.parent}},fs=class n extends q{sep="\\";splitSep=bc;constructor(e,t=te,s,i,r,o,a){super(e,t,s,i,r,o,a)}newChild(e,t=te,s={}){return new n(e,t,this.root,this.roots,this.nocase,this.childrenCache(),s)}getRootString(e){return tt.win32.parse(e).root}getRoot(e){if(e=yc(e.toUpperCase()),e===this.root.name)return this.root;for(let[t,s]of Object.entries(this.roots))if(this.sameRoot(e,t))return this.roots[e]=s;return this.roots[e]=new st(e,this).root}sameRoot(e,t=this.root.name){return e=e.toUpperCase().replace(/\//g,"\\").replace(Gr,"$1\\"),e===t}},ds=class n extends q{splitSep="/";sep="/";constructor(e,t=te,s,i,r,o,a){super(e,t,s,i,r,o,a)}getRootString(e){return e.startsWith("/")?"/":""}getRoot(e){return this.root}newChild(e,t=te,s={}){return new n(e,t,this.root,this.roots,this.nocase,this.childrenCache(),s)}},ps=class{root;rootPath;roots;cwd;#e;#s;#n;nocase;#t;constructor(e=process.cwd(),t,s,{nocase:i,childrenCacheSize:r=16*1024,fs:o=Ot}={}){this.#t=zr(o),(e instanceof URL||e.startsWith("file://"))&&(e=(0,Ur.fileURLToPath)(e));let a=t.resolve(e);this.roots=Object.create(null),this.rootPath=this.parseRootPath(a),this.#e=new us,this.#s=new us,this.#n=new _i(r);let l=a.substring(this.rootPath.length).split(s);if(l.length===1&&!l[0]&&l.pop(),i===void 0)throw new TypeError("must provide nocase setting to PathScurryBase ctor");this.nocase=i,this.root=this.newRoot(this.#t),this.roots[this.rootPath]=this.root;let h=this.root,u=l.length-1,f=t.sep,p=this.rootPath,d=!1;for(let m of l){let g=u--;h=h.child(m,{relative:new Array(g).fill("..").join(f),relativePosix:new Array(g).fill("..").join("/"),fullpath:p+=(d?"":f)+m}),d=!0}this.cwd=h}depth(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.depth()}childrenCache(){return this.#n}resolve(...e){let t="";for(let r=e.length-1;r>=0;r--){let o=e[r];if(!(!o||o===".")&&(t=t?`${o}/${t}`:o,this.isAbsolute(o)))break}let s=this.#e.get(t);if(s!==void 0)return s;let i=this.cwd.resolve(t).fullpath();return this.#e.set(t,i),i}resolvePosix(...e){let t="";for(let r=e.length-1;r>=0;r--){let o=e[r];if(!(!o||o===".")&&(t=t?`${o}/${t}`:o,this.isAbsolute(o)))break}let s=this.#s.get(t);if(s!==void 0)return s;let i=this.cwd.resolve(t).fullpathPosix();return this.#s.set(t,i),i}relative(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.relative()}relativePosix(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.relativePosix()}basename(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.name}dirname(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),(e.parent||e).fullpath()}async readdir(e=this.cwd,t={withFileTypes:!0}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof q||(t=e,e=this.cwd);let{withFileTypes:s}=t;if(e.canReaddir()){let i=await e.readdir();return s?i:i.map(r=>r.name)}else return[]}readdirSync(e=this.cwd,t={withFileTypes:!0}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof q||(t=e,e=this.cwd);let{withFileTypes:s=!0}=t;return e.canReaddir()?s?e.readdirSync():e.readdirSync().map(i=>i.name):[]}async lstat(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.lstat()}lstatSync(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.lstatSync()}async readlink(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof q||(t=e.withFileTypes,e=this.cwd);let s=await e.readlink();return t?s:s?.fullpath()}readlinkSync(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof q||(t=e.withFileTypes,e=this.cwd);let s=e.readlinkSync();return t?s:s?.fullpath()}async realpath(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof q||(t=e.withFileTypes,e=this.cwd);let s=await e.realpath();return t?s:s?.fullpath()}realpathSync(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof q||(t=e.withFileTypes,e=this.cwd);let s=e.realpathSync();return t?s:s?.fullpath()}async walk(e=this.cwd,t={}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof q||(t=e,e=this.cwd);let{withFileTypes:s=!0,follow:i=!1,filter:r,walkFilter:o}=t,a=[];(!r||r(e))&&a.push(s?e:e.fullpath());let l=new Set,h=(f,p)=>{l.add(f),f.readdirCB((d,m)=>{if(d)return p(d);let g=m.length;if(!g)return p();let y=()=>{--g===0&&p()};for(let b of m)(!r||r(b))&&a.push(s?b:b.fullpath()),i&&b.isSymbolicLink()?b.realpath().then(v=>v?.isUnknown()?v.lstat():v).then(v=>v?.shouldWalk(l,o)?h(v,y):y()):b.shouldWalk(l,o)?h(b,y):y()},!0)},u=e;return new Promise((f,p)=>{h(u,d=>{if(d)return p(d);f(a)})})}walkSync(e=this.cwd,t={}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof q||(t=e,e=this.cwd);let{withFileTypes:s=!0,follow:i=!1,filter:r,walkFilter:o}=t,a=[];(!r||r(e))&&a.push(s?e:e.fullpath());let l=new Set([e]);for(let h of l){let u=h.readdirSync();for(let f of u){(!r||r(f))&&a.push(s?f:f.fullpath());let p=f;if(f.isSymbolicLink()){if(!(i&&(p=f.realpathSync())))continue;p.isUnknown()&&p.lstatSync()}p.shouldWalk(l,o)&&l.add(p)}}return a}[Symbol.asyncIterator](){return this.iterate()}iterate(e=this.cwd,t={}){return typeof e=="string"?e=this.cwd.resolve(e):e instanceof q||(t=e,e=this.cwd),this.stream(e,t)[Symbol.asyncIterator]()}[Symbol.iterator](){return this.iterateSync()}*iterateSync(e=this.cwd,t={}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof q||(t=e,e=this.cwd);let{withFileTypes:s=!0,follow:i=!1,filter:r,walkFilter:o}=t;(!r||r(e))&&(yield s?e:e.fullpath());let a=new Set([e]);for(let l of a){let h=l.readdirSync();for(let u of h){(!r||r(u))&&(yield s?u:u.fullpath());let f=u;if(u.isSymbolicLink()){if(!(i&&(f=u.realpathSync())))continue;f.isUnknown()&&f.lstatSync()}f.shouldWalk(a,o)&&a.add(f)}}}stream(e=this.cwd,t={}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof q||(t=e,e=this.cwd);let{withFileTypes:s=!0,follow:i=!1,filter:r,walkFilter:o}=t,a=new Ce({objectMode:!0});(!r||r(e))&&a.write(s?e:e.fullpath());let l=new Set,h=[e],u=0,f=()=>{let p=!1;for(;!p;){let d=h.shift();if(!d){u===0&&a.end();return}u++,l.add(d);let m=(y,b,v=!1)=>{if(y)return a.emit("error",y);if(i&&!v){let x=[];for(let $ of b)$.isSymbolicLink()&&x.push($.realpath().then(O=>O?.isUnknown()?O.lstat():O));if(x.length){Promise.all(x).then(()=>m(null,b,!0));return}}for(let x of b)x&&(!r||r(x))&&(a.write(s?x:x.fullpath())||(p=!0));u--;for(let x of b){let $=x.realpathCached()||x;$.shouldWalk(l,o)&&h.push($)}p&&!a.flowing?a.once("drain",f):g||f()},g=!0;d.readdirCB(m,!0),g=!1}};return f(),a}streamSync(e=this.cwd,t={}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof q||(t=e,e=this.cwd);let{withFileTypes:s=!0,follow:i=!1,filter:r,walkFilter:o}=t,a=new Ce({objectMode:!0}),l=new Set;(!r||r(e))&&a.write(s?e:e.fullpath());let h=[e],u=0,f=()=>{let p=!1;for(;!p;){let d=h.shift();if(!d){u===0&&a.end();return}u++,l.add(d);let m=d.readdirSync();for(let g of m)(!r||r(g))&&(a.write(s?g:g.fullpath())||(p=!0));u--;for(let g of m){let y=g;if(g.isSymbolicLink()){if(!(i&&(y=g.realpathSync())))continue;y.isUnknown()&&y.lstatSync()}y.shouldWalk(l,o)&&h.push(y)}}p&&!a.flowing&&a.once("drain",f)};return f(),a}chdir(e=this.cwd){let t=this.cwd;this.cwd=typeof e=="string"?this.cwd.resolve(e):e,this.cwd[Qr](t)}},st=class extends ps{sep="\\";constructor(e=process.cwd(),t={}){let{nocase:s=!0}=t;super(e,tt.win32,"\\",{...t,nocase:s}),this.nocase=s;for(let i=this.cwd;i;i=i.parent)i.nocase=this.nocase}parseRootPath(e){return tt.win32.parse(e).root.toUpperCase()}newRoot(e){return new fs(this.rootPath,he,void 0,this.roots,this.nocase,this.childrenCache(),{fs:e})}isAbsolute(e){return e.startsWith("/")||e.startsWith("\\")||/^[a-z]:(\/|\\)/i.test(e)}},it=class extends ps{sep="/";constructor(e=process.cwd(),t={}){let{nocase:s=!1}=t;super(e,tt.posix,"/",{...t,nocase:s}),this.nocase=s}parseRootPath(e){return"/"}newRoot(e){return new ds(this.rootPath,he,void 0,this.roots,this.nocase,this.childrenCache(),{fs:e})}isAbsolute(e){return e.startsWith("/")}},Ft=class extends it{constructor(e=process.cwd(),t={}){let{nocase:s=!0}=t;super(e,{...t,nocase:s})}},ef=process.platform==="win32"?fs:ds,eo=process.platform==="win32"?st:process.platform==="darwin"?Ft:it;var vc=n=>n.length>=1,xc=n=>n.length>=1,nt=class n{#e;#s;#n;length;#t;#o;#x;#c;#u;#l;#a=!0;constructor(e,t,s,i){if(!vc(e))throw new TypeError("empty pattern list");if(!xc(t))throw new TypeError("empty glob list");if(t.length!==e.length)throw new TypeError("mismatched pattern list and glob list lengths");if(this.length=e.length,s<0||s>=this.length)throw new TypeError("index out of range");if(this.#e=e,this.#s=t,this.#n=s,this.#t=i,this.#n===0){if(this.isUNC()){let[r,o,a,l,...h]=this.#e,[u,f,p,d,...m]=this.#s;h[0]===""&&(h.shift(),m.shift());let g=[r,o,a,l,""].join("/"),y=[u,f,p,d,""].join("/");this.#e=[g,...h],this.#s=[y,...m],this.length=this.#e.length}else if(this.isDrive()||this.isAbsolute()){let[r,...o]=this.#e,[a,...l]=this.#s;o[0]===""&&(o.shift(),l.shift());let h=r+"/",u=a+"/";this.#e=[h,...o],this.#s=[u,...l],this.length=this.#e.length}}}pattern(){return this.#e[this.#n]}isString(){return typeof this.#e[this.#n]=="string"}isGlobstar(){return this.#e[this.#n]===F}isRegExp(){return this.#e[this.#n]instanceof RegExp}globString(){return this.#x=this.#x||(this.#n===0?this.isAbsolute()?this.#s[0]+this.#s.slice(1).join("/"):this.#s.join("/"):this.#s.slice(this.#n).join("/"))}hasMore(){return this.length>this.#n+1}rest(){return this.#o!==void 0?this.#o:this.hasMore()?(this.#o=new n(this.#e,this.#s,this.#n+1,this.#t),this.#o.#l=this.#l,this.#o.#u=this.#u,this.#o.#c=this.#c,this.#o):this.#o=null}isUNC(){let e=this.#e;return this.#u!==void 0?this.#u:this.#u=this.#t==="win32"&&this.#n===0&&e[0]===""&&e[1]===""&&typeof e[2]=="string"&&!!e[2]&&typeof e[3]=="string"&&!!e[3]}isDrive(){let e=this.#e;return this.#c!==void 0?this.#c:this.#c=this.#t==="win32"&&this.#n===0&&this.length>1&&typeof e[0]=="string"&&/^[a-z]:$/i.test(e[0])}isAbsolute(){let e=this.#e;return this.#l!==void 0?this.#l:this.#l=e[0]===""&&e.length>1||this.isDrive()||this.isUNC()}root(){let e=this.#e[0];return typeof e=="string"&&this.isAbsolute()&&this.#n===0?e:""}checkFollowGlobstar(){return!(this.#n===0||!this.isGlobstar()||!this.#a)}markFollowGlobstar(){return this.#n===0||!this.isGlobstar()||!this.#a?!1:(this.#a=!1,!0)}};var Sc=typeof process=="object"&&process&&typeof process.platform=="string"?process.platform:"linux",rt=class{relative;relativeChildren;absolute;absoluteChildren;platform;mmopts;constructor(e,{nobrace:t,nocase:s,noext:i,noglobstar:r,platform:o=Sc}){this.relative=[],this.absolute=[],this.relativeChildren=[],this.absoluteChildren=[],this.platform=o,this.mmopts={dot:!0,nobrace:t,nocase:s,noext:i,noglobstar:r,optimizationLevel:2,platform:o,nocomment:!0,nonegate:!0};for(let a of e)this.add(a)}add(e){let t=new Y(e,this.mmopts);for(let s=0;s<t.set.length;s++){let i=t.set[s],r=t.globParts[s];if(!i||!r)throw new Error("invalid pattern object");for(;i[0]==="."&&r[0]===".";)i.shift(),r.shift();let o=new nt(i,r,0,this.platform),a=new Y(o.globString(),this.mmopts),l=r[r.length-1]==="**",h=o.isAbsolute();h?this.absolute.push(a):this.relative.push(a),l&&(h?this.absoluteChildren.push(a):this.relativeChildren.push(a))}}ignored(e){let t=e.fullpath(),s=`${t}/`,i=e.relative()||".",r=`${i}/`;for(let o of this.relative)if(o.match(i)||o.match(r))return!0;for(let o of this.absolute)if(o.match(t)||o.match(s))return!0;return!1}childrenIgnored(e){let t=e.fullpath()+"/",s=(e.relative()||".")+"/";for(let i of this.relativeChildren)if(i.match(s))return!0;for(let i of this.absoluteChildren)if(i.match(t))return!0;return!1}};var Ci=class n{store;constructor(e=new Map){this.store=e}copy(){return new n(new Map(this.store))}hasWalked(e,t){return this.store.get(e.fullpath())?.has(t.globString())}storeWalked(e,t){let s=e.fullpath(),i=this.store.get(s);i?i.add(t.globString()):this.store.set(s,new Set([t.globString()]))}},Ei=class{store=new Map;add(e,t,s){let i=(t?2:0)|(s?1:0),r=this.store.get(e);this.store.set(e,r===void 0?i:i&r)}entries(){return[...this.store.entries()].map(([e,t])=>[e,!!(t&2),!!(t&1)])}},Oi=class{store=new Map;add(e,t){if(!e.canReaddir())return;let s=this.store.get(e);s?s.find(i=>i.globString()===t.globString())||s.push(t):this.store.set(e,[t])}get(e){let t=this.store.get(e);if(!t)throw new Error("attempting to walk unknown path");return t}entries(){return this.keys().map(e=>[e,this.store.get(e)])}keys(){return[...this.store.keys()].filter(e=>e.canReaddir())}},jt=class n{hasWalkedCache;matches=new Ei;subwalks=new Oi;patterns;follow;dot;opts;constructor(e,t){this.opts=e,this.follow=!!e.follow,this.dot=!!e.dot,this.hasWalkedCache=t?t.copy():new Ci}processPatterns(e,t){this.patterns=t;let s=t.map(i=>[e,i]);for(let[i,r]of s){this.hasWalkedCache.storeWalked(i,r);let o=r.root(),a=r.isAbsolute()&&this.opts.absolute!==!1;if(o){i=i.resolve(o==="/"&&this.opts.root!==void 0?this.opts.root:o);let f=r.rest();if(f)r=f;else{this.matches.add(i,!0,!1);continue}}if(i.isENOENT())continue;let l,h,u=!1;for(;typeof(l=r.pattern())=="string"&&(h=r.rest());)i=i.resolve(l),r=h,u=!0;if(l=r.pattern(),h=r.rest(),u){if(this.hasWalkedCache.hasWalked(i,r))continue;this.hasWalkedCache.storeWalked(i,r)}if(typeof l=="string"){let f=l===".."||l===""||l===".";this.matches.add(i.resolve(l),a,f);continue}else if(l===F){(!i.isSymbolicLink()||this.follow||r.checkFollowGlobstar())&&this.subwalks.add(i,r);let f=h?.pattern(),p=h?.rest();if(!h||(f===""||f===".")&&!p)this.matches.add(i,a,f===""||f===".");else if(f===".."){let d=i.parent||i;p?this.hasWalkedCache.hasWalked(d,p)||this.subwalks.add(d,p):this.matches.add(d,a,!0)}}else l instanceof RegExp&&this.subwalks.add(i,r)}return this}subwalkTargets(){return this.subwalks.keys()}child(){return new n(this.opts,this.hasWalkedCache)}filterEntries(e,t){let s=this.subwalks.get(e),i=this.child();for(let r of t)for(let o of s){let a=o.isAbsolute(),l=o.pattern(),h=o.rest();l===F?i.testGlobstar(r,o,h,a):l instanceof RegExp?i.testRegExp(r,l,h,a):i.testString(r,l,h,a)}return i}testGlobstar(e,t,s,i){if((this.dot||!e.name.startsWith("."))&&(t.hasMore()||this.matches.add(e,i,!1),e.canReaddir()&&(this.follow||!e.isSymbolicLink()?this.subwalks.add(e,t):e.isSymbolicLink()&&(s&&t.checkFollowGlobstar()?this.subwalks.add(e,s):t.markFollowGlobstar()&&this.subwalks.add(e,t)))),s){let r=s.pattern();if(typeof r=="string"&&r!==".."&&r!==""&&r!==".")this.testString(e,r,s.rest(),i);else if(r===".."){let o=e.parent||e;this.subwalks.add(o,s)}else r instanceof RegExp&&this.testRegExp(e,r,s.rest(),i)}}testRegExp(e,t,s,i){t.test(e.name)&&(s?this.subwalks.add(e,s):this.matches.add(e,i,!1))}testString(e,t,s,i){e.isNamed(t)&&(s?this.subwalks.add(e,s):this.matches.add(e,i,!1))}};var $c=(n,e)=>typeof n=="string"?new rt([n],e):Array.isArray(n)?new rt(n,e):n,gs=class{path;patterns;opts;seen=new Set;paused=!1;aborted=!1;#e=[];#s;#n;signal;maxDepth;includeChildMatches;constructor(e,t,s){if(this.patterns=e,this.path=t,this.opts=s,this.#n=!s.posix&&s.platform==="win32"?"\\":"/",this.includeChildMatches=s.includeChildMatches!==!1,(s.ignore||!this.includeChildMatches)&&(this.#s=$c(s.ignore??[],s),!this.includeChildMatches&&typeof this.#s.add!="function")){let i="cannot ignore child matches, ignore lacks add() method.";throw new Error(i)}this.maxDepth=s.maxDepth||1/0,s.signal&&(this.signal=s.signal,this.signal.addEventListener("abort",()=>{this.#e.length=0}))}#t(e){return this.seen.has(e)||!!this.#s?.ignored?.(e)}#o(e){return!!this.#s?.childrenIgnored?.(e)}pause(){this.paused=!0}resume(){if(this.signal?.aborted)return;this.paused=!1;let e;for(;!this.paused&&(e=this.#e.shift());)e()}onResume(e){this.signal?.aborted||(this.paused?this.#e.push(e):e())}async matchCheck(e,t){if(t&&this.opts.nodir)return;let s;if(this.opts.realpath){if(s=e.realpathCached()||await e.realpath(),!s)return;e=s}let r=e.isUnknown()||this.opts.stat?await e.lstat():e;if(this.opts.follow&&this.opts.nodir&&r?.isSymbolicLink()){let o=await r.realpath();o&&(o.isUnknown()||this.opts.stat)&&await o.lstat()}return this.matchCheckTest(r,t)}matchCheckTest(e,t){return e&&(this.maxDepth===1/0||e.depth()<=this.maxDepth)&&(!t||e.canReaddir())&&(!this.opts.nodir||!e.isDirectory())&&(!this.opts.nodir||!this.opts.follow||!e.isSymbolicLink()||!e.realpathCached()?.isDirectory())&&!this.#t(e)?e:void 0}matchCheckSync(e,t){if(t&&this.opts.nodir)return;let s;if(this.opts.realpath){if(s=e.realpathCached()||e.realpathSync(),!s)return;e=s}let r=e.isUnknown()||this.opts.stat?e.lstatSync():e;if(this.opts.follow&&this.opts.nodir&&r?.isSymbolicLink()){let o=r.realpathSync();o&&(o?.isUnknown()||this.opts.stat)&&o.lstatSync()}return this.matchCheckTest(r,t)}matchFinish(e,t){if(this.#t(e))return;if(!this.includeChildMatches&&this.#s?.add){let r=`${e.relativePosix()}/**`;this.#s.add(r)}let s=this.opts.absolute===void 0?t:this.opts.absolute;this.seen.add(e);let i=this.opts.mark&&e.isDirectory()?this.#n:"";if(this.opts.withFileTypes)this.matchEmit(e);else if(s){let r=this.opts.posix?e.fullpathPosix():e.fullpath();this.matchEmit(r+i)}else{let r=this.opts.posix?e.relativePosix():e.relative(),o=this.opts.dotRelative&&!r.startsWith(".."+this.#n)?"."+this.#n:"";this.matchEmit(r?o+r+i:"."+i)}}async match(e,t,s){let i=await this.matchCheck(e,s);i&&this.matchFinish(i,t)}matchSync(e,t,s){let i=this.matchCheckSync(e,s);i&&this.matchFinish(i,t)}walkCB(e,t,s){this.signal?.aborted&&s(),this.walkCB2(e,t,new jt(this.opts),s)}walkCB2(e,t,s,i){if(this.#o(e))return i();if(this.signal?.aborted&&i(),this.paused){this.onResume(()=>this.walkCB2(e,t,s,i));return}s.processPatterns(e,t);let r=1,o=()=>{--r===0&&i()};for(let[a,l,h]of s.matches.entries())this.#t(a)||(r++,this.match(a,l,h).then(()=>o()));for(let a of s.subwalkTargets()){if(this.maxDepth!==1/0&&a.depth()>=this.maxDepth)continue;r++;let l=a.readdirCached();a.calledReaddir()?this.walkCB3(a,l,s,o):a.readdirCB((h,u)=>this.walkCB3(a,u,s,o),!0)}o()}walkCB3(e,t,s,i){s=s.filterEntries(e,t);let r=1,o=()=>{--r===0&&i()};for(let[a,l,h]of s.matches.entries())this.#t(a)||(r++,this.match(a,l,h).then(()=>o()));for(let[a,l]of s.subwalks.entries())r++,this.walkCB2(a,l,s.child(),o);o()}walkCBSync(e,t,s){this.signal?.aborted&&s(),this.walkCB2Sync(e,t,new jt(this.opts),s)}walkCB2Sync(e,t,s,i){if(this.#o(e))return i();if(this.signal?.aborted&&i(),this.paused){this.onResume(()=>this.walkCB2Sync(e,t,s,i));return}s.processPatterns(e,t);let r=1,o=()=>{--r===0&&i()};for(let[a,l,h]of s.matches.entries())this.#t(a)||this.matchSync(a,l,h);for(let a of s.subwalkTargets()){if(this.maxDepth!==1/0&&a.depth()>=this.maxDepth)continue;r++;let l=a.readdirSync();this.walkCB3Sync(a,l,s,o)}o()}walkCB3Sync(e,t,s,i){s=s.filterEntries(e,t);let r=1,o=()=>{--r===0&&i()};for(let[a,l,h]of s.matches.entries())this.#t(a)||this.matchSync(a,l,h);for(let[a,l]of s.subwalks.entries())r++,this.walkCB2Sync(a,l,s.child(),o);o()}},Rt=class extends gs{matches=new Set;constructor(e,t,s){super(e,t,s)}matchEmit(e){this.matches.add(e)}async walk(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&await this.path.lstat(),await new Promise((e,t)=>{this.walkCB(this.path,this.patterns,()=>{this.signal?.aborted?t(this.signal.reason):e(this.matches)})}),this.matches}walkSync(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>{if(this.signal?.aborted)throw this.signal.reason}),this.matches}},Tt=class extends gs{results;constructor(e,t,s){super(e,t,s),this.results=new Ce({signal:this.signal,objectMode:!0}),this.results.on("drain",()=>this.resume()),this.results.on("resume",()=>this.resume())}matchEmit(e){this.results.write(e),this.results.flowing||this.pause()}stream(){let e=this.path;return e.isUnknown()?e.lstat().then(()=>{this.walkCB(e,this.patterns,()=>this.results.end())}):this.walkCB(e,this.patterns,()=>this.results.end()),this.results}streamSync(){return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>this.results.end()),this.results}};var _c=typeof process=="object"&&process&&typeof process.platform=="string"?process.platform:"linux",oe=class{absolute;cwd;root;dot;dotRelative;follow;ignore;magicalBraces;mark;matchBase;maxDepth;nobrace;nocase;nodir;noext;noglobstar;pattern;platform;realpath;scurry;stat;signal;windowsPathsNoEscape;withFileTypes;includeChildMatches;opts;patterns;constructor(e,t){if(!t)throw new TypeError("glob options required");if(this.withFileTypes=!!t.withFileTypes,this.signal=t.signal,this.follow=!!t.follow,this.dot=!!t.dot,this.dotRelative=!!t.dotRelative,this.nodir=!!t.nodir,this.mark=!!t.mark,t.cwd?(t.cwd instanceof URL||t.cwd.startsWith("file://"))&&(t.cwd=(0,to.fileURLToPath)(t.cwd)):this.cwd="",this.cwd=t.cwd||"",this.root=t.root,this.magicalBraces=!!t.magicalBraces,this.nobrace=!!t.nobrace,this.noext=!!t.noext,this.realpath=!!t.realpath,this.absolute=t.absolute,this.includeChildMatches=t.includeChildMatches!==!1,this.noglobstar=!!t.noglobstar,this.matchBase=!!t.matchBase,this.maxDepth=typeof t.maxDepth=="number"?t.maxDepth:1/0,this.stat=!!t.stat,this.ignore=t.ignore,this.withFileTypes&&this.absolute!==void 0)throw new Error("cannot set absolute and withFileTypes:true");if(typeof e=="string"&&(e=[e]),this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(e=e.map(l=>l.replace(/\\/g,"/"))),this.matchBase){if(t.noglobstar)throw new TypeError("base matching requires globstar");e=e.map(l=>l.includes("/")?l:`./**/${l}`)}if(this.pattern=e,this.platform=t.platform||_c,this.opts={...t,platform:this.platform},t.scurry){if(this.scurry=t.scurry,t.nocase!==void 0&&t.nocase!==t.scurry.nocase)throw new Error("nocase option contradicts provided scurry option")}else{let l=t.platform==="win32"?st:t.platform==="darwin"?Ft:t.platform?it:eo;this.scurry=new l(this.cwd,{nocase:t.nocase,fs:t.fs})}this.nocase=this.scurry.nocase;let s=this.platform==="darwin"||this.platform==="win32",i={...t,dot:this.dot,matchBase:this.matchBase,nobrace:this.nobrace,nocase:this.nocase,nocaseMagicOnly:s,nocomment:!0,noext:this.noext,nonegate:!0,optimizationLevel:2,platform:this.platform,windowsPathsNoEscape:this.windowsPathsNoEscape,debug:!!this.opts.debug},r=this.pattern.map(l=>new Y(l,i)),[o,a]=r.reduce((l,h)=>(l[0].push(...h.set),l[1].push(...h.globParts),l),[[],[]]);this.patterns=o.map((l,h)=>{let u=a[h];if(!u)throw new Error("invalid pattern object");return new nt(l,u,0,this.platform)})}async walk(){return[...await new Rt(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walk()]}walkSync(){return[...new Rt(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walkSync()]}stream(){return new Tt(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).stream()}streamSync(){return new Tt(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).streamSync()}iterateSync(){return this.streamSync()[Symbol.iterator]()}[Symbol.iterator](){return this.iterateSync()}iterate(){return this.stream()[Symbol.asyncIterator]()}[Symbol.asyncIterator](){return this.iterate()}};var ki=(n,e={})=>{Array.isArray(n)||(n=[n]);for(let t of n)if(new Y(t,e).hasMagic())return!0;return!1};function ms(n,e={}){return new oe(n,e).streamSync()}function io(n,e={}){return new oe(n,e).stream()}function no(n,e={}){return new oe(n,e).walkSync()}async function so(n,e={}){return new oe(n,e).walk()}function ys(n,e={}){return new oe(n,e).iterateSync()}function ro(n,e={}){return new oe(n,e).iterate()}var Cc=ms,Ec=Object.assign(io,{sync:ms}),Oc=ys,kc=Object.assign(ro,{sync:ys}),Ac=Object.assign(no,{stream:ms,iterate:ys}),ot=Object.assign(so,{glob:so,globSync:no,sync:Ac,globStream:io,stream:Ec,globStreamSync:ms,streamSync:Cc,globIterate:ro,iterate:kc,globIterateSync:ys,iterateSync:Oc,Glob:oe,hasMagic:ki,escape:Ke,unescape:ie});ot.glob=ot;var Fc=[{id:"ai.delve",category:"ai-slop",severity:"red",regex:/\bdelve\b/gi,suggestion:"use a specific verb: dig, explore, look at"},{id:"ai.leverage",category:"ai-slop",severity:"red",regex:/\bleverage\b/gi,suggestion:"use: use, apply, build on"},{id:"ai.tapestry",category:"ai-slop",severity:"red",regex:/\btapestry\b/gi,suggestion:"be specific about what you mean"},{id:"ai.holistic",category:"ai-slop",severity:"red",regex:/\bholistic\b/gi,suggestion:"describe the actual approach"},{id:"ai.robust",category:"ai-slop",severity:"yellow",regex:/\brobust\b/gi,suggestion:"say what actually makes it strong"},{id:"ai.pivotal",category:"ai-slop",severity:"yellow",regex:/\bpivotal\b/gi,suggestion:"say why it matters specifically"},{id:"ai.foster",category:"ai-slop",severity:"yellow",regex:/\bfoster\b/gi,suggestion:"use: build, grow, encourage, support"},{id:"ai.harness",category:"ai-slop",severity:"yellow",regex:/\bharness\b/gi,suggestion:"use: use, apply, work with"},{id:"ai.illuminate",category:"ai-slop",severity:"yellow",regex:/\billuminate\b/gi,suggestion:"use: show, explain, highlight"},{id:"ai.ever-evolving",category:"ai-slop",severity:"red",regex:/\b(?:ever[\s-]evolving|ever[\s-]changing)\b/gi,suggestion:"cut this \u2014 it says nothing"},{id:"ai.fast-paced",category:"ai-slop",severity:"red",regex:/\bfast[\s-]paced\b/gi,suggestion:"cut this \u2014 every industry says this"},{id:"ai.game-changer",category:"ai-slop",severity:"red",regex:/\bgame[\s-]changer\b/gi,suggestion:"explain what actually changed"},{id:"ai.paradigm",category:"ai-slop",severity:"red",regex:/\bparadigm\b/gi,suggestion:"describe the actual shift"},{id:"ai.synergy",category:"ai-slop",severity:"red",regex:/\bsynergy\b/gi,suggestion:"describe what works together and why"},{id:"ai.ecosystem",category:"ai-slop",severity:"yellow",regex:/\becosystem\b/gi,suggestion:"name the specific tools/partners/platforms"},{id:"ai.seamless",category:"ai-slop",severity:"yellow",regex:/\bseamless\b/gi,suggestion:"describe how it actually works"},{id:"ai.actionable",category:"ai-slop",severity:"yellow",regex:/\bactionable\b/gi,suggestion:"just give the action, don't label it"},{id:"ai.granular",category:"ai-slop",severity:"yellow",regex:/\bgranular\b/gi,suggestion:"say: specific, detailed, or name the level"},{id:"ai.impactful",category:"ai-slop",severity:"yellow",regex:/\bimpactful\b/gi,suggestion:"describe the actual impact"}],jc=[{id:"formula.firstly",category:"ai-slop",severity:"yellow",regex:/\bfirstly\b/gi,suggestion:'just start \u2014 "firstly" is filler'},{id:"formula.in-conclusion",category:"ai-slop",severity:"red",regex:/\bin conclusion\b/gi,suggestion:"just end. readers know it's the end."},{id:"formula.it-is-important",category:"ai-slop",severity:"yellow",regex:/\bit is important to note\b/gi,suggestion:"just note it. skip the preamble."},{id:"formula.at-the-end",category:"ai-slop",severity:"yellow",regex:/\bat the end of the day\b/gi,suggestion:"cut this \u2014 it means nothing"},{id:"formula.needless-to-say",category:"ai-slop",severity:"yellow",regex:/\bneedless to say\b/gi,suggestion:"if it's needless, don't say it"},{id:"formula.it-goes-without",category:"ai-slop",severity:"yellow",regex:/\bit goes without saying\b/gi,suggestion:"then don't say it"},{id:"formula.in-today",category:"ai-slop",severity:"red",regex:/\bin today'?s\b/gi,suggestion:"start with your actual point instead"},{id:"formula.lets-dive",category:"ai-slop",severity:"red",regex:/\blet'?s (?:dive|jump|dig|delve)\b/gi,suggestion:"just start. no diving needed."},{id:"formula.without-further",category:"ai-slop",severity:"red",regex:/\bwithout further ado\b/gi,suggestion:"cut this \u2014 just get to it"}],Rc=[{id:"hedge.some-might",category:"voice-drift",severity:"yellow",regex:/\bsome might say\b/gi,suggestion:"commit to the claim or drop it"},{id:"hedge.arguably",category:"voice-drift",severity:"yellow",regex:/\barguably\b/gi,suggestion:"commit. say it or don't."},{id:"hedge.worth-noting",category:"voice-drift",severity:"yellow",regex:/\bit'?s worth noting\b/gi,suggestion:"just note it directly"},{id:"hedge.to-some-extent",category:"voice-drift",severity:"yellow",regex:/\bto some extent\b/gi,suggestion:"be specific about the extent"}],Tc=[{id:"struct.antithesis",category:"structure",severity:"yellow",regex:/\bnot (?:just|only) .{3,50}, but .{3,50}/gi,suggestion:"this antithesis pattern is an AI tell \u2014 restructure"},{id:"struct.more-than-just",category:"structure",severity:"yellow",regex:/\bmore than just\b/gi,suggestion:"say what it IS, not what it isn't"},{id:"struct.in-order-to",category:"structure",severity:"yellow",regex:/\bin order to\b/gi,suggestion:'just use "to"'},{id:"struct.due-to-the-fact",category:"structure",severity:"yellow",regex:/\bdue to the fact that\b/gi,suggestion:'use "because"'},{id:"struct.for-the-purpose",category:"structure",severity:"yellow",regex:/\bfor the purpose of\b/gi,suggestion:'use "to"'},{id:"struct.which-is-another",category:"structure",severity:"red",regex:/\bwhich is another way of saying\b/gi,suggestion:"just say the thing directly"}],Pc=[...Fc,...jc,...Rc,...Tc];function oo(n,e,t){let s=[];for(let i of Pc){i.regex.lastIndex=0;let r;for(;(r=i.regex.exec(n))!==null;)s.push({file:t,line:e,column:r.index+1,pattern:i.id,category:i.category,severity:i.severity,excerpt:Mc(n.trim(),r.index,r[0].length),suggestion:i.suggestion})}return s}function Mc(n,e,t){let s=n.slice(0,e),i=n.slice(e,e+t),r=n.slice(e+t);return`${s}\xAB${i}\xBB${r}`.slice(0,120)}async function Pt(n,e=[]){let t=[];for(let o of n)if(at.existsSync(o)&&at.statSync(o).isFile())t.push(o);else{let a=await ot("**/*.md",{cwd:o,ignore:["node_modules/**",".git/**",...e],absolute:!0});t.push(...a)}let s=[...new Set(t)],i=[],r={files:0,total_lines:0,red:0,yellow:0,clean:0};for(let o of s){if(!o.endsWith(".md"))continue;let a;try{a=at.readFileSync(o,"utf-8")}catch{continue}let l=a.split(`
|
|
100
|
-
`),
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
`).
|
|
107
|
-
`)
|
|
108
|
-
|
|
109
|
-
`)
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
`),
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
`)}catch{}}var se=S(require("fs"));var Hc=[{id:"ai.delve",category:"ai-slop",severity:"red",regex:/\bdelve\b/gi,suggestion:"use a specific verb: dig, explore, look at",autoFixable:!0},{id:"ai.leverage",category:"ai-slop",severity:"red",regex:/\bleverage\b/gi,suggestion:"use: use, apply, build on",autoFixable:!0},{id:"ai.tapestry",category:"ai-slop",severity:"red",regex:/\btapestry\b/gi,suggestion:"be specific about what you mean",autoFixable:!0},{id:"ai.holistic",category:"ai-slop",severity:"red",regex:/\bholistic\b/gi,suggestion:"describe the actual approach",autoFixable:!0},{id:"ai.robust",category:"ai-slop",severity:"yellow",regex:/\brobust\b/gi,suggestion:"say what actually makes it strong",autoFixable:!0},{id:"ai.pivotal",category:"ai-slop",severity:"yellow",regex:/\bpivotal\b/gi,suggestion:"say why it matters specifically",autoFixable:!0},{id:"ai.foster",category:"ai-slop",severity:"yellow",regex:/\bfoster\b/gi,suggestion:"use: build, grow, encourage, support",autoFixable:!0},{id:"ai.harness",category:"ai-slop",severity:"yellow",regex:/\bharness\b/gi,suggestion:"use: use, apply, work with",autoFixable:!0},{id:"ai.illuminate",category:"ai-slop",severity:"yellow",regex:/\billuminate\b/gi,suggestion:"use: show, explain, highlight",autoFixable:!0},{id:"ai.ever-evolving",category:"ai-slop",severity:"red",regex:/\b(?:ever[\s-]evolving|ever[\s-]changing)\b/gi,suggestion:"cut this \u2014 it says nothing",autoFixable:!0},{id:"ai.fast-paced",category:"ai-slop",severity:"red",regex:/\bfast[\s-]paced\b/gi,suggestion:"cut this \u2014 every industry says this",autoFixable:!0},{id:"ai.game-changer",category:"ai-slop",severity:"red",regex:/\bgame[\s-]changer\b/gi,suggestion:"explain what actually changed",autoFixable:!0},{id:"ai.paradigm",category:"ai-slop",severity:"red",regex:/\bparadigm\b/gi,suggestion:"describe the actual shift",autoFixable:!0},{id:"ai.synergy",category:"ai-slop",severity:"red",regex:/\bsynergy\b/gi,suggestion:"describe what works together and why",autoFixable:!0},{id:"ai.ecosystem",category:"ai-slop",severity:"yellow",regex:/\becosystem\b/gi,suggestion:"name the specific tools/partners/platforms",autoFixable:!0},{id:"ai.seamless",category:"ai-slop",severity:"yellow",regex:/\bseamless\b/gi,suggestion:"describe how it actually works",autoFixable:!0},{id:"ai.actionable",category:"ai-slop",severity:"yellow",regex:/\bactionable\b/gi,suggestion:"just give the action, don't label it",autoFixable:!0},{id:"ai.granular",category:"ai-slop",severity:"yellow",regex:/\bgranular\b/gi,suggestion:"say: specific, detailed, or name the level",autoFixable:!0},{id:"ai.impactful",category:"ai-slop",severity:"yellow",regex:/\bimpactful\b/gi,suggestion:"describe the actual impact",autoFixable:!0},{id:"ai.transform",category:"ai-slop",severity:"yellow",regex:/\btransform\b/gi,suggestion:"describe what specifically changed",autoFixable:!1},{id:"ai.empower",category:"ai-slop",severity:"yellow",regex:/\bempower\b/gi,suggestion:"describe what people can actually do",autoFixable:!0},{id:"ai.unlock",category:"ai-slop",severity:"yellow",regex:/\bunlock\b/gi,suggestion:"describe what they get access to",autoFixable:!0},{id:"ai.nuanced",category:"ai-slop",severity:"yellow",regex:/\bnuanced\b/gi,suggestion:"explain the specific complexity",autoFixable:!0},{id:"ai.multifaceted",category:"ai-slop",severity:"red",regex:/\bmultifaceted\b/gi,suggestion:"name the specific aspects",autoFixable:!0},{id:"ai.comprehensive",category:"ai-slop",severity:"yellow",regex:/\bcomprehensive\b/gi,suggestion:"say what it covers specifically",autoFixable:!1},{id:"ai.innovative",category:"ai-slop",severity:"yellow",regex:/\binnovative\b/gi,suggestion:"describe what's actually new",autoFixable:!0},{id:"ai.cut[t]?ing-edge",category:"ai-slop",severity:"red",regex:/\bcut(?:t)?ing[\s-]edge\b/gi,suggestion:"name the specific technology",autoFixable:!0},{id:"ai.state-of-the-art",category:"ai-slop",severity:"red",regex:/\bstate[\s-]of[\s-]the[\s-]art\b/gi,suggestion:"describe what makes it current",autoFixable:!0},{id:"ai.best-practices",category:"ai-slop",severity:"yellow",regex:/\bbest[\s-]practices?\b/gi,suggestion:"name the specific practice",autoFixable:!1},{id:"ai.world-class",category:"ai-slop",severity:"red",regex:/\bworld[\s-]class\b/gi,suggestion:"prove it with specifics",autoFixable:!0},{id:"ai.second-to-none",category:"ai-slop",severity:"red",regex:/\bsecond[\s-]to[\s-]none\b/gi,suggestion:"drop the superlative, show the work",autoFixable:!0}],qc=[{id:"formula.firstly",category:"ai-slop",severity:"yellow",regex:/\bfirstly\b/gi,suggestion:'just start \u2014 "firstly" is filler',autoFixable:!0},{id:"formula.secondly",category:"ai-slop",severity:"yellow",regex:/\bsecondly\b/gi,suggestion:'just continue \u2014 "secondly" is filler',autoFixable:!0},{id:"formula.lastly",category:"ai-slop",severity:"yellow",regex:/\blastly\b/gi,suggestion:'just end \u2014 "lastly" is filler',autoFixable:!0},{id:"formula.moreover",category:"ai-slop",severity:"yellow",regex:/\bmoreover\b/gi,suggestion:"just add the point",autoFixable:!0},{id:"formula.furthermore",category:"ai-slop",severity:"yellow",regex:/\bfurthermore\b/gi,suggestion:"just add the point",autoFixable:!0},{id:"formula.in-conclusion",category:"ai-slop",severity:"red",regex:/\bin conclusion\b/gi,suggestion:"just end. readers know it's the end.",autoFixable:!0},{id:"formula.in-summary",category:"ai-slop",severity:"red",regex:/\bin summary\b/gi,suggestion:"just summarize. the label is redundant.",autoFixable:!0},{id:"formula.it-is-important",category:"ai-slop",severity:"yellow",regex:/\bit is important to note\b/gi,suggestion:"just note it. skip the preamble.",autoFixable:!0},{id:"formula.at-the-end",category:"ai-slop",severity:"yellow",regex:/\bat the end of the day\b/gi,suggestion:"cut this \u2014 it means nothing",autoFixable:!0},{id:"formula.needless-to-say",category:"ai-slop",severity:"yellow",regex:/\bneedless to say\b/gi,suggestion:"if it's needless, don't say it",autoFixable:!0},{id:"formula.it-goes-without",category:"ai-slop",severity:"yellow",regex:/\bit goes without saying\b/gi,suggestion:"then don't say it",autoFixable:!0},{id:"formula.in-today",category:"ai-slop",severity:"red",regex:/\bin today'?s\b/gi,suggestion:"start with your actual point instead",autoFixable:!0},{id:"formula.lets-dive",category:"ai-slop",severity:"red",regex:/\blet'?s (?:dive|jump|dig|delve)\b/gi,suggestion:"just start. no diving needed.",autoFixable:!0},{id:"formula.without-further",category:"ai-slop",severity:"red",regex:/\bwithout further ado\b/gi,suggestion:"cut this \u2014 just get to it",autoFixable:!0},{id:"formula.its-worth-noting",category:"ai-slop",severity:"yellow",regex:/\bit'?s worth noting\b/gi,suggestion:"just note it directly",autoFixable:!0}],Bc=[{id:"hedge.some-might",category:"voice-drift",severity:"yellow",regex:/\bsome might say\b/gi,suggestion:"commit to the claim or drop it",autoFixable:!0},{id:"hedge.arguably",category:"voice-drift",severity:"yellow",regex:/\barguably\b/gi,suggestion:"commit. say it or don't.",autoFixable:!0},{id:"hedge.worth-noting",category:"voice-drift",severity:"yellow",regex:/\bit'?s worth noting\b/gi,suggestion:"just note it directly",autoFixable:!0},{id:"hedge.to-some-extent",category:"voice-drift",severity:"yellow",regex:/\bto some extent\b/gi,suggestion:"be specific about the extent",autoFixable:!0},{id:"hedge.perhaps",category:"voice-drift",severity:"yellow",regex:/\bperhaps\b/gi,suggestion:"commit or cut",autoFixable:!0},{id:"hedge.maybe",category:"voice-drift",severity:"yellow",regex:/\bmaybe\b/gi,suggestion:"commit or cut",autoFixable:!0},{id:"hedge.possibly",category:"voice-drift",severity:"yellow",regex:/\bpossibly\b/gi,suggestion:"commit or cut",autoFixable:!1},{id:"hedge.it-seems",category:"voice-drift",severity:"yellow",regex:/\bit seems\b/gi,suggestion:"state it directly",autoFixable:!0},{id:"hedge.i-think",category:"voice-drift",severity:"yellow",regex:/\bi think\b/gi,suggestion:'just say it. the "i think" is implied.',autoFixable:!0},{id:"hedge.in-my-opinion",category:"voice-drift",severity:"yellow",regex:/\bin my opinion\b/gi,suggestion:"just state it. it's your article.",autoFixable:!0}],Uc=[{id:"struct.antithesis",category:"structure",severity:"yellow",regex:/\bnot (?:just|only) .{3,50}, but .{3,50}/gi,suggestion:"this antithesis pattern is an AI tell \u2014 restructure",autoFixable:!1},{id:"struct.not-just-but-also",category:"structure",severity:"yellow",regex:/\bnot\s+just\b.{3,80}\bbut\s+(?:also\s+)?/gi,suggestion:"say what it IS, not what it isn't",autoFixable:!1},{id:"struct.more-than-just",category:"structure",severity:"yellow",regex:/\bmore\s+than\s+just\b/gi,suggestion:"say what it IS, not what it isn't",autoFixable:!1},{id:"struct.in-order-to",category:"structure",severity:"yellow",regex:/\bin order to\b/gi,suggestion:'just use "to"',autoFixable:!0},{id:"struct.due-to-the-fact",category:"structure",severity:"yellow",regex:/\bdue to the fact that\b/gi,suggestion:'use "because"',autoFixable:!0},{id:"struct.for-the-purpose",category:"structure",severity:"yellow",regex:/\bfor the purpose of\b/gi,suggestion:'use "to"',autoFixable:!0},{id:"struct.which-is-another",category:"structure",severity:"red",regex:/\bwhich is another way of saying\b/gi,suggestion:"just say the thing directly",autoFixable:!1},{id:"struct.in-other-words",category:"structure",severity:"red",regex:/\bin other words\b/gi,suggestion:"just say it once, well",autoFixable:!1},{id:"struct.rhetorical-truth",category:"structure",severity:"yellow",regex:/\b(?:the\s+)?(?:uncomfortable|hard|harsh|brutal|ugly|unsexy|real|honest)\s+(?:truth|reality)\b/gi,suggestion:"state the fact directly, skip the framing",autoFixable:!1},{id:"struct.truth-is",category:"structure",severity:"yellow",regex:/\bthe\s+truth\s+is\b/gi,suggestion:"just say the truth. the framing is filler.",autoFixable:!1},{id:"struct.lesson-setup",category:"structure",severity:"yellow",regex:/\b(?:here'?s\s+)?what\s+.{3,80}\s+(?:taught|teaches)\s+(?:me|us|you|everyone)\b/gi,suggestion:"just share the lesson",autoFixable:!1},{id:"struct.negation-cascade",category:"structure",severity:"yellow",regex:/\b(?:no|not)\s+\w[^.!?\n]{0,80}[.!?][ \t]*\n?[ \t]*(?:no|not)\s+\w[^.!?\n]{0,80}[.!?][ \t]*\n?[ \t]*(?:no|not)\s+\w/gi,suggestion:"three negations in a row reads like AI performance",autoFixable:!1},{id:"struct.inline-triplet",category:"structure",severity:"yellow",regex:/\bit'?s\s+\w[^,.!?;\n]{0,30},\s*it'?s\s+\w[^,.!?;\n]{0,30}[,.]?\s*(?:and\s+)?it'?s\b/gi,suggestion:`the "it's X, it's Y, it's Z" pattern is an AI tell`,autoFixable:!1},{id:"struct.moment-becomes",category:"structure",severity:"red",regex:/\b(?:the\s+)?moment\b.{3,80}\bbecomes?\b/gi,suggestion:'"the moment X becomes Y" is polished founder cadence \u2014 restructure',autoFixable:!1},{id:"struct.same-better",category:"structure",severity:"red",regex:/\bsame\s+[^.!?\n]{1,35}[.!?]\s*(?:better|nicer|cleaner|calmer|safer)\s+[^.!?\n]{1,35}[.!?]?/gi,suggestion:'"same X. better Y." is screenshot-ready founder cadence',autoFixable:!1},{id:"struct.this-is-why",category:"structure",severity:"yellow",regex:/\bthis\s+is\s+(?:also\s+)?(?:why|how|where|what\b)/gi,suggestion:"signpost claims are AI tells \u2014 just make the point",autoFixable:!1},{id:"struct.heres-where",category:"structure",severity:"yellow",regex:/\b(?:here'?s|here\s+is)\s+(?:where|why|what|the\s+part|the\s+(?:harder|real|actual|main|bigger)\s+problem)\b/gi,suggestion:"just make the point without the signpost",autoFixable:!1},{id:"struct.generic-buyer",category:"structure",severity:"red",regex:/\bpeople\s+don'?t\s+just\s+buy\b|\bpeople\s+buy\s+the\s+feeling\b/gi,suggestion:"generic buyer psychology is AI filler",autoFixable:!1}],zc=[{id:"punct.em-dash",category:"ai-slop",severity:"yellow",regex:/—/g,suggestion:"em dashes are an AI tell \u2014 use a period, comma, or parentheses",autoFixable:!1}],Gc=[...Hc,...qc,...Bc,...Uc,...zc],xo={delve:"dig",leverage:"use",tapestry:"web",holistic:"complete",robust:"strong",pivotal:"key",foster:"build",harness:"use",illuminate:"show","ever-evolving":"changing",everchanging:"changing","fast-paced":"fast","game-changer":"breakthrough",paradigm:"model",synergy:"fit",ecosystem:"network",seamless:"smooth",actionable:"practical",granular:"specific",impactful:"effective",empower:"enable",unlock:"open",nuanced:"complex",multifaceted:"complex",innovative:"new","cutting-edge":"modern","state-of-the-art":"modern","world-class":"excellent","second-to-none":"best",firstly:"",secondly:"",lastly:"",moreover:"",furthermore:"",perhaps:"",arguably:""};function Jc(n){let t=n.split(/[.!?]+/).filter(o=>o.trim().length>0).map(o=>o.trim().split(/\s+/).length),s=t.length>0?t.reduce((o,a)=>o+a,0)/t.length:0,i=t.length>1?Math.sqrt(t.reduce((o,a)=>o+Math.pow(a-s,2),0)/t.length):0,r="low";return i>8?r="high":i>4&&(r="medium"),{avgWords:s,variance:r,sentences:t}}function Yc(n){let e=[],t=n.split(`
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
`),
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
`)
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
${C()} ${c.dim("reinforce")}
|
|
176
|
-
`);try{let r=await M("/cli/learning/reinforce",{original:s,edited:i});t.json?console.log(JSON.stringify({ok:!0,...r})):console.log(` ${c.green("\u2713")} learning signal sent`)}catch(r){t.json?console.log(JSON.stringify({error:r.message})):console.log(` ${c.red("\u2717")} failed: ${r.message}`),process.exit(1)}}async function Lo(n,e){if(!ke.existsSync(n)){let s={error:`File not found: ${n}`};e.json?console.log(JSON.stringify(s)):console.log(`
|
|
177
|
-
${c.red("\u2717")} ${s.error}`),process.exit(1);return}let t=ke.readFileSync(n,"utf-8");e.json||console.log(`
|
|
178
|
-
${C()} ${c.dim("add sample")}
|
|
179
|
-
`);try{let s=await M("/cli/learning/add",{text:t,profile:e.profile});e.json?console.log(JSON.stringify({ok:!0,...s})):console.log(` ${c.green("\u2713")} sample added${e.profile?` to ${c.bold(e.profile)}`:""}`)}catch(s){e.json?console.log(JSON.stringify({error:s.message})):console.log(` ${c.red("\u2717")} failed: ${s.message}`),process.exit(1)}}var Do=S(require("fs"));V();var Ti={claude:{name:"Claude / Claude Code",wrap:(n,e)=>`You are rewriting text to match a specific voice profile. Use this voice profile for all writing:
|
|
180
|
-
|
|
181
|
-
${e}
|
|
182
|
-
|
|
183
|
-
When asked to write or rewrite "in my voice", match this profile exactly. Preserve meaning. Match rhythm, vocabulary, tone, and sentence patterns. Never use words from the never-list.`},chatgpt:{name:"ChatGPT Custom Instructions",wrap:(n,e)=>`# My Voice Profile
|
|
184
|
-
|
|
185
|
-
${e}
|
|
186
|
-
|
|
187
|
-
When I ask you to "write in my voice" or "rewrite this in my voice", match this profile. Same rhythm. Same vocabulary. Same patterns. No AI-slop words.`},generic:{name:"Generic System Prompt",wrap:(n,e)=>`## Voice Profile
|
|
188
|
-
|
|
189
|
-
${e}
|
|
190
|
-
|
|
191
|
-
## Instructions
|
|
192
|
-
Rewrite text to match this voice profile. Preserve meaning. Match rhythm, vocabulary, and tone. Remove AI-slop patterns (delve, leverage, tapestry, etc.).`},cursor:{name:"Cursor Rules",wrap:(n,e)=>`# Voice Profile
|
|
193
|
-
|
|
194
|
-
${e}
|
|
195
|
-
|
|
196
|
-
## Rewrite Rules
|
|
197
|
-
- Match this voice profile for all writing
|
|
198
|
-
- Preserve meaning
|
|
199
|
-
- Remove AI-slop patterns
|
|
200
|
-
- Use the same rhythm and vocabulary`}};async function Wo(n,e){if(!Ti[n]){let r=Object.keys(Ti).join(", ");e.json?console.log(JSON.stringify({error:`Unknown format: ${n}. Valid: ${r}`})):(console.log(`
|
|
201
|
-
${c.red("\u2717")} unknown format: ${c.bold(n)}`),console.log(` ${c.dim("valid formats:")} ${r}`)),process.exit(1);return}let t;try{t=(await E("/cli/profiles")).profiles||[]}catch(r){e.json?console.log(JSON.stringify({error:r.message})):console.log(`
|
|
202
|
-
${c.red("\u2717")} failed to fetch profiles: ${r.message}`),process.exit(1);return}if(t.length===0){e.json?console.log(JSON.stringify({error:"No voice profiles found"})):(console.log(`
|
|
203
|
-
${c.red("\u2717")} no voice profiles found`),console.log(` ${c.dim("create one at")} ${c.cyan("https://holdyourvoice.com/dashboard")}`)),process.exit(1);return}let s=Ti[n],i=[];for(let r of t)try{let o=await E(`/cli/profiles/${encodeURIComponent(r.slug||r.name)}`),a=s.wrap(o.profile,o.body);if(e.output){let l=e.output.replace("{name}",r.slug||r.name);Do.writeFileSync(l,a),i.push({profile:r.name,file:l})}else i.push({profile:r.name,prompt:a})}catch{i.push({profile:r.name,error:"Failed to fetch profile body"})}if(e.json){console.log(JSON.stringify({format:n,results:i},null,2));return}console.log(`
|
|
204
|
-
${C()} ${c.dim("export")}
|
|
205
|
-
`),console.log(` ${c.bold(n.toUpperCase())} \u2014 ${s.name}
|
|
206
|
-
`);for(let r of i){if(r.error){console.log(` ${c.red("\u2717")} ${r.profile}: ${r.error}`);continue}r.file?console.log(` ${c.green("\u2713")} ${c.bold(r.profile)} \u2192 ${c.dim(r.file)}`):(console.log(` ${c.bold("\u2500\u2500 "+r.profile+" \u2500\u2500".padEnd(60,"\u2500"))}`),console.log(r.prompt),console.log(` ${"\u2500".repeat(60)}
|
|
207
|
-
`))}}V();Re();var Ch={solo:{name:"Solo",price:"$19/mo",docs:"50 docs/mo"},team:{name:"Team",price:"$59/mo",docs:"300 docs/mo"},agency:{name:"BYOK",price:"$99 once",docs:"unlimited"}};async function Vo(n){if(!xe()){n.json?console.log(JSON.stringify({error:"Not authenticated. Run: hyv init"})):console.log(`
|
|
208
|
-
${c.red("\u2717")} not authenticated. run ${c.bold("hyv init")}`),process.exit(2);return}if(n.manage){try{let t=await M("/cli/subscribe/manage"),s=t.portal_url||t.url;if(s){let i=(await Promise.resolve().then(()=>S(He()))).default;await i(s),console.log(`
|
|
209
|
-
${c.green("\u2713")} opening billing portal...`)}else console.log(`
|
|
210
|
-
${c.dim("manage billing at:")} ${c.cyan("https://holdyourvoice.com/app/billing")}`)}catch{console.log(`
|
|
211
|
-
${c.dim("manage billing at:")} ${c.cyan("https://holdyourvoice.com/app/billing")}`)}return}if(n.upgrade){try{let s=(await M("/cli/subscribe",{plan:"team"})).checkout_url;if(s){let i=(await Promise.resolve().then(()=>S(He()))).default;await i(s),console.log(`
|
|
212
|
-
${c.green("\u2713")} opening checkout...`)}else console.log(`
|
|
213
|
-
${c.dim("upgrade at:")} ${c.cyan("https://holdyourvoice.com/app/billing")}`)}catch{console.log(`
|
|
214
|
-
${c.dim("upgrade at:")} ${c.cyan("https://holdyourvoice.com/app/billing")}`)}return}try{let t=await E("/cli/heartbeat");if(n.json){console.log(JSON.stringify({plan:t.plan,status:t.status,email:t.email},null,2));return}let s=(t.plan||"none").toLowerCase(),i=Ch[s];console.log(`
|
|
215
|
-
${C()} ${c.dim("plan")}
|
|
216
|
-
`),console.log(` ${c.bold("account")} ${t.email||"\u2014"}`),i?(console.log(` ${c.bold("plan")} ${i.name} ${c.dim(i.price)}`),console.log(` ${c.bold("status")} ${t.status||"\u2014"}`),console.log(` ${c.bold("quota")} ${i.docs}`)):console.log(` ${c.bold("plan")} ${c.yellow(t.plan||"none")} (${t.status||"\u2014"})`),console.log(""),console.log(` ${c.dim("manage:")} hyv plan --manage`),console.log(` ${c.dim("upgrade:")} hyv plan --upgrade`),console.log(` ${c.dim("web:")} ${c.cyan("https://holdyourvoice.com/app/billing")}`),console.log("")}catch(t){n.json?console.log(JSON.stringify({error:t.message})):console.log(` ${c.red("\u2717")} failed: ${t.message}`),process.exit(1)}}var Ho=S(require("readline")),we=S(require("fs")),ve=S(require("path")),qo=S(require("os"));V();var Pi=ve.join(qo.homedir(),".hyv"),Bo=ve.join(Pi,"voice.md");function fe(){return Ho.createInterface({input:process.stdin,output:process.stdout})}function Ae(n,e){return new Promise(t=>{n.question(e,s=>t(s.trim()))})}async function Eh(n,e,t){console.log("");for(let s=0;s<t.length;s++)console.log(` ${c.dim(`${s+1}.`)} ${t[s]}`);for(console.log("");;){let s=await Ae(n,` ${c.bold(e)} `),i=parseInt(s,10);if(i>=1&&i<=t.length)return t[i-1];if(t.includes(s.toLowerCase()))return s.toLowerCase();console.log(` ${c.yellow("!")} enter a number (1-${t.length})`)}}async function Mi(n,e,t=!0){let s=t?"Y/n":"y/N",i=await Ae(n,` ${c.bold(e)} ${c.dim(`(${s})`)} `);return i?i.toLowerCase().startsWith("y"):t}async function Oh(n,e){return console.log(` ${c.dim(e)}`),console.log(` ${c.dim("(paste text, then press Enter twice to finish)")}`),console.log(""),new Promise(t=>{let s=[],i=0,r=o=>{if(o.trim()===""){if(i++,i>=1&&s.length>0){n.removeListener("line",r),t(s.join(`
|
|
217
|
-
`));return}}else i=0,s.push(o)};n.on("line",r)})}async function ht(){try{we.existsSync(Pi)||we.mkdirSync(Pi,{recursive:!0});let e=(await E("/cli/profiles")).profiles||[];if(e.length===0)return;let t=[`# Voice Profile
|
|
218
|
-
`];for(let s of e)t.push(`## ${s.name}${s.is_default?" (default)":""}`),s.brand&&t.push(`Brand: ${s.brand}`),s.description&&t.push(s.description),s.keywords?.length&&t.push(`Keywords: ${s.keywords.join(", ")}`),t.push("");we.writeFileSync(Bo,t.join(`
|
|
219
|
-
`))}catch{}}function Nt(n){console.log(""),console.log(` ${c.green("\u2713")} profile ${c.bold(n)} created`),console.log(` ${c.green("\u2713")} voice profile exported: ${c.dim(Bo)}`),console.log(""),console.log(` ${c.dim("next:")} hyv scan draft.md ${c.dim("\u2014 check a draft")}`),console.log(` ${c.dim(" ")}hyv rewrite draft.md ${c.dim("\u2014 generate rewrite prompt")}`),console.log(` ${c.dim(" ")}say "rewrite in my voice" in any connected agent`),console.log("")}async function $s(n,e){return await Ae(n,` ${c.bold("profile name?")} ${c.dim(`(default: ${e})`)} `)||e}var kh=[{key:"style",q:"How would you describe your writing style?",type:"text"},{key:"tone",q:"What tone do you use most?",type:"choice",options:["casual","professional","mixed","academic","conversational"]},{key:"contractions",q:"Do you use contractions? (don't, can't, it's)",type:"choice",options:["always","sometimes","never"]},{key:"sentence_length",q:"How long are your typical sentences?",type:"choice",options:["short and punchy","medium","long and flowing","mixed"]},{key:"em_dashes",q:"Do you use em dashes \u2014 like this?",type:"choice",options:["yes, often","sometimes","no"]},{key:"opening_moves",q:'How do you typically open a piece? (e.g., "with a question", "with a bold claim", "with a story")',type:"text"},{key:"never_use",q:'Words or phrases you never use? (comma-separated, or "none")',type:"text"},{key:"formality",q:"Formality level? (1 = very casual, 10 = very formal)",type:"scale"},{key:"first_person",q:"Do you write in first person? (I, me, my)",type:"choice",options:["always","sometimes","never"]},{key:"examples",q:"How do you use examples?",type:"choice",options:["lots of concrete examples","a few","rarely"]},{key:"jargon",q:"Technical jargon level?",type:"choice",options:["none \u2014 plain English","some when needed","heavy \u2014 my audience is technical"]},{key:"content_type",q:"What do you write most?",type:"choice",options:["blog posts","linkedin posts","tweets / X","newsletters","mixed"]}];async function Uo(n){let e=fe();console.log(`
|
|
220
|
-
${C()} ${c.dim("onboarding \u2014 questions")}
|
|
221
|
-
`),console.log(` ${c.dim("answer 12 quick questions to build your voice profile.")}`),console.log(` ${c.dim("takes about 2 minutes.")}
|
|
222
|
-
`);let t=await $s(e,"my-voice");console.log("");let s=[];for(let i of kh){let r;if(i.type==="choice"&&i.options)r=await Eh(e,i.q,i.options);else if(i.type==="scale")for(;;){let o=await Ae(e,` ${c.bold(i.q)} `),a=parseInt(o,10);if(a>=1&&a<=10){r=String(a);break}console.log(` ${c.yellow("!")} enter a number 1-10`)}else r=await Ae(e,` ${c.bold(i.q)} `);s.push({question:i.q,key:i.key,answer:r})}e.close(),console.log(""),console.log(` ${c.dim("creating profile...")}`);try{let i=await M("/cli/onboarding/questions",{name:t,answers:s});n.json?console.log(JSON.stringify({ok:!0,profile:i.profile?.name||t})):(await ht(),Nt(i.profile?.name||t))}catch(i){n.json?console.log(JSON.stringify({error:i.message})):console.log(`
|
|
223
|
-
${c.red("\u2717")} ${i.message}`),process.exit(1)}}async function zo(n,e){if(n.length===0){console.log(`
|
|
224
|
-
${c.red("\u2717")} no urls provided`),console.log(` ${c.dim("usage:")} hyv onboard --url https://blog.example.com`),process.exit(1);return}console.log(`
|
|
225
|
-
${C()} ${c.dim("onboarding \u2014 url scrape")}
|
|
226
|
-
`),console.log(` ${c.dim("scraping:")} ${n.map(s=>c.cyan(s)).join(`
|
|
227
|
-
`)}
|
|
228
|
-
`);let t="my-voice";if(!e.json){let s=fe();t=await $s(s,"my-voice"),s.close(),console.log(` ${c.dim(`using profile name: ${t}`)}
|
|
229
|
-
`)}try{let s=await M("/cli/onboarding/scrape",{urls:n,name:t});if(e.json){console.log(JSON.stringify({ok:!0,...s}));return}let i=s.samples_found||0,r=s.words_found||0,o=s.profile?.name||t;if(i===0){console.log(` ${c.yellow("!")} couldn't extract any content from those urls`),console.log(` ${c.dim("try:")} a blog homepage, substack, or medium profile`),console.log(` ${c.dim("or:")} use ${c.dim("hyv onboard --folder ./my-writing/")} for local files`),process.exit(1);return}console.log(` ${c.green("\u2713")} found ${c.bold(String(i))} articles, ~${c.bold(String(r))} words`),await ht(),Nt(o)}catch(s){e.json?console.log(JSON.stringify({error:s.message})):console.log(`
|
|
230
|
-
${c.red("\u2717")} ${s.message}`),process.exit(1)}}function Ah(n){return n.split(/\s+/).filter(e=>e.length>0).length}async function Go(n,e){if(!we.existsSync(n)){console.log(`
|
|
231
|
-
${c.red("\u2717")} folder not found: ${n}`),process.exit(1);return}console.log(`
|
|
232
|
-
${C()} ${c.dim("onboarding \u2014 local folder")}
|
|
233
|
-
`);let t=ve.basename(n);if(!e.json){let u=fe();t=await $s(u,t),u.close(),console.log(` ${c.dim(`using profile name: ${t}`)}
|
|
234
|
-
`)}let s=ve.resolve(n),i=["**/*.md","**/*.txt","**/*.markdown"],r=[];for(let u of i){let f=await ot(u,{cwd:s,nodir:!0,absolute:!0});r.push(...f)}if(r=[...new Set(r)],r.length===0){console.log(` ${c.red("\u2717")} no .md or .txt files found in ${n}`),console.log(` ${c.dim("supported formats:")} .md, .txt, .markdown`),process.exit(1);return}let o=[],a=0;for(let u of r)try{let f=we.readFileSync(u,"utf-8"),p=Ah(f);p>=50&&(o.push({path:u,name:ve.relative(s,u),words:p,text:f}),a+=p)}catch{}if(o.length===0){console.log(` ${c.red("\u2717")} all files are too short (need 50+ words each)`),process.exit(1);return}console.log(` ${c.bold("found")} ${c.cyan(String(o.length))} files, ~${c.cyan(String(a))} words
|
|
235
|
-
`);for(let u of o.slice(0,20))console.log(` ${c.dim(u.name)} ${c.dim(`(${u.words} words)`)}`);if(o.length>20&&console.log(` ${c.dim(`... and ${o.length-20} more`)}`),console.log(""),!e.json){let u=fe(),f=await Mi(u,"upload these files?");if(u.close(),!f){console.log(` ${c.dim("cancelled")}
|
|
236
|
-
`);return}}console.log("");let l=0,h=0;for(let u=0;u<o.length;u++){let f=o[u];try{await M("/cli/learning/add",{text:f.text.slice(0,5e3)}),l++,e.json||process.stdout.write(`\r ${c.dim("uploading:")} ${l}/${o.length}`)}catch{h++}}e.json||(process.stdout.write("\r"),console.log(` ${c.green("\u2713")} uploaded ${c.bold(String(l))} files${h>0?c.red(` (${h} failed)`):""}`),console.log(` ${c.dim("analyzing voice patterns...")}`));try{let u=await M("/cli/onboarding/analyze",{name:t}),f=u.profile?.name||t;e.json?console.log(JSON.stringify({ok:!0,uploaded:l,errors:h,profile:u.profile})):(await ht(),Nt(f))}catch(u){e.json?console.log(JSON.stringify({ok:!0,uploaded:l,errors:h,analysis_error:u.message})):(console.log(` ${c.yellow("!")} samples uploaded but analysis failed: ${u.message}`),console.log(` ${c.dim("try again:")} hyv onboard --analyze`),await ht(),console.log(""))}}var Fh=`Analyze my writing style from the samples below. Extract patterns and return your analysis in this EXACT format (use the exact labels):
|
|
237
|
-
|
|
238
|
-
STYLE: [one-line description of the writing style]
|
|
239
|
-
TONE: [casual / professional / mixed / academic / conversational]
|
|
240
|
-
FORMALITY: [number 1-10, where 1 = very casual, 10 = very formal]
|
|
241
|
-
SENTENCE_LENGTH: [short / medium / long / mixed]
|
|
242
|
-
CONTRACTIONS: [always / sometimes / never]
|
|
243
|
-
EM_DASHES: [yes / no / sometimes]
|
|
244
|
-
FIRST_PERSON: [always / sometimes / never]
|
|
245
|
-
OPENING_MOVES: [comma-separated list of how the writer opens pieces]
|
|
246
|
-
NEVER_USE: [comma-separated list of words/phrases the writer avoids, or "none"]
|
|
247
|
-
VOCABULARY: [simple / moderate / advanced]
|
|
248
|
-
HUMOR: [often / sometimes / rarely / never]
|
|
249
|
-
ARGUMENT_PATTERN: [one-line description of how the writer builds a point]
|
|
250
|
-
KEYWORDS: [comma-separated list of characteristic words or phrases]
|
|
251
|
-
|
|
252
|
-
DETAILED_NOTES:
|
|
253
|
-
[2-3 paragraphs of specific observations. Quote exact phrases from the samples. Note what makes this writer distinctive.]
|
|
24
|
+
`)+t,o=n+1,n=r.indexOf(`
|
|
25
|
+
`,o)}while(n!==-1);return s+=r.substr(o),s};un.exports={stringReplaceAll:Ur,stringEncaseCRLFWithFirstIndex:Gr}});var gn=x((us,pn)=>{"use strict";var zr=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,dn=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Yr=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Jr=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,Kr=new Map([["n",`
|
|
26
|
+
`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function mn(r){let e=r[0]==="u",t=r[1]==="{";return e&&!t&&r.length===5||r[0]==="x"&&r.length===3?String.fromCharCode(parseInt(r.slice(1),16)):e&&t?String.fromCodePoint(parseInt(r.slice(2,-1),16)):Kr.get(r)||r}function Qr(r,e){let t=[],n=e.trim().split(/\s*,\s*/g),o;for(let s of n){let i=Number(s);if(!Number.isNaN(i))t.push(i);else if(o=s.match(Yr))t.push(o[2].replace(Jr,(a,l,u)=>l?mn(l):u));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${r}')`)}return t}function Xr(r){dn.lastIndex=0;let e=[],t;for(;(t=dn.exec(r))!==null;){let n=t[1];if(t[2]){let o=Qr(n,t[2]);e.push([n].concat(o))}else e.push([n])}return e}function fn(r,e){let t={};for(let o of e)for(let s of o.styles)t[s[0]]=o.inverse?null:s.slice(1);let n=r;for(let[o,s]of Object.entries(t))if(Array.isArray(s)){if(!(o in n))throw new Error(`Unknown Chalk style: ${o}`);n=s.length>0?n[o](...s):n[o]}return n}pn.exports=(r,e)=>{let t=[],n=[],o=[];if(e.replace(zr,(s,i,a,l,u,h)=>{if(i)o.push(mn(i));else if(l){let f=o.join("");o=[],n.push(t.length===0?f:fn(r,t)(f)),t.push({inverse:a,styles:Xr(l)})}else if(u){if(t.length===0)throw new Error("Found extraneous } in Chalk template literal");n.push(fn(r,t)(o.join(""))),o=[],t.pop()}else o.push(h)}),n.push(o.join("")),t.length>0){let s=`Chalk template literal is missing ${t.length} closing bracket${t.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return n.join("")}});var N=x((hs,xn)=>{"use strict";var pe=rn(),{stdout:lt,stderr:ct}=cn(),{stringReplaceAll:Zr,stringEncaseCRLFWithFirstIndex:eo}=hn(),{isArray:ke}=Array,bn=["ansi","ansi","ansi256","ansi16m"],ie=Object.create(null),to=(r,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let t=lt?lt.level:0;r.level=e.level===void 0?t:e.level},ut=class{constructor(e){return wn(e)}},wn=r=>{let e={};return to(e,r),e.template=(...t)=>vn(e.template,...t),Object.setPrototypeOf(e,Ae.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=ut,e.template};function Ae(r){return wn(r)}for(let[r,e]of Object.entries(pe))ie[r]={get(){let t=$e(this,ht(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,r,{value:t}),t}};ie.visible={get(){let r=$e(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:r}),r}};var _n=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let r of _n)ie[r]={get(){let{level:e}=this;return function(...t){let n=ht(pe.color[bn[e]][r](...t),pe.color.close,this._styler);return $e(this,n,this._isEmpty)}}};for(let r of _n){let e="bg"+r[0].toUpperCase()+r.slice(1);ie[e]={get(){let{level:t}=this;return function(...n){let o=ht(pe.bgColor[bn[t]][r](...n),pe.bgColor.close,this._styler);return $e(this,o,this._isEmpty)}}}}var no=Object.defineProperties(()=>{},{...ie,level:{enumerable:!0,get(){return this._generator.level},set(r){this._generator.level=r}}}),ht=(r,e,t)=>{let n,o;return t===void 0?(n=r,o=e):(n=t.openAll+r,o=e+t.closeAll),{open:r,close:e,openAll:n,closeAll:o,parent:t}},$e=(r,e,t)=>{let n=(...o)=>ke(o[0])&&ke(o[0].raw)?yn(n,vn(n,...o)):yn(n,o.length===1?""+o[0]:o.join(" "));return Object.setPrototypeOf(n,no),n._generator=r,n._styler=e,n._isEmpty=t,n},yn=(r,e)=>{if(r.level<=0||!e)return r._isEmpty?"":e;let t=r._styler;if(t===void 0)return e;let{openAll:n,closeAll:o}=t;if(e.indexOf("\x1B")!==-1)for(;t!==void 0;)e=Zr(e,t.close,t.open),t=t.parent;let s=e.indexOf(`
|
|
27
|
+
`);return s!==-1&&(e=eo(e,o,n,s)),n+e+o},at,vn=(r,...e)=>{let[t]=e;if(!ke(t)||!ke(t.raw))return e.join(" ");let n=e.slice(1),o=[t.raw[0]];for(let s=1;s<t.length;s++)o.push(String(n[s-1]).replace(/[{}\\]/g,"\\$&"),String(t.raw[s]));return at===void 0&&(at=gn()),at(r,o.join(""))};Object.defineProperties(Ae.prototype,ie);var Ee=Ae();Ee.supportsColor=lt;Ee.stderr=Ae({level:ct?ct.level:0});Ee.stderr.supportsColor=ct;xn.exports=Ee});var pt=x((fs,En)=>{"use strict";var $n=require("fs"),mt;function ro(){try{return $n.statSync("/.dockerenv"),!0}catch{return!1}}function oo(){try{return $n.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}En.exports=()=>(mt===void 0&&(mt=ro()||oo()),mt)});var Tn=x((ms,gt)=>{"use strict";var so=require("os"),io=require("fs"),Pn=pt(),Rn=()=>{if(process.platform!=="linux")return!1;if(so.release().toLowerCase().includes("microsoft"))return!Pn();try{return io.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!Pn():!1}catch{return!1}};process.env.__IS_WSL_TEST__?gt.exports=Rn:gt.exports=Rn()});var Fn=x((ps,In)=>{"use strict";In.exports=(r,e,t)=>{let n=o=>Object.defineProperty(r,e,{value:o,enumerable:!0,writable:!0});return Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get(){let o=t();return n(o),o},set(o){n(o)}}),r}});var vt=x((gs,Vn)=>{var ao=require("path"),lo=require("child_process"),{promises:Fe,constants:qn}=require("fs"),Ie=Tn(),co=pt(),bt=Fn(),Hn=ao.join(__dirname,"xdg-open"),{platform:ce,arch:jn}=process,uo=()=>{try{return Fe.statSync("/run/.containerenv"),!0}catch{return!1}},yt;function ho(){return yt===void 0&&(yt=uo()||co()),yt}var fo=(()=>{let r="/mnt/",e;return async function(){if(e)return e;let t="/etc/wsl.conf",n=!1;try{await Fe.access(t,qn.F_OK),n=!0}catch{}if(!n)return r;let o=await Fe.readFile(t,{encoding:"utf8"}),s=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(o);return s?(e=s.groups.mountPoint.trim(),e=e.endsWith("/")?e:`${e}/`,e):r}})(),Mn=async(r,e)=>{let t;for(let n of r)try{return await e(n)}catch(o){t=o}throw t},He=async r=>{if(r={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...r},Array.isArray(r.app))return Mn(r.app,a=>He({...r,app:a}));let{name:e,arguments:t=[]}=r.app||{};if(t=[...t],Array.isArray(e))return Mn(e,a=>He({...r,app:{name:a,arguments:t}}));let n,o=[],s={};if(ce==="darwin")n="open",r.wait&&o.push("--wait-apps"),r.background&&o.push("--background"),r.newInstance&&o.push("--new"),e&&o.push("-a",e);else if(ce==="win32"||Ie&&!ho()&&!e){let a=await fo();n=Ie?`${a}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`:`${process.env.SYSTEMROOT}\\System32\\WindowsPowerShell\\v1.0\\powershell`,o.push("-NoProfile","-NonInteractive","\u2013ExecutionPolicy","Bypass","-EncodedCommand"),Ie||(s.windowsVerbatimArguments=!0);let l=["Start"];r.wait&&l.push("-Wait"),e?(l.push(`"\`"${e}\`""`,"-ArgumentList"),r.target&&t.unshift(r.target)):r.target&&l.push(`"${r.target}"`),t.length>0&&(t=t.map(u=>`"\`"${u}\`""`),l.push(t.join(","))),r.target=Buffer.from(l.join(" "),"utf16le").toString("base64")}else{if(e)n=e;else{let a=!__dirname||__dirname==="/",l=!1;try{await Fe.access(Hn,qn.X_OK),l=!0}catch{}n=process.versions.electron||ce==="android"||a||!l?"xdg-open":Hn}t.length>0&&o.push(...t),r.wait||(s.stdio="ignore",s.detached=!0)}r.target&&o.push(r.target),ce==="darwin"&&t.length>0&&o.push("--args",...t);let i=lo.spawn(n,o,s);return r.wait?new Promise((a,l)=>{i.once("error",l),i.once("close",u=>{if(!r.allowNonzeroExitCode&&u>0){l(new Error(`Exited with code ${u}`));return}a(i)})}):(i.unref(),i)},wt=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a `target`");return He({...e,target:r})},mo=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a `name`");let{arguments:t=[]}=e||{};if(t!=null&&!Array.isArray(t))throw new TypeError("Expected `appArguments` as Array type");return He({...e,app:{name:r,arguments:t}})};function Nn(r){if(typeof r=="string"||Array.isArray(r))return r;let{[jn]:e}=r;if(!e)throw new Error(`${jn} is not supported`);return e}function _t({[ce]:r},{wsl:e}){if(e&&Ie)return Nn(e);if(!r)throw new Error(`${ce} is not supported`);return Nn(r)}var je={};bt(je,"chrome",()=>_t({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));bt(je,"firefox",()=>_t({darwin:"firefox",win32:"C:\\Program Files\\Mozilla Firefox\\firefox.exe",linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));bt(je,"edge",()=>_t({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));wt.apps=je;wt.openApp=mo;Vn.exports=wt});var Lt=y(Dt(),1),{program:Uo,createCommand:Go,createArgument:zo,createOption:Yo,CommanderError:Jo,InvalidArgumentError:Ko,InvalidOptionArgumentError:Qo,Command:Wt,Argument:Xo,Option:Zo,Help:es}=Lt.default;var I=y(N());var C=y(require("fs")),D=y(require("path")),Cn=y(require("os")),ae=D.join(Cn.homedir(),".hyv"),Pe=D.join(ae,"auth.json"),dt=D.join(ae,"config.json"),Y=D.join(ae,"profiles"),Q=D.join(ae,"cache"),On=D.join(ae,"queue"),ge=process.env.HYV_API_URL||"https://holdyourvoice.com";function T(){let r=[ae,Y,Q,On];for(let e of r)C.existsSync(e)||C.mkdirSync(e,{recursive:!0,mode:448})}function Re(){return C.existsSync(Pe)}function Te(){try{if(!C.existsSync(Pe))return null;let r=C.readFileSync(Pe,"utf-8");return JSON.parse(r)}catch{return null}}function ft(r){T(),C.writeFileSync(Pe,JSON.stringify(r,null,2),{mode:384})}function Sn(){try{if(!C.existsSync(dt))return{};let r=C.readFileSync(dt,"utf-8");return JSON.parse(r)}catch{return{}}}function kn(r){T(),C.writeFileSync(dt,JSON.stringify(r,null,2),{mode:384})}function $(){let r=Te();return!r||r.expires_at&&new Date(r.expires_at)<new Date?null:r.token}function An(){try{return C.existsSync(Y)?C.readdirSync(Y).filter(r=>r.endsWith(".md")).map(r=>r.replace(".md","")):[]}catch{return[]}}function ye(r){let e=D.join(Y,`${r}.md`);try{return C.existsSync(e)?C.readFileSync(e,"utf-8"):null}catch{return null}}function B(r,e){T();let t=D.join(Y,`${r}.md`);C.writeFileSync(t,e,{mode:384})}function le(r){T();let e=Date.now().toString(36)+Math.random().toString(36).slice(2,8),t=D.join(On,`${e}.json`);C.writeFileSync(t,JSON.stringify(r,null,2))}var xt=y(require("http")),po=y(require("https")),Dn=y(N()),Ln=y(vt());function be(r,e={}){return new Promise((t,n)=>{let o=new URL(r),s=o.protocol==="https:",i=s?po:xt,a={hostname:o.hostname,port:o.port||(s?443:80),path:o.pathname+o.search,method:e.method||"GET",headers:{"Content-Type":"application/json","User-Agent":"hyvoice-cli/0.1.0",...e.headers},timeout:e.timeout||3e4},l=i.request(a,u=>{let h="";u.on("data",f=>h+=f),u.on("end",()=>{try{t({status:u.statusCode||0,data:JSON.parse(h)})}catch{t({status:u.statusCode||0,data:h})}})});l.on("error",n),l.on("timeout",()=>{l.destroy(),n(new Error("Request timeout"))}),e.body&&l.write(JSON.stringify(e.body)),l.end()})}async function E(r,e={}){let t=$();if(!t)throw new Error("Not authenticated. Run `hyvoice init` first.");return be(r,{...e,headers:{Authorization:`Bearer ${t}`}})}async function Wn(r){let e=await be(`${ge}/cli/auth/license`,{method:"POST",body:{license_key:r,device_name:`CLI (${process.platform})`}});if(e.status!==200){let n=e.data;throw new Error(n?.error||"Authentication failed")}let t=e.data;return ft(t),t}async function Bn(){let r=xt.createServer(),e=await new Promise(i=>{r.listen(0,"127.0.0.1",()=>{i(r.address().port)})}),t=`http://127.0.0.1:${e}/callback`,n=await be(`${ge}/cli/auth/browser`,{method:"POST",body:{redirect_uri:t}});if(n.status!==200)throw r.close(),new Error("Failed to start authentication flow");let{auth_url:o}=n.data;console.log(Dn.default.cyan(`
|
|
28
|
+
Opening browser for authentication...`)),await(0,Ln.default)(o);let s=await new Promise((i,a)=>{let l=setTimeout(()=>{r.close(),a(new Error("Authentication timeout. Please try again."))},12e4);r.on("request",async(u,h)=>{let f=new URL(u.url||"/",`http://127.0.0.1:${e}`);if(f.pathname==="/callback"){let w=f.searchParams.get("code"),R=f.searchParams.get("state");if(!w||!R){h.writeHead(400,{"Content-Type":"text/html"}),h.end("<h1>Authentication failed</h1><p>Missing code or state.</p>"),clearTimeout(l),r.close(),a(new Error("Invalid callback parameters"));return}try{let p=await be(`${ge}/cli/auth/callback`,{method:"POST",body:{code:w,state:R}});if(p.status!==200)throw new Error("Failed to complete authentication");let P=p.data;h.writeHead(200,{"Content-Type":"text/html"}),h.end(`
|
|
29
|
+
<html>
|
|
30
|
+
<body style="font-family: -apple-system, sans-serif; text-align: center; padding: 40px;">
|
|
31
|
+
<h1 style="color: #22c55e;">\u2713 Authenticated</h1>
|
|
32
|
+
<p>You can close this window and return to the terminal.</p>
|
|
33
|
+
</body>
|
|
34
|
+
</html>
|
|
35
|
+
`),clearTimeout(l),r.close(),i(P)}catch(p){h.writeHead(500,{"Content-Type":"text/html"}),h.end(`<h1>Authentication failed</h1><p>${p.message}</p>`),clearTimeout(l),r.close(),a(p)}}else h.writeHead(404),h.end()})});return ft(s),s}async function Me(){let r=$();if(!r)return{valid:!1};try{let e=await be(`${ge}/cli/heartbeat`,{method:"GET",headers:{Authorization:`Bearer ${r}`}});return e.status!==200?{valid:!1}:e.data}catch{return{valid:!1}}}function Un(r){r.command("init").description("Authenticate with Hold Your Voice").argument("[license-key]","License key (skip browser flow)").option("--no-browser","Skip browser-based authentication").action(async(e,t)=>{try{if(T(),Re()){let s=Te(),i=await Me();if(i.valid){console.log(I.default.green("\u2713 Already authenticated")),console.log(I.default.dim(` Email: ${s?.user?.email||"Unknown"}`)),console.log(I.default.dim(` Plan: ${i.plan||"Unknown"}`)),console.log("\nRun `hyvoice status` for more details.");return}else console.log(I.default.yellow(`Session expired. Re-authenticating...
|
|
36
|
+
`))}let n;e?(console.log(I.default.cyan("Authenticating with license key...")),n=await Wn(e)):t?.browser===!1?(console.log(I.default.red("License key required when --no-browser is set.")),console.log(`
|
|
37
|
+
Usage: hyvoice init <license-key>`),console.log(`
|
|
38
|
+
Generate a license key at: https://holdyourvoice.com/app/settings`),process.exit(1)):n=await Bn();let o=Sn();kn({...o,created_at:o.created_at||new Date().toISOString()}),console.log(I.default.green(`
|
|
39
|
+
\u2713 Authenticated successfully!`)),console.log(I.default.dim(` Email: ${n.user?.email||"Unknown"}`)),console.log(I.default.dim(` Plan: ${n.user?.plan||"Unknown"}`)),n.license_key&&console.log(I.default.dim(` License: ${n.license_key.slice(0,12)}...`)),console.log(`
|
|
40
|
+
Next steps:`),console.log(I.default.dim(" 1. Create a voice profile: hyvoice new <name>")),console.log(I.default.dim(" 2. Scan a draft: hyvoice scan draft.md")),console.log(I.default.dim(" 3. Rewrite with voice: hyvoice rewrite draft.md"))}catch(n){console.error(I.default.red(`
|
|
41
|
+
\u2717 Authentication failed: ${n.message}`)),process.exit(1)}})}var J=y(N());function Gn(r){r.command("status").description("show account and cli status").action(async()=>{let e=$();if(!Re()){console.log(J.default.red(`
|
|
42
|
+
error: you're not signed in yet
|
|
43
|
+
`)),console.log(J.default.dim(` run: hyv init
|
|
44
|
+
`)),process.exit(2);return}let t=await Me();t.valid?(console.log(J.default.bold(`
|
|
45
|
+
account`)),console.log(` email: ${t.user?.email||"\u2014"}`),console.log(` plan: ${t.plan||"none"}`),(!t.plan||t.plan==="none")&&console.log(J.default.dim(" subscribe: ")+J.default.cyan("hyv plan --upgrade")),console.log("")):(console.log(J.default.red(`
|
|
46
|
+
error: your session has expired
|
|
47
|
+
`)),console.log(J.default.dim(` run: hyv init
|
|
48
|
+
`)),process.exit(1))})}var S=y(N());var Ne=y(require("fs")),qe=y(require("path"));function zn(r){r.command("sync").description("Sync profiles and rules from server").option("--force","Force re-download even if cache is fresh").action(async e=>{try{$()||(console.log(S.default.yellow("Not authenticated. Run `hyvoice init` first.")),process.exit(1)),console.log(S.default.cyan("Syncing profiles and rules..."));let n=await E("https://holdyourvoice.com/cli/sync",{method:"GET"});if(n.status!==200){let u=n.data;console.error(S.default.red(`Sync failed: ${u?.error||"Unknown error"}`)),process.exit(1)}let o=n.data;T();let s=0;for(let u of o.profiles)B(u.slug||u.name,u.content),s++;let i=qe.join(Q,"rules.md");Ne.writeFileSync(i,o.rules,{mode:384});let a=qe.join(Q,"prompt-template.md");Ne.writeFileSync(a,o.prompt_template,{mode:384});let l=qe.join(Q,"sync-meta.json");if(Ne.writeFileSync(l,JSON.stringify({synced_at:o.synced_at,profile_count:s,plan:o.plan},null,2),{mode:384}),console.log(S.default.green(`
|
|
49
|
+
\u2713 Synced successfully!`)),console.log(S.default.dim(` Profiles: ${s}`)),console.log(S.default.dim(" Rules: cached")),console.log(S.default.dim(" Prompt template: cached")),console.log(S.default.dim(` Plan: ${o.plan}`)),s>0){console.log(`
|
|
50
|
+
Profiles:`);for(let u of o.profiles)console.log(S.default.dim(` \u2022 ${u.name} (${u.slug})`))}}catch(t){console.error(S.default.red(`Sync failed: ${t.message}`)),process.exit(1)}}),r.command("profiles").description("List voice profiles").action(async()=>{try{let e=An();if(console.log(S.default.bold(`
|
|
51
|
+
Voice Profiles
|
|
52
|
+
`)),e.length===0){console.log(S.default.dim("No profiles cached.")),console.log(S.default.dim("Run `hyvoice sync` to fetch profiles."));return}for(let t of e){let n=ye(t);if(n){let o=n.match(/^#\s+(.+)$/m),s=o?o[1]:t;console.log(S.default.dim(`\u2022 ${s}`))}else console.log(S.default.dim(`\u2022 ${t}`))}console.log(S.default.dim(`
|
|
53
|
+
${e.length} profile(s) cached.`))}catch(e){console.error(S.default.red(`Error: ${e.message}`)),process.exit(1)}}),r.command("pull").description("Force re-download profiles and rules").action(async()=>{await r.parseAsync(["node","hyvoice","sync","--force"])})}var F=y(N()),Z=y(require("fs")),Ct=y(require("path"));var X=y(require("fs")),Qn=y(require("path"));var go=[{id:"ai_antithesis",pattern:/\b(?:it'?s|isn'?t|is\s+not)\s+not\s+just\b.{0,80}\b(?:it'?s|but)\b/i},{id:"not_just_but",pattern:/\bnot\s+just\b.{3,80}\bbut\s+(?:also\s+)?/i},{id:"more_than_just",pattern:/\bmore\s+than\s+just\b/i},{id:"rhetorical_truth_setup",pattern:/\b(?:the\s+)?(?:uncomfortable|hard|harsh|brutal|ugly|unsexy|real|honest)\s+(?:truth|reality)\b/i},{id:"truth_is",pattern:/\bthe\s+truth\s+is\b/i},{id:"lesson_setup",pattern:/\b(?:here'?s\s+)?what\s+.{3,80}\s+(?:taught|teaches)\s+(?:me|us|you|everyone)\b/i},{id:"negation_cascade",pattern:/\b(?:no|not)\s+\w[^.!?\n]{0,80}[.!?][ \t]*\n?[ \t]*(?:no|not)\s+\w[^.!?\n]{0,80}[.!?][ \t]*\n?[ \t]*(?:no|not)\s+\w/i},{id:"formulaic_connector",pattern:/\b(?:firstly|secondly|thirdly|lastly|moreover|furthermore|in conclusion|to summarize|to sum up|in summary|it is important to note|it should be noted)\b/i},{id:"ai_words",pattern:/\b(?:delve|underscore|testament|intricate|multifaceted|cornerstone|landscape|foster|harness|leverage|tapestry|illuminate|pivotal|elevate|empower|seamlessly|revolutionize|supercharge|transformative|holistic|comprehensive|innovative|impactful|meaningful|utilize|paradigm|navigate|endeavor|realm|profound|encapsulate|synergy|robust|facilitate|bolster|streamline|differentiate|myriad|unlock|transform)\b/i},{id:"em_dash",pattern:/\u2014/},{id:"signpost_claim",pattern:/\bthis\s+is\s+(?:also\s+)?(?:why|how|where|what\b|what\s+happens\s+when)\b|\b(?:here'?s|here\s+is)\s+(?:where|why|what|the\s+part|the\s+(?:harder|real|actual|main|bigger)\s+problem)\b/i},{id:"generic_buyer_psychology",pattern:/\bpeople\s+don'?t\s+just\s+buy\b|\bpeople\s+buy\s+the\s+feeling\b/i},{id:"founder_cadence_restatement",pattern:/\bwhich\s+is\s+another\s+way\s+of\s+saying\b|\bin\s+other\s+words\b/i},{id:"founder_cadence_moment_becomes",pattern:/\b(?:the\s+)?moment\b.{3,80}\bbecomes?\b|\bbecomes?\s+(?:dangerous|useful|interesting|real|obvious)\s+the\s+moment\b/i},{id:"founder_cadence_same_better",pattern:/\bsame\s+[^.!?\n]{1,35}[.!?]\s*(?:better|nicer|cleaner|calmer|safer)\s+[^.!?\n]{1,35}[.!?]?/i}],yo=new Set(["alignment","authenticity","awareness","clarity","confidence","consistency","differentiation","execution","framework","identity","messaging","narrative","personality","positioning","preference","presence","recall","relevance","resonance","signal","strategy","trust","utility","value"]),bo=/^(?:most|many)\s+(?:brands|teams|people|founders|companies)\b/i,wo=/^(?:have you|do you|did you|what if|why do|how do)\b/i,_o=/^(?:the most important thing|the key to|success is|if you want to|what i learned)\b/i;function q(r){return(r||"").match(/[a-zA-Z][a-zA-Z0-9']*/g)||[]}function we(r){return(r||"").split(/(?<=[.!?])\s+|\n{2,}/).map(e=>e.trim()).filter(e=>q(e).length>0)}function Yn(r){return(r||"").split(/\n\s*\n/).map(e=>e.trim()).filter(e=>q(e).length>=6)}function vo(r){let e=(r||"").trim().toLowerCase();if(!e)return[];let t=[];return(e.match(/[a-z']+/g)||[]).filter(s=>yo.has(s)).length>=3&&!/\b(?:for example|for instance|such as)\b|\d/i.test(e)&&t.push({line:0,rule:"abstract_noun_cluster",phrase:r.trim().slice(0,160)}),bo.test(e)&&t.push({line:0,rule:"generic_opening_generalization",phrase:r.trim().slice(0,160)}),wo.test(e)&&t.push({line:0,rule:"voice_question_opener",phrase:"opens with a question instead of a concrete observation"}),_o.test(e)&&t.push({line:0,rule:"voice_lesson_opener",phrase:"opens with a lesson or inspirational claim"}),t}function K(r){let e=[],t=r||"";for(let s of go){let i=t.match(s.pattern);if(i)for(let a of i){let l=a.trim();if(!l)continue;let u=t.indexOf(a),h=u>=0?t.slice(0,u).split(`
|
|
54
|
+
`).length:1;e.push({line:h,rule:s.id,phrase:l.slice(0,160)})}}let n=t.split(`
|
|
55
|
+
`);for(let s=0;s<n.length;s++){let i=vo(n[s]);for(let a of i)a.line=s+1,a.text=n[s].trim().slice(0,240),e.push(a)}let o=[];for(let s=0;s<n.length;s++){let i=n[s].split(/(?<=[.!?])\s+/);for(let a of i){let l=q(a).length;l>0&&o.push({line:s+1,text:a.trim(),wordCount:l})}}for(let s=0;s<o.length-2;s++){let i=o.slice(s,s+3);if(i.every(a=>a.wordCount<=5)){e.push({line:i[0].line,rule:"voice_staccato_triplet",phrase:"three short sentences in a row reads like performance",text:i[0].text});break}}return e.sort((s,i)=>s.line!==i.line?s.line-i.line:s.rule.localeCompare(i.rule))}function Jn(r,e){if(!e.length)return`${r}: no deterministic AI-pattern issues found`;let t=[`${r}: ${e.length} issue(s)`];for(let n of e)t.push(`- line ${n.line}: ${n.rule} - ${n.phrase}`);return t.join(`
|
|
56
|
+
`)}function Kn(r,e){return{path:r,issue_count:e.length,issues:e}}function xo(){let r=Qn.join(Q,"prompt-template.md");try{if(X.existsSync(r))return X.readFileSync(r,"utf-8")}catch{}return`Rewrite only the flagged lines. Do not rewrite the whole piece.
|
|
57
|
+
|
|
58
|
+
Return only valid JSON in this exact shape:
|
|
59
|
+
{{"replacements":[{{"line":1,"text":"replacement line"}}]}}
|
|
60
|
+
|
|
61
|
+
Rules:
|
|
62
|
+
- Include only flagged line numbers.
|
|
63
|
+
- Preserve unflagged lines exactly by not returning them.
|
|
64
|
+
- Preserve the original argument and local meaning.
|
|
65
|
+
- Use the voice profile as the benchmark when present.
|
|
66
|
+
- Remove AI cadence, polished founder cadence, abstract strategy-deck language, and generic lesson shapes.
|
|
67
|
+
- Do not add new sections, hooks, CTAs, markdown, bullets, or commentary.
|
|
68
|
+
|
|
69
|
+
Voice profile:
|
|
70
|
+
{profile_block}
|
|
71
|
+
|
|
72
|
+
Extra constraints:
|
|
73
|
+
{constraints_block}
|
|
74
|
+
|
|
75
|
+
Flagged lines:
|
|
76
|
+
{issue_lines}
|
|
77
|
+
|
|
78
|
+
Draft with line numbers ({draft_name}):
|
|
79
|
+
{numbered_draft}
|
|
80
|
+
`}function Co(r){if(r){let e=ye(r);if(e)return{content:e,name:r}}try{if(!X.existsSync(Y))return null;let e=X.readdirSync(Y).filter(t=>t.endsWith(".md"));if(e.length>0){let t=e[0].replace(".md",""),n=ye(t);if(n)return{content:n,name:t}}}catch{}return null}function Xn(r){let{draftPath:e,draftContent:t,profileName:n,constraints:o="",skipScan:s=!1}=r,i=s?[]:K(t),a=i.length>0?i.map(p=>`- line ${p.line} [${p.rule}]: ${p.phrase}`).join(`
|
|
81
|
+
`):"- none found by deterministic scan",l=Co(n),u=l?l.content:"(no voice profile supplied \u2014 use generic voice rules)",f=t.split(`
|
|
82
|
+
`).map((p,P)=>`${P+1}: ${p}`).join(`
|
|
83
|
+
`);return{prompt:xo().replace("{profile_block}",u).replace("{constraints_block}",o||"(none)").replace("{issue_lines}",a).replace("{draft_name}",e).replace("{numbered_draft}",f),profileUsed:l?.name||null,issuesFound:i.length}}function Zn(r){r.command("rewrite").description("Generate rewrite prompt for LLM").argument("<file>","File to rewrite (or - for stdin)").option("--profile <name>","Voice profile to use").option("--format <type>","Content format (linkedin, blog, email)").option("--constraints <text>","Additional constraints").option("--no-scan","Skip local scan").option("--output <file>","Write prompt to file instead of stdout").action(async(e,t)=>{try{let n,o;e==="-"?(o="stdin",n=Z.readFileSync(0,"utf-8")):(o=Ct.resolve(e),Z.existsSync(o)||(console.error(F.default.red(`File not found: ${o}`)),process.exit(1)),n=Z.readFileSync(o,"utf-8"));let s=Xn({draftPath:o,draftContent:n,profileName:t.profile,format:t.format,constraints:t.constraints,skipScan:t.scan===!1});if(console.log(F.default.dim(`
|
|
84
|
+
Draft: ${o}`)),console.log(F.default.dim(`Profile: ${s.profileUsed||"none (using generic rules)"}`)),console.log(F.default.dim(`Issues found: ${s.issuesFound}`)),s.issuesFound===0){console.log(F.default.green(`
|
|
85
|
+
\u2713 No issues found. Draft looks clean!`));return}console.log(F.default.bold(`
|
|
86
|
+
Issues:`));let i=K(n);for(let a of i.slice(0,10))console.log(F.default.yellow(` Line ${a.line}: [${a.rule}] ${a.phrase}`));if(i.length>10&&console.log(F.default.dim(` ... and ${i.length-10} more`)),t.output){let a=Ct.resolve(t.output);Z.writeFileSync(a,s.prompt),console.log(F.default.green(`
|
|
87
|
+
\u2713 Prompt written to ${a}`))}else console.log(F.default.bold(`
|
|
88
|
+
--- Rewrite Prompt ---
|
|
89
|
+
`)),console.log(s.prompt),console.log(F.default.dim(`
|
|
90
|
+
--- End Prompt ---
|
|
91
|
+
`)),console.log(F.default.dim("Copy this prompt and paste it into your LLM.")),console.log(F.default.dim("Or pipe directly: hyvoice rewrite draft.md | pbcopy"))}catch(n){console.error(F.default.red(`Error: ${n.message}`)),process.exit(1)}})}var k=y(N()),ue=y(require("fs")),Ot=y(require("path"));function Oo(r,e){return r.trim()!==e.trim()}function er(r,e,t,n){let o=t.split(`
|
|
92
|
+
`),s=n.split(`
|
|
93
|
+
`),i=K(t),a=new Set(i.map(g=>g.line)),l={};for(let g of i)l[g.line]||(l[g.line]=[]),l[g.line].push(g.rule);let u={},h={},f={},w=Math.min(o.length,s.length),R=0;for(let g=0;g<w;g++){let U=g+1,_e=Oo(o[g],s[g]),ve=l[U]||[];if(_e){if(R++,ve.length>0)for(let G of ve)u[G]=(u[G]||0)+1;else if(!a.has(U)){let G=o[g].trim();G.length>40&&(f[U]=G.slice(0,240))}}else if(ve.length>0)for(let G of ve)h[G]=(h[G]||0)+1}let p=R>Math.max(1,w*.8),P=q(n),ne=we(n).map(g=>q(g).length).filter(g=>g>0),Ve=ne.length>0?Math.round(ne.reduce((g,U)=>g+U,0)/ne.length*10)/10:0,L=[],v=new Set;for(let g of Object.keys(f).map(Number).sort()){let U=f[g],_e=U.toLowerCase().trim().slice(0,60);if(!v.has(_e)&&(v.add(_e),L.push({line:g,original_text:U}),L.length>=10))break}return{signal_version:"hold-your-voice-signal-v1",session:{original_path:r,accepted_path:e,full_rewrite:p},patterns_accepted:u,patterns_overridden:h,new_removals:L,session_stats:{original_words:q(t).length,accepted_words:P.length,accepted_avg_sentence:Ve,accepted_sentence_count:ne.length}}}function tr(r){let e=[],t=Object.values(r.patterns_accepted).reduce((o,s)=>o+s,0),n=Object.values(r.patterns_overridden).reduce((o,s)=>o+s,0);if(t>0&&e.push(`${t} pattern(s) accepted (fixes applied)`),n>0&&e.push(`${n} pattern(s) overridden (user kept original)`),r.new_removals.length>0&&e.push(`${r.new_removals.length} potential new pattern(s) detected`),t===0&&n===0&&r.new_removals.length===0&&e.push("No significant changes detected"),Object.keys(r.patterns_accepted).length>0){e.push(""),e.push("Accepted patterns:");for(let[o,s]of Object.entries(r.patterns_accepted))e.push(` \u2022 ${o}: ${s} fix(es)`)}if(Object.keys(r.patterns_overridden).length>0){e.push(""),e.push("Overridden patterns (user kept original):");for(let[o,s]of Object.entries(r.patterns_overridden))e.push(` \u2022 ${o}: ${s} time(s)`)}return e.join(`
|
|
94
|
+
`)}function nr(r){r.command("reinforce").description("Send learning signals from edited draft").argument("<original>","Original file").argument("<edited>","Edited file").option("--profile <name>","Voice profile").option("--no-send","Queue signal without sending to server").action(async(e,t,n)=>{try{let o=Ot.resolve(e),s=Ot.resolve(t);ue.existsSync(o)||(console.error(k.default.red(`Original file not found: ${o}`)),process.exit(1)),ue.existsSync(s)||(console.error(k.default.red(`Edited file not found: ${s}`)),process.exit(1));let i=ue.readFileSync(o,"utf-8"),a=ue.readFileSync(s,"utf-8"),l=er(o,s,i,a);if(console.log(k.default.bold(`
|
|
95
|
+
Learning Signal Report
|
|
96
|
+
`)),console.log(tr(l)),n.send===!1)le({type:"reinforce",profile:n.profile,report:l,timestamp:new Date().toISOString()}),console.log(k.default.yellow(`
|
|
97
|
+
Signal queued for later sync.`));else{if(!$()){console.log(k.default.yellow(`
|
|
98
|
+
Not authenticated. Queuing signal for later sync.`)),le({type:"reinforce",profile:n.profile,report:l,timestamp:new Date().toISOString()});return}console.log(k.default.cyan(`
|
|
99
|
+
Sending to server...`)),(await E("https://holdyourvoice.com/cli/learning/reinforce",{method:"POST",body:{profile_id:n.profile,original_text:i,accepted_text:a,signal_report:l}})).status===200?console.log(k.default.green("\u2713 Signal sent successfully")):(console.log(k.default.yellow("Failed to send. Queuing for later sync.")),le({type:"reinforce",profile:n.profile,report:l,timestamp:new Date().toISOString()}))}}catch(o){console.error(k.default.red(`Error: ${o.message}`)),process.exit(1)}}),r.command("add").description("Add a voice instruction").argument("<instruction>","Natural language instruction").option("--profile <name>","Voice profile").action(async(e,t)=>{try{if(!$()){console.log(k.default.yellow("Not authenticated. Queuing instruction for later sync.")),le({type:"add_instruction",profile:t.profile,instruction:e,timestamp:new Date().toISOString()}),console.log(k.default.dim(`Instruction: "${e}"`));return}console.log(k.default.cyan("Adding instruction..."));let o=await E("https://holdyourvoice.com/cli/learning/add",{method:"POST",body:{profile_id:t.profile,instruction:e}});if(o.status===200){let s=o.data;console.log(k.default.green(`
|
|
100
|
+
\u2713 Instruction added`)),console.log(k.default.dim(` "${e}"`)),console.log(k.default.dim(` Confidence: ${s.confidence||.7}`))}else console.log(k.default.yellow("Failed to add. Queuing for later sync.")),le({type:"add_instruction",profile:t.profile,instruction:e,timestamp:new Date().toISOString()})}catch(n){console.error(k.default.red(`Error: ${n.message}`)),process.exit(1)}})}var m=y(N()),he=y(require("fs")),de=y(require("path"));var So=[{key:"tone",question:"How would you describe your tone? (e.g., casual, professional, witty, direct)"},{key:"audience",question:"Who is your audience? (e.g., founders, developers, marketers)"},{key:"personality",question:"If your brand was a person, how would they talk?"},{key:"avoid",question:"What words or phrases do you never use?"},{key:"inspiration",question:"Who writes like you? Any writers you admire?"},{key:"goal",question:"What should reading your content feel like?"},{key:"format",question:"What formats do you write in? (e.g., LinkedIn posts, emails, blog posts)"}],ko={tech:[{key:"technical_depth",question:"How technical do you get? (high-level concepts vs deep code)"},{key:"jargon",question:"Do you use technical jargon or explain everything?"},{key:"opinionated",question:"Do you take strong positions on tools/frameworks?"}],marketing:[{key:"pitch_style",question:"How do you pitch? (soft sell, hard sell, story-based)"},{key:"data_driven",question:"Do you lean on data or emotion?"},{key:"cta_style",question:"How do you end posts? (CTA style)"}],default:[{key:"formality",question:"How formal is your writing?"},{key:"storytelling",question:"Do you use stories/examples often?"},{key:"length",question:"Do you prefer short punchy content or longer pieces?"}]};function Ao(r){let e=r.map(v=>v.text).join(`
|
|
101
|
+
|
|
102
|
+
`),t=q(e),n=we(e),o=Yn(e),s=n.map(v=>q(v).length),i=s.length>0?Math.round(s.reduce((v,g)=>v+g,0)/s.length):0,a=o.map(v=>we(v).length),l=a.length>0?Math.round(a.reduce((v,g)=>v+g,0)/a.length):0,u=i,h=s.length>2?Math.sqrt(s.reduce((v,g)=>v+Math.pow(g-u,2),0)/s.length)/u:0,f=h<.35?"low":h>.85?"high":"medium",w=n.map(v=>{let g=v.trim().match(/[A-Za-z]/);return g?g[0]:""}).filter(Boolean),p=w.filter(v=>v===v.toLowerCase()).length/w.length>.85?"mostly lowercase":"standard",P=n.filter(v=>v.trim().endsWith("?")).length/n.length,te=(e.match(/\b(?:i|we|my|our|me|us)\b/gi)||[]).length,ne=(e.match(/\b(?:but|actually|instead|not|wrong|real|because)\b/gi)||[]).length,Ve=(e.match(/\b\d+(?:\.\d+)?%?\b/g)||[]).length,L="mixed";return P>.18?L="question-led":Ve>=Math.max(4,n.length/10)?L="data-led":te>=Math.max(6,n.length/4)?L="narrative":ne>=Math.max(8,n.length/3)&&(L="contrarian"),{word_count:t.length,sentence_count:n.length,paragraph_count:o.length,avg_sentence_length:i,avg_paragraph_length:l,sentence_variance:f,case_style:p,argument_pattern:L,sample_count:r.length}}function or(r){r.command("new").description("Create a new voice profile").argument("<name>","Profile name").option("--from-samples <dir>","Create from writing samples").option("--from-url <urls>","Scrape blog/URL for writing samples (comma-separated)").option("--from-llm","Generate extraction prompt for LLM").action(async(e,t)=>{try{let n=$();t.fromSamples?await Eo(e,t.fromSamples,n):t.fromUrl?await Po(e,t.fromUrl,n):t.fromLlm?await Ro(e):await $o(e,n)}catch(n){console.error(m.default.red(`
|
|
103
|
+
error: ${n.message}`)),process.exit(1)}})}async function $o(r,e){console.log(m.default.bold(`
|
|
104
|
+
Creating voice profile: ${r}
|
|
105
|
+
`)),console.log(m.default.dim(`Answer these questions to define your voice.
|
|
106
|
+
`));let t={};for(let o of So){let s=await rr(o.question);t[o.key]=s}let n=t.format?.toLowerCase().includes("code")||t.audience?.toLowerCase().includes("developer")?"tech":t.format?.toLowerCase().includes("market")||t.audience?.toLowerCase().includes("market")?"marketing":"default";console.log(m.default.dim(`
|
|
107
|
+
Industry: ${n}
|
|
108
|
+
`));for(let o of ko[n]){let s=await rr(o.question);t[o.key]=s}if(e){console.log(m.default.cyan(`
|
|
109
|
+
Generating profile on server...`));let o=await E("https://holdyourvoice.com/cli/profiles/new",{method:"POST",body:{name:r,answers:t,industry:n}});if(o.status===200){let i=o.data.content||St(r,t);T(),B(r,i),console.log(m.default.green(`
|
|
110
|
+
\u2713 Profile created: ${r}`)),console.log(m.default.dim("Run `hyvoice profiles` to see your profiles."))}else{console.log(m.default.yellow(`
|
|
111
|
+
Server unavailable. Creating local profile...`));let s=St(r,t);T(),B(r,s),console.log(m.default.green(`
|
|
112
|
+
\u2713 Local profile created: ${r}`))}}else{console.log(m.default.yellow(`
|
|
113
|
+
Not authenticated. Creating local profile...`));let o=St(r,t);T(),B(r,o),console.log(m.default.green(`
|
|
114
|
+
\u2713 Local profile created: ${r}`))}}async function Eo(r,e,t){let n=de.resolve(e);if(!he.existsSync(n))throw new Error(`Directory not found: ${n}`);console.log(m.default.bold(`
|
|
115
|
+
Creating voice profile: ${r}`)),console.log(m.default.dim(`Reading samples from: ${n}
|
|
116
|
+
`));let o=he.readdirSync(n).filter(a=>a.endsWith(".md")||a.endsWith(".txt")).map(a=>de.join(n,a));if(o.length===0)throw new Error("No .md or .txt files found in directory");let s=[];for(let a of o){let l=he.readFileSync(a,"utf-8");l.trim().length>0&&(s.push({path:a,text:l}),console.log(m.default.dim(` \u2022 ${de.basename(a)} (${q(l).length} words)`)))}if(s.length===0)throw new Error("No readable text found in files");let i=Ao(s);if(console.log(m.default.dim(`
|
|
117
|
+
Stats extracted:`)),console.log(m.default.dim(` Words: ${i.word_count}`)),console.log(m.default.dim(` Sentences: ${i.sentence_count}`)),console.log(m.default.dim(` Avg sentence: ${i.avg_sentence_length} words`)),console.log(m.default.dim(` Case style: ${i.case_style}`)),console.log(m.default.dim(` Argument pattern: ${i.argument_pattern}`)),t){console.log(m.default.cyan(`
|
|
118
|
+
Generating profile on server...`));let a=await E("https://holdyourvoice.com/cli/profiles/new",{method:"POST",body:{name:r,samples:s.map(l=>({path:l.path,text:l.text.slice(0,4e3)})),stats:i}});if(a.status===200){let l=a.data;T(),B(r,l.content||kt(r,i)),console.log(m.default.green(`
|
|
119
|
+
\u2713 Profile created: ${r}`))}else console.log(m.default.yellow(`
|
|
120
|
+
Server unavailable. Creating local profile...`)),T(),B(r,kt(r,i)),console.log(m.default.green(`
|
|
121
|
+
\u2713 Local profile created: ${r}`))}else console.log(m.default.yellow(`
|
|
122
|
+
Not authenticated. Creating local profile...`)),T(),B(r,kt(r,i)),console.log(m.default.green(`
|
|
123
|
+
\u2713 local profile created: ${r}`));await sr(t)}async function Po(r,e,t){let n=e.split(",").map(o=>o.trim()).filter(Boolean);if(console.log(m.default.bold(`
|
|
124
|
+
creating voice profile: ${r}`)),console.log(m.default.dim(`scraping: ${n.join(", ")}
|
|
125
|
+
`)),t){console.log(m.default.cyan("scraping urls on server..."));let o=await E("https://holdyourvoice.com/cli/onboarding/scrape",{method:"POST",body:{name:r,urls:n}});if(o.status===200){let s=o.data,i=s.samples_found||0,a=s.words_found||0;if(i===0){console.log(m.default.yellow(`
|
|
126
|
+
couldn't extract any content from those urls`)),console.log(m.default.dim("try: a blog homepage, substack, or medium profile")),console.log(m.default.dim("or: hyv new <name> --from-samples ./my-writing/"));return}console.log(m.default.green(`
|
|
127
|
+
\u2713 found ${i} articles, ~${a} words`)),console.log(m.default.green(`\u2713 profile created: ${r}`))}else console.log(m.default.red(`
|
|
128
|
+
error: server returned ${o.status}`))}else console.log(m.default.yellow(`
|
|
129
|
+
not authenticated. url scraping requires a server connection.`)),console.log(m.default.dim("run: hyv init"));await sr(t)}async function sr(r){if(r){try{let e=await E("https://holdyourvoice.com/cli/heartbeat",{method:"GET"});if(e.status===200){let t=e.data,n=(t.plan||"none").toLowerCase(),o=t.status||"none";n==="none"||o==="none"?(console.log(""),console.log(m.default.bold("last step \u2014 unlock everything for just $1:")),console.log(""),console.log(m.default.cyan(" hyv plan --upgrade")),console.log(""),console.log(m.default.dim("first month is $1, then $9/month. cancel anytime."))):(console.log(""),console.log(m.default.bold("you're all set! try it out:")),console.log(""),console.log(m.default.cyan(" hyv scan draft.md")+m.default.dim(" \u2014 check a draft")),console.log(m.default.cyan(" hyv rewrite draft.md")+m.default.dim(" \u2014 get rewrite prompt")),console.log(m.default.dim(' or say "rewrite in my voice" in any connected agent')))}}catch{}console.log("")}}async function Ro(r){console.log(m.default.bold(`
|
|
130
|
+
Generating extraction prompt for: ${r}
|
|
131
|
+
`));let e=`I need you to analyze writing samples and create a voice profile.
|
|
132
|
+
|
|
133
|
+
Please provide:
|
|
134
|
+
1. 8-10 voice keywords with descriptions
|
|
135
|
+
2. Writing signature (sentence length, rhythm, opening moves)
|
|
136
|
+
3. 3 anchor passages that capture the voice
|
|
137
|
+
4. Never list (phrases to avoid)
|
|
138
|
+
5. Voice rules
|
|
139
|
+
|
|
140
|
+
Save the output as a markdown file, then run:
|
|
141
|
+
hyvoice import ${r} <file.md>
|
|
142
|
+
|
|
143
|
+
Or paste the profile content and I'll save it.`;console.log(e)}function rr(r){return new Promise(e=>{let n=require("readline").createInterface({input:process.stdin,output:process.stdout});n.question(m.default.cyan(` ${r}
|
|
144
|
+
> `),o=>{n.close(),e(o.trim())})})}function St(r,e){return`# Voice Profile: ${r}
|
|
145
|
+
|
|
146
|
+
## Tone & Style
|
|
147
|
+
- **Tone:** ${e.tone||"Not specified"}
|
|
148
|
+
- **Audience:** ${e.audience||"General"}
|
|
149
|
+
- **Personality:** ${e.personality||"Direct and clear"}
|
|
150
|
+
|
|
151
|
+
## Keywords
|
|
152
|
+
- ${e.tone||"direct"}
|
|
153
|
+
- ${e.audience?`for ${e.audience}`:"clear"}
|
|
154
|
+
- ${e.goal||"engaging"}
|
|
155
|
+
|
|
156
|
+
## Never List
|
|
157
|
+
${e.avoid?e.avoid.split(",").map(t=>`- ${t.trim()}`).join(`
|
|
158
|
+
`):`- here's the thing
|
|
159
|
+
- let's be honest
|
|
160
|
+
- at the end of the day`}
|
|
161
|
+
|
|
162
|
+
## Format Preferences
|
|
163
|
+
- **Formats:** ${e.format||"General"}
|
|
164
|
+
- **Inspiration:** ${e.inspiration||"None specified"}
|
|
165
|
+
|
|
166
|
+
## Voice Rules
|
|
167
|
+
1. Open from concrete observations
|
|
168
|
+
2. Keep natural rhythm
|
|
169
|
+
3. Avoid AI-pattern language
|
|
170
|
+
4. Be specific, not abstract
|
|
254
171
|
|
|
255
172
|
---
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
`))}catch{}}async function Li(n,e){if(!n||n.trim()===""){e.json?console.log(JSON.stringify({error:"No name provided"})):(console.log(`
|
|
280
|
-
${c.red("\u2717")} no name provided`),console.log(` ${c.dim("usage:")} hyv rename <new-name>`),console.log(` ${c.dim(' hyv rename "my brand voice"')}
|
|
281
|
-
`)),process.exit(1);return}let t=n.trim();if(t.length>100){e.json?console.log(JSON.stringify({error:"Name too long (max 100 characters)"})):console.log(`
|
|
282
|
-
${c.red("\u2717")} name too long (max 100 characters)
|
|
283
|
-
`),process.exit(1);return}let s;try{s=(await E("/cli/profiles")).profiles||[]}catch(r){e.json?console.log(JSON.stringify({error:r.message})):console.log(`
|
|
284
|
-
${c.red("\u2717")} ${r.message}
|
|
285
|
-
`),process.exit(1);return}if(s.length===0){e.json?console.log(JSON.stringify({error:"No voice profiles found"})):(console.log(`
|
|
286
|
-
${c.red("\u2717")} no voice profiles found`),console.log(` ${c.dim("create one:")} hyv onboard
|
|
287
|
-
`)),process.exit(1);return}let i;if(e.profile)i=e.profile;else if(s.length===1)i=s[0].slug||s[0].id;else{let r=s.find(o=>o.is_default);if(r)i=r.slug||r.id;else{e.json?console.log(JSON.stringify({error:"Multiple profiles found. Specify which one with: hyv rename <name> --profile <profile-slug>"})):(console.log(`
|
|
288
|
-
${c.red("\u2717")} multiple profiles found. specify which one:`),console.log(` ${c.dim("usage:")} hyv rename "${t}" --profile <profile-slug>`),console.log(` ${c.dim("available:")} ${s.map(o=>o.slug||o.name).join(", ")}
|
|
289
|
-
`)),process.exit(1);return}}try{let r=await M("/cli/profiles/rename",{slug_or_id:i,new_name:t});e.json?console.log(JSON.stringify({ok:!0,profile:r.profile})):(await Th(),console.log(`
|
|
290
|
-
${C()} ${c.dim("rename")}
|
|
291
|
-
`),console.log(` ${c.green("\u2713")} profile renamed to ${c.bold(r.profile?.name||t)}`),console.log(` ${c.green("\u2713")} voice.md updated
|
|
292
|
-
`))}catch(r){e.json?console.log(JSON.stringify({error:r.message})):console.log(`
|
|
293
|
-
${c.red("\u2717")} ${r.message}
|
|
294
|
-
`),process.exit(1)}}function Ph(n){let e=n.toLowerCase().trim(),t=n.trim(),s=[/rename\s+(?:my\s+)?(?:voice\s+)?profile\s+(?:to|as)\s+(.+)/i,/update\s+(?:my\s+)?(?:voice\s+)?profile\s+(?:name\s+)?(?:to|as)\s+(.+)/i,/change\s+(?:my\s+)?(?:voice\s+)?profile\s+(?:name\s+)?(?:to|as)\s+(.+)/i,/call\s+(?:my\s+)?(?:voice\s+)?profile\s+(.+)/i,/set\s+(?:my\s+)?(?:voice\s+)?profile\s+(?:name\s+)?(?:to|as)\s+(.+)/i,/name\s+(?:my\s+)?(?:voice\s+)?profile\s+(.+)/i,/(?:voice\s+)?profile\s+(?:rename|name)\s+(?:to|as)\s+(.+)/i,/rename\s+(?:to|as)\s+(.+)/i,/update\s+(?:voice\s+)?profile\s+(?:name\s+)?(?:to|as)\s+(.+)/i];for(let i of s){let r=t.match(i);if(r&&r[1]){let o=r[1].trim();if((o.startsWith('"')&&o.endsWith('"')||o.startsWith("'")&&o.endsWith("'"))&&(o=o.slice(1,-1)),o=o.replace(/[.!?]+$/,"").trim(),o.length>0&&o.length<=100)return{action:"rename",name:o,raw:t}}}return{action:"unknown",raw:t}}async function Xo(n,e){if(!n||n.trim()===""){e.json?console.log(JSON.stringify({error:"No input provided"})):(console.log(`
|
|
295
|
-
${c.red("\u2717")} no input provided`),console.log(` ${c.dim("usage:")} hyv say "rename my profile to cristiano ronaldo"`),console.log(` ${c.dim(' hyv say "update my voice profile name to brand voice"')}
|
|
296
|
-
`)),process.exit(1);return}let t=Ph(n);if(e.json){console.log(JSON.stringify({intent:t})),t.action==="unknown"&&process.exit(1);return}switch(t.action){case"rename":t.name&&await Li(t.name,{json:e.json});break;case"unknown":default:console.log(`
|
|
297
|
-
${c.yellow("!")} I didn't understand that command`),console.log(` ${c.dim("try:")} hyv say "rename my profile to <name>"`),console.log(` ${c.dim("or:")} hyv rename <new-name>`),console.log(` ${c.dim("or:")} hyv --help
|
|
298
|
-
`),process.exit(1);break}}var ft=S(require("fs")),Wi=S(require("path")),Cs=S(require("os"));var Zo=Wi.join(Cs.homedir(),".hyv","voice.md");function Di(n,e){return JSON.stringify({jsonrpc:"2.0",id:n,result:e})}function Mh(n,e,t){return JSON.stringify({jsonrpc:"2.0",id:n,error:{code:e,message:t}})}function _s(n){process.stdout.write(n+`
|
|
299
|
-
`)}async function Ih(n){let e=n.text||"",t=n.profile||ct()||"default";if(!e.trim())return"Error: no text provided";try{let s=await lt(t),i=De(e,s),r=bs(i),o=e;if(r.autoFixes.length>0&&(o=ws(e,r.issues).fixed),r.llmFixes.length>0){let a=xs(s,o,r,i,1);return`Auto-fixed ${r.autoFixes.length} issues. ${r.llmFixes.length} issues need LLM rewrite.
|
|
173
|
+
*Created via hyvoice onboarding*
|
|
174
|
+
`}function kt(r,e){return`# Voice Profile: ${r}
|
|
175
|
+
|
|
176
|
+
## Voice Stats
|
|
177
|
+
- **Word count analyzed:** ${e.word_count}
|
|
178
|
+
- **Sentence count:** ${e.sentence_count}
|
|
179
|
+
- **Average sentence length:** ${e.avg_sentence_length} words
|
|
180
|
+
- **Sentence variance:** ${e.sentence_variance}
|
|
181
|
+
- **Case style:** ${e.case_style}
|
|
182
|
+
- **Argument pattern:** ${e.argument_pattern}
|
|
183
|
+
|
|
184
|
+
## Signature
|
|
185
|
+
- Sentences average ${e.avg_sentence_length} words
|
|
186
|
+
- ${e.sentence_variance} variance in sentence length
|
|
187
|
+
- ${e.avg_paragraph_length} sentences per paragraph
|
|
188
|
+
- ${e.case_style} casing
|
|
189
|
+
- ${e.argument_pattern} argument structure
|
|
190
|
+
|
|
191
|
+
## Voice Rules
|
|
192
|
+
1. Match the sentence rhythm (${e.avg_sentence_length} words avg)
|
|
193
|
+
2. Maintain ${e.sentence_variance} variance
|
|
194
|
+
3. Use ${e.argument_pattern} argument pattern
|
|
195
|
+
4. ${e.case_style==="mostly lowercase"?"Use lowercase for casual tone":"Use standard sentence case"}
|
|
300
196
|
|
|
301
|
-
|
|
302
|
-
${
|
|
303
|
-
`
|
|
304
|
-
${
|
|
305
|
-
|
|
306
|
-
`)
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
`):
|
|
311
|
-
`)
|
|
312
|
-
|
|
313
|
-
`)
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
`),console.log("
|
|
317
|
-
`)
|
|
318
|
-
|
|
319
|
-
`)
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
197
|
+
---
|
|
198
|
+
*Created from ${e.sample_count} sample(s) via hyvoice*
|
|
199
|
+
`}var b=y(N());var At=y(vt());function ir(r){r.command("plan").description("Manage subscription").option("--upgrade","Upgrade plan").option("--manage","Open billing portal").option("--downgrade","Downgrade plan").action(async e=>{try{$()||(console.log(b.default.yellow("Not authenticated. Run `hyvoice init` first.")),process.exit(1)),e.upgrade?await Io():e.manage?await Fo():e.downgrade?await Ho():await To()}catch(t){console.error(b.default.red(`
|
|
200
|
+
Error: ${t.message}`)),process.exit(1)}})}async function To(){console.log(b.default.bold(`
|
|
201
|
+
Subscription Plan
|
|
202
|
+
`));let r=await E("https://holdyourvoice.com/cli/heartbeat",{method:"GET"});if(r.status!==200){console.log(b.default.yellow("Could not fetch plan info."));return}let e=r.data,t=e.plan||"none",n=e.license,o={none:"No Plan",individual:"Individual",team:"Team",agency:"Agency"},s={none:"-",individual:"$9/mo",team:"$29/mo",agency:"Custom"};console.log(b.default.dim("Plan:"),b.default.bold(o[t]||t)),console.log(b.default.dim("Price:"),s[t]||"-"),console.log(b.default.dim("Status:"),e.subscription_status||"none"),n&&console.log(b.default.dim("License:"),n.key_hint),t==="none"?(console.log(`
|
|
203
|
+
You don't have an active subscription.`),console.log(b.default.dim("Run `hyvoice plan --upgrade` to subscribe."))):(console.log(`
|
|
204
|
+
Manage your subscription:`),console.log(b.default.dim(" hyvoice plan --manage")))}async function Io(){console.log(b.default.cyan(`
|
|
205
|
+
Opening checkout...
|
|
206
|
+
`));let r=await E("https://holdyourvoice.com/cli/subscribe",{method:"POST",body:{plan:"individual"}});if(r.status===200){let t=r.data.checkout_url;t?(console.log(b.default.dim("Opening browser...")),await(0,At.default)(t),console.log(b.default.green(`
|
|
207
|
+
\u2713 Checkout opened in browser`)),console.log(b.default.dim("Complete the checkout to activate your plan."))):console.log(b.default.yellow("No checkout URL received."))}else console.log(b.default.yellow("Could not create checkout session.")),console.log(b.default.dim("Visit https://holdyourvoice.com/pricing to subscribe."))}async function Fo(){console.log(b.default.cyan(`
|
|
208
|
+
Opening billing portal...
|
|
209
|
+
`));let r=await E("https://holdyourvoice.com/cli/subscribe/manage",{method:"POST"});if(r.status===200){let t=r.data.portal_url;t?(console.log(b.default.dim("Opening browser...")),await(0,At.default)(t),console.log(b.default.green(`
|
|
210
|
+
\u2713 Billing portal opened`))):console.log(b.default.yellow("No portal URL received."))}else console.log(b.default.yellow("Could not open billing portal.")),console.log(b.default.dim("Visit https://holdyourvoice.com/app/settings to manage billing."))}async function Ho(){console.log(b.default.yellow(`
|
|
211
|
+
Downgrade Plan
|
|
212
|
+
`)),console.log("To downgrade your plan, please visit:"),console.log(b.default.dim(" https://holdyourvoice.com/app/settings")),console.log(`
|
|
213
|
+
Or contact support at shashank@holdyourvoice.com`)}var V=y(N()),ee=y(require("fs")),ar=y(require("path"));function lr(r){r.command("scan").description("Scan text for voice issues").argument("<file>","File to scan (or - for stdin)").option("--format <type>","Output format (text or json)","text").option("--fail-on-hit","Exit with code 2 if issues found").option("--ignore <rules>","Comma-separated rules to ignore").action(async(e,t)=>{try{let n,o;if(e==="-")o="stdin",process.stdin.isTTY&&(console.error(V.default.red("No input provided. Pipe content or specify a file.")),console.log(V.default.dim('Example: echo "text" | hyvoice scan -')),console.log(V.default.dim("Example: hyvoice scan draft.md")),process.exit(1)),n=ee.readFileSync(0,"utf-8");else{o=ar.resolve(e),ee.existsSync(o)||(console.error(V.default.red(`File not found: ${o}`)),console.log(V.default.dim("Check the file path and try again.")),process.exit(1));let a=ee.statSync(o);a.isDirectory()&&(console.error(V.default.red(`${o} is a directory, not a file.`)),console.log(V.default.dim("Specify a file: hyvoice scan draft.md")),process.exit(1)),a.size>5e5&&console.warn(V.default.yellow(`Warning: Large file (${Math.round(a.size/1024)}KB). Scanning may be slow.`)),n=ee.readFileSync(o,"utf-8")}n.trim()||(console.warn(V.default.yellow("File is empty or contains only whitespace.")),process.exit(0));let s=t.ignore?new Set(t.ignore.split(",").map(a=>a.trim())):new Set,i=K(n);s.size>0&&(i=i.filter(a=>!s.has(a.rule))),t.format==="json"?console.log(JSON.stringify(Kn(o,i),null,2)):console.log(Jn(o,i)),t.failOnHit&&i.length>0&&process.exit(2)}catch(n){console.error(V.default.red(`Error: ${n.message}`)),process.exit(1)}})}var A=y(N());function cr(r){r.command("rename").description("rename a voice profile").argument("<new-name>","new name for the profile").option("-p, --profile <slug>","specific profile to rename").action(async(e,t)=>{try{let n=e.trim();if(!n){console.log(A.default.red(`
|
|
214
|
+
error: what do you want to name your profile?
|
|
215
|
+
`)),console.log(A.default.dim(` example: hyv rename "my brand voice"
|
|
216
|
+
`)),process.exit(1);return}if(n.length>100){console.log(A.default.red(`
|
|
217
|
+
error: name is too long \u2014 keep it under 100 characters
|
|
218
|
+
`)),process.exit(1);return}if(!$()){console.log(A.default.red(`
|
|
219
|
+
error: you're not signed in yet
|
|
220
|
+
`)),console.log(A.default.dim(` run: hyv init
|
|
221
|
+
`)),process.exit(1);return}let s=await E("https://holdyourvoice.com/cli/profiles/rename",{method:"POST",body:{slug_or_id:t.profile||"default",new_name:n}});if(s.status===200){let i=s.data;console.log(A.default.green(`
|
|
222
|
+
\u2713 profile renamed to ${i.profile?.name||n}
|
|
223
|
+
`))}else console.log(A.default.red(`
|
|
224
|
+
error: server returned ${s.status}
|
|
225
|
+
`))}catch(n){console.error(A.default.red(`
|
|
226
|
+
error: ${n.message}
|
|
227
|
+
`)),process.exit(1)}})}function ur(r){r.command("say").description('natural language commands (e.g., "rename my profile to X")').argument("<input>","natural language command").action(async e=>{let t=e.trim();if(!t){console.log(A.default.red(`
|
|
228
|
+
error: no input provided
|
|
229
|
+
`)),console.log(A.default.dim(` try: hyv say "rename my profile to <name>"
|
|
230
|
+
`)),process.exit(1);return}let n=jo(t);switch(n.action){case"rename":if(n.name){if(!$()){console.log(A.default.red(`
|
|
231
|
+
error: you're not signed in yet
|
|
232
|
+
`)),console.log(A.default.dim(` run: hyv init
|
|
233
|
+
`)),process.exit(1);return}let s=await E("https://holdyourvoice.com/cli/profiles/rename",{method:"POST",body:{slug_or_id:"default",new_name:n.name}});if(s.status===200){let i=s.data;console.log(A.default.green(`
|
|
234
|
+
\u2713 profile renamed to ${i.profile?.name||n.name}
|
|
235
|
+
`))}else console.log(A.default.red(`
|
|
236
|
+
error: server returned ${s.status}
|
|
237
|
+
`))}break;case"unknown":default:console.log(A.default.yellow(`
|
|
238
|
+
! i didn't catch that
|
|
239
|
+
`)),console.log(A.default.dim(' try: hyv say "rename my profile to <name>"')),console.log(A.default.dim(` or: hyv rename <new-name>
|
|
240
|
+
`)),process.exit(1);break}})}function jo(r){let e=r.trim(),t=[/rename\s+(?:my\s+)?(?:voice\s+)?profile\s+(?:to|as)\s+(.+)/i,/update\s+(?:my\s+)?(?:voice\s+)?profile\s+(?:name\s+)?(?:to|as)\s+(.+)/i,/change\s+(?:my\s+)?(?:voice\s+)?profile\s+(?:name\s+)?(?:to|as)\s+(.+)/i,/call\s+(?:my\s+)?(?:voice\s+)?profile\s+(.+)/i,/set\s+(?:my\s+)?(?:voice\s+)?profile\s+(?:name\s+)?(?:to|as)\s+(.+)/i,/name\s+(?:my\s+)?(?:voice\s+)?profile\s+(.+)/i,/(?:voice\s+)?profile\s+(?:rename|name)\s+(?:to|as)\s+(.+)/i,/rename\s+(?:to|as)\s+(.+)/i,/update\s+(?:voice\s+)?profile\s+(?:name\s+)?(?:to|as)\s+(.+)/i];for(let n of t){let o=e.match(n);if(o&&o[1]){let s=o[1].trim();if((s.startsWith('"')&&s.endsWith('"')||s.startsWith("'")&&s.endsWith("'"))&&(s=s.slice(1,-1)),s=s.replace(/[.!?]+$/,"").trim(),s.length>0&&s.length<=100)return{action:"rename",name:s,raw:e}}}return{action:"unknown",raw:e}}var $t="0.7.3",hr="@holdyourvoice/hyv";(async()=>{try{let r=Number(process.env._HYV_UPDATE_CHECK||"0"),e=Date.now();if(e-r<864e5)return;process.env._HYV_UPDATE_CHECK=String(e);let t=await fetch(`https://registry.npmjs.org/${hr}/latest`,{signal:AbortSignal.timeout(3e3)});if(!t.ok)return;let n=await t.json();n.version&&n.version!==$t&&(console.log(`
|
|
241
|
+
${c.yellow("\u2B06")} update available: ${c.dim($t)} \u2192 ${c.green(n.version)}`),console.log(` ${c.dim("run:")} npm i -g ${hr}
|
|
242
|
+
`))}catch{}})();var H=new Wt;H.name("hyv").description("hold your voice \u2014 voice gate layer for ai workflows").version($t);Un(H);Gn(H);zn(H);Zn(H);nr(H);or(H);ir(H);lr(H);cr(H);ur(H);H.parse();process.argv.slice(2).length||H.outputHelp();
|