@spree/cli 2.2.1 → 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.
Files changed (2) hide show
  1. package/dist/index.js +117 -117
  2. 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 Zm=Object.create;var Mo=Object.defineProperty;var eh=Object.getOwnPropertyDescriptor;var th=Object.getOwnPropertyNames;var rh=Object.getPrototypeOf,ih=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 nh=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of th(t))!ih.call(e,n)&&n!==r&&Mo(e,n,{get:()=>t[n],enumerable:!(i=eh(t,n))||i.enumerable});return e};var B=(e,t,r)=>(r=e!=null?Zm(rh(e)):{},nh(t||!e||!e.__esModule?Mo(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:sh}=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 sh(`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 oh(e){let t=e.name()+(e.variadic===!0?"...":"");return e.required?"<"+t+">":"["+t+"]"}cn.Argument=an;cn.humanReadableArgName=oh});var un=q(dn=>{"use strict";var{humanReadableArgName:ah}=_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=>ah(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 Fo(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,`
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 Fo(e){let t=/\x1b\[\d*(;\d*)*m/g;return e.replace(t,"")}dn.Help=pn;dn.stripColor=Fo});var yn=q(hn=>{"use strict";var{InvalidArgumentError:ch}=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=ph(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 ch(`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?Uo(this.name().replace(/^no-/,"")):Uo(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 Uo(e){return e.split("-").reduce((t,r)=>t+r[0].toUpperCase()+r.slice(1))}function ph(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}
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 No=q(Bo=>{"use strict";function dh(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 uh(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=dh(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?`
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]}?)`:""}Bo.suggestSimilar=uh});var Wo=q(xn=>{"use strict";var lh=se("events").EventEmitter,fn=se("child_process"),Re=se("path"),br=se("fs"),T=se("process"),{Argument:mh,humanReadableArgName:hh}=_r(),{CommanderError:gn}=Dt(),{Help:yh,stripColor:fh}=un(),{Option:Go,DualOptions:gh}=yn(),{suggestSimilar:zo}=No(),_n=class e extends lh{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=>fh(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 yh,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 mh(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 Go(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 Go)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.
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=Re.resolve(p,u);if(br.existsSync(l))return l;if(n.includes(Re.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=Re.resolve(Re.dirname(p),a)}if(a){let p=s(a,o);if(!p&&!t._executableFile&&this._scriptPath){let u=Re.basename(this._scriptPath,Re.extname(this._scriptPath));u!==this._name&&(p=s(a,`${u}-${t._name}`))}o=p||o}i=n.includes(Re.extname(o));let c;T.platform!=="win32"?i?(r.unshift(o),r=Vo(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=Vo(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}
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 gh(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=zo(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=zo(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=>hh(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=Re.basename(t,Re.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.
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=zh;var Vh=(e,t)=>e.split(" ").reduce((r,i)=>Math.max(r,(0,En.findWidthInConsole)(i,t)),0);xe.biggestWordInSentence=Vh});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 ua=An(),Pn=Tn(),On=Lt(),yt=(e,t)=>Math.max(e,t),Wh=e=>e==null?"":`${e}`;M.cellText=Wh;var Hh=(e,t)=>t?`${t(e)}`:(0,M.cellText)(e);M.evaluateCellText=Hh;var Kh=e=>{if(e)return{color:e.color,separator:e.separator||On.DEFAULT_ROW_SEPARATOR}};M.convertRawRowOptionsToStandard=Kh;var Yh=({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=Yh;var Jh=e=>({name:e,title:e});M.createColumFromOnlyName=Jh;var Xh=(e,t,r)=>({color:e,separator:r,text:t});M.createRow=Xh;var Qh=(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,ua.findWidthInConsole)(n,r)),t.forEach(a=>{o=yt(o,(0,ua.findWidthInConsole)((0,M.evaluateCellText)(a.text[i],s),r))}),o)};M.findLenOfColumn=Qh;var Zh=(e,t)=>(0,M.createTableHorizontalBorders)(e,t);M.renderTableHorizontalBorders=Zh;var ey=(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=ey;var ty=(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=ty});var la=q(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.rawColumnToInternalColumn=je.objIfExists=void 0;var ry=Lt(),iy=(e,t)=>t?{[e]:t}:{};je.objIfExists=iy;var ny=(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,je.objIfExists)("color",e.color||t?.color)),(0,je.objIfExists)("maxLen",e.maxLen||t?.maxLen)),(0,je.objIfExists)("minLen",e.minLen||t?.minLen)),{alignment:e.alignment||t?.alignment||ry.DEFAULT_ROW_ALIGNMENT,transform:e.transform})};je.rawColumnToInternalColumn=ny});var ma=q(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.preProcessRows=ft.preProcessColumns=void 0;var sy=Ut(),oy=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)}))})},ay=e=>{e.enabledColumns.length&&(e.columns=e.columns.filter(t=>e.enabledColumns.includes(t.name)))},cy=e=>{e.disabledColumns.length&&(e.columns=e.columns.filter(t=>!e.disabledColumns.includes(t.name)))},py=e=>{e.columns.forEach(t=>{t.length=(0,sy.findLenOfColumn)(t,e.rows,e.charLength)})},dy=e=>{oy(e),cy(e),ay(e),py(e)};ft.preProcessColumns=dy;var uy=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=uy});var In=q(de=>{"use strict";var ya=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 fa=ya(vn()),ga=Tn(),ye=Lt(),Ge=Ut(),ly=ya(Rn()),ha=ma(),my=(e,t,r,i,n,s,o,a)=>{let c=new fa.default(o);return c.addCharsWithColor("",e.vertical),t.forEach(d=>{let u=r<i[d.name].length?(0,Ge.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,ga.textWithPadding)(u,d.alignment||ye.DEFAULT_ROW_ALIGNMENT,d.length||ye.DEFAULT_COLUMN_LEN,a)),c.addCharsWithColor("",` ${e.vertical}`)}),c.renderConsole()},_a=(e,t,r,i,n,s)=>{let o=(0,Ge.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=my(e,t,d,o,n,r,i,s);c.push(p)}return c},hy=(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},yy=(e,t)=>{let r=[],i=hy(t,e.columns);return r=r.concat(_a(e.tableStyle,e.columns,i,e.colorMap,void 0,e.charLength)),r},fy=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,ga.textWithPadding)(e.title,ye.DEFAULT_HEADER_ALIGNMENT,r()),n=new fa.default(e.colorMap);return n.addCharsWithColor(ye.DEFAULT_HEADER_FONT_COLOR,i),t.push(n.renderConsole()),t},gy=e=>{let t=[];t.push((0,Ge.renderTableHorizontalBorders)(e.tableStyle.headerTop,e.columns.map(i=>i.length||ye.DEFAULT_COLUMN_LEN)));let r=(0,Ge.createHeaderAsRow)(Ge.createRow,e.columns);return t=t.concat(_a(e.tableStyle,e.columns,r,e.colorMap,!0)),t.push((0,Ge.renderTableHorizontalBorders)(e.tableStyle.headerBottom,e.columns.map(i=>i.length||ye.DEFAULT_COLUMN_LEN))),t},_y=e=>{let t=[];return t.push((0,Ge.renderTableHorizontalBorders)(e.tableStyle.tableBottom,e.columns.map(r=>r.length||ye.DEFAULT_COLUMN_LEN))),t},by=(e,t)=>{let r=[],i=e.rows.length-1;return e.rows.indexOf(t)!==i&&t.separator&&r.push((0,Ge.renderTableHorizontalBorders)(e.tableStyle.rowSeparator,e.columns.map(s=>s.length||ye.DEFAULT_COLUMN_LEN))),r},xy=e=>{(0,ha.preProcessColumns)(e),(0,ha.preProcessRows)(e);let t=[];return fy(e).forEach(r=>t.push(r)),gy(e).forEach(r=>t.push(r)),e.rows.forEach(r=>{yy(e,r).forEach(i=>t.push(i)),by(e,r).forEach(i=>t.push(i))}),_y(e).forEach(r=>t.push(r)),t.join(`
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 So=B(Nt(),1),ae=B(X(),1);var or=B(X(),1);import Ue from"fs";import ok 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=Iy(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 Iy(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 Ry}from"url";var _t=(e,t)=>{let r=Gn(jy(e));if(typeof r!="string")throw new TypeError(`${t} must be a string or a file URL: ${r}.`);return r},jy=e=>Nn(e)?e.toString():e,Nn=e=>typeof e!="string"&&e&&Object.getPrototypeOf(e)===String.prototype,Gn=e=>e instanceof URL?Ry(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 Ny}from"child_process";import{StringDecoder as Dy}from"string_decoder";var{toString:va}=Object.prototype,qa=e=>va.call(e)==="[object ArrayBuffer]",H=e=>va.call(e)==="[object Uint8Array]",De=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength),Ly=new TextEncoder,$a=e=>Ly.encode(e),My=new TextDecoder,Ar=e=>My.decode(e),Ca=(e,t)=>Fy(e,t).join(""),Fy=(e,t)=>{if(t==="utf8"&&e.every(s=>typeof s=="string"))return e;let r=new Dy(t),i=e.map(s=>typeof s=="string"?$a(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(Uy(e)),Uy=e=>e.map(t=>typeof t=="string"?$a(t):t),zn=e=>{let t=new Uint8Array(By(e)),r=0;for(let i of e)t.set(i,r),r+=i.length;return t},By=e=>{let t=0;for(let r of e)t+=r.length;return t};var Pa=e=>Array.isArray(e)&&Array.isArray(e.raw),Oa=(e,t)=>{let r=[];for(let[s,o]of e.entries())r=Gy({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,{}]},Gy=({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}=zy(n,e.raw[i]),c=Ea(r,s,o);if(i===t.length)return c;let d=t[i],p=Array.isArray(d)?d.map(u=>Ta(u)):[Ta(d)];return Ea(c,p,a)},zy=(e,t)=>{if(t.length===0)return{nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};let r=[],i=0,n=Aa.has(t[0]);for(let o=0,a=0;o<e.length;o+=1,a+=1){let c=t[a];if(Aa.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+=Vy[d]??1}}let s=i===e.length;return s||r.push(e.slice(i)),{nextTokens:r,leadingWhitespaces:n,trailingWhitespaces:s}},Aa=new Set([" "," ","\r",`
35
- `]),Vy={x:3,u:5},Ea=(e,t,r)=>r||e.length===0||t.length===0?[...e,...t]:[...e.slice(0,-1),`${e.at(-1)}${t[0]}`,...t.slice(1)],Ta=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 Wy(e);throw e instanceof Ny||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`)},Wy=({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 Xx}from"child_process";import{debuglog as Hy}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 Ra=e=>{let t={...e};for(let r of Kn)t[r]=Wn(e,r);return t},Wn=(e,t)=>{let r=Array.from({length:Ky(e)+1}),i=Yy(e[t],r,t);return ef(i,t)},Ky=({stdio:e})=>Array.isArray(e)?Math.max(e.length,ue.length):ue.length,Yy=(e,t,r)=>V(e)?Jy(e,t,r):t.fill(e),Jy=(e,t,r)=>{for(let i of Object.keys(e).sort(Xy))for(let n of Qy(i,r,t))t[n]=e[i];return t},Xy=(e,t)=>Ia(e)<Ia(t)?1:-1,Ia=e=>e==="stdout"||e==="stderr"?0:e==="all"?2:1,Qy=(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.
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=Zy.exec(e);if(t!==null)return Number(t[1])},Zy=/^fd(\d+)$/,ef=(e,t)=>e.map(r=>r===void 0?rf[t]:r),tf=Hy("execa").enabled?"full":"none",rf={lines:!1,buffer:!0,maxBuffer:1e3*1e3*100,verbose:tf,stripFinalNewline:!0},Kn=["lines","buffer","maxBuffer","verbose","stripFinalNewline"],Le=(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)),ja=({verbose:e},t)=>{let r=Yn(e,t);return Pr(r)?r:void 0},Yn=(e,t)=>t===void 0?nf(e):Le(e,t),nf=e=>e.find(t=>Pr(t))??Or.findLast(t=>e.includes(t)),Pr=e=>typeof e=="function",Or=["none","short","full"];import{inspect as $f}from"util";import{platform as sf}from"process";import{stripVTControlCharacters as of}from"util";var Da=(e,t)=>{let r=[e,...t],i=r.join(" "),n=r.map(s=>lf(La(s))).join(" ");return{command:i,escapedCommand:n}},Vt=e=>of(e).split(`
38
- `).map(t=>La(t)).join(`
39
- `),La=e=>e.replaceAll(pf,t=>af(t)),af=e=>{let t=df[e];if(t!==void 0)return t;let r=e.codePointAt(0),i=r.toString(16);return r<=uf?`\\u${i.padStart(4,"0")}`:`\\U${i}`},cf=()=>{try{return new RegExp("\\p{Separator}|\\p{Other}","gu")}catch{return/[\s\u0000-\u001F\u007F-\u009F\u00AD]/g}},pf=cf(),df={" ":" ","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},uf=65535,lf=e=>mf.test(e)?e:sf==="win32"?`"${e.replaceAll('"','""')}"`:`'${e.replaceAll("'","'\\''")}'`,mf=/^[\w./-]+$/;import Ma from"process";function Jn(){let{env:e}=Ma,{TERM:t,TERM_PROGRAM:r}=e;return Ma.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 Fa={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"},Ua={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"},hf={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"},yf={...Fa,...Ua},ff={...Fa,...hf},gf=Jn(),_f=gf?yf:ff,Ir=_f,Hv=Object.entries(Ua);import bf from"tty";var xf=bf?.WriteStream?.prototype?.hasColors?.()??!1,k=(e,t)=>{if(!xf)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}},Jv=k(0,0),Ba=k(1,22),Xv=k(2,22),Qv=k(3,23),Zv=k(4,24),eq=k(53,55),tq=k(7,27),rq=k(8,28),iq=k(9,29),nq=k(30,39),sq=k(31,39),oq=k(32,39),aq=k(33,39),cq=k(34,39),pq=k(35,39),dq=k(36,39),uq=k(37,39),Rr=k(90,39),lq=k(40,49),mq=k(41,49),hq=k(42,49),yq=k(43,49),fq=k(44,49),gq=k(45,49),_q=k(46,49),bq=k(47,49),xq=k(100,49),Na=k(91,39),wq=k(92,39),Ga=k(93,39),kq=k(94,39),Sq=k(95,39),vq=k(96,39),qq=k(97,39),$q=k(101,49),Cq=k(102,49),Aq=k(103,49),Eq=k(104,49),Tq=k(105,49),Pq=k(106,49),Oq=k(107,49);var Wa=({type:e,message:t,timestamp:r,piped:i,commandId:n,result:{failed:s=!1}={},options:{reject:o=!0}})=>{let a=wf(r),c=kf[e]({failed:s,reject:o,piped:i}),d=Sf[e]({reject:o});return`${Rr(`[${a}]`)} ${Rr(`[${n}]`)} ${d(c)} ${d(t)}`},wf=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"),za=({failed:e,reject:t})=>e?t?Ir.cross:Ir.warning:Ir.tick,kf={command:({piped:e})=>e?"|":"$",output:()=>" ",ipc:()=>"*",error:za,duration:za},Va=e=>e,Sf={command:()=>Ba,output:()=>Va,ipc:()=>Va,error:({reject:e})=>e?Na:Ga,duration:()=>Rr};var Ha=(e,t,r)=>{let i=ja(t,r);return e.map(({verboseLine:n,verboseObject:s})=>vf(n,s,i)).filter(n=>n!==void 0).map(n=>qf(n)).join("")},vf=(e,t,r)=>{if(r===void 0)return e;let i=r(e,t);if(typeof i=="string")return i},qf=e=>e.endsWith(`
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=Cf({type:e,result:n,verboseInfo:i}),o=Af(t,s),a=Ha(o,i,r);a!==""&&console.warn(a.slice(0,-1))},Cf=({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}),Af=(e,t)=>e.split(`
42
- `).map(r=>Ef({...t,message:r})),Ef=e=>({verboseLine:Wa(e),verboseObject:e}),Dr=e=>{let t=typeof e=="string"?e:$f(e);return Vt(t).replaceAll(" "," ".repeat(Tf))},Tf=2;var Ka=(e,t)=>{bt(t)&&ke({type:"command",verboseMessage:e,verboseInfo:t})};var Ya=(e,t,r)=>{If(e);let i=Pf(e);return{verbose:e,escapedCommand:t,commandId:i,rawOptions:r}},Pf=e=>bt({verbose:e})?Of++:void 0,Of=0n,If=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 Ja}from"process";var Lr=()=>Ja.bigint(),Xn=e=>Number(Ja.bigint()-e)/1e6;var Mr=(e,t,r)=>{let i=Lr(),{command:n,escapedCommand:s}=Da(e,t),o=Wn(r,"verbose"),a=Ya(o,s,{...r});return Ka(s,a),{command:n,escapedCommand:s,startTime:i,verboseInfo:a}};var Yp=B(Mc(),1);import f_ from"path";import Kp from"process";import Nr from"process";import rt 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 og}from"util";import{execFile as ag,execFileSync as x$}from"child_process";import Fc from"path";import{fileURLToPath as cg}from"url";var S$=og(ag);function Br(e){return e instanceof URL?cg(e):e}function Uc(e){return{*[Symbol.iterator](){let t=Fc.resolve(Br(e)),r;for(;r!==t;)yield t,r=t,t=Fc.resolve(t,"..")}}}var v$=10*1024*1024;var pg=({cwd:e=Nr.cwd(),path:t=Nr.env[Ur()],preferLocal:r=!0,execPath:i=Nr.execPath,addExecPath:n=!0}={})=>{let s=rt.resolve(Br(e)),o=[],a=t.split(rt.delimiter);return r&&dg(o,a,s),n&&ug(o,a,i,s),t===""||t===rt.delimiter?`${o.join(rt.delimiter)}${t}`:[...o,t].join(rt.delimiter)},dg=(e,t,r)=>{for(let i of Uc(r)){let n=rt.join(i,"node_modules/.bin");t.includes(n)||e.push(n)}},ug=(e,t,r,i)=>{let n=rt.resolve(i,Br(r),"..");t.includes(n)||e.push(n)},Bc=({env:e=Nr.env,...t}={})=>{e={...e};let r=Ur({env:e});return t.path=e[r],e[r]=pg(t),e};import{setTimeout as $g}from"timers/promises";var Nc=(e,t,r)=>{let i=r?Ht:Wt,n=e instanceof ge?{}:{cause:e};return new i(t,n)},ge=class extends Error{},Gc=(e,t)=>{Object.defineProperty(e.prototype,"name",{value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,Vc,{value:!0,writable:!1,enumerable:!1,configurable:!1})},zc=e=>Gr(e)&&Vc in e,Vc=Symbol("isExecaError"),Gr=e=>Object.prototype.toString.call(e)==="[object Error]",Wt=class extends Error{};Gc(Wt,Wt.name);var Ht=class extends Error{};Gc(Ht,Ht.name);import{constants as Kt}from"os";import{constants as yg}from"os";var Wc=()=>{let e=Kc-Hc+1;return Array.from({length:e},lg)},lg=(e,t)=>({name:`SIGRT${t+1}`,number:Hc+t,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),Hc=34,Kc=64;import{constants as mg}from"os";var Yc=[{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=Wc();return[...Yc,...e].map(hg)},hg=({name:e,number:t,description:r,action:i,forced:n=!1,standard:s})=>{let{signals:{[e]:o}}=mg,a=o!==void 0;return{name:e,number:a?o:t,description:r,supported:a,action:i,forced:n,standard:s}};var fg=()=>{let e=as();return Object.fromEntries(e.map(gg))},gg=({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}],Jc=fg(),_g=()=>{let e=as(),t=65,r=Array.from({length:t},(i,n)=>bg(n,e));return Object.assign({},...r)},bg=(e,t)=>{let r=xg(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}}},xg=(e,t)=>{let r=t.find(({name:i})=>yg.signals[i]===e);return r!==void 0?r:t.find(i=>i.number===e)},B$=_g();var Qc=e=>{let t="option `killSignal`";if(e===0)throw new TypeError(`Invalid ${t}: 0 cannot be used.`);return ep(e,t)},Zc=e=>e===0?e:ep(e,"`subprocess.kill()`'s argument"),ep=(e,t)=>{if(Number.isInteger(e))return wg(e,t);if(typeof e=="string")return Sg(e,t);throw new TypeError(`Invalid ${t} ${String(e)}: it must be a string or an integer.
43
- ${cs()}`)},wg=(e,t)=>{if(Xc.has(e))return Xc.get(e);throw new TypeError(`Invalid ${t} ${e}: this signal integer does not exist.
44
- ${cs()}`)},kg=()=>new Map(Object.entries(Kt.signals).reverse().map(([e,t])=>[t,e])),Xc=kg(),Sg=(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: ${vg()}.
46
- Available signal numbers: ${qg()}.`,vg=()=>Object.keys(Kt.signals).sort().map(e=>`'${e}'`).join(", "),qg=()=>[...new Set(Object.values(Kt.signals).sort((e,t)=>e-t))].join(", "),zr=e=>Jc[e].description;var tp=e=>{if(e===!1)return e;if(e===!0)return Cg;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},Cg=1e3*5,rp=({kill:e,options:{forceKillAfterDelay:t,killSignal:r},onInternalError:i,context:n,controller:s},o,a)=>{let{signal:c,error:d}=Ag(o,a,r);Eg(d,i);let p=e(c);return Tg({kill:e,signal:c,forceKillAfterDelay:t,killSignal:r,killResult:p,context:n,controller:s}),p},Ag=(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:Zc(i),error:n}},Eg=(e,t)=>{e!==void 0&&t.reject(e)},Tg=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 $g(t,void 0,{signal:i}),e("SIGKILL")&&(r.isForcefullyTerminated??=!0)}catch{}};import{once as Pg}from"events";var Vr=async(e,t)=>{e.aborted||await Pg(e,"abort",{signal:t})};var ip=({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)}`)},np=({subprocess:e,cancelSignal:t,gracefulCancel:r,context:i,controller:n})=>t===void 0||r?[]:[Og(e,t,i,n)],Og=async(e,t,r,{signal:i})=>{throw await Vr(t,i),r.terminationReason??="cancel",e.kill(),t.reason};import{scheduler as Zg}from"timers/promises";import{promisify as Jg}from"util";var St=({methodName:e,isSubprocess:t,ipc:r,isConnected:i})=>{Ig(e,t,r),ds(e,t,i)},Ig=(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 ${ze(t)} has already exited or disconnected.`)},sp=e=>{throw new Error(`${_e("getOneMessage",e)} could not complete: the ${ze(e)} exited or disconnected.`)},op=e=>{throw new Error(`${_e("sendMessage",e)} failed: the ${ze(e)} is sending a message too, instead of listening to incoming messages.
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 ${ze(t)}.`,{cause:e}),ap=e=>{throw new Error(`${_e("sendMessage",e)} failed: the ${ze(e)} is not listening to incoming messages.`)},cp=e=>{throw new Error(`${_e("sendMessage",e)} failed: the ${ze(e)} exited without listening to incoming messages.`)},pp=()=>new Error(`\`cancelSignal\` aborted: the ${ze(!0)} disconnected.`),dp=()=>{throw new Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.")},up=({error:e,methodName:t,isSubprocess:r})=>{if(e.code==="EPIPE")throw new Error(`${_e(t,r)} cannot be used: the ${ze(r)} is disconnecting.`,{cause:e})},lp=({error:e,methodName:t,isSubprocess:r,message:i})=>{if(Rg(e))throw new Error(`${_e(t,r)}'s argument type is invalid: the message cannot be serialized: ${String(i)}.`,{cause:e})},Rg=({code:e,message:t})=>jg.has(e)||Dg.some(r=>t.includes(r)),jg=new Set(["ERR_MISSING_ARGS","ERR_INVALID_ARG_TYPE"]),Dg=["could not be cloned","circular structure","call stack size exceeded"],_e=(e,t,r="")=>e==="cancelSignal"?"`cancelSignal`'s `controller.abort()`":`${Lg(t)}${e}(${r})`,Lg=e=>e?"":"subprocess.",ze=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=mp(n,t,!0),o=e.stdio[s];if(o===null)throw new TypeError(hp(s,t,i,!0));return o},qt=(e,t="stdout")=>{let{options:i,fileDescriptors:n}=ve.get(e),s=mp(n,t,!1),o=s==="all"?e.all:e.stdio[s];if(o==null)throw new TypeError(hp(s,t,i,!1));return o},ve=new WeakMap,mp=(e,t,r)=>{let i=Mg(t,r);return Fg(i,t,r,e),i},Mg=(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}".
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}".`)},Fg=(e,t,r,i)=>{let n=i[yp(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.`)},hp=(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}=Ug(e,r);return`The "${n}: ${Hr(s)}" option is incompatible with using "${Yt(i)}: ${Hr(t)}".
56
- Please set this option with "pipe" instead.`},Ug=(e,{stdin:t,stdout:r,stderr:i,stdio:n})=>{let s=yp(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]}},yp=e=>e==="all"?1:e,Yt=e=>e?"to":"from",Hr=e=>typeof e=="string"?`'${e}'`:typeof e=="number"?`${e}`:"Stream";import{once as Wg}from"events";import{addAbortListener as Bg}from"events";var it=(e,t,r)=>{let i=e.getMaxListeners();i===0||i===Number.POSITIVE_INFINITY||(e.setMaxListeners(i+t),Bg(r,()=>{e.setMaxListeners(e.getMaxListeners()-t)}))};import{EventEmitter as zg}from"events";import{once as Ng}from"events";import{scheduler as Gg}from"timers/promises";var Yr=(e,t)=>{t&&us(e)},us=e=>{e.refCounted()},Jr=(e,t)=>{t&&ls(e)},ls=e=>{e.unrefCounted()},fp=(e,t)=>{t&&(ls(e),ls(e))},gp=(e,t)=>{t&&(us(e),us(e))};var _p=async({anyProcess:e,channel:t,isSubprocess:r,ipcEmitter:i},n)=>{if(wp(n)||Sp(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 kp(e,i,n),await Gg.yield();let o=await xp({wrappedMessage:s[0],anyProcess:e,channel:t,isSubprocess:r,ipcEmitter:i});s.shift(),i.emit("message",o),i.emit("message:done")}},bp=async({anyProcess:e,channel:t,isSubprocess:r,ipcEmitter:i,boundOnMessage:n})=>{ms();let s=Xr.get(e);for(;s?.length>0;)await Ng(i,"message:done");e.removeListener("message",n),gp(t,r),i.connected=!1,i.emit("disconnect")},Xr=new WeakMap;var Ve=(e,t,r)=>{if(Qr.has(e))return Qr.get(e);let i=new zg;return i.connected=!0,Qr.set(e,i),Vg({ipcEmitter:i,anyProcess:e,channel:t,isSubprocess:r}),i},Qr=new WeakMap,Vg=({ipcEmitter:e,anyProcess:t,channel:r,isSubprocess:i})=>{let n=_p.bind(void 0,{anyProcess:t,channel:r,isSubprocess:i,ipcEmitter:e});t.on("message",n),t.once("disconnect",bp.bind(void 0,{anyProcess:t,channel:r,isSubprocess:i,ipcEmitter:e,boundOnMessage:n})),fp(r,i)},Zr=e=>{let t=Qr.get(e);return t===void 0?e.channel!==null:t.connected};var vp=({anyProcess:e,channel:t,isSubprocess:r,message:i,strict:n})=>{if(!n)return i;let s=Ve(e,t,r),o=ri(e,s);return{id:Hg++,type:ti,message:i,hasListeners:o}},Hg=0n,qp=(e,t)=>{if(!(t?.type!==ti||t.hasListeners))for(let{id:r}of e)r!==void 0&&ei[r].resolve({isDeadlock:!0,hasListeners:!1})},xp=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:Cp,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},wp=e=>{if(e?.type!==Cp)return!1;let{id:t,message:r}=e;return ei[t]?.resolve({isDeadlock:!1,hasListeners:r}),!0},$p=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,Kg(t,r,n)]);s&&op(r),o||ap(r)}finally{n.abort(),delete ei[e.id]}},ei={},Kg=async(e,t,{signal:r})=>{it(e,1,r),await Wg(e,"disconnect",{signal:r}),cp(t)},ti="execa:ipc:request",Cp="execa:ipc:response";var Ap=(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}},Ep=({outgoingMessages:e,outgoingMessage:t})=>{e.delete(t),t.onMessageSent.resolve()},kp=async(e,t,r)=>{for(;!ri(e,t)&&Jt.get(e)?.size>0;){let i=[...Jt.get(e)];qp(i,r),await Promise.all(i.map(({onMessageSent:n})=>n))}},Jt=new WeakMap,ri=(e,t)=>t.listenerCount("message")>Yg(e),Yg=e=>ve.has(e)&&!Le(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}),Xg({anyProcess:e,channel:t,methodName:o,isSubprocess:r,message:n,strict:s})},Xg=async({anyProcess:e,channel:t,methodName:r,isSubprocess:i,message:n,strict:s})=>{let o=vp({anyProcess:e,channel:t,isSubprocess:i,message:n,strict:s}),a=Ap(e,o,s);try{await ys({anyProcess:e,methodName:r,isSubprocess:i,wrappedMessage:o,message:n})}catch(c){throw vt(e),c}finally{Ep(a)}},ys=async({anyProcess:e,methodName:t,isSubprocess:r,wrappedMessage:i,message:n})=>{let s=Qg(e);try{await Promise.all([$p(i,e,r),s(i)])}catch(o){throw up({error:o,methodName:t,isSubprocess:r}),lp({error:o,methodName:t,isSubprocess:r,message:n}),o}},Qg=e=>{if(hs.has(e))return hs.get(e);let t=Jg(e.send.bind(e));return hs.set(e,t),t},hs=new WeakMap;var Pp=(e,t)=>{let r="cancelSignal";return ds(r,!1,e.connected),ys({anyProcess:e,methodName:r,isSubprocess:!1,wrappedMessage:{type:Ip,message:t},message:t})},Op=async({anyProcess:e,channel:t,isSubprocess:r,ipc:i})=>(await e_({anyProcess:e,channel:t,isSubprocess:r,ipc:i}),fs.signal),e_=async({anyProcess:e,channel:t,isSubprocess:r,ipc:i})=>{if(!Tp){if(Tp=!0,!i){dp();return}if(t===null){ms();return}Ve(e,t,r),await Zg.yield()}},Tp=!1,Sp=e=>e?.type!==Ip?!1:(fs.abort(e.message),!0),Ip="execa:ipc:cancel",ms=()=>{fs.abort(pp())},fs=new AbortController;var Rp=({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.")}},jp=({subprocess:e,cancelSignal:t,gracefulCancel:r,forceKillAfterDelay:i,context:n,controller:s})=>r?[t_({subprocess:e,cancelSignal:t,forceKillAfterDelay:i,context:n,controller:s})]:[],t_=async({subprocess:e,cancelSignal:t,forceKillAfterDelay:r,context:i,controller:{signal:n}})=>{await Vr(t,n);let s=r_(t);throw await Pp(e,s),ps({kill:e.kill,forceKillAfterDelay:r,context:i,controllerSignal:n}),i.terminationReason??="gracefulCancel",t.reason},r_=({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 i_}from"timers/promises";var Dp=({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})`)},Lp=(e,t,r,i)=>t===0||t===void 0?[]:[n_(e,t,r,i)],n_=async(e,t,r,{signal:i})=>{throw await i_(t,void 0,{signal:i}),r.terminationReason??="timeout",e.kill(),new ge};import{execPath as s_,execArgv as o_}from"process";import Mp from"path";var Fp=({options:e})=>{if(e.node===!1)throw new TypeError('The "node" option cannot be false with `execaNode()`.');return{options:{...e,node:!0}}},Up=(e,t,{node:r=!1,nodePath:i=s_,nodeOptions:n=o_.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=Mp.resolve(s,c),p={...a,nodePath:d,node:r,cwd:s};if(!r)return[e,t,p];if(Mp.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 a_}from"v8";var Bp=({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`.");d_[r](e)}},c_=e=>{try{a_(e)}catch(t){throw new Error("The `ipcInput` option is not serializable with a structured clone.",{cause:t})}},p_=e=>{try{JSON.stringify(e)}catch(t){throw new Error("The `ipcInput` option is not serializable with JSON.",{cause:t})}},d_={advanced:c_,json:p_},Np=async(e,t)=>{t!==void 0&&await e.sendMessage(t)};var zp=({encoding:e})=>{if(gs.has(e))return;let t=l_(e);if(t!==void 0)throw new TypeError(`Invalid option \`encoding: ${ni(e)}\`.
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}.`)},u_=new Set(["utf8","utf16le"]),oe=new Set(["buffer","hex","base64","base64url","latin1","ascii"]),gs=new Set([...u_,...oe]),l_=e=>{if(e===null)return"buffer";if(typeof e!="string")return;let t=e.toLowerCase();if(t in Gp)return Gp[t];if(gs.has(t))return t},Gp={"utf-8":"utf8","utf-16le":"utf16le","ucs-2":"utf16le",ucs2:"utf16le",binary:"latin1"},ni=e=>typeof e=="string"?`"${e}"`:String(e);import{statSync as m_}from"fs";import h_ from"path";import y_ from"process";var Vp=(e=Wp())=>{let t=_t(e,'The "cwd" option');return h_.resolve(t)},Wp=()=>{try{return y_.cwd()}catch(e){throw e.message=`The current directory does not exist.
59
- ${e.message}`,e}},Hp=(e,t)=>{if(t===Wp())return e;let r;try{r=m_(t)}catch(i){return`The "cwd" option is invalid: ${t}.
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=Vp(r.cwd);let[i,n,s]=Up(e,t,r),{command:o,args:a,options:c}=Yp.default._parse(i,n,s),d=Ra(c),p=g_(d);return Dp(p),zp(p),Bp(p),ip(p),Rp(p),p.shell=Gn(p.shell),p.env=__(p),p.killSignal=Qc(p.killSignal),p.forceKillAfterDelay=tp(p.forceKillAfterDelay),p.lines=p.lines.map((u,l)=>u&&!oe.has(p.encoding)&&p.buffer[l]),Kp.platform==="win32"&&f_.basename(o,".exe")==="cmd"&&a.unshift("/q"),{file:o,commandArguments:a,options:p}},g_=({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}),__=({env:e,extendEnv:t,preferLocal:r,node:i,localDirectory:n,nodePath:s})=>{let o=t?{...Kp.env,...e}:e;return r||i?Bc({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 Q_}from"util";function $t(e){if(typeof e=="string")return b_(e);if(!(ArrayBuffer.isView(e)&&e.BYTES_PER_ELEMENT===1))throw new Error("Input must be a string or a Uint8Array");return x_(e)}var b_=e=>e.at(-1)===Jp?e.slice(0,e.at(-2)===Xp?-2:-1):e,x_=e=>e.at(-1)===w_?e.subarray(0,e.at(-2)===k_?-2:-1):e,Jp=`
63
- `,w_=Jp.codePointAt(0),Xp="\r",k_=Xp.codePointAt(0);import{on as K_}from"events";import{finished as Y_}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 nt(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)&&nt(e,t)}var S_=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 Qp(){return this[ws].next()}Object.defineProperty(Qp,"name",{value:"next"});function Zp(e){return this[ws].return(e)}Object.defineProperty(Zp,"name",{value:"return"});var v_=Object.create(S_,{next:{enumerable:!0,configurable:!0,writable:!0,value:Qp},return:{enumerable:!0,configurable:!0,writable:!0,value:Zp}});function ks({preventCancel:e=!1}={}){let t=this.getReader(),r=new xs(t,e),i=Object.create(v_);return i[ws]=r,i}var ed=e=>{if(nt(e,{checkOpen:!1})&&Xt.on!==void 0)return $_(e);if(typeof e?.[Symbol.asyncIterator]=="function")return e;if(q_.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:q_}=Object.prototype,$_=async function*(e){let t=new AbortController,r={};C_(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()}},C_=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=ed(e),p=t();p.length=0;try{for await(let u of d){let l=E_(u),m=r[l](u,p);id({convertedChunk:m,state:p,getSize:i,truncateChunk:n,addChunk:s,maxBuffer:c})}return A_({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}},A_=({state:e,getSize:t,truncateChunk:r,addChunk:i,getFinalChunk:n,maxBuffer:s})=>{let o=n(e);o!==void 0&&id({convertedChunk:o,state:e,getSize:t,truncateChunk:r,addChunk:i,maxBuffer:s})},id=({convertedChunk:e,state:t,getSize:r,truncateChunk:i,addChunk:n,maxBuffer:s})=>{let o=r(e),a=t.length+o;if(a<=s){td(e,t,n,a);return}let c=i(e,s-t.length);throw c!==void 0&&td(c,t,n,s),new qe},td=(e,t,r,i)=>{t.contents=r(e,t,i),t.length=i},E_=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=rd.call(e);return r==="[object ArrayBuffer]"?"arrayBuffer":r==="[object DataView]"?"dataView":Number.isInteger(e.byteLength)&&Number.isInteger(e.byteOffset)&&rd.call(e.buffer)==="[object ArrayBuffer]"?"typedArray":"others"},{toString:rd}=Object.prototype,qe=class extends Error{name="MaxBufferError";constructor(){super("maxBuffer exceeded")}};var Me=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,I_,t)}var T_=()=>({contents:[]}),P_=()=>1,O_=(e,{contents:t})=>(t.push(e),t),I_={init:T_,convertChunk:{string:Me,buffer:Me,arrayBuffer:Me,dataView:Me,typedArray:Me,others:Me},getSize:P_,truncateChunk:Qt,addChunk:O_,getFinalChunk:Qt,finalize:ai};async function ui(e,t){return Ct(e,N_,t)}var R_=()=>({contents:new ArrayBuffer(0)}),j_=e=>D_.encode(e),D_=new TextEncoder,nd=e=>new Uint8Array(e),sd=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength),L_=(e,t)=>e.slice(0,t),M_=(e,{contents:t,length:r},i)=>{let n=cd()?U_(t,i):F_(t,i);return new Uint8Array(n).set(e,r),n},F_=(e,t)=>{if(t<=e.byteLength)return e;let r=new ArrayBuffer(ad(t));return new Uint8Array(r).set(new Uint8Array(e),0),r},U_=(e,t)=>{if(t<=e.maxByteLength)return e.resize(t),e;let r=new ArrayBuffer(t,{maxByteLength:ad(t)});return new Uint8Array(r).set(new Uint8Array(e),0),r},ad=e=>od**Math.ceil(Math.log(e)/Math.log(od)),od=2,B_=({contents:e,length:t})=>cd()?e:e.slice(0,t),cd=()=>"resize"in ArrayBuffer.prototype,N_={init:R_,convertChunk:{string:j_,buffer:nd,arrayBuffer:nd,dataView:sd,typedArray:sd,others:ci},getSize:pi,truncateChunk:L_,addChunk:M_,getFinalChunk:Qt,finalize:B_};async function mi(e,t){return Ct(e,H_,t)}var G_=()=>({contents:"",textDecoder:new TextDecoder}),li=(e,{textDecoder:t})=>t.decode(e,{stream:!0}),z_=(e,{contents:t})=>t+e,V_=(e,t)=>e.slice(0,t),W_=({textDecoder:e})=>{let t=e.decode();return t===""?void 0:t},H_={init:G_,convertChunk:{string:Me,buffer:li,arrayBuffer:li,dataView:li,typedArray:li,others:ci},getSize:pi,truncateChunk:V_,addChunk:z_,getFinalChunk:W_,finalize:ai};Object.assign(Xt,{on:K_,finished:Y_});var pd=({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=J_(r,i,n);throw e.maxBufferInfo={fdNumber:s,unit:o},t.destroy(),e},J_=(e,t,r)=>e?"objects":t?"lines":r==="buffer"?"bytes":"characters",dd=(e,t,r)=>{if(t.length!==r)return;let i=new qe;throw i.maxBufferInfo={fdNumber:"ipc"},i},ud=(e,t)=>{let{streamName:r,threshold:i,unit:n}=X_(e,t);return`Command's ${r} was larger than ${i} ${n}`},X_=(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=Le(t,r);return r==="ipc"?{streamName:"IPC output",threshold:n,unit:"messages"}:{streamName:Tr(r),threshold:n,unit:i}},ld=(e,t,r)=>e?.code==="ENOBUFS"&&t!==null&&t.some(i=>i!==null&&i.length>hi(r)),md=(e,t,r)=>{if(!t)return e;let i=hi(r);return e.length>i?e.slice(0,i):e},hi=([,e])=>e;var yd=({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=Z_({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=tb(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=>rb(F)).join(`
65
- `)].map(F=>Vt($t(ib(F)))).filter(Boolean).join(`
66
-
67
- `);return{originalMessage:E,shortMessage:L,message:R}},Z_=({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=eb(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?`${ud(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"},eb=(e,t)=>e?` and was forcefully terminated after ${t} milliseconds`:"",tb=(e,t)=>{if(e instanceof ge)return;let r=zc(e)?e.originalMessage:String(e?.message??e),i=Vt(Hp(r,t));return i===""?void 0:i},rb=e=>typeof e=="string"?e:Q_(e),ib=e=>Array.isArray(e)?e.map(t=>$t(hd(t))).filter(Boolean).join(`
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(Cd(e,t))throw new TypeError(`The \`${r}: { file: '...' }\` option must be used instead of \`${r}: '...'\`.`)},ox=(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.`)},ax=({initialFileDescriptors:e,addProperties:t,options:r,isSync:i})=>{let n=[];try{for(let s of e)n.push(cx({fileDescriptor:s,fileDescriptors:n,addProperties:t,options:r,isSync:i}));return n}catch(s){throw Os(n),s}},cx=({fileDescriptor:{direction:e,objectMode:t,stdioItems:r},fileDescriptors:i,addProperties:n,options:s,isSync:o})=>{let a=r.map(c=>px({stdioItem:c,addProperties:n,direction:e,options:s,fileDescriptors:i,isSync:o}));return{direction:e,objectMode:t,stdioItems:a}},px=({stdioItem:e,addProperties:t,direction:r,options:i,fileDescriptors:n,isSync:s})=>{let o=Gd({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()},dx=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 Kd=(e,t)=>bi(lx,e,t,!0),$e=({type:e,optionName:t})=>{Yd(t,We[e])},ux=({optionName:e,value:t})=>((t==="ipc"||t==="overlapped")&&Yd(e,`"${t}"`),{}),Yd=(e,t)=>{throw new TypeError(`The \`${e}\` option cannot be ${t} with synchronous methods.`)},Hd={generator(){},asyncGenerator:$e,webStream:$e,nodeStream:$e,webTransform:$e,duplex:$e,asyncIterable:$e,native:ux},lx={input:{...Hd,fileUrl:({value:e})=>({contents:[De(Wd(e))]}),filePath:({value:{file:e}})=>({contents:[De(Wd(e))]}),fileNumber:$e,iterable:({value:e})=>({contents:[...e]}),string:({value:e})=>({contents:[e]}),uint8Array:({value:e})=>({contents:[e]})},output:{...Hd,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 Fe=(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 Ix,getDefaultHighWaterMark as ou}from"stream";var xi=(e,t,r,i)=>e||r?void 0:Xd(t,i),js=(e,t,r)=>r?e.flatMap(i=>Jd(i,t)):Jd(e,t),Jd=(e,t)=>{let{transform:r,final:i}=Xd(t,{});return[...r(e),...i()]},Xd=(e,t)=>(t.previousChunks="",{transform:mx.bind(void 0,t,e),final:yx.bind(void 0,t)}),mx=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=hx(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},hx=(e,t,r,i)=>r?0:(i.isWindowsNewline=t!==0&&e[t-1]==="\r",i.isWindowsNewline?2:1),yx=function*({previousChunks:e}){e.length>0&&(yield e)},Qd=({binary:e,preserveNewlines:t,readableObjectMode:r,state:i})=>e||t||r?void 0:{transform:fx.bind(void 0,i)},fx=function*({isWindowsNewline:e=!1},t){let{unixNewline:r,windowsNewline:i,LF:n,concatBytes:s}=typeof t=="string"?gx:bx;if(t.at(-1)===n){yield t;return}yield s(t,e?i:r)},Rs=(e,t)=>`${e}${t}`,gx={windowsNewline:`\r
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},_x=(e,t)=>{let r=new Uint8Array(e.length+t.length);return r.set(e,0),r.set(t,e.length),r},bx={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:_x};import{Buffer as xx}from"buffer";var Zd=(e,t)=>e?void 0:wx.bind(void 0,t),wx=function*(e,t){if(typeof t!="string"&&!H(t)&&!xx.isBuffer(t))throw new TypeError(`The \`${e}\` option's transform must use "objectMode: true" to receive as input: ${typeof t}.`);yield t},eu=(e,t)=>e?kx.bind(void 0,t):Sx.bind(void 0,t),kx=function*(e,t){tu(e,t),yield t},Sx=function*(e,t){if(tu(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},tu=(e,t)=>{if(t==null)throw new TypeError(`The \`${e}\` option's function must not call \`yield ${t}\`.
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 Al(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}`,Ke=class extends Error{};function El(){return process.env.XDG_CONFIG_HOME?It.join(process.env.XDG_CONFIG_HOME,"spree"):It.join(ok.homedir(),".config","spree")}function pt(){return It.join(El(),"config.json")}function wo(e){return e?.code==="ENOENT"}function ar(){let e;try{e=Ue.readFileSync(pt(),"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=`${pt()}.bak`;try{Ue.renameSync(pt(),t)}catch{}return process.stderr.write(`${or.default.yellow(`warning: ${pt()} was not valid JSON; moved it to ${t} and starting fresh.`)}
79
- `),{profiles:{}}}}function ko(e){Ue.mkdirSync(El(),{recursive:!0,mode:448}),Tl(pt(),`${JSON.stringify(e,null,2)}
80
- `)}function Tl(e,t){Ue.writeFileSync(e,t,{mode:384}),Ue.chmodSync(e,384)}function Mi(e){return It.join(e,".spree","credentials.json")}function ak(e){let t;try{t=Ue.readFileSync(Mi(e),"utf-8")}catch(r){if(wo(r))return null;throw r}try{return JSON.parse(t)}catch{return null}}function ck(e,t){let r=Mi(e),i=It.dirname(r);Ue.mkdirSync(i,{recursive:!0,mode:448}),pk(It.join(i,".gitignore")),Tl(r,`${JSON.stringify(t,null,2)}
81
- `)}function pk(e){let t="";try{t=Ue.readFileSync(e,"utf-8")}catch(i){if(!wo(i))throw i}t.split(`
82
- `).some(i=>i.trim()==="*")||Ue.writeFileSync(e,t&&!t.endsWith(`
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 dk(e,t){process.stderr.write(`${or.default.dim("No credentials found \u2014 minting a read-only API key via the dev stack...")}
87
- `);let r;try{r=await Q("spree:cli:create_api_key",e,{NAME:"@spree/cli (auto)",KEY_TYPE:"secret",SCOPES:"read_all"})}catch(s){let o=s instanceof Error?s.message.split(`
88
- `)[0]:String(s);throw new Ke(`Could not mint an API key via the dev stack. Is it running? Start it with \`spree dev\`.
89
- ${or.default.dim(o)}`)}let i=r.match(/sk_[A-Za-z0-9_-]+/);if(!i)throw new Ke("Could not mint an API key via the dev stack. Is it running? Start it with `spree dev`.");let n={baseUrl:`http://localhost:${t}`,token:i[0],scopes:["read_all"],mintedAt:new Date().toISOString()};return ck(e,n),process.stderr.write(`${or.default.dim("Saved to .spree/credentials.json (scopes: read_all)")}
90
- `),n}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 Ke(`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=ak(p);!h&&r&&m&&(h=await dk(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 Ke(["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,So.printTable)(r.map(Pl));return}let i=Pl(e);(0,So.printTable)(Object.entries(i).map(([n,s])=>({field:n,value:s})));return}process.stdout.isTTY?process.stdout.write(`${lk(JSON.stringify(e,null,2))}
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 Pl(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 dt(e,t={}){if(e instanceof et){let i=e.details?`
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 Ke&&(process.stderr.write(`${ae.default.red("error:")} ${e.message}
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 Il(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=Ol(e.page,"--page")),e.limit!==void 0&&(r.limit=Ol(e.limit,"--limit")),e.expand&&(r.expand=e.expand),e.fields&&(r.fields=e.fields),r}function Ol(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 et?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 Rl={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.
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
- `)),Fl(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=Il(i),{client:o,credentials:a}=await Ul(i);n=a.baseUrl;let c=await o.request("GET",dr(r),{params:s});pr(c,i.format)}catch(s){dt(s,{baseUrl:n})}});for(let r of["post","patch","delete"])Fl(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 Sa(n.data),{client:a,credentials:c}=await Ul(n);s=c.baseUrl;let d=await a.request(r.toUpperCase(),dr(i),{...o===Un?{}:{body:o}});pr(d,n.format)}catch(o){dt(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(Gl()).action(r=>{let i=Ll(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,Bl.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=Ml(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")}),Nl(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=[`${Ye.default.bold("Base URL:")} ${i.baseUrl}`,`${Ye.default.bold("Credentials:")} ${i.source}${i.profileName?` (${i.profileName})`:""}, key ${i.tokenPrefix}${Ye.default.dim("\u2026")}`];i.scopes?.length&&a.push(`${Ye.default.bold("Scopes:")} ${i.scopes.join(", ")}`),a.push(`${Ye.default.bold("Server:")} ${o}`),a.push(`${Ye.default.bold("Bundled spec:")} ${s.info?.version??"unknown"} ${Ye.default.dim("(spree api endpoints/schema reflect this snapshot, not the live server)")}`),process.stdout.write(`${a.join(`
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){dt(i,{baseUrl:r.baseUrl})}})}import{styleText as Eo}from"util";import{stdout as Po,stdin as am}from"process";import*as Je from"readline";import Rk from"readline";var Vl=(()=>{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}})(),Wl=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,Hl=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,Kl=/(?:(?![\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,Yl=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:""},Jl=(e,t={},r={})=>{let i=t.limit??1/0,n=t.ellipsis??"",s=t?.ellipsisWidth??(n?Jl(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],[Yl,d],[Kl,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(Wl(S)?R=p:Hl(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,Te]=m[F];if(S.lastIndex=f,S.test(e)){if(_=S===Kl?Vl(e.slice(f,S.lastIndex)):S===Yl?1:S.lastIndex-f,R=_*Te,O+R>E&&(C=Math.min(C,f+Math.floor((E-O)/Te))),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}},Xl=Jl;var qk={limit:1/0,ellipsis:"",ellipsisWidth:0},$k=(e,t={})=>Xl(e,qk,t).width,ie=$k;var Gi="\x1B",rm="\x9B",Ck=39,qo="\x07",im="[",Ak="]",nm="m",$o=`${Ak}8;;`,Ql=new RegExp(`(?:\\${im}(?<code>\\d+)m|\\${$o}(?<uri>.*)${qo})`,"y"),Zl=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},em=e=>`${Gi}${im}${e}${nm}`,tm=e=>`${Gi}${$o}${e}${qo}`,vo=(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===rm)&&(n=!0,s=t.startsWith($o,p+1)),n?s?u===qo&&(n=!1,s=!1):u===nm&&(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(""),vo(a,l,t),c=ie(a.at(-1)??"");continue}if(c+m>t&&c&&m){if(r.wordWrap===!1&&c<t){vo(a,l,t),c=ie(a.at(-1)??"");continue}a.push(""),c=0}if(c+m>t&&r.wordWrap===!1){vo(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===rm){Ql.lastIndex=u+1;let h=Ql.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+=tm(""));let m=n?Zl(n):void 0;n&&m&&(i+=em(m))}else l===`
275
- `&&(n&&Zl(n)&&(i+=em(n)),s&&(i+=tm(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(Ao(),1);import{ReadStream as om}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 Oo(e,t){if(typeof e=="string")return Z.aliases.get(e)===t;for(let r of e)if(r!==void 0&&Oo(r,t))return!0;return!1}function Lk(e,t){if(e===t)return;let r=e.split(`
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"),To=Symbol("clack:cancel");function Y(e){return e===To}function zi(e,t){let r=e;r.isTTY&&r.setRawMode(t)}function cm({input:e=am,output:t=Po,overwrite:r=!0,hideCursor:i=!0}={}){let n=Je.createInterface({input:e,output:t,prompt:"",tabSize:1});Je.emitKeypressEvents(e,n),e instanceof om&&e.isTTY&&e.setRawMode(!0);let s=(o,{name:a,sequence:c})=>{let d=String(o);if(Oo([d,a,c],"cancel")){i&&t.write(te.cursor.show),process.exit(0);return}if(!r)return;Je.moveCursor(t,a==="return"?0:-1,a==="return"?-1:0,()=>{Je.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 om&&e.isTTY&&!Mk&&e.setRawMode(!1),n.terminal=!1,n.close()}}var lr=e=>"columns"in e&&typeof e.columns=="number"?e.columns:80,Io=e=>"rows"in e&&typeof e.rows=="number"?e.rows:20;function mr(e,t,r,i=r,n){let s=lr(e??Po);return Ce(t,s-r.length,{hard:!0,trim:!1}).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"),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=am,output:i=Po,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(To);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(To)})})}_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")}Oo([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(`
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=Io(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(`
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}${Eo(["inverse","hidden"],"_")}`;let r=this.masked,i=r.slice(0,this.cursor),n=r.slice(this.cursor);return`${i}${Eo("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}${Eo("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 w1}from"util";import he from"process";var hr=B(Ao(),1);import{existsSync as $1,lstatSync as C1,readdirSync as A1}from"fs";import{dirname as T1,join as P1}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 Ro=Fk(),Uk=()=>process.env.CI==="true";var j=(e,t)=>Ro?e:t,Bk=j("\u25C6","*"),dm=j("\u25A0","x"),um=j("\u25B2","x"),Zi=j("\u25C7","o"),O1=j("\u250C","T"),$=j("\u2502","|"),Xe=j("\u2514","\u2014"),I1=j("\u2510","T"),R1=j("\u2518","\u2014"),jo=j("\u25CF",">"),Qi=j("\u25CB"," "),j1=j("\u25FB","[\u2022]"),D1=j("\u25FC","[+]"),L1=j("\u25FB","[ ]"),Nk=j("\u25AA","\u2022"),pm=j("\u2500","-"),Gk=j("\u256E","+"),zk=j("\u251C","+"),Vk=j("\u256F","+"),Wk=j("\u2570","+"),M1=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",dm);case"error":return y("yellow",um);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=Io(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 ut=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",$)}
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",Xe):"";return`${a}${d}${this.value?`${y("green",jo)} ${t}`:`${y("dim",Qi)} ${y("dim",t)}`}${e.vertical?i?`
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",jo)} ${r}`}
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",Xe)} `:"";r.write(`${i}${y("red",e)}
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 lm=(e="",t)=>{let r=t?.output??process.stdout,i=t?.withGuide??Z.withGuide?`${y("gray",$)}
299
- ${y("gray",Xe)} `:"";r.write(`${i}${e}
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",pm.repeat(Math.max(c-a-1,1))+Gk)}
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+pm.repeat(c+2)+Vk)}
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",Xe)} `:"",a=n??"";return e.clearOnError&&this.clear(),`${r.trim()}
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",Xe):"";return`${r}${s}${i}
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=Ro?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],delay:o=Ro?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&&(Pe(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(`
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,Oe=Math.floor(ne/60),Ie=Math.floor(ne%60);return Oe>0?`[${Oe}m ${Ie}s]`:`[${Ie}s]`},S=c.withGuide??Z.withGuide,Te=(U="")=>{l=!0,p=cm({output:r}),h=F(U),x=performance.now(),S&&r.write(`${y("gray",$)}
319
- `);let ne=0,Oe=0;L(),u=setInterval(()=>{if(d&&h===f)return;R(),f=h;let Ie=v(s[ne]),fr;if(d)fr=`${Ie} ${h}...`;else if(e==="timer")fr=`${Ie} ${h} ${N(x)}`;else{let Qm=".".repeat(Math.floor(Oe)).slice(0,3);fr=`${Ie} ${h}${Qm}`}let Xm=Ce(fr,_,{hard:!0,trim:!1});r.write(Xm),ne=ne+1<s.length?ne+1:0,Oe=Oe<4?Oe+.125:0},o)},Pe=(U="",ne=0,Oe=!1)=>{if(!l)return;l=!1,clearInterval(u),R();let Ie=ne===0?y("green",Zi):ne===1?y("red",dm):y("red",um);h=U??h,Oe||(e==="timer"?r.write(`${Ie} ${h} ${N(x)}
320
- `):r.write(`${Ie} ${h}
321
- `)),O(),p()};return{start:Te,stop:(U="")=>Pe(U,0),message:(U="")=>{h=F(U??h)},cancel:(U="")=>Pe(U,1),error:(U="")=>Pe(U,2),clear:()=>Pe("",0,!0),get isCancelled(){return m}}},F1={light:j("\u2500","-"),heavy:j("\u2501","="),block:j("\u2588","#")};var Xi=(e,t)=>e.includes(`
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),mm=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",jo)} ${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",$)}
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",Xe):"",d=o.split(`
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 U1=`${y("gray",$)} `;var lt=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",$)}
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",Xe):"";return`${r.trim()}
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",Xe):"";return`${r}${o}${n}
337
+ ${a}`:""}`}default:{let o=t?`${y("cyan",$)} `:"",a=t?y("cyan",Qe):"";return`${r}${o}${n}
338
338
  ${a}
339
- `}}}}).prompt();var hm=B(Nt(),1),Be=B(X(),1);function ym(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 lt({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 mm({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 lt({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=[`${Be.default.bold("Name:")} ${n}`,`${Be.default.bold("Type:")} ${s}`,`${Be.default.bold("Token:")} ${Be.default.cyan(u)}`];s==="secret"&&(l.push(`${Be.default.bold("Scopes:")} ${o}`),l.push(""),l.push(Be.default.yellow("Save this token now \u2014 secret keys cannot be retrieved later."))),ee(l.join(`
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"?Be.default.green(m):Be.default.red(m??"")}});(0,hm.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 fm=B(Nt(),1),J=B(X(),1);function gm(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 lt({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 ${pt()}`)].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){dt(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){dt(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,fm.printTable)(i.map(n=>({Profile:r.defaultProfile===n?`${n} *`:n,"Base URL":r.profiles[n].baseUrl,Key:`${Fi(r.profiles[n].token)}\u2026`})))})}import _m from"fs";import bm from"path";var Qe=B(X(),1);function xm(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 ${Qe.default.bold("pnpm server:build")} from the monorepo root instead of ${Qe.default.bold("spree build")}.`,"It builds against the edge compose overlay the running stack was started with."].join(`
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
- ${Qe.default.red("Error:")} docker-compose.yml has no \`build:\` section. Run ${Qe.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 ut({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
- ${Qe.default.bold("Rebuilding dev image...")}
350
- `),await K(["build","web","worker"],r.projectDir,{stdio:"inherit"}),ee([`Image rebuilt. Start the stack with ${Qe.default.bold("spree dev")}.`,t.resetBundle?`On next boot, gems will re-seed into a fresh ${Qe.default.dim("bundle_cache")} volume.`:""].filter(Boolean).join(`
351
- `),"Build complete")})}function iS(e){let t=bm.join(e,"docker-compose.yml");return _m.existsSync(t)?/^\s*build\s*:/m.test(_m.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 bm.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 wm=B(X(),1);function km(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 Al("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 ${wm.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 Sm=["/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 vm=["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(Sm,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)"
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 qm(e){e.command("completion <shell>").description("Output a shell completion script (bash, zsh, or fish)").action(t=>{if(!vm.includes(t)){process.stderr.write(`Unsupported shell "${t}". Choose one of: ${vm.join(", ")}.
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 $m(e){e.command("console").description("Open Rails console").action(async()=>{let t=g();await I(["bin/rails","console"],t.projectDir)})}function Cm(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 ut({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 Am(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(`
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)),lm(`Web + worker stopped. Databases keep running \u2014 ${Ae.default.bold("spree stop")} shuts everything down.`)})}import yr from"fs";import Do from"path";var ce=B(X(),1);function Em(e){e.command("eject").description("Switch to the dev compose: bind-mount ./backend with hot reload").action(async()=>{let t=g(),r=Do.join(t.projectDir,"backend");yr.existsSync(r)||(console.error(`
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=Do.join(t.projectDir,"docker-compose.dev.yml");yr.existsSync(i)||(console.error(`
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(Do.join(t.projectDir,"docker-compose.yml"),n),console.log(`
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 Tm(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 Pm(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 Lo from"fs";import{platform as hS}from"os";import yS from"path";var mt=B(X(),1);var fS=3e3,Om=12e4;function Im(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 key...");let n=await _S(r.projectDir);bS(r.projectDir,n),i.stop(`API key: ${mt.default.cyan(n)}`),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(["",mt.default.bold("Admin Dashboard"),` ${mt.default.cyan(`http://localhost:${r.port}/admin`)}`,` Email: ${vr}`,` Password: ${qr}`,"",mt.default.bold("Store API"),` ${mt.default.cyan(`http://localhost:${r.port}/api/v3/store`)}`,` API Key: ${mt.default.cyan(n)}`,""].join(`
386
- `),"Your Spree store is ready!"),t.open&&await xS(`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<Om;){try{if((await fetch(t)).ok)return}catch{}await new Promise(i=>setTimeout(i,fS))}throw new Error(`Spree did not become healthy within ${Om/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]}function bS(e,t){let r=yS.join(e,"apps","storefront",".env.local");if(!Lo.existsSync(r))return;let i=Lo.readFileSync(r,"utf-8");Lo.writeFileSync(r,i.replace(/SPREE_PUBLISHABLE_KEY=.*/,`SPREE_PUBLISHABLE_KEY=${t}`))}async function xS(e){let t=hS(),r=t==="darwin"?"open":t==="win32"?"start":"xdg-open";try{await Di(`${r} ${e}`,{stdio:"ignore"})}catch{}}function Rm(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 jm(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(`
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 wS}from"os";function Dm(e){e.command("open").description("Open the admin dashboard in the browser").action(async()=>{let r=`http://localhost:${g().port}/admin`,i=wS();await Di(`${i==="darwin"?"open":i==="win32"?"start":"xdg-open"} ${r}`)})}function Lm(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 Mm(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 Fm(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 Um(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 Bm(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 Nm(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 Gm(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 zm(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 Vm(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 Wm from"fs";import kS from"path";var Ee=B(X(),1);function Hm(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 SS(r.projectDir,t),await qS(r.projectDir,t)),await $S(r.projectDir,t),t.plan||AS(r.projectDir)})}async function SS(e,t){if(!t.yes){let i=await ut({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 vS(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(Ee.default.bold(`bundle update ${r.join(" ")}`)),await I(["bundle","update",...r],e)}async function vS(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 qS(e,t){if(!t.yes){let r=await ut({message:"Install + run pending migrations?",initialValue:!0});if(Y(r)&&(G("Upgrade aborted."),process.exit(0)),!r){P.info("Skipping migrations.");return}}P.step(Ee.default.bold("spree:install:migrations + db:migrate")),await I(["bin/rails","spree:install:migrations","db:migrate"],e)}async function $S(e,t){let r={};t.plan&&(r.DRY_RUN="1"),t.step&&(r.STEP=t.step),t.to&&(r.TO=t.to),P.step(Ee.default.bold("spree:upgrade")),await I(["bin/rake","spree:upgrade"],e,{env:r})}function CS(e){let t="Update @spree/sdk in any storefront or integration consuming the API",r=kS.join(e,"apps","storefront","package.json");if(!Wm.existsSync(r))return t;try{let i=JSON.parse(Wm.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 AS(e){ee([`The manifest only ran ${Ee.default.bold("rake-automatable")} steps.`,"","Don't forget the manual parts from the upgrade doc:",` ${Ee.default.dim("- Schedule Spree::StockReservations::ExpireJob (cron)")}`,` ${Ee.default.dim(`- ${CS(e)}`)}`,` ${Ee.default.dim("- Review behavior changes (cart, availability, payment-method types)")}`,` ${Ee.default.dim("- Audit custom decorators against renamed APIs")}`,"",`Full checklist: ${Ee.default.cyan("https://spreecommerce.org/docs/developer/upgrades")}`].join(`
391
- `),"Next steps")}var Km=B(X(),1);function Ym(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 lt({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: ${Km.default.cyan(n)}`)})}var D=new Qo().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)});Im(D);Am(D);Gm(D);Fm(D);Vm(D);Rm(D);Em(D);xm(D);Pm(D);jm(D);Cm(D);Um(D);Hm(D);Tm(D);Lm(D);km(D);Mm(D);zm(D);$m(D);Ym(D);ym(D);Dm(D);Nm(D);Bm(D);zl(D);gm(D);qm(D);async function ES(){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
- ${Jm.default.red("Error:")} ${r}
393
- `),process.exit(t)}}ES();
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();