@spree/cli 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +117 -117
- package/package.json +18 -19
package/dist/index.js
CHANGED
|
@@ -1,105 +1,105 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __createRequire } from "node:module";
|
|
3
3
|
const require = __createRequire(import.meta.url);
|
|
4
|
-
var
|
|
5
|
-
`)}displayWidth(t){return
|
|
4
|
+
var eh=Object.create;var Fo=Object.defineProperty;var th=Object.getOwnPropertyDescriptor;var rh=Object.getOwnPropertyNames;var ih=Object.getPrototypeOf,nh=Object.prototype.hasOwnProperty;var se=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var q=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var sh=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of rh(t))!nh.call(e,n)&&n!==r&&Fo(e,n,{get:()=>t[n],enumerable:!(i=th(t,n))||i.enumerable});return e};var B=(e,t,r)=>(r=e!=null?eh(ih(e)):{},sh(t||!e||!e.__esModule?Fo(r,"default",{value:e,enumerable:!0}):r,e));var Dt=q(on=>{"use strict";var gr=class extends Error{constructor(t,r,i){super(i),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=r,this.exitCode=t,this.nestedError=void 0}},sn=class extends gr{constructor(t){super(1,"commander.invalidArgument",t),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};on.CommanderError=gr;on.InvalidArgumentError=sn});var _r=q(cn=>{"use strict";var{InvalidArgumentError:oh}=Dt(),an=class{constructor(t,r){switch(this.description=r||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,t[0]){case"<":this.required=!0,this._name=t.slice(1,-1);break;case"[":this.required=!1,this._name=t.slice(1,-1);break;default:this.required=!0,this._name=t;break}this._name.endsWith("...")&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(t,r){return r===this.defaultValue||!Array.isArray(r)?[t]:(r.push(t),r)}default(t,r){return this.defaultValue=t,this.defaultValueDescription=r,this}argParser(t){return this.parseArg=t,this}choices(t){return this.argChoices=t.slice(),this.parseArg=(r,i)=>{if(!this.argChoices.includes(r))throw new oh(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._collectValue(r,i):r},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function ah(e){let t=e.name()+(e.variadic===!0?"...":"");return e.required?"<"+t+">":"["+t+"]"}cn.Argument=an;cn.humanReadableArgName=ah});var un=q(dn=>{"use strict";var{humanReadableArgName:ch}=_r(),pn=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(t){this.helpWidth=this.helpWidth??t.helpWidth??80}visibleCommands(t){let r=t.commands.filter(n=>!n._hidden),i=t._getHelpCommand();return i&&!i._hidden&&r.push(i),this.sortSubcommands&&r.sort((n,s)=>n.name().localeCompare(s.name())),r}compareOptions(t,r){let i=n=>n.short?n.short.replace(/^-/,""):n.long.replace(/^--/,"");return i(t).localeCompare(i(r))}visibleOptions(t){let r=t.options.filter(n=>!n.hidden),i=t._getHelpOption();if(i&&!i.hidden){let n=i.short&&t._findOption(i.short),s=i.long&&t._findOption(i.long);!n&&!s?r.push(i):i.long&&!s?r.push(t.createOption(i.long,i.description)):i.short&&!n&&r.push(t.createOption(i.short,i.description))}return this.sortOptions&&r.sort(this.compareOptions),r}visibleGlobalOptions(t){if(!this.showGlobalOptions)return[];let r=[];for(let i=t.parent;i;i=i.parent){let n=i.options.filter(s=>!s.hidden);r.push(...n)}return this.sortOptions&&r.sort(this.compareOptions),r}visibleArguments(t){return t._argsDescription&&t.registeredArguments.forEach(r=>{r.description=r.description||t._argsDescription[r.name()]||""}),t.registeredArguments.find(r=>r.description)?t.registeredArguments:[]}subcommandTerm(t){let r=t.registeredArguments.map(i=>ch(i)).join(" ");return t._name+(t._aliases[0]?"|"+t._aliases[0]:"")+(t.options.length?" [options]":"")+(r?" "+r:"")}optionTerm(t){return t.flags}argumentTerm(t){return t.name()}longestSubcommandTermLength(t,r){return r.visibleCommands(t).reduce((i,n)=>Math.max(i,this.displayWidth(r.styleSubcommandTerm(r.subcommandTerm(n)))),0)}longestOptionTermLength(t,r){return r.visibleOptions(t).reduce((i,n)=>Math.max(i,this.displayWidth(r.styleOptionTerm(r.optionTerm(n)))),0)}longestGlobalOptionTermLength(t,r){return r.visibleGlobalOptions(t).reduce((i,n)=>Math.max(i,this.displayWidth(r.styleOptionTerm(r.optionTerm(n)))),0)}longestArgumentTermLength(t,r){return r.visibleArguments(t).reduce((i,n)=>Math.max(i,this.displayWidth(r.styleArgumentTerm(r.argumentTerm(n)))),0)}commandUsage(t){let r=t._name;t._aliases[0]&&(r=r+"|"+t._aliases[0]);let i="";for(let n=t.parent;n;n=n.parent)i=n.name()+" "+i;return i+r+" "+t.usage()}commandDescription(t){return t.description()}subcommandDescription(t){return t.summary()||t.description()}optionDescription(t){let r=[];if(t.argChoices&&r.push(`choices: ${t.argChoices.map(i=>JSON.stringify(i)).join(", ")}`),t.defaultValue!==void 0&&(t.required||t.optional||t.isBoolean()&&typeof t.defaultValue=="boolean")&&r.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`),t.presetArg!==void 0&&t.optional&&r.push(`preset: ${JSON.stringify(t.presetArg)}`),t.envVar!==void 0&&r.push(`env: ${t.envVar}`),r.length>0){let i=`(${r.join(", ")})`;return t.description?`${t.description} ${i}`:i}return t.description}argumentDescription(t){let r=[];if(t.argChoices&&r.push(`choices: ${t.argChoices.map(i=>JSON.stringify(i)).join(", ")}`),t.defaultValue!==void 0&&r.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`),r.length>0){let i=`(${r.join(", ")})`;return t.description?`${t.description} ${i}`:i}return t.description}formatItemList(t,r,i){return r.length===0?[]:[i.styleTitle(t),...r,""]}groupItems(t,r,i){let n=new Map;return t.forEach(s=>{let o=i(s);n.has(o)||n.set(o,[])}),r.forEach(s=>{let o=i(s);n.has(o)||n.set(o,[]),n.get(o).push(s)}),n}formatHelp(t,r){let i=r.padWidth(t,r),n=r.helpWidth??80;function s(u,l){return r.formatItem(u,i,l,r)}let o=[`${r.styleTitle("Usage:")} ${r.styleUsage(r.commandUsage(t))}`,""],a=r.commandDescription(t);a.length>0&&(o=o.concat([r.boxWrap(r.styleCommandDescription(a),n),""]));let c=r.visibleArguments(t).map(u=>s(r.styleArgumentTerm(r.argumentTerm(u)),r.styleArgumentDescription(r.argumentDescription(u))));if(o=o.concat(this.formatItemList("Arguments:",c,r)),this.groupItems(t.options,r.visibleOptions(t),u=>u.helpGroupHeading??"Options:").forEach((u,l)=>{let m=u.map(h=>s(r.styleOptionTerm(r.optionTerm(h)),r.styleOptionDescription(r.optionDescription(h))));o=o.concat(this.formatItemList(l,m,r))}),r.showGlobalOptions){let u=r.visibleGlobalOptions(t).map(l=>s(r.styleOptionTerm(r.optionTerm(l)),r.styleOptionDescription(r.optionDescription(l))));o=o.concat(this.formatItemList("Global Options:",u,r))}return this.groupItems(t.commands,r.visibleCommands(t),u=>u.helpGroup()||"Commands:").forEach((u,l)=>{let m=u.map(h=>s(r.styleSubcommandTerm(r.subcommandTerm(h)),r.styleSubcommandDescription(r.subcommandDescription(h))));o=o.concat(this.formatItemList(l,m,r))}),o.join(`
|
|
5
|
+
`)}displayWidth(t){return Uo(t).length}styleTitle(t){return t}styleUsage(t){return t.split(" ").map(r=>r==="[options]"?this.styleOptionText(r):r==="[command]"?this.styleSubcommandText(r):r[0]==="["||r[0]==="<"?this.styleArgumentText(r):this.styleCommandText(r)).join(" ")}styleCommandDescription(t){return this.styleDescriptionText(t)}styleOptionDescription(t){return this.styleDescriptionText(t)}styleSubcommandDescription(t){return this.styleDescriptionText(t)}styleArgumentDescription(t){return this.styleDescriptionText(t)}styleDescriptionText(t){return t}styleOptionTerm(t){return this.styleOptionText(t)}styleSubcommandTerm(t){return t.split(" ").map(r=>r==="[options]"?this.styleOptionText(r):r[0]==="["||r[0]==="<"?this.styleArgumentText(r):this.styleSubcommandText(r)).join(" ")}styleArgumentTerm(t){return this.styleArgumentText(t)}styleOptionText(t){return t}styleArgumentText(t){return t}styleSubcommandText(t){return t}styleCommandText(t){return t}padWidth(t,r){return Math.max(r.longestOptionTermLength(t,r),r.longestGlobalOptionTermLength(t,r),r.longestSubcommandTermLength(t,r),r.longestArgumentTermLength(t,r))}preformatted(t){return/\n[^\S\r\n]/.test(t)}formatItem(t,r,i,n){let o=" ".repeat(2);if(!i)return o+t;let a=t.padEnd(r+t.length-n.displayWidth(t)),c=2,p=(this.helpWidth??80)-r-c-2,u;return p<this.minWidthToWrap||n.preformatted(i)?u=i:u=n.boxWrap(i,p).replace(/\n/g,`
|
|
6
6
|
`+" ".repeat(r+c)),o+a+" ".repeat(c)+u.replace(/\n/g,`
|
|
7
7
|
${o}`)}boxWrap(t,r){if(r<this.minWidthToWrap)return t;let i=t.split(/\r\n|\n/),n=/[\s]*[^\s]+/g,s=[];return i.forEach(o=>{let a=o.match(n);if(a===null){s.push("");return}let c=[a.shift()],d=this.displayWidth(c[0]);a.forEach(p=>{let u=this.displayWidth(p);if(d+u<=r){c.push(p),d+=u;return}s.push(c.join(""));let l=p.trimStart();c=[l],d=this.displayWidth(l)}),s.push(c.join(""))}),s.join(`
|
|
8
|
-
`)}};function
|
|
8
|
+
`)}};function Uo(e){let t=/\x1b\[\d*(;\d*)*m/g;return e.replace(t,"")}dn.Help=pn;dn.stripColor=Uo});var yn=q(hn=>{"use strict";var{InvalidArgumentError:ph}=Dt(),ln=class{constructor(t,r){this.flags=t,this.description=r||"",this.required=t.includes("<"),this.optional=t.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(t),this.mandatory=!1;let i=dh(t);this.short=i.shortFlag,this.long=i.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,this.helpGroupHeading=void 0}default(t,r){return this.defaultValue=t,this.defaultValueDescription=r,this}preset(t){return this.presetArg=t,this}conflicts(t){return this.conflictsWith=this.conflictsWith.concat(t),this}implies(t){let r=t;return typeof t=="string"&&(r={[t]:!0}),this.implied=Object.assign(this.implied||{},r),this}env(t){return this.envVar=t,this}argParser(t){return this.parseArg=t,this}makeOptionMandatory(t=!0){return this.mandatory=!!t,this}hideHelp(t=!0){return this.hidden=!!t,this}_collectValue(t,r){return r===this.defaultValue||!Array.isArray(r)?[t]:(r.push(t),r)}choices(t){return this.argChoices=t.slice(),this.parseArg=(r,i)=>{if(!this.argChoices.includes(r))throw new ph(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._collectValue(r,i):r},this}name(){return this.long?this.long.replace(/^--/,""):this.short.replace(/^-/,"")}attributeName(){return this.negate?Bo(this.name().replace(/^no-/,"")):Bo(this.name())}helpGroup(t){return this.helpGroupHeading=t,this}is(t){return this.short===t||this.long===t}isBoolean(){return!this.required&&!this.optional&&!this.negate}},mn=class{constructor(t){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,t.forEach(r=>{r.negate?this.negativeOptions.set(r.attributeName(),r):this.positiveOptions.set(r.attributeName(),r)}),this.negativeOptions.forEach((r,i)=>{this.positiveOptions.has(i)&&this.dualOptions.add(i)})}valueFromOption(t,r){let i=r.attributeName();if(!this.dualOptions.has(i))return!0;let n=this.negativeOptions.get(i).presetArg,s=n!==void 0?n:!1;return r.negate===(s===t)}};function Bo(e){return e.split("-").reduce((t,r)=>t+r[0].toUpperCase()+r.slice(1))}function dh(e){let t,r,i=/^-[^-]$/,n=/^--[^-]/,s=e.split(/[ |,]+/).concat("guard");if(i.test(s[0])&&(t=s.shift()),n.test(s[0])&&(r=s.shift()),!t&&i.test(s[0])&&(t=s.shift()),!t&&n.test(s[0])&&(t=r,r=s.shift()),s[0].startsWith("-")){let o=s[0],a=`option creation failed due to '${o}' in option flags '${e}'`;throw/^-[^-][^-]/.test(o)?new Error(`${a}
|
|
9
9
|
- a short flag is a single dash and a single character
|
|
10
10
|
- either use a single dash and a single character (for a short flag)
|
|
11
11
|
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`):i.test(o)?new Error(`${a}
|
|
12
12
|
- too many short flags`):n.test(o)?new Error(`${a}
|
|
13
13
|
- too many long flags`):new Error(`${a}
|
|
14
|
-
- unrecognised flag format`)}if(t===void 0&&r===void 0)throw new Error(`option creation failed due to no flags found in '${e}'.`);return{shortFlag:t,longFlag:r}}hn.Option=ln;hn.DualOptions=mn});var
|
|
14
|
+
- unrecognised flag format`)}if(t===void 0&&r===void 0)throw new Error(`option creation failed due to no flags found in '${e}'.`);return{shortFlag:t,longFlag:r}}hn.Option=ln;hn.DualOptions=mn});var Go=q(No=>{"use strict";function uh(e,t){if(Math.abs(e.length-t.length)>3)return Math.max(e.length,t.length);let r=[];for(let i=0;i<=e.length;i++)r[i]=[i];for(let i=0;i<=t.length;i++)r[0][i]=i;for(let i=1;i<=t.length;i++)for(let n=1;n<=e.length;n++){let s=1;e[n-1]===t[i-1]?s=0:s=1,r[n][i]=Math.min(r[n-1][i]+1,r[n][i-1]+1,r[n-1][i-1]+s),n>1&&i>1&&e[n-1]===t[i-2]&&e[n-2]===t[i-1]&&(r[n][i]=Math.min(r[n][i],r[n-2][i-2]+1))}return r[e.length][t.length]}function lh(e,t){if(!t||t.length===0)return"";t=Array.from(new Set(t));let r=e.startsWith("--");r&&(e=e.slice(2),t=t.map(o=>o.slice(2)));let i=[],n=3,s=.4;return t.forEach(o=>{if(o.length<=1)return;let a=uh(e,o),c=Math.max(e.length,o.length);(c-a)/c>s&&(a<n?(n=a,i=[o]):a===n&&i.push(o))}),i.sort((o,a)=>o.localeCompare(a)),r&&(i=i.map(o=>`--${o}`)),i.length>1?`
|
|
15
15
|
(Did you mean one of ${i.join(", ")}?)`:i.length===1?`
|
|
16
|
-
(Did you mean ${i[0]}?)`:""}
|
|
17
|
-
- specify the name in Command constructor or using .name()`);return r=r||{},r.isDefault&&(this._defaultCommandName=t._name),(r.noHelp||r.hidden)&&(t._hidden=!0),this._registerCommand(t),t.parent=this,t._checkForBrokenPassThrough(),this}createArgument(t,r){return new
|
|
18
|
-
Expecting one of '${i.join("', '")}'`);return this._lifeCycleHooks[t]?this._lifeCycleHooks[t].push(r):this._lifeCycleHooks[t]=[r],this}exitOverride(t){return t?this._exitCallback=t:this._exitCallback=r=>{if(r.code!=="commander.executeSubCommandAsync")throw r},this}_exit(t,r,i){this._exitCallback&&this._exitCallback(new gn(t,r,i)),T.exit(t)}action(t){let r=i=>{let n=this.registeredArguments.length,s=i.slice(0,n);return this._storeOptionsAsProperties?s[n]=this:s[n]=this.opts(),s.push(this),t.apply(this,s)};return this._actionHandler=r,this}createOption(t,r){return new
|
|
19
|
-
- already used by option '${r.flags}'`)}this._initOptionGroup(t),this.options.push(t)}_registerCommand(t){let r=n=>[n.name()].concat(n.aliases()),i=r(t).find(n=>this._findCommand(n));if(i){let n=r(this._findCommand(i)).join("|"),s=r(t).join("|");throw new Error(`cannot add command '${s}' as already have command '${n}'`)}this._initCommandGroup(t),this.commands.push(t)}addOption(t){this._registerOption(t);let r=t.name(),i=t.attributeName();if(t.negate){let s=t.long.replace(/^--no-/,"--");this._findOption(s)||this.setOptionValueWithSource(i,t.defaultValue===void 0?!0:t.defaultValue,"default")}else t.defaultValue!==void 0&&this.setOptionValueWithSource(i,t.defaultValue,"default");let n=(s,o,a)=>{s==null&&t.presetArg!==void 0&&(s=t.presetArg);let c=this.getOptionValue(i);s!==null&&t.parseArg?s=this._callParseArg(t,s,c,o):s!==null&&t.variadic&&(s=t._collectValue(s,c)),s==null&&(t.negate?s=!1:t.isBoolean()||t.optional?s=!0:s=""),this.setOptionValueWithSource(i,s,a)};return this.on("option:"+r,s=>{let o=`error: option '${t.flags}' argument '${s}' is invalid.`;n(s,o,"cli")}),t.envVar&&this.on("optionEnv:"+r,s=>{let o=`error: option '${t.flags}' value '${s}' from env '${t.envVar}' is invalid.`;n(s,o,"env")}),this}_optionEx(t,r,i,n,s){if(typeof r=="object"&&r instanceof
|
|
16
|
+
(Did you mean ${i[0]}?)`:""}No.suggestSimilar=lh});var Ho=q(xn=>{"use strict";var mh=se("events").EventEmitter,fn=se("child_process"),je=se("path"),br=se("fs"),T=se("process"),{Argument:hh,humanReadableArgName:yh}=_r(),{CommanderError:gn}=Dt(),{Help:fh,stripColor:gh}=un(),{Option:zo,DualOptions:_h}=yn(),{suggestSimilar:Vo}=Go(),_n=class e extends mh{constructor(t){super(),this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=t||"",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._savedState=null,this._outputConfiguration={writeOut:r=>T.stdout.write(r),writeErr:r=>T.stderr.write(r),outputError:(r,i)=>i(r),getOutHelpWidth:()=>T.stdout.isTTY?T.stdout.columns:void 0,getErrHelpWidth:()=>T.stderr.isTTY?T.stderr.columns:void 0,getOutHasColors:()=>bn()??(T.stdout.isTTY&&T.stdout.hasColors?.()),getErrHasColors:()=>bn()??(T.stderr.isTTY&&T.stderr.hasColors?.()),stripColor:r=>gh(r)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(t){return this._outputConfiguration=t._outputConfiguration,this._helpOption=t._helpOption,this._helpCommand=t._helpCommand,this._helpConfiguration=t._helpConfiguration,this._exitCallback=t._exitCallback,this._storeOptionsAsProperties=t._storeOptionsAsProperties,this._combineFlagAndOptionalValue=t._combineFlagAndOptionalValue,this._allowExcessArguments=t._allowExcessArguments,this._enablePositionalOptions=t._enablePositionalOptions,this._showHelpAfterError=t._showHelpAfterError,this._showSuggestionAfterError=t._showSuggestionAfterError,this}_getCommandAndAncestors(){let t=[];for(let r=this;r;r=r.parent)t.push(r);return t}command(t,r,i){let n=r,s=i;typeof n=="object"&&n!==null&&(s=n,n=null),s=s||{};let[,o,a]=t.match(/([^ ]+) *(.*)/),c=this.createCommand(o);return n&&(c.description(n),c._executableHandler=!0),s.isDefault&&(this._defaultCommandName=c._name),c._hidden=!!(s.noHelp||s.hidden),c._executableFile=s.executableFile||null,a&&c.arguments(a),this._registerCommand(c),c.parent=this,c.copyInheritedSettings(this),n?this:c}createCommand(t){return new e(t)}createHelp(){return Object.assign(new fh,this.configureHelp())}configureHelp(t){return t===void 0?this._helpConfiguration:(this._helpConfiguration=t,this)}configureOutput(t){return t===void 0?this._outputConfiguration:(this._outputConfiguration={...this._outputConfiguration,...t},this)}showHelpAfterError(t=!0){return typeof t!="string"&&(t=!!t),this._showHelpAfterError=t,this}showSuggestionAfterError(t=!0){return this._showSuggestionAfterError=!!t,this}addCommand(t,r){if(!t._name)throw new Error(`Command passed to .addCommand() must have a name
|
|
17
|
+
- specify the name in Command constructor or using .name()`);return r=r||{},r.isDefault&&(this._defaultCommandName=t._name),(r.noHelp||r.hidden)&&(t._hidden=!0),this._registerCommand(t),t.parent=this,t._checkForBrokenPassThrough(),this}createArgument(t,r){return new hh(t,r)}argument(t,r,i,n){let s=this.createArgument(t,r);return typeof i=="function"?s.default(n).argParser(i):s.default(i),this.addArgument(s),this}arguments(t){return t.trim().split(/ +/).forEach(r=>{this.argument(r)}),this}addArgument(t){let r=this.registeredArguments.slice(-1)[0];if(r?.variadic)throw new Error(`only the last argument can be variadic '${r.name()}'`);if(t.required&&t.defaultValue!==void 0&&t.parseArg===void 0)throw new Error(`a default value for a required argument is never used: '${t.name()}'`);return this.registeredArguments.push(t),this}helpCommand(t,r){if(typeof t=="boolean")return this._addImplicitHelpCommand=t,t&&this._defaultCommandGroup&&this._initCommandGroup(this._getHelpCommand()),this;let i=t??"help [command]",[,n,s]=i.match(/([^ ]+) *(.*)/),o=r??"display help for command",a=this.createCommand(n);return a.helpOption(!1),s&&a.arguments(s),o&&a.description(o),this._addImplicitHelpCommand=!0,this._helpCommand=a,(t||r)&&this._initCommandGroup(a),this}addHelpCommand(t,r){return typeof t!="object"?(this.helpCommand(t,r),this):(this._addImplicitHelpCommand=!0,this._helpCommand=t,this._initCommandGroup(t),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(t,r){let i=["preSubcommand","preAction","postAction"];if(!i.includes(t))throw new Error(`Unexpected value for event passed to hook : '${t}'.
|
|
18
|
+
Expecting one of '${i.join("', '")}'`);return this._lifeCycleHooks[t]?this._lifeCycleHooks[t].push(r):this._lifeCycleHooks[t]=[r],this}exitOverride(t){return t?this._exitCallback=t:this._exitCallback=r=>{if(r.code!=="commander.executeSubCommandAsync")throw r},this}_exit(t,r,i){this._exitCallback&&this._exitCallback(new gn(t,r,i)),T.exit(t)}action(t){let r=i=>{let n=this.registeredArguments.length,s=i.slice(0,n);return this._storeOptionsAsProperties?s[n]=this:s[n]=this.opts(),s.push(this),t.apply(this,s)};return this._actionHandler=r,this}createOption(t,r){return new zo(t,r)}_callParseArg(t,r,i,n){try{return t.parseArg(r,i)}catch(s){if(s.code==="commander.invalidArgument"){let o=`${n} ${s.message}`;this.error(o,{exitCode:s.exitCode,code:s.code})}throw s}}_registerOption(t){let r=t.short&&this._findOption(t.short)||t.long&&this._findOption(t.long);if(r){let i=t.long&&this._findOption(t.long)?t.long:t.short;throw new Error(`Cannot add option '${t.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${i}'
|
|
19
|
+
- already used by option '${r.flags}'`)}this._initOptionGroup(t),this.options.push(t)}_registerCommand(t){let r=n=>[n.name()].concat(n.aliases()),i=r(t).find(n=>this._findCommand(n));if(i){let n=r(this._findCommand(i)).join("|"),s=r(t).join("|");throw new Error(`cannot add command '${s}' as already have command '${n}'`)}this._initCommandGroup(t),this.commands.push(t)}addOption(t){this._registerOption(t);let r=t.name(),i=t.attributeName();if(t.negate){let s=t.long.replace(/^--no-/,"--");this._findOption(s)||this.setOptionValueWithSource(i,t.defaultValue===void 0?!0:t.defaultValue,"default")}else t.defaultValue!==void 0&&this.setOptionValueWithSource(i,t.defaultValue,"default");let n=(s,o,a)=>{s==null&&t.presetArg!==void 0&&(s=t.presetArg);let c=this.getOptionValue(i);s!==null&&t.parseArg?s=this._callParseArg(t,s,c,o):s!==null&&t.variadic&&(s=t._collectValue(s,c)),s==null&&(t.negate?s=!1:t.isBoolean()||t.optional?s=!0:s=""),this.setOptionValueWithSource(i,s,a)};return this.on("option:"+r,s=>{let o=`error: option '${t.flags}' argument '${s}' is invalid.`;n(s,o,"cli")}),t.envVar&&this.on("optionEnv:"+r,s=>{let o=`error: option '${t.flags}' value '${s}' from env '${t.envVar}' is invalid.`;n(s,o,"env")}),this}_optionEx(t,r,i,n,s){if(typeof r=="object"&&r instanceof zo)throw new Error("To add an Option object use addOption() instead of option() or requiredOption()");let o=this.createOption(r,i);if(o.makeOptionMandatory(!!t.mandatory),typeof n=="function")o.default(s).argParser(n);else if(n instanceof RegExp){let a=n;n=(c,d)=>{let p=a.exec(c);return p?p[0]:d},o.default(s).argParser(n)}else o.default(n);return this.addOption(o)}option(t,r,i,n){return this._optionEx({},t,r,i,n)}requiredOption(t,r,i,n){return this._optionEx({mandatory:!0},t,r,i,n)}combineFlagAndOptionalValue(t=!0){return this._combineFlagAndOptionalValue=!!t,this}allowUnknownOption(t=!0){return this._allowUnknownOption=!!t,this}allowExcessArguments(t=!0){return this._allowExcessArguments=!!t,this}enablePositionalOptions(t=!0){return this._enablePositionalOptions=!!t,this}passThroughOptions(t=!0){return this._passThroughOptions=!!t,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(t=!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=!!t,this}getOptionValue(t){return this._storeOptionsAsProperties?this[t]:this._optionValues[t]}setOptionValue(t,r){return this.setOptionValueWithSource(t,r,void 0)}setOptionValueWithSource(t,r,i){return this._storeOptionsAsProperties?this[t]=r:this._optionValues[t]=r,this._optionValueSources[t]=i,this}getOptionValueSource(t){return this._optionValueSources[t]}getOptionValueSourceWithGlobals(t){let r;return this._getCommandAndAncestors().forEach(i=>{i.getOptionValueSource(t)!==void 0&&(r=i.getOptionValueSource(t))}),r}_prepareUserArgs(t,r){if(t!==void 0&&!Array.isArray(t))throw new Error("first parameter to parse must be array or undefined");if(r=r||{},t===void 0&&r.from===void 0){T.versions?.electron&&(r.from="electron");let n=T.execArgv??[];(n.includes("-e")||n.includes("--eval")||n.includes("-p")||n.includes("--print"))&&(r.from="eval")}t===void 0&&(t=T.argv),this.rawArgs=t.slice();let i;switch(r.from){case void 0:case"node":this._scriptPath=t[1],i=t.slice(2);break;case"electron":T.defaultApp?(this._scriptPath=t[1],i=t.slice(2)):i=t.slice(1);break;case"user":i=t.slice(0);break;case"eval":i=t.slice(1);break;default:throw new Error(`unexpected parse option { from: '${r.from}' }`)}return!this._name&&this._scriptPath&&this.nameFromFilename(this._scriptPath),this._name=this._name||"program",i}parse(t,r){this._prepareForParse();let i=this._prepareUserArgs(t,r);return this._parseCommand([],i),this}async parseAsync(t,r){this._prepareForParse();let i=this._prepareUserArgs(t,r);return await this._parseCommand([],i),this}_prepareForParse(){this._savedState===null?this.saveStateBeforeParse():this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw new Error(`Can not call parse again when storeOptionsAsProperties is true.
|
|
20
20
|
- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(t,r,i){if(br.existsSync(t))return;let n=r?`searched for local subcommand relative to directory '${r}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",s=`'${t}' does not exist
|
|
21
21
|
- if '${i}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
|
|
22
22
|
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
|
23
|
-
- ${n}`;throw new Error(s)}_executeSubCommand(t,r){r=r.slice();let i=!1,n=[".js",".ts",".tsx",".mjs",".cjs"];function s(p,u){let l=
|
|
23
|
+
- ${n}`;throw new Error(s)}_executeSubCommand(t,r){r=r.slice();let i=!1,n=[".js",".ts",".tsx",".mjs",".cjs"];function s(p,u){let l=je.resolve(p,u);if(br.existsSync(l))return l;if(n.includes(je.extname(u)))return;let m=n.find(h=>br.existsSync(`${l}${h}`));if(m)return`${l}${m}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let o=t._executableFile||`${this._name}-${t._name}`,a=this._executableDir||"";if(this._scriptPath){let p;try{p=br.realpathSync(this._scriptPath)}catch{p=this._scriptPath}a=je.resolve(je.dirname(p),a)}if(a){let p=s(a,o);if(!p&&!t._executableFile&&this._scriptPath){let u=je.basename(this._scriptPath,je.extname(this._scriptPath));u!==this._name&&(p=s(a,`${u}-${t._name}`))}o=p||o}i=n.includes(je.extname(o));let c;T.platform!=="win32"?i?(r.unshift(o),r=Wo(T.execArgv).concat(r),c=fn.spawn(T.argv[0],r,{stdio:"inherit"})):c=fn.spawn(o,r,{stdio:"inherit"}):(this._checkForMissingExecutable(o,a,t._name),r.unshift(o),r=Wo(T.execArgv).concat(r),c=fn.spawn(T.execPath,r,{stdio:"inherit"})),c.killed||["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach(u=>{T.on(u,()=>{c.killed===!1&&c.exitCode===null&&c.kill(u)})});let d=this._exitCallback;c.on("close",p=>{p=p??1,d?d(new gn(p,"commander.executeSubCommandAsync","(close)")):T.exit(p)}),c.on("error",p=>{if(p.code==="ENOENT")this._checkForMissingExecutable(o,a,t._name);else if(p.code==="EACCES")throw new Error(`'${o}' not executable`);if(!d)T.exit(1);else{let u=new gn(1,"commander.executeSubCommandAsync","(error)");u.nestedError=p,d(u)}}),this.runningCommand=c}_dispatchSubcommand(t,r,i){let n=this._findCommand(t);n||this.help({error:!0}),n._prepareForParse();let s;return s=this._chainOrCallSubCommandHook(s,n,"preSubcommand"),s=this._chainOrCall(s,()=>{if(n._executableHandler)this._executeSubCommand(n,r.concat(i));else return n._parseCommand(r,i)}),s}_dispatchHelpCommand(t){t||this.help();let r=this._findCommand(t);return r&&!r._executableHandler&&r.help(),this._dispatchSubcommand(t,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){this.registeredArguments.forEach((t,r)=>{t.required&&this.args[r]==null&&this.missingArgument(t.name())}),!(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)&&this.args.length>this.registeredArguments.length&&this._excessArguments(this.args)}_processArguments(){let t=(i,n,s)=>{let o=n;if(n!==null&&i.parseArg){let a=`error: command-argument value '${n}' is invalid for argument '${i.name()}'.`;o=this._callParseArg(i,n,s,a)}return o};this._checkNumberOfArguments();let r=[];this.registeredArguments.forEach((i,n)=>{let s=i.defaultValue;i.variadic?n<this.args.length?(s=this.args.slice(n),i.parseArg&&(s=s.reduce((o,a)=>t(i,a,o),i.defaultValue))):s===void 0&&(s=[]):n<this.args.length&&(s=this.args[n],i.parseArg&&(s=t(i,s,i.defaultValue))),r[n]=s}),this.processedArgs=r}_chainOrCall(t,r){return t?.then&&typeof t.then=="function"?t.then(()=>r()):r()}_chainOrCallHooks(t,r){let i=t,n=[];return this._getCommandAndAncestors().reverse().filter(s=>s._lifeCycleHooks[r]!==void 0).forEach(s=>{s._lifeCycleHooks[r].forEach(o=>{n.push({hookedCommand:s,callback:o})})}),r==="postAction"&&n.reverse(),n.forEach(s=>{i=this._chainOrCall(i,()=>s.callback(s.hookedCommand,this))}),i}_chainOrCallSubCommandHook(t,r,i){let n=t;return this._lifeCycleHooks[i]!==void 0&&this._lifeCycleHooks[i].forEach(s=>{n=this._chainOrCall(n,()=>s(this,r))}),n}_parseCommand(t,r){let i=this.parseOptions(r);if(this._parseOptionsEnv(),this._parseOptionsImplied(),t=t.concat(i.operands),r=i.unknown,this.args=t.concat(r),t&&this._findCommand(t[0]))return this._dispatchSubcommand(t[0],t.slice(1),r);if(this._getHelpCommand()&&t[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(t[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(r),this._dispatchSubcommand(this._defaultCommandName,t,r);this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName&&this.help({error:!0}),this._outputHelpIfRequested(i.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let n=()=>{i.unknown.length>0&&this.unknownOption(i.unknown[0])},s=`command:${this.name()}`;if(this._actionHandler){n(),this._processArguments();let o;return o=this._chainOrCallHooks(o,"preAction"),o=this._chainOrCall(o,()=>this._actionHandler(this.processedArgs)),this.parent&&(o=this._chainOrCall(o,()=>{this.parent.emit(s,t,r)})),o=this._chainOrCallHooks(o,"postAction"),o}if(this.parent?.listenerCount(s))n(),this._processArguments(),this.parent.emit(s,t,r);else if(t.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",t,r);this.listenerCount("command:*")?this.emit("command:*",t,r):this.commands.length?this.unknownCommand():(n(),this._processArguments())}else this.commands.length?(n(),this.help({error:!0})):(n(),this._processArguments())}_findCommand(t){if(t)return this.commands.find(r=>r._name===t||r._aliases.includes(t))}_findOption(t){return this.options.find(r=>r.is(t))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(t=>{t.options.forEach(r=>{r.mandatory&&t.getOptionValue(r.attributeName())===void 0&&t.missingMandatoryOptionValue(r)})})}_checkForConflictingLocalOptions(){let t=this.options.filter(i=>{let n=i.attributeName();return this.getOptionValue(n)===void 0?!1:this.getOptionValueSource(n)!=="default"});t.filter(i=>i.conflictsWith.length>0).forEach(i=>{let n=t.find(s=>i.conflictsWith.includes(s.attributeName()));n&&this._conflictingOption(i,n)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(t=>{t._checkForConflictingLocalOptions()})}parseOptions(t){let r=[],i=[],n=r;function s(p){return p.length>1&&p[0]==="-"}let o=p=>/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(p)?!this._getCommandAndAncestors().some(u=>u.options.map(l=>l.short).some(l=>/^-\d$/.test(l))):!1,a=null,c=null,d=0;for(;d<t.length||c;){let p=c??t[d++];if(c=null,p==="--"){n===i&&n.push(p),n.push(...t.slice(d));break}if(a&&(!s(p)||o(p))){this.emit(`option:${a.name()}`,p);continue}if(a=null,s(p)){let u=this._findOption(p);if(u){if(u.required){let l=t[d++];l===void 0&&this.optionMissingArgument(u),this.emit(`option:${u.name()}`,l)}else if(u.optional){let l=null;d<t.length&&(!s(t[d])||o(t[d]))&&(l=t[d++]),this.emit(`option:${u.name()}`,l)}else this.emit(`option:${u.name()}`);a=u.variadic?u:null;continue}}if(p.length>2&&p[0]==="-"&&p[1]!=="-"){let u=this._findOption(`-${p[1]}`);if(u){u.required||u.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${u.name()}`,p.slice(2)):(this.emit(`option:${u.name()}`),c=`-${p.slice(2)}`);continue}}if(/^--[^=]+=/.test(p)){let u=p.indexOf("="),l=this._findOption(p.slice(0,u));if(l&&(l.required||l.optional)){this.emit(`option:${l.name()}`,p.slice(u+1));continue}}if(n===r&&s(p)&&!(this.commands.length===0&&o(p))&&(n=i),(this._enablePositionalOptions||this._passThroughOptions)&&r.length===0&&i.length===0){if(this._findCommand(p)){r.push(p),i.push(...t.slice(d));break}else if(this._getHelpCommand()&&p===this._getHelpCommand().name()){r.push(p,...t.slice(d));break}else if(this._defaultCommandName){i.push(p,...t.slice(d));break}}if(this._passThroughOptions){n.push(p,...t.slice(d));break}n.push(p)}return{operands:r,unknown:i}}opts(){if(this._storeOptionsAsProperties){let t={},r=this.options.length;for(let i=0;i<r;i++){let n=this.options[i].attributeName();t[n]=n===this._versionOptionName?this._version:this[n]}return t}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((t,r)=>Object.assign(t,r.opts()),{})}error(t,r){this._outputConfiguration.outputError(`${t}
|
|
24
24
|
`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError=="string"?this._outputConfiguration.writeErr(`${this._showHelpAfterError}
|
|
25
25
|
`):this._showHelpAfterError&&(this._outputConfiguration.writeErr(`
|
|
26
|
-
`),this.outputHelp({error:!0}));let i=r||{},n=i.exitCode||1,s=i.code||"commander.error";this._exit(n,s,t)}_parseOptionsEnv(){this.options.forEach(t=>{if(t.envVar&&t.envVar in T.env){let r=t.attributeName();(this.getOptionValue(r)===void 0||["default","config","env"].includes(this.getOptionValueSource(r)))&&(t.required||t.optional?this.emit(`optionEnv:${t.name()}`,T.env[t.envVar]):this.emit(`optionEnv:${t.name()}`))}})}_parseOptionsImplied(){let t=new
|
|
27
|
-
`),this._exit(0,"commander.version",t)}),this}description(t,r){return t===void 0&&r===void 0?this._description:(this._description=t,r&&(this._argsDescription=r),this)}summary(t){return t===void 0?this._summary:(this._summary=t,this)}alias(t){if(t===void 0)return this._aliases[0];let r=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(r=this.commands[this.commands.length-1]),t===r._name)throw new Error("Command alias can't be the same as its name");let i=this.parent?._findCommand(t);if(i){let n=[i.name()].concat(i.aliases()).join("|");throw new Error(`cannot add alias '${t}' to command '${this.name()}' as already have command '${n}'`)}return r._aliases.push(t),this}aliases(t){return t===void 0?this._aliases:(t.forEach(r=>this.alias(r)),this)}usage(t){if(t===void 0){if(this._usage)return this._usage;let r=this.registeredArguments.map(i=>
|
|
26
|
+
`),this.outputHelp({error:!0}));let i=r||{},n=i.exitCode||1,s=i.code||"commander.error";this._exit(n,s,t)}_parseOptionsEnv(){this.options.forEach(t=>{if(t.envVar&&t.envVar in T.env){let r=t.attributeName();(this.getOptionValue(r)===void 0||["default","config","env"].includes(this.getOptionValueSource(r)))&&(t.required||t.optional?this.emit(`optionEnv:${t.name()}`,T.env[t.envVar]):this.emit(`optionEnv:${t.name()}`))}})}_parseOptionsImplied(){let t=new _h(this.options),r=i=>this.getOptionValue(i)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(i));this.options.filter(i=>i.implied!==void 0&&r(i.attributeName())&&t.valueFromOption(this.getOptionValue(i.attributeName()),i)).forEach(i=>{Object.keys(i.implied).filter(n=>!r(n)).forEach(n=>{this.setOptionValueWithSource(n,i.implied[n],"implied")})})}missingArgument(t){let r=`error: missing required argument '${t}'`;this.error(r,{code:"commander.missingArgument"})}optionMissingArgument(t){let r=`error: option '${t.flags}' argument missing`;this.error(r,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(t){let r=`error: required option '${t.flags}' not specified`;this.error(r,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(t,r){let i=o=>{let a=o.attributeName(),c=this.getOptionValue(a),d=this.options.find(u=>u.negate&&a===u.attributeName()),p=this.options.find(u=>!u.negate&&a===u.attributeName());return d&&(d.presetArg===void 0&&c===!1||d.presetArg!==void 0&&c===d.presetArg)?d:p||o},n=o=>{let a=i(o),c=a.attributeName();return this.getOptionValueSource(c)==="env"?`environment variable '${a.envVar}'`:`option '${a.flags}'`},s=`error: ${n(t)} cannot be used with ${n(r)}`;this.error(s,{code:"commander.conflictingOption"})}unknownOption(t){if(this._allowUnknownOption)return;let r="";if(t.startsWith("--")&&this._showSuggestionAfterError){let n=[],s=this;do{let o=s.createHelp().visibleOptions(s).filter(a=>a.long).map(a=>a.long);n=n.concat(o),s=s.parent}while(s&&!s._enablePositionalOptions);r=Vo(t,n)}let i=`error: unknown option '${t}'${r}`;this.error(i,{code:"commander.unknownOption"})}_excessArguments(t){if(this._allowExcessArguments)return;let r=this.registeredArguments.length,i=r===1?"":"s",s=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${r} argument${i} but got ${t.length}.`;this.error(s,{code:"commander.excessArguments"})}unknownCommand(){let t=this.args[0],r="";if(this._showSuggestionAfterError){let n=[];this.createHelp().visibleCommands(this).forEach(s=>{n.push(s.name()),s.alias()&&n.push(s.alias())}),r=Vo(t,n)}let i=`error: unknown command '${t}'${r}`;this.error(i,{code:"commander.unknownCommand"})}version(t,r,i){if(t===void 0)return this._version;this._version=t,r=r||"-V, --version",i=i||"output the version number";let n=this.createOption(r,i);return this._versionOptionName=n.attributeName(),this._registerOption(n),this.on("option:"+n.name(),()=>{this._outputConfiguration.writeOut(`${t}
|
|
27
|
+
`),this._exit(0,"commander.version",t)}),this}description(t,r){return t===void 0&&r===void 0?this._description:(this._description=t,r&&(this._argsDescription=r),this)}summary(t){return t===void 0?this._summary:(this._summary=t,this)}alias(t){if(t===void 0)return this._aliases[0];let r=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(r=this.commands[this.commands.length-1]),t===r._name)throw new Error("Command alias can't be the same as its name");let i=this.parent?._findCommand(t);if(i){let n=[i.name()].concat(i.aliases()).join("|");throw new Error(`cannot add alias '${t}' to command '${this.name()}' as already have command '${n}'`)}return r._aliases.push(t),this}aliases(t){return t===void 0?this._aliases:(t.forEach(r=>this.alias(r)),this)}usage(t){if(t===void 0){if(this._usage)return this._usage;let r=this.registeredArguments.map(i=>yh(i));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?r:[]).join(" ")}return this._usage=t,this}name(t){return t===void 0?this._name:(this._name=t,this)}helpGroup(t){return t===void 0?this._helpGroupHeading??"":(this._helpGroupHeading=t,this)}commandsGroup(t){return t===void 0?this._defaultCommandGroup??"":(this._defaultCommandGroup=t,this)}optionsGroup(t){return t===void 0?this._defaultOptionGroup??"":(this._defaultOptionGroup=t,this)}_initOptionGroup(t){this._defaultOptionGroup&&!t.helpGroupHeading&&t.helpGroup(this._defaultOptionGroup)}_initCommandGroup(t){this._defaultCommandGroup&&!t.helpGroup()&&t.helpGroup(this._defaultCommandGroup)}nameFromFilename(t){return this._name=je.basename(t,je.extname(t)),this}executableDir(t){return t===void 0?this._executableDir:(this._executableDir=t,this)}helpInformation(t){let r=this.createHelp(),i=this._getOutputContext(t);r.prepareContext({error:i.error,helpWidth:i.helpWidth,outputHasColors:i.hasColors});let n=r.formatHelp(this,r);return i.hasColors?n:this._outputConfiguration.stripColor(n)}_getOutputContext(t){t=t||{};let r=!!t.error,i,n,s;return r?(i=a=>this._outputConfiguration.writeErr(a),n=this._outputConfiguration.getErrHasColors(),s=this._outputConfiguration.getErrHelpWidth()):(i=a=>this._outputConfiguration.writeOut(a),n=this._outputConfiguration.getOutHasColors(),s=this._outputConfiguration.getOutHelpWidth()),{error:r,write:a=>(n||(a=this._outputConfiguration.stripColor(a)),i(a)),hasColors:n,helpWidth:s}}outputHelp(t){let r;typeof t=="function"&&(r=t,t=void 0);let i=this._getOutputContext(t),n={error:i.error,write:i.write,command:this};this._getCommandAndAncestors().reverse().forEach(o=>o.emit("beforeAllHelp",n)),this.emit("beforeHelp",n);let s=this.helpInformation({error:i.error});if(r&&(s=r(s),typeof s!="string"&&!Buffer.isBuffer(s)))throw new Error("outputHelp callback must return a string or a Buffer");i.write(s),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit("afterHelp",n),this._getCommandAndAncestors().forEach(o=>o.emit("afterAllHelp",n))}helpOption(t,r){return typeof t=="boolean"?(t?(this._helpOption===null&&(this._helpOption=void 0),this._defaultOptionGroup&&this._initOptionGroup(this._getHelpOption())):this._helpOption=null,this):(this._helpOption=this.createOption(t??"-h, --help",r??"display help for command"),(t||r)&&this._initOptionGroup(this._helpOption),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(t){return this._helpOption=t,this._initOptionGroup(t),this}help(t){this.outputHelp(t);let r=Number(T.exitCode??0);r===0&&t&&typeof t!="function"&&t.error&&(r=1),this._exit(r,"commander.help","(outputHelp)")}addHelpText(t,r){let i=["beforeAll","before","after","afterAll"];if(!i.includes(t))throw new Error(`Unexpected value for position to addHelpText.
|
|
28
28
|
Expecting one of '${i.join("', '")}'`);let n=`${t}Help`;return this.on(n,s=>{let o;typeof r=="function"?o=r({error:s.error,command:s.command}):o=r,o&&s.write(`${o}
|
|
29
|
-
`)}),this}_outputHelpIfRequested(t){let r=this._getHelpOption();r&&t.find(n=>r.is(n))&&(this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)"))}};function Vo(e){return e.map(t=>{if(!t.startsWith("--inspect"))return t;let r,i="127.0.0.1",n="9229",s;return(s=t.match(/^(--inspect(-brk)?)$/))!==null?r=s[1]:(s=t.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(r=s[1],/^\d+$/.test(s[3])?n=s[3]:i=s[3]):(s=t.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(r=s[1],i=s[3],n=s[4]),r&&n!=="0"?`${r}=${i}:${parseInt(n)+1}`:t})}function bn(){if(T.env.NO_COLOR||T.env.FORCE_COLOR==="0"||T.env.FORCE_COLOR==="false")return!1;if(T.env.FORCE_COLOR||T.env.CLICOLOR_FORCE!==void 0)return!0}xn.Command=_n;xn.useColor=bn});var Jo=q(pe=>{"use strict";var{Argument:Ho}=_r(),{Command:wn}=Wo(),{CommanderError:_h,InvalidArgumentError:Ko}=Dt(),{Help:bh}=un(),{Option:Yo}=yn();pe.program=new wn;pe.createCommand=e=>new wn(e);pe.createOption=(e,t)=>new Yo(e,t);pe.createArgument=(e,t)=>new Ho(e,t);pe.Command=wn;pe.Option=Yo;pe.Argument=Ho;pe.Help=bh;pe.CommanderError=_h;pe.InvalidArgumentError=Ko;pe.InvalidOptionArgumentError=Ko});var X=q((KS,kn)=>{"use strict";var wr=process||{},ea=wr.argv||[],xr=wr.env||{},xh=!(xr.NO_COLOR||ea.includes("--no-color"))&&(!!xr.FORCE_COLOR||ea.includes("--color")||wr.platform==="win32"||(wr.stdout||{}).isTTY&&xr.TERM!=="dumb"||!!xr.CI),wh=(e,t,r=e)=>i=>{let n=""+i,s=n.indexOf(t,e.length);return~s?e+kh(n,t,r,s)+t:e+n+t},kh=(e,t,r,i)=>{let n="",s=0;do n+=e.substring(s,i)+r,s=i+t.length,i=e.indexOf(t,s);while(~i);return n+e.substring(s)},ta=(e=xh)=>{let t=e?wh:()=>String;return{isColorSupported:e,reset:t("\x1B[0m","\x1B[0m"),bold:t("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:t("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:t("\x1B[3m","\x1B[23m"),underline:t("\x1B[4m","\x1B[24m"),inverse:t("\x1B[7m","\x1B[27m"),hidden:t("\x1B[8m","\x1B[28m"),strikethrough:t("\x1B[9m","\x1B[29m"),black:t("\x1B[30m","\x1B[39m"),red:t("\x1B[31m","\x1B[39m"),green:t("\x1B[32m","\x1B[39m"),yellow:t("\x1B[33m","\x1B[39m"),blue:t("\x1B[34m","\x1B[39m"),magenta:t("\x1B[35m","\x1B[39m"),cyan:t("\x1B[36m","\x1B[39m"),white:t("\x1B[37m","\x1B[39m"),gray:t("\x1B[90m","\x1B[39m"),bgBlack:t("\x1B[40m","\x1B[49m"),bgRed:t("\x1B[41m","\x1B[49m"),bgGreen:t("\x1B[42m","\x1B[49m"),bgYellow:t("\x1B[43m","\x1B[49m"),bgBlue:t("\x1B[44m","\x1B[49m"),bgMagenta:t("\x1B[45m","\x1B[49m"),bgCyan:t("\x1B[46m","\x1B[49m"),bgWhite:t("\x1B[47m","\x1B[49m"),blackBright:t("\x1B[90m","\x1B[39m"),redBright:t("\x1B[91m","\x1B[39m"),greenBright:t("\x1B[92m","\x1B[39m"),yellowBright:t("\x1B[93m","\x1B[39m"),blueBright:t("\x1B[94m","\x1B[39m"),magentaBright:t("\x1B[95m","\x1B[39m"),cyanBright:t("\x1B[96m","\x1B[39m"),whiteBright:t("\x1B[97m","\x1B[39m"),bgBlackBright:t("\x1B[100m","\x1B[49m"),bgRedBright:t("\x1B[101m","\x1B[49m"),bgGreenBright:t("\x1B[102m","\x1B[49m"),bgYellowBright:t("\x1B[103m","\x1B[49m"),bgBlueBright:t("\x1B[104m","\x1B[49m"),bgMagentaBright:t("\x1B[105m","\x1B[49m"),bgCyanBright:t("\x1B[106m","\x1B[49m"),bgWhiteBright:t("\x1B[107m","\x1B[49m")}};kn.exports=ta();kn.exports.createColors=ta});var vn=q(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.DEFAULT_COLOR_MAP=void 0;ht.DEFAULT_COLOR_MAP={red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",white_bold:"\x1B[01m",reset:"\x1B[0m"};var Sn=class{constructor(t=ht.DEFAULT_COLOR_MAP){this.text="",this.colorMap=t}addCharsWithColor(t,r){let i=this.colorMap[t];this.text+=i!==void 0?`${i}${r}${this.colorMap.reset}`:r}renderConsole(){return this.text}};ht.default=Sn});var Lt=q(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.DEFAULT_HEADER_ALIGNMENT=W.DEFAULT_ROW_ALIGNMENT=W.DEFAULT_HEADER_FONT_COLOR=W.DEFAULT_ROW_FONT_COLOR=W.COLORS=W.ALIGNMENTS=W.DEFAULT_TABLE_STYLE=W.DEFAULT_ROW_SEPARATOR=W.DEFAULT_COLUMN_LEN=void 0;W.DEFAULT_COLUMN_LEN=20;W.DEFAULT_ROW_SEPARATOR=!1;W.DEFAULT_TABLE_STYLE={headerTop:{left:"\u250C",mid:"\u252C",right:"\u2510",other:"\u2500"},headerBottom:{left:"\u251C",mid:"\u253C",right:"\u2524",other:"\u2500"},tableBottom:{left:"\u2514",mid:"\u2534",right:"\u2518",other:"\u2500"},vertical:"\u2502",rowSeparator:{left:"\u251C",mid:"\u253C",right:"\u2524",other:"\u2500"}};W.ALIGNMENTS=["right","left","center"];W.COLORS=["red","green","yellow","white","blue","magenta","cyan","white_bold","reset"];W.DEFAULT_ROW_FONT_COLOR="white";W.DEFAULT_HEADER_FONT_COLOR="white_bold";W.DEFAULT_ROW_ALIGNMENT="right";W.DEFAULT_HEADER_ALIGNMENT="center"});var na=q(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});var Th=[{first:768,last:879},{first:1155,last:1158},{first:1160,last:1161},{first:1425,last:1469},{first:1471,last:1471},{first:1473,last:1474},{first:1476,last:1477},{first:1479,last:1479},{first:1536,last:1539},{first:1552,last:1557},{first:1611,last:1630},{first:1648,last:1648},{first:1750,last:1764},{first:1767,last:1768},{first:1770,last:1773},{first:1807,last:1807},{first:1809,last:1809},{first:1840,last:1866},{first:1958,last:1968},{first:2027,last:2035},{first:2305,last:2306},{first:2364,last:2364},{first:2369,last:2376},{first:2381,last:2381},{first:2385,last:2388},{first:2402,last:2403},{first:2433,last:2433},{first:2492,last:2492},{first:2497,last:2500},{first:2509,last:2509},{first:2530,last:2531},{first:2561,last:2562},{first:2620,last:2620},{first:2625,last:2626},{first:2631,last:2632},{first:2635,last:2637},{first:2672,last:2673},{first:2689,last:2690},{first:2748,last:2748},{first:2753,last:2757},{first:2759,last:2760},{first:2765,last:2765},{first:2786,last:2787},{first:2817,last:2817},{first:2876,last:2876},{first:2879,last:2879},{first:2881,last:2883},{first:2893,last:2893},{first:2902,last:2902},{first:2946,last:2946},{first:3008,last:3008},{first:3021,last:3021},{first:3134,last:3136},{first:3142,last:3144},{first:3146,last:3149},{first:3157,last:3158},{first:3260,last:3260},{first:3263,last:3263},{first:3270,last:3270},{first:3276,last:3277},{first:3298,last:3299},{first:3393,last:3395},{first:3405,last:3405},{first:3530,last:3530},{first:3538,last:3540},{first:3542,last:3542},{first:3633,last:3633},{first:3636,last:3642},{first:3655,last:3662},{first:3761,last:3761},{first:3764,last:3769},{first:3771,last:3772},{first:3784,last:3789},{first:3864,last:3865},{first:3893,last:3893},{first:3895,last:3895},{first:3897,last:3897},{first:3953,last:3966},{first:3968,last:3972},{first:3974,last:3975},{first:3984,last:3991},{first:3993,last:4028},{first:4038,last:4038},{first:4141,last:4144},{first:4146,last:4146},{first:4150,last:4151},{first:4153,last:4153},{first:4184,last:4185},{first:4448,last:4607},{first:4959,last:4959},{first:5906,last:5908},{first:5938,last:5940},{first:5970,last:5971},{first:6002,last:6003},{first:6068,last:6069},{first:6071,last:6077},{first:6086,last:6086},{first:6089,last:6099},{first:6109,last:6109},{first:6155,last:6157},{first:6313,last:6313},{first:6432,last:6434},{first:6439,last:6440},{first:6450,last:6450},{first:6457,last:6459},{first:6679,last:6680},{first:6912,last:6915},{first:6964,last:6964},{first:6966,last:6970},{first:6972,last:6972},{first:6978,last:6978},{first:7019,last:7027},{first:7616,last:7626},{first:7678,last:7679},{first:8203,last:8207},{first:8234,last:8238},{first:8288,last:8291},{first:8298,last:8303},{first:8400,last:8431},{first:12330,last:12335},{first:12441,last:12442},{first:43014,last:43014},{first:43019,last:43019},{first:43045,last:43046},{first:64286,last:64286},{first:65024,last:65039},{first:65056,last:65059},{first:65279,last:65279},{first:65529,last:65531},{first:68097,last:68099},{first:68101,last:68102},{first:68108,last:68111},{first:68152,last:68154},{first:68159,last:68159},{first:119143,last:119145},{first:119155,last:119170},{first:119173,last:119179},{first:119210,last:119213},{first:119362,last:119364},{first:917505,last:917505},{first:917536,last:917631},{first:917760,last:917999}];qn.default=Th});var sa=q($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});var Ph=(e,t,r)=>{let i=0,n,s=r;if(e<t[0].first||e>t[s].last)return 0;for(;s>=i;)if(n=Math.floor((i+s)/2),e>t[n].last)i=n+1;else if(e<t[n].first)s=n-1;else return 1;return 0};$n.default=Ph});var Cn=q(Mt=>{"use strict";var aa=Mt&&Mt.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Mt,"__esModule",{value:!0});var oa=aa(na()),Oh=aa(sa()),Ih=e=>e===0?0:e<32||e>=127&&e<160?-1:(0,Oh.default)(e,oa.default,oa.default.length-1)?0:1+ +(e>=4352&&(e<=4447||e===9001||e===9002||e>=11904&&e<=42191&&e!==12351||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141));Mt.default=Ih});var ca=q(Ft=>{"use strict";var Rh=Ft&&Ft.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ft,"__esModule",{value:!0});var jh=Rh(Cn()),Dh=e=>{let t=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r),n=(0,jh.default)(i);if(n<0)return-1;t+=n}return t};Ft.default=Dh});var da=q(Ne=>{"use strict";var pa=Ne&&Ne.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.wcswidth=Ne.wcwidth=void 0;var Lh=pa(ca());Ne.wcswidth=Lh.default;var Mh=pa(Cn());Ne.wcwidth=Mh.default});var An=q(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.findWidthInConsole=tt.stripAnsi=void 0;var Fh=da(),Uh=/\x1b\[\d{1,3}(;\d{1,3})*m/g,Bh=e=>e.replace(Uh,"");tt.stripAnsi=Bh;var Nh=(e,t)=>{let r=0;return e=(0,tt.stripAnsi)(e),t&&Object.entries(t).forEach(([i,n])=>{let s=new RegExp(i,"g");r+=(e.match(s)||[]).length*n,e=e.replace(i,"")}),r+=(0,Fh.wcswidth)(e),r};tt.findWidthInConsole=Nh});var Tn=q(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.biggestWordInSentence=xe.textWithPadding=xe.splitTextIntoTextsOfMinLen=void 0;var En=An(),Gh=(e,t,r)=>{let i=[];return e.split(/[\n\r]/).forEach(s=>{let o=s.split(" "),a=[],c=0;o.forEach(d=>{let p=(0,En.findWidthInConsole)(d,r);c+p<=t?(c+=p+1,a.push(d)):(a.length>0&&i.push(a.join(" ")),a=[d],c=p+1)}),i.push(a.join(" "))}),i};xe.splitTextIntoTextsOfMinLen=Gh;var zh=(e,t,r,i)=>{let n=(0,En.findWidthInConsole)(e,i),s=Math.floor((r-n)/2),o=r-s-n;if(r<n){let a=(0,xe.splitTextIntoTextsOfMinLen)(e,r);return a.length===1?e:a.map(c=>(0,xe.textWithPadding)(c,t,r,i)).join(`
|
|
30
|
-
`)}switch(t){case"left":return e.concat(" ".repeat(r-n));case"center":return" ".repeat(s).concat(e).concat(" ".repeat(o));default:return" ".repeat(r-n).concat(e)}};xe.textWithPadding=
|
|
31
|
-
`)};de.renderTable=xy;var wy=(e,t)=>{let r=new ly.default(t);return r.addRows(e),(0,de.renderTable)(r)};de.renderSimpleTable=wy;var ky=(e,t)=>{console.log((0,de.renderSimpleTable)(e,t))};de.printSimpleTable=ky});var Rn=q(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});var Sy=vn(),Sr=Lt(),jn=Ut(),Dn=la(),vy=In(),qy=()=>0,$y=()=>!0,Ln=class{initSimple(t){this.columns=t.map(r=>({name:r,title:r,alignment:Sr.DEFAULT_ROW_ALIGNMENT}))}initDetailed(t){var r;this.title=t?.title||this.title,this.tableStyle=Object.assign(Object.assign({},this.tableStyle),t?.style),this.sortFunction=t?.sort||this.sortFunction,this.filterFunction=t?.filter||this.filterFunction,this.enabledColumns=t?.enabledColumns||this.enabledColumns,this.disabledColumns=t?.disabledColumns||this.disabledColumns,this.computedColumns=t?.computedColumns||this.computedColumns,this.columns=((r=t?.columns)===null||r===void 0?void 0:r.map(i=>(0,Dn.rawColumnToInternalColumn)(i,t?.defaultColumnOptions)))||this.columns,this.rowSeparator=t?.rowSeparator||this.rowSeparator,this.charLength=t?.charLength||this.charLength,this.defaultColumnOptions=t?.defaultColumnOptions||this.defaultColumnOptions,t?.shouldDisableColors?this.colorMap={}:t?.colorMap&&(this.colorMap=Object.assign(Object.assign({},this.colorMap),t.colorMap)),t.rows!==void 0&&this.addRows(t.rows)}constructor(t){this.rows=[],this.columns=[],this.title=void 0,this.tableStyle=Sr.DEFAULT_TABLE_STYLE,this.filterFunction=$y,this.sortFunction=qy,this.enabledColumns=[],this.disabledColumns=[],this.computedColumns=[],this.rowSeparator=Sr.DEFAULT_ROW_SEPARATOR,this.colorMap=Sy.DEFAULT_COLOR_MAP,this.charLength={},this.defaultColumnOptions=void 0,this.transforms={},t instanceof Array?this.initSimple(t):typeof t=="object"&&this.initDetailed(t)}createColumnFromRow(t){let r=this.columns.map(i=>i.name);Object.keys(t).forEach(i=>{r.includes(i)||this.columns.push((0,Dn.rawColumnToInternalColumn)((0,jn.createColumFromOnlyName)(i),this.defaultColumnOptions))})}addColumn(t){let r=typeof t=="string"?(0,jn.createColumFromOnlyName)(t):t;this.columns.push((0,Dn.rawColumnToInternalColumn)(r,this.defaultColumnOptions))}addColumns(t){t.forEach(r=>{this.addColumn(r)})}addRow(t,r){this.createColumnFromRow(t),this.rows.push((0,jn.createRow)(r?.color||Sr.DEFAULT_ROW_FONT_COLOR,t,r?.separator!==void 0?r?.separator:this.rowSeparator))}addRows(t,r){t.forEach(i=>{this.addRow(i,r)})}renderTable(){return(0,vy.renderTable)(this)}};Mn.default=Ln});var xa=q(Bt=>{"use strict";var Cy=Bt&&Bt.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Bt,"__esModule",{value:!0});var Ay=Cy(Rn()),ba=Ut(),Fn=class{constructor(t){this.table=new Ay.default(t)}addColumn(t){return this.table.addColumn(t),this}addColumns(t){return this.table.addColumns(t),this}addRow(t,r){return this.table.addRow(t,(0,ba.convertRawRowOptionsToStandard)(r)),this}addRows(t,r){return this.table.addRows(t,(0,ba.convertRawRowOptionsToStandard)(r)),this}printTable(){let t=this.table.renderTable();console.log(t)}render(){return this.table.renderTable()}};Bt.default=Fn});var Nt=q(we=>{"use strict";var Ey=we&&we.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(we,"__esModule",{value:!0});we.renderTable=we.printTable=we.Table=void 0;var Ty=Ey(xa());we.Table=Ty.default;var wa=In();Object.defineProperty(we,"printTable",{enumerable:!0,get:function(){return wa.printSimpleTable}});Object.defineProperty(we,"renderTable",{enumerable:!0,get:function(){return wa.renderSimpleTable}})});var tc=q((i$,ec)=>{"use strict";ec.exports=Za;Za.sync=jf;var Xa=se("fs");function Rf(e,t){var r=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i<r.length;i++){var n=r[i].toLowerCase();if(n&&e.substr(-n.length).toLowerCase()===n)return!0}return!1}function Qa(e,t,r){return!e.isSymbolicLink()&&!e.isFile()?!1:Rf(t,r)}function Za(e,t,r){Xa.stat(e,function(i,n){r(i,i?!1:Qa(n,e,t))})}function jf(e,t){return Qa(Xa.statSync(e),e,t)}});var oc=q((n$,sc)=>{"use strict";sc.exports=ic;ic.sync=Df;var rc=se("fs");function ic(e,t,r){rc.stat(e,function(i,n){r(i,i?!1:nc(n,t))})}function Df(e,t){return nc(rc.statSync(e),t)}function nc(e,t){return e.isFile()&&Lf(e,t)}function Lf(e,t){var r=e.mode,i=e.uid,n=e.gid,s=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),o=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),c=parseInt("010",8),d=parseInt("001",8),p=a|c,u=r&d||r&c&&n===o||r&a&&i===s||r&p&&s===0;return u}});var cc=q((o$,ac)=>{"use strict";var s$=se("fs"),Fr;process.platform==="win32"||global.TESTING_WINDOWS?Fr=tc():Fr=oc();ac.exports=Qn;Qn.sync=Mf;function Qn(e,t,r){if(typeof t=="function"&&(r=t,t={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){Qn(e,t||{},function(s,o){s?n(s):i(o)})})}Fr(e,t||{},function(i,n){i&&(i.code==="EACCES"||t&&t.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function Mf(e,t){try{return Fr.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var yc=q((a$,hc)=>{"use strict";var wt=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",pc=se("path"),Ff=wt?";":":",dc=cc(),uc=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),lc=(e,t)=>{let r=t.colon||Ff,i=e.match(/\//)||wt&&e.match(/\\/)?[""]:[...wt?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],n=wt?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=wt?n.split(r):[""];return wt&&e.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},mc=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:i,pathExt:n,pathExtExe:s}=lc(e,t),o=[],a=d=>new Promise((p,u)=>{if(d===i.length)return t.all&&o.length?p(o):u(uc(e));let l=i[d],m=/^".*"$/.test(l)?l.slice(1,-1):l,h=pc.join(m,e),f=!m&&/^\.[\\\/]/.test(e)?e.slice(0,2)+h:h;p(c(f,d,0))}),c=(d,p,u)=>new Promise((l,m)=>{if(u===n.length)return l(a(p+1));let h=n[u];dc(d+h,{pathExt:s},(f,x)=>{if(!f&&x)if(t.all)o.push(d+h);else return l(d+h);return l(c(d,p,u+1))})});return r?a(0).then(d=>r(null,d),r):a(0)},Uf=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=lc(e,t),s=[];for(let o=0;o<r.length;o++){let a=r[o],c=/^".*"$/.test(a)?a.slice(1,-1):a,d=pc.join(c,e),p=!c&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d;for(let u=0;u<i.length;u++){let l=p+i[u];try{if(dc.sync(l,{pathExt:n}))if(t.all)s.push(l);else return l}catch{}}}if(t.all&&s.length)return s;if(t.nothrow)return null;throw uc(e)};hc.exports=mc;mc.sync=Uf});var gc=q((c$,Zn)=>{"use strict";var fc=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};Zn.exports=fc;Zn.exports.default=fc});var wc=q((p$,xc)=>{"use strict";var _c=se("path"),Bf=yc(),Nf=gc();function bc(e,t){let r=e.options.env||process.env,i=process.cwd(),n=e.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(e.options.cwd)}catch{}let o;try{o=Bf.sync(e.command,{path:r[Nf({env:r})],pathExt:t?_c.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=_c.resolve(n?e.options.cwd:"",o)),o}function Gf(e){return bc(e)||bc(e,!0)}xc.exports=Gf});var kc=q((d$,ts)=>{"use strict";var es=/([()\][%!^"`<>&|;, *?])/g;function zf(e){return e=e.replace(es,"^$1"),e}function Vf(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(es,"^$1"),t&&(e=e.replace(es,"^$1")),e}ts.exports.command=zf;ts.exports.argument=Vf});var vc=q((u$,Sc)=>{"use strict";Sc.exports=/^#!(.*)/});var $c=q((l$,qc)=>{"use strict";var Wf=vc();qc.exports=(e="")=>{let t=e.match(Wf);if(!t)return null;let[r,i]=t[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var Ac=q((m$,Cc)=>{"use strict";var rs=se("fs"),Hf=$c();function Kf(e){let r=Buffer.alloc(150),i;try{i=rs.openSync(e,"r"),rs.readSync(i,r,0,150,0),rs.closeSync(i)}catch{}return Hf(r.toString())}Cc.exports=Kf});var Oc=q((h$,Pc)=>{"use strict";var Yf=se("path"),Ec=wc(),Tc=kc(),Jf=Ac(),Xf=process.platform==="win32",Qf=/\.(?:com|exe)$/i,Zf=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function eg(e){e.file=Ec(e);let t=e.file&&Jf(e.file);return t?(e.args.unshift(e.file),e.command=t,Ec(e)):e.file}function tg(e){if(!Xf)return e;let t=eg(e),r=!Qf.test(t);if(e.options.forceShell||r){let i=Zf.test(t);e.command=Yf.normalize(e.command),e.command=Tc.command(e.command),e.args=e.args.map(s=>Tc.argument(s,i));let n=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${n}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function rg(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null),t=t?t.slice(0):[],r=Object.assign({},r);let i={command:e,args:t,options:r,file:void 0,original:{command:e,args:t}};return r.shell?i:tg(i)}Pc.exports=rg});var jc=q((y$,Rc)=>{"use strict";var is=process.platform==="win32";function ns(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function ig(e,t){if(!is)return;let r=e.emit;e.emit=function(i,n){if(i==="exit"){let s=Ic(n,t);if(s)return r.call(e,"error",s)}return r.apply(e,arguments)}}function Ic(e,t){return is&&e===1&&!t.file?ns(t.original,"spawn"):null}function ng(e,t){return is&&e===1&&!t.file?ns(t.original,"spawnSync"):null}Rc.exports={hookChildProcess:ig,verifyENOENT:Ic,verifyENOENTSync:ng,notFoundError:ns}});var Mc=q((f$,kt)=>{"use strict";var Dc=se("child_process"),ss=Oc(),os=jc();function Lc(e,t,r){let i=ss(e,t,r),n=Dc.spawn(i.command,i.args,i.options);return os.hookChildProcess(n,i),n}function sg(e,t,r){let i=ss(e,t,r),n=Dc.spawnSync(i.command,i.args,i.options);return n.error=n.error||os.verifyENOENTSync(n.status,i),n}kt.exports=Lc;kt.exports.spawn=Lc;kt.exports.sync=sg;kt.exports._parse=ss;kt.exports._enoent=os});var Ao=q((n1,sm)=>{"use strict";var Co={to(e,t){return t?`\x1B[${t+1};${e+1}H`:`\x1B[${e+1}G`},move(e,t){let r="";return e<0?r+=`\x1B[${-e}D`:e>0&&(r+=`\x1B[${e}C`),t<0?r+=`\x1B[${-t}A`:t>0&&(r+=`\x1B[${t}B`),r},up:(e=1)=>`\x1B[${e}A`,down:(e=1)=>`\x1B[${e}B`,forward:(e=1)=>`\x1B[${e}C`,backward:(e=1)=>`\x1B[${e}D`,nextLine:(e=1)=>"\x1B[E".repeat(e),prevLine:(e=1)=>"\x1B[F".repeat(e),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},Ok={up:(e=1)=>"\x1B[S".repeat(e),down:(e=1)=>"\x1B[T".repeat(e)},Ik={screen:"\x1B[2J",up:(e=1)=>"\x1B[1J".repeat(e),down:(e=1)=>"\x1B[J".repeat(e),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(e){let t="";for(let r=0;r<e;r++)t+=this.line+(r<e-1?Co.up():"");return e&&(t+=Co.left),t}};sm.exports={cursor:Co,scroll:Ok,erase:Ik,beep:"\x07"}});var Xo=B(Jo(),1),{program:MS,createCommand:FS,createArgument:US,createOption:BS,CommanderError:NS,InvalidArgumentError:GS,InvalidOptionArgumentError:zS,Command:Qo,Argument:VS,Option:Zo,Help:WS}=Xo.default;var Jm=B(X(),1);function A(e){if(!e)return;let t={};return e.expand?.length&&(t.expand=e.expand.join(",")),e.fields?.length&&(t.fields=e.fields.join(",")),Object.keys(t).length>0?t:void 0}function Sh(e){return e===!1?!1:{maxRetries:e?.maxRetries??2,retryOnStatus:e?.retryOnStatus??[429,500,502,503,504],baseDelay:e?.baseDelay??300,maxDelay:e?.maxDelay??1e4,retryOnNetworkError:e?.retryOnNetworkError??!0}}var vh=new Set(["page","limit","expand","sort","fields"]);function b(e){let t={};for(let[r,i]of Object.entries(e))if(i!==void 0){if(vh.has(r)){t[r]=Array.isArray(i)?i.join(","):i;continue}if(r.startsWith("q[")){t[r]=i;continue}if(Array.isArray(i)){let n=r.endsWith("[]")?r.slice(0,-2):r;t[`q[${n}][]`]=i}else t[`q[${r}]`]=i}return t}var et=class extends Error{code;status;details;constructor(e,t){super(e.error.message),this.name="SpreeError",this.code=e.error.code,this.status=t,this.details=e.error.details}};function ra(e,t){let r=t.baseDelay*2**e,i=Math.random()*t.baseDelay;return Math.min(r+i,t.maxDelay)}function ia(e){return new Promise(t=>setTimeout(t,e))}function qh(){return`spree-sdk-retry-${crypto.randomUUID()}`}function $h(e,t,r,i){return e==="GET"||e==="HEAD"||i?r.retryOnStatus.includes(t):t===429}function Ch(e,t,r){return t.retryOnNetworkError?e==="GET"||e==="HEAD"||r:!1}function Ah(e,t,r,i){return async function(s,o,a={}){let{token:c,spreeToken:d,idempotencyKey:p,headers:u={},body:l,params:m}=a,h=a.locale??i?.locale,f=a.currency??i?.currency,x=a.country??i?.country,_=a.channel??i?.channel,v=typeof window<"u"?window.location.origin:void 0,C=e.baseUrl||v;if(!C)throw new TypeError("sdk-core: baseUrl is required in non-browser environments (no window.location to resolve relative URLs against)");let E=new URL(`${e.baseUrl}${t}${o}`,C);m&&Object.entries(m).forEach(([N,S])=>{if(S!==void 0)if(Array.isArray(S))for(let Te of S)E.searchParams.append(N,String(Te));else E.searchParams.set(N,String(S))});let w={"Content-Type":"application/json",...u};r.headerValue&&(w[r.headerName]=r.headerValue),c&&(w.Authorization=`Bearer ${c}`),d&&(w["x-spree-token"]=d),h&&(w["x-spree-locale"]=h),f&&(w["x-spree-currency"]=f),x&&(w["x-spree-country"]=x),_&&(w["x-spree-channel"]=_);let O=p??(s!=="GET"&&s!=="HEAD"&&e.retryConfig?qh():void 0);O&&(w["Idempotency-Key"]=O);let R=!!O,F=e.retryConfig?e.retryConfig.maxRetries+1:1;for(let N=0;N<F;N++)try{let S=await e.fetchFn(E.toString(),{method:s,headers:w,body:l?JSON.stringify(l):void 0,credentials:e.credentials});if(!S.ok){if(!(N>=F-1)&&e.retryConfig&&$h(s,S.status,e.retryConfig,R)){let U=S.headers.get("Retry-After"),ne=U?Math.min(parseInt(U,10)*1e3,e.retryConfig.maxDelay):ra(N,e.retryConfig);await ia(ne);continue}let Pe=await S.json();throw new et(Pe,S.status)}return S.status===204?void 0:S.status===202?S.headers.get("content-type")?.includes("application/json")?S.json():void 0:S.json()}catch(S){if(S instanceof et)throw S;if(!(N>=F-1)&&e.retryConfig&&Ch(s,e.retryConfig,R)){let Pe=ra(N,e.retryConfig);await ia(Pe);continue}throw S}throw new Error("Unexpected end of retry loop")}}var Ze={"Spree::Product":"/products","Spree::Variant":"/variants","Spree::Order":"/orders","Spree::User":"/customers","Spree::Category":"/categories","Spree::OptionType":"/option_types"},Eh=class{request;constructor(e){this.request=e}parentScopedCustomFields(e){return{list:(t,r,i)=>this.request("GET",`${e}/${t}/custom_fields`,{...i,params:r?b(r):void 0}),get:(t,r,i)=>this.request("GET",`${e}/${t}/custom_fields/${r}`,i),create:(t,r,i)=>this.request("POST",`${e}/${t}/custom_fields`,{...i,body:r}),update:(t,r,i,n)=>this.request("PATCH",`${e}/${t}/custom_fields/${r}`,{...n,body:i}),delete:(t,r,i)=>this.request("DELETE",`${e}/${t}/custom_fields/${r}`,i)}}customFields(e,t){let r=Ze[e];if(!r)throw new Error(`Unknown custom-field owner type: ${e}. Add it to CUSTOM_FIELD_OWNER_PATHS.`);let i=this.parentScopedCustomFields(r);return{list:(n,s)=>i.list(t,n,s),get:(n,s)=>i.get(t,n,s),create:(n,s)=>i.create(t,n,s),update:(n,s,o)=>i.update(t,n,s,o),delete:(n,s)=>i.delete(t,n,s)}}customFieldDefinitions={list:(e,t)=>this.request("GET","/custom_field_definitions",{...t,params:e?b(e):void 0}),get:(e,t)=>this.request("GET",`/custom_field_definitions/${e}`,t),create:(e,t)=>this.request("POST","/custom_field_definitions",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/custom_field_definitions/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/custom_field_definitions/${e}`,t)};auth={login:(e,t)=>this.request("POST","/auth/login",{...t,body:e}),refresh:e=>this.request("POST","/auth/refresh",e),logout:e=>this.request("POST","/auth/logout",e),lookupInvitation:(e,t,r)=>this.request("GET",`/auth/invitations/${e}/lookup`,{...r,params:{token:t}}),acceptInvitation:(e,t,r,i)=>this.request("POST",`/auth/invitations/${e}/accept`,{...i,params:{token:t},body:r})};me={get:e=>this.request("GET","/me",e)};dashboard={analytics:(e,t)=>this.request("GET","/dashboard/analytics",{...t,params:e})};store={get:e=>this.request("GET","/store",e),update:(e,t)=>this.request("PATCH","/store",{...t,body:e})};products={list:(e,t)=>this.request("GET","/products",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/products/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/products",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/products/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/products/${e}`,t),clone:(e,t)=>this.request("POST",`/products/${e}/clone`,t),bulkStatusUpdate:(e,t)=>this.request("POST","/products/bulk_status_update",{...t,body:e}),bulkAddToCategories:(e,t)=>this.request("POST","/products/bulk_add_to_categories",{...t,body:e}),bulkRemoveFromCategories:(e,t)=>this.request("POST","/products/bulk_remove_from_categories",{...t,body:e}),bulkAddToChannels:(e,t)=>this.request("POST","/products/bulk_add_to_channels",{...t,body:e}),bulkRemoveFromChannels:(e,t)=>this.request("POST","/products/bulk_remove_from_channels",{...t,body:e}),bulkAddTags:(e,t)=>this.request("POST","/products/bulk_add_tags",{...t,body:e}),bulkRemoveTags:(e,t)=>this.request("POST","/products/bulk_remove_tags",{...t,body:e}),bulkDestroy:(e,t)=>this.request("DELETE","/products/bulk_destroy",{...t,body:e}),media:{list:(e,t,r)=>this.request("GET",`/products/${e}/media`,{...r,params:t?b(t):void 0}),create:(e,t,r)=>this.request("POST",`/products/${e}/media`,{...r,body:t}),update:(e,t,r,i)=>this.request("PATCH",`/products/${e}/media/${t}`,{...i,body:r}),delete:(e,t,r)=>this.request("DELETE",`/products/${e}/media/${t}`,r)},variants:{list:(e,t,r)=>this.request("GET",`/products/${e}/variants`,{...r,params:t?b(t):void 0}),get:(e,t,r,i)=>this.request("GET",`/products/${e}/variants/${t}`,{...i,params:A(r)}),create:(e,t,r)=>this.request("POST",`/products/${e}/variants`,{...r,body:t}),update:(e,t,r,i)=>this.request("PATCH",`/products/${e}/variants/${t}`,{...i,body:r}),delete:(e,t,r)=>this.request("DELETE",`/products/${e}/variants/${t}`,r),media:{list:(e,t,r,i)=>this.request("GET",`/products/${e}/variants/${t}/media`,{...i,params:r?b(r):void 0}),create:(e,t,r,i)=>this.request("POST",`/products/${e}/variants/${t}/media`,{...i,body:r}),update:(e,t,r,i,n)=>this.request("PATCH",`/products/${e}/variants/${t}/media/${r}`,{...n,body:i}),delete:(e,t,r,i)=>this.request("DELETE",`/products/${e}/variants/${t}/media/${r}`,i)}},customFields:this.parentScopedCustomFields(Ze["Spree::Product"])};orders={list:(e,t)=>this.request("GET","/orders",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/orders/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/orders",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/orders/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/orders/${e}`,t),complete:(e,t,r)=>this.request("PATCH",`/orders/${e}/complete`,{...r,body:t}),cancel:(e,t,r)=>this.request("PATCH",`/orders/${e}/cancel`,{...r,body:t}),approve:(e,t,r)=>this.request("PATCH",`/orders/${e}/approve`,{...r,body:t}),resume:(e,t)=>this.request("PATCH",`/orders/${e}/resume`,t),resendConfirmation:(e,t)=>this.request("POST",`/orders/${e}/resend_confirmation`,t),giftCards:{apply:(e,t,r)=>this.request("POST",`/orders/${e}/gift_cards`,{...r,body:t}),remove:(e,t,r)=>this.request("DELETE",`/orders/${e}/gift_cards/${t}`,r)},storeCredits:{apply:(e,t,r)=>this.request("POST",`/orders/${e}/store_credits`,{...r,body:t}),remove:(e,t)=>this.request("DELETE",`/orders/${e}/store_credits`,t)},items:{list:(e,t,r)=>this.request("GET",`/orders/${e}/items`,{...r,params:t?b(t):void 0}),get:(e,t,r,i)=>this.request("GET",`/orders/${e}/items/${t}`,{...i,params:A(r)}),create:(e,t,r)=>this.request("POST",`/orders/${e}/items`,{...r,body:t}),update:(e,t,r,i)=>this.request("PATCH",`/orders/${e}/items/${t}`,{...i,body:r}),delete:(e,t,r)=>this.request("DELETE",`/orders/${e}/items/${t}`,r)},fulfillments:{list:(e,t,r)=>this.request("GET",`/orders/${e}/fulfillments`,{...r,params:t?b(t):void 0}),get:(e,t,r,i)=>this.request("GET",`/orders/${e}/fulfillments/${t}`,{...i,params:A(r)}),update:(e,t,r,i)=>this.request("PATCH",`/orders/${e}/fulfillments/${t}`,{...i,body:r}),fulfill:(e,t,r)=>this.request("PATCH",`/orders/${e}/fulfillments/${t}/fulfill`,r),cancel:(e,t,r)=>this.request("PATCH",`/orders/${e}/fulfillments/${t}/cancel`,r),resume:(e,t,r)=>this.request("PATCH",`/orders/${e}/fulfillments/${t}/resume`,r),split:(e,t,r,i)=>this.request("PATCH",`/orders/${e}/fulfillments/${t}/split`,{...i,body:r})},payments:{list:(e,t,r)=>this.request("GET",`/orders/${e}/payments`,{...r,params:t?b(t):void 0}),get:(e,t,r,i)=>this.request("GET",`/orders/${e}/payments/${t}`,{...i,params:A(r)}),create:(e,t,r)=>this.request("POST",`/orders/${e}/payments`,{...r,body:t}),capture:(e,t,r)=>this.request("PATCH",`/orders/${e}/payments/${t}/capture`,r),void:(e,t,r)=>this.request("PATCH",`/orders/${e}/payments/${t}/void`,r)},refunds:{list:(e,t,r)=>this.request("GET",`/orders/${e}/refunds`,{...r,params:t?b(t):void 0}),create:(e,t,r)=>this.request("POST",`/orders/${e}/refunds`,{...r,body:t})},adjustments:{list:(e,t,r)=>this.request("GET",`/orders/${e}/adjustments`,{...r,params:t?b(t):void 0}),get:(e,t,r)=>this.request("GET",`/orders/${e}/adjustments/${t}`,r)},customFields:this.parentScopedCustomFields(Ze["Spree::Order"])};optionTypes={list:(e,t)=>this.request("GET","/option_types",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/option_types/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/option_types",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/option_types/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/option_types/${e}`,t),customFields:this.parentScopedCustomFields(Ze["Spree::OptionType"])};paymentMethods={list:(e,t)=>this.request("GET","/payment_methods",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/payment_methods/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/payment_methods",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/payment_methods/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/payment_methods/${e}`,t),types:e=>this.request("GET","/payment_methods/types",e)};priceLists={list:(e,t)=>this.request("GET","/price_lists",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/price_lists/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/price_lists",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/price_lists/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/price_lists/${e}`,t),activate:(e,t)=>this.request("PATCH",`/price_lists/${e}/activate`,t),deactivate:(e,t)=>this.request("PATCH",`/price_lists/${e}/deactivate`,t),ruleTypes:e=>this.request("GET","/price_lists/price_rule_types",e)};prices={list:(e,t)=>this.request("GET","/prices",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/prices/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/prices",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/prices/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/prices/${e}`,t),bulkUpsert:(e,t)=>this.request("POST","/prices/bulk_upsert",{...t,body:e}),bulkDestroy:(e,t)=>this.request("DELETE","/prices/bulk_destroy",{...t,body:e})};promotions={list:(e,t)=>this.request("GET","/promotions",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/promotions/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/promotions",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/promotions/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/promotions/${e}`,t),actions:{list:(e,t,r)=>this.request("GET",`/promotions/${e}/promotion_actions`,{...r,params:t?b(t):void 0}),get:(e,t,r)=>this.request("GET",`/promotions/${e}/promotion_actions/${t}`,r),create:(e,t,r)=>this.request("POST",`/promotions/${e}/promotion_actions`,{...r,body:t}),update:(e,t,r,i)=>this.request("PATCH",`/promotions/${e}/promotion_actions/${t}`,{...i,body:r}),delete:(e,t,r)=>this.request("DELETE",`/promotions/${e}/promotion_actions/${t}`,r)},rules:{list:(e,t,r)=>this.request("GET",`/promotions/${e}/promotion_rules`,{...r,params:t?b(t):void 0}),get:(e,t,r)=>this.request("GET",`/promotions/${e}/promotion_rules/${t}`,r),create:(e,t,r)=>this.request("POST",`/promotions/${e}/promotion_rules`,{...r,body:t}),update:(e,t,r,i)=>this.request("PATCH",`/promotions/${e}/promotion_rules/${t}`,{...i,body:r}),delete:(e,t,r)=>this.request("DELETE",`/promotions/${e}/promotion_rules/${t}`,r)},couponCodes:{list:(e,t,r)=>this.request("GET",`/promotions/${e}/coupon_codes`,{...r,params:t?b(t):void 0}),get:(e,t,r)=>this.request("GET",`/promotions/${e}/coupon_codes/${t}`,r)}};promotionActions={types:e=>this.request("GET","/promotion_actions/types",e),calculators:(e,t)=>this.request("GET","/promotion_actions/calculators",{...t,params:{type:e}})};promotionRules={types:e=>this.request("GET","/promotion_rules/types",e)};tags={list:(e,t)=>this.request("GET","/tags",{...t,params:e})};customerGroups={list:(e,t)=>this.request("GET","/customer_groups",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/customer_groups/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/customer_groups",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/customer_groups/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/customer_groups/${e}`,t)};giftCards={list:(e,t)=>this.request("GET","/gift_cards",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/gift_cards/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/gift_cards",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/gift_cards/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/gift_cards/${e}`,t)};giftCardBatches={list:(e,t)=>this.request("GET","/gift_card_batches",{...t,params:e?b(e):void 0}),get:(e,t)=>this.request("GET",`/gift_card_batches/${e}`,t),create:(e,t)=>this.request("POST","/gift_card_batches",{...t,body:e})};exports={list:(e,t)=>this.request("GET","/exports",{...t,params:e?b(e):void 0}),get:(e,t)=>this.request("GET",`/exports/${e}`,t),create:(e,t)=>this.request("POST","/exports",{...t,body:e}),delete:(e,t)=>this.request("DELETE",`/exports/${e}`,t)};customers={list:(e,t)=>this.request("GET","/customers",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/customers/${e}`,{...r,params:A(t)}),creditCards:{list:(e,t,r)=>this.request("GET",`/customers/${e}/credit_cards`,{...r,params:t?b(t):void 0}),get:(e,t,r,i)=>this.request("GET",`/customers/${e}/credit_cards/${t}`,{...i,params:A(r)}),delete:(e,t,r)=>this.request("DELETE",`/customers/${e}/credit_cards/${t}`,r)},create:(e,t)=>this.request("POST","/customers",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/customers/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/customers/${e}`,t),bulkAddToGroups:(e,t)=>this.request("POST","/customers/bulk_add_to_groups",{...t,body:e}),bulkRemoveFromGroups:(e,t)=>this.request("POST","/customers/bulk_remove_from_groups",{...t,body:e}),bulkAddTags:(e,t)=>this.request("POST","/customers/bulk_add_tags",{...t,body:e}),bulkRemoveTags:(e,t)=>this.request("POST","/customers/bulk_remove_tags",{...t,body:e}),addresses:{list:(e,t,r)=>this.request("GET",`/customers/${e}/addresses`,{...r,params:t?b(t):void 0}),get:(e,t,r,i)=>this.request("GET",`/customers/${e}/addresses/${t}`,{...i,params:A(r)}),create:(e,t,r)=>this.request("POST",`/customers/${e}/addresses`,{...r,body:t}),update:(e,t,r,i)=>this.request("PATCH",`/customers/${e}/addresses/${t}`,{...i,body:r}),delete:(e,t,r)=>this.request("DELETE",`/customers/${e}/addresses/${t}`,r)},storeCredits:{list:(e,t,r)=>this.request("GET",`/customers/${e}/store_credits`,{...r,params:t?b(t):void 0}),get:(e,t,r,i)=>this.request("GET",`/customers/${e}/store_credits/${t}`,{...i,params:A(r)}),create:(e,t,r)=>this.request("POST",`/customers/${e}/store_credits`,{...r,body:t}),update:(e,t,r,i)=>this.request("PATCH",`/customers/${e}/store_credits/${t}`,{...i,body:r}),delete:(e,t,r)=>this.request("DELETE",`/customers/${e}/store_credits/${t}`,r)},customFields:this.parentScopedCustomFields(Ze["Spree::User"])};categories={list:(e,t)=>this.request("GET","/categories",{...t,params:e?b(e):void 0}),customFields:this.parentScopedCustomFields(Ze["Spree::Category"])};variants={list:(e,t)=>this.request("GET","/variants",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/variants/${e}`,{...r,params:A(t)}),customFields:this.parentScopedCustomFields(Ze["Spree::Variant"])};taxCategories={list:(e,t)=>this.request("GET","/tax_categories",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/tax_categories/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/tax_categories",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/tax_categories/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/tax_categories/${e}`,t)};channels={list:(e,t)=>this.request("GET","/channels",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/channels/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/channels",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/channels/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/channels/${e}`,t),addProducts:(e,t,r)=>this.request("POST",`/channels/${e}/add_products`,{...r,body:t}),removeProducts:(e,t,r)=>this.request("POST",`/channels/${e}/remove_products`,{...r,body:t})};markets={list:(e,t)=>this.request("GET","/markets",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/markets/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/markets",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/markets/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/markets/${e}`,t)};storeCreditCategories={list:(e,t)=>this.request("GET","/store_credit_categories",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/store_credit_categories/${e}`,{...r,params:A(t)})};stockLocations={list:(e,t)=>this.request("GET","/stock_locations",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/stock_locations/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/stock_locations",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/stock_locations/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/stock_locations/${e}`,t)};stockItems={list:(e,t)=>this.request("GET","/stock_items",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/stock_items/${e}`,{...r,params:A(t)}),update:(e,t,r)=>this.request("PATCH",`/stock_items/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/stock_items/${e}`,t)};stockTransfers={list:(e,t)=>this.request("GET","/stock_transfers",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/stock_transfers/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/stock_transfers",{...t,body:e}),delete:(e,t)=>this.request("DELETE",`/stock_transfers/${e}`,t)};countries={list:(e,t)=>this.request("GET","/countries",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/countries/${e}`,{...r,params:A(t)})};directUploads={create:(e,t)=>this.request("POST","/direct_uploads",{...t,body:e})};adminUsers={list:(e,t)=>this.request("GET","/admin_users",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/admin_users/${e}`,{...r,params:A(t)}),update:(e,t,r)=>this.request("PATCH",`/admin_users/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/admin_users/${e}`,t)};invitations={list:(e,t)=>this.request("GET","/invitations",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/invitations/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/invitations",{...t,body:e}),delete:(e,t)=>this.request("DELETE",`/invitations/${e}`,t),resend:(e,t)=>this.request("PATCH",`/invitations/${e}/resend`,t)};apiKeys={list:(e,t)=>this.request("GET","/api_keys",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/api_keys/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/api_keys",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/api_keys/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/api_keys/${e}`,t),revoke:(e,t)=>this.request("PATCH",`/api_keys/${e}/revoke`,t)};allowedOrigins={list:(e,t)=>this.request("GET","/allowed_origins",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/allowed_origins/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/allowed_origins",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/allowed_origins/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/allowed_origins/${e}`,t)};webhookEndpoints={list:(e,t)=>this.request("GET","/webhook_endpoints",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/webhook_endpoints/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/webhook_endpoints",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/webhook_endpoints/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/webhook_endpoints/${e}`,t),sendTest:(e,t)=>this.request("POST",`/webhook_endpoints/${e}/send_test`,t),enable:(e,t)=>this.request("PATCH",`/webhook_endpoints/${e}/enable`,t),disable:(e,t,r)=>this.request("PATCH",`/webhook_endpoints/${e}/disable`,{...r,body:t}),deliveries:{list:(e,t,r)=>this.request("GET",`/webhook_endpoints/${e}/deliveries`,{...r,params:t?b(t):void 0}),get:(e,t,r)=>this.request("GET",`/webhook_endpoints/${e}/deliveries/${t}`,r),redeliver:(e,t,r)=>this.request("POST",`/webhook_endpoints/${e}/deliveries/${t}/redeliver`,r)}};roles={list:(e,t)=>this.request("GET","/roles",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/roles/${e}`,{...r,params:A(t)})}};function kr(e){let t=e.baseUrl.replace(/\/$/,""),r=e.fetch||fetch.bind(globalThis),i=Sh(e.retry),n={baseUrl:t,fetchFn:r,retryConfig:i,credentials:e.credentials??"include"},s=e.jwtToken,o=e.storeId,a=null,c="/api/v3/admin",d=async(l,m,h={})=>{let f={};o&&(f["X-Spree-Store-Id"]=o);let x={...h,headers:{...f,...h.headers}},_=()=>{let v=e.secretKey?{headerName:"X-Spree-Api-Key",headerValue:e.secretKey}:{headerName:"Authorization",headerValue:s?`Bearer ${s}`:""};return Ah(n,c,v)(l,m,x)};try{return await _()}catch(v){if(v instanceof et&&v.status===401&&a&&!m.includes("/auth/")&&await a())return _();throw v}},p=new Eh(d),u=Object.create(p);return u.setStore=l=>{o=l},u.setToken=l=>{s=l},u.onUnauthorized=l=>{a=l},u}var Bl=B(Nt(),1),Ye=B(X(),1);var ka=B(X(),1);import Py from"fs";var Un=Symbol("no-body");async function Sa(e){if(e===void 0)return Un;let t;if(e==="-")t=await Oy();else if(e.startsWith("@")){let r=e.slice(1);try{t=Py.readFileSync(r,"utf-8")}catch(i){throw i?.code==="ENOENT"?new Error(`Request body file not found: ${r}`):new Error(`Could not read request body file ${r}: ${i.message}`)}}else t=e;try{return JSON.parse(t)}catch{let r=e==="-"?" (from stdin)":e.startsWith("@")?` (${e.slice(1)})`:"";throw new Error(`Request body is not valid JSON${r}`)}}async function Oy(){process.stdin.isTTY&&process.stderr.write(`${ka.default.dim("Reading request body from stdin \u2014 paste JSON and press Ctrl-D...")}
|
|
32
|
-
`);let e=[];for await(let t of process.stdin)e.push(t);return Buffer.concat(e).toString("utf-8")}var
|
|
33
|
-
Run this command from a directory created with create-spree-app.`);let r=
|
|
34
|
-
`?(o-=1,a+=1):d==="u"&&t[a+2]==="{"?a=t.indexOf("}",a+3):a+=
|
|
35
|
-
`]),
|
|
29
|
+
`)}),this}_outputHelpIfRequested(t){let r=this._getHelpOption();r&&t.find(n=>r.is(n))&&(this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)"))}};function Wo(e){return e.map(t=>{if(!t.startsWith("--inspect"))return t;let r,i="127.0.0.1",n="9229",s;return(s=t.match(/^(--inspect(-brk)?)$/))!==null?r=s[1]:(s=t.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(r=s[1],/^\d+$/.test(s[3])?n=s[3]:i=s[3]):(s=t.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(r=s[1],i=s[3],n=s[4]),r&&n!=="0"?`${r}=${i}:${parseInt(n)+1}`:t})}function bn(){if(T.env.NO_COLOR||T.env.FORCE_COLOR==="0"||T.env.FORCE_COLOR==="false")return!1;if(T.env.FORCE_COLOR||T.env.CLICOLOR_FORCE!==void 0)return!0}xn.Command=_n;xn.useColor=bn});var Xo=q(pe=>{"use strict";var{Argument:Ko}=_r(),{Command:wn}=Ho(),{CommanderError:bh,InvalidArgumentError:Yo}=Dt(),{Help:xh}=un(),{Option:Jo}=yn();pe.program=new wn;pe.createCommand=e=>new wn(e);pe.createOption=(e,t)=>new Jo(e,t);pe.createArgument=(e,t)=>new Ko(e,t);pe.Command=wn;pe.Option=Jo;pe.Argument=Ko;pe.Help=xh;pe.CommanderError=bh;pe.InvalidArgumentError=Yo;pe.InvalidOptionArgumentError=Yo});var X=q((YS,kn)=>{"use strict";var wr=process||{},ta=wr.argv||[],xr=wr.env||{},wh=!(xr.NO_COLOR||ta.includes("--no-color"))&&(!!xr.FORCE_COLOR||ta.includes("--color")||wr.platform==="win32"||(wr.stdout||{}).isTTY&&xr.TERM!=="dumb"||!!xr.CI),kh=(e,t,r=e)=>i=>{let n=""+i,s=n.indexOf(t,e.length);return~s?e+Sh(n,t,r,s)+t:e+n+t},Sh=(e,t,r,i)=>{let n="",s=0;do n+=e.substring(s,i)+r,s=i+t.length,i=e.indexOf(t,s);while(~i);return n+e.substring(s)},ra=(e=wh)=>{let t=e?kh:()=>String;return{isColorSupported:e,reset:t("\x1B[0m","\x1B[0m"),bold:t("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:t("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:t("\x1B[3m","\x1B[23m"),underline:t("\x1B[4m","\x1B[24m"),inverse:t("\x1B[7m","\x1B[27m"),hidden:t("\x1B[8m","\x1B[28m"),strikethrough:t("\x1B[9m","\x1B[29m"),black:t("\x1B[30m","\x1B[39m"),red:t("\x1B[31m","\x1B[39m"),green:t("\x1B[32m","\x1B[39m"),yellow:t("\x1B[33m","\x1B[39m"),blue:t("\x1B[34m","\x1B[39m"),magenta:t("\x1B[35m","\x1B[39m"),cyan:t("\x1B[36m","\x1B[39m"),white:t("\x1B[37m","\x1B[39m"),gray:t("\x1B[90m","\x1B[39m"),bgBlack:t("\x1B[40m","\x1B[49m"),bgRed:t("\x1B[41m","\x1B[49m"),bgGreen:t("\x1B[42m","\x1B[49m"),bgYellow:t("\x1B[43m","\x1B[49m"),bgBlue:t("\x1B[44m","\x1B[49m"),bgMagenta:t("\x1B[45m","\x1B[49m"),bgCyan:t("\x1B[46m","\x1B[49m"),bgWhite:t("\x1B[47m","\x1B[49m"),blackBright:t("\x1B[90m","\x1B[39m"),redBright:t("\x1B[91m","\x1B[39m"),greenBright:t("\x1B[92m","\x1B[39m"),yellowBright:t("\x1B[93m","\x1B[39m"),blueBright:t("\x1B[94m","\x1B[39m"),magentaBright:t("\x1B[95m","\x1B[39m"),cyanBright:t("\x1B[96m","\x1B[39m"),whiteBright:t("\x1B[97m","\x1B[39m"),bgBlackBright:t("\x1B[100m","\x1B[49m"),bgRedBright:t("\x1B[101m","\x1B[49m"),bgGreenBright:t("\x1B[102m","\x1B[49m"),bgYellowBright:t("\x1B[103m","\x1B[49m"),bgBlueBright:t("\x1B[104m","\x1B[49m"),bgMagentaBright:t("\x1B[105m","\x1B[49m"),bgCyanBright:t("\x1B[106m","\x1B[49m"),bgWhiteBright:t("\x1B[107m","\x1B[49m")}};kn.exports=ra();kn.exports.createColors=ra});var vn=q(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.DEFAULT_COLOR_MAP=void 0;ht.DEFAULT_COLOR_MAP={red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",white_bold:"\x1B[01m",reset:"\x1B[0m"};var Sn=class{constructor(t=ht.DEFAULT_COLOR_MAP){this.text="",this.colorMap=t}addCharsWithColor(t,r){let i=this.colorMap[t];this.text+=i!==void 0?`${i}${r}${this.colorMap.reset}`:r}renderConsole(){return this.text}};ht.default=Sn});var Lt=q(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.DEFAULT_HEADER_ALIGNMENT=W.DEFAULT_ROW_ALIGNMENT=W.DEFAULT_HEADER_FONT_COLOR=W.DEFAULT_ROW_FONT_COLOR=W.COLORS=W.ALIGNMENTS=W.DEFAULT_TABLE_STYLE=W.DEFAULT_ROW_SEPARATOR=W.DEFAULT_COLUMN_LEN=void 0;W.DEFAULT_COLUMN_LEN=20;W.DEFAULT_ROW_SEPARATOR=!1;W.DEFAULT_TABLE_STYLE={headerTop:{left:"\u250C",mid:"\u252C",right:"\u2510",other:"\u2500"},headerBottom:{left:"\u251C",mid:"\u253C",right:"\u2524",other:"\u2500"},tableBottom:{left:"\u2514",mid:"\u2534",right:"\u2518",other:"\u2500"},vertical:"\u2502",rowSeparator:{left:"\u251C",mid:"\u253C",right:"\u2524",other:"\u2500"}};W.ALIGNMENTS=["right","left","center"];W.COLORS=["red","green","yellow","white","blue","magenta","cyan","white_bold","reset"];W.DEFAULT_ROW_FONT_COLOR="white";W.DEFAULT_HEADER_FONT_COLOR="white_bold";W.DEFAULT_ROW_ALIGNMENT="right";W.DEFAULT_HEADER_ALIGNMENT="center"});var sa=q(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});var Ph=[{first:768,last:879},{first:1155,last:1158},{first:1160,last:1161},{first:1425,last:1469},{first:1471,last:1471},{first:1473,last:1474},{first:1476,last:1477},{first:1479,last:1479},{first:1536,last:1539},{first:1552,last:1557},{first:1611,last:1630},{first:1648,last:1648},{first:1750,last:1764},{first:1767,last:1768},{first:1770,last:1773},{first:1807,last:1807},{first:1809,last:1809},{first:1840,last:1866},{first:1958,last:1968},{first:2027,last:2035},{first:2305,last:2306},{first:2364,last:2364},{first:2369,last:2376},{first:2381,last:2381},{first:2385,last:2388},{first:2402,last:2403},{first:2433,last:2433},{first:2492,last:2492},{first:2497,last:2500},{first:2509,last:2509},{first:2530,last:2531},{first:2561,last:2562},{first:2620,last:2620},{first:2625,last:2626},{first:2631,last:2632},{first:2635,last:2637},{first:2672,last:2673},{first:2689,last:2690},{first:2748,last:2748},{first:2753,last:2757},{first:2759,last:2760},{first:2765,last:2765},{first:2786,last:2787},{first:2817,last:2817},{first:2876,last:2876},{first:2879,last:2879},{first:2881,last:2883},{first:2893,last:2893},{first:2902,last:2902},{first:2946,last:2946},{first:3008,last:3008},{first:3021,last:3021},{first:3134,last:3136},{first:3142,last:3144},{first:3146,last:3149},{first:3157,last:3158},{first:3260,last:3260},{first:3263,last:3263},{first:3270,last:3270},{first:3276,last:3277},{first:3298,last:3299},{first:3393,last:3395},{first:3405,last:3405},{first:3530,last:3530},{first:3538,last:3540},{first:3542,last:3542},{first:3633,last:3633},{first:3636,last:3642},{first:3655,last:3662},{first:3761,last:3761},{first:3764,last:3769},{first:3771,last:3772},{first:3784,last:3789},{first:3864,last:3865},{first:3893,last:3893},{first:3895,last:3895},{first:3897,last:3897},{first:3953,last:3966},{first:3968,last:3972},{first:3974,last:3975},{first:3984,last:3991},{first:3993,last:4028},{first:4038,last:4038},{first:4141,last:4144},{first:4146,last:4146},{first:4150,last:4151},{first:4153,last:4153},{first:4184,last:4185},{first:4448,last:4607},{first:4959,last:4959},{first:5906,last:5908},{first:5938,last:5940},{first:5970,last:5971},{first:6002,last:6003},{first:6068,last:6069},{first:6071,last:6077},{first:6086,last:6086},{first:6089,last:6099},{first:6109,last:6109},{first:6155,last:6157},{first:6313,last:6313},{first:6432,last:6434},{first:6439,last:6440},{first:6450,last:6450},{first:6457,last:6459},{first:6679,last:6680},{first:6912,last:6915},{first:6964,last:6964},{first:6966,last:6970},{first:6972,last:6972},{first:6978,last:6978},{first:7019,last:7027},{first:7616,last:7626},{first:7678,last:7679},{first:8203,last:8207},{first:8234,last:8238},{first:8288,last:8291},{first:8298,last:8303},{first:8400,last:8431},{first:12330,last:12335},{first:12441,last:12442},{first:43014,last:43014},{first:43019,last:43019},{first:43045,last:43046},{first:64286,last:64286},{first:65024,last:65039},{first:65056,last:65059},{first:65279,last:65279},{first:65529,last:65531},{first:68097,last:68099},{first:68101,last:68102},{first:68108,last:68111},{first:68152,last:68154},{first:68159,last:68159},{first:119143,last:119145},{first:119155,last:119170},{first:119173,last:119179},{first:119210,last:119213},{first:119362,last:119364},{first:917505,last:917505},{first:917536,last:917631},{first:917760,last:917999}];qn.default=Ph});var oa=q($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});var Oh=(e,t,r)=>{let i=0,n,s=r;if(e<t[0].first||e>t[s].last)return 0;for(;s>=i;)if(n=Math.floor((i+s)/2),e>t[n].last)i=n+1;else if(e<t[n].first)s=n-1;else return 1;return 0};$n.default=Oh});var Cn=q(Mt=>{"use strict";var ca=Mt&&Mt.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Mt,"__esModule",{value:!0});var aa=ca(sa()),Ih=ca(oa()),Rh=e=>e===0?0:e<32||e>=127&&e<160?-1:(0,Ih.default)(e,aa.default,aa.default.length-1)?0:1+ +(e>=4352&&(e<=4447||e===9001||e===9002||e>=11904&&e<=42191&&e!==12351||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141));Mt.default=Rh});var pa=q(Ft=>{"use strict";var jh=Ft&&Ft.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ft,"__esModule",{value:!0});var Dh=jh(Cn()),Lh=e=>{let t=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r),n=(0,Dh.default)(i);if(n<0)return-1;t+=n}return t};Ft.default=Lh});var ua=q(Ge=>{"use strict";var da=Ge&&Ge.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ge,"__esModule",{value:!0});Ge.wcswidth=Ge.wcwidth=void 0;var Mh=da(pa());Ge.wcswidth=Mh.default;var Fh=da(Cn());Ge.wcwidth=Fh.default});var An=q(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.findWidthInConsole=rt.stripAnsi=void 0;var Uh=ua(),Bh=/\x1b\[\d{1,3}(;\d{1,3})*m/g,Nh=e=>e.replace(Bh,"");rt.stripAnsi=Nh;var Gh=(e,t)=>{let r=0;return e=(0,rt.stripAnsi)(e),t&&Object.entries(t).forEach(([i,n])=>{let s=new RegExp(i,"g");r+=(e.match(s)||[]).length*n,e=e.replace(i,"")}),r+=(0,Uh.wcswidth)(e),r};rt.findWidthInConsole=Gh});var Tn=q(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.biggestWordInSentence=xe.textWithPadding=xe.splitTextIntoTextsOfMinLen=void 0;var En=An(),zh=(e,t,r)=>{let i=[];return e.split(/[\n\r]/).forEach(s=>{let o=s.split(" "),a=[],c=0;o.forEach(d=>{let p=(0,En.findWidthInConsole)(d,r);c+p<=t?(c+=p+1,a.push(d)):(a.length>0&&i.push(a.join(" ")),a=[d],c=p+1)}),i.push(a.join(" "))}),i};xe.splitTextIntoTextsOfMinLen=zh;var Vh=(e,t,r,i)=>{let n=(0,En.findWidthInConsole)(e,i),s=Math.floor((r-n)/2),o=r-s-n;if(r<n){let a=(0,xe.splitTextIntoTextsOfMinLen)(e,r);return a.length===1?e:a.map(c=>(0,xe.textWithPadding)(c,t,r,i)).join(`
|
|
30
|
+
`)}switch(t){case"left":return e.concat(" ".repeat(r-n));case"center":return" ".repeat(s).concat(e).concat(" ".repeat(o));default:return" ".repeat(r-n).concat(e)}};xe.textWithPadding=Vh;var Wh=(e,t)=>e.split(" ").reduce((r,i)=>Math.max(r,(0,En.findWidthInConsole)(i,t)),0);xe.biggestWordInSentence=Wh});var Ut=q(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.getWidthLimitedColumnsArray=M.createHeaderAsRow=M.renderTableHorizontalBorders=M.findLenOfColumn=M.createRow=M.createColumFromOnlyName=M.createTableHorizontalBorders=M.convertRawRowOptionsToStandard=M.evaluateCellText=M.cellText=void 0;var la=An(),Pn=Tn(),On=Lt(),yt=(e,t)=>Math.max(e,t),Hh=e=>e==null?"":`${e}`;M.cellText=Hh;var Kh=(e,t)=>t?`${t(e)}`:(0,M.cellText)(e);M.evaluateCellText=Kh;var Yh=e=>{if(e)return{color:e.color,separator:e.separator||On.DEFAULT_ROW_SEPARATOR}};M.convertRawRowOptionsToStandard=Yh;var Jh=({left:e,mid:t,right:r,other:i},n)=>{let s=e;return n.forEach(o=>{s+=i.repeat(o+2),s+=t}),s=s.slice(0,-t.length),s+=r,s};M.createTableHorizontalBorders=Jh;var Xh=e=>({name:e,title:e});M.createColumFromOnlyName=Xh;var Qh=(e,t,r)=>({color:e,separator:r,text:t});M.createRow=Qh;var Zh=(e,t,r)=>{let i=e.name,n=e.title,s=e.transform,o=yt(0,e?.minLen||0);return e.maxLen?(o=yt(o,yt(e.maxLen,(0,Pn.biggestWordInSentence)(n,r))),o=t.reduce((a,c)=>yt(a,(0,Pn.biggestWordInSentence)((0,M.evaluateCellText)(c.text[i],s),r)),o),o):(o=yt(o,(0,la.findWidthInConsole)(n,r)),t.forEach(a=>{o=yt(o,(0,la.findWidthInConsole)((0,M.evaluateCellText)(a.text[i],s),r))}),o)};M.findLenOfColumn=Zh;var ey=(e,t)=>(0,M.createTableHorizontalBorders)(e,t);M.renderTableHorizontalBorders=ey;var ty=(e,t)=>{let r=On.DEFAULT_HEADER_FONT_COLOR,i=e(r,{},!1);return t.forEach(n=>{i.text[n.name]=n.title}),i};M.createHeaderAsRow=ty;var ry=(e,t,r)=>{let i={};return e.forEach(n=>{i[n.name]=(0,Pn.splitTextIntoTextsOfMinLen)((0,M.cellText)(t.text[n.name]),n.length||On.DEFAULT_COLUMN_LEN,r)}),i};M.getWidthLimitedColumnsArray=ry});var ma=q(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.rawColumnToInternalColumn=De.objIfExists=void 0;var iy=Lt(),ny=(e,t)=>t?{[e]:t}:{};De.objIfExists=ny;var sy=(e,t)=>{var r;return Object.assign(Object.assign(Object.assign(Object.assign({name:e.name,title:(r=e.title)!==null&&r!==void 0?r:e.name},(0,De.objIfExists)("color",e.color||t?.color)),(0,De.objIfExists)("maxLen",e.maxLen||t?.maxLen)),(0,De.objIfExists)("minLen",e.minLen||t?.minLen)),{alignment:e.alignment||t?.alignment||iy.DEFAULT_ROW_ALIGNMENT,transform:e.transform})};De.rawColumnToInternalColumn=sy});var ha=q(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.preProcessRows=ft.preProcessColumns=void 0;var oy=Ut(),ay=e=>{e.computedColumns.length&&e.computedColumns.forEach(t=>{e.columns.some(i=>i.name===t.name)||(e.addColumn(Object.assign(Object.assign({},t),e.defaultColumnOptions)),e.rows.forEach((i,n,s)=>{let o=s.map(a=>a.text);i.text[t.name]=t.function(i.text,n,o)}))})},cy=e=>{e.enabledColumns.length&&(e.columns=e.columns.filter(t=>e.enabledColumns.includes(t.name)))},py=e=>{e.disabledColumns.length&&(e.columns=e.columns.filter(t=>!e.disabledColumns.includes(t.name)))},dy=e=>{e.columns.forEach(t=>{t.length=(0,oy.findLenOfColumn)(t,e.rows,e.charLength)})},uy=e=>{ay(e),py(e),cy(e),dy(e)};ft.preProcessColumns=uy;var ly=e=>{let t=e.rows.filter(r=>e.filterFunction(r.text)).sort((r,i)=>e.sortFunction(r.text,i.text));e.rows=t};ft.preProcessRows=ly});var In=q(de=>{"use strict";var fa=de&&de.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(de,"__esModule",{value:!0});de.printSimpleTable=de.renderSimpleTable=de.renderTable=void 0;var ga=fa(vn()),_a=Tn(),ye=Lt(),ze=Ut(),my=fa(Rn()),ya=ha(),hy=(e,t,r,i,n,s,o,a)=>{let c=new ga.default(o);return c.addCharsWithColor("",e.vertical),t.forEach(d=>{let u=r<i[d.name].length?(0,ze.cellText)(i[d.name][r]):"";c.addCharsWithColor(ye.DEFAULT_ROW_FONT_COLOR," "),c.addCharsWithColor(n&&ye.DEFAULT_HEADER_FONT_COLOR||d.color||s.color,(0,_a.textWithPadding)(u,d.alignment||ye.DEFAULT_ROW_ALIGNMENT,d.length||ye.DEFAULT_COLUMN_LEN,a)),c.addCharsWithColor("",` ${e.vertical}`)}),c.renderConsole()},ba=(e,t,r,i,n,s)=>{let o=(0,ze.getWidthLimitedColumnsArray)(t,r,s),a=Object.values(o).reduce((d,p)=>Math.max(d,p.length),0),c=[];for(let d=0;d<a;d+=1){let p=hy(e,t,d,o,n,r,i,s);c.push(p)}return c},yy=(e,t)=>{let r=JSON.parse(JSON.stringify(e)),i={};return t.filter(n=>!!n.transform).forEach(n=>{i[n.name]=n.transform}),Object.keys(i).forEach(n=>{r.text[n]=i[n](r.text[n])}),r},fy=(e,t)=>{let r=[],i=yy(t,e.columns);return r=r.concat(ba(e.tableStyle,e.columns,i,e.colorMap,void 0,e.charLength)),r},gy=e=>{let t=[];if(e.title===void 0)return t;let r=()=>{let s=(o,a)=>o+a+2+1;return e.columns.map(o=>o.length||ye.DEFAULT_COLUMN_LEN).reduce(s,1)},i=(0,_a.textWithPadding)(e.title,ye.DEFAULT_HEADER_ALIGNMENT,r()),n=new ga.default(e.colorMap);return n.addCharsWithColor(ye.DEFAULT_HEADER_FONT_COLOR,i),t.push(n.renderConsole()),t},_y=e=>{let t=[];t.push((0,ze.renderTableHorizontalBorders)(e.tableStyle.headerTop,e.columns.map(i=>i.length||ye.DEFAULT_COLUMN_LEN)));let r=(0,ze.createHeaderAsRow)(ze.createRow,e.columns);return t=t.concat(ba(e.tableStyle,e.columns,r,e.colorMap,!0)),t.push((0,ze.renderTableHorizontalBorders)(e.tableStyle.headerBottom,e.columns.map(i=>i.length||ye.DEFAULT_COLUMN_LEN))),t},by=e=>{let t=[];return t.push((0,ze.renderTableHorizontalBorders)(e.tableStyle.tableBottom,e.columns.map(r=>r.length||ye.DEFAULT_COLUMN_LEN))),t},xy=(e,t)=>{let r=[],i=e.rows.length-1;return e.rows.indexOf(t)!==i&&t.separator&&r.push((0,ze.renderTableHorizontalBorders)(e.tableStyle.rowSeparator,e.columns.map(s=>s.length||ye.DEFAULT_COLUMN_LEN))),r},wy=e=>{(0,ya.preProcessColumns)(e),(0,ya.preProcessRows)(e);let t=[];return gy(e).forEach(r=>t.push(r)),_y(e).forEach(r=>t.push(r)),e.rows.forEach(r=>{fy(e,r).forEach(i=>t.push(i)),xy(e,r).forEach(i=>t.push(i))}),by(e).forEach(r=>t.push(r)),t.join(`
|
|
31
|
+
`)};de.renderTable=wy;var ky=(e,t)=>{let r=new my.default(t);return r.addRows(e),(0,de.renderTable)(r)};de.renderSimpleTable=ky;var Sy=(e,t)=>{console.log((0,de.renderSimpleTable)(e,t))};de.printSimpleTable=Sy});var Rn=q(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});var vy=vn(),Sr=Lt(),jn=Ut(),Dn=ma(),qy=In(),$y=()=>0,Cy=()=>!0,Ln=class{initSimple(t){this.columns=t.map(r=>({name:r,title:r,alignment:Sr.DEFAULT_ROW_ALIGNMENT}))}initDetailed(t){var r;this.title=t?.title||this.title,this.tableStyle=Object.assign(Object.assign({},this.tableStyle),t?.style),this.sortFunction=t?.sort||this.sortFunction,this.filterFunction=t?.filter||this.filterFunction,this.enabledColumns=t?.enabledColumns||this.enabledColumns,this.disabledColumns=t?.disabledColumns||this.disabledColumns,this.computedColumns=t?.computedColumns||this.computedColumns,this.columns=((r=t?.columns)===null||r===void 0?void 0:r.map(i=>(0,Dn.rawColumnToInternalColumn)(i,t?.defaultColumnOptions)))||this.columns,this.rowSeparator=t?.rowSeparator||this.rowSeparator,this.charLength=t?.charLength||this.charLength,this.defaultColumnOptions=t?.defaultColumnOptions||this.defaultColumnOptions,t?.shouldDisableColors?this.colorMap={}:t?.colorMap&&(this.colorMap=Object.assign(Object.assign({},this.colorMap),t.colorMap)),t.rows!==void 0&&this.addRows(t.rows)}constructor(t){this.rows=[],this.columns=[],this.title=void 0,this.tableStyle=Sr.DEFAULT_TABLE_STYLE,this.filterFunction=Cy,this.sortFunction=$y,this.enabledColumns=[],this.disabledColumns=[],this.computedColumns=[],this.rowSeparator=Sr.DEFAULT_ROW_SEPARATOR,this.colorMap=vy.DEFAULT_COLOR_MAP,this.charLength={},this.defaultColumnOptions=void 0,this.transforms={},t instanceof Array?this.initSimple(t):typeof t=="object"&&this.initDetailed(t)}createColumnFromRow(t){let r=this.columns.map(i=>i.name);Object.keys(t).forEach(i=>{r.includes(i)||this.columns.push((0,Dn.rawColumnToInternalColumn)((0,jn.createColumFromOnlyName)(i),this.defaultColumnOptions))})}addColumn(t){let r=typeof t=="string"?(0,jn.createColumFromOnlyName)(t):t;this.columns.push((0,Dn.rawColumnToInternalColumn)(r,this.defaultColumnOptions))}addColumns(t){t.forEach(r=>{this.addColumn(r)})}addRow(t,r){this.createColumnFromRow(t),this.rows.push((0,jn.createRow)(r?.color||Sr.DEFAULT_ROW_FONT_COLOR,t,r?.separator!==void 0?r?.separator:this.rowSeparator))}addRows(t,r){t.forEach(i=>{this.addRow(i,r)})}renderTable(){return(0,qy.renderTable)(this)}};Mn.default=Ln});var wa=q(Bt=>{"use strict";var Ay=Bt&&Bt.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Bt,"__esModule",{value:!0});var Ey=Ay(Rn()),xa=Ut(),Fn=class{constructor(t){this.table=new Ey.default(t)}addColumn(t){return this.table.addColumn(t),this}addColumns(t){return this.table.addColumns(t),this}addRow(t,r){return this.table.addRow(t,(0,xa.convertRawRowOptionsToStandard)(r)),this}addRows(t,r){return this.table.addRows(t,(0,xa.convertRawRowOptionsToStandard)(r)),this}printTable(){let t=this.table.renderTable();console.log(t)}render(){return this.table.renderTable()}};Bt.default=Fn});var Nt=q(we=>{"use strict";var Ty=we&&we.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(we,"__esModule",{value:!0});we.renderTable=we.printTable=we.Table=void 0;var Py=Ty(wa());we.Table=Py.default;var ka=In();Object.defineProperty(we,"printTable",{enumerable:!0,get:function(){return ka.printSimpleTable}});Object.defineProperty(we,"renderTable",{enumerable:!0,get:function(){return ka.renderSimpleTable}})});var rc=q((n$,tc)=>{"use strict";tc.exports=ec;ec.sync=Df;var Qa=se("fs");function jf(e,t){var r=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i<r.length;i++){var n=r[i].toLowerCase();if(n&&e.substr(-n.length).toLowerCase()===n)return!0}return!1}function Za(e,t,r){return!e.isSymbolicLink()&&!e.isFile()?!1:jf(t,r)}function ec(e,t,r){Qa.stat(e,function(i,n){r(i,i?!1:Za(n,e,t))})}function Df(e,t){return Za(Qa.statSync(e),e,t)}});var ac=q((s$,oc)=>{"use strict";oc.exports=nc;nc.sync=Lf;var ic=se("fs");function nc(e,t,r){ic.stat(e,function(i,n){r(i,i?!1:sc(n,t))})}function Lf(e,t){return sc(ic.statSync(e),t)}function sc(e,t){return e.isFile()&&Mf(e,t)}function Mf(e,t){var r=e.mode,i=e.uid,n=e.gid,s=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),o=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),c=parseInt("010",8),d=parseInt("001",8),p=a|c,u=r&d||r&c&&n===o||r&a&&i===s||r&p&&s===0;return u}});var pc=q((a$,cc)=>{"use strict";var o$=se("fs"),Fr;process.platform==="win32"||global.TESTING_WINDOWS?Fr=rc():Fr=ac();cc.exports=Qn;Qn.sync=Ff;function Qn(e,t,r){if(typeof t=="function"&&(r=t,t={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){Qn(e,t||{},function(s,o){s?n(s):i(o)})})}Fr(e,t||{},function(i,n){i&&(i.code==="EACCES"||t&&t.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function Ff(e,t){try{return Fr.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var fc=q((c$,yc)=>{"use strict";var wt=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",dc=se("path"),Uf=wt?";":":",uc=pc(),lc=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),mc=(e,t)=>{let r=t.colon||Uf,i=e.match(/\//)||wt&&e.match(/\\/)?[""]:[...wt?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],n=wt?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=wt?n.split(r):[""];return wt&&e.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},hc=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:i,pathExt:n,pathExtExe:s}=mc(e,t),o=[],a=d=>new Promise((p,u)=>{if(d===i.length)return t.all&&o.length?p(o):u(lc(e));let l=i[d],m=/^".*"$/.test(l)?l.slice(1,-1):l,h=dc.join(m,e),f=!m&&/^\.[\\\/]/.test(e)?e.slice(0,2)+h:h;p(c(f,d,0))}),c=(d,p,u)=>new Promise((l,m)=>{if(u===n.length)return l(a(p+1));let h=n[u];uc(d+h,{pathExt:s},(f,x)=>{if(!f&&x)if(t.all)o.push(d+h);else return l(d+h);return l(c(d,p,u+1))})});return r?a(0).then(d=>r(null,d),r):a(0)},Bf=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=mc(e,t),s=[];for(let o=0;o<r.length;o++){let a=r[o],c=/^".*"$/.test(a)?a.slice(1,-1):a,d=dc.join(c,e),p=!c&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d;for(let u=0;u<i.length;u++){let l=p+i[u];try{if(uc.sync(l,{pathExt:n}))if(t.all)s.push(l);else return l}catch{}}}if(t.all&&s.length)return s;if(t.nothrow)return null;throw lc(e)};yc.exports=hc;hc.sync=Bf});var _c=q((p$,Zn)=>{"use strict";var gc=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};Zn.exports=gc;Zn.exports.default=gc});var kc=q((d$,wc)=>{"use strict";var bc=se("path"),Nf=fc(),Gf=_c();function xc(e,t){let r=e.options.env||process.env,i=process.cwd(),n=e.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(e.options.cwd)}catch{}let o;try{o=Nf.sync(e.command,{path:r[Gf({env:r})],pathExt:t?bc.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=bc.resolve(n?e.options.cwd:"",o)),o}function zf(e){return xc(e)||xc(e,!0)}wc.exports=zf});var Sc=q((u$,ts)=>{"use strict";var es=/([()\][%!^"`<>&|;, *?])/g;function Vf(e){return e=e.replace(es,"^$1"),e}function Wf(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(es,"^$1"),t&&(e=e.replace(es,"^$1")),e}ts.exports.command=Vf;ts.exports.argument=Wf});var qc=q((l$,vc)=>{"use strict";vc.exports=/^#!(.*)/});var Cc=q((m$,$c)=>{"use strict";var Hf=qc();$c.exports=(e="")=>{let t=e.match(Hf);if(!t)return null;let[r,i]=t[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var Ec=q((h$,Ac)=>{"use strict";var rs=se("fs"),Kf=Cc();function Yf(e){let r=Buffer.alloc(150),i;try{i=rs.openSync(e,"r"),rs.readSync(i,r,0,150,0),rs.closeSync(i)}catch{}return Kf(r.toString())}Ac.exports=Yf});var Ic=q((y$,Oc)=>{"use strict";var Jf=se("path"),Tc=kc(),Pc=Sc(),Xf=Ec(),Qf=process.platform==="win32",Zf=/\.(?:com|exe)$/i,eg=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function tg(e){e.file=Tc(e);let t=e.file&&Xf(e.file);return t?(e.args.unshift(e.file),e.command=t,Tc(e)):e.file}function rg(e){if(!Qf)return e;let t=tg(e),r=!Zf.test(t);if(e.options.forceShell||r){let i=eg.test(t);e.command=Jf.normalize(e.command),e.command=Pc.command(e.command),e.args=e.args.map(s=>Pc.argument(s,i));let n=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${n}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function ig(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null),t=t?t.slice(0):[],r=Object.assign({},r);let i={command:e,args:t,options:r,file:void 0,original:{command:e,args:t}};return r.shell?i:rg(i)}Oc.exports=ig});var Dc=q((f$,jc)=>{"use strict";var is=process.platform==="win32";function ns(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function ng(e,t){if(!is)return;let r=e.emit;e.emit=function(i,n){if(i==="exit"){let s=Rc(n,t);if(s)return r.call(e,"error",s)}return r.apply(e,arguments)}}function Rc(e,t){return is&&e===1&&!t.file?ns(t.original,"spawn"):null}function sg(e,t){return is&&e===1&&!t.file?ns(t.original,"spawnSync"):null}jc.exports={hookChildProcess:ng,verifyENOENT:Rc,verifyENOENTSync:sg,notFoundError:ns}});var Fc=q((g$,kt)=>{"use strict";var Lc=se("child_process"),ss=Ic(),os=Dc();function Mc(e,t,r){let i=ss(e,t,r),n=Lc.spawn(i.command,i.args,i.options);return os.hookChildProcess(n,i),n}function og(e,t,r){let i=ss(e,t,r),n=Lc.spawnSync(i.command,i.args,i.options);return n.error=n.error||os.verifyENOENTSync(n.status,i),n}kt.exports=Mc;kt.exports.spawn=Mc;kt.exports.sync=og;kt.exports._parse=ss;kt.exports._enoent=os});var Eo=q((s1,om)=>{"use strict";var Ao={to(e,t){return t?`\x1B[${t+1};${e+1}H`:`\x1B[${e+1}G`},move(e,t){let r="";return e<0?r+=`\x1B[${-e}D`:e>0&&(r+=`\x1B[${e}C`),t<0?r+=`\x1B[${-t}A`:t>0&&(r+=`\x1B[${t}B`),r},up:(e=1)=>`\x1B[${e}A`,down:(e=1)=>`\x1B[${e}B`,forward:(e=1)=>`\x1B[${e}C`,backward:(e=1)=>`\x1B[${e}D`,nextLine:(e=1)=>"\x1B[E".repeat(e),prevLine:(e=1)=>"\x1B[F".repeat(e),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},Ok={up:(e=1)=>"\x1B[S".repeat(e),down:(e=1)=>"\x1B[T".repeat(e)},Ik={screen:"\x1B[2J",up:(e=1)=>"\x1B[1J".repeat(e),down:(e=1)=>"\x1B[J".repeat(e),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(e){let t="";for(let r=0;r<e;r++)t+=this.line+(r<e-1?Ao.up():"");return e&&(t+=Ao.left),t}};om.exports={cursor:Ao,scroll:Ok,erase:Ik,beep:"\x07"}});var Qo=B(Xo(),1),{program:FS,createCommand:US,createArgument:BS,createOption:NS,CommanderError:GS,InvalidArgumentError:zS,InvalidOptionArgumentError:VS,Command:Zo,Argument:WS,Option:ea,Help:HS}=Qo.default;var Xm=B(X(),1);function A(e){if(!e)return;let t={};return e.expand?.length&&(t.expand=e.expand.join(",")),e.fields?.length&&(t.fields=e.fields.join(",")),Object.keys(t).length>0?t:void 0}function vh(e){return e===!1?!1:{maxRetries:e?.maxRetries??2,retryOnStatus:e?.retryOnStatus??[429,500,502,503,504],baseDelay:e?.baseDelay??300,maxDelay:e?.maxDelay??1e4,retryOnNetworkError:e?.retryOnNetworkError??!0}}var qh=new Set(["page","limit","expand","sort","fields"]);function b(e){let t={};for(let[r,i]of Object.entries(e))if(i!==void 0){if(qh.has(r)){t[r]=Array.isArray(i)?i.join(","):i;continue}if(r.startsWith("q[")){t[r]=i;continue}if(Array.isArray(i)){let n=r.endsWith("[]")?r.slice(0,-2):r;t[`q[${n}][]`]=i}else t[`q[${r}]`]=i}return t}var tt=class extends Error{code;status;details;constructor(e,t){super(e.error.message),this.name="SpreeError",this.code=e.error.code,this.status=t,this.details=e.error.details}};function ia(e,t){let r=t.baseDelay*2**e,i=Math.random()*t.baseDelay;return Math.min(r+i,t.maxDelay)}function na(e){return new Promise(t=>setTimeout(t,e))}function $h(){return`spree-sdk-retry-${crypto.randomUUID()}`}function Ch(e,t,r,i){return e==="GET"||e==="HEAD"||i?r.retryOnStatus.includes(t):t===429}function Ah(e,t,r){return t.retryOnNetworkError?e==="GET"||e==="HEAD"||r:!1}function Eh(e,t,r,i){return async function(s,o,a={}){let{token:c,spreeToken:d,idempotencyKey:p,headers:u={},body:l,params:m}=a,h=a.locale??i?.locale,f=a.currency??i?.currency,x=a.country??i?.country,_=a.channel??i?.channel,v=typeof window<"u"?window.location.origin:void 0,C=e.baseUrl||v;if(!C)throw new TypeError("sdk-core: baseUrl is required in non-browser environments (no window.location to resolve relative URLs against)");let E=new URL(`${e.baseUrl}${t}${o}`,C);m&&Object.entries(m).forEach(([N,S])=>{if(S!==void 0)if(Array.isArray(S))for(let Pe of S)E.searchParams.append(N,String(Pe));else E.searchParams.set(N,String(S))});let w={"Content-Type":"application/json",...u};r.headerValue&&(w[r.headerName]=r.headerValue),c&&(w.Authorization=`Bearer ${c}`),d&&(w["x-spree-token"]=d),h&&(w["x-spree-locale"]=h),f&&(w["x-spree-currency"]=f),x&&(w["x-spree-country"]=x),_&&(w["x-spree-channel"]=_);let O=p??(s!=="GET"&&s!=="HEAD"&&e.retryConfig?$h():void 0);O&&(w["Idempotency-Key"]=O);let R=!!O,F=e.retryConfig?e.retryConfig.maxRetries+1:1;for(let N=0;N<F;N++)try{let S=await e.fetchFn(E.toString(),{method:s,headers:w,body:l?JSON.stringify(l):void 0,credentials:e.credentials});if(!S.ok){if(!(N>=F-1)&&e.retryConfig&&Ch(s,S.status,e.retryConfig,R)){let U=S.headers.get("Retry-After"),ne=U?Math.min(parseInt(U,10)*1e3,e.retryConfig.maxDelay):ia(N,e.retryConfig);await na(ne);continue}let Oe=await S.json();throw new tt(Oe,S.status)}return S.status===204?void 0:S.status===202?S.headers.get("content-type")?.includes("application/json")?S.json():void 0:S.json()}catch(S){if(S instanceof tt)throw S;if(!(N>=F-1)&&e.retryConfig&&Ah(s,e.retryConfig,R)){let Oe=ia(N,e.retryConfig);await na(Oe);continue}throw S}throw new Error("Unexpected end of retry loop")}}var et={"Spree::Product":"/products","Spree::Variant":"/variants","Spree::Order":"/orders","Spree::User":"/customers","Spree::Category":"/categories","Spree::OptionType":"/option_types"},Th=class{request;constructor(e){this.request=e}parentScopedCustomFields(e){return{list:(t,r,i)=>this.request("GET",`${e}/${t}/custom_fields`,{...i,params:r?b(r):void 0}),get:(t,r,i)=>this.request("GET",`${e}/${t}/custom_fields/${r}`,i),create:(t,r,i)=>this.request("POST",`${e}/${t}/custom_fields`,{...i,body:r}),update:(t,r,i,n)=>this.request("PATCH",`${e}/${t}/custom_fields/${r}`,{...n,body:i}),delete:(t,r,i)=>this.request("DELETE",`${e}/${t}/custom_fields/${r}`,i)}}customFields(e,t){let r=et[e];if(!r)throw new Error(`Unknown custom-field owner type: ${e}. Add it to CUSTOM_FIELD_OWNER_PATHS.`);let i=this.parentScopedCustomFields(r);return{list:(n,s)=>i.list(t,n,s),get:(n,s)=>i.get(t,n,s),create:(n,s)=>i.create(t,n,s),update:(n,s,o)=>i.update(t,n,s,o),delete:(n,s)=>i.delete(t,n,s)}}customFieldDefinitions={list:(e,t)=>this.request("GET","/custom_field_definitions",{...t,params:e?b(e):void 0}),get:(e,t)=>this.request("GET",`/custom_field_definitions/${e}`,t),create:(e,t)=>this.request("POST","/custom_field_definitions",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/custom_field_definitions/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/custom_field_definitions/${e}`,t)};auth={login:(e,t)=>this.request("POST","/auth/login",{...t,body:e}),refresh:e=>this.request("POST","/auth/refresh",e),logout:e=>this.request("POST","/auth/logout",e),lookupInvitation:(e,t,r)=>this.request("GET",`/auth/invitations/${e}/lookup`,{...r,params:{token:t}}),acceptInvitation:(e,t,r,i)=>this.request("POST",`/auth/invitations/${e}/accept`,{...i,params:{token:t},body:r})};me={get:e=>this.request("GET","/me",e)};dashboard={analytics:(e,t)=>this.request("GET","/dashboard/analytics",{...t,params:e})};store={get:e=>this.request("GET","/store",e),update:(e,t)=>this.request("PATCH","/store",{...t,body:e})};products={list:(e,t)=>this.request("GET","/products",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/products/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/products",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/products/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/products/${e}`,t),clone:(e,t)=>this.request("POST",`/products/${e}/clone`,t),bulkStatusUpdate:(e,t)=>this.request("POST","/products/bulk_status_update",{...t,body:e}),bulkAddToCategories:(e,t)=>this.request("POST","/products/bulk_add_to_categories",{...t,body:e}),bulkRemoveFromCategories:(e,t)=>this.request("POST","/products/bulk_remove_from_categories",{...t,body:e}),bulkAddToChannels:(e,t)=>this.request("POST","/products/bulk_add_to_channels",{...t,body:e}),bulkRemoveFromChannels:(e,t)=>this.request("POST","/products/bulk_remove_from_channels",{...t,body:e}),bulkAddTags:(e,t)=>this.request("POST","/products/bulk_add_tags",{...t,body:e}),bulkRemoveTags:(e,t)=>this.request("POST","/products/bulk_remove_tags",{...t,body:e}),bulkDestroy:(e,t)=>this.request("DELETE","/products/bulk_destroy",{...t,body:e}),media:{list:(e,t,r)=>this.request("GET",`/products/${e}/media`,{...r,params:t?b(t):void 0}),create:(e,t,r)=>this.request("POST",`/products/${e}/media`,{...r,body:t}),update:(e,t,r,i)=>this.request("PATCH",`/products/${e}/media/${t}`,{...i,body:r}),delete:(e,t,r)=>this.request("DELETE",`/products/${e}/media/${t}`,r)},variants:{list:(e,t,r)=>this.request("GET",`/products/${e}/variants`,{...r,params:t?b(t):void 0}),get:(e,t,r,i)=>this.request("GET",`/products/${e}/variants/${t}`,{...i,params:A(r)}),create:(e,t,r)=>this.request("POST",`/products/${e}/variants`,{...r,body:t}),update:(e,t,r,i)=>this.request("PATCH",`/products/${e}/variants/${t}`,{...i,body:r}),delete:(e,t,r)=>this.request("DELETE",`/products/${e}/variants/${t}`,r),media:{list:(e,t,r,i)=>this.request("GET",`/products/${e}/variants/${t}/media`,{...i,params:r?b(r):void 0}),create:(e,t,r,i)=>this.request("POST",`/products/${e}/variants/${t}/media`,{...i,body:r}),update:(e,t,r,i,n)=>this.request("PATCH",`/products/${e}/variants/${t}/media/${r}`,{...n,body:i}),delete:(e,t,r,i)=>this.request("DELETE",`/products/${e}/variants/${t}/media/${r}`,i)}},customFields:this.parentScopedCustomFields(et["Spree::Product"])};orders={list:(e,t)=>this.request("GET","/orders",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/orders/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/orders",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/orders/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/orders/${e}`,t),complete:(e,t,r)=>this.request("PATCH",`/orders/${e}/complete`,{...r,body:t}),cancel:(e,t,r)=>this.request("PATCH",`/orders/${e}/cancel`,{...r,body:t}),approve:(e,t,r)=>this.request("PATCH",`/orders/${e}/approve`,{...r,body:t}),resume:(e,t)=>this.request("PATCH",`/orders/${e}/resume`,t),resendConfirmation:(e,t)=>this.request("POST",`/orders/${e}/resend_confirmation`,t),giftCards:{apply:(e,t,r)=>this.request("POST",`/orders/${e}/gift_cards`,{...r,body:t}),remove:(e,t,r)=>this.request("DELETE",`/orders/${e}/gift_cards/${t}`,r)},storeCredits:{apply:(e,t,r)=>this.request("POST",`/orders/${e}/store_credits`,{...r,body:t}),remove:(e,t)=>this.request("DELETE",`/orders/${e}/store_credits`,t)},items:{list:(e,t,r)=>this.request("GET",`/orders/${e}/items`,{...r,params:t?b(t):void 0}),get:(e,t,r,i)=>this.request("GET",`/orders/${e}/items/${t}`,{...i,params:A(r)}),create:(e,t,r)=>this.request("POST",`/orders/${e}/items`,{...r,body:t}),update:(e,t,r,i)=>this.request("PATCH",`/orders/${e}/items/${t}`,{...i,body:r}),delete:(e,t,r)=>this.request("DELETE",`/orders/${e}/items/${t}`,r)},fulfillments:{list:(e,t,r)=>this.request("GET",`/orders/${e}/fulfillments`,{...r,params:t?b(t):void 0}),get:(e,t,r,i)=>this.request("GET",`/orders/${e}/fulfillments/${t}`,{...i,params:A(r)}),update:(e,t,r,i)=>this.request("PATCH",`/orders/${e}/fulfillments/${t}`,{...i,body:r}),fulfill:(e,t,r)=>this.request("PATCH",`/orders/${e}/fulfillments/${t}/fulfill`,r),cancel:(e,t,r)=>this.request("PATCH",`/orders/${e}/fulfillments/${t}/cancel`,r),resume:(e,t,r)=>this.request("PATCH",`/orders/${e}/fulfillments/${t}/resume`,r),split:(e,t,r,i)=>this.request("PATCH",`/orders/${e}/fulfillments/${t}/split`,{...i,body:r})},payments:{list:(e,t,r)=>this.request("GET",`/orders/${e}/payments`,{...r,params:t?b(t):void 0}),get:(e,t,r,i)=>this.request("GET",`/orders/${e}/payments/${t}`,{...i,params:A(r)}),create:(e,t,r)=>this.request("POST",`/orders/${e}/payments`,{...r,body:t}),capture:(e,t,r)=>this.request("PATCH",`/orders/${e}/payments/${t}/capture`,r),void:(e,t,r)=>this.request("PATCH",`/orders/${e}/payments/${t}/void`,r)},refunds:{list:(e,t,r)=>this.request("GET",`/orders/${e}/refunds`,{...r,params:t?b(t):void 0}),create:(e,t,r)=>this.request("POST",`/orders/${e}/refunds`,{...r,body:t})},adjustments:{list:(e,t,r)=>this.request("GET",`/orders/${e}/adjustments`,{...r,params:t?b(t):void 0}),get:(e,t,r)=>this.request("GET",`/orders/${e}/adjustments/${t}`,r)},customFields:this.parentScopedCustomFields(et["Spree::Order"])};optionTypes={list:(e,t)=>this.request("GET","/option_types",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/option_types/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/option_types",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/option_types/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/option_types/${e}`,t),customFields:this.parentScopedCustomFields(et["Spree::OptionType"])};paymentMethods={list:(e,t)=>this.request("GET","/payment_methods",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/payment_methods/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/payment_methods",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/payment_methods/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/payment_methods/${e}`,t),types:e=>this.request("GET","/payment_methods/types",e)};priceLists={list:(e,t)=>this.request("GET","/price_lists",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/price_lists/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/price_lists",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/price_lists/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/price_lists/${e}`,t),activate:(e,t)=>this.request("PATCH",`/price_lists/${e}/activate`,t),deactivate:(e,t)=>this.request("PATCH",`/price_lists/${e}/deactivate`,t),ruleTypes:e=>this.request("GET","/price_lists/price_rule_types",e)};prices={list:(e,t)=>this.request("GET","/prices",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/prices/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/prices",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/prices/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/prices/${e}`,t),bulkUpsert:(e,t)=>this.request("POST","/prices/bulk_upsert",{...t,body:e}),bulkDestroy:(e,t)=>this.request("DELETE","/prices/bulk_destroy",{...t,body:e})};promotions={list:(e,t)=>this.request("GET","/promotions",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/promotions/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/promotions",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/promotions/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/promotions/${e}`,t),actions:{list:(e,t,r)=>this.request("GET",`/promotions/${e}/promotion_actions`,{...r,params:t?b(t):void 0}),get:(e,t,r)=>this.request("GET",`/promotions/${e}/promotion_actions/${t}`,r),create:(e,t,r)=>this.request("POST",`/promotions/${e}/promotion_actions`,{...r,body:t}),update:(e,t,r,i)=>this.request("PATCH",`/promotions/${e}/promotion_actions/${t}`,{...i,body:r}),delete:(e,t,r)=>this.request("DELETE",`/promotions/${e}/promotion_actions/${t}`,r)},rules:{list:(e,t,r)=>this.request("GET",`/promotions/${e}/promotion_rules`,{...r,params:t?b(t):void 0}),get:(e,t,r)=>this.request("GET",`/promotions/${e}/promotion_rules/${t}`,r),create:(e,t,r)=>this.request("POST",`/promotions/${e}/promotion_rules`,{...r,body:t}),update:(e,t,r,i)=>this.request("PATCH",`/promotions/${e}/promotion_rules/${t}`,{...i,body:r}),delete:(e,t,r)=>this.request("DELETE",`/promotions/${e}/promotion_rules/${t}`,r)},couponCodes:{list:(e,t,r)=>this.request("GET",`/promotions/${e}/coupon_codes`,{...r,params:t?b(t):void 0}),get:(e,t,r)=>this.request("GET",`/promotions/${e}/coupon_codes/${t}`,r)}};promotionActions={types:e=>this.request("GET","/promotion_actions/types",e),calculators:(e,t)=>this.request("GET","/promotion_actions/calculators",{...t,params:{type:e}})};promotionRules={types:e=>this.request("GET","/promotion_rules/types",e)};tags={list:(e,t)=>this.request("GET","/tags",{...t,params:e})};customerGroups={list:(e,t)=>this.request("GET","/customer_groups",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/customer_groups/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/customer_groups",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/customer_groups/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/customer_groups/${e}`,t)};giftCards={list:(e,t)=>this.request("GET","/gift_cards",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/gift_cards/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/gift_cards",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/gift_cards/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/gift_cards/${e}`,t)};giftCardBatches={list:(e,t)=>this.request("GET","/gift_card_batches",{...t,params:e?b(e):void 0}),get:(e,t)=>this.request("GET",`/gift_card_batches/${e}`,t),create:(e,t)=>this.request("POST","/gift_card_batches",{...t,body:e})};exports={list:(e,t)=>this.request("GET","/exports",{...t,params:e?b(e):void 0}),get:(e,t)=>this.request("GET",`/exports/${e}`,t),create:(e,t)=>this.request("POST","/exports",{...t,body:e}),delete:(e,t)=>this.request("DELETE",`/exports/${e}`,t)};customers={list:(e,t)=>this.request("GET","/customers",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/customers/${e}`,{...r,params:A(t)}),creditCards:{list:(e,t,r)=>this.request("GET",`/customers/${e}/credit_cards`,{...r,params:t?b(t):void 0}),get:(e,t,r,i)=>this.request("GET",`/customers/${e}/credit_cards/${t}`,{...i,params:A(r)}),delete:(e,t,r)=>this.request("DELETE",`/customers/${e}/credit_cards/${t}`,r)},create:(e,t)=>this.request("POST","/customers",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/customers/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/customers/${e}`,t),bulkAddToGroups:(e,t)=>this.request("POST","/customers/bulk_add_to_groups",{...t,body:e}),bulkRemoveFromGroups:(e,t)=>this.request("POST","/customers/bulk_remove_from_groups",{...t,body:e}),bulkAddTags:(e,t)=>this.request("POST","/customers/bulk_add_tags",{...t,body:e}),bulkRemoveTags:(e,t)=>this.request("POST","/customers/bulk_remove_tags",{...t,body:e}),addresses:{list:(e,t,r)=>this.request("GET",`/customers/${e}/addresses`,{...r,params:t?b(t):void 0}),get:(e,t,r,i)=>this.request("GET",`/customers/${e}/addresses/${t}`,{...i,params:A(r)}),create:(e,t,r)=>this.request("POST",`/customers/${e}/addresses`,{...r,body:t}),update:(e,t,r,i)=>this.request("PATCH",`/customers/${e}/addresses/${t}`,{...i,body:r}),delete:(e,t,r)=>this.request("DELETE",`/customers/${e}/addresses/${t}`,r)},storeCredits:{list:(e,t,r)=>this.request("GET",`/customers/${e}/store_credits`,{...r,params:t?b(t):void 0}),get:(e,t,r,i)=>this.request("GET",`/customers/${e}/store_credits/${t}`,{...i,params:A(r)}),create:(e,t,r)=>this.request("POST",`/customers/${e}/store_credits`,{...r,body:t}),update:(e,t,r,i)=>this.request("PATCH",`/customers/${e}/store_credits/${t}`,{...i,body:r}),delete:(e,t,r)=>this.request("DELETE",`/customers/${e}/store_credits/${t}`,r)},customFields:this.parentScopedCustomFields(et["Spree::User"])};categories={list:(e,t)=>this.request("GET","/categories",{...t,params:e?b(e):void 0}),customFields:this.parentScopedCustomFields(et["Spree::Category"])};variants={list:(e,t)=>this.request("GET","/variants",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/variants/${e}`,{...r,params:A(t)}),customFields:this.parentScopedCustomFields(et["Spree::Variant"])};taxCategories={list:(e,t)=>this.request("GET","/tax_categories",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/tax_categories/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/tax_categories",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/tax_categories/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/tax_categories/${e}`,t)};channels={list:(e,t)=>this.request("GET","/channels",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/channels/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/channels",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/channels/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/channels/${e}`,t),addProducts:(e,t,r)=>this.request("POST",`/channels/${e}/add_products`,{...r,body:t}),removeProducts:(e,t,r)=>this.request("POST",`/channels/${e}/remove_products`,{...r,body:t})};markets={list:(e,t)=>this.request("GET","/markets",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/markets/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/markets",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/markets/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/markets/${e}`,t)};storeCreditCategories={list:(e,t)=>this.request("GET","/store_credit_categories",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/store_credit_categories/${e}`,{...r,params:A(t)})};stockLocations={list:(e,t)=>this.request("GET","/stock_locations",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/stock_locations/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/stock_locations",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/stock_locations/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/stock_locations/${e}`,t)};stockItems={list:(e,t)=>this.request("GET","/stock_items",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/stock_items/${e}`,{...r,params:A(t)}),update:(e,t,r)=>this.request("PATCH",`/stock_items/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/stock_items/${e}`,t)};stockTransfers={list:(e,t)=>this.request("GET","/stock_transfers",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/stock_transfers/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/stock_transfers",{...t,body:e}),delete:(e,t)=>this.request("DELETE",`/stock_transfers/${e}`,t)};countries={list:(e,t)=>this.request("GET","/countries",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/countries/${e}`,{...r,params:A(t)})};directUploads={create:(e,t)=>this.request("POST","/direct_uploads",{...t,body:e})};adminUsers={list:(e,t)=>this.request("GET","/admin_users",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/admin_users/${e}`,{...r,params:A(t)}),update:(e,t,r)=>this.request("PATCH",`/admin_users/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/admin_users/${e}`,t)};invitations={list:(e,t)=>this.request("GET","/invitations",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/invitations/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/invitations",{...t,body:e}),delete:(e,t)=>this.request("DELETE",`/invitations/${e}`,t),resend:(e,t)=>this.request("PATCH",`/invitations/${e}/resend`,t)};apiKeys={list:(e,t)=>this.request("GET","/api_keys",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/api_keys/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/api_keys",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/api_keys/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/api_keys/${e}`,t),revoke:(e,t)=>this.request("PATCH",`/api_keys/${e}/revoke`,t)};allowedOrigins={list:(e,t)=>this.request("GET","/allowed_origins",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/allowed_origins/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/allowed_origins",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/allowed_origins/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/allowed_origins/${e}`,t)};webhookEndpoints={list:(e,t)=>this.request("GET","/webhook_endpoints",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/webhook_endpoints/${e}`,{...r,params:A(t)}),create:(e,t)=>this.request("POST","/webhook_endpoints",{...t,body:e}),update:(e,t,r)=>this.request("PATCH",`/webhook_endpoints/${e}`,{...r,body:t}),delete:(e,t)=>this.request("DELETE",`/webhook_endpoints/${e}`,t),sendTest:(e,t)=>this.request("POST",`/webhook_endpoints/${e}/send_test`,t),enable:(e,t)=>this.request("PATCH",`/webhook_endpoints/${e}/enable`,t),disable:(e,t,r)=>this.request("PATCH",`/webhook_endpoints/${e}/disable`,{...r,body:t}),deliveries:{list:(e,t,r)=>this.request("GET",`/webhook_endpoints/${e}/deliveries`,{...r,params:t?b(t):void 0}),get:(e,t,r)=>this.request("GET",`/webhook_endpoints/${e}/deliveries/${t}`,r),redeliver:(e,t,r)=>this.request("POST",`/webhook_endpoints/${e}/deliveries/${t}/redeliver`,r)}};roles={list:(e,t)=>this.request("GET","/roles",{...t,params:e?b(e):void 0}),get:(e,t,r)=>this.request("GET",`/roles/${e}`,{...r,params:A(t)})}};function kr(e){let t=e.baseUrl.replace(/\/$/,""),r=e.fetch||fetch.bind(globalThis),i=vh(e.retry),n={baseUrl:t,fetchFn:r,retryConfig:i,credentials:e.credentials??"include"},s=e.jwtToken,o=e.storeId,a=null,c="/api/v3/admin",d=async(l,m,h={})=>{let f={};o&&(f["X-Spree-Store-Id"]=o);let x={...h,headers:{...f,...h.headers}},_=()=>{let v=e.secretKey?{headerName:"X-Spree-Api-Key",headerValue:e.secretKey}:{headerName:"Authorization",headerValue:s?`Bearer ${s}`:""};return Eh(n,c,v)(l,m,x)};try{return await _()}catch(v){if(v instanceof tt&&v.status===401&&a&&!m.includes("/auth/")&&await a())return _();throw v}},p=new Th(d),u=Object.create(p);return u.setStore=l=>{o=l},u.setToken=l=>{s=l},u.onUnauthorized=l=>{a=l},u}var Nl=B(Nt(),1),Je=B(X(),1);var Sa=B(X(),1);import Oy from"fs";var Un=Symbol("no-body");async function va(e){if(e===void 0)return Un;let t;if(e==="-")t=await Iy();else if(e.startsWith("@")){let r=e.slice(1);try{t=Oy.readFileSync(r,"utf-8")}catch(i){throw i?.code==="ENOENT"?new Error(`Request body file not found: ${r}`):new Error(`Could not read request body file ${r}: ${i.message}`)}}else t=e;try{return JSON.parse(t)}catch{let r=e==="-"?" (from stdin)":e.startsWith("@")?` (${e.slice(1)})`:"";throw new Error(`Request body is not valid JSON${r}`)}}async function Iy(){process.stdin.isTTY&&process.stderr.write(`${Sa.default.dim("Reading request body from stdin \u2014 paste JSON and press Ctrl-D...")}
|
|
32
|
+
`);let e=[];for await(let t of process.stdin)e.push(t);return Buffer.concat(e).toString("utf-8")}var vo=B(Nt(),1),ae=B(X(),1);var or=B(X(),1);import Be from"fs";import ak from"os";import It from"path";var vr="spree@example.com",qr="spree123";import Gt from"fs";import Bn from"path";function g(e=process.cwd()){let t=Bn.join(e,"docker-compose.yml");if(!Gt.existsSync(t))throw new Error(`Not a Spree project directory. No docker-compose.yml found.
|
|
33
|
+
Run this command from a directory created with create-spree-app.`);let r=Ry(e);return{mode:"docker",projectDir:e,port:r}}function gt(e){let t=Bn.join(e,".env");if(!Gt.existsSync(t))return!1;try{let r=Gt.readFileSync(t,"utf-8");return/^\s*SPREE_PATH\s*=/m.test(r)}catch{return!1}}function Ry(e){let t=Bn.join(e,".env");if(!Gt.existsSync(t))return 3e3;let i=Gt.readFileSync(t,"utf-8").match(/^SPREE_PORT=(\d+)/m);return i?Number(i[1]):3e3}function V(e){if(typeof e!="object"||e===null)return!1;let t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}import{fileURLToPath as jy}from"url";var _t=(e,t)=>{let r=Gn(Dy(e));if(typeof r!="string")throw new TypeError(`${t} must be a string or a file URL: ${r}.`);return r},Dy=e=>Nn(e)?e.toString():e,Nn=e=>typeof e!="string"&&e&&Object.getPrototypeOf(e)===String.prototype,Gn=e=>e instanceof URL?jy(e):e;var Cr=(e,t=[],r={})=>{let i=_t(e,"First argument"),[n,s]=V(t)?[[],t]:[t,r];if(!Array.isArray(n))throw new TypeError(`Second argument must be either an array of arguments or an options object: ${n}`);if(n.some(c=>typeof c=="object"&&c!==null))throw new TypeError(`Second argument must be an array of strings: ${n}`);let o=n.map(String),a=o.find(c=>c.includes("\0"));if(a!==void 0)throw new TypeError(`Arguments cannot contain null bytes ("\\0"): ${a}`);if(!V(s))throw new TypeError(`Last argument must be an options object: ${s}`);return[i,o,s]};import{ChildProcess as Gy}from"child_process";import{StringDecoder as Ly}from"string_decoder";var{toString:qa}=Object.prototype,$a=e=>qa.call(e)==="[object ArrayBuffer]",H=e=>qa.call(e)==="[object Uint8Array]",Le=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength),My=new TextEncoder,Ca=e=>My.encode(e),Fy=new TextDecoder,Ar=e=>Fy.decode(e),Aa=(e,t)=>Uy(e,t).join(""),Uy=(e,t)=>{if(t==="utf8"&&e.every(s=>typeof s=="string"))return e;let r=new Ly(t),i=e.map(s=>typeof s=="string"?Ca(s):s).map(s=>r.write(s)),n=r.end();return n===""?i:[...i,n]},zt=e=>e.length===1&&H(e[0])?e[0]:zn(By(e)),By=e=>e.map(t=>typeof t=="string"?Ca(t):t),zn=e=>{let t=new Uint8Array(Ny(e)),r=0;for(let i of e)t.set(i,r),r+=i.length;return t},Ny=e=>{let t=0;for(let r of e)t+=r.length;return t};var Oa=e=>Array.isArray(e)&&Array.isArray(e.raw),Ia=(e,t)=>{let r=[];for(let[s,o]of e.entries())r=zy({templates:e,expressions:t,tokens:r,index:s,template:o});if(r.length===0)throw new TypeError("Template script must not be empty");let[i,...n]=r;return[i,n,{}]},zy=({templates:e,expressions:t,tokens:r,index:i,template:n})=>{if(n===void 0)throw new TypeError(`Invalid backslash sequence: ${e.raw[i]}`);let{nextTokens:s,leadingWhitespaces:o,trailingWhitespaces:a}=Vy(n,e.raw[i]),c=Ta(r,s,o);if(i===t.length)return c;let d=t[i],p=Array.isArray(d)?d.map(u=>Pa(u)):[Pa(d)];return Ta(c,p,a)},Vy=(e,t)=>{if(t.length===0)return{nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};let r=[],i=0,n=Ea.has(t[0]);for(let o=0,a=0;o<e.length;o+=1,a+=1){let c=t[a];if(Ea.has(c))i!==o&&r.push(e.slice(i,o)),i=o+1;else if(c==="\\"){let d=t[a+1];d===`
|
|
34
|
+
`?(o-=1,a+=1):d==="u"&&t[a+2]==="{"?a=t.indexOf("}",a+3):a+=Wy[d]??1}}let s=i===e.length;return s||r.push(e.slice(i)),{nextTokens:r,leadingWhitespaces:n,trailingWhitespaces:s}},Ea=new Set([" "," ","\r",`
|
|
35
|
+
`]),Wy={x:3,u:5},Ta=(e,t,r)=>r||e.length===0||t.length===0?[...e,...t]:[...e.slice(0,-1),`${e.at(-1)}${t[0]}`,...t.slice(1)],Pa=e=>{let t=typeof e;if(t==="string")return e;if(t==="number")return String(e);if(V(e)&&("stdout"in e||"isMaxBuffer"in e))return Hy(e);throw e instanceof Gy||Object.prototype.toString.call(e)==="[object Promise]"?new TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}."):new TypeError(`Unexpected "${t}" in template expression`)},Hy=({stdout:e})=>{if(typeof e=="string")return e;if(H(e))return Ar(e);throw e===void 0?new TypeError(`Missing result.stdout in template expression. This is probably due to the previous subprocess' "stdout" option.`):new TypeError(`Unexpected "${typeof e}" stdout in template expression`)};import{spawnSync as Qx}from"child_process";import{debuglog as Ky}from"util";import Vn from"process";var fe=e=>Er.includes(e),Er=[Vn.stdin,Vn.stdout,Vn.stderr],ue=["stdin","stdout","stderr"],Tr=e=>ue[e]??`stdio[${e}]`;var ja=e=>{let t={...e};for(let r of Kn)t[r]=Wn(e,r);return t},Wn=(e,t)=>{let r=Array.from({length:Yy(e)+1}),i=Jy(e[t],r,t);return tf(i,t)},Yy=({stdio:e})=>Array.isArray(e)?Math.max(e.length,ue.length):ue.length,Jy=(e,t,r)=>V(e)?Xy(e,t,r):t.fill(e),Xy=(e,t,r)=>{for(let i of Object.keys(e).sort(Qy))for(let n of Zy(i,r,t))t[n]=e[i];return t},Qy=(e,t)=>Ra(e)<Ra(t)?1:-1,Ra=e=>e==="stdout"||e==="stderr"?0:e==="all"?2:1,Zy=(e,t,r)=>{if(e==="ipc")return[r.length-1];let i=Hn(e);if(i===void 0||i===0)throw new TypeError(`"${t}.${e}" is invalid.
|
|
36
36
|
It must be "${t}.stdout", "${t}.stderr", "${t}.all", "${t}.ipc", or "${t}.fd3", "${t}.fd4" (and so on).`);if(i>=r.length)throw new TypeError(`"${t}.${e}" is invalid: that file descriptor does not exist.
|
|
37
|
-
Please set the "stdio" option to ensure that file descriptor exists.`);return i==="all"?[1,2]:[i]},Hn=e=>{if(e==="all")return e;if(ue.includes(e))return ue.indexOf(e);let t=
|
|
38
|
-
`).map(t=>
|
|
39
|
-
`),
|
|
37
|
+
Please set the "stdio" option to ensure that file descriptor exists.`);return i==="all"?[1,2]:[i]},Hn=e=>{if(e==="all")return e;if(ue.includes(e))return ue.indexOf(e);let t=ef.exec(e);if(t!==null)return Number(t[1])},ef=/^fd(\d+)$/,tf=(e,t)=>e.map(r=>r===void 0?nf[t]:r),rf=Ky("execa").enabled?"full":"none",nf={lines:!1,buffer:!0,maxBuffer:1e3*1e3*100,verbose:rf,stripFinalNewline:!0},Kn=["lines","buffer","maxBuffer","verbose","stripFinalNewline"],Me=(e,t)=>t==="ipc"?e.at(-1):e[t];var bt=({verbose:e},t)=>Yn(e,t)!=="none",xt=({verbose:e},t)=>!["none","short"].includes(Yn(e,t)),Da=({verbose:e},t)=>{let r=Yn(e,t);return Pr(r)?r:void 0},Yn=(e,t)=>t===void 0?sf(e):Me(e,t),sf=e=>e.find(t=>Pr(t))??Or.findLast(t=>e.includes(t)),Pr=e=>typeof e=="function",Or=["none","short","full"];import{inspect as Cf}from"util";import{platform as of}from"process";import{stripVTControlCharacters as af}from"util";var La=(e,t)=>{let r=[e,...t],i=r.join(" "),n=r.map(s=>mf(Ma(s))).join(" ");return{command:i,escapedCommand:n}},Vt=e=>af(e).split(`
|
|
38
|
+
`).map(t=>Ma(t)).join(`
|
|
39
|
+
`),Ma=e=>e.replaceAll(df,t=>cf(t)),cf=e=>{let t=uf[e];if(t!==void 0)return t;let r=e.codePointAt(0),i=r.toString(16);return r<=lf?`\\u${i.padStart(4,"0")}`:`\\U${i}`},pf=()=>{try{return new RegExp("\\p{Separator}|\\p{Other}","gu")}catch{return/[\s\u0000-\u001F\u007F-\u009F\u00AD]/g}},df=pf(),uf={" ":" ","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},lf=65535,mf=e=>hf.test(e)?e:of==="win32"?`"${e.replaceAll('"','""')}"`:`'${e.replaceAll("'","'\\''")}'`,hf=/^[\w./-]+$/;import Fa from"process";function Jn(){let{env:e}=Fa,{TERM:t,TERM_PROGRAM:r}=e;return Fa.platform!=="win32"?t!=="linux":!!e.WT_SESSION||!!e.TERMINUS_SUBLIME||e.ConEmuTask==="{cmd::Cmder}"||r==="Terminus-Sublime"||r==="vscode"||t==="xterm-256color"||t==="alacritty"||t==="rxvt-unicode"||t==="rxvt-unicode-256color"||e.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Ua={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"\u2588",squareDarkShade:"\u2593",squareMediumShade:"\u2592",squareLightShade:"\u2591",squareTop:"\u2580",squareBottom:"\u2584",squareLeft:"\u258C",squareRight:"\u2590",squareCenter:"\u25A0",bullet:"\u25CF",dot:"\u2024",ellipsis:"\u2026",pointerSmall:"\u203A",triangleUp:"\u25B2",triangleUpSmall:"\u25B4",triangleDown:"\u25BC",triangleDownSmall:"\u25BE",triangleLeftSmall:"\u25C2",triangleRightSmall:"\u25B8",home:"\u2302",heart:"\u2665",musicNote:"\u266A",musicNoteBeamed:"\u266B",arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",arrowLeftRight:"\u2194",arrowUpDown:"\u2195",almostEqual:"\u2248",notEqual:"\u2260",lessOrEqual:"\u2264",greaterOrEqual:"\u2265",identical:"\u2261",infinity:"\u221E",subscriptZero:"\u2080",subscriptOne:"\u2081",subscriptTwo:"\u2082",subscriptThree:"\u2083",subscriptFour:"\u2084",subscriptFive:"\u2085",subscriptSix:"\u2086",subscriptSeven:"\u2087",subscriptEight:"\u2088",subscriptNine:"\u2089",oneHalf:"\xBD",oneThird:"\u2153",oneQuarter:"\xBC",oneFifth:"\u2155",oneSixth:"\u2159",oneEighth:"\u215B",twoThirds:"\u2154",twoFifths:"\u2156",threeQuarters:"\xBE",threeFifths:"\u2157",threeEighths:"\u215C",fourFifths:"\u2158",fiveSixths:"\u215A",fiveEighths:"\u215D",sevenEighths:"\u215E",line:"\u2500",lineBold:"\u2501",lineDouble:"\u2550",lineDashed0:"\u2504",lineDashed1:"\u2505",lineDashed2:"\u2508",lineDashed3:"\u2509",lineDashed4:"\u254C",lineDashed5:"\u254D",lineDashed6:"\u2574",lineDashed7:"\u2576",lineDashed8:"\u2578",lineDashed9:"\u257A",lineDashed10:"\u257C",lineDashed11:"\u257E",lineDashed12:"\u2212",lineDashed13:"\u2013",lineDashed14:"\u2010",lineDashed15:"\u2043",lineVertical:"\u2502",lineVerticalBold:"\u2503",lineVerticalDouble:"\u2551",lineVerticalDashed0:"\u2506",lineVerticalDashed1:"\u2507",lineVerticalDashed2:"\u250A",lineVerticalDashed3:"\u250B",lineVerticalDashed4:"\u254E",lineVerticalDashed5:"\u254F",lineVerticalDashed6:"\u2575",lineVerticalDashed7:"\u2577",lineVerticalDashed8:"\u2579",lineVerticalDashed9:"\u257B",lineVerticalDashed10:"\u257D",lineVerticalDashed11:"\u257F",lineDownLeft:"\u2510",lineDownLeftArc:"\u256E",lineDownBoldLeftBold:"\u2513",lineDownBoldLeft:"\u2512",lineDownLeftBold:"\u2511",lineDownDoubleLeftDouble:"\u2557",lineDownDoubleLeft:"\u2556",lineDownLeftDouble:"\u2555",lineDownRight:"\u250C",lineDownRightArc:"\u256D",lineDownBoldRightBold:"\u250F",lineDownBoldRight:"\u250E",lineDownRightBold:"\u250D",lineDownDoubleRightDouble:"\u2554",lineDownDoubleRight:"\u2553",lineDownRightDouble:"\u2552",lineUpLeft:"\u2518",lineUpLeftArc:"\u256F",lineUpBoldLeftBold:"\u251B",lineUpBoldLeft:"\u251A",lineUpLeftBold:"\u2519",lineUpDoubleLeftDouble:"\u255D",lineUpDoubleLeft:"\u255C",lineUpLeftDouble:"\u255B",lineUpRight:"\u2514",lineUpRightArc:"\u2570",lineUpBoldRightBold:"\u2517",lineUpBoldRight:"\u2516",lineUpRightBold:"\u2515",lineUpDoubleRightDouble:"\u255A",lineUpDoubleRight:"\u2559",lineUpRightDouble:"\u2558",lineUpDownLeft:"\u2524",lineUpBoldDownBoldLeftBold:"\u252B",lineUpBoldDownBoldLeft:"\u2528",lineUpDownLeftBold:"\u2525",lineUpBoldDownLeftBold:"\u2529",lineUpDownBoldLeftBold:"\u252A",lineUpDownBoldLeft:"\u2527",lineUpBoldDownLeft:"\u2526",lineUpDoubleDownDoubleLeftDouble:"\u2563",lineUpDoubleDownDoubleLeft:"\u2562",lineUpDownLeftDouble:"\u2561",lineUpDownRight:"\u251C",lineUpBoldDownBoldRightBold:"\u2523",lineUpBoldDownBoldRight:"\u2520",lineUpDownRightBold:"\u251D",lineUpBoldDownRightBold:"\u2521",lineUpDownBoldRightBold:"\u2522",lineUpDownBoldRight:"\u251F",lineUpBoldDownRight:"\u251E",lineUpDoubleDownDoubleRightDouble:"\u2560",lineUpDoubleDownDoubleRight:"\u255F",lineUpDownRightDouble:"\u255E",lineDownLeftRight:"\u252C",lineDownBoldLeftBoldRightBold:"\u2533",lineDownLeftBoldRightBold:"\u252F",lineDownBoldLeftRight:"\u2530",lineDownBoldLeftBoldRight:"\u2531",lineDownBoldLeftRightBold:"\u2532",lineDownLeftRightBold:"\u252E",lineDownLeftBoldRight:"\u252D",lineDownDoubleLeftDoubleRightDouble:"\u2566",lineDownDoubleLeftRight:"\u2565",lineDownLeftDoubleRightDouble:"\u2564",lineUpLeftRight:"\u2534",lineUpBoldLeftBoldRightBold:"\u253B",lineUpLeftBoldRightBold:"\u2537",lineUpBoldLeftRight:"\u2538",lineUpBoldLeftBoldRight:"\u2539",lineUpBoldLeftRightBold:"\u253A",lineUpLeftRightBold:"\u2536",lineUpLeftBoldRight:"\u2535",lineUpDoubleLeftDoubleRightDouble:"\u2569",lineUpDoubleLeftRight:"\u2568",lineUpLeftDoubleRightDouble:"\u2567",lineUpDownLeftRight:"\u253C",lineUpBoldDownBoldLeftBoldRightBold:"\u254B",lineUpDownBoldLeftBoldRightBold:"\u2548",lineUpBoldDownLeftBoldRightBold:"\u2547",lineUpBoldDownBoldLeftRightBold:"\u254A",lineUpBoldDownBoldLeftBoldRight:"\u2549",lineUpBoldDownLeftRight:"\u2540",lineUpDownBoldLeftRight:"\u2541",lineUpDownLeftBoldRight:"\u253D",lineUpDownLeftRightBold:"\u253E",lineUpBoldDownBoldLeftRight:"\u2542",lineUpDownLeftBoldRightBold:"\u253F",lineUpBoldDownLeftBoldRight:"\u2543",lineUpBoldDownLeftRightBold:"\u2544",lineUpDownBoldLeftBoldRight:"\u2545",lineUpDownBoldLeftRightBold:"\u2546",lineUpDoubleDownDoubleLeftDoubleRightDouble:"\u256C",lineUpDoubleDownDoubleLeftRight:"\u256B",lineUpDownLeftDoubleRightDouble:"\u256A",lineCross:"\u2573",lineBackslash:"\u2572",lineSlash:"\u2571"},Ba={tick:"\u2714",info:"\u2139",warning:"\u26A0",cross:"\u2718",squareSmall:"\u25FB",squareSmallFilled:"\u25FC",circle:"\u25EF",circleFilled:"\u25C9",circleDotted:"\u25CC",circleDouble:"\u25CE",circleCircle:"\u24DE",circleCross:"\u24E7",circlePipe:"\u24BE",radioOn:"\u25C9",radioOff:"\u25EF",checkboxOn:"\u2612",checkboxOff:"\u2610",checkboxCircleOn:"\u24E7",checkboxCircleOff:"\u24BE",pointer:"\u276F",triangleUpOutline:"\u25B3",triangleLeft:"\u25C0",triangleRight:"\u25B6",lozenge:"\u25C6",lozengeOutline:"\u25C7",hamburger:"\u2630",smiley:"\u32E1",mustache:"\u0DF4",star:"\u2605",play:"\u25B6",nodejs:"\u2B22",oneSeventh:"\u2150",oneNinth:"\u2151",oneTenth:"\u2152"},yf={tick:"\u221A",info:"i",warning:"\u203C",cross:"\xD7",squareSmall:"\u25A1",squareSmallFilled:"\u25A0",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(\u25CB)",circleCross:"(\xD7)",circlePipe:"(\u2502)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[\xD7]",checkboxOff:"[ ]",checkboxCircleOn:"(\xD7)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"\u2206",triangleLeft:"\u25C4",triangleRight:"\u25BA",lozenge:"\u2666",lozengeOutline:"\u25CA",hamburger:"\u2261",smiley:"\u263A",mustache:"\u250C\u2500\u2510",star:"\u2736",play:"\u25BA",nodejs:"\u2666",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"},ff={...Ua,...Ba},gf={...Ua,...yf},_f=Jn(),bf=_f?ff:gf,Ir=bf,Kv=Object.entries(Ba);import xf from"tty";var wf=xf?.WriteStream?.prototype?.hasColors?.()??!1,k=(e,t)=>{if(!wf)return n=>n;let r=`\x1B[${e}m`,i=`\x1B[${t}m`;return n=>{let s=n+"",o=s.indexOf(i);if(o===-1)return r+s+i;let a=r,c=0,p=(t===22?i:"")+r;for(;o!==-1;)a+=s.slice(c,o)+p,c=o+i.length,o=s.indexOf(i,c);return a+=s.slice(c)+i,a}},Xv=k(0,0),Na=k(1,22),Qv=k(2,22),Zv=k(3,23),eq=k(4,24),tq=k(53,55),rq=k(7,27),iq=k(8,28),nq=k(9,29),sq=k(30,39),oq=k(31,39),aq=k(32,39),cq=k(33,39),pq=k(34,39),dq=k(35,39),uq=k(36,39),lq=k(37,39),Rr=k(90,39),mq=k(40,49),hq=k(41,49),yq=k(42,49),fq=k(43,49),gq=k(44,49),_q=k(45,49),bq=k(46,49),xq=k(47,49),wq=k(100,49),Ga=k(91,39),kq=k(92,39),za=k(93,39),Sq=k(94,39),vq=k(95,39),qq=k(96,39),$q=k(97,39),Cq=k(101,49),Aq=k(102,49),Eq=k(103,49),Tq=k(104,49),Pq=k(105,49),Oq=k(106,49),Iq=k(107,49);var Ha=({type:e,message:t,timestamp:r,piped:i,commandId:n,result:{failed:s=!1}={},options:{reject:o=!0}})=>{let a=kf(r),c=Sf[e]({failed:s,reject:o,piped:i}),d=vf[e]({reject:o});return`${Rr(`[${a}]`)} ${Rr(`[${n}]`)} ${d(c)} ${d(t)}`},kf=e=>`${jr(e.getHours(),2)}:${jr(e.getMinutes(),2)}:${jr(e.getSeconds(),2)}.${jr(e.getMilliseconds(),3)}`,jr=(e,t)=>String(e).padStart(t,"0"),Va=({failed:e,reject:t})=>e?t?Ir.cross:Ir.warning:Ir.tick,Sf={command:({piped:e})=>e?"|":"$",output:()=>" ",ipc:()=>"*",error:Va,duration:Va},Wa=e=>e,vf={command:()=>Na,output:()=>Wa,ipc:()=>Wa,error:({reject:e})=>e?Ga:za,duration:()=>Rr};var Ka=(e,t,r)=>{let i=Da(t,r);return e.map(({verboseLine:n,verboseObject:s})=>qf(n,s,i)).filter(n=>n!==void 0).map(n=>$f(n)).join("")},qf=(e,t,r)=>{if(r===void 0)return e;let i=r(e,t);if(typeof i=="string")return i},$f=e=>e.endsWith(`
|
|
40
40
|
`)?e:`${e}
|
|
41
|
-
`;var ke=({type:e,verboseMessage:t,fdNumber:r,verboseInfo:i,result:n})=>{let s=
|
|
42
|
-
`).map(r=>
|
|
43
|
-
${cs()}`)},
|
|
44
|
-
${cs()}`)},
|
|
45
|
-
${cs()}`)},cs=()=>`Available signal names: ${
|
|
46
|
-
Available signal numbers: ${
|
|
41
|
+
`;var ke=({type:e,verboseMessage:t,fdNumber:r,verboseInfo:i,result:n})=>{let s=Af({type:e,result:n,verboseInfo:i}),o=Ef(t,s),a=Ka(o,i,r);a!==""&&console.warn(a.slice(0,-1))},Af=({type:e,result:t,verboseInfo:{escapedCommand:r,commandId:i,rawOptions:{piped:n=!1,...s}}})=>({type:e,escapedCommand:r,commandId:`${i}`,timestamp:new Date,piped:n,result:t,options:s}),Ef=(e,t)=>e.split(`
|
|
42
|
+
`).map(r=>Tf({...t,message:r})),Tf=e=>({verboseLine:Ha(e),verboseObject:e}),Dr=e=>{let t=typeof e=="string"?e:Cf(e);return Vt(t).replaceAll(" "," ".repeat(Pf))},Pf=2;var Ya=(e,t)=>{bt(t)&&ke({type:"command",verboseMessage:e,verboseInfo:t})};var Ja=(e,t,r)=>{Rf(e);let i=Of(e);return{verbose:e,escapedCommand:t,commandId:i,rawOptions:r}},Of=e=>bt({verbose:e})?If++:void 0,If=0n,Rf=e=>{for(let t of e){if(t===!1)throw new TypeError(`The "verbose: false" option was renamed to "verbose: 'none'".`);if(t===!0)throw new TypeError(`The "verbose: true" option was renamed to "verbose: 'short'".`);if(!Or.includes(t)&&!Pr(t)){let r=Or.map(i=>`'${i}'`).join(", ");throw new TypeError(`The "verbose" option must not be ${t}. Allowed values are: ${r} or a function.`)}}};import{hrtime as Xa}from"process";var Lr=()=>Xa.bigint(),Xn=e=>Number(Xa.bigint()-e)/1e6;var Mr=(e,t,r)=>{let i=Lr(),{command:n,escapedCommand:s}=La(e,t),o=Wn(r,"verbose"),a=Ja(o,s,{...r});return Ya(s,a),{command:n,escapedCommand:s,startTime:i,verboseInfo:a}};var Jp=B(Fc(),1);import g_ from"path";import Yp from"process";import Nr from"process";import it from"path";function Ur(e={}){let{env:t=process.env,platform:r=process.platform}=e;return r!=="win32"?"PATH":Object.keys(t).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"}import{promisify as ag}from"util";import{execFile as cg,execFileSync as w$}from"child_process";import Uc from"path";import{fileURLToPath as pg}from"url";var v$=ag(cg);function Br(e){return e instanceof URL?pg(e):e}function Bc(e){return{*[Symbol.iterator](){let t=Uc.resolve(Br(e)),r;for(;r!==t;)yield t,r=t,t=Uc.resolve(t,"..")}}}var q$=10*1024*1024;var dg=({cwd:e=Nr.cwd(),path:t=Nr.env[Ur()],preferLocal:r=!0,execPath:i=Nr.execPath,addExecPath:n=!0}={})=>{let s=it.resolve(Br(e)),o=[],a=t.split(it.delimiter);return r&&ug(o,a,s),n&&lg(o,a,i,s),t===""||t===it.delimiter?`${o.join(it.delimiter)}${t}`:[...o,t].join(it.delimiter)},ug=(e,t,r)=>{for(let i of Bc(r)){let n=it.join(i,"node_modules/.bin");t.includes(n)||e.push(n)}},lg=(e,t,r,i)=>{let n=it.resolve(i,Br(r),"..");t.includes(n)||e.push(n)},Nc=({env:e=Nr.env,...t}={})=>{e={...e};let r=Ur({env:e});return t.path=e[r],e[r]=dg(t),e};import{setTimeout as Cg}from"timers/promises";var Gc=(e,t,r)=>{let i=r?Ht:Wt,n=e instanceof ge?{}:{cause:e};return new i(t,n)},ge=class extends Error{},zc=(e,t)=>{Object.defineProperty(e.prototype,"name",{value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,Wc,{value:!0,writable:!1,enumerable:!1,configurable:!1})},Vc=e=>Gr(e)&&Wc in e,Wc=Symbol("isExecaError"),Gr=e=>Object.prototype.toString.call(e)==="[object Error]",Wt=class extends Error{};zc(Wt,Wt.name);var Ht=class extends Error{};zc(Ht,Ht.name);import{constants as Kt}from"os";import{constants as fg}from"os";var Hc=()=>{let e=Yc-Kc+1;return Array.from({length:e},mg)},mg=(e,t)=>({name:`SIGRT${t+1}`,number:Kc+t,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),Kc=34,Yc=64;import{constants as hg}from"os";var Jc=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}];var as=()=>{let e=Hc();return[...Jc,...e].map(yg)},yg=({name:e,number:t,description:r,action:i,forced:n=!1,standard:s})=>{let{signals:{[e]:o}}=hg,a=o!==void 0;return{name:e,number:a?o:t,description:r,supported:a,action:i,forced:n,standard:s}};var gg=()=>{let e=as();return Object.fromEntries(e.map(_g))},_g=({name:e,number:t,description:r,supported:i,action:n,forced:s,standard:o})=>[e,{name:e,number:t,description:r,supported:i,action:n,forced:s,standard:o}],Xc=gg(),bg=()=>{let e=as(),t=65,r=Array.from({length:t},(i,n)=>xg(n,e));return Object.assign({},...r)},xg=(e,t)=>{let r=wg(e,t);if(r===void 0)return{};let{name:i,description:n,supported:s,action:o,forced:a,standard:c}=r;return{[e]:{name:i,number:e,description:n,supported:s,action:o,forced:a,standard:c}}},wg=(e,t)=>{let r=t.find(({name:i})=>fg.signals[i]===e);return r!==void 0?r:t.find(i=>i.number===e)},N$=bg();var Zc=e=>{let t="option `killSignal`";if(e===0)throw new TypeError(`Invalid ${t}: 0 cannot be used.`);return tp(e,t)},ep=e=>e===0?e:tp(e,"`subprocess.kill()`'s argument"),tp=(e,t)=>{if(Number.isInteger(e))return kg(e,t);if(typeof e=="string")return vg(e,t);throw new TypeError(`Invalid ${t} ${String(e)}: it must be a string or an integer.
|
|
43
|
+
${cs()}`)},kg=(e,t)=>{if(Qc.has(e))return Qc.get(e);throw new TypeError(`Invalid ${t} ${e}: this signal integer does not exist.
|
|
44
|
+
${cs()}`)},Sg=()=>new Map(Object.entries(Kt.signals).reverse().map(([e,t])=>[t,e])),Qc=Sg(),vg=(e,t)=>{if(e in Kt.signals)return e;throw e.toUpperCase()in Kt.signals?new TypeError(`Invalid ${t} '${e}': please rename it to '${e.toUpperCase()}'.`):new TypeError(`Invalid ${t} '${e}': this signal name does not exist.
|
|
45
|
+
${cs()}`)},cs=()=>`Available signal names: ${qg()}.
|
|
46
|
+
Available signal numbers: ${$g()}.`,qg=()=>Object.keys(Kt.signals).sort().map(e=>`'${e}'`).join(", "),$g=()=>[...new Set(Object.values(Kt.signals).sort((e,t)=>e-t))].join(", "),zr=e=>Xc[e].description;var rp=e=>{if(e===!1)return e;if(e===!0)return Ag;if(!Number.isFinite(e)||e<0)throw new TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);return e},Ag=1e3*5,ip=({kill:e,options:{forceKillAfterDelay:t,killSignal:r},onInternalError:i,context:n,controller:s},o,a)=>{let{signal:c,error:d}=Eg(o,a,r);Tg(d,i);let p=e(c);return Pg({kill:e,signal:c,forceKillAfterDelay:t,killSignal:r,killResult:p,context:n,controller:s}),p},Eg=(e,t,r)=>{let[i=r,n]=Gr(e)?[void 0,e]:[e,t];if(typeof i!="string"&&!Number.isInteger(i))throw new TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(i)}`);if(n!==void 0&&!Gr(n))throw new TypeError(`The second argument is optional. If specified, it must be an error instance: ${n}`);return{signal:ep(i),error:n}},Tg=(e,t)=>{e!==void 0&&t.reject(e)},Pg=async({kill:e,signal:t,forceKillAfterDelay:r,killSignal:i,killResult:n,context:s,controller:o})=>{t===i&&n&&ps({kill:e,forceKillAfterDelay:r,context:s,controllerSignal:o.signal})},ps=async({kill:e,forceKillAfterDelay:t,context:r,controllerSignal:i})=>{if(t!==!1)try{await Cg(t,void 0,{signal:i}),e("SIGKILL")&&(r.isForcefullyTerminated??=!0)}catch{}};import{once as Og}from"events";var Vr=async(e,t)=>{e.aborted||await Og(e,"abort",{signal:t})};var np=({cancelSignal:e})=>{if(e!==void 0&&Object.prototype.toString.call(e)!=="[object AbortSignal]")throw new Error(`The \`cancelSignal\` option must be an AbortSignal: ${String(e)}`)},sp=({subprocess:e,cancelSignal:t,gracefulCancel:r,context:i,controller:n})=>t===void 0||r?[]:[Ig(e,t,i,n)],Ig=async(e,t,r,{signal:i})=>{throw await Vr(t,i),r.terminationReason??="cancel",e.kill(),t.reason};import{scheduler as e_}from"timers/promises";import{promisify as Xg}from"util";var St=({methodName:e,isSubprocess:t,ipc:r,isConnected:i})=>{Rg(e,t,r),ds(e,t,i)},Rg=(e,t,r)=>{if(!r)throw new Error(`${_e(e,t)} can only be used if the \`ipc\` option is \`true\`.`)},ds=(e,t,r)=>{if(!r)throw new Error(`${_e(e,t)} cannot be used: the ${Ve(t)} has already exited or disconnected.`)},op=e=>{throw new Error(`${_e("getOneMessage",e)} could not complete: the ${Ve(e)} exited or disconnected.`)},ap=e=>{throw new Error(`${_e("sendMessage",e)} failed: the ${Ve(e)} is sending a message too, instead of listening to incoming messages.
|
|
47
47
|
This can be fixed by both sending a message and listening to incoming messages at the same time:
|
|
48
48
|
|
|
49
49
|
const [receivedMessage] = await Promise.all([
|
|
50
50
|
${_e("getOneMessage",e)},
|
|
51
51
|
${_e("sendMessage",e,"message, {strict: true}")},
|
|
52
|
-
]);`)},Wr=(e,t)=>new Error(`${_e("sendMessage",t)} failed when sending an acknowledgment response to the ${
|
|
52
|
+
]);`)},Wr=(e,t)=>new Error(`${_e("sendMessage",t)} failed when sending an acknowledgment response to the ${Ve(t)}.`,{cause:e}),cp=e=>{throw new Error(`${_e("sendMessage",e)} failed: the ${Ve(e)} is not listening to incoming messages.`)},pp=e=>{throw new Error(`${_e("sendMessage",e)} failed: the ${Ve(e)} exited without listening to incoming messages.`)},dp=()=>new Error(`\`cancelSignal\` aborted: the ${Ve(!0)} disconnected.`),up=()=>{throw new Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.")},lp=({error:e,methodName:t,isSubprocess:r})=>{if(e.code==="EPIPE")throw new Error(`${_e(t,r)} cannot be used: the ${Ve(r)} is disconnecting.`,{cause:e})},mp=({error:e,methodName:t,isSubprocess:r,message:i})=>{if(jg(e))throw new Error(`${_e(t,r)}'s argument type is invalid: the message cannot be serialized: ${String(i)}.`,{cause:e})},jg=({code:e,message:t})=>Dg.has(e)||Lg.some(r=>t.includes(r)),Dg=new Set(["ERR_MISSING_ARGS","ERR_INVALID_ARG_TYPE"]),Lg=["could not be cloned","circular structure","call stack size exceeded"],_e=(e,t,r="")=>e==="cancelSignal"?"`cancelSignal`'s `controller.abort()`":`${Mg(t)}${e}(${r})`,Mg=e=>e?"":"subprocess.",Ve=e=>e?"parent process":"subprocess",vt=e=>{e.connected&&e.disconnect()};var Se=()=>{let e={},t=new Promise((r,i)=>{Object.assign(e,{resolve:r,reject:i})});return Object.assign(t,e)};var Kr=(e,t="stdin")=>{let{options:i,fileDescriptors:n}=ve.get(e),s=hp(n,t,!0),o=e.stdio[s];if(o===null)throw new TypeError(yp(s,t,i,!0));return o},qt=(e,t="stdout")=>{let{options:i,fileDescriptors:n}=ve.get(e),s=hp(n,t,!1),o=s==="all"?e.all:e.stdio[s];if(o==null)throw new TypeError(yp(s,t,i,!1));return o},ve=new WeakMap,hp=(e,t,r)=>{let i=Fg(t,r);return Ug(i,t,r,e),i},Fg=(e,t)=>{let r=Hn(e);if(r!==void 0)return r;let{validOptions:i,defaultValue:n}=t?{validOptions:'"stdin"',defaultValue:"stdin"}:{validOptions:'"stdout", "stderr", "all"',defaultValue:"stdout"};throw new TypeError(`"${Yt(t)}" must not be "${e}".
|
|
53
53
|
It must be ${i} or "fd3", "fd4" (and so on).
|
|
54
|
-
It is optional and defaults to "${n}".`)},
|
|
55
|
-
Please set the "stdio" option to ensure that file descriptor exists.`);if(n.direction==="input"&&!r)throw new TypeError(`"${Yt(r)}" must not be ${t}. It must be a readable stream, not writable.`);if(n.direction!=="input"&&r)throw new TypeError(`"${Yt(r)}" must not be ${t}. It must be a writable stream, not readable.`)},
|
|
56
|
-
Please set this option with "pipe" instead.`},
|
|
54
|
+
It is optional and defaults to "${n}".`)},Ug=(e,t,r,i)=>{let n=i[fp(e)];if(n===void 0)throw new TypeError(`"${Yt(r)}" must not be ${t}. That file descriptor does not exist.
|
|
55
|
+
Please set the "stdio" option to ensure that file descriptor exists.`);if(n.direction==="input"&&!r)throw new TypeError(`"${Yt(r)}" must not be ${t}. It must be a readable stream, not writable.`);if(n.direction!=="input"&&r)throw new TypeError(`"${Yt(r)}" must not be ${t}. It must be a writable stream, not readable.`)},yp=(e,t,r,i)=>{if(e==="all"&&!r.all)return`The "all" option must be true to use "from: 'all'".`;let{optionName:n,optionValue:s}=Bg(e,r);return`The "${n}: ${Hr(s)}" option is incompatible with using "${Yt(i)}: ${Hr(t)}".
|
|
56
|
+
Please set this option with "pipe" instead.`},Bg=(e,{stdin:t,stdout:r,stderr:i,stdio:n})=>{let s=fp(e);return s===0&&t!==void 0?{optionName:"stdin",optionValue:t}:s===1&&r!==void 0?{optionName:"stdout",optionValue:r}:s===2&&i!==void 0?{optionName:"stderr",optionValue:i}:{optionName:`stdio[${s}]`,optionValue:n[s]}},fp=e=>e==="all"?1:e,Yt=e=>e?"to":"from",Hr=e=>typeof e=="string"?`'${e}'`:typeof e=="number"?`${e}`:"Stream";import{once as Hg}from"events";import{addAbortListener as Ng}from"events";var nt=(e,t,r)=>{let i=e.getMaxListeners();i===0||i===Number.POSITIVE_INFINITY||(e.setMaxListeners(i+t),Ng(r,()=>{e.setMaxListeners(e.getMaxListeners()-t)}))};import{EventEmitter as Vg}from"events";import{once as Gg}from"events";import{scheduler as zg}from"timers/promises";var Yr=(e,t)=>{t&&us(e)},us=e=>{e.refCounted()},Jr=(e,t)=>{t&&ls(e)},ls=e=>{e.unrefCounted()},gp=(e,t)=>{t&&(ls(e),ls(e))},_p=(e,t)=>{t&&(us(e),us(e))};var bp=async({anyProcess:e,channel:t,isSubprocess:r,ipcEmitter:i},n)=>{if(kp(n)||vp(n))return;Xr.has(e)||Xr.set(e,[]);let s=Xr.get(e);if(s.push(n),!(s.length>1))for(;s.length>0;){await Sp(e,i,n),await zg.yield();let o=await wp({wrappedMessage:s[0],anyProcess:e,channel:t,isSubprocess:r,ipcEmitter:i});s.shift(),i.emit("message",o),i.emit("message:done")}},xp=async({anyProcess:e,channel:t,isSubprocess:r,ipcEmitter:i,boundOnMessage:n})=>{ms();let s=Xr.get(e);for(;s?.length>0;)await Gg(i,"message:done");e.removeListener("message",n),_p(t,r),i.connected=!1,i.emit("disconnect")},Xr=new WeakMap;var We=(e,t,r)=>{if(Qr.has(e))return Qr.get(e);let i=new Vg;return i.connected=!0,Qr.set(e,i),Wg({ipcEmitter:i,anyProcess:e,channel:t,isSubprocess:r}),i},Qr=new WeakMap,Wg=({ipcEmitter:e,anyProcess:t,channel:r,isSubprocess:i})=>{let n=bp.bind(void 0,{anyProcess:t,channel:r,isSubprocess:i,ipcEmitter:e});t.on("message",n),t.once("disconnect",xp.bind(void 0,{anyProcess:t,channel:r,isSubprocess:i,ipcEmitter:e,boundOnMessage:n})),gp(r,i)},Zr=e=>{let t=Qr.get(e);return t===void 0?e.channel!==null:t.connected};var qp=({anyProcess:e,channel:t,isSubprocess:r,message:i,strict:n})=>{if(!n)return i;let s=We(e,t,r),o=ri(e,s);return{id:Kg++,type:ti,message:i,hasListeners:o}},Kg=0n,$p=(e,t)=>{if(!(t?.type!==ti||t.hasListeners))for(let{id:r}of e)r!==void 0&&ei[r].resolve({isDeadlock:!0,hasListeners:!1})},wp=async({wrappedMessage:e,anyProcess:t,channel:r,isSubprocess:i,ipcEmitter:n})=>{if(e?.type!==ti||!t.connected)return e;let{id:s,message:o}=e,a={id:s,type:Ap,message:ri(t,n)};try{await ii({anyProcess:t,channel:r,isSubprocess:i,ipc:!0},a)}catch(c){n.emit("strict:error",c)}return o},kp=e=>{if(e?.type!==Ap)return!1;let{id:t,message:r}=e;return ei[t]?.resolve({isDeadlock:!1,hasListeners:r}),!0},Cp=async(e,t,r)=>{if(e?.type!==ti)return;let i=Se();ei[e.id]=i;let n=new AbortController;try{let{isDeadlock:s,hasListeners:o}=await Promise.race([i,Yg(t,r,n)]);s&&ap(r),o||cp(r)}finally{n.abort(),delete ei[e.id]}},ei={},Yg=async(e,t,{signal:r})=>{nt(e,1,r),await Hg(e,"disconnect",{signal:r}),pp(t)},ti="execa:ipc:request",Ap="execa:ipc:response";var Ep=(e,t,r)=>{Jt.has(e)||Jt.set(e,new Set);let i=Jt.get(e),n=Se(),s=r?t.id:void 0,o={onMessageSent:n,id:s};return i.add(o),{outgoingMessages:i,outgoingMessage:o}},Tp=({outgoingMessages:e,outgoingMessage:t})=>{e.delete(t),t.onMessageSent.resolve()},Sp=async(e,t,r)=>{for(;!ri(e,t)&&Jt.get(e)?.size>0;){let i=[...Jt.get(e)];$p(i,r),await Promise.all(i.map(({onMessageSent:n})=>n))}},Jt=new WeakMap,ri=(e,t)=>t.listenerCount("message")>Jg(e),Jg=e=>ve.has(e)&&!Me(ve.get(e).options.buffer,"ipc")?1:0;var ii=({anyProcess:e,channel:t,isSubprocess:r,ipc:i},n,{strict:s=!1}={})=>{let o="sendMessage";return St({methodName:o,isSubprocess:r,ipc:i,isConnected:e.connected}),Qg({anyProcess:e,channel:t,methodName:o,isSubprocess:r,message:n,strict:s})},Qg=async({anyProcess:e,channel:t,methodName:r,isSubprocess:i,message:n,strict:s})=>{let o=qp({anyProcess:e,channel:t,isSubprocess:i,message:n,strict:s}),a=Ep(e,o,s);try{await ys({anyProcess:e,methodName:r,isSubprocess:i,wrappedMessage:o,message:n})}catch(c){throw vt(e),c}finally{Tp(a)}},ys=async({anyProcess:e,methodName:t,isSubprocess:r,wrappedMessage:i,message:n})=>{let s=Zg(e);try{await Promise.all([Cp(i,e,r),s(i)])}catch(o){throw lp({error:o,methodName:t,isSubprocess:r}),mp({error:o,methodName:t,isSubprocess:r,message:n}),o}},Zg=e=>{if(hs.has(e))return hs.get(e);let t=Xg(e.send.bind(e));return hs.set(e,t),t},hs=new WeakMap;var Op=(e,t)=>{let r="cancelSignal";return ds(r,!1,e.connected),ys({anyProcess:e,methodName:r,isSubprocess:!1,wrappedMessage:{type:Rp,message:t},message:t})},Ip=async({anyProcess:e,channel:t,isSubprocess:r,ipc:i})=>(await t_({anyProcess:e,channel:t,isSubprocess:r,ipc:i}),fs.signal),t_=async({anyProcess:e,channel:t,isSubprocess:r,ipc:i})=>{if(!Pp){if(Pp=!0,!i){up();return}if(t===null){ms();return}We(e,t,r),await e_.yield()}},Pp=!1,vp=e=>e?.type!==Rp?!1:(fs.abort(e.message),!0),Rp="execa:ipc:cancel",ms=()=>{fs.abort(dp())},fs=new AbortController;var jp=({gracefulCancel:e,cancelSignal:t,ipc:r,serialization:i})=>{if(e){if(t===void 0)throw new Error("The `cancelSignal` option must be defined when setting the `gracefulCancel` option.");if(!r)throw new Error("The `ipc` option cannot be false when setting the `gracefulCancel` option.");if(i==="json")throw new Error("The `serialization` option cannot be 'json' when setting the `gracefulCancel` option.")}},Dp=({subprocess:e,cancelSignal:t,gracefulCancel:r,forceKillAfterDelay:i,context:n,controller:s})=>r?[r_({subprocess:e,cancelSignal:t,forceKillAfterDelay:i,context:n,controller:s})]:[],r_=async({subprocess:e,cancelSignal:t,forceKillAfterDelay:r,context:i,controller:{signal:n}})=>{await Vr(t,n);let s=i_(t);throw await Op(e,s),ps({kill:e.kill,forceKillAfterDelay:r,context:i,controllerSignal:n}),i.terminationReason??="gracefulCancel",t.reason},i_=({reason:e})=>{if(!(e instanceof DOMException))return e;let t=new Error(e.message);return Object.defineProperty(t,"stack",{value:e.stack,enumerable:!1,configurable:!0,writable:!0}),t};import{setTimeout as n_}from"timers/promises";var Lp=({timeout:e})=>{if(e!==void 0&&(!Number.isFinite(e)||e<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`)},Mp=(e,t,r,i)=>t===0||t===void 0?[]:[s_(e,t,r,i)],s_=async(e,t,r,{signal:i})=>{throw await n_(t,void 0,{signal:i}),r.terminationReason??="timeout",e.kill(),new ge};import{execPath as o_,execArgv as a_}from"process";import Fp from"path";var Up=({options:e})=>{if(e.node===!1)throw new TypeError('The "node" option cannot be false with `execaNode()`.');return{options:{...e,node:!0}}},Bp=(e,t,{node:r=!1,nodePath:i=o_,nodeOptions:n=a_.filter(c=>!c.startsWith("--inspect")),cwd:s,execPath:o,...a})=>{if(o!==void 0)throw new TypeError('The "execPath" option has been removed. Please use the "nodePath" option instead.');let c=_t(i,'The "nodePath" option'),d=Fp.resolve(s,c),p={...a,nodePath:d,node:r,cwd:s};if(!r)return[e,t,p];if(Fp.basename(e,".exe")==="node")throw new TypeError('When the "node" option is true, the first argument does not need to be "node".');return[d,[...n,e,...t],{ipc:!0,...p,shell:!1}]};import{serialize as c_}from"v8";var Np=({ipcInput:e,ipc:t,serialization:r})=>{if(e!==void 0){if(!t)throw new Error("The `ipcInput` option cannot be set unless the `ipc` option is `true`.");u_[r](e)}},p_=e=>{try{c_(e)}catch(t){throw new Error("The `ipcInput` option is not serializable with a structured clone.",{cause:t})}},d_=e=>{try{JSON.stringify(e)}catch(t){throw new Error("The `ipcInput` option is not serializable with JSON.",{cause:t})}},u_={advanced:p_,json:d_},Gp=async(e,t)=>{t!==void 0&&await e.sendMessage(t)};var Vp=({encoding:e})=>{if(gs.has(e))return;let t=m_(e);if(t!==void 0)throw new TypeError(`Invalid option \`encoding: ${ni(e)}\`.
|
|
57
57
|
Please rename it to ${ni(t)}.`);let r=[...gs].map(i=>ni(i)).join(", ");throw new TypeError(`Invalid option \`encoding: ${ni(e)}\`.
|
|
58
|
-
Please rename it to one of: ${r}.`)},
|
|
59
|
-
${e.message}`,e}},
|
|
58
|
+
Please rename it to one of: ${r}.`)},l_=new Set(["utf8","utf16le"]),oe=new Set(["buffer","hex","base64","base64url","latin1","ascii"]),gs=new Set([...l_,...oe]),m_=e=>{if(e===null)return"buffer";if(typeof e!="string")return;let t=e.toLowerCase();if(t in zp)return zp[t];if(gs.has(t))return t},zp={"utf-8":"utf8","utf-16le":"utf16le","ucs-2":"utf16le",ucs2:"utf16le",binary:"latin1"},ni=e=>typeof e=="string"?`"${e}"`:String(e);import{statSync as h_}from"fs";import y_ from"path";import f_ from"process";var Wp=(e=Hp())=>{let t=_t(e,'The "cwd" option');return y_.resolve(t)},Hp=()=>{try{return f_.cwd()}catch(e){throw e.message=`The current directory does not exist.
|
|
59
|
+
${e.message}`,e}},Kp=(e,t)=>{if(t===Hp())return e;let r;try{r=h_(t)}catch(i){return`The "cwd" option is invalid: ${t}.
|
|
60
60
|
${i.message}
|
|
61
61
|
${e}`}return r.isDirectory()?e:`The "cwd" option is not a directory: ${t}.
|
|
62
|
-
${e}`};var si=(e,t,r)=>{r.cwd=
|
|
63
|
-
`,
|
|
64
|
-
${E}`,L=`${C}: ${a}${w}`,O=t===void 0?[e[2],e[1]]:[t],R=[L,...O,...e.slice(3),r.map(F=>
|
|
65
|
-
`)].map(F=>Vt($t(
|
|
66
|
-
|
|
67
|
-
`);return{originalMessage:E,shortMessage:L,message:R}},
|
|
68
|
-
`):hd(e),hd=e=>typeof e=="string"?e:H(e)?Ar(e):"";var yi=({command:e,escapedCommand:t,stdio:r,all:i,ipcOutput:n,options:{cwd:s},startTime:o})=>fd({command:e,escapedCommand:t,cwd:s,durationMs:Xn(o),failed:!1,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isTerminated:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,exitCode:0,stdout:r[1],stderr:r[2],all:i,stdio:r,ipcOutput:n,pipedFrom:[]}),At=({error:e,command:t,escapedCommand:r,fileDescriptors:i,options:n,startTime:s,isSync:o})=>Zt({error:e,command:t,escapedCommand:r,startTime:s,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,stdio:Array.from({length:i.length}),ipcOutput:[],options:n,isSync:o}),Zt=({error:e,command:t,escapedCommand:r,startTime:i,timedOut:n,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:d,signal:p,stdio:u,all:l,ipcOutput:m,options:{timeoutDuration:h,timeout:f=h,forceKillAfterDelay:x,killSignal:_,cwd:v,maxBuffer:C},isSync:E})=>{let{exitCode:w,signal:L,signalDescription:O}=sb(d,p),{originalMessage:R,shortMessage:F,message:N}=yd({stdio:u,all:l,ipcOutput:m,originalError:e,signal:L,signalDescription:O,exitCode:w,escapedCommand:r,timedOut:n,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,forceKillAfterDelay:x,killSignal:_,maxBuffer:C,timeout:f,cwd:v}),S=Nc(e,N,E);return Object.assign(S,nb({error:S,command:t,escapedCommand:r,startTime:i,timedOut:n,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:w,signal:L,signalDescription:O,stdio:u,all:l,ipcOutput:m,cwd:v,originalMessage:R,shortMessage:F})),S},nb=({error:e,command:t,escapedCommand:r,startTime:i,timedOut:n,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:d,signal:p,signalDescription:u,stdio:l,all:m,ipcOutput:h,cwd:f,originalMessage:x,shortMessage:_})=>fd({shortMessage:_,originalMessage:x,command:t,escapedCommand:r,cwd:f,durationMs:Xn(i),failed:!0,timedOut:n,isCanceled:s,isGracefullyCanceled:o,isTerminated:p!==void 0,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:d,signal:p,signalDescription:u,code:e.cause?.code,stdout:l[1],stderr:l[2],all:m,stdio:l,ipcOutput:h,pipedFrom:[]}),fd=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0)),sb=(e,t)=>{let r=e===null?void 0:e,i=t===null?void 0:t,n=i===void 0?void 0:zr(t);return{exitCode:r,signal:i,signalDescription:n}};var gd=e=>Number.isFinite(e)?e:0;function ob(e){return{days:Math.trunc(e/864e5),hours:Math.trunc(e/36e5%24),minutes:Math.trunc(e/6e4%60),seconds:Math.trunc(e/1e3%60),milliseconds:Math.trunc(e%1e3),microseconds:Math.trunc(gd(e*1e3)%1e3),nanoseconds:Math.trunc(gd(e*1e6)%1e3)}}function ab(e){return{days:e/86400000n,hours:e/3600000n%24n,minutes:e/60000n%60n,seconds:e/1000n%60n,milliseconds:e%1000n,microseconds:0n,nanoseconds:0n}}function Ss(e){switch(typeof e){case"number":{if(Number.isFinite(e))return ob(e);break}case"bigint":return ab(e)}throw new TypeError("Expected a finite number or bigint")}var cb=e=>e===0||e===0n,pb=(e,t)=>t===1||t===1n?e:`${e}s`,db=1e-7,ub=24n*60n*60n*1000n;function vs(e,t){let r=typeof e=="bigint";if(!r&&!Number.isFinite(e))throw new TypeError("Expected a finite number or bigint");t={...t};let i=e<0?"-":"";e=e<0?-e:e,t.colonNotation&&(t.compact=!1,t.formatSubMilliseconds=!1,t.separateMilliseconds=!1,t.verbose=!1),t.compact&&(t.unitCount=1,t.secondsDecimalDigits=0,t.millisecondsDecimalDigits=0);let n=[],s=(p,u)=>{let l=Math.floor(p*10**u+db);return(Math.round(l)/10**u).toFixed(u)},o=(p,u,l,m)=>{if(!((n.length===0||!t.colonNotation)&&cb(p)&&!(t.colonNotation&&l==="m"))){if(m??=String(p),t.colonNotation){let h=m.includes(".")?m.split(".")[0].length:m.length,f=n.length>0?2:1;m="0".repeat(Math.max(0,f-h))+m}else m+=t.verbose?" "+pb(u,p):l;n.push(m)}},a=Ss(e),c=BigInt(a.days);if(t.hideYearAndDays?o(BigInt(c)*24n+BigInt(a.hours),"hour","h"):(t.hideYear?o(c,"day","d"):(o(c/365n,"year","y"),o(c%365n,"day","d")),o(Number(a.hours),"hour","h")),o(Number(a.minutes),"minute","m"),!t.hideSeconds)if(t.separateMilliseconds||t.formatSubMilliseconds||!t.colonNotation&&e<1e3&&!t.subSecondsAsDecimals){let p=Number(a.seconds),u=Number(a.milliseconds),l=Number(a.microseconds),m=Number(a.nanoseconds);if(o(p,"second","s"),t.formatSubMilliseconds)o(u,"millisecond","ms"),o(l,"microsecond","\xB5s"),o(m,"nanosecond","ns");else{let h=u+l/1e3+m/1e6,f=typeof t.millisecondsDecimalDigits=="number"?t.millisecondsDecimalDigits:0,x=h>=1?Math.round(h):Math.ceil(h),_=f?h.toFixed(f):x;o(Number.parseFloat(_),"millisecond","ms",_)}}else{let p=(r?Number(e%ub):e)/1e3%60,u=typeof t.secondsDecimalDigits=="number"?t.secondsDecimalDigits:1,l=s(p,u),m=t.keepDecimalsOnWholeSeconds?l:l.replace(/\.0+$/,"");o(Number.parseFloat(m),"second","s",m)}if(n.length===0)return i+"0"+(t.verbose?" milliseconds":"ms");let d=t.colonNotation?":":" ";return typeof t.unitCount=="number"&&(n=n.slice(0,Math.max(t.unitCount,1))),i+n.join(d)}var _d=(e,t)=>{e.failed&&ke({type:"error",verboseMessage:e.shortMessage,verboseInfo:t,result:e})};var bd=(e,t)=>{bt(t)&&(_d(e,t),lb(e,t))},lb=(e,t)=>{let r=`(done in ${vs(e.durationMs)})`;ke({type:"duration",verboseMessage:r,verboseInfo:t,result:e})};var Et=(e,t,{reject:r})=>{if(bd(e,t),e.failed&&r)throw e;return e};import{readFileSync as Wd}from"fs";var kd=(e,t)=>st(e)?"asyncGenerator":qd(e)?"generator":fi(e)?"fileUrl":gb(e)?"filePath":xb(e)?"webStream":be(e,{checkOpen:!1})?"native":H(e)?"uint8Array":wb(e)?"asyncIterable":kb(e)?"iterable":Cs(e)?Sd({transform:e},t):fb(e)?mb(e,t):"native",mb=(e,t)=>bs(e.transform,{checkOpen:!1})?hb(e,t):Cs(e.transform)?Sd(e,t):yb(e,t),hb=(e,t)=>(vd(e,t,"Duplex stream"),"duplex"),Sd=(e,t)=>(vd(e,t,"web TransformStream"),"webTransform"),vd=({final:e,binary:t,objectMode:r},i,n)=>{xd(e,`${i}.final`,n),xd(t,`${i}.binary`,n),qs(r,`${i}.objectMode`)},xd=(e,t,r)=>{if(e!==void 0)throw new TypeError(`The \`${t}\` option can only be defined when using a generator, not a ${r}.`)},yb=({transform:e,final:t,binary:r,objectMode:i},n)=>{if(e!==void 0&&!wd(e))throw new TypeError(`The \`${n}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);if(bs(t,{checkOpen:!1}))throw new TypeError(`The \`${n}.final\` option must not be a Duplex stream.`);if(Cs(t))throw new TypeError(`The \`${n}.final\` option must not be a web TransformStream.`);if(t!==void 0&&!wd(t))throw new TypeError(`The \`${n}.final\` option must be a generator.`);return qs(r,`${n}.binary`),qs(i,`${n}.objectMode`),st(e)||st(t)?"asyncGenerator":"generator"},qs=(e,t)=>{if(e!==void 0&&typeof e!="boolean")throw new TypeError(`The \`${t}\` option must use a boolean.`)},wd=e=>st(e)||qd(e),st=e=>Object.prototype.toString.call(e)==="[object AsyncGeneratorFunction]",qd=e=>Object.prototype.toString.call(e)==="[object GeneratorFunction]",fb=e=>V(e)&&(e.transform!==void 0||e.final!==void 0),fi=e=>Object.prototype.toString.call(e)==="[object URL]",$d=e=>fi(e)&&e.protocol!=="file:",gb=e=>V(e)&&Object.keys(e).length>0&&Object.keys(e).every(t=>_b.has(t))&&$s(e.file),_b=new Set(["file","append"]),$s=e=>typeof e=="string",Cd=(e,t)=>e==="native"&&typeof t=="string"&&!bb.has(t),bb=new Set(["ipc","ignore","inherit","overlapped","pipe"]),Ad=e=>Object.prototype.toString.call(e)==="[object ReadableStream]",gi=e=>Object.prototype.toString.call(e)==="[object WritableStream]",xb=e=>Ad(e)||gi(e),Cs=e=>Ad(e?.readable)&&gi(e?.writable),wb=e=>Ed(e)&&typeof e[Symbol.asyncIterator]=="function",kb=e=>Ed(e)&&typeof e[Symbol.iterator]=="function",Ed=e=>typeof e=="object"&&e!==null,le=new Set(["generator","asyncGenerator","duplex","webTransform"]),_i=new Set(["fileUrl","filePath","fileNumber"]),As=new Set(["fileUrl","filePath"]),Td=new Set([...As,"webStream","nodeStream"]),Pd=new Set(["webTransform","duplex"]),We={generator:"a generator",asyncGenerator:"an async generator",fileUrl:"a file URL",filePath:"a file path string",fileNumber:"a file descriptor number",webStream:"a web stream",nodeStream:"a Node.js stream",webTransform:"a web TransformStream",duplex:"a Duplex stream",native:"any value",iterable:"an iterable",asyncIterable:"an async iterable",string:"a string",uint8Array:"a Uint8Array"};var Es=(e,t,r,i)=>i==="output"?Sb(e,t,r):vb(e,t,r),Sb=(e,t,r)=>{let i=t!==0&&r[t-1].value.readableObjectMode;return{writableObjectMode:i,readableObjectMode:e??i}},vb=(e,t,r)=>{let i=t===0?e===!0:r[t-1].value.readableObjectMode,n=t!==r.length-1&&(e??i);return{writableObjectMode:i,readableObjectMode:n}},Od=(e,t)=>{let r=e.findLast(({type:i})=>le.has(i));return r===void 0?!1:t==="input"?r.value.writableObjectMode:r.value.readableObjectMode};var Id=(e,t,r,i)=>[...e.filter(({type:n})=>!le.has(n)),...qb(e,t,r,i)],qb=(e,t,r,{encoding:i})=>{let n=e.filter(({type:o})=>le.has(o)),s=Array.from({length:n.length});for(let[o,a]of Object.entries(n))s[o]=$b({stdioItem:a,index:Number(o),newTransforms:s,optionName:t,direction:r,encoding:i});return Tb(s,r)},$b=({stdioItem:e,stdioItem:{type:t},index:r,newTransforms:i,optionName:n,direction:s,encoding:o})=>t==="duplex"?Cb({stdioItem:e,optionName:n}):t==="webTransform"?Ab({stdioItem:e,index:r,newTransforms:i,direction:s}):Eb({stdioItem:e,index:r,newTransforms:i,direction:s,encoding:o}),Cb=({stdioItem:e,stdioItem:{value:{transform:t,transform:{writableObjectMode:r,readableObjectMode:i},objectMode:n=i}},optionName:s})=>{if(n&&!i)throw new TypeError(`The \`${s}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`);if(!n&&i)throw new TypeError(`The \`${s}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`);return{...e,value:{transform:t,writableObjectMode:r,readableObjectMode:i}}},Ab=({stdioItem:e,stdioItem:{value:t},index:r,newTransforms:i,direction:n})=>{let{transform:s,objectMode:o}=V(t)?t:{transform:t},{writableObjectMode:a,readableObjectMode:c}=Es(o,r,i,n);return{...e,value:{transform:s,writableObjectMode:a,readableObjectMode:c}}},Eb=({stdioItem:e,stdioItem:{value:t},index:r,newTransforms:i,direction:n,encoding:s})=>{let{transform:o,final:a,binary:c=!1,preserveNewlines:d=!1,objectMode:p}=V(t)?t:{transform:t},u=c||oe.has(s),{writableObjectMode:l,readableObjectMode:m}=Es(p,r,i,n);return{...e,value:{transform:o,final:a,binary:u,preserveNewlines:d,writableObjectMode:l,readableObjectMode:m}}},Tb=(e,t)=>t==="input"?e.reverse():e;import Ts from"process";var Rd=(e,t,r)=>{let i=e.map(n=>Pb(n,t));if(i.includes("input")&&i.includes("output"))throw new TypeError(`The \`${r}\` option must not be an array of both readable and writable values.`);return i.find(Boolean)??Rb},Pb=({type:e,value:t},r)=>Ob[r]??jd[e](t),Ob=["input","output","output"],Tt=()=>{},Ps=()=>"input",jd={generator:Tt,asyncGenerator:Tt,fileUrl:Tt,filePath:Tt,iterable:Ps,asyncIterable:Ps,uint8Array:Ps,webStream:e=>gi(e)?"output":"input",nodeStream(e){return nt(e,{checkOpen:!1})?_s(e,{checkOpen:!1})?void 0:"input":"output"},webTransform:Tt,duplex:Tt,native(e){let t=Ib(e);if(t!==void 0)return t;if(be(e,{checkOpen:!1}))return jd.nodeStream(e)}},Ib=e=>{if([0,Ts.stdin].includes(e))return"input";if([1,2,Ts.stdout,Ts.stderr].includes(e))return"output"},Rb="output";var Dd=(e,t)=>t&&!e.includes("ipc")?[...e,"ipc"]:e;var Ld=({stdio:e,ipc:t,buffer:r,...i},n,s)=>{let o=jb(e,i).map((a,c)=>Md(a,c));return s?Lb(o,r,n):Dd(o,t)},jb=(e,t)=>{if(e===void 0)return ue.map(i=>t[i]);if(Db(t))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${ue.map(i=>`\`${i}\``).join(", ")}`);if(typeof e=="string")return[e,e,e];if(!Array.isArray(e))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof e}\``);let r=Math.max(e.length,ue.length);return Array.from({length:r},(i,n)=>e[n])},Db=e=>ue.some(t=>e[t]!==void 0),Md=(e,t)=>Array.isArray(e)?e.map(r=>Md(r,t)):e??(t>=ue.length?"ignore":"pipe"),Lb=(e,t,r)=>e.map((i,n)=>!t[n]&&n!==0&&!xt(r,n)&&Mb(i)?"ignore":i),Mb=e=>e==="pipe"||Array.isArray(e)&&e.every(t=>t==="pipe");import{readFileSync as Fb}from"fs";import Ub from"tty";var Ud=({stdioItem:e,stdioItem:{type:t},isStdioArray:r,fdNumber:i,direction:n,isSync:s})=>!r||t!=="native"?e:s?Bb({stdioItem:e,fdNumber:i,direction:n}):zb({stdioItem:e,fdNumber:i}),Bb=({stdioItem:e,stdioItem:{value:t,optionName:r},fdNumber:i,direction:n})=>{let s=Nb({value:t,optionName:r,fdNumber:i,direction:n});if(s!==void 0)return s;if(be(t,{checkOpen:!1}))throw new TypeError(`The \`${r}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);return e},Nb=({value:e,optionName:t,fdNumber:r,direction:i})=>{let n=Gb(e,r);if(n!==void 0){if(i==="output")return{type:"fileNumber",value:n,optionName:t};if(Ub.isatty(n))throw new TypeError(`The \`${t}: ${Hr(e)}\` option is invalid: it cannot be a TTY with synchronous methods.`);return{type:"uint8Array",value:De(Fb(n)),optionName:t}}},Gb=(e,t)=>{if(e==="inherit")return t;if(typeof e=="number")return e;let r=Er.indexOf(e);if(r!==-1)return r},zb=({stdioItem:e,stdioItem:{value:t,optionName:r},fdNumber:i})=>t==="inherit"?{type:"nodeStream",value:Fd(i,t,r),optionName:r}:typeof t=="number"?{type:"nodeStream",value:Fd(t,t,r),optionName:r}:be(t,{checkOpen:!1})?{type:"nodeStream",value:t,optionName:r}:e,Fd=(e,t,r)=>{let i=Er[e];if(i===void 0)throw new TypeError(`The \`${r}: ${t}\` option is invalid: no such standard stream.`);return i};var Bd=({input:e,inputFile:t},r)=>r===0?[...Vb(e),...Hb(t)]:[],Vb=e=>e===void 0?[]:[{type:Wb(e),value:e,optionName:"input"}],Wb=e=>{if(nt(e,{checkOpen:!1}))return"nodeStream";if(typeof e=="string")return"string";if(H(e))return"uint8Array";throw new Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")},Hb=e=>e===void 0?[]:[{...Kb(e),optionName:"inputFile"}],Kb=e=>{if(fi(e))return{type:"fileUrl",value:e};if($s(e))return{type:"filePath",value:{file:e}};throw new Error("The `inputFile` option must be a file path string or a file URL.")};var Nd=e=>e.filter((t,r)=>e.every((i,n)=>t.value!==i.value||r>=n||t.type==="generator"||t.type==="asyncGenerator")),Gd=({stdioItem:{type:e,value:t,optionName:r},direction:i,fileDescriptors:n,isSync:s})=>{let o=Yb(n,e);if(o.length!==0){if(s){Jb({otherStdioItems:o,type:e,value:t,optionName:r,direction:i});return}if(Td.has(e))return zd({otherStdioItems:o,type:e,value:t,optionName:r,direction:i});Pd.has(e)&&Qb({otherStdioItems:o,type:e,value:t,optionName:r})}},Yb=(e,t)=>e.flatMap(({direction:r,stdioItems:i})=>i.filter(n=>n.type===t).map((n=>({...n,direction:r})))),Jb=({otherStdioItems:e,type:t,value:r,optionName:i,direction:n})=>{As.has(t)&&zd({otherStdioItems:e,type:t,value:r,optionName:i,direction:n})},zd=({otherStdioItems:e,type:t,value:r,optionName:i,direction:n})=>{let s=e.filter(a=>Xb(a,r));if(s.length===0)return;let o=s.find(a=>a.direction!==n);return Vd(o,i,t),n==="output"?s[0].stream:void 0},Xb=({type:e,value:t},r)=>e==="filePath"?t.file===r.file:e==="fileUrl"?t.href===r.href:t===r,Qb=({otherStdioItems:e,type:t,value:r,optionName:i})=>{let n=e.find(({value:{transform:s}})=>s===r.transform);Vd(n,i,t)},Vd=(e,t,r)=>{if(e!==void 0)throw new TypeError(`The \`${e.optionName}\` and \`${t}\` options must not target ${We[r]} that is the same.`)};var bi=(e,t,r,i)=>{let s=Ld(t,r,i).map((a,c)=>Zb({stdioOption:a,fdNumber:c,options:t,isSync:i})),o=ax({initialFileDescriptors:s,addProperties:e,options:t,isSync:i});return t.stdio=o.map(({stdioItems:a})=>dx(a)),o},Zb=({stdioOption:e,fdNumber:t,options:r,isSync:i})=>{let n=Tr(t),{stdioItems:s,isStdioArray:o}=ex({stdioOption:e,fdNumber:t,options:r,optionName:n}),a=Rd(s,t,n),c=s.map(u=>Ud({stdioItem:u,isStdioArray:o,fdNumber:t,direction:a,isSync:i})),d=Id(c,n,a,r),p=Od(d,a);return ox(d,p),{direction:a,objectMode:p,stdioItems:d}},ex=({stdioOption:e,fdNumber:t,options:r,optionName:i})=>{let s=[...(Array.isArray(e)?e:[e]).map(c=>tx(c,i)),...Bd(r,t)],o=Nd(s),a=o.length>1;return rx(o,a,i),nx(o),{stdioItems:o,isStdioArray:a}},tx=(e,t)=>({type:kd(e,t),value:e,optionName:t}),rx=(e,t,r)=>{if(e.length===0)throw new TypeError(`The \`${r}\` option must not be an empty array.`);if(t){for(let{value:i,optionName:n}of e)if(ix.has(i))throw new Error(`The \`${n}\` option must not include \`${i}\`.`)}},ix=new Set(["ignore","ipc"]),nx=e=>{for(let t of e)sx(t)},sx=({type:e,value:t,optionName:r})=>{if($d(t))throw new TypeError(`The \`${r}: URL\` option must use the \`file:\` scheme.
|
|
69
|
-
For example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`);if(
|
|
70
|
-
`){let o=
|
|
62
|
+
${e}`};var si=(e,t,r)=>{r.cwd=Wp(r.cwd);let[i,n,s]=Bp(e,t,r),{command:o,args:a,options:c}=Jp.default._parse(i,n,s),d=ja(c),p=__(d);return Lp(p),Vp(p),Np(p),np(p),jp(p),p.shell=Gn(p.shell),p.env=b_(p),p.killSignal=Zc(p.killSignal),p.forceKillAfterDelay=rp(p.forceKillAfterDelay),p.lines=p.lines.map((u,l)=>u&&!oe.has(p.encoding)&&p.buffer[l]),Yp.platform==="win32"&&g_.basename(o,".exe")==="cmd"&&a.unshift("/q"),{file:o,commandArguments:a,options:p}},__=({extendEnv:e=!0,preferLocal:t=!1,cwd:r,localDir:i=r,encoding:n="utf8",reject:s=!0,cleanup:o=!0,all:a=!1,windowsHide:c=!0,killSignal:d="SIGTERM",forceKillAfterDelay:p=!0,gracefulCancel:u=!1,ipcInput:l,ipc:m=l!==void 0||u,serialization:h="advanced",...f})=>({...f,extendEnv:e,preferLocal:t,cwd:r,localDirectory:i,encoding:n,reject:s,cleanup:o,all:a,windowsHide:c,killSignal:d,forceKillAfterDelay:p,gracefulCancel:u,ipcInput:l,ipc:m,serialization:h}),b_=({env:e,extendEnv:t,preferLocal:r,node:i,localDirectory:n,nodePath:s})=>{let o=t?{...Yp.env,...e}:e;return r||i?Nc({env:o,cwd:n,execPath:s,preferLocal:r,addExecPath:i}):o};var oi=(e,t,r)=>r.shell&&t.length>0?[[e,...t].join(" "),[],r]:[e,t,r];import{inspect as Z_}from"util";function $t(e){if(typeof e=="string")return x_(e);if(!(ArrayBuffer.isView(e)&&e.BYTES_PER_ELEMENT===1))throw new Error("Input must be a string or a Uint8Array");return w_(e)}var x_=e=>e.at(-1)===Xp?e.slice(0,e.at(-2)===Qp?-2:-1):e,w_=e=>e.at(-1)===k_?e.subarray(0,e.at(-2)===S_?-2:-1):e,Xp=`
|
|
63
|
+
`,k_=Xp.codePointAt(0),Qp="\r",S_=Qp.codePointAt(0);import{on as Y_}from"events";import{finished as J_}from"stream/promises";function be(e,{checkOpen:t=!0}={}){return e!==null&&typeof e=="object"&&(e.writable||e.readable||!t||e.writable===void 0&&e.readable===void 0)&&typeof e.pipe=="function"}function _s(e,{checkOpen:t=!0}={}){return be(e,{checkOpen:t})&&(e.writable||!t)&&typeof e.write=="function"&&typeof e.end=="function"&&typeof e.writable=="boolean"&&typeof e.writableObjectMode=="boolean"&&typeof e.destroy=="function"&&typeof e.destroyed=="boolean"}function st(e,{checkOpen:t=!0}={}){return be(e,{checkOpen:t})&&(e.readable||!t)&&typeof e.read=="function"&&typeof e.readable=="boolean"&&typeof e.readableObjectMode=="boolean"&&typeof e.destroy=="function"&&typeof e.destroyed=="boolean"}function bs(e,t){return _s(e,t)&&st(e,t)}var v_=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),xs=class{#t;#r;#e=!1;#i=void 0;constructor(t,r){this.#t=t,this.#r=r}next(){let t=()=>this.#s();return this.#i=this.#i?this.#i.then(t,t):t(),this.#i}return(t){let r=()=>this.#n(t);return this.#i?this.#i.then(r,r):r()}async#s(){if(this.#e)return{done:!0,value:void 0};let t;try{t=await this.#t.read()}catch(r){throw this.#i=void 0,this.#e=!0,this.#t.releaseLock(),r}return t.done&&(this.#i=void 0,this.#e=!0,this.#t.releaseLock()),t}async#n(t){if(this.#e)return{done:!0,value:t};if(this.#e=!0,!this.#r){let r=this.#t.cancel(t);return this.#t.releaseLock(),await r,{done:!0,value:t}}return this.#t.releaseLock(),{done:!0,value:t}}},ws=Symbol();function Zp(){return this[ws].next()}Object.defineProperty(Zp,"name",{value:"next"});function ed(e){return this[ws].return(e)}Object.defineProperty(ed,"name",{value:"return"});var q_=Object.create(v_,{next:{enumerable:!0,configurable:!0,writable:!0,value:Zp},return:{enumerable:!0,configurable:!0,writable:!0,value:ed}});function ks({preventCancel:e=!1}={}){let t=this.getReader(),r=new xs(t,e),i=Object.create(q_);return i[ws]=r,i}var td=e=>{if(st(e,{checkOpen:!1})&&Xt.on!==void 0)return C_(e);if(typeof e?.[Symbol.asyncIterator]=="function")return e;if($_.call(e)==="[object ReadableStream]")return ks.call(e);throw new TypeError("The first argument must be a Readable, a ReadableStream, or an async iterable.")},{toString:$_}=Object.prototype,C_=async function*(e){let t=new AbortController,r={};A_(e,t,r);try{for await(let[i]of Xt.on(e,"data",{signal:t.signal}))yield i}catch(i){if(r.error!==void 0)throw r.error;if(!t.signal.aborted)throw i}finally{e.destroy()}},A_=async(e,t,r)=>{try{await Xt.finished(e,{cleanup:!0,readable:!0,writable:!1,error:!1})}catch(i){r.error=i}finally{t.abort()}},Xt={};var Ct=async(e,{init:t,convertChunk:r,getSize:i,truncateChunk:n,addChunk:s,getFinalChunk:o,finalize:a},{maxBuffer:c=Number.POSITIVE_INFINITY}={})=>{let d=td(e),p=t();p.length=0;try{for await(let u of d){let l=T_(u),m=r[l](u,p);nd({convertedChunk:m,state:p,getSize:i,truncateChunk:n,addChunk:s,maxBuffer:c})}return E_({state:p,convertChunk:r,getSize:i,truncateChunk:n,addChunk:s,getFinalChunk:o,maxBuffer:c}),a(p)}catch(u){let l=typeof u=="object"&&u!==null?u:new Error(u);throw l.bufferedData=a(p),l}},E_=({state:e,getSize:t,truncateChunk:r,addChunk:i,getFinalChunk:n,maxBuffer:s})=>{let o=n(e);o!==void 0&&nd({convertedChunk:o,state:e,getSize:t,truncateChunk:r,addChunk:i,maxBuffer:s})},nd=({convertedChunk:e,state:t,getSize:r,truncateChunk:i,addChunk:n,maxBuffer:s})=>{let o=r(e),a=t.length+o;if(a<=s){rd(e,t,n,a);return}let c=i(e,s-t.length);throw c!==void 0&&rd(c,t,n,s),new qe},rd=(e,t,r,i)=>{t.contents=r(e,t,i),t.length=i},T_=e=>{let t=typeof e;if(t==="string")return"string";if(t!=="object"||e===null)return"others";if(globalThis.Buffer?.isBuffer(e))return"buffer";let r=id.call(e);return r==="[object ArrayBuffer]"?"arrayBuffer":r==="[object DataView]"?"dataView":Number.isInteger(e.byteLength)&&Number.isInteger(e.byteOffset)&&id.call(e.buffer)==="[object ArrayBuffer]"?"typedArray":"others"},{toString:id}=Object.prototype,qe=class extends Error{name="MaxBufferError";constructor(){super("maxBuffer exceeded")}};var Fe=e=>e,Qt=()=>{},ai=({contents:e})=>e,ci=e=>{throw new Error(`Streams in object mode are not supported: ${String(e)}`)},pi=e=>e.length;async function di(e,t){return Ct(e,R_,t)}var P_=()=>({contents:[]}),O_=()=>1,I_=(e,{contents:t})=>(t.push(e),t),R_={init:P_,convertChunk:{string:Fe,buffer:Fe,arrayBuffer:Fe,dataView:Fe,typedArray:Fe,others:Fe},getSize:O_,truncateChunk:Qt,addChunk:I_,getFinalChunk:Qt,finalize:ai};async function ui(e,t){return Ct(e,G_,t)}var j_=()=>({contents:new ArrayBuffer(0)}),D_=e=>L_.encode(e),L_=new TextEncoder,sd=e=>new Uint8Array(e),od=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength),M_=(e,t)=>e.slice(0,t),F_=(e,{contents:t,length:r},i)=>{let n=pd()?B_(t,i):U_(t,i);return new Uint8Array(n).set(e,r),n},U_=(e,t)=>{if(t<=e.byteLength)return e;let r=new ArrayBuffer(cd(t));return new Uint8Array(r).set(new Uint8Array(e),0),r},B_=(e,t)=>{if(t<=e.maxByteLength)return e.resize(t),e;let r=new ArrayBuffer(t,{maxByteLength:cd(t)});return new Uint8Array(r).set(new Uint8Array(e),0),r},cd=e=>ad**Math.ceil(Math.log(e)/Math.log(ad)),ad=2,N_=({contents:e,length:t})=>pd()?e:e.slice(0,t),pd=()=>"resize"in ArrayBuffer.prototype,G_={init:j_,convertChunk:{string:D_,buffer:sd,arrayBuffer:sd,dataView:od,typedArray:od,others:ci},getSize:pi,truncateChunk:M_,addChunk:F_,getFinalChunk:Qt,finalize:N_};async function mi(e,t){return Ct(e,K_,t)}var z_=()=>({contents:"",textDecoder:new TextDecoder}),li=(e,{textDecoder:t})=>t.decode(e,{stream:!0}),V_=(e,{contents:t})=>t+e,W_=(e,t)=>e.slice(0,t),H_=({textDecoder:e})=>{let t=e.decode();return t===""?void 0:t},K_={init:z_,convertChunk:{string:Fe,buffer:li,arrayBuffer:li,dataView:li,typedArray:li,others:ci},getSize:pi,truncateChunk:W_,addChunk:V_,getFinalChunk:H_,finalize:ai};Object.assign(Xt,{on:Y_,finished:J_});var dd=({error:e,stream:t,readableObjectMode:r,lines:i,encoding:n,fdNumber:s})=>{if(!(e instanceof qe))throw e;if(s==="all")return e;let o=X_(r,i,n);throw e.maxBufferInfo={fdNumber:s,unit:o},t.destroy(),e},X_=(e,t,r)=>e?"objects":t?"lines":r==="buffer"?"bytes":"characters",ud=(e,t,r)=>{if(t.length!==r)return;let i=new qe;throw i.maxBufferInfo={fdNumber:"ipc"},i},ld=(e,t)=>{let{streamName:r,threshold:i,unit:n}=Q_(e,t);return`Command's ${r} was larger than ${i} ${n}`},Q_=(e,t)=>{if(e?.maxBufferInfo===void 0)return{streamName:"output",threshold:t[1],unit:"bytes"};let{maxBufferInfo:{fdNumber:r,unit:i}}=e;delete e.maxBufferInfo;let n=Me(t,r);return r==="ipc"?{streamName:"IPC output",threshold:n,unit:"messages"}:{streamName:Tr(r),threshold:n,unit:i}},md=(e,t,r)=>e?.code==="ENOBUFS"&&t!==null&&t.some(i=>i!==null&&i.length>hi(r)),hd=(e,t,r)=>{if(!t)return e;let i=hi(r);return e.length>i?e.slice(0,i):e},hi=([,e])=>e;var fd=({stdio:e,all:t,ipcOutput:r,originalError:i,signal:n,signalDescription:s,exitCode:o,escapedCommand:a,timedOut:c,isCanceled:d,isGracefullyCanceled:p,isMaxBuffer:u,isForcefullyTerminated:l,forceKillAfterDelay:m,killSignal:h,maxBuffer:f,timeout:x,cwd:_})=>{let v=i?.code,C=eb({originalError:i,timedOut:c,timeout:x,isMaxBuffer:u,maxBuffer:f,errorCode:v,signal:n,signalDescription:s,exitCode:o,isCanceled:d,isGracefullyCanceled:p,isForcefullyTerminated:l,forceKillAfterDelay:m,killSignal:h}),E=rb(i,_),w=E===void 0?"":`
|
|
64
|
+
${E}`,L=`${C}: ${a}${w}`,O=t===void 0?[e[2],e[1]]:[t],R=[L,...O,...e.slice(3),r.map(F=>ib(F)).join(`
|
|
65
|
+
`)].map(F=>Vt($t(nb(F)))).filter(Boolean).join(`
|
|
66
|
+
|
|
67
|
+
`);return{originalMessage:E,shortMessage:L,message:R}},eb=({originalError:e,timedOut:t,timeout:r,isMaxBuffer:i,maxBuffer:n,errorCode:s,signal:o,signalDescription:a,exitCode:c,isCanceled:d,isGracefullyCanceled:p,isForcefullyTerminated:u,forceKillAfterDelay:l,killSignal:m})=>{let h=tb(u,l);return t?`Command timed out after ${r} milliseconds${h}`:p?o===void 0?`Command was gracefully canceled with exit code ${c}`:u?`Command was gracefully canceled${h}`:`Command was gracefully canceled with ${o} (${a})`:d?`Command was canceled${h}`:i?`${ld(e,n)}${h}`:s!==void 0?`Command failed with ${s}${h}`:u?`Command was killed with ${m} (${zr(m)})${h}`:o!==void 0?`Command was killed with ${o} (${a})`:c!==void 0?`Command failed with exit code ${c}`:"Command failed"},tb=(e,t)=>e?` and was forcefully terminated after ${t} milliseconds`:"",rb=(e,t)=>{if(e instanceof ge)return;let r=Vc(e)?e.originalMessage:String(e?.message??e),i=Vt(Kp(r,t));return i===""?void 0:i},ib=e=>typeof e=="string"?e:Z_(e),nb=e=>Array.isArray(e)?e.map(t=>$t(yd(t))).filter(Boolean).join(`
|
|
68
|
+
`):yd(e),yd=e=>typeof e=="string"?e:H(e)?Ar(e):"";var yi=({command:e,escapedCommand:t,stdio:r,all:i,ipcOutput:n,options:{cwd:s},startTime:o})=>gd({command:e,escapedCommand:t,cwd:s,durationMs:Xn(o),failed:!1,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isTerminated:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,exitCode:0,stdout:r[1],stderr:r[2],all:i,stdio:r,ipcOutput:n,pipedFrom:[]}),At=({error:e,command:t,escapedCommand:r,fileDescriptors:i,options:n,startTime:s,isSync:o})=>Zt({error:e,command:t,escapedCommand:r,startTime:s,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,stdio:Array.from({length:i.length}),ipcOutput:[],options:n,isSync:o}),Zt=({error:e,command:t,escapedCommand:r,startTime:i,timedOut:n,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:d,signal:p,stdio:u,all:l,ipcOutput:m,options:{timeoutDuration:h,timeout:f=h,forceKillAfterDelay:x,killSignal:_,cwd:v,maxBuffer:C},isSync:E})=>{let{exitCode:w,signal:L,signalDescription:O}=ob(d,p),{originalMessage:R,shortMessage:F,message:N}=fd({stdio:u,all:l,ipcOutput:m,originalError:e,signal:L,signalDescription:O,exitCode:w,escapedCommand:r,timedOut:n,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,forceKillAfterDelay:x,killSignal:_,maxBuffer:C,timeout:f,cwd:v}),S=Gc(e,N,E);return Object.assign(S,sb({error:S,command:t,escapedCommand:r,startTime:i,timedOut:n,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:w,signal:L,signalDescription:O,stdio:u,all:l,ipcOutput:m,cwd:v,originalMessage:R,shortMessage:F})),S},sb=({error:e,command:t,escapedCommand:r,startTime:i,timedOut:n,isCanceled:s,isGracefullyCanceled:o,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:d,signal:p,signalDescription:u,stdio:l,all:m,ipcOutput:h,cwd:f,originalMessage:x,shortMessage:_})=>gd({shortMessage:_,originalMessage:x,command:t,escapedCommand:r,cwd:f,durationMs:Xn(i),failed:!0,timedOut:n,isCanceled:s,isGracefullyCanceled:o,isTerminated:p!==void 0,isMaxBuffer:a,isForcefullyTerminated:c,exitCode:d,signal:p,signalDescription:u,code:e.cause?.code,stdout:l[1],stderr:l[2],all:m,stdio:l,ipcOutput:h,pipedFrom:[]}),gd=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0)),ob=(e,t)=>{let r=e===null?void 0:e,i=t===null?void 0:t,n=i===void 0?void 0:zr(t);return{exitCode:r,signal:i,signalDescription:n}};var _d=e=>Number.isFinite(e)?e:0;function ab(e){return{days:Math.trunc(e/864e5),hours:Math.trunc(e/36e5%24),minutes:Math.trunc(e/6e4%60),seconds:Math.trunc(e/1e3%60),milliseconds:Math.trunc(e%1e3),microseconds:Math.trunc(_d(e*1e3)%1e3),nanoseconds:Math.trunc(_d(e*1e6)%1e3)}}function cb(e){return{days:e/86400000n,hours:e/3600000n%24n,minutes:e/60000n%60n,seconds:e/1000n%60n,milliseconds:e%1000n,microseconds:0n,nanoseconds:0n}}function Ss(e){switch(typeof e){case"number":{if(Number.isFinite(e))return ab(e);break}case"bigint":return cb(e)}throw new TypeError("Expected a finite number or bigint")}var pb=e=>e===0||e===0n,db=(e,t)=>t===1||t===1n?e:`${e}s`,ub=1e-7,lb=24n*60n*60n*1000n;function vs(e,t){let r=typeof e=="bigint";if(!r&&!Number.isFinite(e))throw new TypeError("Expected a finite number or bigint");t={...t};let i=e<0?"-":"";e=e<0?-e:e,t.colonNotation&&(t.compact=!1,t.formatSubMilliseconds=!1,t.separateMilliseconds=!1,t.verbose=!1),t.compact&&(t.unitCount=1,t.secondsDecimalDigits=0,t.millisecondsDecimalDigits=0);let n=[],s=(p,u)=>{let l=Math.floor(p*10**u+ub);return(Math.round(l)/10**u).toFixed(u)},o=(p,u,l,m)=>{if(!((n.length===0||!t.colonNotation)&&pb(p)&&!(t.colonNotation&&l==="m"))){if(m??=String(p),t.colonNotation){let h=m.includes(".")?m.split(".")[0].length:m.length,f=n.length>0?2:1;m="0".repeat(Math.max(0,f-h))+m}else m+=t.verbose?" "+db(u,p):l;n.push(m)}},a=Ss(e),c=BigInt(a.days);if(t.hideYearAndDays?o(BigInt(c)*24n+BigInt(a.hours),"hour","h"):(t.hideYear?o(c,"day","d"):(o(c/365n,"year","y"),o(c%365n,"day","d")),o(Number(a.hours),"hour","h")),o(Number(a.minutes),"minute","m"),!t.hideSeconds)if(t.separateMilliseconds||t.formatSubMilliseconds||!t.colonNotation&&e<1e3&&!t.subSecondsAsDecimals){let p=Number(a.seconds),u=Number(a.milliseconds),l=Number(a.microseconds),m=Number(a.nanoseconds);if(o(p,"second","s"),t.formatSubMilliseconds)o(u,"millisecond","ms"),o(l,"microsecond","\xB5s"),o(m,"nanosecond","ns");else{let h=u+l/1e3+m/1e6,f=typeof t.millisecondsDecimalDigits=="number"?t.millisecondsDecimalDigits:0,x=h>=1?Math.round(h):Math.ceil(h),_=f?h.toFixed(f):x;o(Number.parseFloat(_),"millisecond","ms",_)}}else{let p=(r?Number(e%lb):e)/1e3%60,u=typeof t.secondsDecimalDigits=="number"?t.secondsDecimalDigits:1,l=s(p,u),m=t.keepDecimalsOnWholeSeconds?l:l.replace(/\.0+$/,"");o(Number.parseFloat(m),"second","s",m)}if(n.length===0)return i+"0"+(t.verbose?" milliseconds":"ms");let d=t.colonNotation?":":" ";return typeof t.unitCount=="number"&&(n=n.slice(0,Math.max(t.unitCount,1))),i+n.join(d)}var bd=(e,t)=>{e.failed&&ke({type:"error",verboseMessage:e.shortMessage,verboseInfo:t,result:e})};var xd=(e,t)=>{bt(t)&&(bd(e,t),mb(e,t))},mb=(e,t)=>{let r=`(done in ${vs(e.durationMs)})`;ke({type:"duration",verboseMessage:r,verboseInfo:t,result:e})};var Et=(e,t,{reject:r})=>{if(xd(e,t),e.failed&&r)throw e;return e};import{readFileSync as Hd}from"fs";var Sd=(e,t)=>ot(e)?"asyncGenerator":$d(e)?"generator":fi(e)?"fileUrl":_b(e)?"filePath":wb(e)?"webStream":be(e,{checkOpen:!1})?"native":H(e)?"uint8Array":kb(e)?"asyncIterable":Sb(e)?"iterable":Cs(e)?vd({transform:e},t):gb(e)?hb(e,t):"native",hb=(e,t)=>bs(e.transform,{checkOpen:!1})?yb(e,t):Cs(e.transform)?vd(e,t):fb(e,t),yb=(e,t)=>(qd(e,t,"Duplex stream"),"duplex"),vd=(e,t)=>(qd(e,t,"web TransformStream"),"webTransform"),qd=({final:e,binary:t,objectMode:r},i,n)=>{wd(e,`${i}.final`,n),wd(t,`${i}.binary`,n),qs(r,`${i}.objectMode`)},wd=(e,t,r)=>{if(e!==void 0)throw new TypeError(`The \`${t}\` option can only be defined when using a generator, not a ${r}.`)},fb=({transform:e,final:t,binary:r,objectMode:i},n)=>{if(e!==void 0&&!kd(e))throw new TypeError(`The \`${n}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);if(bs(t,{checkOpen:!1}))throw new TypeError(`The \`${n}.final\` option must not be a Duplex stream.`);if(Cs(t))throw new TypeError(`The \`${n}.final\` option must not be a web TransformStream.`);if(t!==void 0&&!kd(t))throw new TypeError(`The \`${n}.final\` option must be a generator.`);return qs(r,`${n}.binary`),qs(i,`${n}.objectMode`),ot(e)||ot(t)?"asyncGenerator":"generator"},qs=(e,t)=>{if(e!==void 0&&typeof e!="boolean")throw new TypeError(`The \`${t}\` option must use a boolean.`)},kd=e=>ot(e)||$d(e),ot=e=>Object.prototype.toString.call(e)==="[object AsyncGeneratorFunction]",$d=e=>Object.prototype.toString.call(e)==="[object GeneratorFunction]",gb=e=>V(e)&&(e.transform!==void 0||e.final!==void 0),fi=e=>Object.prototype.toString.call(e)==="[object URL]",Cd=e=>fi(e)&&e.protocol!=="file:",_b=e=>V(e)&&Object.keys(e).length>0&&Object.keys(e).every(t=>bb.has(t))&&$s(e.file),bb=new Set(["file","append"]),$s=e=>typeof e=="string",Ad=(e,t)=>e==="native"&&typeof t=="string"&&!xb.has(t),xb=new Set(["ipc","ignore","inherit","overlapped","pipe"]),Ed=e=>Object.prototype.toString.call(e)==="[object ReadableStream]",gi=e=>Object.prototype.toString.call(e)==="[object WritableStream]",wb=e=>Ed(e)||gi(e),Cs=e=>Ed(e?.readable)&&gi(e?.writable),kb=e=>Td(e)&&typeof e[Symbol.asyncIterator]=="function",Sb=e=>Td(e)&&typeof e[Symbol.iterator]=="function",Td=e=>typeof e=="object"&&e!==null,le=new Set(["generator","asyncGenerator","duplex","webTransform"]),_i=new Set(["fileUrl","filePath","fileNumber"]),As=new Set(["fileUrl","filePath"]),Pd=new Set([...As,"webStream","nodeStream"]),Od=new Set(["webTransform","duplex"]),He={generator:"a generator",asyncGenerator:"an async generator",fileUrl:"a file URL",filePath:"a file path string",fileNumber:"a file descriptor number",webStream:"a web stream",nodeStream:"a Node.js stream",webTransform:"a web TransformStream",duplex:"a Duplex stream",native:"any value",iterable:"an iterable",asyncIterable:"an async iterable",string:"a string",uint8Array:"a Uint8Array"};var Es=(e,t,r,i)=>i==="output"?vb(e,t,r):qb(e,t,r),vb=(e,t,r)=>{let i=t!==0&&r[t-1].value.readableObjectMode;return{writableObjectMode:i,readableObjectMode:e??i}},qb=(e,t,r)=>{let i=t===0?e===!0:r[t-1].value.readableObjectMode,n=t!==r.length-1&&(e??i);return{writableObjectMode:i,readableObjectMode:n}},Id=(e,t)=>{let r=e.findLast(({type:i})=>le.has(i));return r===void 0?!1:t==="input"?r.value.writableObjectMode:r.value.readableObjectMode};var Rd=(e,t,r,i)=>[...e.filter(({type:n})=>!le.has(n)),...$b(e,t,r,i)],$b=(e,t,r,{encoding:i})=>{let n=e.filter(({type:o})=>le.has(o)),s=Array.from({length:n.length});for(let[o,a]of Object.entries(n))s[o]=Cb({stdioItem:a,index:Number(o),newTransforms:s,optionName:t,direction:r,encoding:i});return Pb(s,r)},Cb=({stdioItem:e,stdioItem:{type:t},index:r,newTransforms:i,optionName:n,direction:s,encoding:o})=>t==="duplex"?Ab({stdioItem:e,optionName:n}):t==="webTransform"?Eb({stdioItem:e,index:r,newTransforms:i,direction:s}):Tb({stdioItem:e,index:r,newTransforms:i,direction:s,encoding:o}),Ab=({stdioItem:e,stdioItem:{value:{transform:t,transform:{writableObjectMode:r,readableObjectMode:i},objectMode:n=i}},optionName:s})=>{if(n&&!i)throw new TypeError(`The \`${s}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`);if(!n&&i)throw new TypeError(`The \`${s}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`);return{...e,value:{transform:t,writableObjectMode:r,readableObjectMode:i}}},Eb=({stdioItem:e,stdioItem:{value:t},index:r,newTransforms:i,direction:n})=>{let{transform:s,objectMode:o}=V(t)?t:{transform:t},{writableObjectMode:a,readableObjectMode:c}=Es(o,r,i,n);return{...e,value:{transform:s,writableObjectMode:a,readableObjectMode:c}}},Tb=({stdioItem:e,stdioItem:{value:t},index:r,newTransforms:i,direction:n,encoding:s})=>{let{transform:o,final:a,binary:c=!1,preserveNewlines:d=!1,objectMode:p}=V(t)?t:{transform:t},u=c||oe.has(s),{writableObjectMode:l,readableObjectMode:m}=Es(p,r,i,n);return{...e,value:{transform:o,final:a,binary:u,preserveNewlines:d,writableObjectMode:l,readableObjectMode:m}}},Pb=(e,t)=>t==="input"?e.reverse():e;import Ts from"process";var jd=(e,t,r)=>{let i=e.map(n=>Ob(n,t));if(i.includes("input")&&i.includes("output"))throw new TypeError(`The \`${r}\` option must not be an array of both readable and writable values.`);return i.find(Boolean)??jb},Ob=({type:e,value:t},r)=>Ib[r]??Dd[e](t),Ib=["input","output","output"],Tt=()=>{},Ps=()=>"input",Dd={generator:Tt,asyncGenerator:Tt,fileUrl:Tt,filePath:Tt,iterable:Ps,asyncIterable:Ps,uint8Array:Ps,webStream:e=>gi(e)?"output":"input",nodeStream(e){return st(e,{checkOpen:!1})?_s(e,{checkOpen:!1})?void 0:"input":"output"},webTransform:Tt,duplex:Tt,native(e){let t=Rb(e);if(t!==void 0)return t;if(be(e,{checkOpen:!1}))return Dd.nodeStream(e)}},Rb=e=>{if([0,Ts.stdin].includes(e))return"input";if([1,2,Ts.stdout,Ts.stderr].includes(e))return"output"},jb="output";var Ld=(e,t)=>t&&!e.includes("ipc")?[...e,"ipc"]:e;var Md=({stdio:e,ipc:t,buffer:r,...i},n,s)=>{let o=Db(e,i).map((a,c)=>Fd(a,c));return s?Mb(o,r,n):Ld(o,t)},Db=(e,t)=>{if(e===void 0)return ue.map(i=>t[i]);if(Lb(t))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${ue.map(i=>`\`${i}\``).join(", ")}`);if(typeof e=="string")return[e,e,e];if(!Array.isArray(e))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof e}\``);let r=Math.max(e.length,ue.length);return Array.from({length:r},(i,n)=>e[n])},Lb=e=>ue.some(t=>e[t]!==void 0),Fd=(e,t)=>Array.isArray(e)?e.map(r=>Fd(r,t)):e??(t>=ue.length?"ignore":"pipe"),Mb=(e,t,r)=>e.map((i,n)=>!t[n]&&n!==0&&!xt(r,n)&&Fb(i)?"ignore":i),Fb=e=>e==="pipe"||Array.isArray(e)&&e.every(t=>t==="pipe");import{readFileSync as Ub}from"fs";import Bb from"tty";var Bd=({stdioItem:e,stdioItem:{type:t},isStdioArray:r,fdNumber:i,direction:n,isSync:s})=>!r||t!=="native"?e:s?Nb({stdioItem:e,fdNumber:i,direction:n}):Vb({stdioItem:e,fdNumber:i}),Nb=({stdioItem:e,stdioItem:{value:t,optionName:r},fdNumber:i,direction:n})=>{let s=Gb({value:t,optionName:r,fdNumber:i,direction:n});if(s!==void 0)return s;if(be(t,{checkOpen:!1}))throw new TypeError(`The \`${r}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);return e},Gb=({value:e,optionName:t,fdNumber:r,direction:i})=>{let n=zb(e,r);if(n!==void 0){if(i==="output")return{type:"fileNumber",value:n,optionName:t};if(Bb.isatty(n))throw new TypeError(`The \`${t}: ${Hr(e)}\` option is invalid: it cannot be a TTY with synchronous methods.`);return{type:"uint8Array",value:Le(Ub(n)),optionName:t}}},zb=(e,t)=>{if(e==="inherit")return t;if(typeof e=="number")return e;let r=Er.indexOf(e);if(r!==-1)return r},Vb=({stdioItem:e,stdioItem:{value:t,optionName:r},fdNumber:i})=>t==="inherit"?{type:"nodeStream",value:Ud(i,t,r),optionName:r}:typeof t=="number"?{type:"nodeStream",value:Ud(t,t,r),optionName:r}:be(t,{checkOpen:!1})?{type:"nodeStream",value:t,optionName:r}:e,Ud=(e,t,r)=>{let i=Er[e];if(i===void 0)throw new TypeError(`The \`${r}: ${t}\` option is invalid: no such standard stream.`);return i};var Nd=({input:e,inputFile:t},r)=>r===0?[...Wb(e),...Kb(t)]:[],Wb=e=>e===void 0?[]:[{type:Hb(e),value:e,optionName:"input"}],Hb=e=>{if(st(e,{checkOpen:!1}))return"nodeStream";if(typeof e=="string")return"string";if(H(e))return"uint8Array";throw new Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")},Kb=e=>e===void 0?[]:[{...Yb(e),optionName:"inputFile"}],Yb=e=>{if(fi(e))return{type:"fileUrl",value:e};if($s(e))return{type:"filePath",value:{file:e}};throw new Error("The `inputFile` option must be a file path string or a file URL.")};var Gd=e=>e.filter((t,r)=>e.every((i,n)=>t.value!==i.value||r>=n||t.type==="generator"||t.type==="asyncGenerator")),zd=({stdioItem:{type:e,value:t,optionName:r},direction:i,fileDescriptors:n,isSync:s})=>{let o=Jb(n,e);if(o.length!==0){if(s){Xb({otherStdioItems:o,type:e,value:t,optionName:r,direction:i});return}if(Pd.has(e))return Vd({otherStdioItems:o,type:e,value:t,optionName:r,direction:i});Od.has(e)&&Zb({otherStdioItems:o,type:e,value:t,optionName:r})}},Jb=(e,t)=>e.flatMap(({direction:r,stdioItems:i})=>i.filter(n=>n.type===t).map((n=>({...n,direction:r})))),Xb=({otherStdioItems:e,type:t,value:r,optionName:i,direction:n})=>{As.has(t)&&Vd({otherStdioItems:e,type:t,value:r,optionName:i,direction:n})},Vd=({otherStdioItems:e,type:t,value:r,optionName:i,direction:n})=>{let s=e.filter(a=>Qb(a,r));if(s.length===0)return;let o=s.find(a=>a.direction!==n);return Wd(o,i,t),n==="output"?s[0].stream:void 0},Qb=({type:e,value:t},r)=>e==="filePath"?t.file===r.file:e==="fileUrl"?t.href===r.href:t===r,Zb=({otherStdioItems:e,type:t,value:r,optionName:i})=>{let n=e.find(({value:{transform:s}})=>s===r.transform);Wd(n,i,t)},Wd=(e,t,r)=>{if(e!==void 0)throw new TypeError(`The \`${e.optionName}\` and \`${t}\` options must not target ${He[r]} that is the same.`)};var bi=(e,t,r,i)=>{let s=Md(t,r,i).map((a,c)=>ex({stdioOption:a,fdNumber:c,options:t,isSync:i})),o=cx({initialFileDescriptors:s,addProperties:e,options:t,isSync:i});return t.stdio=o.map(({stdioItems:a})=>ux(a)),o},ex=({stdioOption:e,fdNumber:t,options:r,isSync:i})=>{let n=Tr(t),{stdioItems:s,isStdioArray:o}=tx({stdioOption:e,fdNumber:t,options:r,optionName:n}),a=jd(s,t,n),c=s.map(u=>Bd({stdioItem:u,isStdioArray:o,fdNumber:t,direction:a,isSync:i})),d=Rd(c,n,a,r),p=Id(d,a);return ax(d,p),{direction:a,objectMode:p,stdioItems:d}},tx=({stdioOption:e,fdNumber:t,options:r,optionName:i})=>{let s=[...(Array.isArray(e)?e:[e]).map(c=>rx(c,i)),...Nd(r,t)],o=Gd(s),a=o.length>1;return ix(o,a,i),sx(o),{stdioItems:o,isStdioArray:a}},rx=(e,t)=>({type:Sd(e,t),value:e,optionName:t}),ix=(e,t,r)=>{if(e.length===0)throw new TypeError(`The \`${r}\` option must not be an empty array.`);if(t){for(let{value:i,optionName:n}of e)if(nx.has(i))throw new Error(`The \`${n}\` option must not include \`${i}\`.`)}},nx=new Set(["ignore","ipc"]),sx=e=>{for(let t of e)ox(t)},ox=({type:e,value:t,optionName:r})=>{if(Cd(t))throw new TypeError(`The \`${r}: URL\` option must use the \`file:\` scheme.
|
|
69
|
+
For example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`);if(Ad(e,t))throw new TypeError(`The \`${r}: { file: '...' }\` option must be used instead of \`${r}: '...'\`.`)},ax=(e,t)=>{if(!t)return;let r=e.find(({type:i})=>_i.has(i));if(r!==void 0)throw new TypeError(`The \`${r.optionName}\` option cannot use both files and transforms in objectMode.`)},cx=({initialFileDescriptors:e,addProperties:t,options:r,isSync:i})=>{let n=[];try{for(let s of e)n.push(px({fileDescriptor:s,fileDescriptors:n,addProperties:t,options:r,isSync:i}));return n}catch(s){throw Os(n),s}},px=({fileDescriptor:{direction:e,objectMode:t,stdioItems:r},fileDescriptors:i,addProperties:n,options:s,isSync:o})=>{let a=r.map(c=>dx({stdioItem:c,addProperties:n,direction:e,options:s,fileDescriptors:i,isSync:o}));return{direction:e,objectMode:t,stdioItems:a}},dx=({stdioItem:e,addProperties:t,direction:r,options:i,fileDescriptors:n,isSync:s})=>{let o=zd({stdioItem:e,direction:r,fileDescriptors:n,isSync:s});return o!==void 0?{...e,stream:o}:{...e,...t[r][e.type](e,i)}},Os=e=>{for(let{stdioItems:t}of e)for(let{stream:r}of t)r!==void 0&&!fe(r)&&r.destroy()},ux=e=>{if(e.length>1)return e.some(({value:i})=>i==="overlapped")?"overlapped":"pipe";let[{type:t,value:r}]=e;return t==="native"?r:"pipe"};var Yd=(e,t)=>bi(mx,e,t,!0),$e=({type:e,optionName:t})=>{Jd(t,He[e])},lx=({optionName:e,value:t})=>((t==="ipc"||t==="overlapped")&&Jd(e,`"${t}"`),{}),Jd=(e,t)=>{throw new TypeError(`The \`${e}\` option cannot be ${t} with synchronous methods.`)},Kd={generator(){},asyncGenerator:$e,webStream:$e,nodeStream:$e,webTransform:$e,duplex:$e,asyncIterable:$e,native:lx},mx={input:{...Kd,fileUrl:({value:e})=>({contents:[Le(Hd(e))]}),filePath:({value:{file:e}})=>({contents:[Le(Hd(e))]}),fileNumber:$e,iterable:({value:e})=>({contents:[...e]}),string:({value:e})=>({contents:[e]}),uint8Array:({value:e})=>({contents:[e]})},output:{...Kd,fileUrl:({value:e})=>({path:e}),filePath:({value:{file:e,append:t}})=>({path:e,append:t}),fileNumber:({value:e})=>({path:e}),iterable:$e,string:$e,uint8Array:$e}};var Ue=(e,{stripFinalNewline:t},r)=>Is(t,r)&&e!==void 0&&!Array.isArray(e)?$t(e):e,Is=(e,t)=>t==="all"?e[1]||e[2]:e[t];import{Transform as Rx,getDefaultHighWaterMark as au}from"stream";var xi=(e,t,r,i)=>e||r?void 0:Qd(t,i),js=(e,t,r)=>r?e.flatMap(i=>Xd(i,t)):Xd(e,t),Xd=(e,t)=>{let{transform:r,final:i}=Qd(t,{});return[...r(e),...i()]},Qd=(e,t)=>(t.previousChunks="",{transform:hx.bind(void 0,t,e),final:fx.bind(void 0,t)}),hx=function*(e,t,r){if(typeof r!="string"){yield r;return}let{previousChunks:i}=e,n=-1;for(let s=0;s<r.length;s+=1)if(r[s]===`
|
|
70
|
+
`){let o=yx(r,s,t,e),a=r.slice(n+1,s+1-o);i.length>0&&(a=Rs(i,a),i=""),yield a,n=s}n!==r.length-1&&(i=Rs(i,r.slice(n+1))),e.previousChunks=i},yx=(e,t,r,i)=>r?0:(i.isWindowsNewline=t!==0&&e[t-1]==="\r",i.isWindowsNewline?2:1),fx=function*({previousChunks:e}){e.length>0&&(yield e)},Zd=({binary:e,preserveNewlines:t,readableObjectMode:r,state:i})=>e||t||r?void 0:{transform:gx.bind(void 0,i)},gx=function*({isWindowsNewline:e=!1},t){let{unixNewline:r,windowsNewline:i,LF:n,concatBytes:s}=typeof t=="string"?_x:xx;if(t.at(-1)===n){yield t;return}yield s(t,e?i:r)},Rs=(e,t)=>`${e}${t}`,_x={windowsNewline:`\r
|
|
71
71
|
`,unixNewline:`
|
|
72
72
|
`,LF:`
|
|
73
|
-
`,concatBytes:Rs},
|
|
73
|
+
`,concatBytes:Rs},bx=(e,t)=>{let r=new Uint8Array(e.length+t.length);return r.set(e,0),r.set(t,e.length),r},xx={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:bx};import{Buffer as wx}from"buffer";var eu=(e,t)=>e?void 0:kx.bind(void 0,t),kx=function*(e,t){if(typeof t!="string"&&!H(t)&&!wx.isBuffer(t))throw new TypeError(`The \`${e}\` option's transform must use "objectMode: true" to receive as input: ${typeof t}.`);yield t},tu=(e,t)=>e?Sx.bind(void 0,t):vx.bind(void 0,t),Sx=function*(e,t){ru(e,t),yield t},vx=function*(e,t){if(ru(e,t),typeof t!="string"&&!H(t))throw new TypeError(`The \`${e}\` option's function must yield a string or an Uint8Array, not ${typeof t}.`);yield t},ru=(e,t)=>{if(t==null)throw new TypeError(`The \`${e}\` option's function must not call \`yield ${t}\`.
|
|
74
74
|
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
|
75
|
-
if (condition) { yield value; }`)};import{Buffer as vx}from"buffer";import{StringDecoder as qx}from"string_decoder";var wi=(e,t,r)=>{if(r)return;if(e)return{transform:$x.bind(void 0,new TextEncoder)};let i=new qx(t);return{transform:Cx.bind(void 0,i),final:Ax.bind(void 0,i)}},$x=function*(e,t){vx.isBuffer(t)?yield De(t):typeof t=="string"?yield e.encode(t):yield t},Cx=function*(e,t){yield H(t)?e.write(t):t},Ax=function*(e){let t=e.end();t!==""&&(yield t)};import{callbackify as ru}from"util";var Ds=ru(async(e,t,r,i)=>{t.currentIterable=e(...r);try{for await(let n of t.currentIterable)i.push(n)}finally{delete t.currentIterable}}),ki=async function*(e,t,r){if(r===t.length){yield e;return}let{transform:i=Tx}=t[r];for await(let n of i(e))yield*ki(n,t,r+1)},iu=async function*(e){for(let[t,{final:r}]of Object.entries(e))yield*Ex(r,Number(t),e)},Ex=async function*(e,t,r){if(e!==void 0)for await(let i of e())yield*ki(i,r,t+1)},nu=ru(async({currentIterable:e},t)=>{if(e!==void 0){await(t?e.throw(t):e.return());return}if(t)throw t}),Tx=function*(e){yield e};var Ls=(e,t,r,i)=>{try{for(let n of e(...t))r.push(n);i()}catch(n){i(n)}},su=(e,t)=>[...t.flatMap(r=>[...ot(r,e,0)]),...er(e)],ot=function*(e,t,r){if(r===t.length){yield e;return}let{transform:i=Ox}=t[r];for(let n of i(e))yield*ot(n,t,r+1)},er=function*(e){for(let[t,{final:r}]of Object.entries(e))yield*Px(r,Number(t),e)},Px=function*(e,t,r){if(e!==void 0)for(let i of e())yield*ot(i,r,t+1)},Ox=function*(e){yield e};var Ms=({value:e,value:{transform:t,final:r,writableObjectMode:i,readableObjectMode:n},optionName:s},{encoding:o})=>{let a={},c=au(e,o,s),d=st(t),p=st(r),u=d?Ds.bind(void 0,ki,a):Ls.bind(void 0,ot),l=d||p?Ds.bind(void 0,iu,a):Ls.bind(void 0,er),m=d||p?nu.bind(void 0,a):void 0;return{stream:new Ix({writableObjectMode:i,writableHighWaterMark:ou(i),readableObjectMode:n,readableHighWaterMark:ou(n),transform(f,x,_){u([f,c,0],this,_)},flush(f){l([c],this,f)},destroy:m})}},Si=(e,t,r,i)=>{let n=t.filter(({type:o})=>o==="generator"),s=i?n.reverse():n;for(let{value:o,optionName:a}of s){let c=au(o,r,a);e=su(c,e)}return e},au=({transform:e,final:t,binary:r,writableObjectMode:i,readableObjectMode:n,preserveNewlines:s},o,a)=>{let c={};return[{transform:Zd(i,a)},wi(r,o,i),xi(r,s,i,c),{transform:e,final:t},{transform:eu(n,a)},Qd({binary:r,preserveNewlines:s,readableObjectMode:n,state:c})].filter(Boolean)};var cu=(e,t)=>{for(let r of Rx(e))jx(e,r,t)},Rx=e=>new Set(Object.entries(e).filter(([,{direction:t}])=>t==="input").map(([t])=>Number(t))),jx=(e,t,r)=>{let{stdioItems:i}=e[t],n=i.filter(({contents:a})=>a!==void 0);if(n.length===0)return;if(t!==0){let[{type:a,optionName:c}]=n;throw new TypeError(`Only the \`stdin\` option, not \`${c}\`, can be ${We[a]} with synchronous methods.`)}let o=n.map(({contents:a})=>a).map(a=>Dx(a,i));r.input=zt(o)},Dx=(e,t)=>{let r=Si(e,t,"utf8",!0);return Lx(r),zt(r)},Lx=e=>{let t=e.find(r=>typeof r!="string"&&!H(r));if(t!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${t}.`)};import{writeFileSync as Bx,appendFileSync as Nx}from"fs";var vi=({stdioItems:e,encoding:t,verboseInfo:r,fdNumber:i})=>i!=="all"&&xt(r,i)&&!oe.has(t)&&Mx(i)&&(e.some(({type:n,value:s})=>n==="native"&&Fx.has(s))||e.every(({type:n})=>le.has(n))),Mx=e=>e===1||e===2,Fx=new Set(["pipe","overlapped"]),pu=async(e,t,r,i)=>{for await(let n of e)Ux(t)||uu(n,r,i)},du=(e,t,r)=>{for(let i of e)uu(i,t,r)},Ux=e=>e._readableState.pipes.length>0,uu=(e,t,r)=>{let i=Dr(e);ke({type:"output",verboseMessage:i,fdNumber:t,verboseInfo:r})};var lu=({fileDescriptors:e,syncResult:{output:t},options:r,isMaxBuffer:i,verboseInfo:n})=>{if(t===null)return{output:Array.from({length:3})};let s={},o=new Set([]);return{output:t.map((c,d)=>Gx({result:c,fileDescriptors:e,fdNumber:d,state:s,outputFiles:o,isMaxBuffer:i,verboseInfo:n},r)),...s}},Gx=({result:e,fileDescriptors:t,fdNumber:r,state:i,outputFiles:n,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:d,stripFinalNewline:p,maxBuffer:u})=>{if(e===null)return;let l=md(e,s,u),m=De(l),{stdioItems:h,objectMode:f}=t[r],x=zx([m],h,c,i),{serializedResult:_,finalResult:v=_}=Vx({chunks:x,objectMode:f,encoding:c,lines:d,stripFinalNewline:p,fdNumber:r});Wx({serializedResult:_,fdNumber:r,state:i,verboseInfo:o,encoding:c,stdioItems:h,objectMode:f});let C=a[r]?v:void 0;try{return i.error===void 0&&Hx(_,h,n),C}catch(E){return i.error=E,C}},zx=(e,t,r,i)=>{try{return Si(e,t,r,!1)}catch(n){return i.error=n,e}},Vx=({chunks:e,objectMode:t,encoding:r,lines:i,stripFinalNewline:n,fdNumber:s})=>{if(t)return{serializedResult:e};if(r==="buffer")return{serializedResult:zt(e)};let o=Ca(e,r);return i[s]?{serializedResult:o,finalResult:js(o,!n[s],t)}:{serializedResult:o}},Wx=({serializedResult:e,fdNumber:t,state:r,verboseInfo:i,encoding:n,stdioItems:s,objectMode:o})=>{if(!vi({stdioItems:s,encoding:n,verboseInfo:i,fdNumber:t}))return;let a=js(e,!1,o);try{du(a,t,i)}catch(c){r.error??=c}},Hx=(e,t,r)=>{for(let{path:i,append:n}of t.filter(({type:s})=>_i.has(s))){let s=typeof i=="string"?i:i.toString();n||r.has(s)?Nx(i,e):(r.add(s),Bx(i,e))}};var mu=([,e,t],r)=>{if(r.all)return e===void 0?t:t===void 0?e:Array.isArray(e)?Array.isArray(t)?[...e,...t]:[...e,Fe(t,r,"all")]:Array.isArray(t)?[Fe(e,r,"all"),...t]:H(e)&&H(t)?zn([e,t]):`${e}${t}`};import{once as Fs}from"events";var hu=async(e,t)=>{let[r,i]=await Kx(e);return t.isForcefullyTerminated??=!1,[r,i]},Kx=async e=>{let[t,r]=await Promise.allSettled([Fs(e,"spawn"),Fs(e,"exit")]);return t.status==="rejected"?[]:r.status==="rejected"?yu(e):r.value},yu=async e=>{try{return await Fs(e,"exit")}catch{return yu(e)}},fu=async e=>{let[t,r]=await e;if(!Yx(t,r)&&Us(t,r))throw new ge;return[t,r]},Yx=(e,t)=>e===void 0&&t===void 0,Us=(e,t)=>e!==0||t!==null;var gu=({error:e,status:t,signal:r,output:i},{maxBuffer:n})=>{let s=Jx(e,t,r),o=s?.code==="ETIMEDOUT",a=ld(s,i,n);return{resultError:s,exitCode:t,signal:r,timedOut:o,isMaxBuffer:a}},Jx=(e,t,r)=>e!==void 0?e:Us(t,r)?new ge:void 0;var _u=(e,t,r)=>{let{file:i,commandArguments:n,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:d,fileDescriptors:p}=Qx(e,t,r),u=tw({file:i,commandArguments:n,options:d,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:p,startTime:a});return Et(u,c,d)},Qx=(e,t,r)=>{let{command:i,escapedCommand:n,startTime:s,verboseInfo:o}=Mr(e,t,r),a=Zx(r),{file:c,commandArguments:d,options:p}=si(e,t,a);ew(p);let u=Kd(p,o);return{file:c,commandArguments:d,command:i,escapedCommand:n,startTime:s,verboseInfo:o,options:p,fileDescriptors:u}},Zx=e=>e.node&&!e.ipc?{...e,ipc:!1}:e,ew=({ipc:e,ipcInput:t,detached:r,cancelSignal:i})=>{t&&qi("ipcInput"),e&&qi("ipc: true"),r&&qi("detached: true"),i&&qi("cancelSignal")},qi=e=>{throw new TypeError(`The "${e}" option cannot be used with synchronous methods.`)},tw=({file:e,commandArguments:t,options:r,command:i,escapedCommand:n,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=rw({file:e,commandArguments:t,options:r,command:i,escapedCommand:n,fileDescriptors:o,startTime:a});if(c.failed)return c;let{resultError:d,exitCode:p,signal:u,timedOut:l,isMaxBuffer:m}=gu(c,r),{output:h,error:f=d}=lu({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:m,verboseInfo:s}),x=h.map((v,C)=>Fe(v,r,C)),_=Fe(mu(h,r),r,"all");return nw({error:f,exitCode:p,signal:u,timedOut:l,isMaxBuffer:m,stdio:x,all:_,options:r,command:i,escapedCommand:n,startTime:a})},rw=({file:e,commandArguments:t,options:r,command:i,escapedCommand:n,fileDescriptors:s,startTime:o})=>{try{cu(s,r);let a=iw(r);return Xx(...oi(e,t,a))}catch(a){return At({error:a,command:i,escapedCommand:n,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},iw=({encoding:e,maxBuffer:t,...r})=>({...r,encoding:"buffer",maxBuffer:hi(t)}),nw=({error:e,exitCode:t,signal:r,timedOut:i,isMaxBuffer:n,stdio:s,all:o,options:a,command:c,escapedCommand:d,startTime:p})=>e===void 0?yi({command:c,escapedCommand:d,stdio:s,all:o,ipcOutput:[],options:a,startTime:p}):Zt({error:e,command:c,escapedCommand:d,timedOut:i,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:n,isForcefullyTerminated:!1,exitCode:t,signal:r,stdio:s,all:o,ipcOutput:[],options:a,startTime:p,isSync:!0});import{setMaxListeners as V0}from"events";import{spawn as W0}from"child_process";import Su from"process";import{once as Bs,on as sw}from"events";var bu=({anyProcess:e,channel:t,isSubprocess:r,ipc:i},{reference:n=!0,filter:s}={})=>(St({methodName:"getOneMessage",isSubprocess:r,ipc:i,isConnected:Zr(e)}),ow({anyProcess:e,channel:t,isSubprocess:r,filter:s,reference:n})),ow=async({anyProcess:e,channel:t,isSubprocess:r,filter:i,reference:n})=>{Yr(t,n);let s=Ve(e,t,r),o=new AbortController;try{return await Promise.race([aw(s,i,o),cw(s,r,o),pw(s,r,o)])}catch(a){throw vt(e),a}finally{o.abort(),Jr(t,n)}},aw=async(e,t,{signal:r})=>{if(t===void 0){let[i]=await Bs(e,"message",{signal:r});return i}for await(let[i]of sw(e,"message",{signal:r}))if(t(i))return i},cw=async(e,t,{signal:r})=>{await Bs(e,"disconnect",{signal:r}),sp(t)},pw=async(e,t,{signal:r})=>{let[i]=await Bs(e,"strict:error",{signal:r});throw Wr(i,t)};import{once as wu,on as dw}from"events";var ku=({anyProcess:e,channel:t,isSubprocess:r,ipc:i},{reference:n=!0}={})=>Ns({anyProcess:e,channel:t,isSubprocess:r,ipc:i,shouldAwait:!r,reference:n}),Ns=({anyProcess:e,channel:t,isSubprocess:r,ipc:i,shouldAwait:n,reference:s})=>{St({methodName:"getEachMessage",isSubprocess:r,ipc:i,isConnected:Zr(e)}),Yr(t,s);let o=Ve(e,t,r),a=new AbortController,c={};return uw(e,o,a),lw({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),mw({anyProcess:e,channel:t,ipcEmitter:o,isSubprocess:r,shouldAwait:n,controller:a,state:c,reference:s})},uw=async(e,t,r)=>{try{await wu(t,"disconnect",{signal:r.signal}),r.abort()}catch{}},lw=async({ipcEmitter:e,isSubprocess:t,controller:r,state:i})=>{try{let[n]=await wu(e,"strict:error",{signal:r.signal});i.error=Wr(n,t),r.abort()}catch{}},mw=async function*({anyProcess:e,channel:t,ipcEmitter:r,isSubprocess:i,shouldAwait:n,controller:s,state:o,reference:a}){try{for await(let[c]of dw(r,"message",{signal:s.signal}))xu(o),yield c}catch{xu(o)}finally{s.abort(),Jr(t,a),i||vt(e),n&&await e}},xu=({error:e})=>{if(e)throw e};var vu=(e,{ipc:t})=>{Object.assign(e,$u(e,!1,t))},qu=()=>{let e=Su,t=!0,r=Su.channel!==void 0;return{...$u(e,t,r),getCancelSignal:Op.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:t,ipc:r})}},$u=(e,t,r)=>({sendMessage:ii.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:t,ipc:r}),getOneMessage:bu.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:t,ipc:r}),getEachMessage:ku.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:t,ipc:r})});import{ChildProcess as hw}from"child_process";import{PassThrough as yw,Readable as fw,Writable as gw,Duplex as _w}from"stream";var Cu=({error:e,command:t,escapedCommand:r,fileDescriptors:i,options:n,startTime:s,verboseInfo:o})=>{Os(i);let a=new hw;bw(a,i),Object.assign(a,{readable:xw,writable:ww,duplex:kw});let c=At({error:e,command:t,escapedCommand:r,fileDescriptors:i,options:n,startTime:s,isSync:!1}),d=Sw(c,o,n);return{subprocess:a,promise:d}},bw=(e,t)=>{let r=tr(),i=tr(),n=tr(),s=Array.from({length:t.length-3},tr),o=tr(),a=[r,i,n,...s];Object.assign(e,{stdin:r,stdout:i,stderr:n,all:o,stdio:a})},tr=()=>{let e=new yw;return e.end(),e},xw=()=>new fw({read(){}}),ww=()=>new gw({write(){}}),kw=()=>new _w({read(){},write(){}}),Sw=async(e,t,r)=>Et(e,t,r);import{createReadStream as Au,createWriteStream as Eu}from"fs";import{Buffer as vw}from"buffer";import{Readable as rr,Writable as qw,Duplex as $w}from"stream";var Pu=(e,t)=>bi(Cw,e,t,!1),ir=({type:e,optionName:t})=>{throw new TypeError(`The \`${t}\` option cannot be ${We[e]}.`)},Tu={fileNumber:ir,generator:Ms,asyncGenerator:Ms,nodeStream:({value:e})=>({stream:e}),webTransform({value:{transform:e,writableObjectMode:t,readableObjectMode:r}}){let i=t||r;return{stream:$w.fromWeb(e,{objectMode:i})}},duplex:({value:{transform:e}})=>({stream:e}),native(){}},Cw={input:{...Tu,fileUrl:({value:e})=>({stream:Au(e)}),filePath:({value:{file:e}})=>({stream:Au(e)}),webStream:({value:e})=>({stream:rr.fromWeb(e)}),iterable:({value:e})=>({stream:rr.from(e)}),asyncIterable:({value:e})=>({stream:rr.from(e)}),string:({value:e})=>({stream:rr.from(e)}),uint8Array:({value:e})=>({stream:rr.from(vw.from(e))})},output:{...Tu,fileUrl:({value:e})=>({stream:Eu(e)}),filePath:({value:{file:e,append:t}})=>({stream:Eu(e,t?{flags:"a"}:{})}),webStream:({value:e})=>({stream:qw.fromWeb(e)}),iterable:ir,asyncIterable:ir,string:ir,uint8Array:ir}};import{on as Aw,once as Ou}from"events";import{PassThrough as Ew,getDefaultHighWaterMark as Tw}from"stream";import{finished as ju}from"stream/promises";function at(e){if(!Array.isArray(e))throw new TypeError(`Expected an array, got \`${typeof e}\`.`);for(let n of e)zs(n);let t=e.some(({readableObjectMode:n})=>n),r=Pw(e,t),i=new Gs({objectMode:t,writableHighWaterMark:r,readableHighWaterMark:r});for(let n of e)i.add(n);return i}var Pw=(e,t)=>{if(e.length===0)return Tw(t);let r=e.filter(({readableObjectMode:i})=>i===t).map(({readableHighWaterMark:i})=>i);return Math.max(...r)},Gs=class extends Ew{#t=new Set([]);#r=new Set([]);#e=new Set([]);#i;#s=Symbol("unpipe");#n=new WeakMap;add(t){if(zs(t),this.#t.has(t))return;this.#t.add(t),this.#i??=Ow(this,this.#t,this.#s);let r=jw({passThroughStream:this,stream:t,streams:this.#t,ended:this.#r,aborted:this.#e,onFinished:this.#i,unpipeEvent:this.#s});this.#n.set(t,r),t.pipe(this,{end:!1})}async remove(t){if(zs(t),!this.#t.has(t))return!1;let r=this.#n.get(t);return r===void 0?!1:(this.#n.delete(t),t.unpipe(this),await r,!0)}},Ow=async(e,t,r)=>{$i(e,Iu);let i=new AbortController;try{await Promise.race([Iw(e,i),Rw(e,t,r,i)])}finally{i.abort(),$i(e,-Iu)}},Iw=async(e,{signal:t})=>{try{await ju(e,{signal:t,cleanup:!0})}catch(r){throw Du(e,r),r}},Rw=async(e,t,r,{signal:i})=>{for await(let[n]of Aw(e,"unpipe",{signal:i}))t.has(n)&&n.emit(r)},zs=e=>{if(typeof e?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof e}\`.`)},jw=async({passThroughStream:e,stream:t,streams:r,ended:i,aborted:n,onFinished:s,unpipeEvent:o})=>{$i(e,Ru);let a=new AbortController;try{await Promise.race([Dw(s,t,a),Lw({passThroughStream:e,stream:t,streams:r,ended:i,aborted:n,controller:a}),Mw({stream:t,streams:r,ended:i,aborted:n,unpipeEvent:o,controller:a})])}finally{a.abort(),$i(e,-Ru)}r.size>0&&r.size===i.size+n.size&&(i.size===0&&n.size>0?Vs(e):Fw(e))},Dw=async(e,t,{signal:r})=>{try{await e,r.aborted||Vs(t)}catch(i){r.aborted||Du(t,i)}},Lw=async({passThroughStream:e,stream:t,streams:r,ended:i,aborted:n,controller:{signal:s}})=>{try{await ju(t,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(t)&&i.add(t)}catch(o){if(s.aborted||!r.has(t))return;Lu(o)?n.add(t):Mu(e,o)}},Mw=async({stream:e,streams:t,ended:r,aborted:i,unpipeEvent:n,controller:{signal:s}})=>{if(await Ou(e,n,{signal:s}),!e.readable)return Ou(s,"abort",{signal:s});t.delete(e),r.delete(e),i.delete(e)},Fw=e=>{e.writable&&e.end()},Du=(e,t)=>{Lu(t)?Vs(e):Mu(e,t)},Lu=e=>e?.code==="ERR_STREAM_PREMATURE_CLOSE",Vs=e=>{(e.readable||e.writable)&&e.destroy()},Mu=(e,t)=>{e.destroyed||(e.once("error",Uw),e.destroy(t))},Uw=()=>{},$i=(e,t)=>{let r=e.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&e.setMaxListeners(r+t)},Iu=2,Ru=1;import{finished as Fu}from"stream/promises";var Pt=(e,t)=>{e.pipe(t),Bw(e,t),Nw(e,t)},Bw=async(e,t)=>{if(!(fe(e)||fe(t))){try{await Fu(e,{cleanup:!0,readable:!0,writable:!1})}catch{}Ws(t)}},Ws=e=>{e.writable&&e.end()},Nw=async(e,t)=>{if(!(fe(e)||fe(t))){try{await Fu(t,{cleanup:!0,readable:!1,writable:!0})}catch{}Hs(e)}},Hs=e=>{e.readable&&e.destroy()};var Uu=(e,t,r)=>{let i=new Map;for(let[n,{stdioItems:s,direction:o}]of Object.entries(t)){for(let{stream:a}of s.filter(({type:c})=>le.has(c)))Gw(e,a,o,n);for(let{stream:a}of s.filter(({type:c})=>!le.has(c)))Vw({subprocess:e,stream:a,direction:o,fdNumber:n,pipeGroups:i,controller:r})}for(let[n,s]of i.entries()){let o=s.length===1?s[0]:at(s);Pt(o,n)}},Gw=(e,t,r,i)=>{r==="output"?Pt(e.stdio[i],t):Pt(t,e.stdio[i]);let n=zw[i];n!==void 0&&(e[n]=t),e.stdio[i]=t},zw=["stdin","stdout","stderr"],Vw=({subprocess:e,stream:t,direction:r,fdNumber:i,pipeGroups:n,controller:s})=>{if(t===void 0)return;Ww(t,s);let[o,a]=r==="output"?[t,e.stdio[i]]:[e.stdio[i],t],c=n.get(o)??[];n.set(o,[...c,a])},Ww=(e,{signal:t})=>{fe(e)&&it(e,Hw,t)},Hw=2;import{addAbortListener as Jw}from"events";var ct=[];ct.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&ct.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&ct.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var Ci=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",Ks=Symbol.for("signal-exit emitter"),Ys=globalThis,Kw=Object.defineProperty.bind(Object),Js=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Ys[Ks])return Ys[Ks];Kw(Ys,Ks,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,r){this.listeners[t].push(r)}removeListener(t,r){let i=this.listeners[t],n=i.indexOf(r);n!==-1&&(n===0&&i.length===1?i.length=0:i.splice(n,1))}emit(t,r,i){if(this.emitted[t])return!1;this.emitted[t]=!0;let n=!1;for(let s of this.listeners[t])n=s(r,i)===!0||n;return t==="exit"&&(n=this.emit("afterExit",r,i)||n),n}},Ai=class{},Yw=e=>({onExit(t,r){return e.onExit(t,r)},load(){return e.load()},unload(){return e.unload()}}),Xs=class extends Ai{onExit(){return()=>{}}load(){}unload(){}},Qs=class extends Ai{#t=Zs.platform==="win32"?"SIGINT":"SIGHUP";#r=new Js;#e;#i;#s;#n={};#o=!1;constructor(t){super(),this.#e=t,this.#n={};for(let r of ct)this.#n[r]=()=>{let i=this.#e.listeners(r),{count:n}=this.#r,s=t;if(typeof s.__signal_exit_emitter__=="object"&&typeof s.__signal_exit_emitter__.count=="number"&&(n+=s.__signal_exit_emitter__.count),i.length===n){this.unload();let o=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#t:r;o||t.kill(t.pid,a)}};this.#s=t.reallyExit,this.#i=t.emit}onExit(t,r){if(!Ci(this.#e))return()=>{};this.#o===!1&&this.load();let i=r?.alwaysLast?"afterExit":"exit";return this.#r.on(i,t),()=>{this.#r.removeListener(i,t),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#o){this.#o=!0,this.#r.count+=1;for(let t of ct)try{let r=this.#n[t];r&&this.#e.on(t,r)}catch{}this.#e.emit=(t,...r)=>this.#c(t,...r),this.#e.reallyExit=t=>this.#a(t)}}unload(){this.#o&&(this.#o=!1,ct.forEach(t=>{let r=this.#n[t];if(!r)throw new Error("Listener not defined for signal: "+t);try{this.#e.removeListener(t,r)}catch{}}),this.#e.emit=this.#i,this.#e.reallyExit=this.#s,this.#r.count-=1)}#a(t){return Ci(this.#e)?(this.#e.exitCode=t||0,this.#r.emit("exit",this.#e.exitCode,null),this.#s.call(this.#e,this.#e.exitCode)):0}#c(t,...r){let i=this.#i;if(t==="exit"&&Ci(this.#e)){typeof r[0]=="number"&&(this.#e.exitCode=r[0]);let n=i.call(this.#e,t,...r);return this.#r.emit("exit",this.#e.exitCode,null),n}else return i.call(this.#e,t,...r)}},Zs=globalThis.process,{onExit:Bu,load:vO,unload:qO}=Yw(Ci(Zs)?new Qs(Zs):new Xs);var Nu=(e,{cleanup:t,detached:r},{signal:i})=>{if(!t||r)return;let n=Bu(()=>{e.kill()});Jw(i,()=>{n()})};var zu=({source:e,sourcePromise:t,boundOptions:r,createNested:i},...n)=>{let s=Lr(),{destination:o,destinationStream:a,destinationError:c,from:d,unpipeSignal:p}=Xw(r,i,n),{sourceStream:u,sourceError:l}=Zw(e,d),{options:m,fileDescriptors:h}=ve.get(e);return{sourcePromise:t,sourceStream:u,sourceOptions:m,sourceError:l,destination:o,destinationStream:a,destinationError:c,unpipeSignal:p,fileDescriptors:h,startTime:s}},Xw=(e,t,r)=>{try{let{destination:i,pipeOptions:{from:n,to:s,unpipeSignal:o}={}}=Qw(e,t,...r),a=Kr(i,s);return{destination:i,destinationStream:a,from:n,unpipeSignal:o}}catch(i){return{destinationError:i}}},Qw=(e,t,r,...i)=>{if(Array.isArray(r))return{destination:t(Gu,e)(r,...i),pipeOptions:e};if(typeof r=="string"||r instanceof URL||Nn(r)){if(Object.keys(e).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[n,s,o]=Cr(r,...i);return{destination:t(Gu)(n,s,o),pipeOptions:o}}if(ve.has(r)){if(Object.keys(e).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:r,pipeOptions:i[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${r}`)},Gu=({options:e})=>({options:{...e,stdin:"pipe",piped:!0}}),Zw=(e,t)=>{try{return{sourceStream:qt(e,t)}}catch(r){return{sourceError:r}}};var Wu=({sourceStream:e,sourceError:t,destinationStream:r,destinationError:i,fileDescriptors:n,sourceOptions:s,startTime:o})=>{let a=e0({sourceStream:e,sourceError:t,destinationStream:r,destinationError:i});if(a!==void 0)throw eo({error:a,fileDescriptors:n,sourceOptions:s,startTime:o})},e0=({sourceStream:e,sourceError:t,destinationStream:r,destinationError:i})=>{if(t!==void 0&&i!==void 0)return i;if(i!==void 0)return Hs(e),i;if(t!==void 0)return Ws(r),t},eo=({error:e,fileDescriptors:t,sourceOptions:r,startTime:i})=>At({error:e,command:Vu,escapedCommand:Vu,fileDescriptors:t,options:r,startTime:i,isSync:!1}),Vu="source.pipe(destination)";var Hu=async e=>{let[{status:t,reason:r,value:i=r},{status:n,reason:s,value:o=s}]=await e;if(o.pipedFrom.includes(i)||o.pipedFrom.push(i),n==="rejected")throw o;if(t==="rejected")throw i;return o};import{finished as t0}from"stream/promises";var Ku=(e,t,r)=>{let i=Ei.has(t)?i0(e,t):r0(e,t);return it(e,s0,r.signal),it(t,o0,r.signal),n0(t),i},r0=(e,t)=>{let r=at([e]);return Pt(r,t),Ei.set(t,r),r},i0=(e,t)=>{let r=Ei.get(t);return r.add(e),r},n0=async e=>{try{await t0(e,{cleanup:!0,readable:!1,writable:!0})}catch{}Ei.delete(e)},Ei=new WeakMap,s0=2,o0=1;import{aborted as a0}from"util";var Yu=(e,t)=>e===void 0?[]:[c0(e,t)],c0=async(e,{sourceStream:t,mergedStream:r,fileDescriptors:i,sourceOptions:n,startTime:s})=>{await a0(e,t),await r.remove(t);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw eo({error:o,fileDescriptors:i,sourceOptions:n,startTime:s})};var Ti=(e,...t)=>{if(V(t[0]))return Ti.bind(void 0,{...e,boundOptions:{...e.boundOptions,...t[0]}});let{destination:r,...i}=zu(e,...t),n=p0({...i,destination:r});return n.pipe=Ti.bind(void 0,{...e,source:r,sourcePromise:n,boundOptions:{}}),n},p0=async({sourcePromise:e,sourceStream:t,sourceOptions:r,sourceError:i,destination:n,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:d})=>{let p=d0(e,n);Wu({sourceStream:t,sourceError:i,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:d});let u=new AbortController;try{let l=Ku(t,s,u);return await Promise.race([Hu(p),...Yu(a,{sourceStream:t,mergedStream:l,sourceOptions:r,fileDescriptors:c,startTime:d})])}finally{u.abort()}},d0=(e,t)=>Promise.allSettled([e,t]);import{setImmediate as g0}from"timers/promises";import{on as u0}from"events";import{getDefaultHighWaterMark as l0}from"stream";var Pi=({subprocessStdout:e,subprocess:t,binary:r,shouldEncode:i,encoding:n,preserveNewlines:s})=>{let o=new AbortController;return m0(t,o),Xu({stream:e,controller:o,binary:r,shouldEncode:!e.readableObjectMode&&i,encoding:n,shouldSplit:!e.readableObjectMode,preserveNewlines:s})},m0=async(e,t)=>{try{await e}catch{}finally{t.abort()}},to=({stream:e,onStreamEnd:t,lines:r,encoding:i,stripFinalNewline:n,allMixed:s})=>{let o=new AbortController;h0(t,o,e);let a=e.readableObjectMode&&!s;return Xu({stream:e,controller:o,binary:i==="buffer",shouldEncode:!a,encoding:i,shouldSplit:!a&&r,preserveNewlines:!n})},h0=async(e,t,r)=>{try{await e}catch{r.destroy()}finally{t.abort()}},Xu=({stream:e,controller:t,binary:r,shouldEncode:i,encoding:n,shouldSplit:s,preserveNewlines:o})=>{let a=u0(e,"data",{signal:t.signal,highWaterMark:Ju,highWatermark:Ju});return y0({onStdoutChunk:a,controller:t,binary:r,shouldEncode:i,encoding:n,shouldSplit:s,preserveNewlines:o})},ro=l0(!0),Ju=ro,y0=async function*({onStdoutChunk:e,controller:t,binary:r,shouldEncode:i,encoding:n,shouldSplit:s,preserveNewlines:o}){let a=f0({binary:r,shouldEncode:i,encoding:n,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of e)yield*ot(c,a,0)}catch(c){if(!t.signal.aborted)throw c}finally{yield*er(a)}},f0=({binary:e,shouldEncode:t,encoding:r,shouldSplit:i,preserveNewlines:n})=>[wi(e,r,!t),xi(e,n,!i,{})].filter(Boolean);var Qu=async({stream:e,onStreamEnd:t,fdNumber:r,encoding:i,buffer:n,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:d,streamInfo:p})=>{let u=_0({stream:e,onStreamEnd:t,fdNumber:r,encoding:i,allMixed:a,verboseInfo:d,streamInfo:p});if(!n){await Promise.all([b0(e),u]);return}let l=Is(c,r),m=to({stream:e,onStreamEnd:t,lines:o,encoding:i,stripFinalNewline:l,allMixed:a}),[h]=await Promise.all([x0({stream:e,iterable:m,fdNumber:r,encoding:i,maxBuffer:s,lines:o}),u]);return h},_0=async({stream:e,onStreamEnd:t,fdNumber:r,encoding:i,allMixed:n,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!vi({stdioItems:o[r]?.stdioItems,encoding:i,verboseInfo:s,fdNumber:r}))return;let a=to({stream:e,onStreamEnd:t,lines:!0,encoding:i,stripFinalNewline:!0,allMixed:n});await pu(a,e,r,s)},b0=async e=>{await g0(),e.readableFlowing===null&&e.resume()},x0=async({stream:e,stream:{readableObjectMode:t},iterable:r,fdNumber:i,encoding:n,maxBuffer:s,lines:o})=>{try{return t||o?await di(r,{maxBuffer:s}):n==="buffer"?new Uint8Array(await ui(r,{maxBuffer:s})):await mi(r,{maxBuffer:s})}catch(a){return Zu(pd({error:a,stream:e,readableObjectMode:t,lines:o,encoding:n,fdNumber:i}))}},io=async e=>{try{return await e}catch(t){return Zu(t)}},Zu=({bufferedData:e})=>qa(e)?new Uint8Array(e):e;import{finished as w0}from"stream/promises";var nr=async(e,t,r,{isSameDirection:i,stopOnExit:n=!1}={})=>{let s=k0(e,r),o=new AbortController;try{await Promise.race([...n?[r.exitPromise]:[],w0(e,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||q0(a,t,r,i)}finally{o.abort()}},k0=(e,{originalStreams:[t],subprocess:r})=>{let i={stdinCleanedUp:!1};return e===t&&S0(e,r,i),i},S0=(e,t,r)=>{let{_destroy:i}=e;e._destroy=(...n)=>{v0(t,r),i.call(e,...n)}},v0=({exitCode:e,signalCode:t},r)=>{(e!==null||t!==null)&&(r.stdinCleanedUp=!0)},q0=(e,t,r,i)=>{if(!$0(e,t,r,i))throw e},$0=(e,t,r,i=!0)=>r.propagating?el(e)||Oi(e):(r.propagating=!0,no(r,t)===i?el(e):Oi(e)),no=({fileDescriptors:e},t)=>t!=="all"&&e[t].direction==="input",Oi=e=>e?.code==="ERR_STREAM_PREMATURE_CLOSE",el=e=>e?.code==="EPIPE";var tl=({subprocess:e,encoding:t,buffer:r,maxBuffer:i,lines:n,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>e.stdio.map((c,d)=>so({stream:c,fdNumber:d,encoding:t,buffer:r[d],maxBuffer:i[d],lines:n[d],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),so=async({stream:e,fdNumber:t,encoding:r,buffer:i,maxBuffer:n,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:d})=>{if(!e)return;let p=nr(e,t,d);if(no(d,t)){await p;return}let[u]=await Promise.all([Qu({stream:e,onStreamEnd:p,fdNumber:t,encoding:r,buffer:i,maxBuffer:n,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:d}),p]);return u};var rl=({stdout:e,stderr:t},{all:r})=>r&&(e||t)?at([e,t].filter(Boolean)):void 0,il=({subprocess:e,encoding:t,buffer:r,maxBuffer:i,lines:n,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>so({...C0(e,r),fdNumber:"all",encoding:t,maxBuffer:i[1]+i[2],lines:n[1]||n[2],allMixed:A0(e),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),C0=({stdout:e,stderr:t,all:r},[,i,n])=>{let s=i||n;return s?i?n?{stream:r,buffer:s}:{stream:e,buffer:s}:{stream:t,buffer:s}:{stream:r,buffer:s}},A0=({all:e,stdout:t,stderr:r})=>e&&t&&r&&t.readableObjectMode!==r.readableObjectMode;import{once as E0}from"events";var nl=e=>xt(e,"ipc"),sl=(e,t)=>{let r=Dr(e);ke({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:t})};var ol=async({subprocess:e,buffer:t,maxBuffer:r,ipc:i,ipcOutput:n,verboseInfo:s})=>{if(!i)return n;let o=nl(s),a=Le(t,"ipc"),c=Le(r,"ipc");for await(let d of Ns({anyProcess:e,channel:e.channel,isSubprocess:!1,ipc:i,shouldAwait:!1,reference:!0}))a&&(dd(e,n,c),n.push(d)),o&&sl(d,s);return n},al=async(e,t)=>(await Promise.allSettled([e]),t);var cl=async({subprocess:e,options:{encoding:t,buffer:r,maxBuffer:i,lines:n,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:d,ipc:p,ipcInput:u},context:l,verboseInfo:m,fileDescriptors:h,originalStreams:f,onInternalError:x,controller:_})=>{let v=hu(e,l),C={originalStreams:f,fileDescriptors:h,subprocess:e,exitPromise:v,propagating:!1},E=tl({subprocess:e,encoding:t,buffer:r,maxBuffer:i,lines:n,stripFinalNewline:d,verboseInfo:m,streamInfo:C}),w=il({subprocess:e,encoding:t,buffer:r,maxBuffer:i,lines:n,stripFinalNewline:d,verboseInfo:m,streamInfo:C}),L=[],O=ol({subprocess:e,buffer:r,maxBuffer:i,ipc:p,ipcOutput:L,verboseInfo:m}),R=T0(f,e,C),F=P0(h,C);try{return await Promise.race([Promise.all([{},fu(v),Promise.all(E),w,O,Np(e,u),...R,...F]),x,O0(e,_),...Lp(e,s,l,_),...np({subprocess:e,cancelSignal:o,gracefulCancel:a,context:l,controller:_}),...jp({subprocess:e,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:l,controller:_})])}catch(N){return l.terminationReason??="other",Promise.all([{error:N},v,Promise.all(E.map(S=>io(S))),io(w),al(O,L),Promise.allSettled(R),Promise.allSettled(F)])}},T0=(e,t,r)=>e.map((i,n)=>i===t.stdio[n]?void 0:nr(i,n,r)),P0=(e,t)=>e.flatMap(({stdioItems:r},i)=>r.filter(({value:n,stream:s=n})=>be(s,{checkOpen:!1})&&!fe(s)).map(({type:n,value:s,stream:o=s})=>nr(o,i,t,{isSameDirection:le.has(n),stopOnExit:n==="native"}))),O0=async(e,{signal:t})=>{let[r]=await E0(e,"error",{signal:t});throw r};var pl=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),sr=(e,t,r)=>{let i=e[r];i.has(t)||i.set(t,[]);let n=i.get(t),s=Se();return n.push(s),{resolve:s.resolve.bind(s),promises:n}},Ot=async({resolve:e,promises:t},r)=>{e();let[i]=await Promise.race([Promise.allSettled([!0,r]),Promise.all([!1,...t])]);return!i};import{Readable as I0}from"stream";import{callbackify as R0}from"util";import{finished as dl}from"stream/promises";var oo=async e=>{if(e!==void 0)try{await ao(e)}catch{}},ul=async e=>{if(e!==void 0)try{await co(e)}catch{}},ao=async e=>{await dl(e,{cleanup:!0,readable:!1,writable:!0})},co=async e=>{await dl(e,{cleanup:!0,readable:!0,writable:!1})},Ii=async(e,t)=>{if(await e,t)throw t},Ri=(e,t,r)=>{r&&!Oi(r)?e.destroy(r):t&&e.destroy()};var ll=({subprocess:e,concurrentStreams:t,encoding:r},{from:i,binary:n=!0,preserveNewlines:s=!0}={})=>{let o=n||oe.has(r),{subprocessStdout:a,waitReadableDestroy:c}=po(e,i,t),{readableEncoding:d,readableObjectMode:p,readableHighWaterMark:u}=uo(a,o),{read:l,onStdoutDataDone:m}=lo({subprocessStdout:a,subprocess:e,binary:o,encoding:r,preserveNewlines:s}),h=new I0({read:l,destroy:R0(ho.bind(void 0,{subprocessStdout:a,subprocess:e,waitReadableDestroy:c})),highWaterMark:u,objectMode:p,encoding:d});return mo({subprocessStdout:a,onStdoutDataDone:m,readable:h,subprocess:e}),h},po=(e,t,r)=>{let i=qt(e,t),n=sr(r,i,"readableDestroy");return{subprocessStdout:i,waitReadableDestroy:n}},uo=({readableEncoding:e,readableObjectMode:t,readableHighWaterMark:r},i)=>i?{readableEncoding:e,readableObjectMode:t,readableHighWaterMark:r}:{readableEncoding:e,readableObjectMode:!0,readableHighWaterMark:ro},lo=({subprocessStdout:e,subprocess:t,binary:r,encoding:i,preserveNewlines:n})=>{let s=Se(),o=Pi({subprocessStdout:e,subprocess:t,binary:r,shouldEncode:!r,encoding:i,preserveNewlines:n});return{read(){j0(this,o,s)},onStdoutDataDone:s}},j0=async(e,t,r)=>{try{let{value:i,done:n}=await t.next();n?r.resolve():e.push(i)}catch{}},mo=async({subprocessStdout:e,onStdoutDataDone:t,readable:r,subprocess:i,subprocessStdin:n})=>{try{await co(e),await i,await oo(n),await t,r.readable&&r.push(null)}catch(s){await oo(n),ml(r,s)}},ho=async({subprocessStdout:e,subprocess:t,waitReadableDestroy:r},i)=>{await Ot(r,t)&&(ml(e,i),await Ii(t,i))},ml=(e,t)=>{Ri(e,e.readable,t)};import{Writable as D0}from"stream";import{callbackify as hl}from"util";var yl=({subprocess:e,concurrentStreams:t},{to:r}={})=>{let{subprocessStdin:i,waitWritableFinal:n,waitWritableDestroy:s}=yo(e,r,t),o=new D0({...fo(i,e,n),destroy:hl(_o.bind(void 0,{subprocessStdin:i,subprocess:e,waitWritableFinal:n,waitWritableDestroy:s})),highWaterMark:i.writableHighWaterMark,objectMode:i.writableObjectMode});return go(i,o),o},yo=(e,t,r)=>{let i=Kr(e,t),n=sr(r,i,"writableFinal"),s=sr(r,i,"writableDestroy");return{subprocessStdin:i,waitWritableFinal:n,waitWritableDestroy:s}},fo=(e,t,r)=>({write:L0.bind(void 0,e),final:hl(M0.bind(void 0,e,t,r))}),L0=(e,t,r,i)=>{e.write(t,r)?i():e.once("drain",i)},M0=async(e,t,r)=>{await Ot(r,t)&&(e.writable&&e.end(),await t)},go=async(e,t,r)=>{try{await ao(e),t.writable&&t.end()}catch(i){await ul(r),fl(t,i)}},_o=async({subprocessStdin:e,subprocess:t,waitWritableFinal:r,waitWritableDestroy:i},n)=>{await Ot(r,t),await Ot(i,t)&&(fl(e,n),await Ii(t,n))},fl=(e,t)=>{Ri(e,e.writable,t)};import{Duplex as F0}from"stream";import{callbackify as U0}from"util";var gl=({subprocess:e,concurrentStreams:t,encoding:r},{from:i,to:n,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||oe.has(r),{subprocessStdout:c,waitReadableDestroy:d}=po(e,i,t),{subprocessStdin:p,waitWritableFinal:u,waitWritableDestroy:l}=yo(e,n,t),{readableEncoding:m,readableObjectMode:h,readableHighWaterMark:f}=uo(c,a),{read:x,onStdoutDataDone:_}=lo({subprocessStdout:c,subprocess:e,binary:a,encoding:r,preserveNewlines:o}),v=new F0({read:x,...fo(p,e,u),destroy:U0(B0.bind(void 0,{subprocessStdout:c,subprocessStdin:p,subprocess:e,waitReadableDestroy:d,waitWritableFinal:u,waitWritableDestroy:l})),readableHighWaterMark:f,writableHighWaterMark:p.writableHighWaterMark,readableObjectMode:h,writableObjectMode:p.writableObjectMode,encoding:m});return mo({subprocessStdout:c,onStdoutDataDone:_,readable:v,subprocess:e,subprocessStdin:p}),go(p,v,c),v},B0=async({subprocessStdout:e,subprocessStdin:t,subprocess:r,waitReadableDestroy:i,waitWritableFinal:n,waitWritableDestroy:s},o)=>{await Promise.all([ho({subprocessStdout:e,subprocess:r,waitReadableDestroy:i},o),_o({subprocessStdin:t,subprocess:r,waitWritableFinal:n,waitWritableDestroy:s},o)])};var bo=(e,t,{from:r,binary:i=!1,preserveNewlines:n=!1}={})=>{let s=i||oe.has(t),o=qt(e,r),a=Pi({subprocessStdout:o,subprocess:e,binary:s,shouldEncode:!0,encoding:t,preserveNewlines:n});return N0(a,o,e)},N0=async function*(e,t,r){try{yield*e}finally{t.readable&&t.destroy(),await r}};var _l=(e,{encoding:t})=>{let r=pl();e.readable=ll.bind(void 0,{subprocess:e,concurrentStreams:r,encoding:t}),e.writable=yl.bind(void 0,{subprocess:e,concurrentStreams:r}),e.duplex=gl.bind(void 0,{subprocess:e,concurrentStreams:r,encoding:t}),e.iterable=bo.bind(void 0,e,t),e[Symbol.asyncIterator]=bo.bind(void 0,e,t,{})};var bl=(e,t)=>{for(let[r,i]of z0){let n=i.value.bind(t);Reflect.defineProperty(e,r,{...i,value:n})}},G0=(async()=>{})().constructor.prototype,z0=["then","catch","finally"].map(e=>[e,Reflect.getOwnPropertyDescriptor(G0,e)]);var xl=(e,t,r,i)=>{let{file:n,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:d,options:p,fileDescriptors:u}=H0(e,t,r),{subprocess:l,promise:m}=Y0({file:n,commandArguments:s,options:p,startTime:c,verboseInfo:d,command:o,escapedCommand:a,fileDescriptors:u});return l.pipe=Ti.bind(void 0,{source:l,sourcePromise:m,boundOptions:{},createNested:i}),bl(l,m),ve.set(l,{options:p,fileDescriptors:u}),l},H0=(e,t,r)=>{let{command:i,escapedCommand:n,startTime:s,verboseInfo:o}=Mr(e,t,r),{file:a,commandArguments:c,options:d}=si(e,t,r),p=K0(d),u=Pu(p,o);return{file:a,commandArguments:c,command:i,escapedCommand:n,startTime:s,verboseInfo:o,options:p,fileDescriptors:u}},K0=({timeout:e,signal:t,...r})=>{if(t!==void 0)throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...r,timeoutDuration:e}},Y0=({file:e,commandArguments:t,options:r,startTime:i,verboseInfo:n,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=W0(...oi(e,t,r))}catch(h){return Cu({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:i,verboseInfo:n})}let d=new AbortController;V0(Number.POSITIVE_INFINITY,d.signal);let p=[...c.stdio];Uu(c,a,d),Nu(c,r,d);let u={},l=Se();c.kill=rp.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:l,context:u,controller:d}),c.all=rl(c,r),_l(c,r),vu(c,r);let m=J0({subprocess:c,options:r,startTime:i,verboseInfo:n,fileDescriptors:a,originalStreams:p,command:s,escapedCommand:o,context:u,onInternalError:l,controller:d});return{subprocess:c,promise:m}},J0=async({subprocess:e,options:t,startTime:r,verboseInfo:i,fileDescriptors:n,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:d,controller:p})=>{let[u,[l,m],h,f,x]=await cl({subprocess:e,options:t,context:c,verboseInfo:i,fileDescriptors:n,originalStreams:s,onInternalError:d,controller:p});p.abort(),d.resolve();let _=h.map((E,w)=>Fe(E,t,w)),v=Fe(f,t,"all"),C=X0({errorInfo:u,exitCode:l,signal:m,stdio:_,all:v,ipcOutput:x,context:c,options:t,command:o,escapedCommand:a,startTime:r});return Et(C,i,t)},X0=({errorInfo:e,exitCode:t,signal:r,stdio:i,all:n,ipcOutput:s,context:o,options:a,command:c,escapedCommand:d,startTime:p})=>"error"in e?Zt({error:e.error,command:c,escapedCommand:d,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:e.error instanceof qe,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:t,signal:r,stdio:i,all:n,ipcOutput:s,options:a,startTime:p,isSync:!1}):yi({command:c,escapedCommand:d,stdio:i,all:n,ipcOutput:s,options:a,startTime:p});var ji=(e,t)=>{let r=Object.fromEntries(Object.entries(t).map(([i,n])=>[i,Q0(i,e[i],n)]));return{...e,...r}},Q0=(e,t,r)=>Z0.has(e)&&V(t)&&V(r)?{...t,...r}:r,Z0=new Set(["env",...Kn]);var He=(e,t,r,i)=>{let n=(o,a,c)=>He(o,a,r,c),s=(...o)=>ek({mapArguments:e,deepOptions:r,boundOptions:t,setBoundExeca:i,createNested:n},...o);return i!==void 0&&i(s,n,t),s},ek=({mapArguments:e,deepOptions:t={},boundOptions:r={},setBoundExeca:i,createNested:n},s,...o)=>{if(V(s))return n(e,ji(r,s),i);let{file:a,commandArguments:c,options:d,isSync:p}=tk({mapArguments:e,firstArgument:s,nextArguments:o,deepOptions:t,boundOptions:r});return p?_u(a,c,d):xl(a,c,d,n)},tk=({mapArguments:e,firstArgument:t,nextArguments:r,deepOptions:i,boundOptions:n})=>{let s=Pa(t)?Oa(t,r):[t,...r],[o,a,c]=Cr(...s),d=ji(ji(i,n),c),{file:p=o,commandArguments:u=a,options:l=d,isSync:m=!1}=e({file:o,commandArguments:a,options:d});return{file:p,commandArguments:u,options:l,isSync:m}};var wl=({file:e,commandArguments:t})=>Sl(e,t),kl=({file:e,commandArguments:t})=>({...Sl(e,t),isSync:!0}),Sl=(e,t)=>{if(t.length>0)throw new TypeError(`The command and its arguments must be passed as a single string: ${e} ${t}.`);let[r,...i]=rk(e);return{file:r,commandArguments:i}},rk=e=>{if(typeof e!="string")throw new TypeError(`The command must be a string: ${String(e)}.`);let t=e.trim();if(t==="")return[];let r=[];for(let i of t.split(ik)){let n=r.at(-1);n&&n.endsWith("\\")?r[r.length-1]=`${n.slice(0,-1)} ${i}`:r.push(i)}return r},ik=/ +/g;var vl=(e,t,r)=>{e.sync=t(nk,r),e.s=e.sync},ql=({options:e})=>$l(e),nk=({options:e})=>({...$l(e),isSync:!0}),$l=e=>({options:{...sk(e),...e}}),sk=({input:e,inputFile:t,stdio:r})=>e===void 0&&t===void 0&&r===void 0?{stdin:"inherit"}:{},Cl={preferLocal:!0};var me=He(()=>({})),hj=He(()=>({isSync:!0})),Di=He(wl),yj=He(kl),fj=He(Fp),gj=He(ql,{},Cl,vl),{sendMessage:_j,getOneMessage:bj,getEachMessage:xj,getCancelSignal:wj}=qu();async function K(e,t,r){return me("docker",["compose",...e],{cwd:t,...r})}async function Q(e,t,r){let i=["compose","exec","-T"];if(r)for(let[s,o]of Object.entries(r))i.push("-e",`${s}=${o}`);i.push("web","bin/rails",e);let{stdout:n}=await me("docker",i,{cwd:t});return n.split(`
|
|
75
|
+
if (condition) { yield value; }`)};import{Buffer as qx}from"buffer";import{StringDecoder as $x}from"string_decoder";var wi=(e,t,r)=>{if(r)return;if(e)return{transform:Cx.bind(void 0,new TextEncoder)};let i=new $x(t);return{transform:Ax.bind(void 0,i),final:Ex.bind(void 0,i)}},Cx=function*(e,t){qx.isBuffer(t)?yield Le(t):typeof t=="string"?yield e.encode(t):yield t},Ax=function*(e,t){yield H(t)?e.write(t):t},Ex=function*(e){let t=e.end();t!==""&&(yield t)};import{callbackify as iu}from"util";var Ds=iu(async(e,t,r,i)=>{t.currentIterable=e(...r);try{for await(let n of t.currentIterable)i.push(n)}finally{delete t.currentIterable}}),ki=async function*(e,t,r){if(r===t.length){yield e;return}let{transform:i=Px}=t[r];for await(let n of i(e))yield*ki(n,t,r+1)},nu=async function*(e){for(let[t,{final:r}]of Object.entries(e))yield*Tx(r,Number(t),e)},Tx=async function*(e,t,r){if(e!==void 0)for await(let i of e())yield*ki(i,r,t+1)},su=iu(async({currentIterable:e},t)=>{if(e!==void 0){await(t?e.throw(t):e.return());return}if(t)throw t}),Px=function*(e){yield e};var Ls=(e,t,r,i)=>{try{for(let n of e(...t))r.push(n);i()}catch(n){i(n)}},ou=(e,t)=>[...t.flatMap(r=>[...at(r,e,0)]),...er(e)],at=function*(e,t,r){if(r===t.length){yield e;return}let{transform:i=Ix}=t[r];for(let n of i(e))yield*at(n,t,r+1)},er=function*(e){for(let[t,{final:r}]of Object.entries(e))yield*Ox(r,Number(t),e)},Ox=function*(e,t,r){if(e!==void 0)for(let i of e())yield*at(i,r,t+1)},Ix=function*(e){yield e};var Ms=({value:e,value:{transform:t,final:r,writableObjectMode:i,readableObjectMode:n},optionName:s},{encoding:o})=>{let a={},c=cu(e,o,s),d=ot(t),p=ot(r),u=d?Ds.bind(void 0,ki,a):Ls.bind(void 0,at),l=d||p?Ds.bind(void 0,nu,a):Ls.bind(void 0,er),m=d||p?su.bind(void 0,a):void 0;return{stream:new Rx({writableObjectMode:i,writableHighWaterMark:au(i),readableObjectMode:n,readableHighWaterMark:au(n),transform(f,x,_){u([f,c,0],this,_)},flush(f){l([c],this,f)},destroy:m})}},Si=(e,t,r,i)=>{let n=t.filter(({type:o})=>o==="generator"),s=i?n.reverse():n;for(let{value:o,optionName:a}of s){let c=cu(o,r,a);e=ou(c,e)}return e},cu=({transform:e,final:t,binary:r,writableObjectMode:i,readableObjectMode:n,preserveNewlines:s},o,a)=>{let c={};return[{transform:eu(i,a)},wi(r,o,i),xi(r,s,i,c),{transform:e,final:t},{transform:tu(n,a)},Zd({binary:r,preserveNewlines:s,readableObjectMode:n,state:c})].filter(Boolean)};var pu=(e,t)=>{for(let r of jx(e))Dx(e,r,t)},jx=e=>new Set(Object.entries(e).filter(([,{direction:t}])=>t==="input").map(([t])=>Number(t))),Dx=(e,t,r)=>{let{stdioItems:i}=e[t],n=i.filter(({contents:a})=>a!==void 0);if(n.length===0)return;if(t!==0){let[{type:a,optionName:c}]=n;throw new TypeError(`Only the \`stdin\` option, not \`${c}\`, can be ${He[a]} with synchronous methods.`)}let o=n.map(({contents:a})=>a).map(a=>Lx(a,i));r.input=zt(o)},Lx=(e,t)=>{let r=Si(e,t,"utf8",!0);return Mx(r),zt(r)},Mx=e=>{let t=e.find(r=>typeof r!="string"&&!H(r));if(t!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${t}.`)};import{writeFileSync as Nx,appendFileSync as Gx}from"fs";var vi=({stdioItems:e,encoding:t,verboseInfo:r,fdNumber:i})=>i!=="all"&&xt(r,i)&&!oe.has(t)&&Fx(i)&&(e.some(({type:n,value:s})=>n==="native"&&Ux.has(s))||e.every(({type:n})=>le.has(n))),Fx=e=>e===1||e===2,Ux=new Set(["pipe","overlapped"]),du=async(e,t,r,i)=>{for await(let n of e)Bx(t)||lu(n,r,i)},uu=(e,t,r)=>{for(let i of e)lu(i,t,r)},Bx=e=>e._readableState.pipes.length>0,lu=(e,t,r)=>{let i=Dr(e);ke({type:"output",verboseMessage:i,fdNumber:t,verboseInfo:r})};var mu=({fileDescriptors:e,syncResult:{output:t},options:r,isMaxBuffer:i,verboseInfo:n})=>{if(t===null)return{output:Array.from({length:3})};let s={},o=new Set([]);return{output:t.map((c,d)=>zx({result:c,fileDescriptors:e,fdNumber:d,state:s,outputFiles:o,isMaxBuffer:i,verboseInfo:n},r)),...s}},zx=({result:e,fileDescriptors:t,fdNumber:r,state:i,outputFiles:n,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:d,stripFinalNewline:p,maxBuffer:u})=>{if(e===null)return;let l=hd(e,s,u),m=Le(l),{stdioItems:h,objectMode:f}=t[r],x=Vx([m],h,c,i),{serializedResult:_,finalResult:v=_}=Wx({chunks:x,objectMode:f,encoding:c,lines:d,stripFinalNewline:p,fdNumber:r});Hx({serializedResult:_,fdNumber:r,state:i,verboseInfo:o,encoding:c,stdioItems:h,objectMode:f});let C=a[r]?v:void 0;try{return i.error===void 0&&Kx(_,h,n),C}catch(E){return i.error=E,C}},Vx=(e,t,r,i)=>{try{return Si(e,t,r,!1)}catch(n){return i.error=n,e}},Wx=({chunks:e,objectMode:t,encoding:r,lines:i,stripFinalNewline:n,fdNumber:s})=>{if(t)return{serializedResult:e};if(r==="buffer")return{serializedResult:zt(e)};let o=Aa(e,r);return i[s]?{serializedResult:o,finalResult:js(o,!n[s],t)}:{serializedResult:o}},Hx=({serializedResult:e,fdNumber:t,state:r,verboseInfo:i,encoding:n,stdioItems:s,objectMode:o})=>{if(!vi({stdioItems:s,encoding:n,verboseInfo:i,fdNumber:t}))return;let a=js(e,!1,o);try{uu(a,t,i)}catch(c){r.error??=c}},Kx=(e,t,r)=>{for(let{path:i,append:n}of t.filter(({type:s})=>_i.has(s))){let s=typeof i=="string"?i:i.toString();n||r.has(s)?Gx(i,e):(r.add(s),Nx(i,e))}};var hu=([,e,t],r)=>{if(r.all)return e===void 0?t:t===void 0?e:Array.isArray(e)?Array.isArray(t)?[...e,...t]:[...e,Ue(t,r,"all")]:Array.isArray(t)?[Ue(e,r,"all"),...t]:H(e)&&H(t)?zn([e,t]):`${e}${t}`};import{once as Fs}from"events";var yu=async(e,t)=>{let[r,i]=await Yx(e);return t.isForcefullyTerminated??=!1,[r,i]},Yx=async e=>{let[t,r]=await Promise.allSettled([Fs(e,"spawn"),Fs(e,"exit")]);return t.status==="rejected"?[]:r.status==="rejected"?fu(e):r.value},fu=async e=>{try{return await Fs(e,"exit")}catch{return fu(e)}},gu=async e=>{let[t,r]=await e;if(!Jx(t,r)&&Us(t,r))throw new ge;return[t,r]},Jx=(e,t)=>e===void 0&&t===void 0,Us=(e,t)=>e!==0||t!==null;var _u=({error:e,status:t,signal:r,output:i},{maxBuffer:n})=>{let s=Xx(e,t,r),o=s?.code==="ETIMEDOUT",a=md(s,i,n);return{resultError:s,exitCode:t,signal:r,timedOut:o,isMaxBuffer:a}},Xx=(e,t,r)=>e!==void 0?e:Us(t,r)?new ge:void 0;var bu=(e,t,r)=>{let{file:i,commandArguments:n,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:d,fileDescriptors:p}=Zx(e,t,r),u=rw({file:i,commandArguments:n,options:d,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:p,startTime:a});return Et(u,c,d)},Zx=(e,t,r)=>{let{command:i,escapedCommand:n,startTime:s,verboseInfo:o}=Mr(e,t,r),a=ew(r),{file:c,commandArguments:d,options:p}=si(e,t,a);tw(p);let u=Yd(p,o);return{file:c,commandArguments:d,command:i,escapedCommand:n,startTime:s,verboseInfo:o,options:p,fileDescriptors:u}},ew=e=>e.node&&!e.ipc?{...e,ipc:!1}:e,tw=({ipc:e,ipcInput:t,detached:r,cancelSignal:i})=>{t&&qi("ipcInput"),e&&qi("ipc: true"),r&&qi("detached: true"),i&&qi("cancelSignal")},qi=e=>{throw new TypeError(`The "${e}" option cannot be used with synchronous methods.`)},rw=({file:e,commandArguments:t,options:r,command:i,escapedCommand:n,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=iw({file:e,commandArguments:t,options:r,command:i,escapedCommand:n,fileDescriptors:o,startTime:a});if(c.failed)return c;let{resultError:d,exitCode:p,signal:u,timedOut:l,isMaxBuffer:m}=_u(c,r),{output:h,error:f=d}=mu({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:m,verboseInfo:s}),x=h.map((v,C)=>Ue(v,r,C)),_=Ue(hu(h,r),r,"all");return sw({error:f,exitCode:p,signal:u,timedOut:l,isMaxBuffer:m,stdio:x,all:_,options:r,command:i,escapedCommand:n,startTime:a})},iw=({file:e,commandArguments:t,options:r,command:i,escapedCommand:n,fileDescriptors:s,startTime:o})=>{try{pu(s,r);let a=nw(r);return Qx(...oi(e,t,a))}catch(a){return At({error:a,command:i,escapedCommand:n,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},nw=({encoding:e,maxBuffer:t,...r})=>({...r,encoding:"buffer",maxBuffer:hi(t)}),sw=({error:e,exitCode:t,signal:r,timedOut:i,isMaxBuffer:n,stdio:s,all:o,options:a,command:c,escapedCommand:d,startTime:p})=>e===void 0?yi({command:c,escapedCommand:d,stdio:s,all:o,ipcOutput:[],options:a,startTime:p}):Zt({error:e,command:c,escapedCommand:d,timedOut:i,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:n,isForcefullyTerminated:!1,exitCode:t,signal:r,stdio:s,all:o,ipcOutput:[],options:a,startTime:p,isSync:!0});import{setMaxListeners as W0}from"events";import{spawn as H0}from"child_process";import vu from"process";import{once as Bs,on as ow}from"events";var xu=({anyProcess:e,channel:t,isSubprocess:r,ipc:i},{reference:n=!0,filter:s}={})=>(St({methodName:"getOneMessage",isSubprocess:r,ipc:i,isConnected:Zr(e)}),aw({anyProcess:e,channel:t,isSubprocess:r,filter:s,reference:n})),aw=async({anyProcess:e,channel:t,isSubprocess:r,filter:i,reference:n})=>{Yr(t,n);let s=We(e,t,r),o=new AbortController;try{return await Promise.race([cw(s,i,o),pw(s,r,o),dw(s,r,o)])}catch(a){throw vt(e),a}finally{o.abort(),Jr(t,n)}},cw=async(e,t,{signal:r})=>{if(t===void 0){let[i]=await Bs(e,"message",{signal:r});return i}for await(let[i]of ow(e,"message",{signal:r}))if(t(i))return i},pw=async(e,t,{signal:r})=>{await Bs(e,"disconnect",{signal:r}),op(t)},dw=async(e,t,{signal:r})=>{let[i]=await Bs(e,"strict:error",{signal:r});throw Wr(i,t)};import{once as ku,on as uw}from"events";var Su=({anyProcess:e,channel:t,isSubprocess:r,ipc:i},{reference:n=!0}={})=>Ns({anyProcess:e,channel:t,isSubprocess:r,ipc:i,shouldAwait:!r,reference:n}),Ns=({anyProcess:e,channel:t,isSubprocess:r,ipc:i,shouldAwait:n,reference:s})=>{St({methodName:"getEachMessage",isSubprocess:r,ipc:i,isConnected:Zr(e)}),Yr(t,s);let o=We(e,t,r),a=new AbortController,c={};return lw(e,o,a),mw({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),hw({anyProcess:e,channel:t,ipcEmitter:o,isSubprocess:r,shouldAwait:n,controller:a,state:c,reference:s})},lw=async(e,t,r)=>{try{await ku(t,"disconnect",{signal:r.signal}),r.abort()}catch{}},mw=async({ipcEmitter:e,isSubprocess:t,controller:r,state:i})=>{try{let[n]=await ku(e,"strict:error",{signal:r.signal});i.error=Wr(n,t),r.abort()}catch{}},hw=async function*({anyProcess:e,channel:t,ipcEmitter:r,isSubprocess:i,shouldAwait:n,controller:s,state:o,reference:a}){try{for await(let[c]of uw(r,"message",{signal:s.signal}))wu(o),yield c}catch{wu(o)}finally{s.abort(),Jr(t,a),i||vt(e),n&&await e}},wu=({error:e})=>{if(e)throw e};var qu=(e,{ipc:t})=>{Object.assign(e,Cu(e,!1,t))},$u=()=>{let e=vu,t=!0,r=vu.channel!==void 0;return{...Cu(e,t,r),getCancelSignal:Ip.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:t,ipc:r})}},Cu=(e,t,r)=>({sendMessage:ii.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:t,ipc:r}),getOneMessage:xu.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:t,ipc:r}),getEachMessage:Su.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:t,ipc:r})});import{ChildProcess as yw}from"child_process";import{PassThrough as fw,Readable as gw,Writable as _w,Duplex as bw}from"stream";var Au=({error:e,command:t,escapedCommand:r,fileDescriptors:i,options:n,startTime:s,verboseInfo:o})=>{Os(i);let a=new yw;xw(a,i),Object.assign(a,{readable:ww,writable:kw,duplex:Sw});let c=At({error:e,command:t,escapedCommand:r,fileDescriptors:i,options:n,startTime:s,isSync:!1}),d=vw(c,o,n);return{subprocess:a,promise:d}},xw=(e,t)=>{let r=tr(),i=tr(),n=tr(),s=Array.from({length:t.length-3},tr),o=tr(),a=[r,i,n,...s];Object.assign(e,{stdin:r,stdout:i,stderr:n,all:o,stdio:a})},tr=()=>{let e=new fw;return e.end(),e},ww=()=>new gw({read(){}}),kw=()=>new _w({write(){}}),Sw=()=>new bw({read(){},write(){}}),vw=async(e,t,r)=>Et(e,t,r);import{createReadStream as Eu,createWriteStream as Tu}from"fs";import{Buffer as qw}from"buffer";import{Readable as rr,Writable as $w,Duplex as Cw}from"stream";var Ou=(e,t)=>bi(Aw,e,t,!1),ir=({type:e,optionName:t})=>{throw new TypeError(`The \`${t}\` option cannot be ${He[e]}.`)},Pu={fileNumber:ir,generator:Ms,asyncGenerator:Ms,nodeStream:({value:e})=>({stream:e}),webTransform({value:{transform:e,writableObjectMode:t,readableObjectMode:r}}){let i=t||r;return{stream:Cw.fromWeb(e,{objectMode:i})}},duplex:({value:{transform:e}})=>({stream:e}),native(){}},Aw={input:{...Pu,fileUrl:({value:e})=>({stream:Eu(e)}),filePath:({value:{file:e}})=>({stream:Eu(e)}),webStream:({value:e})=>({stream:rr.fromWeb(e)}),iterable:({value:e})=>({stream:rr.from(e)}),asyncIterable:({value:e})=>({stream:rr.from(e)}),string:({value:e})=>({stream:rr.from(e)}),uint8Array:({value:e})=>({stream:rr.from(qw.from(e))})},output:{...Pu,fileUrl:({value:e})=>({stream:Tu(e)}),filePath:({value:{file:e,append:t}})=>({stream:Tu(e,t?{flags:"a"}:{})}),webStream:({value:e})=>({stream:$w.fromWeb(e)}),iterable:ir,asyncIterable:ir,string:ir,uint8Array:ir}};import{on as Ew,once as Iu}from"events";import{PassThrough as Tw,getDefaultHighWaterMark as Pw}from"stream";import{finished as Du}from"stream/promises";function ct(e){if(!Array.isArray(e))throw new TypeError(`Expected an array, got \`${typeof e}\`.`);for(let n of e)zs(n);let t=e.some(({readableObjectMode:n})=>n),r=Ow(e,t),i=new Gs({objectMode:t,writableHighWaterMark:r,readableHighWaterMark:r});for(let n of e)i.add(n);return i}var Ow=(e,t)=>{if(e.length===0)return Pw(t);let r=e.filter(({readableObjectMode:i})=>i===t).map(({readableHighWaterMark:i})=>i);return Math.max(...r)},Gs=class extends Tw{#t=new Set([]);#r=new Set([]);#e=new Set([]);#i;#s=Symbol("unpipe");#n=new WeakMap;add(t){if(zs(t),this.#t.has(t))return;this.#t.add(t),this.#i??=Iw(this,this.#t,this.#s);let r=Dw({passThroughStream:this,stream:t,streams:this.#t,ended:this.#r,aborted:this.#e,onFinished:this.#i,unpipeEvent:this.#s});this.#n.set(t,r),t.pipe(this,{end:!1})}async remove(t){if(zs(t),!this.#t.has(t))return!1;let r=this.#n.get(t);return r===void 0?!1:(this.#n.delete(t),t.unpipe(this),await r,!0)}},Iw=async(e,t,r)=>{$i(e,Ru);let i=new AbortController;try{await Promise.race([Rw(e,i),jw(e,t,r,i)])}finally{i.abort(),$i(e,-Ru)}},Rw=async(e,{signal:t})=>{try{await Du(e,{signal:t,cleanup:!0})}catch(r){throw Lu(e,r),r}},jw=async(e,t,r,{signal:i})=>{for await(let[n]of Ew(e,"unpipe",{signal:i}))t.has(n)&&n.emit(r)},zs=e=>{if(typeof e?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof e}\`.`)},Dw=async({passThroughStream:e,stream:t,streams:r,ended:i,aborted:n,onFinished:s,unpipeEvent:o})=>{$i(e,ju);let a=new AbortController;try{await Promise.race([Lw(s,t,a),Mw({passThroughStream:e,stream:t,streams:r,ended:i,aborted:n,controller:a}),Fw({stream:t,streams:r,ended:i,aborted:n,unpipeEvent:o,controller:a})])}finally{a.abort(),$i(e,-ju)}r.size>0&&r.size===i.size+n.size&&(i.size===0&&n.size>0?Vs(e):Uw(e))},Lw=async(e,t,{signal:r})=>{try{await e,r.aborted||Vs(t)}catch(i){r.aborted||Lu(t,i)}},Mw=async({passThroughStream:e,stream:t,streams:r,ended:i,aborted:n,controller:{signal:s}})=>{try{await Du(t,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(t)&&i.add(t)}catch(o){if(s.aborted||!r.has(t))return;Mu(o)?n.add(t):Fu(e,o)}},Fw=async({stream:e,streams:t,ended:r,aborted:i,unpipeEvent:n,controller:{signal:s}})=>{if(await Iu(e,n,{signal:s}),!e.readable)return Iu(s,"abort",{signal:s});t.delete(e),r.delete(e),i.delete(e)},Uw=e=>{e.writable&&e.end()},Lu=(e,t)=>{Mu(t)?Vs(e):Fu(e,t)},Mu=e=>e?.code==="ERR_STREAM_PREMATURE_CLOSE",Vs=e=>{(e.readable||e.writable)&&e.destroy()},Fu=(e,t)=>{e.destroyed||(e.once("error",Bw),e.destroy(t))},Bw=()=>{},$i=(e,t)=>{let r=e.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&e.setMaxListeners(r+t)},Ru=2,ju=1;import{finished as Uu}from"stream/promises";var Pt=(e,t)=>{e.pipe(t),Nw(e,t),Gw(e,t)},Nw=async(e,t)=>{if(!(fe(e)||fe(t))){try{await Uu(e,{cleanup:!0,readable:!0,writable:!1})}catch{}Ws(t)}},Ws=e=>{e.writable&&e.end()},Gw=async(e,t)=>{if(!(fe(e)||fe(t))){try{await Uu(t,{cleanup:!0,readable:!1,writable:!0})}catch{}Hs(e)}},Hs=e=>{e.readable&&e.destroy()};var Bu=(e,t,r)=>{let i=new Map;for(let[n,{stdioItems:s,direction:o}]of Object.entries(t)){for(let{stream:a}of s.filter(({type:c})=>le.has(c)))zw(e,a,o,n);for(let{stream:a}of s.filter(({type:c})=>!le.has(c)))Ww({subprocess:e,stream:a,direction:o,fdNumber:n,pipeGroups:i,controller:r})}for(let[n,s]of i.entries()){let o=s.length===1?s[0]:ct(s);Pt(o,n)}},zw=(e,t,r,i)=>{r==="output"?Pt(e.stdio[i],t):Pt(t,e.stdio[i]);let n=Vw[i];n!==void 0&&(e[n]=t),e.stdio[i]=t},Vw=["stdin","stdout","stderr"],Ww=({subprocess:e,stream:t,direction:r,fdNumber:i,pipeGroups:n,controller:s})=>{if(t===void 0)return;Hw(t,s);let[o,a]=r==="output"?[t,e.stdio[i]]:[e.stdio[i],t],c=n.get(o)??[];n.set(o,[...c,a])},Hw=(e,{signal:t})=>{fe(e)&&nt(e,Kw,t)},Kw=2;import{addAbortListener as Xw}from"events";var pt=[];pt.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&pt.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&pt.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var Ci=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",Ks=Symbol.for("signal-exit emitter"),Ys=globalThis,Yw=Object.defineProperty.bind(Object),Js=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Ys[Ks])return Ys[Ks];Yw(Ys,Ks,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,r){this.listeners[t].push(r)}removeListener(t,r){let i=this.listeners[t],n=i.indexOf(r);n!==-1&&(n===0&&i.length===1?i.length=0:i.splice(n,1))}emit(t,r,i){if(this.emitted[t])return!1;this.emitted[t]=!0;let n=!1;for(let s of this.listeners[t])n=s(r,i)===!0||n;return t==="exit"&&(n=this.emit("afterExit",r,i)||n),n}},Ai=class{},Jw=e=>({onExit(t,r){return e.onExit(t,r)},load(){return e.load()},unload(){return e.unload()}}),Xs=class extends Ai{onExit(){return()=>{}}load(){}unload(){}},Qs=class extends Ai{#t=Zs.platform==="win32"?"SIGINT":"SIGHUP";#r=new Js;#e;#i;#s;#n={};#o=!1;constructor(t){super(),this.#e=t,this.#n={};for(let r of pt)this.#n[r]=()=>{let i=this.#e.listeners(r),{count:n}=this.#r,s=t;if(typeof s.__signal_exit_emitter__=="object"&&typeof s.__signal_exit_emitter__.count=="number"&&(n+=s.__signal_exit_emitter__.count),i.length===n){this.unload();let o=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#t:r;o||t.kill(t.pid,a)}};this.#s=t.reallyExit,this.#i=t.emit}onExit(t,r){if(!Ci(this.#e))return()=>{};this.#o===!1&&this.load();let i=r?.alwaysLast?"afterExit":"exit";return this.#r.on(i,t),()=>{this.#r.removeListener(i,t),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#o){this.#o=!0,this.#r.count+=1;for(let t of pt)try{let r=this.#n[t];r&&this.#e.on(t,r)}catch{}this.#e.emit=(t,...r)=>this.#c(t,...r),this.#e.reallyExit=t=>this.#a(t)}}unload(){this.#o&&(this.#o=!1,pt.forEach(t=>{let r=this.#n[t];if(!r)throw new Error("Listener not defined for signal: "+t);try{this.#e.removeListener(t,r)}catch{}}),this.#e.emit=this.#i,this.#e.reallyExit=this.#s,this.#r.count-=1)}#a(t){return Ci(this.#e)?(this.#e.exitCode=t||0,this.#r.emit("exit",this.#e.exitCode,null),this.#s.call(this.#e,this.#e.exitCode)):0}#c(t,...r){let i=this.#i;if(t==="exit"&&Ci(this.#e)){typeof r[0]=="number"&&(this.#e.exitCode=r[0]);let n=i.call(this.#e,t,...r);return this.#r.emit("exit",this.#e.exitCode,null),n}else return i.call(this.#e,t,...r)}},Zs=globalThis.process,{onExit:Nu,load:qO,unload:$O}=Jw(Ci(Zs)?new Qs(Zs):new Xs);var Gu=(e,{cleanup:t,detached:r},{signal:i})=>{if(!t||r)return;let n=Nu(()=>{e.kill()});Xw(i,()=>{n()})};var Vu=({source:e,sourcePromise:t,boundOptions:r,createNested:i},...n)=>{let s=Lr(),{destination:o,destinationStream:a,destinationError:c,from:d,unpipeSignal:p}=Qw(r,i,n),{sourceStream:u,sourceError:l}=e0(e,d),{options:m,fileDescriptors:h}=ve.get(e);return{sourcePromise:t,sourceStream:u,sourceOptions:m,sourceError:l,destination:o,destinationStream:a,destinationError:c,unpipeSignal:p,fileDescriptors:h,startTime:s}},Qw=(e,t,r)=>{try{let{destination:i,pipeOptions:{from:n,to:s,unpipeSignal:o}={}}=Zw(e,t,...r),a=Kr(i,s);return{destination:i,destinationStream:a,from:n,unpipeSignal:o}}catch(i){return{destinationError:i}}},Zw=(e,t,r,...i)=>{if(Array.isArray(r))return{destination:t(zu,e)(r,...i),pipeOptions:e};if(typeof r=="string"||r instanceof URL||Nn(r)){if(Object.keys(e).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[n,s,o]=Cr(r,...i);return{destination:t(zu)(n,s,o),pipeOptions:o}}if(ve.has(r)){if(Object.keys(e).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:r,pipeOptions:i[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${r}`)},zu=({options:e})=>({options:{...e,stdin:"pipe",piped:!0}}),e0=(e,t)=>{try{return{sourceStream:qt(e,t)}}catch(r){return{sourceError:r}}};var Hu=({sourceStream:e,sourceError:t,destinationStream:r,destinationError:i,fileDescriptors:n,sourceOptions:s,startTime:o})=>{let a=t0({sourceStream:e,sourceError:t,destinationStream:r,destinationError:i});if(a!==void 0)throw eo({error:a,fileDescriptors:n,sourceOptions:s,startTime:o})},t0=({sourceStream:e,sourceError:t,destinationStream:r,destinationError:i})=>{if(t!==void 0&&i!==void 0)return i;if(i!==void 0)return Hs(e),i;if(t!==void 0)return Ws(r),t},eo=({error:e,fileDescriptors:t,sourceOptions:r,startTime:i})=>At({error:e,command:Wu,escapedCommand:Wu,fileDescriptors:t,options:r,startTime:i,isSync:!1}),Wu="source.pipe(destination)";var Ku=async e=>{let[{status:t,reason:r,value:i=r},{status:n,reason:s,value:o=s}]=await e;if(o.pipedFrom.includes(i)||o.pipedFrom.push(i),n==="rejected")throw o;if(t==="rejected")throw i;return o};import{finished as r0}from"stream/promises";var Yu=(e,t,r)=>{let i=Ei.has(t)?n0(e,t):i0(e,t);return nt(e,o0,r.signal),nt(t,a0,r.signal),s0(t),i},i0=(e,t)=>{let r=ct([e]);return Pt(r,t),Ei.set(t,r),r},n0=(e,t)=>{let r=Ei.get(t);return r.add(e),r},s0=async e=>{try{await r0(e,{cleanup:!0,readable:!1,writable:!0})}catch{}Ei.delete(e)},Ei=new WeakMap,o0=2,a0=1;import{aborted as c0}from"util";var Ju=(e,t)=>e===void 0?[]:[p0(e,t)],p0=async(e,{sourceStream:t,mergedStream:r,fileDescriptors:i,sourceOptions:n,startTime:s})=>{await c0(e,t),await r.remove(t);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw eo({error:o,fileDescriptors:i,sourceOptions:n,startTime:s})};var Ti=(e,...t)=>{if(V(t[0]))return Ti.bind(void 0,{...e,boundOptions:{...e.boundOptions,...t[0]}});let{destination:r,...i}=Vu(e,...t),n=d0({...i,destination:r});return n.pipe=Ti.bind(void 0,{...e,source:r,sourcePromise:n,boundOptions:{}}),n},d0=async({sourcePromise:e,sourceStream:t,sourceOptions:r,sourceError:i,destination:n,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:d})=>{let p=u0(e,n);Hu({sourceStream:t,sourceError:i,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:d});let u=new AbortController;try{let l=Yu(t,s,u);return await Promise.race([Ku(p),...Ju(a,{sourceStream:t,mergedStream:l,sourceOptions:r,fileDescriptors:c,startTime:d})])}finally{u.abort()}},u0=(e,t)=>Promise.allSettled([e,t]);import{setImmediate as _0}from"timers/promises";import{on as l0}from"events";import{getDefaultHighWaterMark as m0}from"stream";var Pi=({subprocessStdout:e,subprocess:t,binary:r,shouldEncode:i,encoding:n,preserveNewlines:s})=>{let o=new AbortController;return h0(t,o),Qu({stream:e,controller:o,binary:r,shouldEncode:!e.readableObjectMode&&i,encoding:n,shouldSplit:!e.readableObjectMode,preserveNewlines:s})},h0=async(e,t)=>{try{await e}catch{}finally{t.abort()}},to=({stream:e,onStreamEnd:t,lines:r,encoding:i,stripFinalNewline:n,allMixed:s})=>{let o=new AbortController;y0(t,o,e);let a=e.readableObjectMode&&!s;return Qu({stream:e,controller:o,binary:i==="buffer",shouldEncode:!a,encoding:i,shouldSplit:!a&&r,preserveNewlines:!n})},y0=async(e,t,r)=>{try{await e}catch{r.destroy()}finally{t.abort()}},Qu=({stream:e,controller:t,binary:r,shouldEncode:i,encoding:n,shouldSplit:s,preserveNewlines:o})=>{let a=l0(e,"data",{signal:t.signal,highWaterMark:Xu,highWatermark:Xu});return f0({onStdoutChunk:a,controller:t,binary:r,shouldEncode:i,encoding:n,shouldSplit:s,preserveNewlines:o})},ro=m0(!0),Xu=ro,f0=async function*({onStdoutChunk:e,controller:t,binary:r,shouldEncode:i,encoding:n,shouldSplit:s,preserveNewlines:o}){let a=g0({binary:r,shouldEncode:i,encoding:n,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of e)yield*at(c,a,0)}catch(c){if(!t.signal.aborted)throw c}finally{yield*er(a)}},g0=({binary:e,shouldEncode:t,encoding:r,shouldSplit:i,preserveNewlines:n})=>[wi(e,r,!t),xi(e,n,!i,{})].filter(Boolean);var Zu=async({stream:e,onStreamEnd:t,fdNumber:r,encoding:i,buffer:n,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:d,streamInfo:p})=>{let u=b0({stream:e,onStreamEnd:t,fdNumber:r,encoding:i,allMixed:a,verboseInfo:d,streamInfo:p});if(!n){await Promise.all([x0(e),u]);return}let l=Is(c,r),m=to({stream:e,onStreamEnd:t,lines:o,encoding:i,stripFinalNewline:l,allMixed:a}),[h]=await Promise.all([w0({stream:e,iterable:m,fdNumber:r,encoding:i,maxBuffer:s,lines:o}),u]);return h},b0=async({stream:e,onStreamEnd:t,fdNumber:r,encoding:i,allMixed:n,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!vi({stdioItems:o[r]?.stdioItems,encoding:i,verboseInfo:s,fdNumber:r}))return;let a=to({stream:e,onStreamEnd:t,lines:!0,encoding:i,stripFinalNewline:!0,allMixed:n});await du(a,e,r,s)},x0=async e=>{await _0(),e.readableFlowing===null&&e.resume()},w0=async({stream:e,stream:{readableObjectMode:t},iterable:r,fdNumber:i,encoding:n,maxBuffer:s,lines:o})=>{try{return t||o?await di(r,{maxBuffer:s}):n==="buffer"?new Uint8Array(await ui(r,{maxBuffer:s})):await mi(r,{maxBuffer:s})}catch(a){return el(dd({error:a,stream:e,readableObjectMode:t,lines:o,encoding:n,fdNumber:i}))}},io=async e=>{try{return await e}catch(t){return el(t)}},el=({bufferedData:e})=>$a(e)?new Uint8Array(e):e;import{finished as k0}from"stream/promises";var nr=async(e,t,r,{isSameDirection:i,stopOnExit:n=!1}={})=>{let s=S0(e,r),o=new AbortController;try{await Promise.race([...n?[r.exitPromise]:[],k0(e,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||$0(a,t,r,i)}finally{o.abort()}},S0=(e,{originalStreams:[t],subprocess:r})=>{let i={stdinCleanedUp:!1};return e===t&&v0(e,r,i),i},v0=(e,t,r)=>{let{_destroy:i}=e;e._destroy=(...n)=>{q0(t,r),i.call(e,...n)}},q0=({exitCode:e,signalCode:t},r)=>{(e!==null||t!==null)&&(r.stdinCleanedUp=!0)},$0=(e,t,r,i)=>{if(!C0(e,t,r,i))throw e},C0=(e,t,r,i=!0)=>r.propagating?tl(e)||Oi(e):(r.propagating=!0,no(r,t)===i?tl(e):Oi(e)),no=({fileDescriptors:e},t)=>t!=="all"&&e[t].direction==="input",Oi=e=>e?.code==="ERR_STREAM_PREMATURE_CLOSE",tl=e=>e?.code==="EPIPE";var rl=({subprocess:e,encoding:t,buffer:r,maxBuffer:i,lines:n,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>e.stdio.map((c,d)=>so({stream:c,fdNumber:d,encoding:t,buffer:r[d],maxBuffer:i[d],lines:n[d],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),so=async({stream:e,fdNumber:t,encoding:r,buffer:i,maxBuffer:n,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:d})=>{if(!e)return;let p=nr(e,t,d);if(no(d,t)){await p;return}let[u]=await Promise.all([Zu({stream:e,onStreamEnd:p,fdNumber:t,encoding:r,buffer:i,maxBuffer:n,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:d}),p]);return u};var il=({stdout:e,stderr:t},{all:r})=>r&&(e||t)?ct([e,t].filter(Boolean)):void 0,nl=({subprocess:e,encoding:t,buffer:r,maxBuffer:i,lines:n,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>so({...A0(e,r),fdNumber:"all",encoding:t,maxBuffer:i[1]+i[2],lines:n[1]||n[2],allMixed:E0(e),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),A0=({stdout:e,stderr:t,all:r},[,i,n])=>{let s=i||n;return s?i?n?{stream:r,buffer:s}:{stream:e,buffer:s}:{stream:t,buffer:s}:{stream:r,buffer:s}},E0=({all:e,stdout:t,stderr:r})=>e&&t&&r&&t.readableObjectMode!==r.readableObjectMode;import{once as T0}from"events";var sl=e=>xt(e,"ipc"),ol=(e,t)=>{let r=Dr(e);ke({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:t})};var al=async({subprocess:e,buffer:t,maxBuffer:r,ipc:i,ipcOutput:n,verboseInfo:s})=>{if(!i)return n;let o=sl(s),a=Me(t,"ipc"),c=Me(r,"ipc");for await(let d of Ns({anyProcess:e,channel:e.channel,isSubprocess:!1,ipc:i,shouldAwait:!1,reference:!0}))a&&(ud(e,n,c),n.push(d)),o&&ol(d,s);return n},cl=async(e,t)=>(await Promise.allSettled([e]),t);var pl=async({subprocess:e,options:{encoding:t,buffer:r,maxBuffer:i,lines:n,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:d,ipc:p,ipcInput:u},context:l,verboseInfo:m,fileDescriptors:h,originalStreams:f,onInternalError:x,controller:_})=>{let v=yu(e,l),C={originalStreams:f,fileDescriptors:h,subprocess:e,exitPromise:v,propagating:!1},E=rl({subprocess:e,encoding:t,buffer:r,maxBuffer:i,lines:n,stripFinalNewline:d,verboseInfo:m,streamInfo:C}),w=nl({subprocess:e,encoding:t,buffer:r,maxBuffer:i,lines:n,stripFinalNewline:d,verboseInfo:m,streamInfo:C}),L=[],O=al({subprocess:e,buffer:r,maxBuffer:i,ipc:p,ipcOutput:L,verboseInfo:m}),R=P0(f,e,C),F=O0(h,C);try{return await Promise.race([Promise.all([{},gu(v),Promise.all(E),w,O,Gp(e,u),...R,...F]),x,I0(e,_),...Mp(e,s,l,_),...sp({subprocess:e,cancelSignal:o,gracefulCancel:a,context:l,controller:_}),...Dp({subprocess:e,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:l,controller:_})])}catch(N){return l.terminationReason??="other",Promise.all([{error:N},v,Promise.all(E.map(S=>io(S))),io(w),cl(O,L),Promise.allSettled(R),Promise.allSettled(F)])}},P0=(e,t,r)=>e.map((i,n)=>i===t.stdio[n]?void 0:nr(i,n,r)),O0=(e,t)=>e.flatMap(({stdioItems:r},i)=>r.filter(({value:n,stream:s=n})=>be(s,{checkOpen:!1})&&!fe(s)).map(({type:n,value:s,stream:o=s})=>nr(o,i,t,{isSameDirection:le.has(n),stopOnExit:n==="native"}))),I0=async(e,{signal:t})=>{let[r]=await T0(e,"error",{signal:t});throw r};var dl=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),sr=(e,t,r)=>{let i=e[r];i.has(t)||i.set(t,[]);let n=i.get(t),s=Se();return n.push(s),{resolve:s.resolve.bind(s),promises:n}},Ot=async({resolve:e,promises:t},r)=>{e();let[i]=await Promise.race([Promise.allSettled([!0,r]),Promise.all([!1,...t])]);return!i};import{Readable as R0}from"stream";import{callbackify as j0}from"util";import{finished as ul}from"stream/promises";var oo=async e=>{if(e!==void 0)try{await ao(e)}catch{}},ll=async e=>{if(e!==void 0)try{await co(e)}catch{}},ao=async e=>{await ul(e,{cleanup:!0,readable:!1,writable:!0})},co=async e=>{await ul(e,{cleanup:!0,readable:!0,writable:!1})},Ii=async(e,t)=>{if(await e,t)throw t},Ri=(e,t,r)=>{r&&!Oi(r)?e.destroy(r):t&&e.destroy()};var ml=({subprocess:e,concurrentStreams:t,encoding:r},{from:i,binary:n=!0,preserveNewlines:s=!0}={})=>{let o=n||oe.has(r),{subprocessStdout:a,waitReadableDestroy:c}=po(e,i,t),{readableEncoding:d,readableObjectMode:p,readableHighWaterMark:u}=uo(a,o),{read:l,onStdoutDataDone:m}=lo({subprocessStdout:a,subprocess:e,binary:o,encoding:r,preserveNewlines:s}),h=new R0({read:l,destroy:j0(ho.bind(void 0,{subprocessStdout:a,subprocess:e,waitReadableDestroy:c})),highWaterMark:u,objectMode:p,encoding:d});return mo({subprocessStdout:a,onStdoutDataDone:m,readable:h,subprocess:e}),h},po=(e,t,r)=>{let i=qt(e,t),n=sr(r,i,"readableDestroy");return{subprocessStdout:i,waitReadableDestroy:n}},uo=({readableEncoding:e,readableObjectMode:t,readableHighWaterMark:r},i)=>i?{readableEncoding:e,readableObjectMode:t,readableHighWaterMark:r}:{readableEncoding:e,readableObjectMode:!0,readableHighWaterMark:ro},lo=({subprocessStdout:e,subprocess:t,binary:r,encoding:i,preserveNewlines:n})=>{let s=Se(),o=Pi({subprocessStdout:e,subprocess:t,binary:r,shouldEncode:!r,encoding:i,preserveNewlines:n});return{read(){D0(this,o,s)},onStdoutDataDone:s}},D0=async(e,t,r)=>{try{let{value:i,done:n}=await t.next();n?r.resolve():e.push(i)}catch{}},mo=async({subprocessStdout:e,onStdoutDataDone:t,readable:r,subprocess:i,subprocessStdin:n})=>{try{await co(e),await i,await oo(n),await t,r.readable&&r.push(null)}catch(s){await oo(n),hl(r,s)}},ho=async({subprocessStdout:e,subprocess:t,waitReadableDestroy:r},i)=>{await Ot(r,t)&&(hl(e,i),await Ii(t,i))},hl=(e,t)=>{Ri(e,e.readable,t)};import{Writable as L0}from"stream";import{callbackify as yl}from"util";var fl=({subprocess:e,concurrentStreams:t},{to:r}={})=>{let{subprocessStdin:i,waitWritableFinal:n,waitWritableDestroy:s}=yo(e,r,t),o=new L0({...fo(i,e,n),destroy:yl(_o.bind(void 0,{subprocessStdin:i,subprocess:e,waitWritableFinal:n,waitWritableDestroy:s})),highWaterMark:i.writableHighWaterMark,objectMode:i.writableObjectMode});return go(i,o),o},yo=(e,t,r)=>{let i=Kr(e,t),n=sr(r,i,"writableFinal"),s=sr(r,i,"writableDestroy");return{subprocessStdin:i,waitWritableFinal:n,waitWritableDestroy:s}},fo=(e,t,r)=>({write:M0.bind(void 0,e),final:yl(F0.bind(void 0,e,t,r))}),M0=(e,t,r,i)=>{e.write(t,r)?i():e.once("drain",i)},F0=async(e,t,r)=>{await Ot(r,t)&&(e.writable&&e.end(),await t)},go=async(e,t,r)=>{try{await ao(e),t.writable&&t.end()}catch(i){await ll(r),gl(t,i)}},_o=async({subprocessStdin:e,subprocess:t,waitWritableFinal:r,waitWritableDestroy:i},n)=>{await Ot(r,t),await Ot(i,t)&&(gl(e,n),await Ii(t,n))},gl=(e,t)=>{Ri(e,e.writable,t)};import{Duplex as U0}from"stream";import{callbackify as B0}from"util";var _l=({subprocess:e,concurrentStreams:t,encoding:r},{from:i,to:n,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||oe.has(r),{subprocessStdout:c,waitReadableDestroy:d}=po(e,i,t),{subprocessStdin:p,waitWritableFinal:u,waitWritableDestroy:l}=yo(e,n,t),{readableEncoding:m,readableObjectMode:h,readableHighWaterMark:f}=uo(c,a),{read:x,onStdoutDataDone:_}=lo({subprocessStdout:c,subprocess:e,binary:a,encoding:r,preserveNewlines:o}),v=new U0({read:x,...fo(p,e,u),destroy:B0(N0.bind(void 0,{subprocessStdout:c,subprocessStdin:p,subprocess:e,waitReadableDestroy:d,waitWritableFinal:u,waitWritableDestroy:l})),readableHighWaterMark:f,writableHighWaterMark:p.writableHighWaterMark,readableObjectMode:h,writableObjectMode:p.writableObjectMode,encoding:m});return mo({subprocessStdout:c,onStdoutDataDone:_,readable:v,subprocess:e,subprocessStdin:p}),go(p,v,c),v},N0=async({subprocessStdout:e,subprocessStdin:t,subprocess:r,waitReadableDestroy:i,waitWritableFinal:n,waitWritableDestroy:s},o)=>{await Promise.all([ho({subprocessStdout:e,subprocess:r,waitReadableDestroy:i},o),_o({subprocessStdin:t,subprocess:r,waitWritableFinal:n,waitWritableDestroy:s},o)])};var bo=(e,t,{from:r,binary:i=!1,preserveNewlines:n=!1}={})=>{let s=i||oe.has(t),o=qt(e,r),a=Pi({subprocessStdout:o,subprocess:e,binary:s,shouldEncode:!0,encoding:t,preserveNewlines:n});return G0(a,o,e)},G0=async function*(e,t,r){try{yield*e}finally{t.readable&&t.destroy(),await r}};var bl=(e,{encoding:t})=>{let r=dl();e.readable=ml.bind(void 0,{subprocess:e,concurrentStreams:r,encoding:t}),e.writable=fl.bind(void 0,{subprocess:e,concurrentStreams:r}),e.duplex=_l.bind(void 0,{subprocess:e,concurrentStreams:r,encoding:t}),e.iterable=bo.bind(void 0,e,t),e[Symbol.asyncIterator]=bo.bind(void 0,e,t,{})};var xl=(e,t)=>{for(let[r,i]of V0){let n=i.value.bind(t);Reflect.defineProperty(e,r,{...i,value:n})}},z0=(async()=>{})().constructor.prototype,V0=["then","catch","finally"].map(e=>[e,Reflect.getOwnPropertyDescriptor(z0,e)]);var wl=(e,t,r,i)=>{let{file:n,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:d,options:p,fileDescriptors:u}=K0(e,t,r),{subprocess:l,promise:m}=J0({file:n,commandArguments:s,options:p,startTime:c,verboseInfo:d,command:o,escapedCommand:a,fileDescriptors:u});return l.pipe=Ti.bind(void 0,{source:l,sourcePromise:m,boundOptions:{},createNested:i}),xl(l,m),ve.set(l,{options:p,fileDescriptors:u}),l},K0=(e,t,r)=>{let{command:i,escapedCommand:n,startTime:s,verboseInfo:o}=Mr(e,t,r),{file:a,commandArguments:c,options:d}=si(e,t,r),p=Y0(d),u=Ou(p,o);return{file:a,commandArguments:c,command:i,escapedCommand:n,startTime:s,verboseInfo:o,options:p,fileDescriptors:u}},Y0=({timeout:e,signal:t,...r})=>{if(t!==void 0)throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...r,timeoutDuration:e}},J0=({file:e,commandArguments:t,options:r,startTime:i,verboseInfo:n,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=H0(...oi(e,t,r))}catch(h){return Au({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:i,verboseInfo:n})}let d=new AbortController;W0(Number.POSITIVE_INFINITY,d.signal);let p=[...c.stdio];Bu(c,a,d),Gu(c,r,d);let u={},l=Se();c.kill=ip.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:l,context:u,controller:d}),c.all=il(c,r),bl(c,r),qu(c,r);let m=X0({subprocess:c,options:r,startTime:i,verboseInfo:n,fileDescriptors:a,originalStreams:p,command:s,escapedCommand:o,context:u,onInternalError:l,controller:d});return{subprocess:c,promise:m}},X0=async({subprocess:e,options:t,startTime:r,verboseInfo:i,fileDescriptors:n,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:d,controller:p})=>{let[u,[l,m],h,f,x]=await pl({subprocess:e,options:t,context:c,verboseInfo:i,fileDescriptors:n,originalStreams:s,onInternalError:d,controller:p});p.abort(),d.resolve();let _=h.map((E,w)=>Ue(E,t,w)),v=Ue(f,t,"all"),C=Q0({errorInfo:u,exitCode:l,signal:m,stdio:_,all:v,ipcOutput:x,context:c,options:t,command:o,escapedCommand:a,startTime:r});return Et(C,i,t)},Q0=({errorInfo:e,exitCode:t,signal:r,stdio:i,all:n,ipcOutput:s,context:o,options:a,command:c,escapedCommand:d,startTime:p})=>"error"in e?Zt({error:e.error,command:c,escapedCommand:d,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:e.error instanceof qe,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:t,signal:r,stdio:i,all:n,ipcOutput:s,options:a,startTime:p,isSync:!1}):yi({command:c,escapedCommand:d,stdio:i,all:n,ipcOutput:s,options:a,startTime:p});var ji=(e,t)=>{let r=Object.fromEntries(Object.entries(t).map(([i,n])=>[i,Z0(i,e[i],n)]));return{...e,...r}},Z0=(e,t,r)=>ek.has(e)&&V(t)&&V(r)?{...t,...r}:r,ek=new Set(["env",...Kn]);var Ke=(e,t,r,i)=>{let n=(o,a,c)=>Ke(o,a,r,c),s=(...o)=>tk({mapArguments:e,deepOptions:r,boundOptions:t,setBoundExeca:i,createNested:n},...o);return i!==void 0&&i(s,n,t),s},tk=({mapArguments:e,deepOptions:t={},boundOptions:r={},setBoundExeca:i,createNested:n},s,...o)=>{if(V(s))return n(e,ji(r,s),i);let{file:a,commandArguments:c,options:d,isSync:p}=rk({mapArguments:e,firstArgument:s,nextArguments:o,deepOptions:t,boundOptions:r});return p?bu(a,c,d):wl(a,c,d,n)},rk=({mapArguments:e,firstArgument:t,nextArguments:r,deepOptions:i,boundOptions:n})=>{let s=Oa(t)?Ia(t,r):[t,...r],[o,a,c]=Cr(...s),d=ji(ji(i,n),c),{file:p=o,commandArguments:u=a,options:l=d,isSync:m=!1}=e({file:o,commandArguments:a,options:d});return{file:p,commandArguments:u,options:l,isSync:m}};var kl=({file:e,commandArguments:t})=>vl(e,t),Sl=({file:e,commandArguments:t})=>({...vl(e,t),isSync:!0}),vl=(e,t)=>{if(t.length>0)throw new TypeError(`The command and its arguments must be passed as a single string: ${e} ${t}.`);let[r,...i]=ik(e);return{file:r,commandArguments:i}},ik=e=>{if(typeof e!="string")throw new TypeError(`The command must be a string: ${String(e)}.`);let t=e.trim();if(t==="")return[];let r=[];for(let i of t.split(nk)){let n=r.at(-1);n&&n.endsWith("\\")?r[r.length-1]=`${n.slice(0,-1)} ${i}`:r.push(i)}return r},nk=/ +/g;var ql=(e,t,r)=>{e.sync=t(sk,r),e.s=e.sync},$l=({options:e})=>Cl(e),sk=({options:e})=>({...Cl(e),isSync:!0}),Cl=e=>({options:{...ok(e),...e}}),ok=({input:e,inputFile:t,stdio:r})=>e===void 0&&t===void 0&&r===void 0?{stdin:"inherit"}:{},Al={preferLocal:!0};var me=Ke(()=>({})),yj=Ke(()=>({isSync:!0})),Di=Ke(kl),fj=Ke(Sl),gj=Ke(Up),_j=Ke($l,{},Al,ql),{sendMessage:bj,getOneMessage:xj,getEachMessage:wj,getCancelSignal:kj}=$u();async function K(e,t,r){return me("docker",["compose",...e],{cwd:t,...r})}async function Q(e,t,r){let i=["compose","exec","-T"];if(r)for(let[s,o]of Object.entries(r))i.push("-e",`${s}=${o}`);i.push("web","bin/rails",e);let{stdout:n}=await me("docker",i,{cwd:t});return n.split(`
|
|
76
76
|
`).filter(s=>!s.startsWith("[")).join(`
|
|
77
|
-
`).trim()}async function
|
|
78
|
-
`).some(i=>i.trim()==="running")}async function I(e,t,r={}){let{service:i="web",tty:n=!0,env:s}=r,o=["compose","exec"];if(n||o.push("-T"),s)for(let[a,c]of Object.entries(s))o.push("-e",`${a}=${c}`);o.push(i,...e),await me("docker",o,{cwd:t,stdio:"inherit"})}async function Li(e,t){await me("docker",["compose","logs","-f",e],{cwd:t,stdio:"inherit"})}var xo=`http://localhost:${3e3}`,
|
|
79
|
-
`),{profiles:{}}}}function ko(e){
|
|
80
|
-
`)}function
|
|
81
|
-
`)}function
|
|
82
|
-
`).some(i=>i.trim()==="*")||
|
|
77
|
+
`).trim()}async function El(e,t){let{stdout:r}=await me("docker",["compose","ps",e,"--format","{{.State}}"],{cwd:t});return r.split(`
|
|
78
|
+
`).some(i=>i.trim()==="running")}async function I(e,t,r={}){let{service:i="web",tty:n=!0,env:s}=r,o=["compose","exec"];if(n||o.push("-T"),s)for(let[a,c]of Object.entries(s))o.push("-e",`${a}=${c}`);o.push(i,...e),await me("docker",o,{cwd:t,stdio:"inherit"})}async function Li(e,t){await me("docker",["compose","logs","-f",e],{cwd:t,stdio:"inherit"})}var xo=`http://localhost:${3e3}`,Ye=class extends Error{};function Tl(){return process.env.XDG_CONFIG_HOME?It.join(process.env.XDG_CONFIG_HOME,"spree"):It.join(ak.homedir(),".config","spree")}function dt(){return It.join(Tl(),"config.json")}function wo(e){return e?.code==="ENOENT"}function ar(){let e;try{e=Be.readFileSync(dt(),"utf-8")}catch(t){if(wo(t))return{profiles:{}};throw t}try{let t=JSON.parse(e);return{...t,profiles:t.profiles??{}}}catch{let t=`${dt()}.bak`;try{Be.renameSync(dt(),t)}catch{}return process.stderr.write(`${or.default.yellow(`warning: ${dt()} was not valid JSON; moved it to ${t} and starting fresh.`)}
|
|
79
|
+
`),{profiles:{}}}}function ko(e){Be.mkdirSync(Tl(),{recursive:!0,mode:448}),Pl(dt(),`${JSON.stringify(e,null,2)}
|
|
80
|
+
`)}function Pl(e,t){Be.writeFileSync(e,t,{mode:384}),Be.chmodSync(e,384)}function Mi(e){return It.join(e,".spree","credentials.json")}function ck(e){let t;try{t=Be.readFileSync(Mi(e),"utf-8")}catch(r){if(wo(r))return null;throw r}try{return JSON.parse(t)}catch{return null}}function pk(e,t){let r=Mi(e),i=It.dirname(r);Be.mkdirSync(i,{recursive:!0,mode:448}),dk(It.join(i,".gitignore")),Pl(r,`${JSON.stringify(t,null,2)}
|
|
81
|
+
`)}function dk(e){let t="";try{t=Be.readFileSync(e,"utf-8")}catch(i){if(!wo(i))throw i}t.split(`
|
|
82
|
+
`).some(i=>i.trim()==="*")||Be.writeFileSync(e,t&&!t.endsWith(`
|
|
83
83
|
`)?`${t}
|
|
84
84
|
*
|
|
85
85
|
`:`${t}*
|
|
86
|
-
`)}function Fi(e){return e.slice(0,12)}async function
|
|
87
|
-
`);let
|
|
88
|
-
`)[0]:String(
|
|
89
|
-
${or.default.dim(
|
|
90
|
-
`),
|
|
91
|
-
`));return{baseUrl:c,apiKey:d,source:a?.source??"flags",profileName:a?.profileName,tokenPrefix:Fi(d),scopes:a?.scopes}}function pr(e,t="json"){if(e!=null){if(t==="table"){let r=mk(e);if(r){(0,
|
|
86
|
+
`)}function Fi(e){return e.slice(0,12)}async function So(e,t,r=!1){r||process.stderr.write(`${or.default.dim("No credentials found \u2014 minting a read-only API key via the dev stack...")}
|
|
87
|
+
`);let i;try{i=await Q("spree:cli:create_api_key",e,{NAME:"@spree/cli (auto)",KEY_TYPE:"secret",SCOPES:"read_all"})}catch(o){let a=o instanceof Error?o.message.split(`
|
|
88
|
+
`)[0]:String(o);throw new Ye(`Could not mint an API key via the dev stack. Is it running? Start it with \`spree dev\`.
|
|
89
|
+
${or.default.dim(a)}`)}let n=i.match(/sk_[A-Za-z0-9_-]+/);if(!n)throw new Ye("Could not mint an API key via the dev stack. Is it running? Start it with `spree dev`.");let s={baseUrl:`http://localhost:${t}`,token:n[0],scopes:["read_all"],mintedAt:new Date().toISOString()};return pk(e,s),r||process.stderr.write(`${or.default.dim("Saved to .spree/credentials.json (scopes: read_all)")}
|
|
90
|
+
`),s}async function cr(e,t={}){let{allowMint:r=!0,cwd:i=process.cwd()}=t,n=ar(),s=e.baseUrl,o=e.apiKey,a;if(o&&(a={apiKey:o,source:"flags"}),!a&&e.profile){let p=n.profiles[e.profile];if(!p)throw new Ye(`Unknown profile "${e.profile}". Run \`spree auth login --profile ${e.profile}\` to create it.`);a={baseUrl:p.baseUrl,apiKey:p.token,source:"profile",profileName:e.profile}}if(!a&&process.env.SPREE_API_KEY&&(a={baseUrl:process.env.SPREE_BASE_URL,apiKey:process.env.SPREE_API_KEY,source:"env"}),!a){let p,u=0;try{let l=g(i);p=l.projectDir,u=l.port}catch{}if(p){let l=`http://localhost:${u}`,m=!s||s.replace(/\/$/,"")===l,h=ck(p);!h&&r&&m&&(h=await So(p,u)),h&&(a={baseUrl:h.baseUrl,apiKey:h.token,source:"project",scopes:h.scopes})}}if(!a&&n.defaultProfile){let p=n.profiles[n.defaultProfile];p&&(a={baseUrl:p.baseUrl,apiKey:p.token,source:"profile",profileName:n.defaultProfile})}let c=s??a?.baseUrl,d=a?.apiKey;if(!c&&(a?.source==="flags"||a?.source==="env")&&(c=xo),!c||!d)throw new Ye(["No Admin API credentials found. Provide them via one of (host and key resolve together per source):"," - flags: --api-key <sk_...> (host defaults to "+xo+"; pass --base-url for a remote store)"," - env: SPREE_API_KEY (host defaults to "+xo+"; set SPREE_BASE_URL for a remote store)"," - project: run inside a Spree project with the dev stack up (auto-mints a read-only key)"," - profile: spree auth login --profile <name>"].join(`
|
|
91
|
+
`));return{baseUrl:c,apiKey:d,source:a?.source??"flags",profileName:a?.profileName,tokenPrefix:Fi(d),scopes:a?.scopes}}function pr(e,t="json"){if(e!=null){if(t==="table"){let r=mk(e);if(r){(0,vo.printTable)(r.map(Ol));return}let i=Ol(e);(0,vo.printTable)(Object.entries(i).map(([n,s])=>({field:n,value:s})));return}process.stdout.isTTY?process.stdout.write(`${lk(JSON.stringify(e,null,2))}
|
|
92
92
|
`):process.stdout.write(`${JSON.stringify(e)}
|
|
93
|
-
`)}}var uk=/("(?:\\.|[^"\\])*"(\s*:)?)|\b(true|false|null)\b|(-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)/g;function lk(e){return e.replace(uk,(t,r,i,n,s)=>r!==void 0?i?ae.default.cyan(r.slice(0,-i.length))+i:ae.default.green(r):n!==void 0?ae.default.yellow(n):s!==void 0?ae.default.yellow(s):t)}function mk(e){return Array.isArray(e)?e:e&&typeof e=="object"&&Array.isArray(e.data)?e.data:null}function
|
|
93
|
+
`)}}var uk=/("(?:\\.|[^"\\])*"(\s*:)?)|\b(true|false|null)\b|(-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)/g;function lk(e){return e.replace(uk,(t,r,i,n,s)=>r!==void 0?i?ae.default.cyan(r.slice(0,-i.length))+i:ae.default.green(r):n!==void 0?ae.default.yellow(n):s!==void 0?ae.default.yellow(s):t)}function mk(e){return Array.isArray(e)?e:e&&typeof e=="object"&&Array.isArray(e.data)?e.data:null}function Ol(e){let t={};for(let[r,i]of Object.entries(e))i===null||["string","number","boolean"].includes(typeof i)?t[r]=i:Array.isArray(i)?t[r]=`[${i.length}]`:t[r]="{\u2026}";return t}function ut(e,t={}){if(e instanceof tt){let i=e.details?`
|
|
94
94
|
${JSON.stringify({details:e.details},null,2)}`:"";process.stderr.write(`${ae.default.red(`${e.code}:`)} ${e.message}${i}
|
|
95
95
|
`);let n=e.details?.required_scope;typeof n=="string"&&process.stderr.write(`${ae.default.dim(`Hint: this key lacks \`${n}\`. Create one that has it and use it:`)}
|
|
96
96
|
${ae.default.dim(` spree api-key create --type secret --scopes ${n}`)}
|
|
97
97
|
${ae.default.dim(" then pass it via --api-key <sk_...> or export SPREE_API_KEY=<sk_...>")}
|
|
98
|
-
`),process.exit(1)}if(e instanceof
|
|
98
|
+
`),process.exit(1)}if(e instanceof Ye&&(process.stderr.write(`${ae.default.red("error:")} ${e.message}
|
|
99
99
|
`),process.exit(2)),e instanceof TypeError&&/fetch failed/i.test(e.message)){let i=e.cause,n=i instanceof Error?i.message:i?String(i):"",s=t.baseUrl?` (${t.baseUrl})`:"";process.stderr.write(`${ae.default.red("error:")} could not reach the server${s}${n?`: ${n}`:""}
|
|
100
100
|
`),process.stderr.write(`${ae.default.dim("Hint: check the URL, or run `spree api status` to diagnose reachability and credentials.")}
|
|
101
101
|
`),process.exit(2)}let r=e instanceof Error?e.message:String(e);process.stderr.write(`${ae.default.red("error:")} ${r}
|
|
102
|
-
`),process.exit(2)}function
|
|
102
|
+
`),process.exit(2)}function Rl(e){let t=new Map;for(let i of e.query??[]){let n=i.indexOf("=");if(n<=0)throw new Error(`Invalid -q expression "${i}" \u2014 expected key=value (e.g. -q status_eq=active)`);let s=i.slice(0,n),o=i.slice(n+1),a=t.get(s);a?a.push(o):t.set(s,[o])}let r={};for(let[i,n]of t)n.length>1?r[`q[${i}][]`]=n:r[`q[${i}]`]=n[0];return e.sort&&(r.sort=e.sort),e.page!==void 0&&(r.page=Il(e.page,"--page")),e.limit!==void 0&&(r.limit=Il(e.limit,"--limit")),e.expand&&(r.expand=e.expand),e.fields&&(r.fields=e.fields),r}function Il(e,t){if(!/^[1-9]\d*$/.test(e))throw new Error(`Invalid ${t} "${e}" \u2014 expected a positive integer`);return Number(e)}function dr(e){let t=e.startsWith("/")?e:`/${e}`,r="/api/v3/admin";return t===r?"/":t.startsWith(`${r}/`)?t.slice(r.length):t}var Rt=B(X(),1);async function ur(e,t){let r=kr({baseUrl:e,secretKey:t,retry:!1});try{return{status:"connected",storeName:(await r.request("GET","/store",{}))?.name}}catch(i){return i instanceof tt?i.status===401?{status:"unauthorized",message:i.message}:i.status===403?{status:"forbidden"}:{status:"unreachable",message:`server responded HTTP ${i.status}: ${i.message}`}:{status:"unreachable",message:i instanceof Error?i.message:String(i)}}}function Ui(e){return e.status==="unauthorized"||e.status==="unreachable"}function Bi(e){return{connected:Rt.default.green(`connected${e.storeName?` (${e.storeName})`:""}`),forbidden:Rt.default.green("connected")+Rt.default.dim(" (key valid; lacks read_settings for store details)"),unauthorized:Rt.default.red("key rejected (401)"),unreachable:Rt.default.red(`unreachable \u2014 ${e.message}`)}[e.status]}var jl={info:{title:"Admin API",contact:{name:"Spree Commerce",url:"https://spreecommerce.org",email:"hello@spreecommerce.org"},description:`Spree Admin API v3 - Administrative API for managing products, orders, and store settings.
|
|
103
103
|
|
|
104
104
|
## Authentication
|
|
105
105
|
|
|
@@ -264,92 +264,92 @@ accepts Spree's payloads.
|
|
|
264
264
|
repeated delivery failures), no notification email is sent.
|
|
265
265
|
|
|
266
266
|
|
|
267
|
-
**Required scope:** \`write_webhooks\` (for API-key authentication).`,parameters:[{name:"x-spree-api-key",in:"header",required:!0,schema:{type:"string"}},{name:"Authorization",in:"header",required:!0,description:"Bearer token for admin authentication",schema:{type:"string"}}],responses:{"200":{description:"webhook endpoint disabled",content:{"application/json":{}}}},requestBody:{content:{"application/json":{schema:{type:"object",properties:{reason:{type:"string"}}}}}}}}},components:{schemas:{PaginationMeta:{type:"object",properties:{page:{type:"integer"},limit:{type:"integer"},count:{type:"integer",description:"Total number of records"},pages:{type:"integer",description:"Total number of pages"},from:{type:"integer",description:"Index of first record on this page"},to:{type:"integer",description:"Index of last record on this page"},in:{type:"integer",description:"Number of records on this page"},previous:{type:"integer",nullable:!0,description:"Previous page number"},next:{type:"integer",nullable:!0,description:"Next page number"}},required:["page","limit","count","pages","from","to","in"]},ErrorResponse:{type:"object",properties:{error:{type:"object",properties:{code:{type:"string"},message:{type:"string"},details:{type:"object",description:"Field-specific validation errors",nullable:!0}},required:["code","message"]}},required:["error"]},AuthResponse:{type:"object",properties:{token:{type:"string",description:"JWT access token"},user:{$ref:"#/components/schemas/AdminUser"}},required:["token","user"]},PermissionRule:{type:"object",description:"A single permission rule (CanCanCan rule). Rules are applied in order, last-matching-wins.",properties:{allow:{type:"boolean",description:"true for `can`, false for `cannot`"},actions:{type:"array",items:{type:"string"},description:'Action names, e.g. ["read", "update"] or ["manage"]'},subjects:{type:"array",items:{type:"string"},description:'Subject class names, e.g. ["Spree::Product"] or ["all"]'},has_conditions:{type:"boolean",description:"True if the server-side rule has per-record conditions. The SPA shows the action optimistically and handles 403 from the API."}},required:["allow","actions","subjects","has_conditions"]},MeResponse:{type:"object",description:"Current admin user profile and serialized permissions",properties:{user:{$ref:"#/components/schemas/AdminUser"},permissions:{type:"array",items:{$ref:"#/components/schemas/PermissionRule"}}},required:["user","permissions"]},CheckoutRequirement:{type:"object",properties:{step:{type:"string",description:"Checkout step this requirement belongs to"},field:{type:"string",description:"Field that needs to be satisfied"},message:{type:"string",description:"Human-readable requirement message"}},required:["step","field","message"]},CartWarning:{type:"object",description:"A warning about a cart issue (e.g., item removed due to stock change)",properties:{code:{type:"string",description:"Machine-readable warning code"},message:{type:"string",description:"Human-readable warning message"},line_item_id:{type:"string",nullable:!0,description:"Prefixed line item ID (when applicable)"},variant_id:{type:"string",nullable:!0,description:"Prefixed variant ID (when applicable)"}},required:["code","message"]},FulfillmentManifestItem:{type:"object",description:"An item within a fulfillment \u2014 which line item and how many units are in this fulfillment",properties:{item_id:{type:"string",description:"Line item ID"},variant_id:{type:"string",description:"Variant ID"},quantity:{type:"integer",description:"Quantity in this fulfillment"}},required:["item_id","variant_id","quantity"]},AdminUserRoleAssignment:{type:"object",description:"A role assignment for the current store on a staff member",properties:{id:{type:"string",description:"Prefixed role ID"},name:{type:"string",description:"Role name"}},required:["id","name"]},PreferenceField:{type:"object",description:"A single configurable preference on a payment method, promotion rule/action, or calculator. The frontend uses `type` + `default` to render a sensible input.",properties:{key:{type:"string"},type:{type:"string",description:"string | text | password | integer | decimal | boolean | array | hash"},default:{description:"Default value (any JSON type), null when there is no default",nullable:!0}},required:["key","type"]},PromotionActionCalculator:{type:"object",description:"The action's nested calculator (when the action carries one \u2014 null for actions like `free_shipping`)",properties:{type:{type:"string",description:"Wire shorthand for the calculator subclass"},label:{type:"string"},preferences:{type:"object",additionalProperties:!0},preference_schema:{type:"array",items:{$ref:"#/components/schemas/PreferenceField"}}},required:["type","label","preferences","preference_schema"]},PromotionActionLineItem:{type:"object",description:"One row in a `create_line_items` action \u2014 the variant added to the order and how many",properties:{variant_id:{type:"string"},quantity:{type:"integer"}},required:["variant_id","quantity"]},Address:{type:"object",properties:{id:{type:"string"},first_name:{type:"string",nullable:!0},last_name:{type:"string",nullable:!0},full_name:{type:"string"},address1:{type:"string",nullable:!0},address2:{type:"string",nullable:!0},postal_code:{type:"string",nullable:!0},city:{type:"string",nullable:!0},phone:{type:"string",nullable:!0},company:{type:"string",nullable:!0},country_name:{type:"string"},country_iso:{type:"string"},state_text:{type:"string",nullable:!0},state_abbr:{type:"string",nullable:!0},quick_checkout:{type:"boolean"},is_default_billing:{type:"boolean"},is_default_shipping:{type:"boolean"},state_name:{type:"string",nullable:!0},label:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},customer_id:{type:"string",nullable:!0}},required:["id","first_name","last_name","full_name","address1","address2","postal_code","city","phone","company","country_name","country_iso","state_text","state_abbr","quick_checkout","is_default_billing","is_default_shipping","state_name","label","metadata","created_at","updated_at","customer_id"],"x-typelizer":!0},Adjustment:{type:"object",properties:{id:{type:"string"},label:{type:"string"},display_amount:{type:"string"},included:{type:"boolean"},created_at:{type:"string"},updated_at:{type:"string"},amount:{type:"string"},order_id:{type:"string",nullable:!0}},required:["id","label","display_amount","included","created_at","updated_at","amount","order_id"],"x-typelizer":!0},AdminUser:{type:"object",properties:{id:{type:"string"},email:{type:"string"},first_name:{type:"string",nullable:!0},last_name:{type:"string",nullable:!0},full_name:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},roles:{type:"array",items:{$ref:"#/components/schemas/AdminUserRoleAssignment"}}},required:["id","email","first_name","last_name","full_name","created_at","updated_at","roles"],"x-typelizer":!0},AllowedOrigin:{type:"object",properties:{id:{type:"string"},origin:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","origin","created_at","updated_at"],"x-typelizer":!0},ApiKey:{type:"object",properties:{id:{type:"string"},name:{type:"string"},key_type:{type:"string"},token_prefix:{type:"string",nullable:!0},scopes:{type:"array",items:{type:"string"}},created_at:{type:"string"},updated_at:{type:"string"},revoked_at:{type:"string",nullable:!0},last_used_at:{type:"string",nullable:!0},plaintext_token:{type:"string",nullable:!0},created_by_email:{type:"string",nullable:!0}},required:["id","name","key_type","token_prefix","scopes","created_at","updated_at","revoked_at","last_used_at","plaintext_token","created_by_email"],"x-typelizer":!0},Category:{type:"object",properties:{id:{type:"string"},name:{type:"string"},permalink:{type:"string"},position:{type:"number"},depth:{type:"number"},meta_title:{type:"string",nullable:!0},meta_description:{type:"string",nullable:!0},meta_keywords:{type:"string",nullable:!0},children_count:{type:"number"},parent_id:{type:"string",nullable:!0},description:{type:"string"},description_html:{type:"string"},image_url:{type:"string",nullable:!0},square_image_url:{type:"string",nullable:!0},is_root:{type:"boolean"},is_child:{type:"boolean"},is_leaf:{type:"boolean"},parent:{$ref:"#/components/schemas/Category"},children:{type:"array",items:{$ref:"#/components/schemas/Category"}},ancestors:{type:"array",items:{$ref:"#/components/schemas/Category"}},custom_fields:{type:"array",items:{$ref:"#/components/schemas/CustomField"}},metadata:{type:"object"},pretty_name:{type:"string"},lft:{type:"number"},rgt:{type:"number"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","name","permalink","position","depth","meta_title","meta_description","meta_keywords","children_count","parent_id","description","description_html","image_url","square_image_url","is_root","is_child","is_leaf","metadata","pretty_name","lft","rgt","created_at","updated_at"],"x-typelizer":!0},Channel:{type:"object",properties:{id:{type:"string"},name:{type:"string"},code:{type:"string"},active:{type:"boolean"},default:{type:"boolean"},preferred_order_routing_strategy:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","name","code","active","default","preferred_order_routing_strategy","created_at","updated_at"],"x-typelizer":!0},Country:{type:"object",properties:{iso:{type:"string"},iso3:{type:"string"},name:{type:"string"},states_required:{type:"boolean"},zipcode_required:{type:"boolean"},states:{type:"array",items:{$ref:"#/components/schemas/State"}},market:{allOf:[{$ref:"#/components/schemas/Market"}],nullable:!0},created_at:{type:"object"},updated_at:{type:"object"}},required:["iso","iso3","name","states_required","zipcode_required","created_at","updated_at"],"x-typelizer":!0},CouponCode:{type:"object",properties:{id:{type:"string"},code:{type:"string"},state:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},promotion_id:{type:"string"},order_id:{type:"string",nullable:!0}},required:["id","code","state","created_at","updated_at","promotion_id","order_id"],"x-typelizer":!0},CreditCard:{type:"object",properties:{id:{type:"string"},brand:{type:"string"},last4:{type:"string"},month:{type:"number"},year:{type:"number"},name:{type:"string",nullable:!0},default:{type:"boolean"},gateway_payment_profile_id:{type:"string",nullable:!0},customer_id:{type:"string",nullable:!0},payment_method_id:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","brand","last4","month","year","name","default","gateway_payment_profile_id","customer_id","payment_method_id","metadata","created_at","updated_at"],"x-typelizer":!0},CustomFieldDefinition:{type:"object",properties:{id:{type:"string"},namespace:{type:"string"},key:{type:"string"},label:{type:"string"},field_type:{type:"string",enum:["short_text","long_text","rich_text","number","boolean","json"]},resource_type:{type:"string"},storefront_visible:{type:"boolean"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","namespace","key","label","field_type","resource_type","storefront_visible","created_at","updated_at"],"x-typelizer":!0},CustomField:{type:"object",properties:{id:{type:"string"},label:{type:"string"},type:{type:"string",deprecated:!0},field_type:{type:"string",enum:["short_text","long_text","rich_text","number","boolean","json"]},key:{type:"string"},value:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},storefront_visible:{type:"boolean"},custom_field_definition_id:{type:"string"}},required:["id","label","type","field_type","key","value","created_at","updated_at","storefront_visible","custom_field_definition_id"],"x-typelizer":!0},CustomerGroup:{type:"object",properties:{id:{type:"string"},name:{type:"string"},description:{type:"string",nullable:!0},customers_count:{type:"number"},created_at:{type:"string"},updated_at:{type:"string"},customers:{type:"array",items:{$ref:"#/components/schemas/Customer"}}},required:["id","name","description","customers_count","created_at","updated_at"],"x-typelizer":!0},Customer:{type:"object",properties:{id:{type:"string"},email:{type:"string"},first_name:{type:"string",nullable:!0},last_name:{type:"string",nullable:!0},phone:{type:"string",nullable:!0},accepts_email_marketing:{type:"boolean"},full_name:{type:"string"},available_store_credit_total:{type:"string"},display_available_store_credit_total:{type:"string"},addresses:{type:"array",items:{$ref:"#/components/schemas/Address"}},default_billing_address:{allOf:[{$ref:"#/components/schemas/Address"}],nullable:!0},default_shipping_address:{allOf:[{$ref:"#/components/schemas/Address"}],nullable:!0},login:{type:"string",nullable:!0},metadata:{type:"object"},last_sign_in_at:{type:"string",nullable:!0},current_sign_in_at:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},sign_in_count:{type:"number"},failed_attempts:{type:"number"},last_sign_in_ip:{type:"string",nullable:!0},current_sign_in_ip:{type:"string",nullable:!0},tags:{type:"array",items:{type:"string"}},internal_note_html:{type:"string",nullable:!0},default_billing_address_id:{type:"string",nullable:!0},default_shipping_address_id:{type:"string",nullable:!0},orders_count:{type:"number"},total_spent:{type:"string"},display_total_spent:{type:"string"},last_order_completed_at:{type:"string",nullable:!0},orders:{type:"array",items:{$ref:"#/components/schemas/Order"}},store_credits:{type:"array",items:{$ref:"#/components/schemas/StoreCredit"}},customer_groups:{type:"array",items:{$ref:"#/components/schemas/CustomerGroup"}}},required:["id","email","first_name","last_name","phone","accepts_email_marketing","full_name","available_store_credit_total","display_available_store_credit_total","login","metadata","last_sign_in_at","current_sign_in_at","created_at","updated_at","sign_in_count","failed_attempts","last_sign_in_ip","current_sign_in_ip","tags","internal_note_html","default_billing_address_id","default_shipping_address_id","orders_count","total_spent","display_total_spent","last_order_completed_at"],"x-typelizer":!0},DeliveryMethod:{type:"object",properties:{id:{type:"string"},name:{type:"string"},code:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","name","code","created_at","updated_at"],"x-typelizer":!0},DeliveryRate:{type:"object",properties:{id:{type:"string"},delivery_method_id:{type:"string"},name:{type:"string"},selected:{type:"boolean"},cost:{type:"string"},total:{type:"string"},additional_tax_total:{type:"string"},included_tax_total:{type:"string"},tax_total:{type:"string"},display_cost:{type:"string"},display_total:{type:"string"},display_additional_tax_total:{type:"string"},display_included_tax_total:{type:"string"},display_tax_total:{type:"string"},delivery_method:{$ref:"#/components/schemas/DeliveryMethod"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","delivery_method_id","name","selected","cost","total","additional_tax_total","included_tax_total","tax_total","display_cost","display_total","display_additional_tax_total","display_included_tax_total","display_tax_total","created_at","updated_at"],"x-typelizer":!0},DigitalLink:{type:"object",properties:{id:{type:"string"},access_counter:{type:"number"},filename:{type:"string"},content_type:{type:"string"},download_url:{type:"string"},authorizable:{type:"boolean"},expired:{type:"boolean"},access_limit_exceeded:{type:"boolean"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","access_counter","filename","content_type","download_url","authorizable","expired","access_limit_exceeded","created_at","updated_at"],"x-typelizer":!0},Discount:{type:"object",properties:{id:{type:"string"},promotion_id:{type:"string"},name:{type:"string"},description:{type:"string",nullable:!0},code:{type:"string",nullable:!0},amount:{type:"string"},display_amount:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","promotion_id","name","description","code","amount","display_amount","created_at","updated_at"],"x-typelizer":!0},Export:{type:"object",properties:{id:{type:"string"},number:{type:"string"},type:{type:"string",nullable:!0},format:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},user_id:{type:"string",nullable:!0},done:{type:"boolean"},filename:{type:"string",nullable:!0},byte_size:{type:"number",nullable:!0},download_url:{type:"string",nullable:!0}},required:["id","number","type","format","created_at","updated_at","user_id","done","filename","byte_size","download_url"],"x-typelizer":!0},Fulfillment:{type:"object",properties:{id:{type:"string"},number:{type:"string"},tracking:{type:"string",nullable:!0},tracking_url:{type:"string",nullable:!0},cost:{type:"string"},display_cost:{type:"string"},total:{type:"string"},display_total:{type:"string"},discount_total:{type:"string"},display_discount_total:{type:"string"},additional_tax_total:{type:"string"},display_additional_tax_total:{type:"string"},included_tax_total:{type:"string"},display_included_tax_total:{type:"string"},tax_total:{type:"string"},display_tax_total:{type:"string"},status:{type:"string"},fulfillment_type:{type:"string"},fulfilled_at:{type:"string",nullable:!0},items:{type:"array",items:{$ref:"#/components/schemas/FulfillmentManifestItem"}},delivery_method:{$ref:"#/components/schemas/DeliveryMethod"},stock_location:{$ref:"#/components/schemas/StockLocation"},delivery_rates:{type:"array",items:{$ref:"#/components/schemas/DeliveryRate"}},metadata:{type:"object"},adjustment_total:{type:"string"},pre_tax_amount:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"},order_id:{type:"string",nullable:!0},stock_location_id:{type:"string",nullable:!0},order:{$ref:"#/components/schemas/Order"},adjustments:{type:"array",items:{$ref:"#/components/schemas/Adjustment"}}},required:["id","number","tracking","tracking_url","cost","display_cost","total","display_total","discount_total","display_discount_total","additional_tax_total","display_additional_tax_total","included_tax_total","display_included_tax_total","tax_total","display_tax_total","status","fulfillment_type","fulfilled_at","items","metadata","adjustment_total","pre_tax_amount","created_at","updated_at","order_id","stock_location_id"],"x-typelizer":!0},GiftCardBatch:{type:"object",properties:{id:{type:"string"},codes_count:{type:"number"},currency:{type:"string",nullable:!0},prefix:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},amount:{type:"string",nullable:!0},expires_at:{type:"string",nullable:!0},created_by_id:{type:"string",nullable:!0}},required:["id","codes_count","currency","prefix","created_at","updated_at","amount","expires_at","created_by_id"],"x-typelizer":!0},GiftCard:{type:"object",properties:{id:{type:"string"},code:{type:"string"},status:{type:"string"},currency:{type:"string"},amount:{type:"string"},amount_used:{type:"string"},amount_authorized:{type:"string"},amount_remaining:{type:"string"},display_amount:{type:"string"},display_amount_used:{type:"string"},display_amount_remaining:{type:"string"},expires_at:{type:"string",nullable:!0},redeemed_at:{type:"string",nullable:!0},expired:{type:"boolean"},active:{type:"boolean"},created_at:{type:"string"},updated_at:{type:"string"},customer_id:{type:"string",nullable:!0},created_by_id:{type:"string",nullable:!0},customer:{$ref:"#/components/schemas/Customer"},created_by:{$ref:"#/components/schemas/AdminUser"},gift_card_batch:{$ref:"#/components/schemas/GiftCardBatch"},orders:{type:"array",items:{$ref:"#/components/schemas/Order"}}},required:["id","code","status","currency","amount","amount_used","amount_authorized","amount_remaining","display_amount","display_amount_used","display_amount_remaining","expires_at","redeemed_at","expired","active","created_at","updated_at","customer_id","created_by_id"],"x-typelizer":!0},Invitation:{type:"object",properties:{id:{type:"string"},email:{type:"string"},status:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"},expires_at:{type:"string"},role_id:{type:"string"},role_name:{type:"string"},inviter_email:{type:"string"},acceptance_url:{type:"string"},invitee_exists:{type:"boolean"},store:{type:"object"}},required:["id","email","status","created_at","updated_at","expires_at","role_id","role_name","inviter_email","acceptance_url","invitee_exists","store"],"x-typelizer":!0},LineItem:{type:"object",properties:{id:{type:"string"},variant_id:{type:"string"},quantity:{type:"number"},currency:{type:"string"},name:{type:"string"},slug:{type:"string"},options_text:{type:"string"},price:{type:"string"},display_price:{type:"string"},total:{type:"string"},display_total:{type:"string"},adjustment_total:{type:"string"},display_adjustment_total:{type:"string"},additional_tax_total:{type:"string"},display_additional_tax_total:{type:"string"},included_tax_total:{type:"string"},display_included_tax_total:{type:"string"},discount_total:{type:"string"},display_discount_total:{type:"string"},pre_tax_amount:{type:"string"},display_pre_tax_amount:{type:"string"},discounted_amount:{type:"string"},display_discounted_amount:{type:"string"},display_compare_at_amount:{type:"string",nullable:!0},compare_at_amount:{type:"string",nullable:!0},thumbnail_url:{type:"string",nullable:!0},option_values:{type:"array",items:{$ref:"#/components/schemas/OptionValue"}},digital_links:{type:"array",items:{$ref:"#/components/schemas/DigitalLink"}},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},cost_price:{type:"string",nullable:!0},tax_category_id:{type:"string",nullable:!0},variant:{$ref:"#/components/schemas/Variant"},tax_category:{$ref:"#/components/schemas/TaxCategory"},adjustments:{type:"array",items:{$ref:"#/components/schemas/Adjustment"}}},required:["id","variant_id","quantity","currency","name","slug","options_text","price","display_price","total","display_total","adjustment_total","display_adjustment_total","additional_tax_total","display_additional_tax_total","included_tax_total","display_included_tax_total","discount_total","display_discount_total","pre_tax_amount","display_pre_tax_amount","discounted_amount","display_discounted_amount","display_compare_at_amount","compare_at_amount","thumbnail_url","option_values","digital_links","metadata","created_at","updated_at","cost_price","tax_category_id"],"x-typelizer":!0},Market:{type:"object",properties:{id:{type:"string"},name:{type:"string"},currency:{type:"string"},default_locale:{type:"string"},tax_inclusive:{type:"boolean"},default:{type:"boolean"},country_isos:{type:"array",items:{type:"string"}},supported_locales:{type:"array",items:{type:"string"}},countries:{type:"array",items:{$ref:"#/components/schemas/Country"}},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","name","currency","default_locale","tax_inclusive","default","country_isos","supported_locales","created_at","updated_at"],"x-typelizer":!0},Media:{type:"object",properties:{id:{type:"string"},product_id:{type:"string",nullable:!0},variant_ids:{type:"array",items:{type:"string"}},position:{type:"number"},alt:{type:"string",nullable:!0},media_type:{type:"string"},focal_point_x:{type:"number",nullable:!0},focal_point_y:{type:"number",nullable:!0},external_video_url:{type:"string",nullable:!0},original_url:{type:"string",nullable:!0},mini_url:{type:"string",nullable:!0},small_url:{type:"string",nullable:!0},medium_url:{type:"string",nullable:!0},large_url:{type:"string",nullable:!0},xlarge_url:{type:"string",nullable:!0},og_image_url:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},viewable_id:{type:"string"},download_url:{type:"string",nullable:!0},metadata:{type:"object"},viewable_type:{type:"string"}},required:["id","product_id","variant_ids","position","alt","media_type","focal_point_x","focal_point_y","external_video_url","original_url","mini_url","small_url","medium_url","large_url","xlarge_url","og_image_url","created_at","updated_at","viewable_id","download_url","metadata","viewable_type"],"x-typelizer":!0},OptionType:{type:"object",properties:{id:{type:"string"},name:{type:"string"},label:{type:"string"},position:{type:"number"},kind:{type:"string"},metadata:{type:"object"},filterable:{type:"boolean"},created_at:{type:"string"},updated_at:{type:"string"},option_values:{type:"array",items:{$ref:"#/components/schemas/OptionValue"}}},required:["id","name","label","position","kind","metadata","filterable","created_at","updated_at"],"x-typelizer":!0},OptionValue:{type:"object",properties:{id:{type:"string"},option_type_id:{type:"string"},name:{type:"string"},label:{type:"string"},position:{type:"number"},color_code:{type:"string",nullable:!0},option_type_name:{type:"string"},option_type_label:{type:"string"},image_url:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},option_type:{$ref:"#/components/schemas/OptionType"}},required:["id","option_type_id","name","label","position","color_code","option_type_name","option_type_label","image_url","metadata","created_at","updated_at"],"x-typelizer":!0},Order:{type:"object",properties:{id:{type:"string"},market_id:{type:"string",nullable:!0},channel_id:{type:"string",nullable:!0},number:{type:"string"},email:{type:"string"},customer_note:{type:"string",nullable:!0},currency:{type:"string"},locale:{type:"string",nullable:!0},total_quantity:{type:"number"},item_total:{type:"string"},display_item_total:{type:"string"},adjustment_total:{type:"string"},display_adjustment_total:{type:"string"},discount_total:{type:"string"},display_discount_total:{type:"string"},tax_total:{type:"string"},display_tax_total:{type:"string"},included_tax_total:{type:"string"},display_included_tax_total:{type:"string"},additional_tax_total:{type:"string"},display_additional_tax_total:{type:"string"},total:{type:"string"},display_total:{type:"string"},gift_card_total:{type:"string"},display_gift_card_total:{type:"string"},amount_due:{type:"string"},display_amount_due:{type:"string"},delivery_total:{type:"string"},display_delivery_total:{type:"string"},fulfillment_status:{type:"string",nullable:!0},payment_status:{type:"string",nullable:!0},completed_at:{type:"string",nullable:!0},store_credit_total:{type:"string"},display_store_credit_total:{type:"string"},covered_by_store_credit:{type:"boolean"},discounts:{type:"array",items:{$ref:"#/components/schemas/Discount"}},items:{type:"array",items:{$ref:"#/components/schemas/LineItem"}},fulfillments:{type:"array",items:{$ref:"#/components/schemas/Fulfillment"}},payments:{type:"array",items:{$ref:"#/components/schemas/Payment"}},billing_address:{allOf:[{$ref:"#/components/schemas/Address"}],nullable:!0},shipping_address:{allOf:[{$ref:"#/components/schemas/Address"}],nullable:!0},gift_card:{allOf:[{$ref:"#/components/schemas/GiftCard"}],nullable:!0},market:{allOf:[{$ref:"#/components/schemas/Market"}],nullable:!0},status:{type:"string"},last_ip_address:{type:"string",nullable:!0},considered_risky:{type:"boolean"},confirmation_delivered:{type:"boolean"},store_owner_notification_delivered:{type:"boolean"},payment_total:{type:"string"},display_payment_total:{type:"string"},metadata:{type:"object"},canceled_at:{type:"string",nullable:!0},approved_at:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},preferred_stock_location_id:{type:"string",nullable:!0},tags:{type:"array",items:{type:"string"}},internal_note:{type:"string",nullable:!0},approver_id:{type:"string",nullable:!0},canceler_id:{type:"string",nullable:!0},created_by_id:{type:"string",nullable:!0},customer_id:{type:"string",nullable:!0},channel:{$ref:"#/components/schemas/Channel"},preferred_stock_location:{$ref:"#/components/schemas/StockLocation"},payment_methods:{type:"array",items:{$ref:"#/components/schemas/PaymentMethod"}},customer:{$ref:"#/components/schemas/Customer"},approver:{$ref:"#/components/schemas/Customer"},canceler:{$ref:"#/components/schemas/Customer"},created_by:{$ref:"#/components/schemas/Customer"},adjustments:{type:"array",items:{$ref:"#/components/schemas/Adjustment"}},return_authorizations:{type:"array",items:{$ref:"#/components/schemas/ReturnAuthorization"}},reimbursements:{type:"array",items:{$ref:"#/components/schemas/Reimbursement"}}},required:["id","market_id","channel_id","number","email","customer_note","currency","locale","total_quantity","item_total","display_item_total","adjustment_total","display_adjustment_total","discount_total","display_discount_total","tax_total","display_tax_total","included_tax_total","display_included_tax_total","additional_tax_total","display_additional_tax_total","total","display_total","gift_card_total","display_gift_card_total","amount_due","display_amount_due","delivery_total","display_delivery_total","fulfillment_status","payment_status","completed_at","store_credit_total","display_store_credit_total","covered_by_store_credit","gift_card","market","status","last_ip_address","considered_risky","confirmation_delivered","store_owner_notification_delivered","payment_total","display_payment_total","metadata","canceled_at","approved_at","created_at","updated_at","preferred_stock_location_id","tags","internal_note","approver_id","canceler_id","created_by_id","customer_id"],"x-typelizer":!0},PaymentMethod:{type:"object",properties:{id:{type:"string"},name:{type:"string"},description:{type:"string",nullable:!0},type:{type:"string"},session_required:{type:"boolean"},source_required:{type:"boolean"},metadata:{type:"object"},active:{type:"boolean"},auto_capture:{type:"boolean",nullable:!0},storefront_visible:{type:"boolean"},position:{type:"number"},created_at:{type:"string"},updated_at:{type:"string"},preferences:{type:"object"},preference_schema:{type:"object"}},required:["id","name","description","type","session_required","source_required","metadata","active","auto_capture","storefront_visible","position","created_at","updated_at","preferences","preference_schema"],"x-typelizer":!0},Payment:{type:"object",properties:{id:{type:"string"},payment_method_id:{type:"string"},response_code:{type:"string",nullable:!0},number:{type:"string"},amount:{type:"string"},display_amount:{type:"string"},status:{type:"string"},source_type:{type:"string",nullable:!0,enum:["credit_card","store_credit","payment_source"]},source_id:{type:"string",nullable:!0},source:{anyOf:[{$ref:"#/components/schemas/CreditCard"},{$ref:"#/components/schemas/StoreCredit"},{$ref:"#/components/schemas/PaymentSource"}],nullable:!0},payment_method:{$ref:"#/components/schemas/PaymentMethod"},metadata:{type:"object"},avs_response:{type:"string",nullable:!0},cvv_response_code:{type:"string",nullable:!0},cvv_response_message:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},captured_amount:{type:"string"},order_id:{type:"string",nullable:!0},order:{$ref:"#/components/schemas/Order"},refunds:{type:"array",items:{$ref:"#/components/schemas/Refund"}}},required:["id","payment_method_id","response_code","number","amount","display_amount","status","source_type","source_id","source","metadata","avs_response","cvv_response_code","cvv_response_message","created_at","updated_at","captured_amount","order_id"],"x-typelizer":!0},PaymentSource:{type:"object",properties:{id:{type:"string"},gateway_payment_profile_id:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","gateway_payment_profile_id","metadata","created_at","updated_at"],"x-typelizer":!0},PriceHistory:{type:"object",properties:{id:{type:"string"},amount:{type:"string"},amount_in_cents:{type:"number"},currency:{type:"string"},display_amount:{type:"string"},recorded_at:{type:"string"},variant_id:{type:"string"},price_id:{type:"string"},compare_at_amount:{type:"string",nullable:!0},created_at:{type:"string"}},required:["id","amount","amount_in_cents","currency","display_amount","recorded_at","variant_id","price_id","compare_at_amount","created_at"],"x-typelizer":!0},PriceList:{type:"object",properties:{id:{type:"string"},name:{type:"string"},description:{type:"string",nullable:!0},status:{type:"string"},position:{type:"number"},match_policy:{type:"string"},starts_at:{type:"string",nullable:!0},ends_at:{type:"string",nullable:!0},deleted_at:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},currently_active:{type:"boolean"},products_count:{type:"number"},prices_count:{type:"number"},product_ids:{type:"array",items:{type:"string"}},price_rules:{type:"array",items:{$ref:"#/components/schemas/PriceRule"}}},required:["id","name","description","status","position","match_policy","starts_at","ends_at","deleted_at","created_at","updated_at","currently_active","products_count","prices_count","product_ids"],"x-typelizer":!0},PriceRule:{type:"object",properties:{id:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"},type:{type:"string"},price_list_id:{type:"string"},preferences:{type:"object"},preference_schema:{type:"array",items:{$ref:"#/components/schemas/PreferenceField"}},label:{type:"string"},description:{type:"string",nullable:!0},markets:{type:"array",items:{$ref:"#/components/schemas/Market"}},customer_groups:{type:"array",items:{$ref:"#/components/schemas/CustomerGroup"}},customers:{type:"array",items:{$ref:"#/components/schemas/Customer"}}},required:["id","created_at","updated_at","type","price_list_id","preferences","preference_schema","label","description"],"x-typelizer":!0},Price:{type:"object",properties:{id:{type:"string"},amount:{type:"string",nullable:!0},amount_in_cents:{type:"number",nullable:!0},compare_at_amount:{type:"string",nullable:!0},compare_at_amount_in_cents:{type:"number",nullable:!0},currency:{type:"string",nullable:!0},display_amount:{type:"string",nullable:!0},display_compare_at_amount:{type:"string",nullable:!0},price_list_id:{type:"string",nullable:!0},variant_id:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},variant:{$ref:"#/components/schemas/Variant"}},required:["id","amount","amount_in_cents","compare_at_amount","compare_at_amount_in_cents","currency","display_amount","display_compare_at_amount","price_list_id","variant_id","created_at","updated_at"],"x-typelizer":!0},ProductPublication:{type:"object",properties:{id:{type:"string"},published_at:{type:"string",nullable:!0},unpublished_at:{type:"string",nullable:!0},product_id:{type:"string"},channel_id:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","published_at","unpublished_at","product_id","channel_id","created_at","updated_at"],"x-typelizer":!0},Product:{type:"object",properties:{id:{type:"string"},name:{type:"string"},slug:{type:"string"},meta_title:{type:"string",nullable:!0},meta_description:{type:"string",nullable:!0},meta_keywords:{type:"string",nullable:!0},variant_count:{type:"number"},available_on:{type:"string",nullable:!0},purchasable:{type:"boolean"},in_stock:{type:"boolean"},backorderable:{type:"boolean"},available:{type:"boolean"},description:{type:"string",nullable:!0},description_html:{type:"string",nullable:!0},default_variant_id:{type:"string"},thumbnail_url:{type:"string",nullable:!0},tags:{type:"array",items:{type:"string"}},price:{allOf:[{$ref:"#/components/schemas/Price"}],nullable:!0},original_price:{allOf:[{$ref:"#/components/schemas/Price"}],nullable:!0},primary_media:{$ref:"#/components/schemas/Media"},media:{type:"array",items:{$ref:"#/components/schemas/Media"}},variants:{type:"array",items:{$ref:"#/components/schemas/Variant"}},default_variant:{$ref:"#/components/schemas/Variant"},option_types:{type:"array",items:{$ref:"#/components/schemas/OptionType"}},option_values:{type:"array",items:{$ref:"#/components/schemas/OptionValue"}},categories:{type:"array",items:{$ref:"#/components/schemas/Category"}},custom_fields:{type:"array",items:{$ref:"#/components/schemas/CustomField"}},prior_price:{allOf:[{$ref:"#/components/schemas/PriceHistory"}],nullable:!0},status:{type:"string"},metadata:{type:"object"},deleted_at:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},tax_category_id:{type:"string",nullable:!0},product_publications:{type:"array",items:{$ref:"#/components/schemas/ProductPublication"}},channels:{type:"array",items:{$ref:"#/components/schemas/Channel"}}},required:["id","name","slug","meta_title","meta_description","meta_keywords","variant_count","available_on","purchasable","in_stock","backorderable","available","description","description_html","default_variant_id","thumbnail_url","tags","price","original_price","status","metadata","deleted_at","created_at","updated_at","tax_category_id"],"x-typelizer":!0},PromotionAction:{type:"object",properties:{id:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"},type:{type:"string"},promotion_id:{type:"string"},preferences:{type:"object"},preference_schema:{type:"array",items:{$ref:"#/components/schemas/PreferenceField"}},label:{type:"string"},calculator:{allOf:[{$ref:"#/components/schemas/PromotionActionCalculator"}],nullable:!0},line_items:{type:"array",items:{$ref:"#/components/schemas/PromotionActionLineItem"},nullable:!0}},required:["id","created_at","updated_at","type","promotion_id","preferences","preference_schema","label","calculator","line_items"],"x-typelizer":!0},PromotionRule:{type:"object",properties:{id:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"},type:{type:"string"},promotion_id:{type:"string"},preferences:{type:"object"},preference_schema:{type:"array",items:{$ref:"#/components/schemas/PreferenceField"}},label:{type:"string"},product_ids:{type:"array",items:{type:"string"},nullable:!0},category_ids:{type:"array",items:{type:"string"},nullable:!0},customer_ids:{type:"array",items:{type:"string"},nullable:!0},products:{type:"array",items:{$ref:"#/components/schemas/Product"}},categories:{type:"array",items:{$ref:"#/components/schemas/Category"}},customers:{type:"array",items:{$ref:"#/components/schemas/Customer"}},customer_groups:{type:"array",items:{$ref:"#/components/schemas/CustomerGroup"}},countries:{type:"array",items:{$ref:"#/components/schemas/Country"}}},required:["id","created_at","updated_at","type","promotion_id","preferences","preference_schema","label","product_ids","category_ids","customer_ids"],"x-typelizer":!0},Promotion:{type:"object",properties:{id:{type:"string"},name:{type:"string"},description:{type:"string",nullable:!0},code:{type:"string",nullable:!0},starts_at:{type:"string",nullable:!0},expires_at:{type:"string",nullable:!0},usage_limit:{type:"number",nullable:!0},match_policy:{type:"string",enum:["all","any"]},path:{type:"string",nullable:!0},kind:{type:"string",enum:["coupon_code","automatic"]},multi_codes:{type:"boolean"},number_of_codes:{type:"number",nullable:!0},code_prefix:{type:"string",nullable:!0},promotion_category_id:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},action_ids:{type:"array",items:{type:"string"}},rule_ids:{type:"array",items:{type:"string"}}},required:["id","name","description","code","starts_at","expires_at","usage_limit","match_policy","path","kind","multi_codes","number_of_codes","code_prefix","promotion_category_id","metadata","created_at","updated_at","action_ids","rule_ids"],"x-typelizer":!0},Refund:{type:"object",properties:{id:{type:"string"},transaction_id:{type:"string",nullable:!0},amount:{type:"string",nullable:!0},payment_id:{type:"string",nullable:!0},refund_reason_id:{type:"string",nullable:!0},reimbursement_id:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},payment:{$ref:"#/components/schemas/Payment"},reimbursement:{$ref:"#/components/schemas/Reimbursement"}},required:["id","transaction_id","amount","payment_id","refund_reason_id","reimbursement_id","metadata","created_at","updated_at"],"x-typelizer":!0},Reimbursement:{type:"object",properties:{id:{type:"string"},number:{type:"string"},reimbursement_status:{type:"string",nullable:!0},total:{type:"string",nullable:!0},order_id:{type:"string",nullable:!0},customer_return_id:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},order:{$ref:"#/components/schemas/Order"}},required:["id","number","reimbursement_status","total","order_id","customer_return_id","created_at","updated_at"],"x-typelizer":!0},ReturnAuthorization:{type:"object",properties:{id:{type:"string"},number:{type:"string"},status:{type:"string"},order_id:{type:"string",nullable:!0},stock_location_id:{type:"string",nullable:!0},return_authorization_reason_id:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},order:{$ref:"#/components/schemas/Order"},stock_location:{$ref:"#/components/schemas/StockLocation"}},required:["id","number","status","order_id","stock_location_id","return_authorization_reason_id","created_at","updated_at"],"x-typelizer":!0},Role:{type:"object",properties:{id:{type:"string"},name:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","name","created_at","updated_at"],"x-typelizer":!0},State:{type:"object",properties:{abbr:{type:"string"},name:{type:"string"},created_at:{type:"object"},updated_at:{type:"object"}},required:["abbr","name","created_at","updated_at"],"x-typelizer":!0},StockItem:{type:"object",properties:{id:{type:"string"},count_on_hand:{type:"number"},backorderable:{type:"boolean"},stock_location_id:{type:"string",nullable:!0},variant_id:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},allocated_count:{type:"number"},available_count:{type:"number"},stock_location:{$ref:"#/components/schemas/StockLocation"},variant:{$ref:"#/components/schemas/Variant"}},required:["id","count_on_hand","backorderable","stock_location_id","variant_id","metadata","created_at","updated_at","allocated_count","available_count"],"x-typelizer":!0},StockLocation:{type:"object",properties:{id:{type:"string"},state_abbr:{type:"string",nullable:!0},name:{type:"string"},address1:{type:"string",nullable:!0},city:{type:"string",nullable:!0},zipcode:{type:"string",nullable:!0},country_iso:{type:"string",nullable:!0},country_name:{type:"string",nullable:!0},state_text:{type:"string",nullable:!0},admin_name:{type:"string",nullable:!0},address2:{type:"string",nullable:!0},state_name:{type:"string",nullable:!0},phone:{type:"string",nullable:!0},company:{type:"string",nullable:!0},active:{type:"boolean"},default:{type:"boolean"},backorderable_default:{type:"boolean"},propagate_all_variants:{type:"boolean"},kind:{type:"string"},pickup_enabled:{type:"boolean"},pickup_stock_policy:{type:"string"},pickup_ready_in_minutes:{type:"number",nullable:!0},pickup_instructions:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","state_abbr","name","address1","city","zipcode","country_iso","country_name","state_text","admin_name","address2","state_name","phone","company","active","default","backorderable_default","propagate_all_variants","kind","pickup_enabled","pickup_stock_policy","pickup_ready_in_minutes","pickup_instructions","created_at","updated_at"],"x-typelizer":!0},StockReservation:{type:"object",properties:{id:{type:"string"},stock_item_id:{type:"string"},line_item_id:{type:"string"},order_id:{type:"string"},variant_id:{type:"string",nullable:!0},stock_location_id:{type:"string",nullable:!0},quantity:{type:"number"},expires_at:{type:"string"},active:{type:"boolean"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","stock_item_id","line_item_id","order_id","variant_id","stock_location_id","quantity","expires_at","active","created_at","updated_at"],"x-typelizer":!0},StockTransfer:{type:"object",properties:{id:{type:"string"},number:{type:"string"},reference:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},source_location_id:{type:"string",nullable:!0},destination_location_id:{type:"string",nullable:!0},source_location:{$ref:"#/components/schemas/StockLocation"},destination_location:{$ref:"#/components/schemas/StockLocation"}},required:["id","number","reference","metadata","created_at","updated_at","source_location_id","destination_location_id"],"x-typelizer":!0},StoreCreditCategory:{type:"object",properties:{id:{type:"string"},name:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"},non_expiring:{type:"boolean"}},required:["id","name","created_at","updated_at","non_expiring"],"x-typelizer":!0},StoreCredit:{type:"object",properties:{id:{type:"string"},amount:{type:"string"},amount_used:{type:"string"},amount_remaining:{type:"string"},display_amount:{type:"string"},display_amount_used:{type:"string"},display_amount_remaining:{type:"string"},currency:{type:"string"},memo:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},customer_id:{type:"string",nullable:!0},created_by_id:{type:"string",nullable:!0},category_id:{type:"string",nullable:!0},category_name:{type:"string",nullable:!0}},required:["id","amount","amount_used","amount_remaining","display_amount","display_amount_used","display_amount_remaining","currency","memo","metadata","created_at","updated_at","customer_id","created_by_id","category_id","category_name"],"x-typelizer":!0},Store:{type:"object",properties:{id:{type:"string"},metadata:{type:"object"},name:{type:"string"},default_currency:{type:"string"},default_locale:{type:"string"},mail_from_address:{type:"string",nullable:!0},customer_support_email:{type:"string",nullable:!0},new_order_notifications_email:{type:"string",nullable:!0},preferred_send_consumer_transactional_emails:{type:"boolean"},preferred_admin_locale:{type:"string",nullable:!0},preferred_timezone:{type:"string"},preferred_weight_unit:{type:"string"},preferred_unit_system:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"},url:{type:"string"},supported_currencies:{type:"array",items:{type:"string"}},supported_locales:{type:"array",items:{type:"string"}},logo_url:{type:"string",nullable:!0},mailer_logo_url:{type:"string",nullable:!0}},required:["id","metadata","name","default_currency","default_locale","mail_from_address","customer_support_email","new_order_notifications_email","preferred_send_consumer_transactional_emails","preferred_admin_locale","preferred_timezone","preferred_weight_unit","preferred_unit_system","created_at","updated_at","url","supported_currencies","supported_locales","logo_url","mailer_logo_url"],"x-typelizer":!0},TaxCategory:{type:"object",properties:{id:{type:"string"},name:{type:"string"},tax_code:{type:"string",nullable:!0},description:{type:"string",nullable:!0},is_default:{type:"boolean"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","name","tax_code","description","is_default","created_at","updated_at"],"x-typelizer":!0},Variant:{type:"object",properties:{id:{type:"string"},product_id:{type:"string"},sku:{type:"string",nullable:!0},options_text:{type:"string"},track_inventory:{type:"boolean"},media_count:{type:"number"},thumbnail_url:{type:"string",nullable:!0},purchasable:{type:"boolean"},in_stock:{type:"boolean"},backorderable:{type:"boolean"},weight:{type:"number",nullable:!0},height:{type:"number",nullable:!0},width:{type:"number",nullable:!0},depth:{type:"number",nullable:!0},price:{$ref:"#/components/schemas/Price"},original_price:{allOf:[{$ref:"#/components/schemas/Price"}],nullable:!0},primary_media:{$ref:"#/components/schemas/Media"},media:{type:"array",items:{$ref:"#/components/schemas/Media"}},option_values:{type:"array",items:{$ref:"#/components/schemas/OptionValue"}},custom_fields:{type:"array",items:{$ref:"#/components/schemas/CustomField"}},prior_price:{allOf:[{$ref:"#/components/schemas/PriceHistory"}],nullable:!0},metadata:{type:"object"},position:{type:"number"},cost_price:{type:"string",nullable:!0},cost_currency:{type:"string",nullable:!0},barcode:{type:"string",nullable:!0},weight_unit:{type:"string",nullable:!0},dimensions_unit:{type:"string",nullable:!0},deleted_at:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},tax_category_id:{type:"string",nullable:!0},available_stock:{type:"number",nullable:!0},reserved_quantity:{type:"number"},total_on_hand:{type:"number",nullable:!0},product_name:{type:"string"},prices:{type:"array",items:{$ref:"#/components/schemas/Price"}},stock_items:{type:"array",items:{$ref:"#/components/schemas/StockItem"}}},required:["id","product_id","sku","options_text","track_inventory","media_count","thumbnail_url","purchasable","in_stock","backorderable","weight","height","width","depth","price","original_price","option_values","metadata","position","cost_price","cost_currency","barcode","weight_unit","dimensions_unit","deleted_at","created_at","updated_at","tax_category_id","available_stock","reserved_quantity","total_on_hand","product_name"],"x-typelizer":!0},WebhookDelivery:{type:"object",properties:{id:{type:"string"},event_name:{type:"string"},event_id:{type:"string",nullable:!0},response_code:{type:"number",nullable:!0},execution_time:{type:"number",nullable:!0},error_type:{type:"string",nullable:!0},request_errors:{type:"string",nullable:!0},response_body:{type:"string",nullable:!0},success:{type:"boolean",nullable:!0},payload:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},delivered_at:{type:"string",nullable:!0},webhook_endpoint_id:{type:"string"},webhook_endpoint_url:{type:"string"}},required:["id","event_name","event_id","response_code","execution_time","error_type","request_errors","response_body","success","payload","created_at","updated_at","delivered_at","webhook_endpoint_id","webhook_endpoint_url"],"x-typelizer":!0},WebhookEndpoint:{type:"object",properties:{id:{type:"string"},name:{type:"string",nullable:!0},url:{type:"string"},active:{type:"boolean"},subscriptions:{type:"array",items:{type:"string"}},disabled_reason:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},disabled_at:{type:"string",nullable:!0},secret_key:{type:"string",nullable:!0},last_delivery_at:{type:"string",nullable:!0},recent_delivery_count:{type:"number"},recent_failure_count:{type:"number"},total_delivery_count:{type:"number"},successful_delivery_count:{type:"number"},failed_delivery_count:{type:"number"}},required:["id","name","url","active","subscriptions","disabled_reason","created_at","updated_at","disabled_at","secret_key","last_delivery_at","recent_delivery_count","recent_failure_count","total_delivery_count","successful_delivery_count","failed_delivery_count"],"x-typelizer":!0}}}};var Dl=new Set(["get","post","put","patch","delete"]);function Ni(){return Rl}function yk(e){let t=e.description?.match(/\*\*Required scope:\*\* (.+?) \(for API-key authentication\)\./);return t?t[1].replaceAll("`",""):"\u2014"}function Ll(e,t={}){let r=[];for(let[i,n]of Object.entries(e.paths)){let s=i.replace("/api/v3/admin","")||"/";for(let[o,a]of Object.entries(n)){if(!Dl.has(o))continue;if(t.resource){let d=s.split("/")[1]??"";if(d!==t.resource&&!d.startsWith(t.resource))continue}let c=a.summary??"";t.search&&!`${o} ${s} ${c}`.toLowerCase().includes(t.search.toLowerCase())||r.push({method:o.toUpperCase(),path:s,scope:yk(a),summary:c})}}return r}function Ml(e,t){let r=t.trim().split(/\s+/),i=r.length>1?r[0].toLowerCase():void 0,n=r.length>1?r[1]:r[0],s=dr(n),o=jl(e,i,a=>a===s);return o.length>0?o:jl(e,i,a=>fk(a,s))}function jl(e,t,r){let i=[];for(let[n,s]of Object.entries(e.paths)){let o=n.replace("/api/v3/admin","")||"/";if(r(o))for(let[a,c]of Object.entries(s))Dl.has(a)&&(t&&a!==t||i.push({method:a.toUpperCase(),path:o,summary:c.summary,description:c.description,parameters:jt(c.parameters,e),requestBody:jt(c.requestBody,e),responses:jt(c.responses,e)}))}return i}function fk(e,t){if(e===t)return!0;let r=e.split("/"),i=t.split("/");return r.length!==i.length?!1:r.every((n,s)=>n.startsWith("{")&&n.endsWith("}")?i[s].length>0:n===i[s])}var gk=8;function jt(e,t,r=[]){if(Array.isArray(e))return e.map(o=>jt(o,t,r));if(!e||typeof e!="object")return e;let i=e,n=i.$ref;if(typeof n=="string"){let o=n.replace("#/components/schemas/","");return r.includes(o)||r.length>=gk||!(o in t.components.schemas)?{$ref:n}:jt(t.components.schemas[o],t,[...r,o])}let s={};for(let[o,a]of Object.entries(i))s[o]=jt(a,t,r);return s}function _k(e,t){return[...t,e]}function Nl(e){return e.option("--profile <name>","use a saved profile (see `spree auth`)").option("--base-url <url>","store URL (overrides profile/env/project)").option("--api-key <key>","secret API key (prefer SPREE_API_KEY \u2014 flags leak into shell history)").option("--store-id <id>","X-Spree-Store-Id for hosts serving multiple stores")}function Gl(){return new Zo("--format <format>","output format").choices(["json","table"]).default("json")}function Fl(e){return Nl(e).addOption(Gl())}async function Ul(e){let t=await cr({baseUrl:e.baseUrl,apiKey:e.apiKey,profile:e.profile});return{client:kr({baseUrl:t.baseUrl,secretKey:t.apiKey,...e.storeId?{storeId:e.storeId}:{}}),credentials:t}}function zl(e){let t=e.command("api").description("Call the Admin API directly (generic get/post/patch/delete)");t.addHelpText("after",["","Examples:"," spree api get /products -q status_eq=active --limit 10",` spree api post /products -d '{"name":"Classic Tee"}'`," spree api get /orders/ord_x8k2J9aQ --expand items,payments","","Discover the surface (offline, no server needed):"," spree api endpoints --search <term> # find endpoints + required scopes",' spree api schema "POST /orders" # request/response schema for one operation'," spree completion zsh # tab-completion for paths, filters, scopes"].join(`
|
|
268
|
-
`)),
|
|
269
|
-
`),process.exitCode=1;return}if(r.format==="table"){(0,
|
|
270
|
-
`),process.exitCode=1;return}let n=/\s/.test(r.trim());pr(n&&i.length===1?i[0]:i,"json")}),
|
|
267
|
+
**Required scope:** \`write_webhooks\` (for API-key authentication).`,parameters:[{name:"x-spree-api-key",in:"header",required:!0,schema:{type:"string"}},{name:"Authorization",in:"header",required:!0,description:"Bearer token for admin authentication",schema:{type:"string"}}],responses:{"200":{description:"webhook endpoint disabled",content:{"application/json":{}}}},requestBody:{content:{"application/json":{schema:{type:"object",properties:{reason:{type:"string"}}}}}}}}},components:{schemas:{PaginationMeta:{type:"object",properties:{page:{type:"integer"},limit:{type:"integer"},count:{type:"integer",description:"Total number of records"},pages:{type:"integer",description:"Total number of pages"},from:{type:"integer",description:"Index of first record on this page"},to:{type:"integer",description:"Index of last record on this page"},in:{type:"integer",description:"Number of records on this page"},previous:{type:"integer",nullable:!0,description:"Previous page number"},next:{type:"integer",nullable:!0,description:"Next page number"}},required:["page","limit","count","pages","from","to","in"]},ErrorResponse:{type:"object",properties:{error:{type:"object",properties:{code:{type:"string"},message:{type:"string"},details:{type:"object",description:"Field-specific validation errors",nullable:!0}},required:["code","message"]}},required:["error"]},AuthResponse:{type:"object",properties:{token:{type:"string",description:"JWT access token"},user:{$ref:"#/components/schemas/AdminUser"}},required:["token","user"]},PermissionRule:{type:"object",description:"A single permission rule (CanCanCan rule). Rules are applied in order, last-matching-wins.",properties:{allow:{type:"boolean",description:"true for `can`, false for `cannot`"},actions:{type:"array",items:{type:"string"},description:'Action names, e.g. ["read", "update"] or ["manage"]'},subjects:{type:"array",items:{type:"string"},description:'Subject class names, e.g. ["Spree::Product"] or ["all"]'},has_conditions:{type:"boolean",description:"True if the server-side rule has per-record conditions. The SPA shows the action optimistically and handles 403 from the API."}},required:["allow","actions","subjects","has_conditions"]},MeResponse:{type:"object",description:"Current admin user profile and serialized permissions",properties:{user:{$ref:"#/components/schemas/AdminUser"},permissions:{type:"array",items:{$ref:"#/components/schemas/PermissionRule"}}},required:["user","permissions"]},CheckoutRequirement:{type:"object",properties:{step:{type:"string",description:"Checkout step this requirement belongs to"},field:{type:"string",description:"Field that needs to be satisfied"},message:{type:"string",description:"Human-readable requirement message"}},required:["step","field","message"]},CartWarning:{type:"object",description:"A warning about a cart issue (e.g., item removed due to stock change)",properties:{code:{type:"string",description:"Machine-readable warning code"},message:{type:"string",description:"Human-readable warning message"},line_item_id:{type:"string",nullable:!0,description:"Prefixed line item ID (when applicable)"},variant_id:{type:"string",nullable:!0,description:"Prefixed variant ID (when applicable)"}},required:["code","message"]},FulfillmentManifestItem:{type:"object",description:"An item within a fulfillment \u2014 which line item and how many units are in this fulfillment",properties:{item_id:{type:"string",description:"Line item ID"},variant_id:{type:"string",description:"Variant ID"},quantity:{type:"integer",description:"Quantity in this fulfillment"}},required:["item_id","variant_id","quantity"]},AdminUserRoleAssignment:{type:"object",description:"A role assignment for the current store on a staff member",properties:{id:{type:"string",description:"Prefixed role ID"},name:{type:"string",description:"Role name"}},required:["id","name"]},PreferenceField:{type:"object",description:"A single configurable preference on a payment method, promotion rule/action, or calculator. The frontend uses `type` + `default` to render a sensible input.",properties:{key:{type:"string"},type:{type:"string",description:"string | text | password | integer | decimal | boolean | array | hash"},default:{description:"Default value (any JSON type), null when there is no default",nullable:!0}},required:["key","type"]},PromotionActionCalculator:{type:"object",description:"The action's nested calculator (when the action carries one \u2014 null for actions like `free_shipping`)",properties:{type:{type:"string",description:"Wire shorthand for the calculator subclass"},label:{type:"string"},preferences:{type:"object",additionalProperties:!0},preference_schema:{type:"array",items:{$ref:"#/components/schemas/PreferenceField"}}},required:["type","label","preferences","preference_schema"]},PromotionActionLineItem:{type:"object",description:"One row in a `create_line_items` action \u2014 the variant added to the order and how many",properties:{variant_id:{type:"string"},quantity:{type:"integer"}},required:["variant_id","quantity"]},Address:{type:"object",properties:{id:{type:"string"},first_name:{type:"string",nullable:!0},last_name:{type:"string",nullable:!0},full_name:{type:"string"},address1:{type:"string",nullable:!0},address2:{type:"string",nullable:!0},postal_code:{type:"string",nullable:!0},city:{type:"string",nullable:!0},phone:{type:"string",nullable:!0},company:{type:"string",nullable:!0},country_name:{type:"string"},country_iso:{type:"string"},state_text:{type:"string",nullable:!0},state_abbr:{type:"string",nullable:!0},quick_checkout:{type:"boolean"},is_default_billing:{type:"boolean"},is_default_shipping:{type:"boolean"},state_name:{type:"string",nullable:!0},label:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},customer_id:{type:"string",nullable:!0}},required:["id","first_name","last_name","full_name","address1","address2","postal_code","city","phone","company","country_name","country_iso","state_text","state_abbr","quick_checkout","is_default_billing","is_default_shipping","state_name","label","metadata","created_at","updated_at","customer_id"],"x-typelizer":!0},Adjustment:{type:"object",properties:{id:{type:"string"},label:{type:"string"},display_amount:{type:"string"},included:{type:"boolean"},created_at:{type:"string"},updated_at:{type:"string"},amount:{type:"string"},order_id:{type:"string",nullable:!0}},required:["id","label","display_amount","included","created_at","updated_at","amount","order_id"],"x-typelizer":!0},AdminUser:{type:"object",properties:{id:{type:"string"},email:{type:"string"},first_name:{type:"string",nullable:!0},last_name:{type:"string",nullable:!0},full_name:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},roles:{type:"array",items:{$ref:"#/components/schemas/AdminUserRoleAssignment"}}},required:["id","email","first_name","last_name","full_name","created_at","updated_at","roles"],"x-typelizer":!0},AllowedOrigin:{type:"object",properties:{id:{type:"string"},origin:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","origin","created_at","updated_at"],"x-typelizer":!0},ApiKey:{type:"object",properties:{id:{type:"string"},name:{type:"string"},key_type:{type:"string"},token_prefix:{type:"string",nullable:!0},scopes:{type:"array",items:{type:"string"}},created_at:{type:"string"},updated_at:{type:"string"},revoked_at:{type:"string",nullable:!0},last_used_at:{type:"string",nullable:!0},plaintext_token:{type:"string",nullable:!0},created_by_email:{type:"string",nullable:!0}},required:["id","name","key_type","token_prefix","scopes","created_at","updated_at","revoked_at","last_used_at","plaintext_token","created_by_email"],"x-typelizer":!0},Category:{type:"object",properties:{id:{type:"string"},name:{type:"string"},permalink:{type:"string"},position:{type:"number"},depth:{type:"number"},meta_title:{type:"string",nullable:!0},meta_description:{type:"string",nullable:!0},meta_keywords:{type:"string",nullable:!0},children_count:{type:"number"},parent_id:{type:"string",nullable:!0},description:{type:"string"},description_html:{type:"string"},image_url:{type:"string",nullable:!0},square_image_url:{type:"string",nullable:!0},is_root:{type:"boolean"},is_child:{type:"boolean"},is_leaf:{type:"boolean"},parent:{$ref:"#/components/schemas/Category"},children:{type:"array",items:{$ref:"#/components/schemas/Category"}},ancestors:{type:"array",items:{$ref:"#/components/schemas/Category"}},custom_fields:{type:"array",items:{$ref:"#/components/schemas/CustomField"}},metadata:{type:"object"},pretty_name:{type:"string"},lft:{type:"number"},rgt:{type:"number"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","name","permalink","position","depth","meta_title","meta_description","meta_keywords","children_count","parent_id","description","description_html","image_url","square_image_url","is_root","is_child","is_leaf","metadata","pretty_name","lft","rgt","created_at","updated_at"],"x-typelizer":!0},Channel:{type:"object",properties:{id:{type:"string"},name:{type:"string"},code:{type:"string"},active:{type:"boolean"},default:{type:"boolean"},preferred_order_routing_strategy:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","name","code","active","default","preferred_order_routing_strategy","created_at","updated_at"],"x-typelizer":!0},Country:{type:"object",properties:{iso:{type:"string"},iso3:{type:"string"},name:{type:"string"},states_required:{type:"boolean"},zipcode_required:{type:"boolean"},states:{type:"array",items:{$ref:"#/components/schemas/State"}},market:{allOf:[{$ref:"#/components/schemas/Market"}],nullable:!0},created_at:{type:"object"},updated_at:{type:"object"}},required:["iso","iso3","name","states_required","zipcode_required","created_at","updated_at"],"x-typelizer":!0},CouponCode:{type:"object",properties:{id:{type:"string"},code:{type:"string"},state:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},promotion_id:{type:"string"},order_id:{type:"string",nullable:!0}},required:["id","code","state","created_at","updated_at","promotion_id","order_id"],"x-typelizer":!0},CreditCard:{type:"object",properties:{id:{type:"string"},brand:{type:"string"},last4:{type:"string"},month:{type:"number"},year:{type:"number"},name:{type:"string",nullable:!0},default:{type:"boolean"},gateway_payment_profile_id:{type:"string",nullable:!0},customer_id:{type:"string",nullable:!0},payment_method_id:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","brand","last4","month","year","name","default","gateway_payment_profile_id","customer_id","payment_method_id","metadata","created_at","updated_at"],"x-typelizer":!0},CustomFieldDefinition:{type:"object",properties:{id:{type:"string"},namespace:{type:"string"},key:{type:"string"},label:{type:"string"},field_type:{type:"string",enum:["short_text","long_text","rich_text","number","boolean","json"]},resource_type:{type:"string"},storefront_visible:{type:"boolean"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","namespace","key","label","field_type","resource_type","storefront_visible","created_at","updated_at"],"x-typelizer":!0},CustomField:{type:"object",properties:{id:{type:"string"},label:{type:"string"},type:{type:"string",deprecated:!0},field_type:{type:"string",enum:["short_text","long_text","rich_text","number","boolean","json"]},key:{type:"string"},value:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},storefront_visible:{type:"boolean"},custom_field_definition_id:{type:"string"}},required:["id","label","type","field_type","key","value","created_at","updated_at","storefront_visible","custom_field_definition_id"],"x-typelizer":!0},CustomerGroup:{type:"object",properties:{id:{type:"string"},name:{type:"string"},description:{type:"string",nullable:!0},customers_count:{type:"number"},created_at:{type:"string"},updated_at:{type:"string"},customers:{type:"array",items:{$ref:"#/components/schemas/Customer"}}},required:["id","name","description","customers_count","created_at","updated_at"],"x-typelizer":!0},Customer:{type:"object",properties:{id:{type:"string"},email:{type:"string"},first_name:{type:"string",nullable:!0},last_name:{type:"string",nullable:!0},phone:{type:"string",nullable:!0},accepts_email_marketing:{type:"boolean"},full_name:{type:"string"},available_store_credit_total:{type:"string"},display_available_store_credit_total:{type:"string"},addresses:{type:"array",items:{$ref:"#/components/schemas/Address"}},default_billing_address:{allOf:[{$ref:"#/components/schemas/Address"}],nullable:!0},default_shipping_address:{allOf:[{$ref:"#/components/schemas/Address"}],nullable:!0},login:{type:"string",nullable:!0},metadata:{type:"object"},last_sign_in_at:{type:"string",nullable:!0},current_sign_in_at:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},sign_in_count:{type:"number"},failed_attempts:{type:"number"},last_sign_in_ip:{type:"string",nullable:!0},current_sign_in_ip:{type:"string",nullable:!0},tags:{type:"array",items:{type:"string"}},internal_note_html:{type:"string",nullable:!0},default_billing_address_id:{type:"string",nullable:!0},default_shipping_address_id:{type:"string",nullable:!0},orders_count:{type:"number"},total_spent:{type:"string"},display_total_spent:{type:"string"},last_order_completed_at:{type:"string",nullable:!0},orders:{type:"array",items:{$ref:"#/components/schemas/Order"}},store_credits:{type:"array",items:{$ref:"#/components/schemas/StoreCredit"}},customer_groups:{type:"array",items:{$ref:"#/components/schemas/CustomerGroup"}}},required:["id","email","first_name","last_name","phone","accepts_email_marketing","full_name","available_store_credit_total","display_available_store_credit_total","login","metadata","last_sign_in_at","current_sign_in_at","created_at","updated_at","sign_in_count","failed_attempts","last_sign_in_ip","current_sign_in_ip","tags","internal_note_html","default_billing_address_id","default_shipping_address_id","orders_count","total_spent","display_total_spent","last_order_completed_at"],"x-typelizer":!0},DeliveryMethod:{type:"object",properties:{id:{type:"string"},name:{type:"string"},code:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","name","code","created_at","updated_at"],"x-typelizer":!0},DeliveryRate:{type:"object",properties:{id:{type:"string"},delivery_method_id:{type:"string"},name:{type:"string"},selected:{type:"boolean"},cost:{type:"string"},total:{type:"string"},additional_tax_total:{type:"string"},included_tax_total:{type:"string"},tax_total:{type:"string"},display_cost:{type:"string"},display_total:{type:"string"},display_additional_tax_total:{type:"string"},display_included_tax_total:{type:"string"},display_tax_total:{type:"string"},delivery_method:{$ref:"#/components/schemas/DeliveryMethod"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","delivery_method_id","name","selected","cost","total","additional_tax_total","included_tax_total","tax_total","display_cost","display_total","display_additional_tax_total","display_included_tax_total","display_tax_total","created_at","updated_at"],"x-typelizer":!0},DigitalLink:{type:"object",properties:{id:{type:"string"},access_counter:{type:"number"},filename:{type:"string"},content_type:{type:"string"},download_url:{type:"string"},authorizable:{type:"boolean"},expired:{type:"boolean"},access_limit_exceeded:{type:"boolean"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","access_counter","filename","content_type","download_url","authorizable","expired","access_limit_exceeded","created_at","updated_at"],"x-typelizer":!0},Discount:{type:"object",properties:{id:{type:"string"},promotion_id:{type:"string"},name:{type:"string"},description:{type:"string",nullable:!0},code:{type:"string",nullable:!0},amount:{type:"string"},display_amount:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","promotion_id","name","description","code","amount","display_amount","created_at","updated_at"],"x-typelizer":!0},Export:{type:"object",properties:{id:{type:"string"},number:{type:"string"},type:{type:"string",nullable:!0},format:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},user_id:{type:"string",nullable:!0},done:{type:"boolean"},filename:{type:"string",nullable:!0},byte_size:{type:"number",nullable:!0},download_url:{type:"string",nullable:!0}},required:["id","number","type","format","created_at","updated_at","user_id","done","filename","byte_size","download_url"],"x-typelizer":!0},Fulfillment:{type:"object",properties:{id:{type:"string"},number:{type:"string"},tracking:{type:"string",nullable:!0},tracking_url:{type:"string",nullable:!0},cost:{type:"string"},display_cost:{type:"string"},total:{type:"string"},display_total:{type:"string"},discount_total:{type:"string"},display_discount_total:{type:"string"},additional_tax_total:{type:"string"},display_additional_tax_total:{type:"string"},included_tax_total:{type:"string"},display_included_tax_total:{type:"string"},tax_total:{type:"string"},display_tax_total:{type:"string"},status:{type:"string"},fulfillment_type:{type:"string"},fulfilled_at:{type:"string",nullable:!0},items:{type:"array",items:{$ref:"#/components/schemas/FulfillmentManifestItem"}},delivery_method:{$ref:"#/components/schemas/DeliveryMethod"},stock_location:{$ref:"#/components/schemas/StockLocation"},delivery_rates:{type:"array",items:{$ref:"#/components/schemas/DeliveryRate"}},metadata:{type:"object"},adjustment_total:{type:"string"},pre_tax_amount:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"},order_id:{type:"string",nullable:!0},stock_location_id:{type:"string",nullable:!0},order:{$ref:"#/components/schemas/Order"},adjustments:{type:"array",items:{$ref:"#/components/schemas/Adjustment"}}},required:["id","number","tracking","tracking_url","cost","display_cost","total","display_total","discount_total","display_discount_total","additional_tax_total","display_additional_tax_total","included_tax_total","display_included_tax_total","tax_total","display_tax_total","status","fulfillment_type","fulfilled_at","items","metadata","adjustment_total","pre_tax_amount","created_at","updated_at","order_id","stock_location_id"],"x-typelizer":!0},GiftCardBatch:{type:"object",properties:{id:{type:"string"},codes_count:{type:"number"},currency:{type:"string",nullable:!0},prefix:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},amount:{type:"string",nullable:!0},expires_at:{type:"string",nullable:!0},created_by_id:{type:"string",nullable:!0}},required:["id","codes_count","currency","prefix","created_at","updated_at","amount","expires_at","created_by_id"],"x-typelizer":!0},GiftCard:{type:"object",properties:{id:{type:"string"},code:{type:"string"},status:{type:"string"},currency:{type:"string"},amount:{type:"string"},amount_used:{type:"string"},amount_authorized:{type:"string"},amount_remaining:{type:"string"},display_amount:{type:"string"},display_amount_used:{type:"string"},display_amount_remaining:{type:"string"},expires_at:{type:"string",nullable:!0},redeemed_at:{type:"string",nullable:!0},expired:{type:"boolean"},active:{type:"boolean"},created_at:{type:"string"},updated_at:{type:"string"},customer_id:{type:"string",nullable:!0},created_by_id:{type:"string",nullable:!0},customer:{$ref:"#/components/schemas/Customer"},created_by:{$ref:"#/components/schemas/AdminUser"},gift_card_batch:{$ref:"#/components/schemas/GiftCardBatch"},orders:{type:"array",items:{$ref:"#/components/schemas/Order"}}},required:["id","code","status","currency","amount","amount_used","amount_authorized","amount_remaining","display_amount","display_amount_used","display_amount_remaining","expires_at","redeemed_at","expired","active","created_at","updated_at","customer_id","created_by_id"],"x-typelizer":!0},Invitation:{type:"object",properties:{id:{type:"string"},email:{type:"string"},status:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"},expires_at:{type:"string"},role_id:{type:"string"},role_name:{type:"string"},inviter_email:{type:"string"},acceptance_url:{type:"string"},invitee_exists:{type:"boolean"},store:{type:"object"}},required:["id","email","status","created_at","updated_at","expires_at","role_id","role_name","inviter_email","acceptance_url","invitee_exists","store"],"x-typelizer":!0},LineItem:{type:"object",properties:{id:{type:"string"},variant_id:{type:"string"},quantity:{type:"number"},currency:{type:"string"},name:{type:"string"},slug:{type:"string"},options_text:{type:"string"},price:{type:"string"},display_price:{type:"string"},total:{type:"string"},display_total:{type:"string"},adjustment_total:{type:"string"},display_adjustment_total:{type:"string"},additional_tax_total:{type:"string"},display_additional_tax_total:{type:"string"},included_tax_total:{type:"string"},display_included_tax_total:{type:"string"},discount_total:{type:"string"},display_discount_total:{type:"string"},pre_tax_amount:{type:"string"},display_pre_tax_amount:{type:"string"},discounted_amount:{type:"string"},display_discounted_amount:{type:"string"},display_compare_at_amount:{type:"string",nullable:!0},compare_at_amount:{type:"string",nullable:!0},thumbnail_url:{type:"string",nullable:!0},option_values:{type:"array",items:{$ref:"#/components/schemas/OptionValue"}},digital_links:{type:"array",items:{$ref:"#/components/schemas/DigitalLink"}},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},cost_price:{type:"string",nullable:!0},tax_category_id:{type:"string",nullable:!0},variant:{$ref:"#/components/schemas/Variant"},tax_category:{$ref:"#/components/schemas/TaxCategory"},adjustments:{type:"array",items:{$ref:"#/components/schemas/Adjustment"}}},required:["id","variant_id","quantity","currency","name","slug","options_text","price","display_price","total","display_total","adjustment_total","display_adjustment_total","additional_tax_total","display_additional_tax_total","included_tax_total","display_included_tax_total","discount_total","display_discount_total","pre_tax_amount","display_pre_tax_amount","discounted_amount","display_discounted_amount","display_compare_at_amount","compare_at_amount","thumbnail_url","option_values","digital_links","metadata","created_at","updated_at","cost_price","tax_category_id"],"x-typelizer":!0},Market:{type:"object",properties:{id:{type:"string"},name:{type:"string"},currency:{type:"string"},default_locale:{type:"string"},tax_inclusive:{type:"boolean"},default:{type:"boolean"},country_isos:{type:"array",items:{type:"string"}},supported_locales:{type:"array",items:{type:"string"}},countries:{type:"array",items:{$ref:"#/components/schemas/Country"}},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","name","currency","default_locale","tax_inclusive","default","country_isos","supported_locales","created_at","updated_at"],"x-typelizer":!0},Media:{type:"object",properties:{id:{type:"string"},product_id:{type:"string",nullable:!0},variant_ids:{type:"array",items:{type:"string"}},position:{type:"number"},alt:{type:"string",nullable:!0},media_type:{type:"string"},focal_point_x:{type:"number",nullable:!0},focal_point_y:{type:"number",nullable:!0},external_video_url:{type:"string",nullable:!0},original_url:{type:"string",nullable:!0},mini_url:{type:"string",nullable:!0},small_url:{type:"string",nullable:!0},medium_url:{type:"string",nullable:!0},large_url:{type:"string",nullable:!0},xlarge_url:{type:"string",nullable:!0},og_image_url:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},viewable_id:{type:"string"},download_url:{type:"string",nullable:!0},metadata:{type:"object"},viewable_type:{type:"string"}},required:["id","product_id","variant_ids","position","alt","media_type","focal_point_x","focal_point_y","external_video_url","original_url","mini_url","small_url","medium_url","large_url","xlarge_url","og_image_url","created_at","updated_at","viewable_id","download_url","metadata","viewable_type"],"x-typelizer":!0},OptionType:{type:"object",properties:{id:{type:"string"},name:{type:"string"},label:{type:"string"},position:{type:"number"},kind:{type:"string"},metadata:{type:"object"},filterable:{type:"boolean"},created_at:{type:"string"},updated_at:{type:"string"},option_values:{type:"array",items:{$ref:"#/components/schemas/OptionValue"}}},required:["id","name","label","position","kind","metadata","filterable","created_at","updated_at"],"x-typelizer":!0},OptionValue:{type:"object",properties:{id:{type:"string"},option_type_id:{type:"string"},name:{type:"string"},label:{type:"string"},position:{type:"number"},color_code:{type:"string",nullable:!0},option_type_name:{type:"string"},option_type_label:{type:"string"},image_url:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},option_type:{$ref:"#/components/schemas/OptionType"}},required:["id","option_type_id","name","label","position","color_code","option_type_name","option_type_label","image_url","metadata","created_at","updated_at"],"x-typelizer":!0},Order:{type:"object",properties:{id:{type:"string"},market_id:{type:"string",nullable:!0},channel_id:{type:"string",nullable:!0},number:{type:"string"},email:{type:"string"},customer_note:{type:"string",nullable:!0},currency:{type:"string"},locale:{type:"string",nullable:!0},total_quantity:{type:"number"},item_total:{type:"string"},display_item_total:{type:"string"},adjustment_total:{type:"string"},display_adjustment_total:{type:"string"},discount_total:{type:"string"},display_discount_total:{type:"string"},tax_total:{type:"string"},display_tax_total:{type:"string"},included_tax_total:{type:"string"},display_included_tax_total:{type:"string"},additional_tax_total:{type:"string"},display_additional_tax_total:{type:"string"},total:{type:"string"},display_total:{type:"string"},gift_card_total:{type:"string"},display_gift_card_total:{type:"string"},amount_due:{type:"string"},display_amount_due:{type:"string"},delivery_total:{type:"string"},display_delivery_total:{type:"string"},fulfillment_status:{type:"string",nullable:!0},payment_status:{type:"string",nullable:!0},completed_at:{type:"string",nullable:!0},store_credit_total:{type:"string"},display_store_credit_total:{type:"string"},covered_by_store_credit:{type:"boolean"},discounts:{type:"array",items:{$ref:"#/components/schemas/Discount"}},items:{type:"array",items:{$ref:"#/components/schemas/LineItem"}},fulfillments:{type:"array",items:{$ref:"#/components/schemas/Fulfillment"}},payments:{type:"array",items:{$ref:"#/components/schemas/Payment"}},billing_address:{allOf:[{$ref:"#/components/schemas/Address"}],nullable:!0},shipping_address:{allOf:[{$ref:"#/components/schemas/Address"}],nullable:!0},gift_card:{allOf:[{$ref:"#/components/schemas/GiftCard"}],nullable:!0},market:{allOf:[{$ref:"#/components/schemas/Market"}],nullable:!0},status:{type:"string"},last_ip_address:{type:"string",nullable:!0},considered_risky:{type:"boolean"},confirmation_delivered:{type:"boolean"},store_owner_notification_delivered:{type:"boolean"},payment_total:{type:"string"},display_payment_total:{type:"string"},metadata:{type:"object"},canceled_at:{type:"string",nullable:!0},approved_at:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},preferred_stock_location_id:{type:"string",nullable:!0},tags:{type:"array",items:{type:"string"}},internal_note:{type:"string",nullable:!0},approver_id:{type:"string",nullable:!0},canceler_id:{type:"string",nullable:!0},created_by_id:{type:"string",nullable:!0},customer_id:{type:"string",nullable:!0},channel:{$ref:"#/components/schemas/Channel"},preferred_stock_location:{$ref:"#/components/schemas/StockLocation"},payment_methods:{type:"array",items:{$ref:"#/components/schemas/PaymentMethod"}},customer:{$ref:"#/components/schemas/Customer"},approver:{$ref:"#/components/schemas/Customer"},canceler:{$ref:"#/components/schemas/Customer"},created_by:{$ref:"#/components/schemas/Customer"},adjustments:{type:"array",items:{$ref:"#/components/schemas/Adjustment"}},return_authorizations:{type:"array",items:{$ref:"#/components/schemas/ReturnAuthorization"}},reimbursements:{type:"array",items:{$ref:"#/components/schemas/Reimbursement"}}},required:["id","market_id","channel_id","number","email","customer_note","currency","locale","total_quantity","item_total","display_item_total","adjustment_total","display_adjustment_total","discount_total","display_discount_total","tax_total","display_tax_total","included_tax_total","display_included_tax_total","additional_tax_total","display_additional_tax_total","total","display_total","gift_card_total","display_gift_card_total","amount_due","display_amount_due","delivery_total","display_delivery_total","fulfillment_status","payment_status","completed_at","store_credit_total","display_store_credit_total","covered_by_store_credit","gift_card","market","status","last_ip_address","considered_risky","confirmation_delivered","store_owner_notification_delivered","payment_total","display_payment_total","metadata","canceled_at","approved_at","created_at","updated_at","preferred_stock_location_id","tags","internal_note","approver_id","canceler_id","created_by_id","customer_id"],"x-typelizer":!0},PaymentMethod:{type:"object",properties:{id:{type:"string"},name:{type:"string"},description:{type:"string",nullable:!0},type:{type:"string"},session_required:{type:"boolean"},source_required:{type:"boolean"},metadata:{type:"object"},active:{type:"boolean"},auto_capture:{type:"boolean",nullable:!0},storefront_visible:{type:"boolean"},position:{type:"number"},created_at:{type:"string"},updated_at:{type:"string"},preferences:{type:"object"},preference_schema:{type:"object"}},required:["id","name","description","type","session_required","source_required","metadata","active","auto_capture","storefront_visible","position","created_at","updated_at","preferences","preference_schema"],"x-typelizer":!0},Payment:{type:"object",properties:{id:{type:"string"},payment_method_id:{type:"string"},response_code:{type:"string",nullable:!0},number:{type:"string"},amount:{type:"string"},display_amount:{type:"string"},status:{type:"string"},source_type:{type:"string",nullable:!0,enum:["credit_card","store_credit","payment_source"]},source_id:{type:"string",nullable:!0},source:{anyOf:[{$ref:"#/components/schemas/CreditCard"},{$ref:"#/components/schemas/StoreCredit"},{$ref:"#/components/schemas/PaymentSource"}],nullable:!0},payment_method:{$ref:"#/components/schemas/PaymentMethod"},metadata:{type:"object"},avs_response:{type:"string",nullable:!0},cvv_response_code:{type:"string",nullable:!0},cvv_response_message:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},captured_amount:{type:"string"},order_id:{type:"string",nullable:!0},order:{$ref:"#/components/schemas/Order"},refunds:{type:"array",items:{$ref:"#/components/schemas/Refund"}}},required:["id","payment_method_id","response_code","number","amount","display_amount","status","source_type","source_id","source","metadata","avs_response","cvv_response_code","cvv_response_message","created_at","updated_at","captured_amount","order_id"],"x-typelizer":!0},PaymentSource:{type:"object",properties:{id:{type:"string"},gateway_payment_profile_id:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","gateway_payment_profile_id","metadata","created_at","updated_at"],"x-typelizer":!0},PriceHistory:{type:"object",properties:{id:{type:"string"},amount:{type:"string"},amount_in_cents:{type:"number"},currency:{type:"string"},display_amount:{type:"string"},recorded_at:{type:"string"},variant_id:{type:"string"},price_id:{type:"string"},compare_at_amount:{type:"string",nullable:!0},created_at:{type:"string"}},required:["id","amount","amount_in_cents","currency","display_amount","recorded_at","variant_id","price_id","compare_at_amount","created_at"],"x-typelizer":!0},PriceList:{type:"object",properties:{id:{type:"string"},name:{type:"string"},description:{type:"string",nullable:!0},status:{type:"string"},position:{type:"number"},match_policy:{type:"string"},starts_at:{type:"string",nullable:!0},ends_at:{type:"string",nullable:!0},deleted_at:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},currently_active:{type:"boolean"},products_count:{type:"number"},prices_count:{type:"number"},product_ids:{type:"array",items:{type:"string"}},price_rules:{type:"array",items:{$ref:"#/components/schemas/PriceRule"}}},required:["id","name","description","status","position","match_policy","starts_at","ends_at","deleted_at","created_at","updated_at","currently_active","products_count","prices_count","product_ids"],"x-typelizer":!0},PriceRule:{type:"object",properties:{id:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"},type:{type:"string"},price_list_id:{type:"string"},preferences:{type:"object"},preference_schema:{type:"array",items:{$ref:"#/components/schemas/PreferenceField"}},label:{type:"string"},description:{type:"string",nullable:!0},markets:{type:"array",items:{$ref:"#/components/schemas/Market"}},customer_groups:{type:"array",items:{$ref:"#/components/schemas/CustomerGroup"}},customers:{type:"array",items:{$ref:"#/components/schemas/Customer"}}},required:["id","created_at","updated_at","type","price_list_id","preferences","preference_schema","label","description"],"x-typelizer":!0},Price:{type:"object",properties:{id:{type:"string"},amount:{type:"string",nullable:!0},amount_in_cents:{type:"number",nullable:!0},compare_at_amount:{type:"string",nullable:!0},compare_at_amount_in_cents:{type:"number",nullable:!0},currency:{type:"string",nullable:!0},display_amount:{type:"string",nullable:!0},display_compare_at_amount:{type:"string",nullable:!0},price_list_id:{type:"string",nullable:!0},variant_id:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},variant:{$ref:"#/components/schemas/Variant"}},required:["id","amount","amount_in_cents","compare_at_amount","compare_at_amount_in_cents","currency","display_amount","display_compare_at_amount","price_list_id","variant_id","created_at","updated_at"],"x-typelizer":!0},ProductPublication:{type:"object",properties:{id:{type:"string"},published_at:{type:"string",nullable:!0},unpublished_at:{type:"string",nullable:!0},product_id:{type:"string"},channel_id:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","published_at","unpublished_at","product_id","channel_id","created_at","updated_at"],"x-typelizer":!0},Product:{type:"object",properties:{id:{type:"string"},name:{type:"string"},slug:{type:"string"},meta_title:{type:"string",nullable:!0},meta_description:{type:"string",nullable:!0},meta_keywords:{type:"string",nullable:!0},variant_count:{type:"number"},available_on:{type:"string",nullable:!0},purchasable:{type:"boolean"},in_stock:{type:"boolean"},backorderable:{type:"boolean"},available:{type:"boolean"},description:{type:"string",nullable:!0},description_html:{type:"string",nullable:!0},default_variant_id:{type:"string"},thumbnail_url:{type:"string",nullable:!0},tags:{type:"array",items:{type:"string"}},price:{allOf:[{$ref:"#/components/schemas/Price"}],nullable:!0},original_price:{allOf:[{$ref:"#/components/schemas/Price"}],nullable:!0},primary_media:{$ref:"#/components/schemas/Media"},media:{type:"array",items:{$ref:"#/components/schemas/Media"}},variants:{type:"array",items:{$ref:"#/components/schemas/Variant"}},default_variant:{$ref:"#/components/schemas/Variant"},option_types:{type:"array",items:{$ref:"#/components/schemas/OptionType"}},option_values:{type:"array",items:{$ref:"#/components/schemas/OptionValue"}},categories:{type:"array",items:{$ref:"#/components/schemas/Category"}},custom_fields:{type:"array",items:{$ref:"#/components/schemas/CustomField"}},prior_price:{allOf:[{$ref:"#/components/schemas/PriceHistory"}],nullable:!0},status:{type:"string"},metadata:{type:"object"},deleted_at:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},tax_category_id:{type:"string",nullable:!0},product_publications:{type:"array",items:{$ref:"#/components/schemas/ProductPublication"}},channels:{type:"array",items:{$ref:"#/components/schemas/Channel"}}},required:["id","name","slug","meta_title","meta_description","meta_keywords","variant_count","available_on","purchasable","in_stock","backorderable","available","description","description_html","default_variant_id","thumbnail_url","tags","price","original_price","status","metadata","deleted_at","created_at","updated_at","tax_category_id"],"x-typelizer":!0},PromotionAction:{type:"object",properties:{id:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"},type:{type:"string"},promotion_id:{type:"string"},preferences:{type:"object"},preference_schema:{type:"array",items:{$ref:"#/components/schemas/PreferenceField"}},label:{type:"string"},calculator:{allOf:[{$ref:"#/components/schemas/PromotionActionCalculator"}],nullable:!0},line_items:{type:"array",items:{$ref:"#/components/schemas/PromotionActionLineItem"},nullable:!0}},required:["id","created_at","updated_at","type","promotion_id","preferences","preference_schema","label","calculator","line_items"],"x-typelizer":!0},PromotionRule:{type:"object",properties:{id:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"},type:{type:"string"},promotion_id:{type:"string"},preferences:{type:"object"},preference_schema:{type:"array",items:{$ref:"#/components/schemas/PreferenceField"}},label:{type:"string"},product_ids:{type:"array",items:{type:"string"},nullable:!0},category_ids:{type:"array",items:{type:"string"},nullable:!0},customer_ids:{type:"array",items:{type:"string"},nullable:!0},products:{type:"array",items:{$ref:"#/components/schemas/Product"}},categories:{type:"array",items:{$ref:"#/components/schemas/Category"}},customers:{type:"array",items:{$ref:"#/components/schemas/Customer"}},customer_groups:{type:"array",items:{$ref:"#/components/schemas/CustomerGroup"}},countries:{type:"array",items:{$ref:"#/components/schemas/Country"}}},required:["id","created_at","updated_at","type","promotion_id","preferences","preference_schema","label","product_ids","category_ids","customer_ids"],"x-typelizer":!0},Promotion:{type:"object",properties:{id:{type:"string"},name:{type:"string"},description:{type:"string",nullable:!0},code:{type:"string",nullable:!0},starts_at:{type:"string",nullable:!0},expires_at:{type:"string",nullable:!0},usage_limit:{type:"number",nullable:!0},match_policy:{type:"string",enum:["all","any"]},path:{type:"string",nullable:!0},kind:{type:"string",enum:["coupon_code","automatic"]},multi_codes:{type:"boolean"},number_of_codes:{type:"number",nullable:!0},code_prefix:{type:"string",nullable:!0},promotion_category_id:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},action_ids:{type:"array",items:{type:"string"}},rule_ids:{type:"array",items:{type:"string"}}},required:["id","name","description","code","starts_at","expires_at","usage_limit","match_policy","path","kind","multi_codes","number_of_codes","code_prefix","promotion_category_id","metadata","created_at","updated_at","action_ids","rule_ids"],"x-typelizer":!0},Refund:{type:"object",properties:{id:{type:"string"},transaction_id:{type:"string",nullable:!0},amount:{type:"string",nullable:!0},payment_id:{type:"string",nullable:!0},refund_reason_id:{type:"string",nullable:!0},reimbursement_id:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},payment:{$ref:"#/components/schemas/Payment"},reimbursement:{$ref:"#/components/schemas/Reimbursement"}},required:["id","transaction_id","amount","payment_id","refund_reason_id","reimbursement_id","metadata","created_at","updated_at"],"x-typelizer":!0},Reimbursement:{type:"object",properties:{id:{type:"string"},number:{type:"string"},reimbursement_status:{type:"string",nullable:!0},total:{type:"string",nullable:!0},order_id:{type:"string",nullable:!0},customer_return_id:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},order:{$ref:"#/components/schemas/Order"}},required:["id","number","reimbursement_status","total","order_id","customer_return_id","created_at","updated_at"],"x-typelizer":!0},ReturnAuthorization:{type:"object",properties:{id:{type:"string"},number:{type:"string"},status:{type:"string"},order_id:{type:"string",nullable:!0},stock_location_id:{type:"string",nullable:!0},return_authorization_reason_id:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},order:{$ref:"#/components/schemas/Order"},stock_location:{$ref:"#/components/schemas/StockLocation"}},required:["id","number","status","order_id","stock_location_id","return_authorization_reason_id","created_at","updated_at"],"x-typelizer":!0},Role:{type:"object",properties:{id:{type:"string"},name:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","name","created_at","updated_at"],"x-typelizer":!0},State:{type:"object",properties:{abbr:{type:"string"},name:{type:"string"},created_at:{type:"object"},updated_at:{type:"object"}},required:["abbr","name","created_at","updated_at"],"x-typelizer":!0},StockItem:{type:"object",properties:{id:{type:"string"},count_on_hand:{type:"number"},backorderable:{type:"boolean"},stock_location_id:{type:"string",nullable:!0},variant_id:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},allocated_count:{type:"number"},available_count:{type:"number"},stock_location:{$ref:"#/components/schemas/StockLocation"},variant:{$ref:"#/components/schemas/Variant"}},required:["id","count_on_hand","backorderable","stock_location_id","variant_id","metadata","created_at","updated_at","allocated_count","available_count"],"x-typelizer":!0},StockLocation:{type:"object",properties:{id:{type:"string"},state_abbr:{type:"string",nullable:!0},name:{type:"string"},address1:{type:"string",nullable:!0},city:{type:"string",nullable:!0},zipcode:{type:"string",nullable:!0},country_iso:{type:"string",nullable:!0},country_name:{type:"string",nullable:!0},state_text:{type:"string",nullable:!0},admin_name:{type:"string",nullable:!0},address2:{type:"string",nullable:!0},state_name:{type:"string",nullable:!0},phone:{type:"string",nullable:!0},company:{type:"string",nullable:!0},active:{type:"boolean"},default:{type:"boolean"},backorderable_default:{type:"boolean"},propagate_all_variants:{type:"boolean"},kind:{type:"string"},pickup_enabled:{type:"boolean"},pickup_stock_policy:{type:"string"},pickup_ready_in_minutes:{type:"number",nullable:!0},pickup_instructions:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","state_abbr","name","address1","city","zipcode","country_iso","country_name","state_text","admin_name","address2","state_name","phone","company","active","default","backorderable_default","propagate_all_variants","kind","pickup_enabled","pickup_stock_policy","pickup_ready_in_minutes","pickup_instructions","created_at","updated_at"],"x-typelizer":!0},StockReservation:{type:"object",properties:{id:{type:"string"},stock_item_id:{type:"string"},line_item_id:{type:"string"},order_id:{type:"string"},variant_id:{type:"string",nullable:!0},stock_location_id:{type:"string",nullable:!0},quantity:{type:"number"},expires_at:{type:"string"},active:{type:"boolean"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","stock_item_id","line_item_id","order_id","variant_id","stock_location_id","quantity","expires_at","active","created_at","updated_at"],"x-typelizer":!0},StockTransfer:{type:"object",properties:{id:{type:"string"},number:{type:"string"},reference:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},source_location_id:{type:"string",nullable:!0},destination_location_id:{type:"string",nullable:!0},source_location:{$ref:"#/components/schemas/StockLocation"},destination_location:{$ref:"#/components/schemas/StockLocation"}},required:["id","number","reference","metadata","created_at","updated_at","source_location_id","destination_location_id"],"x-typelizer":!0},StoreCreditCategory:{type:"object",properties:{id:{type:"string"},name:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"},non_expiring:{type:"boolean"}},required:["id","name","created_at","updated_at","non_expiring"],"x-typelizer":!0},StoreCredit:{type:"object",properties:{id:{type:"string"},amount:{type:"string"},amount_used:{type:"string"},amount_remaining:{type:"string"},display_amount:{type:"string"},display_amount_used:{type:"string"},display_amount_remaining:{type:"string"},currency:{type:"string"},memo:{type:"string",nullable:!0},metadata:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},customer_id:{type:"string",nullable:!0},created_by_id:{type:"string",nullable:!0},category_id:{type:"string",nullable:!0},category_name:{type:"string",nullable:!0}},required:["id","amount","amount_used","amount_remaining","display_amount","display_amount_used","display_amount_remaining","currency","memo","metadata","created_at","updated_at","customer_id","created_by_id","category_id","category_name"],"x-typelizer":!0},Store:{type:"object",properties:{id:{type:"string"},metadata:{type:"object"},name:{type:"string"},default_currency:{type:"string"},default_locale:{type:"string"},mail_from_address:{type:"string",nullable:!0},customer_support_email:{type:"string",nullable:!0},new_order_notifications_email:{type:"string",nullable:!0},preferred_send_consumer_transactional_emails:{type:"boolean"},preferred_admin_locale:{type:"string",nullable:!0},preferred_timezone:{type:"string"},preferred_weight_unit:{type:"string"},preferred_unit_system:{type:"string"},created_at:{type:"string"},updated_at:{type:"string"},url:{type:"string"},supported_currencies:{type:"array",items:{type:"string"}},supported_locales:{type:"array",items:{type:"string"}},logo_url:{type:"string",nullable:!0},mailer_logo_url:{type:"string",nullable:!0}},required:["id","metadata","name","default_currency","default_locale","mail_from_address","customer_support_email","new_order_notifications_email","preferred_send_consumer_transactional_emails","preferred_admin_locale","preferred_timezone","preferred_weight_unit","preferred_unit_system","created_at","updated_at","url","supported_currencies","supported_locales","logo_url","mailer_logo_url"],"x-typelizer":!0},TaxCategory:{type:"object",properties:{id:{type:"string"},name:{type:"string"},tax_code:{type:"string",nullable:!0},description:{type:"string",nullable:!0},is_default:{type:"boolean"},created_at:{type:"string"},updated_at:{type:"string"}},required:["id","name","tax_code","description","is_default","created_at","updated_at"],"x-typelizer":!0},Variant:{type:"object",properties:{id:{type:"string"},product_id:{type:"string"},sku:{type:"string",nullable:!0},options_text:{type:"string"},track_inventory:{type:"boolean"},media_count:{type:"number"},thumbnail_url:{type:"string",nullable:!0},purchasable:{type:"boolean"},in_stock:{type:"boolean"},backorderable:{type:"boolean"},weight:{type:"number",nullable:!0},height:{type:"number",nullable:!0},width:{type:"number",nullable:!0},depth:{type:"number",nullable:!0},price:{$ref:"#/components/schemas/Price"},original_price:{allOf:[{$ref:"#/components/schemas/Price"}],nullable:!0},primary_media:{$ref:"#/components/schemas/Media"},media:{type:"array",items:{$ref:"#/components/schemas/Media"}},option_values:{type:"array",items:{$ref:"#/components/schemas/OptionValue"}},custom_fields:{type:"array",items:{$ref:"#/components/schemas/CustomField"}},prior_price:{allOf:[{$ref:"#/components/schemas/PriceHistory"}],nullable:!0},metadata:{type:"object"},position:{type:"number"},cost_price:{type:"string",nullable:!0},cost_currency:{type:"string",nullable:!0},barcode:{type:"string",nullable:!0},weight_unit:{type:"string",nullable:!0},dimensions_unit:{type:"string",nullable:!0},deleted_at:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},tax_category_id:{type:"string",nullable:!0},available_stock:{type:"number",nullable:!0},reserved_quantity:{type:"number"},total_on_hand:{type:"number",nullable:!0},product_name:{type:"string"},prices:{type:"array",items:{$ref:"#/components/schemas/Price"}},stock_items:{type:"array",items:{$ref:"#/components/schemas/StockItem"}}},required:["id","product_id","sku","options_text","track_inventory","media_count","thumbnail_url","purchasable","in_stock","backorderable","weight","height","width","depth","price","original_price","option_values","metadata","position","cost_price","cost_currency","barcode","weight_unit","dimensions_unit","deleted_at","created_at","updated_at","tax_category_id","available_stock","reserved_quantity","total_on_hand","product_name"],"x-typelizer":!0},WebhookDelivery:{type:"object",properties:{id:{type:"string"},event_name:{type:"string"},event_id:{type:"string",nullable:!0},response_code:{type:"number",nullable:!0},execution_time:{type:"number",nullable:!0},error_type:{type:"string",nullable:!0},request_errors:{type:"string",nullable:!0},response_body:{type:"string",nullable:!0},success:{type:"boolean",nullable:!0},payload:{type:"object"},created_at:{type:"string"},updated_at:{type:"string"},delivered_at:{type:"string",nullable:!0},webhook_endpoint_id:{type:"string"},webhook_endpoint_url:{type:"string"}},required:["id","event_name","event_id","response_code","execution_time","error_type","request_errors","response_body","success","payload","created_at","updated_at","delivered_at","webhook_endpoint_id","webhook_endpoint_url"],"x-typelizer":!0},WebhookEndpoint:{type:"object",properties:{id:{type:"string"},name:{type:"string",nullable:!0},url:{type:"string"},active:{type:"boolean"},subscriptions:{type:"array",items:{type:"string"}},disabled_reason:{type:"string",nullable:!0},created_at:{type:"string"},updated_at:{type:"string"},disabled_at:{type:"string",nullable:!0},secret_key:{type:"string",nullable:!0},last_delivery_at:{type:"string",nullable:!0},recent_delivery_count:{type:"number"},recent_failure_count:{type:"number"},total_delivery_count:{type:"number"},successful_delivery_count:{type:"number"},failed_delivery_count:{type:"number"}},required:["id","name","url","active","subscriptions","disabled_reason","created_at","updated_at","disabled_at","secret_key","last_delivery_at","recent_delivery_count","recent_failure_count","total_delivery_count","successful_delivery_count","failed_delivery_count"],"x-typelizer":!0}}}};var Ll=new Set(["get","post","put","patch","delete"]);function Ni(){return jl}function yk(e){let t=e.description?.match(/\*\*Required scope:\*\* (.+?) \(for API-key authentication\)\./);return t?t[1].replaceAll("`",""):"\u2014"}function Ml(e,t={}){let r=[];for(let[i,n]of Object.entries(e.paths)){let s=i.replace("/api/v3/admin","")||"/";for(let[o,a]of Object.entries(n)){if(!Ll.has(o))continue;if(t.resource){let d=s.split("/")[1]??"";if(d!==t.resource&&!d.startsWith(t.resource))continue}let c=a.summary??"";t.search&&!`${o} ${s} ${c}`.toLowerCase().includes(t.search.toLowerCase())||r.push({method:o.toUpperCase(),path:s,scope:yk(a),summary:c})}}return r}function Fl(e,t){let r=t.trim().split(/\s+/),i=r.length>1?r[0].toLowerCase():void 0,n=r.length>1?r[1]:r[0],s=dr(n),o=Dl(e,i,a=>a===s);return o.length>0?o:Dl(e,i,a=>fk(a,s))}function Dl(e,t,r){let i=[];for(let[n,s]of Object.entries(e.paths)){let o=n.replace("/api/v3/admin","")||"/";if(r(o))for(let[a,c]of Object.entries(s))Ll.has(a)&&(t&&a!==t||i.push({method:a.toUpperCase(),path:o,summary:c.summary,description:c.description,parameters:jt(c.parameters,e),requestBody:jt(c.requestBody,e),responses:jt(c.responses,e)}))}return i}function fk(e,t){if(e===t)return!0;let r=e.split("/"),i=t.split("/");return r.length!==i.length?!1:r.every((n,s)=>n.startsWith("{")&&n.endsWith("}")?i[s].length>0:n===i[s])}var gk=8;function jt(e,t,r=[]){if(Array.isArray(e))return e.map(o=>jt(o,t,r));if(!e||typeof e!="object")return e;let i=e,n=i.$ref;if(typeof n=="string"){let o=n.replace("#/components/schemas/","");return r.includes(o)||r.length>=gk||!(o in t.components.schemas)?{$ref:n}:jt(t.components.schemas[o],t,[...r,o])}let s={};for(let[o,a]of Object.entries(i))s[o]=jt(a,t,r);return s}function _k(e,t){return[...t,e]}function Gl(e){return e.option("--profile <name>","use a saved profile (see `spree auth`)").option("--base-url <url>","store URL (overrides profile/env/project)").option("--api-key <key>","secret API key (prefer SPREE_API_KEY \u2014 flags leak into shell history)").option("--store-id <id>","X-Spree-Store-Id for hosts serving multiple stores")}function zl(){return new ea("--format <format>","output format").choices(["json","table"]).default("json")}function Ul(e){return Gl(e).addOption(zl())}async function Bl(e){let t=await cr({baseUrl:e.baseUrl,apiKey:e.apiKey,profile:e.profile});return{client:kr({baseUrl:t.baseUrl,secretKey:t.apiKey,...e.storeId?{storeId:e.storeId}:{}}),credentials:t}}function Vl(e){let t=e.command("api").description("Call the Admin API directly (generic get/post/patch/delete)");t.addHelpText("after",["","Examples:"," spree api get /products -q status_eq=active --limit 10",` spree api post /products -d '{"name":"Classic Tee"}'`," spree api get /orders/ord_x8k2J9aQ --expand items,payments","","Discover the surface (offline, no server needed):"," spree api endpoints --search <term> # find endpoints + required scopes",' spree api schema "POST /orders" # request/response schema for one operation'," spree completion zsh # tab-completion for paths, filters, scopes"].join(`
|
|
268
|
+
`)),Ul(t.command("get <path>").description("GET an Admin API path, e.g. `spree api get /products -q status_eq=active`").option("-q, --query <expr>","Ransack predicate key=value (repeatable)",_k,[]).option("--sort <fields>","sort, e.g. -created_at").option("--page <n>","page number").option("--limit <n>","page size (max 100)").option("--expand <relations>","expand relations, e.g. variants,variants.prices").option("--fields <fields>","sparse fields, e.g. id,name")).action(async(r,i)=>{let n;try{let s=Rl(i),{client:o,credentials:a}=await Bl(i);n=a.baseUrl;let c=await o.request("GET",dr(r),{params:s});pr(c,i.format)}catch(s){ut(s,{baseUrl:n})}});for(let r of["post","patch","delete"])Ul(t.command(`${r} <path>`).description(`${r.toUpperCase()} an Admin API path`).option("-d, --data <json>","request body: inline JSON, @file, or '-' for stdin")).action(async(i,n)=>{let s;try{let o=await va(n.data),{client:a,credentials:c}=await Bl(n);s=c.baseUrl;let d=await a.request(r.toUpperCase(),dr(i),{...o===Un?{}:{body:o}});pr(d,n.format)}catch(o){ut(o,{baseUrl:s})}});t.command("endpoints").description("List Admin API endpoints with their required scopes").option("--resource <name>","filter by first path segment, e.g. orders").option("--search <term>","filter by method, path, or summary").addOption(zl()).action(r=>{let i=Ml(Ni(),{resource:r.resource,search:r.search});if(i.length===0){process.stderr.write(`No endpoints match.
|
|
269
|
+
`),process.exitCode=1;return}if(r.format==="table"){(0,Nl.printTable)(i.map(n=>({Method:n.method,Path:n.path,Scope:n.scope,Summary:n.summary})));return}pr(i,"json")}),t.command("schema <operation>").description('Show the request/response schema for an operation, e.g. `spree api schema "POST /products"`').action(r=>{let i=Fl(Ni(),r);if(i.length===0){process.stderr.write(`No operation matches "${r}". Try \`spree api endpoints --search ${r.split(/\s+/).pop()}\`.
|
|
270
|
+
`),process.exitCode=1;return}let n=/\s/.test(r.trim());pr(n&&i.length===1?i[0]:i,"json")}),Gl(t.command("status").description("Show resolved credentials, server reachability, and the bundled spec version")).action(async r=>{try{let i=await cr({baseUrl:r.baseUrl,apiKey:r.apiKey,profile:r.profile},{allowMint:!1}),n=await ur(i.baseUrl,i.apiKey),s=Ni(),o=Bi(n),a=[`${Je.default.bold("Base URL:")} ${i.baseUrl}`,`${Je.default.bold("Credentials:")} ${i.source}${i.profileName?` (${i.profileName})`:""}, key ${i.tokenPrefix}${Je.default.dim("\u2026")}`];i.scopes?.length&&a.push(`${Je.default.bold("Scopes:")} ${i.scopes.join(", ")}`),a.push(`${Je.default.bold("Server:")} ${o}`),a.push(`${Je.default.bold("Bundled spec:")} ${s.info?.version??"unknown"} ${Je.default.dim("(spree api endpoints/schema reflect this snapshot, not the live server)")}`),process.stdout.write(`${a.join(`
|
|
271
271
|
`)}
|
|
272
|
-
`),Ui(n)&&(process.exitCode=1)}catch(i){
|
|
273
|
-
`),p=!1;for(let u=0;u<d.length;u++){let l=d[u];if(i+=l,p)p=!1;else if(p=l>="\uD800"&&l<="\uDBFF",p)continue;if(l===Gi||l===
|
|
274
|
-
`){s&&(i+=
|
|
275
|
-
`&&(n&&
|
|
276
|
-
`)}var te=B(
|
|
272
|
+
`),Ui(n)&&(process.exitCode=1)}catch(i){ut(i,{baseUrl:r.baseUrl})}})}import{styleText as To}from"util";import{stdout as Oo,stdin as cm}from"process";import*as Xe from"readline";import Rk from"readline";var Wl=(()=>{let e=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return t=>{let r=0;for(e.lastIndex=0;e.test(t);)r+=1;return t.length-r}})(),Hl=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,Kl=e=>e===8987||e===9001||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141;var bk=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,xk=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,Yl=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/yu,wk=/\t{1,1000}/y,Jl=new RegExp("[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}|\\p{Emoji}\\uFE0F\\u20E3?))*","yu"),kk=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,Sk=new RegExp("\\p{M}+","gu"),vk={limit:1/0,ellipsis:""},Xl=(e,t={},r={})=>{let i=t.limit??1/0,n=t.ellipsis??"",s=t?.ellipsisWidth??(n?Xl(n,vk,r).width:0),o=0,a=r.controlWidth??0,c=r.tabWidth??8,d=r.emojiWidth??2,p=2,u=r.regularWidth??1,l=r.wideWidth??p,m=[[kk,u],[bk,o],[xk,a],[wk,c],[Jl,d],[Yl,l]],h=0,f=0,x=e.length,_=0,v=!1,C=x,E=Math.max(0,i-s),w=0,L=0,O=0,R=0;e:for(;;){if(L>w||f>=x&&f>h){let F=e.slice(w,L)||e.slice(h,f);_=0;for(let N of F.replaceAll(Sk,"")){let S=N.codePointAt(0)||0;if(Hl(S)?R=p:Kl(S)?R=l:R=u,O+R>E&&(C=Math.min(C,Math.max(w,h)+_)),O+R>i){v=!0;break e}_+=N.length,O+=R}w=L=0}if(f>=x)break e;for(let F=0,N=m.length;F<N;F++){let[S,Pe]=m[F];if(S.lastIndex=f,S.test(e)){if(_=S===Yl?Wl(e.slice(f,S.lastIndex)):S===Jl?1:S.lastIndex-f,R=_*Pe,O+R>E&&(C=Math.min(C,f+Math.floor((E-O)/Pe))),O+R>i){v=!0;break e}O+=R,w=h,L=f,f=h=S.lastIndex;continue e}}f+=1}return{width:v?E:O,index:v?C:x,truncated:v,ellipsed:v&&i>=s}},Ql=Xl;var qk={limit:1/0,ellipsis:"",ellipsisWidth:0},$k=(e,t={})=>Ql(e,qk,t).width,ie=$k;var Gi="\x1B",im="\x9B",Ck=39,$o="\x07",nm="[",Ak="]",sm="m",Co=`${Ak}8;;`,Zl=new RegExp(`(?:\\${nm}(?<code>\\d+)m|\\${Co}(?<uri>.*)${$o})`,"y"),em=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},tm=e=>`${Gi}${nm}${e}${sm}`,rm=e=>`${Gi}${Co}${e}${$o}`,qo=(e,t,r)=>{let i=t[Symbol.iterator](),n=!1,s=!1,o=e.at(-1),a=o===void 0?0:ie(o),c=i.next(),d=i.next(),p=0;for(;!c.done;){let u=c.value,l=ie(u);a+l<=r?e[e.length-1]+=u:(e.push(u),a=0),(u===Gi||u===im)&&(n=!0,s=t.startsWith(Co,p+1)),n?s?u===$o&&(n=!1,s=!1):u===sm&&(n=!1):(a+=l,a===r&&!d.done&&(e.push(""),a=0)),c=d,d=i.next(),p+=u.length}o=e.at(-1),!a&&o!==void 0&&o.length&&e.length>1&&(e[e.length-2]+=e.pop())},Ek=e=>{let t=e.split(" "),r=t.length;for(;r&&!ie(t[r-1]);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},Tk=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let i="",n,s,o=e.split(" "),a=[""],c=0;for(let u=0;u<o.length;u++){let l=o[u];if(r.trim!==!1){let h=a.at(-1)??"",f=h.trimStart();h.length!==f.length&&(a[a.length-1]=f,c=ie(f))}u!==0&&(c>=t&&(r.wordWrap===!1||r.trim===!1)&&(a.push(""),c=0),(c||r.trim===!1)&&(a[a.length-1]+=" ",c++));let m=ie(l);if(r.hard&&m>t){let h=t-c,f=1+Math.floor((m-h-1)/t);Math.floor((m-1)/t)<f&&a.push(""),qo(a,l,t),c=ie(a.at(-1)??"");continue}if(c+m>t&&c&&m){if(r.wordWrap===!1&&c<t){qo(a,l,t),c=ie(a.at(-1)??"");continue}a.push(""),c=0}if(c+m>t&&r.wordWrap===!1){qo(a,l,t),c=ie(a.at(-1)??"");continue}a[a.length-1]+=l,c+=m}r.trim!==!1&&(a=a.map(u=>Ek(u)));let d=a.join(`
|
|
273
|
+
`),p=!1;for(let u=0;u<d.length;u++){let l=d[u];if(i+=l,p)p=!1;else if(p=l>="\uD800"&&l<="\uDBFF",p)continue;if(l===Gi||l===im){Zl.lastIndex=u+1;let h=Zl.exec(d)?.groups;if(h?.code!==void 0){let f=Number.parseFloat(h.code);n=f===Ck?void 0:f}else h?.uri!==void 0&&(s=h.uri.length===0?void 0:h.uri)}if(d[u+1]===`
|
|
274
|
+
`){s&&(i+=rm(""));let m=n?em(n):void 0;n&&m&&(i+=tm(m))}else l===`
|
|
275
|
+
`&&(n&&em(n)&&(i+=tm(n)),s&&(i+=rm(s)))}return i},Pk=/\r?\n/;function Ce(e,t,r){return String(e).normalize().split(Pk).map(i=>Tk(i,t,r)).join(`
|
|
276
|
+
`)}var te=B(Eo(),1);import{ReadStream as am}from"tty";function Vi(e,t,r){if(!r.some(o=>!o.disabled))return e;let i=e+t,n=Math.max(r.length-1,0),s=i<0?n:i>n?0:i;return r[s].disabled?Vi(s,t<0?-1:1,r):s}var jk=["up","down","left","right","space","enter","cancel"],Dk=["January","February","March","April","May","June","July","August","September","October","November","December"],Z={actions:new Set(jk),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"},withGuide:!0,date:{monthNames:[...Dk],messages:{required:"Please enter a valid date",invalidMonth:"There are only 12 months in a year",invalidDay:(e,t)=>`There are only ${e} days in ${t}`,afterMin:e=>`Date must be on or after ${e.toISOString().slice(0,10)}`,beforeMax:e=>`Date must be on or before ${e.toISOString().slice(0,10)}`}}};function Io(e,t){if(typeof e=="string")return Z.aliases.get(e)===t;for(let r of e)if(r!==void 0&&Io(r,t))return!0;return!1}function Lk(e,t){if(e===t)return;let r=e.split(`
|
|
277
277
|
`),i=t.split(`
|
|
278
|
-
`),n=Math.max(r.length,i.length),s=[];for(let o=0;o<n;o++)r[o]!==i[o]&&s.push(o);return{lines:s,numLinesBefore:r.length,numLinesAfter:i.length,numLines:n}}var Mk=globalThis.process.platform.startsWith("win"),
|
|
278
|
+
`),n=Math.max(r.length,i.length),s=[];for(let o=0;o<n;o++)r[o]!==i[o]&&s.push(o);return{lines:s,numLinesBefore:r.length,numLinesAfter:i.length,numLines:n}}var Mk=globalThis.process.platform.startsWith("win"),Po=Symbol("clack:cancel");function Y(e){return e===Po}function zi(e,t){let r=e;r.isTTY&&r.setRawMode(t)}function pm({input:e=cm,output:t=Oo,overwrite:r=!0,hideCursor:i=!0}={}){let n=Xe.createInterface({input:e,output:t,prompt:"",tabSize:1});Xe.emitKeypressEvents(e,n),e instanceof am&&e.isTTY&&e.setRawMode(!0);let s=(o,{name:a,sequence:c})=>{let d=String(o);if(Io([d,a,c],"cancel")){i&&t.write(te.cursor.show),process.exit(0);return}if(!r)return;Xe.moveCursor(t,a==="return"?0:-1,a==="return"?-1:0,()=>{Xe.clearLine(t,1,()=>{e.once("keypress",s)})})};return i&&t.write(te.cursor.hide),e.once("keypress",s),()=>{e.off("keypress",s),i&&t.write(te.cursor.show),e instanceof am&&e.isTTY&&!Mk&&e.setRawMode(!1),n.terminal=!1,n.close()}}var lr=e=>"columns"in e&&typeof e.columns=="number"?e.columns:80,Ro=e=>"rows"in e&&typeof e.rows=="number"?e.rows:20;function mr(e,t,r,i=r,n){let s=lr(e??Oo);return Ce(t,s-r.length,{hard:!0,trim:!1}).split(`
|
|
279
279
|
`).map((o,a)=>{let c=n?n(o,a):o;return`${a===0?i:r}${c}`}).join(`
|
|
280
|
-
`)}var Ji=class{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame="";_subscribers=new Map;_cursor=0;state="initial";error="";value;userInput="";constructor(e,t=!0){let{input:r=
|
|
280
|
+
`)}var Ji=class{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame="";_subscribers=new Map;_cursor=0;state="initial";error="";value;userInput="";constructor(e,t=!0){let{input:r=cm,output:i=Oo,render:n,signal:s,...o}=e;this.opts=o,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=n.bind(this),this._track=t,this._abortSignal=s,this.input=r,this.output=i}unsubscribe(){this._subscribers.clear()}setSubscriber(e,t){let r=this._subscribers.get(e)??[];r.push(t),this._subscribers.set(e,r)}on(e,t){this.setSubscriber(e,{cb:t})}once(e,t){this.setSubscriber(e,{cb:t,once:!0})}emit(e,...t){let r=this._subscribers.get(e)??[],i=[];for(let n of r)n.cb(...t),n.once&&i.push(()=>r.splice(r.indexOf(n),1));for(let n of i)n()}prompt(){return new Promise(e=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),e(Po);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}this.rl=Rk.createInterface({input:this.input,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on("keypress",this.onKeypress),zi(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(te.cursor.show),this.output.off("resize",this.render),zi(this.input,!1),e(this.value)}),this.once("cancel",()=>{this.output.write(te.cursor.show),this.output.off("resize",this.render),zi(this.input,!1),e(Po)})})}_isActionKey(e,t){return e===" "}_shouldSubmit(e,t){return!0}_setValue(e){this.value=e,this.emit("value",this.value)}_setUserInput(e,t){this.userInput=e??"",this.emit("userInput",this.userInput),t&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:"u"}),this._setUserInput("")}onKeypress(e,t){if(this._track&&t.name!=="return"&&(t.name&&this._isActionKey(e,t)&&this.rl?.write(null,{ctrl:!0,name:"h"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state==="error"&&(this.state="active"),t?.name&&(!this._track&&Z.aliases.has(t.name)&&this.emit("cursor",Z.aliases.get(t.name)),Z.actions.has(t.name)&&this.emit("cursor",t.name)),e&&(e.toLowerCase()==="y"||e.toLowerCase()==="n")&&this.emit("confirm",e.toLowerCase()==="y"),this.emit("key",e?.toLowerCase(),t),t?.name==="return"&&this._shouldSubmit(e,t)){if(this.opts.validate){let r=this.opts.validate(this.value);r&&(this.error=r instanceof Error?r.message:r,this.state="error",this.rl?.write(this.userInput))}this.state!=="error"&&(this.state="submit")}Io([e,t?.name,t?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
|
|
281
281
|
`),zi(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let e=Ce(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`
|
|
282
|
-
`).length-1;this.output.write(te.cursor.move(-999,e*-1))}render(){let e=Ce(this._render(this)??"",process.stdout.columns,{hard:!0,trim:!1});if(e!==this._prevFrame){if(this.state==="initial")this.output.write(te.cursor.hide);else{let t=Lk(this._prevFrame,e),r=
|
|
282
|
+
`).length-1;this.output.write(te.cursor.move(-999,e*-1))}render(){let e=Ce(this._render(this)??"",process.stdout.columns,{hard:!0,trim:!1});if(e!==this._prevFrame){if(this.state==="initial")this.output.write(te.cursor.hide);else{let t=Lk(this._prevFrame,e),r=Ro(this.output);if(this.restoreCursor(),t){let i=Math.max(0,t.numLinesAfter-r),n=Math.max(0,t.numLinesBefore-r),s=t.lines.find(o=>o>=i);if(s===void 0){this._prevFrame=e;return}if(t.lines.length===1){this.output.write(te.cursor.move(0,s-n)),this.output.write(te.erase.lines(1));let o=e.split(`
|
|
283
283
|
`);this.output.write(o[s]),this._prevFrame=e,this.output.write(te.cursor.move(0,o.length-s-1));return}else if(t.lines.length>1){if(i<n)s=i;else{let a=s-n;a>0&&this.output.write(te.cursor.move(0,a))}this.output.write(te.erase.down());let o=e.split(`
|
|
284
284
|
`).slice(s);this.output.write(o.join(`
|
|
285
|
-
`)),this._prevFrame=e;return}}this.output.write(te.erase.down())}this.output.write(e),this.state==="initial"&&(this.state="active"),this._prevFrame=e}}};var Wi=class extends Ji{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(t){super(t,!1),this.value=!!t.initialValue,this.on("userInput",()=>{this.value=this._value}),this.on("confirm",r=>{this.output.write(te.cursor.move(0,-1)),this.value=r,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}};var Hi=class extends Ji{_mask="\u2022";get cursor(){return this._cursor}get masked(){return this.userInput.replaceAll(/./g,this._mask)}get userInputWithCursor(){if(this.state==="submit"||this.state==="cancel")return this.masked;let t=this.userInput;if(this.cursor>=t.length)return`${this.masked}${
|
|
286
|
-
`);x.push(L),_+=L.length}if(_>p){let w=0,L=0,O=_,R=e-v,F=(N,S)=>Qk(x,O,N,S,p);m?({lineCount:O,removals:w}=F(0,R),O>p&&({lineCount:O,removals:L}=F(R+1,x.length))):({lineCount:O,removals:L}=F(R+1,x.length),O>p&&({lineCount:O,removals:w}=F(0,R))),w>0&&(m=!0,x.splice(0,w)),L>0&&(h=!0,x.splice(x.length-L,L))}let E=[];m&&E.push(d);for(let w of x)for(let L of w)E.push(L);return h&&E.push(d),E};var
|
|
285
|
+
`)),this._prevFrame=e;return}}this.output.write(te.erase.down())}this.output.write(e),this.state==="initial"&&(this.state="active"),this._prevFrame=e}}};var Wi=class extends Ji{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(t){super(t,!1),this.value=!!t.initialValue,this.on("userInput",()=>{this.value=this._value}),this.on("confirm",r=>{this.output.write(te.cursor.move(0,-1)),this.value=r,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}};var Hi=class extends Ji{_mask="\u2022";get cursor(){return this._cursor}get masked(){return this.userInput.replaceAll(/./g,this._mask)}get userInputWithCursor(){if(this.state==="submit"||this.state==="cancel")return this.masked;let t=this.userInput;if(this.cursor>=t.length)return`${this.masked}${To(["inverse","hidden"],"_")}`;let r=this.masked,i=r.slice(0,this.cursor),n=r.slice(this.cursor);return`${i}${To("inverse",n[0])}${n.slice(1)}`}clear(){this._clearUserInput()}constructor({mask:t,...r}){super(r),this._mask=t??"\u2022",this.on("userInput",i=>{this._setValue(i)})}},Ki=class extends Ji{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(t){super(t,!1),this.options=t.options;let r=this.options.findIndex(({value:n})=>n===t.initialValue),i=r===-1?0:r;this.cursor=this.options[i].disabled?Vi(i,1,this.options):i,this.changeValue(),this.on("cursor",n=>{switch(n){case"left":case"up":this.cursor=Vi(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=Vi(this.cursor,1,this.options);break}this.changeValue()})}};var Yi=class extends Ji{get userInputWithCursor(){if(this.state==="submit")return this.userInput;let t=this.userInput;if(this.cursor>=t.length)return`${this.userInput}\u2588`;let r=t.slice(0,this.cursor),[i,...n]=t.slice(this.cursor);return`${r}${To("inverse",i)}${n.join("")}`}get cursor(){return this._cursor}constructor(t){super({...t,initialUserInput:t.initialUserInput??t.initialValue}),this.on("userInput",r=>{this._setValue(r)}),this.on("finalize",()=>{this.value||(this.value=t.defaultValue),this.value===void 0&&(this.value="")})}};import{styleText as y,stripVTControlCharacters as k1}from"util";import he from"process";var hr=B(Eo(),1);import{existsSync as C1,lstatSync as A1,readdirSync as E1}from"fs";import{dirname as P1,join as O1}from"path";function Fk(){return he.platform!=="win32"?he.env.TERM!=="linux":!!he.env.CI||!!he.env.WT_SESSION||!!he.env.TERMINUS_SUBLIME||he.env.ConEmuTask==="{cmd::Cmder}"||he.env.TERM_PROGRAM==="Terminus-Sublime"||he.env.TERM_PROGRAM==="vscode"||he.env.TERM==="xterm-256color"||he.env.TERM==="alacritty"||he.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var jo=Fk(),Uk=()=>process.env.CI==="true";var j=(e,t)=>jo?e:t,Bk=j("\u25C6","*"),um=j("\u25A0","x"),lm=j("\u25B2","x"),Zi=j("\u25C7","o"),I1=j("\u250C","T"),$=j("\u2502","|"),Qe=j("\u2514","\u2014"),R1=j("\u2510","T"),j1=j("\u2518","\u2014"),Do=j("\u25CF",">"),Qi=j("\u25CB"," "),D1=j("\u25FB","[\u2022]"),L1=j("\u25FC","[+]"),M1=j("\u25FB","[ ]"),Nk=j("\u25AA","\u2022"),dm=j("\u2500","-"),Gk=j("\u256E","+"),zk=j("\u251C","+"),Vk=j("\u256F","+"),Wk=j("\u2570","+"),F1=j("\u256D","+"),Hk=j("\u25CF","\u2022"),Kk=j("\u25C6","*"),Yk=j("\u25B2","!"),Jk=j("\u25A0","x"),en=e=>{switch(e){case"initial":case"active":return y("cyan",Bk);case"cancel":return y("red",um);case"error":return y("yellow",lm);case"submit":return y("green",Zi)}},Xk=e=>{switch(e){case"initial":case"active":return y("cyan",$);case"cancel":return y("red",$);case"error":return y("yellow",$);case"submit":return y("green",$)}},Qk=(e,t,r,i,n)=>{let s=t,o=0;for(let a=r;a<i;a++){let c=e[a];if(s=s-c.length,o++,s<=n)break}return{lineCount:s,removals:o}},Zk=({cursor:e,options:t,style:r,output:i=process.stdout,maxItems:n=Number.POSITIVE_INFINITY,columnPadding:s=0,rowPadding:o=4})=>{let a=lr(i)-s,c=Ro(i),d=y("dim","..."),p=Math.max(c-o,0),u=Math.max(Math.min(n,p),5),l=0;e>=u-3&&(l=Math.max(Math.min(e-u+3,t.length-u),0));let m=u<t.length&&l>0,h=u<t.length&&l+u<t.length,f=Math.min(l+u,t.length),x=[],_=0;m&&_++,h&&_++;let v=l+(m?1:0),C=f-(h?1:0);for(let w=v;w<C;w++){let L=Ce(r(t[w],w===e),a,{hard:!0,trim:!1}).split(`
|
|
286
|
+
`);x.push(L),_+=L.length}if(_>p){let w=0,L=0,O=_,R=e-v,F=(N,S)=>Qk(x,O,N,S,p);m?({lineCount:O,removals:w}=F(0,R),O>p&&({lineCount:O,removals:L}=F(R+1,x.length))):({lineCount:O,removals:L}=F(R+1,x.length),O>p&&({lineCount:O,removals:w}=F(0,R))),w>0&&(m=!0,x.splice(0,w)),L>0&&(h=!0,x.splice(x.length-L,L))}let E=[];m&&E.push(d);for(let w of x)for(let L of w)E.push(L);return h&&E.push(d),E};var lt=e=>{let t=e.active??"Yes",r=e.inactive??"No";return new Wi({active:t,inactive:r,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue??!0,render(){let i=e.withGuide??Z.withGuide,n=`${en(this.state)} `,s=i?`${y("gray",$)} `:"",o=mr(e.output,e.message,s,n),a=`${i?`${y("gray",$)}
|
|
287
287
|
`:""}${o}
|
|
288
288
|
`,c=this.value?t:r;switch(this.state){case"submit":{let d=i?`${y("gray",$)} `:"";return`${a}${d}${y("dim",c)}`}case"cancel":{let d=i?`${y("gray",$)} `:"";return`${a}${d}${y(["strikethrough","dim"],c)}${i?`
|
|
289
|
-
${y("gray",$)}`:""}`}default:{let d=i?`${y("cyan",$)} `:"",p=i?y("cyan",
|
|
289
|
+
${y("gray",$)}`:""}`}default:{let d=i?`${y("cyan",$)} `:"",p=i?y("cyan",Qe):"";return`${a}${d}${this.value?`${y("green",Do)} ${t}`:`${y("dim",Qi)} ${y("dim",t)}`}${e.vertical?i?`
|
|
290
290
|
${y("cyan",$)} `:`
|
|
291
|
-
`:` ${y("dim","/")} `}${this.value?`${y("dim",Qi)} ${y("dim",r)}`:`${y("green",
|
|
291
|
+
`:` ${y("dim","/")} `}${this.value?`${y("dim",Qi)} ${y("dim",r)}`:`${y("green",Do)} ${r}`}
|
|
292
292
|
${p}
|
|
293
293
|
`}}}}).prompt()};var P={message:(e=[],{symbol:t=y("gray",$),secondarySymbol:r=y("gray",$),output:i=process.stdout,spacing:n=1,withGuide:s}={})=>{let o=[],a=s??Z.withGuide,c=a?r:"",d=a?`${t} `:"",p=a?`${r} `:"";for(let l=0;l<n;l++)o.push(c);let u=Array.isArray(e)?e:e.split(`
|
|
294
294
|
`);if(u.length>0){let[l,...m]=u;l.length>0?o.push(`${d}${l}`):o.push(a?t:"");for(let h of m)h.length>0?o.push(`${p}${h}`):o.push(a?r:"")}i.write(`${o.join(`
|
|
295
295
|
`)}
|
|
296
|
-
`)},info:(e,t)=>{P.message(e,{...t,symbol:y("blue",Hk)})},success:(e,t)=>{P.message(e,{...t,symbol:y("green",Kk)})},step:(e,t)=>{P.message(e,{...t,symbol:y("green",Zi)})},warn:(e,t)=>{P.message(e,{...t,symbol:y("yellow",Yk)})},warning:(e,t)=>{P.warn(e,t)},error:(e,t)=>{P.message(e,{...t,symbol:y("red",Jk)})}},G=(e="",t)=>{let r=t?.output??process.stdout,i=t?.withGuide??Z.withGuide?`${y("gray",
|
|
296
|
+
`)},info:(e,t)=>{P.message(e,{...t,symbol:y("blue",Hk)})},success:(e,t)=>{P.message(e,{...t,symbol:y("green",Kk)})},step:(e,t)=>{P.message(e,{...t,symbol:y("green",Zi)})},warn:(e,t)=>{P.message(e,{...t,symbol:y("yellow",Yk)})},warning:(e,t)=>{P.warn(e,t)},error:(e,t)=>{P.message(e,{...t,symbol:y("red",Jk)})}},G=(e="",t)=>{let r=t?.output??process.stdout,i=t?.withGuide??Z.withGuide?`${y("gray",Qe)} `:"";r.write(`${i}${y("red",e)}
|
|
297
297
|
|
|
298
|
-
`)};var
|
|
299
|
-
${y("gray",
|
|
298
|
+
`)};var mm=(e="",t)=>{let r=t?.output??process.stdout,i=t?.withGuide??Z.withGuide?`${y("gray",$)}
|
|
299
|
+
${y("gray",Qe)} `:"";r.write(`${i}${e}
|
|
300
300
|
|
|
301
301
|
`)};var eS=e=>y("dim",e),tS=(e,t,r)=>{let i={hard:!0,trim:!1},n=Ce(e,t,i).split(`
|
|
302
302
|
`),s=n.reduce((c,d)=>Math.max(ie(d),c),0),o=n.map(r).reduce((c,d)=>Math.max(ie(d),c),0),a=t-(o-s);return Ce(e,a,i)},ee=(e="",t="",r)=>{let i=r?.output??he.stdout,n=r?.withGuide??Z.withGuide,s=r?.format??eS,o=["",...tS(e,lr(i)-6,s).split(`
|
|
303
303
|
`).map(s),""],a=ie(t),c=Math.max(o.reduce((l,m)=>{let h=ie(m);return h>l?h:l},0),a)+2,d=o.map(l=>`${y("gray",$)} ${l}${" ".repeat(c-ie(l))}${y("gray",$)}`).join(`
|
|
304
304
|
`),p=n?`${y("gray",$)}
|
|
305
|
-
`:"",u=n?zk:Wk;i.write(`${p}${y("green",Zi)} ${y("reset",t)} ${y("gray",
|
|
305
|
+
`:"",u=n?zk:Wk;i.write(`${p}${y("green",Zi)} ${y("reset",t)} ${y("gray",dm.repeat(Math.max(c-a-1,1))+Gk)}
|
|
306
306
|
${d}
|
|
307
|
-
${y("gray",u+
|
|
307
|
+
${y("gray",u+dm.repeat(c+2)+Vk)}
|
|
308
308
|
`)},tn=e=>new Hi({validate:e.validate,mask:e.mask??Nk,signal:e.signal,input:e.input,output:e.output,render(){let t=e.withGuide??Z.withGuide,r=`${t?`${y("gray",$)}
|
|
309
309
|
`:""}${en(this.state)} ${e.message}
|
|
310
|
-
`,i=this.userInputWithCursor,n=this.masked;switch(this.state){case"error":{let s=t?`${y("yellow",$)} `:"",o=t?`${y("yellow",
|
|
310
|
+
`,i=this.userInputWithCursor,n=this.masked;switch(this.state){case"error":{let s=t?`${y("yellow",$)} `:"",o=t?`${y("yellow",Qe)} `:"",a=n??"";return e.clearOnError&&this.clear(),`${r.trim()}
|
|
311
311
|
${s}${a}
|
|
312
312
|
${o}${y("yellow",this.error)}
|
|
313
313
|
`}case"submit":{let s=t?`${y("gray",$)} `:"",o=n?y("dim",n):"";return`${r}${s}${o}`}case"cancel":{let s=t?`${y("gray",$)} `:"",o=n?y(["strikethrough","dim"],n):"";return`${r}${s}${o}${n&&t?`
|
|
314
|
-
${y("gray",$)}`:""}`}default:{let s=t?`${y("cyan",$)} `:"",o=t?y("cyan",
|
|
314
|
+
${y("gray",$)}`:""}`}default:{let s=t?`${y("cyan",$)} `:"",o=t?y("cyan",Qe):"";return`${r}${s}${i}
|
|
315
315
|
${o}
|
|
316
|
-
`}}}}).prompt();var rS=e=>y("magenta",e),z=({indicator:e="dots",onCancel:t,output:r=process.stdout,cancelMessage:i,errorMessage:n,frames:s=
|
|
316
|
+
`}}}}).prompt();var rS=e=>y("magenta",e),z=({indicator:e="dots",onCancel:t,output:r=process.stdout,cancelMessage:i,errorMessage:n,frames:s=jo?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],delay:o=jo?80:120,signal:a,...c}={})=>{let d=Uk(),p,u,l=!1,m=!1,h="",f,x=performance.now(),_=lr(r),v=c?.styleFrame??rS,C=U=>{let ne=U>1?n??Z.messages.error:i??Z.messages.cancel;m=U===1,l&&(Oe(ne,U),m&&typeof t=="function"&&t())},E=()=>C(2),w=()=>C(1),L=()=>{process.on("uncaughtExceptionMonitor",E),process.on("unhandledRejection",E),process.on("SIGINT",w),process.on("SIGTERM",w),process.on("exit",C),a&&a.addEventListener("abort",w)},O=()=>{process.removeListener("uncaughtExceptionMonitor",E),process.removeListener("unhandledRejection",E),process.removeListener("SIGINT",w),process.removeListener("SIGTERM",w),process.removeListener("exit",C),a&&a.removeEventListener("abort",w)},R=()=>{if(f===void 0)return;d&&r.write(`
|
|
317
317
|
`);let U=Ce(f,_,{hard:!0,trim:!1}).split(`
|
|
318
|
-
`);U.length>1&&r.write(hr.cursor.up(U.length-1)),r.write(hr.cursor.to(0)),r.write(hr.erase.down())},F=U=>U.replace(/\.+$/,""),N=U=>{let ne=(performance.now()-U)/1e3,
|
|
319
|
-
`);let ne=0,
|
|
320
|
-
`):r.write(`${
|
|
321
|
-
`)),O(),p()};return{start:
|
|
318
|
+
`);U.length>1&&r.write(hr.cursor.up(U.length-1)),r.write(hr.cursor.to(0)),r.write(hr.erase.down())},F=U=>U.replace(/\.+$/,""),N=U=>{let ne=(performance.now()-U)/1e3,Ie=Math.floor(ne/60),Re=Math.floor(ne%60);return Ie>0?`[${Ie}m ${Re}s]`:`[${Re}s]`},S=c.withGuide??Z.withGuide,Pe=(U="")=>{l=!0,p=pm({output:r}),h=F(U),x=performance.now(),S&&r.write(`${y("gray",$)}
|
|
319
|
+
`);let ne=0,Ie=0;L(),u=setInterval(()=>{if(d&&h===f)return;R(),f=h;let Re=v(s[ne]),fr;if(d)fr=`${Re} ${h}...`;else if(e==="timer")fr=`${Re} ${h} ${N(x)}`;else{let Zm=".".repeat(Math.floor(Ie)).slice(0,3);fr=`${Re} ${h}${Zm}`}let Qm=Ce(fr,_,{hard:!0,trim:!1});r.write(Qm),ne=ne+1<s.length?ne+1:0,Ie=Ie<4?Ie+.125:0},o)},Oe=(U="",ne=0,Ie=!1)=>{if(!l)return;l=!1,clearInterval(u),R();let Re=ne===0?y("green",Zi):ne===1?y("red",um):y("red",lm);h=U??h,Ie||(e==="timer"?r.write(`${Re} ${h} ${N(x)}
|
|
320
|
+
`):r.write(`${Re} ${h}
|
|
321
|
+
`)),O(),p()};return{start:Pe,stop:(U="")=>Oe(U,0),message:(U="")=>{h=F(U??h)},cancel:(U="")=>Oe(U,1),error:(U="")=>Oe(U,2),clear:()=>Oe("",0,!0),get isCancelled(){return m}}},U1={light:j("\u2500","-"),heavy:j("\u2501","="),block:j("\u2588","#")};var Xi=(e,t)=>e.includes(`
|
|
322
322
|
`)?e.split(`
|
|
323
323
|
`).map(r=>t(r)).join(`
|
|
324
|
-
`):t(e),
|
|
324
|
+
`):t(e),hm=e=>{let t=(r,i)=>{let n=r.label??String(r.value);switch(i){case"disabled":return`${y("gray",Qi)} ${Xi(n,s=>y("gray",s))}${r.hint?` ${y("dim",`(${r.hint??"disabled"})`)}`:""}`;case"selected":return`${Xi(n,s=>y("dim",s))}`;case"active":return`${y("green",Do)} ${n}${r.hint?` ${y("dim",`(${r.hint})`)}`:""}`;case"cancelled":return`${Xi(n,s=>y(["strikethrough","dim"],s))}`;default:return`${y("dim",Qi)} ${Xi(n,s=>y("dim",s))}`}};return new Ki({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue,render(){let r=e.withGuide??Z.withGuide,i=`${en(this.state)} `,n=`${Xk(this.state)} `,s=mr(e.output,e.message,n,i),o=`${r?`${y("gray",$)}
|
|
325
325
|
`:""}${s}
|
|
326
326
|
`;switch(this.state){case"submit":{let a=r?`${y("gray",$)} `:"",c=mr(e.output,t(this.options[this.cursor],"selected"),a);return`${o}${c}`}case"cancel":{let a=r?`${y("gray",$)} `:"",c=mr(e.output,t(this.options[this.cursor],"cancelled"),a);return`${o}${c}${r?`
|
|
327
|
-
${y("gray",$)}`:""}`}default:{let a=r?`${y("cyan",$)} `:"",c=r?y("cyan",
|
|
327
|
+
${y("gray",$)}`:""}`}default:{let a=r?`${y("cyan",$)} `:"",c=r?y("cyan",Qe):"",d=o.split(`
|
|
328
328
|
`).length,p=r?2:1;return`${o}${a}${Zk({output:e.output,cursor:this.cursor,options:this.options,maxItems:e.maxItems,columnPadding:a.length,rowPadding:d+p,style:(u,l)=>t(u,u.disabled?"disabled":l?"active":"inactive")}).join(`
|
|
329
329
|
${a}`)}
|
|
330
330
|
${c}
|
|
331
|
-
`}}}}).prompt()};var
|
|
331
|
+
`}}}}).prompt()};var B1=`${y("gray",$)} `;var mt=e=>new Yi({validate:e.validate,placeholder:e.placeholder,defaultValue:e.defaultValue,initialValue:e.initialValue,output:e.output,signal:e.signal,input:e.input,render(){let t=e?.withGuide??Z.withGuide,r=`${`${t?`${y("gray",$)}
|
|
332
332
|
`:""}${en(this.state)} `}${e.message}
|
|
333
|
-
`,i=e.placeholder?y("inverse",e.placeholder[0])+y("dim",e.placeholder.slice(1)):y(["inverse","hidden"],"_"),n=this.userInput?this.userInputWithCursor:i,s=this.value??"";switch(this.state){case"error":{let o=this.error?` ${y("yellow",this.error)}`:"",a=t?`${y("yellow",$)} `:"",c=t?y("yellow",
|
|
333
|
+
`,i=e.placeholder?y("inverse",e.placeholder[0])+y("dim",e.placeholder.slice(1)):y(["inverse","hidden"],"_"),n=this.userInput?this.userInputWithCursor:i,s=this.value??"";switch(this.state){case"error":{let o=this.error?` ${y("yellow",this.error)}`:"",a=t?`${y("yellow",$)} `:"",c=t?y("yellow",Qe):"";return`${r.trim()}
|
|
334
334
|
${a}${n}
|
|
335
335
|
${c}${o}
|
|
336
336
|
`}case"submit":{let o=s?` ${y("dim",s)}`:"",a=t?y("gray",$):"";return`${r}${a}${o}`}case"cancel":{let o=s?` ${y(["strikethrough","dim"],s)}`:"",a=t?y("gray",$):"";return`${r}${a}${o}${s.trim()?`
|
|
337
|
-
${a}`:""}`}default:{let o=t?`${y("cyan",$)} `:"",a=t?y("cyan",
|
|
337
|
+
${a}`:""}`}default:{let o=t?`${y("cyan",$)} `:"",a=t?y("cyan",Qe):"";return`${r}${o}${n}
|
|
338
338
|
${a}
|
|
339
|
-
`}}}}).prompt();var
|
|
339
|
+
`}}}}).prompt();var ym=B(Nt(),1),Ne=B(X(),1);function fm(e){let t=e.command("api-key").description("Manage API keys");t.command("create").description("Create an API key").option("--name <name>","key name").option("--type <type>","key type: publishable or secret").option("--scopes <scopes>","comma-separated scopes for secret keys (e.g. read_all or read_orders,write_products)").action(async r=>{let i=g(),n=r.name,s=r.type,o=r.scopes;if(!n){let m=await mt({message:"Key name:",placeholder:"My Storefront",validate(h){if(!h)return"Name is required"}});Y(m)&&(G("Cancelled."),process.exit(0)),n=m}if(!s){let m=await hm({message:"Key type:",options:[{value:"publishable",label:"Publishable (for storefronts)"},{value:"secret",label:"Secret (for server-to-server)"}]});Y(m)&&(G("Cancelled."),process.exit(0)),s=m}if(s!=="publishable"&&s!=="secret")throw new Error('Key type must be "publishable" or "secret".');if(s==="secret"&&!o){let m=await mt({message:"Scopes (comma-separated):",placeholder:"read_all",initialValue:"read_all",validate(h){if(!h)return"Secret keys require at least one scope"}});Y(m)&&(G("Cancelled."),process.exit(0)),o=m}let a=z();a.start("Creating API key...");let c=await Q("spree:cli:create_api_key",i.projectDir,{NAME:n,KEY_TYPE:s,...s==="secret"&&o?{SCOPES:o}:{}}),d=s==="publishable"?"pk_":"sk_",p=c.match(new RegExp(`${d}[A-Za-z0-9_-]+`)),u=p?p[0]:c.trim();a.stop("API key created.");let l=[`${Ne.default.bold("Name:")} ${n}`,`${Ne.default.bold("Type:")} ${s}`,`${Ne.default.bold("Token:")} ${Ne.default.cyan(u)}`];s==="secret"&&(l.push(`${Ne.default.bold("Scopes:")} ${o}`),l.push(""),l.push(Ne.default.yellow("Save this token now \u2014 secret keys cannot be retrieved later."))),ee(l.join(`
|
|
340
340
|
`),"API Key")}),t.command("list").description("List API keys").action(async()=>{let r=g(),i=z();i.start("Fetching API keys...");let n=await Q("spree:cli:list_api_keys",r.projectDir);i.stop("");let s=n.trim().split(`
|
|
341
|
-
`).filter(Boolean);if(s.length===0){P.info("No API keys found.");return}let o=s.map(a=>{let[c,d,p,u,l,m]=a.split("|");return{ID:c??"",Name:d??"",Type:p??"",Token:u??"",Created:l??"",Status:m==="active"?
|
|
342
|
-
`),process.exit(2));let i=r.baseUrl;if(!i){let d=await
|
|
343
|
-
`),"Logged in")}),t.command("status").description("Show which credentials `spree api` would use, and verify them").option("--profile <name>","check a specific profile").action(async r=>{let i;try{i=await cr({profile:r.profile},{allowMint:!1})}catch(a){
|
|
344
|
-
`),"Auth status"),Ui(s)&&(process.exitCode=1)}),t.command("logout").description("Remove a saved profile (or the project credentials)").option("--profile <name>","profile to remove","default").option("--project","remove .spree/credentials.json from the current project instead").action(async r=>{if(r.project){let n;try{n=g().projectDir}catch(o){
|
|
345
|
-
`),process.exit(2)}delete i.profiles[r.profile],i.defaultProfile===r.profile&&(i.defaultProfile=Object.keys(i.profiles)[0]),ko(i),P.success(`Removed profile "${r.profile}". The key itself stays active \u2014 revoke it with \`spree api-key revoke\` or in the admin.`)}),t.command("list").description("List saved profiles").action(()=>{let r=ar(),i=Object.keys(r.profiles);if(i.length===0){P.info("No profiles saved. Run `spree auth login` to add one.");return}(0,
|
|
341
|
+
`).filter(Boolean);if(s.length===0){P.info("No API keys found.");return}let o=s.map(a=>{let[c,d,p,u,l,m]=a.split("|");return{ID:c??"",Name:d??"",Type:p??"",Token:u??"",Created:l??"",Status:m==="active"?Ne.default.green(m):Ne.default.red(m??"")}});(0,ym.printTable)(o)}),t.command("revoke").description("Revoke an API key").argument("<id>","ID of the key to revoke (from api-key list)").action(async r=>{let i=g(),n=z();n.start("Revoking API key...");let o=(await Q("spree:cli:revoke_api_key",i.projectDir,{ID:r})).trim();n.stop(`API key "${o}" revoked.`)})}var gm=B(Nt(),1),J=B(X(),1);function _m(e){let t=e.command("auth").description("Manage Admin API credentials (profiles in ~/.config/spree)");t.command("login").description("Save a secret API key as a named profile").option("--profile <name>","profile name","default").option("--base-url <url>","store URL, e.g. https://store.example.com").action(async r=>{process.stdin.isTTY||(process.stderr.write(`${J.default.red("error:")} \`spree auth login\` is interactive. For non-interactive use, set SPREE_BASE_URL + SPREE_API_KEY (or pass --base-url/--api-key to \`spree api\`).
|
|
342
|
+
`),process.exit(2));let i=r.baseUrl;if(!i){let d=await mt({message:"Store URL:",placeholder:"https://store.example.com",validate(p){if(!p)return"URL is required";if(!/^https?:\/\//.test(p))return"Must start with http:// or https://"}});Y(d)&&(G("Cancelled."),process.exit(130)),i=d}i=i.replace(/\/$/,"");let n=await tn({message:"Secret API key (sk_...):",validate(d){if(!d)return"Key is required";if(!d.startsWith("sk_"))return"Admin API keys start with sk_"}});Y(n)&&(G("Cancelled."),process.exit(130));let s=n,o=z();o.start("Validating credentials...");let a=await ur(i,s);a.status==="unauthorized"&&(o.stop(J.default.red("The server rejected this key (401). Check the key and try again.")),process.exit(2)),a.status==="unreachable"&&(o.stop(J.default.red(`Could not reach ${i}: ${a.message}`)),process.exit(2)),o.stop(a.storeName?`Connected to ${J.default.bold(a.storeName)}.`:"Credentials accepted (key lacks read_settings, so the store name is hidden \u2014 that is fine).");let c=ar();c.profiles[r.profile]={baseUrl:i,token:s},c.defaultProfile||=r.profile,ko(c),ee([`${J.default.bold("Profile:")} ${r.profile}${c.defaultProfile===r.profile?J.default.dim(" (default)"):""}`,`${J.default.bold("Base URL:")} ${i}`,`${J.default.bold("Key:")} ${Fi(s)}${J.default.dim("\u2026")}`,"",J.default.dim(`Saved to ${dt()}`)].join(`
|
|
343
|
+
`),"Logged in")}),t.command("status").description("Show which credentials `spree api` would use, and verify them").option("--profile <name>","check a specific profile").action(async r=>{let i;try{i=await cr({profile:r.profile},{allowMint:!1})}catch(a){ut(a)}let n=z();n.start("Checking server...");let s=await ur(i.baseUrl,i.apiKey);n.stop("");let o=Bi(s);ee([`${J.default.bold("Source:")} ${i.source}${i.profileName?` (${i.profileName})`:""}`,`${J.default.bold("Base URL:")} ${i.baseUrl}`,`${J.default.bold("Key:")} ${i.tokenPrefix}${J.default.dim("\u2026")}`,...i.scopes?[`${J.default.bold("Scopes:")} ${i.scopes.join(", ")}`]:[],`${J.default.bold("Server:")} ${o}`].join(`
|
|
344
|
+
`),"Auth status"),Ui(s)&&(process.exitCode=1)}),t.command("logout").description("Remove a saved profile (or the project credentials)").option("--profile <name>","profile to remove","default").option("--project","remove .spree/credentials.json from the current project instead").action(async r=>{if(r.project){let n;try{n=g().projectDir}catch(o){ut(o)}(await import("fs")).rmSync(Mi(n),{force:!0}),P.success("Removed project credentials. The next `spree api` call mints a fresh read-only key.");return}let i=ar();if(!i.profiles[r.profile]){let n=Object.keys(i.profiles),s=n.length?` Saved profiles: ${n.join(", ")}.`:" No profiles are saved.";process.stderr.write(`${J.default.red("error:")} no profile named "${r.profile}".${s}
|
|
345
|
+
`),process.exit(2)}delete i.profiles[r.profile],i.defaultProfile===r.profile&&(i.defaultProfile=Object.keys(i.profiles)[0]),ko(i),P.success(`Removed profile "${r.profile}". The key itself stays active \u2014 revoke it with \`spree api-key revoke\` or in the admin.`)}),t.command("list").description("List saved profiles").action(()=>{let r=ar(),i=Object.keys(r.profiles);if(i.length===0){P.info("No profiles saved. Run `spree auth login` to add one.");return}(0,gm.printTable)(i.map(n=>({Profile:r.defaultProfile===n?`${n} *`:n,"Base URL":r.profiles[n].baseUrl,Key:`${Fi(r.profiles[n].token)}\u2026`})))})}import bm from"fs";import xm from"path";var Ze=B(X(),1);function wm(e){e.command("build").description("Rebuild the dev image (after Dockerfile / .ruby-version changes)").option("--reset-bundle","also wipe the bundle_cache volume to re-seed gems").option("--yes","skip confirmation prompts (for CI)").action(async t=>{let r=g();if(gt(r.projectDir)&&(G(["This project uses SPREE_PATH for monorepo development.",`Use ${Ze.default.bold("pnpm server:build")} from the monorepo root instead of ${Ze.default.bold("spree build")}.`,"It builds against the edge compose overlay the running stack was started with."].join(`
|
|
346
346
|
`)),process.exit(1)),iS(r.projectDir)||(console.error(`
|
|
347
|
-
${
|
|
348
|
-
`),process.exit(1)),t.resetBundle){if(!t.yes){let n=await
|
|
349
|
-
${
|
|
350
|
-
`),await K(["build","web","worker"],r.projectDir,{stdio:"inherit"}),ee([`Image rebuilt. Start the stack with ${
|
|
351
|
-
`),"Build complete")})}function iS(e){let t=
|
|
352
|
-
`)),process.exit(1)),P.info("web container is not running \u2014 using a one-off container (`docker compose run`) instead."),await K(["run","--rm","web","bundle",...t],r.projectDir,{stdio:"inherit"})})}var
|
|
347
|
+
${Ze.default.red("Error:")} docker-compose.yml has no \`build:\` section. Run ${Ze.default.bold("spree eject")} first to switch to a build-from-source stack.
|
|
348
|
+
`),process.exit(1)),t.resetBundle){if(!t.yes){let n=await lt({message:"Wipe the bundle_cache volume? Any gems added via `spree bundle add` since the last image build will be lost.",initialValue:!1});(Y(n)||!n)&&(G("Build cancelled."),process.exit(0))}let i=z();i.start("Wiping bundle_cache volume...");try{await K(["down"],r.projectDir,{stdio:"ignore"});let s=`${await nS(r.projectDir)}_bundle_cache`;await sS(s,r.projectDir)?(await me("docker",["volume","rm",s],{cwd:r.projectDir,stdio:"ignore"}),i.stop("bundle_cache volume wiped.")):i.stop(`bundle_cache volume not present (looked for ${s}).`)}catch(n){throw i.stop("Failed to wipe bundle_cache volume."),n}}console.log(`
|
|
349
|
+
${Ze.default.bold("Rebuilding dev image...")}
|
|
350
|
+
`),await K(["build","web","worker"],r.projectDir,{stdio:"inherit"}),ee([`Image rebuilt. Start the stack with ${Ze.default.bold("spree dev")}.`,t.resetBundle?`On next boot, gems will re-seed into a fresh ${Ze.default.dim("bundle_cache")} volume.`:""].filter(Boolean).join(`
|
|
351
|
+
`),"Build complete")})}function iS(e){let t=xm.join(e,"docker-compose.yml");return bm.existsSync(t)?/^\s*build\s*:/m.test(bm.readFileSync(t,"utf-8")):!1}async function nS(e){try{let{stdout:t}=await me("docker",["compose","config","--format","json"],{cwd:e}),r=JSON.parse(t);if(r.name)return r.name}catch{}return xm.basename(e).toLowerCase().replace(/[^a-z0-9_-]/g,"")}async function sS(e,t){try{return await me("docker",["volume","inspect",e],{cwd:t,stdio:"ignore"}),!0}catch{return!1}}var km=B(X(),1);function Sm(e){e.command("bundle").description("Run a bundler command (`bundle \u2026`) inside the web container").argument("<args...>","arguments to pass to bundle").allowUnknownOption(!0).passThroughOptions(!0).action(async t=>{let r=g();if(await El("web",r.projectDir)){await I(["bundle",...t],r.projectDir);return}gt(r.projectDir)&&(G(["The web container is not running, and this is a monorepo edge project.",`Run ${km.default.bold("pnpm server:dev")} from the monorepo root \u2014 the edge stack heals gem drift on boot.`].join(`
|
|
352
|
+
`)),process.exit(1)),P.info("web container is not running \u2014 using a one-off container (`docker compose run`) instead."),await K(["run","--rm","web","bundle",...t],r.projectDir,{stdio:"inherit"})})}var vm=["/admin_users","/allowed_origins","/api_keys","/auth","/channels","/custom_field_definitions","/customer_groups","/customers","/exports","/gift_card_batches","/gift_cards","/invitations","/markets","/me","/option_types","/orders","/payment_methods","/price_lists","/prices","/products","/promotion_actions","/promotion_rules","/promotions","/roles","/stock_locations","/store","/store_credit_categories","/tags","/webhook_endpoints"];var qm=["bash","zsh","fish"],aS=["eq","not_eq","cont","not_cont","start","end","in","not_in","gt","gteq","lt","lteq","null","not_null","present","blank"],cS=["get","post","patch","delete","endpoints","schema","status"],pS=["read_all","write_all","read_orders","write_orders","read_products","write_products","read_promotions","write_promotions","read_customers","write_customers","read_payments","write_payments","read_fulfillments","write_fulfillments","read_refunds","write_refunds","read_gift_cards","write_gift_cards","read_store_credits","write_store_credits","read_stock","write_stock","read_categories","write_categories","read_settings","write_settings","read_webhooks","write_webhooks","read_api_keys","write_api_keys","read_dashboard"];function dS(e){let[t,r,...i]=e,n=e[e.length-1]??"",s=e[e.length-2]??"";if(e.length<=1)return rn(["api","auth",...uS],n);if((s==="-q"||s==="--query")&&n.includes("_")&&!n.includes("=")){let o=n.slice(0,n.lastIndexOf("_")+1);return aS.map(a=>`${o}${a}=`)}if(s==="--scopes"){let o=n.includes(",")?n.slice(n.lastIndexOf(",")+1):n,a=n.slice(0,n.length-o.length);return rn(pS,o).map(c=>a+c)}if(t==="api"){if(e.length===2)return rn(cS,n);if(["get","post","patch","delete","schema"].includes(r)&&i.length<=1)return rn(vm,n)}return[]}var uS=["api-key","dev","console","migrate"];function rn(e,t){return t?e.filter(r=>r.startsWith(t)):e}function lS(e){return e==="fish"?`# spree fish completion \u2014 eval "$(spree completion fish)"
|
|
353
353
|
function __spree_complete
|
|
354
354
|
set -l tokens (commandline -opc) (commandline -ct)
|
|
355
355
|
spree __complete $tokens[2..-1]
|
|
@@ -368,26 +368,26 @@ _spree() {
|
|
|
368
368
|
COMPREPLY=( $(spree __complete "\${words[@]}") )
|
|
369
369
|
}
|
|
370
370
|
complete -F _spree spree
|
|
371
|
-
`}function
|
|
371
|
+
`}function $m(e){e.command("completion <shell>").description("Output a shell completion script (bash, zsh, or fish)").action(t=>{if(!qm.includes(t)){process.stderr.write(`Unsupported shell "${t}". Choose one of: ${qm.join(", ")}.
|
|
372
372
|
`),process.exitCode=2;return}process.stdout.write(lS(t))}),e.command("__complete",{hidden:!0}).allowUnknownOption().argument("[words...]").action(t=>{for(let r of dS(t??[]))process.stdout.write(`${r}
|
|
373
|
-
`)})}function
|
|
373
|
+
`)})}function Cm(e){e.command("console").description("Open Rails console").action(async()=>{let t=g();await I(["bin/rails","console"],t.projectDir)})}function Am(e){e.command("db:reset").description("Drop, create, migrate, and seed the dev database (destructive)").option("--yes","skip the confirmation prompt (for CI)").action(async t=>{let r=g();if(!t.yes){let i=await lt({message:"This will drop the spree_development database. Continue?",initialValue:!1});(Y(i)||!i)&&(G("Cancelled."),process.exit(0))}await I(["bin/rails","db:drop","db:create","spree:install:migrations","db:migrate","db:seed"],r.projectDir)}),e.command("db:console").description("Open a psql session against the dev database").action(async()=>{let t=g();await I(["psql","-U","postgres","spree_development"],t.projectDir,{service:"postgres"})})}var Ae=B(X(),1);function Em(e){e.command("dev").description("Run the app in the foreground \u2014 streams web + worker logs; Ctrl+C stops them").action(async()=>{let t=g();gt(t.projectDir)&&(G(["This project uses SPREE_PATH for monorepo development.",`Use ${Ae.default.bold("pnpm server:dev")} from the monorepo root instead of ${Ae.default.bold("spree dev")}.`,"It loads the edge compose overlay and sets SPREE_PATH so the Spree gems resolve to the monorepo source."].join(`
|
|
374
374
|
`)),process.exit(1)),ee(["",Ae.default.bold("Admin Dashboard"),` ${Ae.default.cyan(`http://localhost:${t.port}/admin`)}`,` Email: ${vr}`,` Password: ${qr}`,"",Ae.default.bold("Store API"),` ${Ae.default.cyan(`http://localhost:${t.port}/api/v3/store`)}`,""].join(`
|
|
375
375
|
`),"Spree Commerce"),P.info(`Starting services \u2014 web + worker logs stream below. ${Ae.default.bold("Ctrl+C")} stops them (databases keep running; ${Ae.default.bold("spree stop")} shuts everything down).
|
|
376
|
-
`);let r=()=>{};process.on("SIGINT",r);let i;try{i=await K(["up","web","worker"],t.projectDir,{stdio:"inherit",reject:!1})}finally{process.off("SIGINT",r)}let n=i.exitCode??0;n!==0&&n!==130&&(G(`docker compose exited with code ${n} \u2014 see the output above.`),process.exit(n)),
|
|
376
|
+
`);let r=()=>{};process.on("SIGINT",r);let i;try{i=await K(["up","web","worker"],t.projectDir,{stdio:"inherit",reject:!1})}finally{process.off("SIGINT",r)}let n=i.exitCode??0;n!==0&&n!==130&&(G(`docker compose exited with code ${n} \u2014 see the output above.`),process.exit(n)),mm(`Web + worker stopped. Databases keep running \u2014 ${Ae.default.bold("spree stop")} shuts everything down.`)})}import yr from"fs";import Lo from"path";var ce=B(X(),1);function Tm(e){e.command("eject").description("Switch to the dev compose: bind-mount ./backend with hot reload").action(async()=>{let t=g(),r=Lo.join(t.projectDir,"backend");yr.existsSync(r)||(console.error(`
|
|
377
377
|
${ce.default.red("Error:")} No backend/ directory found.
|
|
378
|
-
`),process.exit(1));let i=
|
|
378
|
+
`),process.exit(1));let i=Lo.join(t.projectDir,"docker-compose.dev.yml");yr.existsSync(i)||(console.error(`
|
|
379
379
|
${ce.default.red("Error:")} No docker-compose.dev.yml found.
|
|
380
|
-
`),process.exit(1));let n=yr.readFileSync(i,"utf-8");n.includes("- .:/rails")&&(n=n.replace("- .:/rails","- ./backend:/rails"),yr.writeFileSync(i,n)),yr.writeFileSync(
|
|
380
|
+
`),process.exit(1));let n=yr.readFileSync(i,"utf-8");n.includes("- .:/rails")&&(n=n.replace("- .:/rails","- ./backend:/rails"),yr.writeFileSync(i,n)),yr.writeFileSync(Lo.join(t.projectDir,"docker-compose.yml"),n),console.log(`
|
|
381
381
|
${ce.default.bold("Switching to dev compose (bind-mounts ./backend)...")}
|
|
382
382
|
`),await K(["up","-d"],t.projectDir,{stdio:"inherit"}),console.log(`
|
|
383
383
|
${ce.default.bold("Preparing the development database...")}
|
|
384
384
|
`),await I(["bin/rails","db:prepare"],t.projectDir,{tty:!1}),ee([`Backend is now bind-mounted from ${ce.default.bold("./backend")} \u2014 edits are live.`,"",`The dev stack uses its own ${ce.default.bold("spree_development")} database (just`,`created and seeded). Load demo products with ${ce.default.bold("spree sample-data")}.`,"","You can now customize:",` ${ce.default.dim("backend/app/")} \u2014 models, controllers, services (instant reload)`,` ${ce.default.dim("backend/config/")} \u2014 Rails configuration (instant reload)`,` ${ce.default.dim("backend/Gemfile")} \u2014 add gems via ${ce.default.bold("spree bundle add <gem>")}`,"",`Rebuild only on Dockerfile / .ruby-version changes: ${ce.default.bold("spree build")}`].join(`
|
|
385
|
-
`),"Ejected!")})}function
|
|
386
|
-
`),"Your Spree store is ready!"),t.open&&await
|
|
387
|
-
`),await Li("web",r.projectDir)})}async function gS(e){let t=`http://localhost:${e}/up`,r=Date.now();for(;Date.now()-r<
|
|
385
|
+
`),"Ejected!")})}function Pm(e){e.command("exec").description("Run an arbitrary command inside the web container").argument("<command...>","command and arguments to run").allowUnknownOption(!0).passThroughOptions(!0).action(async t=>{let r=g();await I(t,r.projectDir)})}var mS=new Set(["migration","controller","scaffold","scaffold_controller","mailer","job","channel","helper","resource","integration_test","system_test","task","generator","benchmark"]);function Om(e){e.command("generate").alias("g").description("Run a generator (Spree generators auto-prefixed; Rails built-ins forwarded as-is)").argument("<name>","generator name (`model`, `model_decorator`, `migration`, \u2026)").argument("[args...]","arguments to pass to the generator").allowUnknownOption(!0).passThroughOptions(!0).action(async(t,r)=>{let i=g(),n=t.includes(":")||mS.has(t)?t:`spree:${t}`;await I(["bin/rails","g",n,...r],i.projectDir)})}import Mo from"fs";import{platform as hS}from"os";import yS from"path";var Ee=B(X(),1);var fS=3e3,Im=12e4;function Rm(e){e.command("init").description("First-run setup: start services, configure API key, load sample data").option("--no-sample-data","skip loading sample data").option("--no-open","skip opening browser").action(async t=>{let r=g();P.step("Pulling latest images..."),await K(["pull"],r.projectDir,{stdio:"inherit"});let i=z();i.start("Starting Docker services..."),await K(["up","-d"],r.projectDir),i.stop("Docker services started."),i.start("Waiting for Spree to be ready..."),await gS(r.port),i.stop("Spree is ready."),i.start("Seeding database..."),await Q("db:seed",r.projectDir),i.stop("Database seeded."),i.start("Configuring API keys...");let n=await _S(r.projectDir);xS(r.projectDir,n);let s=await bS(r.projectDir,r.port);i.stop("API keys configured."),t.sampleData&&(i.start("Loading sample data..."),await Q("spree:load_sample_data",r.projectDir),i.stop("Sample data loaded.")),i.start("Indexing products for search..."),await Q("spree:search:reindex",r.projectDir),i.stop("Search index ready."),ee(["",Ee.default.bold("Admin Dashboard"),` ${Ee.default.cyan(`http://localhost:${r.port}/admin`)}`,` Email: ${vr}`,` Password: ${qr}`,"",Ee.default.bold("Store API"),` ${Ee.default.cyan(`http://localhost:${r.port}/api/v3/store`)}`,` Publishable key: ${Ee.default.cyan(n)}`,"",Ee.default.bold("Admin API"),` ${Ee.default.cyan(`http://localhost:${r.port}/api/v3/admin`)}`,` Secret key: ${Ee.default.cyan(s)}`,` ${Ee.default.dim("Saved to .spree/credentials.json")}`,""].join(`
|
|
386
|
+
`),"Your Spree store is ready!"),t.open&&await wS(`http://localhost:${r.port}/admin`),P.info(`Streaming logs (Ctrl+C to stop)...
|
|
387
|
+
`),await Li("web",r.projectDir)})}async function gS(e){let t=`http://localhost:${e}/up`,r=Date.now();for(;Date.now()-r<Im;){try{if((await fetch(t)).ok)return}catch{}await new Promise(i=>setTimeout(i,fS))}throw new Error(`Spree did not become healthy within ${Im/1e3}s`)}async function _S(e){let t=await Q("spree:cli:ensure_api_key",e),r=t.match(/pk_[A-Za-z0-9_-]+/);if(!r)throw new Error(`Could not extract API key from Rails output: ${t}`);return r[0]}async function bS(e,t){let{token:r}=await So(e,t,!0);return r}function xS(e,t){let r=yS.join(e,"apps","storefront",".env.local");if(!Mo.existsSync(r))return;let i=Mo.readFileSync(r,"utf-8");Mo.writeFileSync(r,i.replace(/SPREE_PUBLISHABLE_KEY=.*/,`SPREE_PUBLISHABLE_KEY=${t}`))}async function wS(e){let t=hS(),r=t==="darwin"?"open":t==="win32"?"start":"xdg-open";try{await Di(`${r} ${e}`,{stdio:"ignore"})}catch{}}function jm(e){e.command("logs").description("Stream service logs").argument("[service]","service name (web or worker)","web").action(async t=>{let r=g();await Li(t,r.projectDir)})}var nn=B(X(),1);function Dm(e){e.command("migrate").description("Install pending Spree migrations from gems, then run them (`spree:install:migrations` + `db:migrate`)").argument("[args...]","extra args forwarded to db:migrate").allowUnknownOption(!0).passThroughOptions(!0).action(async t=>{let r=g();console.log(`
|
|
388
388
|
${nn.default.bold("\u2192 Installing pending Spree migrations from gems...")}`),await I(["bin/rails","spree:install:migrations"],r.projectDir),console.log(`
|
|
389
|
-
${nn.default.bold("\u2192 Running db:migrate...")}`),await I(["bin/rails","db:migrate",...t],r.projectDir),ee(`Run ${nn.default.bold("spree migrate:status")} to inspect the migration log.`,"Migrations up to date")}),e.command("migrate:rollback").description("Roll back the last migration (`STEP=n` to roll back n steps)").argument("[args...]","extra args forwarded to db:rollback (e.g. STEP=2)").allowUnknownOption(!0).passThroughOptions(!0).action(async t=>{let r=g();await I(["bin/rails","db:rollback",...t],r.projectDir)}),e.command("migrate:status").description("Show migration status (`bin/rails db:migrate:status`)").action(async()=>{let t=g();await I(["bin/rails","db:migrate:status"],t.projectDir)})}import{platform as
|
|
390
|
-
`).map(r=>r.trim()).filter(r=>r.length>0&&r.startsWith("spree"))}async function
|
|
391
|
-
`),"Next steps")}var
|
|
392
|
-
${
|
|
393
|
-
`),process.exit(t)}}
|
|
389
|
+
${nn.default.bold("\u2192 Running db:migrate...")}`),await I(["bin/rails","db:migrate",...t],r.projectDir),ee(`Run ${nn.default.bold("spree migrate:status")} to inspect the migration log.`,"Migrations up to date")}),e.command("migrate:rollback").description("Roll back the last migration (`STEP=n` to roll back n steps)").argument("[args...]","extra args forwarded to db:rollback (e.g. STEP=2)").allowUnknownOption(!0).passThroughOptions(!0).action(async t=>{let r=g();await I(["bin/rails","db:rollback",...t],r.projectDir)}),e.command("migrate:status").description("Show migration status (`bin/rails db:migrate:status`)").action(async()=>{let t=g();await I(["bin/rails","db:migrate:status"],t.projectDir)})}import{platform as kS}from"os";function Lm(e){e.command("open").description("Open the admin dashboard in the browser").action(async()=>{let r=`http://localhost:${g().port}/admin`,i=kS();await Di(`${i==="darwin"?"open":i==="win32"?"start":"xdg-open"} ${r}`)})}function Mm(e){e.command("rails").description("Run a Rails command (`bin/rails \u2026`) inside the web container").argument("<args...>","arguments to pass to bin/rails").allowUnknownOption(!0).passThroughOptions(!0).action(async t=>{let r=g();await I(["bin/rails",...t],r.projectDir)})}function Fm(e){e.command("rake").description("Run a rake task (`bin/rake \u2026`) inside the web container").argument("<args...>","task name and arguments").allowUnknownOption(!0).passThroughOptions(!0).action(async t=>{let r=g();await I(["bin/rake",...t],r.projectDir)})}function Um(e){e.command("restart").description("Restart web + worker in place (does not reload Gemfile or compose changes)").action(async()=>{let t=g(),r=z();r.start("Restarting web + worker...");try{await K(["restart","web","worker"],t.projectDir),r.stop("Services restarted.")}catch(i){throw r.stop("Restart failed."),i}})}function Bm(e){e.command("routes").description("Show Rails routes (`bin/rails routes`)").argument("[args...]","arguments to pass to bin/rails routes").allowUnknownOption(!0).passThroughOptions(!0).action(async t=>{let r=g();await I(["bin/rails","routes",...t],r.projectDir)})}function Nm(e){e.command("sample-data").description("Load sample data (products, categories, images)").action(async()=>{let t=g(),r=z();r.start("Loading sample data..."),await Q("spree:load_sample_data",t.projectDir),r.stop("Sample data loaded.")})}function Gm(e){e.command("seed").description("Seed the database").action(async()=>{let t=g(),r=z();r.start("Seeding database..."),await Q("db:seed",t.projectDir),r.stop("Database seeded.")})}function zm(e){e.command("stop").description("Stop services").action(async()=>{let t=g(),r=z();r.start("Stopping services..."),await K(["stop"],t.projectDir),r.stop("Services stopped.")})}function Vm(e){e.command("task").description("Run a Spree rake task (auto-prefixes `spree:`)").argument("<name>","task name (without `spree:` prefix)").argument("[args...]","arguments to pass to the task").allowUnknownOption(!0).passThroughOptions(!0).action(async(t,r)=>{let i=g();await I(["bin/rake",`spree:${t}`,...r],i.projectDir)})}function Wm(e){e.command("update").description("Pull latest image and recreate containers").action(async()=>{let t=g();P.step("Pulling latest images..."),await K(["pull"],t.projectDir,{stdio:"inherit"});let r=z();r.start("Recreating containers..."),await K(["up","-d"],t.projectDir),r.stop("Containers recreated."),P.success("Update complete! Migrations will run automatically on startup."),P.info("Run `spree logs` to follow the startup progress.")})}import Hm from"fs";import SS from"path";var Te=B(X(),1);function Km(e){e.command("upgrade").description("Walk through a Spree version upgrade (bundle + migrate + spree:upgrade)").option("--plan","print the plan via spree:upgrade DRY_RUN=1; skip bundle + migrate").option("--step <id>","run a single rake step by id (skips bundle + migrate)").option("--to <version>","explicit target version (auto-detected from installed gem otherwise)").option("--yes","skip prompts on automated steps").action(async t=>{let r=g();t.plan||t.step||(await vS(r.projectDir,t),await $S(r.projectDir,t)),await CS(r.projectDir,t),t.plan||ES(r.projectDir)})}async function vS(e,t){if(!t.yes){let i=await lt({message:"Run `bundle update` to bump Spree gems?",initialValue:!0});if(Y(i)&&(G("Upgrade aborted."),process.exit(0)),!i){P.info("Skipping `bundle update`.");return}}let r=await qS(e);if(r.length===0)throw new Error('No Spree gems detected in Gemfile.lock. Confirm the project has `gem "spree"` (or `spree_core`/`spree_admin`) in its Gemfile.');P.step(Te.default.bold(`bundle update ${r.join(" ")}`)),await I(["bundle","update",...r],e)}async function qS(e){let{stdout:t}=await me("docker",["compose","exec","-T","web","sh","-c","bundle list --name-only 2>/dev/null | grep '^spree' || true"],{cwd:e});return t.split(`
|
|
390
|
+
`).map(r=>r.trim()).filter(r=>r.length>0&&r.startsWith("spree"))}async function $S(e,t){if(!t.yes){let r=await lt({message:"Install + run pending migrations?",initialValue:!0});if(Y(r)&&(G("Upgrade aborted."),process.exit(0)),!r){P.info("Skipping migrations.");return}}P.step(Te.default.bold("spree:install:migrations + db:migrate")),await I(["bin/rails","spree:install:migrations","db:migrate"],e)}async function CS(e,t){let r={};t.plan&&(r.DRY_RUN="1"),t.step&&(r.STEP=t.step),t.to&&(r.TO=t.to),P.step(Te.default.bold("spree:upgrade")),await I(["bin/rake","spree:upgrade"],e,{env:r})}function AS(e){let t="Update @spree/sdk in any storefront or integration consuming the API",r=SS.join(e,"apps","storefront","package.json");if(!Hm.existsSync(r))return t;try{let i=JSON.parse(Hm.readFileSync(r,"utf-8")),n=i.dependencies?.["@spree/sdk"]??i.devDependencies?.["@spree/sdk"];return n?`Update @spree/sdk in apps/storefront (currently ${n}) to the release matching the new Spree version`:t}catch{return t}}function ES(e){ee([`The manifest only ran ${Te.default.bold("rake-automatable")} steps.`,"","Don't forget the manual parts from the upgrade doc:",` ${Te.default.dim("- Schedule Spree::StockReservations::ExpireJob (cron)")}`,` ${Te.default.dim(`- ${AS(e)}`)}`,` ${Te.default.dim("- Review behavior changes (cart, availability, payment-method types)")}`,` ${Te.default.dim("- Audit custom decorators against renamed APIs")}`,"",`Full checklist: ${Te.default.cyan("https://spreecommerce.org/docs/developer/upgrades")}`].join(`
|
|
391
|
+
`),"Next steps")}var Ym=B(X(),1);function Jm(e){e.command("user").description("Manage admin users").command("create").description("Create an admin user").option("--email <email>","admin email").option("--password <password>","admin password").action(async r=>{let i=g(),n=r.email,s=r.password;if(!n){let a=await mt({message:"Admin email:",placeholder:"admin@example.com",validate(c){if(!c)return"Email is required";if(!c.includes("@"))return"Invalid email"}});Y(a)&&(G("Cancelled."),process.exit(0)),n=a}if(!s){let a=await tn({message:"Admin password:",validate(c){if(!c||c.length<6)return"Password must be at least 6 characters"}});Y(a)&&(G("Cancelled."),process.exit(0)),s=a}let o=z();o.start("Creating admin user..."),await Q("spree:cli:create_admin",i.projectDir,{EMAIL:n,PASSWORD:s}),o.stop("Admin user created."),P.success(`Email: ${Ym.default.cyan(n)}`)})}var D=new Zo().name("spree").description("CLI for managing Spree Commerce projects").version("2.0.0").enablePositionalOptions().showSuggestionAfterError(!0).showHelpAfterError("(run `spree --help` for usage)").exitOverride(e=>{(e.code.startsWith("commander.help")||e.code==="commander.version")&&process.exit(0),process.exit(2)});Rm(D);Em(D);zm(D);Um(D);Wm(D);jm(D);Tm(D);wm(D);Om(D);Dm(D);Am(D);Bm(D);Km(D);Pm(D);Mm(D);Sm(D);Fm(D);Vm(D);Cm(D);Jm(D);fm(D);Lm(D);Gm(D);Nm(D);Vl(D);_m(D);$m(D);async function TS(){try{await D.parseAsync()}catch(e){e instanceof Error&&"code"in e&&(e.code==="commander.helpDisplayed"||e.code==="commander.version")&&process.exit(0),e instanceof Error&&"code"in e&&String(e.code).startsWith("commander.")&&process.exit(2);let t=e instanceof Error&&e.constructor.name==="CredentialError"?2:1,r=e instanceof Error?e.message:"An unexpected error occurred.";console.error(`
|
|
392
|
+
${Xm.default.red("Error:")} ${r}
|
|
393
|
+
`),process.exit(t)}}TS();
|